陳驍俊,連建國,徐忠義
(中廣核核電運(yùn)營有限公司,廣東 深圳 518000)
AlgoRex CS11系統(tǒng)為西門子生產(chǎn)的功能完善的火災(zāi)探測系統(tǒng),可通過編程實(shí)現(xiàn)復(fù)雜的設(shè)備聯(lián)動邏輯,然而在某些應(yīng)用場合中可能需要實(shí)現(xiàn)CS11系統(tǒng)與第三方遠(yuǎn)程系統(tǒng)交互應(yīng)用,具體如實(shí)現(xiàn)遠(yuǎn)程上位機(jī)對各個區(qū)域的火警監(jiān)控和設(shè)備控制,或集成到核電廠DCS系統(tǒng)中實(shí)現(xiàn)電廠安全防火分區(qū)內(nèi)的設(shè)備聯(lián)動控制,對此,西門子提供了相應(yīng)的CK11網(wǎng)關(guān)通信模塊和DMS7000通信架構(gòu)來實(shí)現(xiàn)AlgoRex CS11系統(tǒng)與第三方系統(tǒng)的通信功能,進(jìn)而實(shí)現(xiàn)擴(kuò)展應(yīng)用的能力,通過在DMS7000網(wǎng)絡(luò)中傳遞DMS7000消息報文、命令報文、時間報文,來實(shí)現(xiàn)對DMS7000架構(gòu)中的控制單元的狀態(tài)監(jiān)測和控制、對DMS7000單元中的各數(shù)據(jù)點(diǎn)的狀態(tài)變化監(jiān)測以及對DMS700中的控制單元的時間同步等功能。本文將舉例介紹如何實(shí)現(xiàn)S7-400 PLC與AlgoRex CS11系統(tǒng)中的CK1143的通信交互以及如何獲取到DMS7000數(shù)據(jù)報文[1]。
本文將以下圖1所示的系統(tǒng)配置和PLC硬件組態(tài)為例,介紹S7-400 PLC與AlgoRex CS11系統(tǒng)的通信的具體編程實(shí)現(xiàn),其中第三方系統(tǒng)為S7-400PLC,CS11系統(tǒng)的C-BUS總線上共有1個CC11控制器,PLC中使用CP441-2通信模塊和CS11系統(tǒng)C-BUS網(wǎng)絡(luò)的CK1143網(wǎng)關(guān)通信模塊通信,兩者之前主要通過傳遞DMS7000報文來實(shí)現(xiàn)AlgoRex CS11系統(tǒng)中各火警監(jiān)測數(shù)據(jù)點(diǎn)的信息交互,其中CK1143的DMS地址為110,CC11的DMS地址為111。

圖1 系統(tǒng)配置及PLC硬件組態(tài)示例
CK1143網(wǎng)關(guān)提供了將AlgoRex子系統(tǒng)集成到第三方系統(tǒng)的用戶接口,采用點(diǎn)對點(diǎn)串行通信,通信協(xié)議是基于ISO1745標(biāo)準(zhǔn)模式,采用物理層(Levle 1)、數(shù)據(jù)鏈路層(Level 2)、應(yīng)用層(Level 7)三層結(jié)構(gòu)[2]。對應(yīng)數(shù)據(jù)鏈接層其使用的命令字包括如下表1所示,傳輸塊分為線路監(jiān)控塊(UBL,在沒有數(shù)據(jù)報文傳輸時發(fā)送,用于進(jìn)行通信雙方數(shù)據(jù)連接監(jiān)控)、數(shù)據(jù)報文塊(UBT,包含了DMS7000通信架構(gòu)中的DMS7000報文)兩種,塊結(jié)構(gòu)分別如下表1,傳輸規(guī)則中的協(xié)議順序圖參考表2。

表1 控制字符表

表2 線路監(jiān)控塊結(jié)構(gòu)

