Herunterladen Inhalt Inhalt Diese Seite drucken

IFM Electronic CR2500 Systemhandbuch Seite 250

Vorschau ausblenden Andere Handbücher für CR2500:
Inhaltsverzeichnis

Werbung

Weitere Funktionen im Controller
Werden Ein- und Ausgänge in diesem Programmteil genutzt, werden diese ebenfalls in der
Interruptroutine, ausgelöst durch die Eingangs-Flanke, 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
Funktionen nur genau dann ausgeführt werden, wenn sie durch ein Eingangssignal angefordert
werden.
HINWEIS
Damit der per Interrupt aufgerufene Programmteil nicht zusätzlich zyklisch aufgerufen wird, sollte er
(mit Ausnahme des Initialisierungsaufrufes) im Zyklus übersprungen werden.
Der Eingang (CHANNEL), der zum Auslösen des Interrupt überwacht wird, kann in der Interruptroutine
nicht initialisiert und weiter verarbeitet werden.
Die Eingänge müssen in der Betriebsart IN_FAST sein, sonst können die Interrupts nicht gelesen
werden.
HINWEIS
Die Eindeutigkeit der Ein- und Ausgänge im Zyklus wird durch die Interrupt-Routine aufgehoben.
Deshalb wird nur ein Teil der Ein- und Ausgänge bedient. Wurden sie im Interrupt-Programm
initialisiert, werden folgende Ein- und Ausgänge gelesen oder geschrieben.
Eingänge, digital:
%IX0.0...%IX0.7 (CRnn32)
%IX0.12...%IX0.15, %IX1.4...%IX1.8 (übrige ClassicController, ExtendedController, SafetyController)
%IX0.0, %IX0.8 (SmartController)
IN08...IN11 (CabinetController)
IN0...IN3 (Platinensteuerung)
Eingänge, analog:
%IX0.0...%IX0.7 (CRnn32)
alle Kanäle (Auswahl bitcodiert) (alle übrigen Controller)
Ausgänge, digital:
%QX0.0...%QX0.7 (ClassicController, ExtendedController, SafetyController)
%QX0.0, %QX0.8 (SmartController)
OUT00...OUT03 (CabinetController)
OUT0...OUT7 (Platinensteuerung)
Auch globale Variablen verlieren ihre Eindeutigkeit, wenn auf sie quasi gleichzeitig im Zyklus und durch
die Interruptroutine zugegriffen wird. Insbesondere größere Datentypen (z.B. DINT) sind von dieser
Problematik betroffen.
Alle anderen Ein- und Ausgänge werden, wie üblich, einmalig im Zyklus bearbeitet.
250
ifm
Systemhandbuch
ecomatmobile
SmartController (CR2500) V05
Interrupts verarbeiten

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis