ADS-Read

Der ADS-Read- Block ist ein polymorphes VI und unterstützt folgende ADS-Kommunikations-Modi, um Daten aus TwinCAT auszulesen:

Alle Modi nutzen im Hintergrund die Low-Level Read-Blöcke, um:

1. Den ADS Reader zu initialisieren.
2. Die ADS Anfrage zu schicken.
3. Auf Antwort zu warten und
4. abschließend den Reader aus dem Speicher freizugeben.

Der Abschnitt Kommunikations-Modi bietet weiterführende Informationen sowie praktische Anwendungsempfehlungen. Im Kapitel Beispiele finden Sie exemplarische Umsetzungen in LabVIEW™.

Je nach ausgewähltem Kommunikations-Modus werden die im Symbol Interface konfigurierten Parameter genutzt oder bleiben ungenutzt. Die jeweils relevanten Parameter werden im Folgenden benannt.

Sync Single

In dieser Betriebsart des ADS Read.vi sendet der ADS-Client (LabVIEW™) eine Anfrage an den ADS-Server (TwinCAT) und wartet im Programmablauf auf eine Antwort des Servers.

Relevanter Parameter: Timeout

ADS-Read 1:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[5] [6] SymbolName

Beschreibt ein ADS-Symbol bestehend aus AMS-Adresse und Symbol-Bezeichnung:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[8] Read status?

Lese-Status

[10] Ads Read Data

ADS-Rohdaten

Async Single

In dieser Betriebsart des ADS Read.vi sendet der ADS-Client (LabVIEW™) eine Anfrage an den ADS-Server (TwinCAT) und wartet im Programmablauf nicht auf eine Antwort des Servers.

Relevanter Parameter: Timeout

ADS-Read 2:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[5] [6] SymbolName

Beschreibt ein ADS-Symbol bestehend aus AMS-Adresse und Symbol-Bezeichnung:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[8] Read Status

Lese-Status

[10] ReadHdl

Handle auf den ADS-Reader

Noti. Single

In dieser Betriebsart des ADS Read.vi werden ADS-Notifications auf die betreffenden ADS-Symbole in TwinCAT registriert. Es ist nur eine Registrierung „on change“ möglich. Sobald die erste „on change“-Benachrichtigung in LabVIEW™ eingeht, wird die ADS-Notification am ADS-Server wieder abgemeldet.

Relevante Parameter: Timeout, Transmode (= on change)

ADS-Read 3:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[5] [6] SymbolName

Beschreibt ein ADS-Symbol bestehend aus AMS-Adresse und Symbol-Bezeichnung:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[7] Send

Send Flag, TRUE registriert die ADS-Notification

[8] Read Status

Lese-Status

[10] Ads Read Data

ADS-Rohdaten (Array aus zwei Einträgen, vorheriger Wert und aktueller Wert)

Noti. Buffered

In diesem Kommunikations-Modus des ADS Read.vi werden ADS-Notifications auf den betreffenden ADS-Symbolen in TwinCAT registriert. Der ADS-Client in LabVIEW™ nutzt zudem einen Pufferspeicher, welcher erst vollständig mit Rückmeldungen aus TwinCAT gefüllt wird, bevor der gesamte Pufferspeicher an LabVIEW™ übergeben wird. Nach Übergabe der gepufferten Daten an LabVIEW™ wird die ADS-Notification vom Server wieder abgemeldet. Es werden sowohl ADS-Notifications “on change” sowie “cyclic” unterstützt.

Relevante Parameter: Timeout, Transmode, SampleTime, LVBufferSize, TCBufferSize

Bei Transmode = “on change” ist die SampleTime sowie die TCBufferSize nicht relevant.

ADS-Read 4:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[5] [6] SymbolName

Beschreibt ein ADS-Symbol bestehend aus AMS-Adresse und Symbol-Bezeichnung:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[7] Send

Send Flag, TRUE registriert die ADS-Notification

[8] Read Status

Lese-Status

[10] Ads Read Data

Gepufferte ADS-Rohdaten

E-Noti. Single

In dieser Betriebsart des ADS Read.vi werden ADS-Notifications auf den betreffenden ADS-Symbolen in TwinCAT registriert und danach kontinuierlich als LabVIEW™-Event an LabVIEW™ übertragen. Die ADS-Notification meldet sich nach einer definierten Zeit, wenn ElapseTimeMs größer Null ist, oder bleibt bestehen, bis sie aktiv abgemeldet wird. Für die Verwendung von user events in LabVIEW™, siehe Dokumentation von LabVIEW™. Im Gegensatz zu E-Noti. Buffered (siehe unten) wird hier kein LabVIEW™-seitiger Pufferspeicher genutzt.

Relevante Parameter: Timeout, Transmode, SampleTime, TCBufferSize

Bei Transmode = “on change” ist die SampleTime sowie die TCBufferSize nicht relevant.

ADS-Read 5:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[1] ElapseTimeMs

Messdauer in Millisekunden:

  • ElapseTimeMs > 0: Die Notifications stoppen nach dem Ablauf der Zeit.
  • ElapseTimeMs = 0: Die Notifications müssen von außen gestoppt werden.

[5] [6] SymbolName

Beschreibt ein ADS-Symbol bestehend aus AMS-Adresse und Symbol-Bezeichnung:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[7] Start Notifications

Send Flag, TRUE startet die ADS-Notification

[9] Noti. E-Single Event Ref

Referenz auf user event

E-Noti Buffered

In dieser Betriebsart des ADS Read.vi werden ADS-Notifications auf den betreffenden ADS-Symbolen in TwinCAT registriert und danach kontinuierlich als LabVIEW™-Event an LabVIEW™ übertragen. Die ADS-Notification meldet sich nach einer definierten Zeit, wenn ElapseTimeMs größer Null ist, oder bleibt bestehen, bis sie aktiv abgemeldet wird. Für die Verwendung von user events in LabVIEW™, siehe Dokumentation von LabVIEW™. Im Gegensatz zu E-Noti. Single (siehe oben) wird hier ein LabVIEW™-seitiger Pufferspeicher der Größe LVBufferSize verwendet. Nachdem der Puffer vollständig gefüllt ist, werden die gesammelten Daten per Event an LabVIEW™ übergeben.

Relevante Parameter: Timeout, Transmode, SampleTime, TCBufferSize, LVBufferSize

Bei Transmode = “on change” ist die SampleTime sowie die TCBufferSize nicht relevant.

ADS-Read 6:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[1] ElapseTimeMs

Messdauer in Millisekunden:

  • ElapseTimeMs > 0: Die Notifications stoppen nach dem Ablauf der Zeit.
  • ElapseTimeMs = 0: Die Notifications müssen von außen gestoppt werden.

[5] [6] SymbolName

Beschreibt ein ADS-Symbol bestehend aus AMS-Adresse und Symbol-Bezeichnung:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[7] Start Notifications

Send Flag, TRUE startet die ADS-Notification

[9] Noti. E-Single Event Ref

Referenz auf user event

E-Noti. Multiple Symbols

Diese Betriebsart des ADS Read.vi funktioniert wie E-Noti. Buffered, mit der Ausnahme, dass dieses VI für mehrere ADS-Symbole gleichzeitig genutzt werden kann.

Relevante Parameter: Timeout, Transmode, SampleTime, TCBufferSize, LVBufferSize

Bei Transmode = “on change” ist die SampleTime sowie die TCBufferSize nicht relevant.

ADS-Read 7:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[1] ElapseTimeMs

Ein Array von U32 bestehend aus Messdauer in Millisekunden:

  • Element von ElapseTimeMs > 0: Die Notifications stoppen nach dem Ablauf der Zeit.
  • Element von ElapseTimeMs = 0: Die Notifications müssen von außen gestoppt werden.

[5] [6] Symbols

Ein Array von LabVIEW™-Zeichenketten, das die ADS-Symbole spezifiziert. Ein Symbol wird durch folgende Elemente benannt:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[9] Noti. E-Buffered Event Refs

Ein Array von Referenzen auf user event

LVB-Noti. Single Symbol

Diese Betriebsart des ADS Read.vi funktioniert wie E-Noti. Buffered, mit der Ausnahme, dass dieses VI statt über LabVIEW™-Events einen direkten Zugriff auf LVBuffer ermöglicht. Infolgedessen werden auch keine LabVIEW™-Events benötigt, um die Notifications zu lesen.

Relevante Parameter: Timeout, Transmode, SampleTime, LVBufferSize, TCBufferSize

Bei Transmode = “on change” ist die SampleTime sowie die TCBufferSize nicht relevant.

ADS-Read 8:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[1] ElapseTimeMs

Ein Array von U32 bestehend aus Messdauer in Millisekunden:

  • Element von ElapseTimeMs > 0: Die Notifications stoppen nach dem Ablauf der Zeit.
  • Element von ElapseTimeMs = 0: Die Notifications müssen von außen gestoppt werden.

[5] [6] SymbolName

Beschreibt ein ADS-Symbol bestehend aus AMS-Adresse und Symbol-Bezeichnung:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[9] LVBuffer Handle

Ein Array von U32 bestehend aus Handle auf LVBuffer

LVB-Noti. Multiple Symbols

Diese Betriebsart des ADS Read.vi funktioniert genau wie LVB-Noti. Single Symbol, mit dem Unterschied, dass dieses VI für mehrere ADS-Symbole gleichzeitig genutzt werden kann.

Relevante Parameter: Timeout, Transmode, SampleTime, LVBufferSize, TCBufferSize

Bei Transmode = “on change” ist die SampleTime sowie die TCBufferSize nicht relevant.

ADS-Read 9:

Eingang/Ausgang

Bedeutung

[0] [4] Handle

Handle auf den ADS-Client

[1] ElapseTimeMs

Ein Array von U32 bestehend aus Messdauer in Millisekunden:

  • Element von ElapseTimeMs > 0: Die Notifications stoppen nach dem Ablauf der Zeit.
  • Element von ElapseTimeMs = 0: Die Notifications müssen von außen gestoppt werden.

[5] [6] Symbols

Ein Array von LabVIEW™-Zeichenketten, das die ADS-Symbole spezifiziert. Ein Symbol wird durch folgende Elemente benannt:

  • AMS-Adresse: Ist eine Zusammenstellung von AMS NetId und AMS-Port.
  • Symbol-Bezeichnung: Symbol-Name oder Index-Group/Offset

Beispiele für den Symbol-Namen:

  • AMS-Adresse und Symbol-Name: 127.0.0.0.1.1:851::MAIN.Var
  • AMS-Adresse und Index-Group/Offset: 127.0.0.0.1.1:851::0x1234/0x12345

[9] LVBuffer Handle

Ein Array von U32 bestehend aus Handle auf LVBuffer