Utilities

Unter Utilities liegen zusätzliche VIs.

Check License

Der Block Check License überprüft das Zielsystem auf eine gültige TF3710 TwinCAT 3 Interface for LabVIEW™-Lizenz.

Utilities 1:

Eingang/Ausgang

Bedeutung

[0] Handle

Das Handle auf den Client

[5] Target/Symbol

ADS-Target als Zeichenkette bestehend auf AMSNetId oder ADS-Symbol als Zeichenkette bestehend auf AMSNetId und Symbol-Name

[4] Handle

Das Handle auf den Client

[6] Target/Symbol

ADS-Target als Zeichenkette bestehend auf AMSNetId oder ADS-Symbol als Zeichenkette bestehend auf AMSNetId und Symbol-Name

[8] LicenseInfo

LabVIEW™-Cluster bestehend aus drei Elementen:

  • Boolesche Flag (TRUE wenn Lizenz gültig ist, sonst FALSE)
  • AMSNetId des Zielsystems
  • Zeichenkette mit Nachricht über den Lizenz-Zustand, z. B. „license is valid“ oder „trial license denied“

Get Device State

Der Block Device State ist ein polymorphes VI und kann als Get Device State und Set Device State betrieben werden.

Die Betriebsart Get Device State liest den aktuellen Zustand des Zielsystems und der PLC.

Die folgende Tabelle beschreibt den ADS Port und dessen Bedeutung:

ADS Port

ADS State

Zustand

TC3 PLC Port > 851

ADS_STATE_RUN

PLC läuft.

 

ADS_STATE_STOP

PLC ist gestoppt.

 

ADS_STATE_RESET

PLC ist resettet.

System Port = 10000

ADS_STATE_RECONFIG

TwinCAT ist im Config-Modus.

 

ADS_STATE_RESET

TwinCAT ist im Run-Modus.

Utilities 2:

Eingang/Ausgang

Bedeutung

[0] Handle

Das Handle auf den Client

[5] Target

ADS-Target als Zeichenkette bestehend auf AMSNetId

[4] Handle

Das Handle auf den Client

[6] Target

ADS-Target als Zeichenkette bestehend auf AMSNetId

[8] Device State

Zustand des Zielsystems (ENUM)

[10] ADS State

Zustand der PLC (ENUM)

Set Device State

Der Block Set Device State ändert den aktuellen Zustand des Zielsystems und der PLC.

Mit einem bestimmten ADS Port und ADS State können die PLC oder TwinCAT in einen entsprechenden Zustand gesetzt werden. Die folgende Tabelle beschreibt den ADS Port und dessen Nutzung:

ADS Port

ADS State

Zustand

TC3 PLC Port > 851

ADS_STATE_RUN

Startet die PLC.

 

ADS_STATE_STOP

Stoppt die PLC.

 

ADS_STATE_RESET

Resettet die PLC.

System Port = 10000

ADS_STATE_RECONFIG

Führt TwinCAT in den Config-Modus.

 

ADS_STATE_RESET

Führt TwinCAT in den Run-Modus.

Utilities 3:

Eingang/Ausgang

Bedeutung

[0] Handle

Das Handle auf den Client

[5] Target

ADS-Target als Zeichenkette bestehend auf AMSNetId

[7] Device State

Neuer Zustand des Zielsystems (Numerisch)

[9] ADS State

Neuer Zustand der PLC (ENUM)

[4] Handle

Das Handle auf den Client

[6] Target

ADS-Target als Zeichenkette bestehend auf AMSNetId

Get Version Info

Der Block Get Version Info gibt die aktuelle Version des TF3710-Setups und der installierten TF3710 Bibliothek als LabVIEW™-Zeichenkette zurück.

Utilities 4:

Ausgang

Bedeutung

[6] ProductVersion

Setup-Version als Zeichenkette

[8] FileVersion

Version der installierten TF3710 Bibliothek als Zeichenkette

Generate Type

Der Block Generate Type erzeugt automatisch den LabVIEW™-Datentyp basierend auf einer TypeInfo-Beschreibung von einem TwinCAT-3-Datentyp.

Der LabVIEW™-Typ kann als Constant oder Steuer/Bedienelement auf einem Blockdiagramm eingefügt oder als LabVIEW™-ctl-Datei gespeichert werden. Der Generate Type Block ist ein Wrapper VI und nutzt Low-Level Klassen-Objekte von TypeGenerator zusammen mit dem TypeResolver. Es gibt verschiedene Möglichkeiten, wie der Wrapper Block parametrisiert werden kann.

  1. Der TypeResolver ist schon von außen initialisiert und LabVIEW™ hat schon ein TypeHandle. Der bAutoInit flag hat den Wert „False“:
  2. Der TypeResolver ist nicht von außen initialisiert und LabVIEW™ hat keinen TypeHandle. Der bAutoInit flag hat den Wert „True“:
    • Der TypeResolver hat keine Informationen bezüglich des TwinCAT 3-Datentyps.
    • Der Wrapper Block benötigt die TypeInfo um den Typ zu generieren.
    • Das Beispiel Generate Type using TypeInfo file nutzt dieses Verfahren.
Utilities 5:

Eingang/Ausgang

Bedeutung

[0] Handle

Das Handle auf den Client

[1] bAutoInit

Boolesche flag (True = TypeResolver wird intern initialisiert, sonst False)

[2] Saving Info

LabVIEW™-Cluster bestehend aus drei Elementen:

  • CustomDir: Boolesche flag
    TRUE = LabVIEW™-Typ wird in einem bestimmten Ordner gespeichert (Dir Name). Wenn es diesen Ordner nicht gibt, erzeugt der Block den Ordner.
    FALSE = LabVIEW™-Typ wird im Projektordner, Unterordner Ctl, gespeichert.
  • Dir Name: LabVIEW™-Zeichenkette (Name des Ordners)
  • Control FileName: LabVIEW™-Zeichenkette (Name der neuen Ctl. Wenn leer, nutzt der Block den Namen aus der TypeInfo)

[3] VI Refnum

Eine statische VI Refnum
Der Block nutzt die VI Refnum, um den LabVIEW™-Typ als Constant/Control/Indicator auf dem Blockdiagramm einzufügen.

[5] TypeHdl

Das Handle auf den TypeResolver

[7] Symbol Group

LabVIEW™-Enum:

  • Read Symbol: Der Block generiert ein Bedienelement.
  • Write Symbol: Der Block generiert ein Steuerelement.

[9] TypeInfo

LabVIEW™-Zeichenkette als XML-Beschreibung vom TwinCAT 3-Datentyp

[12] Block Diagram Type Stype

LabVIEW™-Enum:

  • Constant
  • Control/Indicator

[13] Control/Indicator/Constant Name

LabVIEW™-Zeichenkette.

Leere Zeichenkette: Default Name der TypeInfo.

Sonst: Name des Control/Indicator/Constant.

[8] Generated Type Name

LabVIEW™-Zeichenkette als Name von dem generierten Typ

[10] Loaded Type

LabVIEW™-Enum
Beschreibt welcher Datentyp generiert wurde.

Utilities 6:

Parameter “Symbol Group”

Mit dem Parameter Symbol Group kann ausgewählt werden, ob ein Steuer-/Anzeige-Element generiert werden muss. Für das Steuerelement generiert der TypeGenerator den Typ ohne Namen, da der TypeResolver das Steuerelement ohne Namen unterstützt. Wenn das Steuerelement ein LabVIEW™-Cluster ist, dann werden die Cluster Member auch ohne Namen generiert.