基于RS485總線的監控系統研究與設計
3. 2 USB轉RS485協議轉換器
USB 轉RS485 協議轉換器是一款即插即用型的協議轉換器, 完全兼容U SB ( Universal Seria l Bus)Rev: 2. 0; 支持任何波特率、數據位、停止位、數據收發時間間隔等參數, 是一款自適應的協議轉換器。
支持RS- 232 /485界面, 2Mbps以上數據傳輸速率。
支持自動握手協議; 支持遠程喚醒和電源管理; 支持USB總線直接取電, 無需外接電源( DC 5V) ; 驅動程序分二次確認, 第一次為芯片驅動, 第二次為I /O 端口驅動, 為同一目錄下的驅動程序即可完成。
監控系統的軟件系統采用Borland C++ Builder 6設計開發, 通過其功能強大的圖形化控制界面, 及SPComm控件在串行口下編程, 采用Modbus協議,通過USB 轉RS485協議轉換器, 很好地實現了上位機與PID調節儀表的通訊功能, 從而可以方便的通過對上位機監控系統界面的操作, 實現對生產線上各個分區儀表的參數監測與遠程操作控制。
該軟件系統主要包括三部分: 鋼制品生產線上罩式爐設備的溫度監測系統, 數據庫系統, 以及PID調節儀表的讀寫數據系統。
4. 1 Modbus通信
標準的Modbus口是使用與RS - 232C 兼容的串行接口, 它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗??刂破髂苤苯踊蚪浻蒑odem組網。
控制器通信使用主- 從技術, 即主設備能初始化傳輸(查詢)。從設備根據主設備查詢提供的數據作出相應反應。無論主設備查詢還是從設備響應, 每個Modbus幀都包括地址域、功能域、數據域、錯誤檢測域。Modbus通信有兩種模式: ASC II模式和RTU 模式。相對于ASC II模式, RTU 模式在同樣的波特率下, 可比ASCII模式傳送更多的數據。
使用RTU模式, 消息發送至少要以3. 5個字符時間的停頓間隔開始。整個消息幀必須作為連續的流傳輸。如果在幀完成之前有超過1. 5個字符的停頓時間, 接收設備將刷新不完整的消息并假定下一個字節是一個新消息的地址域。同樣的, 如果一個新消息在小于3. 5個字符時間內接著前個消息開始, 接收的設備將認為它是前一個消息的延續。這將導致一個錯誤, 因為在最后的CRC 域的值不可能是正確的。一個典型的消息幀如表1所示。
表1 RTU消息幀
PID 調節儀表采用Modbus- RTU 模式進行上位機通訊, 協議格式為: 8個數據位、1個停止位、無校驗位, 發送接收數據都是以十六進制格式進行。
發送數據格式如表2所示。
表2 發送數據格式
其中, 參數的通訊地址用一個字節表示時, 對應A2位置, A1默認為00H; 03、04指令均為讀命令, 其中04對應讀取的數據不可寫入, 03與06 指令對應參數地址, 一個讀取、一個寫入; A1、A2與A3、A4組成兩個雙字節的數據, CRC 校驗碼是一個雙字節數據, 所有的數據都是高位在前, 低位在后; 03、04指令讀取數據時, A 1、A2 為開始讀取的地址, A3、A4為連續讀取數據的個數; 06指令中, A1、A2需要寫入數據的地址, A3、A 4表示要寫入的數據。
返回數據格式, 06 指令寫入數據時, 發送與返回的數據一致; 03、04指令返回數據格式如表3 所示, 其中返回數據字節數為: N × 2。
表3 返回數據格式
評論