View
86
Download
9
Category
Preview:
Citation preview
Curso Básico Industrial IT SYSTEM 800xA
1
CAPITULO 1 Contenido Pág. Capitulo 1 Ingeniería con Control Builder M 1 1.1 Información General 2 1.1.1 Objetivos 2 1.1.2 Leyenda 2 1.2 Project Explorer 3 1.2.1 Descripción del entorno 3 1.2.2 Descripción general de Librerías de CBM 5 1.2.2.1 Librería BasicLib 5 1.2.2.2 Librería AlarmEventLib 5 1.2.2.3 Librería ControlBasicLib 5 1.2.2.4 Librería ControlStandardLib 6 1.2.2.5 Librería ControlExtendedLib 6 1.2.2.6 Librería ControlAdvancedLib 7 1.2.2.7 Librería ModBusCommLib 7 1.2.2.8 Librería SignalLib 8 1.2.2.9 Otras librerías 8 1.2.3 Componentes de Librerías 9 1.2.3.1 Tipos (“Types”) e Instances 9 1.2.3.2 Data Types 10 1.2.3.3 Function Block Types 10 1.2.3.4 Control Modules Types 10 1.2.3.5 Funciones 11 1.2.3.6 Versiones de Librerías 11 1.2.3.7 Añadir y conectar Librerías al Project Explorer 11 1.2.4 Program Organization Unit (Editor de POU) 13 1.2.4.1 Aplicaciones 13 1.2.4.2 Editor de Programas 15 1.2.4.2.1 Añadir e insertar programas a una aplicación 16 1.2.4.2.2 Entorno del editor de programas 17 1.2.4.3 Tabla de variables: tipos de variables y atributos 21
Curso Básico Industrial IT SYSTEM 800xA
2
1.1 Información General
1.1.1 Objetivos
Al finalizar el capítulo el participante será capaz de: � Describir la estructura de un Proyecto en Control Builder M � Describir las funcionalidades de las librerías Standard de control
� Identificar el ámbito de las variables en la Aplicación
1.1.2 Leyenda
���� Datos adicionales y citas a manuales y documentación complementaria ���� Notas adicionales ���� Ejercicio para ser desarrollado por el participante ���� Solución del Ejercicio propuesto
Curso Básico Industrial IT SYSTEM 800xA
3
1.2 Project Explorer
1.2.1 Descripción del entorno
La ventana principal de un proyecto en Control Builder M contiene 03 directorios: � Libraries � Applications � Controllers Además contiene el menú de herramientas.
Crear nuevo proyecto
Abrir proyecto existente
Modo Test
Ir en línea con el controlador [F5]
Descargar e ir en línea con el controlador [CTRL+D]
Ayuda de Control Builder
Curso Básico Industrial IT SYSTEM 800xA
4
Menú de opciones
Herramientas básicas
Directorios del Project Explorer S.V. 4.1
Panel inferior
Curso Básico Industrial IT SYSTEM 800xA
5
Ventana Principal del Project Explorer S.V. 5.0 SP1
Curso Básico Industrial IT SYSTEM 800xA
6
Panel inferior Panel “Description”: Habilita la edición 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 línea con el controlador, descarga de programas, abrir archivos, etc. 1.2.2 Descripción general de Librerías de CBM
1.2.2.1 Librería BasicLib
Esta librería contiene Data Types y Function Block types de funciones como: • Contadores • Temporizadores • Detección de flancos • Multiplexores • Conversores de tipos de datos • Detectores de niveles con histéresis • Desplazamiento de registros • Latches • Funciones de tiempo y fecha, etc
1.2.2.2 Librería AlarmEventLib
Contiene Function Blocks y Control Modules para la detección y gestión de alarmas de un controlador. Las alarmas son detectados y generadas por el bloque de función 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.
Curso Básico Industrial IT SYSTEM 800xA
7
1.2.2.3 Librería ControlBasicLib
Esta librería contiene Function Blocks para control de lazos completos las cuales pueden direccionarse hacia señales I/Os. Los controladores en estos lazos de control puede configurarse tanto como P, PI, PD, PID con las siguientes funciones: • Autosintonía por el método del relé • Feedforward • Tracking • Salida de desviación de alarma • Limitación de salida de control • Anti integrador wind-up • Transferencia liviana o Bumpless • Zona muerta • Switchover liviano de I/O redundante
1.2.2.4 Librería ControlStandardLib
Esta librería contiene Control Modules para crear lazos PID y funciones avanzadas con estos. • AnalogInCC y AnalogOutCC , se emplean para conectar
entradas y salidas analógicas desde HW. • PidSimpleCC y PidCC proveen dos controladores PID de
versión simple que reducen la complejidad y poseen código reducido.
• CctoInteger y CCToReal, convierten señales tipo CC
(Control Connection) hacia tipos enteros o reales. • Level2CC, Level4CC y Level6CC, proveen dos, cuatro y seis
niveles de alarmas con/sin histéresis de una señal. • SplitRangeCC, se utiliza para dividir una señal de entrada en
dos partes con diferentes escalamientos para cada salida. • MidRangeCC, provee dos salidas desde una entrada simple,
la primera salida actúa mas rapidamente que la segunda salida.
Curso Básico Industrial IT SYSTEM 800xA
8
• PulseWidthCC, genera una salida de tren de pulsos, el
periodo puede ser configurado y el ancho del pulso es proporcional a la señal de ingreso.
• ThreePosCC convierte una señal análoga en dos señales
digitales, Abrir y Cerrar, tiene funcionalidad para feedback.
1.2.2.5 Librería ControlExtendedLib Esta librería contiene Control Modules Types que extienden las funcionales de la librería ControlStandardLib, esta librería contiene modules que pueden manejar señales de lazos de control. • AddCC, SubCC, MultCC y DivCC, realizan suma, resta,
multiplicación y división. • DerivativeCC y IntegratorCC, obtiene la derivada y la
integral de una señal de tipo ControlConnection. • FilterCC y Filter2PCC, son filtros pasa bajo con uno y dos
polos respectivamente. • DelayCC, retarda una señal de entrada
• PieceWiseLinearCC, PieceWiseLinear2DCC y
PieceWiseLinearExtension, se emplean para crear tablas de linearización, el módulo de extensión permite las funciones de cascada desde otras tablas. El módulo “2D” permite el modelado de una función de superficie bidimensional.
1.2.2.6 Librería ControlAdvancedLib
Esta librería contiene un controlador PID adicional con funciones avanzadas y también un módulo de Compensación de Fricción Estática. El control module PIDAdvancedCC tiene las siguientes funcionalidades:
• Configurable como PPI (controlador PI predictivo)
Curso Básico Industrial IT SYSTEM 800xA
9
• Autosintonía de tipo relé y respuesta al escalón
• Ganancia programada
• Control adaptivo
• Detección de oscilación
• Detección de sluggish
1.2.2.7 Librería ModBusCommLib Esta librería permite conectar dispositivos MODBUS RTU • MBConnect, define un canal y la dirección del esclavo
remoto al cual conectar. • MBRead, lee datos vía el canal Modbus, MBWrite, escribe
datos al canal Modbus. • MBException, examina las activaciones por excepción del
esclavo remoto.
1.2.2.8 Librería SignalLib Contiene Function blocks para señales digitales y analógicas de entrada y salida, añadiendo alarmas y manejo de eventos. Asimismo contiene filtros y manejo de errores de señal. • 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, también posee manejo de errores.
Curso Básico Industrial IT SYSTEM 800xA
10
1.2.2.9 Otras Librerías
� System 800xA dispone de varias librerías de control standard, puede explorar el empleo de estas librerías usando el documento: INDUSTRIAL IT 800xA – Control and I/O SV 4.1 Addendum, Product Data and Design, ID: 3BSE035979. INDUSTRIAL IT 800xA - Basic Control Software SV 5.0 SP1, Introduction and Configuration, ID: 3BSE035980R5011.
1.2.3 Componentes de Librerías
Las librerías 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 librería. � Data Types (Tipos de datos) � Tipos de Bloques de funciones � Tipos de Módulos de Control.
1.2.3.1 Tipos (“Types”) e Instances
Un “Type” es un objeto definido en el directorio de librerías con funcionalidad propia (código de programa, bloques de función, módulos de control). Al crear una copia del Type se crea un “Instance”.
Curso Básico Industrial IT SYSTEM 800xA
11
� Al modificar el objeto “Type” todos los “Instances” se refrescan
automáticamente.
1.2.3.2 Data Types En un sistema de control moderno se requiere la necesidad de almacenar diferentes tipos de datos como: string, numeric, times, etc. Cada tipo de dato posee un requerimiento de formato de memoria. El sistema de ABB define un set de data types, asimismo cada usuario puede definir su propio Data Type.
Type
Instance
Instance name Type name
Curso Básico Industrial IT SYSTEM 800xA
12
1.2.3.3 Function Block Types
Los bloques de función proveen funcionalidades adicionales al programador, el sistema de ABB tiene bloques predefinidos para aplicaciones determinadas como, bloques de control de motores, bloques para válvulas, conversores de tipo, alarmas y eventos, etc.
���� Se pueden crear Instaces de Function Blocks en programas y control modules.
1.2.3.4 Control Module Types
Es una mejor a la programación tradicional puesto que puede incluir tanto bloques de funciones, código, gráficos y otros control modules. ABB provee varios control modules en librerías standard, asimismo el usuario puede crear sus propios control modules.
1.2.3.5 Funciones
Se definen en algunas librerías, basicamente las funciones son operaciones básicas como operadores lógicos, operaciones matemáticas, conversores de tipo, etc.
���� El usuario no puede definir funciones personalizadas.
1.2.3.6 Versiones de Librerías
Las versiones de las librerías contienen algunos dígitos, que representan el número de versión y revisión: Primer dígito: Número de versión mayor Segundo dígito: Número de versión menor El primer y segundo dígito están separados por un punto. Tercer dígito: Número de revisión
Curso Básico Industrial IT SYSTEM 800xA
13
El tercer dígito está separado de los dígitos anteriores por un guión.
1.2.3.7 Añadir y conectar Librerías al Project Explorer
���� Ejercicio 2.1 1. Verificar librerías insertadas por defecto 2. Insertar las siguientes librerías en el directorio de
Librerías: a. ControlBasicLib b. AlarmEventLib c. ControlExtendedLib d. ControlStandarLib e. ProcessObjBasicLib f. SignalLib g. ControlfuzzyLib
3. Identificar la Aplicación creada al crear el Proyecto 4. Conectar en esta Aplicación todas las librerías insertadas
Versiones de librerías
Curso Básico Industrial IT SYSTEM 800xA
14
1.2.4 Program Organization Unit (POU)
1.2.4.1 Aplicaciones La Aplicación es la unidad organizacional mas grande en el controlador. Cada aplicación puede considerarse como un objeto independiente. En la aplicación se crean los programas y control modules que serán compilados y descargados al controlador. � Una aplicación 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 programación de IEC 61131 – 3: • Ladder Diagram (LD) • Instruction List (IL) • Function Block Diagram (FBD) • Structured Text (ST) • Sequential Function Chart (SFC)
Evolución de los Lenguajes de Programación.
Curso Básico Industrial IT SYSTEM 800xA
15
Estructura de una aplicación
1.2.4.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 automatización en “code blocks” para minimizar la escritura de código y optimizar la estructura de código y mantenimiento. Las extensiones de ABB añaden a la norma IEC 61131 dos POUs mas: “Single Control Module” (SCM) y Control Module (CM) los cuales se usan para programación mas sofisticada y eficiente. POU con Control Module y POU con programas.
Curso Básico Industrial IT SYSTEM 800xA
16
� INDUSTRIAL IT 800xA, Application Programming Introduction and Design 3BSE043732R5011 1.2.4.2.1 Añadir e Insertar programas a una aplicación
���� Ejercicio 2.2
1. Verificar los programas creados 2. En el directorio de programas crear un nuevo programa
���� Solución 2.2 1. Para crear un nuevo programa: click derecho sobre el
directorio de programas
Colocar un nombre al programa
Curso Básico Industrial IT SYSTEM 800xA
17
1.2.4.2.2 Entorno del editor de programas
Al abrir un programa se presentará el siguiente entorno para el desarrollo del programa:
Panel de declaración Se emplea para declara variables y Function Blocks, Panel de mensajes Consiste de tres secciones, “Description”, “Check”, “Find in Editor”. En la sección “Description”, el usuario puede escribir texto en ASCII text. Estas notas son comunes para todos los “code blocks”. En la sección “Check” aparecerán mensajes de error generados en el momento de compilar el código del programa.
Panel de declaración
Panel de mensajes
Panel de código (Code block)
Curso Básico Industrial IT SYSTEM 800xA
18
La sección “Find in Editor” se utiliza para buscar un texto en el editor actual.
���� Ejercicio 2.3
1. Insertar nuevos code blocks 2. Cambiar el lenguaje de programación en los code blocks
3. Cambiar el lenguaje de programación por defecto al crear code blocks
���� Solución 2.3
1. Para insertar nuevos code blocks Click derecho sobre el TAB del code block.
Curso Básico Industrial IT SYSTEM 800xA
19
Escribir un nombre y seleccionar un lenguaje de programación para el nuevo “Code Block”
2. Cambiar el lenguaje de programación en code blocks creados
3. Cambiar el lenguaje de programación de code blocks por defecto
En el editor de programas, seleccionar la opción de menú Tools / Setup, en el TAB “General” seleccionar el lenguaje de programación por defecto.
Curso Básico Industrial IT SYSTEM 800xA
20
Curso Básico Industrial IT SYSTEM 800xA
21
1.2.4.3 Tabla de variables: tipos de variables y atributos
Se utilizan variables para almacenar datos, las variables contienen dos características básicas: • Nombre • Tipo de dato Características adicionales son: • Atributo • Valor inicial Variables en la Aplicación Son variables declaradas al nivel de Aplicación al abrir el editor desde el Project Explorer.
La tabla contiene dos grupos: Variables Globales y Variables La tabla de Variables Globales es pública en la aplicación, en cualquier programa dentro de la aplicación y en Control Modules. La tabla de Variables es pública sólo para la aplicación y en ningun programa que se encuentra dentro de la aplicación.
Variables en Programas Estas variables son públicas solamente en el ámbito del programa.
Curso Básico Industrial IT SYSTEM 800xA
22
Variables en bloques de funciones Las variables declaradas dentro de bloques de funciones son locales y no son visibles fuera del bloque de función. Variables en módulos de control Las variables declaradas dentro de los módulos de control son locales y no son visibles fuera del módulo de control. Variables Externas En el editor de los bloques de función y también en el editor de los módulos de control, existe una tabla llamada “variables externas”, las cuales sirven para enlazar valores hacia la tabla de “variables globales” en la aplicación. Alcance de las Variables Variables de la Aplicación: públicas solamente en el ámbito de la
aplicación. Variables Globales de la Aplicación: públicas en el ámbito de la
aplicación y en los programas pertenecientes a la aplicación y control modules.
Variables de Programas: públicas solamente en el programa en
el cual se declaró. Variables en Bloques de funciones y módulos de control: públicas
solamente en los bloques de funciones y módulos 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 número • No se permiten espacios • Use solamente caracteres alfanuméricos y guión bajo, no
utilice ningún carácter especial como $, # u otros. • Los nombres no se sensibles a mayúsculas y minúsculas. • No utilice Keywords para nombrar variables.
Curso Básico Industrial IT SYSTEM 800xA
23
Atributos Atributos Descripción
sin atributos
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.
retain El valor de la variable se mantiene despues de un WARM RESTART (reinicio en caliente). Por defecto el valor de atributo es retain.
coldretain El valor de la variable se mantiene despues de un WARM o COLD RESTART.
constant El valor de la variable no se puede modificar
hidden La variable no será visible en el servidor OPC por lo cual no estará disponible en el sistema de supervisión.
���� Ejercicio 2.4 Declare las siguientes variables
Genere el siguiente código: (*código 1*) IF valveC THEN valveC := false; END_IF
(*código 2*) IF valveR THEN valveR := false; END_IF
Curso Básico Industrial IT SYSTEM 800xA
24
(*código 3*) IF valve THEN valve := false; END_IF
Cuál es el comportamiento de las variables después de una descarga en frío y en caliente (COLD DOWNLOAD y WARM DOWNLOAD).
Recommended