西門(mén)子開(kāi)放式IE通訊在水電站監控系統中的應用
目前國內的水電站從最初的"集中控制、功能分散方式"到當今流行的"全分層分布開(kāi)放式運行方式",已全部采用計算機控制系統取代過(guò)去以繼電器常規控制方式,可實(shí)現"無(wú)人值班"(少人值守),大大提高了水電站的自動(dòng)化水平。一般整個(gè)水電站監控系統在物理上分為兩層:電站控制層和現地控制層。電站控制層(或稱(chēng)上位機系統)主要用于監控系統的組態(tài)、維護,水電站運行的監視、操作、信息管理、遠動(dòng)和優(yōu)化控制等?,F地控制層按控制對象分散方式一般設置為機組現地控制單元(LCU)、開(kāi)關(guān)站及公用現地控制單元(LCU)和閘門(mén)現地控制單元(LCU),現地控制單元(LCU)主要采用PLC完成控制對象的數據采集與處理、控制與調節、安全運行監視、事件順序記錄(SOE)、數據及網(wǎng)絡(luò )通訊等。
2、項目簡(jiǎn)介
湖南銅信溪水電站裝設三臺10MW水輪發(fā)電機組,整個(gè)監控系統采用"全分層分布開(kāi)放式運行方式",上位機系統設置二套操作員工作站、一套工程師工作站和一套通訊工作站,現地控制層設置三套機組LCU、一套開(kāi)關(guān)站及公用LCU和一套閘門(mén)LCU。LCU主要采用西門(mén)子S7-300集成PROFINET接口的CPU315-2PN/DP模塊,通過(guò)編程實(shí)現Modbus/TCP協(xié)議與上位機系統通訊;同時(shí)配置相應的數字量輸入/輸出模塊和模擬量輸入模塊,完成機組、開(kāi)關(guān)站、公用和閘門(mén)等設備的控制與調節。具體網(wǎng)絡(luò )結構如圖1所示。
圖1:湖南銅信溪水電站網(wǎng)絡(luò )結構
3、CPU315-2PN/DP模塊及Modbus/TCP協(xié)議
CPU315-2PN/DP是西門(mén)子2004年底推出的一款高性?xún)r(jià)比S7-300 CPU。通過(guò)集成的通信接口(MPI/DP,PN),該CPU可直接連接MPI網(wǎng)絡(luò )、Profibus-DP網(wǎng)絡(luò )、開(kāi)放式工業(yè)以太網(wǎng),以及基于工業(yè)以太網(wǎng)技術(shù)的新一代現場(chǎng)總線(xiàn)PROFINET。該CPU的推出,進(jìn)一步增強了S7-300 PLC的通信功能,使S7-300連接以太網(wǎng)的成本大大降低,并為PROFINET技術(shù)的普及提供了強有力支持。集成的IE/PROFINET接口支持多種通訊服務(wù):基于PROFINET的開(kāi)放通訊 (PROFINET IO, PROFINET CBA)、S7 通訊、開(kāi)放式IE通訊、SIMATIC NET OPC Server和PG/OP通訊。本項目就是采用開(kāi)放式IE通訊編程實(shí)現Modbus/TCP協(xié)議與水電站上位機系統通訊。軟硬件版本為V2.3.0 或更高、帶有集成PROFINET接口的CPU,均支持開(kāi)放式IE 通訊,其具有不占用CPU連接資源、最多可建立八個(gè)TCP/IP連接,完全基于開(kāi)放式TCP/IP協(xié)議、可與第三方設備在以太網(wǎng)上進(jìn)行通訊等優(yōu)點(diǎn)。
Modbus/TCP協(xié)議是簡(jiǎn)單的、中立廠(chǎng)商的用于管理和控制自動(dòng)化設備的Modbus系列通訊協(xié)議的派生產(chǎn)品。Modbus/TCP協(xié)議是一種面向TCP連接的協(xié)議,只有在建立了TCP連接后,才能以半雙工的方式進(jìn)行數據交換。Modbus/TCP協(xié)議結構要求請求和響應帶有六個(gè)字節的前綴,具體結構如下:
byte 0: 事務(wù)處理標識符 -通常為 0
byte 1: 事務(wù)處理標識符 -通常為 0
byte 2: 協(xié)議標識符= 0
byte 3: 協(xié)議標識符= 0
byte 4: 長(cháng)度字段 (上半部分字節) = 0 (所有的消息長(cháng)度小于256)
byte 5: 長(cháng)度字段 (下半部分字節) = 后面字節的數量
byte 6: 單元標識符 (原"從站地址")
byte 7: MODBUS 功能代碼
byte 8:寄存器地址(高字節)
byte 9:寄存器地址(低字節)
byte 10:寄存器數量(高字節,固定為0)
byte 11:寄存器數量(低字節)
byte 12:后面數據字節數量-----寫(xiě)寄存器時(shí)有效
byte 13:寄數據1(高字節)-----寫(xiě)寄存器時(shí)有效
byte 14:寄數據1(低字節)-----寫(xiě)寄存器時(shí)有效
需要注意的是Modbus/TCP協(xié)議所有的請求都是通過(guò)端口號502發(fā)送的,而CPU315-2PN/DP模塊的端口號只能設置為2000至5000。
4、軟件實(shí)現
4.1編程指令說(shuō)明
1) FB63"TSEND":用于發(fā)送數據
2) FB64"TRCV":用于接收數據
3) FB65"TCON":用于建立連接
4) FB66"TDISCON":用于斷開(kāi)連接
5) UDT65"TCON_PAR":包括組態(tài)連接屬性的數據結構
以上功能塊(FB)包含在Standard Library > Communication Blocks庫中。
開(kāi)放式IE通訊只能通過(guò)TCP/IP 建立以太網(wǎng)連接,通訊是面向連接的,只有與通訊伙伴建立了連接后才能傳送數據。
要編程建立連接,需要創(chuàng )建一個(gè)包含UDT65"TCON_PAR"數據結構的數據快(DB)。該數據結構包含建立連接所需的所有參數,需要為每個(gè)連接創(chuàng )建一個(gè)這樣的數據結構。一個(gè)連接建立之后,將受到 CPU 的監控,如果中間發(fā)生了中斷,則自動(dòng)嘗試重新建立連接。
4.2 程序執行過(guò)程
整個(gè)以太網(wǎng)通訊程序分成以下五個(gè)部分:
1) 初始化
初始化程序在OB100中執行,主要設置連接ID、CPU315-2PN/DP端口號、上位機系統中操作員工作站IP地址和開(kāi)始等待建立連接標志(FB65_REQ=1)。
2) 建立連接
由開(kāi)始等待建立連接標志(FB65_REQ=1)調用FB65等待上位機系統中操作員工作站請求建立連接。如果上位機系統中操作員工作站請求建立了連接,且FB65被無(wú)錯誤執行建立了連接(FB65_DONE=1),設置開(kāi)始接收數據標志(FB64_EN_R=1)和復位開(kāi)始等待建立連接標志(FB65_REQ=0)。如果上位機系統中操作員工作站沒(méi)有請求建立連接或請求建立了連接FB65執行后有錯誤發(fā)生,則程序不做任何處理,還是等待建立連接。
評論