ICTL

Interrupt Control (Interruptsteuerung)

Der Befehl ICTL wird zur Einstellung der Interruptsteuerung verwendet. Mit jeder Ausführung des Befehls ICTL können die Interruptparameter wie Interruptart und Status (aktiviert/deaktiviert) neu festgelegt werden. Die Parameter werden mit s1_Control und s2_Condition festgelegt

  • s1_Control: 16-Bit-Bereich oder äquivalente 16-Bit-Konstante zur Einstellung der Interruptsteuerung

  • s2_Condition: 16-Bit-Bereich oder äquivalente 16-Bit-Konstante zur Einstellung der Interrupt-Trigger-Bedingung

Parameter

Eingang

s1_Control (WORD, INT, UINT)

Einstellung der Interrupt-Steuerungswerte

s2_Condition (WORD, INT, UINT)

Einstellung der Interrupt-Bedingung

Anmerkungen

Anzahl der verfügbaren Interrupt-Programme:

16

durch Interrupt-Modul ausgelöste Interrupt-Programme (INT 0–INT 15)

8

durch erweitertes Modul (Spezialmodule wie Positioniermodul usw.) ausgelöste Interrupt-Programme (INT 16–INT 23)

1

zeitgesteuertes Interrupt-Programm (INT 24) (Zeitabstand 0,5ms einstellbar für FP2/2SH, FP10SH)

Verwenden Sie nur ICTL-Befehle, damit diese an der steigenden Flanke des ICTL-Triggers mit Hilfe des Befehls DF einmal ausgeführt werden.

Zwei oder mehr ICTL-Befehle können denselben Trigger verwenden.

Bit

15 .. 8

7 .. 0

s1_Control

16#

Auswahl der Steuerungsfunktion

00: Steuerung Interrupt-Programm "aktivieren/deaktivieren"

01: Steuerung Interrupt-Trigger zurücksetzen

Auswahl des Interrupt-Typs

00: Interrupt-Modul (INT 0–15)

01: Erweitertes Modul (INT 16–23)

02: Zeit-Interrupt (INT 24)

s2_Condition

2#

Bit 0: 0 Interrupt-Programm 0 deaktiviert

Bit 0: 1 Interrupt-Programm 0 aktiviert

Bit 1: 0 Interrupt-Programm 1 deaktiviert

...

Bit 15: 1 Interrupt-Programm 15 aktiviert

Beispiel: s2 = 2#0000000000001010

Anmerkung
  • Der aktuelle Aktivierungs-/Deaktivierungsstatus jedes durch ein Interrupt-Modul ausgelösten Interrupt-Programms kann anhand der Systemvariablen sys_wInterruptMask_0_15 geprüft werden.

  • Der aktuelle Aktivierungs-/Deaktivierungsstatus jedes durch ein Nicht-Interrupt-Modul ausgelösten Interrupt-Programms kann anhand der Systemvariablen sys_wInterruptMask_16_31 geprüft werden.

  • Das aktuelle Interrupt-Intervall des Zeit-Interrupts kann anhand der Systemvariablen sys_iPeriodicInterruptInterval geprüft werden.

  • Wenn ein Programm in einen Interrupt-Task geschrieben wird, wird das betreffende Interrupt-Programm während der Initialisierungsroutine beim Starten des Programms automatisch aktiviert.

  • Mit dem Befehl ICTL kann ein Interrupt-Task durch das Programm aktiviert oder deaktiviert werden.

Letzte Änderung am: 2022-02-01Feedback zu dieser SeitePanasonic Hotline