劉吉強(qiáng)
摘 要:現(xiàn)代工控大多采用下位機(jī)以主站循環(huán)垂詢方式通過MODBUS+ 網(wǎng)絡(luò)收集數(shù)據(jù) ,集成為報(bào)文再通過以太網(wǎng)上送到主控上位機(jī)系統(tǒng)處理。若大數(shù)據(jù)導(dǎo)致主站輪垂詢周期較長(zhǎng)時(shí),一些瞬發(fā)瞬復(fù)的事件就會(huì)失監(jiān)視。本文探討此類事件的。
關(guān)鍵詞:瞬發(fā)瞬復(fù)事件;失監(jiān)視;解決方法
中圖分類號(hào):TP273文 獻(xiàn)標(biāo)識(shí)碼:A
一、概述
1 事件介紹:發(fā)電廠保流機(jī)組于某日夜間突然停機(jī),未見停機(jī)指令下達(dá),事故簡(jiǎn)報(bào)未見異常,停機(jī)原因不明。
2 分析原因:該站下位機(jī)以主站循環(huán)垂詢方式通過MODBUS+ 網(wǎng)絡(luò)收集子站數(shù)據(jù) ,集成為報(bào)文后再通過以太網(wǎng)上送到主控上位機(jī)系統(tǒng)處理。若大數(shù)據(jù)導(dǎo)致主站輪垂詢周期較長(zhǎng)時(shí),一些瞬發(fā)瞬復(fù)的事件就會(huì)失監(jiān)視。導(dǎo)致事故發(fā)生了卻找不到原因。
3 處理方案:在下位機(jī)中加入事件捕捉程序,監(jiān)測(cè)事件發(fā)生原因。
二、編程思路:
1 要記錄機(jī)組事故發(fā)生時(shí)刻的開關(guān)量狀態(tài),但機(jī)組事故發(fā)生時(shí)刻原始誘因可能已經(jīng)復(fù)歸,所以需要記錄事件發(fā)生時(shí)刻及其前一周期的狀態(tài)量。
2 未發(fā)生事故時(shí)將最后狀態(tài)寫入記錄變量但不推送至日志數(shù)組,記錄變量每周期刷新,只保留最新時(shí)刻的狀態(tài)值。
3 事件發(fā)生時(shí),通過檢測(cè)標(biāo)志字阻止記錄變量刷新,并將其推送至日志數(shù)組。
4 事故每發(fā)生且復(fù)歸一次,將記錄指針加一。用變量的置復(fù)位控制。
三、程序:變量定義
M_Health_Condition:= NOT DL_OFF AND NOT ALAM AND NOT STOP_UNUSUAL;
M_Health:=BOOL_TO_INT (M_Health_Condition);
CASE M_Health OF
0: (*寫入記錄*)
WHILE M_ok =1 DO IF M_ct> 9 THEN M_n_Cont:=0; ELSE M_ct:= M_ct +1; END_IF;
FOR I=0 TO 3 DO
M_n_Time [M_n_Cont*8+I]:=M_T[M_n_Cont+I]; M_n_Data [M_n_Cont*8+I]:=M_H[I];
END_FOR;
M_ok:=0 ;END_WHILE;
1:(* 標(biāo)志位處理 *)M_ok:=1; (* 時(shí)間處理 *)M_T[0] :=%SW50; M_T[1] :=%SW51; M_T[2] :=%SW52; M_T[3] :=%SW53;
M_H[0]:=BIT_TO_WORD(BIT0 :=%I01 ,BIT1 :=%I02 ,BIT2 :=%I03 ,BIT3 :=%I04 ,BIT4 :=%I05 ,BIT5 :=%I06 ,BIT6 :=%I07 ,BIT7 :=%I08 ,BIT8 :=%I09 ,BIT9 :=%I10 ,BIT10:=%I11 ,BIT11:=%I12 ,BIT12:=%I13 ,BIT13:=%I14 ,BIT14:=%I15 ,BIT15:=%I16 );
M_H[1]:=BIT_TO_WORD(BIT0 :=%I17 ,BIT1 :=%I18 ,BIT2 :=%I19 ,BIT3 :=%I20 ,BIT4 :=%I21 ,BIT5 :=%I22 ,BIT6 :=%I23 ,BIT7 :=%I24 ,BIT8 :=%I25 ,BIT9 :=%I26 ,BIT10:=%I27 ,BIT11:=%I28 ,BIT12:=%I29 ,BIT13:=%I30 ,BIT14:=%I31 ,BIT15:=%I32 ); M_H[2]:=BIT_TO_WORD(BIT0 :=%M01 ,BIT1 :=%M02 ,BIT2 :=%M03 ,BIT3 :=%M04 ,BIT4 :=%M05 ,BIT5 :=%M06 ,BIT6 :=%M07 ,BIT7 :=%M08 ,BIT8 :=%M09 ,BIT9 :=%M10 ,BIT10:=%M11 ,BIT11:=%M12 ,BIT12:=%M13 ,BIT13:=%M14 ,BIT14:=%M15 ,BIT15:=%M16 );
M_H[3]:=BIT_TO_WORD(BIT0 :=%M100 ,BIT1 :=%M101 ,BIT2 :=%M102 ,BIT3 :=%M103 ,BIT4 :=%M104 ,BIT5 :=%M105 ,BIT6 :=%M106 ,BIT7 :=%M107 ,BIT8 :=%M108 ,BIT9 :=%M109 ,BIT10:=%M110 ,BIT11:=%M111 ,BIT12:=%M112 ,BIT13:=%M113 ,BIT14:=%M114 ,BIT15:=%M115 ); END_CASE;
結(jié)語
該方法經(jīng)過實(shí)地測(cè)試,證明有效。該方法適用于采樣路徑較長(zhǎng)的監(jiān)控系統(tǒng)捕捉現(xiàn)地事故狀態(tài)的第一手資料,可以遏制鏈路延遲帶來的瞬間故障捕捉失效問題,適于工控推廣。
參考文獻(xiàn)
[1]Schneider Electric . Unity Pro .操作手冊(cè)[G].718.endprint