DB801 信息緩沖
DB802 信息觀看
DB803 信息檔案
FC650 信息傳輸MeldSend
DB804-DB811 德語報警數據庫由SiVArc 生成
DB814-DB821中文報警數據庫由SiVArc 生成
例如:
一個代報警的功能塊里的設置//
VAR_Temp
TempPointerMsys : ANY; //中間變量
TempPointerFlanken :ANY; //中間變量
TempPointerMeldpuffer :ANY; //中間變量
TempPointerDiagnose : ANY; //中間變量
pMeldFeld AT TempPointerMsys: STRUCT
BYTE0 : BYTE; //Byte 0
TYP : BYTE; //Byte 1Daten/Parametertyp
ANZ : WORD; //Byte 2+3 Laenge der Variablen
DBNR : WORD; //Byte 4+5 DB-Nummer
BZ : DWORD; //Byte6 bis 10 Bereichszeiger
END_STRUCT;
pMeldAbb AT TempPointerFlanken:STRUCT
BYTE0 : BYTE; //Byte 0
TYP : BYTE; //Byte 1 Daten/Parametertyp
ANZ : WORD; //Byte 2+3 Laenge der Variablen
DBNR : WORD; //Byte 4+5 DB-Nummer
BZ : DWORD; //Byte 6 bis 10 Bereichszeiger
END_STRUCT;
pMeldDBNR AT TempPointerMeldpuffer:STRUCT
BYTE0 : BYTE; //Byte 0
TYP : BYTE; //Byte 1 Daten/Parametertyp
ANZ : WORD; //Byte 2+3 Laengeder Variablen
DBNR : WORD; //Byte 4+5 DB-Nummer
BZ : DWORD; //Byte 6 bis 10 Bereichszeiger
MSYS : STRUCT
xF_1 : BOOL;
xF_2 : BOOL;
xF_3 : BOOL;
xF_4 : BOOL;
xF_5 : BOOL;
xF_6 : BOOL;
xF_7 : BOOL;
xF_8 : BOOL;
xF_9 : BOOL;
xF_10 : BOOL;
xF_11 : BOOL;
Flanken : ARRAY[1..2] OF BYTE;
AenderungsID : STRUCT
SNr : WORD;
ANr : BYTE;
Detail : BYTE;
TempPointerMsys:= Msys;
TempPointerFlanken:= Msys.Flanken;
TempPointerMeldpuffer := ST_Meld;
pMeldFeld.BZ := pMeldFeld.BZ OR 16#1000000;
// Speicherbereich im Bereichszeiger von 84 (DB) auf 85 (DI) aendern
pMeldAbb.BZ := pMeldAbb.BZ OR 16#1000000;
// Speicherbereich im Bereichszeiger von 84 (DB) auf 85 (DI) aendern
pMeldFeld.TYP := 1; // Typ:=1 ist gleich BOOL
pMeldFeld.ANZ := 16;
// Anzahl der Meldungen min. 8 Bit oder mehr, muss jedoch durch 8 teilbar sein.
pMeldAbb.TYP := 2; // Typ:=2 ist gleich BYTE
pMeldAbb.ANZ := 2; // Anzahl der Bytes im ARRAY min. jedoch 1Byte
故障信息存儲部分:
MSYS.xF_1 := xF_Sign; //'MT0/Signatur hat sichgeaendert'
MSYS.xF_2 := xF_Mode; //'MT0/Anlage im unsicherenBetrieb'
MSYS.xF_3 := NOT RUECK; //'STE/Rueckfuehrkreis'
MSYS.xF_4 := NOT AC AND (ACKR OR NOT CFG.X3); //'STE/Passivierung'
MSYS.xF_5 := NOT BusOK; //'STE/Busfehler'
MSYS.xF_6 := xVKE_IBN_nio; //'STE/Vorbesetzungsfehler VKE/IBN'
MSYS.xF_7 := xF_S7TimeStamp; //'MT0/Zeitstempel Projektordnern.i.O.'
MSYS.xF_8 := xPN_MAINT; //'MT1/Wartungsanforderung (HW-Konfigbeachten)
MSYS.xF_9 := xF_PN_Diag; //'MT1/PN Diagnose (HW-Konfig beachten)
MSYS.xF_10 := xPN_Wart_Q;; //'MT1/PN Wartungsbedarf(HW-Konfig beachten)
MSYS.xF_11 := NOT AC AND NOT ACKR AND CFG.X3;//'ST0/Depassivierung Erforderlich'
故障號的指針地址例如:85000250

