Programación de la aplicación relacionada con la seguridad

Información general acerca del proyecto relacionado con la seguridad

En la lista siguiente se incluyen datos esenciales sobre la interfaz de usuario de Machine Expert - Safety y las características del código y las variables relacionados con la seguridad.

Para obtener más información, consulte la guía del usuario de EcoStruxure Machine Expert - Safety.

  • Las POU se organizan en la ventana Project Tree.

  • Los proyectos relacionados con la seguridad incluyen una sola POU de tipo programa IEC 61131-3 llamada Main. No es posible cambiar el nombre de esta POU ni eliminarla; tampoco se le pueden añadir otros programas IEC 61131-3 definidos por el usuario (solo bloques de funciones).

  • La tarea relacionada con la seguridad en la que se ejecuta este programa también está predefinida, aunque no se muestre en Machine Expert - Safety. No es posible editar la configuración de esta tarea.

    NOTA: Dado que el SLC ejecuta una única tarea relacionada con la seguridad, la modificación del tiempo de ciclo del SLC tendrá el mismo efecto que cambiar el tiempo de ciclo de la tarea.
  • Es posible crear bloques de funciones relacionados con la seguridad y definidos por el usuario (según el estándar IEC 61131-3), pero no funciones.

  • También es posible insertar bibliotecas que incluyan funciones y bloques de funciones relacionados con la seguridad.

  • Cada POU se compone de una o varias hojas de cálculo de código y una tabla de variables con declaraciones de variables locales. Haga doble clic en el icono de árbol para abrir la hoja de cálculo correspondiente a fin de editarla.

  • Las declaraciones de variables globales se incluyen en una cuadrícula de variables separada. Haga clic en el icono de Global decl. de la barra de herramientas principal para abrir esta tabla.

  • El Edit Wizard proporciona funciones y bloques de funciones. Una vez que ha añadido una biblioteca de POU (a través del menú contextual de la carpeta Libraries del árbol de proyectos), los bloques incluidos podrán seleccionarse en un grupo separado.

  • El código estándar y el relacionado con la seguridad se distinguen claramente en Machine Expert - Safety. Por lo tanto, también se distingue entre las variables estándar y las relacionadas con la seguridad o, más concretamente, entre los tipos de datos estándar y los relacionados con la seguridad. Por ejemplo, no es posible conectar una variable que tenga un tipo de datos estándar con un parámetro formal que espera una variable relacionada con la seguridad.

    Las variables relacionadas con la seguridad se muestran con un fondo rojo en el código. Las variables de tipos de datos estándar, en cambio, se muestran sin fondo alguno.

  • Las funciones o bloques de funciones del sistema relacionados con la seguridad, así como los bloques de funciones de bibliotecas relacionadas con la seguridad, se muestran en color rojo. Los bloques estándar se muestran en color gris-azul. Las funciones o bloques de funciones del usuario se muestran en color verde.

  • Cuando combine variables estándar y relacionadas con la seguridad, el Machine Expert - Safety ejecutará un análisis de flujo de datos en el código FBD/LD y resaltará las rutas de señales principales relacionadas con la seguridad de una red mostrándolas con unas líneas rojas gruesas. Las rutas relacionadas con la seguridad siempre terminan con una variable de salida relacionada con la seguridad o, en el caso de una variable de salida estándar, con la última entrada de objeto situada antes de la salida en cuestión. Si una ruta de señal estándar termina con una salida relacionada con la seguridad, dicha salida se mostrará con un fondo sombreado de color rojo.

Ejemplo de aplicación de seguridad

En el siguiente programa sencillo se incluyen los módulos de E/S TM5 configurados en el proyecto de ejemplo. Los procedimientos para desarrollar este ejemplo se describen en las próximas secciones.

Consulte el capítulo Desarrollo de código FBD/LD de la guía del usuario de EcoStruxure Machine Expert para obtener una descripción exhaustiva de las funciones del editor.

La señal de entrada SafeDigitalInput01 del módulo TM5SDI4DFS se lee y asigna a la señal de salida SafeDigitalOutput01 del módulo TM5SDO4TFS mediante la función AND_S. A causa de la función AND_S, se evaluarán las señales de diagnóstico SafeModuleOK de los módulos de E/S relacionados con la seguridad. Si se detecta un error en cualquiera de los módulos, la señal de SafeDigitalOutput01 se desactivará (SAFEFALSE).

