Programmierung einer Meldung (#MSG)
Syntax: |
#MSG [<Modus>] [<Empfänger>] ["<Meldungstext>"] |
<Modus> | Der Modus legt den Zeitpunkt der Meldungsausgabe fest. Soll die Meldung synchron zum Bearbeitungsstand im Interpolator ausgegeben werden, so ist der Modus SYN bzw. SYN_ACK anzugeben. Ohne Angabe des Modus oder mit ACK wird die Meldung direkt nach der Decodierung ausgegeben. ---: Direkt nach der Decodierung (Standard). SYN: Synchron zum Bearbeitungsstand im Interpolator. SYN_ACK: Synchron zum Bearbeitungsstand im Interpolator mit Quittierung durch den Empfänger (z.B. SPS). Der Interpolator setzt erst nach Empfang der Quittierung die Bearbeitung fort. ACK: Direkt nach der Decodierung mit Quittierung durch den Empfänger (z.B. SPS). Die Decodierung wird erst nach Empfang der Quittierung fortgesetzt. |
<Empfänger> | Der Empfänger der Meldung wird durch seine Empfänger-ID angegeben. Ohne Angabe des Empfängers wird der Standardempfänger verwendet. ISG_DIAG_BED: Meldung geht an CNC-Diagnoseoberfläche (Standard) DIAG: Meldung geht an Diagnose-Daten, siehe P-CHAN-00514 HMI: Meldung geht an systemspezifische Bedienoberfläche PLC: Meldung geht an systemspezifische SPS |
| EVENT_LOGGER: Meldung geht an TwinCAT-Eventlogger |
Hinweis | |
Meldungen müssen beim jeweiligen Empfänger abgeholt werden, ansonsten stoppt die CNC nach dem Versenden von 10 Meldungen. |
<Meldungstext> | Der Meldungstext ist in Anführungszeichen "..." einzuschließen. |
Programmierbeispiel
Programmierung einer Meldung
Text_1 wird direkt nach der Decodierung und String Text_2 synchron zur Bearbeitung im Interpolator an die systemspezifische Bedienoberfläche verschickt.
Text_3 wird direkt nach der Decodierung und Text_4 synchron zur Bearbeitung im Interpolator an den Standardempfänger verschickt.
Text_5 wird ebenfalls synchron zur Bearbeitung im Interpolator an den Standardempfänger verschickt, die Bearbeitung wird jedoch bis zum Empfang der Quittierung angehalten.
Folgende Formatelemente zur Ausgabe von Zahlenwerten bzw. zur Ausgabe von Strings stehen zur Verfügung:
%d oder %D | Ausgabe von Dezimalzahlen mit Vorzeichen (signed integer) |
%u oder %U | Ausgabe von Dezimalzahlen ohne Vorzeichen (unsigned integer) |
%f oder %F | Ausgabe von Realzahlen (double) |
%s oder %S | Ausgabe von Strings (<String>, Makros, V.E.STRING) |
![]() | Es können maximal 10 Parameter mit %xx ausgegeben werden. Die Anzahl der Formatzeichen muss mit der Anzahl der nachfolgenden Parameter übereinstimmen. |
Programmierbeispiel
Programmierung einer Meldung mit Formatelementen:
Gesendeter String: Meldungstext_1 und Meldungstext_2
Gesendeter String: Aktueller Messwert: 3.4567800000E+001
Gesendeter String: Aktueller Zustand: Schruppen beendet
Zur Ausgabe des "%"-Zeichens muss die Steuerfolge "%%" programmiert werden. Für ein Hochkomma muss das "\"-Zeichen vorangestellt werden.
Programmierbeispiel
Programmierung einer Meldung mit "%"-Zeichen und Hochkomma:
Gesendeter String: Text mit %-Angabe und Text in Hochkomma: "TEXT"
Ein Meldungstext kann auch mit Parametern und Variablen angegeben werden.
Programmierbeispiel
Programmierung einer Meldung mit Parametern und Variablen:
In diesem Beispiel wird der String Text_1 und Text_2 synchron zur Bearbeitung im Interpolator an den Standardempfänger verschickt.