Einmaliges Lesen
Dieser Kommunikations-Modus ist ideal, um z. B. eine TwinCAT-Konfiguration oder einen vollständig gefüllten Datenpuffer in der SPS einmalig zu lesen. Das einmalige Lesen benötigt, im Gegensatz zum kontinuierlichen Lesen, keine zusätzliche Programmierung in LabVIEW™.
Das Produkt TF3710 TwinCAT 3 Interface for LabVIEW™ kategorisiert das einmalige Lesen in vier Fälle:
- Synchron Lesen
- Asynchron Lesen
- Notification Single
- Notification Buffered
Synchron Lesen
Beim synchronen Lesen wird, nach Absenden einer Anfrage vom Client, auf eine Antwort vom ADS-Server gewartet, bevor der Programmcode weiter ausgeführt wird. Der Reader wird sofort nach einer erfolgreichen Rückmeldung vom Server freigegeben. Somit eignet sich diese Art des Lesens, um direkt nach Erhalt der Daten aus TwinCAT diese zu verrechnen oder anzuzeigen.
Der polymorphic Block „Sync Single“ ist zusammengesetzt aus mehreren Low-Level VIs und verbindet somit das Erstellen eines Handles, das Lesen und das Freigeben.

Beispiele in LabVIEW™: Grundlegende Beispiele
Asynchron Lesen
Beim asynchronen Lesen wird Client-seitig nicht auf eine Antwort vom ADS-Server gewartet. Bei dieser Betriebsart kann nicht gewährleistet werden, dass der Reader das Datenpaket schon empfangen hat oder nicht. Als Folge kann der Reader auch nicht freigegeben werden.
Das polymorphic VI „Async Single“ initialisiert daher den Reader und schickt die Anfrage an TwinCAT. Das Freigeben (Release) ist nicht Teil des VI.

Beispiele in LabVIEW™: Grundlegende Beispiele
Notification Single
![]() | Notification Single wird nur für den Transmode „on change“ unterstützt. |
Der Block „Noti. Single“ benötigt, im Gegensatz zu Notification E-Single, keine durch den Nutzer programmierte Ereignisstruktur. Dafür ist die Notification auch nur für einen einmalige Nutzen, d. h. Einfangen eines einmaligen Events gedacht. Die Notification wird im Hintergrund registriert, empfangen und dann entfernt.
Dieser Block liefert als Rückgabewert ein Array von zwei Werten, den letzten Zustand vor der Wertänderung und den neuen Zustand nach der Wertänderung, also z. B. [FALSE, TRUE], wenn eine Variable den Wert von FALSE auf TRUE verändert hat.

Beispiele in LabVIEW™: Grundlegende Beispiele
Notification Buffered
Der Block „Noti. Buffered“ benötigt, im Gegensatz zu Ereignisgesteuertes Lesen, keine durch den Nutzer programmierte Ereignisstruktur. Der Block nutzt einen Puffer der Größe LVBufferSize
, um die von TwinCAT empfangenen Daten in einer Mittelschicht zu speichern. Erst wenn der Puffer voll ist, wird die Notification entfernt und danach die gespeicherten Daten an LabVIEW™ weitergegeben.
Entsprechend ist mit diesem Kommunikations-Modus der Empfang einer Zeitreihe mit vordefinierter Länge (LVBufferSize Samples) einfach zu realisieren.
Hinweis | |
LVBufferSize Die Puffergröße wird durch den Parameter |

Beispiele in LabVIEW™: Grundlegende Beispiele