Asimismo, el parámetro SafeDigitalOutput01 se escribe en la variable de intercambio booleana SLC2LMC_Bool0_7_0, la cual forma parte de los datos de intercambio de SLC2LMC configurados en la configuración del dispositivo SLC en Logic Builder. De esta manera, la aplicación estándar podrá leer el estado de la salida. (La señal de SafeDigitalOutputxx está disponible para módulos de salidas digitales. Indica a la aplicación estándar si la aplicación de seguridad ha establecido la salida relacionada con la seguridad). La conexión directa de la variable relacionada con la seguridad con la variable de intercambio estándar SLC2LMC_Bool0_7_0 es posible, ya que se permiten las conversiones de tipo de tipos de datos relacionados con la seguridad a estándar.

El bloque de funciones de temporizador TON_S retrasa la señal de ReleaseOutput01. Esta señal de liberación desactiva la inhibición activa de un reinicio y habilita el canal de salida de la señal SafeDigitalOutput01 del módulo TM5SDO4TFS. El tiempo del retraso se establece en 50 ms.

NOTA: El tiempo de retraso programado influye en el tiempo de respuesta de seguridad global del sistema.

Inserción de una función o bloque de funciones en el código

Ejecute los siguientes pasos para la función AND_S y el bloque de funciones TON_S:

Paso

Acción

1

Abra la hoja de cálculo principal del programa; para ello, haga doble clic en el icono correspondiente de la ventana del árbol de proyectos.

2

En el área de selección de Edit Wizard, seleccione el bloque deseado.

Si no aparece el bloque, deberá seleccionar primero el grupo <all FUs and FBs> (todas las funciones y bloques de funciones).

3

Arrastre el bloque del área de selección desde el Edit Wizard hasta la hoja de cálculo del código, haga clic con el botón izquierdo del ratón para insertar el contorno del bloque y haga clic nuevamente con el botón izquierdo para soltarlo en la posición deseada.

4

En el caso de un bloque de funciones (TON_S en el ejemplo), deberá declararse una variable de instancia.

Resultado: Se mostrará el cuadro de diálogo Variable, en el que se propondrá un nombre de instancia que podrá modificar, si así lo desea.

5

En el cuadro de diálogo Variable, haga clic en Aceptar.

Resultado: La instancia del bloque de funciones se inserta en el código y la variable de instancia relacionada se inserta en las declaraciones locales de la POU principal. Para abrir la hoja de cálculo de la declaración, haga clic en el icono de ToggleWS de la barra de herramientas principal.

6

En el ejemplo, la función AND_S necesita cuatro entradas. Para modificar la función, haga clic con el botón derecho del ratón en el icono del bloque y seleccione Object Properties en el menú contextual. Seleccione IN2 en la lista de Formal Parameters (parámetros formales) y haga clic dos veces en Duplicate FP para añadir dos entradas más. Seleccione Aceptar para cerrar el cuadro de diálogo.

Inserción de señales de dispositivos en el código

El siguiente procedimiento se aplica a las señales de dispositivos que se proporcionan en los nodos de dispositivos en la ventana Devices. Estas incluyen las variables de intercambio definidas para el SLC, así como las señales de diagnóstico y control de los módulos de E/S relacionados con la seguridad.

Procedimiento en Machine Expert - Safety:

Paso

Acción

1

Abra la hoja de cálculo de código en la que desea insertar la señal.

2

En la ventana Devices, abra el árbol de dispositivos de la izquierda y expanda el nodo del módulo deseado (SL1.SMx).

3

Arrastre la señal deseada hasta la hoja de cálculo de código.

Resultado: Cuando suelte el botón del ratón, se mostrará el cuadro de diálogo Variable.

4

En el cuadro de diálogo Variable, acepte el nombre propuesto, seleccione una variable global existente o bien declare una nueva variable global. Consulte la figura para conocer los nombres de las variables utilizadas en el ejemplo.

5

Haga clic en Aceptar para confirmar el cuadro de diálogo Variable y haga clic con el botón izquierdo del ratón para soltar la variable en la posición deseada.

Resultado: La variable se inserta en el código y su declaración se inserta automáticamente en la hoja de cálculo de la variable global.

Puede soltar directamente la variable en una salida o entrada del bloque para conectarla cuando la inserte.

