基于RTU油井遠程測控系統(tǒng)的數據采集與傳輸層軟件設
(2)Modbus/RTU通信協(xié)議實現(xiàn)
Modbus主站需要處理發(fā)送請求幀、等待應答、處理應答、處理差錯和等待轉換延時等事件。其主站設計流程如圖5所示。本文引用地址:http://www.ex-cimer.com/article/193821.htm
Modbus/RTU報文幀是否完整和幀與幀之間的區(qū)分可以通過空閑間隔來實現(xiàn),但這需要使用定時器完成1.5個字符和3.5個字符的定時,并在定時到后,進入接收處理函數,然后實現(xiàn)ADU數據到PDU數據的處理。
3.2.3 系統(tǒng)軟件的實現(xiàn)
系統(tǒng)上電后,首先進行初始化操作,主要包括設置串口、定時器等內容,并讀取EEPROM中的配置信息,對RTU進行配置,包括主從工作模式選擇、IP地址設置、輪詢的通信方式選擇、傳感器的開關狀態(tài)、繼電器輸出狀態(tài)等。若處于主站狀態(tài),還可以獲取從站配置信息并配置從站,配置成功后,主站開始對各從站進行掃描,并對從站報文進行處理;每掃描完一個從站,主站就對輪詢到的數據進行存儲;在掃描從站的同時,如果主站傳感器和外部繼電器處于開狀態(tài),會同時采集模擬通道和數字通道的數據并控制外部繼電器,采集到的數據存于相應寄存器中,等待上位機請求命令,按照Modbus協(xié)議將相應數據打包,并上傳到上位機。若處于從站,采集模擬通道和數字通道的數據并控制外部繼電器,采集到的數據存于相應寄存器中,并等待RTU主站輪詢命令,當輪詢到該從站時,按Modbus協(xié)議打包數據并發(fā)送到RTU主站。不管該RTU是主站還是從站,其TCP/IP的服務器程序一直等待系統(tǒng)配置軟件的配置信息,當收到配置信息后,將數據存入EEPROM并復位系統(tǒng)程序,整個系統(tǒng)設計流程圖如圖6所示。
從圖6中可以同時看到Modbus/RTU和Modbus/TCP的從站處理函數,在實際應用中,RTU處于Modbus/RTU主站時,其Modbus/RTU從站的
處理任務不運行,Modbus/TCP從站的處理任務運行,該狀態(tài)下RTU可用于圖1中井場1的RTU主站和井場2的RTU兩種情況;處于Modbus/RTU從站時,該狀態(tài)下RTU可用于圖1中井場1的從站情況,以太網服務器任務只等待配置信息。
評論