Codestelle für eine Variable vom Typ ¨TIME¨

Frage:
Wie kann man für eine Variable vom Typ 'TIME' eine Codestelle anlegen?

Antwort:
Der Instanz-Parametermanager (DDS: Register Resourcen), mit dem neue Codestellen angelegt werden können, unterstützt folgende Datentypen:

· BOOL
· BYTE
· WORD
· DWORD
· SINT
· USINT
· INT
· UINT
· DINT
· UDINT

D. h., für Variablen vom Typ TIME können mit dem Instanz-Parametermanager keine Codestellen direkt angelegt werden.

Um nun trotzdem einen Zeitwert über eine Codestelle eingeben bzw. anzeigen zu können, legt man eine Hilfsvariable mit einem der oben beschriebenen Datentypen (z. B. UDINT) an. Mit Hilfe einer Konvertierfunktion (z. B. UDINT_TO_TIME) kann der Wert der Variablen in den Datentyp TIME konvertiert werden. Der Datentyp TIME hat eine Datengröße von 32 Bit. Bei der Konvertierung entspricht der Wert 1 dem Zeitwert 1 Millisekunde.

Beispiel:

Die Zeitangabe für das IEC-61131-Zeitglied TON soll über eine Codestelle erfolgen. Der Eingang für die Zeitangabe ist bei allen IEC-61131-Zeitgliedern vom Datentyp TIME.

Lösung:

Die Hilfsvariable udnTime vom Datentyp UDINT wird mit dem Instanz-Parametermanager mit einer Codestelle verbunden. Über die Konvertierfunktion UDINT_TO_TIME wird diese Hilfsvariable an den Zeiteingang des Funktionsblocks TON gelegt. Über die Codestelle kann nun eine maximale Verzögerungszeit von 4294967295ms eingegeben werden, das entspricht einer Zeit von etwas mehr als 49 Tagen.

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/200603041/0/
Contact form