Beispiel Start-Stop
Dieses Beispiel zeigt die Verwendung des TwinCAT 3 EventLoggers beim Starten und Stoppen von TwinCAT. Es wird eine Nachricht mit Argumenten verwendet, die unterschiedliche Status des C++‑Moduls abbilden.
Download des Beispiels: https://github.com/Beckhoff/Tc3Eventlogger_Samples/tree/main/C%2B%2B(RT)/Tc3EventLogger_CppStartStop_Sample
In den Methoden der Statemachines finden sich die Verwendungen der Nachricht:
- SetObjStatePS(): Der EventLogger wird von TwinCAT hochgefahren. Eine Nutzung ist in diesem State damit nicht möglich.
- SetObjStateSO(): Hier werden die Referenz auf den EventLogger durch TcQuerySmartObjectInterface bezogen und die Nachrichten durch CreateMessage() initiiert. Eine entsprechende Meldung wird abgesendet. Mit AddModuleToCaller() wird eine Nachricht abgesendet. Hier wird am Ende der Transition ebenfalls eine Nachricht abgesendet.
- CycleUpdate():In dem Beispiel werden keine Nachrichten abgeschickt. Das Verhalten des Moduls zum OP-State entspricht damit dem eines „Cyclic IO“-Moduls.
- SetObjStateOS(): Mit RemoveModuleFromCaller() wird eine Nachricht abgesendet. Hier wird am Ende der Transition ebenfalls eine Nachricht abgesendet. Danach werden die Referenzen zur Nachricht und zum EventLogger auf NULL gesetzt, was ebenfalls durch eine Nachricht mitgeteilt wird.
- SetObjStateSP(): Der EventLogger wird von TwinCAT heruntergefahren. Eine Nutzung ist in diesem State damit nicht möglich.
Es ergeben sich die folgenden Nachrichten: