CAPITULO 1

Curso Básico Industrial IT SYSTEM 800xA CAPITULO 1 Contenido Pág. Capitulo 1 Ingeniería con Control Builder M 1.1 In

Views 143 Downloads 3 File size 895KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Curso Básico Industrial IT SYSTEM 800xA

CAPITULO 1

Contenido

Pág.

Capitulo 1 Ingeniería con Control Builder M 1.1 Información General 1.1.1 Objetivos 1.1.2 Leyenda 1.2 Project Explorer 1.2.1 Descripción del entorno 1.2.2 Descripción general de Librerías de CBM 1.2.2.1 Librería BasicLib 1.2.2.2 Librería AlarmEventLib 1.2.2.3 Librería ControlBasicLib 1.2.2.4 Librería ControlStandardLib 1.2.2.5 Librería ControlExtendedLib 1.2.2.6 Librería ControlAdvancedLib 1.2.2.7 Librería ModBusCommLib 1.2.2.8 Librería SignalLib 1.2.2.9 Otras librerías 1.2.3 Componentes de Librerías 1.2.3.1 Tipos (“Types”) e Instances 1.2.3.2 Data Types 1.2.3.3 Function Block Types 1.2.3.4 Control Modules Types 1.2.3.5 Funciones 1.2.3.6 Versiones de Librerías 1.2.3.7 Añadir y conectar Librerías al Project Explorer 1.2.4 Program Organization Unit (Editor de POU) 1.2.4.1 Aplicaciones 1.2.4.2 Editor de Programas 1.2.4.2.1 Añadir e insertar programas a una aplicación 1.2.4.2.2 Entorno del editor de programas 1.2.4.3 Tabla de variables: tipos de variables y atributos

1 2 2 2 3 3 5 5 5 5 6 6 7 7 8 8 9 9 10 10 10 11 11 11 13 13 15 16 17 21

1

Curso Básico Industrial IT SYSTEM 800xA

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 complementaria

y

citas

a

manuales

Notas adicionales Ejercicio para ser desarrollado por el participante Solución del Ejercicio propuesto

2

y

documentación

Curso Básico Industrial IT SYSTEM 800xA

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

3

Curso Básico Industrial IT SYSTEM 800xA

Menú de opciones

Herramientas básicas

Directorios del Project Explorer S.V. 4.1

Panel inferior

4

Curso Básico Industrial IT SYSTEM 800xA

Ventana Principal del Project Explorer S.V. 5.0 SP1

5

Curso Básico Industrial IT SYSTEM 800xA

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: • • • • • • • • •

1.2.2.2

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

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.

6

Curso Básico Industrial IT SYSTEM 800xA

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: • • • • • • • • •

1.2.2.4

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

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

Curso Básico Industrial IT SYSTEM 800xA

1.2.2.5



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.

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.

1.2.2.6



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.

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)

8

Curso Básico Industrial IT SYSTEM 800xA

1.2.2.7



Autosintonía de tipo relé y respuesta al escalón



Ganancia programada



Control adaptivo



Detección de oscilación



Detección de sluggish

Librería ModBusCommLib Esta librería permite conectar dispositivos MODBUS RTU

1.2.2.8



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.

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.

9

Curso Básico Industrial IT SYSTEM 800xA

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

10

Curso Básico Industrial IT SYSTEM 800xA

Type

Al modificar el objeto “Type” todos los “Instances” se refrescan automáticamente.

Instance

Instance name

Type name

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.

11

Curso Básico Industrial IT SYSTEM 800xA

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: Segundo dígito:

Número de versión mayor Número de versión menor

El primer y segundo dígito están separados por un punto. Tercer dígito:

12

Número de revisión

Curso Básico Industrial IT SYSTEM 800xA

El tercer dígito está separado de los dígitos anteriores por un guión. Versiones de librerías

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

13

Curso Básico Industrial IT SYSTEM 800xA

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.

14

Curso Básico Industrial IT SYSTEM 800xA

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.

15

Curso Básico Industrial IT SYSTEM 800xA

INDUSTRIAL IT 800xA, Application Introduction and Design 3BSE043732R5011 1.2.4.2.1

Programming

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

16

Curso Básico Industrial IT SYSTEM 800xA

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

Panel de código (Code block)

Panel de mensajes

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.

17

Curso Básico Industrial IT SYSTEM 800xA

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.

18

Curso Básico Industrial IT SYSTEM 800xA

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.

19

Curso Básico Industrial IT SYSTEM 800xA

20

Curso Básico Industrial IT SYSTEM 800xA

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.

21

Curso Básico Industrial IT SYSTEM 800xA

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.

22

Curso Básico Industrial IT SYSTEM 800xA

Atributos Atributos

sin atributos

retain coldretain

Descripción 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.

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

23

Curso Básico Industrial IT SYSTEM 800xA

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

24