Está en la página 1de 23

Curso Industrial IT SYSTEM 800xA

CAPITULO 1

Contenido Capitulo 1 Ingeniera con Control Builder M 1.1 Informacin General 1.1.1 Objetivos 1.1.2 Leyenda 1.2 Project Explorer 1.2.1 Descripcin del entorno 1.2.2 Descripcin general de Libreras de CBM 1.2.2.1 Librera BasicLib 1.2.2.2 Librera AlarmEventLib 1.2.2.3 Librera ControlBasicLib 1.2.2.4 Librera ControlStandardLib 1.2.2.5 Librera ControlExtendedLib 1.2.2.6 Librera ControlAdvancedLib 1.2.2.7 Librera ModBusCommLib 1.2.2.8 Librera SignalLib 1.2.2.9 Otras libreras 1.2.3 Componentes de Libreras 1.2.4 Data Types 1.2.5 Function Blocks (Bloques de Funciones) 1.2.6 Control Modules (Mdulos de Control) 1.2.7 Funciones 1.2.8 Versiones de Libreras 1.2.9 Aadir y conectar libreras al Project Explorer 1.3 Program Organization Unit (POU) 1.3.1 Aplicaciones 1.3.2 Editor de Programas 1.3.3 Aadir e Insertar programas a una aplicacin 1.3.4 Entorno del editor de programas 1.3.5 Tabla de variables: tipos de variables y atributos

Pg. 1 2 2 2 3 3 5 5 5 5 6 6 7 7 8 8 9 10 12 13 14 15 15 16 16 16 17 18 21

Curso Industrial IT SYSTEM 800xA

1.1

Informacin General
1.1.1 Objetivos Al finalizar el captulo el participante ser capaz de: Describir la estructura de un Proyecto en Control Builder M Describir las funcionalidades de las libreras standard. Identificar el mbito de las variables en la aplicacin y programas. 1.1.2 Leyenda Datos adicionales y citas a manuales y documentacin complementaria Notas adicionales Ejercicio para ser desarrollado por el participante Solucin del Ejercicio propuesto

Curso Industrial IT SYSTEM 800xA

1.2
1.2.1

Project Explorer
Descripcin del entorno

La ventana principal de un proyecto en Control Builder M contiene 03 directorios: Libraries Applications Controllers Adems contiene el men de herramientas.

Crear nuevo proyecto

Abrir proyecto existente

Modo Test o prueba de lgica de control (Sin entrar en lnea con el hardware)

Ir en lnea con el controlador [F5]

Descargar e ir en lnea con el controlador [CTRL+D]

Reservar un objeto dentro de Project Explorer

Retirar reserva de un objeto dentro de Project Explorer

Romper la reserva de un objeto dentro de Project Explorer

Curso Industrial IT SYSTEM 800xA

Ayuda de Control Builder

Men de opciones

Herramientas bsicas

Directorios del Project Explorer S.V. 5.0 SP1

Panel inferior

Curso Industrial IT SYSTEM 800xA

Panel inferior Panel Description: Habilita la edicin de texto desde el editor de programas Panel Check: Muestra los mensajes de error al realizar un check desde el editor de programas Panel Message: Muestra la actividad del sistema como ir en lnea con el controlador, descarga de programas, abrir archivos, etc. 1.2.2 1.2.2.1 Descripcin general de Libreras de CBM Librera BasicLib

Esta librera contiene Data Types y Function Block types de funciones como: 1.2.2.2 Contadores Temporizadores Deteccin de flancos Multiplexores Conversores de tipos de datos Detectores de niveles con histresis Desplazamiento de registros Latches Funciones de tiempo y fecha, etc Librera AlarmEventLib

Contiene Function Blocks y Control Modules para la deteccin y gestin de alarmas de un controlador. Las alarmas son detectados y generadas por el bloque de funcin AlarmCond o el control module AlarmCondM. Los bloques PintAlarms y PrintEvents mandan a imprimir alarmas y eventos hacia una impresora local conectada en el puerto serial del controlador. 1.2.2.3 Librera ControlBasicLib

