Vous êtes sur la page 1sur 61

Cómo crear una solución de

lotes usando el sistema ISA S88


Logix PhaseManager

¡POR FAVOR DEJE ESTE CUADERNO DE TRABAJO


EN LA SALA!
Tabla de contenido
TABLA DE CONTENIDO __________________________________________________________3
CÓMO CREAR UNA SOLUCIÓN DE LOTES USANDO EL SISTEMA ISA S88 LOGIX
PHASEMANAGER ______________________________________________________________5
ACERCA DE ESTA PRÁCTICA DE LABORATORIO _____________________________________5
HERRAMIENTAS Y REQUISITOS PREVIOS __________________________________________5
CONVENCIONES DEL DOCUMENTO ______________________________________________6
ANTES DE COMENZAR _______________________________________________________6
MODELO FÍSICO ____________________________________________________________7
MODELO DE CONTROL PROCEDIMENTAL __________________________________________7
SESIÓN PRÁCTICA DE LABORATORIO – CÓMO CREAR UNA SOLUCIÓN DE LOTES
USANDO EL SISTEMA ISA S88 LOGIX PHASEMANAGER_______________________________9
PARTE 1 – RECETA EN EL PROCESADOR LOGIX Y PARÁMETROS EN LA PANTALLA DE
HMI ______________________________________________________________11
PARTE 1 – RECETA EN EL PROCESADOR LOGIX Y PARÁMETROS EN LA PANTALLA DE
HMI ______________________________________________________________19
PARTE 2 – RECETA EN EL PROCESADOR LOGIX Y PARÁMETROS MEDIANTE ARCHIVOS
RECIPE ______________________________________________________________31
PARTE 3 – INTEGRACIÓN CON FACTORYTALK BATCH _______________________________34
PARTE 4 – REGISTRO ELECTRÓNICO DE LOTES ____________________________________44
CONCLUSIÓN _____________________________________________________________52
APÉNDICE 1: MÓDULOS DE CONTROL ___________________________________________53
APÉNDICE 2: SIMULACIÓN ___________________________________________________56
APÉNDICE 3: CONTROL DE RECETA ____________________________________________57

CT4ES
1/5/2009 Página 3 de 61
Cómo crear una solución de lotes usando
el sistema ISA S88 Logix PhaseManager
Acerca de esta práctica de laboratorio
En esta práctica de laboratorio tomaremos como ejemplo un solo proceso de tanque
de mezclado y analizaremos las diferentes opciones para articular una solución de
procesamiento por lotes automatizado. Examinaremos un proceso de cuatro pasos:
1) Una receta única y preprogramada en el controlador Logix, cuya formulación
(cantidades) puede ser modificada por el operador.
2) Ampliar el ejemplo pasando los datos de formulación y cantidades al entorno
RecipePlus dentro de View SE.
3) Aplicar FactoryTalk Batch a la solución de procesamiento por lotes para pasar la
receta y los datos de formulación a una receta alojada en un servidor.
4) Utilizar el registro de lotes para generar informes de lotes usando Microsoft
Reporting Services.
En la práctica de laboratorio utilizaremos PhaseManager dentro de Logix 5000 para
diseñar las fases. El proceso de HMI es FactoryTalk, View SE. Utilizaremos un
SoftLogix 5860 como controlador local.
NOTA: A lo largo de esta práctica de laboratorio, en las instrucciones para ejecutar
programas, se utiliza el menú de inicio de Windows. En el escritorio y en la barra de
tareas encontrará los iconos para ejecutar las mismas aplicaciones.
Herramientas y requisitos previos

Software
En esta sesión práctica de laboratorio se utilizará el software siguiente:
 RSLogix 5000 con la opción PhaseManager, v 16.03
 FactoryTalk Batch, v. 9.0, CPR 9
 RSLinx Classic, v. 2.52, CPR 9
 SoftLogix 5800, v. 16.03
 FactoryTalk Services Platform, v. 2.10 CPR 9
 FactoryTalk View Studio, v. 5.0 CPR 9

Archivos de la práctica de laboratorio


En esta sesión práctica se usan los siguientes archivos:
 Archivo BatchIA.ACD
 Práctica de laboratorio sobre proyecto FactoryTalk View SE, PM04 BatchIA
 Proyecto de informe Enhanced Batch Reporting.sln

CT4ES
1/5/2009 Página 5 de 61
Convenciones del documento
En este documento, hemos utilizado las convenciones siguientes para que le sirvan
como guía del material de la práctica de laboratorio:
Este estilo o símbolo: Indica:
Palabras mostradas en Cualquier ítem o botón en el que usted debe:
negrita (por ej., IO - Hacer clic, o un nombre de menú en el que debe
Configuration u OK) elegir una opción o comando. Éste será el nombre
real de un ítem que ve en su pantalla o en un
ejemplo.
- Escriba en el campo especificado. Es información que
usted debe proporcionar según su aplicación (p. ej.,
una variable).

El texto que aparece dentro de este recuadro gris es una


información adicional respecto a los materiales de la práctica
de laboratorio, pero no información que le hace falta para
completar los ejercicios de la práctica de laboratorio. El texto
que aparece después de este símbolo puede proporcionarle
consejos útiles que posiblemente le faciliten la utilización de
este producto. A menudo, los autores usan el estilo “Texto de
consejo” para dar información importante que quieren que
sus alumnos vean.

Nota: Si en el texto no se especifica el botón del mouse, debe hacer clic con el
botón izquierdo del mouse.
Antes de comenzar
En esta práctica de laboratorio utilizaremos la versión CPR 9 de software. En esta
versión del software, los nombres de marca son FactoryTalk.
En esta práctica de laboratorio usaremos la extensión de lenguaje PhaseManager
para RSLogix 5000. PhaseManager es una incorporación del modelo de equipo ISA
S88 en las plataformas Logix. Gracias a él, es más rápido poner en marcha las fases
en las plataformas Logix.
En la práctica de laboratorio utilizaremos también FactoryTalk Batch. FactoryTalk
Batch es una máquina de secuenciamiento basada en servidor; ello quiere decir que
la receta de secuenciamiento se almacena y se ejecuta en el servidor, pero las
acciones concretas de la fase corresponden al controlador.
En esta práctica de laboratorio se utiliza el estándar ISA S88, parte 1. Más adelante
incluimos a modo de referencia un resumen de las palabras más importantes que se
encontrará a lo largo de la práctica de laboratorio junto con sus definiciones
correspondientes.
Modelo físico
Módulo de control: El agrupamiento de nivel más bajo dentro del modelo físico que
puede llevar a cabo tareas de básicas de control. Suele ser una válvula, una bomba,
un motor, etc.
Módulo de equipos: Un grupo de equipos funcionales que puede llevar a cabo un
número finito y concreto de activaciones de procesamiento menores. No se utilizará
en esta práctica de laboratorio.
Unidad: Un conjunto de módulos de control y/o módulos de equipos, y otros equipos
de procesamiento asociados, en los que pueden llevarse a cabo una o más
actividades de procesamiento principales. Hace referencia a los dos tanques de
mezclado utilizados en esta práctica de laboratorio, T910 y T920.
Celda de proceso: Una agrupación lógica de equipos que contiene los equipos
necesarios para producir uno o más lotes. Define el alcance de control lógico de un
conjunto de equipos de procesos dentro de un área. Se refiere al área de producción
NOD_AREA1 usada en esta práctica de laboratorio.
Modelo de control procedimental
Fase: El elemento procedimental de nivel más bajo que hay en el modelo de control
procedimental.
Operación: Un elemento procedimental que define una actividad de procesamiento
independiente compuesta por el algoritmo necesario para la iniciación, organización
y control de fases.
Procedimiento por unidad: Una estrategia para llevar a cabo procesos contiguos
dentro de una misma unidad. Se compone de las operaciones contiguas y el
algoritmo necesario para la iniciación, organización y control de dichas operaciones.
No se utilizará en esta práctica de laboratorio.
Procedimiento: La estrategia para llevar a cabo un proceso. Aunque en esta
práctica de laboratorio no se usa un procedimiento, la terminología hace referencia
al orden de las acciones que permite hacer un producto de acuerdo con la definición
de lote.
A continuación se muestra el modelo de estados de PhaseManager. Éste refleja el
modelo de estados ISA S88.

CT4ES
1/5/2009 Página 7 de 61
A continuación se muestra un cubo de requisitos tridimensional.En él pueden verse
los tipos estándar de técnicas de procesamiento por lotes utilizadas en la industria.
También pueden verse los motivos generalizados para utilizar técnicas de
procesamiento por lotes de diferentes niveles. Sin embargo, existen condiciones que
pueden determinar las técnicas de procesamiento por lotes utilizadas en diferentes
niveles. Un ejemplo es la industria farmacéutica, la cual suele utilizar un solo
procedimiento en un solo componente de un equipo de procesamiento pero, al
mismo tiempo, se necesita mantener un registro de lotes e información relacionada.
Estas necesidades pueden impulsar el uso de un sistema de lotes diferente a lo que
indicaría el cubo generalizado.
Sesión práctica de laboratorio – Cómo crear una solución de
lotes usando el sistema ISA S88 Logix PhaseManager
A continuación se describe el proceso que vamos a utilizar como base para la
práctica de laboratorio. También se incluye un esquema de tuberías e
instrumentación (P&ID).

Syrup Supply
XV912
Water Supply

XV911

T910
Mix Tank

LI
910

XV910

To Storage

El proceso que estamos utilizando es un proceso de mezcla y combinación. En él,


añadiremos una cantidad de agua y una cantidad de jarabe, mezclaremos y
enviaremos el producto resultante a un almacén. El producto que estamos haciendo
es una bebida de marca Nod, una refrescante mezcla de zumos naturales.
Las fases que vamos a seguir para fabricar el producto son las siguientes:

Fase Add_Water
Parámetros Informes
Amount_To_Add Amount_Added

Add_Syrup Phase
Parámetros Informes
Amount_To_Add Amount_Added

CT4ES
1/5/2009 Página 9 de 61
Fase Agitate
Parámetros Informes
Time_SP Time_Actual

Xfer_Out Phase
Parámetros Informes
Ninguno Amount_Xfered

El flujo general de la receta es el siguiente:


Añadir agua
Añadir jarabe
Agitar durante un tiempo fijo
Transferir a almacén

Al final, habremos fabricado tres mezclas diferentes de una bebida llamada Nod:

Descripción de la Cantidad de Cantidad de Tiempo de Producción


bebida agua jarabe agitación total
(galones) (galones) (minutos) (galones)
Nod Original 425 50 1 475
Nod ligera 450 25 0.5 475
Nod fuerte 350 125 1.5 475

Utilizaremos este mismo proceso en las partes 1 a 3 de esta práctica de laboratorio.


Parte 1 – Receta en el procesador Logix y parámetros en la
pantalla de HMI
Acerca de esta práctica de laboratorio
En esta práctica de laboratorio, en la Parte 1, el objetivo es crear un proyecto en el
procesador Logix para fabricar el producto NOD. Estamos fabricando un único
producto: Nod’s Drink. Somos una empresa nueva y tenemos un solo producto. La
demanda es elevada y queremos automatizar la producción para aumentar el
rendimiento.

Descripción de la Cantidad de Cantidad de Tiempo de Producción


bebida agua jarabe agitación total
(galones) (galones) (minutos) (galones)
Nod 425 50 1 475

Revisar el programa de Logix existente: módulos de control y de fase


1. Inicie Logix 5000 desde el menú Start:
Start > RSLogix 5000
2. Aparece la página Quick Start. Abra el archivo BATCHIA.ACD ubicado en:
C:\Program Files\Rockwell
Software\Batch\BATCHIA\RECIPES\BATCHIA.ACD
3. Examine el archivo del proyecto
El control de las E/S se realiza a través de los módulos de control de objeto ISA
S88. Los módulos de control se han implementado como instrucciones Add On
(AOI). Hay dos instrucciones Add On, Motor2State y Valve2State. Representan
una instrucción de control completo para operar un motor y una válvula. Para
usarlas, en Task/MainTask/Control Modules/Main_Routine las dos instrucciones
AOI son llamadas por los motores y válvulas del sistema.
Para una descripción detallada de los módulos de control, consulte el Apéndice
1: Módulos de control.

CT4ES
1/5/2009 Página 11 de 61
4. Examine la simulación:
Hay una tarea de simulación que se puede ejecutar con un programa llamado
Main_Simulation.

En este programa hay componentes que permiten simular una planta física.
La rutina principal llama a cada componente de la simulación según el estado de
la planta. La simulación proporciona retroalimentación del interruptor de final de
carrera a las válvulas, retroalimentación de estado a los motores, y mueve el
material de una cámara a otra cuando la ruta entre ambas está abierta.
Para una descripción detallada de la simulación, consulte el Apéndice 2:
Simulación.
5. Examine las fases del equipo:
El programa Logix incorpora de por sí tres de las cuatro fases necesarias. Como
puede verse, las fases AGITATOR1, XFER_OUT1 y ADD_WATER1 están
integradas en la tarea periódica de la Unit_T910.

Si amplía la fase de equipo ADD_WATER1, verá los siguientes estados de fase:

Los estados ya están programados para usted en las siguientes tres fases.
Haga doble clic en la fase Running para abrir el código Logix.

Dicho código es la lógica de pasos para la parte de ejecución del Add_Water1


del tanque 910.
Esa lógica se corresponde a:
If phase step = 100 then
Do something
Set the phase step = 110
End If
El estado If se representa en la lógica de escalera mediante la instrucción
Equate:

y el do something se representa de diversas maneras: instrucciones Move,


instrucciones Latch y Unlatch, etc.
Luego el índice de pasos se incrementa por medio de la instrucción Move.

CT4ES
1/5/2009 Página 13 de 61
Resumen de la Lógica de Running:
Índice de Descripción
pasos
100 Guardar el nivel del tanque actual en la variable Initial_Level
Borrar el informe, Amount_Added
Poner el módulo de control en modo de programación
Guardar el paso actual en caso de ir a un estado de retención
Ir al paso 110
110 Calcular la cantidad necesaria para llenar el tanque como
Stop_Amount = Initial_Amount + Amount_To_Add
Guardar el paso actual en caso de ir a un estado de retención
Ir al paso 120
120 Abrir la válvula
Guardar el paso actual en caso de ir a un estado de retención
Cuando se confirme que la válvula está abierta, ir al paso 130
130 Cuando el nivel es mayor o igual que el de Stop_Amount, ir al
paso 140
140 Cerrar la válvula
Guardar el paso actual en caso de ir a un estado de retención
Cuando se confirme que la válvula está cerrada, ir al paso 150
150 Informar sobre la cantidad de material añadido,
Amount_Added = Nivel actual – Nivel inicial
Guardar el paso actual en caso de ir a un estado de retención
Ir al paso 4444
4444 Fase completada

Resumen de la Lógica de Holding:


8120 Cerrar la válvula
Cuando se confirme que la válvula está cerrada, ir al
paso 8888
8888 Fase completada

Resumen de la Lógica de Stopping:


5110 Cerrar la válvula
Cuando se confirme que la válvula está cerrada, ir al
paso 5120
5120 Informar sobre la cantidad de material añadido,
Amount_Added = Nivel actual – Nivel inicial
Ir al paso 5555
5555 Fase completada

Resumen de la Lógica de Aborting:


