1 引言
    工業(yè)控制已從單機(jī)控制走向集中監(jiān)控、集散控制,如今已進(jìn)入網(wǎng)絡(luò)集約制造時(shí)代。工業(yè)控制器連網(wǎng)也為網(wǎng)絡(luò)管理提供了方便。Modbus就是工業(yè)控制器的網(wǎng)絡(luò)協(xié)議中的一種。Modbus協(xié)議是應(yīng)用于電子控制器上的一種通訊約規(guī)。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為主流的工業(yè)標(biāo)準(zhǔn)之一。他為符合Mo">

      技術(shù)頻道

      Modbus RTU協(xié)議在S7-200中的應(yīng)用

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

      2 Modbus RTU協(xié)議在S7-200中的應(yīng)用原理

      2.1 Modbus RTU協(xié)議與S7-200相互關(guān)系簡介
      S7-200 CPU上的通訊口Port0可以支持Modbus RTU協(xié)議,成為Modbus RTU從站。此功能是通過S7-200的自由口通訊模式實(shí)現(xiàn),因此可以通過無線數(shù)據(jù)電臺(tái)等慢速通訊設(shè)備傳輸。
      如果想在S7-200 CPU與其他支持Modbus RTU的設(shè)備使用Modbus RTU協(xié)議通訊,需要由有S7-200 CPU做Modbus主站。S7-200 CPU做主站必須由用戶自己用自由口模式,按相關(guān)協(xié)議編程。
      在S7-200控制系統(tǒng)應(yīng)用中,Modbus RTU從站指令庫只支持CPU上的通訊0口(Port0)。要實(shí)現(xiàn)Modbus RTU通訊,需要Step7-Micro/WIN32 V3.2以上版本的編程軟件,而且須安裝Step7-Micro/WIN32 V3.2 Instruction Library(指令庫)。Modbus RTU功能是通過指令庫中預(yù)先編好的程序功能塊實(shí)現(xiàn)的。

      2.2 Modbus RTU協(xié)議在S7-200中應(yīng)用的基本過程
      (1) 首先檢查S7-200控制系統(tǒng)中所用Micro/WIN的軟件版本,應(yīng)當(dāng)是Step7-Micro/WIN V3.2以上版本。
      (2) 檢查Micro/WIN的指令樹中是否存在Modbus RTU從站指令庫(圖1),庫中應(yīng)當(dāng)包括MBUS_INIT和MBUS_SLAVE兩個(gè)子程序。如果沒有,須安裝Micro/WIN32 V3.2 Instruction Library(指令庫)軟件包,如圖1所示。

      圖1 指令樹中的庫指令


      (3) 編程時(shí)使用SM0.1—調(diào)用子程序MBUS_INIT進(jìn)行初始化,使用SM0.0—調(diào)用研究MBUS_SLAVE,并指定相應(yīng)參數(shù)。關(guān)于參數(shù)的詳細(xì)說明,可在子程序的局部變量表中找到。
      示例參見圖2:

      圖2 調(diào)用MODBUS通訊指令庫

      圖2中參數(shù)意義如下:

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

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

      3.1 測(cè)試軟件
      測(cè)試軟件ModScan32如圖3所示。

      圖3 Modbus RTU測(cè)試軟件:ModScan32


      圖3中,ModScan32測(cè)試軟件的畫面中相關(guān)參數(shù)意義如下:

      Address:ModBus中存儲(chǔ)區(qū)的起始地址;
      Device Id:PLC ModBus的端口地址;
      Length:參與通訊的V存儲(chǔ)區(qū)字的長度。
      3.2 參數(shù)設(shè)置
      對(duì)ModScan32測(cè)試軟件的通訊參數(shù)進(jìn)行相關(guān)設(shè)置,要與S7-200的Modbus RTU指令庫MBUS_INIT中所設(shè)定的參數(shù)相統(tǒng)一,這樣即可進(jìn)行通訊檢測(cè)。ModScan32通訊參數(shù)設(shè)置如圖4所示。

      圖4 ModScan32通訊參數(shù)設(shè)置

      4 MODBUS RTU地址與S7-200的地址對(duì)應(yīng)關(guān)系
      MODBUS地址總是以00001、30004之類的形式出現(xiàn)。S7-200內(nèi)部的數(shù)據(jù)存儲(chǔ)區(qū)與MODBUS的0、1、3、4共4類地址的對(duì)應(yīng)關(guān)系如附表所示:
      附表 MODBUS地址對(duì)應(yīng)表

      說明:其中T為S7-200中的緩沖區(qū)起始地址,即HoldStart。
      如果已知S7-200中的V存儲(chǔ)區(qū)地址,推算MODBUS地址的公式如下:
      MODBUS地址=40000+(T/2+1)
      其中T為偶數(shù)。
      5 結(jié)束語
      Modbus RTU作為一種工業(yè)控制器的網(wǎng)絡(luò)通訊協(xié)議,其在如今眾多的控制器之間進(jìn)行聯(lián)網(wǎng)、監(jiān)控、相互通訊等方面發(fā)揮著重大作用,本文以典型的S7-200控制系統(tǒng)為例,詳述了如何應(yīng)用Modbus RTU通訊協(xié)議以及檢測(cè)方法,使得控制器之間的通訊變得更加簡易和清晰。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 国产免费播放一区二区| 亚洲日本一区二区三区在线不卡| 亚洲av片一区二区三区| 九九久久99综合一区二区| 另类ts人妖一区二区三区| 国产MD视频一区二区三区| 亚洲美女视频一区| 成人日韩熟女高清视频一区| 激情久久av一区av二区av三区| 无码视频一区二区三区在线观看| 成人无号精品一区二区三区| 国产精品视频第一区二区三区| 国产亚洲情侣一区二区无码AV| 国产裸体歌舞一区二区| 最新中文字幕一区二区乱码 | 精品久久一区二区| 国产综合无码一区二区三区| 精品一区二区三区中文| 国产精品无码亚洲一区二区三区 | 国产91大片精品一区在线观看| 久久se精品一区二区影院| 中文字幕乱码一区久久麻豆樱花| 日韩最新视频一区二区三| 3d动漫精品一区视频在线观看| 久久久久久免费一区二区三区 | 国产成人无码一区二区在线播放| 国产av福利一区二区三巨| 香蕉在线精品一区二区| 亚洲一区二区视频在线观看| 男人的天堂亚洲一区二区三区| 中文字幕在线无码一区| 国产一区二区三区夜色| 性色AV一区二区三区无码| 国精产品一区一区三区有限在线| 亚洲av无码片vr一区二区三区| 国产精品无码一区二区三区在| 无码AV一区二区三区无码| 亚洲AV无码一区二区三区系列| 国产精品高清一区二区人妖| 乱人伦一区二区三区| 一区 二区 三区 中文字幕|