ADS DAQ

Das ADS DAQ (Data Acquisition) VI ist ein LabVIEW™ Express VI zum einfachen Konfigurieren von Messaufgaben mit TwinCAT 3, d. h. mit diesem VI können Sie lesend auf TwinCAT-Laufzeiten zugreifen.

Das User-Interface des ADS DAQ VIs leitet Sie Schritt für Schritt durch die Konfiguration Ihrer Messaufgabe:

Nach dem Platzieren der ADS DAQ Instanz im LabVIEW™-Blockdiagramm oder per Doppelklick, öffnet sich das Konfigurationsfenster. Mit Hilfe der nachfolgend beschriebenen Auswahlfenster können die Konfigurationen vorgenommen werden. Nach Fertigstellung der Konfiguration erstellt die Instanz alle notwendigen Ressourcen für das Lesen der Daten.

ADS DAQ 1:

VI vor Nutzung des ADS DAQ VI speichern

Das ADS DAQ VI speichert die Konfiguration einer Instanz im Pfad des aktuellen Projekts/VI. Daher ist es erforderlich, dass das Projekt/VI zuvor gespeichert wird.

ADS DAQ VI beschleunigt öffnen

Die Bibliothek muss vorkompiliert sein.
1. Öffnen Sie in den LabVIEW™ Einstellungen unter Tools > Advanced die Einstellungen für „Mass Compile“.
2. Wählen Sie den Ordner der Bibliothek des TwinCAT 3 Interfaces for LabVIEW™ aus, z. B. C:\Program Files\ National Instruments\LabVIEW 2024\user.lib\Beckhoff-LabVIEW-Interface.
3. Starten Sie „Mass Compile“.
ADS DAQ 2:

Ausgang

Bedeutung

[20] Handle

Handle auf den ADS-Client

[25] Loaded Types

Ein Array von LabVIEW™ Enums:

  • Beschreibt, welche Datentypen generiert wurden.

[26] Selection

LabVIEW™-Cluster bestehend aus zwei Elementen:

  • SymbolName: Der Name des ADS-Symbols
  • Notification Mode: LabVIEW™ Enum
    • Single TypeResolved Queue: Liest nur ein Sample als Notification und fügt das Sample der LabVIEW™ Queue hinzu (nur im LabVIEW™ 32-Bit).
    • Single TypeResolved Control: Liest nur ein Sample als Notification und schreibt das Sample in das LabVIEW™ Anzeigeelement (nur im LabVIEW™ 32-Bit).
    • Buffered TypeResolved Queue: Liest eine Anzahl von Samples, wie beschrieben von LVBufferSize, und fügt die Samples der LabVIEW™ Queue hinzu.
    • Buffered TypeResolved Control: Liest eine Anzahl von Samples, wie beschrieben von LVBufferSize, und schreibt die Samples in das LabVIEW™ Anzeigeelement.
ADS DAQ 3:

Anzahl von Symbolen

Aktuell unterstützt der ADS DAQ Block das Lesen von maximal 10 ADS-Symbole pro Instanz. Nutzen Sie mehrere Instanzen oder das Upgrade ADS FlexDAQ, wenn Sie mehr als 10 ADS-Symbole lesen möchten.

ADS DAQ 4:

Generierung von TwinCAT-3-Datentypen

Um alle Notification Modi zu unterstützen, werden alle generierten Typen in Arrays umgewandelt. So werden Notifications Buffered ebenso wie Notifications Single in gleicher Art und Weise unterstützt.

Symbol-Auswahl-Fenster

In diesem Fenster werden die ADS-Symbole selektiert, die mit der ADS DAQ Instanz gelesen werden sollen. Das Fenster bietet drei verschiedene Wege, um die ADS-Symbole auszuwählen:

  1. Symbol Interface: Öffnet ein zusätzlich graphisches User-Interface zum Browsen von ADS-Symbolen.
    • Browsen Sie in die verbundenen Targets.
    • Selektieren Sie die gewünschten ADS-Symbole und ziehen Sie diese per Drag-and-drop in das rechte Feld.
    • Optional können Sie im rechten Feld die ausgewählten ADS-Symbole als Liste exportieren und als XML-Datei speichern.
  2. Symbol File: Öffnet ein LabVIEW™-Datei-Dialogfeld, um die ADS-Symbole anhand einer aus dem Symbol Interface exportierten XML-Datei einzulesen.
    • Liest nur die Symbole ein, beinhaltet jedoch nicht alle weiteren Einstellungen des ADS DAQ VI aus den weiteren Konfigurationsansichten.
  3. Load Previous Configuration: Lädt die letzte Konfiguration (falls existent), mit der die ADS DAQ Instanz bereits konfiguriert wurde.
    • Die Konfiguration öffnet sich immer als leere Konfiguration. Wenn Sie die existierende Konfiguration anpassen möchten, wählen Sie Load Previous Configuration.