7110 Cerrar la válvula
Ir al paso 7120
7120 Informar sobre la cantidad de material añadido,
Amount_Added = Nivel actual – Nivel inicial
Ir al paso 7777
7777 Fase completada
Para que el código pueda reutilizarse con más facilidad, tenga en cuenta que el
índice de pasos de fase es phz.StepIndex.
Phz es un tag de programa que hace referencia al tag global Add_Water1. Así
podemos copiar y pegar código entre diferentes fases sin tener que corregir el
tag, siempre que utilicemos esta referencia local de forma coherente. Para verla,
haga doble clic en Phase Tags bajo Add_Water1.

Verá los tags locales de esta fase:

Tome nota de que AMOUNT_TO_ADD es un parámetro de fase (entrada) y


AMOUNT_ADDED es un informe de fase (salida).
Tenga en cuenta también que phz está vinculado mediante alias con la fase
ADD_WATER1, que es un tag dentro del alcance del controlador (C). Así,
cuando el código de fase haga referencia a phz, también estará haciendo
referencia a la propia fase. Utilizamos la técnica de alias para aumentar el índice
de reutilización de códigos de fase. En todo el código nos referimos al nivel de
T910 (LI910) como CM_Level. Podemos reutilizar dicho código con sólo
modificar la referencia al nivel de otro tanque. Igualmente, el código hace
referencia a la válvula de entrada XV911 como CM_supply_valve. En la siguiente
sección aprovecharemos estas referencias para crear la fase ADD_SYRUP1.

CT4ES
1/5/2009 Página 15 de 61
Crear la fase ADD_SYRUP1
Vamos a copiar y pegar la fase ADD_WATER1 y seguidamente a modificarla para
convertirla en la fase ADD_SYRUP1.
1. Desde Logix 5000, haga clic con el botón derecho del mouse en la fase
ADD_WATER1 y seleccione Copy.

2. Haga clic con el botón derecho del mouse en Unit_910 y seleccione Paste.

De esta manera, se pegará una copia de la fase ADD_WATER1 en la unidad.


3. Cambie el nombre de la fase de ADD_WATER11 a ‘ADD_SYRUP1’
Haga clic con el botón derecho del mouse en la fase ADD_WATER11 y
seleccione Properties.

En el campo Name, cambie el nombre a ADD_SYRUP1 (recuerde: todas las


letras, en mayúscula). Luego haga clic en OK.

Con esto, habremos copiado todos los tags de parámetros y códigos de la fase
ADD_WATER1 en ADD_SYRUP1. Ahora tenemos que modificar los alias para
que hagan referencia a los dispositivos correctos. Con esto, dejaremos la fase ya
lista.
4. Abra Phase Parameter Aliases for Add_Syrup1 expandiendo la estructura de
fase ADD_SYRUP1. Haga doble clic en Phase Tags.

CT4ES
1/5/2009 Página 17 de 61
Con ello, se abren los tags utilizados por el equipo de fase.
Compruebe que, en la parte inferior de la vista de tags de fase, está
seleccionada la opción Edit Tags.

5. Modifique el alias de tag correspondiente a la nueva fase.


La fase utiliza tres tags de alias: CM_Level, CM_Supply_Valve y phz. Dos de los
tags deben ser modificados para la fase actual. Al observar el esquema de
procesos de la sección Descripción del proceso, vemos que, en esta fase:
CM_Level = LI910
CM_supply_valve = XV912
phz = ADD_SYRUP1
Realice las modificaciones necesarias para que los tags de fase reflejen estos
cambios. Nota – sólo deben cambiarse dos tags.

Si recordamos el código que vimos anteriormente, todo el código hace referencia


a tags de alias. Por tanto, la funcionalidad del proceso de abrir una válvula y
cerrarla tras alcanzar la cantidad de material correcta es exactamente la misma
entre las dos fases. En otras palabras: ¡ya hemos terminado! Hemos creado una
nueva fase.

GUARDE SU TRABAJO.
Parte 1 – Receta en el procesador Logix y parámetros en la
pantalla de HMI
Acerca de esta práctica de laboratorio
En la parte 1 de esta práctica de laboratorio, el objetivo es crear un proyecto en el
procesador Logix para fabricar el producto NOD. Estamos fabricando un único
producto: Nod’s Drink. Somos una empresa nueva y tenemos un solo producto. La
demanda es elevada y queremos automatizar la producción para aumentar el
rendimiento.

Descripción de la Cantidad de Cantidad de Tiempo de Producción


bebida agua jarabe agitación total
(galones) (galones) (minutos) (galones)
Nod 425 50 1 475

Revisar el programa de Logix existente: receta de fases de operación


En la Parte 1 de esta práctica de laboratorio vamos a utilizar una receta
preprogramada en el controlador Logix. Queremos hacer una receta en el
controlador que controle las cuatro fases (Add_Water, Add_Syrup, Agitate y Transfer
Out). La receta debe ser compatible con el modelo de estados estándar ISA S88
Idle, Running, Stopping, Aborting, Holding, Restarting. También debe ser compatible
con el conjunto de comandos estándar para alcanzar dichos estados: reposo,
ejecución, detención, cancelación, retención y reinicio. Podemos generar un
programa con la estructura adecuada y crear bifurcaciones en él de manera que sea
compatible con esos comandos y bifurcaciones, pero, curiosamente, ya tenemos un
objeto en el controlador que es compatible con ese modelo de estados: la fase de
equipo del administrador de estados. Utilizaremos una fase como una operación. La
fase enviará comandos a todas las demás fases en el momento adecuado del
desarrollo de la receta. La fase será también responsable de administrar el arbitraje
local y el manejo de fallos.

CT4ES
1/5/2009 Página 19 de 61
1. Desde Logix 5000, expanda Recipe Task, y luego expanda Make_Nod Phase.

Esta fase tiene el conjunto estándar de estados y es compatible con el modelo


de estados del que hemos hablado antes. En la lógica de ejecución queremos
enviar comandos a las fases para que se ejecuten en el momento apropiado,
mientras que en la lógica de detención queremos enviar comandos a las fases
para que detengan el funcionamiento, etc. Las otras piezas administran la
propiedad. El controlador Logix entiende sobre la posesión de la fase. Los
comandos PATT (acoplar fase) y PDET (desacoplar fase) permiten asignar y
liberar las fases. Estamos usando esta fase como una operación; por ej., es una
operación de receta que controla las otras fases. Cuando la operación está en
estado de ejecución, ejecuta “Main_Recipe” que a su vez llama e inicia las fases
individuales según sea necesario.
Para una descripción detallada, consulte el Apéndice 3: Control de receta

Descargar el programa Logix y probar las fases


• Desde Logix5000, seleccione Window > Close All Windows > Close All

En esta sección vamos a descargar el programa Logix en el controlador


SoftLogix 5860 y a probar la fase que acabamos de crear (ADD_SYRUP1).

1. En el menú de Logix, seleccione Communications > Download.


2. Haga clic en Download para cargar el programa en el controlador SoftLogix.

3. Asegúrese de que el programa esté en Remote Run. En caso contrario, haga


clic en el botón Rem Prog button y seleccione Run Mode. Si aparece el
mensaje Done Downloading. Change controller mode back to Remote Run?
– haga clic en YES.

CT4ES
1/5/2009 Página 21 de 61
Si aparece la siguiente advertencia:

Haga clic en OK, y repita el proceso de descarga.

4. Antes de ejecutar la fase, necesitamos configurar los parámetros de la fase.


Abra los parámetros de fase ADD_SYRUP1 (haga doble clic en Phase
Tags).
Asegúrese de que la ventana Phase Tags esté en el modo Monitor Tags (parte
inferior de la pantalla)

Establezca el valor de AMOUNT_TO_ADD en ‘50.0’.

Probar la nueva fase – ADD_SYRUP1


En Logix 5000 existe la posibilidad de asumir la posesión de la fase para probarla.
Vamos a probar manualmente la nueva fase ADD_SYRUP1 que acabamos de crear.
1. Desde Logix, seleccione Tools > Monitor Equipment Phases.

2. Seleccione la fase ADD_SYRUP1 y luego seleccione el botón Ownership.

CT4ES
1/5/2009 Página 23 de 61
Cuando el sistema le pregunte Take Ownership of ‘ADD_SYRUP1’?, haga clic
en Yes.
Verá la fase en una representación interactiva de motor de estados. Puede hacer
clic en los hipervínculos para controlar la fase.
3. Configure una lista de observación
Antes de comenzar con la fase, vamos a configurar una vista para poder
observar mejor lo que está sucediendo. Desde Logix, seleccione View > Watch.

Configure la ventana de observación para poder ver LI_Syrup and LI910.


Asegúrese de seleccionar Quick Watch.
Desde la ventana de monitoreo de fase de equipo, haga clic en el hipervínculo
Start para iniciar la fase.

Deberá ver lo siguiente:


 la fase pasa al estado de ejecución.
 el nivel de indicación del jarabe disminuye.
 el nivel del TI910 aumenta 50.0 unidades.
Cuando la fase pase al estado de Complete, haga clic en Reset para
restablecerla.

Libere la fase haciendo clic en la ficha Owner. Deberá ver cómo el propietario
cambia de RSLogix 5000 a none.

CT4ES
1/5/2009 Página 25 de 61
Establezca el nivel de LI910 nuevamente a 0.0; para ello introduzca ‘0.0’. en el
tag LI910.

Inicie la vista de HMI de la planta


En esta práctica de laboratorio vamos a utilizar FactoryTalk View Supervisor Edition
para ver el proceso e interactuar con él.
1. Iniciaremos Start FactoryTalk View Studio y abriremos un proyecto existente.
En el menú Start, seleccione Start > FactoryTalk View Studio.
Seleccione Site Edition (Network) y luego Continue.

Bajo la ficha Existing, seleccione el proyecto Lab PM04 BatchIA, luego


seleccione Open.

2. Abra la pantalla 7910.

Expanda las bifurcaciones Graphics y Displays, y abra la pantalla T910 haciendo


doble clic en ella.
3. Ejecute la pantalla.

Haga clic en el botón Run de la herramienta para ejecutar la pantalla .

La pantalla T910:
Tenga en cuenta lo siguiente acerca de este gráfico:
 Los botones contextuales de la parte superior derecha para ejecutar una
receta. Los botones cambian para reflejar los comandos disponibles.
 Las pantallas de parámetros e informes de cada una de las cuatro fases.
 La pantalla de temporizador en tiempo real de puntos de ajuste y tiempo
transcurrido.
 La indicación de nivel del tanque.
 La pantalla dinámica del agitador y las válvulas.

4. Haga un lote de Nod.

CT4ES
1/5/2009 Página 27 de 61
Haga clic en el botón Start . Verá cómo las fases individuales
empiezan a ejecutarse, y a añadir material, mezclar y transferir material fuera del
tanque.
Ejecute el lote hasta que se complete.
Registre los resultados finales de producción:
Producción de Nod Cantidad de Cantidad de Tiempo de Producción
agua jarabe agitación total
(galones) (galones) (minutos) (galones)
Cantidad de receta 425 50 1 475
Cantidad real

5. Haga otro lote de Nod.


Seleccione el botón Start. Deje que el lote se ejecute durante unos momentos. A
continuación, ponga el lote en retención mediante el botón Hold. Verá cómo el
proceso queda en estado retenido. Recuerde que en la operación de fase
Make_Nod, cuando la fase recibe la orden de pasar a un estado de retención,
también envía esa orden a las fases individuales.
Reinicie el lote de Nod mediante el botón Restart.
Ejecute el lote hasta que se complete.
Registre los resultados finales de producción:
Producción de Nod Cantidad de Cantidad de Tiempo de Producción
agua jarabe agitación total
(galones) (galones) (minutos) (galones)
Cantidad de receta 425 50 1 475
Cantidad real

Añadir otro producto


La demanda de producto ha sido enorme. Nod Corporation ha decidido sacar
provecho de este éxito e introducir un nuevo producto. Para mantener su imagen de
productos saludables, la empresa ha creado una nueva bebida Nod que se llamará
Nod Ligera.

Descripción de la Cantidad de Cantidad de Tiempo de Producción


bebida agua jarabe agitación total
(galones) (galones) (minutos) (galones)
Nod 425 50 1 475
Nod ligera 450 25 0.5 475
Como ingeniero de proyectos, se le ha encargado poner en marcha la fabricación de
este producto. Para minimizar el costo de los cambios, va usted a modificar los
gráficos de manera que el operador pueda introducir las cantidades de la receta
según el producto que se vaya a fabricar.
1. Introduzca los parámetros de Nod Ligera.
Seleccione cada uno de los puntos de ajuste de los parámetros (SPT) e
introduzca la cantidad correspondiente a la receta de Nod Ligera. Haga clic
en el cuadro SPT para introducir datos.

CT4ES
1/5/2009 Página 29 de 61
NOTA: ¡Asegúrese de seleccionar el botón Enter después de escribir los
valores!
Termine de introducir los datos de los parámetros del nuevo producto.
Esta técnica puede usarse para administrar diferentes valores de fórmulas para
una receta, pero tiene un alto riesgo de errores de ingreso por teclado.

2. Detenga la pantalla FactoryTalk View T910. -


3. Cierre la pantalla.
File > Close
Deje FactoryTalk View Studio en ejecución durante la siguiente parte de la
práctica de laboratorio.
Parte 2 – receta en el procesador Logix y parámetros
mediante archivos Recipe
La demanda de producto sigue siendo enorme. Nod Corporation ha decidido seguir
sacando provecho de su éxito e introducir un tercer producto. Este es un producto
con un sabor atrevido que se llamará Nod Fuerte. La bebida original (la primera)
pasará a llamarse Nod Original. Se crearán nuevas hojas de lotes y los operadores
introducirán los parámetros de los tres productos mediante botones de HMI. Por otro
lado, la calidad está empezando a ser un problema, ya que se cometen errores al
introducir los datos. Como ingeniero de sistemas, usted sugiere automatizar la
introducción de parámetros. Para esta siguiente parte de la práctica de laboratorio,
utilizaremos la función Recipe de FactoryTalk View SE.
Recuerde los parámetros para fabricación de productos:

Descripción de la Cantidad de Cantidad de Tiempo de Producción


bebida agua jarabe agitación total
(galones) (galones) (minutos) (galones)
Nod Original 425 50 1 475
Nod ligera 450 25 0.5 475
Nod fuerte 350 125 1.5 475

Receta
La finalidad general de un sistema de recetas es que el usuario pueda leer y escribir
un conjunto de valores de/a un conjunto de tags en una sola operación. Los valores
de datos sobre los ingredientes de la receta se guardan en el archivo de receta y
pueden cargarse al controlador o descargarse de él en una sola acción.
Existe la herramienta Recipe en ViewSE que ahorra conjuntos de datos y le permitirá
llamarlos y descargarlos.
El objeto Recipe está almacenado en la porción de Objects / Advanced de ViewSE
La versión que ejecutaremos se ha personalizado usando varios componentes
ActiveX y ViewSE nativos para hacer que funcionen de manera similar a la
herramienta RecipePlus en ViewME.

CT4ES
1/5/2009 Página 31 de 61
Usar FactoryTalk View SE y archivos Recipe

1. Abra el archivo de recetas Nod Light en el proyecto View Studio.


Desde FactoryTalk View Studio, haga doble clic en Nod Light en el subdirectorio
Recipes:

2. Un archivo de recetas.
Un archivo de recetas tiene el campo para insertar el texto y el número:
1,“Nod Light Strength Drink” ! RecipeName
2,450 ! WaterAmount
3,25 ! SyrupAmount
4,0.25 ! MixTime

donde 2 = índice de tabulación para el campo Water Amount.


450 = el número para cantidad
WaterAmount = el nombre común del cuadro de entrada de datos.
Cierre el archivo Recipe. File / Close

