capitulo 1

24
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

Upload: rodrisenati

Post on 22-Oct-2015

86 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: CAPITULO 1

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

Page 2: CAPITULO 1

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

Page 3: CAPITULO 1

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

Page 4: CAPITULO 1

Curso Básico Industrial IT SYSTEM 800xA

4

Menú de opciones

Herramientas básicas

Directorios del Project Explorer S.V. 4.1

Panel inferior

Page 5: CAPITULO 1

Curso Básico Industrial IT SYSTEM 800xA

5

Ventana Principal del Project Explorer S.V. 5.0 SP1

Page 6: CAPITULO 1

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.

Page 7: CAPITULO 1

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.

Page 8: CAPITULO 1

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)

Page 9: CAPITULO 1

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.

Page 10: CAPITULO 1

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”.

Page 11: CAPITULO 1

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

Page 12: CAPITULO 1

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

Page 13: CAPITULO 1

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

Page 14: CAPITULO 1

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.

Page 15: CAPITULO 1

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.

Page 16: CAPITULO 1

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

Page 17: CAPITULO 1

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)

Page 18: CAPITULO 1

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.

Page 19: CAPITULO 1

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.

Page 20: CAPITULO 1

Curso Básico Industrial IT SYSTEM 800xA

20

Page 21: CAPITULO 1

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.

Page 22: CAPITULO 1

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.

Page 23: CAPITULO 1

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

Page 24: CAPITULO 1

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).