Weitere Funktionen im Controller
10.5.1
Funktion SET_INTERRUPT_XMS
Enthalten in Bibliothek:
ifm_CRnnnn_Vxxyyzz.LIB
verfügbar für:
•
ClassicController: CR0020, CR0032, CR0505
•
ExtendedController: CR0200, CR0232
•
SmartController: CR2500
•
CabinetController: CR0301, CR0302, CR0303
•
Platinensteuerung: CS0015
•
PDM360 smart: CR1071
Funktionssymbol:
SET_INTERRUPT_XMS
ENABLE
REPEATTIME
READ_INPUTS
WRITE_OUTPUTS
ANALOG_INPUTS
Beschreibung
SET_INTERRUPT_XMS organisiert das Ausführen eines Programmteils im Intervall von x ms.
In der klassischen SPS ist die Zykluszeit das Maß der Dinge für Echtzeitbetrachtungen. Gegenüber
kundenspezifischen Steuerungen ist die SPS damit im Nachteil. Auch ein "Echtzeit-Betriebssystem"
ändert nichts an dieser Tatsache, wenn das gesamte Applikationsprogramm in einem einzigen
unveränderlichen Block abläuft.
Ein möglicher Lösungsansatz wäre, die Zykluszeit kurz zu halten. Dieser Weg führt oft dazu, die
Applikation auf mehrere Steuerungszyklen zu verteilen. Die Programmierung wird dadurch jedoch
unübersichtlich und schwierig.
Eine andere Möglichkeit besteht darin, einen bestimmten Programmteil in festen Zeitabständen (alle
x ms) unabhängig vom Steuerungszyklus aufzurufen.
Der zeitkritische Teil der Applikation wird vom Anwender in einen Baustein vom Type PROGRAMM
(PRG) zusammengefasst. Dieser Baustein wird zur Interrupt-Routine deklariert, indem einmalig (zur
Initialisierungzeit) die Funktion SET_INTERRUPT_XMS aufgerufen wird. Das hat zur Folge, dass
dieser Programmteil immer nach Ablauf der REPEATTIME (alle x ms) abgearbeitet wird. Werden Ein-
und Ausgänge in diesem Programmteil genutzt, werden diese ebenfalls im festgelegten Takt gelesen
oder beschrieben. Über die Funktionseingänge READ_INPUTS, WRITE_OUTPUTS oder
ANALOG_INPUTS kann das Lesen oder Schreiben unterbunden werden.
Innerhalb des Programmteils können also alle zeitkritischen Ereignisse bearbeitet werden, indem
Eingänge oder globale Variablen verknüpft und Ausgänge beschrieben werden. So können auch
Zeitglieder genauer überwacht werden, als es in einem "normalen" Zyklus möglich ist.
246
ifm
Systemhandbuch
ecomatmobile
SmartController (CR2500) V05
Interrupts verarbeiten