3. Abra la pantalla RecipePlus.


Expanda Graphics, expanda Displays y haga doble clic en la pantalla
RecipePlus.
Se abre la pantalla:

7. Ejecute la pantalla.
Haga clic en el botón Run situado en la esquina superior izquierda para

ejecutar la pantalla .
En la ventana Recipe Selection, haga clic en la unidad de receta Nod_Strong.
8. Cargue los parámetros Nod_Strong; para ello haga clic en Nod Strong.
Seleccione el botón Download to PLC en la sección Recipe Buttons. De esta
manera se transfiere el conjunto de recetas desde el archivo al PLC. Con ello se
eliminan los errores de ingreso con el teclado al almacenar los conjuntos de
fórmulas de recetas en formatos de archivo preconfigurados.

9. Detenga FactoryTalk View Display RecipePlus, . Cierre la pantalla. File /


Close. Si el sistema le pregunta si desea guardar los cambios, seleccione No.

CT4ES
1/5/2009 Página 33 de 61
Parte 3 – Integración con FactoryTalk Batch
La dirección de la empresa quiere contar con un registro de lotes de producción.
Ahora vamos a integrar FactoryTalk Batch para administrar nuestras recetas.

A continuación se presenta una descripción general de la arquitectura del producto


Batch Server con ControlLogix:

Utilizando FactoryTalk Batch, vamos a mover el secuenciamiento de la receta


Make_Nod, del controlador Logix a un servidor. El servidor le dirá a cada una de las
fases que hemos creado cuándo deben ejecutarse.
Integrar las fases existentes en un modelo de área de lotes
Primero vamos a cargar las fases que creamos en el archivo de programa Logix y
las vamos a pasar a un modelo de área.

Usted debe estar fuera de línea para que funcione la sincronización En


Logix 5000, seleccione Communications > Go Offline.

1. Inicie el Equipment Editor:


En el menú Start, seleccione Start > Equipment Editor.
2. Abra el modelo de área actual.
Desde el Equipment Editor, seleccione File > Open.
Seleccione BATCHIA.cfg, y luego haga clic en Open.
3. Desplácese al área de producción y a la unidad.

Haga doble clic en el icono correspondiente a Nod_Area1,

Haga doble clic en el icono correspondiente a T910,


No hay fases dentro de la unidad T910. Vamos a cargar la configuración actual
del archivo Logix.
4. Sincronice con el programa Logix:
Desde el Equipment Editor, seleccione Edit > Synchronize Logix5000 Data
Servers

CT4ES
1/5/2009 Página 35 de 61
Seleccione Continue Without Saving

Seleccione Continue en la ventana Synchronize with CLX, .

5. Empiece a crear la fase:


El programa de sincronización nos dirá que hay cuatro fases en el programa
Logix que no existen en el modelo de área. Sólo nos interesan las cuatro que
forman parte de la receta (Add_Syrup1, Add_Water1, Agitator1 y Xfer_Out1). No
nos interesa importar la fase Make_Nod en el modelo de área, ya que vamos a
utilizarla como operación de receta.
En cada una de las cuatro fases (Add_Syrup1, Add_Water1, Agitator1 y
Xfer_Out1) cambie la opción seleccionada de Skip this Time a Create in
Area Model.
En Make_Nod, deje el valor Skip this Time.

Seleccione Synchronize, .
6. Cree la primera clase de fase:
A continuación, se nos preguntará lo que deseamos crear para la fase
Add_Syrup1.

Cuando aparezca el mensaje Enter name for new phase, escriba


‘ADD_SYRUP’.

Seleccione T910 bajo la columna de unidades.


En la parte izquierda, seleccione el icono correspondiente como, por ejemplo,

.
Haga clic en Continue.
7. Repita la creación de clase de fase para cada uno de los siguientes:
Cree una clase de fase para cada una de las tres fases restantes siguiendo las
preguntas y seleccionando el icono adecuado. NOTA – Seleccione el nombre de
fase apropiado.
Utilice los siguientes nombres de clase:
ADD_WATER para la fase ADD_WATER1
AGITATOR para la fase AGITATOR1
XFER_OUT para la fase XFER_OUT1
8. Guarde el modelo de área sincronizado.
En este momento, habrá creado cuatro nuevas clases de fases e instancias de
fases en el modelo de área. Cuando aparezca el mensaje Save the Project File
now (Guardar el archivo de proyecto ahora), seleccione Yes. Observe el estado
saltado de la fase Make_Nod.

9. Haga clic en Close para salir del cuadro de estado de sincronización.


Haga clic en Cancel en el cuadro de diálogo Save after Synchronization.
Guarde el modelo de área con, File > Save

CT4ES
1/5/2009 Página 37 de 61
10. Tenga en cuenta que se han creado cuatro fases en el modelo de área que
coinciden con las cuatro fases del archivo Logix.

11. Modifique las clases.


Necesitamos modificar las clases que el sistema ha creado para añadir los
rangos y unidades adecuadas.
Haga clic con el botón derecho del mouse en la clase de fase Add_Syrup
situada en la parte izquierda.
Seleccione la ficha Parameters y cambie el valor Max de AMOUNT_TO_ADD
de 100 a ‘500’.
Cambie el valor Enum/EU de ENG. UNITS a ‘Gallons’.
Seleccione la ficha Reports.
Cambie el valor Enum/EU de ENG. UNITS a ‘Gallons’.

Haga clic en OK para salir del cuadro de diálogo Edit Phase.


Repita el proceso para las otras tres fases, introduciendo los valores para Max y
EU como se describe a continuación:
Nombre de Parámetro Máx EU Informe EU
fase
ADD_SYRUP AMOUNT_TO_ADD 500 Galones AMOUNT_ADDED Galones
ADD_WATER AMOUNT_TO_ADD 500 Galones AMOUNT_ADDED Galones
AGITATOR TIME_SP 100 Minutos TIME_ACTUAL Minutos
XFER_OUT AMOUNT_XFERED Galones

Guarde el modelo de área con File > Save


Salga del Equipment Editor, para ello seleccione File > Exit

Comprobar el funcionamiento de la receta


Vamos a abrir el Recipe Editor y a comprobar la receta.

1. Inicie el Recipe Editor:


En el menú Star,
seleccione Start > Recipe Editor
2. Verifique las recetas:
El Recipe Editor le ofrecerá la posibilidad de verificar la receta al inicio, ya que el
modelo de área ha cambiado. Acepte (YES) para comprobar todas las recetas
del directorio.
Haga clic en Accept para que se guarden todas las recetas.
Haga clic en Close para cerrar el cuadro de diálogo de verificación.

CT4ES
1/5/2009 Página 39 de 61
3. Abra la operación.
File > Open Top Level
Seleccione Make_Nod, Then Open.

El Recipe Editor mostrará la receta.


El editor de recetas de Factory Talk Batch es un editor estilo SFC. La
receta es manejada y ejecutada desde el servidor de procesamiento
por lotes. De esta manera se elimina la codificación de la receta en el
controlador. El servidor “llamará” cada fase en el controlador para
ejecutarla cuando la receta así lo indique.

4. Salga del editor de recetas; para ello seleccione File > Exit.

Inicie el FactoryTalk Batch Server y ejecute un lote


Comenzaremos con el servidor de procesamiento por lotes. Pondremos un lote en la
lista de lotes para producir un lote de la bebida Nod.
1. Iniciar el servidor de procesamiento por lotes.
Desde el menú Start, seleccione Start > Batch Service Manager
Compruebe que Factory Talk Batch Server esté seleccionado como servicio.
Haga clic en Start / Continue para iniciar el servidor.

Una vez que el servidor esté en funcionamiento, la luz del semáforo deberá
ponerse en verde y el estado pasará a Running (ejecución).
2. Inicie FactoryTalk Batch View.
En el menú Start, seleccione Start > View
De esta manera accederá a la lista de producción del servidor de procesamiento
por lotes.

