Task-gesteuerter Timer

Neben den Standard-Funktionsbausteinen für TIMER, wie in SPAS der Typ TON verwendet wird, kann auch ein zyklischer Aufruf einer Addierfunktion für Zeitwerte bis zu 596,5 Stunden bzw. reichlich 24 Tagen genutzt werden.
Die Addierfunktion,
z.B. Zeitwert:= Zeitwert + Taktzeit;
kann entweder als FUNCTION oder eingebettet in einen PRAP geschrieben werden. Der Datentyp für beide Größen ist TIME[1], USAGE für "Zeitwert" ist Input/Output und für "Taktzeit" Constant. Die Taktzeit muß gleich der zyklischen TASK sein, die speziell für die Zeitwert-Funktion einzurichten ist.
Natürlich muß ein PROGRAM angelegt werden, das die Zeitfunktion im Rahmen einer FUNCTION oder des PRAP aufruft, wobei auch dem formalen Parameter "Zeitwert" ein direkt addressierter oder lokaler Speicherplatz zugewiesen wird, den Sie am besten in der Ressource deklarieren, weil Sie dann von allen Programmen darauf zugreifen können.

Zwei weitere Hinweise sind noch wichtig:

  • Sie können in einem beliebigen PRAP oder einer FUNCTION auf die Variable des Zeitwertes zugreifen. Projektieren Sie dazu die Vergleicher-Funktion COMPARISON in einer von Ihnen einzurichtenden Bedingung / Prozeßvariable.

  • Nutzen Sie irgendwo im Projekt eine Möglichkeit aus, um der Variablen "Zeitwert" wieder den Wert Null zuzuweisen. Dies kann z.B. nach dem Ende eines Programmdurchlaufes sein, wenn dieser kürzer als 24,85 Tage = 596,4 Stunden ist.

BEISPIEL:
Sie arbeiten mit STEP 7 und benötigen Zeiten zwischen 4 und 240 Stunden. Die Genauigkeit ist unkritisch, so nehmen Sie den OB 30 mit 5s Taktzeit und Priorität 10, weil es einen OB mit einer größeren Taktzeit nicht gibt. Also projektieren Sie in der Zeitwert-Funktion die Taktzeit = 5s.


[1] Die Eigenschaft "Datentyp" einer Variablen bestimmt die Codierung der zur Verfügung stehenden Bit, zur Darstellung bzw. Speicherung der Variablen.
Der Typ BOOL nutzt nur ein Bit, wobei die Adressierung von Hersteller zu Hersteller der SPS recht unterschiedlich ist.In SPAS wird nach dem Byte.Bit-Prinzip adressiert. Die Kennung E, A, M oder I, O, M am einfachsten nicht davorschreiben, da sie automatisch ergänzt wird.
Byte- und Word-Typen (BYTE, WORD, DWORD, LWORD)ebenso wie Unsigned-Typen (USINT, UINT, UDINT, ULINT) schöpfen den Wertebereich der 8, 16, 32 oder 64 Bit voll aus. Unsigned-Typen sind bei konventionellen SPS wie S5 oder S7 derzeit NICHT verwendbar!
Integer-Typen (SINT, INT, DINT, LINT)nutzen das höchste Bit (niedrigstes Bit ist Bit 0), also Bit 7, 15, 31 oder 63 als Vorzeichen-Kennung, wodurch sich der Wertebereich etwa halbiert.
TIME ist ein Datentyp identisch mit DINT, jedoch vordefiniert mit der Einheit Millisekunde. Damit sind folglich 2,1474 * (10 hoch 9)ms als Höchstwert erreichbar, das sind 2,1474*(10 hoch 6)s oder 35791,33min oder 596,522h.
Real-Typen (REAL), auch Gleitkomma-Zahlen genannt, haben 32 Bit gemäß der Internationalen Norm IEEE 754 (aus dem Jahr 1985), wobei das Bit 31 als Vorzeichen genutzt wird, die Bit 30 bis 23 dienen zur Darstellung des Exponenten e und die Bit 22 bis 0 der Mantisse. Damit sind die Werte
-3.402823E+38 ... -1.175495E-38,0,+1.175495E-38 ... +3.402823E+38
darstellbar.

Neben diesen Typen gibt es noch Funktions-Baustein-Typen:
TON, TIME - Zeitbausteine /TIMER mit Zeitwert
CTUD - Zählbausteine mit Zähler-Werten i.a. vom Typ INT
R_TRIG, F_TRIG und RF_TRIG - Flanken-Erkennung
und andere. Hierzu gehören PRAP-Typen, die mit ihrer IDENTIFICATION im Projekt eingebunden sind.
Die BCD-Typen (BCD) sind in der IEC 1131-3 nicht vorgesehen, 16 und 32 Bit groß und stellen nur Ziffern im Bereich 0 bis 9 auf Tetraten (4 Bit) dar. Sie werden wie Word-Typen behandelt und sollten nur für Ausgaben z.B. an Ziffernanzeigen benutzt werden, wobei INT_TO_BCD bzw. DINT_TO_BCD zur Verfügung gestellt werden.
Weiterhin können abgeleitete, strukurierte Datentypen eingesetzt werden:

www.pretschner.com

Diese Website beruht auf einer XML Datenbank im DocBook Format. Sie wurde vollständig und automatisch via XSLT generiert. Die Transformation basiert auf der Website-XSL von Norman Walsh.

Optimiert für eine Auflösung von min. 1024x768px.

Die gesamte Webpräsenz unterliegt dem Copyright von Prof. Andreas Pretschner.

Haftungsausschluß

Bitte beachten sie die rechtlichen Hinweise!