Vous êtes sur la page 1sur 502

ELECTRICIDAD

Y
ELECTRONICA

MANUAL DE ENTRANAMIENTO EN SISTEMA 800XA

‘‘Manual para el Alumno en el sistema de DCS ABB 800XA’’

Trabajo desarrollado para optar al título de Ingeniero en Automatización y Control


Industrial.

Profesor guía
Juan Díaz Céspedes

Alumnos
Juan Albornoz López
Mauricio Ibarra Oros
Yuvitza Wastavino Rojas

Antofagasta, diciembre 2016


ÍNDICE

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.

Fig. A 1 Controlador de sistema DCS

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:

Fig. D 1 Topología del sistema.

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:

Fig. D 2 Sistema de 7 nodos y 6 controladores.

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

Servidor de aplicación: En este servidor se encuentran los siguientes tipos


de aplicaciones:
 Batch management
 Asset optimization
 Sistema experto

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.

Se parte definiendo los tipos de programación como tal, describiendo además,


su funcionamiento y sus respectivas secuencias de acciones. Se definen algunos
de los elementos de programación (Function Blocks), que son más utilizados en la
creación de lógicas, para realizar alguna acción en base a variables de tiempo o
de secuencia y estructuras condicionales de acuerdo a dicha acción. La
programación se realizará en base a la solución de problemas, con el objetivo de
que el alumno los resuelva de forma didáctica utilizando Control Builder, y por
último se llevará a cabo la corroboración del programa a través de la simulación,
mostrando de forma dinámica la ejecución de ésta.

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

Control builder es un área de trabajo dentro del sistema de ABB, en el cual se


puede acceder a varias herramientas para diseñar las diversas programaciones,
para ello se utilizan varios tipos de lenguajes, 3 de los cuales se usaran en este
manual que son: Lenguaje estructurado, Ladder y bloques. Además, el programa
cuenta con la organización de las entradas y salidas I/O y la compilación/descarga
de estas.
Para realizar esta compilación, descarga y prueba, se utilizan los siguientes
botones:

Fig. 1. 1 Botones de la barra de herramientas.

Tabla 1. 1 Descripción de los botones.

Se utiliza este botón


para simular y
comprobar lógicas
Modo prueba programadas, sin
necesidad de conectar el
controlador, todas las
tareas son ejecutadas
localmente en el PC
Se utiliza para
conectar el
controlador al sistema
online F5 si uno desea depurar
el programa mientras
sea ejecutado
El programa se
compila y es
descargado para la
ejecución en el
Descargar CTRL+D controlador. (este
proyecto e ir botón siempre será
online visible cuando se
encuentre en modo
off- line)

Permite la creación de
un nuevo proyecto
para crear una lógica
Nuevo proyecto CTRL+N en el controlador

Se utiliza para abrir un


proyecto existente en
el sistema y acceder a
Abrir proyecto CTRL+O edición de él.

Con todos estos botones, se es capaz de crear o abrir un proyecto.


6
1.3. Ambiente de trabajo de Control Builder

El ambiente de trabajo de esta aplicación consta de tres partes, el área de menú


superior, área del proyecto y el área de menú inferior.

Fig. 1. 2 Ambiente de trabajo de Control Builder.

En el área de menú superior se encuentra las opciones de modificaciones, modos


de operación y gestión de los archivos del proyecto.

En el área del proyecto se muestra un árbol desplegable, donde se pueden


encontrar las configuraciones del controlador, hardware y creación de las lógicas

En el área de menú inferior se encuentra los mensajes de errores de acuerdo con


las simulaciones, comprobaciones o la descarga de las aplicaciones, es muy
importante estar pendiente de este menú ya que muestra los errores de
programación, una mala sintaxis de la lógica o la desconexión imprevista del
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:

Fig. 1. 3 Árbol/menú en Control Builder.

En librerías se encuentra la información general de todos los protocolos de


comunicación, hardware, funciones lógicas, matemáticas, funciones básicas del
sistema e iconos del sistema.

En aplicaciones se encuentra todo lo que se refiere a la lógica (programación),


los programas con sus respectivos lenguajes y estructuras, los tipos de librerías
utilizadas (las cuales aparecen de forma automática según lo que se utilice en la
lógica), tipos de bloques de funciones, tipos de módulos de control (siendo
algunos, módulos de control a través de gráficos) según la programación lo
requiera.

En controladores se encuentra la configuración de hardware, en esta parte del


árbol se muestra la configuración por defecto, en donde se declaran todas las
tarjetas de comunicación, tarjetas I/O que se encuentren en terreno (existentes),
además de configurar sus direcciones IP y las posiciones de las tarjetas “I/O” o de
comunicación.

Las especificaciones para cada proyecto pueden soportar las siguientes


características:

Máximo 64 programas por aplicación.


Máximo 256 aplicaciones por el proyecto de control.
Máximo 8 aplicaciones por controlador.
Máximo 32 Tareas por controlador.
Máximo 32 controladores por proyecto de control.

8
1.5. Creación de un nuevo proyecto

Para realizar un nuevo proyecto se debe iniciar el programa Control Builder de


dos formas: Una seria de manera inmediata desde el acceso directo del escritorio
de la máquina virtual, y la otra forma seria desde “My E-Plant”. Este capítulo solo
se enfocará en el programa control Builder, por lo que se utilizara el acceso
directo en el escritorio de la máquina virtual para tener un acceso más rápido al
programa.

Fig. 1. 4 Icono de Control Builder en escritorio.

Y Comenzara a cargar el Control Builder.

Fig. 1. 5 Abriendo Control Builder.

9
Una vez finalizada la carga, se abrirá la siguiente ventana en blanco de control
Builder.

Fig. 1. 6 Ambiente sin ningún proyecto Control Builder.

Ahora para crear un nuevo proyecto, como se describió anteriormente, se debe


presionar el botón ( ) en el área de menú.

Fig. 1. 7 Botón para crear proyecto.

10
Y se mostrara el siguiente cuadro:

Fig. 1. 8 Creación y nombre del nuevo proyecto.

En la imagen anterior se muestran los tipos de controladores que se pueden


utilizar. La maleta cuenta con un controlador AC 800M PM 861 (controlador que
se utilizará físicamente en el próximo capítulo). Pero como en este capítulo solo
se tratará la creación de lógicas solamente con simulador, se elige la opción
“SoftController”.

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.

Se selecciona SoftController y se le da un nombre al nuevo proyecto. En este


caso el nombre será “TEST”.

Fig. 1. 9 Selección del controlador y nombre de proyecto.

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.

Fig. 1. 10 Término de carga del nuevo proyecto.

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.

Fig. 1. 11 Carga completa del proyecto.

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

Fig. 1. 12 Rama de “Applications”.

Luego se hace click derecho en “Programs”, para luego sleccionar “New


Program...”

Fig. 1. 13 Creación de un nuevo programa.

13
Por consiguiente, se abrirá una ventana solicitando el nombre del programa.

Fig. 1. 14 Nombre del nuevo programa.

Una vez creado el programa se mostrará al final de la rama “Programs”, desde el


cual se puede dar comienzo a la creación del programa en sí.

Fig. 1. 15 Nuevo programa creado.

14
1.7. Editor POU (Program Organization Units)

A continuación se muestra el ambiente de trabajo del editor POU (Program


Organization Units, o en español, Unidades de organización de programa) en el
se establece una lógica y el lenguaje de programación a utilizar.

Fig. 1. 16 Editor POU (Program Organization Units).

 Área de declaración de variables: en esta área se declaran las variables


físicas, matemáticas o lógicas que estén directamente relacionadas con la
programación del proceso. Esta área del editor POU puede variar de
acuerdo al tipo del lenguaje de programación que se utiliza.

 Panel de códigos: En esta área se ubicara la lógica (de acuerdo al


lenguaje de programación seleccionado) del proceso que se quiera
controlar, usando el código descrito aquí.

 Panel de mensajes: Muestra los mensajes de advertencias y errores del


sistema de acuerdo a lo que se está programando, es decir avisa
discrepancia entre variables o errores en la lógica que está creando.

15
1.8. Cambios de Lenguajes de programación en la hoja de códigos.

Ya que solo se utilizaran tres lenguajes de programación en este manual, se


mostrara como cambiar la configuración de cada hoja a alguno de estos
lenguajes, así como también cambiar el nombre y agregar más hojas, ya que solo
se puede trabajar con un tipo de lenguaje por hoja, a continuación se muestra el
proceso para realizar lo anterior mencionado:

Una vez creado el programa en la subsección “Programs”, se mostrara la


siguiente ventana:

Fig. 1. 17 Vista general de donde se encuentra el nuevo programa.

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.

Fig. 1. 18 Editor POU del nuevo programa creado.

Por defecto aparece el editor POU con el lenguaje de programación de Texto


Estructurado.

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

Fig. 1. 19 Cambio de lenguaje.

Luego se abrirá la siguiente ventana:

Fig. 1. 20 Ventana de selección de lenguajes.

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:

Fig. 1. 21 Selección de diagrama Ladder.

Luego de seleccionado se presiona OK, a lo cual, el ambiente de trabajo sufrirá


un cambio adecuándolo a lenguaje ladder.

Fig. 1. 22 Editor POU usando Diagrama Ladder.

Si se quiere utilizar un lenguaje distinto, se debe seguir el mismo procedimiento


desctrito anteriormente, seleccionando en esta instancia el nuevo lenguaje a
utilizar.

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.

En Control Builder, existen dos tipos de variables:


 Variables locales: Las variables locales solo actúan sobre el programa
donde fueron creadas, estas no serán visibles en ningún otro programa
creado, por lo que se deben utilizar estas variables si no se desea
utilizarlas para otra programación. La declaración de estas variables se
hace a través del editor POU visto anteriormente.

Fig. 1. 23 Editor POU.

En el editor POU se encuentra una plantilla en la parte superior (muy parecida a


las que se encuentran en Excel):

Fig. 1. 24 Sección de Variables en editor POU.

Esta plantilla sirve para realizar la declaración y configuración de las variables a


utilizar, cuenta con varias columnas, las cuales se pueden modificar dependiendo
de lo que se quiera hacer con 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.

o “Data Type”: Los tipos de datos se encuentran por defecto en las


librerías del sistema, a continuación se muestra un cuadro descriptivo
con dichos datos:

Tabla 1. 2 Tipos de datos y sus descripciones.

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:

Tabla 1. 3 Atributos de las variables.

o “Initial Value”: En la declaración de una variable básica, se le puede


dar un valor inicial que se le asigna cuando se ejecuta la aplicación,
en caso de que se encuentre en blanco, no se consideran condiciones
iniciales.

o “I/O Address”: Es necesario para realizar la conexión de E/S del editor


de módulos de E/S (ModuleBus, punto a tratar en el próximo
Capitulo).

o “Access variable”: Las variables del sistema a las cuales se puede


acceder desde un sistema remoto.

o “Description”: Describe y/o proporciona información acerca de la


variable. Un breve texto descriptivo, por ejemplo, podría incluir una
explicación de la causa de una condición o un evento simple.

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.

Fig. 1. 25 Acceso a las variables globales.

Luego se abrirá el editor POU para las variables globales a declarar.

Fig. 1. 26 Editor POU de variables globales.

Se consideran las mismas propiedades mencionadas anteriormente para la


declaración de variables.

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:

Es un tipo de lenguaje grafico basado en la lógica de relé, se trata básicamente


de un flujo de potencia que parte en el lado izquierdo de la hoja desde una barra
de alimentación, la cual llega hasta el otro lado pasando a través de contactos del
relé y la bobina, también se pueden añadir bloques de funciones para que cada
relé tenga un funcionamiento al momento de accionarse.

Fig. 1. 27 Ejemplo de diagrama Ladder.

A continuación se muestran los bloques funcionales en Ladder más básicos y


utilizados en Control Builder, con los cuales se pueden diseñar procesos
relativamente pequeños, si se quiere realizar procesos más complejos, lo mejor
sería utilizar el lenguaje Diagrama de Bloques el cual será descrito posteriormente
en este manual.

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.

Fig. 1. 28 Bloque contador.

En donde sus parámetros son:


o CU (Count Unit): Es la entrada que permite realizar la cuantificación
de repeticiones de la misma variable, debe ser un dato de tipo
Booleano (Bool).
o Reset: reestablece todos los conteos del bloque en cero (0), debe
ser un dato de tipo Booliano (Bool).
o PV (Preset Value): Se establece la cantidad de repeticiones para
que la salida del bloque se active para dar comienzo a la secuencia
o mostrar algún estado, debe ser un dato de tipo Doble Entero
(Dint).
o Q (salida): Se activa cuando la cantidad repetida se cumple,
Responde un dato de tipo Booliano (Bool).
o CV (Current Value): Muestra la cantidad de repeticiones que ya se
han realizado en el bloque, debe ser un dato de tipo Doble Entero
(Dint).

 TOn (Retardo a la conexión): Describe el tiempo 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.

Fig. 1. 29 Temporizador con retardo a la conexión.

En donde sus parámetros son:


o In (Entrada): Permite activación del temporizador, debe ser un dato
de tipo Booliano (Bool).
o PT (Preset Time): se establece el tiempo de retardo que puede ser
en segundos (s), minutos (m) o horas (h), la cual se activara la
salida, debe ser un dato de tipo Tiempo (Time).
o Q (salida): Se activa cuando se cumple el tiempo establecido por el
programador, se puede utilizar para continuar una secuencia de
proceso o bien representar algún estado, debe ser un dato de tipo
Booliano (Bool).

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

Nota: Es importante que, para la declaración de variables, el PT y el ET, se


nombren con su tiempo determinado, ya que el editor de Control Builder exige un
numero en su nombramiento, en caso contrario, no le permitirá conectar el
parámetro con la variable. Por ejemplo: Se quiere un tiempo de 3 segundos en el
parámetro PT. Si se nombra la .variable como “Tiempo” en PT, control Builder
rechazará la conexión de estos parámetros a las variables creadas, ya que la
forma correcta sería: “Tiempo_3seg”, esto se requiere para todos los bloques de
tiempo.

 TOf (Retardo a la desconexión): Describe el tiempo que 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 también lo hará, pero luego de un
determinado tiempo.

Fig. 1. 30 Temporizador con retardo a la desconexión.

En donde sus parámetros son:


o In (Entrada): Permite activación del temporizador, debe ser un dato
de tipo Booliano (Bool).
o PT (Preset Time): se establece el tiempo de retardo que puede ser
en segundos (s), minutos (m) o horas (h), la cual se desactivará la
salida, debe ser un dato de tipo Tiempo (Time).
o Q (salida): Se desactiva cuando se cumple el tiempo establecido por
el programador, se puede utilizar para iniciar y terminar una
secuencia de proceso o bien representar algún estado, debe ser un
dato de tipo Booliano (Bool).
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.

Fig. 1. 31 Temporizador de funcionamiento.

En donde sus parámetros son:


o In (Entrada): Permite activación del temporizador, debe ser un dato
de tipo Booliano (Bool).
o PT (Preset Time): se establece el tiempo de duración que puede ser
en segundos (s), minutos (m) o horas (h), la cual se desactivará la
salida al cumplir el tiempo seleccionado, debe ser un dato de tipo
Tiempo (Time).
o Q (salida): Se desactiva cuando se cumple el tiempo establecido por
el programador, se puede utilizar para la duración de una secuencia
de proceso, debe ser un dato de tipo Booliano (Bool).
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).

 LE (Menor o igual a…): Este bloque se usa generalmente para procesos


análogos, funciona de acuerdo a un valor de entrada, en donde si el valor
que está entrando es menor o igual al valor designado, su salida se activa.

Fig. 1. 32 Bloque Menor o igual a...

Sus pines se representan de acuerdo la numeración ya que Control Builder no


muestra los parámetros:

1. Pin de Entrada numérica, en este pin se ingresa un valor numérico a


comparar, es de dato de tipo Dint.
2. Pin de comparación, En este pin, se establece el límite numérico de
funcionamiento, es de dato de tipo Dint.
3. Pin de salida: En este pin se activa la salida si el valor ingresado en el
pin 1 es menor o igual al pin 2, es de dato de tipo Bool.

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.

Fig. 1. 33 Bloque Mayor o igual a...

1. Pin de Entrada numérica, en este pin se ingresa un valor numérico a


comparar, es de dato de tipo Dint.
2. Pin de comparación, En este pin, se establece el límite numérico de
funcionamiento, es de dato de tipo Dint.
3. Pin de salida: En este pin se activa la salida si el valor ingresado en el
pin 1 es mayor o igual al pin 2, es de dato de tipo Bool.

 GT (Mayor a…): Funciona de acuerdo a un valor de entrada, en donde si


el valor que está entrando es estrictamente mayor al valor designado, su
salida se activa.

Fig. 1. 34 Bloque Mayor a….

1. Pin de Entrada numérica, en este pin se ingresa un valor numérico a


comparar, es de dato de tipo Dint.
2. Pin de comparación, En este pin, se establece el límite numérico de
funcionamiento, es de dato de tipo Dint.
3. Pin de salida: En este pin se activa la salida si el valor ingresado en el
pin 1 es estrictamente mayor al pin 2, es de dato de tipo Bool.

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.

Fig. 1. 35 Bloque Menor a….

1. Pin de Entrada numérica, en este pin se ingresa un valor numérico a


comparar, es de dato de tipo Dint.
2. Pin de comparación, En este pin, se establece el límite numérico de
funcionamiento, es de dato de tipo Dint.
3. Pin de salida: En este pin se activa la salida si el valor ingresado en el
pin 1 es estrictamente menor al pin 2, es de dato de tipo Bool.

29
1.10.2. Programando con Ladder

Ahora que ya se conoce lo que es el ambiente de trabajo en Control Builder, lo


siguiente será centrarse en la creación de una lógica usando Ladder. Esta parte
se enfoca en que el alumno aprenda a crear Rungs, editar la cantidad de
contactos, el tipo de contacto, verificar si el programa se encuentra bien
construido y realizar la simulación de la lógica.

Una vez creado el nuevo programa y cambiado el lenguaje de programación a


Ladder, se comienza a describir cómo se puede realizar la elaboración del
programa.

En el ambiente de programación en Ladder, tenemos la siguiente ventana:

Fig. 1. 36 Editor POU con lenguaje 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:

Fig. 1. 37 Declaración de variables.

B. Hacer un click derecho en la zona de (1) y seleccionar “Insert Rung”

Fig. 1. 38 Insertando un Rung.

31
Luego se mostrara en el panel de Ladder el nuevo Rung creado.

Fig. 1. 39 1er Rung en la hoja de diseño.

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.

Fig. 1. 40 Selección de Rung.

Luego se selecciona “Insert Rung”.

Fig. 1. 41 Insertando un nuevo Rung.

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.

Fig. 1. 42 Posición del nuevo Rung.

Luego se creara el nuevo Rung por debajo del Rung Existente.

Fig. 1. 43 Nuevo Rung creado.


C. Para Insertar un contacto o un bloque de función en Ladder, se selecciona
la bobina de salida, que se encuentra en la parte derecha del Ladder.

Fig. 1. 44 Selección de la bobina.

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.

Fig. 1. 45 Insertando un contacto.

Y aparecerá el contacto al costado izquierdo del Rung

Fig. 1. 46 Nuevo contacto creado.

Para insertar un bloque de función se hace exactamente lo mismo.


Seleccionamos la bobina de salida y le hace click derecho, seleccionar “Insert
Left” y se elige “Function / Function Block…”

Fig. 1. 47 Insertando un bloque de función.

34
Y el Ladder se mostrara con el bloque de función insertado.

Fig. 1. 48 Bloque insertado en el Rung.

Si se desea poner un contacto cerrado, se selecciona el contacto a modificar, click


derecho, seleccionar “Edit Contact Type”.
Y se elige “Normally Closed Contact”.

Fig. 1. 49 Edición del contacto.

Y el contacto se modificara a normalmente cerrado

Fig. 1. 50 Contacto editado ahora es un contacto cerrado.

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

Fig. 1. 51 Insertando un contacto en paralelo.

Si se inserta el contacto, aparecerá el contacto en paralelo al seleccionado.

Fig. 1. 52 Contacto en paralelo.

Del mismo modo ocurre si seleccionamos “contact” y “Function / Function


Block…”

Fig. 1. 53 Bloque en paralelo con el contacto.

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

Fig. 1. 54 Insertando un contacto a la derecha.

Si se selecciona en “Contact”, se mostrara el nuevo contacto hacia la derecha.

Fig. 1. 55 Contacto a la derecha.

Del mismo modo ocurre si se selecciona “Function / Function Block…”

Fig. 1. 56 Bloque a la derecha.

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.

a. En los contactos: Para conectar una variable al contacto, se debe


seleccionar el contacto, se hace click derecho sobre él, y se
selecciona “Connect…”

Fig. 1. 57 Asignación de variables.

Se Abrirá una ventana en la cual se debe escribir la variable a asignar.

Fig. 1. 58 Ventana para asignar variables.

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

Fig. 1. 59 Variable seleccionada.

Luego mostrara en el Ladder, el contacto seleccionado con el nombre de la


variable conectada sobre éste.

Fig. 1. 60 Variable sobre el contacto.

b. En los bloques de funciones: Ante esta situación, ocurre


exactamente lo mismo que en el caso anterior, la única diferencia es
que se procede seleccionando uno de sus pines, hacemos click
derecho sobre el, y presionamos “Connect”

Fig. 1. 61 Variables en bloque.

39
Mostrará la misma ventana de la asignación de las variables,

Fig. 1. 62 Ventana de asignación de variables.

Se realiza un acceso directo a las variables declaradas, usando las teclas de


acceso directo “Ctrl + j”, al aplicar este comando mostrara un cuadro emergente
con todas las variables y bloques de funciones declarados (solo aplicable a
bloques de funciones en Ladder y en el lenguaje de bloques).

Fig. 1. 63 Búsqueda de variables para bloques.

Y hacemos doble click sobre la variable que se quiere conectar y se rellenara


automáticamente en el recuadro blanco de la ventana de la asignación de
variables, y seleccionamos “OK”

Fig. 1. 64 Variable seleccionada.

40
Luego de hacer esto, el pin seleccionado anteriormente tendrá el nombre de la
variable conectada.

Fig. 1. 65 Variable en el pin del bloque.

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.

Fig. 1. 66 Tipo de dato del pin.

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.

Fig. 1. 67 Ventana del bloque.

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.

Fig. 1. 68 Paleta de edición de 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

Esta paleta de herramientas se encuentra ubicado en la barra de herramientas en


la parte superior del editor POU.

Fig. 1. 69 Paleta de edición Ladder en editor POU.

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.

Fig. 1. 70 Botón de verificación.

Al hacer click en “Check” ( ) aparecerá una ventana de dialogo mostrando si


existe algún error en la programación.

Fig. 1. 71 Sector de mensajes.


En el cual debe indicar la fecha y hora de la revisión de la lógica, y el sumario de
la programación. Lo ideal es que indique que hay 0 errores y 0 advertencias.

Fig. 1. 72 Verificación de errores.

43
En caso de que existan errores en la programación, esta ventana lo indicara y
además indicará el tipo de error:

Fig. 1. 73 Error en diagrama ladder.

Fig. 1. 74 Texto del 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.

Fig. 1. 75 Indicació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).

Para Guardar y cerrar el editor Pou, se selecciona en la barra de menú superior el


icono

Fig. 1. 76 Guardar y cerrar.

Y para solo guardar sin cerrar el editor POU se hace click en.

Fig. 1. 77 Solo Guardar.

Cualquiera de las dos formas es válida para guardar el programa, el ultimo se


utiliza para cuando se quiere seguir trabajando y solo se guarda para llevar un
respaldo de lo avanzado.

e. Por último se debe simular para comprobar si realmente la lógica


creada está funcionando, para ello se debe guardar los cambios y
salir del editor POU, aparecerá la ventana principal de Control
Builder.

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.

Fig. 1. 78 Esquema del ejercicio.

El funcionamiento debe ser el siguiente:


Primero se accionara el solenoide 1 de la válvula del ingrediente A (la cual la
válvula se abrirá) y el estanque se llenará hasta llegar al sensor capacitivo de
nivel 2 (el sensor se activará).
Cuando el ingrediente A llegue al nivel del sensor 2, se accionara el solenoide 2
de la válvula del ingrediente B (ésta se abrirá también), y ambos fluidos llenarán el
estanque hasta llegar al sensor capacitivo 1 (el sensor 1 se activará) y ambos
solenoides (1 y 2) se desactivarán, cerrando las válvulas de los ingredientes.
Ya con las dos válvulas cerradas y los sensores activados (sensores 1 y 2), el
motor de la agitadora comenzará a funcionar durante 30 segundos.
Pasados los 30 segundos, el motor se detendrá y se activará el solenoide 3 de la
válvula de descarga del producto durante 60 segundos.
Una vez pasados los 60 segundos, el solenoide 3 se desactiva y vuelve a realizar
el procedimiento inicial.
Realice un control de forma automática para el proceso descrito en el lenguaje de
programación Ladder

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.

2) Dando como nombre al programa “Mezcladora_Sustancias”, presionar


“OK”.

Fig. 1. 79 Nombre del programa del ejercicio.

Mostrará el programa creado en el árbol del proyecto.

Fig. 1. 80 Nuevo programa en Control Builder.

47
3) Se abre el nuevo programa (Mezcladora_sustancias), a lo cual se abrirá el
editor POU.

Fig. 1. 81 Variables en editor POU.

4) Después se debe cambiar lenguaje de programación, esto se hace en la


pestaña inferior “Code”, click derecho y “Change Language…”

Fig. 1. 82 Cambio de lenguaje.

48
Se selecciona el lenguaje Ladder (Ladder Diagram LD).

Fig. 1. 83 Selección del nuevo lenguaje

5) Una vez cambiado el lenguaje de programación, se debe proceder con la


declaración de variables, tomando en consideración las entradas y salidas
del ejercicio propuesto, así como se muestra a continuación:

Tabla 1. 4 Variables a utilizar en la programación.

49
Fig. 1. 84 Variables declaradas.

Para los tiempos de accionamiento del motor y del solenoide 3, estos se


consideran como variables de tiempo (por lo que poseen un valor inicial),
debido a esto, se deben declarar en el editor POU, sin embargo, se dejan
sin atributos ya que de lo contrario se podrían producir conflictos durante la
programación.
6) Una vez declaradas las variables, se puede dar comienzo a la
programación en sí.

Se crea el primer Rung, en la cual se realizara la partida del proceso.

Fig. 1. 85 Creación de un nuevo Rung.

Luego se realiza la creación de los contactos.

Fig. 1. 86 Contacto en el primer Rung,

50
Luego se procede con el enclavamiento del primer contacto, creando otro
contacto en paralelo:

Fig. 1. 87 Enclavamiento del primer contacto.

Luego se crea la parada de emergencia utilizando otro contacto:

Fig. 1. 88 Parada de emergencia.

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”