Para el ejemplo, inserte las siguientes señales en el modo descrito:

  • SafeDigitalInput01 del módulo TM5SDI4DFS conectado a una entrada AND_S.

  • SafeModuleOK de cada módulo de E/S conectado a una entrada AND_S.

  • SafeDigitalOutput01 del módulo TM5SDO4TFS conectado a la salida AND_S.

    Inserte nuevamente la variable y suéltela en una posición libre sin conexión alguna.

  • ReleaseOutput01 del módulo TM5SDO4TFS conectado a la salida TON_S.

  • Variable de intercambio SLC2LMC_Bool0_7_0 del SLC conectada a la entrada (punto de conexión azul) de la variable SafeDigitalOutput01 sin conectar. De esta manera, la variable de salida se escribe en la variable de intercambio booleana.

Inserción de constantes (literales) en el código

En el siguiente procedimiento se describe cómo insertar valores literales en el código. Los valores literales se han de utilizar para introducir valores constantes en el código. Pueden utilizarse sin especificar una declaración.

Paso

Acción

1

Puede insertar constantes sin conectar o conectadas/asignadas:

  • Para insertar una constante ya conectada a una función o un bloque de funciones, haga doble clic en el parámetro formal deseado.

  • Para insertar una constante no conectada a ningún objeto, haga clic en una posición libre de la hoja de cálculo y pulse F5 o bien haga clic en el icono de Variable de la barra de herramientas del editor.

Resultado: Se muestra el cuadro de diálogo Variable.

2

Especifique Ámbito = Constante.

3

Se propone un tipo de datos en el cuadro combinado Type. Modifique el ajuste, si es necesario.

4

Introduzca el valor literal deseado (constante) en el campo Name.

Tenga en cuenta las reglas que se incluyen a continuación de la tabla.

5

Pulse Aceptar.

Resultado: La constante se inserta en el código FBD/LD.

Para obtener más información sobre las constantes y el caso especial de las "Constantes globales", consulte el capítulo Constantes (valores literales): Inserción y declaración de la guía del usuario de EcoStruxure Machine Expert.

