1、系統(tǒng)簡介
《動力工段自控系統(tǒng)改造》項目是對南纖公司原有動力工段的自控系統(tǒng)進行改造和優(yōu)化。目標是充分利用原有軟硬件資源,用最少的投入獲得高效、安全的系統(tǒng)性能。
原動力工段包括:化水車間、冷凍空壓車間(簡稱動力車間)、軟水站及一二泵房車間,各自擁有自己的控制室。改造前,化水車間已采用了一套SIEMENS TI545 PLC 和兩臺全點的INTOUCH 操作站實現(xiàn)監(jiān)控,泵房車間也已采用了一套SIEMENS TI545 PLC 和兩臺256 點的INTOUCH 操作站實現(xiàn)監(jiān)控,動力車間除5 臺壓縮空氣干燥器采用GE 90-30PLC 控制外其余設(shè)備的監(jiān)控均用盤裝儀表實現(xiàn)。原動力工段系統(tǒng)結(jié)構(gòu)如下圖所示。
圖1 改造前的系統(tǒng)結(jié)構(gòu)
系統(tǒng)改造后,泵房車間和動力車間由原泵房車間的SIEMENS TI545 PLC 控制(需增加一些卡件),化水車間在原系統(tǒng)基礎(chǔ)上增加一些功能。將原有的兩臺全點INTOUCH 和一臺256 點INTOUCH 移入新設(shè)的集中控制室,實現(xiàn)三個車間的集中監(jiān)控,在化水車間設(shè)一臺256 點INTOUCH 操作站,供現(xiàn)場巡回檢查時使用。
同時系統(tǒng)通過一臺新設(shè)的數(shù)據(jù)及Web 服務器與公司管理網(wǎng)連接,公司和工段管理者可通過公司區(qū)域網(wǎng)獲取生產(chǎn)過程的數(shù)據(jù)和報表。
圖2 改造后的系統(tǒng)結(jié)構(gòu)
2、系統(tǒng)功能及特點
2.1 冗余的總線及操作站
系統(tǒng)包含2 臺全點的INTOUCH(SERVER1、SERVER2)和2 臺256 點的INTOUCH(CLIENT1、CLIENT2),SERVER1、SERVER2 分別通過各自的TIWAY 卡與化水、泵房的PLC 構(gòu)成兩條冗余的TIWAY 總線。CLIENT1、CLIENT2 則通過遠程變量訪問某臺全點INTOUCH 上的數(shù)據(jù)從而實現(xiàn)對現(xiàn)場的監(jiān)控。通常CLIENT1、CLIENT2只與SERVER1、SERVE2 中的一臺通訊,當發(fā)生通訊故障時會自動嘗試與另一臺SERVER 連接。INTOUCH 中的“通訊狀態(tài)”畫面顯示了各工作站、PLC 及總線的當前狀態(tài)。
圖3
圖中紅線表示操作站在線,黑色表示離線。在CLIENT1、CLIENT2 的“通訊狀態(tài)”畫面中,工程師可以手動切換CLIENT 與SERVER 的連接。
2.2 “瘦”操作站模式
256 點的CLIENT 通過遠程變量訪問全點的SERVER 從而訪問PLC,這樣CLIENT的變量配置不超過256點。同時系統(tǒng)運用了“分布式報警”和“分布式歷史趨勢”等功能,所有的報警記錄及歷史趨勢都存儲在全點的SERVER上,CLIENT上顯示的報警和歷史趨勢是從SERVER上獲得的。可以說,SERVER充當了INTOUCH服務器而CLIENT是一個INTOUCH 客戶端,只需較低的配置即可。當切換SERVER時,“分布式報警”和“分布式歷史趨勢”也跟著自動切換。
(1) “分布式報警”的設(shè)置
在INTOUCH 組態(tài)中需用“分布式報警”控件,在控件的報警查詢欄中輸入“\\SERVER1\INTOUCH!DONGLI”,SERVER1 為缺省連接的計算機名,DONGLI 表示INTOUCH 中的DONGLI 報警組(報警組包括DONGLI、HS)。在SERVER 的計算機屬性需選中“本機將提供報警”;而在CLIENT 的計算機屬性中需選中“本機將顯示報警”。運行時CLIENT 將通過函數(shù)切換與SERVER 的連接。
為了統(tǒng)一報警設(shè)置,我們將報警做在PLC 的報警模塊中通過對PLC 變量“AHA(報警上限)、AHHA(報警上上限)、ALA(報警下限)、ALLA(報警下下限)、APV(報警過程值)、AVF(報警狀態(tài)字)”的讀寫來判斷和設(shè)置報警。有報警發(fā)生時,只有SERVER 會將報警信息寫入報警記錄,SERVER2 在寫報警信息前先判斷SERVER1是否在運行,以免重復寫入。
(2) “分布式歷史趨勢”的設(shè)置(以SERVER1 為例)
在SERVER 的INTOUCH 組態(tài)中需將歷史數(shù)據(jù)的存放路徑設(shè)為INTOUCH 默認路徑。CLIENT 的INTOUCH 組態(tài)需在“分布式名稱管理器”中的“分布式歷史”里添加一項,供應器名稱為“SERVER1”,路徑為“\\SERVER1\D\NCFC2000S1”(工程路徑)即可。在CLIENT 中訪問SERVER1 的歷史數(shù)據(jù)需寫成“SERVER1.TAGNAME”。SERVER2 的設(shè)置與SERVER1 相同。
(3) 遠程變量的引用
在CLIENT 上使用遠程變量只需在變量名前加計算機名即可,無需在標記名字典中新建變量,所以不占點數(shù)。(SERVER:TAGNAME)
(4) 自動切換功能
CLIENT 通過遠程變量觀察SERVER 上的$Second 變量,若它在在一段時間內(nèi)無變化則表明與SERVER 的連接出現(xiàn)問題,這時可通過SetAccessName 函數(shù)將CLIENT 上的遠程變量切換到另一臺SERVER 上。
2.3 公用的操作窗口
系統(tǒng)中對于具有相同操作接口設(shè)備使用了公用的操作窗口,而不是對應每個設(shè)備都創(chuàng)建一個操作窗口,這樣大大減少了窗口的數(shù)量。實現(xiàn)它需要用到間接變量,可以將間接變量看作一個指針,當對某個設(shè)備操作時,利用間接變量指向操作變量,這樣,對間接變量的賦值就會作用到操作變量上,操作變量的變化也會反應到間接變量上。
以過濾水泵為例,在過濾水處理系統(tǒng)中,點擊3#過濾泵,彈出操作窗口,如下圖所示:
圖4
3#過濾泵的操作變量為“RUN-3#GLB(啟動)”、“STOP-3#GLB(停止)”、“RL-3#GLB(反饋)”、“AUTO-3#GLB(自動)”、“REPAIR-3#GLB(檢修)”點擊過濾泵時執(zhí)行語句:
DL_START.NAME=RUN-3#GLB.NAME;
DL_STOP.NAME=STOP-3#GLB.NAME;
DL_RL.NAME = RL-3#GLB.NAME;
AUTO.NAME = AUTO-3#GLB.NAME;
DL_REPAIR.NAME=REPAIR-3#GLB.NAME;
“DL_XXX”為間接變量。在操作窗口中只需對間接變量賦值即可。例如在“啟動”按鈕的動作屬性中寫到:
IF DL_START.Name<>"NULL" AND DL_STOP.Name<>"NULL" THEN
DL_START=1;
DL_STOP=0;
Record=DL_START.Comment;
SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); //寫操作紀錄
ELSE
IF DL_START.Name = = "NULL" THEN
DL_STOP=0;
Record=StringLeft( DL_STOP.Comment, StringLen( DL_STOP.Comment )/2 );
SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" );
ELSE
DL_START=1;
Record=StringLeft( DL_START.Comment, StringLen( DL_START.Comment )/2 );
SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" );