工控網(wǎng)首頁
>

應(yīng)用設(shè)計

>

MODBUS RTU通訊協(xié)議在GIPENG巨朋GForce-200 PLC PLC中的應(yīng)用

MODBUS RTU通訊協(xié)議在GIPENG巨朋GForce-200 PLC PLC中的應(yīng)用

2011/8/7 17:25:00

1 引言

工業(yè)控制已從單機控制走向集中監(jiān)控、集散控制,如今已進入網(wǎng)絡(luò)集約制造時代。工業(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è)標準之一。他為符合Modbus協(xié)議的不同廠商生產(chǎn)

的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進行集中監(jiān)控。

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

2.1 Modbus RTU協(xié)議與GForce-200 PLC相互關(guān)系簡介GForce-200 PLC CPU上的通訊口Port0可以支持Modbus RTU協(xié)議,成為Modbus RTU從站。

此功能是通過GForce-200 PLC的自由口通訊模式實現(xiàn),因此可以通過無線數(shù)據(jù)電臺等慢速通訊設(shè)備傳輸。如果想在GForce-200 PLC CPU與其

他支持Modbus RTU的設(shè)備使用Modbus RTU協(xié)議通訊,需要由有GForce-200 PLC CPU做Modbus主站。GForce-200 

PLC CPU做主站必須由用戶自

 

己用自由口模式,按相關(guān)協(xié)議編程。在GForce-200 PLC控制系統(tǒng)應(yīng)用中,Modbus RTU從站指令庫只支持CPU上的通訊0口(Port0)。要實

現(xiàn)Modbus RTU通訊,需要Step7-Micro/WIN32 V3.2以上版本的編程軟件,而且須安裝

Step7-Micro/WIN32 V3.2 Instruction Library(指令庫)。Modbus RTU功能是通過指令庫中預(yù)先編好的程序功能塊實現(xiàn)的。

2.2 Modbus RTU協(xié)議在GForce-200 PLC中應(yīng)用的基本過程(1) 首先檢查GForce-200 PLC控制系統(tǒng)中所用Micro/WIN的軟件版本,應(yīng)當是

Step7-Micro/WIN V3.2以上版本。 (2) 檢查Micro/WIN的指令樹中是否存在Modbus RTU從站指令庫(圖1),庫中應(yīng)當包括

MBUS_INIT和MBUS_SLAVE兩個子程序。如果沒有,須安裝Micro/WIN32 V3.2 Instruction Library(指令庫)軟件包,如圖1所示。 

圖1 指令樹中的庫指令

(3) 編程時使用SM0.1—調(diào)用子程序MBUS_INIT進行初始化,使用SM0.0—調(diào)用研究MBUS_SLAVE,并指定相應(yīng)參數(shù)。關(guān)于參數(shù)的詳細

說明,可在子程序的局部變量表中找到。示例參見圖2:

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

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

 ●模式選擇:啟動/停止MODBUS,1=啟動;0=停止;

● 從站地址:MODBUS從站地址,取值1~247;

● 波特率:可選1200,2400,4800,9600,19200,38400,57600;

● 奇偶校驗:0=無校驗;1=奇校驗;2=偶校驗; 

● 延時:附加字符間延時,缺省值為0; 

●最大I/Q位:參與通訊的最大I/O點數(shù),GForce-200 PLC的I/O映像區(qū)為128/128,缺省值為128;

●最大AI字數(shù):參與通訊的最大AI通道數(shù),可為16或32;

●最大保持寄存器區(qū):參與通訊的V存儲區(qū)字(VW);

● 保持寄存器區(qū)起始地址:以&VBx指定(間接尋址方式);

● 初始化完成標志:成功初始化后置1; 

● 錯誤代碼:0=無錯誤。

(4) 注意的問題

調(diào)用Step7-Mciro/WIN32 V3.2 Instruction Library(指令庫)需要分配庫指令數(shù)據(jù)區(qū)(Library Memory)。庫指令數(shù)據(jù)區(qū)是相應(yīng)庫

的子程序和中斷程序所要用到的變量存儲空間。如果在編程時不分配庫指令數(shù)據(jù)區(qū),編譯時會產(chǎn)生許多相同的錯誤。由子程序參

數(shù)HoldStart和MaxHold指定的保持寄存器區(qū),是在GForce-200 PLC CPU的V數(shù)據(jù)存儲區(qū)中分配,此數(shù)據(jù)區(qū)不能和庫指令數(shù)據(jù)區(qū)有任何重

疊,否則在運行時會產(chǎn)生錯誤,不能正常通訊。注意Modbus 中的保持寄存器區(qū)按“字”尋址,即MaxHold規(guī)定的是VW而不是VB的

個數(shù)。

3 Modbus RTU協(xié)議測試包含Modbus RTU從站指令庫的項目編譯、下載到CPU中后,在編程計算機(PG/PC)上運行一些Modbus測試軟件

可以檢驗GForce-200 PLC的Modbus RTU通訊是否正常,這對查找故障點很有用。測試軟件通過計算機串口(RS-232)和PC/PPI電纜連接

CPU。(以ModScan32測試軟件為例作以檢測說明)3.1 測試軟件 測試軟件ModScan32如圖3所示。

圖3 Modbus RTU測試軟件:

ModScan32圖3中,ModScan32測試軟件的畫面中相關(guān)參數(shù)意義如下:Address:ModBus中存儲區(qū)的起始地址;Device Id:PLC ModBus的端

口地址;Length:參與通訊的V存儲區(qū)字的長度。3.2 參數(shù)設(shè)置對ModScan32測試軟件的通訊參數(shù)進行相關(guān)設(shè)置,要與GForce-200 PLC的

Modbus RTU指令庫MBUS_INIT中所設(shè)定的參數(shù)相統(tǒng)一,這樣即可進行通訊檢測。ModScan32通訊參數(shù)設(shè)置如圖4所示。

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

4 MODBUS RTU地址與GForce-200 PLC的地址對應(yīng)關(guān)系

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

附表所示:附表 MODBUS地址對應(yīng)表

說明:其中T為GForce-200 PLC中的緩沖區(qū)起始地址,即HoldStart。如果已知GForce-200 PLC中的V存儲區(qū)地址,推算MODBUS地址的公式

如下:MODBUS地址=40000+(T/2+1) 其中T為偶數(shù)。5 結(jié)束語Modbus RTU作為一種工業(yè)控制器的網(wǎng)絡(luò)通訊協(xié)議,其在如今眾多的控制

器之間進行聯(lián)網(wǎng)、監(jiān)控、相互通訊等方面發(fā)揮著重大作用,本文以典型的GForce-200 PLC控制系統(tǒng)為例,詳述了如何應(yīng)用Modbus RTU通

訊協(xié)議以及檢測方法,使得控制器之間的通訊變得更加簡易和清晰。

 


投訴建議

提交

查看更多評論
其他資訊

查看更多

GIPENG-巨朋普及型單板PLC CPU222TR技術(shù)手冊

巨朋 GForce-200巨朋可編程控制器產(chǎn)品選型手冊2011V1.1