999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Java實現的Modbus通信模塊電氣設備數據采集

2020-01-05 12:53:12王勇平張英豪
通信電源技術 2020年20期

王勇平,張英豪

(廣州致新電力科技有限公司,廣東 廣州 510540)

1 電力系統常用通信規約

電力系統通信規約(協議)是指通信雙方必須共同遵守的約定,也叫做通信控制規程或傳輸控制規程。通信規約的內容主要分為信息傳送的具體步驟和信息傳送格式兩部分。其中,信息傳送格式包括收發方式、傳送速率、幀結構、幀同步字、位同步方式以及抗干擾措施等[1-3]。隨著科學技術的不斷發展,電力系統調度運行的信息傳輸要求不斷提高,促使信息傳輸方式已逐步走向數字化和網絡化。為此,國際電工委員會電力系統控制及其通信技術委員(ITCTC57)根據形勢發展的要求,制定調度自動化和變電站自動化系統的數據通信標準,以適應和引導電力系統調度自動化的發展,規范調度自動化和遠動設備的技術性能[4]。基于Modbus的傳感器通信在數據采集方面有著廣泛應用,常見的通信方式有基于串口(RTU)方式和基于傳輸控制協議(Transmission Control Protocol,TCP)方式兩類[5]。

2 Modbus通信過程

Modbus通信協議基本可以分為上位機查詢和下位機回應兩個部分的通信過程[6]。

2.1 上位機查詢

主機先確定通信鏈路中所有從機設備的地址信息,然后上位機發送數據查詢指令。為保證上位機能夠準確查詢到下位機狀態信息,上位機的查詢指令中必須有和下位機一致的地址信息,同時保證此通信中下位機收到的數據是上位機發送的。下位機通過上位機數據中的功能碼執行上位機所要完成的具體功能,同時在數據中還包含有下位機相應功能碼的輔助信息。上位機發送的數據中還包含校驗碼,在Modbus中一般是CRC16。校驗碼主要是用來檢測下位機收到的查詢請求是否正確。在請求數據中加上校驗碼,可有效驗證通信過程中數據是否被完整且正確接收[7]。

2.2 下位機回應上位機

下位機接收到上位機的請求后,對此數據幀進行請求應答即響應。在響應的數據中也必須包含相應的功能碼。功能碼[8]是對下位機接收到上位機發送數據的執行情況的響應,響應中包括功能碼的實現情況和校驗碼,以說明數據的接收是否準確和讀寫操作的執行情況等。

3 基于Modbus的傳感器通信

傳感器通信主要根據通信接口分為Modbus TCP和Modbus RTU串行兩大類。

3.1 基于Modbus TCP傳感器通信

在一次網絡通信中,TCP協議要求每個通信對象必須要知道此通信鏈路中每個節點的地址和端口號[9]。根據地址和端口號確定一個通信節點,識別通信節點中發送的數據,并且產生對應的響應。響應時,通信節點將數據通過Modbus發出。其他網絡中包含了此Modbus數據轉換的包結構。這種轉換為網絡解決節地址和路由路徑錯誤檢測提供了借鑒。

將傳感器與其接收裝置接電后,通過網線將傳感器接收裝置和PC連接進行網絡通信。此通信是基于網絡傳輸的,在應用程序中應用Socket技術,通過傳感器接收裝置的IP和端口號建立連接。通信中傳感器接收裝置為下位機,應用程序為上位機。

3.2 Modbus RTU傳感器通信過程

將傳感器與其檢測裝置接電后,通過串口可與應用程序端實現通信。此通信中,傳感器內置寄存器作為通信中的下位機,而應用程序為上位機。

3.3 基于Modbus傳感器通信中的數據格式

Modbus協議定義了一個比較簡單且和底層通信無關的協議數據單元(Protocol Data Unit,PDU)[10],包括功能碼和數據。Modbus協議的數據幀由地址域、功能碼、數據單元以及校驗碼組成。上位機和下位機的數據格式也是如此,只是在數據單元中稍有區別。上位機的數據單元由寄存器地址和寄存器數量組成,而下位機數據單元由數據字節數量和響應數據組成。

上位機請求數據示例:01 03 00 00 00 02 C4 0B

下位機響應數據示例:01 03 04 02 DB 01 16 0B EE

Modbus常見功能碼有01(讀線圈狀態)、02(讀(開關)輸入狀態)、03(讀保持寄存器)、04(讀輸入寄存器)、05(寫單個線圈)、06(寫單個保持寄存器)、15(寫多個線圈)以及16(寫多個保持寄存器)。

3.4 基于Modbus傳感器通信中的數據解析與存儲

上位機接收到下位機的響應數據后,要按照一定的解析規則,在下位機返回消息幀中的數據單元中解析16進制的消息幀。每種傳感器的解析規則都不相同,因此需要相應傳感器的通信規約文檔,以說明下位機響應的數據中傳感器采集的監測量字節數和比例轉換關系。

數據解析以下位機響應報文(16進制)01 03 04 02 92 FF 9B 5A 3D為例。溫度計算規則是,若溫度小于0 ℃,則以補碼形式上傳,其中16進制的FF9B轉10進制是-101,再根據轉換關系除以10,得到真實溫度為-10.1 ℃。同理,可得相對濕度為65.8%。

在應用程序中,使用的開發語言是Java,故根據實際業務需求在MySQL數據庫中建立數據采集表,在程序中使用定時任務將采集的數據解析后封裝為對應的對象,并使用MyBatis進行數據存儲。

3.5 用Java實現Modbus傳感器通信與數據采集

在Java中實現Modbus通信時,根據通信規約不同,使用的實現方式也不相同,主要分為Modbus TCP和Modbus RTU。

