ICTL

Contrôle d’interruption

L’instruction ICTL permet de paramétrer le contrôle d’interruption. Lorsque l’instruction ICTL est exécutée, il est possible de définir le type et l’état du programme d’interruption. Les paramètres peuvent être définis par s1_Control et s2_Condition.

  • s1_Control constante de 16 bits ou zone de 16 bits pour le paramétrage du contrôle d’interruption

  • s2_Condition constante de 16 bits ou zone de 16 bits pour le paramétrage des conditions de déclenchement d’interruption

Paramètres

Entrée

s1_Control (WORD, INT, UINT)

Paramétrage des données de contrôle d’interruption

s2_Condition (WORD, INT, UINT)

Paramétrage des conditions d’interruption

Remarques

Programmes d’interruption disponibles :

16

Programmes d’interruptions contrôlés via des modules d’interruption (INT 0–INT 15)

8

Programmes d’interruption contrôlés via un module spécial (module de positionnement,...) (INT 16–INT 23)

1

Programme d’interruption périodique (INT 24) (base de temps de 0,5ms sélectionnable pour FP2/2SH, FP10SH)

Veillez à ce que les instructions ICTL soient exécutées uniquement en front montant du déclencheur ICTL lorsque l’instruction DF (DF Front montant différentiel) est utilisée.

Plusieurs instructions ICTL peuvent avoir le même déclencheur.

Bit

15 .. 8

7 .. 0

s1_Control

16#

Sélection de la fonction de contrôle

00 : contrôle d’activation/de désactivation de l’interruption

01 : contrôle de réinitialisation du déclencheur d’interruption

Sélection du type d’interruption

00 : module d’interruption (INT 0–15)

01 : module spécial (INT 16–23)

02 : interruption périodique (INT 24)

s2_Condition

2#

Bit 0 : 0 programme d’interruption 0 désactivé

Bit 0 : 1 programme d’interruption 0 activé

Bit 1 : 0 programme d’interruption 1 désactivé

...

Bit 15 : 1 programme d’interruption 15 activé

Exemple : s2 = 2#0000000000001010

NOTA
  • L’état activé/désactivé actuel de chaque interruption contrôlée via un module d’interruption peut être supervisé via la variable système sys_wInterruptMask_0_15.

  • L’état activé/désactivé actuel de chaque interruption contrôlée via un module autre qu’un module d’interruption peut être supervisé via la variable système sys_wInterruptMask_16_31.

  • L’intervalle actuel de l’interruption périodique peut être supervisé via la variable système sys_iPeriodicInterruptInterval.

  • Si un programme est écrit dans une tâche d’interruption, l’interruption concernée sera activée automatiquement pendant la routine d’initialisation lors du lancement du programme.

  • L’instruction ICTL permet au programme d’activer ou de désactiver une tâche d’interruption.

Modifié le : 2022-02-01Feedback on this pagePanasonic hotline