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:

  1. Synchron Lesen
  2. Asynchron Lesen
  3. Notification Single
  4. 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.

Einmaliges Lesen 1:

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.

Einmaliges Lesen 2:

Beispiele in LabVIEW™: Grundlegende Beispiele

Notification Single

Einmaliges Lesen 3:

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.

Einmaliges Lesen 4:

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 LVBufferSize beim Erzeugen vom ADS-Symbol bestimmt, siehe Symbol Interface VI.

Einmaliges Lesen 5:

Beispiele in LabVIEW™: Grundlegende Beispiele