CT4ES
1/5/2009 Página 41 de 61
3. Ponga un lote en la lista de lotes.
Añada un lote a la lista de lotes; para ello haga clic en el botón Add a Batch

situado a la derecha de la ventana Batch View .


Cuando se le pregunte “Do you want to add a batch?” (¿Desea añadir un lote?),
haga clic en Yes.
Seleccione la receta Make_Nod recipe, y luego haga clic en OK.
Escriba una identificación de lote para ‘Batch1’.
Haga clic en Create.

5. Inicie el lote y ejecútelo.

Seleccione Batch1 e inicie el lote usando el botón Start Batch,


Cuando se le pregunte “Do you want to start the batch?” (¿Desea iniciar el lote?),
seleccione Yes.
Vea la receta que se ejecuta desde la ventana de visualización SFC; para ello

haga clic en el botón View Procedure as SFC,

También puede ver las actividades de procesamiento por lotes cambiando a la


aplicación Factory Talk View SE y ejecutando el gráfico T910.

Espere a que se termine el lote.


6. Seleccione el icono Batch List.

(arriba, a la izquierda)
7. Retire el lote de la lista de lotes haciendo clic en el botón Remove (al lado
derecho).

Cuando se le pregunte “Do you want to remove Batch1?”. (¿Desea retirar


Batch1?), seleccione Yes.

CT4ES
1/5/2009 Página 43 de 61
Parte 4 – Registro electrónico de lotes
Acerca de esta práctica de laboratorio
En esta práctica de laboratorio, usaremos el registro de lote para generar informes.
Factory Talk Batch mantiene un registro electrónico de todos los eventos del lote que
ocurren a medida que se ejecuta el lote. El registro se almacena como un archivo
ASCII en el servidor de procesamiento por lotes.
Registro de lote – Archivo ASCII

Uno de los motivos de usar un servidor de procesamiento por lotes es


tener un registro de lote para cada lote. Éste proporciona información
completa de "lo que sucedió" en cada lote. Cada lote es un archivo de
diario separado.

El registro de lote producido por el servidor de procesamiento por lotes es un


archivo ASCII. Veamos el registro de lote mediante el filtro de datos del archivo
ASCII.

1. En Batch View, seleccione Journal Viewer, (arriba a la izquierda)

Haga clic en Journal,


Seleccione el lote Batch1 y luego haga clic en OK.
Se abrirá un registro de lotes con detalles sobre qué ha ocurrido y cuándo.
2. Repase los valores reportados.
Vamos a utilizar filtros para reducir los datos que estamos viendo.
En el campo Filtering de la columna 1, seleccione Event Type.
En Filter1, introduzca ‘Report’.
Haga clic en el botón Refresh.

Aparecerán los datos reportados de todas las fases.

3. Detenga la vista de lotes – Haga clic en el botón Exit de Batch View, .


4. Detenga cualquier gráfico que se esté ejecutando en ViewSE y salga haciendo
clic en File > Exit
5. Si Logix 5000 se está ejecutando, salga de él; para ello haga clic en File > Exit.
(Guarde, si el sistema lo indica).

Registro de lote – SQL DB


El archivo ASCII puede colocarse en una base de datos ODBC. En este caso,
colocaremos el diario en SQL Server 2005 y usaremos Microsoft Reporting Services
(MRS) para generar informes a partir de los datos del diario. El software MRS
proporciona herramientas para crear informes para obtener, analizar e informar
sobre los datos del lote.
1. Inicie Internet Explorer. Utilice el icono que está junto al menú Start.

En el Internet Explorer, menú Favorites, seleccione Report Manager.


Ante el comando para iniciar una sesión, use User Id = ‘labuser’ Password =
‘rockwell’, si el sistema lo indica.
Puede tardar un par de minutos hasta que todos los servicios estén cargados y
en ejecución.

CT4ES
1/5/2009 Página 45 de 61
2. Seleccione Batch Reports

3. Al interior de Batch Reports hay varios informes disponibles.


4. Seleccione el Batch Report.

5. En Batch ID, seleccione ‘B100’.

6. Haga clic en el botón View Report situado a la derecha de la pantalla.

Este informe muestra información resumida acerca del lote seleccionado.


7. Regrese el área principal de selección de informes, Plant Reports utilizando el
botón Back en IE o haga clic en Report Project1 en la lista de jerarquía.
8. Haga clic en Recipe Amt vs Actual Report.
9. En Batch ID, seleccione ‘B100’.

10. Haga clic en el botón View Report situado a la derecha de la pantalla.

Aparecerá la cantidad deseada versus la cantidad realmente agregada al lote.

11. Regrese el área principal de selección de informes, Plant Reports utilizando el


botón Back en IE o haga clic en Batch Reports en la lista de jerarquía.
12. Seleccione el informe Execution Time.
En UniqueID seleccione Select All.

13. Haga clic en el botón View Report


Aparecerá el tiempo de ejecución para los lotes seleccionados.

Cómo guardar e imprimir datos


1. Microsoft Reporting Services sigue el estándar WYSIWYG (lo que usted ve es lo
que obtiene). La configuración y presentación de los informes indica cómo se
imprimirán. Desde MRS usted ve un menú para guardar / imprimir datos.

CT4ES
1/5/2009 Página 47 de 61
Botón para imprimir

Exportar informe Botón para actualizar

2. El botón para imprimir imprimirá un informe mediante una impresora usando el


cuadro de diálogo de impresión estándar.
3. Vamos a guardar / exportar el informe. En el cuadro Export, seleccione Acrobat
(PDF) file.

4. Haga clic en el vínculo Export a la derecha de la selección.

5. Para el comando Open, Save, Cancel; Seleccione Open.


6. Se presenta ahora el informe en Adobe Acrobat Reader. Usted puede guardar y
enviar el informe a otra persona para seguimiento. Cierre la ventana de
Acrobat; para ello haga clic en File > Exit.
Mejorar un informe
En esta sección usaremos Microsoft Visual Studio para modificar uno de los
informes de ejemplo.
El informe Recipe Amt vs Actual Report nos indica cuánto material hemos usado en
las fases de adición, pero nos gustaría añadir información sobre cuánto material se
transfirió a almacenamiento.
1. Inicie Visual Studio, Start > Programs > Microsoft Visual Studio 2005 >
Microsoft Visual Studio 2005
2. Abra el proyecto: En el lado izquierdo, bajo Recent Projects, haga clic en
Enhanced Batch Reporting. Con ello se abrirá la carpeta de informes de lotes
que hemos estado usando.
3. Al lado derecho verá una vista jerárquica de la carpeta. Vamos a copiar y pegar
el informe Recipe Amt vs Actual Report.rdl y luego lo modificaremos. Por lo tanto,
haga clic con el botón derecho del mouse en Recipe Amt vs Actual
Report.rdl luego seleccione Copy; desde el menú Visual Studio, seleccione Edit
> Paste.
4. Haga clic con el botón derecho del mouse en el nuevo informe “Copy of
Recipe Amt vs Actual Report.rdl” y seleccione Rename. Cambie el nombre a
“Material Summary.rdl”.
5. Haga clic con el botón derecho del mouse en Material Summary.rdl y
seleccione Open.
6. Ya hay un informe creado para informar sobre el valor de fase de
“Amount_Xfered”, por ej., cuánto hemos transferido a almacenamiento. Lo que
haremos será combinarlo con el informe existente. Asegúrese de que está en la
ficha Layout. Haga clic en la ficha ToolBox situada a la izquierda de la
ventana. Seleccione Sub Report.

7. Resalte un área en el informe principal para encajar el informe.

8. Haga clic con el botón derecho del mouse en la nueva área del informe y
seleccione Properties.
9. En la ficha General, cambie Subreport, seleccione Amount Xfered.

