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