Esta librera contiene Function Blocks para control de lazos completos las cuales pueden direccionarse hacia seales I/Os. Los controladores en estos lazos de control puede configurarse tanto como P, PI, PD, PID con las siguientes funciones: Autosintona por el mtodo del rel

Curso Industrial IT SYSTEM 800xA

1.2.2.4

Feedforward Tracking Salida de desviacin de alarma Limitacin de salida de control Anti integrador wind-up Transferencia liviana o Bumpless Zona muerta Switchover liviano de I/O redundante Librera ControlStandardLib

Esta librera contiene Control Modules para crear lazos PID y funciones avanzadas con estos. AnalogInCC y AnalogOutCC , se emplean para conectar entradas y salidas analgicas desde HW. PidSimpleCC y PidCC proveen dos controladores PID de versin simple que reducen la complejidad y poseen cdigo reducido. CctoInteger y CCToReal, convierten seales tipo CC (Control Connection) hacia tipos enteros o reales. Level2CC, Level4CC y Level6CC, proveen dos, cuatro y seis niveles de alarmas con/sin histresis de una seal. SplitRangeCC, se utiliza para dividir una seal de entrada en dos partes con diferentes escalamientos para cada salida. MidRangeCC, provee dos salidas desde una entrada simple, la primera salida acta mas rapidamente que la segunda salida. PulseWidthCC, genera una salida de tren de pulsos, el periodo puede ser configurado y el ancho del pulso es proporcional a la seal de ingreso. ThreePosCC convierte una seal anloga en dos seales digitales, Abrir y Cerrar, tiene funcionalidad para feedback. 1.2.2.5 Librera ControlExtendedLib

Esta librera contiene Control Modules Types que extienden las funcionales de la librera ControlStandardLib, esta librera contiene modules que pueden manejar seales de lazos de control. divisin. AddCC, SubCC, MultCC y DivCC, realizan suma, resta, multiplicacin y

Curso Industrial IT SYSTEM 800xA

DerivativeCC y IntegratorCC, obtiene la derivada y la integral de una seal de tipo ControlConnection. FilterCC y Filter2PCC, son filtros pasa bajo con uno y dos polos respectivamente. DelayCC, retarda una seal de entrada

PieceWiseLinearCC, PieceWiseLinear2DCC y PieceWiseLinearExtension, se emplean para crear tablas de linearizacin, el mdulo de extensin permite las funciones de cascada desde otras tablas. El mdulo 2D permite el modelado de una funcin de superficie bidimensional. 1.2.2.6 Librera ControlAdvancedLib

Esta librera contiene un controlador PID adicional con funciones avanzadas y tambin un mdulo de Compensacin de Friccin Esttica. El control module PIDAdvancedCC tiene las siguientes funcionalidades: 1.2.2.7 Configurable como PPI (controlador PI predictivo) Autosintona de tipo rel y respuesta al escaln Ganancia programada Control adaptivo Deteccin de oscilacin Deteccin de sluggish Librera ModBusCommLib

Esta librera permite conectar dispositivos MODBUS RTU MBConnect, define un canal y la direccin del esclavo remoto al cual conectar. MBRead, lee datos va el canal Modbus, MBWrite, escribe datos al canal Modbus. MBException, examina las activaciones por excepcin del esclavo remoto.

Curso Industrial IT SYSTEM 800xA

1.2.2.8

Librera SignalLib

Contiene Function blocks para seales digitales y analgicas de entrada y salida, aadiendo alarmas y manejo de eventos. Asimismo contiene filtros y manejo de errores de seal. SignalInBool, provee manejo de alarmas y eventos de variables tipo bool cuando la entrada difiere del valor de entrada normal. SignalInReal, provee manejo de alarmas y eventos de variables tipo real, con tres niveles de alarmas altos y tres niveles de alarmas bajos, tambin posee manejo de errores. 1.2.2.9 Otras Libreras