Fig. 1. 89 Cambio de estado de la parada de emergencia.

Después se crea otro Rung, Haciendo click derecho como se muestra en la


imagen y se selecciona “Insert Rung”

Fig. 1. 90 Creación de otro Rung.

Aparecerá un cuadro de mensajes en que pregunta si se desea insertar el


Rung antes del Rung creado, en esta situación se desea insertar después,
por lo que se presiona “No”

Fig. 1. 91 Definición de la ubicación del Rung.

52
Fig. 1. 92 Parada de emergencia con estado cambiado.

Luego se realizara la activación de la válvula del ingrediente A del proceso,


de la misma forma que la anterior, se agrega los contactos en el Rung de la
apertura de la válvula solenoide n°1. Como se muestra en la siguiente
imagen:

Fig. 1. 93 Contactos para activación de válvula.

En donde los contactos normalmente cerrados corresponden a las


condicionantes para la activación de la salida.
Luego se inserta otro Rung para la activación de la válvula del ingrediente
B, accionado por el sensor 2 del estanque con sus respectivas
condicionantes, como se muestra en la siguiente Imagen:

Fig. 1. 94 Rung 2 para la activación del ingrediente B.

Después se crea el Rung para el accionamiento del Sensor n°1.

Fig. 1. 95 Rung 3, accionamiento del sensor 1.

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:

Fig. 1. 96 Rung 4, temporización de la mezcladora,

Y aparecerá un cuadro solicitando el tipo de bloque de función que se


desea utilizar, se selecciona el botón ( ).

Fig. 1. 97 Selección del bloque de función.

Aparecerá un recuadro con dos opciones para expandir, las cuales


contienen todas las funciones que se encuentran disponibles el sistema
(funciones de sistema y las funciones básicas).

Fig. 1. 98 Búsqueda del bloque en la Librería.

54
Para encontrar el bloque TP, se debe expandir “BasicLib” y buscar “TP”

Fig. 1. 99 Búsqueda en “BasicLib”.

Se selecciona el bloque TP y se presiona OK,

Fig. 1. 100 Selección del bloque.

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

Fig. 1. 101 Nombre del bloque.

Se presiona “OK” para finalmente agregar el bloque al rung.

Fig. 1. 102 Bloque en el Rung.

Luego se le agrega los contactos condicionantes al costado izquierdo del


bloque de función, en la entrada “EN”, como se muestra a continuación.

Fig. 1. 103 Contactos condicionantes,

A continuación se crea otro Rung, en él se crea un temporizador a la


conexión para dar la secuencia de accionamiento de la válvula solenoide
n°3 (descarga de la solución mezclada). Para llevar a cabo esto, se
necesita un temporizador con retardo a la conexión, para ello se introduce
un bloque de función TOn con una duración de 29.5 segundos, con el fin
de que se inicie la activación para que el motor se detenga y comience la
descarga de la solución, además de sus contactos condicionantes.

Fig. 1. 104 Creación de otro Rung.

56
Fig. 1. 105 Búsqueda del bloque TOn

Fig. 1. 106 Búsqueda en librería.

57
Nombrando el bloque TOn como “Conteo_sol3”

Fig. 1. 107 Nombre del bloque.

Quedando el Rung de la siguiente manera:

Fig. 1. 108 Rung en la forma final.

Y por último, se crea el último Rung, en donde se define el tiempo de apertura de


la válvula de descarga, la cual tiene un tiempo de apertura de 1 minuto, por lo
tanto, se utiliza el mismo bloque que en el tramo anterior en el tiempo de
funcionamiento del motor (TP).

Fig. 1. 109 Creación de otro Rung.

Fig. 1. 110 Búsqueda del bloque

58
Fig. 1. 111 Búsqueda en librerías.

Se inserta el bloque TP y se le asigna el nombre “Temp_sol3”, se presiona OK,


insertando adema, los contactos condicionantes para la activación de la válvula
solenoide de descarga.

Fig. 1. 112 Nombre del bloque.

59
Fig. 1. 113 Rung en estado final.

7) Una vez creado el Ladder completo, se procede a asignar las variables


declaradas anteriormente en el editor POU, en los contactos y a los
bloques que se acaban de crear.
Lo primero que se debe hacer es seleccionar el contacto para conectar la
variable declarada (en este caso correspondería al primer contacto del
Ladder recién creado), hacer click derecho sobre el contacto seleccionado,
“Connect...”, o bien doble click izquierdo sobre el contacto seleccionado.

Fig. 1. 114 Asignación de variable.

A lo que se muestra la siguiente ventana, en la cual se puede seleccionar


la variable a conectar:

Fig. 1. 115 Búsqueda de variable.

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

Fig. 1. 116 Selección de variable.

Y se muestra en el Ladder el contacto con el nombre de la variable


asignada en la parte superior de él.

Fig. 1. 117 Variable sobre el contacto.

La aplicación de este método para la declaración de variables, es esencial


para no cometer errores al escribir el nombre de las variables. También se
puede realizar la asignación de variables utilizando el botón “Apply/Next”,
de esta forma el proceso de asignación es más rápido, pero puede
provocar errores, por lo que se debe hacer con precaución.

Fig. 1. 118 Selección de variable.

Es buena idea ir revisando las asignaciones al realizarlas de este modo,


evitando así errores en los nombres de las variables.

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.

Fig. 1. 119 Diagrama ladder con las variables.

En el Rung “0005” se encuentra el bloque “Temp_Motor”, para asignar las


variables en este caso, se seleccionan los pines a los que se desea
agregar la variable que corresponda, primero se asigna una variable al pin
“IN”, click derecho sobre el pin, luego “Connect...”, también se puede hacer
doble Click sobre el pin.

Fig. 1. 120 Asignación de variables al bloque.

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.

Fig. 1. 121 Búsqueda de variable.

Fig. 1. 122 Búsqueda de variable.


Se selecciona la variable “M2” para el pin “IN”, ya que esta variable se
funciona al activarse el sensor n°2_

Fig. 1. 123 Selección de variable.

63
Luego de asignar la variable, esta se mostrará en el pin “IN” del bloque

Fig. 1. 124 Variable en el pin del bloque.

Para hacer la conexión a los demás pines y contactos se realizan los


mismos procedimientos anteriormente vistos. En la siguiente imagen se
muestran las variables ya conectadas en el Rung “0005”.

Fig. 1. 125 Bloques con sus respectivas variables.

64
Una vez finalizado con las asignaciones de las variables, el diagrama
Ladder debería asemejarse a lo siguiente:

Fig. 1. 126 Resultado final del diseño.

8) El siguiente paso es verificar la programació, el chequeo se realiza


seleccionando el botón ( ), que se encuentra en la barra de herramientas
del editor POU.

Fig. 1. 127 Botón de verificación.

65
Si la programación esta correcta, el panel de chequeo mostrara 0 errores y
0 advertencias como se muestra en la siguiente imagen:

Fig. 1. 128 Verificación de errores.

En caso de haber errores, indicara la cantidad de errores (así como


advertencias) y en donde se encuentran dichos errores.

9) Se guardan los y se sale del editor POU presionando el botón ( ).

Fig. 1. 129 Guardar y cerrar.

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:

Fig. 1. 130 Modo simulación.

Se abre una ventana que muestra el proyecto y el controlador que usa.


Click en “Continue”.

Fig. 1. 131 Proyecto y controlador a utilizar.

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.

Fig. 1. 132 Comprobación del modo simulación.

68
Se abre el programa anteriormente creado “Mezcladora de sustancias”:

Fig. 1. 133 Ingreso al programa en modo simulación.

A lo cual se abre el editor POU, sin embargo, no se puede editar el


programa, a excepción del estado de cada contacto.

Fig. 1. 134 Edición del estado de variables.

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.

Fig. 1. 135 Esquema del ejercicio.

Para que lo anterior mencionado suceda, se debe cambiar el “false” por


“true” en “Start”, escribiendo “True” en vez de “False”

Fig. 1. 136 Cambio de estado.

70
Al momento de cambiar el estado de la variable, se observará el
funcionamiento en el diagrama Ladder.

Fig. 1. 137 Cambio de estado en contacto.

Se puede observar que al momento de activarse una variable, esta se


tornará de color azul

Fig. 1. 138 Contacto activo.

Caso contrario, las variables se mantendrán en color negro

Fig. 1. 139 Contacto no activo.

Observando los cambios, al activarse el contacto (M1), continuó la


secuencia para activar la válvula solenoide n°1.

Fig. 1. 140 Activación de la bomba.

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.

Fig. 1. 141 Subida de nivel.

Para simular el cierre del contacto del sensor n°2, se cambia “False” por
“True”

Fig. 1. 142 Cambio de estado.

Y en el Ladder se mostrará lo siguiente:

Fig. 1. 143 Apertura de Válvula.

72
Fig. 1. 144 Ingreso de los dos ingredientes.

En la imagen se puede observar los dos ingredientes ingresando hacia el


mezclador al mismo tiempo. Por lo tanto, una vez que el nivel de la
solución haya alcanzado el sensor n°1, se cerrarán las dos válvulas
solenoides, iniciando así, la marcha del motor durante 30 segundos.

Fig. 1. 145 Partida de la mezcladora.

Fig. 1. 146 Cambio de estado del sensor 1.

73
Y en el Ladder se mostrará lo siguiente:

Fig. 1. 147 Temporizador del motor.

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.

Fig. 1. 148 Válvula de descarga.

74
Fig. 1. 149 Temporizador de la válvula de descarga.

Y cuando se cumple el tiempo de accionamiento del motor de la


mezcladora, el motor se detiene y se abre la válvula de descarga.

Fig. 1. 150 Apertura de la válvula de descarga.

Mientras se realiza la descarga de la solución del estanque, el nivel bajara


hasta que el estanque se encuentre totalmente vacío, debido a esto y como
se trata de una simulación, se debe cambiar el valor del sensor 1 y 2 a
“false” de forma manual:

Fig. 1. 151 Cambio de estado del sensor 1 y 2.

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.

Fig. 1. 152 Ingreso del ingrediente A.

76
1.10.3. Ejercicio propuesto

Proceso de volcado de carros:


Se tiene el siguiente proceso, el cual se debe programar según la secuencia que
se muestra a continuación, la cual debe contar con una forma de levantar las
persianas, dejar entrar el carro y una forma de asegurar el carro una vez
comience el volcado con rieles sujetadores en la plataforma volcadora.
- Entrada del carro:

Primeramente se lleva el carro al volcador, se abre la persiana utilizando un motor


eléctrico, esta persiana cuenta con dos sensores los que indican su posición.

Fig. 1. 153 Ingreso del carro.

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.

Fig. 1. 154 Carro en la plataforma.

- Volcamiento:

Para el volcamiento se utiliza un semi-cilindro el cual gira con la ayuda de dos


motores a cada extremo, vertiendo así el mineral en un depósito ubicado en el
mismo volcador.

Fig. 1. 155 Otra vista de la plataforma.

78
Fig. 1. 156 Volcamiento.

- Salida:

Luego de que el volcamiento termina, el cilindro vuelve a su posición original y se


suelta el carro de los rieles de sujeción, dejando así libre el carro para que salga
por el otro lado, en la cual nos encontramos con el mismo tipo de persiana que en
la entrada.

Fig. 1. 157 Salida del carro.

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.

Fig. 1. 158 Ejemplo de diagrama de bloques.

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.

Fig. 1. 159 Bloque contador.


En donde sus parámetros son:
o CU (Count Unit): Es la entrada que permite realizar el conteo de
repeticiones de la misma variable, debe ser un dato de tipo
Booleano (Bool).
o Reset: reestablece todos los conteos del bloque en cero (0), debe
ser un dato de tipo Booleano (Bool).
o PV (Preset Value): Se establece la cantidad de repeticiones para
que la salida del bloque se active para dar comienzo a la secuencia
o mostrar algún estado, debe ser un dato de tipo Doble Entero
(Dint).
o Q (salida): Se activa cuando la cantidad repetida se cumple,
Responde un dato de tipo Booliano (Bool).
o CV (Current Value): Muestra la cantidad de repeticiones que ya se
han realizado en el bloque, debe ser un dato de tipo Doble Entero
(Dint).

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.

Fig. 1. 160 Bloque Ton.

En donde sus parámetros son:


o In (Entrada): Permite activación del temporizador, debe ser un dato
de tipo Booleano (Bool).
o PT (Preset Time): se establece el tiempo de retardo que puede ser
en segundos (s), minutos (m) o horas (h), la cual se activara la
salida, debe ser un dato de tipo Tiempo (Time).
o Q (salida): Se activa cuando se cumple el tiempo establecido por el
programador, se puede utilizar para continuar una secuencia de
proceso o bien representar algún estado, debe ser un dato de tipo
Booleano (Bool).
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).

Nota: Es importante que, para la declaración de variables, el PT y el ET, se


nombren con su tiempo determinado, ya que el editor de Control Builder exige un
numero en su nombramiento, en caso contrario, no le permitirá conectar el
parámetro con la variable. Misma situación que se presenta en el lenguaje
Ladder, y al igual que en ese caso, la declaración de variables se considera de
esta misma manera para los demás bloques de tiempo.

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.

Fig. 1. 161 Bloque TOf.

En donde sus parámetros son:


o In (Entrada): Permite activación del temporizador, debe ser un dato
de tipo Booleano (Bool).
o PT (Preset Time): se establece el tiempo de retardo que puede ser
en segundos (s), minutos (m) o horas (h), la cual se desactivará la
salida, debe ser un dato de tipo Tiempo (Time).
o Q (salida): Se desactiva cuando se cumple el tiempo establecido por
el programador, se puede utilizar para iniciar y terminar una
secuencia de proceso o bien representar algún estado, debe ser un
dato de tipo Booliano (Bool).
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).

 TP (Tiempo de funcionamiento): Es 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 determinado
tiempo.

Fig. 1. 162 Bloque TP.


En donde sus parámetros son:
o In (Entrada): Permite activación del temporizador, debe ser un dato
de tipo Booliano (Bool).
o PT (Preset Time): se establece el tiempo de duración que puede ser
en segundos (s), minutos (m) o horas (h), la cual se desactivará la
salida al cumplir el tiempo seleccionado, debe ser un dato de tipo
Tiempo (Time).
o Q (salida): Se desactiva cuando se cumple el tiempo establecido por
el programador, se puede utilizar para la duración de una secuencia
de proceso, debe ser un dato de tipo Booliano (Bool).
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).

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.

Fig. 1. 163 Bloque LE.

En donde sus pines se representan de acuerdo la numeración 8 ya que en Control


Builder no muestra los parámetros:
4. Pin de Entrada numérica, en este pin se ingresa un valor numérico a
comparar, es de dato de tipo Dint.
5. Pin de comparación, En este pin, se establece el límite numérico de
funcionamiento, es de dato de tipo Dint.
6. Pin de salida: En este pin se activa la salida si el valor ingresado en el
pin 1 es menor o igual al pin 2, es de dato de tipo Bool.

 GE (Mayor o igual a…): este bloque se usa en generalmente para


procesos análogos, funciona de acuerdo a un valor de entrada, si se
cumple que la entrada es mayor o igual al valor especificado en el bloque,
su salida se activa.

Fig. 1. 164 Bloque GE.

4. Pin de Entrada numérica, en este pin se ingresa un valor numérico a


comparar, es de dato de tipo Dint.
5. Pin de comparación, En este pin, se establece el límite numérico de
funcionamiento, es de dato de tipo Dint.
6. Pin de salida: En este pin se activa la salida si el valor ingresado en el
pin 1 es mayor o igual al pin 2, es de dato de tipo Bool.

 GT (Mayor a…): Funciona de acuerdo a un valor de entrada, si se cumple


que la entrada es estrictamente mayor al valor especificado en el bloque,
su salida se activa.

Fig. 1. 165 Bloque GT.


4. Pin de Entrada numérica, en este pin se ingresa un valor numérico a
comparar, es de dato de tipo Dint.
5. Pin de comparación, En este pin, se establece el límite numérico de
funcionamiento, es de dato de tipo Dint.
6. Pin de salida: En este pin se activa la salida si el valor ingresado en el
pin 1 es estrictamente mayor al pin 2, es de dato de tipo Bool.

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.

Fig. 1. 166 Bloque LT.

4. Pin de Entrada numérica, en este pin se ingresa un valor numérico a


comparar, es de dato de tipo Dint.
5. Pin de comparación, En este pin, se establece el límite numérico de
funcionamiento, es de dato de tipo Dint.
6. Pin de salida: En este pin se activa la salida si el valor ingresado en el
pin 1 es estrictamente menor al pin 2, es de dato de tipo Bool.

 Bloques de conversión de tipos de datos: en esta parte se generalizara


debido a que según como el programador desee o la situación lo requiera,
la función de conversión de los tipos de variable cambiara. Son bastante
usados como complementos para otros bloques, con los que se puede
obtener una lectura o una salida analógica.

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:

REAL TO INT (conversión de variable real a entero): Este es solo un bloque de


conversión de tipos de datos, como su nombre lo indica, convierte la señal de
entrada de tipo REAL a tipo INT.

Fig. 1. 167 Bloque Real to INT.

1. Pin de entrada: Es la entrada del bloque del tipo de variable a convertir,


debe ser de tipo REAL.
2. Pin de salida: es la salida de la variable ya convertida, es de tipo
Entero.

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:

Fig. 1. 168 Bloques Bool to ..

Fig. 1. 169 Bloques INT to…

Fig. 1. 170 Bloques Real to…

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:

Fig. 1. 171 Bloque AND.

1. Pin de Entrada: en este pin se ingresa un valor 0 o 1, es de dato de tipo


BOOL.
2. Pin de Entrada: en este pin se ingresa un valor 0 o 1, es de dato de tipo
BOOL.
3. Pin de salida: En este pin se activa la salida de acuerdo a la siguiente
tabla de verdad:

Tabla 1. 5 Tabla de verdad para los pines de salida.

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

Fig. 1. 172 Bloque OR.

o Pin de Entrada: en este pin se ingresa un valor 0 o 1, es de dato de


tipo BOOL.
o Pin de Entrada: en este pin se ingresa un valor 0 o 1, es de dato de
tipo BOOL.
o Pin de salida: En este pin se activa la salida de acuerdo a la
siguiente tabla de verdad:

86
Tabla 1. 6 Tabla de verdad para los pines de salida.

 LevelHigh: Este tipo de bloque se utiliza para realizar indicaciones de nivel,


indicando un estado de nivel normal y otro estado la alarma de nivel alto.
Se representa gráficamente:

Fig. 1. 173 Bloque LevelHigh.

o Enable: Se refiere a la activación del bloque para que realice la


comparación entre la señal de entrada con respecto al valor dado,
debe ser una variable de tipo Bool.
o In: Entrada de la señal a analizar, debe ser un dato de tipo Real.
o Hysteresis: Se refiere si existe una histéresis en la medición,
previene falsas alarmas en el análisis de la señal de entrada, debe
ser un tipo de datos Real.
o Level: Se refiere al valor máximo de nivel que deseamos que se
active la alarma, debe ser un tipo de datos Bool.
o LTL: Indicación de estado de nivel por debajo de la alarma
establecida.
o InGtLevel: Indicación de estado de nivel por sobre la alarma
establecida (indica la alarma alta de nivel), debe ser un dato de tipo
Bool.

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:

Fig. 1. 174 Bloque LevelLow.

o Enable: Se refiere a la activación del bloque para que realice la


comparación entre la señal de entrada con respecto al valor dado,
debe ser una variable de tipo Bool.
o In: Entrada de la señal a analizar, debe ser un dato de tipo Real.
o Hysteresis: Se refiere si existe una histéresis en la medición,
previene falsas alarmas en el análisis de la señal de entrada, debe
ser un tipo de datos Real.
o Level: Se refiere al valor mínimo de nivel que deseamos que se
active la alarma, debe ser un tipo de datos Bool.
o LTL: Indicación de estado de nivel por debajo de la alarma
establecida.
o InGtLevel: Indicación de estado de nivel por debajo de la alarma
establecida (indica la alarma baja de nivel), debe ser un dato de tipo
Bool.

88
1.10.5. Programando con Diagramas de bloques

En esta sección nos dispondremos a realizar una programación en el lenguaje de


bloques. Se explicará cómo realizar la construcción de los bloques, conectar sus
pines con respecto a otros bloques o realizar una unión entre un pin y una
interconexión entre bloques, verificar la programación, y realizar la simulación de
la lógica creada o modificada. Al cambiar el lenguaje de programación a FBD
(Diagrama de Bloques de funciones), mostrara casi el mismo ambiente de trabajo
que Ladder.

Fig. 1. 175 Editor POU.

Para empezar a programar en este lenguaje, se hace lo siguiente:


A. En primer lugar, se debe reconocer las variables a manipular y las
variables controladas, una vez identificadas, se deben declarar en el editor
POU, escribiendo un nombre, un tipo de dato, un atributo (opcional),
condiciones iniciales (en caso de que requiera en la variable), y una
descripción (es recomendable, para evitar confusiones al momento de
programar).

Fig. 1. 176 Declaración de variables.

89
B. Para insertar un bloque, se debe hacer un click derecho en la zona de (1) y
seleccionar “Insert Function/Function block”.

Fig. 1. 177 Ingresar un Bloque.

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 .

Fig. 1. 178 Búsqueda del bloque.

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.

Fig. 1. 179 Búsqueda en librería.

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.

Mientras que en la librería básica (basicLib), se encuentran los bloques de


funciones para un tipo de programación básica, en ella se encuentran los bloques
como contadores, temporizadores (Ton, Toff, TP), bloques para establecer
valores mínimos, medios y máximos según el tipo de datos, entre otras, por
ejemplo seleccionar el bloque AND:

Fig. 1. 180 Búsqueda en librería.

Luego muestra la ventana de inserción de bloques, con el bloque seleccionado,


se presiona “OK”:

Fig. 1. 181 Selección del bloque.

91
Mostrará el bloque en la zona de códigos.

Fig. 1. 182 Bloque en la zona de códigos.

Para insertar otro bloque de funciones, se procede de la misma forma, a


continuación, podemos insertar otro bloque de la misma forma anteriormente
descrita o insertar el nuevo bloque seleccionando el ya creado, haciendo click
derecho y seleccionando “Insert Block/Function Block”.

Fig. 1. 183 Selección del bloque.

Y se abrirá la venta de inserción de bloques, con el bloque seleccionado


anteriormente, se selecciona el botón .

Fig. 1. 184 Búsqueda del bloque OR.

92
Y se busca el bloque OR dentro de la librería “System”.

Fig. 1. 185 Búsqueda en librería.

Fig. 1. 186 Búsqueda en librería.


Se selecciona “or”, y se presiona “OK”

Mostrará de nuevo la ventana con el bloque seleccionado, se vuelve a presionar


“OK”.

Fig. 1. 187 Selección del bloque.

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

Fig. 1. 188 Orden de los bloques.

Y mostrará en el área de códigos el bloque función OR.

Fig. 1. 189 Bloques en la zona de código.

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,

Fig. 1. 190 Conexión entre bloques.

Luego manteniendo presionada la tecla “CTRL” y seleccionando el pin al que se


desea que esté conectado..

Fig. 1. 191 Conexión por pin.

Y los bloques quedaran conectados de la siguiente manera.

Fig. 1. 192 Bloques conectados.

Si se desea invertir la lógica de las señales booleanas, es decir, poner un pin de


entrada con un bit negado, se debe seleccionar el pin de entrada deseado, hacer
click derecho sobre él, y seleccionamos “Invert..”

Fig. 1. 193 Negación de un pin.

95
Y el pin de entrada del bloque, se mostrara con un círculo, lo que indica que el bit
se encuentra negado.

Fig. 1. 194 Pin negado.

D. Ya una vez finalizado el diseño de los bloques se procede a realizar la


asignación de variables declaradas, para ello, se selecciona el pin, click
derecho sobre él, y se presiona “Connect…”, o bien doble clikc sobre el
pin.

Fig. 1. 195 Ingreso de variables.


Y abrirá la ventana de asignaciones de variables, como se muestra a
continuación.

Fig. 1. 196 Búsqueda de variable.

96
Luego se puede presionar el comando rápido “CTRL+J” y se abrirá una venta
emergente mostrando todas las variables declaradas.

Fig. 1. 197 Búsqueda de variable.

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

Fig. 1. 198 Selección de la variable.

Fig. 1. 199 Selección de variable.

Por lo que en el pin se mostrara con el nombre de la variable seleccionada.

Fig. 1. 200 Variable conectada al pin.

Se realiza de la misma manera con los pines restantes.

97
Segundo pin:

Fig. 1. 201 Ingreso de la otra variable al pin restante.

Tercer Pin:

Fig. 1. 202 Conexión de pin a variable.

98
Pin de salida:

Fig. 1. 203 Variable de salida.

Resultando el diagrama de bloques de la siguiente manera:

Fig. 1. 204 Diagrama finalizado.

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.

Fig. 1. 205 Verificación de la programación.


Se debe mostrar una ventana de dialogo indicando si existe algún error en la
programación.

Fig. 1. 206 Ventana de mensajes.


La cual debe indicar la fecha y hora de la revisión de la lógica, y el sumario de la
programación. Idealmente debe indicar 0 errores y 0 advertencias.

Fig. 1. 207 Verificación de errores.

100
En el caso de que existiese un error, el mensaje debería mostrar lo siguiente:

Fig. 1. 208 Presencia de errores.

En donde el mensaje de error muestra que el tipo de datos es incompatible,


debiendo ser Booleano y no real como se muestra declarado.

Fig. 1. 209 Mensaje de error.

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.

Fig. 1. 210 Resolución del error.

F. Por último, para actualizar los cambios realizados, guardamos la


programación en el proyecto. Existen dos formas de guardado, una es
guardar y salir (que guarda las modificaciones y cierra el editor POU) y la
siguiente es Guardar (solo guarda las modificaciones sin cerrar el Editor
POU).Para Guardar y cerrar el editor Pou, se selecciona en la barra de
menú superior el icono .

Fig. 1. 211 Guardar y cerrar.

102
Y para guardar sin cerrar el editor POU se hace click en .

Fig. 1. 212 Guardar sin cerrar.

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.

G. Por último se debe simular para comprobar si realmente la lógica creada


funciona correctamente, para ello se deben guardar los cambios y salir del
editor POU (de la misma forma que en Ladder), quedara la ventana
principal de Control Builder.

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.

Fig. 1. 213 Estanques.


Se debe crear una lógica para el control de la bomba de impulsión y de la válvula
de control de nivel, además de indicar alarmas altas de y bajas de nivel para el
estanque. Las dimensiones del estanque son de 10 metros de alto y 6 metros de
diámetro, La lógica debe ser la siguiente:

Primero al no existir nivel en el estanque, la válvula debe estar abierta y su alarma


de nivel bajo estará activa solo hasta 2 metros de altura, al subir el nivel del agua
servida se llenara el estanque, desactivando la alarma baja de nivel, y
continuando el llenado hasta activar la alarma alta.

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:

