n
n
kVA
kVA
Assembler – Befehle
23
f
f
Setzbefehle
i
i
P
Hz
Hz
P
Befehlsaufbau
Beispiel
SETINT / SET
INTERRUPT
342
Befehlsaufbau
Mxxx SETI [X1] = X2
SET H01
= 50
SET H0 = 10
M01 :SETI
[H0] = H01
ADD H0 + 1
ADD H01
+ 10
JMP H0 <= 15 , M01
Nach Ausführung des Programms haben die Variablen folgende Werte:
H10 = 50
H11 = 60
...
H15 = 100
Der Befehl SETINT setzt die Anfangsadresse einer Interrupt-Routine. Die Adresse wird
als Marke im Befehl angegeben. Ein Interrupt kann durch verschiedene Ereignisse aus-
gelöst werden. Die Ereignisse werden im Argument X1 angegeben. Die Interrupt-Rou-
tine selbst ist mit einem RET-Befehl abzuschließen.
Ein Sprung in die Interrupt-Routine erfolgt unmittelbar und unabhängig von der aktuell
abgearbeiteten Hauptprogrammzeile. Wird die Interrupt-Routine mit dem RET-Befehl
abgeschlossen, erfolgt die weitere Programmausführung an der unterbrochenen Stelle
(ein unterbrochener "wartender Befehl" wird weiter ausgeführt).
Der Befehl SETINT ist nur in Task 1 wirksam und die Ausführung von Task 1 ist während
der Abarbeitung des Interrupts unterbrochen.
Es kann zeitgleich nur ein Interrupt abgearbeitet werden, jedoch kann ein Interrupt mit
höherer Priorität die Abarbeitung eines anderen Interrupts unterbrechen. Dabei hat
ERROR die höchste Priorität, dann TOUCH PROBE, dann TIMER 0.
Ein Interrupt muss nur einmal durch SETINT initialisiert werden.
Mxxx:
Marke (optional)
X1:
Hxxx = Nummer der Zielvariablen.
X2:
Hyyy = Quellvariable.
515362827
Handbuch – IPOSplus®