ADS DAQ 5:

Nach Auswahl der ADS-Symbole, wählen Sie Next.

Wählen Sie zu jeder Zeit im Dialog Finish, um die Konfiguration zu speichern und zu schließen.

Notification-Auswahl-Fenster

In diesem Fenster wird der Notification Mode bei einzelnen ausgewählten ADS-Symbolen spezifiziert. Der Notification Mode beschreibt auf einer Seite die Art und Weise des Lesens (single/buffered) und auf der anderen Seite das Darstellen der gelesenen Daten in LabVIEW™ (control/queue). Default-Einstellung ist Buffered TypeResolved Queued.

Folgende Tabelle beschreibt die unterschiedlichen Eigenschaften:

 

Single TypeResolved

Buffered TypeResolved

Control

(Nur empfehlenswert, wenn die Daten nicht verarbeitet oder gespeichert werden müssen.)

Die einzelnen Notifications werden direkt in einem LabVIEW™ Control dargestellt.

Die Notifications werden zuerst in eine Puffer-Zwischenschicht geschrieben und in den LabVIEW™-Prozess übergeben, wenn der Puffer gefüllt ist. Die Daten werden in einem LabVIEW™ Control dargestellt.

Queued

(Empfehlenswert, wenn Daten verarbeitet, gespeichert, … werden sollen.)

Die einzelnen Notifications werden direkt in eine LabVIEW™ Queue eingefügt.

Die Notifications werden zuerst in eine Puffer-Zwischenschicht geschrieben und in den LabVIEW™-Prozess übergeben, wenn der Puffer gefüllt ist. Die Daten werden in eine LabVIEW™ Queue eingefügt.

Weitere Informationen zu Single- und Buffered-Mode, siehe Kommunikations-Modi und Ereignisgesteuertes Lesen.

ADS DAQ 6:

Wählen Sie Modify, um das Symbol Interface zu öffnen und Änderungen an den zu lesenden ADS-Symbolen vorzunehmen.

Wählen Sie Next, um zur nächsten Konfigurationsseite zu gelangen.

Typ-Generation-Auswahl-Fenster

In diesem Fenster kann ausgewählt werden, ob der jeweilige Datentyp des zu lesenden ADS-Symbols als LabVIEW™-Konstante oder als Bedien-/Anzeigeelement generiert werden soll. Sowohl Konstanten als auch Bedien-/Anzeigeelemente werden im Blockdiagramm des VI automatisch generiert, wo ebenfalls die ADS DAQ Instanz liegt. Default-Einstellung ist Control/Indicator.

ADS DAQ 7:

Mess-Job-Konfigurator

In diesem Fenster kann die ADS DAQ Instanz mit zusätzlichen Start-/Stop-/Aufnahme- Bedingungen konfiguriert werden.

Default-Einstellung ist bei Start: LabVIEW run und bei Stop: LabVIEW Abort, kein Record.

ADS DAQ 8:

Start Job

Das Bedienelement Start Job konfiguriert das Starten des Lesevorgangs. Der Parameter Start Condition beschreibt die Art und Weise des Startens.

ADS DAQ 9:

Die untenstehende Tabelle beschreibt den Übergang (Letzter WertNeuer Wert) von verschiedenen TwinCAT-Typen mit der hier verwendeten Definition von Rising und Falling Edge.

TwinCAT-Typ

Rising Edge

Falling Edge

 

Letzter Wert

Neuer Wert

Letzter Wert

Neuer Wert

Boolescher Typ

0

1

1

0

Numerischer ganzzahliger Typ (i8, i16, i32, i64, u8, u16, u32, u64)

< Threshold

= Threshold

> Threshold

= Threshold

Numerischer rationaler Typ (float32, float64) Epsilon: 1.0 e-7

< Threshold

= Threshold

> Threshold

= Threshold

Stop Job

Das Bedienelement Stop Job konfiguriert das Stoppen von ADS-Notifications, also den Stopp des Lesevorgangs. Der Parameter Stop Condition beschreibt die Art und Weise des Stoppens.

