Unity Pro & M340 Capítulo 3: Software Unity Pro
A Generalidades B Interfase de lenguaje C Editor de configuración D Visión general de las variables E Estructura de la aplicación F Visión general del Lenguaje FBD G Visión general del lenguaje LD H Visión general del Lenguaje ST I Visión general del Lenguaje SFC J Visión general de DFB K Depuración del programa L Utilidades M Otros 112
A Generalidades 113
Configuración requerida e instalación PC configuración requerida para instalar Unity Pro Nominal : PC 1.2 GHz / 512 MB RAM Sistema operativo : Windows 2000 / Windows XP Mismo directorio para todos los software Schneider C:\archivos de programa\schneider electric\xxx Proceso de instalación Programa estándar de instalación/desinstalación para Windows El uso correcto del software está asociado a su registro (solamente 21 días libre) Unity Pro puede coexistir con PL7 o Concept y se puede ejecutar al mismo tiempo NO ES POSIBLE instalar 2 versiones diferentes de Unity Pro sobre el mismo PC 114
Entorno de Unity Pro Modo Multi instancia Varias instancias de Unity Pro se pueden ejecutar a la misma vez (misma aplicación o diferentes aplicaciones) Si hay varias instancias de la misma aplicación solamente una instancia abre la aplicación en modo lectura / escritura. Las otras instancias están solamente en modo lectura Gestión de compatibilidad La compatibilidad ascendente está garantizada archivo STA, archivo XEF (formato XML) Multi lenguaje El Software se puede instalar en 6 idiomas con selección a la hora de instalar Los lenguajes instalados se pueden cambiar (sin reinstalar) usando una herramienta de utilidad. El cambio se aplica en el próximo lanzamiento de Unity Pro. No se puede cambiar de idioma cuando el programa está funcionando. 115
Interfase de Usuario 116
Interfase de Usuario Menús y barra de herramientas Explorador de proyectos Ventana de resultados Editor de configuración Editor de Datos Editor de Lenguaje Barra de estado 117
Interfase de Usuario 118
Interfase de Usuario 119
Explorador de proyectos Structural Vista funcional view El explorador de proyectos propone 2 diferentes vistas. Presentar y estructurar un proyecto en formato de estructura de arbol Vista estructural Vista funcional Con la Vista estructural el usuario puede acceder y gobernar los diferentes elementos de la aplicación (configuración de hardware, variables, programa, documentación, ) La Vista funcional permite al usuario estructurar la aplicación en modos funcionales Structural Vista view estructural 120
Vista Estructural 121
Vista funcional Secciones de programa del módulo funcional Tablas de animación del módulo funcional Pantallas de operador del módulo funcional Módulo funcional 122
Iniciar un proyecto nuevo Abrir Unity Pro desde Programas / Schneider Electric / Unity Pro Abrir un nuevo proyecto Selecionar la familia (si es necesario) y el procesador (p.e. BMX P34 2010) 123
Metodología para desarrollar una nueva aplicación Definir los ajustes (estación de trabajo y proyecto) Configuración de Hardware Configuración de redes / ejes Estructuración de datos y simbolización Estructuración de la aplicación Datos asociación del canal Programación Importar / Exportar Pantallas de operador modificaciones en línea Operar y mantenimiento de la aplicación Generar código Seleccionar el destino y descargar Análisis Pantallas de operador modificaciones en línea Depuración 124
Metodología para desarrollar una nueva aplicación 1. Definir los ajustes Ajustes estación de trabajo accesible vía Herramientas / Opciones Ajustes del proyecto accesible vía Herramientas / Ajustes del proyecto 2. Configurar el hardware y las redes (racks, módulos, ) 3. Definir y editar las variables (variables elementales, arrays, estructuras, instancias de bloques función, ) 4. Estructurar la aplicación (tareas, secciones, módulos funcionales) 5. Editar las secciones de programa (Ladder, FBD, ) 6. Generar el código (construcción) 7. Seleccionar el destino (PLC o simulador) y transferir la aplicación (descargar) 8. Depurar la aplicación (punto de parada, paso a paso, ) 125
Ajustes Estación de Trabajo General define ajustes generales del proyecto y directorios de trabajo Datos e idiomas ajustes de configuración para entrar datos Conexión define opciones relativas a la conexión del terminal al PLC Ajustes de librería da información sobre la libreria global Pantalla de operador define el runtime de las pantallas 126
Ajustes de proyecto Estos ajustes se salvan en la aplicación Generar configura la generación del proyecto Editores define las características para los lenguajes gráficos (Contactos y Diagrama de Bloques Función) Extensiones de Lenguaje contiene ajustes para permitir expansiones del IEC estándar. Pantallas de operador define la gestión de las pantallas por el operador 127
Propiedades del proyecto Accesible por clic en botón derecho sobre la carpeta estación General define el nombre del proyecto (Estación o nombre a designar) Protección activa la protección de las secciones del programa. Esta operación necesita un password Identificación identifica el proyecto (versión actual, ultima generación total y ultima generación parcial) Comentario asocia un comentario al proyecto 128
Editor de Configuración 129
Editor de Configuración Accesible desde la vista estructural Configura los racks del bus local Configura el bus : CANopen Comunicación de red Ethernet 130
Configuración bus Local Seleccionar el rack Definir el módulo de alimentación Modificar tipo de procesador (si es necesario) Definir módulos desde catálogo 131
Configuración bus CANopen Configurar canal CANopen (parámetros del bus, tarea, rango del direccionamiento para I/O) Configurar Bus CANopen (arrastar desde catálogo) 132
Configuración Procesador y módulos Configurar el procesador (seleccionar pestaña de Configuración, definir los objetos globales de la aplicación: bits y palabras) Configurar cada modulo (tarea, parámetros de cada canal) 133
Configuración red Ethernet 134
Configuración red Ethernet( cont) 135
Visióngeneral de las variables 136
Visión general de las variables Una variable sin direccionar se define por un nombre simbólico (32 caracteres) y un tipo. No es posible saber la posición en memoria. Una variable mapeada a un módulo de I/O o asociada a una referencia de memoria se llama variable direccionada Un bloque función puede usar variables publicas (accesible por el bloque función y el programa aplicación) o variables privadas (solamente accesible dentro del bloque función) Un IODDT (Input Output Derived Data Type Tipo de dato derivado de entrada salida) designa una estructura representando el canal de un módulo PLC Constantes no se pueden modificar por el programa durante la ejecución. El software Unity Pro proporciona Tipos de Datos Elementales (BOOL, EBOOL, INT, WORD, REAL, String, ) o Derived Data Types (Tipos de datos derivados: Array, estructura) 137
Variables Las variables se pueden declarar con el Editor de Datos antes de ser usada: Cada una independientemente por doble click en el área de las variables e instancias FB del arbol de la vista estructural... O durante la programación con un doble click sobre la asignación de una entrada / salida. Se tiene que asignar un tipo de dato a cada variable. Obligatorio!!! El software Unity Pro proporciona tipos de datos elementales (p.e. bool, time) y derivados (estructura,..). 138
Tipos de Datos Comunes y rangos BOOL/EBOOL : Variable Booleana será FALSA (0) o VERDADERA (1). EBOOL gestiona también la detección de flancos WORD : Representa una cadena de 16 bits, significando una longitud de datos de 16 bits INT : representa un valor entero. El rango de valores es de -32768 hasta 32767 UINT : Representa un valor entero sin signo. El rango de valores es de 0 hasta 65535 REAL : Representa un valor decimal. El rango de valores es de -3.40e+38 a 3.40e+38 139
Entrar valores literales Los valores literales se usan para asignar valores a patillas, o asignar constantes a variables, y no cambiarlos por programa Se pueden entrar valores literales como Base 2 (binario) 2#1111111111111111 base 8 (octal) 8#177777 base 10 (decimal) 65535 (10# no se necesita) base 16 ( hex) 16#FFFF Tiempo de 5 segundos : t#5s o time#5s 140
Edición de variables Declaración en UNA VENTANA dedicada 141
Edición de Variables Declaración en UNA VENTANA dedicada 142
Edición de Variables Declaración en UNA VENTANA dedicada Tipos de DDT: Permite crear: -una estructura (tipo de dato diferente) o -un Array (tipo de dato igual) 143
Edición de Variables Declaración en UNA VENTANA dedicada 144
Edición de Variables Declaración en UNA VENTANA dedicada 145
Edición de Variables Variable sin direccionar Variable direccionada 146
Configurar las columnas a visualizar derecho 147
Direccionamiento de variables Tipos de 32 bits (DINT, DWORD, REAL) están siempre mapeados sobre una dirección par (ejemplo: %MW102) Tipo REAL está mapeado sobre una dirección %MW o %KW (no sobre una dirección %MD, %MF, %KD o %KF ) 148
Tipos de DDT Tipo estructura Tipo Array 149
Tipos de DFB 150
IODDT Mapear una estructura completa de I/O desde un canal de un módulo con un nombre 151
Asignar un IODDT desde catálogo 1 - Entrar el nombre de la instancia y acceso al catálogo 2 - Seleccionar IODDT asignar al canal 152
Asignar una IODDT desde el editor de config. 2 - Seleccionar canal / entrar el nombre y crear 1 - Seleccionar canal luego actualizar la cuadrícula 3 - La instancia IODDT se asigna automáticamente al canal 153
Instancias de Bloque función Instancias EFB y DFB ( Siempre en verde ) Select Seleccionar the type ( el Always tipo ( in Siempre Yellow en amarillo ) ) 154
Creación de una variable desde una sección Análisis rápido del nombre de la variable Visualizar o modificar atributos de variable en los editores Popup (window) crear variable si no existe 155
Estructura de la aplicación 156
Estructura de la aplicación Diferentes tareas Tarea única (solamente MAST) o multitarea (MAST y FAST ) Tarea de eventos : Evento de E/S (EVT) y evento de temporizador Modo de ejecución Ejecución cíclica (solamente para tarea MAST ) Ejecución periódica Secciones Las tareas están estructuradas en secciones de programa Subrutinas (SR) Las tareas MAST y FAST pueden contener subrutinas. Una subrutina se llama desde una sección o desde otra subrutina 157
Prioridad y ejecución Tarea de eventos Tarea rápida Tarea Maestra + - Event I P O FAST I P O I P O I P O I P O MAST I P P O I P P O 20 ms 20 ms 20 ms 158
Secciones Número de secciones ilimitado Atributos de cada sección Nombre : 32 caracteres máximo Lenguaje : LD, FBD, IL, ST o SFC Tarea asociada : MAST, FAST, Evento Condición (opcional) : ejecución según el estado del bit Localización : módulo funcional contiene la sección Protección : No, escritura o lectura/escritura Comentario : 256 caracteres máximo Orden de ejecución Orden de aparición de secciones en el explorador 159
Añadir nueva sección Clic derecho => Nueva sección Localizar la sección Condición de ejecución Entrar el nombre de la sección Proteger la sección Seleccionar el lenguaje 160
Subrutinas Número de subrutinas ilimitado Atributos de cada subrutina Nombre : 32 caracteres máximo Languaje : LD, FBD, IL, ST Tarea asociada : MAST, FAST La llamada desde una sección u otra subrutina. Número de anidamientos está limitado a 8. Una subrutina no se llama a si misma (no recursiva) Subrutina está asociada a una tarea. No se pueden llamar desde secciones o subrutinas de otra tarea 161
Añadir nueva subrutina Clic derecho =>Nueva sección SR Entrar el nombre de subrutina Seleccionar el lenguaje información : esta SR está llamada o no 162
Visióngeneral del Lenguaje FBD 163
Visión general del Lenguaje FBD Function Block Diagram (FBD) es un lenguaje gráfico que está orientado a flujo de datos Cumple con el estándar IEC 61131-3 Particularmente apropiado para control de aplicaciones continuas o discretas El programa FBD usa instancias de bloques función elementales y derivados enlazados unos con otros La programación FBD no está orientado a celdas 164
Editor FBD Basado en rejillas (por defecto 36 columnas x 24 líneas) Edición de manera libre Número de ejecución Secuencia de ejecución se define por posición FFBs y enlaces pero pueden cambiarse 165
Edit the program Menú de herramientas específico para FBD 166
Seleccionar una FFB 167
Asistente de entrada para FFB 168
Visióngeneral del lenguaje LD 169
Visión general del Lenguaje LD Diagrama de Contactos (LD) corresponde a unos escalones para conectar relés. La línea de potencia de la izquierda corresponde a la fase y la línea de potencia de la derecha corresponde al neutro del escalón Cumple con el estándar IEC 61131-3 Un grupo de objetos enlazados juntos sin enlaces a otros objetos (excluyendo la línea de potencia) se llama red El lenguaje de programación LD está orientado a celdas (solamente un objeto se puede situar en cada celda) La secuencia de proceso se determina por el flujo de datos dentro de la sección. Las redes conectadas a la izquierda de la línea de potencia se procesan desde principio a final 170
Editor LD 171
Menu de herramientas de LD 172
Visióngeneral del Lenguaje ST 173
Visión general del Lenguaje ST Texto estructurado (ST) es un lenguaje de ordenador usando una gama de expresiones para asignar valores a variables, llamadas a FFBs, creando expresiones Cumple con el estándar IEC 61131-3 Usado para escribir lógica estructurada y programas de procesado numérico (expresiones anidadas) Fácil de aprender y usar Particularmente adecuado para programación de funciones complejas como funciones aritméticas,. Programa de texto estructurado es una secuencia de líneas de texto 174
Lenguaje ST 175
Editor ST 176
Menú de herramientas de ST 177
Visióngeneral del Lenguaje SFC 178
Visión general del Lenguaje SFC Sequential Function Chart (SFC) es un método gráfico para representar un sistema de control de secuencia usando secuencias de etapas y transiciones Cumple con el estándar IEC 61131-3 Etapa es un comando o acción que está activo o inactivo El paso desde una etapa a la siguiente se produce a través de una transición condicional que puede ser verdadera o falsa El programa secuencial está compuesto de secciones SFC, variables/secciones de acciones y variables/secciones de transiciones. Solo en la tarea Maestra Una sección SFC puede contener un gráfico SFC o varios gráficos SFC 179
Editor SFC 180
Menú de herramientas del Lenguaje SFC 181
Propiedades de las etapas 182
Propiedades de Transición 183
Visióngeneral de DFB 184
Visión general de la DFB DFB es un encapsulado reusable como bloque Estructura la aplicación, simplifica la creación del programa, mejora la legibilidad, facilita la depuración y protege el know-how El diseñador programa y depura la DFB tipo. Se llama Tipo de DFB La DFB se puede proteger y exportar / importar entre diseñadores y usuarios La DFB es local a una aplicación o global en la librería Al final el usuario crea una imagen de este bloque llamada Instancia DFB" y lo utiliza en la aplicación El código de DFB está cargado solamente una vez en la CPU 185
Estructura de la DFB DFB type Entradas Salidas Entradas/salidas Variables Publicas / privadas Secciones de código 186
Variables internas y parámetros de E/S Entradas : 32 máx. Lectura solamente por la DFB Transfiere valores desde la aplicación a la DFB Salidas : 32 máx. Escritura solamente por la DFB Transfiere valores desde la DFB a la aplicación Entradas / salidas : 32 máx. Lectura / escritura por la DFB Transfiere valores a la DFB, modifica y los retorna a la aplicación Variables privadas : ilimitadas Usadas solamente por DFB (ejemplo : variables intermedias) Variables públicas : ilimitadas Usadas por la DFB y aplicación o usar en modo ajuste Valores modificados por programa o ajuste se pueden salvar como valores iniciales activando el bit sistema %S94 187
Secciones de programa de la DFB Estructurado en secciones de programa Sección Nombre simbólico Escrito en LD, IL, ST, FBD Condición de validación Protección (no, escritura, lectura / escritura) Comentario : 256 caracteres Usar solamente parámetros y variables definidas o bits y palabras de sistema 188
Usar una instancia de DFB Instancia de DFB Usada en todas las tareas de la aplicación excepto tareas de evento y transiciones SFC Asignar entradas / salidas a variables de aplicación del mismo tipo Instancias DFB usadas como Un bloque estándar en los lenguajes LD y FBD Una función elemental en los lenguajes ST o IL 189
Almacenar DFB en Librería Usar tipos que están salvados en la familia Custom Lib Posibilidad de crear sub-familias Copiar en la librería el tipo de DFB a almacenar 190
Depuracióndel programa 191
Depuración del programa Animación dinámica del programa Insertar un punto de parada en el programa y ejecutarlo paso a paso Insertar un punto de observación en el programa Usar caja de visualización asociadas a variables Usar ventanas de inspección Usar tablas de animación o pantallas de operador para controlar las variables Usar referencias cruzadas para ver el uso de una variable 192
Animación dinámica y caja de visualización Animación dinámica Variables Booleanas y analogicas están animadas con colores (verde, rojo o amarillo) caja de visualización para visualizar el valor cuando el cursor está situado sobre la variable analógica Inspect Ventana window de inspección displays value visualiza of a el variable. valor de Color una of variable. the window Color isde defined la by comparison ventana estáof definido value and por thresholds comparación (yellow, del valor blue, y magenta) umbrales (amarillo, azul, magenta) 193
Tabla de animación En modo online la tabla de animación automáticamente da el valor de las variables visualizadas por el editor de lenguaje activo Editor de lenguaje Activo 194
Modificación de la variable a través del editor de programa En modo online clic derecho sobre el nombre para visualizar el menú Modificar / forzar variables Modificar valor de la variable seleccionada 195
Modificación de variables a través de una tabla de animación En modo online usar la Tabla de animación para modificar / forzar una variable Posibolidad de realizar un forzado multiple. 196
Punto de parada Objetivo : Una ejecución paso a paso consiste en ejecutar el programa elemento a elemento La activación del modo paso a paso requiere marcar previamente un punto de parada. 3 comandos se pueden usar para el modo paso a paso : por instrucciones, por función, para salir El modo paso a paso detiene la correspondiente tarea 197
Punto de parada El punto de para detiene la ejecución del programa 198
Comandos paso a paso Continuar: Ejecuta el código hasta el punto de parada (ciclo a ciclo) Paso a paso por instrucciones: (Sección, SR o llamada a instancia DFB), este comando se puede usar para entrar al código e ir al próximo elemento de la sección, SR o DFB Paso a paso por función: (Sección, SR o llamada a instancia DFB) este comando lo ejecuta en su totalidad Paso a paso para salir: Ejecuta la sección, SR, DFB en su totalidad y va al próximo Muestra la instrucción del paso corriente Muestra el stack de llamadas En modo paso a paso no se tiene en cuenta el watchdog 199
Punto de observación Objetivo: El punto de observación permite visualizar variables de forma exacta cuando se ejecuta la línea de programa y no al final de ciclo El punto de observación no está disponibles en la tarea de evento Un único punto de observación puede activarse en una aplicación (la creación de uno nuevo eliminará el anterior) 200
Punto de observación El punto de observación examina la variable cuando una línea de programa se ejecuta La tabla de animación se puede sincronizar con el punto de observación 201
Diagnóstico en runtime Información de Modulo en fallo en la pantalla de configuración del rack Visualizador de diagnóstico: visualiza el sistema y defectos de aplicación desde el buffer de diagnóstico del PLC 202
Selección de diagnóstico integrado Accediendo a Ajustes del proyecto, seleccionamos Diagnóstico de Aplicación / Sistema visualizar mensajes de error en la visualización del diagnóstico Seleccionar visualizar o no la causa del defecto (nivel aplicación) Seleccionar el lenguaje en el cual visualizaremos el mensaje de error 203
Arquitectura de Diagnóstico 204
Diagnóstico de Sistema El diagnóstico del sistema es automático (trabaja sin programa) Todos los errores de sistema están reconocidos y salvados por el PLC Mensaje del error por software Unity Pro El diagnóstico de sistema usa alarmas de defecto desde los bits y palabras sistema (ejemplo : %S18 indica un FALLO OVERFLOW,...) 205
Proceso de diagnóstico El proceso de diagnóstico está implementado con la utilización de EF / EFB / DFB El diagnóstico de SFC está integrado directamente Errores de tiempo de etapa Errores de condición de Transición Diagnóstico EF DEREG: elimina el registro de alarma ( usado en el USER DFB ) ONLEVT: evento Online REGDFB: Fechado y salvado de alarma ( usado en el USER DFB ) REGEXT: Registro de errores FFB UREGDFB: Registro de mensajes de error en el bloque diagnóstico 206
Proceso de diagnóstico El proceso de diagnóstico está implementado con la utilización de EF / EFB / DFB El diagnóstico de SFC está integrado directamente Errores de tiempo de etapa Errores de condición de Transición Diagnóstico EF D_ACT: Diagnóstico de acción D_DYN: Diagnóstico dinámico D_GRP: Control de grupos de señal D_LOCK: Diagnóstico bloqueado D_PRE: Control de requerimientos del proceso D_REA: Diagnóstico de reacción 207
Proceso de diagnóstico Diagnóstico DFB ALRM_DIA: Interface con el buffer de diagnóstico EV_DIA : DFB de control de evento MV_DIA : DFB de control Motion NEPO_DIA : DFB de Comando y diagnóstico de la sección operativa SAFETY_MONITOR: DFB Seguridad TEPO_DIA : DFB de Comando y diagnóstico de la sección operativa Usar DFB diag Posibilidad de crear el propio diagnóstico DFB 208
Visualizador de diagnóstico (1) Lista de mensajes de error (columnas son configurables) Bit sistema o tipo de FB de diagnostico el cual detecta el fallo Mensaje de error Símbolo asociado al fallo Fecha y hora de la aparición / desaparición del fallo Fecha y hora del reconocimiento del fallo (2) Información suplementaria del mensaje seleccionado Doble clic sobre una línea de mensaje para visualizar el defecto de programa 1 1 2 2 209
Visión general de las pantallas de operador Control y visualización para el primer y segundo nivel de diagnóstico Visualización en tiempo real del estado de una máquina / proceso La ejecución de la pantalla necesita de una persona (operador) Completamente integradas en Unity Pro Enlace con referencias cruzadas, tablas de animación, etc Usa los recursos de la aplicación La ejecución de las pantallas son parte de la aplicación de PLC No se necesita hardware adicional (módulo de comunicación) Fácil de crear pantallas : menú de herramientas, objetos predefinidos, librería de objetos, cajas de diálogo para configuración, Fácil de crear animaciones : visibilidad, parpadeo, gráfico de barras, diagrama de tendencias, objetos animados predefinidos, 210
Editor gráfico y barra de herramientas Barra de herramientas específica crear objetos (rectángulo, curva, botón, cursor, ), insertar imagenes y editar objetos Editor gráfico crear pantalla usando la barra de herramientas y la librería de objetos Caja de diálogo para configurar objetos y animaciones 211