Académique Documents
Professionnel Documents
Culture Documents
Y
ELECTRONICA
Profesor guía
Juan Díaz Céspedes
Alumnos
Juan Albornoz López
Mauricio Ibarra Oros
Yuvitza Wastavino Rojas
INTRODUCCIÓN ............................................................................................................................. 1
a. Introducción a DCS.................................................................................... 1
b. Áreas funcionales ...................................................................................... 1
c. Estructura................................................................................................... 2
d. Topología ................................................................................................... 2
e. Servidores .................................................................................................. 3
Capítulo 1 ......................................................................................................................................... 5
1.1. Abstract ...................................................................................................... 5
1.2. Control Builder ........................................................................................... 6
1.3. Ambiente de trabajo de Control Builder ................................................... 7
1.4. Librerías/ Aplicación/ Controladores........................................................ 8
1.5. Creación de un nuevo proyecto................................................................ 9
1.6. Creación de programas ........................................................................... 13
1.7. Editor POU (Program Organization Units) ............................................. 15
1.8. Cambios de Lenguajes de programación en la hoja de códigos. ........ 16
1.9. Variables y Tipos de Variables: .............................................................. 20
1.10. Lenguajes de Programación. .................................................................. 24
1.10.1. Ladder: ..................................................................................................... 24
1.10.2. Programando con Ladder ....................................................................... 30
1.10.2.1. Ejercicio Resuelto n°1 ............................................................................. 46
1.10.2.2. Solución: .................................................................................................. 47
1.10.3. Ejercicio propuesto ................................................................................. 77
1.10.4. Diagrama de bloques: ............................................................................. 80
1.10.5. Programando con Diagramas de bloques.............................................. 89
1.10.5.1. Ejercicio resuelto ................................................................................... 104
1.10.5.2. Solución: ................................................................................................ 105
1.10.6. Lenguaje Texto Estructurado ............................................................... 139
1.10.6.1. Ejercicio resuelto N°1 ............................................................................ 141
1.10.6.2. Solución ................................................................................................. 141
1.10.6.3. Ejercicio Resuelto N°2 ........................................................................... 144
1.10.6.4. Solución ................................................................................................. 145
Capítulo 2 ..................................................................................................................................... 150
2.1. Abstract .................................................................................................. 150
2.2. Feldbus Builder...................................................................................... 151
i
2.3.1. Comenzando a diseñar en Process Graphics...................................... 168
2.3.2. Configuración de las propiedades de los elementos .......................... 174
2.5. Solución ................................................................................................. 180
2.5.1. Fase 1: Configuración de instrumentos Fieldbus Fundation, de
acuerdo al proceso a simular. ................................................................................ 180
2.4.2. Fase 2: Configuración de Hardware (controlador) y programación del
proceso a través de Control Builder. ..................................................................... 197
2.4.3 Fase 3: Simulación en Control Builder y comprobación de la lógica
creada. 240
2.4.4. Fase 4: Descarga de la programación al controlador AC 800M y
creación de pantallas del proceso. ........................................................................ 259
Capítulo 3 ..................................................................................................................................... 352
3.1. Abstract .................................................................................................. 352
3.2. Fase 1: Levantamiento de la planta de Medición de caudal en canal
Abierto OCM. ........................................................................................................... 353
3.3. Fase 2: Integración De Librerías FF ..................................................... 357
3.3.1. Creación de Red H1-2 ............................................................................ 373
3.3.2. Puesta en línea de instrumentos fieldbus en módulo de canal abierto
398
3.3.3. Asignación y carga ................................................................................ 404
3.3.4. Comprobación del estado en línea de los instrumentos .................... 410
3.4. Fase 3: Lógica de control en Control Builder ...................................... 413
3.4.1. Comprobación del funcionamiento de la lógica: ................................. 422
3.5. Fase 4: Descarga de la programación al controlador AC 800M y
creación HMI de la planta OCM. ............................................................................. 429
3.5.1. Creación de la HMI para la planta OCM ................................................ 434
Bibliografía .................................................................................................................................. 499
ii
INTRODUCCIÓN
a. Introducción a DCS
Para comenzar, DCS se refiere a Distributed Control System o sistema de
control distribuido, existen varias marcas y modelos de DCS, pero el que
utilizaremos como ejemplo y para ejercicios prácticos será el DCS de ABB
800xA.
Este sistema cuenta con variadas herramientas, las que van desde la
obtención de datos, pasando por funciones graficas hasta lo que sería la
administración de alarmas y tendencias
b. Áreas funcionales
Al momento de ejecutar un Proyecto, es muy importante identificar el
programa funcional para el proceso, las áreas funcionales disponibles para
este modelo son:
Base system
Operations
Batch Management
Information Management
Control and I/O
Safety including Safety Integrity Level (SIL)
Engineering
Asset Optimization
Device Management
Multisystem integration
1
c. Estructura
El concepto de estructuras es muy importante en la arquitectura de los
sistemas 800xA. Todas las estructuras de los Aspect Object son jerárquicas, es
decir, las estructuras de los Aspect Object está basado en una relación
maestro-esclavo.
Aspect Object: La arquitectura Aspect Object es fundamental para lo que es
la industria, ya que permite la obtención de información de manera unificada,
organizar y administrar.
d. Topología
El sistema 800xA se basa en la comunicación mediante Ethernet y redes
TCP/IP, las cuales me permiten la comunicación entre los componentes del
sistema, como los distintos servidores, comunicación cliente/servidor, el
controlador, entre otros. A continuación un esquema de lo que sería la topología
este tipo de sistemas:
2
La topología puede ser single node, o también tener varios nodos, esto
dependiendo de los requerimientos para los que se planea usar este tipo de
sistemas, a continuación se presenta un sistema con 7 nodos y 6 controladores,
en el cual se usan servidores de aspecto y conectividad separados:
e. Servidores
Los servidores son los que me permiten que el sistema funcione, cada uno
de los servidores tiene una tarea distinta, pero como veremos a continuación,
existen algunos servidores que son indispensables como también hay otros
con los cuales se puede operar aunque no estén presentes en nuestro
sistema, dependiendo de la tarea que se le quiera asigna al sistema.
Antes de definir los distintos servidores encontrados en este sistema, lo
primero sería definir qué es lo que me permite la conexión entre ellos, para
esto se necesita el OPC server.
OPC server: OPC quiere decir OLE (Object Linking and Embedding) for
Process Control, básicamente hace interactuar a los diferentes elementos que
componen un sistema para luego aplicar el control del proceso. OPC cuenta
con un mecanismo el cual me permite transmitir la información desde una
fuente hacia un cliente de manera estándar.
OPC cuenta con 3 interfaces:
OPC Data Access: para el acceso a información en tiempo real.
OPC Historical Data Access: para información de históricos.
OPC for Alarm and Event: básicamente para la verificación de alarmas y
eventos.
Aspect Server: Este servidor podría ser considerado como una de las partes
más importantes de este sistema, ya que cuenta con el directorio de aspectos,
directorio el cual gestiona los nombres, objetos y la seguridad.
3
Servidor de dominio: Permite la comunicación entre los Clientes y
Servidores
4
Capítulo 1
Control Builder
1.1. Abstract
El tema a desarrollar en este capítulo es la programación de la lógica en Control
Builder perteneciente al sistema 800XA, haciendo use de tres lenguajes de
programación que son, Ladder, Diagramas de bloques y texto estructurado, esto
se verá ejemplificado por ejercicios propuestos y resueltos, diseñando el modelo
grafico de cada lógica.
Una vez finalizado este capítulo, el alumno será capaz de realizar una
programación adecuada para cualquier tipo de problemas de control de procesos,
además de confirmar su sintaxis de acuerdo al tipo de lenguaje de programación
(detección de errores), y la ratificación del funcionamiento de la lógica.
5
1.2. Control Builder
Permite la creación de
un nuevo proyecto
para crear una lógica
Nuevo proyecto CTRL+N en el controlador
7
1.4. Librerías/ Aplicación/ Controladores
Una vez que se crea el nuevo proyecto o que se abra un proyecto existente se
abre este árbol, el cual contiene toda la configuración del sistema y básicamente
está compuesto por lo siguiente:
8
1.5. Creación de un nuevo proyecto
9
Una vez finalizada la carga, se abrirá la siguiente ventana en blanco de control
Builder.
10
Y se mostrara el siguiente cuadro:
SoftController: es una aplicación del Sistema 800XA que sirve para simular un
controlador real, con el fin de que las lógicas se puedan “cargar” simulando una
comunicación con un controlador real.
11
Luego se presiona “OK” para dar comienzo a la carga del proyecto, una vez
finalizada la carga, aparecerá un mensaje diciendo “Opening project finished”
como se muestra en la imagen.
Una vez finalizada la carga, se tiene la ventana de Control Builder con el proyecto
ya creado y listo para empezar a trabajar en las programaciones.
12
1.6. Creación de programas
Para crear una lógica en Control Builder es necesario conocer cinco tipos de
lenguaje de programación, de los cuales se puede llegar a utilizar un tipo de
lenguaje por cada programa hecho, dicho esto, solo se usaran 3 de ellos que son:
Diagrama Ladder.
Diagrama Bloques.
Texto estructurado.
Para crear una lógica simple en Control Builder, se expande el árbol general del
sistema, específicamente en la rama de “Applications”.
13
Por consiguiente, se abrirá una ventana solicitando el nombre del programa.
14
1.7. Editor POU (Program Organization Units)
15
1.8. Cambios de Lenguajes de programación en la hoja de códigos.
16
Haciendo doble click en el programa creado, llamado “Program4” para este
ejemplo (al cual se le puede denominar de la manera que se estime conveniente),
se abrirá el editor POU.
17
Si se desea cambiar el lenguaje de programación, se debe hacer Click derecho
sobre la pestaña inferior llamada “Code”, para luego hacer click en “Change
Language”.
18
Este cuadro de dialogo muestra todos los lenguajes de programación disponibles
para su uso en control builder, en esta primera instancia, seleccionaremos
Diagrama Ladder:
19
1.9. Variables y Tipos de Variables:
Las variables en el programa son los títulos de los valores del proceso. El proceso
de declaración de variables se hace a medida que se necesite dar un nombre a
algún elemento, además del nombre que actuará de identificador para la variable,
se le puede asignar el tipo de dato con el que trabajara dicha variable.
20
o “Name”: En esta parte se le da un nombre a la variable, nombre por el
cual será identificada, para ello se recomienda que sea sencillo.
21
o “Attributes”: Los atributos se refiere básicamente a cómo actuará el
valor de la variable, a continuación un cuadro que explica el
comportamiento se los valores según el atributo dado:
22
Variables Globales: Son aquellas Variables que se declaran de forma
general, las cuales se pueden utilizar en todos los programas que contenga
al proyecto en control builder.
Sus propiedades son las mismas que las descritas anteriormente. Para acceder a
las variables globales hay que dirigirse a “Applicaton_1-(Controller_1.Normal)”
como se muestra en la imagen y se hace doble click.
23
1.10. Lenguajes de Programación.
Control Builder cuenta con cinco lenguajes de programación que son Ladder,
Texto estructurado, Diagrama de Bloques, Lista de instrucciones y Carta
Secuencial. Este manual solo se enfocará en tres lenguajes (utilizados
ampliamente en la industria), que son Ladder, Diagrama de Bloques y Texto
estructurado.
1.10.1. Ladder:
Todos los bloques que se encuentran en Ladder, cuentan con una entrada
denominada “EN” en la parte superior del bloque, esta entrada al accionarse
activa el bloque para que realice la función para la que está programado, al
mismo tiempo que se activa la entrada “EN”, también se activa su salida, esto
puede resultar útil si se quiere hacer una secuencia que se active
simultáneamente, o simplemente se ignora y no se le asigna una variable
relevante para el proceso, entrada “EN” y su salida son datos de tipo Booleano
(BOOL).
24
CTU (Contador): Este bloque describe la contabilización de la activación
recurrente de una variable de entrada y de acuerdo a la cantidad de
repeticiones establecidas por el programador, se activa una salida para
continuar una secuencia de proceso o bien una señal de estado.
25
o ET (Elapsed Time): Muestra la cantidad de tiempo transcurrido
desde la activación de este bloque, debe ser un dato de tipo Tiempo
(Time).
26
TP (Tiempo de funcionamiento): Describe el tiempo que se activa la
salida, de acuerdo a un tiempo determinado por el programador, es
bastante útil para determinar un tiempo de funcionamiento de alguna
secuencia. Si su entrada se activa, su salida también lo hará, pero solo por
un tiempo determinado.
27
GE (Mayor o igual a…): este bloque se usa en generalmente para
procesos análogos, funciona de acuerdo a un valor de entrada, en donde si
el valor que está entrando es mayor o igual al valor designado, su salida se
activa.
28
LT (Menor a…): Funciona de acuerdo a un valor de entrada, en donde si el
valor que está entrando es estrictamente menor al valor designado, su
salida se activa.
29
1.10.2. Programando con Ladder
30
Para empezar a crear la programación, se procede de la siguiente manera:
A. Lo primero que se debe hacer es declarar las variables, asignándoles un
nombre, tipo de dato, atributo (opcional), condiciones iniciales (en caso de
que la variable lo requiera), y una descripción (es recomendable, para
evitar confusiones al momento de programar), Similarmente como lo
muestra la siguiente Imagen:
31
Luego se mostrara en el panel de Ladder el nuevo Rung creado.
Para crear otro Rung, en el panel de Ladder se hace click en la numeración del
Rung anteriormente creado que se encuentra en el costado izquierdo.
32
A lo cual saldrá un cuadro preguntando si el Rung a crear se desea poner con
anticipación o después del Rung existente, ante esta situación es recomendable
presionar “No”, de esta forma los Rungs se irán creando desde arriba hacia abajo
y no al revés.
33
Y luego se hace click derecho sobre la bobina seleccionada, luego en “Insert Left”
(Insertar hacia a la izquierda) y mostrará dos opciones para insertar el objeto
deseado.
34
Y el Ladder se mostrara con el bloque de función insertado.
35
Ahora si se desea poner contactos en paralelo al contacto existente, se procede
de la misma forma, seleccionar el contacto en donde se necesita un contacto en
paralelo, click derecho sobre él, se elige “Insert Pararell” y aparecerá dos
opciones que es “contact” y “Function / Function Block…”
36
Si se desea insertar un contacto hacia la derecha del contacto existente, se
utilizan las mismas metodologías anteriores, se selecciona el contacto existente,
click derecho e “Inser Right”.
37
D. Una vez terminado el Rung, con los contactos y/o Bloques de funciones, se
debe conectar las variables declaradas a los contactos o los pines de los
bloques de funciones.
38
Para evitar errores en la escritura de la variable, es importante escribir
exactamente el mismo nombre (en caso contrario generará advertencias de
variables inexistentes) y se presiona “OK”.
39
Mostrará la misma ventana de la asignación de las variables,
40
Luego de hacer esto, el pin seleccionado anteriormente tendrá el nombre de la
variable conectada.
Nota: Una forma de saber qué tipo de variable conectar a un pin del bloque de
funciones, es posicionando el cursor del mouse sobre el pin, luego de unos
momentos se mostrará la descripción del pin y su tipo de dato respectivo.
O bien para ver los tipos de datos de forma más detallada, se puede hacer doble
click sobre el bloque de función y se mostrará la siguiente ventana en el editor
POU, por ejemplo, a continuación se muestra el bloque TOn.
41
También existe una paleta de herramienta en la cual sintetiza todos los pasos
descritos anteriormente, en esta paleta se puede realizar las ediciones en el
lenguaje Ladder.
En donde:
o = Conectar una variable declarada a un contacto o bloque de
función.
o = Insertar un nuevo Rung.
o = Insertar un contacto hacia la izquierda de la bobina de salida o
de un contacto / bloque existente en Ladder.
o = Insertar un contacto en forma paralela de un contacto o bloque
existente en Ladder.
o = Insertar un contacto hacia la derecha de un contacto / bloque
en Ladder.
o = Insertar un bloque hacia la izquierda de la bobina de salida o
de un contacto / bloque en Ladder
o = Insertar un bloque en paralelo de un contacto o bloque
existente en Ladder
o = Insertar un bloque hacia la derecha de un contacto o bloque
existente en Ladder
42
c. Una vez terminado lo que es la programación, se procede a realizar
la verificación, para ello se debe seleccionar en la barra de menú en
la parte superior como se indica la imagen.
43
En caso de que existan errores en la programación, esta ventana lo indicara y
además indicará el tipo de error:
Para resolver los conflictos descritos en la verificación, se debe hacer doble click
sobre la indicación del error, hecho esto, se indicara en el diagrama Ladder la
ubicación del error.
44
d. Por último, para actualizar los cambios realizados, guardamos la
programación en el proyecto, existen dos formas para realizar esto,
una es guardar y salir (guarda las modificaciones y cierra el editor
POU) y la siguiente es Guardar (solo guarda las modificaciones sin
cerrar el Editor POU).
Y para solo guardar sin cerrar el editor POU se hace click en.
45
1.10.2.1. Ejercicio Resuelto n°1
Se tiene el proceso de fabricación de una bebida “X”, la cual para ser producida,
se debe mezclar un ingrediente A y un ingrediente B. Ambos llegan a un estanque
de composición. La planta se encuentra recién construida, por lo que se requiere
ponerse en marcha.
46
1.10.2.2. Solución:
Ante el problema planteado anteriormente, se debe analizar el proceso con el fin
de identificar las variables, lo cual facilitará la declaración de las mismas en
Control Builder. A continuación se detalla cómo llevar a cabo la programación de
este proceso:
1) Se debe crear el proyecto en Control Builder siguiendo los pasos
anteriormente vistos, seleccionando el controlador “AC800M” y nombrando
el proyecto como “Ejercicios_Resueltos”, para posteriormente crear el
programa en “Applications”>”Application_1.Normal”>”Programs”, etc.
47
3) Se abre el nuevo programa (Mezcladora_sustancias), a lo cual se abrirá el
editor POU.
48
Se selecciona el lenguaje Ladder (Ladder Diagram LD).
49
Fig. 1. 84 Variables declaradas.
50
Luego se procede con el enclavamiento del primer contacto, creando otro
contacto en paralelo:
51
Para cambiar el estado de los contactos (Normalmente abierto o
Normalmente cerrado) se hace click derecho sobre el contacto, “Edit
“Contact Type” > “Normally Closed Contact”
52
Fig. 1. 92 Parada de emergencia con estado cambiado.
53
Y se continúa con el siguiente Rung, que lleva a cabo la temporización de
accionamiento del motor de la mezcladora de sustancias. Se desea que la
duración del funcionamiento sea de 30 segundos, por lo que se utiliza el
Bloque TP, insertándolo de forma similar a como se insertan los contactos:
54
Para encontrar el bloque TP, se debe expandir “BasicLib” y buscar “TP”
55
El nombre del bloque aparece por defecto como “TP_1”, se pude nombrar
el bloque con el nombre que se desee (siendo este paso opcional), en esta
ocasión, se le asigna como nombre “Temp_Motor”.
56
Fig. 1. 105 Búsqueda del bloque TOn
57
Nombrando el bloque TOn como “Conteo_sol3”
58
Fig. 1. 111 Búsqueda en librerías.
59
Fig. 1. 113 Rung en estado final.
60
Se escribe el nombre de la variable que se dese conectar a ese contacto.
Al ser el primer contacto, se le asigna la partida del proceso de nombre
"Start”, luego se presiona OK
61
Se sigue la misma metodología para asignar el resto de variables hasta el
Rung “0004”, en la siguiente imagen se muestra las variables en los
contactos correspondientes de acuerdo a la programación.
62
A lo cual se abrirá la misma ventana de asignación de variables, al ser un
bloque, se puede utilizar “Ctrl + J” para desplegar un menú con las
variables disponibles para utilizar, esto es posible ya que se trata de un
bloque de función, no es necesario hacer la asignación de esta forma, ya
que también se puede realizar de misma forma utilizada para la asignación
en contactos.
63
Luego de asignar la variable, esta se mostrará en el pin “IN” del bloque
64
Una vez finalizado con las asignaciones de las variables, el diagrama
Ladder debería asemejarse a lo siguiente:
65
Si la programación esta correcta, el panel de chequeo mostrara 0 errores y
0 advertencias como se muestra en la siguiente imagen:
66
10) Finalmente para corroborar el funcionamiento de nuestra programación, se
lleva a cabo una simulación, para esto se presiona el botón ( ), ubicado
en la ventana principal de Control Builder:
67
Al momento de compilar para la simulación, se muestra el siguiente
mensaje del status de la compilación, así como también de posibles
advertencias.
68
Se abre el programa anteriormente creado “Mezcladora de sustancias”:
69
A continuación para poder simular, se debe tener en cuenta lo que se
supone realizará el programa, para ello se debe observar el ejercicio,
donde primero tiene que activarse la partida del proceso, activando a su
vez la apertura de la válvula solenoide n°1 y se llenara hasta que el nivel
del ingrediente A llegue hasta el sensor n°2.
70
Al momento de cambiar el estado de la variable, se observará el
funcionamiento en el diagrama Ladder.
71
Al momento de que la sustancia alcance el nivel del sensor n°2, se debe
iniciar la apertura de la válvula solenoide n°2.
Para simular el cierre del contacto del sensor n°2, se cambia “False” por
“True”
72
Fig. 1. 144 Ingreso de los dos ingredientes.
73
Y en el Ladder se mostrará lo siguiente:
Una vez transcurridos los 30 segundos del funcionamiento del motor, este
se detiene y comienza la apertura de la válvula solenoide n°3 (descarga del
estanque), la apertura de esta válvula es de 60 segundos. De forma
paralela a la acción, se tiene un temporizador que actúa como disparador
para que se logre la apertura de la válvula solenoide de descarga.
74
Fig. 1. 149 Temporizador de la válvula de descarga.
75
Quedando así el estanque vacío al minuto de descarga de la solución, en
donde se aprecia que los sensores 1 y 2 se encuentran desactivados y se
vuelve a llenar con el ingrediente A de la válvula solenoide n°1 repitiéndose
el proceso constantemente.
76
1.10.3. Ejercicio propuesto
77
- Aseguramiento del carro:
Una vez que el carro entra al volcador, se asegura este mediante un sistema de
doble riel, esto para impedir que el carro suelte durante el volcamiento.
- Volcamiento:
78
Fig. 1. 156 Volcamiento.
- Salida:
79
1.10.4. Diagrama de bloques:
Es un tipo de lenguaje de programación de alto nivel, el cual describe los términos
de los elementos de procesos (variables), y muestra el flujo de señales entre
ellos, asemejándose a los circuitos electrónicos. Siempre se representan en
cuadros, indicando sus parámetros de entradas y sus salidas por pines, y la
asignación de las variables se representa por líneas entre los pines.
A continuación se muestran los bloques más básicos que se pueden utilizar para
la programación en Control Builder, cabe mencionar que son los mismos bloques
señalados anteriormente en Ladder, las funcionalidades son exactamente las
mismas, solo cambia mínimamente la representación de los bloques, debido a la
ausencia de la entrada “EN”
CTU (Contador): Este bloque describe la contabilización de la activación
recurrente de una variable de entrada y de acuerdo a la cantidad de
repeticiones establecidas por el programador, se activa una salida para
continuar una secuencia de proceso o bien una señal de estado.
80
TOn (Retardo a la conexión): Es un temporizador que se retarda la
conexión de la salida, de acuerdo a un tiempo determinado por el
programador, es bastante útil para realizar secuencias basadas en el
tiempo, entre otras.
81
TOf (Retardo a la desconexión): Es un temporizador donde se retarda la
desconexión de la salida de acuerdo a un tiempo determinado por el
programador, es bastante útil para deshabilitar secuencias basadas en el
tiempo, entre otras. Si su entrada se activa, su salida también lo hará, pero
si su entrada se desactiva, la salida desactivara luego de un determinado
tiempo.
82
LE (Menor o igual a…): Este bloque se usa generalmente para procesos
análogos, funciona de acuerdo a un valor de entrada, si se cumple que la
entrada es menor o igual al valor especificado en el bloque, su salida se
activa.
83
LT (Menor a…): Funciona de acuerdo a un valor de entrada, si se cumple
que la entrada es estrictamente menor al valor especificado en el bloque,
su salida se activa.
En control Builder se consideran todos los tipos de variables (BOOL, REAL, INT,
DINT, WORD, DWORD) para convertirlas a otros tipos de variables, un ejemplo:
84
Debido a que son todos iguales gráficamente y su funcionamiento es el mismo,
se puede crear un esquema con todas las transformaciones posibles:
Y así sucesivamente con los tipos de variables DINT TO…, WORD TO…,
DWORD TO…
85
AND: Este tipo de bloque se utiliza para realizar la operación Booleana
AND, su función es la misma que en la algebra booleana, se representa
gráficamente:
OR: Este tipo de bloque se utiliza para realizar la operación Booleana OR,
su función es la misma que en la algebra booleana, se representa
gráficamente:
86
Tabla 1. 6 Tabla de verdad para los pines de salida.
87
LevelLow: Este tipo de bloque se utiliza para realizar indicaciones de nivel,
indicando un estado de nivel normal y otro estado la alarma de nivel bajo.
Se representa gráficamente:
88
1.10.5. Programando con Diagramas de bloques
89
B. Para insertar un bloque, se debe hacer un click derecho en la zona de (1) y
seleccionar “Insert Function/Function block”.
Luego nos mostrara un cuadro en que nos pide un tipo de bloque de función a
insertar en la programación, seleccionamos el botón .
Aparecerá un recuadro con dos opciones para expandir, en las cuales se tienen
todas las funciones con las que cuenta el sistema, son las funciones de sistema y
las funciones básicas.
90
Al expandir cada librería nos mostrara todos los bloques disponibles para utilizar
en la programación, que son propios del sistema 800 XA, existen diversos tipos
de bloques de programación, por lo que en los bloques propios del sistema
(System) se encuentra funciones matemáticas, funciones Booleanas, etc.
91
Mostrará el bloque en la zona de códigos.
92
Y se busca el bloque OR dentro de la librería “System”.
93
Luego preguntara si se desea insertar el bloque antes del primer elemento de la
página, en esta situación se selecciona “Yes”, en caso contrario “No”.
94
C. Luego para poder hacer las conexiones entre los bloques, (en este caso, la
salida del bloque AND con la primera entrada del bloque OR) se debe
seleccionar el pin deseado de la salida del bloque,
95
Y el pin de entrada del bloque, se mostrara con un círculo, lo que indica que el bit
se encuentra negado.
96
Luego se puede presionar el comando rápido “CTRL+J” y se abrirá una venta
emergente mostrando todas las variables declaradas.
Luego, se selecciona una de las variables declaradas, haciendo doble click sobre
ella, y la variable se mostrara en la ventana de asignación de variables, después
se presiona “OK”.
97
Segundo pin:
Tercer Pin:
98
Pin de salida:
99
E. Una vez terminada toda la programación, se procede a realizar la
verificación de la programación, presionando “Check” ( ). Ubicado en la
barra de herramientas del editor POU.
100
En el caso de que existiese un error, el mensaje debería mostrar lo siguiente:
101
Para resolver los conflictos descritos en la verificación, debemos hacer doble click
sobre la indicación del error, por consiguiente, se indicara en el diagrama de
bloques la ubicación del error.
102
Y para guardar sin cerrar el editor POU se hace click en .
Esto se recomienda hacer para cuando se desea guardar las modificaciones con
el fin de evitar perder información en caso de algún error externo o llevar un
respaldo de lo avanzado.
103
1.10.5.1. Ejercicio resuelto
Se tiene un estanque de trasvasije de aguas servidas de la cuidad, en el cual
consta de un sensor ultrasónico ubicado en la parte superior del estanque, una
bomba de impulsión, y una válvula de control de nivel (On/Off Normalmente
cerrada) para este estanque. El proceso consiste en que todas las aguas grises,
llegan a un estanque en el cual es regulado por una válvula de control de nivel,
previo a esto, existe un estanque de acumulación, donde siempre existe flujo
constante en el ingreso del líquido a tratar. Como se muestra en la siguiente
imagen.
Una vez activado la alarma alta, la válvula de control de nivel se cerrara, y con
ello comenzara a función la bomba de descarga, el nivel del fluido comenzara a
bajar, se desactivara la alarma alta de nivel y se abrirá la válvula de control,
siendo que la bomba de impulsión es de mucha potencia, por lo que la impulsión
es más rápido que el llenado del estanque, de tal forma de que una vez abierta la
válvula de control, la bomba continua funcionando y continua bajando el nivel del
fluido en estanque hasta activarse la alarma baja de nivel.
Al volver activarse la alarma baja del nivel bajo, la válvula de control se cerrara y
el estanque volverá a llenarse, repitiendo el mismo procedimiento sucesivamente.
Debe tener una para de emergencia, en que detenga el funcionamiento de la
bomba y de la válvula de control.
104
1.10.5.2. Solución:
105
3) Como ahora se trabajara con diagrama de bloques, es necesario cambiar
el lenguaje de programación
106
4) Una vez cambiado el lenguaje de programación, se debe proceder con la
declaración de variables, considerando las entradas y salidas del proyecto
propuesto:
107
Aparecerá un recuadro con dos opciones para expandir, en donde se encuentran
todas las funciones del sistema.
108
Seleccionar LevelHigh y presionar “OK”, a lo que aparece la misma ventana de
selección de bloques, con el nombre del bloque.
109
El siguiente bloque será el “LevelLow”, este bloque y los que se agregarán más
adelante, se realiza el mismo procedimiento, solo que para insertar un nuevo
bloque, se puede hacer desde el boque ya creado, haciendo click derecho sobre
él, y seleccionando “Insert Function/ Function Block…”.
110
Quedando el nuevo bloque en la parte inferior del bloque ya existente.
Se selecciona el pin “Enable” del primer bloque (LevelHigh), click derecho sobre
él, y luego “Connect...”
111
Para ingresar la variable a utilizar, se puede escribir el nombre de la variable o se
puede usar el comando rápido (Ctrl+j), el cual muestra una ventana emergente
con las variables declaradas. En este caso se selecciona “PE” (ya que permitirá
detener el proceso).
112
A continuación para conectar el parámetro “In”, se procede de la misma manera
indicada anteriormente.
Primero se selecciona el pin “In” del bloque LevelHigh”, click derecho sobre él, y
luego “Connect…”
113
En el caso de LevelLow, el parámetro “In” se conecta de la misma forma a la
misma variable, por lo que el proceso es el mismo.
Se asigna la variable al pin “Level” del bloque “LevelHigh” para los dos bloques de
la misma manera que se ha visto anteriormente, siendo el nombre para el primer
pin “param_alto” y para el segundo bloque “Param_bajo”, por lo que el diagrama
de bloques quedara como se aprecia en la siguiente imagen:
114
Para ello se inserta un bloque “AND” después de LevelHigh (ya que si se inserta
al final se producirán confusiones), se selecciona el bloque LevelHigh, click
derecho sobre él, y luego “Insert function/ Function Block..”
El bloque AND se encuentra ubicado en las librerías del sistema o “system”, una
vez se encuentra se presiona “OK”
115
Se abrirá una ventana preguntando si se desea insertar el bloque antes del
bloque seleccionado, seleccionando “No”, el diagrama de bloques se mostrara
con el bloque insertado de la siguiente manera.
116
Se hace lo mismo para la salida “GTL” del bloque LevelLow hacia la segunda
entrada del bloque AND
117
9) A continuación se debe insertar otro bloque “AND”, ya que se debe
considerar la parada de emergencia, debido a que una vez activada la
válvula de control, esta debe permanecer cerrada. Se inserta el nuevo
bloque “AND” a partir del anteriormente creado.
118
10) Se Debe conectar una de las entradas del bloque AND a la salida del
bloque AND
119
11) Ahora se procede a negar la lógica de la parada de emergencia, ya que se
tiene que activar para detener el proceso, en caso contrario se detectaría
como activado para el parámetro “Enable” los bloques LevelHigh, LevelLow
y el segundo Bloque AND. Para negar la lógica de un pin en un bloque, se
selecciona el pin a negar, click derecho sobre él, para luego presionar
“Invert”. Primero se negara el pin “Enable” del bloque LevelHigh.
120
12) A continuación se designan las salidas que indicaran las alarmas altas y
bajas respectivamente.
121
Quedando el diagrama de bloques de la siguiente forma:
13) Ahora se necesita un bloque “OR”, el cual será la última condición para la
apertura de la válvula, esta condición está relacionada con la alarma de
bajo nivel o InLtLevel del bloque LevelLow, para ello se selecciona el
segundo bloque AND y se inserta un nuevo bloque.
122
Se Debe conectar una de las entradas del bloque OR a la salida del bloque AND
existente
123
Y la otra entrada del bloque “OR” se conecta a la variable “Alarm_bajo”, ya que la
válvula estará condicionada por la alarma de bajo nivel o si los niveles se
encuentran por debajo de la alarma de nivel alto. Para conectar la variable, se
selecciona el segundo pin de entrada del bloque OR, click sobre él, y se presiona
“connect…”
Y por último, se conecta la variable “Valv_abierta” a la salida del bloque OR, esta
variable representara a la apertura de la válvula, una vez conectada la variable, el
diagrama se verá así:
124
14) Ahora que se tiene la lógica para la apertura y cierre de la válvula, se
procede a realizar la lógica del funcionamiento de la bomba de impulsión,
para ello solo se necesita un control de un motor con enclavamiento, la
señal que le dará la partida a la bomba será la alarma de señal baja
mientras que la detención de esta será la alarma de nivel alto.
Para realizar este control de motor en bloques, se necesitan dos bloques, un “OR”
y después un “AND”.
Primero el bloque OR.
125
Después se inserta el bloque AND, este bloque se ubicará bajo el bloque OR
recién creado.
126
15) Ya creados los dos bloques para realizar el control de la bomba, se
procede a interconectar los pines y asignar la variable correspondiente a la
bomba de impulsión, de nombre “bba_func”
Lo primero que haremos será la interconexión de la salida del bloque OR con una
entrada del bloque AND
127
Luego se conecta la variable del segundo pin del bloque AND a la variable
“Alarm_bajo”, esta conexión debe estar negada, debido a que cuando el nivel bajo
se active, la bomba se detendrá.
Lo primero es invertir la lógica de entrada del bloque, se selecciona el segundo
pin de entrada del bloque AND, click derecho sobre él, y se presiona “Invert”.
128
Luego se inserta un nuevo Bloque OR, siendo otro condicionante para que el
funcionamiento de la bomba de impulsión se detenga cuando se activa la parada
de emergencia. Se selecciona el último bloque AND, click derecho sobre él y se
inserta un nuevo bloque OR
129
A continuación se conecta la variable “Alarm_bajo” en el segundo pin del Bloque
OR
Y por último el pin de salida del bloque OR, se conecta al segundo pin negado del
bloque AND.,
130
En consecuencia, el diagrama de bloque de forma general quedaría de la
siguiente forma:
131
Si la programación se encuentra correcta, no aparecerán errores ni advertencias:
17) Por último, se guardan los cambios y se sale del editor POU presionando
el botón ( ).
132
11) Finalmente para comprobar el correcto funcionamiento de la
programación, se procede a realizar una simulación, para ello se sigue el
mismo procedimiento que en el ejercicio de Ladder a la hora de inicializar
el proceso de simulado.
133
Ya que el nivel es 0.0, se debe activar la apertura de la válvula:
134
Y también se pueden apreciar los cambios que sufrio la lógica al aumentar el nivel
135
Y en la parte lógica, se pueden observar los cambios sufridos a causa de la
modificación del nivel:
136
El diagrama indicara lo siguiente de acuerdo al cambio realizado:
Después de un tiempo, el nivel llegara a la alarma de nivel bajo (2.0 metros), por
lo que la bomba de impulsión se detendrá y la válvula de control se mantendrá
abierta. Se ubicara el nivel en 2.0 metros para poder simular lo dicho
anteriormente:
137
Y la lógica también se modificará a causa del nuevo valor de nivel:
138
1.10.6. Lenguaje Texto Estructurado
Este es un lenguaje de alto nivel, el cual es compacto y organizado, ofrece
además, una gran variedad de opciones a la hora de programa, siendo el código
fácil de escribir y leer debido a su diseño lógico y estructurado. La compacidad del
lenguaje da una gran visión general del código. El código es de fácil lectura,
gracias a la forma de estructurarlo, a continuación un ejemplo de un código escrito
en Texto Estructurado:
Operador Descripción
:= Asigna un valor (numero, lógico o cadena
de caracteres) hacia una variable
() Los paréntesis son comúnmente usados
para cambiar la prioridad de una expresión.
139
Expresiones y operadores Booleanas:
Tabla 1. 8 Expresiones booleanas.
Operadores Descripción.
NOT Niega el valor booleano (1/0, on/off , o verdadero /
Falso)
AND Muestra el valor final de la puerta lógica booleana
AND ( misma tabla de verdad utilizadas anteriormente)
& Es la expresión de AND, mostrando el valor final del
operador AND
XOR Utiliza la puerta lógica booleana OR exclusivo
OR Muestra el valor final de la puerta lógica booleana OR
Operador Descripción
** Exponencial
* Multiplicación
/ División
+ Suma
- Resta
mod Modulo
Operador Descripción
< Menor al valor
> Mayor al valor
<= Menor o igual al valor
>= Mayor o igual al valor
= Igual al valor
<> Distinto al valor.
140
Sentencias Condicionales: Se utilizan para establecer una condición de
funcionamiento si se cumple con un criterio o condición dado. Las
sentencias condicionales se detallan en el siguiente cuadro.
Operador Descripción
If... then… Se utiliza para ejecutar un grupo de instrucciones, dependiendo del
end_if; valor de una o varias expresiones booleanas , siempre se concluye
con un “end_if;”
If… then… Se utiliza para ejecutar un grupo de instrucciones (indicando una tarea,
else… si no cumple el criterio, se puede dar otra tarea), dependiendo del valor
end_if; de una o varias expresiones booleanas , siempre se concluye con un
“end_if;”
If… then… Se utiliza para ejecutar un grupo de instrucciones anidadas (una
elsif… condición dentro de otra), dependiendo del valor de una o varias
else… expresiones booleanas , siempre se concluye con un “end_if;”
end_if;
1.10.6.2. Solución
1) En el mismo proyecto ya creado, añadir otro programa usando el
procedimiento ya visto, dándole como nombre “Programa_ST”.
141
Fig. 1. 303 Declaraciones de variables.
142
5) Se continua con el proceso de verificación de la programación,
presionando el botón ( ), que se encuentra en la barra de herramientas
del editor POU.
143
8) Luego de verificar que se está en modo de simulación, se procede a abrir
el programa ya en modo de simulación.
144
1.10.6.4. Solución
1) Como se pide crear la nueva lógica en el mismo programa creado
anteriormente, se debe añadir una nueva hoja de códigos, esto se hace en
el mismo editor POU
145
Fig. 1. 315 Cambio de lenguaje.
146
4) Se procede a escribir la programación, en donde se describe a través de
comentarios “(*…*)”, como se puede abordar la programación, además de
explicar la sentencia condicional:
147
9) Se realiza una simulación para comprobar que la programación realizada
funcione como corresponde, se presiona el botón ( ) para entrar a modo
de simulación, a través de la ventana principal de Control Builder.
10) Una vez comprobado que se está en modo simulación, se procede a abrir
el programa para corroborar su funcionamiento:
En donde se pueden observar dos tipos de recuadros, unos con un que solo
tienen el contorno azul y los otros con un relleno azul, los con el relleno azul
significa que son verdaderos y los que solo tienen el contorno azul son variables
en falso.
148
Se procede a cambiar el estado de la variable “Start” a verdadero “true”.
149
Capítulo 2
Este capítulo aborda la programación y simulación del control del molino SAG,
haciendo uso de la maleta de entrenamiento, creando pantallas gráficas para el
control y visualización del proceso. Utilizando los programas Control Builder,
Fieldbus Builder y Process Graphics.
150
2.2. Feldbus Builder
Lo primero que se debe hacer, es abrir “My E-Plant” (también conocido como
“Plant Explorer”) a través de su icono en el escritorio de la máquina virtual:
Fig. 2. 2 Workplace.
151
Luego, a través del menú desplegable, se debe cambiar “Functional Structure” y
buscar “Control Structure”, expandir el árbol “Root”, luego “HSE_INACAP, HSE
Subnet”, para finalmente en la ventana superior derecha buscar “FF Management”
y hacer click en “Show object in Fieldbus Builder FF”, detallado gráficamente en la
siguiente imagen:
152
Se abrirá la siguiente ventana (en modo Observador o “View Subnet”)
Del (1) al (3) se muestra el árbol de las opciones de acuerdo a las estructura de la
red Fieldbus, es decir, la topología de los componentes y cada subcomponente
que contempla la red Fieldbus.
Más adelante se explicará con más detalle este árbol, explicando los demás
conjuntos de Fieldbus Builder.
En (5) muestra las librerías que se encuentran instaladas para cada instrumento
configurado en el sistema, se puede establecer un parámetro en específico o
funcionamiento simple/especial para cada instrumento (por ejemplo, parámetros,
unidades de medida, etc.).
Desde (1) al (3) y en (5), son donde se realiza la mayor cantidad de trabajo al
momento de configurar una red Fieldbus, mientras que (4) solo se utiliza para
agregar los instrumentos o para configurar su programación de acuerdo a sus
bloques de funciones (explicado más adelante)
153
(1) “FF_NET (FF Network)”: En esta rama del árbol se muestra la red FF
(Fieldbus) de forma general en la estructura general, considera el servidor
OPC, Host, Linking Device e instrumentos. Es más que nada una visión
general de la red.
(2) “OPC1 (OPCserver FF): Se muestran los parámetros del servidor OPC ( en
el caso de la maleta, el servidor se encuentra virtualizado), señalando el
tag del servidor OPC, el tipo de descripción, dirección IP y el número de
nodo para protocolo Fieldbus o también conocido como “identidad de
recursos”.
154
(3) Al seleccionar el árbol que contiene a la red Fieldbus, se pueden observar
los componentes físicos del controlador, es decir, el Host (tarjeta de
comunicación Fieldbus CI 860) y la red HSE (los instrumentos que se
encuentran instalados en el sistema).
Tambien se puede expandir esta sección, la cual contiene los mismos elementos
de comunicación:
Al hacer esto, se puede navegar por los distintos elementos, los cuales muestran
información adicional, como por ejemplo el “HOST (HSEHostCI860)” mostrara las
descripciones o las propiedades del Host, indicando su dirección IP y su TAG:
Fig. 2. 10 HOST.
155
Al hacer doble click en la imagen o en la rama “HOST” se abrirá una ventana en
que muestra la configuración de las suscripciones de los instrumentos ya
comunicados (esto se hace manualmente al momento de configurar los
instrumentos Fieldbus con los que se desee interactuar)
156
Fig. 2. 12 Señales de los instrumentos fieldbus.
157
Fig. 2. 14 Megablock.
Nota: cada Linking Device puede soportar como máximo hasta cuatro segmentos,
pero se puede expandir al conectar otro megablock en la salida de la troncal, para
asi poder conectar más instrumentos:
158
Al seleccionar y expandir el “LDE_H1-1(H1 Link)”, se puede observar lo siguiente:
159
AL hacer click en “LDE_H1-1_SCH (FF Applic’n)” se observa lo siguiente:
160
Se abrirá la siguiente ventana:
161
2.3. Process Graphics
Este sistema cuenta con una herramienta de diseño, con la cual se pueden
crear HMIs la cual será usada para la operación o supervisión de algún
proceso, este programa cuenta con una amplia variedad de herramientas para
diseñar lo que sea necesario.
Antes de comenzar a diseñar una HMI, lo primero es crear un nuevo Graphic
Aspect, para ello en el workplace se debe entrar a Functional Structure
162
Al seleccionar “New Object”, se abrirá una ventana en la cual se procederá a
seleccionar el tipo de proceso para el cual se diseñará la HMI, se utilizara el
proceso “Volcado de carros” para ejemplificar la interacción con el programa,
por lo tanto el nombre del “New Object” será este:
163
A continuación se abrirá una ventana en la cual se debe marcar “Show All”
para que muestre todas las opciones en la lista, a lo cual se debe buscar
“Graphic Display PG2” y además asignarle un nombre.
164
Luego se presiona click derecho sobre “Graphic Display” y luego “Edit”
165
Una vez abierto, se tiene el área de trabajo en Graphic builder como se
muestra en la siguiente imagen:
166
Ventana de propiedades: Se tiene acceso a las configuraciones de
cada uno de los elementos gráficos y de entrada, ya sea la disposición
de dichos elementos, la velocidad de ejecución, nombre, forma, etc.
Lista de Ítems Gráficos: Contiene una lista de todos los elementos que
se encuentren en el panel de edición, así como también organizar los
elementos de entrada y crear sub-nodos, ya sea a los elementos, o
sub-nodos del Graphic Display.
Barra de Menú: Esta barra cuenta con diferentes acciones que afectan
al proyecto como tal, ya sea guardar el proyecto, menú de ayuda y
varias otras herramientas.
167
2.3.1. Comenzando a diseñar en Process Graphics
Antes de comenzar a realizar nuestros diseños, es necesario conocer los
elementos que se pueden utilizar ya sean botones, figuras, graficas, etc. A
continuación se listarán algunos de los elementos más comúnmente usados al
momento de diseñar una HMI:
Botones: De todos los botones en esta lista, casi siempre nos encontraremos
usando solo uno de ellos, conocido como Toggle button.
Toggle Button: Uno de los botones más básicos en la lista, puede ser
usado básicamente para lo que sea necesario:
Fig. 2. 31 Botones.
Graficos:
Pie Chart: Grafico cirular usado comúnmente para identificar las tendencias
en un determinado grupo de datos.
168
Radar Chart: Grafico de radar o diagrama de araña, es usado para ordenar
datos con diferentes variables y a su vez permite hacer comparaciones.
169
Classic Symbols: En esta categoría se pueden encontrar varios elementos
comunes para usar en los diseños, como por ejemplo válvulas, motores, símbolos
eléctricos, etc.
Fig. 2. 39 Símbolos.
170
Graphic Primitives: En esta categoría se encuentran diversos elementos que
ayudarán en el diseño como Símbolos de alarma, listas, cuadros de texto,
además de algunas animaciones y barras de estado.
171
Shapes: Aquí se encuentran figuras básicas, las cuales se pueden moldear para
obtener las figuras que se necesiten para los diversos diseños.
Fig. 2. 42 Figuras.
Fig. 2. 43 Símbolos.
172
Standard Symbols: En esta categoría se encuentran algunos de los elementos
más útiles para realizar diseños, como indicadores de valores, una barra
indicadora, cuadro de estados, entre otros.
173
2.3.2. Configuración de las propiedades de los elementos
Una vez creado el proyecto en Process Graphics, es necesario darle una función
a los elementos que realizaran una acción, como por ejemplo, un botón de
“Partida” deberá tener una propiedad que le permita poner en marcha algo, o
quizás un botón que pueda abrir otra pantalla, para poder hacer esto, se necesita
hacer lo siguiente:
Empezando primero con un botón denominado “Partida”, este botón dará
inicio a un proceso realizado en Control Builder, para ello, lo primero es
seleccionar el botón:
Fig. 2. 46 Botón
Fig. 2. 47 Propiedades.
174
Hacemos click en el botón tipo engrane (settings) y se abrirá la siguiente
ventana:
175
Aquí se debe buscar la ubicación del programa, el cual se encontrara en
Control Structue, una vez ubicado el programa, se debe seleccionar la
variable que se quiere ejecute el botón, para ello se debe buscar dentro de
una lista con las variables:
176
Lo otro que se puede hacer, es que un botón abra otra pantalla, para ello
se debe seleccionar el botón y nuevamente en la ventana de propiedades
se debe buscar “Target” lo cual abrirá la misma ventana:
177
Fig. 2. 52 Menú de navegación.
Para que al momento de presionar el botón muestre la pantalla, hay que
agregar “Graphic Display”.
Además de estas dos funciones que se les puede agregar a los botones, también
se puede configurar un objeto para que lea datos de Fieldbus y los muestre en
tiempo real.
178
2.4. Proceso a simular con instrumentación.
El siguiente proceso, consiste en realizar un control (utilizando las entradas y
salidas de la maleta de entrenamiento de sistema ABB 800XA) de un Molino SAG,
el control debe consistir en una programación de control de motor que sea
comandado solamente desde sala de control. También debe tener dos HMI, una
de visualización de estados del molino y lecturas de instrumentos, y otra pantalla
de control del molino.
Los parámetros a considerar en este proceso son los siguientes:
Velocidad del molino (donde la velocidad máxima es de 12 RPM).
Presión de aceite de los descansos del molino. (presión máxima de la
unidad hidráulica es de 12 KPa).
Temperatura del Estator. ( temperatura máxima de instrumento es de
100°C)
Tonelaje de la carga de material. ( carga máxima del material es de 50
Ton)
Temperatura ambiente de la faena.
Presencia de tensión en terreno.
179
2.5. Solución
La solución al problema se llevará a cabo en el orden anteriormente mencionado,
siendo el desarrollo realizado en 4 Etapas, debido a que el procedimiento a seguir
es demasiado largo, cada una de las etapas están relacionadas entre sí y al final
todas convergerán en un solo resultado, que sería el funcionamiento del molino
SAG..
2.5.1. Fase 1: Configuración de instrumentos Fieldbus
Fundation, de acuerdo al proceso a simular.
180
Se asigna un potenciómetro para cada variable física para que pueda realizar la
simulación, ya que estas variables influyen en nuestro proceso a programar.
Donde tomaremos el siguiente orden de variables y de canales del instrumento:
Tabla 1. 12 Variable de los botones.
181
Fig. 2. 55 Abrir fieldbus builder.
182
Y se procederá a ejecutar el programa de Fieldbus Builder, mostrando su
visualización general.
183
Esta sección de Fieldbus Builder permite configurar la parametrización de cada
instrumento insertado en la red H1 a través de bloques de funciones. Estos
bloques de funciones, contienen el arreglo del protocolo Fieldbus Builder de
acuerdo a los canales que posea cada sensor.
En esta oportunidad, se omitirá los pasos para crear los bloques y la
publicaciones de las señales a través de Fieldbus Builder (ver en el Manual paso
a paso de la tesis ¡Maleta de Entrenamiento Sistema ABB 800XA”,
específicamente en el noveno Ítem “Configurar Instrumentos Fieldbus”, en la
página número 106).
Para poder realizar una configuración adecuada de los canales del sensor
Rosemount 848T, primero se deben conocer algunos bloques importantes en el
protocolo Fieldbus Foundation, como son el Resource Block y el Transducer
Block, estos bloques son fundamentales para poder realizar un arreglo previo
para simular las variables a través de los potenciómetros.
Fig. 2. 59 Bloques.
184
En Resource Block, según el protocolo solo se debe asegurar que se encuentre
activo en el parámetro: “5.1MODE_BLK.TARGET=AUTO”.
185
X.5 SENSOR 1 CONFIGURATION.DAMPING VALUE = 0.0 (valor de
atenuación debe ser 0.0).
186
Ahora que se sabe cómo configurar el Transducer Block, procederemos a asignar
un potenciómetro a cada variable física, la siguiente tabla será de ayuda para eso.
Tabla 1. 14 Variables.
Nota: El ítem número 32, siempre debe permanecer con la configuración dada.
187
Se insertarán en la lista de funciones del bloque, como se muestra en la siguiente
imagen:
Para realizar estas mediciones es necesario medir las resistencias variables con
la maleta desenergizada, estos valores son muy importantes al momento de
realizar la configuración de los bloques FF (Fieldbus Fundation).
188
Los valores máximos medidos en los potenciómetros son los siguientes:
Nota: Es importante que los valores máximos de cada resistencia variable sea
anotado, con el fin evitar confusiones y errores en el protocolo FF.
189
En resumen, los valores serian:
Tabla 1. 15 Valores de los potenciómetros.
2.9. Para que el sistema pueda obtener lecturas del instrumento, se debe
utilizar un bloque de lectura FF (AI) para cada potenciómetro,
teniendo cada cual un nombre (puede ser cualquiera). Dentro de
este bloque se encuentra un protocolo FF que contiene la
configuración de las variables físicas y de las resistencias variables.
190
Este tipo de protocolo siempre de debe realizar en todos los bloques que se
inserte en Fieldbus Builder, que dará un determinado funcionamiento a cada
potenciómetro en la maleta. Este protocolo se puede utilizar para simular
cualquier variable física, siempre y cuando se establezcan los valores máximos y
mínimos a simular.
FF_TIT_MILL_1
191
FF_PIT_MILL_1
FF_SIT_MILL_1
FF_WIT_MILL_1
192
Este protocolo se incorpora dentro de cada bloque FF, para ingresar dentro del
bloque debemos hacer doble click sobre él. Una vez terminado el protocolo se
presiona “OK”, y el bloque se mostrara el nombre dado, como se ilustra en la
siguiente imagen:
Quedando como resultado final los bloques del instrumento 848T de la siguiente
manera:
193
Descarga de Protocolo Fieldbus en Instrumento 848T en línea.
Luego se procede a realizar el comisionamiento del instrumento 848T, es decir, se
entra en línea con la red HSE y la red H1, se prepara el instrumento para la
descarga de la nueva parametrización de los potenciómetros contenidos en Dicho
instrumento.
194
Fig. 2. 72 Carga del protocolo.
195
Luego se muestra el estado de cada bloque utilizado cambiando sus estados de
“Out of Service (O/S)” a “Automatic”.
Se actualiza la red HSE del sistema 800XA con los parámetros cambiados del
instrumento 848T.
196
2.4.2. Fase 2: Configuración de Hardware (controlador) y
programación del proceso a través de Control Builder.
Como ya se ha visto en el capítulo anterior (introducción a programación a Control
Builder), se realizaron ejercicios en los cuales se abordaron temas netamente de
programación, utilizando variables locales y la simulación de la lógica creada. En
esta ocasión necesitamos que a partir de la lógica creada, se realicen acciones en
un proceso real, con la utilización de la maleta, se podrá realizar lo más tangible
posible, observando las interacciones entre nuestro programa versus las acciones
que se observan en las salidas de las tarjetas I/O. Pero para llevar a cabo estas
tareas en acciones, se debe indicar al sistema a través de Control Builder, cuál es
el hardware y sus especificaciones.
197
El tipo de dato BoolIO presentara cuatro estados:
“.Forced”: Indica si el canal esta forzado o no.
“.IOValue”: Valor del canal I/O, si el valor de esta extensión y
el valor de la aplicación serán iguales, si no se encuentra
forzado.
“.Value”: Valor usado por la aplicación.
El tipo de dato RealIO presentara cinco estados, en las cuales son las mismas
que las anteriores:
Ante nuestro problema planteado, usaremos este tipo de dato de variables para
programar las alarmas y estados del molino SAG.
198
Para acceder a declarar las variables Globales, en Control Builder se expande
“Applications” y se hace doble click en “Process_Inacap”.
Y se abrirá el Editor POU, con el ambiente de trabajo para declarar las variables
globales:
199
Y se procede a escribir las variables mencionadas. Al finalizar se presiona ( )
para verificar si los datos ingresados están bien descritos. Si esta correcta la
declaración de las variables, en el panel de mensajes nos indicara que hay “0
errores y 0 advertencias”
Para guardar los cambios y salir del editor POU, se presiona el botón ( ), y las
variables serán visibles para todos los programas a utilizar y se podrán visualizar
desde Process Graphics.
200
B. En esta parte correspondería a la configuración de Hardware desde mismo
Control Builder (específicamente en “Controllers”).
Utilizando los tres tipos de conexiones de las tareas (Fast, Normal y Low). Todos
estos pasos también se encuentran descritos en el manual paso a paso,
continuando el mismo procedimiento, pero con los nombres modificados con
respecto a la bibliografía, siguiendo ítem 8, desde la página 88 hasta la página 92.
201
D. El siguiente paso es la configuración de las tarjetas I/O del controlador. El
controlador tiene una disposición específica para este tipo de tarjetas, Es
importante señalar que en forma presencial, la persona mirando de frente
al controlador AC 800M, en el lado izquierdo se conectan todo lo que es
tarjeta de comunicación, y en el lado derecho se conectan las tarjetas I/O,
en ambos casos las posiciones de las tarjetas se consideran a partir desde
el mismo controlador, es decir, si se tiene una tarjeta de comunicación
Profibus que sucede al controlador AC 800M, se considera posición 1,
después la siguiente tarjeta de comunicación que sucede a la tarjeta de
comunicación Profibus, continuaría en la posición 2 y así sucesivamente.
Esto es aplicable también para las tarjetas I/O en Modulebus.
Fig. 2. 81 Controlador.
202
Para la configuración de las tarjetas I/O y la interfaz de comunicación, se realiza el
mismo procedimiento de configuración que se describe en el manual Paso a paso
de la tesis “maleta de entrenamiento ABB 800XA, en el ítem 8, desde la página 92
hasta la página 100.
203
Se utiliza la Tarjeta DO 820, la cual está conectada eléctricamente a una serie de
leds, en la siguiente imagen se muestra la distribución de los Led y los canales en
que se encenderá cada led, de esta forma se entenderán de mejor manera, las
salidas que deseamos usar para simular nuestro proceso:
Ahora que ya se identificaron las salidas con sus respectivos canales, se procede
a asignar las variables que “representarán” los estados de acuerdo a la lógica
próxima a crear.
Para ello nos dirigimos en “Controllers” > “Process_Inacap” > “Hardware AC
800M” > “0 PM861/TP830” > “11 ModuleBus” , y hacemos doble click en “DO
820”, como muestra la imagen:
204
Nos abrirá el editor POU para la Tarjeta DO 820, en donde nos mostrara las
configuraciones.
Nota: Si nos fijamos bien, en la ventana anterior, nos muestra las variables que se
pueden asignar y pide como requerimiento que la variable sea de tipo de dato
BoolIO.
205
Fig. 2. 86 Asignación e variables.
Ahora para insertar una variable BoolIO a un canal, debemos seleccionar la celda
“Variable” correspondiente al primer canal y luego presionar el botón ( )
ubicada en la barra de herramientas del editor POU.
206
En el cual por defecto nos aparece el nombre de la aplicación general del
proyecto de Control Builder, procedemos a expandir y buscar la variable
“PWR_OK”.
207
Quedando la configuración de la tarjeta DO 820 de la siguiente manera:
208
Nos abrirá el editor POU, con la configuración del Host.
209
Y mostrara los canales usados por las señales de los instrumento Fieldbus
Foundation.
Ahora que tenemos la visualización de los nombres de las señales desde los
instrumentos Fieldbus, procederemos a asignar las variables.
210
Retomando la tabla de las variables, utilizadas para la tarjeta DO 820, le daremos
las asignaciones de las variables por nombre de señal (para no confundirnos con
el número de canal).
Tabla 1. 20 Tipo de datos para las variables.
211
Y nos abrirá una ventana emergente, en el cual expandimos “Process_Inacap” y
buscamos la variable “STP_MILL_1”.
212
Luego hacemos el mismo procedimiento con todas las variables descritas en la
tabla anterior, quedando la asignación de las variables de la siguiente forma:
213
F. Ahora que tenemos la configuración de los instrumentos, y la declaración
de las variables ya realizada, se procederá a realizar la creación de un
nuevo programa, para ello expandimos en “Applications” >
“Process_Inacap” y seleccionamos “Programs”, hacemos click derecho
sobre él y seleccionamos en “New Program”.
214
Y cambiará el ambiente de programación en el editor POU. Luego le
cambiaremos el nombre de la programación, para ello debemos realizar click
derecho sobre la pestaña “Code” y seleccionamos “Rename”, e insertamos el
nombre de “Code” a “CONTROL_MOLINO”, Hacemos click izquierdo en “OK”.
215
En esta programación se realizara el control de partida y parada de un motor (que
en este caso sería el molino) en las cuales debe tener lo esencial para un
comando básico de un motor, que posean variables que generen la partida,
parada y la Parada de emergencia térmico. El primer paso debemos insertar un
bloque OR.
216
Ahora se procede a conectar una de las variables de entrada al primer bloque OR,
en este caso sería la variable de partida del motor, según en nuestra declaración
en las variables globales es “START_MILL_1”
217
Luego se realiza el mismo procedimiento, pero conectando la salida del bloque
NOT a la segunda entrada del bloque AND.
También desde la salida del segundo Bloque OR hacia la entrada del bloque
NOT.
218
También se conecta la variable que indicará si el molino estará activo o no, esta
variable se conecta en la salida del Bloque AND, la variable que indicará el
funcionamiento del molino será “MILL_1”
Ahora que ya se tiene el programa que establece el control del molino, con sus
variables conectadas, se procede a crear una nueva programación dentro del
programa, para ello se debe hacer click derecho sobre la pestaña inferior
denominada “CONTROL_MOLINO”, y se selecciona “Insert”.
219
Y se abrirá una ventana en que nos pide en qué tipo de lenguaje de programación
se desea programar (esta ventana es similar, cuando se cambia el tipo de
lenguaje de programación), por esta vez se realizara por el lenguaje Ladder. Se
selecciona y se renombra de “Code” por “ENLACE_IO”, y por último se hace un
click izquierdo en “OK”.
En donde se añadirá una nueva pestaña con el nombre dado, y con el ambiente
de programación cargado en el lenguaje Ladder.
220
En esta programación se realiza un enlace muy particular, este tipo de enlace
permitirá interactuar las variables de tipo “Bool” con las de tipo “BoolIO”, la idea es
en que las variables que se encuentren conectadas en la programación anterior,
posean los mismos estados pero en la salida de la tarjeta DO 820, utilizando las
variables de tipo BoolIO declaradas en variables globales. Debido a esto se
realizara en el diagrama Ladder.
El primer paso es realizar la lógica de la presencia de tensión en el molino, para
ello se crea un nuevo Rung, después insertamos un contacto, como se muestra
en la siguiente Imagen.
221
En donde se mostraría el contacto de la siguiente forma.
222
Luego se inserta el segundo Rung, en donde se realizara las condiciones de
accionamiento del molino con respecto a la salida de en la tarjeta I/O (DO 820).
Después se asigna las variables a cada contacto y la bobina del Ladder, por lo
que en el primer contacto se conecta la variable BoolIO del estado de presencia
de tensión, llamada “STAT_PWR_1.Value”.
223
Por último, en la bobina del Ladder, lo conectaremos con la variable de tipo
BoolIO, asignada al canal 3 de la tarjeta DO 820, declarado como
“RUN_MILL_1.Value”, quedando finalmente el Rung de la siguiente forma:
El tercer Rung debe contener dos contactos, uno normalmente abierto y otro
normalmente cerrado, como se muestra en la siguiente imagen:
224
Mientras que en el contacto NC (Normalmente Cerrado), será la condicionante
para que se apague la luz de detención cuando el molino SAG inicie su marcha,
de este modo, la variable de tipo Bool que estará conectado a este contacto
correspondería a “MILL_1”.
Para finalizar este Rung, en la bobina del Ladder, se conectara la variable que se
encuentra enlazado a la barra LED, como se ha declarado en la tarjeta de
comunicación CI860, denominada “STP_MILL_1”.
Por ser una variable de tipo BoolIO, debemos considerar la extensión “. Value”,
por lo que la variable conectada a la bobina de este Rung será
“STP_MILL_1.Value”
Quedando el tercer Rung de la siguiente forma:
225
A continuación se procederá la construcción del cuarto Rung, en el cual contiene
la lógica de la protección térmica, que en la maleta se representa a través del LED
amarillo (“OUT 2”) del semáforo 1, como indica la siguiente imagen.
226
Después se conecta la variable del siguiente contacto Normalmente abierto la
cual será el estado del relé térmico, debe estar conectado a la variable de tipo
BoolIO llamada “FAIL_T_MILL_1.Value”.
En este contacto tomara el estado del Switch designado en la maleta como “SW2”
227
Por lo tanto el cuarto Rung quedaría de la siguiente manera:
228
Quedando finalmente el Rung de la siguiente manera:
229
A continuación se procede a realizar una pequeña lógica, que está especialmente
pensada para obtener la visualización de algunos estados y la realización de la
acción partida desde HMI (Interfaz Hombre Maquina), esta programación se
realizará a través del lenguaje Texto Estructurado. Esta programación será útil en
la creación de las pantallas del proceso (en donde las pantallas se crearán en la
última Fase de nuestro proceso).
Se procede a crear otra nueva programación dentro del programa, para ello se
debe hacer click derecho sobre la pestaña inferior denominada “ENLACE_IO”, y
se selecciona “Insert”.
Y se abrirá una ventana en que nos pide en qué tipo de lenguaje de programación
se desea programar (del mismo modo que se realizó anteriormente), por esta vez
se realizara por el lenguaje que aparece por defecto. Se selecciona y se renombra
de “Code” por “ARREGLO_HMI”, y por último se hace un click izquierdo en “OK”.
230
En donde el ambiente de programación se mostrara de la siguiente manera:
En esta programación consiste en realizar dos instrucciones para las pantallas del
proceso, la primera instrucción controlará la visibilidad de la animación de la
velocidad de giro del molino SAG, es decir, si unas de las condiciones de
detención del molino, que pueden ser la detención de los motores, falla por el relé
térmico o por ausencia de tensión en el molino, la animación de la velocidad de
giro del molino en HMI se mostrará detenido y con lectura “0 RPM”, en caso
contrario deberá funcionar la animación y mostrando su respectiva velocidad.
Mientras que en la segunda instrucción consiste en que desde HMI se desenclave
la variable “START_MILL_1” una vez que el molino SAG ya haya iniciado su
partida, debido a que al momento de ejecutar la partida del molino SAG, la
variable queda activa en la programación de control, evitando que cuando se
desee detener el motor del molino, no tendrá efecto sobre él, permitiendo así, un
control eficiente desde sala de control (desde las pantallas).
231
Se procederá a realizar la primera instrucción, se utiliza la sentencia condicional
“if… then… end_if;” que nos permitirá que si las variables de detención o fallas
estén activos, modificará las lecturas de la velocidad de giro del molino SAG.
Cabe mencionar que este procedimiento es solamente para llevar una simulación
del proceso de forma más efectiva.
En primer lugar, se escribe una descripción para evitar confusiones entre
instrucciones en el lenguaje de texto estructurado, este comentario se escribe
como “(* descripción *)”, por lo que en la descripción se escribe como
“VISIBILIDAD DE VELOCIDAD EN PANTALLA” como se muestra a continuación:
Nota: Para dar una prioridad entre las variables, se deben escribir entre
paréntesis, en este caso, se utiliza dos variables dentro de un paréntesis con el
propósito de que la prioridad sea primero la variable de detención del molino o del
estado del relé térmico, por último y menos prioritario esta la presencia de tensión
del molino SAG.
232
Luego se escribe la variable de velocidad (“VEL_MILL_1.Value”) que sea igual a
cero, si cumple con una de las condicionantes descritas anteriormente y
finalmente se cierra el ciclo de la sentencia condicional, quedando en el texto
estructurado de la siguiente manera:
233
Por lo tanto, el programa general para la pantalla del proceso quedaría de la
siguiente manera:
234
Para finalizar la segunda Fase de programación del proceso, se realiza la última
programación, en la cual establecerá la indicación de alarma baja (bajo de 2 KPa)
y alta (sobre los 10 KPa) de presión de aceite en los descansos, a través de luces
pilotos que se encuentran en terreno y las alarma de la temperatura del estator
del molino SAG (sobre los 60°C).
235
Luego nos mostrará el ambiente de trabajo para lenguaje en texto estructurado.
Al igual que en la programación anterior se realiza dos instrucciones, una para las
alarmas alta y bajas de presión de aceite en los descansos del molino y otra para
la alarma de temperatura alta del estator del molino
Si está por debajo de los 2 [KPa] o está sobre los 10 [KPa], en terreno se debe
indicar con el piloto de indicación de presión de aceite alto, designado en la tarjeta
DO820 con la variable de tipo BoolIO “PRES_FAIL_MILL_1.Value”, que en la
maleta se representa a través del “OUT 4” en el semáforo 2.
236
Si el valor de la presión de aceite, se encuentra entre los 2 y 10 [KPa], se debe
encender accionar la variable de tipo BoolIO denominado
“PRES_OK_MILL_1.Value”, que en la maleta se representa como “OUT 5” en el
semáforo 2, como muestra la imagen.
237
Por lo tanto si el valor de la temperatura simulada por el potenciómetro VR1,
sobrepase a los 60°C, deberá activarse la variable de tipo Bool asignada a la
indicación de alarma alta de temperatura, denominada “ALARM_TEMP”, si el
valor de la temperatura simulada se encuentra por debajo de los 60°C, la variable
“ALARM_TEMP” deberá permanecer desactivada.
238
Luego, se procede a realizar click izquierdo en “Check” ( ) se debe indicar si
existen errores, para que el programa se encuentre 100% bueno, el diagnostico
debe mostrar ningún error, en caso contrario, es obligatorio corregirlos.
239
2.4.3 Fase 3: Simulación en Control Builder y comprobación de la
lógica creada.
240
En donde se abrirá una ventana emergente, indicando el análisis del modo de
prueba, indicando el hardware y sus características, se hace click en “Continue”.
Luego se abrirá otra ventana emergente, indicando las advertencias que ocurren
durante la complicación del programa, en este caso se mostraran dos
advertencias, indicando que no se están utilizando dos variables de tipo BoolIO,
que son “TEMP_AMB” y “TON_MILL_1”, debido a que esas variables
corresponden a los instrumentos de la PT100 y del potenciómetro que simula la
carga del material en el molino que solo se utilizó para obtener lecturas en
terreno.
Dado que no son errores, se procede en hacer click izquierdo en “Continue”.
241
Y entrara en modo de prueba, se tiene que observar que en el panel de mensajes
indique que se inicializo como modo de prueba.
242
Y se abrirá la declaración de las variables globales.
243
Lo primero a comprobar es el funcionamiento del control del Molino SAG, se
cambiara los estados desde la ventana de las variables globales, y se visualizará
sus estados en la programación, la primera variable en comprobar será el estado
“PWR_OK”, que es la señalización de presencia de energía en el molino en
terreno, en donde la variable que representa al sensor de tensión es
“STAT_PWR_1”, para ello se debe expandir las opciones de esta variable, porque
corresponde a una variable de tipo BoolIO. Se procede el cambio en “Value” de
“False” a “True”, como se muestra la siguiente imagen:
244
Luego se dirige hacia la ventana de programación del molino SAG, se hace click
en la pestaña de “ENLACE_IO” se verá reflejado los mismos estados, además de
indicar de primera instancia que el molino se encuentra detenido, activando la
variable de tipo Bool “STP_MILL_1”.
245
Luego se abre la ventana del programa y se visualizará el estado en la pestaña
“CONTROL_MOLINO”, en donde nos indica que el molino se encuentra
funcionando.
Después se cambiara el estado del Relé térmico para comprobar si la falla térmica
detiene el funcionamiento del molino, en donde el relé térmico se representa con
la variable de tipo BoolIO llamada “FAIL_T_MILL_1”, en donde se cambia la
extensión “Value” de “False” a “True”.
246
Donde en la variable de tipo BoolIO que representa al piloto del estado del relé
térmico llamado “STAT_OL_FAIL_1”, cambiara su estado de forma automática de
“False” a “True”
247
Donde el estado de las variables de la pestaña “CONTROL_MOLINO” muestra
que se encuentra accionada la variable de detención del molino, denominado por
la variable “STOP_MILL_1”
248
Luego se abrirá la ventana de conexiones que posee el host con respecto a las
subscripciones de los instrumentos Fieldbus.
249
Para poder simular las variables de los instrumentos, se debe forzar la señal, para
poder modificar las lecturas y revisar las acciones del programa del Molino SAG.
Por lo que se simulará la variable de la medición de la presión de aceite, de
acuerdo a esto se fuerza la variable “Process_Inacap:PRES_MILL_1” y se
procede a la comprobación de las alarmas de las presiones de aceite en los
descansos del molino SAG.
250
Luego se vuelve a revisar en el mismo programa y se observa los siguientes
estados:
Por último se cambia el valor de variable de “5.0” a “11.0”, haciendo click sobre el
valor de la variable y se escribe el número “11.0”.
251
A continuación se realizara la comprobación de la alarma alta de temperatura, la
cual consiste en que si la lectura obtenida desde potenciómetro “VR1”,
denominada con la variable “TEMP_MILL_1” en la maleta de entrenamiento,
sobrepasa los 60°C, se debe activar una variable que será la indicación de
temperatura alta en la pantalla del proceso.
252
Una vez realizado el cambio, el programa deberá actuar de la siguiente manera:
253
Luego, se deben forzar dos variables desde la ventana del Host, que son
“FAIL_T_MILL_1” (estado del relé térmico), “STAT_PWR_1” (Estado de presencia
de tensión en el molino) y “VEL_MILL_1.Value” (lectura de velocidad de giro en el
molino) también simular el estado desde las variables Globales, la variable a
modificar es “STOP_MILL_1.Value” (estado de detención del molino).
Se procede a forzar la señal en el Host, la variable “VEL_MILL_1”, intercambiando
su valor de “0.0” a “5.0”
254
Al cambiar el estado de la variable ya mencionada, se activará,
”STP_MILL_1.Value” (estado del piloto del molino detenido), y cambiará de forma
automática el valor de “5.0” a “0.0”
Del mismo modo se realiza la comprobación por falla de relé térmico, volviendo al
estado en que el molino se encuentra funcionando.
255
Al cambiar el estado de la variable “FAIL_T_MILL_1”, se activará la variable
“STAT_OL_FAIL.Value” (estado del piloto del molino detenido), y cambiará de
forma automática el valor de “5.0” a “0.0”
256
Para realizar la comprobación, se fuerza la señal desde el Host a la variable
“STAT_PWR_1”, cambiando la variable de estado de “False” a “True”
257
Como se observa en la imagen anterior, la variable “STAT_PWR_1.Value” indica
ausencia de tensión, como existe un operador booleano NOT, la variable es
negada, es decir, que al momento de que se desactive el estado de presencia de
tensión en el molino en referencia al programa, adquirirá un estado de activación,
pero indicando ausencia y no presencia de tensión.
Con esta condición, la variable “VEL_MILL_1” cambiará su valor de “5.0” a “0.0”.
Por lo tanto, la corroboración del programa en general, se da por concluida.
Para salir del modo de simulación, se cierra las ventanas de las variables
Globales, hardware CI860 (Host) y la ventana de la programación del Molino.
Luego en la ventana principal de Control Builder se hace click en ( ).
258
2.4.4. Fase 4: Descarga de la programación al controlador AC
800M y creación de pantallas del proceso.
Con la creación del programa del proceso (funcionamiento del molino SAG), es
estrictamente necesario cargar el proyecto hacia el controlador AC800M, ya que
se deben obtener las lecturas desde los instrumentos de forma tangible (física) y
su programación operando en el controlador para poder realizar las dos HMI
solicitadas, complementando la creación de las pantallas con las interacciones en
el controlador.
259
Al ejecutar esta aplicación en la máquina virtual, se abrirá la ventana de
aplicaciones con la dirección IP del controlador (siendo la dirección
IP,”172.16.84.172”), que se mostrará con una cruz de color rojo. Se selecciona la
dirección IP del controlador y se hace click en “Connect”.
260
Y por último la tercera condición que se debe cumplir es observar si la
configuración de la dirección IP del controlador en Control Builder es coincidente
con la dirección IP en el OPC Server (descrito en la condición anterior), para ello
se observa expandiendo en “Controllers”, en la rama “Process_Inacap” como
muestra la siguiente Imagen.
261
Luego se indicarán las advertencias que se generan al realizar el sumario de la
compilación del programa, en esta ocasión se indica que existen dos variables
que se encuentran declaradas pero no se encuentran utilizadas en la
programación, esto debido a que estas variables son utilizadas con el fin de
obtener lecturas de proceso, pero no realizar un control con estas variables (
“TEMP_AMB” y “TON_MILL_1”). Para continuar con la descarga, se procede
realizando click en “Continue”.
262
Ya concluida la descarga, se procede a realizar la desconexión con el controlador,
se realiza este paso por el motivo de que el controlador se encuentra operativo
para realizar acciones y lecturas del proceso (Molino SAG). Para realizar la
desconexión se hace click izquierdo en el botón de desconexión ( ) ubicada en
la barra de herramientas superior de Control Builder.
263
Creación de pantallas de proceso (HMI)
En primer lugar se debe crear el Sitio del proceso, para ello, se debe ingresar al
explorador de planta (My E-plant), e ingresar en “Functional Structure”.
264
Después se abrirá la ventana de inserción de objetos, en donde se procede a
expandir la rama “Plant &Mill”, se vuelve a expandir en la sub-rama “Sites and
Áreas”, seleccionando la opción “Sites” nombrándose como “INACAP_MINERIA”.
Al finalizar, se hace click en “Create”.
265
Luego se abrirá la ventana de Inserción de objetos y se selecciona la opción
“Área”, nombrándose como “MOLINO_SAG”. Para terminar se hace click en
“Create”.
266
Después se abrirá la ventana de inserción de aspectos, el cual no muestra todos
los aspectos del sistema. Para observar todos los aspectos se debe hacer click
izquierdo en la casilla “Show all”.
267
Ya creado el elemento gráfico, se procede a añadir la pantalla, para ello, se debe
editar el aspecto recién creado, seleccionando “Molino_SAG”, se realiza click
derecho sobre él, y se selecciona en “Edit”.
268
Como el proceso consiste en el control del molino SAG, se procede a realizar la
imagen del molino. Primero se creara el cuerpo del molino, para ello en la ventana
de “ToolBoxes” se expande en el grupo “Shapes” y se selecciona la opción de
“Tank Body” y se procede a realizar el cuerpo del estanque en la zona de la
pantalla.
Después, se debe girar en 90° para dar la forma al cuerpo del molino, haciendo
click derecho sobre él, se selecciona en “Rotate” y se hace click en “Left”.
Luego se procede a insertar los detalles de los bordes del molino SAG, para ello,
se insertan otros dos cuerpos de estanques (“Tank Body”), pero con una distancia
mínima, esto se realiza en ambos extremos.
269
Después se vuelven a realizar mismo procedimiento para dibujar los descansos
del Molino SAG, estos deben tener la misma orientación que el cuerpo del molino
(Girado en 90°).
270
Después se inserta un rectángulo, en el mismo grupo “Shapes” se selecciona
“Rectangle”, y se dibuja en la parte inferior de la forma creada anteriormente.
271
Luego se selecciona todos los elementos creados y manteniendo presionado el
botón izquierdo del mouse, se mueven en conjunto con el cursor posicionándose
en el extremo izquierdo del molino SAG.
272
Ya finalizado el diseño del molino, se procede a insertar la animación de giro del
cuerpo del molino. Para ello se expande el grupo “Graphic Primitives” en
“ToolBoxes”, y se selecciona “Roll Animation”, ajustándose al cuerpo del molino
SAG sin incluir los bordes.
273
Se abrirá una ventana que es el editor de expresiones, este editor permite
establecer configuraciones de todo tipo.
274
Para acceder a las variables Globales desde el editor de expresión, se hace click
izquierdo en en “Process Data” ubicada en el costado izquierdo, luego se
selecciona “Control Structure”, mostrando las misma ramas indicadas cuando se
accede a la misma estructura de control desde el explorador de la planta.
275
La condición para que la animación opere será de acuerdo a si existe presencia
de tensión o no, la animación tendrá la velocidad de acuerdo al potenciómetro, en
caso contrario, la velocidad de animación será “0” (estará detenido). Para escribir
la condición, se elimina el número “10.” en el recuadro blanco ubicado en el
costado derecho del editor de expresiones.
276
Quedando de la siguiente manera:
277
Finalmente se hace click en “OK”, quedando en la ventana de propiedades la
sentencia hecha.
Luego se crean las animaciones para los descansos del molino, utilizando “Roll
Animation” sobre cada descanso del molino, ajustándose a su forma, el
procedimiento se realizará para un solo descanso, ya que el otro es exactamente
lo mismo.
278
Luego se cambia el tipo de animación, para hacer esto, desde la ventana de
propiedades en “Animation”, se hace click en ( ) y se selecciona “Lines”
279
Luego en la propiedad “Speed” se hace click en ( ), para establecer las
condiciones de la velocidad de animación.
280
Visualizándose en la ventana de propiedades de forma similar que la animación
anterior.
Después se realiza el mismo procedimiento para el otro descanso del molino SAG
quedando finalmente la figura del molino como se puede apreciar en la siguiente
imagen.
281
Ahora que se finalizó el diseño del molino SAG, se procede a insertar las casillas
de valores, que contendrán las lecturas de los instrumentos a visualizar en
pantalla, Antes de realizarlos, para obtener una mejor apariencia y un orden se
procede a insertar los “Groupbox”, donde se visualizarán las lecturas de los
sensores a través de Fieldbus Foundation.
282
Luego se cambiara el tamaño de la letra del encabezado del Groupbox, para ello,
en la ventana de propiedades en “Font”, se hace click en ( ), y mostrara más
opciones de edición para el tipo de letra, tamaño, etc. Se cambia el valor de
“Size” de “13” a “9”.
283
Luego la disposición de cada Groupbox que tendrá en la HMI, será la siguiente:
284
Lo primero que se debe realizar es cambiar el color de fondo del grafico de
tendencias, ya que no será muy visible al momento de trazar las líneas según la
lectura, para ello, desde la ventana de propiedades, en la opción de
“BackGroundColor” se cambia haciendo click izquierdo en la casilla blanca donde
muestra el color por defecto del color de fondo del grafico
“ARGB(200,210,210,210)”, escribiendo “LightYellow” al finalizar, se presiona
Enter.
Luego, se procede a dar un objetivo de lectura para que muestre las tendencias
de medición, para ello, desde la ventana de propiedades, en “Trace Current
Value” y se hace click en ( ),
285
Se abrirá el editor de expresiones, en la cual se debe buscar la señal de Fieldbus
Foundation desde el instrumento 848T, en el bloque nombrado como
“FF_PIT_MILL_1”. Para buscar la señal FF, se debe expandir en la rama “Control
Structure” > “ENTRENAMIENTO” > “LDE” > “LDE_H1-1” > “FF_848T” y se
selecciona “FF_PIT_MILL_1”, seleccionando con doble click en el aspecto
“OUT.Value”, como muestra la siguiente imagen.
286
Después se procede a cambiar los valores mínimos y máximos para el grafico de
tendencias, la cual se cambiara el valor máximo primero, desde la propiedad
“Trace01MaxValue” se cambia el valor “100” a “12” (valor máximo de presión en el
molino SAG), haciendo click en la casilla en blanco y modificando su valor.
Del mismo modo se procede con los valores mínimos, cambiando de “-100” a “0”
287
Mostrando el grafico de tendencia de la siguiente manera:
288
Se abrirá el editor de expresiones, donde se debe buscar la señal de Fieldbus
Foundation desde el instrumento 848T, en el bloque nombrado como
“FF_WIT_MILL_1”. Para buscar la señal FF, se debe expandir en la rama “Control
Structure” > “ENTRENAMIENTO” > “LDE” > “LDE_H1-1” > “FF_848T” y se
selecciona “FF_WIT_MILL_1”, seleccionando con doble clickel aspecto
“OUT.Value”, como muestra la siguiente imagen.
289
Se configura el mismo parámetro de color de fondo, y cambiando los valores
máximos y mínimos que el grafico de tendencias grafique desde “0” a “50”
290
Luego se procede a introducir una etiqueta o “Label” para insertarlos dentro del
Groupbox “PARAMETROS”, se procede desde el Toolbox, expandiendo el grupo
“Classic Symbols” y se selecciona “Label”, emplazando el label dentro del
Groupbox.
291
Mostrando el Label de la siguiente forma.
292
Para finalizar la edición del Label, se procede a cambiar el color de fondo, para
ello, en la ventana de propiedades, se cambia la opción de “FillColor”, haciendo
click en la casilla de color blanco, reescribiendo el contenido por defecto por la
palabra “transparent”.
Del mismo modo, se procede a insertar dos Label adicionales con las mismas
propiedades, donde uno debe indicar el nombre de “TEMPERATURA ESTATOR”
y el otro Label con el nombre de “CARGA MATERIAL”, tendrá la siguiente
disposición como se ilustra en la siguiente imagen:
293
Después se procede a agregar las lecturas desde instrumentos, para ello se debe
expandir desde Toolbox, el grupo “Satrndard Symbols” y se selecciona “Value”.
Se emplazara por debajo del Molino SAG.
294
Luego se procede a establecer la variable Global que mostrará las mediciones de
velocidad del Molino SAG, se selecciona en la ventana de propiedades en “Value”
y se hace click en ( ), a lo cual se abrirá el editor de expresiones. Se expande en
“Process_Control_Network” > “Ejercicios_resueltos” > “Applications” >
“Process_Inacap”, luego se selecciona realizando doble click en el aspecto de la
variable “VEL_MILL_1.Value”. Para terminar se hace click izquierdo en “OK”.
295
Después se procede a realizar la adición de tres casillas “Value”, que serán
insertadas dentro del Groupbox “PARAMETROS”, emplazándose por debajo de
los Label creados anteriormente y en el Groupbox de “temperatura ambiente,
quedando la disposición como muestra la siguiente imagen:
296
Luego, se procede a dar un objetivo de lectura para que muestre las tendencias
de medición, para ello, desde la ventana de propiedades, en la propiedad “Trace
Current Value” y se hace click en ( ).
297
En donde el casillero “Value” de la presión de aceite del Molino, se mostrará de la
siguiente forma:
298
Luego, se procede a dar un objetivo de lectura para que muestre las tendencias
de medición, para ello, desde la ventana de propiedades, en la propiedad “Trace
Current Value” se hace click en ( ).
299
El casillero “Value” de la temperatura del Estator, se mostrará de la siguiente
forma:
300
Luego, se procede a dar un objetivo de lectura para que muestre las tendencias
de medición, para ello, desde la ventana de propiedades, en la propiedad “Trace
Current Value” y se hace click en ( ).
301
El casillero “Value” de la carga de material del molino SAG, se mostrará de la
siguiente forma:
302
Luego, se procede a dar un objetivo de lectura para que muestre las tendencias
de medición, para ello, desde la ventana de propiedades, en la propiedad “Trace
Current Value” y se hace click en ( ).
303
El casillero “Value” de la temperatura ambiente, se mostrará de la siguiente forma:
304
Se cambian las propiedades del texto, cambiando su color de fondo, sus bordes,
tamaño color de fuente. En la ventana de propiedades, se reescriben las
propiedades de “FillColor” de “Gray” a “Red”, del mismo modo se procede con la
propiedad “FrameColor”, como indica la siguiente imagen.
305
El último paso que queda es dar la condición de visibilidad de la alarma, que
consiste en, si se desactiva la presencia de tensión (Variable global denominada
“STAT_PWR_1.Value”), se mostrará la alarma, en caso contrario, no lo hará. Para
establecer la condición de visibilidad, se cambia en la propiedad “Visible”
haciendo click en ( ).
306
Al finalizar la primera línea, se continua escribir la sentencia, escribiendo
“… False else True”, como indica la imagen.
307
Finalmente el Texto se mostrara de la siguiente manera:
Luego se procede a la creación de los textos para las siguientes alarmas, que
son las alarmas de detención del molino, presión baja, presión alta, alta carga de
tonelaje en el material del molino SAG y de temperatura alta del molino SAG,
teniendo la siguiente disposición:
308
Quedando su apariencia como muestra la siguiente imagen:
309
En donde la alarma desaparece de la pantalla, esto es debido a que la variable no
está activada.
310
En donde la alarma desaparece en la pantalla, otra vez, debido a que la variable
no está activada.
311
Otra vez, la alarma desaparece en la pantalla debido a que la variable no está
activada.
312
De nuevo, la alarma desaparece en la pantalla debido a que la variable no está
activada.
313
La alarma en este caso aparece en la pantalla, esto es debido a que la variable
está activada, bajo la instrucción indicada en el editor de expresión.
314
Por lo que las modificaciones en la ventana de propiedades se mostraran de la
siguiente manera:
315
Una vez realizados las modificaciones de las propiedades del “Toggle Button”,
tendrá la apariencia como se muestra en la siguiente imagen.
316
Se abrirá el editor de expresiones, en el cual se expande
“Process_Control_Network” > “Ejercicios_resueltos” > “Applications” y se
selecciona “Process_Inacap”, seleccionando con doble click la variable Global
“PE_MILL_1”. Para finalizar se realiza click “OK”.
Una vez realizadas las modificaciones de las propiedades del “Toggle Button”,
cambiará su apariencia como se muestra en la siguiente imagen.
317
Para finalizar la pantalla se procede a insertar otro tipo de botón que permitirá
intercambiar las pantallas, este botón es llamado “Aspect Button”.
Antes de realizar este último botón es estrictamente necesario crear una nueva
pantalla o Faceplate, Para ello, en Functional Structure, se hace click derecho en
“MOLINO_SAG, Área”, se selecciona “New Aspect”.
318
Y se mostrará el Faceplate con el nombre asignado.
319
Luego se cambia la propiedad de “Text” cambiando el nombre de “Aspect View” a
“Control Molino SAG”
320
Se abrirá el editor de expresiones, en “Process Data” se selecciona el botón
“View”, señalado por el icono ( ).
321
En donde el botón de aspectos se mostrara en la pantalla como se indica en la
siguiente imagen.
322
Para comenzar el diseño de la segunda pantalla, desde el explorador de la planta,
se procede a realizar click derecho soble el Faceplate “Control Molino SAG”
323
El primer elemento grafico a insertar, será un gráfico de tendencias concerniente
a la velocidad de giro del molino, para insertar dicho gráfico, desde “Toolboxes” se
expande el grupo “Charts”, y se selecciona “Trend
324
Luego se continua a insertar una variable donde se plasmará la representación
gráfica del comportamiento, para ello, se debe hacer click en ( ) en la propiedad
“TraceNormValue”, en donde se abrirá el editor de expresiones, en el cual se
expande “Process_Control_Network” > “Ejercicios_resueltos” > “Applications” y se
selecciona “Process_Inacap”, seleccionando con doble click la variable Global
“VEL_MILL_1.Value”. Para finalizar se realiza click en “OK”.
325
Continuando con el diseño de la pantalla, se procede a insertar tres barras de
indicación, su disposición se encontrará en el costado derecho del gráfico de
tendencias, para insertar las barra de indicación, desde toolboxes, se expande el
grupo “Graphics Primitive” y se selecciona el elemento “Range Bar”, emplazando
cada una (señaladas con números del 1 al 3), como se muestra la imagen:
326
Después Se procede a asignar los parámetros que deben reflejarse en las Barras,
para ello se procederá para cada Item, en el caso de la Barra (1), en la propiedad
“BarValue”, se debe hacer click en ( ), se abrirá el editor de expresiones, en el
cual se expande “Process_Control_Network” > “Ejercicios_resueltos” >
“Applications” y se selecciona “Process_Inacap”, seleccionando con doble click la
variable Global “TEMP_MILL_1.Value”. Para finalizar se realiza click en “OK”.
327
Del mismo modo, se procede para el caso de la Barra (2), en la propiedad
“BarValue”, se debe hacer click en ( ), donde se abrirá el editor de expresiones,
en el cual se expande “Process_Control_Network” > “Ejercicios_resueltos” >
“Applications” y se selecciona “Process_Inacap”, seleccionando con doble click la
variable Global “PRES_MILL_1.Value”. Para finalizar se realiza click en “OK”.
328
Por Ultimo, se procede para el caso de la Barra (3), en la propiedad “BarValue”,
se debe hacer click en ( ), donde se abrirá el editor de expresiones, en el cual se
expande “Process_Control_Network” > “Ejercicios_resueltos” > “Applications” y se
selecciona “Process_Inacap”, seleccionando con doble clck la variable Global
“TON_MILL_1.Value”. Para finalizar se realiza click en “OK”.
329
Después se procede a insertar las escalas de los valores máximos y mínimos
para cada barra, para ello, desde Toolboxes, en el grupo Graphics Primitives”, se
selecciona el elemento “Scale Vertical”, emplazando en el borde izquierdo de una
barra, insertada anteriormente, esto se debe realizar para cada barra, como se
muestra en la siguiente imagen.
330
Para la escala vertical (2), se realizan los cambios para las lecturas de presión en
los descansos del molino, en donde su rango corresponde desde 0 a 12 KPa,
para modificar estos rangos, se modifica la propiedad “EndValue” reescribiendo
de “100” a “12”:
Para la escala vertical (3), se realiza los cambios para las lecturas de carga de
material en el molino, su rango es de 0 a 50 Ton., para modificar estos rangos, se
modifica la propiedad “EndValue” reescribiendo de “100” a “50”. Por lo que la
apariencia general de las barras se muestra en la siguiente imagen.
331
Se procede a identificar cada barra, con su correspondiente unidad de medida,
para ello, desde Toolbox, se expande el grupo “Classic Symbols”, seleccionando
el elemento “Label”, y se coloca en la parte inferior de cada barra.
332
Cambiando su apariencia como se muestra en la siguiente imagen.
333
Luego se procede cambiar el título del Groupbox, desde la ventana de
propiedades, cambiando la propiedad de “Caption”, reescribiendo
“GroupBox” a “Control Motor”.
334
Luego se procede a inserta tres botones, que serán los botones que
comandara el motor del molino SAG. Se inserta el primer botón, desde
“Toolboxes”, se expande el grupo “Buttons” y se selecciona el elemento
“toggle Button”, ubicándose dentro del Groupbox “Control Motor”, como
indica la siguiente imagen.
335
Por lo que las modificaciones en la ventana de propiedades se mostraran
de la siguiente manera:
336
Una vez realizados las modificaciones de las propiedades del “Toggle
Button”, se procede a cambiar la última propiedad, que es asignar una
“Variable Objetivo”, el fin de este botón permite que al accionarse (hacer
click sobre el) cambia el estado de una variable, quedando enclavada hasta
que se vuelva a accionar, y su valor cambiara a su estado inicial. Para
asignar una variable objetivo, en la propiedad “Target”, se hace click en (
).
337
Una vez realizados las modificaciones de las propiedades del “Toggle Button”,
cambiará su apariencia como se muestra en la siguiente imagen.
338
Se abrirá el editor de expresiones, en el cual se debe hacer click en “Resources”,
específicamente en “Images” señalado con el icono ( ). Y se expande en el
aspecto de “Standard Symbols”, como indica en la siguiente imagen.
339
Después se realiza el mismo procedimiento anterior para la propiedad
“DownImage”.
Luego se realiza los cambios en la propiedad “Target”, haciendo click en ( ).
340
Por lo que el “Toggle Button”, cambia su apariencia.
341
Se abrirá el editor de expresiones, en el cual se debe hacer click “Resources”,
específicamente en “Images” señalado con el icono ( ). Y se expande en el
aspecto de “Standard Symbols”, Buscando la imagen “StopOff”, se selecciona con
doble Click sobre la imagen, y para finalizar, se hace click en “Ok”.
343
Luego se procede a insertar un piloto de estado del motor, en la cual desde
Toolboxes, se expande el grupo “Shapes”, seleccionando el elemento “Ellipse”,
emplazando en el costado derecho del botón derecho Stop, como indica la
imagen.
344
En donde se abre el editor de expresiones, se abrirá el editor de expresiones, en
el cual se expande “Process_Control_Network” > “Ejercicios_resueltos” >
“Applications” y se selecciona “Process_Inacap”,, en la expresión se escribe “IF”,
luego se selecciona con doble click en la variable Global “START_MILL_1”.
345
Quedando la elipse de color rojo, mientras que si se activa el estado marcha al
molino, esta elipse cambiará de color a verde.
346
Luego se cambian las propiedades de “FillColor” reescribiendo de “$'Process
Graphics 2 Colors:SymbolFillColor'” a “Transparent” y en la propiedad “Label” se
reescribe de “Label” a “Estado Motor”, quedando como resultado la siguiente
imagen.
347
Luego se cambia la propiedad de “Text” cambiando el nombre de “Aspect View” a
“Volver”.
348
Después se debe expandir “Functional Structure” > “INACAP_Mineria” > “MOLINO
SAG”, en donde se expandir el grupo de aspecto “MOLINO SAG”, seleccionando
con doble click en “Main View”. Para finalizar se realiza click en “Ok”
349
El último paso, consiste en agregar un “Label”, que muestre el nombre del
faceplate, para ello desde Toolboxes, se expande el grupo “Classic Symbols” y se
selecciona el elemento “Label”., emplazándose en la parte superior de la pantalla.
Para editar las propiedades del “Label”, se sobreescriben dos propiedades que
son “FillColor”, que se cambia de “$'Process Graphics 2 Colors:SymbolFillColor'” a
“Transparent”, después en la propiedad “Font” se cambia la propiedad “Size” se
“12” a “20” y por último en la propiedad “Label” se cambia de “Label” a “MOLINO
SAG”.
350
Quedando finalmente el Faceplate como se muestra en la siguiente imagen.
Al terminar esta pantalla, se da por concluido la fase 4 y con el control del Molino
SAG.
351
Capítulo 3
Planta de medición de caudal en canal abierto
3.1. Abstract
Como se ha visto en los capítulos anteriores, las experiencias apuntan hacia el
control y diseño de procesos vistos en la vida real, pero solo se llega hasta la
simulación, es por eso que en este capítulo se realizará un acercamiento a lo que
es un proceso real, utilizando una planta de Medición de flujo en canal abierto, la
cual consta con diferentes instrumentos que se trabajan a nivel industrial como:
Dos bombas de alimentación monofásicos
Dos sensores ultrasónicos
Un flujo metro electromagnético
Una válvula de control (el cual no se encuentra operativa, por lo que se
omitirá en este capítulo).
El objetivo de este capítulo, al igual que el anterior, es crear una lógica de control
para el modulo con la ayuda de Control Builder, poder observar las mediciones de
los instrumentos con Fieldbus Builder y la creación de pantallas con Process
Graphics, con la diferencia que en este módulo se cuenta con lo que sería un
proceso real tangible.
El capítulo se dividió en cuatro fases,
1ra Fase: consiste en el reconocimiento de la planta, funcionamiento y sus
componentes.
2da Fase: Consiste en la integración de los instrumentos de la planta
utilizando Fieldbus Builder, configuración de sus bloques FF, y la creación
de señales FF, desde las cuales se obtendrán las lecturas desde el sistema
800XA.
3ra Fase: consiste en la creación de la lógica para el control de las bombas
local y remoto, además de integrar las tarjetas I/O presentes en la maqueta
al proyecto de programación de Control Builder.
4ta Fase: se realiza el diseño de la HMI a través de Graphics Builder, en
que se obtienen las lecturas procedentes de las señales FF, tener el control
de las dos bombas en modo remoto, además de la visualización los
estados de funcionamiento de cada Bomba de impulsión, terminando así
con la puesta en marcha de la Planta OCM.
352
3.2. Fase 1: Levantamiento de la planta de Medición de caudal en
canal Abierto OCM.
La planta contiene dos bombas que impulsan el fluido a un caudal inicial casi
constante desde un estanque hacia un segundo estanque (estanque de
trasvasije), en donde por efecto de la gravedad el agua circula a través del aforo
(primer punto de medición de caudal), luego circulando a través del tubo de tipo
HDPE de 140 mm de diámetro, en donde se encuentra el segundo punto de
medición de caudal, retornando el agua al primer estanque.
353
Además, presenta dos sensores ultrasónicos Endress + Hauser modelo FMU40,
estos sensores son los instrumentos que realizaron las mediciones ambos puntos,
parametrizado para lograr una lectura de caudal y no nivel.
La planta cuenta con dos bombas de impulsión, una bomba monofásica marca
Humbold, y otra bomba monofásica de marca Pedrollo de 0.75 KW, con una
capacidad de transferencia de fluido de 115 l/min.
Fig. 3. 3 Bombas.
354
También presenta un flujometro electromagnético Endress + Hauser modelo
Promag P, en la que realiza la medición de flujo de agua proveniente de las
bombas de impulsión por protocolo Fieldbus Foundation.
Fig. 3. 5 Megablock.
355
Y por último posee un “Cluster Modem” para Fibra óptica, marca ABB, en conjunto
con dos tarjetas de entradas digitales marca ABB modelo DI 820 y una tarjeta de
salida digitales, marca ABB, modelo DO 820
356
3.3. Fase 2: Integración De Librerías FF
Lo primero que se debe hacer antes de continuar con esta fase, es tener
comunicación con los instrumentos fieldbus del módulo utilizando la maleta, es
necesario conectar el cable de fieldbus desde la maleta hacia el modulo. El
conector para este cable fue añadido a la maleta y al módulo, siendo en este
último añadido con conexión en paralelo, debido a que la tesis de la Estación de
ingeniería también debe conectarse al módulo y esta cuenta con otro conector
totalmente diferente.
Advertencia: No se debe por ningún motivo conectar los dos cables al mismo
tiempo, ya que de hacerlo pude causar problemas graves. Solo se debe conectar
uno a la vez, como se muestra a continuación:
357
En esta parte del capítulo 3 se verá la integración de los instrumentos Fieldbus
Foundation presente en la maqueta de medición de caudal en canal abierto, los
cuales no se han declarado, por lo que en nuestros sistemas no se encuentran
disponibles.
Para poder realizar la instalación de los drivers de los instrumentos es necesario
descargar las librerías (drivers), pero ya que la máquina virtual cuenta con estas
librerías no será necesario hacerlo.
Estas se encuentran ubicadas en el disco local C: > Device Descriptor
Al hacer doble click en esta carpeta, se pueden encontrar todas las librerías de los
instrumentos en la red HSE.
358
Cabe destacar que estos instrumentos ya se encuentran en línea, por lo que no
será necesario realizar modificaciones, excepto del instrumento 848T que cumple
con la función de manipular los potenciómetros lo cual ya se mencionó
anteriormente.
A su vez se integrarán dos instrumentos más que se utilizarán en la maqueta
(OCM), se utilizan 3 instrumentos que son:
Dos Prosonic M, siendo estos, sensores ultrasónicos modelo FMU40,
consta con un rango de medición aprox. de 10m y una zona muerta de
35cm desde la membrana del sensor hacia el punto de medición, si uno
mide en una distancia menor a 35cm el instrumento no realizara
mediciones precisas por lo que provocaría error en la lectura.
PROMAG 53, flujometro electromagnético utilizado para el valor de
referencia en cuanto a mediciones, ambos instrumentos tienen un sinfín de
especificaciones, en este caso no se utilizarán todas.
Como se mencionó anteriormente estas librerías ya se encuentran disponibles en
la máquina virtual, simplemente se deben instalar y establecer comunicación con
estos instrumentos.
Para agregar instrumentos fieldbus al sistema, se utiliza el programa My-eplant, el
cual proporciona todo tipo de gestión de nuestra planta, ya sea modificar
tendencias, pantallas, agregar, cambiar o quitar algún instrumento fieldbus, etc.
Fig. 3. 14 My ePlant.
359
Para insertar una librería, hacemos click en “Object type structure”.
Una vez dentro se expande el árbol, el cual contiene un sinfín de carpetas que se
pueden seleccionar y hacer diferentes tipos de cosas.
360
Volviendo a lo que se quiere realizar, nos ubicamos en FF libraries > FF H1
Device library > FF Management
Fig. 3. 18 FF libraries.
361
Una vez dentro tendremos el ambiente de trabajo, en el cual trabajaremos en la
parte inferior de esta ventana, como se muestra a continuación:
362
Una vez dentro procedemos a buscar las librerías:
363
Abrimos las carpetas:
Seleccionamos OK
364
Y se empezaría a instalar la librería…
365
Luego seleccionamos la carpeta del instrumento:
366
Hacemos doble click en el y luego OK, como se muestra a continuación:
367
Se hace click en el icono mostrado en el círculo rojo
Donde se mostrará una ventana, que nos dará la información de algún error o
precaución que se tenga:
368
Ya que no se generó ni un error por lo cual, se hace click en close, una vez que
salgamos de la ventana procedemos a guardar.
Fig. 3. 38 Guardar.
369
Hacemos click en FFLibraries > FFUpload y nos aparecerá lo siguiente:
370
Al aparecer el semáforo en rojo nos indicara que no se encuentra sincronizado las
modificaciones que hicimos de las librerías con respecto al sistema 800XA, por lo
tanto, precederemos abrir la pestaña library upload como se muestra a
continuación:
Luego hacemos click en Upload FF library, esto nos permitirá sincronizar los
cambios que se hizo desde fieldbus builder al sistema 800XA, es importante
destacar que cada vez que se haga una modificación se realice este paso, ya que
si no hacemos esta parte de la programación los cambios no tendrán ningún
efecto.
371
Fig. 3. 43 Actualizando sistema.
372
3.3.1. Creación de Red H1-2
Luego cambiamos la estructura a control structure > expandimos el root y nos
encontraremos con diferentes objetos relacionados a la estructura de control.
Hacemos click en entrenamiento, HSE subnet, lo que nos mostrara una vez más
el semáforo en rojo, el cual nos indica que las librerías no están actualizadas
desde la estructura de control, ya que cuando las actualizamos lo hicimos en
object structure.
373
Entonces para actualizarlo volvemos a repetir lo que hicimos anteriormente,
hacemos click en Library Update > Update Library
374
Ya actualizada las librerías procederemos a actualizar la red HSE, para proceder
a realizar los cambios procedentes.
375
Una vez actualizadas ambas, nos vamos a FF Management > Show object.. >
Edit subnet
Fig. 3. 53 FF management.
376
Para poder crear un nuevo segmento que sea netamente para la lectura de los
instrumentos desde la planta (OCM), debemos hacer doble click en el segundo
segmento como se muestra en la siguiente ventana:
377
La cual nos muestra el Linking Device que se encuentra presente en la maleta de
entrenamiento con un solo segmento habilitado (marcado en rojo) que
corresponde al canal FF-1 con los instrumentos ya habilitados de la maleta, para
insertar los instrumentos del módulo OCM procederemos a utilizar el canal FF-2,
para habilitar el segundo canal debemos hacer click en el siguiente segmento
como muestra la siguiente imagen:
378
Luego hacemos doble click y se nos abrirá la siguiente ventana:
379
Fig. 3. 61 Configuración del segmento.
380
Una vez terminado el cambio de nombre, procederemos a insertar los
instrumentos a la red H1, para acceder a los instrumentos nos vamos a la parte
de las librerías como se muestra a continuación:
381
Quedando como resultado lo siguiente:
382
Una vez inserto los 3 instrumentos nos quedaría como resultado lo siguiente:
383
Una vez dentro hacemos click derecho e insertamos una señal.
384
Luego expandimos FF_SCHED…, donde se mostrará la aplicación del tiempo de
agendamiento donde al hacer click en él se mostrará un nuevo ambiente de
trabajo.
La cual nos dará paso para insertar los bloques de funcionales a cada
instrumentó.
Nota: Para poder evitar cualquier tipo de confusión con los nombres de los
instrumentó se procede hacer lo mismo procedimiento anterior click en tag name y
cambiamos el nombre.
385
Ahora para realizar los bloques funcionales nos ubicamos en la parte de abajo
donde vemos los instrumentos y expandimos cada uno de ellos, en el cual nos
mostraran sus bloques.
386
Una vez que tenemos el bloque insertado, procedemos a darle un nombre por lo
que hacemos doble click y se nos abrirá la siguiente ventana donde le pondremos
el nombre:
387
Luego de esto crearemos una señal Fieldbus que nos permitirá las lecturas desde
el instrumento al sistema, la cual es llamada señal de escritura, para eso hacemos
click derecho > signal > write
388
Luego hacemos doble click y le asignamos un nombre, después hacemos click en
OK y nos aparecerá la siguiente ventana; la cual nos dará las opciones
procedentes.
Fig. 3. 79 Señal.
Una vez listo hacemos click OK, quedando como resultado lo siguiente:
Fig. 3. 80 Señal.
Para conectar ambos bloques, hacemos click derecho en la zona blanca > draw
line y procedemos a unir ambos pines.
389
Una vez que se dibuja la línea apretamos el botón Esc para así salir del modo
Draw line.
Y así del mismo modo procederemos hacer lo con los siguientes instrumentos,
quedándonos como resultado lo que se muestra a continuación:
Ya teniendo todo listo los bloques con sus respectivas señales es necesario
suscribir las señales hacia el HOST ya si no se suscribe a este el sistema no
tendrá lecturas de las señales.
Para eso nos vamos al host donde al hacer click se nos abrirá una ventana
preguntándonos si queremos guardar cambios por lo que seleccionamos yes.
390
Una vez que se hizo click en yes, se nos abrirá la siguiente ventana:
Luego hacemos click en tag name donde se nos abrirá una ventana donde
hacemos click en published/subscribed.
Fig. 3. 85 Published(Subscribed.
391
Y nos queda la siguiente ventana, en la cual aparecerán todas las señales
fieldbus ya publicada con respecto algún otro instrumento.
Para publicar las señales nuevas hacemos click derecho en la esquina de channel
y luego hacemos click en créate component tal y como se muestra a continuación:
392
Una vez hecho click en él se mostrará inserta la señal que queremos.
393
Luego hacemos click en la primera señal y seleccionamos OK, quedándonos
inserta en el cuadro rojo.
Y así del mismo modo procederemos hacer lo con las siguientes señale.
394
Luego hacemos click en SAVE y OK.
Fig. 3. 92 Guardar.
395
Una vez listo esto procedemos a chequear como lo hicimos anteriormente,
hacemos click en check y esperamos a que analice.
Fig. 3. 93 Verificación.
Fig. 3. 94 Errores.
396
Nos vamos a la ventana principal y volvemos hacer el procedimiento principal del
semáforo.
Fig. 3. 95 Actualizar.
Hacemos click en upload HSE Subnet y nos quedaría como resultado lo siguiente:
397
3.3.2. Puesta en línea de instrumentos fieldbus en módulo de canal
abierto
Para poder observar las mediciones de los instrumentos fieldbus, estos se deben
poner en línea, es decir, tener conexión directa con los instrumentos para poder
observarlos en vivo.
Una vez cargadas las librerías de los instrumentos que se tienen en el módulo de
canal abierto, en My-Eplant hay que dirigirse en Control Structure a
FF_Management:
Fig. 3. 97 My ePlant.
398
Una vez seleccionado “Edit Subnet”, se abrirá la plataforma de Fieldbus Builder
Una vez finalizado el chequeo aparecerá una ventana la cual indica si existe algún
error, de no haber errores se presiona el botón “Close”, luego se guarda con el
botón a un costado del usado para hacer el chequeo.
399
Antes de ingresar al modo comisionamiento, se puede observar algunos
elementos con unas flechas negras, estos son los elementos que se deben
actualizar:
400
Una vez en modo comisionamiento, el sistema comenzará a identificar los
elementos que se encuentran en comunicación con este, por lo que se muestran
en rojo esperando respuesta:
Esto es, con excepción de los elementos recientemente agregados, los cuales
aún se visualizarán en rojo, debido a que el sistema no los reconoce de momento.
401
Lo primero que se debe hacer es actualizar los parámetros con el servidor OPC,
para ello debemos seleccionar el servidor OPC con click derecho a lo cual se abre
un submenú, luego en ese menú hay que dirigirse a “Object” y “Download”, se
abrirá una ventana que se cerrará una vez terminada la descarga, en la imagen
se muestra como realizar la descarga:
Luego se debe actualizar el Linking Device, para ello se debe seleccionar este
dispositivo el cual se puede identificar por las siglas “LDE” en el árbol, click
derecho, luego “Object” y “Linking device initialization and address assignment”
402
Aparecerá una ventana con advertencias en la cual se deber hacer click en
“Continue” para actualizar:
403
3.3.3. Asignación y carga
Ahora se procede con la asignación y carga de parámetros de cada
instrumento que se encuentre en rojo, ya que el proceso es el mismo para
todos los instrumentos, solo se explicará para uno de ellos.
Comenzando con la asignación del instrumento denominado “LIT-003”, se debe
seleccionar con click derecho luego “Object” y “Assign device”, asi como se
muestra en la imagen:
404
Una vez hecho esto se debe seleccionar el instrumento que tenga el mismo TAG,
es decir el “LIT-003” de la lista, haciendo doble click:
405
Para la carga de los parámetros, se procede de la misma forma que para la
asignación, click derecho sobre el instrumento, “Object” pero ahora se
selecciona “Online Dialog”
406
Una vez en esta pestaña, se deben realizar los siguientes cambios antes de
cargar los parámetros, en la sección “Device Configuration Download” se debe
dejar marcada la opción “Incremental Download”, y la sección “Block
Parameters Download” se debe marcar “Changed Parameters”, asi como se
puede observar en la siguiente imagen:
407
Ya presionado el botón “Continue” comenzara con la carga de los parámetros,
en la siguiente ventana se puede observar el progreso de la carga:
408
Para comprobar que el instrumento se encuentra en línea con el sistema, se
debe observar que los bloques del instrumento tengan “Automatic (Auto)”
Caso contrario, debería salir “Out of Service” lo cual indica que uno de los
parámetros se encuentra erróneo.
La asignación y carga de los dos instrumentos restantes se hace exactamente de
la misma forma, tomando en cuenta que al momento de la asignación se deben
seleccionar los TAGs correspondientes, siendo en este caso “LIT-004” y “FIT-001”
los que al asignarlos se deben asignar con sus respectivos TAGs en la lista de
elementos.
409
3.3.4. Comprobación del estado en línea de los instrumentos
Para estar seguros de que los instrumentos se encuentran en línea, se puede
revisar yendo a “FF_SCHED”
Aquí se puede observar la lectura en vivo de los instrumentos, con solo posicionar
el mouse sobre la línea de cada instrumento, luego de unos momentos aparece
un cuadro de dialogo con los valores reales que el instrumento está leyendo:
410
Esto es aplicable para los tres instrumentos presentes en la red. Una vez
terminada la comprobación, se procede a salir del modo comisionamiento
411
Una vez finalizada la carga, el semáforo cambiará a verde
412
3.4. Fase 3: Lógica de control en Control Builder
Haciendo esto se tendrá acceso a las tarjetas I/O, a las que se les puede hacer la
carga de las lógicas para el control del proceso.
Como ya se ha visto el proceso de creación de lógicas en capítulos anteriores,
ahora solo se procederá a explicar el funcionamiento de un programa ya creado.
Los lenguajes a utilizar en este programa son Ladder y Texto estructurado, con
los que se deberá realizar un control local y otro remoto, a través de una HM
utilizando Process Graphics en el caso del control remoto.
Este control cumple la función básica de poner en marcha una de las dos
bombas, para luego hacer mediciones con los instrumentos que se encuentran
presentes en la maqueta de canal abierto.
Lo que se pretende con este proceso, es condensar todo lo aprendido
anteriormente y ponerlo en práctica.
413
a) Comienzo del desarrollo del proceso (creación de Lógica):
Para comenzar con el desarrollo de este proceso, es necesario plantear los
cimientos de este, siendo la creación de una lógica la base de todo proceso de
automatización, es decir, la declaración de variables a utilizar dentro del programa
414
Primero se debe llegar hasta ModuleBus en control builder, luego click derecho y
presionar “Insert Unit”
415
A lo cual se abrirá la siguiente ventana, donde se buscará por dos tarjetas “DI820”
y una “DO820” y se insertan en las posiciones 101, 102 y 103, siendo la ultima la
“DO820”.
416
Terminando con esto, se deben ingresar las variables del programa a cada una de
las tarjetas. El orden en que estas variables deben ser ingresadas no puede
cambiar, debido a que el circuito eléctrico es uno solo, si se ubican las variables
en canales diferentes la lógica (independientemente si está bien realizada) no
funcionará:
DI820 en la posición 101, para el control de la Bomba 1:
417
DO820 en la posición 103, señal de salida para la activación de las
bombas:
418
Explicación de la estructura del diagrama ladder
419
Lógicas de control de sub-procesos en texto estructurado:
1) Selector
2) Parada de Emergencia:
420
3) Botones de HMI
Esta estructura fue diseñada para el control remoto a través de HMI, sirve
para que los botones no se mantengan activos una vez presionados.
- Start de la bomba 1, si se cambia su estado a “TRUE”, inmediatamente
después de activarse la bomba 1, este deberá cambiar su estado a
“FALSE”, lo mismo ocurre con el Start de la bomba 2.
- Si la bomba 1 no se encuentra activa, el Stop de la bomba 1 deberá
permanecer en estado “FALSE”, siendo el contacto normalmente cerrado
en el Ladder, mismo caso con el Stop de la bomba 2.
421
3.4.1. Comprobación del funcionamiento de la lógica:
Se configura el modo simulación para comprobar que la lógica funcione según lo
esperado.
El funcionamiento de ambas bombas es el mismo, por lo que se omitirá la
explicación de la segunda bomba, a excepción del bloqueo para que ambas
bombas no funcionen al mismo tiempo.
Al momento de entrar al editor en donde se encuentra el programa para el control
del módulo de canal abierto en modo simulación, se puede observar de la
siguiente manera:
422
Una vez hechos los cambios, la lógica se aprecia como se ve a continuación:
423
Selector en “True”, significa que el modo “Remoto” está activo y el modo “Local”
no:
424
La puesta en marcha de la Bomba 1 en este caso se realiza forzando la variable
“Start_Bomba1_Remoto”:
425
Además en la rama del control “Remoto”, se tiene una sección en texto
estructurado para cambiar el estado de las variables “Start_Bomba1_Remoto” y
“Start_Bomba2_Remoto”, esto para que cuando se active una de las bombas, el
estado de dichas variables vuelvan al estado “False”, lo que permitirá que los
botones de la HMI no se queden activados:
El control Local se activa al cambiar el valor de la variable “Selector” otra vez, por
lo que la lógica quedaría como se vio al principio:
426
Para activar la Bomba 1, se debe cambiar el valor de la variable
“Start_Bomba1_Local” a “True” y luego cambiarla devuelta a “False” (este valor se
cambia al presionar la botonera al estar conectado al módulo), por consiguiente la
bomba se activa:
427
En el caso de que se lleguen a activar las dos variables de partida al mismo
tiempo, sucederá lo siguiente:
Fig. 3. 153 Intento de hacer partir las dos bombas al mismo tiempo.
Como se puede observar, están las dos variables de partida activados y ninguna
de las bombas está funcionando, esto debido a que anterior a la partida de la
bomba 1 por ejemplo, se puso la partida de la bomba 2 pero con un contacto
negado, por lo tanto, en el caso de tener presionada la partida de la bomba 1 y al
mismo tiempo la partida de la bomba 2, este contacto se abrirá, para así no
permitir que se activen las dos bombas al mismo tiempo.
428
3.5. Fase 4: Descarga de la programación al controlador
AC 800M y creación HMI de la planta OCM.
429
Al ejecutar esta aplicación en la máquina virtual, se abrirá la ventana de
estados de conexión de acuardo con la dirección IP del controlador (la
dirección IP del controlador es 172.16.84.172), que se mostrará con una
cruz de color rojo. Se selecciona la dirección IP del controlador y se hace
click izquierdo en “Connect”.
430
Y por último la tercera condición que se debe cumplir es observar si la
configuración de la dirección IP del controlador en Control Builder es
coincidente con la dirección IP conexionado en el OPC Server (descrito en
la condición anterior), para ello se observa expandiendo en “Controllers”,
en la rama “Process_Inacap” como muestra la siguiente Imagen.
431
Luego se indicará las advertencias que generan al realizar el sumario de la
compilación del programa, en esta ocasión se indica que existen dos
variables que se encuentran declaradas pero no se encuentran utilizadas
en la programación, esto debido a que estas variables son utilizadas con el
fin de obtener lecturas de proceso, pero no realizar un control con estas
variables ( “TEMP_AMB” y “TON_MILL_1”), esto es debido a la
programación del proceso realizado anteriormente. Para continuar con la
descarga, se procede realizando click izquierdo en “Continue”.
432
Ya concluida la descarga, se procede a realizar la desconexión con el
controlador, se realiza este paso por el motivo de que el controlador se
encuentra operativo para realizar acciones y lecturas del proceso (Molino
SAG). Para realizar la desconexión se hace click izquierdo en el botón de
desconexión ( ) ubicada en la barra de herramientas superior de Control
Builder.
433
3.5.1. Creación de la HMI para la planta OCM
Con el programa ya descargado en el controlador, se procede a realizar la
HMI para obtener el control de la planta OCM y las correspondientes
lecturas desde los instrumentos involucrados.
En primer lugar se debe crear el Sitio del proceso, para ello, se debe
ingresar al explorador de planta (My E-plant), e ingresar en “Functional
Structure”.
434
Después se abrirá la ventana de inserción de objetos, en donde se procede
a expandir la rama “Plant & Mill”, se vuelve a expandir en la subrama “Sites
and Áreas”, seleccionando la opción “Sites” nombrándose como
“OCM_INACAP”. Al finalizar, se hace click izquierdo en “Create”.
435
Luego se procede a crear el área del proceso, para ello se procede de la
misma forma utilizada anteriormente. Se selecciona “OCM_INACAP, Site”,
se hace click derecho sobre él, y se selecciona “New Object”.
436
Y se creara la subrama del área del proceso con el respectivo nombre.
437
Después se abrirá la ventana de inserción de aspectos. En el cual no se
puede ver todos los aspectos del sistema. Para observar todos los
aspectos se debe hacer click izquierdo en la casilla “Show all”.
438
Y se mostrara el aspecto en el área
“Medicion_de_Caudal_en_Canal_Abierto, Area”.
439
Después se ejecutará el software para la creación de pantallas, que es
Graphics Builder, se espera hasta que se inicie completamente mostrando
el ambiente de trabajo(o también denominado Process Graphics Editor).
440
Se dibuja el primer estanque del costado izquierdo de la planta, para ello
desde “Toolboxes”, se expande el grupo “Shapes” y se selecciona el
elemento “Tank Body”, emplazándose en el área de la pantalla del Process
Graphics.
441
Después se procede a realizar la inserción de los objetos que
representaran a las tuberías de la planta, por lo que dentro del grupo
“Shapes”, se selecciona el elemento “Flexible Pipe” (se selecciona este tipo
de elemento para que se muestre la tubería de forma continua los ángulos
rectos, evitando la inserción de elementos adicionales).
442
Ya cuando se presenta el largo y el ángulo (de 90°) deseado en la tubería,
se finaliza la edición de la tubería realizando doble Click izquierdo,
mostrando de la siguiente forma.
Del mismo modo se realiza la segunda tubería en la parte inferior, con una
separación y largo distintos para un orden adecuado entre los elementos
gráficos.
443
Se continúa insertando un motor que representara a la bomba de impulsión
n°1, para añadirlo al panel de edición, desde “ToolBoxes”, se expande el
grupo “Special”, seleccionando el elemento “Symbol Factory Symbol”,
posicionándose en cual parte del panel de edición.
444
En donde se abrirá la ventana de propiedades del elemento “Simbol
Factory”, en la pestaña “Symbols”, en la categoría “Pumps”, se selecciona
“Horizontal Pump 7” ( ), como muestra la siguiente imagen.
445
En el cual activará cinco bandas de estados, en el cual se pueden reducir a
dos bandas de estados, esto se realiza en “BandCount” disminuyendo la
cuenta a “2”, en el cual la cantidad de estados estarán representados en la
parte inferior de la ventana de propiedades del elemento “Symbol Factory”
446
En el caso de “Band2”, ya se encuentra con la propiedad “Style” con el
valor “Shaded”, por lo que se cambiará solamente el color de amarillo a
verde, para ello se realiza click izquierdo en el botón .
447
En donde se muestra los cambios realizados en la ventana de las
propiedades del elemento “Symbol Factory”, finalizando la edición de dicho
elemento haciendo click izquierdo en “Ok”.
448
Luego se procede a realizar las condiciones de los estado de la bomba de
impulsión en estado “detenido”, para establecerlo, en la ventana de
propiedades, se hace click izquierdo en( ), la propiedad “DiscreteValue1”.
449
Luego en el editor, se escribe “If” y luego se debe buscar la variable
“Bomba1” en la categoría “Process Data” se selecciona , después se
expande en “Process_Control_Network” > “Ejercicios_resueltos” >
“Applications” > “Process_Inacap” > “Programs” > “Canal_Abierto”, luego
se selecciona realizando doble click izquierdo en el aspecto de la variable
“Bomba1”, luego se escribe “..then False else true”. Para finalizar se hace
click izquierdo en “Ok”.
450
En donde la ventana de propiedades se muestra las modificaciones para la
propiedad “DiscreteValue1” y cambiando la apariencia de la bomba de
impulsión.
451
Luego en el editor, se escribe “If” y luego se debe buscar la variable
“Bomba1” en la categoría “Process Data” se selecciona , después se
expande en “Process_Control_Network” > “Ejercicios_resueltos” >
“Applications” > “Process_Inacap” > “Programs” > “Canal_Abierto”, luego
se selecciona realizando doble click izquierdo en el aspecto de la variable
“Bomba1”, luego se escribe “..then True else False”. Para finalizar se hace
click izquierdo en “Ok”.
452
En donde la ventana de propiedades se muestra las modificaciones
realizadas en la propiedad “DicreteValue2”.
453
Después, manteniendo click izquierdo sobre el elemento “Symbol Factory”,
se arrastra ajustándose a la tubería.
454
En el editor, se escribe “If” y luego se debe buscar la variable “Bomba2” en
la categoría “Process Data” se selecciona , después se expande en
“Process_Control_Network” > “Ejercicios_resueltos” > “Applications” >
“Process_Inacap” > “Programs” > “Canal_Abierto”, luego se selecciona
realizando doble click izquierdo en el aspecto de la variable “Bomba2”,
luego se escribe “..then False else true”. Para finalizar se hace click
izquierdo en “Ok”.
455
En donde la ventana de propiedades se muestra las modificaciones para la
propiedad “DiscreteValue1” y cambiando la apariencia de la bomba de
impulsión.
456
En donde la ventana de propiedades se muestra las modificaciones
realizadas en la propiedad “DicreteValue2”.
457
Luego se procede a realizar la inserción de las tuberías de salida de las
bombas de impulsión utilizando el elemento “Flexible Pipe” perteneciente
en el grupo “Shapes”, utilizando la misma metodología en la creación de las
tuberías anteriores.
458
Después se procede a editar el elemento gráfico, con el fin de que sea lo
más similar a las bombas de impulsión que se encuentran en la planta,
Para realizar los cambios, se hace click derecho sobre el elemento grafico
recién creado, seleccionando en la opción “Edit”.
459
Mostrando finalmente los cambios realizados al elemento.
460
Después, se procede a añadir otro elemento “Tank Body”, procedente del
mismo grupo “Shapes”, emplazándose de tal forma que la tubería creada
anteriormente se ubique en la parte inferior del cuerpo del nuevo estanque.
461
Después, desde “Toolboxes”, en el grupo “Shapes”, se selecciona el
elemento “Pipe”, adecuándose en la parte Superior del segundo estanque,
en el cual debe representarse más grueso, debido a la diferencias de
diámetros entre tuberías presentes en la planta OCM.
462
Luego, se procede a cambiar el color de fondo del Rectángulo, para ello
desde la ventana de propiedades, en la propiedad “FillColor”,
intercambiando el valor de “Gray” a “LightYellow”.
463
Después se procede a realizar los detalles del aforo, dibujando una línea
vertical, para ello se procede a insertar desde el grupo “Shapes”,
seleccionando el elemento “Polyline”, emplazándose a través desde un
click izquierdo de inicio de la poli línea en la parte superior izquierda y
finalizando con otro click izquierdo en la parte inferior izquierda del
rectángulo, como se indica la siguiente imagen.
464
Luego se inserta una nueva tubería en el costado izquierdo del aforo
recientemente creado. Desde el grupo “Shapes” se selecciona “Pipe” y se
emplaza en el costado izquierdo del rectángulo.
465
Después se procede a editar el elemento gráfico, se hace click derecho
sobre el elemento grafico recién creado, seleccionando en la opción “Edit”.
466
Mostrando la apariencia seleccionada en panel de edición.
467
Mostrando la apariencia seleccionada y posicionándose en la parte
superior del primer elemento “Symbol Factory” ( ) en panel de edición,
como se indica en la imagen.
468
Se procede a insertar una Elipse que cubra la zona interior del segundo
elemento “Symbol Factory” creado ( ), dejando los bordes a la vista,
para añadir la elipse, desde el grupo “Shapes”, se selecciona el elemento
“Ellipse” y se posiciona en la parte interior del elemento indicado, quedando
mostrándose como indica la figura.
469
Como son dos instrumentos exactamente iguales, se puede copiar,
utilizando el comando rápido “Ctrl + C” y pegarse con el comando rápido
“Ctrl + V”, posicionándose de la misma forma en que se encuentran
dispuestos los sensores ultrasónicos en la planta OCM.
470
Luego se procede a cambiar las propiedades para el elemento “Value”
recién creado, desde la ventana de propiedades se cambia las propiedades
indicadas en la siguiente tabla:
Tabla 1. 27 Propiedades para el elemento “Value”.
471
Quedando el elemento “Value” para la representación del sensor
ultrasónico LIT-004 de la siguiente manera.
472
Para buscar la señal FF, se debe expandir en la rama “Control Structure” >
“ENTRENAMIENTO” > “LDE” > “LDE_H1-2” > “LIT-003” y se selecciona
“LIT003”, en donde se elige con doble click izquierdo en el aspecto
“OUT.Value”, para finalizar se realiza click izquierdo en “Ok”, como muestra
la siguiente imagen.
473
Y por último, se realiza el mismo procedimiento con el flujómetro
electromagnético, se inserta el elemento “value” y se posiciona en la parte
inferior de la representación del flujómetro electromagnético y se cambia
las propiedades para el elemento “Value” recién creado, desde la ventana
de propiedades se cambia las propiedades indicadas en la siguiente tabla:
Tabla 1. 29 Propiedades del elemento “Value” para el flujometro.
474
Quedando el elemento “Value” para la representación del Flujómetro
electromagnético FIT-001 de la siguiente manera.
475
Desde la ventana de propiedades se procede a cambiar la propiedad de
“Caption” para cada GroupBox, modificando los valores de “GroupBox” a
“TREND LIT-003”, “TREND LIT-004” y “TREND FIT-001” respectivamente,
quedando como resultado los títulos de los Groupboxes con sus
respectivos nombres.
476
Luego se procede a cambiar las propiedades de los gráficos de tendencias
a través de la ventana de propiedades, en donde los valores a modificar se
plasman en las siguientes tablas para cada gráfico de tendencias (LIT-003,
LIT-004 y FIT-001).
Tabla 1. 30 Propiedades de grafico para LIT-003.
477
Quedando como resultado la apariencia para cada gráfico de tendencias
como muestra la imagen.
478
Se selecciona en la ventana de propiedades en “Value” y se hace click
izquierdo en , en donde se abrirá el editor de expresiones. , en la cual se
debe buscar la señal de Fieldbus Foundation, en el bloque nombrado como
“LIT003”. Para buscar la señal FF, se debe expandir en la rama “Control
Structure” > “ENTRENAMIENTO” > “LDE” > “LDE_H1-2” > “LIT-003” y se
selecciona “LIT003”, en donde se elige con doble click izquierdo en el
aspecto “OUT.Value”, para finalizar se realiza click izquierdo en “Ok”, como
muestra la siguiente imagen.
479
Se selecciona en la ventana de propiedades en “Value” y se hace click
izquierdo en , en donde se abrirá el editor de expresiones. , en la cual se
debe buscar la señal de Fieldbus Foundation, en el bloque nombrado como
“LIT004”. Para buscar la señal FF, se debe expandir en la rama “Control
Structure” > “ENTRENAMIENTO” > “LDE” > “LDE_H1-2” > “LIT-004” y se
selecciona “LIT004”, en donde se elige con doble click izquierdo en el
aspecto “OUT.Value”, para finalizar se realiza click izquierdo en “Ok”, como
muestra la siguiente imagen.
480
Se selecciona en la ventana de propiedades en “Value” y se hace click
izquierdo en , en donde se abrirá el editor de expresiones. , en la cual se
debe buscar la señal de Fieldbus Foundation, en el bloque nombrado como
“FIT001”. Para buscar la señal FF, se debe expandir en la rama “Control
Structure” > “ENTRENAMIENTO” > “LDE” > “LDE_H1-2” > “FIT-001” y se
selecciona “FIT001”, en donde se elige con doble click izquierdo en el
aspecto “OUT.Value”, para finalizar se realiza click izquierdo en “Ok”, como
muestra la siguiente imagen.
481
Luego, se procede a realizar el control de las bombas para cada
instrumento insertando dos “GroupBox”, para ello desde “Toolboxes” se
expande el grupo “Graphics Primitives”, seleccionando el elemento
“GroupBox”, insertando dos Groupbox’s de forma horizontal, en la parte
inferior del diseño de la planta OCM, como muestra la siguiente imagen.
482
A través de la ventana de propiedades, se modifica la propiedad
“backgroundImage” , haciendo click izquierdo en , se abrirá el editor de
expresiones, en el cual se debe hacer click izquierdo en “Resources”,
específicamente en “Images” señalado con el icono . Y se expande en el
aspecto de “Standard Symbols”, como indica en la siguiente imagen.
483
Por lo que el “Toggle Button” de partida de la bomba 1, cambia su
apariencia.
484
Del mismo modo, se crea el botón de Parada para la bomba 1, para ello
desde “Toolboxes” se expande el grupo “Buttons”, seleccionando el
elemento “Toggle Button”, emplazándolo dentro del Groupbox del control la
bomba 1, al costado derecho del botón Start anteriormente creado.
485
Por lo que el “Toggle Button” de parada de la bomba 1, cambia su
apariencia.
486
Luego se crean el botón de partida para la bomba 2, para ello desde
“Toolboxes” se expande el grupo “Buttons”, seleccionando el elemento
“Toggle Button”, emplazándolo dentro del Groupbox del control la bomba 2.
487
Se busca la imagen “StartOn”, se selecciona con doble Click izquierdo
sobre la imagen, y para finalizar, se hace click izquierdo en “Ok”.
488
Luego se realiza los cambios en la propiedad “Target”, haciendo click
izquierdo en , se abrirá el editor de expresiones, en el cual se expande
en “Process_Control_Network” > “Ejercicios_resueltos” > “Applications” >
“Process_Inacap” > “Programs” > “Canal_Abierto” Y se selecciona con
doble click izquierdo en la variable local “Start_Bomba2_Remoto”. Para
finalizar se realiza click izquierdo en “OK”.
Del mismo modo, se crea el botón de Parada para la bomba 2, para ello
desde “Toolboxes” se expande el grupo “Buttons”, seleccionando el
elemento “Toggle Button”, emplazándolo dentro del Groupbox del control la
bomba 2, al costado derecho del botón Start anteriormente creado.
489
A través de la ventana de propiedades, se modifica la propiedad
“backgroundImage”, haciendo click izquierdo en , se abrirá el editor de
expresiones, en el cual se debe hacer click izquierdo en “Resources”,
específicamente en “Images” señalado con el icono . Y se expande en el
aspecto de “Standard Symbols”, Buscando la imagen “StopOff”, se
selecciona con doble Click izquierdo sobre la imagen, y para finalizar, se
hace click izquierdo en “Ok”.
490
Luego se realiza los cambios en la propiedad “Target”, haciendo click
izquierdo en , se abrirá el editor de expresiones, en el cual se expande
en “Process_Control_Network” > “Ejercicios_resueltos” > “Applications” >
“Process_Inacap” > “Programs” > “Canal_Abierto” Y se selecciona con
doble click izquierdo en la variable local “Stop_Bomba2_Remoto”. Para
finalizar se realiza click izquierdo en “OK”.
491
Desde la ventana de propiedades, se procede a realizar las modificaciones
para el botón de la Parada de emergencia, plasmadas en la siguiente
Tabla.
Tabla 1. 33 Propiedades del botón para la Parada de emergencia.
492
Quedando la disposición de los botones en general como indica la
siguiente imagen.
493
Luego, desde la ventana de propiedades, se procede a cambiar las
siguientes propiedades plasmadas en la siguiente Tabla:
Tabla 1. 34 Propiedades de la etiqueta.
494
En donde la etiqueta desaparecerá de la pantalla, debido a que la variable
“P_Emergencia” no está activa.
495
Del mismo modo, se modifican los valores para la etiqueta del motor 2, en
la propiedad “FillColor” de “$'Process Graphics 2 Colors:SymbolFillColor'”
a “Transparent”, después para la propiedad “Label” modificando los valores
de “Label” a “BOMBA 2”, mostrando la etiqueta de la siguiente forma.
496
Luego, desde la ventana de propiedades, se modifican los valores para la
etiqueta del título de la HMI, en la propiedad “FillColor” de “$'Process
Graphics 2 Colors:SymbolFillColor'” a “Transparent”, a continuación se
cambia la propiedad “Font”, cambiando el valor de “Size” del número 12 al
número 24, finalmente para la propiedad “Label” se modifica el valor de
“Label” a “MEDICION DE CAUDAL EN CANAL ABIERTO OCM”,
mostrando la etiqueta de la siguiente forma.
497
A lo largo de este manual se fueron realizando diversas experiencias,
comenzando con lo que es Control Builder, analizando tres tipos de lenguajes de
programación con sus respectivos ejemplos y posibles soluciones, para luego
realizar una experiencia en el capítulo 2, la cual contempla el uso de Control
Builder, Fieldbus Builder y Graphics Builder, con los que se realizó la creación de
la lógica, configuración de instrumentos y la creación de pantallas,
respectivamente. Y como tercer capítulo, se hace uso de la planta de medición de
caudal en canal abierto, para la cual se diseñó una lógica, se configuraron los
instrumentos y se creó una pantalla para control remoto, con el objetivo de
asemejar lo que es un proceso real.
Al finalizar este manual, el alumno debe ser capaz de:
Navegar por el sistema 800XA en sus estructuras más básicas.
Manejar los Sofwares Control Builder, Fieldbus Builder y Graphics Builder.
Reconocer las variables a manipular y las variables controladas.
Diseñar una lógica para un proceso determinado.
Insertar un instrumento Fieldbus Foundation al sistema 800XA.
Comunicar red HSE y H1, configurando sus parámetros.
Obtener lecturas en pantallas procedentes desde la red H1.
Diseñar una HMI para cualquier tipo de procesos.
498
Bibliografía
499