Standalone System Manager einrichten

Der Standalone System Manager ermöglicht das Automatisieren von TwinCAT-Projekten ohne Visual Studio. Statt über die DTE wird er direkt per COM über die ProgID TcSysManagerRM instanziiert. Das Einstiegsobjekt ITcSysManagerRM erzeugt anschließend über CreateSysManager15 ein ITcSysManager-Objekt. Dieser Ansatz eignet sich für Skripte, Dienste und CI/CD-Pipelines, die ein TwinCAT-Projekt ohne vollständiges XAE bearbeiten sollen.

Voraussetzungen

C# Beispiel

Über Activator.CreateInstance wird das ITcSysManagerRM-Objekt anhand der ProgID erzeugt. CreateSysManager15 liefert das ITcSysManager-Objekt, über das die Konfiguration geöffnet und bearbeitet wird.

using TCatSysManagerLib;

// Instantiate standalone SysMan
var sysManagerRM = Activator.CreateInstance(
    Type.GetTypeFromProgID("TcSysManagerRM", throwOnError: true)!)
    as ITcSysManagerRM;

// Create ITcSysManager object
ITcSysManager sysManager = sysManagerRM.CreateSysManager15();

// Open solution and work
sysManager.OpenConfiguration(@"C:\Projects\MyProject\MyProject.tsproj");

PowerShell Beispiel

In PowerShell wird das Objekt über New-Object -ComObject mit derselben ProgID erzeugt.

$rm = new-object -com TcSysManagerRM
$sysManager = $rm.CreateSysManager15()

$sysManager.OpenConfiguration("C:\Projects\MyProject\MyProject.tsproj")