日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> plc軟件使用 >> 正文

MODBUS RTU通訊協議在S7-200中的應用

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2019-01-03

1 引言
工業控制已從單機控制走向集中監控、集散控制,如今已進入網絡集約制造時代。工業控制器連網也為網絡管理提供了方便。Modbus就是工業控制器的網絡協議中的一種。Modbus協議是應用于電子控制器上的一種通訊約規。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成為主流的工業標準之一。他為符合Modbus協議的不同廠商生產的控制設備可以連成工業網絡,進行集中監控。

2 Modbus RTU協議在S7-200中的應用原理
2.1 Modbus RTU協議與S7-200相互關系簡介
S7-200 CPU上的通訊口Port0可以支持Modbus RTU協議,成為Modbus RTU從站。此功能是通過S7-200的自由口通訊模式實現,因此可以通過無線數據電臺等慢速通訊設備傳輸。
如果想在S7-200 CPU與其他支持Modbus RTU的設備使用Modbus RTU協議通訊,需要由有S7-200 CPU做Modbus主站。S7-200 CPU做主站必須由用戶自己用自由口模式,按相關協議編程。
在S7-200控制系統應用中,Modbus RTU從站指令庫只支持CPU上的通訊0口(Port0)。要實現Modbus RTU通訊,需要Step7-Micro/WIN32 V3.2以上版本的編程軟件,而且須安裝Step7-Micro/WIN32 V3.2 Instruction Library(指令庫)。Modbus RTU功能是通過指令庫中預先編好的程序功能塊實現的。
2.2 Modbus RTU協議在S7-200中應用的基本過程
(1) 首先檢查S7-200控制系統中所用Micro/WIN的軟件版本,應當是Step7-Micro/WIN V3.2以上版本。
(2) 檢查Micro/WIN的指令樹中是否存在Modbus RTU從站指令庫(圖1),庫中應當包括MBUS_INIT和MBUS_SLAVE兩個子程序。如果沒有,須安裝Micro/WIN32 V3.2 Instruction Library(指令庫)軟件包,如圖1所示。

 

圖1 指令樹中的庫指令
(3) 編程時使用SM0.1—調用子程序MBUS_INIT進行初始化,使用SM0.0—調用研究MBUS_SLAVE,并指定相應參數。關于參數的詳細說明,可在子程序的局部變量表中找到。
示例參見圖2:

 

圖2 調用MODBUS通訊指令庫
圖2中參數意義如下:
●模式選擇:啟動/停止MODBUS,1=啟動;0=停止;
● 從站地址:MODBUS從站地址,取值1~247;
● 波特率:可選1200,2400,4800,9600,19200,38400,57600;
● 奇偶校驗:0=無校驗;1=奇校驗;2=偶校驗;
● 延時:附加字符間延時,缺省值為0;
●最大I/Q位:參與通訊的最大I/O點數,S7-200的I/O映像區為128/128,缺省值為128;
●最大AI字數:參與通訊的最大AI通道數,可為16或32;
●最大保持寄存器區:參與通訊的V存儲區字(VW);
● 保持寄存器區起始地址:以&VBx指定(間接尋址方式);
● 初始化完成標志:成功初始化后置1;
● 錯誤代碼:0=無錯誤。
(4) 注意的問題
調用Step7-Mciro/WIN32 V3.2 Instruction Library(指令庫)需要分配庫指令數據區(Library Memory)。庫指令數據區是相應庫的子程序和中斷程序所要用到的變量存儲空間。如果在編程時不分配庫指令數據區,編譯時會產生許多相同的錯誤。
由子程序參數HoldStart和MaxHold指定的保持寄存器區,是在S7-200 CPU的V數據存儲區中分配,此數據區不能和庫指令數據區有任何重疊,否則在運行時會產生錯誤,不能正常通訊。注意Modbus 中的保持寄存器區按“字”尋址,即MaxHold規定的是VW而不是VB的個數。

