Client - Read Data (GetAllDataValues, GetDataValues)

Dieses Beispiel zeigt die Verwendung der „GetAllDataValuesReq“- und „GetDataValuesReq“-Methoden des Client-Funktionsbausteins.

Download TwinCAT XAE Project (*.zip): Sample02.zip

Das hier beschriebene Beispiel nutzt die Statemachine, welche in dem Kapitel „Allgemeine Client - Projektstruktur“ beschrieben ist. Die States: 0,1,11 und 100 sind identisch zu der dort beschriebenen Statemachine. Andere States wurden für das Beispiel modifiziert oder auch neue States hinzugefügt.

Im State 10 sind mehrere IF-Anweisungen aufgeführt, welche Befehle (Methodenaufrufe) des Client-Bausteins aktivieren. Durch eine steigende Flanke an einer der booleschen Variablen in der IF-Anweisung wird der Befehl aktiviert und die entsprechende Client-Methode aufgerufen. Zu Testzwecken kann der Benutzer in der Online-Ansicht die Werte der booleschen Variablen auf „TRUE“ setzen und die Befehlsabarbeitung auf diese Weise auslösen.

Nach der erfolgreichen Abarbeitung eines Befehls wird die Statemachine in den State 0 versetzt. Falls mehrere der booleschen Variablen auf „TRUE“ gesetzt wurden, wird die oberste IF-Anweisung mit dem jeweiligen Befehl zuerst bearbeitet. Je häufiger und komplexer die Befehle, die an den Server gesendet werden, desto länger benötigt der Client diese abzuarbeiten.

In der folgenden Tabelle sind einige der booleschen Variablen aufgelistet. Zudem sind die Methodennamen und eine Beschreibung der Funktionalität enthalten.

Befehle im Sample02

Variablenname

Methodenname

Beschreibung

bGetAllDataValues_LLN0

ähnliche Variablen (Befehle):
bGetAllDataValues_LPHD1
bGetAllDataValues_MMXU1
bGetAllDataValues_XCBR1

GetAllDataValuesReq

Sobald diese boolesche Variable auf „TRUE“ gesetzt wird, werden alle Datenwerte sämtlicher Unterelemente des logischen Knoten: „LLN0“ und jeder funktionalen Gruppe gelesen. Um dies zu ermöglichen, verwendet der Methodenaufruf als Parameter einen Schnittstellenzeiger auf den zu lesenden logischen Knoten: „LLN0“ und die Angabe der funktionalen Gruppe: „E_AcsiFc.XX.“

bGetAllDataValues_LLN0_ST

ähnliche Variablen (Befehle):
bGetAllDataValues_LLN0_CF
bGetAllDataValues_LLN0_DC
bGetAllDataValues_LLN0_EX
bGetAllDataValues_LPHD1_ST
bGetAllDataValues_LPHD1_DC
bGetAllDataValues_MMXU1_MX
bGetAllDataValues_MMXU1_ST
bGetAllDataValues_XCBR1_ST
bGetAllDataValues_XCBR1_CO
bGetAllDataValues_XCBR1_CF

GetAllDataValuesReq

Sobald diese boolesche Variable auf „TRUE“ gesetzt wird, werden alle Datenwerte sämtlicher Unterelemente des logischen Knoten: „LLN0“ und der funktionalen Gruppe: „ST“ gelesen. Um dies zu ermöglichen, verwendet der Methodenaufruf als Parameter einen Schnittstellenzeiger auf den zu lesenden logischen Knoten: „LLN0“ und die Angabe der funktionalen Gruppe: „E_AcsiFc.ST_“.

bGetDataValues_LLN0_ST_Beh

ähnliche Variablen (Befehle):
bGetDataValues_LLN0_ST_Health
bGetDataValues_LLN0_ST_Mod
bGetDataValues_LLN0_CF_Mod
bGetDataValues_LLN0_DC_NamPlt
bGetDataValues_LLN0_EX_NamPlt
bGetDataValues_LPHD1_ST_PhyHealth
bGetDataValues_LPHD1_ST_Proxy
bGetDataValues_LPHD1_DC_PhyNam
bGetDataValues_MMXU1_MX_PhV
bGetDataValues_MMXU1_ST_Beh
bGetDataValues_XCBR1_ST_Beh

GetDataValuesReq

Sobald diese boolesche Variable auf „TRUE“ gesetzt wird, werden alle Datenwerte sämtlicher Unterelemente des Datenobjektes: „Beh“ des logischen Knoten: „LLN0“ und der funktionalen Gruppe: „ST“ gelesen. Um dies zu ermöglichen, verwendet der Methodenaufruf als Parameter einen Schnittstellenzeiger auf das zu lesende Datenobjekt: „LLN0.Beh“ und die Angabe der funktionalen Gruppe: „E_AcsiFc.ST_“.

bGetDataValues_LLN0_ST_Beh_stVal

ähnliche Variablen (Befehle):
bGetDataValues_LLN0_ST_Beh_q
bGetDataValues_LLN0_ST_Beh_t
bGetDataValues_LLN0_ST_Health_q
bGetDataValues_LLN0_ST_Health_t
bGetDataValues_LLN0_ST_Mod_q
bGetDataValues_LLN0_ST_Mod_t
bGetDataValues_LLN0_CF_Mod_ctlModel
bGetDataValues_LLN0_DC_NamPlt_vendor
bGetDataValues_LLN0_DC_NamPlt_swRev

GetDataValuesReq

Sobald diese boolesche Variable auf „TRUE“ gesetzt wird, wird der Wert des Datenattributs: „stVal“ des Datenobjekts: „Beh“, des logischen Knoten: „LLN0“ und der funktionalen Gruppe: „ST“ gelesen. Um dies zu ermöglichen, verwendet der Methodenaufruf als Parameter einen Schnittstellenzeiger auf das zu lesende Datenattribut: „LLN0.Beh.stVal“ und die Angabe der funktionalen Gruppe: „E_AcsiFc.ST_“.

Die Benennung der booleschen Variablen ist beispielhaft und kann beliebig angepasst werden. Sie soll nur verdeutlichen, welche Werte durch das Anschalten der Variablen gelesen werden können.