胡鑫
摘 ? 要:本文主要討論ABB S+ DCS系統與S7-200 SMART PLC之間通過MODBUS RTU協議進行實時通信在火電廠輔機系統中的應用,主要介紹了MODBUS協議的類型、主要內容、報文格式以及校驗方式;S7-200 SMART PLC Modbus通信的尋址方式;ABB S+ DCS尋址方式;串口服務器的硬件配置以及軟件組態。
關鍵詞:Modbus協議 ?ABB S+ DCS ?S7-200 SMART PLC
中圖分類號:TP273 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2019)09(b)-0123-05
Abstract: This article mainly discusses the application of real-time communication between ABB S + DCS system and S7-200 SMART PLC through MODBUS RTU protocol in auxiliary system of thermal power plant. It mainly introduces the types, main contents, message format and verification mode of MODBUS protocol, addressing mode of S7-200 SMART PLC Modbus communication, addressing mode of ABB S + DCS; Hardware configuration and software configuration of serial server.
Key Words: Modbus protocol; ABB S + DCS; S7-200 SMART PLC
某百萬千瓦電廠主機各系統采用ABB S+ DCS系統進行控制。在當前環保壓力下,為了實現脫硫廢水零排放,在原有脫硫公用系統中增加了脫硫廢水零排放系統。該系統主要仍采用DCS進行控制,但是系統中部分壓縮機設備由廠家整體提供,其控制器采用的是S7-200 SMART PLC。雖然壓縮機在運行時并不需要人為進行干預,但是為了運行人員啟停設備以及監視壓縮機設備的運行狀況,必然需要通過某種方式將壓縮機的運行數據送至集控室DCS系統進行顯示和操作。該廠采用了MODBUS RTU協議實現了DCS系統與PLC之間的數據交互。
1 ?Modbus協議簡介
Modbus 網絡是一個工業通信系統,由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統結構既包括硬件、亦包括軟件。它可應用于各種數據采集和過程監控。從物理層連接方式上來講,Modbus可分為基于串口的Modbus RTU、Modbus ASCII和基于網線的Modbus TCP/IP方式。對與Modbus ASCII和RTU兩種方式,在同樣的波特率下,ASCII比RTU傳輸的數據量要小。Modbus TCP/IP是一種將Modbus協議作為應用層協議,TCP作為傳輸層協議,IP作為網絡層協議,502作為服務端口的方式。
1.1 Modbus報文結構
Modbus RTU通訊采用主-從方式,即Modbus主站發出數據請求消息,從站端接收到準確的信息后,根據主站的數據請求內容,將主站所需的數據發送至主站以響應主站的請求,此外,主站也可以使用不同的功能碼直接修改從站寄存器中的數據,從而實現雙向讀寫。Modbus主站查詢的報文格式為從站地址、功能碼、起始寄存器地址、查詢的數據長度、錯誤校驗。從站的響應報文格式為從站地址、功能碼、數據長度、數據、錯誤校驗。其報文結構如圖1所示。
1.2 Modbus功能碼
一般來講,常用的數據類型有布爾型、整型、字符型、浮點型。在工業控制過程中為了實現對就地設備的自動化控制,我們就需要對不同的類型的數據進行讀寫操作。因此,Modbus協議中定義了不同功能的功能碼來滿足人們的需求,這樣的話,主從站就可以實現對各自不同地址的寄存器進行不同的操作。由于協議中定義的功能碼較多,在此只列出工業控制中最常用的幾種功能碼。常用功能碼的定義如表1所示。
1.3 Modbus地址結構
Modbus地址由5位數字組成,包括起始的數據類型代號,以及后面的偏移地址。Modbus地址定義和可以使用的功能碼如表2所示。
2 ?系統結構及串口服務器組態
2.1 系統結構
由于脫硫廢水零排放系統為新增系統且主要控制部分仍采用DCS進行控制,因此該系統只采用了單回路通信。其通信回路首先是壓縮機控制器S7-200 SMART PLC通過串口連接到Moxa NPort5630,然后NPort再通過網線連接到ABB DCS系統操作網交換機。PLC的通信數據首先是由DCS系統接口服務器進行數據采集,然后再通過A、B兩個冗余的交換機將數據送至DCS服務器目的節點。其系統結構如圖2所示。
2.2 串口服務器組態
串口服務器提供串口轉網絡功能,能夠將RS-232/485/422串口轉換成TCP/IP網絡接口,實現RS-232/485/422串口與TCP/IP網絡接口的數據雙向透明傳輸。使得串口設備能夠立即具備TCP/IP網絡接口功能,連接網絡進行數據通信。本工程中使用的串口服務器為Moxa NPort5630。其配置步驟如下。
(1)NPORT裝置上電,根據項目設置要求在液晶指示屏設置好IP地址;
(2)安裝NPORT ADMINISTRATOR 軟件;
(3)安裝完畢后,運行Nport Administrator, 使用Broadcast search功能找到設好IP地址的NPORT:
(4)右鍵單擊搜索到的NPORT并從快捷菜單中選中Configure;
(5)選中Configure seiral選項卡,將串口基本參數設置為:波特率:9600;數據位:8;停止位:1;奇偶校驗:無;串口別名:COM1,然后設置operating mode為Real COM。
(6)使用COM MAPPING 將虛擬串口映射到計算機串口,選擇要使用的端口,在高級設置選項卡中設置 tx mode: Classical, 同時勾選 Fast Flush:選擇Apply, 將端口設置存入Nport。
(7)Nport5630通訊接口為RJ45接口,其中8根線中5對應RS485的Data-;6對應RS485的Data+;7對應RS485的GND。
3 ?S7-200SMART PLC組態
S7-200 SMART PLC的PORT0端口的針腳8對應RS485的Data+;針腳3對應RS485的Data-;1對應RS485的GND。為了實現PLC和與Nport串口服務器實現硬件連接,就需要將PLC的串口的8、3、1分別與串口服務器網線的6、5、7連接起來,然后再進行軟件組態。
3.1 S7-200 SMART PLC Modbus RTU從站尋址
在通信過程中,我們需要對PLC CPU的寄存器進行讀寫操作,那么就需要將Modbus地址映射到CPU地址,對于S7 200SMART PLC來講,其映射關系是00001至00256映射到Q0.0-Q31.7的離散量輸出;10001至10256是映射到I0.0-I31.7的離散量輸入;30001至30056是映射到 AIW0- AIW110的模擬量輸入寄存器;40001至49999和 400001 至465535是映射到V存儲器的保持寄存器。
3.2 S7-200 SMART PLC Modbus RTU從站組態
開始組態S7-200 SMART Modbus從站前首先應在組態軟件項目樹中雙擊PLC CPU,將RS485端口地址設置為:11;波特率設置為:9.6Kbps。
通過以上設置后,我們就可以開始PLC從站組態啦,其組態步驟如下:
(1)在組態通信邏輯前,要先確認安裝的STEP7 MICRO/WIN SMART組態軟件是否自帶Modbus通訊庫文件,若沒有則需要下載庫文件后,將庫文件放到C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib目錄下,在STEP7 MICRO/WIN SMART組態軟件中鼠標右鍵單擊項目樹的“庫”節點,并從快捷菜單中選擇“刷新庫”。
(2)在梯形圖中添加庫指令MBUS_INIT,并用SM0.1特殊寄存器使能。將MBUS_INIT指令塊各引腳設置如圖3所示。
其中Mode設置成Modbus協議;地址設置為11;波特率設置為9600;奇偶校驗為無;使用端口設置成0(即CPU自帶RS485接口);延時設置為0;Modbus可用的最大IQ點數為256;可用的AI寄存器數為56;Modbus可訪問的V區存儲器起始地址為VB2000。PLC的VW2000字存儲器對應到Modbus的地址為40001保持寄存器。
(3)用SM0.0特殊寄存器使能MBUS_SLAVE指令。
(4)在項目樹中右鍵單擊程序塊,選中庫存儲器,為Modbus RTU Slave庫分配780個字節的存儲區。
(5)為了更好的理解PLC通信邏輯組態過程,我們只以蒸汽壓縮機進口溫度為例。為了減小通信的數據量,我們將蒸汽壓縮機進口溫度AI經過標度變換后的模擬量實際值經過放大取整,然后通過MOV指令將處理過的整型數據寫入到VW2000存儲器中。這樣的話PLC端的邏輯組態就完成了。
4 ?ABB S+ DCS組態
4.1 ABB S+ DCS簡介
ABB S+ DCS系統結構簡潔,控制平臺可擴展性高。為了實現全廠自動化,DCS系統配備了有不同類型驅動軟件的接口服務器,通過使用接口服務器便可實現和PLC控制系統的通信。
4.2 接口機驅動設置
為了和S7 200 SMART PLC實現通信功能,首先要在接口服務器中添加Modbus驅動,其驅動添加步驟如下:
(1)在windows操作系統注冊表中添加Modbus RTU的驅動接口,其操作方法為打開ABB廠家提供的驅動注冊表模板并修改注冊表文件中串口參數和驅動名(本工程命名為Modbus_F7)后直接進行注冊。此外也可以使用S+ Operation中scanmonitor執行軟件的NEW DRIVER功能進行添加。這樣添加的話同樣需要設置串口名稱(應與Nport中使用的串口一致)并設置波特率為9600、數據位為8、校驗位為無停止位為1(與PLC串口設置一致)。
(2)配置好驅動程序后使用scanmonitor軟件的Start TntScanner功能找到新加的驅動,然后右鍵單擊該驅動并選擇Rigester,將Active選項設置為YES來激活該驅動(見圖4)。
4.3 S+DCS通信標簽介紹
在和PLC建立連接后,需要在DCS組態軟件中添加標簽。添加標簽前應了解標簽選項卡中各子選項的含義。ABB DCS系統通信標簽Acquisition選項卡字段定義見表3所示。
其中標簽的信號類別字段設置為1時可表示該標簽對應的Modbus信號為離散量輸出或者保持寄存器,可使用的功能碼為1和3;該值設為0時,表示該標簽對應的Modbus信號為為離散量輸入或者輸入寄存器,可使用的功能碼為2和4。數據類型字段設置為1是表示該數據的數據類型為整型數據。
4.4 DCS標簽組態
為了更好的理解DCS系統中Modbus RTU通信標簽的組態過程,我們以蒸汽壓縮機的進口溫度為例。
(1)新建通訊標簽,設置標簽General選項卡中的標簽名,然后選擇該標簽Source為EXT外部變量
(2)設置該標簽對應的Modbus驅動名為Modbus_F7;從站地址設置為11;寄存器地址設置為0;數據類型設置為1;信號類別設置為1;其它選項用默認數值即可。如圖5所示。
(3)前面已經提過,PLC送過來的數據是經過放大后的整型數據,為了得到真實的數據,在DCS側就應該做相應的縮小。這時候我們需要通過 S+ Operations 相應標簽的參數卡ALMLEVEL字段HIGH INSTRUMENT LIMT和 LOW INSTRUMENTLIMT 按實際量程來填,然后在 CONVERSION 字段里的 VAL0和 SPAN 按需要放大的倍數來填。
5 ?結語
ABB S+ DCS系統與S7200 SMART PLC之間的通信已經完成。蒸汽壓縮機就地控制柜觸摸屏上的數據和DCS系統操作員站的數據完全一致,運行人員可以很好的對蒸汽壓縮機的數據進行監控,解決了新增非DCS系統無法監控的難題。
參考文獻
[1] 趙釗. 基于Modbus協議的DCS系統與PLC系統的通訊[J]. 節能技術,2011,29(168):340.
[2] EN-1801-MODBUS RTU NPORT設置及MODSIMMODSCAN測試.
[3] EN-1212-S+Operations SV1.1 TC2 Modbus RTU settings.