Anda di halaman 1dari 15

Page 1 of 15

Capitulo 11
11. Control Modules

11. Control Modules

Prepared By:

T300
Engineering an 800xA System

ABB University
Av. Vicua Mackenna 1602
Santiago Chile
Fono:56-2-471-4371; Fax:56-2-4714399

Page 2 of 15
Capitulo 11
11. Control Modules

Contenido
11. Control Modules...................................................................................................3
11.1 Informacin General .....................................................................................3
11.1.1 Uso de Mdulos de Control ............................................................3
11.1.2 Diferencias entre Bloques Funcionales y Mdulos de
Control ...........................................................................................3
11.1.3 Grficos ...........................................................................................4
11.1.4 Ejecucin de Cdigo .......................................................................4
11.1.5 Cundo es conveniente usar un Mdulo de Control? ..................4
11.2 Editor de Mdulos de Control.......................................................................5
11.2.1 Creando un Mdulo de Control.......................................................6
11.3 Mdulos de Control Definidos por Usuario ..................................................7
11.3.1 Creando un nuevo tipo de Mdulo de Control................................7
11.3.2 Instancia de un Mdulo de Control .................................................8
11.3.3 Conexin de seales de Mdulos de Control a I/O........................8
11.3.4 Ejercicio 11.1 Creacin de un nuevo Control Module
Type
...........................................................................................9
11.4 Grficos en un Control Module ....................................................................9
11.4.1 Ejercicio 11.2 Adicin de Grficos en un Control Module .........10
11.5 Edicin de Control Module (CMD Editor)...................................................13
11.5.1 Ejercicio 11.3 Edicin de Control Module ..................................13

Page 3 of 15
Capitulo 11
11. Control Modules

11.

Control Modules

11.1

Informacin General
Este captulo describe las ventajas de los Mdulos de Control (Control Module),
como usarlos y modificarlos. Tambin se da una idea de como organizar el proyecto
acercndolo a una filosofa de programacin orientada a objetos usando Mdulos de
Control.

11.1.1 Uso de Mdulos de Control

Los Mdulos de Control son el principal elemento de estructuracin para la


programacin de una aplicacin. Ellos son un contenedor auto ejecutable para
cdigo de programa y grficos. Ya que un Mdulo puede contener objetos
grficos, se crea usando no solo el editor de programa, sino tambin el editor de
Mdulo de Control. Los Mdulos de Control son convenientes para la representacin
de objetos de proceso complejos y para control de grandes aplicaciones. El trabajo
con Mdulos de Control se desarrolla como una programacin orientada a objetos,
es decir muchos de los objetos de control son encapsulados en los Mdulos de
Control y la dependencia externa es minimizada. Aparte de la programacin
convencional, los Mdulos de Control diseados pueden envolver implementacin
de interactividad grfica.

11.1.2 Diferencias entre Bloques Funcionales y Mdulos de Control

Las diferencias ms importantes entre los Mdulos de Control y los Bloques


Funcionales son sumariadas en la tabla siguiente.
Propiedades
Orden de
Ejecucin*

Mdulos de Control
Automtico, determinado por el
compilador, basado en la
optimizacin del flujo de datos.

Bloques Funcionales
Manual; sentencias de
cdigo, basado en flujo de
programa.

Ejecucin por
scan

El bloque de cdigo es siempre


ejecutado una vez por scan, de
acuerdo al anlisis del flujo de
datos.
Si. Una conexin a un parmetro
esttico no cambia durante la
ejecucin; ello solo puede ser
cambiado va cambio de cdigo y
recopilacin. Las conexiones
estticas son seteadas durante la
compilacin y facilitan una
eficiente generacin de cdigo.

Un bloque funcional puede


ser llamado y ejecutado, cero,
uno, o varias veces por scan.

Conexin a
parmetros
estticos*

No. Los parmetros son


asignados cada vez que el
Bloque Funcional es
ejecutado de acuerdo al
estndar IEC61131-3.