De acuerdo al problema planteado, se debe analizar las variables a utilizar en el


proceso, facilitando el trabajo en Control Builder. A continuación se procede a
ejemplificar la creación de una lógica en diagrama de bloques:
1) Para este nuevo programa, se utilizara el mismo proyecto utilizado
anteriormente, creando la lógica en un programa diferente, por lo que se
tiene que crear un programa nuevo, además del nombre que ahora será
“Control_nivel”

Fig. 1. 214 Programa en control builer.


2) Al abrir el programa creado “Control_nivel”, aparecerá el editor POU

Fig. 1. 215 Editor POU.

105
3) Como ahora se trabajara con diagrama de bloques, es necesario cambiar
el lenguaje de programación

Fig. 1. 216 Cambio de lenguaje.

Seleccionando el lenguaje “Function Block Diagram” (FBD)

Fig. 1. 217 Selección de lenguaje.

Y el ambiente de trabajo cambiara para realizar la programación en lenguaje de


Bloques.

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:

Fig. 1. 218 Declaración de variables.

5) Ya declaradas las variables, se puede empezar con la creación de la


lógica.

Para insertar el primer bloque, se presiona click derecho en la zona de (1) y


seleccionar “Insert Function/ Function Block…”

Fig. 1. 219 Insertar bloque.

Y aparecerá un cuadro en donde se puede buscar el tipo de bloque que se


necesite, para ello presionamos el botón ( ).

Fig. 1. 220 Tipo de bloque.

107
Aparecerá un recuadro con dos opciones para expandir, en donde se encuentran
todas las funciones del sistema.

Fig. 1. 221 Librerías.

Primero se añade un bloque “LevelHigh”, ubicado en las librerias básicas o


“BasicLib”, por lo que se expande este menú y se busca el bloque deseado.

Fig. 1. 222 Búsqueda en librerías.

108
Seleccionar LevelHigh y presionar “OK”, a lo que aparece la misma ventana de
selección de bloques, con el nombre del bloque.

Fig. 1. 223 Selección de bloque.

En el nombre del bloque aparece por defecto como “LevelHigh_1”, se le puede


asignar un nombre cualquiera a este bloque (siendo este paso opcional), en este
caso se le asignará de nombre “Alarma_alta”.

Fig. 1. 224 Nombre del bloque.

Presionando “OK”, el bloque aparecerá en el editor de códigos:

Fig. 1. 225 Bloque en la hoja de códigos,

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

Fig. 1. 226 Insertar otro bloque.

Apareciendo la misma ventana de selección de bloques, se busca el bloque


deseado en “BasicLib”, y se le da el nombre de “Alarma_baja”

Fig. 1. 227 Búsqueda y nombre del bloque.

Al hacer presionar “OK”, aparecerá una ventana preguntando si se desea agregar


el nuevo bloque antes del primer bloque creado o después, en este caso será
después, por lo que se presiona “NO”.

Fig. 1. 228 Ubicación del bloque.

110
Quedando el nuevo bloque en la parte inferior del bloque ya existente.

Fig. 1. 229 Nuevo bloque en la parte inferior.

6) Se recomienda ir ingresando las variables a medida que se van ingresando


los bloques, ya que al momento de ingresar una variable se crean líneas y
al momento de haber muchas líneas se puede generar una confusión.

Se selecciona el pin “Enable” del primer bloque (LevelHigh), click derecho sobre
él, y luego “Connect...”

Fig. 1. 230 Asignar variable al pin.

Abriéndose la ventana de asignación de variables:

Fig. 1. 231 Búsqueda de la variable.

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

Fig. 1. 232 Selección de la variable.

Luego de presionar “OK” se mostrara el nombre de la variable en el inicio del pin


“Enable”

Fig. 1. 233 Pin conectado a la variable.

El “Enable” del segundo bloque (LevelLow), se conectará al mismo “PE”, por lo


que el bloque se mostrara de la siguiente forma:

Fig. 1. 234 Pin del otro bloque a la misma variable.

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

Fig. 1. 235 Conexión de variable.


Aparecerá la ventana de asignaciones de variables en la cual se debe ingresar la
variable deseada, en este caso sera “Señal_nivel”

Fig. 1. 236 Búsqueda de variable.


Luego se presiona “OK”

Fig. 1. 237 Selección de la variable.


Y se mostrara en el diagrama de bloques, la variable asignada.

Fig. 1. 238 Pin conectado.

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.

Fig. 1. 239 Pin del otro bloque a la misma variable.


No se considerarán los parámetros de Hysteresis, ya que el ejercicio se realizara
en condiciones ideales. Por lo que se procederá a conectar el parámetro “Level”
en ambos bloques.

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:

Fig. 1. 240 Conexión del parámetro “Level”.

7) Una vez conectados todos los parámetros de entrada, se procede a


insertar los bloques que determinaran las salidas del proceso, uno de los
bloques a insertar, permitirá la activación de la valvula de control
denominado “AND”, permitirá la activación de la salida de cada bloque
cuando esten desactivadas las alarmas.

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

Fig. 1. 241 Insertar otro bloque.

El bloque AND se encuentra ubicado en las librerías del sistema o “system”, una
vez se encuentra se presiona “OK”

Fig. 1. 242 Librería.

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.

Fig. 1. 243 Nuevo bloque.

8) Luego se deben conectar las salidas “LTL” y “GTL”, pertenecientes al


bloque LevelHigh y LevelLow respectivamente, a cada una de las entradas
del bloque AND, para ello, se selecciona un pin de entrada del bloque
AND, se mantiene presionada la tecla “Ctrl” y se hace click en el pin de
salida “LTL”

Fig. 1. 244 Conexión de un pin a otro.


Y se mostrara lo siguiente:

Fig. 1. 245 Pines conectados.

116
Se hace lo mismo para la salida “GTL” del bloque LevelLow hacia la segunda
entrada del bloque AND

Fig. 1. 246 Conexión de un pin a otro.


Una vez conectado se verá así:

Fig. 1. 247 Diagrama hasta el momento.

De esta forma se tiene un estado para los niveles en condiciones normales.

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.

Fig. 1. 248 insertando otro bloque.

118
10) Se Debe conectar una de las entradas del bloque AND a la salida del
bloque AND

Fig. 1. 249 Conexión entre pines.

Y quedara de la siguiente manera:

Fig. 1. 250 Bloque conectado.

Mientras que en el segundo pin de entrada del bloque AND, se conectará a la


variable “PE”, quedando el diagrama de la siguiente forma:

Fig. 1. 251 Conexión a variable.

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.

Fig. 1. 252 invertir estado del pin.


A lo cual un circulo aparecerá en la entrada, indicando que se encuentra negada
la entrada:

Fig. 1. 253 Pin negado.


Lo mismo se aplicaría para LevelLow.

Fig. 1. 254 Pin negado.


Y por último en el Bloque AND.

Fig. 1. 255 Pin negado.

120
12) A continuación se designan las salidas que indicaran las alarmas altas y
bajas respectivamente.

Fig. 1. 256 Asignación de variables.


Y el diagrama de bloques se mostrara así:

Fig. 1. 257 Variable conectada.

Del mismo modo se realiza la asignación de la variable de la alarma de bajo nivel.

Fig. 1. 258 Asignación de variable.

121
Quedando el diagrama de bloques de la siguiente forma:

Fig. 1. 259 Variable conectada.

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.

Fig. 1. 260 Insertar bloque OR.

El bloque OR se encuentra ubicado en las librerías del sistema o “system”, una


vez insertado el bloque, el diagrama se debería ver así:

Fig. 1. 261 Bloque OR en la hoja.

122
Se Debe conectar una de las entradas del bloque OR a la salida del bloque AND
existente

Fig. 1. 262 Conexión de pin del nuevo bloque.


Quedando de la siguiente manera.

Fig. 1. 263 Bloque conectado.

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

Fig. 1. 264 Conexión de variable.


Y se asigna la variable “Alarm_bajo”, a lo cual el diagrama de bloques se verá de
la siguiente forma:

Fig. 1. 265 Diagrama hasta el momento.

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

Fig. 1. 266 Conexión de variable.

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.

Fig. 1. 267 Insertar nuevo bloque.

Y se creará el bloque OR en la parte inferior del bloque LevelLow.

Fig. 1. 268 Nuevo bloque.

125
Después se inserta el bloque AND, este bloque se ubicará bajo el bloque OR
recién creado.

Fig. 1. 269 Insertar nuevo bloque.

Y se creará el bloque AND en la parte inferior del bloque OR.

Fig. 1. 270 Nuevo bloque.

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

Fig. 1. 271 Conexión de pines.


Quedando de la siguiente forma:

Fig. 1. 272 Pines conectados.


Se Conectan las variables de alarma alta y la alarma baja, variables que
condicionan la partida de la bomba. Primero se conecta la primera entrada del
Bloque OR a la variable de la alarma alta que se encuentra en el pin LTL del
bloque LevelHigh, una vez hecha la conexión, el diagrama se vera de la siguiente
forma:

Fig. 1. 273 Línea del Pin.

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

Fig. 1. 274 Conexión de pin.

Ahora corresponde asignar la variable “bba_func” que representa al


funcionamiento de la bomba de impulsión, la cual se conecta a la salida del
bloque AND y a una de las entradas del bloque OR

Fig. 1. 275 Asignación de variable.

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

Fig. 1. 276 Insertar bloque.


Y se mostrara un tercer bloque OR.

Fig. 1. 277 Nuevo bloque.

Luego se conecta el primer pin del Bloque OR a la variable “PE”, quedando el


diagrama de bloques de la siguiente manera:

Fig. 1. 278 Conexión de pin.

129
A continuación se conecta la variable “Alarm_bajo” en el segundo pin del Bloque
OR

Fig. 1. 279 Conexión de variable.

Y el diagrama de bloques tomara la siguiente conexión:

Fig. 1. 280 Conexión de pin.

Y por último el pin de salida del bloque OR, se conecta al segundo pin negado del
bloque AND.,

Fig. 1. 281 Conexión de pin.

130
En consecuencia, el diagrama de bloque de forma general quedaría de la
siguiente forma:

Fig. 1. 282 Diagrama final.

16) El siguiente paso es verificar la programación:

Fig. 1. 283 Comprobación del programa.

131
Si la programación se encuentra correcta, no aparecerán errores ni advertencias:

Fig. 1. 284 Lista de errores.

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.

Fig. 1. 285 Simulación del programa.

Para comenzar a simular se debe tener en cuenta el planeamiento del ejercicio.


Primero se debe considerar que al no existir nivel en el estanque, la señal de
nivel será 0.0 metros, por lo que su válvula de control de nivel debe permanecer
abierta, además de indicar su alarma de nivel bajo.

Fig. 1. 286 Estanque sin nivel.

133
Ya que el nivel es 0.0, se debe activar la apertura de la válvula:

Fig. 1. 287 Apertura de la válvula.

Observando la imagen, se puede concluir que se cumple la condición de que la


señal de nivel este marcando 0.0, que se encuentre activa la apertura de la
válvula de control y la alarma de nivel bajo esta activa.
Una vez aumente el nivel, se desactivará la alarma de nivel bajo y la válvula de
control continuará estando abierta, para lograr esto se debe aumentar el nivel en
forma manual a 5.0 metros, haciendo click en la celda del valor de la variable
“Señal_Nivel” y modificarla a “5.0”.

Fig. 1. 288 Cambio de estado.

Siendo el estado físico del proceso como se muestra a continuación:

Fig. 1. 289 Señal de nivel medio.

134
Y también se pueden apreciar los cambios que sufrio la lógica al aumentar el nivel

Fig. 1. 290 Cambios en la lógica.


A continuación se debe aumentar su nivel aún más, hasta los 9.5 metros, debido
a esta modificación se sobrepasará el set point de la alarma de nivel alto (9.0
metros), causando el cierre de la válvula de control de nivel y además pondrá en
funcionamiento la bomba de impulsión.

Fig. 1. 291 Cambio de estado.

Físicamente el proceso se verá como se muestra a continuación:

Fig. 1. 292 Puesta en marcha de la bomba.

135
Y en la parte lógica, se pueden observar los cambios sufridos a causa de la
modificación del nivel:

Fig. 1. 293 Bomba activa en la lógica.

Ya que la bomba se encuentra funcionando y la válvula de control está cerrada, el


nivel comenzara a bajar, desactivando la alarma alta de nivel y causando la
apertura de la válvula. Aun cuando la bomba se encuentra funcionando y la
válvula abierta, el nivel del agua continuara bajando, debido a que la capacidad
de la bomba del nivel de estanque está sobredimensionada (planteada en el
ejercicio), por lo que el nivel se ubicara ahora en los 8.0 metros.

Fig. 1. 294 Cambio de estado.

Y el estado del proceso será la siguiente:

Fig. 1. 295 Nivel bajando.

136
El diagrama indicara lo siguiente de acuerdo al cambio realizado:

Fig. 1. 296 Cambio en la lógica.

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:

Fig. 1. 297 Cambio de estado.

El proceso cambiara como se muestra a continuación:

Fig. 1. 298 Nivel mínimo.

137
Y la lógica también se modificará a causa del nuevo valor de nivel:

Fig. 1. 299 Cambio en la lógica.

La secuencia se repetiría cíclicamente. A continuación, para probar el


funcionamiento de la parada de emergencia, se debe ubicar el proceso en
funcionamiento, es decir, estando la bomba activa y la válvula de control de nivel
abierta (durante la descarga, a los 5.0 metros de altura), al activar la parada de
emergencia se debe detener el motor y cerrar la válvula simultáneamente. Se
cambia de estado la variable “PE” para activarla:

Fig. 1. 300 Cambio de estado.

Se puede observar la desactivación de la bomba y el cierre de la válvula en la


lógica, comprobando que la parada de emergencia funciona:

Fig. 1. 301 Cambio en la lógica.

Esto marca el fin de la comprobación por simulación, demostrando que la lógica


realizada funciona correctamente.

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:

Fig. 1. 302 Ejemplo de diagrama de bloques.

Este lenguaje es bastante parecido a Visual Basic, prácticamente son iguales,


diferenciándose en la sintaxis al momento de insertar sus operadores o funciones
(por caracteres como “;” , “,” , etc.). Texto estructurado permite, además, la
inserción de comentarios, expresiones lógicas y matemáticas.
A continuación se listaran varios de sus operadores y expresiones, que pueden
ser matemáticas o booleanas:

 Operadores de Asignaciones: A una variable se le asigna un determinado


valor con una instrucción de asignación, cada instrucción de asignación
siempre se concluye con un punto y coma (;), los operadores de
asignación se detallan a continuación:
Tabla 1. 7 Operadores.

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.

 Expresiones: Existen diferentes tipos de expresiones, entre ellas las que


contienen operadores booleanos ( and, or, not, xor), operadores
matemáticos (+,-,*,/, **, mod), y expresiones que pueden contener
operadores relacionales (=, >=,<=,<,<>). Los resultados de una expresión
son siempre de un solo valor. Los operadores pueden ser + ,- , /. Las
funciones pueden ser matemáticas como las de Seno y coseno y los
operando pueden ser un valor, una variable, una función o cualquier
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

 Expresiones y operadores matemáticas:


Tabla 1. 9 Expresiones matemáticas.

Operador Descripción
** Exponencial
* Multiplicación
/ División
+ Suma
- Resta
mod Modulo

 Expresiones y operadores relacionales:


Tabla 1. 10 Expresiones relacionales.

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.

Tabla 1. 11 Sentencias condicionales.

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.1. Ejercicio resuelto N°1


Se desea realizar una pequeña programación de un proceso, el cual posee un
instrumento que indica la temperatura expresada en °F (grados Farenheit) y se
necesita hacer la conversión a grados Celsius, la fórmula para realizar la
conversión es la siguiente:
5.0
°𝐶 = ∗ (°𝐹 − 32.0)
9.0
Realice la programación de dicha conversión.

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

2) Una vez abierto el programa creado, en el editor POU, se puede observar


que el editor siempre se ejecuta con el lenguaje de texto estructurado por
defecto, por lo que se puede saltar el paso de cambiar el tipo de lenguaje a
utilizar:

141
Fig. 1. 303 Declaraciones de variables.

3) Se procede a declarar las variables a utilizar, siendo variables de carácter


matemático, se consideran como tipo de datos reales.

Fig. 1. 304 Variables.

4) Luego se procede a escribir la programación en texto estructurado. Al ser


solamente una función matemática, se debe escribir la variable “Celsius”,
que es el resultado del lenguaje.
Debemos escribir la variable tal cual como fue declarada anteriormente, seguido
de un “:=” (sin espacio).

Fig. 1. 305 Variable en código.


Luego se escribe la ecuación matemática, respetando los paréntesis (ya que tiene
más prioridad que el resto de la ecuación), y al finalizar se debe escribir un “;”, de
la siguiente forma: “5.0/9.0*(farenheit-32.0);”

Fig. 1. 306 Ecuación en código.

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.

Fig. 1. 307 Verificación del programa.

Si la programación esta correcta, el panel de chequeo mostrara 0 errores y 0


advertencias.
6) Guardamos los cambios y salimos del editor POU presionando el botón (
).

Fig. 1. 308 Guardado del programa.

7) Se continua con una simulación para comprobar el funcionamiento de la


programación, presionando el botón ( ) en la ventana principal de Control
Builder:

Fig. 1. 309 Modo simulación.

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.

Fig. 1. 310 Modo simulación

En la imagen anterior se muestra los estados de cada variable encerrados por un


recuadro azul, se puede observar 0.0°F y en Celsius muestra -17.778.

Se procede a simular una entrada de 32°F para ver su equivalente en °C.

Fig. 1. 311 Cambio de estado.

Y el resultado se mostrara en la simulación:

Fig. 1. 312 Resultado de la simulación.

Como se Puede observar, la lógica funciona perfectamente, mostrando valores


correctos de la conversión de unidades.

1.10.6.3. Ejercicio Resuelto N°2

Usando el mismo programa creado anteriormente, se pide crear un nuevo


programa en otra hoja de código, y desarrollar el siguiente ejercicio.
Se desea realizar la marcha de un motor de una sierra eléctrica. Realice el
programa en texto estructurado, que permita el control del motor (sin
enclavamiento), además de tener un piloto para cada estado (un piloto que señale
cuando el motor esté funcionando y otro piloto que indique cuando el motor está
detenido).

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

Fig. 1. 313 Creación de hoja nueva.

2) Hay que dirigirse a la parte inferior del editor, en la pestaña de nombre


“Code”, click derecho, para luego seleccionar “Insert”.

Fig. 1. 314 Creación de hoja nueva.

Por consiguiente se abrirá una ventana preguntando qué tipo de lenguaje se


utilizara en la nueva pestaña, además de indicar un nombre a la hoja de códigos.
Ya que se está trabajando con Lenguaje estructurado, se selecciona “Structured
Text (ST), dejando el nombre por defecto “Code2”.

145
Fig. 1. 315 Cambio de lenguaje.

Y se creara una segunda hoja de códigos con el nombre “Code2”.

Fig. 1. 316 Segunda hoja de códigos.

Como se puede observar en la imagen anterior, las variables de la lógica anterior


se mantienen, debido a que se encuentran en el mismo programa y pueden ser
utilizados en la segunda hoja de códigos.

3) Una vez creada la nueva hoja de códigos, se proceden a declarar las


variables a utilizar para esta programación.

Fig. 1. 317 Variables.

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:

Fig. 1. 318 Programación.

5) A continuación se verifica si la programación fue realizada correctamente,


para ello se presiona el botón ( ), que se encuentra en la barra de
herramientas del editor POU.

Fig. 1. 319 Verificación del programa.

De estar correcta la programación, no se encontrarán errores ni se mostrarán


advertencias:

Fig. 1. 320 Hoja de mensajes.


6) Se guardan los cambios y se sale del editor POU:

Fig. 1. 321 Guardar y salir.

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:

Fig. 1. 322 Modo simulación.

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.

Ya que la variable “Start” se encuentra en “False”, se puede observar además,


que el motor se encuentra detenido y el piloto de detención encendido.

Fig. 1. 323 Estados de las variables.

148
Se procede a cambiar el estado de la variable “Start” a verdadero “true”.

Fig. 1. 324 Cambios de estado.

La simulación indicará que el motor está funcionando, y el piloto de


funcionamiento esta encendido.

Fig. 1. 325 Motor funcionando.

De acuerdo a esto, se puede concluir que la lógica realizada funciona


correctamente.

149
Capítulo 2

Simulación de Control en Molino SAG


2.1. Abstract

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.

Fieldbus Builder es un subprograma del sistema IT 800XA, este nos


permitirá realizar todas las configuraciones de los instrumentos y establecer
parámetros con protocolo de comunicación Fieldbus Foundation, mientras que
Process Graphics proporciona herramientas para el diseño gráfico de las
pantallas de visualización del proceso. Estos softwares están incluidos en el
sistema ABB 800XA, por lo que el acceso a ellos no es de forma directa como
Control Builder.

Este capítulo se divide en 3 partes, la primera es el uso de Fieldbus


Builder, especificando su uso paso a paso para realizar la configuración de los
instrumentos de la maleta, la segunda parte consiste en la descripción de Process
Graphics y su entorno de trabajo, terminando en la tercera parte, la cual consiste
en la simulación de un molino SAG con dos HMI, este ejercicio se dividirá en 4
fases de programación.

150
2.2. Feldbus Builder

Este es un subprograma del sistema IT 800 XA, su funcionamiento es similar al de


Control Builder, con la diferencia de que FIELDBUS BUILDER no gestiona lógicas
de control, sino que se encarga de la configuración de los instrumentos
soportados por el protocolo Fieldbus Fundation, dentro de estas configuraciones
se puede designar el uso que se le dará a cada instrumento y sus parámetros,
además de mantener una base de datos de las señales que se encuentran
suscritas al host, para posteriormente utilizarlas en parte del desarrollo de las
lógicas de control (Control 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. 1 Icono de My ePlant.

Abriéndose la siguiente ventana:

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:

Fig. 2. 3 Pasos para abrir Fieldbus Builder.

Después se abrirá otra ventana preguntando qué es lo que se quiere hacer en la


subred de Fieldbus, si se desea agregar y configurar nuevos instrumentos se
presiona “Edit subnet”, pero si solo se quiere observar la red y no modificarla, se
presiona “View Subnet”, esta vez solo se observará la subred, por lo que se
presiona “View Subnet”.

Fig. 2. 4 Visualizar la sub-red.

152
Se abrirá la siguiente ventana (en modo Observador o “View Subnet”)

Fig. 2. 5 Fieldbus Builder.

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 (4) muestra el panel principal de configuración, en este panel se realizan las


configuraciones que puede ser de forma general, para una red en específico, un
conjunto de instrumentos o un instrumento en específico.

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)

Retomando el árbol general de la red, (1, 2 y 3):

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.

Fig. 2. 6 Red Fieldbus.

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

Fig. 2. 7 Servidor OPC.

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

Fig. 2. 8 Red Fieldbus.

Tambien se puede expandir esta sección, la cual contiene los mismos elementos
de comunicación:

Fig. 2. 9 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)

Fig. 2. 11 Configuración del HOST.

En la imagen se observan tres pestañas, que son:

 “Comunication”: se establece la dirección IP del Host, incluyendo un Host


redundante (si se encuentra disponible), es decir si este host, entra en falla,
para no detener el proceso entra en funcionamiento un segundo Host.

 “Published/Subscribed” : En esta pestaña de los parámetros del Host,


muestra ( en este caso) todas las señales de los instrumentos Fieldbus
indicados por un canal, la dirección o conversión del tipo de señal ( desde
lenguaje de programación a protocolo FF o Viceversa), nombre de las
señales, tipo de datos (discreto o análogo), las unidades de medidas que
se están utilizando y su ciclo de actualización, además muestra en
porcentaje la carga que posee con respecto a la cantidad de señales que
están suscritas en el HOST indicado en “Calculated FF comunication load”,
en la parte inferior de las señales suscritas.

156
Fig. 2. 12 Señales de los instrumentos fieldbus.

Volviendo al árbol, ahora se procede a explicar la rama “HSE (LD800HSE)”

Fig. 2. 13 Red HSE.


De la imagen anterior, se puede observar la descripción del Linking Device,
indicando su TAG, tipo de modulo (modelo del módulo de comunicación) su
dirección IP, además muestra los segmentos que tiene conectados o asociados,
es decir, cuántos Megablocks (bloques en terreno) están asociados, los cuales
soportan una cierta cantidad de instrumentos FF conectados:

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:

Luego al expandir la rama “HSE (LD800HSE)”, se puede observar la cantidad de


segmentos que se encuentran configurados en la red H1, en este caso la
explicación solo se centrará en uno de ellos, ya que se sigue el mismo
procedimiento para cada segmento, solo que varían los instrumentos. En la
siguiente imagen se tienen dos segmentos “LDE_H1-1(H1 Link)” y “LDE_H1-2 (H1
Link)”, de los cuales solo se explicará el segmento “LDE_H1-1(H1 Link)”:

Fig. 2. 15 LDE, Linking Device.

158
Al seleccionar y expandir el “LDE_H1-1(H1 Link)”, se puede observar lo siguiente:

Fig. 2. 16 Instrumentos en el segmento.

Como se puede apreciar, el segmento contiene una lista de todos los


instrumentos que se encuentran en él, además de listar sus características. Si se
observa al costado izquierdo, aparte de los instrumentos configurados en el
segmento, se encuentra otra rama llamada “LDE_H1-1_SCH (H1 Schedule)” al
hacer click y expandirla se abre lo siguiente:

Fig. 2. 17 Agenda de señales.

Esto es lo que se conoce como agendamientos de señales, en el cual se


describen los ciclos de funcionamiento o de actualización de las señales FF.

159
AL hacer click en “LDE_H1-1_SCH (FF Applic’n)” se observa lo siguiente:

Fig. 2. 18 Bloques funcionales.

A. Bloques de funciones, que cumplen una o más funciones específicas de un


instrumento, puede utilizarse más de un bloque por cada instrumento de
acuerdo a lo que se desee en el proceso (la cantidad de bloques se
encuentran limitadas de acuerdo a la librería de cada instrumento).

B. Librería de los bloques de funciones de cada instrumento, se utiliza al


momento de configurar el instrumento.

C. Librerías de los instrumentos instaladas en el sistema.

Al seleccionar los instrumentos, en este caso “FF_TMT85 (Endr TMT85)”

Fig. 2. 19 Selección de instrumentos.

160
Se abrirá la siguiente ventana:

Fig. 2. 20 Instrumento Fieldbu.

Esta ventana muestra la descripción de los instrumento con sus especificaciones,


además, en la parte inferior de la imagen del instrumento, se pueden observar los
bloques de funciones, donde se pueden observar bloques que se encuentran en
uso, los bloques de que no se están usando se verán de color transparente.

Se hace lo mismo si se quiere observar la descripción y configuración de los


