基于USB與RS485總線(xiàn)的監控系統設計
標準的Modbus口是使用與RS - 232C 兼容的串行接口, 它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗??刂破髂苤苯踊蚪?jīng)由Modem組網(wǎng)。
控制器通信使用主- 從技術(shù), 即主設備能初始化傳輸(查詢(xún))。從設備根據主設備查詢(xún)提供的數據作出相應反應。無(wú)論主設備查詢(xún)還是從設備響應, 每個(gè)Modbus幀都包括地址域、功能域、數據域、錯誤檢測域。Modbus通信有兩種模式: ASC II模式和RTU 模式。相對于A(yíng)SC II模式, RTU 模式在同樣的波特率下, 可比ASCII模式傳送更多的數據。
使用RTU模式, 消息發(fā)送至少要以3. 5個(gè)字符時(shí)間的停頓間隔開(kāi)始。整個(gè)消息幀必須作為連續的流傳輸。如果在幀完成之前有超過(guò)1. 5個(gè)字符的停頓時(shí)間, 接收設備將刷新不完整的消息并假定下一個(gè)字節是一個(gè)新消息的地址域。同樣的, 如果一個(gè)新消息在小于3. 5個(gè)字符時(shí)間內接著(zhù)前個(gè)消息開(kāi)始, 接收的設備將認為它是前一個(gè)消息的延續。這將導致一個(gè)錯誤, 因為在最后的CRC 域的值不可能是正確的。一個(gè)典型的消息幀如表1所示。
表1 RTU消息幀

PID 調節儀表采用Modbus- RTU 模式進(jìn)行上位機通訊, 協(xié)議格式為: 8個(gè)數據位、1個(gè)停止位、無(wú)校驗位, 發(fā)送接收數據都是以十六進(jìn)制格式進(jìn)行。
發(fā)送數據格式如表2所示。
表2 發(fā)送數據格式

其中, 參數的通訊地址用一個(gè)字節表示時(shí), 對應A2位置, A1默認為00H; 03、04指令均為讀命令, 其中04對應讀取的數據不可寫(xiě)入, 03與06 指令對應參數地址, 一個(gè)讀取、一個(gè)寫(xiě)入; A1、A2與A3、A4組成兩個(gè)雙字節的數據, CRC 校驗碼是一個(gè)雙字節數據, 所有的數據都是高位在前, 低位在后; 03、04指令讀取數據時(shí), A 1、A2 為開(kāi)始讀取的地址, A3、A4為連續讀取數據的個(gè)數; 06指令中, A1、A2需要寫(xiě)入數據的地址, A3、A 4表示要寫(xiě)入的數據。
返回數據格式, 06 指令寫(xiě)入數據時(shí), 發(fā)送與返回的數據一致; 03、04指令返回數據格式如表3 所示, 其中返回數據字節數為: N × 2。
表3 返回數據格式

4. 2 溫度監測系統
溫度監測系統采用Borland C ++ Builder 6設計開(kāi)發(fā), 主要涉及Chart、T imer、SPComm、Ma inM enu等控件的使用。系統程序設計主要包括: 采樣程序, 數據保存程序, 備份歷史數據程序等。溫度監測系統主要流程如圖2所示。

圖2 監測系統主要流程圖
評論