6 Para poder activar los enlaces tendremos que crear, dentro de un servidor de Entradas/Salidas, un Dispositivo Interno con el protocolo genérico de Citect. La vista desde el Editor de proyectos será la siguiente: Fig 6.21 Configuración dispositivo E/S Interno Si, por ejemplo, queremos crear una variable digital que permita poner en marcha o parar un dispositivo, la configuración queda: Fig 6.22 Configuración de una variable digital En el caso de una variable analógica, el procedimiento es similar: Fig 6.23 Configuración de una variable analógica 210
Las casillas referidas al escalado son: Plena escala de crudo: La situada a la izquierda sirve para colocar el valor mínimo de la señal del dispositivo de Entrada/Salida. Las situada a la derecha es para el valor máximo de la señal del dispositivo de Entrada/Salida (por ejemplo, valores mínimo y máximo de señal de PLC) Escala cero de crudo: El valor de señal a representar cuando tenemos el valor mínimo de señal de PLC. Plena escala de crudo: Valor máximo de señal a representar cuando la señal de PLC es máxima. 6 Siempre que se cree o modifiquen variables, se recomienda realizar una limpieza de la base de datos modificada en la operación (en este caso la de tags de variable). Esto se realiza mediante la opción del Editor de proyectos: Archivo Empaquetar. 6.5 El Editor de gráficos Permite crear o editar ventanas gráficas, plantillas, símbolos, genios y super-genios. Ya sea desde el Explorador de proyectos, o desde el Editor de Gráficos, al crear un objeto gráfico nos aparece la ventana siguiente: 6.5.1 Creación de páginas gráficas Las páginas permitirán mostrar la información al usuario y en ellas incluiremos todos los objetos que conformarán nuestra aplicación: botones, dibujos, gráficas de tendencia, alarmas, etc. Fig 6.24 Creación de objetos gráficos Desde el menú del Editor de Gráficos, la opción: Archivo Nuevo -Página, hace aparecer la ventana de plantillas. Fig 6.25 Creación de una página Aquí aparecen toda una serie de plantillas de páginas de diferentes tipos. Escogemos la que nos interese y seleccionamos: Estilo: Es el aspecto de ventana que haremos servir en nuestra aplicación. La plantilla XP_STYLE está hecha acorde con el entrono de Windows XP. 211
6 Vinculada: Si se marca esta opción, cualquier modificación en el original (CSV_INCLUDE), se actualizará automáticamente en las páginas de nuestro proyecto. Podemos eliminar el vínculo con el original en cualquier momento, pero no lo podremos recuperar posteriormente. Barra título: Muestra en el margen superior de la pantalla el título de la página. Resolución: Determinará la medida de pantalla (por ejemplo, el valor XGA equivale a 1024x768 píxeles). Aceptando, aparece la página seleccionada durante la configuración (obsérvese el tamaño de la página para resolución XGA cuando se trabaja en un monitor con resolución SXGA): Fig 6.26 Página gráfica XP_STYLE La barra de herramientas que aparece con la página contiene todos los elementos necesarios para trabajar con las páginas: Dibujo de líneas y formas, inclusión de textos, botones, símbolos, fórmulas, gráficas de tendencia, etc. 6.5.2 Elementos gráficos simples Vamos a realizar un ejercicio práctico para ilustrar los ejemplos de uso de las herramientas más comunes. Botones Al seleccionar la creación de un botón, definimos primero su tamaño y, al soltar el ratón, se abre una ventana de propiedades, donde realizaremos su configuración (en la figura anterior se cambia el rótulo por defecto en la pestaña Aspecto- General). Fig 6.27 Creación de un botón Como se trata de una entrada de datos al sistema, podemos ir a la pestaña Entrada- Pulsación, donde podemos programar el comportamiento del botón. En la figura se 212
va a cambiar el estado de la variable marcha_motor a 1 cuando se pulse el botón MARCHA. 6 Fig 6.28 Propiedades de un botón: Entrada Primero seleccionaremos el tipo de acción que debe realizar el ratón (se ha marcado la acción soltar el botón como disparo del comando introducido en la casilla Ar comando) La fórmula que queremos ejecutar se introducirá en la casilla Ar comando. El botón de la derecha de esta casilla abre una lista desplegable donde aparecen las variables definidas en el proyecto. Si hacemos lo mismo para un botón PARO, tendremos una maniobra básica. Fig 6.29 Propiedades del botón PARO La casilla Registrando servirá para crear mensajes de registro de acciones (auditoria). Fig 6.30 Propiedades del botón MARCHA/PARO No solo es posible asignar funciones simples a los botones; también podemos ejecutar funciones de mayor o menor complejidad. Para ampliar el ejemplo, vamos a colocar un botón que realice la función biestable con la variable de control del motor (función toggle) 213
6 Símbolos Para poder visualizar el estado de la variable marcha_motor, vamos a asignarla a un símbolo que cambie de aspecto con el valor de esta variable. En la barra de herramientas seleccionamos el icono símbolo y hacemos clic en la página, abriéndose la ventana de propiedades. Fig 6.31 Propiedades de un símbolo Para cambiar la imagen que viene por defecto, pulsamos en el botón Config., que abrirá las bibliotecas de símbolos. Fig 6.32 Selección de símbolos Realizando la selección pertinente, tendremos un aspecto parecido al siguiente: Fig 6.33 Programación del aspecto de un símbolo Aceptando los cambios, tendremos algo parecido a la figura siguiente. Se ha incluido un rectángulo que hace de marco para los elementos que hemos creado y que se ha extraído de la barra de herramientas. Para configurar el rectángulo basta hacer doble clic encima del mismo y definir sus propiedades (línea, relleno, color, etc.) La situación de los elementos en pantalla se determina mediante las herramientas de posicionado (Alinear, girar, traer al frente, etc.) 214
6 Textos Mediante el icono correspondiente en la barra de herramientas (A), el cursor cambia de aspecto. Podemos entonces escribir el texto y posicionarlo después mediante un clic de ratón (su aspecto también lo podremos cambiar haciendo un doble clic encima del mismo) En este momento ya disponemos de una aplicación sencilla de control y monitorización. Para poder ejecutarla, deberemos antes compilar los archivos creados para verificar que no hay errores mediante la opción Compilar en el Editor de proyectos o en el Editor gráfico, o mediante las teclas ALT+F10 (Véase, más adelante, el apartado: El Runtime) 6.5.3 Elementos gráficos animados Fig 6.34 Sistema de mando básico de un motor Sabiendo que el ejemplo anterior ya funciona, vamos a añadir un elemento animado en forma de agitador a nuestro motor. En la barra de herramientas debemos seleccionar un símbolo, y en la pestaña Aspecto-General, marcar el tipo: Animado. Fig 6.35 Selección de un objeto animado En la casilla Marcos de animación, seleccionar los elementos gráficos que conformarán la secuencia de imágenes. Fig 6.36 Configuración de un objeto animado 215
6 Aceptando la configuración, tendremos el objeto en pantalla. Bastará colocarlo en su sitio y ejecutar la aplicación para verificar su funcionamiento. Para poder ejecutarla, no olvidemos antes compilar los archivos creados para verificar que no hay errores mediante la opción Compilar en el Editor de proyectos o en el Editor gráfico, o mediante las teclas ALT+F10 (Véase, más adelante, el apartado: El Runtime) 6.5.4 Inserción y dinamización de imágenes Fig 6.37 Objeto animado en modo de ejecución Para colocar imágenes propias en una pantalla que estemos diseñando, podemos hacerlo mediante la herramienta de importación de imágenes. En el Editor gráfico, en la opción: Archivo Importar, podremos seleccionar la imagen que queremos que aparezca en nuestra pantalla. Fig 6.38 importando formatos gráficos En la imagen anterior vamos a añadir varios objetos animados para conseguir información acerca de: El estado del motor (marcha - paro) El estado de la cinta transportadora (ok - rota) Para visualizar el estado del motor, procederemos como en el apartado: Elementos gráficos simples. Hacemos servir la misma variable del ejemplo (marcha_motor) y copiamos el botón MARCHA/PARO en esta pantalla. Para mostrar un elemento de aviso en el mecanismo de control de la cinta de transporte, vamos a colocar un rectángulo que se haga visible en el momento en que se active la variable que monitoriza el estado de fallo del tensor de la cinta (Tensor_cinta_ok). Fig 6.39 Dinamización de imágenes, estado del motor 216
6 Fig 6.40 Dinamización de imágenes, estado de la cinta Haciendo doble clic encima del rectángulo, se abre la ventana de propiedades, y en la pestaña: Aspecto-Visibilidad, colocamos la variable en cuestión (si no está definida, proceder como en el apartado: Creación de variables discretas) Fig 6.41 Dinamización de imágenes, indicador de estado de cinta 6.6 El Runtime En este momento ya disponemos de una aplicación sencilla de control y monitorización. Para poder ejecutarla, deberemos antes compilar los archivos creados para verificar que no hay errores mediante la opción Compilar en el Editor de proyectos o en el Editor gráfico, o mediante las teclas ALT+F10. Si la compilación no arroja errores, podemos proceder a su ejecución desde cualquiera de las ventanas principales del programa (opción Ejecutar) o mediante la tecla F5. Fig 6.42 Runtime Si estamos trabajando sin llave de protección, aparece un mensaje al respecto. Pulsando Aceptar se ejecutará la aplicación y será operativa durante 15 minutos si hay comunicación con algún dispositivo externo. Por defecto aparece la página de arranque del runtime. Para abrir la página que hemos creado, podemos ir al menú Pages y actualizar (Update) la lista de páginas (la página que hemos creado debe ser dada de alta en esta lista para poder verla) 217
6 Fig 6.43 Página principal del Runtime Si queremos que aparezca una página determinada al iniciarse el runtime, debemos ir al Asistente de instalación de la computadora e iniciarlo en el modo: Instalación personalizada. En una de las ventanas que aparecen, Configuración general de opciones, nos permitirá seleccionar la pantalla de inicio de la aplicación. Fig 6.44 Página de prueba del primer ejemplo 6.7 Entrada y visualización de datos Vamos a ver varias opciones para el cambio de los valores de variables analógicas en nuestra aplicación: entradas numéricas y mandos deslizantes. El primer paso será disponer de alguna variable que nos permita trabajar con valores analógicos, por ejemplo para visualizar y modificar las revoluciones del motor del ejemplo anterior. Para la ocasión ya hemos creado la variable velocidad_motor, de rango 0 a 3000rpm 218
6.7.1 Visualización gráfica 6 La típica barra gráfica nos proporciona información cualitativa de una variable analógica. Podemos configurar un rectángulo como indicador analógico. Colocamos un rectángulo en pantalla y lo configuramos como un cuerpo sólido (Relleno) en la pestaña Aspecto-General. A continuación, definimos el comportamiento dinámico en la pestaña Relleno-Nivel. Fig 6.45 Configuración de llenado por nivel La figura quedará con el siguiente aspecto: Fig 6.46 Diseño de prueba 6.7.2 Mando deslizante Mediante los denominados deslizadores (sliders) podemos variar de forma rápida una magnitud (pulsar y arrastrar). Vamos a colocar un deslizador para hacer un cambio en la velocidad del motor. Insertando un símbolo, lo seleccionamos de la biblioteca y lo colocamos en pantalla. Seguidamente debemos configurarlo para que actúe como deseamos. Fig 6.47 Diseño de prueba, añadiendo un deslizador 219
6 Situado el símbolo del deslizador donde nos interese, procedemos a su configuración haciendo doble clic encima. Fig 6.48 Propiedades del deslizador Se abre la ventana de propiedades y, en la pestaña Control deslizante-vertical, insertamos la variable a modificar y el desplazamiento, en píxeles, del deslizador (será la altura del rectángulo que mostrará la barra gráfica) La opción Actualización continua hace cambiar el valor mientras se mueve el deslizador, en caso contrario, el valor se actualiza al soltarlo. Compilamos y ejecutamos para probar el funcionamiento. 6.7.3 Visualización de valores numéricos Fig 6.49 Deslizador operativo En el ejemplo anterior nos falta información cuantitativa de la velocidad del motor. Vamos a colocar un indicador que nos presente el valor de la variable velocidad_motor. Se tratará del símbolo de la almohadilla (#), que seleccionaremos de la barra de herramientas. Fig 6.50 Visualizador de valores numéricos Haciendo doble clic encima del mismo, se abre la ventana de propiedades donde, en la pestaña Aspecto-Mostrar valor, se asigna la variable a visualizar. 220
6 6.7.4 Entrada de datos numéricos Para cambiar de forma directa el valor de una variable podemos optar por varios métodos de introducción de datos: ventanas emergentes, teclados, entrada directa desde teclado, pulsadores, etc. Vamos a ver dos de los métodos más habituales: Ventana emergente Al pulsar sobre el campo a modificar, se abre una ventana de introducción de datos. Para ello, podemos copiar el campo donde se visualiza el valor de la velocidad del motor y le añadiremos una propiedad nueva. Fig 6.51 Valores numéricos, ventana emergente Haciendo doble clic encima, se abre la ventana de propiedades y, en la pestaña Entrada-Pulsación, después de programar el tipo de acción, introducimos el siguiente código en la casilla Ar comando: velocidad_motor=input("consigna de Velocidad","Introduzca la velocidad",velocidad_motor) Teclado numérico Haciendo doble clic encima, se abre la ventana de propiedades y, en la pestaña Entrada-Comandos de teclado, seleccionamos el doble clic como Secuencia de teclas e introducimos el siguiente código en la casilla Secuencia de teclas de comando: velocidad_motor=formnumpad("velocidad del motor", velocidad_motor,0) Fig 6.52 Valores numéricos, configuración teclado 221