亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多路隔離的Modbus協(xié)議轉(zhuǎn)換器的設(shè)計

        2016-12-02 02:37:49吳志杰王新霞孔凡敏
        電子技術(shù)應(yīng)用 2016年10期
        關(guān)鍵詞:以太網(wǎng)串口傳輸

        吳志杰,王新霞,孔凡敏,李 康

        (山東大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南 250100)

        多路隔離的Modbus協(xié)議轉(zhuǎn)換器的設(shè)計

        吳志杰,王新霞,孔凡敏,李康

        (山東大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南 250100)

        在工業(yè)領(lǐng)域中,基于Modbus RTU協(xié)議的設(shè)備被廣泛應(yīng)用,可主控機(jī)不能通過以太網(wǎng)隔離控制多路設(shè)備。設(shè)計了一種協(xié)議轉(zhuǎn)換器以解決上述問題,并可用手機(jī)端控制設(shè)備。本設(shè)計以ARM和HLK-RM04為基礎(chǔ),完成Modbus RTU數(shù)據(jù)向TCP數(shù)據(jù)的轉(zhuǎn)換,并用SLIP協(xié)議打包數(shù)據(jù),使用ADM2587E實現(xiàn)物理隔離,利用Delphi語言開發(fā)了上位機(jī)軟件控制設(shè)備。本設(shè)計已在水蓄冷控制系統(tǒng)中得到了運用,工程應(yīng)用前景廣闊。

        ARM;HLK-RM04;ADM2587E;Modbus;SLIP;Delphi;多路隔離;協(xié)議轉(zhuǎn)換

        0 引言

        隨著控制、計算機(jī)、通信、網(wǎng)絡(luò)等技術(shù)的發(fā)展,Internet正在把全世界的計算機(jī)系統(tǒng)和通信網(wǎng)絡(luò)逐漸集成起來,形成信息高速公路,形成公用數(shù)據(jù)網(wǎng)絡(luò),而在此基礎(chǔ)上,傳統(tǒng)的工業(yè)控制領(lǐng)域也正經(jīng)歷一場前所未有的變革,開始向網(wǎng)絡(luò)化方向發(fā)展,形成新的控制網(wǎng)絡(luò)[1]。以太網(wǎng)作為一種具有高速數(shù)據(jù)傳輸能力的網(wǎng)絡(luò)成為了大多數(shù)工業(yè)控制網(wǎng)絡(luò)的選擇,而將控制系統(tǒng)中需要用到的各種儀器接入以太網(wǎng)進(jìn)行集中隔離控制成為一項重要的課題。在水蓄冷控制系統(tǒng)中大多數(shù)底層的電子設(shè)備的接口為RS485接口,通信協(xié)議為 Modbus RTU,本文設(shè)計了一種多路隔離的協(xié)議轉(zhuǎn)換器來解決這個問題,并可拓展為用手機(jī)通過WiFi來控制設(shè)備。

        1 轉(zhuǎn)換器涉及通信協(xié)議介紹

        1.1Modbus RTU協(xié)議

        Modbus串行鏈路協(xié)議包括 RTU模式和ASCII模式,本設(shè)計用到的為Modbus RTU模式。

        Modbus RTU的幀格式有兩種:一種是主機(jī)發(fā)起的查詢和命令從設(shè)備的格式,另一種是從設(shè)備收到主機(jī)命令后的應(yīng)答格式。兩種格式在大多數(shù)情況下相同,如表1所示。

        表1 Modbus RTU基本幀格式

        從機(jī)地址:地址信息為1 B,表示要接收命令或發(fā)出應(yīng)答響應(yīng)的從設(shè)備的地址。從設(shè)備的地址的合法范圍是0~247(十進(jìn)制),主機(jī)將要查詢或命令的從設(shè)備地址信息放入從機(jī)地址區(qū)內(nèi),選擇對應(yīng)的從設(shè)備,而從設(shè)備將自己的地址信息放入從機(jī)地址區(qū)內(nèi)來響應(yīng)主機(jī),告訴主機(jī)是誰作出響應(yīng)。

        功能碼:功能碼為 1 B,表示主機(jī)要求從設(shè)備進(jìn)行何種操作,或者從設(shè)備應(yīng)答的數(shù)據(jù)為何種操作下得到的數(shù)據(jù)。在控制系統(tǒng)中經(jīng)常用到的讀取從設(shè)備狀態(tài)的功能碼有:0x01,0x02,0x03,0x04;用來設(shè)定從設(shè)備狀態(tài)的功能碼有0x05和0x06。Modbus協(xié)議的各常用功能碼對應(yīng)功能如表2所示。

        表2 Modbus協(xié)議常用功能碼

        數(shù)據(jù)域:數(shù)據(jù)信息的字節(jié)數(shù)根據(jù)功能碼而異,表示主機(jī)對從設(shè)備的狀態(tài)的設(shè)定,或者主機(jī)讀取的從設(shè)備寄存器數(shù)據(jù)。當(dāng)主機(jī)設(shè)定線圈或者寄存器時,命令格式的數(shù)據(jù)域和圖1一樣,而如果要讀取狀態(tài)時,則數(shù)據(jù)域的第一段為狀態(tài)數(shù)據(jù)的個數(shù)。數(shù)據(jù)的格式為高字節(jié)在前,低字節(jié)在后。

        校驗碼:校驗碼為2 B,RTU模式下使用CRC校驗碼,是由發(fā)送設(shè)備輸出的數(shù)據(jù)計算得到,在接收數(shù)據(jù)時先用同一方法再算一次CRC,若相同則接收,若不同則丟棄,以此來校驗傳輸?shù)臄?shù)據(jù)是否有誤。

        1.2Modbus over TCP協(xié)議

        基于 Modbus over TCP協(xié)議的設(shè)備可以直接接入以太網(wǎng),無需經(jīng)過協(xié)議轉(zhuǎn)換器,本系統(tǒng)中只有少數(shù)設(shè)備是基于該協(xié)議的,因此不做詳細(xì)介紹。

        1.3SLIP協(xié)議

        SLIP協(xié)議是一種在串行線路上傳輸數(shù)據(jù)的協(xié)議,如果使用SLIP協(xié)議來進(jìn)行通信,則目標(biāo) IP地址和源IP地址都必須已知[2]。SLIP協(xié)議是鏈路層協(xié)議,只能和 TCP/IP一起使用。由于本設(shè)計可以接入3個RS-485接口的設(shè)備,只有一個輸出數(shù)據(jù)的串口,3路數(shù)據(jù)可能同時發(fā)送,所以需要一種對數(shù)據(jù)打包的協(xié)議來實現(xiàn),而設(shè)備只需接入以太網(wǎng)進(jìn)行監(jiān)控,并且TCP/IP提供了很好的可靠性保證,所以SLIP協(xié)議能很好地滿足這個需求。

        SLIP協(xié)議定義了2個特殊的字符:END(0xC0)和ESC (0xDB)。需要打包的數(shù)據(jù)在開頭和結(jié)尾加入一個END字符,END字符標(biāo)志著數(shù)據(jù)的開始和結(jié)束。如果傳輸?shù)臄?shù)據(jù)中包含END字符,就會造成錯誤的接收和結(jié)束,所以引入ESC字符來防止這種情況的發(fā)生。傳輸原始數(shù)據(jù)中存在的END字符轉(zhuǎn)換為ESC(0xDB)或ESC-END(0xDC),而存在的ESC字符則轉(zhuǎn)換為ESC(0xDB)或ESC-ESC(0xDD)[3]。SLIP協(xié)議對應(yīng)的數(shù)據(jù)封裝過程如圖1所示。

        圖1 SLIP協(xié)議數(shù)據(jù)封裝過程

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

        協(xié)議轉(zhuǎn)換器的系統(tǒng)框圖如圖2所示。

        圖2 多路隔離的協(xié)議轉(zhuǎn)換器系統(tǒng)框圖

        2.1ARM模塊

        本協(xié)議轉(zhuǎn)換器的主控模塊使用ARM,選擇了32 bit的ARM(Atmel SAM3X8E),它擁有84 MHz的CPU時鐘頻率、96 KB的 SRAM、512 KB的 Flash和 54個數(shù)字 I/O口。4路UART硬件串口用來進(jìn)行串行通信,其中3路串口用來連接協(xié)議轉(zhuǎn)換機(jī)箱的3路RS485串口,另外一個串口用來傳輸 SLIP協(xié)議打包的數(shù)據(jù)。未使用的 I/O口可以用來輸出控制閥門繼電器,并且可以顯示閥門開關(guān)的到位指示,圖3為軟件流程圖。

        圖3 軟件流程圖

        運用ARM開發(fā)工具來進(jìn)行設(shè)備數(shù)據(jù)的處理,先對串口的波特率、I/O口的輸入輸出模式等進(jìn)行初始化,然后對數(shù)據(jù)處理過程中的各個函數(shù)進(jìn)行定義。下面對幾個主要函數(shù)進(jìn)行說明。

        先定義函數(shù) calcCRC16用于計算 Modbus RTU的CRC16校驗碼。當(dāng)主機(jī)對從設(shè)備發(fā)出請求時,請求數(shù)據(jù)通過以太網(wǎng)傳輸過來,經(jīng)過串口進(jìn)入ARM進(jìn)行解包處理,并識別出請求是發(fā)送給哪個從設(shè)備的,從而將相應(yīng)數(shù)據(jù)傳送給對應(yīng)設(shè)備的串口,這個過程由processNetworkData函數(shù)實現(xiàn)。

        當(dāng)從設(shè)備響應(yīng)主機(jī)發(fā)出的請求時,通過 RS-485接口傳輸?shù)臄?shù)據(jù)格式為 Modbus RTU,消息幀需要通過SLIP協(xié)議進(jìn)行打包,因此定義一個sendSlipPacket函數(shù),然后定義函數(shù)來處理對應(yīng)RS485端口接收到的數(shù)據(jù)。若判斷數(shù)據(jù)包還沒有接收完,則不進(jìn)行處理,返回。若數(shù)據(jù)包處于接收錯誤狀態(tài)(超長,數(shù)據(jù)錯誤等),則清空接收緩沖區(qū)并返回。若收到一個完整的數(shù)據(jù)包,則SLIP編碼后由網(wǎng)絡(luò)端口(Serial)發(fā)送。

        2.2串口轉(zhuǎn)以太網(wǎng)模塊

        經(jīng)SLIP協(xié)議打包的Modbus RTU數(shù)據(jù)通過串口發(fā)送后,并不能進(jìn)入以太網(wǎng)進(jìn)行傳輸,因此采用了深圳海凌科電子有限公司的HLK-RM04。RM04模塊是海凌科電子推出的嵌入式UART-ETH-WIFI(串口-以太網(wǎng)-無線)模塊,內(nèi)置 TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口、以太網(wǎng)、無線(WiFi)3個接口之間的轉(zhuǎn)換,傳統(tǒng)的串口設(shè)備在不需要更改任何設(shè)置的情況下,即可通過網(wǎng)絡(luò)傳輸數(shù)據(jù)。

        先通過網(wǎng)線將模塊與PC相連接,進(jìn)入模塊配置界面來設(shè)定模塊的IP地址、網(wǎng)關(guān)、網(wǎng)絡(luò)協(xié)議等。將 RM04的模式設(shè)為TCP Server,該模式下模塊監(jiān)聽指定端口,等待 TCP Client連接,連接成功后,模塊將串口 TCP數(shù)據(jù)發(fā)送給連接的各個TCP Client,如圖4所示。將ARM模塊的輸出串口與RM04模塊的串口相連,就可以把Modbus RTU數(shù)據(jù)轉(zhuǎn)換成TCP數(shù)據(jù),并通過以太網(wǎng)傳輸。

        圖4 TCP Server模式

        2.3從設(shè)備隔離部分

        RS485接口的設(shè)備大多工作在工業(yè)自動化領(lǐng)域,特別容易受到失控電壓和電流所帶來的負(fù)面影響,所以有必要在通信總線與邏輯控制器之間進(jìn)行電氣隔離。另外,本設(shè)計是對多路數(shù)據(jù)進(jìn)行轉(zhuǎn)換,為了防止各路信號的相互串?dāng)_和電氣噪聲的影響,隔離必不可少。

        本設(shè)計使用了ADI公司的ADM2587E芯片,它提供了RS485通信的完整隔離方案。ADM2587E內(nèi)部集成了運用isopower技術(shù)的DC/DC隔離電源,在單個封裝內(nèi)還集成了三通道隔離器、三態(tài)差分線路驅(qū)動器和差分輸入接收機(jī),保護(hù)功能好,而且其體積小、功耗小,大大減少了占用電路板的面積。

        2.4上位機(jī)設(shè)計

        在本控制系統(tǒng)中,要在主機(jī)端控制底層的電子設(shè)備,需要開發(fā)對應(yīng)的上位機(jī)軟件來進(jìn)行控制和監(jiān)測。本上位機(jī)使用Delphi語言在XE7平臺下設(shè)計。

        基于 Modbus協(xié)議的設(shè)備都屬于新建的父類 TModbus,然后分為TModbusoverslip類和TModbusovertcp類,這些類屬于通信協(xié)議類。

        本設(shè)計的系統(tǒng)接口也需要建立類TTcpclient,這個類基于 TWSocket類,TWSocket類的作用是將 Windows Socket封裝起來,TTcpclient起到了 TCP客戶端的作用,負(fù)責(zé)連接Server端,并進(jìn)行數(shù)據(jù)處理。

        為了使得工作人員在主機(jī)端便利地控制各種設(shè)備,控制界面應(yīng)美觀,因此建立了基于 TPanel的類 TDevGUI,系統(tǒng)界面中的圖形都基于此類。

        3 協(xié)議轉(zhuǎn)換器的拓展功能

        隨著移動通信的不斷發(fā)展,手機(jī)成為了每個人必不可少的工具,所以考慮加入手機(jī)端對電子設(shè)備的控制,這樣工作人員就可以方便地查看設(shè)備的工作狀態(tài),而且在本設(shè)計中使用的HLK-RM04模塊還支持串口轉(zhuǎn)WiFi功能,這就使得構(gòu)想成為了可能。

        通過RM04模塊配置界面將模塊工作方式設(shè)定為WiFi AP模式,手機(jī)作為客戶端來連接WiFi,將ARM中未使用的2個I/O口拓展為串口,進(jìn)而控制設(shè)備。

        4 結(jié)束語

        本文對水蓄冷控制系統(tǒng)中無法使用主機(jī)通過以太網(wǎng)控制設(shè)備的問題進(jìn)行了討論,提出了一種工業(yè)中實用的多路隔離的Modbus協(xié)議轉(zhuǎn)換器的設(shè)計方法。本協(xié)議轉(zhuǎn)換器已投入使用,穩(wěn)定性強(qiáng),安全性好。

        [1]賈東耀,汪仁煌.工業(yè)控制網(wǎng)絡(luò)結(jié)構(gòu)的發(fā)展趨勢[J].工業(yè)儀表與自動化裝置,2002(5):12-14.

        [2]SHANMUGAM R,PADMINI R,NIVEDITA S.TCP/IP詳解[M].尹浩瓊,李劍,譯.北京:電子工業(yè)出版社,2003.

        [3]吳明光,崔家林,陳冠雄.串行網(wǎng)際協(xié)議在記錄儀通信中的應(yīng)用[J].科技通報,2005,21(5):612-614.

        [4]沈建華.ARM處理器與嵌入式系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(11):5-7.

        [5]俞野秋,陳堅.Modbus和 Modbus-TCP協(xié)議轉(zhuǎn)換研究[J].儀表技術(shù),2013(1):28-31.

        Design of multiple isolated Modbus protocol converter

        Wu Zhijie,Wang Xinxia,Kong Fanmin,Li Kang
        (School of Information Science Engineering,Shandong University,Jinan 250100,China)

        In the industry system,the equipment based on Modbus RTU protocol is widely used,but master control machine doesn′t control multiple equipment isolated through Ethernet.This paper designed a protocol converter in order to solve this problem.Also, it was viable to use the mobile phone to control the equipment.This protocol converter was based on the ARM and HLK-RM04.The Modbus RTU data was converted into TCP data by using the converter.This converter used SLIP protocol to pack the data and ADM2587E to isolate multiple equipment.PC software was also developed,which used Delphi to control the equipment.This design has been applied in the water storage air conditioning control system,and it has a broad prospect in engineering application.

        ARM;HLK-RM04;ADM2587E;Modbus;SLIP;Delphi;multiple isolated;protocol conversion

        TP336

        A

        10.16157/j.issn.0258-7998.2016.10.019

        2016-05-12)

        吳志杰(1993-),男,碩士研究生,主要研究方向:自動控制通信系統(tǒng)設(shè)計和測試系統(tǒng)開發(fā)。

        王新霞(1989-),女,碩士研究生,主要研究方向:自動控制通信系統(tǒng)設(shè)計。

        孔凡敏(1969-),男,教授,主要研究方向:射頻/微波技術(shù)。

        中文引用格式:吳志杰,王新霞,孔凡敏,等.多路隔離的 Modbus協(xié)議轉(zhuǎn)換器的設(shè)計[J].電子技術(shù)應(yīng)用,2016,42 (10):77-79.

        英文引用格式:Wu Zhijie,Wang Xinxia,Kong Fanmin,et al.Design of multiple isolated Modbus protocol converter[J].Application of Electronic Technique,2016,42(10):77-79.

        猜你喜歡
        以太網(wǎng)串口傳輸
        混合型隨機(jī)微分方程的傳輸不等式
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        牽引8K超高清傳輸時代 FIBBR Pure38K
        基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
        電子制作(2018年18期)2018-11-14 01:48:00
        支持長距離4K HDR傳輸 AudioQuest Pearl、 Forest、 Cinnamon HDMI線
        談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實時無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
        中文字幕av人妻少妇一区二区| 日韩三级一区二区三区| 久久综合激情的五月天| 亚洲乱码中文字幕三四区| 蜜芽亚洲av无码精品色午夜| 亚洲精品乱码8久久久久久日本 | 女人被狂躁高潮啊的视频在线看| 欧美xxxx色视频在线观看| 日本爽快片18禁免费看| 亚洲av无码国产剧情| 日韩精品一区二区亚洲av| 亚洲av鲁丝一区二区三区| 伊人22综合| 欧美视频第一页| 久久亚洲精品一区二区| 亚洲av高清一区二区三区 | 日本最大色倩网站www| 免费一级毛片在线播放不收费| 精品国产迪丽热巴在线| 亚洲愉拍自拍视频一区| 亚洲一区二区三区资源| 亚洲国产日韩综合天堂| 国产交换精品一区二区三区| 国产综合色在线精品| 无码字幕av一区二区三区| 久久久久波多野结衣高潮| 国产男女猛烈无遮挡免费视频| 揄拍成人国产精品视频肥熟女| 激,情四虎欧美视频图片| 免费看黄视频亚洲网站| 久久无码专区国产精品| 天天爽夜夜爽人人爽曰喷水| 日韩精品人妻少妇一区二区| 偷拍一区二区三区四区视频| 国产成人亚洲综合无码品善网| 中文字幕乱码亚洲精品一区| 九九视频在线观看视频6| 人妻无码一区二区在线影院 | 伊人久久大香线蕉av色婷婷| 国产一级二级三级在线观看视频| 日本韩国亚洲三级在线|