System 800xA dispone de varias libreras de control standard, puede explorar el empleo de estas libreras usando el documento: INDUSTRIAL IT 800xA - Basic Control Software SV 5.0 SP1, Introduction and Configuration, ID: 3BSE035980R5011.

Curso Industrial IT SYSTEM 800xA

1.2.3

Componentes de Libreras

Las libreras contienen definiciones de tipos Types que se emplean para dar funcionalidad adicional al proyecto. Hay tres definiciones de tipos (Types) que pueden desarrollarse en una librera. Un Type es una solucin genrica, la cual puede ser usada por varios objetos, puede contener cdigo de programacin con variables, funciones, parmetros de conexin (textuales o grficos), objetos grficos, etc.

Un Type es un objeto definido en el directorio de libreras con funcionalidad propia (cdigo de programa, bloques de funcin, mdulos de control). Al crear una copia del Type se crea un Instance.

Curso Industrial IT SYSTEM 800xA

Type

Al modificar el objeto Type todos los Instances se refrescan automticamente.

Instance

Instance name 1.2.4 Data Types

Type name

Un Data Type define la caracterstica de un tipo de variable, Control Builder M maneja dos tipos de datos: simples y estructurados. Una variable de tipo de dato simple contiene un solo valor en cambio una variable estructurada contiene un nmero de componentes de variables simples o estructuradas. Cada usuario puede definir su propio Data Type

10

Curso Industrial IT SYSTEM 800xA

Por defecto la longitud del tipo string es de 40 caracteres, puede cambiarse ingresando el dato string[n] donde n es la longitud del string. El tipo de datos string[n] se ubica en n + 10 bytes, la longitud mxima de un string es 140. Un tipo de dato estructurado contiene componentes de datos simples y estructurados. En Control Builder se ha implementado tipos de datos estructurados predefinicos como BoolIO y RealIO. Data Type BoolIO Componente Value IOvalue Forced Status Data Type Bool Bool Bool Dword Data Type

Data Type RealIO

Componente Value IOvalue Forced Status Parameters

Data Type Componente Bool Bool Bool Dword SignalPar Max Min Inverted Fraction Unit

Real Real Bool dint String[10]

11

Curso Industrial IT SYSTEM 800xA

1.2.5

Function Block Types (Bloques de Funciones)

Los bloques de funcin proveen funcionalidades adicionales al programador, el sistema de ABB tiene bloques predefinidos para aplicaciones determinadas como, bloques de control de motores, bloques para vlvulas, conversores de tipo, alarmas y eventos, etc. Parmetros de entrada Parmetros de salida

Parmetros de entrada-salida

Ejecucin de rutinas con Bloques de Funciones: Los parmetros de entrada y salida pasan por valor lo que significa que el bloque de funcin crea copias de cada valor de la variable, antes y despus que el bloque de funcin se ejecute. Los parmetros de entrada crean una copia de cada variable antes que el bloque se ejecute y los parmetros de salida crean una nueva copia despus de que el bloque se haya ejecutado y pasan los nuevos valores al entorno de variables fuera del bloque.

12

Curso Industrial IT SYSTEM 800xA

1.2.6

Control Modules Types (Mdulos de Control)

