Herunterladen Diese Seite drucken

IFM Electronic CR0232 Original-Programmierhandbuch Seite 124

Vorschau ausblenden Andere Handbücher für CR0232:

Werbung

ifm
Programmierhandbuch
ecomatmobile
ifm-Funktionselemente
Interrupt-Prioritäten:
Alle per Interrupt aufgerufenen Programmteile haben die gleiche Priorität der Ausführung.
Mehrere gleichzeitige Interrupts werden sequenziell in Reihenfolge ihres Auftretens abgearbeitet.
Wird eine weitere Flanke am gleichen Eingang während der Ausführung des per Interrupt
aufgerufenen Programmteils erkannt, wird dieser zur Bearbeitung eingetragen und das Programm
nach Beendigung direkt wieder aufgerufen. Optional können durch Setzen des Glitch-Filters
störende Mehrfachimpulse ausgefiltert werden.
Das im Interupt laufende Programm kann durch höherpriorisierte Interrupts (z.B. CAN)
unterbrochen werden.
Belegen mehrere Interrupts den gleichen Kanal, erhält der zuletzt initialisierte FB (oder das PRG)
den Kanal. Der zuvor definierte FB (oder das PRG) wird dann nicht mehr aufgerufen und liefert
keine Daten mehr.
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: IN00...IN07
• Ausgänge: Q00...Q07
Auch globale Variablen verlieren ihre Eindeutigkeit, wenn auf sie quasi gleichzeitig im Zyklus und
durch die Interrupt-Routine 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.
>
Parameter der Eingänge
Parameter
ENABLE
CHANNEL
MODE
READ_INPUTS
WRITE_OUTPUTS
ANALOG_INPUTS
ExtendedController (CR0232) Laufzeitsystem V01.00.03
Datentyp
BOOL
BYTE
BYTE
BOOL
BOOL
BOOL
124
ifm-Bausteine für das Gerät CR0232
Beschreibung
TRUE (nur 1 Zyklus lang):
Initialisierung des Bausteins
FALSE:
Baustein wird nicht ausgeführt
Nummer des Interrupt-Eingangs
0...7 für die Eingänge I00...I07
Art der Flanke am Eingang CHANNEL, die den Interrupt auslöst
1 = steigende Flanke (Standard-Wert)
2 = fallende Flanke
3 = steigende und fallende Flanke
> 3 = Standard-Wert
TRUE:
die Eingänge 0..7 vor Aufruf des Programms lesen
und in die Eingangsmerker I00...I07 schreiben
FALSE:
nur den unter CHANNEL angegebenen Kanal lesen
und in den dazugehörigen Eingangsmerker Ixx
schreiben
TRUE:
die aktuellen Werte der Ausgangsmerker Q00...Q07
nach Programmablauf auf die Ausgänge schreiben
FALSE:
keine Ausgänge schreiben
TRUE:
die Eingänge 0..7 lesen und die ungefilterten,
unkalibrierten Analogwerte in die Merker
ANALOG_IRQ00...07 schreiben
FALSE:
die Merker ANALOG_IRQ00...07 nicht schreiben
2018-01-11
19866
19365
2383

Werbung

loading