Mehrere TwinCAT 3 Usermode Runtimes auf einem System
Es können mehrere TwinCAT 3 Usermode Runtimes auf einem System gestartet werden.
Ausgangsbasis für das Szenario ist das Kopieren des Templates aus Program Files (x86) nach ProgramData, wie in der Dateiablage dokumentiert.
Einige TwinCAT Functions haben nebenläufige Prozesse, welche durch Dateien im Ordner 3.1/Target/StartManConfig konfiguriert werden.
Das Template-Verzeichnis unter Program Files (x86) sowie das UMRT-Default-Verzeichnis werden dabei durch eine Installation/Deinstallation oder Upgrade von Paketen des TwinCAT Package Managers immer aktuell gehalten. Mehrere Usermode Runtimes auf einem System erfordern die selbstständige Definition durch den Kunden pro Usermode Runtime. Dabei geht es darum, welche Prozesse pro Instanz mitgestartet werden sollen – ggf. durch Umkopieren der Dateien im Template-Ordner. Hierfür ist insbesondere die Dokumentation zur Integration von TwinCAT Functions zu beachten, da es ansonsten beispielsweise zur Kollision von Ressourcennutzungen kommen kann (mehrere Prozesse versuchen, einen TCP-Port zu öffnen).
Es müssen folgende Aspekte beachtet werden:
- Die AmsNetIds (Kommandozeilen-Parameter „-i“) müssen in einem gesamten Ams-Netzwerk eindeutig sein. Das heißt, die TwinCAT 3 Usermode Runtimes müssen unterschiedliche AmsNetIds besitzen.
- Es müssen unterschiedliche Konfigurationsordner (Kommandozeilen-Parameter „-c“) angegeben werden. Dieses wird normalerweise durch das Kopieren des Templates aus Program Files (x86) erreicht.
- Es können von einem System nicht mehrere TwinCAT 3 Usermode Runtimes mit einem anderen, externen System verbunden werden, da der Router auf dem externen System die TwinCAT 3 Usermode Runtimes nicht unterscheiden kann.
In einem solchen Szenario ist ADS-over-MQTT mit einem Broker als Vermittler zu evaluieren.