ADS DAQ 10:

Record Job

Die Aufnahme von ADS DAQ Messdaten kann mit dem Bedienelement Record Job konfiguriert werden. Nach der Konfiguration und dem Klicken von Finish, generiert die ADS DAQ Instanz einen zusätzlichen Block To TDMS, um die empfangenen Daten unter dem angegebenen Dateinamen und Pfad als LabVIEW™-TDMS-Datei zu speichern.

ADS DAQ 11:

Wählen Sie Finish, um die Einstellungen zu speichern. Die automatische Code-Generierung für Ihre Konfiguration startet.

Automatisch generierter Code im Blockdiagramm

Nachfolgend werden exemplarisch zwei Varianten des automatisch generierten Codes erläutert.

Im ersten Beispiel wird das ADS DAQ VI mit Default-Einstellungen generiert, d. h. Buffered Type Resolved Queue, Control/Indicator, Start mit LabVIEW™ Run, Stop mit LabVIEW™ Stop. Gelesen wird ein ADS-Symbol MAIN.aBuffer.

ADS DAQ 12:

Im zweiten Beispiel wird die Startbedingung von LabVIEW™-Run auf Trigger on LabVIEW™-Event geändert und das recording in eine TDMS-Datei aktiviert.

ADS DAQ 13:

Hinweise zum „To TDMS“ im Blockdiagramm

Der Block To TDMS ermöglicht das Speichern von ADS DAQ Instanz Daten in einer LabVIEW™-TDMS-Datei (Das NI-TDMS Dateiformat). Dieser Block wird von der ADS DAQ Instanz automatisch generiert, allerdings nur dann, wenn als Notification-Mode Queued gewählt wurde, vgl. ADS DAQ.

Das TDMS-Dateiformat bietet TDMS-Objekte und TDMS-Kanäle, um Daten bzw. Eigenschaften (Name, Datum, …) unter TDMS-Objekten hierarchisch zu ordnen. Mit den Eingängen Property-/Data Objects können sowohl Eigenschaften als auch Daten referenziert bzw. eingeordnet werden. Die Eingänge Property-/Data Values helfen dabei, Messwerte unter TDMS-Objekten und -Kanälen einzugeben.

ADS DAQ 14:

Eingang/Ausgang

Bedeutung

[0] Path In

Der Pfad zur TDMS-Datei

[1] Property Objects

Ein Array einer LabVIEW™-Zeichenkette:

  • Referenziert ein bestimmtes Objekt (Channel) für Eigenschaften mit dem im Folgenden beschriebenen Format:
  1. Objekt und Channels werden mit Schrägstrich „/“ getrennt.
  2. Die Liste von Eigenschaften wird durch eine mit Komma getrennte Zeichenkette („,“) eingegeben.
  3. Die Punkte 1 und 2 werden mit einem Doppelpunkt („:“) getrennt.

Beispiel:

Property Object[0]=ObjektABC/ChannelXYZ:Name,Author,Datum

TDMS Objekt=ObjektABC

TDMS Channel=ChannelXYZ

Eingenschaft[0]=Name (Zeichenkette)

Eingenschaft[1]=Author (Zeichenkette)

Eingenschaft[2]=Datum (Zeitstempel)

[2] Property Values

Ein Array von LabVIEW™ Variants:

  • Beschreibt die Werte von Eigenschaften.

[3] Transpose Data?

Flag zum Transponieren der eingegebenen 2D- der 3D-Arrays.

[5] Data Objects

Ein Array einer LabVIEW™ Zeichenkette:

  • Referenziert ein bestimmtes Objekt (Channel) für Daten.

Für das Referenzieren wird das folgende Format genutzt:

  1. Objekt und Channels werden mit Schrägstrich („/“) getrennt.

Beispiel:

Data Object[0]=ObjektABC/ChannelXYZ

[7] Data Values

Ein Array von LabVIEW™ Variants mit folgenden unterstützten LabVIEW™-Typen:

  • LabVIEW™-Waveform
  • 1D, 2D, 3D Array (2D, 3D Array werden intern in 1D umgeformt):
    • Boolescher Typ
    • Ganzzahlige nummerische Typen (i8 … i64,u8 … u64)
    • Nicht ganzzahlige nummerische Typen (float32, float64)
    • LabVIEW™-Zeichenkette

[4] Path Out

Der Pfad der TDMS-Datei

Folgende Grafik zeigt exemplarisch den To TDMS -Block im Einsatz.

ADS DAQ 15: