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.

Hinweis

notice

Der Standardempfänger unter TwinCAT ist die Diagnosebedienung ahmi_ads.exe über die Empfänger-ID ISG_DIAG_BED.

<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

Achtung

attention

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

prg_example

Programmierung einer Meldung

#MSG HMI ["Text_1"]

#MSG SYN HMI ["Text_2"]

#MSG ["Text_3"] (Nachricht an den Standardempfänger)

#MSG SYN ["Text_4"]

#MSG SYN_ACK ["Text_5"]

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)

Hinweis

notice

Es können maximal 10 Parameter mit %xx ausgegeben werden. Die Anzahl der Formatzeichen muss mit der Anzahl der nachfolgenden Parameter übereinstimmen.

Programmierbeispiel

prg_example

Programmierung einer Meldung mit Formatelementen:

#MSG [ "Meldungstext_%d und Meldungstext_2", 1 ]

Gesendeter String: Meldungstext_1 und Meldungstext_2

#MSG [ "Aktueller Messwert: %f", V.A.MEAS.ACS.VALUE.X]

Gesendeter String: Aktueller Messwert: 3.4567800000E+001

#MSG [ "Aktueller Zustand: %s", "Schruppen beendet"]

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

prg_example

Programmierung einer Meldung mit "%"-Zeichen und Hochkomma:

#MSG [ "Text mit %%-Angabe"]

#MSG [ "Text in Hochkomma: \"TEXT\" "]

Gesendeter String: Text mit %-Angabe und Text in Hochkomma: "TEXT"

Ein Meldungstext kann auch mit Parametern und Variablen angegeben werden.

Programmierbeispiel

prg_example

Programmierung einer Meldung mit Parametern und Variablen:

P10 = 1

V.P.BSP = 2

#MSG SYN ["Text_%D und Text_%D", P10, V.P.BSP]

In diesem Beispiel wird der String Text_1 und Text_2 synchron zur Bearbeitung im Interpolator an den Standardempfänger verschickt.