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.

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

Argumente 1:

Im Quellcode kann dieser dann verwendet werden, wie im Folgenden erklärt.

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 angegeben 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.

Werden mehr Argumente abgesendet als durch entsprechende Platzhalter vorgesehen sind, werden diese in Klammern an den Ereignistext angehangen. Dieses Verhalten kann unterdrückt werden indem für die Ereignisklasse die Option „HideNeedlessArguments“ gesetzt wird, wie hier beschrieben.

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ätzliche Hinweise bzgl. Argumente in Meldungstexten