Konfiguration des Datenzugriffs auf Daten eines TcCOM-Objekts

Daten eines TcCOM-Objekts sind in Variablen-Gruppen eingeteilt. Sie können konfigurieren, auf welche Art und Weise auf Daten bestimmter Variablen-Gruppen zugegriffen werden kann. Je nach Anforderung kann der ADS-Zugriff und der Typ des Prozessabbildes konfiguriert werden. Diese Einstellung beeinflusst, in welcher Weise eine Variable in einer Gruppe mit anderen Prozessabbildern in der TwinCAT Entwicklungsumgebung verknüpft werden kann und Daten ausgetauscht werden können.

Variablen-Gruppen

Neben der Gruppe der Ein- und Ausgangsvariablen gibt es die Gruppe der Internal und TargetVariables. Die Eingangsvariablen beziehen sich auf die Parameter der Funktion in MATLAB®, die Ausgangsvariablen entsprechend auf den Rückgabewert der Funktion. Die Internal und TargetVariables beziehen sich auf vom MATLAB® Coder™ erzeugte interne Variablen. Die TargetVariables werden dabei für Pointer Variablen angelegt und zeigen den zu Grunde liegenden Wert an.

Konfiguration in MATLAB®

Die Konfiguration erfolgt auf Ebene der Klassen-Parameter individuell für jedes TcCOM-Objekt über diese Parameter:

exportCfg.ClassExportCfg{1}.TcCom.InputDataAccess
exportCfg.ClassExportCfg{1}.TcCom.InputCreateSymbols
exportCfg.ClassExportCfg{1}.TcCom.InputInitValues
exportCfg.ClassExportCfg{1}.TcCom.OutputDataAccess
exportCfg.ClassExportCfg{1}.TcCom.OutputCreateSymbols

Über folgende Parameter können die Internal und TaregtVariables konfiguriert werden. Diese Konfiguration ist nur in seltenen Fällen sinnvoll. Es kann in diesen Fällen sinnvoller sein bspw. die zu Grunde liegende MATLAB® Funktion anzupassen und die Daten von Interesse als Rückgabewert zu übergeben und so in der Output Data Area zugänglich zu machen. Um die Online Change Kompatibilität zu erhöhen ist es sinnvoll den Datenzugriff für dies Gruppen auf 'Module Parameter' zu stellen.

exportCfg.ClassExportCfg{1}.TcCom.InternalDataAccess
exportCfg.ClassExportCfg{1}.TcCom.InternalCreateSymbols
exportCfg.ClassExportCfg{1}.TcCom.TargetVariablesDataAccess
exportCfg.ClassExportCfg{1}.TcCom.TargetVariablesCreateSymbols

Zu jeder oben benannten Variablen-Gruppe kann individuell der Data Access definiert werden. Auswahlmöglichkeiten zu DataAreas und Modul-Parametern sind in folgender Tabelle zusammengefasst:

Data Access

Zugriff per ADS

Zugriff per Mapping

Zugriff per Data Pointer

None

Nein

Nein

Nein

Modul Parameter

Ja

Nein

Nein

Input Destination DataArea

Ja

Ja (mit Output Source)

Ja

Output Source DataArea

Ja

Ja (mit Input Destination)

Ja

Internal DataArea

Ja

Nein

Nein

Standard DataArea

Ja

Nein

Ja

Retain Source DataArea

Ja

Ja (mit Retain Handler)

Nein

Modul Parameter sind im Gegensatz zu DataAreas nicht für den zyklischen (Prozess-)Datenaustausch mit anderen Modulen oder I/Os gedacht. Sie werden im Allgemeinen asynchron gelesen oder geschrieben, z. B. per ADS. Die Parameter unter dem Reiter Parameter (Init) haben einen im Projekt konfigurierbaren Initialwert, der beim Start der TcCOM-Instanz geschrieben wird. Die Parameter unter Parameter (Online) dagegen, haben keinen konfigurierbaren Initialwert und dienen typischerweise der Überwachung interner Zustände.

Konfiguration des Datenzugriffs auf Daten eines TcCOM-Objekts 1:

DataAreas sind auf der TcCOM-Instanz unter dem Tab DataArea zu finden. Der genaue Typ der DataArea wird ebenfalls hier angezeigt. Internal DataAreas werden in der Entwicklungsumgebung nicht als Prozessdatenabbild angelegt.

Konfiguration des Datenzugriffs auf Daten eines TcCOM-Objekts 2:

Eigenschaften der Parametrierung

Der Zugriff per ADS ist in der Regel ReadOnly. Nur die Gruppe der Inputs kann per ADS auch beschrieben werden.

Unabhängig davon kann zu jeder Gruppe eingestellt werden, ob für die jeweilige Gruppe ADS-Symbolinformationen (CreateSymbols) erstellt werden sollen. Wenn keine ADS-Symbolinformationen vorhanden sind, kann per ADS nur noch über IndexGroup und IndexOffset auf die Daten zugegriffen werden.

Über die Option:

exportCfg.ClassExportCfg{1}.TcCom.InputInitValues = true;

erhalten Sie zusätzliche zur DataArea (für den zyklischen Datenaustausch) einen Eintrag unter "Parameter (Init)". So können Initialwerte für Eingänge realisiert werden. Diese Werte gelten dann, wenn die entsprechenden Eingänge nicht verknüpft wurden. Ohne diese Parameter sind nicht verknüpfte Eingangswerte immer 0.

Execution Info

Es können während der Laufzeit des TcCOM Objekts Informationen zur Ausführung bereitgestellt werden:

exportCfg.ClassExportCfg{1}.TcCom. MonitorExecutionTime= true;

MonitorExecutionTime: Erstellt einen Modul-Parameter unter Parameter (Online) und im Blockdiagramm (rechte Seite). Über diesen Parameter kann die Ausführungszeit des TcCOM ausgelesen werden. Die Messung wird bei jedem Aufruf des TcCOM aktualisiert, sodass bspw. die Execution Time über das TwinCAT Scope präzise für jeden Aufruf verfolgt werden kann.

exportCfg.ClassExportCfg{1}.TcCom.ExecutionInfoOutput = true;

ExecutionInfoOutput: Erstellt eine zusätzliche Output Source DataArea mit Informationen zum Modulaufruf, siehe Exception Handling.

Weiterführende Beschreibungen