demas instrumentos.

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

Fig. 2. 21 Menu de My ePlant.

Una vez seleccionado Functional Structure, se debe insertar un nuevo objeto

Fig. 2. 22 Agregar objeto.

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:

Fig. 2. 23 Agregar Objeto.

Luego se debe crear un nuevo Aspect en el objeto que se acaba de crear

Fig. 2. 24 Nuevo Aspecto.

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.

Fig. 2. 25 Graphic display y nombre.

Al momento de presionar “Create”, se agregara un elemento denominado


“Graphic Display”

Fig. 2. 26 Graphic display.

164
Luego se presiona click derecho sobre “Graphic Display” y luego “Edit”

Fig. 2. 27 Edicion de graphic display.

Por consiguiente se iniciará Graphic Builder

Fig. 2. 28 Ejecución de graphics builder.

165
Una vez abierto, se tiene el área de trabajo en Graphic builder como se
muestra en la siguiente imagen:

Fig. 2. 29 Ambiente en Process Graphics.

A continuación se dispondrá a describir algunas de las herramientas y menús


más relevantes que se pueden encontrar en este programa

Fig. 2. 30 Ambiente en Process Graphics.

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.

 Menú de elementos: Aquí se pueden encontrar todos los elementos


gráficos con los que cuenta process graphics, se pueden encontrar
desde elementos muy básicos como botones, hasta gráficos y
elementos en 3D.

 Panel de edición: Los elementos gráficos se deben ubicar en este


panel, una vez ubicados, se puede tener acceso al panel de
propiedades de dichos elementos.

 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 estado: Observando la barra se puede conocer el estado de


Graphics builder (se muestra Ready cuando está listo para edición, y
Saved una vez guardado el Graphic Aspect), estado de Aspect
Approve, Modo Online/Offline así como también el usuario actualmente
usando la plataforma.

 Barra de Herramientas: En esta barra se pueden encontrar varias


herramientas para la edición de los elementos, así como también
ciertos menús los cuales contienen más herramientas para ayudar en la
edición.

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

Fig. 2. 32 Menú de gráficos.

 Pie Chart: Grafico cirular usado comúnmente para identificar las tendencias
en un determinado grupo de datos.

Fig. 2. 33 Grafico circular.

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.

Fig. 2. 34 Grafico de radar.


 Trend: Grafico que permite observar la tendencia de una secuencia de
datos a través del tiempo, lo cual sirve para realizar un análisis de los
cambios que se han producido.

Fig. 2. 35 Grafico de tendencia.


 XY Graph: Grafico que indica el comportamiento de los datos con respecto
a 2 variables, con un máximo de hasta 99 lineas de datos.

Fig. 2. 36 Grafico XY.


 XY Plot: Grafica que muestra una curva con valores X e Y, los cuales
generalmente se comparan con respecto al tiempo.

Fig. 2. 37 Plot XY.

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. 38 Menú de símbolos básicos.

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.

Fig. 2. 40 Símbolos gráficos.

Fig. 2. 41 Símbolos gráficos.

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.

Fig. 2. 44 Menú de símbolos estándar.

Fig. 2. 45 Símbolos estándar.

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

Luego se le debe asignar la variable de entrada, para poder hacer esto,


hay que dirigirse a la ventada de propiedades del botón y se busca la línea
que diga “Target”

Fig. 2. 47 Propiedades.

174
Hacemos click en el botón tipo engrane (settings) y se abrirá la siguiente
ventana:

Fig. 2. 48 Editor de expresiones.


Si se le quiere dar al botón el poder de iniciar un proceso, se debe

seleccionar , luego se abrirá en la ventana el mismo menú que se


puede encontrar en “My eplant”

Fig. 2. 49 Menú de navegación.

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:

Fig. 2. 50 Búsqueda de la variable a agregar.


Aquí se debe seleccionar la variable creada e insertarla, hecho esto, el
botón tendrá algo que ejecutar al momento de ser presionado.

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:

Fig. 2. 51 Editor de expresiones.

Solo que esta vez se debe seleccionar ( ), lo cual abrirá nuevamente


el menú de “My eplant”, solo que para buscar otra ventana hay que dirigirse
a “Functional Structure”

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.

Deben incluir señales de alarmas que funcionen de acuerdo a estos parámetros:


 Alarma de Presión: Se requiere una alarma de presión alta y baja en
terreno y de advertencia en sala de control, el funcionamiento consiste en,
la alarma alta se activa si se sobrepasa los 10 KPa, y la alarma baja a los
2 KPa.

 Temperatura del estator: solamente se requiere una alarma de temperatura


en sala de control, anticipando el accionamiento de un relé térmico, esta
alarma debe mostrarse cuando la temperatura del estator supere los 60°C

 Tonelaje de material: Se debe mostrar la alarma de alto tonelaje en la


pantalla del molino cuando la carga sobrepase los 40 Ton de material.

 Presencia de tensión: se debe indicarla alarma en pantalla cuando hay


ausencia de tensión en terreno, mientras que en terreno se debe indicar a
través de una luz piloto la presencia de tensión.

Se debe realizar la configuración de instrumentos a través de Fieldbus Builder,


crear la lógica y por último la creación de las pantallas (HMI) para dicho proceso.

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.

Para poder simular este proceso en la maleta de entrenamiento ABB, lo primero


será configurar los instrumentos de tal forma que se pueda realizar el control de
acuerdo a las lecturas observadas, con el objetivo de que se asemeje lo más
posible a lo encontrado en la industria.
La forma de hacer los cambios a los instrumentos, es siempre a través de
Fieldbus Builder.

El único instrumento a modificar será el Rosemount 848T, ya que en la máquina


virtual del alumno se encontrarán configurados los demás instrumentos, para asi
poder centrarse en la configuración del instrumento ya mencionado
anteriormente.
Lo primero que se debe realizar es tener claras las variables físicas que
interactuaran con el proceso, que son: Velocidad, Presión, Peso y temperatura.
Estas variables físicas se simularan a través de los potenciómetros VR1 hasta
VR4, que se encuentran señalados en la maleta. Estos dispositivos resistivos
están conectados en el instrumento Rosemount 848T.

Fig. 2. 53 Botones de la maleta.

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.

La asignación de los potenciómetros (variables físicas), tendrán la siguiente


disposición en la maleta:

Fig. 2. 54 Botones a utilizar.

Luego se procede a realizar la construcción del protocolo Fieldbus Fundation,


donde modifican los bloques de programación del instrumento Rosemount 848T.
Para ello se debe realizar la edición de la subred en Fieldbus Builder, a través de
“My E-Plant”, y se llamará “ENTRENAMIENTO”.
2.6. Una vez abierta la ventana del workplace (Explorador de planta),
nos dirigimos a Control Structure, se expande la carpeta “Root,
domain”, seleccionamos “ENTRENAMIENTO,HSE Subnet” y en la
ventana derecha seleccionamos “FF Management”, finalmente click
en “Show Object in Fieldbus Builder FF”.

181
Fig. 2. 55 Abrir fieldbus builder.

Se abrirá una ventana, consultando si se desea visualizar o modificar la red HSE.


Si se desea configurar un instrumento siempre se debe seleccionar “Edit Subnet”.

Fig. 2. 56 Edicion de la sub-red.

182
Y se procederá a ejecutar el programa de Fieldbus Builder, mostrando su
visualización general.

Fig. 2. 57 Fieldbus builder.


Para poder modificar los parámetros del instrumento en cuestión, se debe
expandir desde donde se muestra la red HSE, siendo la ruta para acceder al
instrumento: ENTRENAMIENTO/ LDE (ABB LD800HSE) / LDE_H1-1/ LDE_H1-
1_APP. Como se muestra en la siguiente imagen.

Fig. 2. 58 Navegación por el menú.

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

2.7. Se procede a realizar el protocolo Fieldbus, la siguiente indicación


es de forma genérica, se puede aplicar a cualquier tipo de
configuración de variables físicas a simular.

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.

Estos bloques se acceden directamente desde el instrumento, en la red H1.

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

Fig. 2. 60 Bloque de recursos.


Mientras que en el Transducer Block, se realizará la base de las
parametrizaciones de los canales del instrumento, esto permitirá que se
parametrice de acuerdo al dispositivo que se encuentra conectado al canal.
Los canales se denotan físicamente en el instrumento como muestra la siguiente
imagen:

Fig. 2. 61 Equipo a trabajar.

Las parametrizaciones deben ser de la siguiente manera:


5.1 MODE_BLK.TARGET = AUTO (Objetivo del bloque debe ser automático).

X.1 SENSOR 1 CONFIGURATION.MODE = OPERATION (Modo de


configuración a través de operaciones).

X.2 SENSOR 1 CONFIGURATION.SENSOR TAG = ‘CHANNEL Y’ (tag de la


entrada del instrumento).

X.3 SENSOR 1 CONFIGURATION. SERIAL NUMBER = ‘VARIABLE FISICA’


(nombre de la variable Física).

X.4 SENSOR 1 CONFIGURATION.TYPE/CONNECTION = OHMS: 2-WIRE


(tipo de conexión al canal, resistivo con dos cables).

185
X.5 SENSOR 1 CONFIGURATION.DAMPING VALUE = 0.0 (valor de
atenuación debe ser 0.0).

X.6 SENSOR 1 CONFIGURATION.TRANSIENT FILTER = ENABLED (Debe


activarse el filtro de transitorios).

32 ASIC REJECTION = 50 HZ, NORMAL UPDATE.

Por lo que los valores designados en “X” corresponden al número de item de


acuerdo al orden de las entradas del sensor.

Tabla 1. 13 Número de entradas del sensor.

Los valores de Y corresponden a la configuración de tag del sensor, son valores


que toman desde “CHANNEL 1” hasta “CHANNEL 8, respetando el número de
Item por canal (X).

Por ejemplo, se está configurando el canal 2, el valor de X seria el número 15, y el


valor de Y correspondería al número 2 (ya que estamos configurando el canal 2),
por lo que el protocolo para el canal sería:

“5.1 MODE_BLK.TARGET = AUTO


15.1 SENSOR 2 CONFIGURATION.MODE = OPERATION
15.2 SENSOR 2 CONFIGURATION.SENSOR TAG = ‘CHANNEL 2’.
15.3 SENSOR 2 CONFIGURATION. SERIAL NUMBER = ‘VARIABLE FISICA’.
15.4 SENSOR 2 CONFIGURATION.TYPE/CONNECTION = OHMS: 2-WIRE.
15.5 SENSOR 2 CONFIGURATION.DAMPING VALUE = 0.0
15.6 SENSOR 2 CONFIGURATION.TRANSIENT FILTER = ENABLED.”

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.

Por lo tanto, como solo se simularán cuatro variables físicas, se realizará la


configuración para los cuatro “Inputs” en el Transducer Block del instrumento
848T, siendo el protocolo como se muestra a continuación:

“5.1 MODE_BLK.TARGET = AUTO


13.1 SENSOR 1 CONFIGURATION.MODE = OPERATION
13.2 SENSOR 1 CONFIGURATION.SENSOR TAG = ‘CHANNEL 1’.
13.3 SENSOR 1 CONFIGURATION. SERIAL NUMBER = ‘TEMPERATURA’.
13.4 SENSOR 1 CONFIGURATION.TYPE/CONNECTION = OHMS: 2-WIRE.
13.5 SENSOR 1 CONFIGURATION.DAMPING VALUE = 0.0
13.6 SENSOR 1 CONFIGURATION.TRANSIENT FILTER = ENABLED.

15.1 SENSOR 2 CONFIGURATION.MODE = OPERATION


15.2 SENSOR 2 CONFIGURATION.SENSOR TAG = ‘CHANNEL 2’.
15.3 SENSOR 2 CONFIGURATION. SERIAL NUMBER = ‘PRESION’.
15.4 SENSOR 2 CONFIGURATION.TYPE/CONNECTION = OHMS: 2-WIRE.
15.5 SENSOR 2 CONFIGURATION.DAMPING VALUE = 0.0
15.6 SENSOR 2 CONFIGURATION.TRANSIENT FILTER = ENABLED.

17.1 SENSOR 3 CONFIGURATION.MODE = OPERATION


17.2 SENSOR 3 CONFIGURATION.SENSOR TAG = ‘CHANNEL 3’.
17.3 SENSOR 3 CONFIGURATION. SERIAL NUMBER = ‘VELOCIDAD’
17.4 SENSOR 3 CONFIGURATION.TYPE/CONNECTION = OHMS: 2-WIRE.
17.5 SENSOR 3 CONFIGURATION.DAMPING VALUE = 0.0
17.6 SENSOR 3 CONFIGURATION.TRANSIENT FILTER = ENABLED.

19.1 SENSOR 2 CONFIGURATION.MODE = OPERATION


19.2 SENSOR 2 CONFIGURATION.SENSOR TAG = ‘CHANNEL 4’.
19.3 SENSOR 2 CONFIGURATION. SERIAL NUMBER = ‘PESO’.
19.4 SENSOR 2 CONFIGURATION.TYPE/CONNECTION = OHMS: 2-WIRE.
19.5 SENSOR 2 CONFIGURATION.DAMPING VALUE = 0.0
19.6 SENSOR 2 CONFIGURATION.TRANSIENT FILTER = ENABLED

32 ASIC REJECTION = 50 HZ, NORMAL UPDATE.”

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:

Fig. 2. 62 Funciones del bloque.

2.8. Ahora que ya se tiene el protocolo Fieldbus para el Transducer block


y la asignación de las resistencias variables, se procede a realizar la
configuración de los potenciómetros en sus respectivos canales del
848T. El funcionamiento de esta configuración se basa en un
escalamiento entre las variables físicas a simular (utilizando un valor
mínimo y máximo) y los valores resistivos de los potenciómetros (un
valor mínimo y máximo), en su escala unitaria (Ω).
Para este procedimiento, es necesario medir las resistencias con un Multitester y
obtener los valores mínimos y máximos de los potenciómetros, lo que en este
caso solo se harán con solo VR1,VR2,VR3 y VR4.

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:

 VR1 = 1002 [Ω]

Fig. 2. 63 Medición del potenciómetro 1.

 VR2 = 1156 [Ω]

Fig. 2. 64 Medición del potenciómetro 2.

 VR3 = 1147 [Ω]

Fig. 2. 65 Medición del potenciómetro 3.

 VR4 = 1105 [Ω]

Fig. 2. 66 Medición del potenciómetro 4.

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.

Fig. 2. 67 Bloque “AI”.

El protocolo FF de cada bloque “AI” insertado del instrumento 848T en forma


general se presenta de la siguiente forma:

“5.1 MODE_BLK.TARGET = AUTO“ (OBJETIVO DEL BLOQUE DEBE SER AUTOMÁTICO)


“10.1 XD_SCALE.EU AT 100% = " (VALOR MAXIMO DE LA RESISTENCIA)
“10.2 XD_SCALE.EU AT 0% = ” (VALOR MINIMO DE LA RESUSTENCIA)
“10.3 XD_SCALE.UNIT INDEX = OHM” (UNIDAD DE MEDIDA DE LOS POTENCIOMETROS)
“11.1 OUT_SCALE.EU AT 100% = ” (VALOR MAXIMO DE LA VARIABLE A SIMULAR)
“11.2 OUT_SCALE.EU AT 0% = ” (VALOR MINIMO DE LA VARIABLE A SIMULAR)
“11.3 OUT_SCALE.UNIT INDEX = ” (UNIDAD DE MEDIDA DE LA VARIABLE A SIMULAR)
“15 AI CHANNEL = “ (CANAL DEL POTENCIOMETRO UTILIZADO)
"16 L_TYPE = INDIRECT”.

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.

Nota: Al momento de ingresar los valores numéricos del protocolo FF, es


estrictamente necesario poner como mínimo un decimal.

Basados en el ejercicio, los nombres de los bloques y de las señales FF tomarían


los siguientes nombres:
Tabla 1. 16 Bloques y sus señales.

En cuanto a los datos se presenta de la siguiente forma:

Tabla 1. 17 Valores de las variables.

Valores Variable física Valores Potenciometro


Potenciometro Variable
Min. Max. Min. Max.
VR1 Temperatura [°C] 0,0 100,0 0,0 1002,0
VR2 Presión [Kpa] 0,0 12,0 0,0 1156,0
VR3 Velocidad [RPM] 0,0 12,0 0,0 1147,0
VR4 Peso [Ton] 0,0 50,0 0,0 1105,0

Ahora que se obtiene toda la información necesaria para la creación de los


bloques FF, sus potenciómetros asignados en la maleta y designados los
nombres de la señal FF, se procede a realizar el Protocolo FF para cada Bloque
AI del instrumento 848T, listado a continuación:

FF_TIT_MILL_1

“5.1 MODE_BLK.TARGET = AUTO


10.1 XD_SCALE.EU AT 100% = 1002.0
10.2 XD_SCALE.EU AT 0% = 0.0
10.3 XD_SCALE.UNIT INDEX = OHM
11.1 OUT_SCALE.EU AT 100% = 100.0
11.2 OUT_SCALE.EU AT 0% = 0.0
11.3 OUT_SCALE.UNIT INDEX = °C
15 AI CHANNEL = SENSOR 1
16 L_TYPE = INDIRECT”

191
FF_PIT_MILL_1

“5.1 MODE_BLK.TARGET = AUTO


10.1 XD_SCALE.EU AT 100% = 1156.0
10.2 XD_SCALE.EU AT 0% = 0.0
10.3 XD_SCALE.UNIT INDEX = OHM
11.1 OUT_SCALE.EU AT 100% = 12.0
11.2 OUT_SCALE.EU AT 0% = 0.0
11.3 OUT_SCALE.UNIT INDEX = KPa
15 AI CHANNEL = SENSOR 2
16 L_TYPE = INDIRECT”

FF_SIT_MILL_1

“5.1 MODE_BLK.TARGET = AUTO


10.1 XD_SCALE.EU AT 100% = 1147.0
10.2 XD_SCALE.EU AT 0% = 0.0
10.3 XD_SCALE.UNIT INDEX = OHM
11.1 OUT_SCALE.EU AT 100% = 12.0
11.2 OUT_SCALE.EU AT 0% = 0.0
11.3 OUT_SCALE.UNIT INDEX = RPM
15 AI CHANNEL = SENSOR 3
16 L_TYPE = INDIRECT”

FF_WIT_MILL_1

“5.1 MODE_BLK.TARGET = AUTO


10.1 XD_SCALE.EU AT 100% = 1105.0
10.2 XD_SCALE.EU AT 0% = 0.0
10.3 XD_SCALE.UNIT INDEX = OHM
11.1 OUT_SCALE.EU AT 100% = 50.0
11.2 OUT_SCALE.EU AT 0% = 0.0
11.3 OUT_SCALE.UNIT INDEX = T
15 AI CHANNEL = SENSOR 4
16 L_TYPE = INDIRECT”

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:

Fig. 2. 68 Protocolo en los bloques.

2.10. Para la creación y la suscripción de las señales FF, se omite la


explicación de cómo realizarlo, por lo que ya se encuentra explicado
desde otro instrumento, con el mismo procedimiento, en el manual
paso a paso de la tesis “Maleta de entrenamiento ABB 800XA”, En
el ítem 9, desde la página 113 hasta la página 130.

Quedando como resultado final los bloques del instrumento 848T de la siguiente
manera:

Fig. 2. 69 Bloques del instrumento.

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.

Fig. 2. 70 Puesta en línea del instrumento.

(Preparación de descarga de Protocolo FF en Instrumento 848T)


Después se realiza la descarga del protocolo Fieldbus, el cual contiene los
escalamientos de los potenciómetros con las variables físicas, realizando una
descarga incremental de los parámetros cambiados.

Fig. 2. 71 Carga de los parámetros.

(Preparación de descarga de protocolo Fieldbus Foundation de tipo


incremental)

194
Fig. 2. 72 Carga del protocolo.

Luego finaliza la descarga indicando que esta se completó en su totalidad,


indicando además que no existen errores durante la compilación.

Fig. 2. 73 Fin de la carga.

195
Luego se muestra el estado de cada bloque utilizado cambiando sus estados de
“Out of Service (O/S)” a “Automatic”.

Fig. 2. 74 Instrumento en línea.

Se actualiza la red HSE del sistema 800XA con los parámetros cambiados del
instrumento 848T.

Fig. 2. 75 Actualización de la red HSE.

Nota: La configuración de los instrumentos en general, no debe presentar errores,


ya que en la siguiente fase es crucial para la programación en Control Builder y
Process Graphics.

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.

El procedimiento a realizar será por pasos, permitiendo la facilitación a la hora de


ejecutar el problema propuesto y crear la lógica, evitando problemas de
compilación o de sintaxis en el programa del proceso.

A. El primer paso, que es el más importante de todos, se debe identificar las


variables necesarias para la programación, observando el problema,
señala que se necesita una partida y parada de un motor, además de
obtener lecturas desde instrumentos y realizar secuencias de acuerdo a las
mediciones.. Por lo que las variables a utilizar serán de tipo Global, ya que
se utilizan en tanto en Control Builder como en Process Graphics. Al ser
una variable local, en Process Graphics no se visualizara la variable a
utilizar para la creación de las alarmas gráficas, ni estados de cada
secuencia.

Al momento de declarar una variable que será un estado de entrada o salida,


desde una tarjeta I/O o de algún instrumento Fieldbus, la cual se desea realice
una acción en el controlador, se declara como RealIO (si es una variable de tipo
real o analógica) o BoolIO (si es una variable booleana o discreta), de esta
manera, el controlador lo considera como una variable de acuerdo a factores
físicos del proceso y no una variable que es propia del programa.
En nuestro caso, la mayoría de las variables son de este tipo de dato, ya que
permitirá que las usemos no solo en control Builder, sino también en Process
Graphics (todas las declaraciones de variables estarán encadenadas entre
softwares del sistema).

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:

 “.Forced”: Indica si el canal esta forzado o no.


 “.IOValue Valor del canal I/O, si el valor de de esta extensión
y el valor de la aplicación serán iguales, si no se encuentra
forzado.
 “.Parameters”: Utiliza el rango de medición.
 “.Status”: Si el canal presenta problemas, esta extensión
tomara valores de acuerdo al error.
 “.Value”: Esta extensión se utiliza para cambiar el estado
desde una variable del programa hacia el hardware, o vice
versa.

Ante nuestro problema planteado, usaremos este tipo de dato de variables para
programar las alarmas y estados del molino SAG.

De acuerdo a lo mencionado anteriormente, las variables Globales de acuerdo a


nuestro proceso son las siguientes:

Fig. 2. 76 Variables declaradas.

198
Para acceder a declarar las variables Globales, en Control Builder se expande
“Applications” y se hace doble click en “Process_Inacap”.

Fig. 2. 77 Variables Globales.

Y se abrirá el Editor POU, con el ambiente de trabajo para declarar las variables
globales:

Fig. 2. 78 Editor POU para 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”

Fig. 2. 79 Comprobación de variables.

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

Fig. 2. 80 Configuración del hardware.


Omitiendo la configuración del controlador AC800M, ya que no se realizaran
cambios, además de que ya se encuentra descrita en el manual paso a paso de la
tesis “Maleta de entrenamiento ABB 800XA”, en el ítem número 8, desde la
página 85 hasta la página 88.

C. Una vez configurado el tipo de controlador y sus direcciones IP, se procede


a cambiar el nombre del controlador, de “Controller_1” a “Process_Inacap”
y se cambiara el nombre de las aplicaciones de “Application_1” a
“Process_Inacap”. Tambien se conectan las tareas de “Process_Inacap” a
“Process Inacap.Normal”.

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.

E. El siguiente paso es la identificación de las variables que estarán


asignadas a cada canal en las tarjetas I/O del controlador (específicamente
en la tarjeta DO 820) y posteriormente en el HOST (tarjeta de
comunicación Fieldbus Foundation CI 860).

Como se realizó antes la declaración de variables en el punto (a), las variables


que se deben seleccionar siempre debe ser de tipo BoolIO (en DO 860) y RealIO
(dependiendo del instrumento FF). Por lo tanto las variables se plasmaran el
siguiente cuadro:
Tabla 1. 18 Variables.

En los recuadros en blancos, correspondientes al canal del Host, no se designa


un canal definido, ya que varía al momento de realizar las publicaciones de las
señales de los instrumentos Fieldbus Foundation, esto es debido a que en
Fieldbus Builder, realiza una asignación automática de los canales del Host a
cada señal FF.

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:

Fig. 2. 82 Ubicación de los canales y las luces.

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:

Fig. 2. 83 Asignación de variables.

204
Nos abrirá el editor POU para la Tarjeta DO 820, en donde nos mostrara las
configuraciones.

Fig. 2. 84 Editor de la tarjeta DO820.

Seleccionamos la pestaña inferior “Conections” y se mostrará las asignaciones de


las variables correspondientes a cada canal, como la tarjeta no tiene variables
asignadas, esto se mostrara en blanco.

Fig. 2. 85 Pestaña Conections.

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.

Fig. 2. 87 Asignación e variables.

Y nos mostrará el siguiente cuadro emergente:

Fig. 2. 88 Búsqueda de variables.

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

Fig. 2. 89 Lista de variables.


Doble click sobre la variable señalada, y éste se mostrara en la celda del canal 1
de la tarjeta DO 820. Luego escribiremos una determinada descripción para la
salida.

Fig. 2. 90 Asignación e variables.


Del mismo modo, realizaremos la asignación e los demás variables a los canales
correspondientes, retomando el cuadro anterior, la asignación seria la siguiente:
Tabla 1. 19 Canal de variables.

207
Quedando la configuración de la tarjeta DO 820 de la siguiente manera:

Fig. 2. 91 Variables en la tarjeta.

Para finalizar guardamos y cerramos la ventana del editor POU de las


configuraciones de la tarjeta DO 820 haciendo click en el botón ( ).

Ahora realizaremos la asignación de las variables en el Host, del mismo modo


que en la configuración de la tarjeta I/O anterior, abriremos la tarjeta de
comunicación CI 860, haremos doble click en CI 860,

Fig. 2. 92 Tarjeta de comunicación.

208
Nos abrirá el editor POU, con la configuración del Host.

Fig. 2. 93 Configuración del HOST.

Como son demasiados canales que tiene el Host, realizaremos el ocultamiento de


los canales sin usar de la tarjeta CI860, para ello en la menú de herramientas
hacemos click en “View” y seleccionamos “Hide unused channels”.

Fig. 2. 94 Ocultar Canales no usados.

209
Y mostrara los canales usados por las señales de los instrumento Fieldbus
Foundation.

Fig. 2. 95 Canales de los instrumentos fieldbus,

En esta parte de la declaración se debe tener cuidado en donde designar el tipo


de las variables, ya que si nos fijamos existen dos señales, las que tienen el
mismo nombre, pero uno es de tipo DwordIO y otra es de tipo BoolIO, para
designar las variables deben ser del tipo de dato BoolIO.

Fig. 2. 96 Tipos de señales.

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.

