Utilisation des déroutements
Les déroutements permettent à un programme de sauter à une étiquette ou de permettre à une fonction d'être appelée lorsqu'un certain événement se produit.
Les déroutements sont divisés en deux types comme suit :
- 4 déroutements sont déclenchés par une entrée définie par l'utilisateur
- 7 déroutements sont déclenchés par le système
Vous devez garder les fonctions de déroutement courtes et éviter les boucles continues. En fonction du type, certains déroutement doivent être ré-établis. De plus, certaines commandes de mouvement se limitent à l'exécution de fonctions de déroutement.
Pour plus de détails sur les commandes Trap, reportez-vous au manuel suivant :
"SPEL+ Language Reference"
Voici un exemple simple de déroutement. Dans cet exemple, lorsque l'entrée 1 est activée, elle exécute la fonction de déroutement Sw1.
Function main
' Définit le déroutement
Trap 1 Sw(1) = On Xqt Sw1Trap
Do
RunCycle
Loop
Fend
Function Sw1Trap
' Activer la sortie 1 pendant 2 secondes
On 1, 2
' Attendre que la condition de déroutement s'efface
Wait Sw(1) = Off
' Rétablir le déroutement
Trap 1 Sw(1) = On Xqt Sw1Trap
Fend
| Déroutement | Description |
|---|---|
| Trap 1- 4 Goto | Déclenché par une condition d'entrée spécifiée par l'utilisateur. Les déroutements de l'utilisateur peuvent utiliser GoTo, Call ou Xqt. |
| Trap 1- 4 Call | |
| Trap 1- 4 Xqt | |
| Trap Emergency Xqt | Lorsqu'un arrêt d'urgence se produit, une fonction spécifiée est exécutée. |
| Trap Error Xqt | Lorsqu'une erreur se produit, une fonction spécifiée est exécutée. |
| Trap SgOpen Xqt | Lorsque le circuit de sécurité est ouvert, une fonction spécifiée est exécutée. |
| Trap SgClose Xqt | Lorsque le circuit de sécuritén est fermé, une fonction spécifiée est exécutée. |
| Trap Pause Xqt | Lorsque le système entre dans l'état Pause, une fonction spécifiée est exécutée. |
| Trap Abort Xqt | Lorsque toutes les tâches (à l'exception des tâches en arrière-plan) ont été arrêtées par l'utilisateur ou le système, comme lorsqu'une commande correspondant à Abandonner tout est exécutée, une fonction spécifiée est exécutée. |
| Trap Finish Xqt | Lorsque toutes les tâches (à l'exception des tâches en arrière-plan) sont terminées, une fonction spécifiée est exécutée. La fonction ne sera toutefois pas exécutée sous la condition qui exécute l'Interruption du déroutement. |