Symbol Properties und Attribut-Pragmas
Was sind Properties und Attribute?
Bei TcCOM-Objekten können Sie allen Definitionen, z. B. DataAreas, Datentypen, SubItems usw., Properties zuweisen. Ein Property ist dabei als Name-Value-Pair definiert. Es können beliebige Zusatzinformationen mitgegeben werden.
Attribute werden in der SPS in der Regel im Deklarationsteil verwendet und können ebenfalls beliebige Zusatzinformationen z. B. an eine Variable binden. Eine Liste von SPS-Attributen finden Sie in der SPS-Dokumentation.
Viele TwinCAT Functions nutzen Attribute und Properties. Beispiele sind:
- TwinCAT OPC-UA
{attribute 'OPC.UA.DA' := '1'}
{attribute 'OPC.UA.DA.Access' := '1'}
- Analytics Logger
{attribute 'TcAnalytics'}
- JSON Library Tc3_JsonXml
- …
Attribute und Properties können aber auch vom Nutzer selber definiert und für eigene Anwendungen genutzt werden.
Wie nutze ich Symbol Properties und Attribute zusammen mit dem TwinCAT-Target?
Mit dem TwinCAT-Target ist es möglich, Properties ADS-Symbolen zuzuweisen. ADS-Symbole sind im Sinne von Variablen zu verstehen.
(TcCOM) TMC Properties
In Simulink® können Sie in den Configuration Parameters unter TC TcCom Interface Properties frei als String zuweisen. Properties können Sie jeweils für die DataArea definieren:
- Input: TMC Properties
- Output: TMC Properties
- Parameters: TMC Properties
- BlockIO: TMC Properties
- ContState: TMC Properties
- DWork: TMC Properties
- DataStore: TMC Properties
Zusätzlich können Sie über das Feld Additional TMC Symbol Properties unabhängig von der DataArea Properties zuweisen.
Für DataArea-spezifische TMC Properties wird folgende Notation verwendet:
SymbolName1:PropertyName1=Value1
Beispiel: FeedbackTemp:OPC.UA.DA=1
Sollen mehrere Properties zugewiesen werden, sind diese mit | zu trennen:
SymbolName1:PropertyName1=Value1|SymbolName2:PropertyName2=Value2
Beispiel: HeaterOn:OPC.UA.DA=1|HeaterOn:OPC.UA.DA.Access=3
Ab MATLAB R2020b können wildcards verwendet werden:
*:PropertyName1=Value1
Das Zeichen * wird als wildcard genutzt und weist in diesem Beispiel allen Symbolen in der DataArea den PropertyName1 mit Value1 zu. Es können auch Teilwörter mit wildcards kombiniert werden. Mit dem folgenden Beispiel wird allen Symbolen, die mit Sum beginnen, das angegebene Property zugewiesen.
Sum*:OPC.UA.DA=1
Dieselbe Struktur ist im Feld Additional TMC Symbol Properties einzuhalten. Jedoch ist die DataArea zur Adressierung hinzuzufügen.
DataAreaName1.SymbolName1:PropertyName1=Value1
Beispiel: TempCtrl_B.current:OPC.UA.DA=1
PLC Attributes
Selbige Vorgehensweise wie für TcCOM gilt für den PLC-FB, dort allerdings nur für die Ein- und Ausgänge möglich. Bei Verwendung des TcCOM-Wrapper-FB wird ein TcCOM-referenziert, sodass Sie dabei die Konfiguration nach TMC Properties vornehmen.
Die Konfiguration für den PLC-FB nehmen Sie unter TC PlcFb Interface vor.
Beispielcode in MATLAB® Öffnen Sie das passende Beispiel mit: |
Wofür kann ich Properties und Attribute verwenden?
Ein Beispiel ist die Verwendung von Attributen in der SPS oder Symbol Properties für TcCOM im Zusammenhang mit TwinCAT 3 OPC-UA. Siehe dazu die OPC-UA Liste von Attributen.
Im Folgenden wird beispielhaft gezeigt, wie alle Input-Variablen der Input DataArea und ausschließlich das Signal e aus der BlockIO DataArea mit der OPC-UA data access Eigenschaft versehen werden. Für die Input DataArea wird dabei die Wildcard * genutzt.
Im OPC-UA Konfigurator muss auf der rechten Seite unter Type TwinCAT 3 C++ (TMI) – Filtered gewählt werden, damit ausschließlich die Symbole mit entsprechendem Property im Server angezeigt werden. Möchten Sie alle Symbole im Server sehen, wählen Sie an dieser Stelle einfach TwinCAT 3 C++ (TMI) – All. Dann werden alle Symbole, ungeachtet der Properties, angezeigt. Wählen Sie zudem als SymbolFile die TMI-Datei des TcCOM auf dem TwinCAT Target Device aus (Boot\TMI Folder).
Verbinden Sie sich mit einem Client auf den OPC-UA Server, um den Namespace zu inspizieren. Hier wurde der OPC-UA Sample Client von TwinCAT 3 genutzt. Es ist zu sehen, dass ausschließlich die Symbole im Server angezeigt werden, welche explizit mit dem OPC.UA.DA=1 Property versehen wurden.