Argumente

Die Texte der Ereignisse können durch die Programmierung mit „Argumenten“ individualisiert werden.

Hierfür wird während der Beschreibung der Ereignisse im TMC Editor eine Markierung mit der Notation {n} verwendet, wobei n eine aufsteigende Zahl von 0 ausgehend ist.

Dabei können bis zu 128 Argumente mit einer maximalen Größe von 1024 Bytes an einem Event verwendet werden.

In dem TMC Editor wird also beispielsweise ein solcher Display-Text für ein Ereignis verwendet:

Argumente 1:

Im Quellcode kann dieser dann folgendermaßen verwendet werden.

SPS

In der SPS kann folgenderweise mit den Argumenten umgegangen werden:

fbMsg : FB_TcMessage;
IF NOT fbMsg.EqualsToEventEntryEx(stOther:=TC_EVENTS.CalculationEventClass.DivisionByZero) THEN
    hr := fbMsg.CreateEx(TC_EVENTS.CalculationEventClass.DivisionByZero, 0 (*fbSource*) );
END_IF

fbMsg.ipArguments.Clear().AddLReal(fDividend); //set Argument

Die Argumente müssen dabei nach Create()/CreateEx(), aber vor Send() definiert werden.

Mehrere Argumente können verkettet angeben werden.
Argumente 2:

fbMsg.ipArguments.Clear().AddLReal(fDividend).AddLReal(fDivisor);

Hierbei wird dann fDividend an die Stelle von {0} gesetzt, sowie fDivisor an die Stelle von {1}.

C++

In der C++ kann folgenderweise mit den Argumenten umgegangen werden:

TcArgs tcArgs(m_spMessage);
tcArgs->Clear();
tcArgs.AddArgument(m_dividend);

Die Argumente müssen dabei nach CreateMessage()/CreateAlarm(), aber vor Send() definiert werden.

Hierfür muss TcEventLoggerTemplate.h im <ProjectName>Interfaces.h inkludiert warden.

#include"TcRouterInterfaces.h"
#include"TcEventLoggerTemplates.h"
///<AutoGeneratedContent id="Interfaces">
///</AutoGeneratedContent>

Ausgabe

Die Ausgabe ist entsprechend:

Argumente 3:

Diese Notation kann auch als Text innerhalb der Übersetzungen verwendet werden.

Formatierung

Die Ausgabe der Argumente kann auch formatiert werden. Hierfür wird im TMC Editor entsprechend die Syntax {n,<Format>} verwendet:

Argumente 4:

Folgende Formatierungen stehen bereit:

Typ

Format

Beschreibung

Zahlenwert

d / D

Dezimaldarstellung

 

e / E

Exponentialdarstellung

 

x / X

Hexadezimaldarstellung

 

f / F

Fixed-Point

Beachten Sie, dass z. B. ein REAL nicht als „d“ oder „x“ usw. dargestellt werden kann.

Zusätzlich stehen die Syntax {eventID} (für die Event ID) sowie {eventclass} (für die Guid der Ereignisklasse) bereit, um die entsprechenden Informationen als Teil des Textes auszugeben.