El standard IEC-61131-3 no soporta completamente todos los requerimientos para los programas orientados a objetos. Algunas marcas han extendido sus sistemas con funcionalidades extras. Control Builder M provee una extensin llamada Control Modules. ABB provee varios control modules en libreras standard, asimismo el usuario puede crear sus propios control modules. Orden de Ejecucin (Data Flow) Los programas compilados se ejecutan ciclicamente a una frecuencia especfica. Los cambios en las seales de entrada y variables locales por tanto afectan las seales de entrada al final de cada ciclo completo del programa. Los sistemas en tiempo real son muy sensibles al orden de ejecucin en diferentes partes del programa de control. En los programas de aplicacin basados en bloques de funciones el programador tiene que tratar el orden manualmente el cual puede ser muy difcil. Una diferencia muy importante entre los bloques de funcin y los control modules es que en control modules los bloques de cdigo se ejecutan en un orden basando en un flujo de datos ptimo determinado por el compilador. Los Control Modules se ejecutan solamente una vez por scan (ciclo) mientras que los bloques de funcin pueden ejecutarse varias veces por scan (ciclo). El ordenamiento automtico del programa de contorl modules elimina los errores en el programa debido al incorrecto orden de ejecucin. En control modules el compilador analiza cada bloque de cdigo separadamente con respecto a que variables son ledas y escritas por cada bloque. Basado en los resultados 13

Curso Industrial IT SYSTEM 800xA

de este anlisis, el compilador determina el orden de ejecucin optima. Un bloque de cdigo que asigna un valor a una variable tiene que ejecutarse antes de otros bloques que necesiten leer esta variable. 1.2.7 Funciones

Se definen en algunas libreras, basicamente las funciones son operaciones bsicas como operadores lgicos, operaciones matemticas, conversores de tipo, etc. El usuario no puede definir funciones personalizadas. 1.2.8 Versiones de Libreras

Las versiones de las libreras contienen algunos dgitos, que representan el nmero de versin y revisin: Primer dgito: Segundo dgito: Nmero de versin mayor Nmero de versin menor

El primer y segundo dgito estn separados por un punto. Tercer dgito: Nmero de revisin El tercer dgito est separado de los dgitos anteriores por un guin. Versiones de libreras

14

Curso Industrial IT SYSTEM 800xA

1.2.9

Aadir y conectar Libreras al Project Explorer

Ejercicio 1.3 1. 2. Verificar libreras insertadas por defecto Insertar las siguientes libreras en el directorio de Libreras: ControlBasicLib AlarmEventLib ControlExtendedLib ControlStandardLib ProcessObjBasicLib SignalLib GroupStartLib 3. Identificar la Aplicacin creada al crear el Proyecto

4.

Conectar en esta Aplicacin todas las libreras insertadas

15

Curso Industrial IT SYSTEM 800xA

1.3 1.3.1

Program Organization Unit (POU) Aplicaciones

La Aplicacin es la unidad organizacional mas grande en el controlador. Cada aplicacin puede considerarse como un objeto independiente. En la aplicacin se crean los programas y control modules que sern compilados y descargados al controlador. Una aplicacin puede contener hasta 64 programas. Pueden crearse hasta 256 aplicaciones. Se puede conectar hasta 8 aplicaciones a un controlador El sistema contiene soporte para los 5 lenguajes de programacin de IEC 61131 3: Ladder Diagram (LD) Instruction List (IL) Function Block Diagram (FBD) Structured Text (ST) Sequential Function Chart (SFC)

Estructura de una aplicacin 1.3.2 Editor de Programas

IEC 61131 describe a los Programas, Funciones y Bloques de Funciones como Program Organization Unit (POU). Estas unidades ayudan a organizar el proyecto de automatizacin en code blocks para minimizar la escritura de cdigo y optimizar la estructura de cdigo y mantenimiento.

16

Curso Industrial IT SYSTEM 800xA

POU con Control Module y POU con programas.

3BSE043732R5011

INDUSTRIAL IT 800xA, Application Programming Introduction and Design Aadir e Insertar programas a una aplicacin

1.3.3

Ejercicio 1.4 1. 2. Verificar los programas creados En el directorio de programas crear un nuevo programa Solucin 1.4 Para crear un nuevo programa: click derecho sobre el directorio de programas

Colocar un nombre al programa

17

Curso Industrial IT SYSTEM 800xA

1.3.4

Entorno del editor de programas

Al abrir un programa se presentar el siguiente entorno para el desarrollo del programa:

Panel de declaracin

Panel de cdigo (Code block)

Panel de mensajes

