LabVIEW™-VIs
Das TwinCAT 3 Interface for LabVIEW™ bietet Bedienelemente und VIs für die Nutzung in LabVIEW™.
Die VIs befinden sich im Blockdiagramm in der functions palette: Functions > User Libraries > Beckhoff-LabVIEW-Interface.

Der Hauptordner beinhaltet die Grund-VIs, die zum Aufbauen eines Programms zum Lesen über ADS, zum Schreiben über ADS, zum TypeResolving und zum Freigeben des ADS-Clients genutzt werden können. Zusätzlich beinhaltet der Hauptordner noch die Unterordner: Low-Level, With TypeResolving und Utilities.
Low-Level
Der Low-Level-Unterordner enthält Low-Level-VIs. Die Low-Level-VIs funktionieren nach dem gleichen Prinzip wie die Grund-VI. Die Low-Level-VIs bringen etwas mehr Programmierungsaufwand mit sich, sind jedoch, im Vergleich zu den Grund-VIs, performanter (im Sinne des Datendurchsatzes) und bieten mehr Freiheit in der Realisierung komplexer Programme. Lesen mit Polling Zyklus ist ein Beispiel, welches die Low-Level-VIs für schnelles Lesen über ADS nutzt. Schreiben mit Polling Zyklus ist ein ähnliches Beispiel. Nicht nur das Lesen und Schreiben können in dieser Art und Weise beschleunigt werden, sondern auch das TypeResolving, siehe bspw. Continous Read.
Die Tabelle beschreibt die Unterordner und deren Inhalt und Funktion:
Unterordner | VIs | Funktion |
|---|---|---|
Base Init | Initialisiert den ADS-Client. | |
Get List of ReadWrite Symbols | Erstellt eine Liste von ADS-Lese- und Schreibe-Symbolen. | |
Get List of Registered Targets | Erstellt eine Liste von eingetragenen ADS-Zielsystemen. | |
Init Reader | Initialisiert den ADS-Reader. | |
Send Reader-Request | Sendet eine Anfrage an den ADS-Server. | |
Register Notification | Meldet die Notification am ADS-Server an. | |
TryReadData | Überprüft die Antwort vom Server und liest den Datenstrom. | |
Release Reader | Gibt den Reader aus dem Speicher frei. | |
Init Writer | Initialisiert den ADS-Writer. | |
Send Writer-Request | Sendet eine Anfrage an den ADS-Server. | |
CheckWriteStatus | Überprüft für die Antwort vom ADS-Server, ob das Datenpaket empfangen wurde. | |
Release Writer | Gibt den Writer aus dem Speicher frei. | |
Init SumUp | Initialisiert den ADS-SumUp. | |
Add SubCommand | Fügt dem SumUp ein neues Kommando hinzu. | |
Put Data | Fügt dem initialisierten Kommando neue Daten hinzu, die nach TwinCAT geschrieben werden sollen. | |
Get Data | Ruft von einem SumUp-Kommando Daten ab, die aus TwinCAT gelesen wurden. | |
Enable Autosend | Ermöglicht das automatische Senden der SumUp-Kommandos. | |
Send SumpUp | Sendet alle SumUp-Kommandos an die TwinCAT Runtime. | |
Rleease SumUp | Gibt das SumUp-Handle im Speicher frei. | |
Init Type | Initialisiert den TypeResolver. | |
Resolve From TC Type | Konvertiert den TwinCAT 3-Datentyp in einen LabVIEW™-Datentyp Variant. | |
Resolve To TC Type | Konvertiert den LabVIEW™-Datentyp Variant in einen TwinCAT 3-Datentyp. | |
Release Type | Gibt den TypeResolver aus dem Speicher frei. |

With TypeResolving
Der With TypeResolving-Unterordner enthält zwei VIs für das Lesen und Schreiben über ADS mit integriertem TypeResolver Block.

Utilities
Der Utilities-Unterordner enthält zusätzliche VIs für folgende Zwecke:
Unterordner | VIs | Funktion |
|---|---|---|
ADS To LabVIEW Timestamp | Konvertiert ADS-Zeitstempel in LabVIEW™-Zeitstempel. | |
Notification Data To Variant Array | Baut ein Array von LabVIEW™Variant aus dem Notification Datenstrom. | |
Stop Notification | Stoppt die ADS-Notifications. | |
Start Notification | Startet die ADS-Notifications. | |
Unregister Notification | Meldet die Notification am Server ab. | |
LVBuffer | Init LVBuffer Handle | Initialisiert ein Handle zum Lesen einer ADS-Notification unter Verwendung des LabVIEW™-seitigen Datenpuffers. |
Read From LVBuffer | Lesen von Daten aus dem Datenpuffer | |
LVBuffer Status | Auslesen der Anzahl der Samples im Datenpuffer | |
Release LVBuffer Handle | Freigabe des Handles auf den Datenpuffer | |
Routes | Get Routes | Liest alle Zielsysteme aus, die mit dem lokalen TwinCAT-System verbunden sind. |
Get Route Info | Gibt zu einem Zielsystem alle Subsysteme und Ports an. | |
CoE | Read CoE List | Liest ein CoE-Verzeichnis einer Klemme aus und listet die verfügbaren CoE-Objekte auf. |
Read CoE Description | Ruft die Beschreibung eines CoE-Objekts auf und gibt die Unterelemente an. | |
Read CoE Entry | Liest einen Eintrag eines CoE-Verzeichnisses aus und gibt die Eigenschaften aus. | |
Read CoE Value | Liest den Wert eines CoE-Eintrags aus. | |
Write CoE Value | Schreibt den Wert eines CoE-Eintrags. | |
Project Automation | Init Project | Initialisiert ein TwinCAT-3-Engineering-Projekt. Es wird entweder ein vorhandenes Projekt geöffnet oder ein neues erstellt. |
Create Task | Erstellen eine Task in einem TwinCAT-3-Projekt oder verändern der Task Parameter. | |
Scan IO | Prüft auf dem Zielsystem vorhandene Ein- und Ausgänge und fügt diese dem Projektbaum hinzu. | |
Create PLC | Erstellen einer SPS innerhalb eines TwinCAT-3-Projekts. | |
Activate Solution | Aktivieren eines TwinCAT-3-Projekts. | |
Release Project | Gibt das Handle auf das TwinCAT-3-Projekt frei. | |
Heartbeat | Init Heartbeat | Erstellt eine Heartbeat-Instanz mit einem Handle. |
Run Heartbeat | Startet die Verbindungsüberwachung. | |
Stop Heartbeat | Stoppt die Verbindungsüberwachung. | |
Release Heartbeat | Gibt das Handle auf die Heartbeat-Instanz aus dem Speicher frei. | |
Get RTD Estimate | Gibt die aktuelle Schätzung des Roundtrip-Delays an. | |
| Heartbeat | Führt das Initialisieren, Starten und Stoppen der Verbindungsüberwachung in einem VI aus. |
| Generate Type | Generiert aus der TypeInfo des TypeResolvers eine entsprechende Konstante oder ein Control mit den LabVIEW™ Datentypen zu einem Symbol. |
| Check License | Überprüft den Lizenzzustand auf einem vorgegebenen Zielsystem. |
Set Device State, | Liest oder ändert den Zustand eines ADS-Device. | |
Get Version Info | Gibt Informationen bezüglich der Produktversion. |

Bedienelemente
Die Bedienelementen befinden sich im Frontpanel in der controls palette unter: User Controls > Beckhoff-LabVIEW-Interface.

Der Unterordner „Notification“ enthält Bedienelemente, die beim Initialisieren des LabVIEW™-Ereignis für ADS-Notifications benötigt werden.
Des Weiteren beinhaltet der Unterordner „TypeGenerator“ TypeGenerator-Klassen-Objekte, um TwinCAT-Typen in LabVIEW™-Typen zu konvertieren (siehe dazu LabVIEW™ Typ Generieren).
Folgende Tabelle beschreibt die Funktion der Bedienelemente:
Unterordner | Controls | Funktion |
|---|---|---|
Notification | Single User-Event Data | Bedienelement für das Initialisieren eines LabVIEW™-Events für Single ADS-Notifications. |
Buffered User-Event Data | Bedienelement für das Initialisieren eines LabVIEW™-Events für Buffered ADS-Notifications. | |
TypeGenerator | CBase | Klassen-Objekt; Basis Klasse des TypeGenerator |
CBool | Klassen-Objekt; Boolesche Klasse des TypeGenerator. | |
CNumeric | Klassen-Objekt; Numerische Klasse des TypeGenerator. | |
CString | Klassen-Objekt; LabVIEW™ Zeichenkette Klasse des TypeGenerator. | |
CArray | Klassen-Objekt; Array Klasse des TypeGenerator. | |
CTimestamp | Klassen-Objekt; LabVIEW™ Zeitstempel Klasse des TypeGenerator. | |
CCluster | Klassen-Objekt; LabVIEW™ Cluster Klasse des TypeGenerator. |