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

基于MODBUS TCP協(xié)議的船用以太網(wǎng)通信系統(tǒng)設(shè)計

2018-04-23 03:53:44楊明超
船電技術(shù) 2018年3期
關(guān)鍵詞:系統(tǒng)

鄭 軼,楊明超

(武漢船用電力推進裝置研究所,武漢 430064)

0 引言

隨著艦船設(shè)備的不斷更新?lián)Q代,對艦船的操作與控制也在逐步向集中式的方向靠攏。艇員依靠集中控制室的計算機便可觀測艦船各設(shè)備的狀態(tài),并可通過計算機向各設(shè)備發(fā)送指令。艦船設(shè)備的狀態(tài)參數(shù)的獲取與指令的發(fā)送,需要船用通信系統(tǒng)的良好支持。目前應(yīng)用于艦船的通信方式主要包括CAN通信及以太網(wǎng)通信,其中,以太網(wǎng)通信速率較快,數(shù)據(jù)傳輸穩(wěn)定,不易受到外部干擾,適合大量數(shù)據(jù)參數(shù)的循環(huán)上傳。

1 概述

1.1 MODBUS協(xié)議概述

MODBUS協(xié)議由Modicon在1979年發(fā)明,是OSI模型第7層上的應(yīng)用層報文傳輸協(xié)議,它定義了一個與基礎(chǔ)通信層無關(guān)的協(xié)議數(shù)據(jù)單元(PDU),即PDU=MODBUS功能碼+數(shù)據(jù)域。在某些特定總線或網(wǎng)絡(luò)上,MODBUS協(xié)議能夠映射在應(yīng)用數(shù)據(jù)單元(ADU)上,即ADU=地址域+PDU+校驗碼,其通用幀格式如圖1所示。

圖1 MODBUS通用幀格式

目前MODBUS協(xié)議主要應(yīng)用于以太網(wǎng)通信(MODBUS TCP)、串口通信(MODBUS RTU)及高速令牌傳遞網(wǎng)絡(luò)(MODBUS PLUS)。在不同類別的網(wǎng)絡(luò)中,對ADU的封裝也存在差異,以MODBUS TCP/IP為例,其ADU的組成如圖2所示。

圖2 MODBUSTCP/IP幀格式

可以看出,在MODBUS TCP協(xié)議中,ADU=MBAP+PDU。MBAP是TCP/IP協(xié)議上使用的一種專用報文頭,用以識別ADU。MBAP報文頭由7個字節(jié)組成,其格式如下表1所示。

表1 MBAP報文頭組成

從表格中可以看到,由于MBAP中含有長度信息,接收者能夠清晰的識別報文的邊界,因此在MODBUS TCP協(xié)議中,其ADU不再含有校驗碼。

1.2 MODBUS TCP通信系統(tǒng)模型

MODBUS TCP通信系統(tǒng)模型一般基于客戶機/服務(wù)器模型搭建,如圖3所示。

圖3 MODBUS TCP通信系統(tǒng)客戶機/服務(wù)器模型

客戶機/服務(wù)器模型基于4種類型的報文:請求、指示、響應(yīng)和證實。客戶機向服務(wù)器發(fā)送請求指令(MODBUS請求),服務(wù)器接收到來自客戶機的指令(MODBUS指示)后,對該指令進行響應(yīng)(MODBUS響應(yīng)),即按照約定的協(xié)議內(nèi)容向客戶機發(fā)送數(shù)據(jù),并由客戶機對發(fā)送的數(shù)據(jù)進行辨識和處理(MODBUS證實)。

MODBUS TCP通信系統(tǒng)可以包括多個MODBUS客戶機和服務(wù)器,其他互聯(lián)設(shè)備也可通過客戶機或服務(wù)器TCP/IP網(wǎng)關(guān)接入該通信系統(tǒng),如圖4所示。

圖4 MODBUS TCP通信系統(tǒng)示意圖

1.3 船用以太網(wǎng)通信系統(tǒng)

目前廣泛使用的船用以太網(wǎng)通信系統(tǒng)多采用“一主多從”的構(gòu)建思路,即由集中控制室的計算機擔(dān)任主機,依次向各設(shè)備輪詢數(shù)據(jù),如圖5所示。

圖5 船用以太網(wǎng)通信系統(tǒng)結(jié)構(gòu)示意圖

采用集中式輪詢方式的好處在于可以分時段向各設(shè)備發(fā)送數(shù)據(jù)請求,一來可以有效利用集控室計算機的系統(tǒng)資源,二來可以避免各設(shè)備同時返回數(shù)據(jù)造成通信線路堵塞。

2 設(shè)計實現(xiàn)

2.1 船用MODBUS TCP通信系統(tǒng)總體框圖

圖6 船用MODBUS TCP通信系統(tǒng)結(jié)構(gòu)

結(jié)合圖3、圖4和圖5可以看出,船用以太網(wǎng)通信系統(tǒng)可以按照MODBUS TCP通信系統(tǒng)結(jié)構(gòu)進行搭建,如圖6所示。

將集控室計算機作為客戶機,各設(shè)備作為服務(wù)器,由集控室計算機向各設(shè)備發(fā)送輪詢請求,并接收返回數(shù)據(jù)。以客戶機與其中一臺服務(wù)器為例,其信息交換示意圖如圖7所示。

圖中,socket()函數(shù)用于創(chuàng)建套接字,bind()函數(shù)用來綁定一個端口號到該套接字,并在套接字與所指定的端口號之間建立一個連接。socket初始化完成后,服務(wù)器端需要使用listen()函數(shù)將狀態(tài)置為偵聽,才能夠接收到來自客戶機的連接請求。此時,若客戶機需要與服務(wù)器進行數(shù)據(jù)交換,則需要使用connect()函數(shù)來指定套接字號、服務(wù)器IP地址和端口號,服務(wù)器在接收到客戶機的連接請求后,需要使用accept()函數(shù)指定之前在listen()函數(shù)中所指定的套接字號,用以確定當(dāng)前訪問的客戶機。在連接完成后,客戶機可以使用send()函數(shù)向服務(wù)器發(fā)送MODBUS請求,服務(wù)器需要使用recv()函數(shù)進行接收,再使用send()函數(shù)向客戶機發(fā)送MODBUS響應(yīng)。值得注意的是,客戶機在發(fā)送一個MODBUS請求后,無需等待服務(wù)器端的響應(yīng)便可以繼續(xù)發(fā)送下一個MODBUS請求。

圖7 MODBUS TCP通信系統(tǒng)信息交換示意圖

2.2 MODBUS服務(wù)器端建立

MODBUS服務(wù)器端的主要處理流程如圖8所示。

程序在初始化完成后即進入等待,在接收到來自客戶機的請求PDU后,對該PDU進行檢驗,根據(jù)檢驗情況決定生成MODBUS應(yīng)答或是MODBUS異常,并將該應(yīng)答或者異常作為響應(yīng)發(fā)送給客戶機,其詳細設(shè)計分述如下:

圖8 MODBUS服務(wù)器端信息處理流程圖

1)初始化

與其他基于TCP/IP協(xié)議的設(shè)備類似,作為服務(wù)器端程序,MODBUS服務(wù)器端首先需要進行初始化,其核心內(nèi)容是設(shè)置并綁定自身IP。建立服務(wù)器函數(shù)CreateServer()的核心代碼如下:

接下來需要將服務(wù)器置于偵聽狀態(tài)。MODBUS服務(wù)器端應(yīng)支持多個并發(fā)的客戶機同時連接。在設(shè)計時,采用多線程策略可以實現(xiàn)該項功能,即每當(dāng)偵聽到新的連接請求時,便建立一個新的線程來進行操作。偵聽函數(shù)TcpListen()的核心代碼如下:

2)生成MODBUS應(yīng)答/異常

對于并發(fā)的連接,在接收到來自客戶機的請求時,服務(wù)器端將在對應(yīng)的線程內(nèi)對請求進行處理。根據(jù)MODBUS協(xié)議的MBAP報文頭判斷請求類別,再按照約定的協(xié)議內(nèi)容向客戶機返回數(shù)據(jù)。響應(yīng)函數(shù)ClientService()的核心代碼如下:

2.3 MODBUS客戶端建立

MODBUS客戶端的主要處理流程如圖9所示。

圖9 MODBUS客戶端信息處理流程圖

程序在初始化完成后即進入等待,根據(jù)需求發(fā)送請求PDU,同時監(jiān)測是否收到響應(yīng)PDU,根據(jù)檢驗情況決定生成MODBUS肯定證實或是MODBUS否定證實,并將該證實發(fā)送給用戶應(yīng)用,其詳細設(shè)計分述如下:

1)初始化

MODBUS客戶端初始化的主要內(nèi)容是建立客戶機與服務(wù)器端的連接。使用Socket類中的Connect函數(shù)可以完成這一目標(biāo)。連接函數(shù)TcpConnect()的核心代碼如下:

2)發(fā)送MODBUS請求

可采用多種策略發(fā)送MODBUS請求,最為常用的是使用timer定時器作為觸發(fā),定時發(fā)送。發(fā)送函數(shù)timersend_Tick()的核心代碼如下:

3)處理數(shù)據(jù)并生成肯定/否定證實

與服務(wù)器端的處理方式類似,接收函數(shù)根據(jù)MODBUS協(xié)議的MBAP報文頭判斷數(shù)據(jù)類別,再按照約定的協(xié)議內(nèi)容解析數(shù)據(jù)。接收函數(shù)ReceiveMsg()的核心代碼如下:

3 通信測試

3.1 MODBUS服務(wù)器端測試

根據(jù)第二章的內(nèi)容,采用C#編寫MODBUS服務(wù)器端測試程序,使用0x03功能碼進行測試,起始地址為40101,大端模式。其主界面如圖10所示。

測試時使用TCP/UDP調(diào)試工具模擬MODBUS客戶端。運行MODBUS服務(wù)器端測試程序,單擊程序中的“開啟服務(wù)器”按鈕,并在TCP/UDP調(diào)試工具中設(shè)置本機IP為192.168.163.1,端口為9000,連接類型為TCP,單擊“連接”按鈕。此時調(diào)試工具已與本機連接。按照MODBUS協(xié)議,其MODBUS請求格式及數(shù)值如表2所示。

圖10 MODBUS服務(wù)器端測試程序

單擊TCP/UDP調(diào)試工具中“發(fā)送”按鈕,可在接收欄中看到數(shù)據(jù)序列如圖11所示。

將該數(shù)據(jù)序列進行解析,如表3所示。

可見調(diào)試工具接收到的報文信息完整、正確,通信正常。

表2 MODBUS請求格式及數(shù)值

3.2 MODBUS客戶端測試

根據(jù)第二章的內(nèi)容,采用C#編寫MODBUS客戶端測試程序,使用0x03功能碼進行測試,起始地址為40101,大端模式,采用定時器觸發(fā)方式向服務(wù)器發(fā)送MODBUS請求。使用Modbus Slave調(diào)試工具模擬MODBUS服務(wù)器端,設(shè)置如圖12所示。

圖11 TCP/UDP調(diào)試工具結(jié)果

表3 調(diào)試結(jié)果解析

圖12 Modbus Slave調(diào)試工具設(shè)置

運行MODBUS客戶端測試程序,單擊“連接服務(wù)器”按鈕,得到的結(jié)果如圖13所示。

圖13 MODBUS客戶端測試程序結(jié)果

對比圖12和圖13可以看出,客戶端收到服務(wù)器端數(shù)據(jù),且數(shù)據(jù)完整、正確,通信正常。

4 小結(jié)

本文結(jié)合MODBUS TCP通信系統(tǒng)與船用以太網(wǎng)通信系統(tǒng)的結(jié)構(gòu)特征,設(shè)計了基于MODBUS TCP協(xié)議的船用以太網(wǎng)通信系統(tǒng),采用C#開發(fā)環(huán)境對通信系統(tǒng)的服務(wù)器端和客戶端進行了編程設(shè)計并進行了通信測試。測試結(jié)果表明,該編程設(shè)計正確,能夠有效進行數(shù)據(jù)交互。

參考文獻:

[1] 張小川.Modbus設(shè)備嵌入式網(wǎng)頁控制方法的研究與實現(xiàn)[J].科技風(fēng),2014,(20):26-27.

[2] 黃波.虛擬儀器技術(shù)在電力諧波分析系統(tǒng)中的應(yīng)用[D].華中科技大學(xué),2014.

[3] 史妍.基于Modbus的人防工程能源監(jiān)控系統(tǒng)研究[D].哈爾濱工業(yè)大學(xué),2012.

[4] 張芳.網(wǎng)絡(luò)控制系統(tǒng)時延分析、控制器設(shè)計及仿真研究[D].北京交通大學(xué),2007.

[5] 郝曉弘,祖守圓,徐維濤.基于VC的Modbus/TCP協(xié)議模型通信測試軟件的實現(xiàn)[J].微計算機信息,2006,(07):64-67.

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 国产一区二区精品福利| 中文字幕永久视频| 中文无码精品a∨在线观看| 一级做a爰片久久毛片毛片| 91福利片| 亚洲一区二区三区麻豆| 国产特一级毛片| jizz在线免费播放| 亚洲av日韩综合一区尤物| a级毛片免费在线观看| 午夜高清国产拍精品| 免费高清a毛片| 亚洲成人精品久久| 中文字幕 91| 亚洲精品久综合蜜| 亚洲成a人片在线观看88| 成人午夜视频免费看欧美| 色婷婷视频在线| 日韩免费毛片| 色综合中文| 中文字幕佐山爱一区二区免费| 国产成人综合在线观看| 日日拍夜夜嗷嗷叫国产| 国产第八页| 色天天综合| 国产视频资源在线观看| 免费日韩在线视频| 香蕉国产精品视频| 99热这里只有精品5| 五月六月伊人狠狠丁香网| 日韩经典精品无码一区二区| 国产免费好大好硬视频| 日本成人在线不卡视频| 国产最新无码专区在线| 日韩123欧美字幕| 成人福利在线观看| 国产成人乱码一区二区三区在线| 国产丝袜丝视频在线观看| 亚洲黄色片免费看| 囯产av无码片毛片一级| 国产美女叼嘿视频免费看| 亚洲成a人片7777| 久久人人97超碰人人澡爱香蕉| 欧美色亚洲| 国产成人高清精品免费| 国产精品视频猛进猛出| 一本大道视频精品人妻| 亚洲色成人www在线观看| 国产亚洲精品97AA片在线播放| 亚洲综合香蕉| 国产在线自在拍91精品黑人| 国产精品va| 国产欧美高清| 国产99欧美精品久久精品久久| 欧美福利在线观看| 乱人伦视频中文字幕在线| 日本不卡在线| av天堂最新版在线| 欧美色香蕉| 日韩小视频网站hq| 亚洲欧美日韩成人高清在线一区| 国产系列在线| 免费毛片视频| 久久国产精品夜色| 尤物精品国产福利网站| 国产欧美精品一区二区| 日本三级黄在线观看| 欧美日韩综合网| 国产在线一区视频| 亚洲男人的天堂视频| 欧美啪啪网| 色综合热无码热国产| 蜜桃视频一区| 欧美国产日本高清不卡| 成人福利在线视频免费观看| 国产精品自在线拍国产电影| 亚洲精品久综合蜜| 97在线免费| 白丝美女办公室高潮喷水视频| 国产手机在线小视频免费观看| 国产内射一区亚洲| 欧美在线国产|