此次就西門子S7-300PLC與橫河CS30型DCS集散控制系統(tǒng)的之間通信,給大伙介紹如何實(shí)現(xiàn)Modbus和 Profibus-DP協(xié)議設(shè)備的相互通信、Modbus轉(zhuǎn) Profibus-DP網(wǎng)關(guān)PM-160在當(dāng)中的應(yīng)用,以及這兩種不同通信協(xié)議里的通信方式。
當(dāng)前PLC、DCS、智能儀表等已廣泛應(yīng)用到現(xiàn)場(chǎng)生產(chǎn)控制系統(tǒng)中,并發(fā)展到由這些設(shè)備相互協(xié)同、共同面向整個(gè)生產(chǎn)過程的分布式工業(yè)控制系統(tǒng)。此次就某水利站分布式控制系統(tǒng)項(xiàng)目,介紹 Modbus轉(zhuǎn)Profibus-DP協(xié)議網(wǎng)關(guān)設(shè)備的應(yīng)用。
一、系統(tǒng)組成
1、系統(tǒng)結(jié)構(gòu)
本系統(tǒng)構(gòu)成如下圖,其中省去了西門子S7-300PLC之外的其它現(xiàn)場(chǎng)級(jí)控制設(shè)備。系統(tǒng)上位機(jī)采用橫河CS3000型DCS集散控制系統(tǒng),實(shí)現(xiàn)對(duì)其整個(gè)水利項(xiàng)目進(jìn)行集中監(jiān)控。下位機(jī)之一采用的是西門子S7-300 PLC,用來實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)各種智能儀表,包括現(xiàn)場(chǎng)電機(jī)、智能開關(guān)、變頻器、傳感器等執(zhí)行、檢測(cè)設(shè)備的啟停控制、信息采集等操作。
在上圖所示系統(tǒng)結(jié)構(gòu)中,現(xiàn)場(chǎng)各種智能儀表(采用的是 Modbus協(xié)議或者各種非標(biāo)協(xié)議,接口為RS485、RS422或者RS232)都能夠通過通用串口( Modbus/RS-485/RS422/RS232)轉(zhuǎn) Profibus-DP網(wǎng)關(guān)PM160連接到西門子S7-300PLC。此時(shí),網(wǎng)關(guān)PN160在串口側(cè)的協(xié)議類型為 Modbus主站或者通用模式。
橫河DCS對(duì)西門子S7-300PLC的數(shù)據(jù)采集和監(jiān)控同樣需要使用通用串口( Modbus/Rs485/R5422/RS232)轉(zhuǎn) Profibus-DP網(wǎng)關(guān)PM-160,此時(shí),網(wǎng)關(guān)PM-160在串口側(cè)的協(xié)議類型為從站.
2、通信網(wǎng)絡(luò)組成
PROFIBUS現(xiàn)場(chǎng)總線通訊協(xié)議包括三個(gè)主要部分。
PROFIBUS DP:主站和從站之間采用輪循的通訊方式,主要應(yīng)用于自動(dòng)化系統(tǒng)中單元級(jí)和現(xiàn)場(chǎng)級(jí)通信。
PROFIBUS PA:電源和通信數(shù)據(jù)通過總線并行傳輸,主要用于面向過程自動(dòng)化系統(tǒng)中單元級(jí)和現(xiàn)場(chǎng)級(jí)通訊。
PROFIBUS EMS:定義了主站和主站之間的通訊模型,主要用于自動(dòng)化系統(tǒng)中系統(tǒng)級(jí)和車間級(jí)的過程數(shù)據(jù)交換。
2.1 Modbus協(xié)議
Modbus協(xié)議是一種適用于工業(yè)控制領(lǐng)域的主從式串口通訊協(xié)議,它采用查詢通訊方式進(jìn)行主從設(shè)備的信息傳輸,可尋址1-247個(gè)設(shè)備地址范圍。協(xié)議包括廣播查詢和單獨(dú)設(shè)備查詢兩種方式,二者區(qū)別就是廣播查詢不需要從設(shè)備回應(yīng)信息,主、從設(shè)備查詢通訊過程如下圖
Modbus協(xié)議有兩種傳輸模式:ASC模式和RTU模式。同波特率下,RTU模式較ASCⅡ模式能傳輸更多的數(shù)據(jù),所以工業(yè)網(wǎng)絡(luò)大都采用RTU模式。RTU模式下的信息傳輸報(bào)文格式如下圖:
它沒有起始位和停止位,而是由至少3.5個(gè)字符間隔時(shí)間作為信息的起始和結(jié)束標(biāo)志。信息幀所有字符位由16進(jìn)制字符0-9、AF組成。
2.2網(wǎng)絡(luò)構(gòu)成及硬件介紹
如圖1所示,在該系統(tǒng)設(shè)計(jì)中有兩個(gè)網(wǎng)絡(luò)使用了 Modbus轉(zhuǎn) Profibus- DP網(wǎng)關(guān)PM-160。網(wǎng)關(guān)在這兩個(gè)網(wǎng)絡(luò)中的作用不一樣,其中:
在上層網(wǎng)絡(luò)中(建立西門子S7-30PLC和橫河DCS連接通信), Modbus轉(zhuǎn) Profibus-DP網(wǎng)關(guān)PM-160在Modbus側(cè)做 Modbus從站,在 Profibus-DP側(cè)做從站,建立 Profibus-DP主站(西門子S7-300PLC)和Modbus主站的通信。
DCS通信部分采用橫河型號(hào)為ALR121的通信模塊,并配套橫河提供的 Modbus通信軟件包,該通信模塊最大通信數(shù)據(jù)容量為40字。通過網(wǎng)關(guān)配置軟件對(duì)PM-160進(jìn)行相關(guān)配置,將DCS的讀、寫指令及數(shù)據(jù)做相應(yīng)轉(zhuǎn)換、存儲(chǔ),并映射到西門子PLC的輸入、輸出映像區(qū),以實(shí)現(xiàn)對(duì)上下位機(jī)控制信息的實(shí)時(shí)傳輸。
在下層網(wǎng)絡(luò)中(建立西門子S7-300PLC和現(xiàn)場(chǎng)智能儀表的連接通信), Modbus轉(zhuǎn) Profibus- DP網(wǎng)關(guān)PM-160在 Modbus例做 Modbus主站,在 Profibus-DP側(cè)做從站,建立 Modbus從站(現(xiàn)場(chǎng)各種智能儀表、電機(jī)、智能開關(guān)、變頻器、傳感器等)與 Profibus-DP主站西門子S7-300PLC的通信。
二、 Modbus轉(zhuǎn) Profibus-DP網(wǎng)關(guān)PM-160的配置
1、 硬件配置
PM-160的 Profibus-DP從站地址可以通過網(wǎng)關(guān)的硬件旋碼開關(guān)或者配置按鈕來設(shè)置。旋碼開關(guān)有兩位,左側(cè)位設(shè)置地址高位(十位),右側(cè)位設(shè)置地址低位(個(gè)位)。通過撥碼開關(guān)可設(shè)置網(wǎng)關(guān)PM-160處于正常運(yùn)行狀態(tài)或者配置狀態(tài)。當(dāng)PM-160處于配置狀態(tài)時(shí),用戶可通過配套配置軟件設(shè)置相關(guān)讀寫命令和參數(shù)。
PM-160提供RS485、422、232三種串口, Modbus從站、主站設(shè)備以及用戶非標(biāo)串口設(shè)備可以通過這三種接口實(shí)現(xiàn)與網(wǎng)關(guān)PM-160的連接通訊。PM-160沒有內(nèi)置終端電阻,在進(jìn)行RS485通信時(shí),請(qǐng)注意在RS485總線終端各添加一個(gè)終端電阻(120歐姆)。
2、 軟件配置
1)、使用配套軟件設(shè)置PM-160的現(xiàn)場(chǎng)總新和子網(wǎng)相關(guān)參數(shù)和命令通過撥碼開關(guān)將PM-160設(shè)置為配置狀態(tài),打開安裝的配置軟件,當(dāng)實(shí)現(xiàn)PLC與DCS通信時(shí),子網(wǎng)協(xié)議類型設(shè)置為 Modbus從站,并設(shè)置串口通信波特率、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位、PM-160作為 Modbus從站的地址、通信接口。
其中,串口通信波特率、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位的設(shè)置應(yīng)該和所連接的 Modbus主站設(shè)備(DCS)一致。
當(dāng)實(shí)現(xiàn)PLC與Modbus設(shè)備通信時(shí),子網(wǎng)協(xié)議類型設(shè)置為Modbus主站,并設(shè)置串口通信參數(shù)、通訊傳輸模式、通信接口等。其中,串口通信參數(shù)的設(shè)置應(yīng)該和所連接的Modbus從站設(shè)備一致。
其中,上圖中的“節(jié)點(diǎn)-1”表示連接的從站設(shè)備地址為1,配置了“讀保持寄存器”和“預(yù)置多個(gè)寄存器”兩條命令,表示網(wǎng)關(guān)讀取了從站對(duì)應(yīng)地址的數(shù)據(jù),并且能夠輸出數(shù)據(jù)到Modbus從站設(shè)備,命令配置方法如下:
Modbus寄存器起始地址:用戶輸入目標(biāo)采集數(shù)據(jù)的 Modbus寄存器起始地址;
數(shù)據(jù)個(gè)數(shù):目標(biāo)數(shù)據(jù)的寄存器個(gè)數(shù)或者線圈條數(shù);
內(nèi)存映射起始地址: Modbus從站設(shè)備數(shù)據(jù)的對(duì)應(yīng)內(nèi)存緩沖區(qū)地址。
當(dāng)實(shí)現(xiàn)PLC與非標(biāo)協(xié)議設(shè)備通信時(shí),子網(wǎng)協(xié)議類型設(shè)置為通用模式,并設(shè)置串口通信參數(shù)、控制方式、通信接口等。其中,串口通信參數(shù)的設(shè)置應(yīng)該和所連接的非串口設(shè)備(現(xiàn)場(chǎng)智能儀表)一致,PM160支持的通用模式即透明傳輸模式。
2)、在STEP7中對(duì)網(wǎng)關(guān)PM-160進(jìn)行組態(tài)設(shè)置
在STEP7的硬件組態(tài)界面,導(dǎo)入PM-160對(duì)應(yīng)的GSD文件,把PM-160的配置文件添加到STEP7的設(shè)備配置庫中。用戶可在硬件組態(tài)界面找到注冊(cè)的設(shè)備:
Catalog->PROFIBUS?DP->Additional?Field?Devices->General->CONVERTER->PM-160。
將PM-160添加到STEP7的組態(tài)頁面后,可以插入相應(yīng)的數(shù)據(jù)塊進(jìn)行映像區(qū)地址映射。PM-160提供的數(shù)據(jù)塊如下:
推動(dòng)需要的輸入輸出數(shù)據(jù)塊到網(wǎng)關(guān)對(duì)應(yīng)的槽位。如下圖所示:
三、數(shù)據(jù)讀寫
1、DSC讀寫PLC數(shù)據(jù)
DSC作為Modbus主站通過PM-160讀寫PLC數(shù)據(jù),使用04功能碼讀數(shù)據(jù),對(duì)應(yīng)的寄存器起始地址為OH(30001H),使用10H(03H)功能碼寫數(shù)據(jù),對(duì)應(yīng)的寄存器起始地址為OH(40001H)。
2、PLC讀寫現(xiàn)場(chǎng)智能儀表數(shù)據(jù)
1)、PLC讀寫Modbus從站設(shè)備數(shù)據(jù)
PLC通過PM-160發(fā)送Modbus主站指令讀寫現(xiàn)場(chǎng)串口設(shè)備數(shù)據(jù)。映像區(qū)起始地址和網(wǎng)關(guān)內(nèi)存映射起始地址對(duì)應(yīng)關(guān)系如下:以下圖的配置為例。
2)、PLC讀寫非標(biāo)串口設(shè)備數(shù)據(jù)
PLC的輸出映射區(qū)前兩個(gè)字節(jié)分別表示發(fā)送的串口數(shù)據(jù)長(zhǎng)度和事務(wù)序列號(hào),其它為要發(fā)送的串口數(shù)據(jù)。事務(wù)序列號(hào)變化,PLC發(fā)送相應(yīng)長(zhǎng)度的串口數(shù)據(jù)
在該系統(tǒng)中, Modbus轉(zhuǎn) Profibus- DP網(wǎng)關(guān)PM160扮演了三種角色:
建立 Modbus主站和 Profibus- DP主站之間的連接通信( Modbus主站模式);
建立 Modbus從站和 Profibus- DP主站之間的連接通信( Modbus從站模式);
建立非標(biāo)串口設(shè)備和 Profibus-DP主站之間的連接通信(通用模式)。
自這個(gè)通信系統(tǒng)運(yùn)行以來整個(gè)系統(tǒng)通訊正常,有效保證了整個(gè)水利工程控制系統(tǒng)的正常運(yùn)行。使用 Modbus轉(zhuǎn)Profibus-DP網(wǎng)關(guān)可以極大地方便自動(dòng)化工業(yè)現(xiàn)場(chǎng)的控制和操作。