Best Practice: Zugriff auf Daten des TcCOM

Einführung

Im Bereich Konfiguration des Datenzugriffs auf Daten eines TcCOM-Objekts wurde beschrieben, wie man den Datenzugriff auf ein TcCOM unter TC TcCom Interfaces in den Konfigurationsparametern eines Simulink®-Modells einstellen kann. Im Folgenden werden Vor- und Nachteile und auch Anwendungsszenarien sowie nützliche Hinweise gegeben, wann welcher Typ von Datenzugriff auf ein TcCOM sinnvoll sein kann.

Zugriff per ADS

Eigenschaften

Use Cases

Hinweise

Zugriff per Mapping

Eigenschaften

Use Cases

Hinweise

Zugriff per Data Pointer

Eigenschaften

Use Cases

Best Practice: Zugriff auf Daten des TcCOM 1:

Beispiel für Data Pointer

Ein Beispiel finden Sie hier: Geteilter Speicher zwischen TcCOM-Instanzen.

Exported Global/Imported Extern

Eigenschaften

Use Cases

Best Practice: Zugriff auf Daten des TcCOM 2:

Beispiel für Exported Global/Imported Extern

Ein Beispiel finden Sie hier: Geteilter Speicher zwischen TcCOM-Instanzen.

Spezialfall: Interaktion über den TcCOM-Wrapper-FB

Der TcCOM-Wrapper-FB (siehe Anwenden des TcCOM-Wrapper-FB) vereinfacht die Interaktion zwischen SPS und TcCOM. Dieser FB ermöglicht mit geringem Programmieraufwand in erster Linie die zyklische Ausführung des verknüpften TcCOM-Objektes aus dem SPS-Code, inklusive des Austauschs der Ein- und Ausgangsdaten. Er ermöglicht aber auch einen einfachen azyklischen Zugriff auf die Parameter des Objektes und bei Bedarf einen flexiblen Zugriff auch auf die DataAreas.

Der Wrapper stellt dazu einerseits das ITcADI-Interface (siehe ADI Interface) und andererseits (optional) Properties am Funktionsbaustein (siehe FB properties) bereit. Der TcCOM-Wrapper-FB sollte im selben Kontext wie das TcCOM aufgerufen werden.

Properties des Funktionsbausteins

ITcADI-Interface

Änderungen persistieren

Oben wurde beschrieben, wie Daten zur TwinCAT-Laufzeit in einer TcCOM Instanz verändert werden können. Wird TwinCAT neu gestartet, gehen diese Änderungen verloren, wenn nicht weitere Maßnahmen zur Wiederherstellung getroffen wurden. Standardverhalten eines TcCOM ist, dass bei Start einer TcCOM-Instanz die Parametrierung entsprechend seiner Startup Values vorgenommen wird.

Darüber hinaus können remanente Variablen definiert werden, welche ihren Wert über die übliche Programmlaufzeit hinaus behalten. Sie können remanente Variablen als RETAIN-Variablen oder noch strenger als PERSISTENT-Variablen deklarieren.

Nähere Informationen zu remanenten Daten (Persistent und Retain) in der TwinCAT PLC: Link

Im folgenden werden drei Wege beschrieben, wie Werte nach Neustart von TwinCAT wieder hergestellt werden können.

1) Startup values

Siehe Parametrierung einer Modulinstanz zur Differenzierung zwischen Online, Prepared, Default und Startup Values.

Best Practice: Zugriff auf Daten des TcCOM 3:

TwinCAT 3 XAE notwendig

Die Veränderung von Startup Values erfolgt in der TwinCAT Konfiguration, also im Engineering. Änderungen können hier eingetragen werden. Die Änderung muss aber kompiliert und auf das Laufzeit-System heruntergeladen werden.

Werden Online Values während der Laufzeit verändert, können Sie die aktuellen Online-Werte z. B. via ADS lesen. Dies kann z.B. mit dem TE1410 TwinCAT Interface for MATLAB®/Simulink® erfolgen. Die gelesenen Werte können dann als neue Startup Values in die TwinCAT Konfiguration eintragen werden.

Nutzen Sie dazu z.B. das Automation Interface Beispiel:

TwinCAT.ModuleGenerator.Samples.Show('Use the TwinCAT Automation Interface in MATLAB')

In dem Beispiel wird ein Live Script verwendet, um unterschiedliche Funktionen zu zeigen. Der Abschnitt Read and write parameter online values via ADS beschreibt das Lesen und Schreiben von Online-Werten von einem TcCOM. Der Abschnitt Read and change parameter startup value beschreibt, wie Sie Startup Values lesen und auch schreiben können.

Der Eintrag der neuen Startup Values erfolgt in der TwinCAT Konfiguration auf dem Engineering System. Um die Änderungen auf dem Laufzeitsystem verfügbar zu machen, müssen Sie die Konfiguration auf dem System aktivieren. Auch dies können Sie mit dem Automation Interface realisieren (sysManager.ActivateConfiguration). Sie können entweder das System per Automation Interface direkt neu starten (sysManager.StartRestartTwinCAT), oder Sie können ohne Neustart das System laufen lassen. Beim nächsten Start von TwinCAT sind die Startup Values gesetzt und das TcCOM fährt mit den neuen Startup Values hoch.

2) Retain Data

Unter TC TcCom Interfaces können Sie die Modell Parameter (und auch andere Gruppen) als DataArea vom Typ Retain Source DataArea anlegen. Sie können dann einen Retain Handler in der TwinCAT Konfiguration anlegen und mit der DataArea verbinden. Details siehe NOV-RAM und Retain Handler.

Best Practice: Zugriff auf Daten des TcCOM 4:

NOV-RAM notwendig

Um mit dem Retain Handler zu arbeiten, benötigen Sie einen IPC/CX mit eingebautem NOV-RAM. Die Nutzung einer EtherCAT-Klemme mit NOV-RAM (z.B. EL6080) wird nicht unterstützt.

3) Persistent Data

Ohne TwinCAT XAE und ohne NOV-RAM können Sie auf persistente Daten in der TwinCAT 3 SPS zurückgreifen.

Best Practice: Zugriff auf Daten des TcCOM 5:

TwinCAT 3 SPS Laufzeit notwendig

Um persistente Daten nutzen zu können, müssen Sie in der SPS-Variablen als persistent deklarieren.

Persistente Daten können nur in der SPS angelegt werden. Nutzen Sie daher die SPS, um die Daten zu definieren, die sie persistieren möchten. Arbeiten Sie z.B. mit dem TcCOM-Wrapper-FB, um Daten aus dem TcCOM auszulesen und über die persistente SPS Variable zu persistieren. Erstellen Sie eine Zustandsmaschine für das Aufstarten des TcCOM Objekts nach einem TwinCAT Restart, um die persistierten Daten wieder in das TcCOM Objekt hineinzuschreiben, bevor es wieder im Code aufgerufen wird.