SFB35 InstanzDB: Alarmmeldungen in SCL-Quelle

Peetz

Level-1
Beiträge
5
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe mich hier angemeldet, da ich zu meinem Problem nirgendwo etwas finden konnte. Deswegen hier mein Problem.

Ich benutze den SFB35 (Alarm_8P) in einem FB um diesen zu versorgen. Wenn man den FB aufruft, muss man ihm einen InstanzDB zuweisen und kann nun (mit einem Rechtsklick auf den DB -> Spezielle Objekteigenschaften -> Meldungen) die Meldungen und deren Attribute vergeben. Soweit alles kein Problem, jedoch ist das ziemlich aufwendig, wenn man dehr viele Meldungen anlegen will.
Deswegen habe ich von dem InstanzDB eine SCL-Quelle generiert. In dieser ist dann ganz normal der DB mit seinen Variablen zu finden und da unter (in grün als eine Art Kommentar dargestellt) stehen dann die Meldungen in einer sehr langen Zeichenkette. Wenn man diese ein wenig formatiert, lässt sich folgendes erkennen:

(*$ALARM_SERVER
<HEADERS STEP7_VERSION="262144" CODING="true">
<LANGUAGE LCID="1031">German</LANGUAGE>
<STD_LANGUAGE>1031</STD_LANGUAGE>
<HEADER PARENT="REIx">
<VERSION>UFJPSkVDVF9XSURFX0FMQVJNTlI=</VERSION>
<STRUCTTYPE>2</STRUCTTYPE>
<ATTR_STATE>0</ATTR_STATE>
<PRODUCER>1</PRODUCER>
<ALARM NAME="SUQ=">
<ATTR_STATE>0</ATTR_STATE>
<ALARMNR>1</ALARMNR>
<ALARMTYPE>YWxhcm1fOHA=</ALARMTYPE>
<PDISPLAYGROUP>0</PDISPLAYGROUP>
<WDISPLAYGROUP>0</WDISPLAYGROUP>
<SUBCOUNT>8</SUBCOUNT>
<RANGE>0</RANGE>
<DIAGNOSE>0</DIAGNOSE>

<SUBALARM ID="1">
<ATTR_STATE>0</ATTR_STATE>
<ALARMQUIT>1</ALARMQUIT>
<TEXT1 LCID="1031">TWVsZGV0ZXh0IDE=</TEXT1> // Meldetext 1
<TEXT2 LCID="1031">TnIx</TEXT2> // Nr2
<INFOTEXT LCID="1031">SW5mb3RleHQgMQ==</INFOTEXT> // Infotext 1
<WINCC DEVICE_NAME="VmlldyBXaW5DQw==" CODING="true">
<DEVICE_ID>8</DEVICE_ID>
<ATTR_STATE>0</ATTR_STATE>
<QUITCLASS>0</QUITCLASS>
<QUITART>0</QUITART>
<QUITTYPE>1</QUITTYPE>
<TEXT1 LCID="1031">TnIx</TEXT1> // Nr1
<TEXT2 LCID="1031">TnIy</TEXT2> // Nr2
<TEXT3 LCID="1031">TWVsZGV0ZXh0IDE=</TEXT3> // Meldetext 1
<TEXT4 LCID="1031">TnI0</TEXT4> // Nr4
<TEXT5 LCID="1031">TnI1</TEXT5> // Nr5
<TEXT6 LCID="1031">TnI2</TEXT6> // Nr6
<TEXT7 LCID="1031">TnI3</TEXT7> // Nr7
<TEXT8 LCID="1031">TnI4</TEXT8> // Nr8
<TEXT9 LCID="1031">TnI5</TEXT9> // Nr9
<TEXT10 LCID="1031">TnIxMA==</TEXT10> // Nr10
<INFOTEXT LCID="1031">SW5mb3RleHQgMQ==</INFOTEXT> // Infotext 1
</WINCC>
</SUBALARM>

...

</ALARM>
</HEADER>
</HEADERS> *)

Den Block Subalarm erhält man dann 8 mal (ID 1..8), da es ja ein Baustein für 8 Meldungen ist. Rechts daneben habe ich mit // geschrieben, was ich auf die herkömmliche Weise als Meldungen eingetragen habe.
Nun habe ich aber das Problem, dass der Meldetext nicht lesbar ist und ich ihn nicht in der SCL-Quelle ändern kann. Sieht aus, als ob der Text verschlüsselt oder anders kodiert wäre.

Kann mir da jemand weiterhelfen, dass ich den Meldetext in den Code der SCl-Quelle übersetzen kann?
Welche Sprache mag das obige Beispiel sein?
Und warum werden die Meldetext so verschlüsselt?

Hintergrund: Ich möchte eine Excel-Tabelle entwerfen, in der man alle Meldetexte eingibt und die dann eine SCL-Quelle bei rauskommt, sodass man diese nicht mehr manuell bei jedem Baustein eingeben muss.

Schon mal vielen Dank für eure Hilfe. Ich bin sehr gespannt.:)
 
Hast du mal ein Beispiel für einen Meldetext den du eingegeben hast, und wie dieser Text codiert wird?

Evtl. ist es nur eine Codierung um Sonderzeichen in verschiedenen Sprachen eingeben zu können, nach Unicode sieht es aber nicht aus.
 
Ich arbeite mit WinCC v7.0 SP2 und Simatic Manager v5.5

Den Meldetext, den ich eingetragen habe, habe ich immer neben die entsprechende Zeile geschrieben, als Kommentar mit //

<TEXT1 LCID="1031">TWVsZGV0ZXh0IDE=</TEXT1> // Meldetext 1

d.h.
"Meldetext 1" == TWVsZGV0ZXh0IDE

Ich erkenne da leider keinen Zusammenhang, zumal die Anzahl der Zeichen nicht einmal übereinstimmt.:neutral:
 
Ja, die Variablen und Meldungen werden normal übersetzt.
Die Meldungen für die Aggregate sind schon gut. Mit einem Begleitwert wird immer das AKZ übergeben(z.B. mit "@1s%10@"). Das funktioniert soweit auch.
Aber die Tabelle soll dann alle anderen Meldungen und Bedienanforderungen erstellen.
 
Jetzt hab ich noch mal ne allgemeine Frage:

Wenn du so ne Quelle rückübersetzt, wird dann auch die ID vom SFB35 (ist ja nach "außen" geführt, und somit im IDB) automatisch vom Alarmserver nachgeführt?
 
Ja...
in der SCL-Quelle lasse ich das Feld mit der ID frei, bzw füge es gar nicht ein, wenn ich den FB aufrufe. Wird die Quelle nun übersetzt wird automatisch die ID an den Baustein geschrieben.
 
Zurück
Oben