Panel de declaracin Se emplea para declara variables y Function Blocks, Panel de mensajes Consiste de tres secciones, Description, Check, Find in Editor. En la seccin Description, el usuario puede escribir texto en ASCII text. Estas notas son comunes para todos los code blocks. En la seccin Check aparecern mensajes de error generados en el momento de compilar el cdigo del programa. 18

Curso Industrial IT SYSTEM 800xA

La seccin Find in Editor se utiliza para buscar un texto en el editor actual. Ejercicio 1.5 Insertar nuevos code blocks Cambiar el lenguaje de programacin en los code blocks Cambiar el lenguaje de programacin por defecto al crear code blocks Solucin 1.5 Para insertar nuevos code blocks Click derecho sobre el TAB del code block.

Escribir un nombre y seleccionar un lenguaje de programacin para el nuevo Code Block

19

Curso Industrial IT SYSTEM 800xA

Cambiar el lenguaje de programacin en code blocks creados

Cambiar el lenguaje de programacin de code blocks por defecto En el editor de programas, seleccionar la opcin de men Tools / Setup, en el TAB General seleccionar el lenguaje de programacin por defecto.

20

Curso Industrial IT SYSTEM 800xA

1.3.5

Tabla de variables: tipos de variables y atributos

Se utilizan variables para almacenar datos, las variables contienen dos caractersticas bsicas: Nombre Tipo de dato

Caractersticas adicionales son: Atributo Valor inicial

Variables en la Aplicacin Son variables declaradas al nivel de Aplicacin al abrir el editor desde el Project Explorer.

La tabla contiene dos grupos: Variables Globales y Variables La tabla de Variables Globales es pblica en la aplicacin, en cualquier programa dentro de la aplicacin y en Control Modules. La tabla de Variables es pblica slo para la aplicacin y en ningun programa que se encuentra dentro de la aplicacin.

Variables en Programas Estas variables son pblicas solamente en el mbito del programa. Variables en bloques de funciones Las variables declaradas dentro de bloques de funciones son locales y no son visibles fuera del bloque de funcin.

21

Curso Industrial IT SYSTEM 800xA

Variables en mdulos de control Las variables declaradas dentro de los mdulos de control son locales y no son visibles fuera del mdulo de control. Variables Externas En el editor de los bloques de funcin y tambin en el editor de los mdulos de control, existe una tabla llamada variables externas, las cuales sirven para enlazar valores hacia la tabla de variables globales en la aplicacin. Alcance de las Variables Variables de la Aplicacin: pblicas solamente en el mbito de la aplicacin.

Variables Globales de la Aplicacin: pblicas en el mbito de la aplicacin y en los programas pertenecientes a la aplicacin y control modules. Variables de Programas: pblicas solamente en el programa en el cual se declar.

Variables en Bloques de funciones y mdulos de control: pblicas solamente en los bloques de funciones y mdulos de control. Reglas de nombramiento de variables El nombre de la variable puede tener hasta 32 caracteres El nombre de la variable no debe comenzar en un nmero No se permiten espacios Use solamente caracteres alfanumricos y guin bajo, no utilice ningn carcter especial como $, # u otros. Los nombres no se sensibles a maysculas y minsculas. No utilice Keywords para nombrar variables.

22

Curso Industrial IT SYSTEM 800xA

Atributos Atributos Descripcin El valor de la variable no se mantiene despues de reiniciar el controlador. En lugar de esto la variable regresa a su valor inicial. Si la variable no tiene valor inicial asignado tomar el valor por defecto asignado al tipo de dato. El valor de la variable se mantiene despues de un WARM RESTART (reinicio en caliente). Por defecto el valor de atributo es retain. El valor de la variable se mantiene despues de un WARM o COLD RESTART. El valor de la variable no se puede modificar La variable no ser visible en el servidor OPC por lo cual no estar disponible en el sistema de supervisin.

sin atributos

retain coldretain constant hidden

23

También podría gustarte