韩国理伦电源2020,一人吸乳一人做爰,欧美丰满熟妇bbb久久久,日本人も中国人も汉字を

當前位置:首頁 > 觸控技術 > 觸摸屏原理
觸摸屏原理

Modbus協議下單片機與eView觸摸屏的通信方法

   Modbus協議由于其具有開放性、透明性、成本低、易于開發等特點,已成為當今工業領域通信協議的首選。

  本文介紹了一種基于Modbus通信協議的eView觸摸屏與常用的51單片機的通信方法。該方法通過C51編程實現Modbus通信,在51系列單片機上具有通用性,有一定的借鑒作用。

  工業控制中經常需要觀察系統的運行狀態或者修改運行參數。觸摸屏能夠直觀、生動地顯示運行參數和運行狀態,而且通過觸摸屏畫面可以直接修改系統運行參數,人機交互性好。單片機廣泛應用于工控領域中,與觸摸屏配合,可組成良好的人機交互環境。

  觸摸屏與單片機通信,需要根據觸摸屏采用的通信協議為單片機編寫相應的通信程序。Modbus協議是美國Modicon公司推出的,一種有效支持控制器之間以及控制器經由網絡(如以太網)與其他設備之間進行通信的協議。本文以STC89C51單片機和人機電子有限公司的eView觸摸屏為例,介紹其通信程序的開發過程。

  1 系統結構

  實現觸摸屏與單片機的通信,主要是解決通信協議的問題。本文使用開放的Modbus通信協議,以觸摸屏作主站,單片機作從站。eView觸摸屏本身支持Modbus通信協議,如果單片機也支持Modbus協議,就可以進行通信了。eview觸摸屏支持RS-232和RS-485兩種通信接口。在工業控制領域,由于RS-485具有可靠性高、傳輸距離遠、抗干擾能力強等優點,所以在本系統中觸摸屏與單片機通信采用RS-485連接,傳輸速率設置為 9600 kbps。RS-485信號傳輸是一種半雙工的傳輸方式,單片機通過一個RS-232/RS-485無源轉換器把232信號轉換成485信號,連接到 eView觸摸屏上。圖l為該系統的原理圖。

 

 


 

    單片機控制系統采用STC89C51系列單片機,其內部集成MAX810/STC810專用復位電路(原有外部復位可繼續保留,與Intel 8051引腳兼容),具有抗干擾能力強、加密性強、高抗靜電(ESD)、超低功耗等特點,而且價格低廉。在本系統中,觸摸屏是上位機,單片機是下位機。

  2 Modbus協議

  2.1 Modbus協議簡介

  Modbus協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(如以太網)與其他設備之間可以通信。它已經成為一種通用工業標準。不同廠商生產的控制設備可以通過它連成工業網絡,集中監控。

  Modbus協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通信的。它描述了一控制器請求訪問其他設備的過程.如何回應來自其他設備的請求,以及怎樣偵測錯誤并記錄;制定了消息域格局和內容的公共格式。

  當在某一Modbus網絡上通信時,此協議決定了每個控制器需要知道它們的設備地址,識別按地址發來的消息,以及決定要產生何種行動。如果需要回應,則控制器將生成反饋信息并用Modbus協議發出。在其他網絡上,包含了M0dhus協議的消息轉換為在此網絡上使用的幀或包結構。

  2.2 Modbus RTU通信數據傳輸模式

  當控制器設備基于Modbus協議以RTU模式通信時,消息中的每個字節包含2個4位的十六進制字符。這種方式的主要優點是:在同樣的波特率下,可比ASCII方式傳送更多的數據。

  編碼采用8位二進制,十六進制數0~9和A~F;消息中每個8位域都是由2個十六進制字符組成。組織結構如下:

 


 

    2.3 Modbus RTU消息幀結構

    Modbus RTU消息幀結構如下:

 


 

    (1)地址碼

  地址碼為通信傳送的第一個字節。這個寧節表明,由用戶設定地址碼的從機將接收由主機發送來的信息。每個從機都有具有唯一的地址碼,只有符合地址碼的從機才能響應回送,且響應回送均以各自的地址碼開始。主機發送的地址碼則表明將發送到的從機地址,而從機發送的地址碼表明回送的從機地址。地址0用作廣播地址,以使所有的從設備都能認識。

  (2)功能代碼

  功能代碼為通信傳送的第二個字節。Modbus通信規約定義可能的代碼范圍是十進制的1~255。當然,有些代碼適用于所有控制器,有些僅適用于某種控制器,還有些保留以備后用。主機發送請求,通過功能碼告訴從機執行什么動作;從機響應請求,從機發送的功能碼與從主機發送來的功能碼一樣,表明從機已響應主機進行操作。如果從機發送的功能碼的最高位為1,則表明從機沒有響應操作或發送出錯,主設備應用程序得到異議的回應后,典型的處理是重發消息。表l列出了常用Modbus支持的部分功能碼。

 


 

    以讀取線圈狀態為例說明。主站發送命令:[設備地址][命令號01][起始寄存器地址高8位][低8位][讀取的寄存器數高8位][低8位] [CRC校驗的低8位][高8位]。從站響應:[設備地址][命令號01][返回的字節個數][數據1][數據2]…[數據n][CRC校驗的低8位] [高8位]。

  (3)數據區

  數據區根據功能碼的不同而不同。數據區包含需要從機執行什么動作,或由從機采集的返送信息。這些信息可以是實際數值、設置點、主機發送給從機或從機發送給主機的地址等。例如,功能碼告訴從機讀取寄存器的值,則數據區必須包含要讀取寄存器的起始地址及讀取長度。對于不同的從機,地址和數據信息都不相同。

  (4)錯誤校驗碼

  主機或從機可用校驗碼判別接收信息是否出錯。錯誤檢測域包含一個16位的值(用2個8位的字符來實現)。錯誤檢測域的內容是通過對消息內容進行 “循環冗余檢測”得出的。CRC域附加在消息的最后,添加時先是低字節然后是高字節,故CRC的高位字節是發送消息的最后一個寧節。錯誤校驗采用CRC- 16校驗方法。

  3 軟件編程

  下面是采用C5l編寫的軟件,主要包括CRC校驗和終端接收及波特率設置等。由于篇幅有限,其他程序略。

    4 總 結

  由于Modhus協議具有開放性和透明性等特點,而51系列單片機技術成熟、開發成本低,二者的結合將繼續成為各類通信系統設計的首選。本設計方法已經應用于觸摸屏與單片機通信設計,并取得了較好效果。這種方法對于編制類似的通信軟件有一定的借鑒作用,部分程序可以直接移植。


相關文章
精彩評論:
0  相關評論
主站蜘蛛池模板: 饶河县| 金阳县| 馆陶县| 车险| 应用必备| 葵青区| 武定县| 平潭县| 响水县| 乐都县| 广南县| 武平县| 奎屯市| 鹿邑县| 娄烦县| 青海省| 岳阳县| 前郭尔| 驻马店市| 册亨县| 阜城县| 武穴市| 临泽县| 台东市| 苍南县| 孝感市| 社旗县| 象州县| 红原县| 岐山县| 保亭| 周至县| 尼木县| 旺苍县| 武宁县| 象州县| 光山县| 阿城市| 五莲县| 调兵山市| 密山市|