趙勁松,田 龍,司華良
(云南云天化股份有限公司紅磷分公司,云南 開(kāi)遠(yuǎn) 661600)
可編程邏輯控制器(programmable logic controller, PLC)作為一種廣泛使用的控制系統(tǒng),往往用于小單元裝置和關(guān)鍵設(shè)備機(jī)組的控制,可形成獨(dú)立的通信控制單元網(wǎng)絡(luò)。對(duì)流程化生產(chǎn)裝置而言,需要生產(chǎn)裝置各單元數(shù)據(jù)信息的互通互連,形成統(tǒng)一的生產(chǎn)操作控制體系。本文通過(guò)對(duì)Modbus通信協(xié)議數(shù)據(jù)交換原理的研究,利用數(shù)據(jù)通信的方法實(shí)現(xiàn)遠(yuǎn)程PLC與主控分散控制系統(tǒng)(distributed control system,DCS)的通信。
磷礦漿浮選技術(shù)改造項(xiàng)目自動(dòng)壓濾機(jī)裝置控制系統(tǒng)使用西門(mén)子S7-200 PLC為核心的邏輯控制系統(tǒng),采用Modbus_RTU通信協(xié)議建立與ABB Freelance2000 DCS之間的通信,把PLC數(shù)據(jù)引入到DCS操作畫(huà)面進(jìn)行監(jiān)控。
磷礦漿生產(chǎn)主裝置控制系統(tǒng)選用ABB Freelance2000(AC800F 現(xiàn)場(chǎng)總線(xiàn)版),配置了冗余的以太網(wǎng)模件E813E、Profibus-DP模件FI830F和串行接口模件FI820F。自動(dòng)壓濾機(jī)裝置控制系統(tǒng)采用的PLC為SIEMENS (西門(mén)子)SIMATIC S7-200,CPU為226CN,分別配置2塊DI/DO擴(kuò)展模塊(EM223)、1塊AI模塊(EM231)組成。
西門(mén)子S7-200 CPU-226CN PLC支持2個(gè)RS-485通信/編程口,具有點(diǎn)對(duì)點(diǎn)(point to point,PTP)通信協(xié)議、MPI通信協(xié)議和自由方式通信能力。Port0通信口支持Modbus RTU協(xié)議,成為Modbus RTU從站。此功能是通過(guò)S7-200的自由通信口模式實(shí)現(xiàn)。
1.2.1 Modbus通信協(xié)議簡(jiǎn)介
Modbus協(xié)議為MODICON 公司產(chǎn)品,是全球工業(yè)領(lǐng)域最流行的通信協(xié)議之一。MODBUS 協(xié)議已經(jīng)基本被工業(yè)自動(dòng)化設(shè)備,包括PLC、DCS、智能儀表等作為通信標(biāo)準(zhǔn)[1]。不同生產(chǎn)制造商的檢測(cè)控制設(shè)備均能夠通過(guò)此MODBUS 協(xié)議進(jìn)行數(shù)據(jù)交換,實(shí)現(xiàn)集中監(jiān)控。
1.2.2 通信系統(tǒng)硬件組成和連接方式
磷礦漿生產(chǎn)主裝置DCS的控制器AC800F單元使用了冗余的以太網(wǎng)模件E813E、Profibus-DP模件FI830F和串行接口模件FI820F。其中,以太網(wǎng)模件E813E用于連接操作員站和工程師站。Profibus-DP模件FI830用于控制器與S800 I/O站連接,進(jìn)而對(duì)主裝置的現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行采集。PLC與DCS的通信連接如圖1所示。
圖1 PLC與DCS的通信連接圖
①在PLC作為從站,對(duì)于S7200串口通信的組態(tài),先用MBUS-INIT指令使能和初始化Modbus通信,其只在第一個(gè)循環(huán)周期內(nèi)執(zhí)行一次[2-3]。編程時(shí)使用SM0.1調(diào)用子程序MBUS_INIT指令進(jìn)行初始化從站,并指定相應(yīng)參數(shù)。初始化從站框圖如圖2所示。
圖2 初始化從站框圖
Mode:輸入數(shù)值選擇通信協(xié)議;當(dāng)設(shè)置為1時(shí),將PLC的端口0指定為Modbus協(xié)議并啟用協(xié)議;當(dāng)設(shè)置為0時(shí),將PLC的端口0指定給PPI,并禁止Modbus協(xié)議。
Addr:指定PLC的從站地址,取值1~247。
Baud:波特率設(shè)置,可選1 200、2 400、4 800、9 600、19 200、38 400。
Parity:奇偶校驗(yàn),設(shè)置與Modbus主站奇偶校驗(yàn)一致。0=無(wú)校驗(yàn);1=奇校驗(yàn);2=偶校驗(yàn)。
Delay:附加字符間延時(shí),默認(rèn)值為0。
MaxIQ:參與通信的最大I/O點(diǎn)數(shù),默認(rèn)值為128。
MaxAI:參與通信的最大AI寄存器數(shù)目,0~32間數(shù)值設(shè)置。32用于CPU224、CPU226。
MaxHold:參數(shù)設(shè)置Modbus地址為保持寄存器數(shù)目(VW)。
HoldStart:參數(shù)為保持寄存器的起始地址(VB)。
Done:初始化成功后置1。
Error:錯(cuò)誤代碼,0=無(wú)錯(cuò)誤。
②編程時(shí)使用SM0.0調(diào)用MBUS_SLAVE指令,用于服務(wù)來(lái)自Modbus主站的請(qǐng)求。調(diào)用命令必須在每個(gè)循環(huán)周期都執(zhí)行,以便檢查和相應(yīng)Modbus請(qǐng)求。組態(tài)設(shè)置如圖3所示。
圖3 組態(tài)設(shè)置圖
Done:當(dāng)MBUS_SLAVE指令響應(yīng)Modbus請(qǐng)求時(shí)Done輸出接通,沒(méi)有服務(wù)請(qǐng)求時(shí)斷開(kāi)。
Error:輸出包含該指令的執(zhí)行結(jié)果。
③從站地址與S7-200的地址對(duì)應(yīng)。
Modbus地址是以00001、30004的形式出現(xiàn)。Modbus與S7-200數(shù)據(jù)存儲(chǔ)區(qū)對(duì)應(yīng)關(guān)系如表1所示。
表1 Modbus與S7-200數(shù)據(jù)存儲(chǔ)區(qū)對(duì)應(yīng)關(guān)系
表1中:T為S7-200中緩沖區(qū)的起始地址,即HoldStart
④ABB DCS的通信參數(shù)組態(tài)。
在系統(tǒng)硬件中插入串行接口模件,并設(shè)置Modbus RTU的通信參數(shù)。Modbus RTU串口通信的基本參數(shù)包括[3]:波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。其中,波特率表示的是傳輸速率,數(shù)據(jù)位一般默認(rèn)為8位,停止位一般設(shè)為1位,奇偶校驗(yàn)可選擇無(wú)奇偶校驗(yàn)、奇校驗(yàn)或偶校驗(yàn)。對(duì)于掛在同一條ModbusRTU串口通信總線(xiàn)上的所有節(jié)點(diǎn)來(lái)說(shuō),這些基本參數(shù)都必須一致。
⑤ABB DCS中讀取PLC通道數(shù)據(jù)的組態(tài)。
在系統(tǒng)項(xiàng)目樹(shù)中的FBD組態(tài)中插入MODBUS主讀多個(gè)線(xiàn)圈模塊,并設(shè)置Modbus的通信參數(shù)。設(shè)置參數(shù)包括:從站地址、讀取從站輸入、輸出數(shù)據(jù)類(lèi)型、數(shù)據(jù)長(zhǎng)度等。通過(guò)ABB CBF編程軟件中的FBD功能圖塊讀取到PLC的通信數(shù)據(jù)并進(jìn)行轉(zhuǎn)換,在人機(jī)界面上顯示。
MODBUS串行通信協(xié)議規(guī)定了消息、數(shù)據(jù)結(jié)構(gòu)、命令和應(yīng)答的方式。數(shù)據(jù)通信采用主從方式,主站發(fā)出數(shù)據(jù)請(qǐng)求消息,從站接收到正確消息后就可以發(fā)送數(shù)據(jù)到主站以響應(yīng)請(qǐng)求;主站也可以直接發(fā)送消息修改從站的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫(xiě)[4]。主-從查詢(xún)回應(yīng)周期如圖4所示。
圖4 主-從查詢(xún)回應(yīng)周期示意圖
Modbus RTU通信技術(shù)成熟可靠、開(kāi)放透明,企業(yè)應(yīng)用門(mén)檻低,組態(tài)方便、靈活。Modbus協(xié)議在化工企業(yè)中DCS與PLC通信得到廣泛應(yīng)用。但其也有缺點(diǎn):傳輸數(shù)據(jù)量大時(shí),通信速度很慢,滿(mǎn)足不了生產(chǎn)要求[5]。如果應(yīng)用Modbus TCP/IP協(xié)議,通過(guò)以太網(wǎng)通信可極大提高傳輸速率,應(yīng)用更為簡(jiǎn)便。
從磷礦漿尾礦自動(dòng)壓濾裝置S7-200 PLC與Freelance2000的通信情況來(lái)看,系統(tǒng)一直穩(wěn)定可靠,數(shù)據(jù)顯示、報(bào)警均正常。操作人員不僅可以很方便地在DCS操作畫(huà)面上看到壓濾機(jī)的各運(yùn)行參數(shù),而且可以在DCS上操作、查看各參數(shù)的歷史記錄(包括數(shù)字量及模擬量)。利用這一功能,還能有效地對(duì)壓濾機(jī)跳停事故進(jìn)行調(diào)查分析。該系統(tǒng)對(duì)優(yōu)化生產(chǎn)操作控制起到輔助作用,對(duì)其他類(lèi)似項(xiàng)目具有借鑒和推廣作用。