Para insertar estas variables a los canales, se realiza el mismo procedimiento


anterior. Llevando a cabo la asignación del primer canal (FF_BARRA).

Lo primero que debemos hacer es seleccionar la celda que contenga el nombre


de la señal, y presionamos el botón ( ).

Fig. 2. 97 Asignación de variables.

211
Y nos abrirá una ventana emergente, en el cual expandimos “Process_Inacap” y
buscamos la variable “STP_MILL_1”.

Fig. 2. 98 Listado de variables.

Hacemos doble Click izquierdo sobre la variable seleccionada y, se mostrara la


variable en la celda que se seleccionó anteriormente, y le escribimos la
descripción.

Fig. 2. 99 Variable en la tarjeta.

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:

Fig. 2. 100 Asignación de variables.

Por último, guardamos y cerramos la ventana del editor POU de las


configuraciones del Host, haciendo click derecho en el botón ( ).

Fig. 2. 101 Guardar y cerrar.

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

Lo nombraremos como “Molino_SAG”.

Fig. 2. 102 Creación de programa.

Fig. 2. 103 Nombre del programa.


Haremos doble click izquierdo en “Molino_SAG” y nos abrirá el editor POU.
Haremos click derecho sobre la pestaña “Code” y seleccionamos “Change
Language”, y seleccionaremos el lenguaje de bloques o “Function Block Diagram
(FBD)”, y hacemos click izquierdo en “OK”.

Fig. 2. 104 Cambio de lenguaje.

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

Fig. 2. 105 Cambio de nombre a la hoja de códigos.

El nombre de la programación se mostrara según el nombre asignado.

Fig. 2. 106 Hoja de Códigos.

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.

Fig. 2. 107 Bloque OR.

Luego, por debajo del bloque OR, insertamos un bloque AND.

Fig. 2. 108 Bloque OR y AND.


Después, por debajo del bloque AND, insertamos un bloque NOT.

Fig. 2. 109 Bloques OR, AND y NOT:


Y finalmente insertamos otro bloque OR.

Fig. 2. 110 Bloques de OR a 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”

Fig. 2. 111 Asignación de variable al pin.


Luego se conecta la salida del primer bloque OR hacia una entrada del bloque
AND, recuerde que para conectar gráficamente una línea desde un bloque a otro,
se debe seleccionar el pin de salida del bloque OR, y manteniendo el comando
rápido (Ctrl+R) se hace click en un entrada del bloque AND.

Fig. 2. 112 Bloques en la hoja de códigos.

217
Luego se realiza el mismo procedimiento, pero conectando la salida del bloque
NOT a la segunda entrada del bloque AND.

Fig. 2. 113 Conexión de salidas.

También desde la salida del segundo Bloque OR hacia la entrada del bloque
NOT.

Fig. 2. 114 Salida de bloque OR a NOT.

Luego se conectan las variables de detención y parada de emergencia en las


entradas del segundo bloque OR, estas variables son “STOP_MILL_1” y
“PE_MILL_1”

Fig. 2. 115 Variables de detención.

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”

Fig. 2. 116 Variable de funcionamiento del molino.

Finalmente se selecciona la segunda entrada del primer bloque OR, y se conecta


en la Variable “MILL_1”, quedando el diagrama de bloques final de control del
molino de la siguiente manera:

Fig. 2. 117 Diagrama final.


Y se guarda sin cerrar el editor POU haciendo click izquierdo en ( ).

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

Fig. 2. 118 Insertar otra hoja de códigos.

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

Fig. 2. 119 Nombre y selección de lenguaje.

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.

Fig. 2. 120 Ambiente de trabajo para 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.

Fig. 2. 121 Presencia de tensión.

En el contacto Normalmente abierto, se conecta la variable


“STAT_PWR_1.Value”.

Fig. 2. 122 Conexión de variable.

Se utiliza la extensión “.Value” debido a que, como es un dato de tipo BoolIO,


tomará el estado del Switch “SW1” en la maleta.

Fig. 2. 123 Switch en la maleta de entrenamiento.

221
En donde se mostraría el contacto de la siguiente forma.

Fig. 2. 124 Variable sobre el contacto.

Nota: Es importante agregar la extensión al momento de conectar las variables,


en caso de no hacerlo, el sistema no reconocerá la variable como tal.

Luego, en la Bobina de salida, conectaremos la variable “PWR_OK.Value”, esto


es debido a que el estado que tome la bobina del Ladder, se reflejará en el LED
OUT1 en el primer semáforo, ubicado en la Maleta.

Fig. 2. 125 Variable de salida hacia OUT1.

Quedando el primer Rung como muestra la siguiente imagen:

Fig. 2. 126 Forma final del primer Rung.

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

Fig. 2. 127 Piloto OUT3.

Por lo consiguiente se procede a realizar el segundo Rung, en donde se realizara


el control del molino, cuyas condiciones para funcione de forma correcta, debe
existir tensión en los comandos eléctricos (debe estar SW1 activado en la maleta)
y debe contener una variable que represente al molino SAG que se encuentra en
la programación anterior, denominado “MILL_1”. Entonces en este Rung, se
insertará dos contactos normalmente abierto, como indica la imagen.

Fig. 2. 128 Rung para el control del molino.

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

Fig. 2. 129 Asignación de variables.

En el segundo contacto se conecta la variable de tipo Bool de la programación


anterior, llamado “MILL_1”.

Fig. 2. 130 Asignación de la variable Bool.

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:

Fig. 2. 131 Asignación de variable tipo BoolIO.

Una vez terminado el segundo Rung, se realizara un tercer Rung, en el cual


realizara el estado del molino detenido, en la cual tendrá dos condiciones para
que se active el estado de detención, en este caso la luz de detención
corresponderá a la barra LED que se encuentra ubicado en la parte superior del
instrumento Rosemount 848T .

Fig. 2. 132 Barra LED.

El tercer Rung debe contener dos contactos, uno normalmente abierto y otro
normalmente cerrado, como se muestra en la siguiente imagen:

Fig. 2. 133 Tercer Rung.

Luego conectamos la variable del contacto Normalmente abierto la cual será el


estado la condición de energía, ya que si no existe una presencia de tensión, la
indicación de detención del molino SAG en terreno (en la maleta) se mostrara
todos los estados sin actividad alguna. Es por ello que en este contacto NA
(Normalmente Abierto), debe estar conectado a la variable de tipo BoolIO de la
bobina que se encuentra conectado en el primer Rung de esta programación,
llamada “PWR_OK.Value”.

Fig. 2. 134 Asignación de variables.

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

Fig. 2. 135 Asignación de variable.

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

Fig. 2. 136 Variable en tarjeta CI860.

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:

Fig. 2. 137 Asignación de variable a la bobina.

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.

Fig. 2. 138 Piloto OUT2.


En este Rung debe contener dos contactos normalmente abiertos, un contacto
representará al estado de presencia de tensión, en el caso de que no existe
tensión en terreno (molino), el LED de indicación de la actividad del relé térmico
no se encenderá. Por otro lado, el segundo contacto normalmente abierto,
mostrará el estado del relé térmico en sí, por lo que sí existe una temperatura
considerable, se detendrá el molino SAG y se encenderá el piloto correspondiente
a la falla térmica, como muestra la siguiente imagen:

Fig. 2. 139 Cuarto Rung.

Luego se asigna la variable de un contacto Normalmente abierto la cual será el


estado la condición de energía, debe estar conectado a la variable de tipo BoolIO
llamada “PWR_OK.Value”.

Fig. 2. 140 Asignación de variable.

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

Fig. 2. 141 Asignación de variable.

En este contacto tomara el estado del Switch designado en la maleta como “SW2”

Fig. 2. 142 Switch 2.

Para finalizar el Rung, se conecta a la bobina de salida a la variable de tipo


BoolIO asignada al LED amarillo (“OUT 2”) del semáforo 1, denominado
“STAT_OL_FAIL_1.Value”, el estado que tome la bobina de salida del Ladder,
será el mismo estado que se represente en LED amarillo (relé térmico activo).

Fig. 2. 143 OUT2 en la bobina.

227
Por lo tanto el cuarto Rung quedaría de la siguiente manera:

Fig. 2. 144 Cuarto Rung.

Luego se crea el último Rung, en el cual contiene la lógica de detención del


molino a partir del estado relé térmico, es decir, si el relé térmico actúa por la alta
temperatura del estator, aparte de señalizar su acción, también detendrá el
molino.
Para llevar a cabo, se realiza un Rung simple, que consiste en un solo contacto
normalmente abierto y su bobina de salida.

Fig. 2. 145 Quinto Rung.

En el primer contacto se conecta la variable de la bobina de salida anterior, es


decir, la variable del estado del LED amarillo, llamado “STAT_OL_FAIL_1.Value”.

Fig. 2. 146 Asignación de variable.

Mientras que en la salida de la bobina de este Rung, se conectara la variable de


la detención del molino, esta variable es de tipo de datos Bool denominado
“STOP_MILL_1”.

Fig. 2. 147 Asignación de variable.

228
Quedando finalmente el Rung de la siguiente manera:

Fig. 2. 148 Rung forma final.

Ya terminado el quinto y último Rung, la hoja de programación quedaría de la


siguiente manera:

Fig. 2. 149 Finalización del diagrama ladder.

Y con esta programación realizada, se tiene enlazadas las salidas de la tarjeta DO


820 para el control del molino.

Y se guarda sin cerrar el editor POU haciendo click izquierdo en ( ).

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

Fig. 2. 150 Insertar otra hoja de códigos.

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

Fig. 2. 151 Nombre y tipo de lenguaje.

230
En donde el ambiente de programación se mostrara de la siguiente manera:

Fig. 2. 152 Hoja de texto estructurado.

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:

Fig. 2. 153 Primera instrucción.

Luego se escribe la sentencia condicional que permitirá la visualización de la


animación de giro y de la lectura de la velocidad de giro del molino SAG. Las
variables condicionantes para que realice las acciones ya mencionadas son la
variable de detención del molino (“STP_MILL_1.Value”), el de estado del relé
térmico (“STAT_OL_FAIL_1.Value”) y la variable negada (valor contrario) del
estado de presencia de tensión en el molino (“STAT_PWR_1.Value”), se escribe
de la siguiente manera:

Fig. 2. 154 Variables.

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:

Fig. 2. 155 Variable de velocidad.

A continuación se procederá a realizar la segunda instrucción de la pantalla para


el control de molino SAG, que permite desenclavar de la variable de partida del
molino (“SART_MILL_1”), debido a que cuando se acciona la partida desde la
pantalla del proceso, la variable asociada queda constantemente activa.

Nota: En el caso de la detención del molino, no es necesario desenclavar la


variable de detención, porque dentro de la primera programación
(“CONTROL_MOLINO”) que ya se encuentra realizada.

Por lo tanto se procede a realizar la segunda instrucción, utilizando la misma


sentencia condicional utilizada anteriormente (“if… then… end_if;”).
Se escribe el comentario “(*VARIABLE START_ILL_1 SE DESENCLAVE EN
PANTALLA*)”, luego se escribe la sentencia condicional, en la que indica que si
se activa la variable “MILL_1”, entonces la variable de partida del molino SAG se
desactivará, en lenguaje estructurado se escribe como muestra la siguiente
imagen:

Fig. 2. 156 Condición.

233
Por lo tanto, el programa general para la pantalla del proceso quedaría de la
siguiente manera:

Fig. 2. 157 Texto estructurado forma final.

Y se guarda sin cerrar el editor POU haciendo click en ( ).

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

En primera instancia, se debe crear una nueva programación, de la misma


manera que las programaciones anteriores, se debe hacer click derecho sobre la
pestaña inferior denominada “ARREGLO_HMI”, y se selecciona “Insert”.

Fig. 2. 158 Insertar otra hoja.

Y se abrirá la ventana en que nos pide en qué tipo de lenguaje de programación


se desea programar, se volverá a realizar por el lenguaje que aparece por
defecto. Se selecciona y se renombra de “Code” por
“CONDICION_INSTRUMENTOS”, y por último se hace un click izquierdo en “OK”.

Fig. 2. 159 Nombre y selección de lenguaje.

235
Luego nos mostrará el ambiente de trabajo para lenguaje en texto estructurado.

Fig. 2. 160 Hoja de código de 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

Se realiza la primera instrucción en que nos señala en el proceso, que cuando el


valor de la presión de aceite asignada a la variable “PRES_MILL_1”, y tomará
valores de acuerdo a cuanto se opera el potenciómetro VR2 en la maleta.

Fig. 2. 161 Segundo potenciómetro.

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.

Fig. 2. 162 Pilotos OUT4 y OUT5.


Por lo tanto en el lenguaje de texto estructurado se escribe la sentencia
condicional como:

Fig. 2. 163 Indicación de presión.

Y después se procede a escribir la segunda instrucción para la alarma alta de


temperatura del estator del molino SAG, la cual la temperatura se encuentra
representada por la variable de tipo BoolIO denominada “TEMP_MILL_1. Value”,
que en la maleta se encuentra representada por el potenciómetro VR1 en la
maleta de entrenamiento.

Fig. 2. 164 Potenciómetro 1.

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.

Por lo que en el lenguaje de texto estructurado se escribe de la siguiente manera:

Fig. 2. 165 Indicación de temperatura.

Resumiendo, la programación en general quedaría de la siguiente forma:

Fig. 2. 166 Programación estado final.

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.

Fig. 2. 167 Verificación de errores.

Finalmente, para Guardar y cerrar el editor POU, se selecciona en la barra de


menú superior el icono ( ).

Esta fase de programación extensa, debido a que contiene varias programaciones


dentro de un programa, es decir, contiene cuatro programaciones en un solo
programa, en que la lógica del todo el proceso ya se tiene completo.

239
2.4.3 Fase 3: Simulación en Control Builder y comprobación de la
lógica creada.

En esta fase, consiste básicamente en entrar en el modo de simulación a través


de control Builder, para poder comprobar si el funcionamiento de la lógica de
nuestro programa se encuentra correcto.

a. Para acceder al modo de simulación de la programación se debe


realizar click izquierdo en ( ), a través de la ventana principal de
Control Builder.

Fig. 2. 168 Modo simulación.

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

Fig. 2. 169 Controlador y programa a simular.

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

Fig. 2. 170 Ventana de alertas.

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.

Fig. 2. 171 Modo de prueba.

b. Ya una vez ingresado en modo de prueba, se procede a la


comprobación del funcionamiento de la programación, para ello se
debe abrir las variables Globales, en donde contiene la declaración
de todas las variables en el programa, se hace doble click en
“Process_Inacap-(Process_Inacap.Normal)”.

Fig. 2. 172 Comprobación de las variables globales.

242
Y se abrirá la declaración de las variables globales.

Fig. 2. 173 Variables globales.


Luego se procede a abrir la programación del molino SAG, haciendo doble click
en el programa “Molino_SAG”.

Fig. 2. 174 Ingreso al programa de molino SAG.

Y se abrirá la programación en que se está comprobando.

Fig. 2. 175 Modo simulación.

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:

Fig. 2. 176 Cambio de estado.

En donde la variable “PWR_OK” (también de tipo BoolIO), el estado de su rama


“Value” cambiara de “False” a “True” automáticamente.

Fig. 2. 177 Cambio de estado.

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

Fig. 2. 178 Cambio de estado.

Ahora que ya se tiene la simulación de la presencia de tensión del molino, se


procede a comprobar la partida del molino, cambiando el estado de la variable
“START_MILL_1” de “False” a “TRUE”

Fig. 2. 179 Cambio de estado.

El estado de la variable de salida que iniciará la partida del molino SAG


(“MILL_1”) cambiara de “FALSE” a “TRUE”

Fig. 2. 180 Cambio de estado

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.

Fig. 2. 181 Funcionamiento del molino.

A continuación, dentro de la misma ventana de programación, se cambia la


visualización en el programa desde pestaña “CONTROL_MOLINO” a
“ENLACE_IO”, en donde se visualizara que el estado de variable de partida,
realiza la activación de la variable “RUN_MILL_1”, que permite la acción de
partida del molino y se desactiva el estado de la detención del Molino.

Fig. 2. 182 Partida del molino.

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

Fig. 2. 183 Cambio de estado.

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”

Fig. 2. 184 Cambio de estado.

Mientras que en la ventana del programa, en la pestaña “ENLACE_IO”, se


mostrara que se activa el piloto de la actividad del relé térmico, y que a su vez
activa de forma automática la detención del molino.

Fig. 2. 185 Detención del molino por relé térmico.

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”

Fig. 2. 186 Detención del molino.

Por lo tanto el funcionamiento del molino SAG, es correcto. Luego se procede a


simular las variables que serán las lecturas de los instrumentos simulados por los
potenciómetros, en el cual se debe cerrar la ventana de las declaraciones
globales y acceder de forma directa al HOST, es decir, a la interfaz de
comunicación Fieldbus Foundation CI860, haciendo doble click sobre él.

Fig. 2. 187 Acceso a interfaz de comunicación Fieldbus.

248
Luego se abrirá la ventana de conexiones que posee el host con respecto a las
subscripciones de los instrumentos Fieldbus.

Fig. 2. 188 Subscripciones instrumentos Fieldbus.


Como son demasiadas los canales que tiene el Host, se realiza el ocultamiento de
los canales sin usar de la tarjeta CI860, para ello en el menú de herramientas nos
vamos a “View” y seleccionamos “Hide Unused channels”.

Fig. 2. 189 Ocultamiento de los canales sin usar.

En donde nos muestra la ventana de las variables de las suscripciones de cada


instrumento con sus respectivas variables asociadas.

Fig. 2. 190 Variables de los instrumentos.

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.

Se fuerza la señal “VR2” conectada a la variable


“Process_Inacap:PRES_MILL_1”, haciendo click en su recuadro blanco, en donde
la celda del valor de la variable queda de tal forma que se pueda manipular.

Fig. 2. 191 Forzado de señal.

En donde el valor “0.0” será el valor por defecto de la variable, luego en la


programación del molino SAG, específicamente en la pestaña
“CONDICION_INSTRUMENTOS” se visualiza el estado de los pilotos de la
alarma de presión.

Fig. 2. 192 Visualización de estados.

Como se puede apreciar en la imagen anterior, la lectura muestra que el


piloto de presión baja/alta (“PRES_FAIL_MILL_1.Value”) está activo, mientras que
el piloto de presión normal (“PRES_MILL_OK.Value), se encuentra desactivado.
Luego se cambia el valor de variable de “0.0” a “5.0”, haciendo click sobre el valor
de la variable y se escribe el número “5.0”.

Fig. 2. 193 Cambio de valor de la variable.

250
Luego se vuelve a revisar en el mismo programa y se observa los siguientes
estados:

Fig. 2. 194 Cambio en los pilotos.

Como se puede apreciar en la imagen anterior, la lectura muestra que el piloto de


presión baja/alta (“PRES_FAIL_MILL_1.Value”) está desactivado, mientras que el
piloto de presión normal (“PRES_MILL_OK.Value) se encuentra activado.

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

Fig. 2. 195 Cambio de valor de la variable.

Después se vuelve a revisar en el mismo programa y se observa los siguientes


estados:

Fig. 2. 196 Cambio de en los pilotos.

En donde se visualiza que el piloto de presión baja/alta


(“PRES_FAIL_MILL_1.Value”) está activado, mientras que el piloto de presión
normal (“PRES_MILL_OK.Value”) se encuentra desactivado.

En consecuencia, el funcionamiento de las alarmas y de los pilotos de presión


baja/alta, cumple con el funcionamiento propuesto.

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.

Al igual que la comprobación anterior, la variable a forzar es “TEMP_MILL_1”, en


donde se intercambia el valor de “0.0” a “50.0”

Fig. 2. 197 Cambio de valor en la variable.

En donde, se visualiza en la programación denominada


“CONDICION_INTRUMENTOS”, como indica la siguiente imagen:

Fig. 2. 198 Cambio de estado de variable.

Como se puede observar en la imagen, la variable “TEMP_MILL_1” muestra el


valor de 50°C (valor del potenciómetro que se ha forzado), que es menor que
60°C, por lo tanto la variable que corresponde a la alarma, denominada
“ALARM_TEMP” se encuentra desactivada.

Luego, al cambiar el valor de la variable forzada de “50.0” a “65.0”

Fig. 2. 199 Cambio de valor de variable.

252
Una vez realizado el cambio, el programa deberá actuar de la siguiente manera:

Fig. 2. 200 Cambio del valor de la variable.

Como muestra la imagen anterior, se aprecia que el valor de la variable


“TEMP_MILL_1” es mayor a 60°, por lo que la variable “ALARM_TEMP”, se
encuentra activa indicando alarma de temperatura alta. Por lo tanto la
comprobación de la alarma de temperatura es correcta.
Luego se prueba la lógica para la programación del arreglo de las pantallas del
proceso, para ello se hace la comprobación de la lectura de velocidad nula, esto
ocurre cuando se activa la detención del molino, relé térmico o por falta de tensión
en el molino, antes de realizar esta comprobación es estrictamente necesario que
la simulación del molino esté funcionando, es decir, que en la venta de la
declaración de las variables globales se haya modificado la variable
“START_MILL_1” en “True” y corroborar que la variable del molino funcionando
(“MILL_1”) se encuentre activa.

Fig. 2. 201 Cambio de estado.

Nota: Debido a que la programación de des enclavamiento de la variable


“START_MILL_1”, a pesar que se cambia el estado a “True”, siempre se mostrara
como “False”, como indica en la imagen anterior.

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”

Fig. 2. 202 Cambio de valor.

Después se observa en la programación del molino en la pestaña


“ARREGLO_HMI”, se mostrará el valor de la señal ya modificado.

Fig. 2. 203 Cambio del valor de la variable.

Se procede a realizar la comprobación para la detención del molino a través de la


variable “STOP_MILL_1”, alterando su estado desde las variables globales.

Fig. 2. 204 Cambio de estado.

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”

Fig. 2. 205 Molino detenido..

Del mismo modo se realiza la comprobación por falla de relé térmico, volviendo al
estado en que el molino se encuentra funcionando.

Fig. 2. 206 Falla relé térmico.

Se debe forzar la señal desde del Host la variable “FAIL_T_MILL_1”, cambiando


el estado de “False” a “True”.

Fig. 2. 207 Cambio de estado.

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”

Fig. 2. 208 Piloto de molino detenido.

Y por último, se realiza la comprobación por ausencia de tensión en el molino,


volviendo al estado en que el molino se encuentre funcionando y que la señal de
presencia de tensión en el molino (STAT_PWR_1”) se encuentre activa.

Para cambiar este estado, se fuerza la señal desde el Host a la variable


“STAT_PWR_1”, cambiando la variable de estado de “False” a “True”

Fig. 2. 209 Comprobación de ausencia de tensión.

Nota: En las comprobaciones anteriores se forzó la variable que indica el estado


de presencia de tensión (piloto), en esta ocasión se toma como referencia a la
simulación del sensor de voltaje (simulado en la maleta con “SW2”).

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”

Fig. 2. 210 Presencia de tensión.

Se debe volver a forzar la señal desde del Host la variable “STAT_PWR_1”,


intercambiando el estado de “True” a “False”

Fig. 2. 211 Cambio de estado.

En donde el estado de las variables de velocidad se muestra de la siguiente


manera:

Fig. 2. 212 Variables de velocidad.

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

Fig. 2. 213 Salir del modo simulación.

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.

Descarga de la programación en el controlador AC800M

Antes de realizar la descarga de la programación en el Controlador AC800M, se


debe tener en cuenta tres condiciones importantes.

La primera condición, es mantener conectado el cable Ethernet desde la maleta


hasta el computador.

Fig. 2. 214 Conector Ethernet.

La segunda condición, consiste en que el servidor OPC para el controlador


AC800M se encuentre en línea, esto permitirá que exista la comunicación con el
controlador interactuando los datos de configuración y de programación, para ello
se accede haciendo doble click en el acceso directo “OPC Server for AC 800M
5.0.2” desde la máquina virtual:

Fig. 2. 215 OPC server.

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

Fig. 2. 216 Conectar al controlador.

Luego, se mostrará la dirección IP con el símbolo de una cara feliz ( ), indicando


que la conexión ya ha sido establecida, luego se cierra la ventana de la
aplicación.

Fig. 2. 217 Conexión con el controlador.

Nota: Generalmente la conexión entre el servidor OPC con el controlador se


realiza de forma automática, es decir, que al momento que se conecta el cable
Ethernet de la maleta al computador, la conexión se realiza de forma inmediata. El
procedimiento anterior se realiza solo si no ocurre esta conexión de forma
automática.

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.

Fig. 2. 218 Comprobación de la dirección IP.

En caso de no cumplir con ninguna de las condiciones anteriores, la descarga del


programa en el controlador no se efectuará.

Luego en Control Builder, se procede a hacer click izquierdo en “Download Project


and Go Online” mostrándose con el icono en la barra de herramientas superior,
como se muestra la siguiente imagen.

Fig. 2. 219 Descarga del proyecto.


Donde aparecerá una ventana de análisis para la descarga de la programación,
indicando el nombre de la aplicación y las configuraciones del controlador
indicando además, su dirección IP. Se procede realizando click en “Continue”.

Fig. 2. 220 Controlador y proyecto a descargar.

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

Fig. 2. 221 Comprobación de errores.

Después continuará cargando el programa al controlador, se debe observar en el


panel de mensajes el estado de la carga, cuando la descarga ha concluido con
éxito, en el panel de mensajes indicará el mensaje “You are now Online!”, como
muestra la siguiente imagen.

Fig. 2. 222 Indicación de termino de carga.

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.

Fig. 2. 223 Desconexión del controlador.

Cuando la desconexión al controlador se ha finalizado, en el panel de mensajes


indicará “You are now offline”. Quedando la ventana de Control Builder en el
ambiente de edición.

Fig. 2. 224 Mensaje de desconexión.

263
Creación de pantallas de proceso (HMI)

Ahora que se encuentra el programa ya descargado en el controlador, se procede


a realizar las pantallas o HMI para obtener el control total del Molino SAG.

Para crearlas, se debe realizar la creación de los elementos y los aspectos


gráficos en el explorador de planta, esto se debe realizar para obtener un orden
en las pantallas de acuerdo a los sitios (localización física del proceso) y áreas
(parte funcional) pertenecientes del proceso.

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

Fig. 2. 225 Creación de Sitio.

Luego se selecciona “Root, Domain”, click derecho sobre él y se selecciona “New


Object”.

Fig. 2. 226 Nuevo objeto.

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

Fig. 2. 227 Selección de sitio.

Luego se mostrará el sitio con su respectivo nombre en “Functional Structure”.

Fig. 2. 228 Sitio creado.


Se crea el área del proceso, para ello se procede de la misma forma utilizada
anteriormente. Se selecciona “INACAP_MINERIA, Site”, se hace click derecho
sobre él, y se selecciona “New Object”.

Fig. 2. 229 Creación del área de proceso.

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

