基于USB與RS485總線的監(jiān)控系統(tǒng)設計
標準的Modbus口是使用與RS - 232C 兼容的串行接口, 它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗??刂破髂苤苯踊蚪?jīng)由Modem組網(wǎng)。
控制器通信使用主- 從技術, 即主設備能初始化傳輸(查詢)。從設備根據(jù)主設備查詢提供的數(shù)據(jù)作出相應反應。無論主設備查詢還是從設備響應, 每個Modbus幀都包括地址域、功能域、數(shù)據(jù)域、錯誤檢測域。Modbus通信有兩種模式: ASC II模式和RTU 模式。相對于ASC II模式, RTU 模式在同樣的波特率下, 可比ASCII模式傳送更多的數(shù)據(jù)。
使用RTU模式, 消息發(fā)送至少要以3. 5個字符時間的停頓間隔開始。整個消息幀必須作為連續(xù)的流傳輸。如果在幀完成之前有超過1. 5個字符的停頓時間, 接收設備將刷新不完整的消息并假定下一個字節(jié)是一個新消息的地址域。同樣的, 如果一個新消息在小于3. 5個字符時間內接著前個消息開始, 接收的設備將認為它是前一個消息的延續(xù)。這將導致一個錯誤, 因為在最后的CRC 域的值不可能是正確的。一個典型的消息幀如表1所示。
表1 RTU消息幀
PID 調節(jié)儀表采用Modbus- RTU 模式進行上位機通訊, 協(xié)議格式為: 8個數(shù)據(jù)位、1個停止位、無校驗位, 發(fā)送接收數(shù)據(jù)都是以十六進制格式進行。
發(fā)送數(shù)據(jù)格式如表2所示。
表2 發(fā)送數(shù)據(jù)格式
其中, 參數(shù)的通訊地址用一個字節(jié)表示時, 對應A2位置, A1默認為00H; 03、04指令均為讀命令, 其中04對應讀取的數(shù)據(jù)不可寫入, 03與06 指令對應參數(shù)地址, 一個讀取、一個寫入; A1、A2與A3、A4組成兩個雙字節(jié)的數(shù)據(jù), CRC 校驗碼是一個雙字節(jié)數(shù)據(jù), 所有的數(shù)據(jù)都是高位在前, 低位在后; 03、04指令讀取數(shù)據(jù)時, A 1、A2 為開始讀取的地址, A3、A4為連續(xù)讀取數(shù)據(jù)的個數(shù); 06指令中, A1、A2需要寫入數(shù)據(jù)的地址, A3、A 4表示要寫入的數(shù)據(jù)。
返回數(shù)據(jù)格式, 06 指令寫入數(shù)據(jù)時, 發(fā)送與返回的數(shù)據(jù)一致; 03、04指令返回數(shù)據(jù)格式如表3 所示, 其中返回數(shù)據(jù)字節(jié)數(shù)為: N × 2。
表3 返回數(shù)據(jù)格式
4. 2 溫度監(jiān)測系統(tǒng)
溫度監(jiān)測系統(tǒng)采用Borland C ++ Builder 6設計開發(fā), 主要涉及Chart、T imer、SPComm、Ma inM enu等控件的使用。系統(tǒng)程序設計主要包括: 采樣程序, 數(shù)據(jù)保存程序, 備份歷史數(shù)據(jù)程序等。溫度監(jiān)測系統(tǒng)主要流程如圖2所示。
圖2 監(jiān)測系統(tǒng)主要流程圖
評論