當前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > 工業(yè)觸摸屏
發(fā)布日期:2022-10-09 點擊率:77
工控中常常需要查詢體系的作業(yè)狀況或許批改作業(yè)參數(shù)。觸摸屏能夠直觀、生動地顯現(xiàn)作業(yè)參數(shù)和作業(yè)狀況,并且經(jīng)過觸摸屏畫面能夠直接批改體系作業(yè)參數(shù),人機交互性好。單片機廣泛運用于工控范疇中,與觸摸屏協(xié)作,可構成杰出的人機交互環(huán)境。觸摸屏和單片機通訊,需要依據(jù)觸摸屏選用的通訊協(xié)議為單片機編寫相應的通訊程序。Modbus協(xié)議是美國Modicon公司推出的一種有用支撐操控器之間以及操控器經(jīng)由網(wǎng)絡(例如以太網(wǎng))和其它設備之間進行通訊的協(xié)議。這篇文章以PIC16F877單片機和人機電子有限公司的eView MT510T型觸摸屏為例,介紹其通訊程序的開發(fā)進程。
1 體系構造
完畢觸摸屏與單片機的通訊,首要是處理通訊協(xié)議的疑問。這篇文章運用翻開的Modbus通訊協(xié)議,以觸摸屏作主站,單片機作從站。eView觸摸屏本身支撐Modbus通訊協(xié)議,假定單片機也支撐Modbus協(xié)議,就能夠進行通訊了。觸摸屏與單片機之間選用的RS-232C兼容接口直接聯(lián)接,傳輸速率設置為9600kb/s。圖1為該體系的電路圖。
將PIC16F877單片機RC6、RC7口設置為異步串行通訊方法,經(jīng)過MAX232芯片將TTL電平改換為RS232電平,再與eView觸摸屏plc[RS-232]接口相連,即完畢了硬件聯(lián)接。eView觸摸屏PLC[RS-232]接口的管腳2為TXD,管腳3為RXD。
2 Modbus通訊協(xié)議介紹
Modbus通訊協(xié)議是一種串行的主從通訊協(xié)議,網(wǎng)絡里僅有一臺設置可作為主機(稱Master),其它設備作為從機(稱Slaver),主機不需編號,從機有必要編號。協(xié)議界說了主機查詢及從機應對的信息幀格局。通訊時,主機首要向從機宣告懇求信息,契合相應地址碼的從機接納通訊指令,并除掉地址碼,讀取信息,假定沒有犯錯,則施行相應的使命,然后把施行效果返給主機。若從機接納到的校驗碼與本機核算的紛歧樣,則闡明數(shù)據(jù)在通訊進程中呈現(xiàn)過錯,從機把這次懇求視為無效,功用代碼將被批改以用于指出答復音訊是過錯的,一同數(shù)據(jù)段包含了描寫此過錯信息的代碼。當主機收到這一信息時,會從頭發(fā)送懇求信息。校驗方法分為LCR(傳送數(shù)據(jù)為ACSII時)校驗或CRC(傳送數(shù)據(jù)為二進制時)校驗,這兒選用CRC校驗方法。
信息傳輸為異步方法,并以字節(jié)為單位。主從站之間通訊的字格局如表1所示。
表1 通訊的字格局
字格局(串行數(shù)據(jù)) | 10位二進制 |
開端位 | 1位 |
數(shù)據(jù)位 | 8位 |
奇偶校驗位 | 無 |
接連位 | 1位 |
Modbus協(xié)議可支撐ASCII碼或二進制格局的數(shù)據(jù)傳輸。ACSII碼方法下每一個字節(jié)數(shù)據(jù)分兩個字節(jié)傳送,二進制方法下用一個字節(jié)傳送,為了削減量據(jù)傳輸量,通常選二進制數(shù)據(jù)方法。各個區(qū)容許發(fā)送的字節(jié)均為16進制的0~9,A~F。二進制信息幀標準構造為:
初始構造 ≥4字節(jié)的時刻
地址碼 1字節(jié)
功用碼 1字節(jié)
數(shù)據(jù)區(qū) N字節(jié)
過錯校驗 16位CRC碼
完畢構造 ≥4字節(jié)的時刻
二進制方法中,信息開端起碼需要3.5個字符的接連時刻,依據(jù)運用的波特率,很簡略核算這個接連時刻。發(fā)送完畢竟一個字符后,也有一個起碼3.5個字符的接連時刻,然后才華發(fā)送一個新的信息。網(wǎng)絡上的設備接連監(jiān)測網(wǎng)絡上的信息,包含接連時刻。
3 單片機與觸摸屏地址的對應聯(lián)絡
eView觸摸屏只支撐Bit和Word地址類型,而實習的單片機或其它操控器還有Byte、Double Word等標明方法,因而在進行通訊時,需要把單片機和觸摸屏的數(shù)據(jù)進行改換。觸摸屏畫面元件讀取地址的設備類型有LW、0x、1x、3x、4x、RWI、RW等選項。其間,LW標明該元件讀取的是觸摸屏內(nèi)部的地址,如其它元件的地址;0x標明讀取的是操控器的輸出信號;1x標明讀取的操控器的輸入信號;3x和4x指操控器的寄存器地址類型,其間4x是可讀可寫的,3x是只讀的;RWI、RW都是觸摸屏的內(nèi)部地址,起輔佐效果。運用這些讀取地址的設備類型,觸摸屏即可顯現(xiàn)或設定操控器寄存器或I/O口的數(shù)值。以“數(shù)值輸入”元件為例,經(jīng)過“小鍵盤”輸入數(shù)據(jù)即可設置單片機寄存器或I/O口的數(shù)值。假定主張了“觸發(fā)地址”,那么當被觸控時,輸入的數(shù)據(jù)就被寄存到了指定的單片機地址中。
4 通訊程序的開發(fā)
觸摸屏與單片機的通訊程序選用PIC單片機C言語編寫。編譯東西挑選Hitech公司的PICC編譯器。程序共分三大模塊,即初始化模塊、數(shù)據(jù)接納模塊以及數(shù)據(jù)處理及發(fā)送模塊。主程序流程圖如圖2所示。
PIC16F877單片機USART功用模塊帶有一個八位的波特率發(fā)作器BRG,BRG支撐USART的同步和異步作業(yè)方法。用SPBRG寄存器操控一個獨立的八位守時器的周期。在異步方法下,發(fā)送狀況/操控寄存器TXSTA的BRGH位(即D2)被用來操控波特率。對串行口進行的初始化如下:
GIE=1; %大局接連容許;
SPBRG=25; %設置波特率為9600;
TXSTA=0x04; %挑選異步高速方法;
RCSTA=0x80; %容許同步串行口作業(yè);
RTISC6=1;
TRISC7=1; %將C口的RC6和RC7設置為異步串行通訊方法;
PFIE=1; %外圍接口接連容許;
RCIE=1; %USART接納接連容許;
TXIE=1; %USART發(fā)送接連容許;
數(shù)據(jù)接納模塊由一個接連函數(shù)構成。該接連函數(shù)將觸摸屏發(fā)來的Modbus數(shù)據(jù)幀存儲在一個自界說的數(shù)組中,當一幀數(shù)據(jù)接納完時,置接納完畢象征位為1,轉(zhuǎn)入數(shù)據(jù)處理及發(fā)送模塊。串行通訊接納器的基地是接納移位寄存器RSR,當接納到接連時,假定RCREG緩沖器為空,RSR就把接納到的數(shù)據(jù)送入RCREG。傳送完畢后,接納接連象征位RCIF被置1。實習的接連是不是被CPU照應,能夠經(jīng)過設置外圍接口接連容許寄存器PIE1的接連容許位RCIE來操控。
數(shù)據(jù)處理及發(fā)送模塊施行Modbus協(xié)議功用碼對應的運用。eView觸摸屏與單片機以Modbus協(xié)議通訊,用到的Modbus功用碼如表2所示。
表2 通訊程序用到的功用碼
功用碼 | eView地址稱謂 | 含 義 | 作 用 |
01 | 0x | 讀開關量輸出 | 讀取一路或多路開關量輸出狀況 |
03 | 4x | 讀堅持寄存器 | 讀取一個或多個堅持寄存器的數(shù)據(jù) |
05 | 0x 1x | 寫開關量輸出 | 強置一路繼電器的“分/合”輸出 |
16 | 3x 4x | 預置多寄存器 | 把詳細的數(shù)據(jù)裝入一組銜接的堅持寄存器 |
以Modbus功用碼03為例來闡明觸摸屏及單片機的實習通訊數(shù)據(jù)格局。如單片機地址編號為01H,觸摸屏需要查看單片機中地址為0031H的寄存器的值,發(fā)送指令格局如表3所示。
表3 觸摸屏發(fā)送數(shù)據(jù)構造
數(shù)據(jù)段稱謂 | 數(shù)據(jù)值 |
地址 | 01 |
功用碼 | 03 |
讀取地址高位 | 00 |
讀取地址低位 | 31 |
讀取數(shù)據(jù)個數(shù)高位 | 00 |
讀取數(shù)據(jù)個數(shù)低位 | 01 |
CRC校驗碼高位 | D5 |
CRC校驗碼低位 | C5 |
假定單片機中地址為0031H的寄存器接連為05H,則單片機的回復指令如表4所示。
表4 單片機應對數(shù)據(jù)構造
數(shù)據(jù)段稱謂 | 數(shù)據(jù)值 |
地址 | 01 |
功用碼 | 03 |
讀取字節(jié)數(shù) | 02 |
寄存器數(shù)據(jù)高位 | 00 |
寄存器數(shù)據(jù)低位 | 05 |
CRC校驗碼高位 | 78 |
CRC校驗碼低位 | 47 |
當波特率抵達38400kb/s時,通訊依然安穩(wěn)牢靠。本體系具有聯(lián)接電路簡略、組態(tài)活絡、通訊牢靠性高檔特征,并已成功運用于物料挑選操控體系項目中。因為Modbus通訊協(xié)議的翻開性的特征,國外進口操控器串行通訊大者支撐該協(xié)議,因而這篇文章所完畢的選用Modbus協(xié)議的串行通訊具有廣泛的運用價值。
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航