3 Modbus RTU協議測試
包含Modbus RTU從站指令庫的項目編譯、下載到CPU中后,在編程計算機(PG/PC)上運行一些Modbus測試軟件可以檢驗S7-200的Modbus RTU通訊是否正常,這對查找故障點很有用。測試軟件通過計算機串口(RS-232)和PC/PPI電纜連接CPU。
(以ModScan32測試軟件為例作以檢測說明)
3.1 測試軟件
測試軟件ModScan32如圖3所示。

 

圖3 Modbus RTU測試軟件:ModScan32
圖3中,ModScan32測試軟件的畫面中相關參數意義如下:
Address:ModBus中存儲區的起始地址;
Device Id:PLC ModBus的端口地址;
Length:參與通訊的V存儲區字的長度。
3.2 參數設置
對ModScan32測試軟件的通訊參數進行相關設置,要與S7-200的Modbus RTU指令庫MBUS_INIT中所設定的參數相統一,這樣即可進行通訊檢測。ModScan32通訊參數設置如圖4所示。

 

圖4 ModScan32通訊參數設置

4 MODBUS RTU地址與S7-200的地址對應關系
MODBUS地址總是以00001、30004之類的形式出現。S7-200內部的數據存儲區與MODBUS的0、1、3、4共4類地址的對應關系如附表所示:
附表 MODBUS地址對應表

 


說明:其中T為S7-200中的緩沖區起始地址,即HoldStart。
如果已知S7-200中的V存儲區地址,推算MODBUS地址的公式如下:
MODBUS地址=40000+(T/2+1)
其中T為偶數。

5 結束語
Modbus RTU作為一種工業控制器的網絡通訊協議,其在如今眾多的控制器之間進行聯網、監控、相互通訊等方面發揮著重大作用,本文以典型的S7-200控制系統為例,詳述了如何應用Modbus RTU通訊協議以及檢測方法,使得控制器之間的通訊變得更加簡易和清晰。

Tags:MODBUS通訊,S7-200,step7  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關文章列表
    西門子S7-200系列PLC在搬運機械手控制系統中的應用及梯形圖設計
    基于西門子S7-200與WinCC的加熱器測試系統設計
    S7-200 PLC在加工中心控制系統中的應用的梯形圖設計
    西門子 S7-200 PLC的皮帶運輸機控制編程實例
    梯形圖實例:用西門子plc S7-200編程的幾個實例的編程實例
    西門子S7-200 系列PLC量程轉換及編程方法
    西門子PLC S7-200常見的71個故障匯總及解決辦法
    西門子plc s7-200,PLC的爐窖溫度控制系統程序設計實例
    S7-200系列的基本邏輯指令
    西門子S7-200系列 PLC的數據存儲器尋址
    西門子S7-200系列PLC的位邏輯指令及應用(梯形圖、指令表、時序圖
    西門子PLC S7-200的程序結構:主程序、子程序、中斷程序
    西門子s7-200的輸入輸出端電源必須24v供電嗎?
    西門子S7-200 PLC如何通過自由口通信控制變頻器運行,發送指令XMT
    西門子s7-200PLC CPU自由口通信模式總結,XMT和RCV指令
    圖解 西門子STEP7程序的編寫
    西門子S7-200高速計數器、編碼器的應用!
    西門子STEP7有哪些基本數據類型 ? 如何使用
    西門子S7-200 PLC左移、右移指令編程梯形圖
    西門子S7-200控制步進電機編程實例,梯形圖實例
    STEP 7程序中絕對地址和符號尋址的定義與區別
    STEP7在STL編寫定時器程序編程方法
    西門子S7-200PLC編碼器測速方法
    STEP7中如何將自己寫得FC塊、FB塊放入庫中
    FC里的上升沿檢測指令為什么不起作用?
    FC塊的初始化程序怎么做
    西門子plc里fc功能塊應用
    西門子PLC如何顯示參考數據
    西門子PLC多重背景的使用舉例
    西門子PLC的S7-200左右移位問題
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    最新推薦
    熱門文章
    • 此欄目下沒有熱點文章
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