Fig. 2. 230 Creación del “Área”.

Y se creara la sub-rama del área del proceso con el respectivo nombre.

Fig. 2. 231 Creación del área.

Ya creado el sitio y su área, se procede a realizar la creación de los elementos


gráficos, es decir se crea la pantalla en blanco para poder realizar el diseño de la
HMI de acuerdo a proceso.
Para crear el elemento gráfico, se selecciona en “MOLINO_SAG, Área”, se hace
click derecho sobre él, y se selecciona “New Aspect”.

Fig. 2. 232 Creación de nuevo aspecto.

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

Fig. 2. 233 Búsqueda del aspecto deseado.

Luego aparecerán todos los aspectos disponibles en el sistema para poder


integrar en el Área, para integrar la pantalla se debe seleccionar “Graphic Display
PG2”, y se debe nombrar como “Molino_SAG”, para finalizar se hace click en
“Create”.

Fig. 2. 234 Selección de “Graphic Display PG2”.

Y se mostrara el aspecto en el explorador de planta.

Fig. 2. 235 Aspecto creado.

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

Fig. 2. 236 Añadir pantalla.

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

Fig. 2. 237 Graphics builder.

Luego se procede a realizar el diseño de la HMI para el Molino SAG, en esta


pantalla se creara la visualización de estados del proceso, donde se obtendrán las
lecturas de presión de aceite en los descansos del molino, la temperatura del
estator, y la carga del material con sus respectivas alarmas.

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.

Fig. 2. 238 Creación del cuerpo del molino.

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

Fig. 2. 239 Cuerpo del molino.

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.

Fig. 2. 240 Bordes del molino.

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

Fig. 2. 241 Descansos del molino.


Luego se procede a dibujar los Chutes de ingreso de material al molino y de
egreso de material chancado, para crearlos, se selecciona en el grupo “Shapes”,
la opción de “Polygon”, se crea la forma adecuada dibujando sus lados (ver en la
siguiente imagen) y para finalizar el diseño de la forma, en el último punto del
polígono se realiza doble click.

Fig. 2. 242 Chutes.

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.

Fig. 2. 243 Rectángulo.

Para finalizar el chute de ingreso de material al molino, se procede a dibujar un


segundo polígono de las mismas características del primero, pero en la
orientación contraria, esta forma debe situarse en la parte inferior del rectángulo,
como muestra la siguiente imagen.

Fig. 2. 244 Chute de ingreso de material al molino.

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.

Fig. 2. 245 Copiado de elementos.


Para crear el chute de egreso de material se realiza los mismos pasos y
elementos, para evitar que la elaboración sea tediosa, se selecciona todos los
elementos del chute de ingreso de material, se copia usando (Ctrl + C) y se pega
en la misma ubicación con (Ctrl + V).

Fig. 2. 246 Copiado de elementos.

Finalmente se mueve manteniendo con el botón izquierdo hacia el otro extremo


del Molino SAG, finalizando la imagen del molino mostrando en la siguiente
imagen.

Fig. 2. 247 Pegado de elementos.

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.

Fig. 2. 248 Animación de giro.

Luego se inserta las condiciones de la animación, en que variará su velocidad de


acuerdo al valor asignado al potenciómetro “VR3” por Fieldbus Builder. Para
insertar esta condición, se debe observar en la ventana de propiedades ubicado
en el costado derecho del editor Process Graphics, en la propiedad “Speed” se
hace click izquierdo en , para establecer las condiciones de la velocidad de
animación.

Fig. 2. 249 Condiciones de animación.

273
Se abrirá una ventana que es el editor de expresiones, este editor permite
establecer configuraciones de todo tipo.

Fig. 2. 250 Editor de expresiones.

Para dar instrucciones de animación desde el editor de expresiones, se debe


realizar a través del lenguaje de texto estructurado. En esta situación como su
velocidad de animación será de acuerdo al valor leído desde el potenciómetro
VR3 desde Fieldbus Foundation o bien a la variable Global “VEL_MILL_1”
(recordando que esta variable se encuentra manipulada para indicar detención en
el molino).

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.

Fig. 2. 251 Acceso a variables globales.

Luego, se sigue expandiendo en “Process_Control_Network” >


“Ejercicios_resueltos” > “Applications” y se selecciona “Process_Inacap”. En
donde se muestran todos los aspectos concernientes a la programación del
molino SAG.

Fig. 2. 252 Búsqueda de variable.

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.

Por lo que se abre la sentencia en texto estructurado “IF”, luego se busca la


variable “STAT_PWR_1.Value” (Estado de presencia de tensión), se selecciona
realizando doble click izquierdo y se insertará en la expresión el enrutamiento de
la variable en el sistema 800XA, luego se escribe “THEN”.

Fig. 2. 253 Condición de variable.

Después se presiona la tecla “Enter”, y se vuelve a seleccionar la variable global


“VEL_MILL_1.Value” (Valor del potenciómetro VR3), multiplicado por 20 y toda la
expresión dividida por 12, en donde el numero 20 corresponde a la velocidad
máxima de animación y 12 corresponde a la velocidad máxima que se simulara,
generando un pequeño escalamiento en relación de la velocidad de animación y
el potenciómetro.

276
Quedando de la siguiente manera:

Fig. 2. 254 Ingreso de variable.

Después se escribe la sentencia en que si no cumple con el estado de presencia


de tensión, quedando la instrucción de la siguiente manera:

Fig. 2. 255 Condicionamiento.

Nota: Es recomendable copiar esta instrucción, ya que en la animación de los


descansos del molino se utiliza las mismas condiciones de animación, situación
que se verá en el próximo paso.

277
Finalmente se hace click en “OK”, quedando en la ventana de propiedades la
sentencia hecha.

Fig. 2. 256 Sentencia en panel de propiedades.

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.

Se inserta “Roll Animation” y se ajusta a la forma del descanso, como muestra la


siguiente imagen:

Fig. 2. 257 Roll animation en los descansos.

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”

Fig. 2. 258 Cambio del tipo de animación.

Mostrándose la animación del descanso del molino en forma de líneas


horizontales.

Fig. 2. 259 Animación en forma de líneas.

279
Luego en la propiedad “Speed” se hace click en ( ), para establecer las
condiciones de la velocidad de animación.

Fig. 2. 260 Condiciones de velocidad.

Se abrirá el editor de expresiones, donde se realiza la misma sentencia para la


animación anterior, o bien, pegando la instrucción anterior. Quedando la misma
sentencia para las dos animaciones.

Fig. 2. 261 Sentencia para la animación.

280
Visualizándose en la ventana de propiedades de forma similar que la animación
anterior.

Fig. 2. 262 Propiedades listas.

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.

Fig. 2. 263 Molino terminado.

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.

Para insertar un Groupbox, desde “Toolboxes” continuando en el grupo “Graphic


Primitives”, se selecciona “GroupBox” y se procede a dibujar en un costado del
Molino SAG.

Fig. 2. 264 GroupBox.

Después, en la ventana de propiedades, en “Caption”, se renombra de


“Groupbox” a “PARAMETROS”.

Fig. 2. 265 Nombre del GroupBox.

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

Fig. 2. 266 Configuraciones de letra.

Mostrándose de la siguiente forma:

Fig. 2. 267 GroupBox.

Se procede a realizar tres “Groupbox” adicionales, para dar un determinado orden


a la pantalla, en donde los groupbox deben tener los siguientes nombres y
tamaño de fuente:
Tabla 1. 21 Nombre de los groupbox.

283
Luego la disposición de cada Groupbox que tendrá en la HMI, será la siguiente:

Fig. 2. 268 Disposición de los groupbox.


Ya creados los Groupbox, se procede a insertar gráficos de tendencias de las
variables de presión y la carga de material en el molino, estos gráficos de
tendencias deben ir situados dentro de cada respectivo groupbox. Para insertar el
grafico de tendencia de presión de aceite de los descansos del molino, desde
“Toolboxes”, se expande el grupo “Charts” y se selecciona la opción “Trend”,
emplazándose dentro de Groupbox “Presión”.

Fig. 2. 269 Insertar gráficos.

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.

Fig. 2. 270 Cambiar el color de fondo.

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 ( ),

Fig. 2. 271 Objetivo e lectura.

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.

Fig. 2. 272 Señal de fieldbus.

Luego se hace click en “OK” y en la ventana de propiedades se mostrara la ruta


del aspecto en la propiedad “Trace01 Current Value”.

Fig. 2. 273 Valor de variable.

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.

Fig. 2. 274 Valores mínimos y máximos.

Del mismo modo se procede con los valores mínimos, cambiando de “-100” a “0”

Fig. 2. 275 Valores minimos.

287
Mostrando el grafico de tendencia de la siguiente manera:

Fig. 2. 276 Grafico.

Del mismo modo, se inserta el segundo grafico de tendencias para la carga de


material del molino SAG, 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 n .

Fig. 2. 277 Segundo gráfico.

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.

Fig. 2. 278 Editor de expresiones.


Luego se hace click en “OK” y en la ventana de propiedades se mostrara la ruta
del aspecto en la opción “Trace01 Current Value”.

Fig. 2. 279 Ruta del valor.

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”

Fig. 2. 280 Color.

Mostrándose los dos gráficos de tendencias de la siguiente forma:

Fig. 2. 281 HMI con los gráficos.

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.

Fig. 2. 282 Etiqueta.

Luego se Inserta un nombre, desde la ventana de propiedades, en la opción


“Label”, se escribe el texto de lo que se debe mostrar en la pantalla, en esta
ocasión se inserta el nombre “Presión de aceite descansos” (incluyendo comillas).

Fig. 2. 283 Insertando nombre.

291
Mostrando el Label de la siguiente forma.

Fig. 2. 284 Etiqueta.

Como no se logra visualizar bien el texto, se procede a realizar el cambio de tipo


de fuente y su tamaño, utilizando la fuente Arial, con tamaño de numero 8, se
hace click en ( ) y se desplegará la pestaña de edición de fuentes.

Fig. 2. 285 Configuración de letra.

Luego se observa que el label queda de la siguiente forma.

Fig. 2. 286 Etiqueta.

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

Fig. 2. 287 Color de fondo.

En donde el Label contará con un fondo transparente.

Fig. 2. 288 Fondo transparente.

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:

Fig. 2. 289 2 nuevos etiquetas.

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.

Fig. 2. 290 Lecturas delos instrumentos.

Después, desde la ventana de propiedades se cambia la propiedad “Text”,


intercambiando el nombre de “Text” a “Velocidad”, luego en la propiedad de “Unit”
se cambia el texto de “Unit” a “RPM”. Como muestra la siguiente imagen:

Fig. 2. 291 Cambio de unidades.

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

Fig. 2. 292 Selección de variable global de velocidad.

En donde el casillero “Value”, se mostrará de la siguiente forma:

Fig. 2. 293 Velocidad.

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:

Fig. 2. 294 3 “Value”s.

Se procederá a realizar la modificación para la casilla “Value” para la presión de


aceite en los descansos del molino SAG, primero se debe seleccionar la primera
casilla “Value”, y se cambian la Propiedad de “Text” a “PIT” también cambiar la
propiedad “Unit” a “KPa”, como se muestra la siguiente imagen:

Fig. 2. 295 Presión.

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

Fig. 2. 296 Tendencia de medifion.

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.

Fig. 2. 297 Ingreso de variable.

Para finalizar se hace click en “OK”.

297
En donde el casillero “Value” de la presión de aceite del Molino, se mostrará de la
siguiente forma:

Fig. 2. 298 Valor de presión.

Después se procede a realizar la modificación para la casilla “Value” para la


temperatura del Estator del molino SAG. Primero se debe seleccionar la segunda
casilla “Value”, y se cambian la Propiedad de “Text” a “TIT” también cambiar la
propiedad “Unit” a “°C”, como se muestra la siguiente imagen:

Fig. 2. 299 Temperatura.

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

Fig. 2. 300 Tendencias de medición.

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_TIT_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_TIT_MILL_1”, seleccionando con doble click en el aspecto
“OUT.Value”, como muestra la siguiente imagen.

Fig. 2. 301 Ingreso de variable.

Para finalizar se hace click en “OK”.

299
El casillero “Value” de la temperatura del Estator, se mostrará de la siguiente
forma:

Fig. 2. 302 Valor de estado.

Luego se procede a realizar la modificación para la casilla “Value” para la carga


de material en el molino SAG. Primero se debe seleccionar la tercera casilla
“Value”, y se cambia la Propiedad de “Text” a “WIT” también cambiar la propiedad
“Unit” a “Ton”, como se muestra la siguiente imagen:

Fig. 2. 303 Carga de material.

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

Fig. 2. 304 Tendencias de medición.

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_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_TIT_MILL_1”, seleccionando con doble click en el aspecto
“OUT.Value”, como muestra la siguiente imagen.

Fig. 2. 305 Ingreso de variable.

Para finalizar se hace click en “OK”.

301
El casillero “Value” de la carga de material del molino SAG, se mostrará de la
siguiente forma:

Fig. 2. 306 Valor de estado.

Por último se procede a realizar la modificación para la casilla “Value” para la


temperatura ambiente, Primero se debe seleccionar la última casilla “Value”, y se
cambia la propiedad de “Text” a “AMB.” también cambiar la propiedad “Unit” a
“°C”, como se muestra la siguiente imagen:

Fig. 2. 307 Cambio de unidades.

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

Fig. 2. 308 Tendencia de medición.

Se abrirá el editor de expresiones, en la cual se expande en


“Process_Control_Network” > “Ejercicios_resueltos” > “Applications” y se
selecciona “Process_Inacap”. En donde se selecciona la variable Local
“TEMP_AMB.Value”.

Fig. 2. 309 Selección de variable global.

Para finalizar se hace click en “OK”.

303
El casillero “Value” de la temperatura ambiente, se mostrará de la siguiente forma:

Fig. 2. 310 Temperatura ambiente.

Luego se procede a realizar las indicaciones de alarmas, para ello, en Toolboxes,


Se expande el grupo “Graphic Primitive” y se hace click en “Text”, emplazándose
sobre la parte inferior del Molino.

Fig. 2. 311 Indicadores de alarma.

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.

Fig. 2. 312 Cambio de colores.

Después se continúa modificando el texto dentro de la propiedad “Text”,


cambiando el contenido de “TextItem” a “SIN TENSION” (incluyendo Comillas),
además de cambiar la propiedad “HAlign”, de “Near” a “Centre”, y por último, el
color de texto en la propiedad “TextColor”, cambiando de “Black” a “White”, como
se representa en la siguiente imagen:

Fig. 2. 313 Cambio de nombres.

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

Fig. 2. 314 Visibilidad de alarma.

Se abrirá el editor de expresiones, en la cual se expande en


“Process_Control_Network” > “Ejercicios_resueltos” > “Applications” y se
selecciona “Process_Inacap”. En donde, se escribe “If”, luego se selecciona con
doble click sobre la aspecto de la variable “STAT_PWR_1.Value”, finalizando la
línea escribiendo la palabra “Then”.

Fig. 2. 315 Variable.

306
Al finalizar la primera línea, se continua escribir la sentencia, escribiendo
“… False else True”, como indica la imagen.

Fig. 2. 316 Código de alarma.


Para finalizar se hace click en “OK”.

Fig. 2. 317 Se termina con el código .

307
Finalmente el Texto se mostrara de la siguiente manera:

Fig. 2. 318 Texto en pantalla.

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:

Fig. 2. 319 Siguientes alarmas.

En el siguiente cuadro resumen las modificaciones de las propiedades visuales:


Tabla 1. 22 Alarmas de la Fig.319.

308
Quedando su apariencia como muestra la siguiente imagen:

Fig. 2. 320 Todas las alarmas.

Luego se procede a cambiar la propiedad “Visible”, para establecer las


instrucciones que permitan que la alarma se visualice cuando corresponda.
Se establece la condición de visibilidad de la alarma del molino detenido (1), para
ello en la propiedad de “Visible” para el ítem 1, se hace click en ( ), y 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 “STP_MILL_1.Value”. Para
finalizar se realiza click en “OK”.

Fig. 2. 321 Ingreso de variables.

309
En donde la alarma desaparece de la pantalla, esto es debido a que la variable no
está activada.

Fig. 2. 322 Variable no activa.

Después se procede a cambiar la propiedad “Visible”, para establecer la condición


de visibilidad de la alarma de temperatura (2), para ello en la propiedad de
“Visible” para el ítem 2, se hace click en ( ), y 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 “ALARM_TEMP”. Para finalizar se realiza click en “OK”.

Fig. 2. 323 Ingreso de variable.

310
En donde la alarma desaparece en la pantalla, otra vez, debido a que la variable
no está activada.

Fig. 2. 324 Variable no activa.

Continuando, se procede a cambiar la propiedad “Visible”, para establecer la


condición de visibilidad de la alarma de alto tonelaje de material en el molino (3),
para ello en la propiedad de “Visible” para el ítem 3, se hace click en ( ), y se
abrirá el editor de expresiones, en el cual se expande “Process_Control_Network”
> “Ejercicios_resueltos” > “Applications” y se selecciona “Process_Inacap”. Se
escribe “IF“ en el área de expresiones, después se selecciona con doble click la
variable global ”TON_MILL_1.Value”, y por último se escribe “ > 40 then True else
False”. Al finalizar con la instrucción se hace click en “Ok”.

Fig. 2. 325 Ingreso de variable.

311
Otra vez, la alarma desaparece en la pantalla debido a que la variable no está
activada.

Fig. 2. 326 Variable no activa.

Después, se procede a cambiar la propiedad “Visible”, para establecer la


condición de visibilidad de la alarma de presión alta (4), para ello en la propiedad
de “Visible” para el ítem 4, se hace click izquierdo en , y se abrirá el editor de
expresiones. En el cual se expande en “Process_Control_Network” >
“Ejercicios_resueltos” > “Applications” y se selecciona “Process_Inacap”. Se
escribe “ IF “ en el área de expresiones, después se selecciona con doble click
izquierdo en la variable global ”PRES_MILL_1.Value”, y por último se escribe “ >
10 then True else False”. Al finalizar con la instrucción se hace click en “Ok”.

Fig. 2. 327 Ingreso de variable.

312
De nuevo, la alarma desaparece en la pantalla debido a que la variable no está
activada.

Fig. 2. 328 Variable no activa.

Se procede a cambiar la última propiedad “Visible”, para establecer la condición


de visibilidad de la alarma de presión baja (5), para ello en la propiedad de
“Visible” para el ítem 5, se hace click en ( ), y se abrirá el editor de expresiones,
en el cual se expande “Process_Control_Network” > “Ejercicios_resueltos” >
“Applications” y se selecciona “Process_Inacap”. Se escribe “IF “en el área de
expresiones, después se selecciona con doble click la variable global
”PRES_MILL_1.Value”, y por último se escribe “ < 2 then True else False”. Al
finalizar con la instrucción se hace click en “Ok”.

Fig. 2. 329 Ingreso de variable.

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.

Fig. 2. 330 Variable activa.

Ya terminadas las configuraciones de las alarmas en pantalla, se procede a


insertar un botón de parada de emergencia, desde “ToolBoxes”, se expande el
grupo “Buttons” y se selecciona “Toggle Button”, emplazándose en la parte inferior
del Groupbox “TEMPERATURA AMBIENTE”.

Fig. 2. 331 Parada de emergencia.


Se cambian las propiedades escribiendo sus valores según la siguiente Tabla:
Tabla 1. 23 Propiedades de parada de emergencia.

314
Por lo que las modificaciones en la ventana de propiedades se mostraran de la
siguiente manera:

Fig. 2. 332 Modificaciones en propiedades.

315
Una vez realizados las modificaciones de las propiedades del “Toggle Button”,
tendrá la apariencia como se muestra en la siguiente imagen.

Fig. 2. 333 Apariencia de toggle button.

Luego se procede a cambiar la última propiedad, que es asignar una “Variable


Objetivo”, el fin de este botón es, permitir que al accionarse (hacer click sobre el)
cambie 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 ( ).

Fig. 2. 334 Enclavamiento.

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

Fig. 2. 335 Selección de variable.

Una vez realizadas las modificaciones de las propiedades del “Toggle Button”,
cambiará su apariencia como se muestra en la siguiente imagen.

Fig. 2. 336 Cambio de apariencia.

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

Fig. 2. 337 Botón para cambiar pantallas.

En el cual se abre la ventana de inserción de aspectos, se activa la casilla “Show


all”, y se selecciona “Faceplate Element PG2”, asignado el nombre de “Control
Molino SAG”. Finalizando haciendo click en “Create”.

Fig. 2. 338 Ingresar aspecto.

318
Y se mostrará el Faceplate con el nombre asignado.

Fig. 2. 339 Faceplate.

Retornando a la pantalla “Molino_SAG”, se procede a insertar el botón de


aspectos, desde toolboxes, en el grupo “Buttons”, se selecciona “Aspect View
Button”, se emplaza en la parte inferior de la pantalla, como muestra la siguiente
imagen.

Fig. 2. 340 Botón para ver la otra ventana.

319
Luego se cambia la propiedad de “Text” cambiando el nombre de “Aspect View” a
“Control Molino SAG”

Fig. 2. 341 Control Molino SAG.

Después se procede a dar la especificación del aspecto que aparecerá al


momento de realizar el click sobre el botón “Aspect View”, para llevar a cabo este
procedimiento, desde la ventana de propiedades, se modifica la propiedad
“AspectView” haciendo click en ( ).

Fig. 2. 342 Visualización de aspecto.

320
Se abrirá el editor de expresiones, en “Process Data” se selecciona el botón
“View”, señalado por el icono ( ).

Fig. 2. 343 Botón View.


Después se debe expandir “Functional Structure” > “INACAP_Mineria” > “MOLINO
SAG”, en donde se debe expandir en el grupo de aspecto “Control MOLINO
SAG”, seleccionando con doble click “Main View”. Para finalizar se realiza click en
“Ok”

Fig. 2. 344 Selección de la nueva pantalla.

321
En donde el botón de aspectos se mostrara en la pantalla como se indica en la
siguiente imagen.

Fig. 2. 345 Botón para ir a la otra pantalla.

De esta forma se concluye la construcción de la pantalla de lecturas de estados


del molino SAG, la pantalla tendrá la siguiente apariencia.

Fig. 2. 346 Pantalla de lectura completa.

Ya concluida con la primera pantalla, se procede a realizar la segunda pantalla


para establecer el control total del molino SAG, en el cual se utiliza el Faceplate
llamado “Control MOLINO SAG”.

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”

Fig. 2. 347 Ingreso a la segunda pantalla.

En donde comenzara a ejecutar Graphics Builder, en el editor Process Graphics,


se procede a ampliar la pantalla, antes de comenzar con el diseño, ya que el
tamaño de la pantalla que aparece por defecto, es muy pequeño y no alcanzara
todos los elementos gráficos necesarios.

Fig. 2. 348 Pantalla por defecto.

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

Fig. 2. 349 Primer gráfico.

Luego, se cambian las propiedades según como indica la siguiente tabla:


Tabla 1. 24 Propiedades del gráfico.

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

Fig. 2. 350 Ingresar variable.

En donde finalmente el grafico de tendencias, tendrá la siguiente apariencia.

Fig. 2. 351 Grafico de tendencias.

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:

Fig. 2. 352 Barras de indicación.

Después se procede a realizar las modificaciones en las propiedades de cada


barra, cuyas propiedades se encuentran re resumidas a través de la siguiente
tabla.

Tabla 1. 25 Propiedades de cada barra.

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

Fig. 2. 353 Ingreso de variable.

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

Fig. 2. 354 Ingreso de variable.

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

Fig. 2. 355 Ingreso de variable.

Finalmente se muestran las barras de la siguiente forma.

Fig. 2. 356 Barras.

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.

Fig. 2. 357 Escalas de las barras.

Para la escala vertical (1), no es necesario realizar cambios, debido a que se


utiliza para indicación de temperatura del estator del molino SAG, donde su rango
es de 0 a 100°C.

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

Fig. 2. 358 Cambios de unidades.

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.

Fig. 2. 359 Cambio de unidades.

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.

Fig. 2. 360 Identificación de las barras.

Luego se procede a cambiar las propiedades para cada “Label” , se realiza de


acuerdo a la numeración de la imagen anterior.

En las propiedades a cambiar en (1), en la propiedad “FillColor” se reescribe los


valores de “$'Process Graphics 2 Colors:SymbolFillColor'” a “Transparent” y en la
propiedad “Label” se reescribe su valor de “Label” a “°C” (Incluyendo las comillas).

Del mismo modo se procede a cambiar las propiedades en (2), en la propiedad


“FillColor” se reescribe los valores de “$'Process Graphics 2
Colors:SymbolFillColor'” a “Transparent” y en la propiedad “Label” se reescribe su
valor de “Label” a “KPa” (Incluyendo las comillas).

Y para finalizar, se procede a cambiar las propiedades en (3), en la propiedad


“FillColor” se reescribe los valores de “$'Process Graphics 2
Colors:SymbolFillColor'” a “Transparent” y en la propiedad “Label” se reescribe su
valor de “Label” a “Ton” (Incluyendo las comillas).

332
Cambiando su apariencia como se muestra en la siguiente imagen.

Fig. 2. 361 Apariencia de las barras.

Continuando con el diseño de la pantalla se procede a añadir. Un GroupBox, para


destacar los botones de comando del molino, para ello desde Toolboxes, en el
grupo “Graphics Primitives”, se selecciona el elemento “Groupbox” y se situa en la
parte inferior de la pantalla, como muestra la siguiente imagen.

Fig. 2. 362 GroupBox.

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

Fig. 2. 363 Titulo del GroupBox.

Por lo que el Groupbox, se mostrara de la siguiente manera en la pantalla:

Fig. 2. 364 GroupBox.

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.

Fig. 2. 365 Botones de control de motor.

En donde se cambian las propiedades escribiendo sus valores según la


siguiente Tabla:
Tabla 1. 26 Propiedades del botón.

335
Por lo que las modificaciones en la ventana de propiedades se mostraran
de la siguiente manera:

Fig. 2. 366 Modificaciones de propiedades.

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

Fig. 2. 367 Asignación de variable.


Se abrirá el editor de expresiones, en el cual se expande en
“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 en “OK”.

Fig. 2. 368 Asignación de variable.

337
Una vez realizados las modificaciones de las propiedades del “Toggle Button”,
cambiará su apariencia como se muestra en la siguiente imagen.

Fig. 2. 369 Cambio de apariencia.

Después se continúa insertando el siguiente “Toggle Button” botón,


emplazándose en la parte inferior de la parada de emergencia.

Fig. 2. 370 Siguiente botón.


A través de la ventana de propiedades, se modifica la propiedad
“backgroundImage” , haciendo click en ( ).

Fig. 2. 371 Modificación de propiedades.

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.

Fig. 2. 372 Cambio de imagen del botón.

Se busca la imagen “StartOn”, se selecciona con doble Click sobre la imagen, y


para finalizar, se hace click en “Ok”.

Fig. 2. 373 Imagen del botón.

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

Fig. 2. 374 Imagen del botón.

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
“START_MILL_1”. Para finalizar se realiza click en “OK”.

Fig. 2. 375 Variable del botón.

340
Por lo que el “Toggle Button”, cambia su apariencia.

Fig. 2. 376 Apariencia del botón.


Después se continúa insertando el siguiente “Toggle Button” botón,
emplazándose en la al costado derecho del botón “Start”.

Fig. 2. 377 Nuevo botón.

A traves de la ventana de propiedades, se modifica la propiedad


“backgroundImage” , haciendo click en ( ).

Fig. 2. 378 Propiedades del botón.

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

Fig. 2. 379 Imagen del botón.

Después se realiza el mismo procedimiento anterior para la propiedad


“DownImage”.
Luego se realiza los cambios en la propiedad “Target”, haciendo click en ( ).

Fig. 2. 380 Imagen del botón.


342
Se abrirá el editor de expresiones, en el cual se expande
“Process_Control_Network” > “Ejercicios_resueltos” > “Applications” y se
selecciona “Process_Inacap”, seleccionanfo con doble click la variable Global
“STOP_MILL_1”. Para finalizar se realiza click en “OK”.

Fig. 2. 381 Variable del botón.

Por lo que el “Toggle Button”, cambia su apariencia.

Fig. 2. 382 Botón en la forma final.

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.

Fig. 2. 383 Piloto de estado.

Luego se modifica la propiedad de “FillColor”, haciendo click en ( ).

Fig. 2. 384 Color del piloto.

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

Fig. 2. 385 Variable del piloto.


Después se continua escribiendo “then Green else Red”, en la expresión, al
finalizar, se hace click en “OK”.

Fig. 2. 386 Variable del piloto.

345
Quedando la elipse de color rojo, mientras que si se activa el estado marcha al
molino, esta elipse cambiará de color a verde.

Fig. 2. 387 Piloto, forma final.


Ya insertado la elipse, se procede a insertar un “Label” al costado de la elipse,
con el fin de señalar al operador que es un piloto de estado del molino, desde
Toolboxes, se expande el grupo “Classic Symbols”, seleccionando el elemento
“Label”.

Fig. 2. 388 Identificador del piloto.

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.

Fig. 2. 389 Propiedades del identificador.

Luego, se procede a insertar un botón de aspecto, con el fin de al momento de


salir del Faceplate, se abra la pantalla de estado del molino (primera pantalla
creada). Desde Toolboxes, se expande el grupo “Buttons”, seleccionando el
elemento “Aspect View Button”, posicionándolo en la parte inferior del Groupbox
“Control Motor”.

Fig. 2. 390 Botón para volver a la otra pantalla.

347
Luego se cambia la propiedad de “Text” cambiando el nombre de “Aspect View” a
“Volver”.

Fig. 2. 391 Propiedades del botón.


Se abrirá el editor de expresiones, en el cual en “Process Data” seleccionamos el
botón “View”, señalado por el icono ( ).

Fig. 2. 392 Búsqueda de la otra pantalla.

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”

Fig. 2. 393 Selección de la otra pantalla.

En donde el botón se aprecia en la pantalla con los cambios dados.

Fig. 2. 394 Botón creado.

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.

Fig. 2. 395 Nombre del faceplate.

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

Fig. 2. 396 Propiedades de la etiqueta.

350
Quedando finalmente el Faceplate como se muestra en la siguiente imagen.

Fig. 2. 397 Forma final del faceplate.

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.

Como se mencionó anteriormente, la maqueta consiste en realizar mediciones de


caudal a través de una canalización abierta en la parte superior, en donde el
fluido se encuentra expuesto al ambiente, las cuales presenta dos puntos de
medición, un punto de medición es para observar el comportamiento para el fluido
en régimen turbulento, y el otro punto de medición es para el comportamiento del
fluido en régimen laminar, en donde se observa las diferencias del caudal en
estos dos puntos de medición.

Fig. 3. 1 Modulo de canal abierto.

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.

Fig. 3. 2 Sensores ultrasónicos.

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. 4 Sensor de flujo.

También posee un Junction Block marca Relcom modelo FCS-MB8_SG, este


elemento es ampliamente utilizado para interconectar todos los instrumentos de la
planta que concierne a la red H1 de 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

Fig. 3. 6 Cluster Modem.

Fig. 3. 7 Tarjetas I/O.

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.

Fig. 3. 8 Conexión maleta a modulo.

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:

Fig. 3. 9 Conector al módulo.

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

Fig. 3. 10 Disco local.

Fig. 3. 11 Device descriptor.

Al hacer doble click en esta carpeta, se pueden encontrar todas las librerías de los
instrumentos en la red HSE.

Fig. 3. 12 Librerías de los instrumentos.

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.

Hacemos doble click en my e-plant

Fig. 3. 13 Icono My ePlant.

Una vez abierto el programa, por defecto se abrirá en functional structure.

Fig. 3. 14 My ePlant.

359
Para insertar una librería, hacemos click en “Object type structure”.

Fig. 3. 15 Object type structure.

Fig. 3. 16 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.

Fig. 3. 17 Menu de My ePlant.

360
Volviendo a lo que se quiere realizar, nos ubicamos en FF libraries > FF H1
Device library > FF Management

Fig. 3. 18 FF libraries.

Luego hacemos click en show object in fieldbus builder, el cual se encargará de


gestionar los instrumentos, básicamente nuestra red, una vez que hacemos click
se mostrará la siguiente ventana:
El cual nos dará dos opciones editar la librería o visualizar la librería, como lo que
queremos hacer es agregar una librería, se hará doble click en Edit library como
se muestra a continuación:

Fig. 3. 19 Edición de la librería.

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:

Fig. 3. 20 Fieldbus builder.

Luego seleccionamos FF H1 Device library > Insert

Fig. 3. 21 Insertar dispositivos.

362
Una vez dentro procedemos a buscar las librerías:

Fig. 3. 22 Búsqueda de librerías.

Hacemos doble click en Prosonic-M:

Fig. 3. 23 Librería Prosonic-M.

363
Abrimos las carpetas:

Fig. 3. 24 Apertura de carpeta,

Al hacer doble click en la siguiente carpeta y nos aparecerá la siguiente ventana:

Fig. 3. 25 Archivo de librería.

Seleccionamos OK

Fig. 3. 26 Descripción de librería.

364
Y se empezaría a instalar la librería…

Fig. 3. 27 Instalación de librería.

Quedando como resultado lo que se muestra a continuación:

Fig. 3. 28 Librería instalada.

Al momento de tener la librería insertada nos facilitarán recursos disponibles para


poder insertar bloques funcionales que nos darán paso a realizar una determinada
acción, lectura o algún efecto cascada pudiéndose también programar a través de
la red H1, pero en este caso solo haremos bloques netamente de lectura.
Del mismo modo procedemos a agregar el flujometro, hacemos click en insert:

Fig. 3. 29 Agregar el flujometro.

365
Luego seleccionamos la carpeta del instrumento:

Fig. 3. 30 Carpeta del instrumento.

Hacemos doble click en ella:

Fig. 3. 31 Ingresar en carpeta.

Copiamos el mismo procedimiento anterior

Fig. 3. 32 Ingresar en carpeta.

Luego volvemos a seleccionar su último archivo

Fig. 3. 33 Selección de archivo.

366
Hacemos doble click en el y luego OK, como se muestra a continuación:

Fig. 3. 34 Información del archivo.

Y se procede a insertar la librería, quedando como resultado la siguiente ventana:

Fig. 3. 35 Instrumento agregado.

Luego una vez insertados ambos instrumentos, procederemos a chequear estos,


ya que sin un previo chequeo podría ocasionar un error o algún problema al
momento de compilar la programación, esto se hará de la siguiente manera:

367
Se hace click en el icono mostrado en el círculo rojo

Fig. 3. 36 Verificación de las librerías.

Donde se mostrará una ventana, que nos dará la información de algún error o
precaución que se tenga:

Fig. 3. 37 Sin errores.

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.

Una vez guardado procedemos a cerrar la ventana, ya fuera de esto volvemos a


la ventana activa del explorador de planta, en el cual para poder sincronizarlo con
el sistema volvemos a la carpeta principal.

Fig. 3. 39 Sincronizar sistema.

369
Hacemos click en FFLibraries > FFUpload y nos aparecerá lo siguiente:

Fig. 3. 40 Actualizar sistema.

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:

Fig. 3. 41 Actualizar sistema.

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.

Fig. 3. 42 Actualizar sistema.

371
Fig. 3. 43 Actualizando sistema.

Una vez finalizada la sincronización se mostrará el semáforo en verde, lo que nos


indicará que todo está listo.

Fig. 3. 44 Sistema actualizado.

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.

Fig. 3. 45 Control Structure.

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.

Fig. 3. 46 Semáforo en rojo.

373
Entonces para actualizarlo volvemos a repetir lo que hicimos anteriormente,
hacemos click en Library Update > Update Library

Fig. 3. 47 Actualización de librería.

Fig. 3. 48 Actualización de librería.

y una vez actualizado se mostrará en verde.

Fig. 3. 49 Librerías actualizadas.

374
Ya actualizada las librerías procederemos a actualizar la red HSE, para proceder
a realizar los cambios procedentes.

Fig. 3. 50 Actualizar HSE subnet.

Fig. 3. 51 Actualizando HSE subnet.

Una vez actualizado se mostrará en verde.

Fig. 3. 52 HSE subnet actualizada.

375
Una vez actualizadas ambas, nos vamos a FF Management > Show object.. >
Edit subnet

Fig. 3. 53 FF management.

Donde se nos abrirá la ventana principal de Fieldbus Builder, pero con el


ambiente de trabajo enfocado 100% a la instrumentación.

Fig. 3. 54 Fieldbus builder.

Una vez dentro podemos ver cada instrumento instalados en la maleta.

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:

Fig. 3. 55 Ingreso a linking device.

Al hacer doble click se mostrará la siguiente ventana:

Fig. 3. 56 Linking device.

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:

Fig. 3. 57 Habilitación de segmento.

Una vez que hacemos click quedara habilitado

Fig. 3. 58 Segmento habilitado.

378
Luego hacemos doble click y se nos abrirá la siguiente ventana:

Fig. 3. 59 Segundo segmento.

El cual corresponde al segundo segmento, donde se conectarán todos los


instrumentos del módulo OCM.
Al hacer doble click en el tag name, se abrirá la siguiente ventana donde
podremos hacer diferentes tipos de cambios, como el nombre.

Fig. 3. 60 Nombre del segmento.

379
Fig. 3. 61 Configuración del segmento.

En donde cambiaremos el nombre a LDE_H1-2

Fig. 3. 62 Cambio de nombre.

Luego hacemos click en OK y se haría el cambio.

Fig. 3. 63 Nombre cambiado.

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:

Fig. 3. 64 Insertar los instrumentos.

Una vez ubicados en la parte de la librería hacemos click en Prosonic-M lo


mantenemos y lo arrastramos a la otra parte de la pantalla, y esperamos a que se
muestren unas pequeñas hojas blancas, una vez que estas se muestren se
procede a soltar y así quedar inserto en la red H1, tal cual como muestra la
siguiente imagen:

Fig. 3. 65 Insertando los instrumentos.

381
Quedando como resultado lo siguiente:

Fig. 3. 66 Instrumento insertado.

Al fijarnos en el costado izquierdo notaremos el instrumento ya insertado.

Fig. 3. 67 Instrumento insertado.

Nota: todos los instrumentos se insertan de la misma forma.

382
Una vez inserto los 3 instrumentos nos quedaría como resultado lo siguiente:

Fig. 3. 68 Todos los instrumentos ya insertados.

Pero, ¿Cómo se puede establecer la comunicación de estos instrumentos con


respecto al sistema? O ¿Cómo se puede visualizar los instrumentos en línea?,
para eso tenemos que irnos al lado izquierdo de la pantalla donde hacemos click
en FF_SCHED_001 (H1 Schedule), Lo que nos mostrara una ventana del tiempo
de agendamiento correspondiente a las señales de fieldbus.

Fig. 3. 69 Agendamiento de señales fieldbus.

383
Una vez dentro hacemos click derecho e insertamos una señal.

Fig. 3. 70 Se inserta una señal.

Quedándonos como resultado lo siguiente:

Fig. 3. 71 Señal insertada.

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.

Fig. 3. 72 Área de bloques funcionales.

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.

Fig. 3. 73 Bloques funcionales.

El sensor puede tener varias funciones a la vez o funciones en especificas por lo


que los bloques irán variando de acuerdo a su función o la medición que se quiera
hacer, para este caso lo haremos con un bloque de señales análogas para ello lo
seleccionamos y lo arrastramos a la parte en blanco como se muestra a
continuación:

Fig. 3. 74 Bloque funcional.

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:

Fig. 3. 75 Nombre del bloque.

Una vez insertado el nombre se hace click en OK, y se mostraría así:

Fig. 3. 76 Bloque funcional.

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

Fig. 3. 77 Señal de escritura.

Donde se nos abrirá un pequeño bloque:

Fig. 3. 78 Bloque de señal.

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.

Fig. 3. 81 Se conecta la señal al bloque.

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:

Fig. 3. 82 Bloques con sus señales.

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.

Fig. 3. 83 Guardar cambios.

390
Una vez que se hizo click en yes, se nos abrirá la siguiente ventana:

Fig. 3. 84 HSE host.

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.

Fig. 3. 86 Señales fieldbus.

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:

Fig. 3. 87 Publicación de nuevas señales.

392
Una vez hecho click en él se mostrará inserta la señal que queremos.

Fig. 3. 88 Señal ingresada.

Para insertar la señal debemos ubicarnos en el espacio rojo de FF signal,


presionamos F2 y se abrirá una ventana con las señales disponibles.

Fig. 3. 89 Señales disponibles.

393
Luego hacemos click en la primera señal y seleccionamos OK, quedándonos
inserta en el cuadro rojo.

Fig. 3. 90 Señal ingresada.

Y así del mismo modo procederemos hacer lo con las siguientes señale.

Fig. 3. 91 Señales ingresadas.

394
Luego hacemos click en SAVE y OK.

Fig. 3. 92 Guardar.

De esta forma ya se encuentran agregados los instrumentos desde las librerías


hasta la inserción de los instrumentos designados a un segmento del linking
device, es importante señalar que el LDE (linking device) es una especie de
comunicador, el cual nos permite la comunicación entre los instrumentos de la red
H1 con la red HSE.

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.

Una vez analizado no deberá aparecer ningún error

Fig. 3. 94 Errores.

Luego hacemos click en close y guardamos el programa.

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:

Fig. 3. 96 HSE actualizada.

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.

Como se quiere cambiar la configuración, o en este caso poner los instrumentos


en línea, se selecciona “Show Object in Fieldbus Builder FF” y luego “Edit
Subnet”.

Fig. 3. 98 Edit subnet.

398
Una vez seleccionado “Edit Subnet”, se abrirá la plataforma de Fieldbus Builder

Fig. 3. 99 Fieldbus Builder.

Aquí se puede ingresar en el denominado modo comisionamiento, el cual permite


la visualización de los instrumentos, pero antes de eso se debe verificar en caso
de errores, para ello se hace click en “Check Whole Project”:

Fig. 3. 100 Verificar proyecto.

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:

Fig. 3. 101 Elementos a actualizar.

Esto se hace una vez ingresado en modo comisionamiento, para lo cual se


presiona el siguiente botón

Fig. 3. 102 Entrar a modo comisionamiento.

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:

Fig. 3. 103 Comienzo de la comunicación.

Una vez terminado, se pueden observar los elementos anteriormente en rojo


ahora de color negro:

Fig. 3. 104 Instrumentos comunicados.

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:

Fig. 3. 105 Actualización al servidor OPC.

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”

Fig. 3. 106 Actualización de Linking Device.

402
Aparecerá una ventana con advertencias en la cual se deber hacer click en
“Continue” para actualizar:

Fig. 3. 107 Ventana de advertencias.

Luego comenzará a cargar y actualizar los canales, proceso el cual es


automático, una vez finalizada la carga se cerrará la ventana de carga, quedando
con la ventana de advertencia otra vez, la cual se cierra haciendo click en “Close”.
Como se puede observar a continuación, las flechas negras vistas al principio
ahora ya no están:

Fig. 3. 108 Actualización completa.

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:

Fig. 3. 109 Asignación del “LIT-003”.

Luego se abrirá la siguiente ventana, en donde se debe marcar “Show other


devices” para que muestre todos los elementos en la red:

Fig. 3. 110 Visualización de todos los dispositivos.

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:

Fig. 3. 111 Selección de instrumento con el mismo TAG.

Ya finalizada la asignación, se puede cerrar la ventana anterior, y además se


puede observar que el instrumento cambio de rojo a negro, queriendo decir que el
instrumento se encuentra asignado:

Fig. 3. 112 Instrumento asignado.

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”

Fig. 3. 113 Comienzo de la comunicación.

Esta opción abre la siguiente ventana

Fig. 3. 114 Ventana para cargar los parámetros.

En la cual hay que dirigirse a “Download to Device”

Fig. 3. 115 Pestaña para configurar la carga.

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:

Fig. 3. 116 Selección del modo de carga.

Luego se debe presionar “Start”, a lo cual se abre la siguiente ventana con


advertencias, donde se selecciona “Continue”:

Fig. 3. 117 Ventana de advertencias.

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:

Fig. 3. 118 Carga de los parámetros.

Es muy importante en esta ventana observar la columna denominada “Error”,


ya que ante cualquier marca de error, será desde aquí donde se puede saber
el tipo de error y donde se ubica.
Si la carga es exitosa, entonces saldrá el siguiente mensaje:

Fig. 3. 119 Finalización de la carga.

Se presiona “OK” y luego “Close” en la ventana de “Online Dialog”

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

Fig. 3. 120 “Automatic” significa que está en línea.

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.

Fig. 3. 121 Instrumentos cargados y asignados.

Una vez finalizada la asignación y carga de instrumentos, los nombres de estos


cambiarán a negro, como se observa en la imagen anterior.
Nota: Al momento de asignar el “FIT-001”, puede que genere algún error durante
la carga, por lo que se recomienda volver a realizar la carga del instrumento, si no
funciona se deben revisar las librerías, y ya si eso no funciona se deben verificar
los parámetros.

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”

Fig. 3. 122 Agendamiento de señales indica los instrumentos en línea.

En el cual se puede apreciar el tiempo de agendamiento de las señales, también,


debajo de “FF_SHCED” se puede ingresar a “FF_FBAPP”

Fig. 3. 123 Bloques de función, en donde se puede leer la señal.

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:

Fig. 3. 124 Señal de medición.

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

Fig. 3. 125 Termino del modo comisionamiento.

Se chequea otra vez en caso de errores, y de no haber ninguno se procede a


guardar el proyecto, una vez hecho esto se procede a cerrar Fieldbus Builder.
Debido a que se realizaron modificaciones a la subnet, en My-Eplant se debe
seleccionar “FF_Upload” y luego la pestaña “Subnet_HSE_Upload”:

Fig. 3. 126 Actualizacion de la subnet.

Ya en esta pestaña se debe presionar el botón “Upload HSE Subnet”

Fig. 3. 127 Carga de los cambios a la subnet.

411
Una vez finalizada la carga, el semáforo cambiará a verde

Fig. 3. 128 Finalización de la carga.

Con esto se finaliza la puesta en línea y carga de los instrumentos.

412
3.4. Fase 3: Lógica de control en Control Builder

Al momento de conectarse al módulo de control de nivel en canal abierto,


específicamente a las tarjetas I/O, se debe prestar especial atención a la conexión
del cable de fibra, el cual debe conservar un orden designado al momento de
conectarse a uno de los dos, es decir, si en el módulo se conecta el terminal Azul
al conector Negro, se debe hacer lo mismo en el controlador de la maleta, lo
mismo para el terminal de color negro.

Fig. 3. 129 Conexión de la fibra óptica.

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

Fig. 3. 130 Declaración de variables.

Como se puede observar en el listado de variables, existen algunas de ellas que


cuentan con una dirección I/O, esto se debe a que la maleta deberá conectarse al
módulo de canal abierto para poder realizar el control de este, pero para lograr
que estas variables actúen sobre el modulo, se deben agregar las tarjeas al
controlador para luego ingresar las variables Locales o físicas, encontradas en el
módulo, todo esto utilizando Control Builder:

414
Primero se debe llegar hasta ModuleBus en control builder, luego click derecho y
presionar “Insert Unit”

Fig. 3. 131 Insertar tarjetas I/O.

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

Fig. 3. 132 Ventana de asignación de tarjetas.

Fig. 3. 133 Tarjetas asignadas.

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:

Fig. 3. 134 Variables en tarjeta 101.

 DI820 en la posición 102, para el control de la Bomba 2:

Fig. 3. 135 Variables en tarjeta 102.

Para la tarjeta 2, se debe crear una Parada de emergencia auxiliar y un


selector auxiliar, debido a que no se puede utilizar la misma variable en dos
tarjetas distintas, esto se arreglará en la programación, ya que se deben
activar las dos para que funcione.

417
 DO820 en la posición 103, señal de salida para la activación de las
bombas:

Fig. 3. 136 Variables en tarjeta 103.

b) Creación de la lógica de control


Como ya se ha visto la creación de lógicas en el capítulo 1, en esta ocasión solo
se contemplará el funcionamiento de una lógica ya finalizada para este proyecto.
La programación para el control general de las bombas se hace en Ladder,
mientras que el control de sub-procesos como la acción del selector se hace en
texto estructurado,
 Lógica general de control en Ladder:

Para la creación del control el ladder, se debe tomar en cuenta el control de


2 bombas, ambas con un control Local y otro Remoto, además de que no
pueden funcionar las dos al mismo tiempo y tomando en cuenta además, la
creación de una HMI.

Fig. 3. 137 Diagrama Ladder.

418
Explicación de la estructura del diagrama ladder

Fig. 3. 138 Secciones del diagrama.


1) En esta área se encuentran las paradas de emergencia Local
(P_Emergencia) y remota (PE_Remoto), debido a que en terreno las
paradas de emergencia se encuentran normalmente cerradas, esta se deja
como contacto abierto en el ladder, caso contrario a la parada de
emergencia remota.

2) Este es el control Local de partida de la bomba 1:


- Primero se tiene el contacto de activación del modo local.
- Stop (Local), el cual cuenta con la misma propiedad que la parada de
emergencia local.
- Partida de la bomba 2 (Local) pero negada, esto se usa a modo de
bloqueo para que no se activen las dos bombas al mismo tiempo. Ej. si se
encuentra activa la Bomba 1 y accidentalmente se activa la Bomba 2, este
contacto se desactiva, apagando a su vez la Bomba 1.
- Partida de la bomba 1 (Local) y su enclavamiento para que no deje de
funcionar una vez liberado el botón de partida.

3) Control remoto de la bomba 1, este control se diseñó pensando en el use


de una HMI:
- Stop se debió colocar como normalmente cerrado, para que al activar el
botón este se desactive.
- Partida de la bomba 2 (Remoto) , mismo motivo que en punto 2 sobre el
bloqueo, solo que esta actúa de acuerdo al control remoto.
- Partida de la bomba 1 (Remoto), esta partida se hace a través de la HMI,
y además cuenta con el enclavamiento.

4) Control Local y Remoto de la Bomba 1, pero en este caso para la Bomba 2.


El control se hizo de la misma manera, solo que el bloqueo se hace
utilizando la partida de la Bomba 1 para ambos controles, Local y Remoto.

5) Activación de las Bombas de acuerdo al diagrama de control.

419
 Lógicas de control de sub-procesos en texto estructurado:

1) Selector

Fig. 3. 139 Selector en lenguaje estructurado.


Este es la estructura para el selector, básicamente lo que hace es:
- Si se activa, el control pasa al modo Remoto, desactivándose el
modo Local y viceversa.
- Después se tiene un Selector_Aux, esto se hizo debido a que se
necesitaba ingresar la variable del selector en la segunda tarjeta “DI820”,
pero como ya se dijo anteriormente, no se puede tener la misma variable
en dos tarjetas diferentes, lo que hace esta estructura es básicamente
activar “Selector_Aux” al mismo tiempo que se activa “Selector”.

2) Parada de Emergencia:

Fig. 3. 140 Espejo de parada de emergencia.

La creación de esta estructura cuenta con la misma razón que el


“Selector_Aux”, si se activa “P_Emergencia”, se activa también “PE_Aux”.

420
3) Botones de HMI

Fig. 3. 141 Programación de 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:

Fig. 3. 142 Modo simulación.

Como esto es una simulación, se debe cambiar “P_Emergencia” (local) y los


botones de stop (local) a “True”, debido a que se diseñaron con el modulo en
mente, ya que estos se encuentran normalmente cerrados.

422
Una vez hechos los cambios, la lógica se aprecia como se ve a continuación:

Fig. 3. 143 Cambio de estado de la PE y Stops locales.

En este estado se puede hacer el cambio de Local a Remoto, físicamente al


cambiar el selector provocaría que la variable “Selector” cambie a “True”,
provocando lo siguiente:
Selector en “False”, lo que significa que el modo “Local” está activo:

Fig. 3. 144 Selector en modo local.

423
Selector en “True”, significa que el modo “Remoto” está activo y el modo “Local”
no:

Fig. 3. 145 Selector en modo Remoto.

En el diagrama Ladder se pude observar el siguiente cambio al hacer esto:

Fig. 3. 146 Modo Remoto.

Como se puede observar, al cambiar el valor de la variable “Selector”, se puede


alternar entre el modo “Local” y el modo “Remoto”, una vez hecho este cambio,
ninguna de las variables del modo Local afectaran al moro Remoto, lo mismo
sucede en el caso contrario.

424
La puesta en marcha de la Bomba 1 en este caso se realiza forzando la variable
“Start_Bomba1_Remoto”:

Fig. 3. 147 Partida de la bomba 1 en modo Remoto.

Como se puede observar en la imagen anterior, la bomba 1 se encuentra en


funcionamiento.
Si se acciona la variable “Start_Bomba2_Remoto”, cambiará de la bomba 1 a la
bomba 2:

Fig. 3. 148 Partida de la bomba 2 en modo Remoto.

Se puede ver que la bomba 1 deja de funcionar, activándose la bomba 2.

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:

Fig. 3. 149 Botones de HMI vuelven a False luego de activarlos.

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:

Fig. 3. 150 Modo Local.

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:

Fig. 3. 151 Partida de Bomba 1 en modo Local.

Si se activa la Bomba 2 al cambiar el valor de la variable “Start_Bomba2_Local”,


cambiará de la bomba 1 a la 2:

Fig. 3. 152 Partida de Bomba 2 en modo Local.

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.

Con la creación del programa del proceso (Planta de medición de caudal


en canal abierto), es estrictamente necesario cargar el proyecto hacia el
controlador AC800M, debido a que se deben obtener las lecturas desde los
instrumentos presentes en la planta y su respectiva programación
funcionando en el controlador para poder realizar la HMI solicitada.

