Ejemplo de programación para nivel básico
El ejemplo "Control a dos manos con EDM" del documento "PLCopen – Technical Committee 5 Safety Software Technical Specification Part 2: User Examples Version 1.01 – Official Release" se utiliza como referencia. CODESYS Safety Extension Ejemplo de programación para un programa de Nivel Básico e ilustrado como un CODESYS Safety Extension Implementación de FBD.
Sugerencia
Para obtener más información sobre la programación en el Nivel Básico, consulte el documento "PLCopen - Comité Técnico 5 Software de Seguridad".
Descripción funcional de las funciones de seguridad
En este ejemplo se utilizan las siguientes funciones de seguridad:
Cuando se presiona el botón de parada de emergencia, se deben detener todos los movimientos peligrosos (a través de
SF_EmergencyStop
)La parada de emergencia tiene máxima prioridad. Después de soltar el botón
EStop
pulsador, se requiere un reinicio mediante reinicio S0.La salida de seguridad se activa presionando ambos pulsadores del control a dos manos. Al soltar cualquiera de los pulsadores a dos manos se desactiva la salida de seguridad y se detiene el movimiento peligroso a través de los dispositivos de conmutación.
K1
yK2
(a través deSF_TwoHandControlTypeII
)Se supervisa el estado básico y el estado operativo de los dispositivos de conmutación conectados. Si se detecta un error, la salida de seguridad no puede ponerse en funcionamiento.
SF_EDM
)Después de activar la aplicación de seguridad o funcional, o después de una condición de parada de emergencia, el control de dos manos debe soltarse y accionarse nuevamente para reactivar la salida de seguridad (a través de
SF_OutControl
). Para garantizar esto durante el reinicio funcional, la señal de proceso de la aplicación funcional se conecta a laActivate
Entrada del control de dos manos FBTHC_S2_S3
. (Si se reinicia el proceso de aplicación mientras el control de dos manos está activado, entonces el dispositivo pasa al estadoC0003
, lo que señala el error de que ambos pulsadores están presionados cuando se activa y evita un reinicio).
En este ejemplo, solo existe un estado operativo.


Nombre | Tipo de datos | Descripción |
---|---|---|
|
| Botón de parada de emergencia S1 |
|
| Interruptor S2 conectado con el pulsador 1 del mando a dos manos |
|
| Interruptor S3 conectado con el pulsador 2 del mando a dos manos |
|
| Dispositivo externo de retroalimentación K1 |
|
| Dispositivo externo de retroalimentación K2 |
|
| Restablecimiento por parte del desarrollador con el interruptor S0 (derivado de la aplicación funcional) |
|
| Liberación del movimiento por el proceso (derivado de la aplicación funcional) |
Nombre | Tipo de datos | Descripción |
---|---|---|
|
| Controla el actuador a través de |
|
| Bandera de error de |
|
| Bandera de error de |
|
| Bandera de error de |
|
| Código de diagnóstico para
|
|
| Código de diagnóstico para
|
|
| Código de diagnóstico para
|
Notas adicionales
Este ejemplo también se puede utilizar con SF_TwoHandControlTypeIII
.
La entrada de Activar Estaba configurado para TRUE
Para simplificar, se puede reemplazar por una variable en la aplicación.
Bloque de funciones | Aporte | Valor constante | Descripción |
---|---|---|---|
|
|
| No hay reinicio automático cuando se inicia el S-PLC. |
|
| No es necesario reiniciar automáticamente, es necesario reiniciar y confirmar por parte del desarrollador | |
|
|
| Se permite el reinicio automático cuando se inicia el S-PLC. |
|
| Reinicio automático, no es necesario reiniciar ni confirmar por parte del desarrollador | |
|
| Se solicita un cambio dinámico de la señal Appl_Control (flanco ascendente) después de la activación del bloque de función o de una función de seguridad activada ( | |
|
|
| No hay reinicio automático cuando se inicia el S-PLC. |
|
| El tiempo máximo de respuesta de las dos señales de retroalimentación
|