校驗故障號的地址指針例如:85000260

要寫入的DB塊號 801

傳輸故障點信息
MeldSend(AufrufNr := 1
,Anz_Meld := 11
,pMeldFeld := pMeldFeld.BZ
,pMeldAbb := pMeldAbb.BZ
,MeldDB := WORD_TO_INT(pMeldDBNR.DBNR)
,AenderungsID := AenderungsID
,Integritaet := xIntegritaet
,Neustart := Neustart
);

FC650 將 pMeldFeld 發出給 pMeldAbb
AenderungsID : STRUCT 初始化默認值
SNr DB塊號
ANr 01
Detail FF

FB651 在初始化時,可以使DB801的ActPtr=0
在FB651中通過COM_RST=1使的DB801的ActPtr=0和DB802 的S_MSGID值為0
FB650 用于信息的傳輸到DB802和DB803 已近語言控制

L 49
InVw: T #Index 用于初始化
+ -1
SLD5
LAR1
L0
TDBD [AR1,P#0.0]
L#Index
LOOPInVw
T#MsgV.S_MSGID[1] DB802里的ID進行初始化
T#MsgV.S_MSGID[2] DB802里的ID進行初始化
T#MsgV.S_MSGID[3] DB802里的ID進行初始化
LAR1P##MsgQ
L0
LDIW [AR1,P#0.0]
T#MsgQ_DB
<>I
SPBN EXIT
AUF DB [#MsgQ_DB]
L 0
T #MsgQ.ActPtr DB801的ActPtr被清零
FLib: L 0
L #MsgPtr 出現一次故障#MsgPtr在FC650中被加
SPBN NPtr
RET_VAL:=#Result
CDT :=#Zeitstempel
FB650將DB801 里的信息放入到DB802 只顯示20條信息,或DB803 報警歷史紀錄
FB650將多語言塊的故障TEXT文本,時間,狀態,ID故障號給入到DB802和DB803里。
FB650 將DB801 的ActPtr 時刻消除0

畫面Meldeanzeige 是顯示DB802里的內容

畫面Meldearchiv_250 是顯示DB803里的內容

FB651 用于 多語言轉換


-
數據庫
+關注
關注
7文章
4020瀏覽量
68364 -
變量
+關注
關注
0文章
616瀏覽量
29511
原文標題:MELD報警信息的產生
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
電能質量在線監測裝置的報警功能可以關閉嗎?
4g報警器能不能改成一個反電魚報警器
布線復雜、干擾誤報?隔離485總線與云平臺,重塑報警系統穩定性
語音報警器:TTS語音播報,云平臺邏輯自控
工業/校園/居家安防必看!語音報警器怎么報警?控輸出、組物聯網全攻略
從單機報警到云端服務:移遠燃氣報警解決方案推動產業共贏
報警芯片怎樣選擇?報警器用的什么芯片?報警芯片的主要類型?常見報警芯片推薦?防盜器芯片有哪些?
微五科技CF5010RBT60開發板試用體驗+氣體報警器項目demo
威綸通觸摸屏報警功能的使用方法
報警電纜是什么電纜
東元伺服驅動器報警代碼
西門子S120變頻器故障及報警信息的讀取
MELD報警信息的產生
評論