Descarga de la programación en el controlador AC800M

Antes de realizar la descarga de la programación en el Controlador


AC800M, se debe tener en cuenta cuatro condiciones importantes.

La primera condición, es mantener el conectado el cable Ethernet en la


maleta y en el computador.

Fig. 3. 154 Conexión del cable Ethernet.

La segunda condición, consiste en que el servidor OPC para el controlador


AC800M se encuentre en línea, esto permitirá que exista la comunicación
con el controlador interactuando los datos de configuración y de
programación, para ello se accede haciendo doble click izquierdo en el
acceso directo “OPC Server for AC 800M 5.0.2” desde la máquina virtual:

Fig. 3. 155 Icono de servidor OPC.

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

Fig. 3. 156 Conexión con el controlador.

Luego, se mostrará la dirección IP con el símbolo de una cara feliz ( ),


indicando que la conexión ya ha sido establecida, luego se cierra la
ventana de la aplicación.

Fig. 3. 157 Conexión completa.

Nota: Generalmente la conexión entre el servidor OPC con el controlador


se realiza de forma automática, es decir, que al momento que se conecta el
cable Ethernet de la maleta al computador, la conexión se realiza de forma
inmediata. El procedimiento anterior se realiza solo si no ocurre esta
conexión de forma automática.

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.

Fig. 3. 158 Comprobación de la conexión.

En caso de no cumplir con ninguna de las condiciones anteriores, la


descarga del programa en el controlador no se efectuará.

Luego en Control Builder, se procede a hacer click izquierdo en “Download


Project and Go Online” mostrándose con el icono en la barra de
herramientas superior, como se muestra la siguiente imagen.

Fig. 3. 159 Descarga del proyecto.


En donde se mostrara una ventana de análisis para la descarga de la
programación, indicando el nombre de la aplicación y las configuraciones
del controlador indicando su dirección IP. Se procede realizando click
izquierdo en “Continue”.

Fig. 3. 160 Nombre de aplicación y controlador.

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

Fig. 3. 161 Ventana de advertencias.

Después continuará cargando el programa al controlador, se debe observar


en el panel de mensajes el estado de la carga, cuando la descarga ha
concluido con éxito, en el panel de mensajes indicará el mensaje “You are
now Online!”, como muestra la siguiente imagen.

Fig. 3. 162 Término de carga.

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.

Fig. 3. 163 Desconexión con el controlador.

Cuando la desconexión al controlador se ha finalizado, en el panel de


mensajes indicará “You are now offline”. Quedando la ventana de Control
Builder en el ambiente de edición.

Fig. 3. 164 Mensaje de desconexión.

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.

Se debe realizar la creación de los elementos y los aspectos gráficos en el


explorador de planta, esto se debe realizar para obtener un orden en las
pantallas de acuerdo a los sitios (localización física del proceso) y áreas
(parte funcional) pertenecientes del proceso.

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

Fig. 3. 165 My ePlant, acceso a functional structure.

Luego se selecciona en “Root, Domain”, se realiza click derecho sobre él y


se selecciona “New Object”.

Fig. 3. 166 Nuevo objeto.

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

Fig. 3. 167 Tipo y nombre del objeto.

Luego se mostrara el sitio con su respectivo nombre en “Functional


Structure”.

Fig. 3. 168 Objeto en functional structure.

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

Fig. 3. 169 Área del proceso creando un nuevo objeto.

Luego se abrirá la ventana de Inserción de objetos y se selecciona la


opción “Area”, nombrándose como
“Medicion_de_Caudal_en_Canal_Abierto”. Para terminar se hace click
izquierdo en “Create”.

Fig. 3. 170 Creación del área del proceso.

436
Y se creara la subrama del área del proceso con el respectivo nombre.

Fig. 3. 171 Objeto del proceso.

Ya creado el sitio y su área, se procede a realizar la creación de los


elementos gráficos, es decir se crea la pantalla en blanco para poder
realizar el diseño de la HMI de acuerdo a proceso.

Para crear el elemento gráfico, se selecciona en


“Medicion_de_Caudal_en_Canal_Abierto, Area”, se hace click derecho
sobre él, y se selecciona “New Aspect”.

Fig. 3. 172 Nuevo aspecto en el proceso.

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

Fig. 3. 173 Visualizar todos los aspectos.

Luego aparecerán todos los aspectos disponibles en el sistema para poder


integrar en el Área, para integrar la pantalla se debe seleccionar “Graphic
Display PG2”, y se debe nombrar como “OCM”, para finalizar se hace click
izquierdo en “Create”.

Fig. 3. 174 Selección de aspecto y nombre.

438
Y se mostrara el aspecto en el área
“Medicion_de_Caudal_en_Canal_Abierto, Area”.

Fig. 3. 175 Aspecto en el área.

Ya creado el Aspecto gráfico, se procede a realizar la pantalla, para ello, se


debe editar el aspecto recién creado, seleccionando “OCM”, se realiza click
derecho sobre él, y se selecciona en “Edit”.

Fig. 3. 176 Edición del aspecto.

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

Fig. 3. 177 Ambiente de trabajo en Graphics Builder.

Luego se procede a realizar el diseño de la HMI para el monitoreo de las


mediciones de la planta de medición de caudal en canal abierto, a su vez,
se controlará las bombas de impulsión indicando sus estados de
funcionado o detenido.

Lo primero a diseñar es la planta en sí, dibujándose de la forma más


semejante a lo que se encuentra físicamente (en donde se omite la válvula
de control).

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.

Fig. 3. 178 Creación de un estanque.

Luego, se inserta la parte inferior del estanque en cuestión, en donde en el


mismo grupo “Shapes”, se selecciona el elemento “Tank Bottom”, por lo
que se dibuja de acuerdo a la dimensión del estanque en el panel de
edición.

Fig. 3. 179 Parte inferior del estanque.

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

Fig. 3. 180 Tuberías.

En donde se ubica el comienzo de la tubería desde la parte inferior del


estanque, a medida en que se mueva el cursor del mouse, seguirá la
trayectoria de la tubería.

Fig. 3. 181 Comienzo de la tubería.

Cuando se tiene el largo deseado, para confirmar el largo de la tubería, se


realiza un click izquierdo, en donde el primer tramo queda fijo ando lugar a
un ángulo deseado, en donde con el cursor del mouse se establece la
segunda longitud y el ángulo deseado.

Fig. 3. 182 Continuación de la tubería.

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.

Fig. 3. 183 Finalización de esta sección de la tubería.

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.

Fig. 3. 184 Segunda tubería.

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.

Fig. 3. 185 Dibujo de bombas.

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

Fig. 3. 186 Edición del elemento gráfico.

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.

Fig. 3. 187 Selección de la bomba.

Luego se hace click izquierdo en la pestaña “Animation”, se procede a


activar las animaciones de acuerdo a los estados influyentes en el
funcionamiento de la bomba (Funcionando/Detenido), para ello, en
“Animation Mode”, se cambia de “None” a “DiscreteColorFill”.

Fig. 3. 188 Configuración de la animación.

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”

Fig. 3. 189 Reducción a dos bandas de estados.

Luego se procede a realizar el cambio de estilo de representación del


estado de la bomba de impulsión, se comienza por “Band1”, en la
propiedad “Style” se cambia de “Blink Shaded” a “Shaded” (este cambio
realizara que la animación intermitente de la bomba, sea solo a través de
cambios de colores), conservando el color que viene por defecto para la
animación.

Fig. 3. 190 Selección del tipo de representación de estado.

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 .

Fig. 3. 191 Cambio de color a verde.

En donde abrirá una ventana de elección de colores, seleccionando el color


verde (o similar), para finalizar la elección, se realiza click izquierdo en
“Ok”.

Fig. 3. 192 Paleta de colores.

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

Fig. 3. 193 Fin de la edición.

Mostrando finalmente los cambios realizados al elemento “Symbol Factory”


en el panel de edición de Process Graphics, pero sin animaciones ni los
colores establecidos.

Fig. 3. 194 Bomba.

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

Fig. 3. 195 Condiciones de los estados de la bomba.

En donde se abrirá el editor de expresiones.

Fig. 3. 196 Editor de expresiones.

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

Fig. 3. 197 Búsqueda de variable de Bomba1.

Fig. 3. 198 Condición de variable.

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.

Fig. 3. 199 Modificaciones realizadas.

Posteriormente, se procede a realizar la segunda condición de la animación


en estado de funcionamiento de la bomba de impulsión, para establecer la
condición se debe realizar el mismo procedimiento anterior, en la ventana
de propiedades, se hace click izquierdo en , la propiedad
“DiscreteValue2”.

Fig. 3. 200 Segunda condición de la animació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”.

Fig. 3. 201 Se busca la variable de la Bomba1.

Fig. 3. 202 Condición de la bomba.

452
En donde la ventana de propiedades se muestra las modificaciones
realizadas en la propiedad “DicreteValue2”.

Fig. 3. 203 Fin de modificaciones.

Luego se ajusta el tamaño manteniendo click izquierdo en uno de los


puntos y arrastrando con el mouse, a un tamaño adecuado para las
dimensiones de la tubería.

Fig. 3. 204 Ajuste del tamaño.

453
Después, manteniendo click izquierdo sobre el elemento “Symbol Factory”,
se arrastra ajustándose a la tubería.

Fig. 3. 205 Ajuste de la bomba a la tubería.

Ya finalizado con la bomba de impulsión n°1, se procede del mismo modo


con la bomba n°2, la diferencia se encuentra en que en vez de seleccionar
la variable “Bomba1” se utiliza la variable “Bomba2”.

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

Fig. 3. 206 Búsqueda de la variable Bomba2.

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.

Fig. 3. 207 Fin de las modificaciones.

Repitiendo el mismo paso para la propiedad “DiscreteValue2”, 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 True else False”. Para finalizar se hace click
izquierdo en “Ok”.

Fig. 3. 208 Búsqueda de la variable Bomba2.

456
En donde la ventana de propiedades se muestra las modificaciones
realizadas en la propiedad “DicreteValue2”.

Fig. 3. 209 Fin de las modificaciones.

Para finalizar, se procede a realizar el ensamble del motor a la tubería


anteriormente creada.

Fig. 3. 210 Ajuste de la bomba a la tubería.

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.

Fig. 3. 211 Unión de las tuberías.

Se continúa insertando el símbolo que representara al Flujómetro “FIT-001”


presente en la planta OCM, 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.

Fig. 3. 212 Insertar el flujometro.

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

Fig. 3. 213 Editar el elemento gráfico.

En donde se abrirá la ventana de propiedades del elemento “Simbol


Factory”, en la pestaña “Symbols”, en la categoría “Flow Meters”, se
selecciona “Flowmeter 5” ( ), para finalizar se realiza click izquierdo en
“Ok”.

Fig. 3. 214 Selección del flujometro.

459
Mostrando finalmente los cambios realizados al elemento.

Fig. 3. 215 Ubicación del flujometro.

Ajustando el tamaño y posicionando en la tubería, quedando de la siguiente


manera.

Fig. 3. 216 Unión con las tuberías.

Luego se procede añadiendo otro elemento “Flexible Pipe”, del grupo


“Shapes”, añadiendo una tubería recta (utilizando el mismo procedimiento
con las tuberías anteriores).

Fig. 3. 217 Se continua con la tubería.

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.

Fig. 3. 218 Se crea el otro estanque.

A Continuacion, se añade otro elemento “Tank Bottom”, emplazándose y


adecuándose al cuerpo del estanque recién creado.

Fig. 3. 219 Se agrega el fondo del 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.

Fig. 3. 220 Salida del segundo estanque.

Después, desde el grupo “Shapes”, se procede a insertar el elemento


“Rectangle”, posicionándolo al costado izquierdo de la última tubería
realizada, como muestra la siguiente Imagen.

Fig. 3. 221 Se inserta un rectángulo.

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

Fig. 3. 222 Cambio del color del rectángulo.

Mostrando el rectángulo de la siguiente manera.

Fig. 3. 223 Color cambiado.

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.

Fig. 3. 224 Detalles del aforo.

Luego se procede a copiar el elemento “Polyline” tres veces, realizando el


acceso directo “Ctrl + C” y pegarse en el panel de edición utilizando el
acceso directo “Ctrl+V”, ajustándose como indica la siguiente imagen.

Fig. 3. 225 Termino de los detalles.

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.

Fig. 3. 226 Se inserta la ultima tubería.

Luego se procede a crear la representación de los sensores ultrasónicos,


se deben crear a partir de varios elementos, debido a que no se encuentra
una representación similar al sensor ultrasónico en terreno.
Para ello, desde “Toolboxes”, expandiendo el grupo “Special”, se
selecciona el elemento “Symbol Factory Symbol”, ubicándose en la última
tubería creada.

Fig. 3. 227 Creación de los sensores ultrasónicos.

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

Fig. 3. 228 Edición del elemento gráfico.

En donde se abrirá la ventana de propiedades del elemento “Simbol


Factory”, en la pestaña “Symbols”, en la categoría “Sensors”, se selecciona
“Level Transmitter 2” ( ), para finalizar se realiza click izquierdo en “Ok”,
como muestra la siguiente imagen.

Fig. 3. 229 Selección de la figura.

466
Mostrando la apariencia seleccionada en panel de edición.

Fig. 3. 230 Apariencia final.


Luego, desde el grupo “Special”, se vuelve a insertar otro elemento
“Symbol Factory Symbol” emplazándose en la parte inferior del elemento
grafico creado anteriormente.

Fig. 3. 231 Se inserta otro elemento gráfico.

En donde se edita su símbolo través de la ventana de propiedades del


elemento “Simbol Factory”, en la pestaña “Symbols”, en la categoría
“Sensors”, se selecciona “Temperature Transmitter 1” ( ), para finalizar
se realiza click izquierdo en “Ok”, como muestra la siguiente imagen.

Fig. 3. 232 Selección de “Temperature Transmitter”.

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.

Fig. 3. 233 Posición sobre la figura anterior.

Después se inserta un rectángulo cubriendo la parte inferior del primer


elemento “Symbol Factory” ( ), desde el grupo “Shapes”, se selecciona el
elemento “Rectangle” y se posiciona en la parte inferior del símbolo “ ”,
como se indica en la siguiente imagen.

Fig. 3. 234 Elemento cubriendo la parte inferior del primer objeto.

Nota: En caso que no se visualice el rectángulo sobre el símbolo “ ”, es


necesario realizar click izquierdo en el rectángulo, en la opción “Order”, y
seleccionar la opción “Bring to front”.

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.

Fig. 3. 235 Elipse dentro de la zona interior del segundo elemento.

Por último se procede a insertar un rectángulo en la parte inferior de la


elipse, desde el grupo “Shapes”, se selecciona el elemento “Rectangle” y
se posiciona en la parte interior del elemento indicado, después desde la
ventana de propiedades se cambia la propiedad “FillColor” de “Gray” a
“Green”, quedando como resultado a una imagen lo más similar al sensor
ultrasónico, como indica la siguiente imagen.

Fig. 3. 236 Rectángulo de color verde.

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.

Fig. 3. 237 Copia del instrumento.

Luego se procede a añadir los cuadros de lecturas con sus respectivos


Tags, para cada representación de los instrumentos presentes en la planta
OCM, para ello en “ToolBoxes” se expande el grupo “Standard Symbols” y
se selecciona el elemento “Value”, posicionándose sobre el sensor
ultrasónico ubicado en la parte superior del aforo (representado por el
rectángulo en el panel de edición), como indica la imagen.

Fig. 3. 238 Elemento “Value” sobre el sensor.

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

Propiedad Valor por defecto Valor modificado


CfgStatusBoxVisible True False
Cfg Font / Size 10 12
Text “Text” “LIT-004”
Unit “Unit” “m3 / h”

Luego se procede a establecer la señal FF que mostrará las mediciones del


sensor ultrasónico en la planta, 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.

Fig. 3. 239 Señal FF del sensor “LIT-004”.

471
Quedando el elemento “Value” para la representación del sensor
ultrasónico LIT-004 de la siguiente manera.

Fig. 3. 240 Señal añadida al elemento “Value”.

Del mismo modo, se realiza el mismo procedimiento con el siguiente


sensor ultrasónico, 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. 28 Propiedades para “Value” del siguiente sensor ultrasónico.

Propiedad Valor por defecto Valor modificado


CfgStatusBoxVisible True False
Cfg Font / Size 10 12
Text “Text” “LIT-003”
Unit “Unit” “m3 / h”

Luego se procede a establecer la Señal FF que mostrará las mediciones


del sensor ultrasónico en la planta, 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 busca la señal de Fieldbus
Foundation, en el bloque nombrado como “LIT003”.

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.

Fig. 3. 241 Señal FF del ultrasónico “LIT-003”.

Quedando el elemento “Value” para la representación del sensor


ultrasónico LIT-003 de la siguiente manera.

Fig. 3. 242 Señal FF en elemento “Value”.

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.

Propiedad Valor por defecto Valor modificado


CfgStatusBoxVisible True False
Cfg Font / Size 10 12
Text “Text” “FIT-001”
Unit “Unit” “m3 / h”

Después se procede a establecer señal FF que mostrará las mediciones


del sensor ultrasónico en la planta, 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 busca 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 el bloque “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.

Fig. 3. 243 Señal FF de “FIT-001” para “Value” del flujometro.

474
Quedando el elemento “Value” para la representación del Flujómetro
electromagnético FIT-001 de la siguiente manera.

Fig. 3. 244 Señal FF en flujometro.

Ya finalizado la representación del diseño de la planta, se procede a


realizar los gráficos de tendencias para cada instrumento insertando tres
“GroupBox”, para ello desde “Toolboxes” se expande el grupo “Graphics
Primitives”, seleccionando el elemento “GroupBox”, insertando tres
Groupbox’s de forma vertical, en el costado izquierdo del diseño de la
planta OCM.

Fig. 3. 245 Creación de los gráficos.

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.

Fig. 3. 246 Nombre correspondiente a los sensores para cada gráfico.

Después se inserta los gráficos de tendencias que presenta a cada


instrumento dentro de cada Groupbox, para aquello, desde “Toolboxes”, se
expande el grupo “Charts” y se selecciona el elemento “Trend”.

Fig. 3. 247 Gráficos en los groupbox.

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.

Propiedad Valor por defecto Valor modificado


BackgroundColor ARGB(200,210,210,210) LightYellow
BinaryMode Stacked Overlapping
TimeAxisGridSpan 60 10
TimeSpan 300 60
Trace01MaxValue 100 18
Trace01MinValue -100 0
Trace01 None OnlyGrid

Tabla 1. 31 Propiedades de grafico para LIT-004.

Propiedad Valor por defecto Valor modificado


BackgroundColor ARGB(200,210,210,210) LightYellow
BinaryMode Stacked Overlapping
TimeAxisGridSpan 60 10
TimeSpan 300 60
Trace01MaxValue 100 30
Trace01MinValue -100 0
Trace01 None OnlyGrid

Tabla 1. 32 Propiedades de grafico para FIT-001.

Propiedad Valor por defecto Valor modificado


BackgroundColor ARGB(200,210,210,210) LightYellow
BinaryMode Stacked Overlapping
TimeAxisGridSpan 60 10
TimeSpan 300 60
Trace01MaxValue 100 15
Trace01MinValue -100 -5
Trace01 None OnlyGrid

477
Quedando como resultado la apariencia para cada gráfico de tendencias
como muestra la imagen.

Fig. 3. 248 Gráficos de tendencia.

Para establecer la señal FF que mostrará las tendencias del sensor


ultrasónico LIT-003, se selecciona el grafico de tendencias ubicado en el
Groupbox LIT-003.

Fig. 3. 249 Estableciendo la señal FF de LIT-003.

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.

Fig. 3. 250 Búsqueda de la señal FF de LIT-003.

Del mismo modo se realiza la asignación de la señal FF que mostrará las


tendencias del sensor ultrasónico LIT-004, se selecciona el grafico de
tendencias ubicado en el Groupbox LIT-004.

Fig. 3. 251 Señal FF de LIT-004.

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.

Fig. 3. 252 Búsqueda de señal FF LIT-004.

Y por último, se realiza la asignación de la señal FF que mostrará las


tendencias del sensor Flujómetro electromagnético FIT-001, se selecciona
el grafico de tendencias ubicado en el Groupbox FIT-001.

Fig. 3. 253 Señal FF de FIT-001.

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.

Fig. 3. 254 Búsqueda de señal FF FIT-001.

Ya asignadas las señales FF para cada gráfico de tendencias, cuando los


instrumentos se encuentren en línea, mostraran y se registrarán las
mediciones dentro de un intervalo de 1 minuto.

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.

Fig. 3. 255 GroupBox para el control de las bombas.

Desde la ventana de propiedades se procede a cambiar la propiedad de


“Caption” para cada GroupBox, modificando los valores de “GroupBox” a
“CONTROL BOMBA 1” y “CONTROL BOMBA 2” respectivamente,
quedando como resultado los títulos de los Groupboxes con sus
respectivos nombres.

Fig. 3. 256 GroupBox bomba 1 y 2.

Luego se crean el botón de partida 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.

Fig. 3. 257 Botón de partida.

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.

Fig. 3. 258 Modificación de la imagen.

Se busca la imagen “StartOn”, se selecciona con doble Click izquierdo


sobre la imagen, y para finalizar, se hace click izquierdo en “Ok”.

Fig. 3. 259 Imagen StartOn.

483
Por lo que el “Toggle Button” de partida de la bomba 1, cambia su
apariencia.

Fig. 3. 260 Apariencia del botón de partida.

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_Bomba1_Remoto”. Para
finalizar se realiza click izquierdo en “OK”.

Fig. 3. 261 Selección de la variable “Stat_Bomba1_Reomoto”.

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.

Fig. 3. 262 Botón de parada para la bomba 1.

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

Fig. 3. 263 Selección de imagen para botón de parada.

485
Por lo que el “Toggle Button” de parada de la bomba 1, cambia su
apariencia.

Fig. 3. 264 Nueva apariencia del botón de parada.

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_Bomba1_Remoto”. Para
finalizar se realiza click izquierdo en “OK”.

Fig. 3. 265 Asignación de variable “Stop_Bomba1_Remoto” en botón de parada.

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.

Fig. 3. 266 GroupBox de Bomba 2.

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.

Fig. 3. 267 Cambio de propiedades de imagen.

487
Se busca la imagen “StartOn”, se selecciona con doble Click izquierdo
sobre la imagen, y para finalizar, se hace click izquierdo en “Ok”.

Fig. 3. 268 Imagen StartOn para botón de partida.

Por lo que el “Toggle Button” de partida de la bomba 1, cambia su


apariencia.

Fig. 3. 269 Apariencia de botón de partida bomba 2.

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

Fig. 3. 270 Variable “Start_Bomba2_Remoto” para el botón de partida.

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.

Fig. 3. 271 Botón Stop bomba 2.

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

Fig. 3. 272 Imagen para el botón stop.

Por lo que el “Toggle Button” de parada de la bomba 2, cambia su


apariencia.

Fig. 3. 273 Nueva apariencia del botón stop de la bomba 2.

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

Fig. 3. 274 Selección de la variable “Stop_Bomba2_Remoto”.

Después, se inserta un nuevo botón que es la parada de emergencia en


modo remoto, en el cual se emplaza en el medio de los GroupBox, de
control de las bombas, como indica la siguiente imagen.

Fig. 3. 275 Creación de parada de emergencia modo remoto.

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.

Propiedad Valor por defecto Valor modificado


Action SystemDefault Direct
BackgroundBrush LightGray Red
DisabledBackGround Transparent() Red
DownBackground DarkGray Red
DownText “Down” “ PE Activo”
DownTextColor Black White
Text “Up” “Parada de Emergencia”
TextColor Black White

Luego se procede a realizar 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 “PE_Remoto”.
Para finalizar se realiza click izquierdo en “OK”.

Fig. 3. 276 Selección de la variable “PE_Remoto”.

492
Quedando la disposición de los botones en general como indica la
siguiente imagen.

Fig. 3. 277 Disposición final de los botones.

Después se procede a realizar la indicación de la Parada de Emergencia


activa en forma Local (operada desde la planta), en el cual desde
“Toolboxes”

Ya finalizando el diseño de la HMI, se procede a insertar las etiquetas para


los motores y el título de la pantalla, para realizarlo, desde “Toolboxes”, se
expande el grupo “Classic Symbols”, se selecciona el elemento “Label”,
emplazándose en la parte superior del botón de “Parada de Emergencia”.

Fig. 3. 278 Creación de etiquetas.

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.

Propiedad Valor por defecto Valor modificado


FillColor $'Process Graphics 2 Red
Colors:SymbolFillColor'
Label “Label” “PE LOCAL ACTIVO “
LabelColor SymbolLabelColor White

Mostrándose la etiqueta en pantalla de la siguiente manera.

Fig. 3. 279 Etiqueta con las propiedades modificadas.


Luego se procede a realizar el cambio de la propiedad para la visualización
de la etiqueta, en donde se establece que se muestre si la parada de
emergencia desde la planta está accionada.
Para ello, se procede desde la ventana de propiedades, en la propiedad
“Visible”, 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 “P_Emergencia”. Para finalizar se realiza click izquierdo en “OK”.

Fig. 3. 280 se selecciona la variable “P_Emergencia”.

494
En donde la etiqueta desaparecerá de la pantalla, debido a que la variable
“P_Emergencia” no está activa.

Fig. 3. 281 Etiqueta desaparece ya que “P_Emergencia” no esta activa.

Después se procede a insertar las etiquetas para la identificación de las


bombas de impulsión, insertándolas en la parte inferior de las
representaciones de los motores, como indica la siguiente imagen.

Fig. 3. 282 Etiqueta de identificación de las bombas.

Luego, desde la ventana de propiedades, se modifican los valores para la


etiqueta del motor 1, 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 1”, mostrando la etiqueta de
la siguiente forma.

Fig. 3. 283 Modificación de las etiquetas.

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.

Fig. 3. 284 Etiquetas modificadas.

Y finalmente se inserta una etiqueta para el título de la HMI, para añadirlo,


desde el grupo “Classic Symbols”, se selecciona el elemento “Label”,
emplazándose en la parte superior de la HMI,

Fig. 3. 285 Etiqueta para el título de la pantalla.

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.

Fig. 3. 286 Etiqueta de titulo modificado.

En donde el diseño final de la HMI para la planta OCM se muestra a


continuación.

Fig. 3. 287 Diseño final de la HMI para planta OCM.

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

Eklund, J. Z.-P. (2000). Course T530 Training Center ABB University .


Sebastian Quinán, W. C. (2015). Maleta de entrenamiento sistema ABB 800XA.
Sebastian Quinán, W. C. (2015). Manual Paso a Paso Maleta de entrenamiento
sistema ABB 800XA.

499

Vous aimerez peut-être aussi