CT4ES
1/5/2009 Página 49 de 61
10. Bajo la ficha Parameters, configure los parámetros de la siguiente manera,
Nombre de parámetro Valor de parámetro
BatchID = parameters!BatchID.value
UniqueID = parameters!UniqueID.value
Puede escribir los valores de los parámetros, o
Use la lista desplegable para seleccionar el nombre del parámetro.
Use el menú desplegable para seleccionar <Expression>, haga clic en los
parámetros y luego haga doble clic en BatchID o Unique ID para añadirlo a la
expresión, luego haga clic en OK.

De este modo pasará la información necesaria (cuál lote visualizar) desde el


informe principal al subinforme.
Haga clic en OK.

11. Veamos la apariencia que tiene el informe, seleccione la ficha Preview.


Seleccione B100. Haga clic en el botón View Report. Deberá ver un informe
combinado de las cantidades que usamos en las fases de adición y la cantidad
de material que transferimos.
12. En el menú Visual Studio, Seleccione File > Save All. Luego seleccione File >
Close.
13. Haga clic con el botón derecho del mouse en Material Summary.rdl bajo
Solution Explorer. Seleccione Deploy. De este modo compilará y enviará el
informe al servidor de informes de modo que los usuarios puedan acceder al
mismo.
En la ventana inferior (ventana de salida) posteriormente verá:
========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========
14. El servidor de informes también necesitará el secundario para que el informe
funcione correctamente. Por lo tanto, también debe enviar el informe Amount
Xfered.rdl. Haga clic con el botón derecho del mouse en Amount Xfered.rdl
bajo Solution Explorer. Seleccione Deploy.

Probar el nuevo informe


1. Si todavía no está ejecutando el Internet Explorer,
inícielo y seleccione Favorites > Report Manager.
Ante el comando para iniciar una sesión, use User Id = labuser Password
= Rockwell, si el sistema lo indica.
Si ya se está ejecutando, regrese a Batch Reports, y haga clic en el
botón Refresh.
2. Seleccione Batch Reports
3. Seleccione el nuevo informe Material Summary. Seleccione B100, y haga
clic en View Report.

CT4ES
1/5/2009 Página 51 de 61
Conclusión
En esta práctica de laboratorio examinamos los tres niveles de automatización de
lotes y dos formas de generación de informes de lotes.
 Secuenciamiento básico fijo
 Varios productos, el mismo procedimiento, parámetros variables
 Varios productos, varios procedimientos
 Generación de informes de lotes
En la Parte 1 de esta práctica de laboratorio, hemos utilizado un motor de
secuenciamiento fijo en el controlador y luego lo hemos añadido a una HMI para
modificar los parámetros del procedimiento.
En la Parte 2 de esta práctica de laboratorio, hemos utilizado RecipePlus como
herramienta para administrar los parámetros de un procedimiento fijo.
En la Parte 3 de esta práctica de laboratorio hemos añadido un motor de lotes para
ejecutar las fases en el controlador y generar un registro de lote.
En la Parte 4 de esta práctica de laboratorio examinamos el diario del lote y creamos
informes para reportar en los datos del lote.

A lo largo de esta práctica de laboratorio hemos utilizado el producto


PhaseManager™ en las plataformas Logix para poner las fases en marcha con la
mayor rapidez. PhaseManager es un lenguaje para el producto Logix 5000.
PhaseManager se incluye como estándar en Logix 5000 Professional.

Los informes y la estructura de la base de datos están disponibles en el sitio web


http://samplecode.rockwellautomation.com bajo los títulos: Enhanced Reporting
for FactoryTalk Batch y Enhanced Event Archiving for Factory Talk Batch. También
hay otras herramientas de procesamiento por lotes disponibles que podrá descargar
de este sitio.
Apéndice 1: Módulos de control
Hay dos instrucciones Add On (AOI) definidas como los módulos de control
(CM).
 Motor2State: un motor tipo activado/desactivado.
 Valve2State: una válvula de tipo abrir/cerrar.

La instrucción AOI define un bloque lógico funcional que podemos usar para
controlar las válvulas. AOI ha definido entradas, salidas y InputOutpu (por
referencia). Luego la lógica define cómo debe responder la válvula.
Cada una de las válvulas / motores están definidos como variables a nivel del
controlador, del tipo de instrucción AOI.

La lógica AOI se llama implementando una instrucción AOI. En la rutina


Tasks/Main Task/Control_Modules Routine llamamos a cada una de las válvulas:
/* Do the Valves */
Valve2State(XV910);
Valve2State(XV911);
Valve2State(XV912);

/* Do the Motors */
Motor2State(M910);

CT4ES
1/5/2009 Página 53 de 61
Cada una de las válvulas de control tiene la funcionalidad definida en la tabla
siguiente:
Módulo de control para el motor de 2 estados
Nombre del Descripción
elemento
Command Utilizado por una programa para enviar
órdenes al motor.
0 para detener, 1 para arrancar
OperProg Utilizado por una pantalla de HMI para
enviar órdenes al motor.
0 para detener, 1 para arrancar
HMICMD Especifica qué entrada de comandos
utilizar: 0 = usar los comandos de HMI,
1 = usar los comandos de programa
Interlock Si no es 1, el motor se detiene
Motor_Fault Si el valor es 1, el motor se detiene
Output Salida al campo
Running Si el valor es 1, se confirma que el motor
está funcionando; es decir, que ha habido
un comando de marcha y que hay
retroalimentación
Stopped Si el valor es 1, se confirma que el motor
está detenido; es decir, que ha habido un
comando de paro y que se ha interrumpido
la retroalimentación
Feedback Retroalimentación de campo procedente
del motor
StartStopTime Tiempo permitido para que el motor
arranque o se detenga tras enviar el
comando y antes de generar una alarma.
Alarm Si el valor es 1, el motor se encuentra en
un estado de alarma. Esto ocurre cuando
el motor no arranca o no se detiene dentro
del intervalo de tiempo permitido.
AlarmAck Impulso hasta 1 para borrar el indicador de
alarma

Módulo de control para la válvula de 2 estados


Nombre del Descripción
elemento
Command Utilizado por un programa para enviar
órdenes a la válvula.
0 para cerrar, 1 para abrir
HMICMD Utilizado por una pantalla de HMI para
enviar órdenes a la válvula.
0 para cerrar, 1 para abrir
OperProg Especifica qué entrada de comandos
utilizar: 0 = usar los comandos HMI,
1 = usar los comandos de programa
Interlock Si no es 1, la válvula se cierra
Output Salida al campo
Opened Si el valor es 1, se confirma que la válvula
está abierta; es decir, que ha habido un
comando de apertura y que hay
retroalimentación del interruptor de final de
carrera
Closed Si el valor es 1, se confirma que la válvula
está cerrada; es decir, que ha habido un
comando de cierre y que hay
retroalimentación del interruptor de final de
carrera
LS_Open Retroalimentación de campo procedente
de la válvula en la posición de apertura
LS_Close Retroalimentación de campo procedente
de la válvula en la posición de cierre
OpenTime Tiempo permitido para que la válvula se
abra tras enviar el comando y antes de
generar una alarma
CloseTime Tiempo permitido para que la válvula se
cierre tras enviar el comando y antes de
generar una alarma
Alarm Si el valor es 1, la válvula se encuentra en
estado de alarma. Esto ocurre cuando la
válvula no se abre o no se cierra dentro
del intervalo de tiempo permitido.
AlarmAck Impulso hasta 1 para borrar el indicador de
alarma

