張 然,鄭玉根
(馬鋼自動化工程公司,安徽馬鞍山 243011)
電力是鋼鐵企業(yè)消耗的主要能源之一。近年來,為實現(xiàn)我國經(jīng)濟的可持續(xù)性發(fā)展,國家提出科學發(fā)展觀,轉(zhuǎn)變粗放型的經(jīng)濟增長模式。落實節(jié)能減排政策更成為企業(yè)的一項重要任務(wù),企業(yè)紛紛上馬能源采集監(jiān)管系統(tǒng),其中基礎(chǔ)電量的采集成為其中的難點。
下文主要介紹使用PLC串口通訊卡采集電能表數(shù)據(jù)的方法。
通常一級采集系統(tǒng)使用的是計算機系統(tǒng),具有系統(tǒng)維護升級困難,對于網(wǎng)絡(luò)安全性要求高,穩(wěn)定性低的缺點,因而在南鋼與馬鋼一鋼軋的能源采集系統(tǒng)中選擇了PLC作為采集的一級系統(tǒng)。
電表與PLC的通訊方式通常有兩種,脈沖計數(shù)與協(xié)議通訊方式。
脈沖計數(shù)方式對于PLC數(shù)字量輸入模板的采集速度有要求當計量對象用電量很大時需要使用高速計數(shù)模板,而且傳輸過程中由于干擾等原因容易丟失脈沖日積月累誤差較大。協(xié)議通訊的方式,可保證采集數(shù)據(jù)與表內(nèi)計量數(shù)據(jù)的一致。支持常見PLC通訊協(xié)議如Profibus的電表多為進口電表,價格貴采購周期長,不符合國內(nèi)電量計量人員操作習慣,國內(nèi)現(xiàn)有新式電表都支持DL/T645國標的通訊協(xié)議,此協(xié)議在國內(nèi)電網(wǎng)系統(tǒng)中使用廣泛,是電表升級的首選。
最終采集子站的配置為S7300系列CPU一個,CP341串口通訊卡一個通過編程實現(xiàn)DL/T645協(xié)議支持,CP343以太網(wǎng)通訊卡一個作為與二級系統(tǒng)通訊的接口。
3.1.1 電氣協(xié)議
CP341與電表間采用EIA-485的方式連接,可以支持多點通訊,最大通訊距離1200m,在電表集中的區(qū)域安裝采集子站,電表以線形網(wǎng)絡(luò)的方式連接到EIA-485網(wǎng)絡(luò)中,CP341網(wǎng)卡為主站,對需要采集的數(shù)據(jù)發(fā)送請求消息,電表以應(yīng)答的方式將數(shù)據(jù)送至CP341。
3.2.1 字節(jié)格式
每字節(jié)含8位二進制碼,傳輸時加上一個起始位(0)、一個偶校驗位和一個停止位(1),共 11位。其傳輸序列如圖1。D0是字節(jié)的最低有效位,D7是字節(jié)的最高有效位。先傳低位,后傳高位。
字節(jié)格式見圖1所示。
圖1 字節(jié)格式
3.2.2 幀格式
通信鏈路的建立與解除均由主站發(fā)出的信息幀來控制。每幀由幀起始符、從站地址域、控制碼、數(shù)據(jù)域長度、數(shù)據(jù)域、幀信息縱向校驗碼及幀結(jié)束符7個域組成。每部分由若干字節(jié)組成。幀是傳送信息的基本單元。幀格式如圖 2所示。
圖2 幀格式
當傳輸數(shù)據(jù)時,所有通訊伙伴都必須遵守一套用于處理和實現(xiàn)數(shù)據(jù)通訊的固定規(guī)則。ISO定義了一個7層模型,該模型被公認為是國際標準化傳輸協(xié)議的基礎(chǔ)。按ISO的OSI七層參考模型DL/T645通信協(xié)議主要涉及三層,物理層、鏈路層、應(yīng)用層。物理層:規(guī)定了數(shù)據(jù)終端通信接口之間的物理接口、接口的物理和電氣特性,負責物理媒體上信息的接收和發(fā)送。
數(shù)據(jù)鏈路層:負責數(shù)據(jù)終端之間通信鏈路的建立并以幀為單位傳輸信息,保證信息的順序傳送,具有傳輸差錯檢測功能。應(yīng)用層:利用數(shù)據(jù)鏈路層的信息傳遞功能,在數(shù)據(jù)終端設(shè)備之間發(fā)送、接收各種數(shù)據(jù)信息。
3.3.1 組態(tài)CP341通訊處理器
ASCII驅(qū)動程序通過通訊處理器和通訊伙伴之間的點對點連接控制數(shù)據(jù)傳輸。該驅(qū)動程序包含物理層(第1層)。在將完整的發(fā)送消息幀傳輸給通訊處理器的過程中,消息幀的結(jié)構(gòu)保持開放。對于接收方向,必須組態(tài)消息的結(jié)束標準。因而選擇CP341通訊協(xié)議為ASCII。
按照DL/T645對單個字節(jié)的定義對字節(jié)格式進行設(shè)置。Data為8位,一個停止位,校驗方式為偶校驗。
按照DL/T645對消息幀的定義,設(shè)置消息幀中字節(jié)允許的最長間隔時間為500ms,結(jié)束符為16H。
3.3.2 PLC端發(fā)送主站請求幀
PLC作為采集主站,一般不負責對電表的設(shè)置及維護操作,因而發(fā)送的請求指令通常為對各種電量的查詢指令。以讀取08175050號電表當前正向有功總電為例,需要發(fā)送的數(shù)據(jù)幀為“6850501708000068010243C39816”。在數(shù)據(jù)塊中建立14個字節(jié)的地址區(qū)填入數(shù)據(jù)幀編寫校驗程序,確保在發(fā)送數(shù)據(jù)前完成對校驗位的數(shù)據(jù)運算,調(diào)用功能塊FB 8“P_SND_RK”將請求幀由CP341發(fā)送至電表網(wǎng)絡(luò)。
3.3.3 PLC端接收應(yīng)答幀
FB 8正確發(fā)送請求幀后DONE返回值為1,當網(wǎng)絡(luò)上電表接收到CP341發(fā)送的請求幀后,電表表號與請求幀中吻合的電表做出相應(yīng),發(fā)送應(yīng)答幀至網(wǎng)絡(luò),CP341調(diào)用功能塊FB 7“P_RCV_RK”接收數(shù)據(jù)并由CP341的數(shù)據(jù)區(qū)傳送給PLC中由用戶指定的數(shù)據(jù)塊中。
前面兩節(jié)介紹了如何發(fā)送請求幀與接收應(yīng)答幀,但在RS485網(wǎng)絡(luò)上通常掛有多塊電表,由于CP341的通訊與PLC的CPU處理周期并不一致,同時多表抄表的過程中如何分配資源,如何對出錯訊息處理均需用戶編程實現(xiàn)。
使用FB功能塊編程,便于程序重復使用,如下圖所示每個采集站調(diào)用此功能塊時,只需在發(fā)送命令數(shù)據(jù)塊中填入地址,控制碼,數(shù)據(jù)長度和數(shù)據(jù)。制定需要發(fā)送的命令幀的數(shù)量,發(fā)送數(shù)據(jù)幀所在的DB塊,DB地址,抄表返回的數(shù)據(jù)存放的DB塊,DB地址,發(fā)送命令幀的間隔時間,通訊超時出錯的時間?!癙_SND_RK”、“P_RCV_RK”兩個 CP341內(nèi)部功能塊均在通訊功能塊內(nèi)部調(diào)用,他們的背景數(shù)據(jù)塊不再占用新的DB塊,包含在通訊功能塊內(nèi)部,整個程序占用的DB塊數(shù)量更少,程序結(jié)構(gòu)更加簡潔。如圖3所示。
圖3 通訊功能塊調(diào)用
通訊功能塊,程序時序圖如圖4所示
本程序在馬鋼股份公司第一鋼軋總廠LF爐電量考核系統(tǒng)中應(yīng)用,取代原有脈沖計數(shù)方法對電量進行記錄,項目投用一年來工作,解決了原系統(tǒng)計量誤差大的缺點。本程序也應(yīng)用于南鋼集團能源采集系統(tǒng)一級電量采集,對整個集團上百塊電表進行抄表工作,由于使用了功能塊編程,程序具有良好的通用性避免了重復編程,大大節(jié)約了現(xiàn)場調(diào)試時間,縮短了工期。
圖4 程序時序圖