Nutzen von External Control (TC1701)

Die Schnittstelle "External Control" erlaubt externen Anwendungen den Zyklustick zu steuern. Hier hat die Vorgabe des Zyklusticks den Vorteil, dass, wenn es die Komplexität des Modells zulässt, das Programm schneller simuliert werden kann. Andersrum kann die TwinCAT Applikation auch langsamer ausgeführt werden, wenn die Berechnung eines Modells in der externen Anwendung länger als die eingestellte Zykluszeit benötigt.

Im Gegenzug heißt dieses auch, dass das Gesamtsystem keinerlei Ausführung – und damit auch keine Abarbeitung von Code macht, wenn keine entsprechende Anweisung erfolgt ist.
Die Anwendung kann selbstständig im Code wieder zurück zu einer normalen zyklischen Ausführung schalten.

Nutzung

Die TwinCAT 3 Usermode Runtime muss mit dem Kommandozeilen-Parameter „-f 0x4“ aufgerufen werden. Dieses ist am einfachsten zu erreichen, wenn die entsprechende Start.bat im ProgramData erweitert wird:
start "%TC_INST_NAME%" /min "%TWINCAT3DIR%Runtimes\bin\TcSystemServiceUm.exe" -t bin -i path -n %TC_INST_NAME% -c .\3.1 -f 0x4

Hiermit wird die Funktionalität des Umschaltens zwischen den im Folgenden beschriebenen Modes ermöglicht.

Wird innerhalb eines Echtzeitprogramms durch die PLC oder ein C++ Modul dieser Mode mit Hilfe des Interfaces ITcRTimeSimulation auf den Wert RtMode_Externaltick gesetzt, wird die Ausführung des Codes angehalten.

Im Folgenden kann durch die ADS Schnittstelle External Control die Kontrolle über die Ausführung vorgenommen werden indem 1..n Zyklusschritte vorgegeben werden.

Die Anwendung kann durch Setzen des Wertes RtMode_Cyclic mittels des ITcRTimeSimulation->ChangeTickMode zu der zyklische Ausführung zurückkehren.

Die Dokumentation hierfür ist im Kapitel API sowie auch im Beispiel gezeigt.