t300 capítulo 11 - ver si aplica

Upload: formatc

Post on 01-Jun-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

  • 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