Reglas para las constantes:

  • Los valores literales deben introducirse siempre de manera que incluyan el tipo de datos (por ejemplo, SAFEINT#1000).

    Excepciones: TRUE y FALSE siempre se tratan como BOOL, mientras que SAFETRUE/SAFEFALSE siempre se tratan como SAFEBOOL. Por ejemplo, no es necesario introducir BOOL#TRUE.

  • Las constantes INT estándar pueden introducirse sin el tipo de datos (por ejemplo, 1000 significa INT#1000), ya que las entradas decimales se interpretan automáticamente como INT.

    Excepción: 0 y 1 si se utilizan con el tipo de datos booleano.

Para obtener más información acerca de los valores literales según el estándar IEC 61131-3, consulte el capítulo Constantes frente a valores literales en la guía del usuario de EcoStruxure Machine Expert.

Inserción de nuevas variables en el código

En el siguiente procedimiento se describe cómo insertar nuevas variables en el código. La declaración se inserta automáticamente en la hoja de cálculo de declaración correspondiente.

Paso

Acción

1

Puede insertar variables sin conectar o conectadas/asignadas:

  • Para insertar una variable ya conectada a una función o un bloque de funciones, haga doble clic en el parámetro formal deseado.

  • Para insertar una variable no conectada a ningún objeto, haga clic en una posición libre de la hoja de cálculo y pulse F5 o bien haga clic en el icono de Variable de la barra de herramientas del editor.

  • Para insertar una variable de un contacto o bobina, haga doble clic en el objeto LD en cuestión.

Resultado: Se muestra el cuadro de diálogo Variable.

2

Seleccione el Scope (ámbito) de la variable.

Resultado: En el caso de las variables locales, la declaración se inserta en la hoja de cálculo de declaración de la POU actual (que deberá abrirse mediante el icono de ToggleWS). En el caso de una declaración global, esta se inserta en la hoja de cálculo de declaración global, que podrá abrir haciendo clic en el icono Global Decl..

3

Especifique el tipo de datos de la nueva variable, introduzca un nombre para la variable y defina las propiedades restantes.

4

Pulse Aceptar.

Resultado: La variable se inserta en el código FBD/LD, y la declaración en la hoja de cálculo de declaración correspondiente.

Existen otras opciones para declarar variables. Para obtener más información, consulte el capítulo Variables: Inserción y declaración de la guía del usuario de EcoStruxure Machine Expert.

Conexión de objetos en el código gráfico

Para trazar líneas entre objetos y bloquear parámetros formales, deberá activar la modalidad de conexión. Para ello, haga clic en el icono de Connect en la barra de herramientas del editor.

Al hacer clic en el icono de Mark en la barra de herramientas del editor, este último cambiará a la modalidad de marcado, en la que podrá seleccionar y mover objetos.

Declaración de una variable relacionada con la seguridad para una señal de dispositivo

El proyecto relacionado con la seguridad no puede incluir módulos TM5/TM7 relacionados con la seguridad sin utilizar. Sin utilizar significa que, en el proyecto relacionado con la seguridad, no se utiliza ninguna de las señales enumeradas bajo el nodo del dispositivo en la ventana Devices de Machine Expert - Safety. Debe asignarse al menos una señal de cada módulo a una variable global relacionada con la seguridad en Machine Expert - Safety. De lo contrario, el compilador indicará un error.

Esto también se aplica a las señales de intercambio del SLC definidas en Logic Builder (consulte la sección Configuración de datos de intercambio para el PLC de seguridad).

NOTA: Declarar una variable relacionada con la seguridad y asignarla a una señal de dispositivo sin utilizarla en el código resulta útil durante la fase de desarrollo del proyecto, ya que permite compilar el proyecto relacionado con la seguridad. En una aplicación práctica, deberá asegurarse de que las variables relevantes se lean o escriban en el programa de aplicación relacionado con la seguridad.

El siguiente procedimiento se aplica a cada uno de los tipos de señales incluidos en la ventana Machine Expert - Safety Devices:

Paso

Acción

1

En Machine Expert - Safety, abra la hoja de cálculo de variables globales; para ello, haga clic en el icono Global decl. de la barra de herramientas.

2

Haga clic con el botón derecho del ratón en la cuadrícula y seleccione New Variable en el menú contextual.

Resultado: Se crea una nueva variable con un nombre predeterminado (que podrá modificar).

3

En la ventana Devices, abra el árbol de dispositivos de la izquierda. Expanda el nodo del árbol correspondiente al dispositivo cuyo terminal de dispositivo desea utilizar.

4

Arrastre la señal de dispositivo que desea conectar hasta la hoja de cálculo de variables globales y suéltela en la declaración deseada.

Resultado:

  • El nombre de canal de la señal de dispositivo conectada aparece ahora en la columna Terminal de la declaración global de la hoja de cálculo de variables.

  • El tipo de datos de la variable global se ha modificado en función del tipo de datos de la señal de dispositivo asignada.

  • En la ventana Devices, se muestra el nombre de la variable conectada para la señal de dispositivo en cuestión en la columna Variable.

NOTA: Mediante este procedimiento, podrá sustituir también asignaciones existentes entre variables globales y señales de dispositivos. Tenga en cuenta los mensajes de advertencia del capítulo sobre conexión o desconexión de elementos de datos de proceso y variables de E/S globales de la guía del usuario de EcoStruxure Machine Expert - Safety.

Para insertar una variable declarada en el código, utilice el cuadro de diálogo Variable, que podrá abrir a través del icono Variable de la barra de herramientas del editor. Para obtener más información, consulte el capítulo sobre inserción y declaración de variables de la guía del usuario de EcoStruxure Machine Expert - Safety.

Compilación del proyecto relacionado con la seguridad

Una vez finalizada la fase de desarrollo del proyecto relacionado con la seguridad, deberá compilarlo. (Si hay una POU marcada con un asterisco (*) en el árbol del proyecto, significa que esta todavía no se ha compilado después de editar las variables o el código. Una vez compilada correctamente, el asterisco desaparecerá).

Procedimiento en Machine Expert - Safety:

Paso

Acción

1

Pulse F9 o haga clic en el icono Compile de la barra de herramientas.

2

Corrija los errores que el compilador detecte y notifique en la ventana de mensajes.

Haga doble clic en un mensaje de error para acceder directamente a la posición en la que se encuentra el presunto error.

3

Una vez que se compile el proyecto sin errores, proceda con la descarga del proyecto en el SLC. Consulte el capítulo Descarga de la aplicación relacionada con la seguridad.