www.infoPLC.net DEPARTAMENTO DE ELECTRÓNICA Máster Universitario en Automatización de Procesos Industriales Departamento de Electrónica Universidad de Alcalá DEPARTAMENTO DE ELECTRÓNICA Entornos de Automatización Comerciales CX-Supervisor V3 3ª parte www.infoPLC.net Expresiones 3 Las expresiones consisten en operadores y operandos. Los operadores serán relaciones, operaciones lógicas, matemáticas o funciones. Los operandos son constantes o valores de puntos. Se pueden utilizar en algunos campos, como: Parpadeo, Cambio de color, Cierre de página, Editar el valor de un punto, Movimiento horizontal, Redimensionado, Visibilidad, etc. Entornos de Automatización Industriales - DEPECA - UAH Expresiones 4 Ejemplo en el se utiliza una expresión para modificar el valor de una propiedad (la posición vertical). En runtime, una vez que se ha comprobado que el valor del punto cumple las restricciones de “rango de la expresión/Posición necesaria”, se mueve el objeto según la expresión. Expresión basada en un punto Límites del movimiento Se comprobará que PuntoEntero está entre Valor mínimo y Valor máximo. Si está fuera no hará nada. Si está dentro, moverá el objeto en horizontal: al valor mínimo le asignará el offset mínimo, al valor máximo el offset máximo y si está en medio, lo moverá de forma proporcional. Entornos de Automatización Industriales - DEPECA - UAH www.infoPLC.net Expresiones 5 Otros ejemplos de expresiones utilizadas para modificar parámetros (I): Entornos de Automatización Industriales - DEPECA - UAH Expresiones 6 Otros ejemplos de expresiones utilizadas para modificar parámetros (II): Entornos de Automatización Industriales - DEPECA - UAH www.infoPLC.net Secuencias de comandos (scripts) 7 Una secuencia de comandos (script) es un fragmento de código que permite manipular puntos. Los scripts sirven para: Generar nuevas funcionalidades. Personalizar tareas y resultados. Proporcionar mayor flexibilidad y potencia. Ejecutar procesos mediante comandos y operaciones lógicas. Pueden ejecutarse por tiempo o por evento. Posibilidad de programar en el lenguaje script propio de CX-Supervisor o en Visual Basic Script. Entornos de Automatización Industriales - DEPECA - UAH Secuencias de comandos (scripts) 8 Existe un amplio rango de comandos scripts que cubren casi todas las posibilidades de actuación a nivel de: Objetos: cuando un script se ejecuta como acción de un objeto, puede afectar a “su” objeto o a cualquier otro, dependiendo del contenido del script. Páginas: los scripts de página manipulan puntos y objetos gráficos utilizados o incluidos en esa página. Pueden realizar varias acciones cuando ocurra cierto evento, que pueden manipular varios objetos gráficos de la página. el proyecto: estos scripts pueden aplicarse a un proyecto para manipular puntos. Se asocian a eventos que pueden ocurrir en la sesión completa. Entornos de Automatización Industriales - DEPECA - UAH www.infoPLC.net Secuencias de comandos (scripts) 9 Para utilizar el editor de scripts (I): Abrir el editor de animaciones Doble clic en la acción “Ejecutar secuencia de comandos”. Entornos de Automatización Industriales - DEPECA - UAH Secuencias de comandos (scripts) 10 Para utilizar el editor de scripts (II): Se abrirá el editor de scripts Condición de disparo Algunas funciones básicas Tipo de Script Ventana de código Entornos de Automatización Industriales - DEPECA - UAH www.infoPLC.net Secuencias de comandos (scripts) 11 Para utilizar el editor de scripts (III): Se escribe el código en la ventana de código. Los comandos pueden ser tecleados directamente o introducidos a través de los menús. Una vez que se pulsa el botón OK, se compila el script y si se produce algún error se visualiza un diálogo indicando el tipo y lugar del mismo. Se deben solucionar los errores y pulsar OK hasta que el código esté libre de errores. Hay algunos errores, como nombres de puntos y de objetos inexistentes, que no serán detectados en tiempo de diseño, y se detectarán en tiempo de ejecución. Entornos de Automatización Industriales - DEPECA - UAH Secuencias de comandos (scripts) Sintaxis básica (I) Asignación Punto = valor ObjetoGrafico.Propiedad = valor contador = 10 contador = contador + 1 semaforo.color = verde Name = “Pepe” Constantes TRUE FALSE 0 0.0 iniciado = TRUE acabado = FALSE limite = 100 pi = 3.1415927 Comparación Punto > valor Punto < valor Punto == valor Punto != valor Punto <= valor IF count > 10 THEN ... IF count < 10 THEN ... IF count == 10 THEN ... IF count != 10 THEN ... IF count <= 10 THEN ... Entornos de Automatización Industriales - DEPECA - UAH 12 www.infoPLC.net Secuencias de comandos (scripts) 13 Sintaxis básica (II) Sentencias condicionales simples IF condicion THEN sentencia 1 ELSE sentencia 2 ENDIF IF fuel < 0 THEN ... fuel = 0 ELSE fuel = litros ENDIF IF condicion1 THEN sentencia 1 ELSEIF condicion2 THEN sentencia 2 ELSE sentencia 3 ENDIF IF secuencia == 0 THEN ... variable = 1 ELSEIF secuencia > 0 THEN variable = 16 ELSE variable = -16 ENDIF Entornos de Automatización Industriales - DEPECA - UAH Secuencias de comandos (scripts) Sintaxis básica (III) Comentarios REM ‘ REM *** Esto es un comentario *** ‘ *** Esto tambien es un comentario *** Subrutinas CALL subrutina (argumentos) RETURN Selección múltiple SELECT CASE expresion CASE expresion1 sentencia 1 CASE expresion2 sentencia 2 CASE ELSE sentencia 3 END SELECT CALL MySub(param1, param2) ... IF valor > limite THEN RETURN ENDIF SELECT CASE valor CASE 1 color = rojo CASE 2 color = azul CASE ELSE color = verde END SELECT Entornos de Automatización Industriales - DEPECA - UAH 14 www.infoPLC.net Secuencias de comandos (scripts) 15 La condición de disparo especifica el evento que debe ocurrir para que se ejecute el script: Al pulsar el botón izquierdo del ratón (objeto) – cuando se hace clic sobre un objeto. Según condición (objeto, página o proyecto) – cuando el resultado de evaluar la expresión es verdadero. Según intervalo regular (objeto, página o proyecto) – a intervalos regulares. Al inicializar (página o proyecto) – cuando se abre una página o el proyecto. Al terminar (página o proyecto) – cuando se cierra una página o el proyecto. Al pulsar una tecla (proyecto) – cuando se pulsa la tecla especificada. Subrutina (proyecto) – cuando es llamada desde otro script. Entornos de Automatización Industriales - DEPECA - UAH Secuencias de comandos (scripts) Entornos de Automatización Industriales - DEPECA - UAH 16 www.infoPLC.net Secuencias de comandos (scripts) 17 Entornos de Automatización Industriales - DEPECA - UAH Secuencias de comandos (scripts) Entornos de Automatización Industriales - DEPECA - UAH 18 www.infoPLC.net Secuencias de comandos (scripts) 19 Visual Basic Es una versión reducida de Visual Basic. Tiene su misma sintaxis y forma de trabajar. Su uso está recomendado cuando se trabaja con abundantes objetos ActiveX y/o cuando se está acostumbrado a programar en Visual Basic Muy potente y robusto No se deben mezclar scripts propios de CX-Supervisor con VB Scripts Entornos de Automatización Industriales - DEPECA - UAH Ejercicios 20 Ejercicio Dibuje una pantalla con un cuadrado. Añada: un control deslizante: cuando se mueva dicho control el cuadrado se moverá entre la posición 0 (cuando el control esté en el mínimo) y la 200 (cuando el control esté en el máximo). 2 círculos para controlar el tamaño: cuando se haga clic sobre uno de ellos, el cuadrado pasará a tener un ancho de 30, y cuando se pulse el otro, pasará a tener un ancho de 60. 2 círculos para controlar el color: cuando se pulse uno de ellos se cambiará el cuadrado a rojo, y cuando se pulse el otro, se cambiará a verde. Entornos de Automatización Industriales - DEPECA - UAH