Page 4 of 15
Capitulo 11
11. Control Modules

Grficos*

Si, en tres diferentes formas: libre


diseo programacin,
supervisin, e interaccin.

Indirectamente va inclusin
de sub Mdulos de Control.

Parmetros

In_out, pueden ser conectados a


grficos. Conexiones no pueden
ser invertidas.

In, Out, o In_out, solo los


parmetros In y Out pueden
ser conectados a sub
Mdulos de Control.

Juntas, las propiedades marcadas con * facilitan la designacin de libreras de


aplicacin y la reutilizacin de complejos bloques construidos en la aplicacin.

11.1.3 Grficos

Se puede disear un Mdulo de Control para incluir pelculas interactivas y


supervisin de procesos (tal como botones de comandos, campos de entrada y
curvas de tendencia). Adems, los Mdulos de Control pueden ser representados
por ciertos iconos interactivos, lo cual facilita el control y supervisin de proceso.

11.1.4 Ejecucin de Cdigo

La principal diferencia entre los Mdulos de Control y los Bloques Funcionales es


que los Mdulos de Control son ejecutados en un orden basado en el ptimo flujo de
datos, determinado por el compilador. El orden de ejecucin del Bloque Funcional
sigue el flujo de programa implementado por el programador. Los Mdulos son solo
ejecutados una vez por scan en cambio los Bloques Funcionales pueden ser
ejecutados varias veces por scan.

11.1.5 Cundo es conveniente usar un Mdulo de Control?

Antes de partir diseando una aplicacin, es conveniente decidir usar el tradicional


cdigo de programa y los bloques funcionales o una solucin orientada a objetos
basada en mdulos de control. Adems de preferencias personales, la eleccin
tpicamente depende del tamao de la aplicacin y la necesidad de objetos
reusables.
Como una gua, se considera la programacin tradicional tpicamente conveniente
para pequeas aplicaciones, por cuanto los mdulos de control son recomendados
para grandes aplicaciones. Los mdulos de control soportan programacin orientada
a objetos y cdigo reusable para una extensin ms grande y por lo tanto para
hacer una gran aplicacin ms flexible y ms fcil de mantener.
La subsiguiente implementacin seguir una de las ramas en la siguiente figura.

Page 5 of 15
Capitulo 11
11. Control Modules

La figura muestra que tambin la solucin orientada a objetos tpicamente involucra


bloques funcionales . Esto es porque la orientacin a objetos bajo un cierto nivel de
complejidad no es justificable. En este caso, la programacin tradicional con bloques
funcionales constituye la ms racional alternativa.
En suma, es recomendado usar mdulos de control en los siguientes casos:
-

11.2

Para grandes aplicaciones: por su buen rendimiento.


Para objetos de proceso: por su cdigo distribuido, que facilita la
estructuracin de la aplicacin.

Editor de Mdulos de Control


El editor Control Module es una combinacin de herramientas para diseo de
interfaz grfica y programacin, permite crear y editar los objetos grficos de un
Mdulo de Control y conectar variables a estos objetos. Tambin da acceso directo
al editor de programa, en el cual se escribe el cdigo del Mdulo de Control y se
declaran las variables y parmetros.
Usted puede crear un nuevo Mdulo de Control y editar uno ya existente con el
editor Control Module. Las funciones de dibujo incluyen no solo incluyen elementos
bsicos (lineas, rectangulos, etc.), sino tambin objetos de interaccin (Option
Buttons, Check Boxes, etc.) y objetos compuestos (Bar Graphs, String Selectors,
etc.).

Page 6 of 15
Capitulo 11
11. Control Modules

11.2.1 Creando un Mdulo de Control

Un Mdulo de Control puede ser creado desde el Explorador de Proyecto


directamente o desde un Diagrama de Mdulo de Control. Las siguientes son las
propiedades generales:
-

Un Mdulo de Control siempre tiene un POU asociadado. Este tipo


