產(chǎn)品分類

      當前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > 工業(yè)觸摸屏

      類型分類:
      科普知識
      數(shù)據(jù)分類:
      工業(yè)觸摸屏

      PIC單片機與觸摸屏串行通訊的MODBUS協(xié)議完畢

      發(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地址稱謂含 義作 用
      010x讀開關量輸出讀取一路或多路開關量輸出狀況
      034x讀堅持寄存器讀取一個或多個堅持寄存器的數(shù)據(jù)
      050x
      1x
      寫開關量輸出強置一路繼電器的“分/合”輸出
      163x
      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在航

      主站蜘蛛池模板: 亚洲国产成人精品无码一区二区| 激情综合一区二区三区| 国产成人无码精品一区不卡| 国产在线乱子伦一区二区| 国产裸体舞一区二区三区| 国产午夜三级一区二区三| 波多野结衣一区二区| 三级韩国一区久久二区综合| 亚洲天堂一区二区| 中文无码精品一区二区三区| 精品一区二区三区在线播放视频| 精品成人一区二区三区免费视频| 免费无码一区二区三区蜜桃| 蜜桃AV抽搐高潮一区二区| 色欲AV蜜臀一区二区三区| 精品一区二区三区色花堂| 亚洲av无码成人影院一区| 亚洲国产精品自在线一区二区 | 精品女同一区二区三区在线| 人妻av无码一区二区三区| 国产午夜毛片一区二区三区| 国产伦精品一区二区三区免费迷 | 91亚洲一区二区在线观看不卡| 一区二区三区在线观看免费| 国产激情一区二区三区小说| 少妇人妻精品一区二区| 蜜臀AV无码一区二区三区| 91亚洲一区二区在线观看不卡| 久久国产精品视频一区| 午夜福利一区二区三区高清视频| 久久精品国产一区二区三区日韩| 亚洲一区二区三区在线视频| 国产亚洲情侣一区二区无| 亚洲色精品vr一区二区三区| 骚片AV蜜桃精品一区| 麻豆精品人妻一区二区三区蜜桃| av一区二区三区人妻少妇| 亚洲欧洲一区二区三区| 国偷自产一区二区免费视频| 91亚洲一区二区在线观看不卡| 国产成人AV区一区二区三|