3.5.1 用Java實現Modbus TCP傳感器數據采集

程序中,TCP方式采集傳感器數據的實現方式如下。

(1)用Socket getSocketConn(String host,int port)接口獲取Socket連接對象,用此接口建立應用程序與傳感器接收裝置之間的網絡通信連接。接口中,host參數表示下位機IP,參數port表示下位機端口。

(2)用String getResponseCode(Socket socket,String reqCode,int len)接口獲取下位機響應。接口中,socket參數表示建立網絡連接的Socket對象,參數reqCode表示應用程序需要發送的請求數據,參數len表示請求數據中寄存器數量。

(3)用ListparseResponseCode(String code)接口解析下位機返回的響應數據。接口中,參數code表示下位機響應。

(4)用ListgetPartialMapResult(Socket socket,String addr)接口獲取業務中的傳感器采集數據。接口中,參數socket表示建立網絡連接的Socket對象,參數addr表示請求數據中的數據單元。

(5)用void socketClose(Socket socket)接口關閉網絡通信連接。接口中,參數socket表示建立網絡連接的Socket對象。

(6)用List insert(List recordList)接口將解析后的業務數據存入MySQL。接口中,參數recordList表示業務數據對象。

3.5.2 用Java實現Modbus RTU傳感器數據采集

程序中,RTU方式采集傳感器數據的實現方式如下。

(1)用ArrayListfindPorts()接口獲取當前主機上的可用串口列表。

(2)用SerialPort openPort(String portName,int baudrate)接口獲取串口連接對象。接口中,參數portName表示串口名稱,參數baudrate表示串口波特率。

(3)用void sendToPort(SerialPort serialPort,byte[] order)接口實現上位機向下位機發送數據查詢請求。接口中,參數serialPort表示串口連接對象,參數order表示發送數據。

(4)用byte[] readFromPort(SerialPort serialPort)接口從下位機獲取響應結果。接口中,參數serialPort表示串口連接對象。

(5)用void closePort(SerialPort serialPort)接口關閉串口連接。接口中,參數serialPort表示串口連接對象。

(6)用T getJdrkTempAndHum(int comNum)接口解析傳感器響應,以獲取業務數據對象。接口中,參數comNum表示串口序號。

(7)用List insert(List recordList)接口將解析后的業務數據存入MySQL數據庫。接口中,參數recordList表示業務數據對象。

4 結 論

研究的技術主要通過ModBus TCP/IP和ModBus RTU兩種通信方式,分別實現電氣設備傳感器數據的采集和存儲,方便了數據采集系統的快速集成開發。這不僅簡化了通信規約解析的開發工作,也為電氣設備智能化運維的數據采集分析提供了有效的實踐借鑒意義。目前,數據采集方案已經實際應用于多個項目,且采集程序運行穩定,對基于ModBus通信協議下的數據采集分析應用場景具有借鑒意義。

主站蜘蛛池模板: 日韩国产 在线| 99热这里只有精品国产99| 国产成人精品视频一区视频二区| 91在线精品麻豆欧美在线| 国产精品欧美日本韩免费一区二区三区不卡 | 国产无人区一区二区三区| 国产伦精品一区二区三区视频优播| 国产精品性| 亚洲欧美另类视频| 麻豆精品国产自产在线| 久久国产成人精品国产成人亚洲 | 在线观看网站国产| 亚洲中文字幕在线精品一区| 毛片网站观看| 久久综合亚洲色一区二区三区| h网站在线播放| 国产免费怡红院视频| 青草精品视频| 无码av免费不卡在线观看| 免费全部高H视频无码无遮掩| 免费看av在线网站网址| 国产精品太粉嫩高中在线观看| 亚洲自拍另类| 欧美日韩精品在线播放| 日韩欧美成人高清在线观看| 亚洲视频欧美不卡| 亚洲欧美不卡视频| 亚洲欧美人成电影在线观看| 欧美日韩一区二区在线免费观看| 国产日韩欧美中文| 欧美成人手机在线观看网址| 日日拍夜夜操| 久久女人网| 亚洲欧洲综合| 日韩精品亚洲人旧成在线| 亚州AV秘 一区二区三区| 一级成人a毛片免费播放| 欧美一区日韩一区中文字幕页| 欧美成人A视频| 国产无码精品在线| 欧美在线天堂| 国内精品伊人久久久久7777人| 欧美怡红院视频一区二区三区| 一级毛片中文字幕| 国产精品免费p区| 国产精品亚洲一区二区三区z| 国产成人精品免费视频大全五级| 女人爽到高潮免费视频大全| 国产日本一线在线观看免费| 国产在线视频自拍| 国产精品手机视频一区二区| 99久久亚洲综合精品TS| 亚洲精品欧美重口| 中文字幕1区2区| 极品国产在线| 亚洲国产成人精品青青草原| 黄色污网站在线观看| 日本黄色不卡视频| 538精品在线观看| 内射人妻无套中出无码| 国产亚洲日韩av在线| 伊人91视频| 久久精品无码一区二区日韩免费| 欧美中文字幕第一页线路一| 国产午夜不卡| 欧美精品黑人粗大| 国内精品小视频在线| 成人小视频在线观看免费| 免费观看亚洲人成网站| 毛片免费观看视频| 国产成人高清亚洲一区久久| 欧洲在线免费视频| 久久久久久尹人网香蕉 | 欧美一级片在线| 亚洲中文字幕手机在线第一页| 国产精品久久久久无码网站| 全部无卡免费的毛片在线看| 国产凹凸一区在线观看视频| 无码中文AⅤ在线观看| 国产精品久久自在自2021| 中文字幕乱码中文乱码51精品| 在线免费看片a|