de POU puede ser un tipo Mdulo de Control, tipo Bloque Funcional,
o una aplicacin.

Un Mdulo de Control puede ser mostrado grficamente dentro del


grafico del POU asociado.

Un Mdulo de Control puede tambin ser mostrado en una ventana


de interaccin perteneciente al bloque funcional.

La comunicacin entre dos adyacentes Mdulos de Control se realiza


conectando los parmetros del Mdulo de Control a variables
comunes. Estas variables deben ser declaradas en el POU
circundante. Para Mdulos de Control en el primer nivel de la
aplicacin, las variables pueden ser declaradas haciendo doble click
en el nombre de la aplicacin en el Explorador de Proyecto,
seleccionando luego el tab Variables, como se vio anteriormente.

Si una variable global es usada dentro de un Mdulo de Control, una variable


externa con el mismo nombre y tipo de dato debe ser declarado en el Mdulo de
Control.

Page 7 of 15
Capitulo 11
11. Control Modules

11.3

Mdulos de Control Definidos por Usuario

11.3.1 Creando un nuevo tipo de Mdulo de Control

Usted puede crear un nuevo Tipo de Mdulo de Control en una librera propia o
directamente dentro de una aplicacin. Un Tipo creado en nivel de Aplicacin solo
puede ser alcanzado desde esta misma Aplicacin, en cambio un Tipo de librera
puede ser alcanzado desde cualquier Aplicacin. Usted puede tambin crear un
nuevo Tipo de Mdulo de Control desde un ya existente Tipo de Mdulo de Control.
Al hacer click derecho en el icono Control Module Types en una de sus propias
libreras o en una aplicacin y selecciona New Control Module Type... Asigne un
nombre al nuevo Tipo y haga click en OK.

Haga doble click en el nuevo tipo de Mdulo de Control par air al editor POU o haga
click derecho y escoja CMD editor para alcanzar la interfaz grfica para el tipo de
Mdulo de Control.

Page 8 of 15
Capitulo 11
11. Control Modules

11.3.2 Instancia de un Mdulo de Control

Un nuevo Mdulo de Control (la instancia) puede crearse en una Aplicacin o en


otro 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 librera
y el Tipo de Mdulo de Control que desea. tambin debe ingresar un nombre para la
instancia. Presione OK.

11.3.3 Conexin de seales de Mdulos de Control a I/O

Desde el tab Connections del mdulo I/O, es posible alcanzar variables dentro de
un Mdulo de Control. Es por lo tanto recomendado que las conexiones I/O sean
hechas directamente a la variable en cuestin, sin usar variables estructuradas para
pasar a los Mdulos de Control usando los parmetros.

Page 9 of 15
Capitulo 11
11. Control Modules

11.3.4 Ejercicio 11.1 Creacin de un nuevo Control Module Type

Crear un nuevo proyecto PumpCMProject. Use the template for AC800M.


Crear una nueva librera llamada PumpLib.
Aadir la librera a la aplicacin a travs de Connected Libraries
En esta librera, crear un nuevo Tipo de Mdulo de Control llamado Pump.
Abrir el editor POU para el Pump y declare cinco variables, Start, Stop, y Out de
tipo bool; NumberofStarts de tipo dint y Flow de real.
Escriba una lnea de cdigo en el bloque de cdigo:
Out := (Out or Start) and Not Stop;
Cree a nuevo bloque de cdigo llamado Counter. Use un Bloque Funcional de tipo
CTU para contar el nmero de veces que la pump ha partido. Use las variables
existentes.
Cree una instancia del Tipo de Mdulo Pump en la aplicacin a travs de (Control
Module > New Control Module...) o en (Create > Control Module)
Simule y verifique su funcionamientos utilizando los switches en el panel.

11.4

Grficos en un Control Module


El editor CMD hace posible aadir un contenido grfico al Mdulo de Control. Un
nmero de objetos de interaccin tales como push buttons, input fields etc, pueden
ser usados. Los grficos en Mdulos de Control son una til caracterstica en los
siguientes casos:
-

