8/9/2019 T300 Capítulo 11 - Ver Si Aplica
1/15
Page 1 of 15Capitulo 11
11. Control Modules
11. Control Modules T300Engineering an 800xA System
Prepared By: ABB University
Av. Vicuña Mackenna 1602
Santiago – Chile
Fono:56-2-471-4371; Fax:56-2-4714399
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
2/15
Page 2 of 15Capitulo 11
11. Control Modules
Contenido
11. Control Modules...................................................................................................3
11.1 Información General .....................................................................................3 11.1.1 Uso de Módulos de Control ............................................................3 11.1.2 Diferencias entre Bloques Funcionales y Módulos de
Control ...........................................................................................3 11.1.3 Gráficos ...........................................................................................4 11.1.4 Ejecución de Código .......................................................................4 11.1.5 ¿Cuándo es conveniente usar un Módulo de Control?..................4
11.2 Editor de Módulos de Control.......................................................................5 11.2.1 Creando un Módulo de Control.......................................................6
11.3
Módulos de Control Definidos por Usuario ..................................................7 11.3.1 Creando un nuevo tipo de Módulo de Control................................7
11.3.2 Instancia de un Módulo de Control .................................................8 11.3.3 Conexión de señales de Módulos de Control a I/O........................8 11.3.4 Ejercicio 11.1 – Creación de un nuevo Control Module
Type ...........................................................................................9 11.4 Gráficos en un Control Module ....................................................................9
11.4.1 Ejercicio 11.2 – Adición de Gráficos en un Control Module.........10 11.5 Edición de Control Module (CMD Editor)...................................................13
11.5.1 Ejercicio 11.3 – Edición de Control Module ..................................13
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
3/15
Page 3 of 15Capitulo 11
11. Control Modules
11. Control Modules
11.1 Información General
Este capítulo describe las ventajas de los Módulos de Control (Control Module),como usarlos y modificarlos. También se da una idea de como organizar el proyectoacercándolo a una filosofía de programación orientada a objetos usando Módulos deControl.
11.1.1 Uso de Módulos de Cont rol
Los Módulos de Control son el principal elemento de estructuración para la
programación de una aplicación. Ellos son un contenedor auto ejecutable para
código de programa y gráficos. Ya que un Módulo puede contener objetosgráficos, se crea usando no solo el editor de programa, sino también el editor de
Módulo de Control. Los Módulos de Control son convenientes para la representaciónde objetos de proceso complejos y para control de grandes aplicaciones. El trabajocon Módulos de Control se desarrolla como una programación orientada a objetos,es decir muchos de los objetos de control son encapsulados en los Módulos deControl y la dependencia externa es minimizada. Aparte de la programaciónconvencional, los Módulos de Control diseñados pueden envolver implementaciónde interactividad gráfica.
11.1.2 Di ferencias entre Bloques Fun cionales y Módulos de Contro l
Las diferencias más importantes entre los Módulos de Control y los Bloques
Funcionales son sumariadas en la tabla siguiente.
Propiedades Módulos de Control Bloques Funcionales
Orden deEjecución*
Automático, determinado por elcompilador, basado en laoptimización del flujo de datos.
Manual; sentencias decódigo, basado en flujo deprograma.
Ejecución porscan
El bloque de código es siempreejecutado una vez por scan, deacuerdo al análisis del flujo de
datos.
Un bloque funcional puedeser llamado y ejecutado, cero,uno, o varias veces por scan.
Conexión aparámetrosestáticos*
Si. Una conexión a un parámetroestático no cambia durante laejecución; ello solo puede sercambiado vía cambio de código yrecopilación. Las conexionesestáticas son seteadas durante lacompilación y facilitan unaeficiente generación de código.
No. Los parámetros sonasignados cada vez que elBloque Funcional esejecutado de acuerdo alestándar IEC61131-3.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
4/15
Page 4 of 15Capitulo 11
11. Control Modules
Gráficos* Si, en tres diferentes formas: librediseño programación,supervisión, e interacción.
Indirectamente vía inclusiónde sub Módulos de Control.
Parámetros In_out, pueden ser conectados agráficos. Conexiones no puedenser invertidas.
In, Out, o In_out, solo losparámetros In y Out puedenser conectados a subMódulos de Control.
Juntas, las propiedades marcadas con * facilitan la designación de librerías deaplicación y la reutilización de complejos bloques construidos en la aplicación.
11.1.3 Gráfi c o s
Se puede diseñar un Módulo de Control para incluir películas interactivas ysupervisión de procesos (tal como botones de comandos, campos de entrada ycurvas de tendencia). Además, los Módulos de Control pueden ser representadospor ciertos iconos interactivos, lo cual facilita el control y supervisión de proceso.
11.1.4 Ejecución de Código
La principal diferencia entre los Módulos de Control y los Bloques Funcionales esque los Módulos de Control son ejecutados en un orden basado en el óptimo flujo dedatos, determinado por el compilador. El orden de ejecución del Bloque Funcional
sigue el flujo de programa implementado por el programador. Los Módulos son soloejecutados una vez por scan en cambio los Bloques Funcionales pueden serejecutados varias veces por scan.
11.1.5 ¿Cuánd o es co nven iente us ar un Módulo de Cont rol?
Antes de partir diseñando una aplicación, es conveniente decidir usar el tradicionalcódigo de programa y los bloques funcionales o una solución orientada a objetosbasada en módulos de control. Además de preferencias personales, la eleccióntípicamente depende del tamaño de la aplicación y la necesidad de objetosreusables.
Como una guía, se considera la programación tradicional típicamente convenientepara pequeñas aplicaciones, por cuanto los módulos de control son recomendadospara grandes aplicaciones. Los módulos de control soportan programación orientadaa objetos y código reusable para una extensión más grande y por lo tanto parahacer una gran aplicación más flexible y más fácil de mantener.
La subsiguiente implementación seguirá una de las ramas en la siguiente figura.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
5/15
Page 5 of 15Capitulo 11
11. Control Modules
La figura muestra que también la solución orientada a objetos típicamente involucrabloques funcionales . Esto es porque la orientación a objetos bajo un cierto nivel decomplejidad no es justificable. En este caso, la programación tradicional con bloques
funcionales constituye la más racional alternativa.En suma, es recomendado usar módulos de control en los siguientes casos:
- Para grandes aplicaciones: por su buen rendimiento.
- Para objetos de proceso: por su código distribuido, que facilita laestructuración de la aplicación.
11.2 Editor de Módulos de Control
El editor Control Module es una combinación de herramientas para diseño deinterfaz gráfica y programación, permite crear y editar los objetos gráficos de un
Módulo de Control y conectar variables a estos objetos. También da acceso directoal editor de programa, en el cual se escribe el código del Módulo de Control y sedeclaran las variables y parámetros.
Usted puede crear un nuevo Módulo de Control y editar uno ya existente con eleditor Control Module. Las funciones de dibujo incluyen no solo incluyen elementosbásicos (lineas, rectangulos, etc.), sino también objetos de interacción (OptionButtons, Check Boxes, etc.) y objetos compuestos (Bar Graphs, String Selectors,etc.).
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
6/15
Page 6 of 15Capitulo 11
11. Control Modules
11.2.1 Creando un Módulo de Contro l
Un Módulo de Control puede ser creado desde el Explorador de Proyectodirectamente o desde un Diagrama de Módulo de Control. Las siguientes son laspropiedades generales:
- Un Módulo de Control siempre tiene un POU asociadado. Este tipode POU puede ser un tipo Módulo de Control, tipo Bloque Funcional,o una aplicación.
- Un Módulo de Control puede ser mostrado gráficamente dentro del
grafico del POU asociado.
- Un Módulo de Control puede también ser mostrado en una ventanade interacción perteneciente al bloque funcional.
- La comunicación entre dos adyacentes Módulos de Control se realizaconectando los parámetros del Módulo de Control a variablescomunes. Estas variables deben ser declaradas en el POUcircundante. Para Módulos de Control en el primer nivel de laaplicación, las variables pueden ser declaradas haciendo doble clicken el nombre de la aplicación en el Explorador de Proyecto,seleccionando luego el tab ‘Variables’, como se vio anteriormente.
Si una variable global es usada dentro de un Módulo de Control, una variableexterna con el mismo nombre y tipo de dato debe ser declarado en el Módulo deControl.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
7/15
Page 7 of 15Capitulo 11
11. Control Modules
11.3 Módulos de Control Definidos por Usuario
11.3.1 Creando un nuevo t ipo de Módulo de Contro l
Usted puede crear un nuevo Tipo de Módulo de Control en una librería propia odirectamente dentro de una aplicación. Un Tipo creado en nivel de Aplicación solopuede ser alcanzado desde esta misma Aplicación, en cambio un Tipo de libreríapuede ser alcanzado desde cualquier Aplicación. Usted puede también crear unnuevo Tipo de Módulo de Control desde un ya existente Tipo de Módulo de Control.
Al hacer click derecho en el icono Control Module Types en una de sus propiaslibrerías o en una aplicación y selecciona New Control Module Type... Asigne unnombre al nuevo Tipo y haga click en OK.
Haga doble click en el nuevo tipo de Módulo de Control par air al editor POU o hagaclick derecho y escoja CMD editor para alcanzar la interfaz gráfica para el tipo de
Módulo de Control.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
8/15
Page 8 of 15Capitulo 11
11. Control Modules
11.3.2 Instancia de un Módulo de Contro l
Un nuevo Módulo de Control (la instancia) puede crearse en una Aplicación o enotro Control Module Type, puede ser hecho en dos maneras: usando el Explorador
de Proyecto o usando el editor CMD. En el Explorador de Proyecto usted puede
hacer click derecho en el icono Control Modules, y entonces seleccionar la libreríay el Tipo de Módulo de Control que desea. también debe ingresar un nombre para lainstancia. Presione OK.
11.3.3 Con exión de señales de Módulo s de Con tro l a I/O
Desde el tab Connections del módulo I/O, es posible alcanzar variables dentro deun Módulo de Control. Es por lo tanto recomendado que las conexiones I/O seanhechas directamente a la variable en cuestión, sin usar variables estructuradas parapasar a los Módulos de Control usando los parámetros.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
9/15
Page 9 of 15Capitulo 11
11. Control Modules
11.3.4 Ejercicio 11.1 – Creación de un nuevo Co ntro l Modu le Type
Crear un nuevo proyecto PumpCMProject. Use the template for AC800M.
Crear una nueva librería llamada PumpLib.
Añadir la librería a la aplicación a través de Connected LibrariesEn esta librería, crear un nuevo Tipo de Módulo de Control llamado Pump.
Abrir el editor POU para el Pump y declare cinco variables, Start, Stop, y Out detipo bool; NumberofStarts de tipo dint y Flow de real.
Escriba una línea de código en el bloque de código:
Out := (Out or Start) and Not Stop;
Cree a nuevo bloque de código llamado Counter . Use un Bloque Funcional de tipoCTU para contar el número de veces que la pump ha partido. Use las variables
existentes.
Cree una instancia del Tipo de Módulo Pump en la aplicación a través de (ControlModule > New Control Module...) o en (Create > Control Module…)
Simule y verifique su funcionamientos utilizando los switches en el panel.
11.4 Gráficos en un Control Module
El editor CMD hace posible añadir un contenido gráfico al Módulo de Control. Unnúmero de objetos de interacción tales como push buttons, input fields etc, puedenser usados. Los gráficos en Módulos de Control son una útil característica en lossiguientes casos:
-Durante el desarrollo de la aplicación, una ventana de interacciónhace fácil manipular variables y parámetros.
- Durante el comisionamiento, los gráficos pueden ser usados parasimular la respuesta desde partes de la planta que no estánaprovechables todavía.
- Como una herramienta para objetos de proceso, un faceplate puedemostrar los status de interlocks, permitir operación manual, etc.
La imagen siguiente muestra dos ejemplos de ventanas de interacción, una paraoperación manual de un objeto de proceso y la otra para sintonizar un controladorPID, que son complementos a las HMI.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
10/15
Page 10 of 15Capitulo 11
11. Control Modules
11.4.1 Ejercicio 11.2 – Ad ición d e Gráfico s en un Con tro l Mod ule
Use el editor CMD para el Tipo de Módulo de Control Pump para añadir el siguiente
objeto gráfico:
- Un símbolo de acuerdo a la imagen. El triangulo debería indicar
si la bomba esta corriendo o no: Si está corriendo, el triangulodebería ser verde, si no está corriendo no debería tener ningúncolor.
-
Dos botones de comando activan las variables Start y Stop. Elnombre de las variables debería ser indicado en los botones.
- Un objeto de texto dinámico que muestra el valor de la variableNumberofStarts.
- Dos input fields para ir reescalando el Min y Max valor de lavariable Flow.
- Una barra gráfica indicando el valor de Flow.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
11/15
Page 11 of 15Capitulo 11
11. Control Modules
Debe dar click derecho en el Tipo de Módulo de Control Pump en la libreríaPumpLib. Seleccione CMD editor . Use la herramienta Oval para dibujar un
circulo, y el Polygon para dibujar el triangulo. Hacer click derecho en eltriangulo y seleccione Color. Presione el botón More. Escoja un color verde
como Alternative Area Color (debe hacer click sobre el cuadro para abrir elpop up de selección) y –2 (Window Background) como Area Color . En elinput field para Color Mix ingrese Out.
De click sobre la herramienta Command button y dibuje un push button.Hacer click derecho en el button y seleccionar Interaction attributes.
Complete la ventana de dialogo de acuerdo a la imagen. No olvide lascomillas para el nombre en el cuadro Text.
Seleccione la herramienta text object y escriba ‘NumberOfStarts’ en el textbox. Hacer click en el texto y escoja Text. Chequear el cuadro Variable.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
12/15
Page 12 of 15Capitulo 11
11. Control Modules
Ir al editor POU para el Pump y cambie el tipo de dato para Flow a RealIO.
Crear un input field para escalar el valor Min de Flow. Haga click yseleccione Interaction Attributes. Llenar la ventana como se muestra en la
siguiente figura.
Repetir la etapa 6 para el máximo valor de Flow.
Crear un Bar Graph . Hacer click en la barra y escoger Variable. Ingresar
‘Flow.Value’ como nombre de variable. Hacer click en el eje Y para
establecer el rango de 0 to 250.
Verifique el funcionamiento realizando la simulación de la aplicación.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
13/15
Page 13 of 15Capitulo 11
11. Control Modules
11.5 Edición de Control Module (CMD Editor)
Existe un gran número de herramientas en el editor CMD. Las más
importantes se mencionan a continuación:
-Command button . Usado para manipular variablesBooleanas.
- Input field , para entradas de cadenas o valores reales.
- Text tool . Usado para creación de textos estáticos odinámicos.
- Oval tool . Usado para dibujar círculos y óvalos.
- Polygon tool . Usado para dibujar triángulos etc.
11.5.1 Ejercicio 11.3 – Edic ión de Con tro l Modu le
Cambie el diseño del Tipo de Módulo de Control Pump para que tenga los
siguientes cambios:
- Dos capas en lugar de una.
- El Panel debe estar en la segunda capa.
- En la primera capa debe mostrarse un texto ‘Pump’.
- Cuando el usuario hace click en la palabra ‘Pump’ el panel
debe abrir un pop up en su propia ventana.
Debe abrir la librería PumpLib. Hacer click en el Tipo de Módulo de
Control Pump. Seleccionar CMD editor . Vaya al item menuControl Module>Properties>Zooming and Visibility.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
14/15
Page 14 of 15Capitulo 11
11. Control Modules
Chequee los dos cuadros Two layers y Zoomable. Click OK.
Seleccione el Panel y vaya al menú Edit > Layer > 2. El Panel está
ahora en la capa 2. Verifique esto haciendo zoom en y fuera de
capa 2. Use los botones zoom .
Haga zoom fuera de capa 1. En la parte inferior izquierda del CMDaparece un texto que indica en que capa (Layer ) se estáposicionado, al pinchar la imagen. Use la herramienta text paraescribir el texto ‘Pump’.
Seleccione la herramienta para interacción no gráfica de objetos
. Escoja Window en la lista del pop up. Coloque el cursor justo
abajo de la esquina izquierda del text box. Hacer click y arrastrarpara hacer el objeto de interacción más grande que el texto.
Haga click derecho en el objeto de interacción. Seleccione
Interaction attributes. Complete el dialogo de acuerdo a la imagensiguiente.
8/9/2019 T300 Capítulo 11 - Ver Si Aplica
15/15
Page 15 of 15Capitulo 11
11. Control Modules
Asegúrese que el nombre del panel está correctamente escrito deletreado en elcampo Path. Click OK.
Verifique el funcionamiento realizando la simulación de la aplicación Nombre