《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于Modbus TCP協議實現PC機與PLC的串行通信
基于Modbus TCP協議實現PC機與PLC的串行通信
摘要: 本文對modbustcp協議以及modbustcp串行通信在智能樓宇工程中的應用作了簡單介紹,重點分析研究了modbustcp讀取plc的保持寄存器數據的過程,并提出實現modbustcp協議通信的解決方案,進行編程以及調試,成功實現了預期的功能。
Abstract:
Key words :

1  引言

                
   智能樓宇工程中的中央空調、電梯、通風、給排水、照明、火災報警等個子系統的互聯方案中,采用modbus tcp協議的串行通信方式,全面兼容modbus工業標準,數據傳輸可靠,響應速度快,擴展靈活,通過互聯網實現各子系統與中央管理系統的通信。modbus tcp協議是在tcp/ip標準中,應用層采用工業領域事實標準modbus。modbus使用tcp/ip應用層的502端口,這是經過國際公認的。該串行總線方式支持各種介質的rs-232、rs-422、rs-485接口。modbus tcp的網絡通信模式采用client/server方式,如圖1所示。

            圖1  modbus tcp的網絡通信模式
           


2  modbus tcp串行通信分析與實現
               
  某智能樓宇中各子系統主要采用plc作為主控模塊,如圖2所示。網絡互聯采用modbus tcp網絡通信模式,中央管理系統與該網絡的互聯是亟待解決的問題,plc將智能樓宇中各子系統的相關狀態和參數信息保存于它的寄存器中,中央管理系統需要讀取plc中一些保持寄存器的數值,以此來進行智能樓宇的全面監控與管理。modbus tcp協議提供了相應指令來進行保持寄存器的讀取。

            圖2  智能樓宇系統示意圖
           


  2.1 協議分析
               
  modbus tcp數據報文結構,如圖3所示。

            圖3  modbus tcp數據報文結構
          

    
  一次modbus tcp讀取保持寄存器的通信分析(省略了ip/tcp頭):從左向右分析該數據報文:00 03為此次通信編號,一般每次通信之后將被要求加1以區別不同的通信數據報文;00 00表示協議標識符,00 00為modbus協議;00 06為數據長度,用來指示接下來數據的長度,單位字節;03為設備地址,用以標識連接在串行線或者網絡上的遠程服務端的地址。以上七個字節也被稱為modbus報文頭。03為功能碼,此時代碼03為讀取保持寄存器數據。00 00 00 01為功能碼的參數,指示將被讀取的保持寄存器的地址與長度。從左向右分析該數據報文:00 03為此次通信編號,應答報文要求與先前對應的請求保持一致;00 00為協議標識符,00 00表示modbus協議;00 05為數據長度,用來指示接下來數據的長度,單位字節;03為設備地址,應答報文要求與先前對應的請求保持一致。以上七個字節同樣為modbus報文頭。03為功能碼,正常情況下應答報文要求與先前對應的請求保持一致,如果出錯則返回80h+先前的功能碼。02為功能碼的第一個參數,指示接下來數據的字節長度;00 17為被讀取的保持寄存器中的數據值,即要求被讀取的地址為00 00的保持寄存器中的數值為0017h。

  測試程序(master)發送數據(hex)及 plc(modbus tcp slave) 響應數據(hex)樣例分析如圖4所示。

            圖4  程序發送/接收數據包樣例分析
           
 

  2.2 程序流程
               
  以下是主程序的流程圖,如圖5所示,主要功能是建立tcp/ip連接以及連接錯誤處理。modbus tcp協議的每一次工作循環的流程圖,如圖6所示。

            圖5  主程序流程圖

            圖6  一次工作循環流程圖

  2.3 程序測試
               
  首先在ip中填上需要被連接的服務端ip地址,然后點擊connect進行連接。連接成功后,在offset中填寫需要讀取的保持寄存器的開始地址,在length中填寫需要讀取的保持寄存器的長度。最后點擊trigger讀取一次上述保持寄存器,同時將在sent和received中顯示發送及收到的數據報文(hex),并且在data monitor中顯示對這些報文的解釋。
           
3  結束語
               
  本文對modbus tcp協議以及modbus tcp串行通信在智能樓宇工程中的應用作了簡單介紹,重點分析研究了modbus tcp讀取plc的保持寄存器數據的過程,并提出實現modbus tcp協議通信的解決方案,進行編程以及調試,成功實現了預期的功能。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99精品一区二区免费视频| 亚洲va久久久噜噜噜久久狠狠| 青青在线国产视频| 国产高清精品入口91| 中文字幕不卡在线| 最近中文字幕在线mv视频7| 人妻av一区二区三区精品| 艾粟粟小青年宾馆3p上下| 国产精品久久久久久久久| bban女同系列022在线观看| 无码内射中文字幕岛国片| 亚洲AV色香蕉一区二区三区蜜桃 | 真实调教奇优影院在线观看| 国产国产人免费视频成69堂| 67pao强力打造67194在线午夜亚洲| 宅男666在线永久免费观看| 久久久婷婷五月亚洲97号色| 欧美一级做一a做片性视频| 亚洲美女中文字幕| 精品精品国产高清a级毛片| 国产大学生粉嫩无套流白浆| 2019亚洲午夜无码天堂| 大香网伊人久久综合网2020| 两性色午夜视频免费网 | 日韩电影免费观看| 亚洲欧洲日产国码无码久久99| 窝窝午夜看片七次郎青草视频| 国产一级黄色网| 国产精品2019| 国产精品永久久久久久久久久| chinese国产xxxx实拍| 成人国产永久福利看片| 久久婷婷五月综合色精品| 欧美亚洲欧美日韩中文二区| 亚洲精品无码你懂的| 精品中文字幕一区在线| 国产69精品久久久久9999 | 我要看黄色一级毛片| 久久精品国产99国产精品| 欧美成人免费一级人片| 亚洲精品福利你懂|