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

基于MODBUS—RTU協議通信軟件的設計與實現

2015-06-30 06:24:29翟志華李夢宇
中小企業管理與科技·下旬刊 2015年12期

翟志華 李夢宇

摘 要:基于互聯網+戰略的實施,構建智能化電網需要構建統一的通信網絡及協議,現有的現場總線網絡及協議已經不能滿足當前城市智能化發展的要求,而發展太網則成為發展的必然手段,因此基于MODBUS-RTU協議通信軟件的設計是解決上述問題的根本原因。因此本文闡述基于MODBUS-RTU協議通信軟件的設計與實現。

關鍵詞:MODBUS-RTU;集中監控;以太網

隨著互聯網+戰略以及構建智慧城市的要求,MODBUS協議被廣泛的應用,這主要是因為MODBUS具有免費、開放、簡單的特點,因此其被越來越多智能通訊設備所使用。MODBUS協議最早是由美國的Modicon公司推出的,隨后在1998年施耐德公司推出的MODBUS TCP網絡協議的出現更好地滿足了市場和用戶的需求,并且其在工業自動化中得到應用。MODBUS協議之所以被廣泛的應用主要是因為:一是MODBUS協議標準,開放性比較強;二是可以支持多種設備接口,而且還可以在多種介質上進行傳送;三是該協議最簡單、最緊湊,而且其很容易被人接受。總體來說MODBUS協議就是實現了通信參與者的從屬關系,將主站向從站進行通信請求,從站在接到主站的請求之后,按照相應的要求進行連接,因為從站具有247個地址編碼,因此其可以接收多個主站的通信請求,實現了通信信息轉化的高速、簡單以及可靠等要求。MODBUS協議定義了一個控制器能認識使用的消息結構,并且描述了控制器請求訪問其他設備的過程,比如在客戶機發出請求之后,服務器需要接收客戶機的請求,并且做出相應的處理分析,將處理結果向客戶機反饋,客戶機接到反饋之后就會做出相應的策略準備。

1 MODBUS協議中的兩種傳輸方式及幀格式

1.1 ASCII和RTU兩種傳輸方式

通過實踐,標準的MODBUS協議主要有兩種傳輸模式,也就是ASCII和RTU,這兩種傳輸模式對傳輸信息的機構都進行了定義,在實踐過程中,采于MODBUS串行通信時需要所有參加通信設備輸出模式都要保持一致,選擇一種傳輸模式。ASCII在實踐中應用的相對比較少,其最大的優點在于可以將字符發送的時間間隔控制在1秒而且不產生錯誤。而RTU傳輸模式,傳輸的消息中每8個字節包含兩個四位十六進制字符,因此其傳輸字符的密度比較高,因此此種傳輸模式被廣泛的應用。具體的傳輸特征見表1:

綜合上述的兩種傳輸渠道,我們一般會將MODBUS的消息作為標準,標志著設備開始工作與終止工作的時間,比如通信設備在接收到消息之后,允許接受消息的設備會按照程序自動讀取消息地址,然后判斷消息被那個設備處理,并且斷定消息的處理結果。一般消息的發送時間字符都是有著嚴格要求的,以3.5個字符的停頓時間作為開始(如表2的T1-T2-T3-T4所示)。一般在網絡波特多樣化的環境背景下,字符的時間是比較容易實現的,因此我們可以將消息傳輸的第一個字符設定為設備地址,傳輸字符的結構是十六進制的,因此系統會在接收到第一個信號為開始,并且對每個地址域進行判斷,判斷是否是自己發送的,在最后一個傳輸字符之后,一個至少3.5個字符時間的停頓標定了消息的結束。一個新的消息可在此停頓后開始。

1.2 一個完整的消息幀格式所包含內容

在整個幀中必須要連續的進行消息的傳輸,而且傳輸的時間不能超過3.5個字符時間,因為3.5個字符時間被接受設備看作一個時間節點,如果接受設備在接收到某個信息之后,如果在3.5個字符時間內,其沒有接收到信息那么該設備就會將后面接收的信息作為新的指令,當然如果在3.5個字符時間內接收到了新的信息,那么無論其是否屬于新的消息,其都會將其作為上一信息的延續,可以說這樣的情況都會導致出現錯誤。

一個典型的消息幀如下所示:

消息幀一般包括兩個字符,以RTU報文幀為例,其第一個字節屬于地址,其主要是代表主站將信息發送到從站的地址,主要是基于從站都具有唯一的地址編碼,這樣可以保證信息準確地傳遞到從站中,而從站在接收到信息之后,要使用地址開頭的報文幀進行響應。功能碼是報文幀的第二個字節,其主要是主站告訴從站應該執行怎樣的操作。而ASIC模式的字符幀格式則與此模式差不多,其主要是采取兩個字符報送文幀的一個八位字節,以此實現通信。但是報文幀字符的時間間隔為1秒,超過1秒就會出現傳輸錯誤。一般在智能設備的MOdbus應用層中對于通信參數的要求是非常嚴格的,比如在智能設備設定為斷路器時,需要在用戶層定義狀態參數等,以此保證用戶能夠根據一定的信息進行網絡通信。

MOdbus網絡術語工業通信系統,是由智能終端的可編程控制器實現的,因此在某種意義上實現消息幀的手段就是要強化對數據的傳輸,也就是說Modbus協議中的數據流是由報文中的間隔實現同步的,因此需要從以下這兩個方面入手:一是系統必須要采取單MCU設計,才起中斷方式實現實時接收,保證報文的同步性;二是必須要對CRC進行校驗,但是校驗則需要占有一定的軟件運行時間,因此其會影響反應速度,因此如果采取標準的CRC計算公式的話會影響系統的運行速度,因此基于現實因素的考慮,基于通信工作的要求采取查表法計算CRC,這樣可以保證速度以最快的效率實現通信的需求。

對于MODBUS網絡的錯誤檢驗主要有奇偶校驗和幀檢測。它們之間在應用范疇上存在一定的差距,比如奇偶校驗主要是對字符的應用,而幀檢測則主要針對整個消息。在奇偶校驗中需要用戶對配置器進行設定,如果將控制器設定為奇校驗,那么“1”位數將算到每個字符的位數中;幀檢測主要是分為LRC檢測和CRC檢測。CRC檢測的是整個消息內容,因此當設備按照CRC計算得到的消息之后進行對比,如果對比結果相同那么該消息就是正確的,反之則相反。

2 PC機上實現MODBUS通信的方法

一般通信接口的設計必須要具備高速、安全可靠的要求,因此在PC機上實現MODBUS通信的方法主要是要達到上述要求。高速就是保證通訊接口要支持1200-38400之間的標準通信波特率。安全可靠就是其要適應不同的環境,并且能夠滿足高負荷的絞線。因此在實踐中我們經常適應RS-232串行通信標準,而且此種方式在工業領域內非常多見,其屬于一種低速率串行通信中增加通信距離的單端標準,一般典型的RS-232有9個接腳,因此再具體的上位機與通信接口的連接上是通過使用RS-485插卡或者RS-232/RS-485轉換模塊,以此實現多出通信的連接。本文設計的上位機的通信方法是采用帶有120特性阻抗的屏蔽雙絞線,確認在通訊電纜的兩邊都有終端匹配電阻,并將屏蔽小心接地。從站數限制為32個以下。

實現通信的過程中要對從站地址、寄存器地址及數據量等進行判定。若是與PLC或者其他標準的通信設備進行連接時,需要考慮實際的結構,即寄存器地址圍,如0X——表示輸出線圈、1X——表示離散量輸入、3X——表示輸入寄存器、4X——表示保持寄存器。注意,寄存器地址是從1開始的,如40001代表0號保持寄存器地址。MODBUS協議規定每個消息不超過256個字節。

以從站為例,下圖是實現通信的流程圖:

3 利用Visual C++實現計算機與串口設備的通信

3.1 MSComm控件通訊方式

實現通信的主要方式就是尋求合理的串口,目前人們所采取的串口主要是利用MSComm控件,此種模式在進行程序編程時非常方便,而且其可以適用于不同的語言環境中,MSComm控件通信方式主要包括以下兩種:一是事件驅動方式,事件驅動方式主要是根據串行端口在傳輸和接收數據時需要系統給予通知的原理,比如在串口接收字符時如果其中存在某些變化時,可以利用該方式對事件進行捕獲,同時還可以對某些錯誤進行糾正,此種方法的最大優點就是實現了快速響應,具有可靠的穩定性;另一種是查詢方式。查詢方式實際上還是事件驅動的延伸,只是在某些情況下采取此種模式會更加方便,比如在編寫一個簡單的程序時,是沒有必要對每個字符產生事件的,因此可以采取查詢方式。

