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.InputInitValuesexportCfg.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.InternalCreateSymbolsexportCfg.ClassExportCfg{1}.TcCom.TargetVariablesDataAccess
exportCfg.ClassExportCfg{1}.TcCom.TargetVariablesCreateSymbolsZu 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.

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.

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
- Aufbau eines TcCOM: Beschreibung der TcCOM Eigenschaften
- Eigenschaften von DataAreas
- Nutzen einer RetainDataArea mit NOV-RAM: RetainDataArea