葉海燕
隨著計算機控制領域深刻的技術變革,控制系統結構向網絡化、開放性方向發展已成為一種趨勢。網絡通訊是控制系統的重要組成部分,通訊狀態直接關系到控制系統的運行效果。以太網作為目前應用最為廣泛的局域網技術,在工業自動化和過程控制領域得到了越來越多的應用。目前寶鋼有多套西門子控制系統,控制系統PLC與監控系統HMI采用以太網TCP/IP通訊。
故障在線檢測系統在現代社會具有至關重要的作用,PLC和PC作為其檢測控制的重要設備,相互之間具有很強的互補性,一般搭配使用。故障在線檢測系統以“狀態監測”為指導思想,通過現場獲取設備運行的實時狀態信號,然后對狀態信號進行分析和處理,得出系統故障狀態,判斷設備性能劣化趨勢,并制定出相應對策和處理方法,其中前端數據采集設備和后端數據處理設備之間的通訊是其關鍵部分,兩者之間通訊的實現方法及通訊完成后的數據解碼直接影響到系統的精度和可靠性。目前西門子Wincc平臺開發的上位機軟件可以通過實時顯示窗口判斷網絡通訊的狀態,即上位機(PC)與下位機(PLC)通訊是否正常,但并沒有提供一個網絡通訊是否正常的變量可以直接應用在程序當中,即通訊狀態無法參與系統控制。
馬跡山區域電網有功沖擊負荷動態控制系統由3臺置于中央控制操作室的上位機(HMI)、1臺置于電氣室的控制器(PLC)、5臺置于卸船機上的數據采集遠程I/O站和多臺網絡設備組成。其控制系統網絡結構如圖1所示。

圖1 控制系統網絡結構圖
頂層的系統上位機HMI監控采用Simens公司組態軟件平臺Wincc開發,具有完備的組態開發環境和調試環境[1];中層的控制系統采用可編程邏輯控制器來實現系統動態有功實時控制模型,具體產品為Simens公司S7-300系列PLC硬件和STEP7開發軟件平臺,用戶程序中包括了位邏輯計數器、定時器、復雜數學運算器以及與其它智能模塊通訊等指令內容,能夠控制各種設備以滿足自動化控制需求[2];底層數據采集系統為安裝在五臺卸船機上的控制遠程I/O站,用于采集該控制系統所需要的現場設備信號。
本系統上位機PC與中央控制器PLC之間的通訊方式為工業以太網,PLC與遠程I/O站之間的通信方式為現場總線Profibus。
馬跡山區域電網有功沖擊負荷動態控制系統需根據PC與PLC的通訊狀態判斷進行有功沖擊負荷動態控制。系統控制方式設計為遠程自動控制、本地自動控制和本地手動控制三種,這三種控制方式具有互斥性,每次操作只能選擇一種控制方式。在通訊正常時,系統可以進行所有電網運行方式的選擇和設備數據上傳顯示,當通訊故障時顯示故障報警同時限制電網運行方式不能選擇遠程自動方式。
所有通訊狀態正常前提下,選擇遠程自動控制方式,電網運行和調相方式、基本負荷、沖擊負荷等所有控制和顯示用數據均由PLC采集上傳,系統根據PLC上傳數據進行計算和判斷,自動進行有功沖擊動態負荷控制,不需要任何人工操作。
當PC-PLC通訊正常,有部分遠程I/O站與主PLC通訊異常時,選擇本地自動控制方式,人工手動輸入運行和調相方式以及電網基本負荷值,系統根據手工輸入數據進行系統仿真,進行計算和判斷后,自動進行有功沖擊動態負荷控制。
PC-PLC通訊異常情況下,選擇本地手動控制方式,根據現場工況和港區沖擊負荷輸入選擇區間、方向限制、沖擊限制的要求,人工手動輸入方向限制、沖擊限制原則以及電網沖擊負荷限值。系統根據手工輸入數據進行仿真、計算和判斷,根據手工輸入控制方式進行有功沖擊動態負荷控制。
馬跡山港負荷波動激烈,短時峰值很大,且正峰與負峰交錯,可能出現峰值疊加的情況,因此,有功沖擊負荷動態控制系統和監控系統均要求響應快、穩定性好。在原控制系統設計中,監控系統與控制系統之間的通訊是雙向的,PLC主要接收上位機PC端傳來的參數與指令,同時反饋狀態信息和上位機監控所需要的參數實時數據。基于Wincc軟件平臺開發的監控系統能根據通訊狀態實時進行數據顯示,但并沒有提供一個網絡通訊是否正常的變量參與系統控制,一旦通訊故障,上位機所顯示的現場設備數據會一直保持斷線以前的數值,不能反映真實設備狀態和自動進行控制方式切換,導致區域電網因沖擊負荷造成電壓和頻率惡性下降,并可能導致系統崩潰,嚴重影響生產。
針對原馬跡山區域電網有功沖擊負荷動態監控系統中網絡通訊不能參與控制的問題,基于Wincc平臺開發了PC-PLC通訊狀態在線檢測功能,通過編程將PC與PLC之間的通訊狀態、PLC與遠程I/O站之間的通訊狀態分別以變量的形勢表現出來,并參與有功沖擊負荷控制方式組態控制,保證了數據信號傳輸的實時準確性,同時也避免了因通訊故障導致控制系統不能反映實時設備狀態和自動進行控制方式切換從而影響生產事故發生。
馬跡山區域電網有功沖擊負荷動態控制系統在控制過程中經常需要判斷PC-PLC通訊狀態,并需要有直接反映通訊狀態的變量參與系統控制。基于Wincc平臺開發的PC-PLC通訊狀態在線檢測技術,就是利用Wincc全局腳本編程將網絡通訊狀態以變量的形式表現出來,參與系統控制和監控顯示。具體實現方式是在Wincc上位機軟件中創建一個全局腳本,定義一個變量A用于表示PC與PLC之間的通訊狀態。腳本函數編程示例如下:
#include"apdefap.h"
int gscAction(void)
{
#define plc"plcdushu"
#define A"A"
static old=0,count=0;
if(GetTagSDWordWait(plc)==old)
{old=GetTagSDWordWait(plc);
if(count>5)
SetTagBit(A,FALSE);
elsecount++;
}
else
{old=GetTagSDWordWait(plc);
SetTagBit(A,TRUE);
count=0;
}
return 0;
}
上述腳本程序實現的功能是:PLC通過一個數據傳輸點發出一個遞增的函數值(plcdushu);old變量用來存儲plcdushu的更新前的數值;當兩者相等表明傳上來的數據沒有發生變化(即plcdushu變量沒有增加),count記數加1,根據現場設備狀態情況考慮,當掃描兩者相等超過5次的話(即count>5),認為通訊中斷,HMI輸出0。否則,表明通訊正常,HMI輸出 1,count清零。
在馬跡山區域電網有功沖擊負荷動態控制系統的程序中設定一個中間變量M1對應于通訊狀態參數Wincc變量A,參與控制方式選擇程序編制。對于不同通訊狀態下進行有功沖擊負荷動態控制方式選擇的控制邏輯流程圖如圖2所示。

圖2 動態控制方式選擇邏輯控制圖
在馬跡山區域電網有功沖擊負荷動態監控系統中組態通訊狀態監測顯示功能,用不同網絡鏈路顏色動態顯示PC-PLC、PLC-I/O站之間的通訊狀態,并根據通訊狀態顯示不同控制方式下可操作的中控按鈕。網路通訊監控畫面如圖3所示。

圖3 網絡通訊監控畫面
基于Wincc平臺PC-PLC通訊狀態在線檢測技術,采用Wincc全局腳本方便靈活地實現了PLC和PC機的通訊狀態監測,將原本內置與Wincc軟件平臺的通訊監測功能外化為可參與控制的參數,實現了馬跡山區域電網有功沖擊負荷動態監控系統中上位機監控畫面HMI實時顯示系統的通訊狀態,并根據不同的通訊狀態動態調整有功沖擊負荷控制策略和選擇馬跡山港電網作業工作方式,確保了正常情況下馬跡山電網有功沖擊負荷控制系統的穩態穩定運行。
本系統基于西門子軟硬件平臺開發,具有較強的通用性和可擴展性,具有很好的推廣應用價值,可廣泛應用于控制測試領域,特別適合三電一體化的控制系統通訊監測解決方案。
[參 考 文 獻]
[1]蘇昆哲.深入淺出西門子Wincc V6[M].北京:北京航空航天出版社,2004:148-166.
[2]張平.PLC應用開發技術與工程實踐(第1版)[M].北京:人民郵電出版社,2008:25-35.