表3 數(shù)據(jù)報文塊
對應(yīng)應(yīng)用層,在和任意一個AlgoRex單元通信前必須監(jiān)測其是否在線,CK11和CC11控制單元通過周期性發(fā)送在線報文(報文結(jié)構(gòu)為:Z

表5 輪詢程序表
在本文示例中,使用CP441-2模塊的Interface 2接口和CK1143連接,由于CK1143通信結(jié)構(gòu)對應(yīng)的物理層數(shù)據(jù)傳輸采用異步串行通信,半雙工模式,傳輸字符包含1位起始位、7位數(shù)據(jù)位、1奇偶校驗(yàn)位、2截止位;傳輸速率可選擇1200或2400波特。因此對應(yīng)CP441-2模塊的其硬件參數(shù)組態(tài)如下圖2所示。

圖2 CP441-2模塊參數(shù)及通信協(xié)議參數(shù)設(shè)置示意圖
在本文示例的軟件組態(tài)實(shí)現(xiàn)中,自定義兩個功能FC1和FC2,主要通過調(diào)用系統(tǒng)功能塊SFB12 BSEN和SFB13 BRCV實(shí)現(xiàn)CP441-2模塊的數(shù)據(jù)接收和發(fā)送,以接收CK1143傳輸?shù)臄?shù)據(jù)和發(fā)送數(shù)據(jù)到CK1143,并在S7-PLC實(shí)現(xiàn)程序中定義FB1功能塊,實(shí)現(xiàn)CP441-2對CK1143的輪詢和數(shù)據(jù)交互功能。通過在主程序OB1中調(diào)用FC1和FC2功能,以及FB1功能塊實(shí)現(xiàn)CP441-2和CK1143的通信交互。
FC1和FC2中分別調(diào)用SFB12和SFB13系統(tǒng)功能塊如下圖3所示,其中接收數(shù)據(jù)讀取到DB11,發(fā)送數(shù)據(jù)塊為DB21。
在自定義的FB1功能塊中,從FC1讀取的CK1143傳輸?shù)臄?shù)據(jù)塊DB11和需要在FC2中發(fā)送給CK1143的數(shù)據(jù)塊DB21作為FB1功能塊的輸入?yún)?shù),通過在功能塊中對DB11和DB21進(jìn)行數(shù)據(jù)分析和處理,實(shí)現(xiàn)CP441對CK1143的輪詢和數(shù)據(jù)交互功能,其程序處理流程主要包括圖4所示主流程、圖5所示的CK11/CC11在線監(jiān)測及啟動設(shè)備數(shù)據(jù)輪詢子流程、圖6/7所示的CK11/CC11輪詢子流程。通過上述流程處理,PLC程序?qū)@取得到的火警數(shù)據(jù)報文進(jìn)行處理,達(dá)到擴(kuò)展應(yīng)用的目的。

圖3 SFB12和SFB13調(diào)用示例圖

圖4 FB1功能塊主流程示意圖

圖5 CK11、CC11在線監(jiān)測及啟動設(shè)備數(shù)據(jù)輪詢子流程

圖6 CK11輪詢子流程示意圖

圖7 CC11輪詢子流程示意圖
在上述示例中介紹了S7-400 PLC如何獲取AlgoRex CS11火災(zāi)探測系統(tǒng)中的數(shù)據(jù)報文,在此基礎(chǔ)上,就可以在PLC中結(jié)合CS11系統(tǒng)中的火警配置文件,進(jìn)一步編程獲取CS11系統(tǒng)中各火警監(jiān)控探頭的異常狀態(tài)信息并進(jìn)行相應(yīng)數(shù)據(jù)處理,進(jìn)而實(shí)現(xiàn)火災(zāi)探測區(qū)域內(nèi)防火設(shè)備聯(lián)動控制、防火監(jiān)控等應(yīng)用擴(kuò)展,甚至還可以通過S7-400 PLC集成到電廠的DCS系統(tǒng)中,實(shí)現(xiàn)DCS內(nèi)對各廠房區(qū)域內(nèi)的火警控制和防火設(shè)備自動聯(lián)動等應(yīng)用[3]。