Exemple de programmation pour le niveau de base
L'exemple « Commande bimanuelle avec EDM » du document « PLCopen – Technical Committee 5 Safety Software Technical Specification Part 2: User Examples Version 1.01 – Official Release » est utilisé comme exemple. CODESYS Safety Extension exemple de programmation pour un programme au niveau de base et illustré comme un CODESYS Safety Extension Implémentation FBD.
Astuce
Pour plus d'informations sur la programmation au niveau de base, consultez le document « PLCopen - Comité technique 5 Logiciel de sécurité ».
Description fonctionnelle des fonctions de sécurité
Les fonctions de sécurité suivantes sont utilisées dans cet exemple :
Lorsque le bouton d'arrêt d'urgence est enfoncé, tous les mouvements dangereux doivent être arrêtés (via
SF_EmergencyStop
)L'arrêt d'urgence a la plus haute priorité. Après avoir relâché le
EStop
bouton poussoir, une réinitialisation via le reset S0 est nécessaire.La sortie de sécurité est activée en appuyant sur les deux boutons-poussoirs de la commande bimanuelle. Le relâchement de l'un des boutons-poussoirs bimanuels désactive la sortie de sécurité et arrête le mouvement dangereux via les dispositifs de commutation
K1
etK2
(viaSF_TwoHandControlTypeII
)L'état de base et l'état de fonctionnement des dispositifs de commutation raccordés sont surveillés. Si une erreur est détectée, la sortie de sécurité ne peut pas devenir opérationnelle. (via
SF_EDM
)Après la mise en marche de l'application de sécurité ou fonctionnelle, ou après une condition d'arrêt d'urgence, la commande bimanuelle doit être relâchée et actionnée à nouveau pour réactiver la sortie de sécurité (via
SF_OutControl
). Pour garantir cela pour le redémarrage fonctionnel, le signal de processus de l'application fonctionnelle est connecté auActivate
entrée de la commande bimanuelle FBTHC_S2_S3
. (Si le processus d'application est redémarré alors que la commande à deux mains est activée, l'appareil passe alors à l'étatC0003
, qui signale l'erreur que les deux boutons-poussoirs sont enfoncés lors de l'activation et empêche un redémarrage.)
Dans cet exemple, il n’existe qu’un seul état de fonctionnement.


Nom | Type de données | Description |
---|---|---|
|
| Bouton d'arrêt d'urgence S1 |
|
| Interrupteur S2 connecté au bouton-poussoir 1 de la commande bimanuelle |
|
| Interrupteur S3 connecté au bouton-poussoir 2 de la commande bimanuelle |
|
| Rétroaction périphérique externe K1 |
|
| Rétroaction périphérique externe K2 |
|
| Réinitialisation par le développeur avec le commutateur S0 (dérivé de l'application fonctionnelle) |
|
| Libération du mouvement par le processus (dérivé de l'application fonctionnelle) |
Nom | Type de données | Description |
---|---|---|
|
| Contrôle l'actionneur via |
|
| Drapeau d'erreur de |
|
| Drapeau d'erreur de |
|
| Drapeau d'erreur de |
|
| Code de diagnostic pour
|
|
| Code de diagnostic pour
|
|
| Code de diagnostic pour
|
Notes complémentaires
Cet exemple peut également être utilisé avec SF_TwoHandControlTypeIII
.
L'entrée de Activer était sur le point de TRUE
pour des raisons de simplicité. Cela peut être remplacé par une variable dans l'application.
Bloc de fonctions | Saisir | Valeur constante | Description |
---|---|---|---|
|
|
| Pas de réinitialisation automatique au démarrage du S-PLC. |
|
| Pas de réinitialisation automatique, réinitialisation/confirmation par le développeur nécessaire | |
|
|
| La réinitialisation automatique est autorisée au démarrage du S-PLC. |
|
| Réinitialisation automatique, aucune réinitialisation/confirmation par le développeur n'est nécessaire | |
|
| Un changement dynamique du signal Appl_Control (front montant) est demandé après l'activation du bloc fonctionnel ou le déclenchement d'une fonction de sécurité ( | |
|
|
| Pas de réinitialisation automatique au démarrage du S-PLC. |
|
| Le temps de réponse maximal des deux signaux de rétroaction
|