Herunterladen Diese Seite drucken

IFM Electronic ecomat mobile Programmierhandbuch Seite 123

Werbung

ifm
Programmierhandbuch
ecomatmobile
ifm-Funktionselemente
>
SET_INTERRUPT_XMS
Baustein-Typ = Funktionsbaustein (FB)
Baustein ist enthalten in Bibliothek ifm_CR0303_Vxxyyzz.LIB
Symbol in CODESYS:
>
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 Anwendungsprogramm 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
Anwendung 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 des Anwendungsprogramms wird vom Anwender in einen Baustein vom Type
PROGRAMM (PRG) zusammengefasst. Dieser Baustein wird zur Interrupt-Routine deklariert, indem
einmalig (zur Initialisierungszeit) 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 Eingä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.
HINWEIS
Damit der per Interrupt aufgerufene Programmteil nicht zusätzlich zyklisch aufgerufen wird, sollte er
(mit Ausnahme des Initialisierungsaufrufes) im Zyklus übersprungen werden.
Es können mehrere Timer-Interrupt-Bausteine aktiv sein. Der Zeitbedarf der Interrupt-Funktionen
muss so berechnet werden, dass alle aufgerufenen Bausteine ausgeführt werden können. Das gilt
besonders bei Berechnungen, Gleitkomma-Arithmetik und Regler-Funktionen.
Für die Datenkonsistenz zwischen Hauptprogramm und den im Interrupt laufenden Programmteilen ist
der Anwender zuständig!
Bitte beachten: Bei einer hohen CAN-Busaktivität kann die eingestellte REPEATTIME schwanken.
CabinetController (CR0303) Laufzeitsystem V05b
123
2015-06-23
ifm-Bausteine für das Gerät CR0303
272
275

Werbung

loading

Diese Anleitung auch für:

Ecomat 100Cr0303