Durante el desarrollo de la aplicacin, una ventana de interaccin


hace fcil manipular variables y parmetros.

Durante el comisionamiento, los grficos pueden ser usados para


simular la respuesta desde partes de la planta que no estn
aprovechables todava.

Como una herramienta para objetos de proceso, un faceplate puede


mostrar los status de interlocks, permitir operacin manual, etc.

La imagen siguiente muestra dos ejemplos de ventanas de interaccin, una para


operacin manual de un objeto de proceso y la otra para sintonizar un controlador
PID, que son complementos a las HMI.

Page 10 of 15
Capitulo 11
11. Control Modules

11.4.1 Ejercicio 11.2 Adicin de Grficos en un Control Module

Use el editor CMD para el Tipo de Mdulo de Control Pump para aadir el siguiente
objeto grfico:

Un smbolo de acuerdo a la imagen. El triangulo debera indicar


si la bomba esta corriendo o no: Si est corriendo, el triangulo
debera ser verde, si no est corriendo no debera te ner ningn
color.

Dos botones de comando activan las variables Start y Stop. El


nombre de las variables debera ser indicado en los botones.

Un objeto de texto dinmico que muestra el valor de la variable


NumberofStarts.

Dos input fields para ir reescalando el Min y Max valor de la


variable Flow.

Una barra grfica indicando el valor de Flow.

Page 11 of 15
Capitulo 11
11. Control Modules

Debe dar click derecho en el Tipo de Mdulo de Control Pump en la librera


PumpLib. Seleccione CMD editor. Use la herramienta Oval para dibujar un
circulo, y el Polygon para dibujar el triangulo. Hacer click derecho en el
triangulo y seleccione Color. Presione el botn More. Escoja un color verde
como Alternative Area Color(debe hacer click sobre el cuadro para abrir el
pop up de seleccin) y 2 (Window Background) como Area Color. En el
input
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 las
comillas
para
el
nombre
en
el
cuadro
Text.

Seleccione la herramienta text object y escriba NumberOfStarts en el text


box. Hacer click en el texto y escoja Text. Chequear el cuadro Variable.

Page 12 of 15
Capitulo 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 y
seleccione Interaction Attributes. Llenar la ventana como se muestra en la
siguiente figura.

Repetir la etapa 6 para el mximo 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 simulacin de la aplicacin.

Page 13 of 15
Capitulo 11
11. Control Modules

11.5

Edicin de Control Module (CMD Editor)


Existe un gran nmero de herramientas en el editor CMD. Las ms
importantes se mencionan a continuacin:
-

Command button
Booleanas.

Usado

para

manipular

variables

Input field

, para entradas de cadenas o valores reales.

Text tool
dinmicos.

. Usado para creacin de textos estticos o

Oval tool

Polygon tool

. Usado para dibujar crculos y valos.


. Usado para dibujar tringulos etc.

11.5.1 Ejercicio 11.3 Edicin de Control Module

Cambie el diseo del Tipo de Mdulo 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 librera PumpLib. Hacer click en el Tipo de Mdulo de


Control Pump. Seleccionar CMD editor. Vaya al item menu
Control Module>Properties>Zooming and Visibility.

Page 14 of 15
Capitulo 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 CMD
aparece un texto que indica en que capa (Layer) se est
posicionado, al pinchar la imagen. Use la herramienta text para
escribir el texto Pump.
Seleccione la herramienta para interaccin no grfica 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 arrastrar
para hacer el objeto de interaccin ms grande que el texto.

Haga click derecho en el objeto de interaccin. Seleccione


Interaction attributes. Complete el dialogo de acuerdo a la imagen
siguiente.

Page 15 of 15
Capitulo 11
11. Control Modules

Asegrese que el nombre del panel est correctamente escrito deletreado en el


campo Path. Click OK.
Verifique el funcionamiento realizando la simulacin de la aplicacin Nombre

Anda mungkin juga menyukai