En una aplicación típica del mundo real, también tendríamos una rutina de
asignación que pasaría los datos de la “salida” del CM a la tarjeta de salida de
campo, y de la tarjeta de campo de entrada a las “entradas” de retroalimentación
del CM.
En los tags del controlador tenemos también un tag de nivel, LI920, que muestra
el nivel en galones del tanque T910.
También hay tags para LI_Syrup = nivel de la cámara de almacenamiento de
jarabe, LI_Water = nivel de almacenamiento de agua purificada y LI_Storage =
nivel del tanque de almacenamiento.
Si se establece el valor 1 en demo_cm_all_to_prog, todos los CM pasarán al
estado programa.
Si se establece el valor 1 en demo_cm_Setup, se inicializan todos los CM con
una configuración estándar
delta_small, delta_med y delta_big se utilizan en la simulación. Corresponden a
regímenes de flujo bajos, medios o altos.

CT4ES
1/5/2009 Página 55 de 61
Apéndice 2: Simulación
La simulación se implementa en el programa Tasks/Simulation/Main_Simulation.

La primera pieza es la simulación del movimiento de material.

/*Agua a T910*/
if (XV911.opened) then
jsr(Matl_Move,4,LI_Water,LI910,delta_big,sizeoftanks,LI_Water,LI910);
end_if;
Si XV911 está abierta, mover el material del tanque de agua al tanque LI910, es
decir, restarlo de LI_Water y añadirlo a LI910. Utilizar un régimen de flujo
delta_big. Las demás llamadas corresponden a todas las posibles rutas de
movimiento de material y a las válvulas que controlan dichas rutas.
Seguidamente, hacemos una llamada a la rutina de simulación de las válvulas.
Esta rutina utiliza temporizadores de retardo para proporcionar la
retroalimentación necesaria a los interruptores de final de carrera encargados de
abrir o cerrar. Se ha implementado como una instrucción Add On.
Sim_Valve2State(Sim_XV910,XV910,1.0,1.0,demo_cm_Setup,demo_cm_all_t
o_prog);
Seguidamente, hacemos una llamada a la rutina de simulación de los motores.
Esta rutina utiliza un temporizador de retardo para proporcionar la
retroalimentación a la entrada de retroalimentación del interruptor de motor.
Sim_Motor2State(Sim_M910,M910,1.0,demo_cm_Setup,demo_cm_all_to_pr
og);
A continuación, hacemos una llamada a la rutina que rellena los tanques de
suministro cuando éstos se vacían y los tanques de almacenamiento cuando se
llenan, siempre como parte de la tarea de mantener la simulación en
funcionamiento. Se ha implementado como una instrucción Add On.
/* llamada a la simulación de nivel */
jsr(Level);
Apéndice 3: Control de receta
1. Desde Logix 5000, expanda Recipe Task, y luego expanda Make_Nod Phase.
2. Vea el ejemplo de lógica de cancelación:
Abra la lógica de cancelación de la fase Make_Nod haciendo doble clic en
Aborting.
El código es el siguiente:
/* cancelar todas las fases utilizadas por esta receta que no estén en estado
de reposo*/

if not AGITATOR1.idle then


pcmd(AGITATOR1, Abort, 0);
end_if;
if not ADD_SYRUP1.idle then
pcmd(ADD_SYRUP1, Abort, 0);
end_if;
if not ADD_WATER1.idle then
pcmd(ADD_WATER1, Abort, 0);
end_if;
if not XFER_OUT1.idle then
pcmd(XFER_OUT1, Abort, 0);
end_if;

/* completar la fase */
psc();
El código emplea texto estructurado. Si la fase no se encuentra en estado de
reposo, el código deberá hacer algo y, por tanto, para proceder a la cancelación,
tendrá que recibir comandos.
Si examina las lógicas de retención, reinicio y detención, verá que el código es
prácticamente exacto, salvo que, en esos casos el comando es respectivamente
retener, reiniciar y detener.
El código de ejecución consta de varios componentes.

CT4ES
1/5/2009 Página 57 de 61
Primero obtenemos todas las fases de equipo mediante una llamada a la rutina
Acquire_Equipment. Esta rutina intentará obtener acceso a todo el equipo
necesario. A medida que se vaya obteniendo acceso a todos los componentes
del equipo, se establece un bit marcador de posición en la variable
Equipment_Acquired. La lógica de ejecución sabe que tiene las cuatro fases
necesarias cuando los bits 0 a 3 tienen el valor verdadero.

La última línea de la lógica de ejecución, llama a las dos rutinas:


Monitor_Failures y Main_Recipe.

Monitor_Failures es un programa en el que usted puede especificar cualquier


lógica de fallo que haga falta. Podemos, por ejemplo, dejarla en blanco. Si un
fallo de válvula o una indicación de instrumento es importante, puede colocar
monitoreo de fallo y hacer que la operación pase a un estado de retención.
Main_Recipe es un programa basado en un diagrama de función secuencial para
fabricar NOD Drink. Cada paso llamará a la fase correspondiente para ejecutarla.
Por ejemplo, la lógica mostrada arriba llamará a la fase ADD_WATER1 y esperará
hasta que ésta se complete. La receta supone que los parámetros de cada fase ya
han sido configurados con las cantidades correctas antes de empezar dicha receta.
En la siguiente sección analizaremos el control de esta fase de operación desde una
HMI.
Revisar el programa Logix existente: control de receta
Hasta el momento, Rockwell no tiene un componente estándar que permita controlar
una fase de equipo desde una HMI. Existe la capacidad de controlarla con
Logix 5000, pero deseamos controlarla desde una pantalla HMI. Para solucionar
este problema, vamos a configurar un tag que permita enviar comandos a la fase.
1. Expanda el programa Recipe_Control y haga doble clic en la rutina
Make_Nod_Recipe_Control.

La rutina Make_Nod_Recipe_Control tiene el siguiente código.


La sección 1 del código enviará comandos para que las fases vuelvan al estado
restablecido si todas ellas, incluida la fase de operación Make_Nod, se
encuentran en un estado final.
/* si la fase está en estado terminal, restablecerla*/
If (Make_Nod.complete or Make_Nod.aborted or Make_Nod.stopped) and
(AGITATOR1.complete or AGITATOR1.aborted or
AGITATOR1.stopped or AGITATOR1.idle) and
(ADD_SYRUP1.complete or ADD_SYRUP1.aborted or
ADD_SYRUP1.stopped or ADD_SYRUP1.idle) and
(XFER_OUT1.complete or XFER_OUT1.aborted or
XFER_OUT1.stopped or XFER_OUT1.idle) and
(ADD_WATER1.complete or ADD_WATER1.aborted or
ADD_WATER1.stopped or ADD_WATER1.idle) then
pcmd(Make_Nod, Reset, 0);
end_if;

CT4ES
1/5/2009 Página 59 de 61
En la siguiente sección, la rutina enviará comandos a la operación de receta
Make_Nod de acuerdo con un valor de la variable
Make_Nod_Recipe_Command. La estructura de comando usada sigue la
definición para que el servidor de procesamiento por lotes envíe comandos a las
fases, donde:
10 = Abort
20 = Hold
30 = Stop
40 = Reset
90 = Restart
100 = Start
Desde una HMI podemos poner un número entero en una variable por cuya acción
se ejecutará la receta Make_Nod.
/* seguir los comandos desde el administrador de comandos externo; p. ej., la
HMI*/
CASE Make_Nod_Recipe_Command OF
10: pcmd(Make_Nod, Abort, 0);

20: pcmd(Make_Nod, Hold, 0);

30: pcmd(Make_Nod, Stop, 0);

40: pcmd(Make_Nod, Reset, 0);

90: pcmd(Make_Nod, Restart, 0);

100: pcmd(Make_Nod, Start, 0);

END_CASE;

En la sección final, borraremos el registro de comandos, que volverá a cero.


If Make_Nod_Recipe_Command > 0 then
Make_Nod_Recipe_Command := 0;
end_if;

¡FELICITACIONES!
¡HA CONCLUIDO LA SESIÓN PRÁCTICA DE LABORATORIO
SOBRE BATCH SOLUTIONS!
Puede encontrar este cuaderno de trabajo en
www.rockwellautomation.com/events/au

CT4ES
1/5/2009 Página 61 de 61

Vous aimerez peut-être aussi