技術(shù)頻道

      西門子開放式IE通訊在水電站監(jiān)控系統(tǒng)中的應(yīng)用

      1 引言

      目前國內(nèi)的水電站從最初的“集中控制、功能分散方式”到當(dāng)今流行的“全分層分布開放式運(yùn)行方式”,已全部采用計(jì)算機(jī)控制系統(tǒng)取代過去以繼電器常規(guī)控制方式,可實(shí)現(xiàn)“無人值班”(少人值守),大大提高了水電站的自動化水平。一般整個水電站監(jiān)控系統(tǒng)在物理上分為兩層:電站控制層和現(xiàn)地控制層。電站控制層(或稱上位機(jī)系統(tǒng))主要用于監(jiān)控系統(tǒng)的組態(tài)、維護(hù),水電站運(yùn)行的監(jiān)視、操作、信息管理、遠(yuǎn)動和優(yōu)化控制等。現(xiàn)地控制層按控制對象分散方式一般設(shè)置為機(jī)組現(xiàn)地控制單元(LCU)、開關(guān)站及公用現(xiàn)地控制單元(LCU)和閘門現(xiàn)地控制單元(LCU),現(xiàn)地控制單元(LCU)主要采用PLC完成控制對象的數(shù)據(jù)采集與處理、控制與調(diào)節(jié)、安全運(yùn)行監(jiān)視、事件順序記錄(SOE)、數(shù)據(jù)及網(wǎng)絡(luò)通訊等。

      2 項(xiàng)目簡介

      湖南銅信溪水電站裝設(shè)三臺10MW水輪發(fā)電機(jī)組,整個監(jiān)控系統(tǒng)采用“全分層分布開放式運(yùn)行方式”,上位機(jī)系統(tǒng)設(shè)置二套操作員工作站、一套工程師工作站和一套通訊工作站,現(xiàn)地控制層設(shè)置三套機(jī)組LCU、一套開關(guān)站及公用LCU和一套閘門LCULCU主要采用西門子S7-300集成PROFINET接口的CPU315-2PN/DP模塊,通過編程實(shí)現(xiàn)Modbus/TCP協(xié)議與上位機(jī)系統(tǒng)通訊;同時配置相應(yīng)的數(shù)字量輸入/輸出模塊和模擬量輸入模塊,完成機(jī)組、開關(guān)站、公用和閘門等設(shè)備的控制與調(diào)節(jié)。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

      圖1:湖南銅信溪水電站網(wǎng)絡(luò)結(jié)構(gòu)

      1湖南銅信溪水電站網(wǎng)絡(luò)結(jié)構(gòu)

      3 CPU315-2PN/DP模塊及Modbus/TCP協(xié)議

      CPU315-2PN/DP是西門子2004年底推出的一款高性價比S7-300 CPU。通過集成的通信接口(MPI/DP,PN),該CPU可直接連接MPI網(wǎng)絡(luò)、Profibus-DP網(wǎng)絡(luò)、開放式工業(yè)以太網(wǎng),以及基于工業(yè)以太網(wǎng)技術(shù)的新一代現(xiàn)場總線PROFINET。該CPU的推出,進(jìn)一步增強(qiáng)了S7-300 PLC的通信功能,使S7-300連接以太網(wǎng)的成本大大降低,并為PROFINET技術(shù)的普及提供了強(qiáng)有力支持。集成的IE/PROFINET接口支持多種通訊服務(wù):基于PROFINET的開放通訊 (PROFINET IO, PROFINET CBA)、S7 通訊、開放式IE通訊、SIMATIC NET OPC ServerPG/OP通訊。本項(xiàng)目就是采用開放式IE通訊編程實(shí)現(xiàn)Modbus/TCP協(xié)議與水電站上位機(jī)系統(tǒng)通訊。軟硬件版本為V2.3.0 或更高、帶有集成PROFINET接口的CPU,均支持開放式IE 通訊,其具有不占用CPU連接資源、最多可建立八個TCP/IP連接,完全基于開放式TCP/IP協(xié)議、可與第三方設(shè)備在以太網(wǎng)上進(jìn)行通訊等優(yōu)點(diǎn)。

      Modbus/TCP協(xié)議是簡單的、中立廠商的用于管理和控制自動化設(shè)備的Modbus系列通訊協(xié)議的派生產(chǎn)品。Modbus/TCP協(xié)議是一種面向TCP連接的協(xié)議,只有在建立了TCP連接后,才能以半雙工的方式進(jìn)行數(shù)據(jù)交換。Modbus/TCP協(xié)議結(jié)構(gòu)要求請求和響應(yīng)帶有六個字節(jié)的前綴,具體結(jié)構(gòu)如下:

      byte 0: 事務(wù)處理標(biāo)識符 –通常為 0

      byte 1: 事務(wù)處理標(biāo)識符 –通常為 0

      byte 2: 協(xié)議標(biāo)識符= 0

      byte 3: 協(xié)議標(biāo)識符= 0

      byte 4: 長度字段 (上半部分字節(jié)) = 0 (所有的消息長度小于256)

      byte 5: 長度字段 (下半部分字節(jié)) = 后面字節(jié)的數(shù)量

      byte 6: 單元標(biāo)識符 (原“從站地址”)

      byte 7: MODBUS 功能代碼

      byte 8:寄存器地址(高字節(jié))

      byte 9:寄存器地址(低字節(jié))

      byte 10:寄存器數(shù)量(高字節(jié),固定為0

      byte 11:寄存器數(shù)量(低字節(jié))

      byte 12:后面數(shù)據(jù)字節(jié)數(shù)量-----寫寄存器時有效

      byte 13:寄數(shù)據(jù)1(高字節(jié))-----寫寄存器時有效

      byte 14:寄數(shù)據(jù)1(低字節(jié))-----寫寄存器時有效

      需要注意的是Modbus/TCP協(xié)議所有的請求都是通過端口號502發(fā)送的,而CPU315-2PN/DP模塊的端口號只能設(shè)置為20005000。

      4 軟件實(shí)現(xiàn)

      4.1 編程指令說明

      CPU315-2PN/DP這一邊,不是通過NetPro設(shè)置通訊連接,而是通過編寫程序?qū)崿F(xiàn)。為了能通過用戶程序和其它與TCP/IP兼容的通訊伙伴通過開放式IE通訊實(shí)現(xiàn)交換數(shù)據(jù),STEP7V5.3+SP1或以上)提供了四個功能塊(FB)和一個用戶定義數(shù)據(jù)類型(UDT)用于組態(tài)連接和數(shù)據(jù)交換:

      1) FB63TSEND”:用于發(fā)送數(shù)據(jù)

      2) FB64TRCV”:用于接收數(shù)據(jù)

      3) FB65TCON”:用于建立連接

      4) FB66TDISCON”:用于斷開連接

      5) UDT65TCON_PAR”:包括組態(tài)連接屬性的數(shù)據(jù)結(jié)構(gòu)

      以上功能塊(FB)包含在Standard Library > Communication Blocks庫中。

      開放式IE通訊只能通過TCP/IP 建立以太網(wǎng)連接,通訊是面向連接的,只有與通訊伙伴建立了連接后才能傳送數(shù)據(jù)。

      要編程建立連接,需要創(chuàng)建一個包含UDT65TCON_PAR”數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)快(DB)。該數(shù)據(jù)結(jié)構(gòu)包含建立連接所需的所有參數(shù),需要為每個連接創(chuàng)建一個這樣的數(shù)據(jù)結(jié)構(gòu)。一個連接建立之后,將受到 CPU 的監(jiān)控,如果中間發(fā)生了中斷,則自動嘗試重新建立連接。

      4.2 程序執(zhí)行過程

      整個以太網(wǎng)通訊程序分成以下五個部分:

      1) 初始化

      初始化程序在OB100中執(zhí)行,主要設(shè)置連接IDCPU315-2PN/DP端口號、上位機(jī)系統(tǒng)中操作員工作站IP地址和開始等待建立連接標(biāo)志(FB65_REQ=1)。

      2) 建立連接

      由開始等待建立連接標(biāo)志(FB65_REQ=1)調(diào)用FB65等待上位機(jī)系統(tǒng)中操作員工作站請求建立連接。如果上位機(jī)系統(tǒng)中操作員工作站請求建立了連接,且FB65被無錯誤執(zhí)行建立了連接(FB65_DONE=1),設(shè)置開始接收數(shù)據(jù)標(biāo)志(FB64_EN_R=1)和復(fù)位開始等待建立連接標(biāo)志(FB65_REQ=0)。如果上位機(jī)系統(tǒng)中操作員工作站沒有請求建立連接或請求建立了連接FB65執(zhí)行后有錯誤發(fā)生,則程序不做任何處理,還是等待建立連接。

      3) 接收數(shù)據(jù)

      開始接收數(shù)據(jù)標(biāo)志(FB64_EN_R=1)調(diào)用FB64開始接收數(shù)據(jù)。如果上位機(jī)系統(tǒng)中操作員工作站發(fā)送了數(shù)據(jù),且被FB64被無錯誤接收后(FB64_BDR=1),則調(diào)用Modbus/TCP協(xié)議處理程序(FB74)對接收到的數(shù)據(jù)進(jìn)行判斷和處理。如果上位機(jī)系統(tǒng)中操作員工作站沒有發(fā)送數(shù)據(jù)或發(fā)生了數(shù)據(jù)FB64執(zhí)行后有錯誤發(fā)生,則程序不做任何處理,還是等待接收數(shù)據(jù)。

      4) Modbus/TCP協(xié)議處理

      首先判斷接收數(shù)據(jù)數(shù)量、寄存器地址和功能碼是否正確。如果正確,則進(jìn)行讀/寫數(shù)據(jù)處理,并準(zhǔn)備正確響應(yīng)所需數(shù)據(jù)。如果錯誤,則設(shè)置非法數(shù)據(jù)地址或非法功能碼標(biāo)志,并準(zhǔn)備錯誤響應(yīng)所需數(shù)據(jù)。程序執(zhí)行完成后設(shè)置發(fā)送數(shù)據(jù)標(biāo)志(FB63_REQ=1)和復(fù)位開始接收數(shù)據(jù)標(biāo)志(FB64_EN_R=0)。

      5) 發(fā)送數(shù)據(jù)

      開始發(fā)送數(shù)據(jù)標(biāo)志(FB63_REQ=1)調(diào)用FB63開始發(fā)送數(shù)據(jù)。不管發(fā)送完成是否正確,只要發(fā)送數(shù)據(jù)完成了就設(shè)置開始接收數(shù)據(jù)標(biāo)志(FB64_EN_R=1)和復(fù)位發(fā)送數(shù)據(jù)標(biāo)志(FB63_REQ=0),然后開始等待接收數(shù)據(jù)。

      4.3 程序塊

      為了實(shí)現(xiàn)CPU315-2PN/DP與水電站上位機(jī)系統(tǒng)中操作員工作站的數(shù)據(jù)交換,PLC需要下表1所示程序塊:

      <li id="qgsyw"><source id="qgsyw"></source></li>
    1. 程序塊

      說明

      OB100

      當(dāng)CPU重新啟動時,OB100被運(yùn)行。在該OB中設(shè)置連接ID、CPU端口號、操作員工作站IP地址和開始等待建立連接標(biāo)志。

      OB1

      在每個周期都運(yùn)行,主要調(diào)用以太網(wǎng)通訊控制程序(FB73)。

      FB63

      發(fā)送數(shù)據(jù)功能塊,由以太網(wǎng)通訊控制程序(FB73)調(diào)用。

      FB64

      接收數(shù)據(jù)功能塊,由以太網(wǎng)通訊控制程序(FB73)調(diào)用。

      FB65

      建立連接功能塊,由以太網(wǎng)通訊控制程序(FB73)調(diào)用。

      FB73

      以太網(wǎng)通訊控制程序,用于實(shí)現(xiàn)以太網(wǎng)的通訊控制。

      FB74

      Modbus/TCP協(xié)議處理程序,實(shí)現(xiàn)對接收到的數(shù)據(jù)進(jìn)行判斷、處理并準(zhǔn)備上傳所需數(shù)據(jù)。

      DB1

      用于存放遠(yuǎn)方遙控?cái)?shù)據(jù),從操作員工作站寫入的遙控?cái)?shù)據(jù)保存在該DB中。

      DB2

      用于存放遠(yuǎn)方遙調(diào)數(shù)據(jù),從操作員工作站寫入的遙調(diào)數(shù)據(jù)保存在該DB中。

      DB5

      用于存放遙信數(shù)據(jù),操作員工作站讀取的遙信數(shù)據(jù)保存在該DB中。

      DB6

      用于存放遙測數(shù)據(jù),操作員工作站讀取的遙測數(shù)據(jù)保存在該DB中。

      DB7

      用于存放定值數(shù)據(jù),操作員工作站讀取/寫入的定值數(shù)據(jù)保存在該DB中。

      DB8

      用于存放SOE數(shù)據(jù),操作員工作站讀取的SOE數(shù)據(jù)保存在該DB中。

      DB83

      FB73與操作員工作站1通訊背景數(shù)據(jù)塊。

      DB84

      FB73與操作員工作站2通訊背景數(shù)據(jù)塊。

      DB105

      具有2UDT65連接屬性的數(shù)據(jù)塊,該DB封裝了與操作員工作站1、2通訊的參數(shù)。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 精品一区二区三区在线观看l | 国产精品一级香蕉一区| 亲子乱AV视频一区二区| 日韩在线一区二区| 国产成人精品久久一区二区三区av| 亚洲一区二区三区亚瑟| 国产日韩精品一区二区三区在线 | 亚洲AV无码一区二三区| 免费无码A片一区二三区| 亚洲一区免费观看| 国产精品毛片一区二区三区| 精品理论片一区二区三区| 亚洲日韩AV无码一区二区三区人 | 日韩精品一区二区午夜成人版| 日韩一区二区三区射精| 女同一区二区在线观看| 国产成人一区二区三区电影网站| 人妻互换精品一区二区| 日本香蕉一区二区三区| 日本强伦姧人妻一区二区| 香蕉久久AⅤ一区二区三区 | 丝袜无码一区二区三区| 国产高清在线精品一区二区三区| 天堂不卡一区二区视频在线观看 | 亚洲一区二区三区高清视频| 天堂资源中文最新版在线一区| 国产一区二区在线视频| 亚洲一区二区三区四区视频| 无码国产精品一区二区免费I6| 又紧又大又爽精品一区二区| 亚洲一区精品伊人久久伊人| 亚洲国产成人一区二区三区 | 国产精品va一区二区三区| 色系一区二区三区四区五区| 国产亚洲自拍一区| 国产精品一区在线播放| 视频一区二区三区人妻系列| 亚洲熟妇av一区二区三区| 久久精品黄AA片一区二区三区 | 一本岛一区在线观看不卡| 亚洲韩国精品无码一区二区三区|
        <rt id="qgsyw"></rt>
        • <button id="qgsyw"><input id="qgsyw"></input></button>
        • <bdo id="qgsyw"></bdo>
          <table id="qgsyw"></table>