3.2 MSComm 控件的常用屬性

通過當前的程序設計理論,MSComm空間的屬性主要包括:CommPort;Settings;PortOpen;Input 以及Output等。

常數值描述:comEvSend 1 發送事件;comEvReceive 2 接收事件;comEvCTS 3 clear-to-send 線變化;comEvDSR 4 data-set ready 線變化;comEvCD 5 文件結束。

本軟件選用RTU模式,利用查表法實現CRC校驗,實現對串口設備內數據的查詢和預置兩個功能。主要函數包括:OnInitDialog():實現對串口的初始化;OnButtonSend():向串口發送數據;OnComm():當輸入緩沖區有數據時,將數據讀出。軟件運行界面如圖3:

4 結論

本文簡述MODBUS協議,分析了ASCII和RTU兩種傳輸方式的各自特點及幀格式,最終選取RTU格式作為工業現場的通訊協議,以此為基礎,探索在Visual C++環境下使用MSComm 控件進行編程,并選取SIMENSE S7-300作為下位機試驗,此程序在實踐中得到檢驗,證實可行,為工業現場通訊調試及安裝提供了有利的軟件支持。

參考文獻:

[1]陳廣慶,徐克寶,劉廷瑞.基于VB的壓力校驗儀計算機校驗系統[J].煤礦機械,2011(02).

[2]董平,李明菊,王鵬,郭殿林.API串口通信在動力配煤控制系統中應用[J].潔凈煤技術,2009(02).

[3]王延年,陳紅,高霞.基于CP341模塊的MODBUS RTU從站協議免驅動通信[J].西安工程大學學報,2010(12).

[4]萬鵬,趙世平,徐弘軒.基于Modbus協議的PLC與LabVIEW的通訊實現[J].中國測試技術,2008(05).

主站蜘蛛池模板: 黑人巨大精品欧美一区二区区| 天堂成人在线| 美女内射视频WWW网站午夜 | 欧美成一级| 欧洲高清无码在线| 国产三级a| 久久女人网| 久久成人国产精品免费软件| 三区在线视频| 自拍偷拍欧美日韩| 亚洲无码日韩一区| 欧美日韩免费| 亚洲激情区| 一本大道无码日韩精品影视| 亚洲中文在线视频| 亚洲无码精品在线播放| 丝袜国产一区| 婷婷激情五月网| 97在线公开视频| 丁香六月激情综合| 亚洲人在线| 欧美中日韩在线| 亚洲AV无码乱码在线观看代蜜桃| 国产在线观看成人91| 色呦呦手机在线精品| 中文字幕第4页| 1769国产精品视频免费观看| 国国产a国产片免费麻豆| 久久久受www免费人成| 2020精品极品国产色在线观看| 久久久91人妻无码精品蜜桃HD| 国产在线一二三区| 欧美福利在线观看| 91色爱欧美精品www| 色综合五月| 伊人久久大香线蕉综合影视| 91口爆吞精国产对白第三集| 99热这里只有精品5| 五月丁香在线视频| 免费毛片在线| 国产亚洲精品91| 伊人成色综合网| 日韩经典精品无码一区二区| 国产成人做受免费视频| 色老二精品视频在线观看| 国产视频自拍一区| www.99在线观看| 91精品免费高清在线| 国产在线精品99一区不卡| 欧美无专区| 超碰精品无码一区二区| 狠狠色丁香婷婷| 九色视频一区| 亚洲综合天堂网| 99久久精彩视频| 免费一级毛片在线观看| 草逼视频国产| 在线播放精品一区二区啪视频| 天天色综合4| 萌白酱国产一区二区| 国产爽妇精品| 区国产精品搜索视频| 一本大道无码高清| 久久久久无码国产精品不卡| 欧美成人午夜在线全部免费| 国产精品夜夜嗨视频免费视频| 韩日午夜在线资源一区二区| 伊人久久久久久久| 婷婷在线网站| 高清无码手机在线观看| 亚洲第一视频网站| 亚洲一级毛片在线播放| 精品人妻系列无码专区久久| 亚洲永久免费网站| 久久99热这里只有精品免费看| 伊人久热这里只有精品视频99| 欧美综合在线观看| 国产精品亚洲精品爽爽| 巨熟乳波霸若妻中文观看免费| AV天堂资源福利在线观看| 午夜日本永久乱码免费播放片| 都市激情亚洲综合久久|