Aufruf eines TcCOM-Objekts aus der SPS

Erstellen eines TcCOM-Wrapper-FB

In der Export-Konfiguration ist zu setzen:

TcCom.TcComWrapperFb = 'true';
TcCom.TcComWrapperFbProperties = 'true'; % optional

Arbeiten mit dem TcCOM-Wrapper-Funktionsblock

1. Erstellen Sie ein SPS-Projekt.
2. Fügen Sie die gewünschte Bibliothek unter References hinzu.
Aufruf eines TcCOM-Objekts aus der SPS 1:
Sie erhalten unter Pous/TcCOM Wrapper einen Funktionsblock, den Sie in der SPS instanziieren können. Darüber hinaus werden notwendige Datentypen im Ordner Duts angelegt.

Referenzieren einer statischen Modul-Instanz

Der Funktionsblock kann genutzt werden, um auf vorher im XAE, z. B. unter System > TcCOM Objects, angelegte Modulinstanzen zuzugreifen. Für diesen statischen Fall muss die Objekt-ID der entsprechenden Modulinstanz bei der Deklaration der Funktionsblock-Instanz übergeben werden. Siehe roter Bereich in untenstehender Grafik.

Aufruf eines TcCOM-Objekts aus der SPS 2:
  • Die Instanz des TcCOM-Objekts und die aufrufende SPS müssen in derselben Task laufen.
  • Auf der Instanz des TcCOM-Objekts ist darauf zu achten, dass unter Parameter (Init) der Eintrag ModuleCaller auf Module steht und nicht auf CyclicTask.
  • Der benötigte Speicher für das TcCOM wird in diesem Fall aus dem non paged pool des Systems bezogen.

Dynamisches Instanziieren und Referenzieren aus der SPS

Der Funktionsblock kann auch so genutzt werden, dass ein TcCOM-Objekt aus der SPS heraus erzeugt und mit dem Wrapper verknüpft wird. In untenstehender Grafik sind das der grüne Bereich als Minimalbeispiel und der blaue Bereich mit erweiterter Parametrierung.

Aufruf eines TcCOM-Objekts aus der SPS 3:
  • Über die TaskOid der SPS Task muss angegeben werden, in welcher Echtzeit-Task der Wrapper aufgerufen wird.
  • Der ModuleCaller muss auch hier (über die Init Struktur) auf Module eingestellt werden.
  • Der benötigte Speicher für das TcCOM wird in diesem Fall aus dem Router Memory bezogen.
Aufruf eines TcCOM-Objekts aus der SPS 4:

Der Quellcode zur oben gezeigten Grafik ist verfügbar in MATLAB® über das Command Window:

TwinCAT.ModuleGenerator.Samples.Start('TcComWrapper TemperatureController')