You are on page 1of 56

THE EUROPEAN MANUFACTURING EVENT OF THE YEAR

Logix para programadores


8esin de instrucciones Add-ON

Formacin
Esta sesin prctica tiene como fin ofrecer una descripcin general del uso de las instrucciones
Add-On en Logix. Las dos horas de esta sesin son solamente un resumen de un programa de
formacin mucho ms amplio que Rockwell Automation pone a disposicin de sus clientes.
Tambin se describen a grandes rasgos los cursos relacionados con Logix. Dichos cursos abarcan
desde el nivel bsico hasta el avanzado. La descripcin general menciona los Cursos de
Formacin en Logix para el cliente que se imparten en ingls. Los ttulos y contenido de los
cursos en otros idiomas pueden ser ligeramente diferentes de los reseados en esta
descripcin general. Si necesita formacin relacionada con productos Rockwell, pngase en
contacto con la oficina local de ventas.
Cursos relacionados con Logix:

ControlLogix System Fundamentals [Principios bsicos del sistema ControlLogix]
CCP146
Este curso ofrece la posibilidad de adquirir las destrezas necesarias a todos aquellos alumnos
interesados en adquirir unos conocimientos bsicos slidos de los sistemas y la terminologa
Logix5000. Se introducir a los alumnos en los componentes y funciones del sistema Logix5000 y
tendrn oportunidad de utilizar el software RSLogix 5000 para realizar tareas bsicas de
conexin en red y configuracin del sistema.
RSLogix 5000 Basic Ladder Logic Interpretation [Interpretacin del diagrama de
contactos de RSLogix 5000] CCCL21
Este curso proporciona a los responsables de mantenimiento un conocimiento bsico de las
instrucciones y terminologa de la diagrama de contactos de RSLogix 5000. Tambin ofrece los
recursos y ejercicios prcticos necesarios para modificar de forma eficaz las instrucciones bsicas
del diagrama de contactos de un controlador Logix5000. El alumno utilizar el software RSLogix
5000 para realizar tareas bsicas.
ControlLogix Maintenance & Troubleshooting [Mantenimiento y resolucin de problemas
en ControlLogix] CCP153
Este curso proporciona al alumno la informacin y experiencia necesarias para interpretar,
solucionar y recomendar las actuaciones necesarias en cualquier situacin de interrupcin del
funcionamiento de una aplicacin Logix5000. Incluye recursos y ejercicios prcticos destinados a
aprender cmo interpretar, aislar y diagnosticar los problemas de hardware relacionados con
interferencias, alimentacin y E/S digitales y analgicas ms comunes.
RSLogix 5000 Basic Ladder Logic Programming [Programacin bsica del diagrama
de contactos de RSLogix 5000] CCP151
Este curso ofrece al programador los fundamentos necesarios para comprender las instrucciones y
terminologa empleados por el diagrama de contactos de RSLogix 5000. Incluye recursos y
ejercicios prcticos destinados a aprender cmo programar instrucciones bsicas de diagrama de
contactos en un controlador Logix5000. El alumno utilizar el software RSLogix 5000 para
realizar tareas bsicas y satisfacer los requisitos de una especificacin funcional concreta.
RSLogix 5000 Project Development [Desarrollo de proyectos con RSLogix 5000]
CCP143
A partir de la especificacin funcional de una aplicacin Logix5000, el alumno deber desarrollar
durante el curso un proyecto que satisfaga los requisitos estipulados. El curso comprende las
tareas comunes a todos los controladores que utilicen el sistema de control Logix5000 o su sistema
operativo, incluyendo los controladores ControlLogix, FlexLogix, CompactLogix, SoftLogix y
DriveLogix. Tambin se instruye en la realizacin de tareas de desarrollo de proyectos, incluyendo
organizacin de proyectos, organizacin de datos y configuracin de mdulos.
RSLogix 5000 Function Block Programming [Programacin de diagrama de bloques
funcionales de RSLogix 5000] CCP152
Este curso proporciona al alumno conocimientos relacionados con los diagramas de bloques
funcionales y la terminologa de RSLogix 5000. Incluye recursos y ejercicios prcticos destinados
a aprender cmo programar un controlador Logix5000 empleando diagramas de bloques
funcionales. El alumno modificar parmetros de las instrucciones de diagrama de bloques
funcionales y crear y desarrollar programas y rutinas con diagramas de bloques funcionales.
RSLogix 5000 Motion Programming Using Ladder Logic [Programacin de movimiento
en RSLogix 5000 empleando diagrama de contactos] CCN142
Este curso proporciona al personal de la planta los conocimientos necesarios para configurar y
programar aplicaciones Logix5000 para funciones de control de movimiento integradas empleando
el diagrama de contactos e incluyendo las tecnologas SERCOS y de control de movimiento
analgico. El alumno aprender a aplicar la arquitectura Logix5000 a un sistema de control de
movimiento multieje.




RSLogix 5000 Advanced Communication Configuration [Configuracin de
comunicaciones avanzadas en RSLogix 5000] CCP144
Este curso, que abarca varios productos, proporciona al personal de la planta con experiencia
previa los conocimientos necesarios para integrar de forma ms completa un sistema Logix5000 en
la arquitectura general (tanto planificada como ya existente) de la planta. Partiendo de su
experiencia previa en programacin y comunicaciones bsicas con Logix5000, se introducir al
alumno en diversas tareas especializadas que incorporan las opciones de comunicaciones ms
avanzadas.
ControlLogix Communications on DeviceNet [Comunicaciones ControlLogix en
DeviceNet] CCNT100
Este curso proporciona al personal de la planta los conocimientos necesarios para configurar un
controlador ControlLogix con el fin de establecer comunicacin con los dispositivos de la planta en
una red DeviceNet. El alumno aprender a configurar la comunicacin introduciendo datos en un
mdulo escner, identificando los tags de dispositivo del controlador y escribiendo instrucciones
bsicas de diagrama de contactos para controlar los dispositivos.
PLC-5 to ControlLogix Transitioning [Transicin de PLC-5 a ControlLogix] CCP710
Este curso introduce al alumno en las tareas bsicas empleadas para configurar y programar un
controlador ControlLogix. Se instruir al alumno en la terminologa relacionada con los sistemas
ControlLogix. Tras completar este curso, los alumnos que ya tuvieran experiencia previa bsica con
procesadores PLC-5 podrn crear un proyecto sencillo para un controlador ControlLogix.



























0llMlI80l0 00 l8 f00llllI80l0 00 000l0
M00l8l0 0l 080 00 l8lf000l008 000




Instrucciones 1 de 56 pginas


Optimizacin de la reutilizacin de cdigo
mediante el uso de instrucciones
Contenido
Formacin ....................................................................................................................................2
Acerca de la presente sesin prctica.......................................................................................3
Objetivos de la presente sesin..................................................................................................... 3
Herramientas y requisitos previos.................................................................................................. 3
Antes de comenzar......................................................................................................................4
Inicie el software y abra un nuevo proyecto..............................................................................5
Cree una nueva instruccin Add-On..........................................................................................6
Utilizacin de la nueva instruccin ..........................................................................................19
Monitorizacin en lnea de las instrucciones Add-On............................................................35
Instrucciones Add-On anidadas...............................................................................................40
Apndice A. Modos de exploracin .........................................................................................46
Apndice B. EnableIn/EnableOut .............................................................................................50


Instrucciones 3 de 56 pginas
Acerca de la presente sesin practica
La versin 16 de RSLogix 5000 introdujo el concepto de objetos de cdigo reutilizables
denominados instrucciones Add-On. Las instrucciones Add-On permiten recopilar la lgica ms
habitualmente utilizada en forma de conjuntos de instrucciones reutilizables, similares a las
instrucciones ya incorporadas en los controladores Logix. Esto ahorra tiempo, ya que facilita la
reutilizacin del cdigo que se utiliza con ms frecuencia en los proyectos y favorece, adems, la
creacin de proyectos ms coherentes, ya que todos los algoritmos de uso regular funcionarn del
mismo modo, con independencia de quin sea la persona responsable del proyecto.

Las instrucciones Add-On pueden crearse mediante los diagramas de contactos, diagramas de
bloques funcionales y texto estructurado de los que dispone RSLogix5000. Una vez creada, la
instruccin Add-On puede utilizarse en cualquiera de los editores de RSLogix 5000 sin ninguna
operacin adicional por su parte. La resolucin de problemas en lnea en sus instrucciones Add-
On se simplifica gracias a la existencia de vistas contextuales que le permiten observar la lgica de
la instruccin en cada una de sus instancias. La ayuda especfica para sus instrucciones facilita,
as mismo, que los usuarios de las instrucciones puedan disponer de la ayuda que necesiten para
ponerlas en prctica con xito.

Finalmente, tambin puede emplear la funcin de proteccin de instrucciones Add-On originales
para que sus usuarios nicamente dispongan de acceso de lectura o no puedan acceder a la lgica
interna o parmetros locales de la instruccin. Gracias a esto podr evitar cualquier modificacin
no deseada en sus instrucciones o proteger su propiedad intelectual.
Ob]etivos de la presente sesin
La presente sesin presenta muchas de las caractersticas y tcnicas incorporadas en la versin
16 de RSLogix5000 y la plataforma Logix para crear instrucciones Add-On definidas por el usuario.
La sesin tiene una duracin aproximada de una hora y media.
Herramientas y requisitos previos
Software RSLogix 5000, versin 16
Software RSLinx con el controlador correspondiente configurado
Un procesador Logix adecuado (con el firmware correspondiente)
Familiaridad con la organizacin y tcnicas de programacin de RSLogix5000

*Nota: sta es una sesin avanzada dedicada a las instrucciones Add-On de RSLogix5000 y
el controlador ControlLogix. Por esta razn, no dedica prcticamente ninguna atencin a
conceptos bsicos como las tcnicas de programacin del controlador o a la determinacin
del alcance de los tags y su creacin. Si no est familiarizado con estos conceptos, debera
asistir a un curso de ControlLogix sobre navegacin en RSLogix5000 y elementos bsicos
de la plataforma de controladores Logix antes de proseguir con el material presentado en
esta sesin.



Antes de comenzar
Es necesario completar los siguientes pasos antes de comenzar los ejercicios de la sesin:
1. Cierre TODAS las aplicaciones abiertas.
2. Observe el rea de notificacin, situada en la esquina inferior derecha del escritorio de su
ordenador:

3. Si los iconos RSI Directory Server y RSLinx siguen presentes, haga clic con el botn derecho
del ratn en el icono RSLinx y seleccione Shutdown RSLinx.
Con esto se cierran tanto RSLinx como RSI Directory Server.
4. Si el icono RSI Directory Server sigue apareciendo en la bandeja de servicio, haga clic con el
botn derecho del ratn en dicho icono y seleccione Shutdown Server.
5. En el escritorio, haga clic dos veces sobre la carpeta Batch Files para ver su contenido.
6. Haga clic dos veces sobre el archivo LFP1.bat.
7. Haga clic dos veces sobre el archivo LFP1.ppt para ver un resumen general de los temas
incluidos en la presente sesin.
8. Vaya al siguiente apartado de la sesin.

Instrucciones 5 de 56 pginas
nicie el software y abra un nuevo proyecto
1. Inicie RSLogix 5000
En el men Inicio seleccione Programas > Rockwell Software > RSLogix 5000 Enterprise
Series > RSLogix 5000.
2. Cree un nuevo proyecto en RSLogix5000 llamado "AOI" seleccionando File -> New... (Archivo -
> Nuevo...) y completando el cuadro de dilogo.


Nota: Utilice la lista desplegable Type: para seleccionar el procesador correspondiente a la
configuracin del hardware utilizado en la sesin. Si no est seguro de qu indicar en
Processor Type (tipo de procesador), Chassis Type (tipo de chasis) o Slot Number (nmero
de ranura), pregunte al instructor. Procure seleccionar el procesador de la ranura (Slot) 6
para esta sesin.

Haga clic en [OK] para aceptar.


Cree una nueva instruccin Add-On
El proceso para crear una nueva instruccin incluye:
El diseo/especificacin previos. Un poco de planificacin obtiene grandes resultados en
este paso.
Creacin de la estructura de la instruccin: seleccin del lenguaje de la lgica de la
instruccin, comportamiento antes y despus de la exploracin, control de revisiones, etc.
Creacin de las estructuras de tags de la instruccin: parmetros frente a tags locales.
Como pronto ser evidente, las decisiones adoptadas en este punto influirn en la
apariencia, acceso y requisitos de verificacin en diferentes lenguajes.

En esta sesin tambin crear una instruccin Add-On que podr utilizar con todas las bombas de
su planta. Puesto que la planta cuenta con varias bombas, se necesita una instruccin Add-On
sencilla que pueda utilizarse con cada una de las mquinas.

Las entradas son: Start_PB (Bool)
Stop_PB (Bool)
Pump_Running (Bool)

Las salidas son: Run_Motor (Bool)
Pump Start Fault (Bool)

No es necesario preocuparse de introducir estos parmetros todava; se har ms adelante.





Instrucciones 7 de 56 pginas
1. Haga clic con el botn derecho en la carpeta Add-On Instructions (instrucciones Add-On) y
seleccione New Add-On Instruction... (nueva instruccin Add-On) en el men desplegable.

2. Complete el cuadro de dilogo New Add-On Instruction de la forma siguiente:

Recuerde que una instruccin Add-On puede escribirse en: diagrama de contactos, bloques
funcionales o texto estructurado. En la presente sesin utilizaremos el diagrama de contactos.
Haga clic en [OK] para aceptar.
Formatted: Bullets and Numbering


Ahora aparecen varios elementos nuevos en el rbol del proyecto.

3. Haga clic con el botn derecho en la instruccin Add-On recin creada: Pump_Control y
seleccione Open Definition (abrir definicin) en el men desplegable.


Instrucciones 9 de 56 pginas
Aparece el editor Add-On Instruction Definition (definicin de instruccin Add-On).

La ficha General contiene todos los elementos introducidos al crear la instruccin.
La informacin de revisin, en forma de Revision Note (nota de revisin) es de formato libre y
nicamente puede ser modificada e impuesta por el usuario; no existe ningn mecanismo
automtico de seguimiento de revisiones.
En la parte inferior de esta ventana hay varios elementos que siempre estn disponibles para
el usuario. El botn Logic (lgica) abre inmediatamente la rutina lgica de esta instruccin.
Data Type Size (tamao del tipo de datos) lleva la cuenta de la cantidad de memoria (en bytes)
que utilizan los datos de la instruccin.


4. Haga clic en la ficha [Parameters] (parmetros) para ver los parmetros de la instruccin.

Los parmetros EnableIn y EnableOut estn predefinidos y se incorporan por defecto a cada
instruccin Add-On. EnableIn se modifica mediante factores especficos de cada lenguaje y
puede utilizarse para funciones especializadas. Se trata de un tema avanzado que no
pertenece al mbito de la presente sesin. EnableOut generalmente tiene el mismo estado
que EnableIn, pero el usuario puede modificarlo mediante la programacin.
La ficha Parameters es una ventana de edicin de la base de datos de tags que permite
modificar parmetros especficos de la instruccin Add-On con la inclusin de campos con una
definicin especfica: Usage, Default, Req y Vis.
Usage (utilizacin) permite al usuario definir el parmetro como:
Input Una entrada de la instruccin
Output Una salida de la instruccin (tipo atmico)
InOut Un parmetro que se proporciona "por referencia" a la instruccin
(cualquier tipo de dato, incluyendo UDT, matrices, etc.).
Default permite al usuario especificar un valor por defecto para el parmetro asociado. ste es
el valor que asume el parmetro cuando se crea por primera vez un tag de instancia
para una llamada a una instruccin.
Req: Un parmetro designado como Required (requerido) obliga al usuario a introducir un tag o
conectar este parmetro a un FB (bloque de funcin) cuando se utiliza una instancia de
la instruccin en una rutina. Este modificador define el comportamiento de verificacin
en diferentes lenguajes, como veremos ms adelante. Un parmetro Required tambin
es Visible por defecto.
Vis: Un parmetro designado como Visible es visible por defecto en la instruccin cuando se
utiliza en una rutina. El uso de este modificador tiene resultados diferentes dependiendo
del tipo de datos y el lenguaje (LD, FB o ST) en el que se utiliza una instancia de la
instruccin.
El campo Description (descripcin) es importante porque toda la informacin utilizada aqu ser
"traspasada" a todas las instancias de la instruccin del programa del usuario. Este campo
permite que la instruccin se "documente" a s misma en cuanto a utilizacin, unidades, etc.

Instrucciones 11 de 56 pginas
De acuerdo con la especificacin de la tarea que nos ocupa, los siguientes son los parmetros
que sabemos que deben incluirse en la definicin:
Entradas de esta instruccin:
Start_PB Usage: Input Parameter (parmetro de entrada)
Data Type: Bool (booleano)
Default: 0
Required (seleccionado)
Visible (seleccionado)
Description: Pulsador de marcha.
* Este parmetro es Required, ya que la instruccin Add-On debe tener una
entrada. Visible acompaa a Required por defecto.

Stop_PB Usage: Input Parameter (parmetro de entrada)
Data Type: Bool (booleano)
Default: 0
Required (seleccionado)
Visible (seleccionado)
Description: Pulsador de paro.
* Este parmetro es Required, ya que el comando debe tener una entrada. Visible
acompaa a Required por defecto.

Pump_Running Usage: Input Parameter (parmetro de entrada)
Data Type: Bool (booleano)
Default: 0
Not Required (sin seleccionar)
Not Visible (sin seleccionar)
Description: Estado del arrancador
* Este parmetro no es Required, ya que es posible no se desee utilizar el
feedback de todas las bombas. Puede accederse a ste desde la escalera o
directamente desde los tags.

Salidas de esta instruccin:

Run_Motor Usage: Output Parameter (parmetro de salida)
Data Type: Bool (booleano)
Default: 0
Not Required (sin seleccionar)
Visible (seleccionado)
Description: Marcha motor

Pump_Fault Usage: Output Parameter (parmetro de salida)


Data Type: Bool (booleano)
Default: 0
Not Required (sin seleccionar)
Visible (seleccionado)
Description: Fallo bomba


La salida debe ser Visible para una conexin de usuario, pero no Required (puede
accederse directamente a sta desde la base de datos de tags).


Instrucciones 13 de 56 pginas
5. Introduzca estos parmetros y sus especificaciones en la tabla de definicin de parmetros.

Haga clic en [Apply] para aceptar los cambios.
6. Haga clic una sola vez en el botn [Logic] para abrir una rutina de diagrama de contactos en
blanco (es la rutina denominada Logic en la carpeta Add-On Instruction del organizador del
controlador).

La rutina Logic de una definicin de instruccin Add-On es idntica a cualquier otra rutina del
tipo de lenguaje seleccionado, con la adicin del men desplegable Data Context (contexto de
los datos) de la esquina superior derecha (se explicar ms adelante).
Para editar la lgica de la rutina Logic se aplican las mismas normas y convenciones que si se
estuviera editando una rutina estndar en cualquier otro apartado del controlador.
La lgica de esta instruccin incluir todos los elementos RLL estndar.


7. Introduzca el siguiente rengln de lgica en la rutina.

Es el nico rengln necesario para realizar la tarea, pero resulta demasiado simple. Vamos a
agregar otro rengln para capturar una condicin de fallo.
8. En este rengln es necesario emplear una instruccin de temporizador. Cree un rengln y
coloque una instruccin TON (Timer On) en l. Debe crear un nuevo tag Local haciendo clic
con el botn derecho en el signo "?" de la instruccin que ha colocado en el rengln.


9. Complete el cuadro de dilogo de la forma que se muestra:

10. Haga clic en [OK] para cerrar el cuadro de dilogo.
11. Complete la rutina de la forma que se muestra:

Instrucciones 15 de 56 pginas

La definicin de la lgica debe parecerse a sta:

Guarde el proyecto y cierre la lgica.
12. Si no estaba abierta anteriormente, haga clic con el botn derecho en la ficha Logic y a
continuacin haga clic en Open Definition (abrir definicin).






13. Haga clic en la ficha [Help]:

La ficha Help (ayuda) contiene una vista previa de la ayuda de la instruccin, generada
automticamente a partir de la informacin proporcionada por el usuario, entre otras cosas.

Instrucciones 17 de 56 pginas

Desplcese por la seccin Available Languages (lenguajes disponibles).



Esta seccin muestra la apariencia por defecto de la instruccin en cada uno de los lenguajes
disponibles (RLL, FB, ST).
Contine desplazndose hacia abajo para ver una tabla con todos los parmetros de la
instruccin, as como su utilizacin, tipo y modificadores.
Un poco ms abajo se encuentra el apartado opcional Extended Description (descripcin
detallada), que permite introducir notas de utilizacin ms precisas definidas por el usuario en
el campo Extended Description de la parte superior de la ficha, adems de un historial de
cambios de la instruccin. El historial de cambios indica la ltima fecha de edicin y la fecha
de creacin de la instruccin.
As es cmo la Ayuda" de la instruccin aparecer exactamente cuando se acceda a la ayuda
de instrucciones (Instruction Help) de RSLogix 5000 correspondiente a esta instruccin.
14. Ahora cierre la ventana o ventanas del editor de definiciones de AOI (Add-On Instructions) y
verifique el controlador.


Asegrese de que la verificacin no seala ningn error o advertencia.

Instrucciones 19 de 56 pginas
Utilizacin de la nueva instruccin
La nueva instruccin puede utilizarse en cualquiera de los lenguajes disponibles: diagrama de
contactos, bloques de funciones o texto estructurado (incluyendo ST [texto estructurado] en
acciones SFC). La visualizacin de la instruccin se adaptar al entorno en el que esta se site.
La seleccin de atributos de parmetros realizada en la definicin de parmetros determina su
comportamiento de entrada, verificacin y visualizacin en cada lenguaje.
Es posible acceder a la instruccin Add-On anteriormente creada desde cualquiera de los
mecanismos de edicin de instrucciones normales:
La barra de herramientas de instrucciones tiene una ficha Add-On con una lista de todas las AOI
(Add-On Instructions) del proyecto.



Instancia de diagrama de contactos
1. Abra MainRoutine en MainProgram, dentro de MainTask (por defecto, una rutina de diagrama
de contactos).

Coloque una instruccin Pump_Control en el rengln vaco.


Instrucciones 21 de 56 pginas
Los parmetros con un solo signo de interrogacin ("?") detrs requieren que se introduzca un
argumento tag name (nombre de tag). stos son:
Pump_Control
Un tag del tipo Pump_Control para que acte como instancia de datos
nica de esta instruccin. Prcticamente equivale a hacer referencia a una
estructura Timer (temporizador) para una instruccin TON
Start_PB La definicin de la instruccin determina que este parmetro requiere un
tag como entrada que sea booleano.
Stop_PB La definicin de la instruccin determina que este parmetro requiere un
tag booleano.

Recuerde que hemos definido estos campos de tag como entradas, por lo que es aqu donde,
en realidad, vinculamos dichos tags a las entradas reales.
Los parmetros con dos signos de interrogacin ("??") detrs son campos de valor del tag.
Estos campos muestran los valores actuales de esos parmetros.

2. Haga clic con el botn derecho en el primer interrogante (?) y seleccione New Tag (nuevo tag).





Complete el dilogo New Tag de la forma que se muestra.
Haga clic en [OK] para aceptar.
Antes de agregar el resto de las referencias de tags, es necesario tener en cuenta algunas
cuestiones de diseo. En las siguientes dos referencias de tags es donde se conectarn las
entradas. Puesto que esto es una simulacin, no vamos a aadir E/S al proyecto, sino que, en
su lugar, utilizaremos nombres de tag descriptivos. Elegir este ltimo mtodo requiere el uso
de aliases en la estructura de E/S para vincular las E/S reales a los nombres de nuestros tags.
Tambin puede utilizar directamente los tags de datos del mdulo de Entradas y eliminar los
aliases.
3. Introduzca las siguientes dos referencias de tags en las instrucciones y crelas de la misma
forma que para la primera.
Start_PB Name: Pump_1_Start_PB
Type: Base
Data Type: Bool (booleano)
Scope: MainProgram
Stop_PB Name: Pump_1_Stop_PB
Type: Base
Data Type: Bool (booleano)
Scope: MainProgram


Instrucciones 23 de 56 pginas
4. Verifique la rutina RLL:

La RLL debe ser:

Ahora revise la informacin de la ficha de parmetros creada anteriormente al definir la
instruccin de la forma aqu mostrada:

Los valores Visible parameters (parmetros visibles) aparecen en la instruccin. La excepcin
es InOut.
En el diagrama de contactos, un parmetro de salida de tipo booleano especificado como
Visible (pero no Required) se convierte en un brazo de salida de la instruccin que representa
su valor. Esto es lo que sucede con los parmetros de salida Run Motor y Pump Running Fault.
Los parmetros Required precisan que el usuario introduzca un argumento de tag vlido
asociado con este parmetro antes de verificar la instruccin.
Cmo se accede a los parmetros Non-Visible (no visibles) en RLL? Para asignar un valor a
un parmetro Non-Visible es necesario una instruccin RLL sobre la estructura de datos de la
instancia de la instruccin.

5. Visualice los parmetros de la instruccin haciendo clic en el botn de propiedades



Desde aqu pueden introducirse directamente los valores de los parmetros de esta instancia.
Observe que la columna Visibility (visibilidad) est inactiva, ya que no es posible cambiar la
visibilidad de una instruccin RLL.
6. Haga clic en [OK] para cerrar la ventana.

Instrucciones 25 de 56 pginas
Instancia de bloque de funcin

1. Cree una nueva rutina de bloques funcionales en MainProgram llamada "FB1"

2. Abra la rutina de bloques de funcin "FB1" para mostrar el espacio de trabajo de las rutinas.



3. Coloque una instruccin Pump_Control en el espacio de trabajo del bloque de funcin.



Las patillas asociadas con los parmetros designados como Visible al definir la instruccin son
visibles por defecto en la instruccin.
El tag de datos de la instruccin, Pump_Control_01 ya ha sido creado. Este es el
comportamiento de todas las instrucciones creadas en el entorno de diagrama de bloques
funcionales. Cada instancia de la instruccin suma "1" a partir de la instancia inicial, "01".
4. Verifique ahora la rutina.

Observe los errores indicados:

Al definir la instruccin, se design a Start_PB y Stop_PB como parmetros Required. En el
entorno de diagrama de bloques funcionales, esto equivale a requerir que haya otro bloque
conectado a este parmetro. Observe el conector de pin del parmetro Start_PB.


Instrucciones 27 de 56 pginas
El punto, al final de la patilla de entrada, indica que este parmetro requiere una conexin. La
instruccin no se verificar con xito hasta que todos los parmetros Required tengan
conexiones (tanto entradas como salidas).
5. Coloque dos bloques Input Reference (referencia de entrada, IREF) en la hoja y conctelos a
los dos conectores de entrada.

6. Haga clic dos veces en el signo "?" del bloque IREF unido al conector Start_PB. Utilice el men
desplegable para desplazarse entre los tag hasta que encuentre Pump_1_Start_PB (es el
mismo tag de entrada utilizado en la seccin RLL). Haga clic dos veces con el botn izquierdo
sobre el tag y pulse Intro para aceptar; sta debe aparecer en el bloque IREF, mientras que la
desaparece.

7. Haga lo mismo con el otro conector de entrada. Utilice Pump_1_Stop_PB como tag.

La lgica de diagrama de bloques funcionales debe tener este aspecto cuando termine.
8. Vuelva a verificar la rutina (esta vez debera funcionar).
9. Muestre los parmetros de la instruccin haciendo clic en el botn de propiedades



Observe que la columna Visibility est activada. Este comportamiento es el adecuado para el
entorno de diagrama de bloques funcionales, en el que puede ser necesario conectar las
funciones con parmetros opcionales.

Instrucciones 29 de 56 pginas
10. Haga clic en [CANCEL] para cerrar la ventana
11. Ya que esta es una instruccin con la que el usuario debe interactuar, es necesario emplear
algn mtodo para acceder a las salidas. Puede agregar referencias de salida al bloque de
funcin o acceder (desde otro punto de la lgica) a los tags de salida directamente mediante
otra lgica diferente.
12. Paso opcional
a. Arrastre un bloque OREF al lado de salida del bloque y configure un nuevo tag en
l.

b. Verifique la rutina y asegrese de que no hay ningn error.
















Instancia de texto estructurado

1. Cree una nueva rutina de texto estructurado en MainProgram llamada "ST1"

2. Abra la rutina de texto estructurado "ST1" para ver el espacio de trabajo de la misma.

3. Agregue una instruccin Pump_Control, bien agregndola desde la barra de herramientas de
instrucciones, insertndola o seleccionndola, o bien simplemente escribindola.

La nota de ayuda muestra los parmetros que deben proporcionarse obligatoriamente para que
la instruccin pueda verificarse con xito. Tenga en cuenta que solamente el tag auxiliar de la
instruccin y aquellos parmetros designados como Required en la definicin del mismo estn
presentes en la versin de texto estructurado.

Instrucciones 31 de 56 pginas
4. Haga clic con el botn derecho en Pump_Control y seleccione Argument List... (lista de
argumentos) en el men desplegable.

5. Complete Argument List con los siguientes argumentos:


Haga clic en [Apply] y [OK] para aceptar los cambios.



6. Para completar la instruccin ST necesitar crear un nuevo tag. No es necesario crear ms
tags, ya que hemos vuelto a utilizar los tags de entrada empleados anteriormente. Solamente
necesitamos crear un tag auxiliar para la instruccin misma. Cree el tag haciendo clic con el
botn derecho en Pump_1_Text y seleccionando New Tag.
Nombre: Pump_1_Text
Tipo: Base
Data Type: Pump_Control
Scope: MainProgram




Haga clic en [OK] para cerrar el cuadro de dilogo.
* Finalice la lnea de texto estructurado con un punto y coma.



Instrucciones 33 de 56 pginas

Observe que en la instancia de texto estructurado solamente se muestran e introducen el tag
de datos de la instruccin y los parmetros designados como Required. Debe accederse a
todos los dems parmetros de la instruccin desde el programa.
Cmo puede accederse a estos parmetros desde ST? La manipulacin directa de los
valores del tag auxiliar debe realizarse por medio de las propiedades de la instruccin o desde
la vista de la base de datos de tags. Para ver estos valores, haga clic con el botn derecho en
Pump_1_Text y seleccione Monitor 'Pump_1_Text'.

Ample el tag para ver los valores internos de la instruccin.



Para acceder a estos valores internos puede utilizar cualquiera de los lenguajes del
controlador, simplemente emplendolos en una instruccin.
7. Verifique la rutina de ST.

La rutina no debe tener ningn error.

Como puede observarse en los tres ltimos apartados, en la fase de diseo de la instruccin
Add-On es necesario estudiar la utilizacin de los modificadores de parmetros Visible y
Required. El tipo de lenguaje de destino siempre debe tenerse en cuenta.

Instrucciones 35 de 56 pginas
Monitorizacin en linea de las instrucciones Add-On
Una vez definida y utilizada una instruccin Add-On en un programa, suele ser necesario visualizar
la definicin durante el funcionamiento real como ayuda para la depuracin y la puesta en
funcionamiento. Es posible visualizar la definicin y la estructura de tags en un "contexto" concreto
con el propsito de llevar a cabo estas actividades. Aunque estas herramientas pueden utilizarse
fuera de lnea, su mayor utilidad reside en emplearlas en lnea.

1. Agregue los siguientes renglones RLL a MainRoutine.


2. Necesitar crear un tag nuevo para la instruccin TON. Puede llamarla como quiera, pero
asegrese de utilizar el mismo tag en la instruccin XIO (eXamine If Open contacto cerrado)
del rengln 2 y la instruccin de comparacin LES (menor) del rengln 3.
Verifique el controlador.



3. El controlador EtherNet de RSLinx ya est configurado. Seleccione el controlador de la ranura
6 cuando aparezca la ventana Browse (explorar) del backplane. Descargue el proyecto en el
controlador en la ranura 6 y pase a modo Run (ejecucin).
* Si tiene algn problema con la descarga, pida ayuda al instructor.
4. Abra la base de datos de tags haciendo clic dos veces en Program Tags (tags de programa).

5. Haga clic en la lista desplegable Tag Scope (alcance del tag) para ver la lista de alcances
disponibles para los tags.

Se ha aadido Add-On Instructions a la lista para facilitar la navegacin entre los parmetros
de definicin de instrucciones Add-On.
6. Seleccione Pump_Control en el men desplegable Tag Scope.


Instrucciones 37 de 56 pginas
7. Observe que se aade el men desplegable Data Context (contexto de datos). Haga clic en
Monitor Tags (monitorizar tags) si el cuadro de dilogo Data Context aparece en color gris.
8. Haga clic en la lista desplegable Data Context para ver la lista de contextos disponibles para la
instruccin Pump_Control.

La lista contiene la definicin de la instruccin y todas las instancias de la instruccin cargadas
actualmente en el controlador. Al seleccionar una de las instancias de instruccin, la ventana
mostrar los valores de dicha instancia. Hgalo.
9. Para que nuestra rutina funcione, debemos poner en funcionamiento la bomba pulsando el
botn de inicio. Dado que Start_PB se defini como parmetro requerido en la definicin, no
es posible cambiar esta funcin desde las vistas contextuales que acabamos de ver. Siempre
seguir al tag de entrada verdadero. En este caso, se encuentra en el tag de programa
Pump_1_Start_PB. Puede regresar a la instruccin del diagrama de contactos y cambiar el
bit a "1" o ir a los tags de programa y cambiarlo ah.


10. Una vez lo haya hecho, puede regresar a los mens contextuales y ver cmo el fallo de la
bomba se activa y desactiva.


Qu sucede con la lgica de la definicin en s? Puede ser necesario ver el funcionamiento
interno de una instancia especfica de la instruccin.
11. Si no est en primer plano, abra o site en primer plano la rutina de diagrama de contactos
MainRoutine. Abra la lgica de la instancia de la instruccin RLL haciendo clic con el botn
derecho en la instruccin y seleccionando Open Instruction Logic (abrir lgica de instruccin)
en el men desplegable.


Instrucciones 39 de 56 pginas

Se muestra la lgica de la instancia especfica de la instruccin que se est ejecutando en ese
momento. Desde esta vista el usuario puede observar todos los detalles de la lgica de la
instancia de la instruccin: valores de tag, propiedades de la instruccin, etc.
Observe que la lista desplegable Data Context est ahora activa y muestra el contexto de la
vista actual. Fjese tambin en que la pantalla aparece en color gris y no puede cambiarse
desde esta vista.
12. Haga clic en el men desplegable Data Context para mostrar todas las instancias existentes de
esta instruccin en el proyecto del controlador. Observe que la definicin es una de las
selecciones disponibles.

Desde aqu el usuario puede centrarse directamente en la lgica de cualquiera de las
instancias. Hgalo.
13. Cuando termine, site el proyecto fuera de lnea del controlador.


nstrucciones Add-On anidadas
Las instrucciones Add-On pueden incluir otras instrucciones Add-On en su definicin. De esta
forma, el usuario puede ampliar las funciones de cada fragmento de cdigo modularmente para
adaptarlas a un uso ms especfico. En el caso de la sencilla instruccin creada anteriormente,
pueden crearse instrucciones ms especializadas que incluyen tanto la instruccin base como otra
lgica de ejecucin adicional. En nuestra planta hay varias bombas que requieren lgica de fallos
adicional.
En este apartado crearemos un nuevo bloque que incorpore la lgica de fallo y algunos controles
de ejecucin para estas bombas especiales.

1. Cree la nueva instruccin Add-On de la misma forma que antes, con la siguiente definicin:

Marque Open Logic Routine (abrir rutina lgica), en la esquina inferior izquierda, para abrir
inmediatamente la rutina lgica asociada.
Haga clic en [OK] para aceptar los cambios.
Formatted: Bullets and Numbering

Instrucciones 41 de 56 pginas
2. Coloque una instruccin Pump_Control en esta nueva definicin.

3. Haga clic con el botn derecho en el signo de interrogacin ("?") que aparece al lado de
Pump_Control y seleccione New Local Tag (nuevo tag local).

4. Introduzca "Basic_Pump_Control" en el campo Name (nombre). Complete el resto del cuadro
de dilogo de la forma que se muestra.

Haga clic en [OK] para aceptar.



5. Al igual que hicimos en el apartado anterior de la sesin, debemos seleccionar las entradas del
bloque. Complete las dos entradas de la forma que se muestra. Debe crear los parmetros de
las nuevas entradas haciendo clic sobre el signo de interrogacin ("?").

6. Utilice las tcnicas aprendidas en esta sesin para crear los siguientes parmetros de entrada
y salida:
Entradas que utilizaremos ms adelante:
Water_Level Usage: Input Parameter (parmetro de entrada)
Data Type: Bool (booleano)
Required (seleccionado)
Visible (seleccionado)
Description: Input (entrada)

Tank_Pressure Usage: Input Parameter (parmetro de entrada)
Data Type: Int
Required (seleccionado)
Visible (seleccionado)
Description: Input (entrada)

Salidas de esta instruccin:
Over_Pressure Usage: Output Parameter (parmetro de salida)
Data Type: Bool (booleano)
Not Required (sin seleccionar)
Visible (seleccionado)
Description: Output (salida)

Open_Drain Usage: Output Parameter (parmetro de salida)
Data Type: Bool (booleano)
Not Required (sin seleccionar)
Visible (seleccionado)
Description: Output (salida)

Instrucciones 43 de 56 pginas



7. Haga clic en [Apply] para aceptar los cambios.
8. Haga clic en para abrir la rutina de la instruccin Add-On y modificarla.
9. Agregue los dos renglones siguientes a la lgica.



10. Verifique la rutina.



11. Cree una nueva rutina bajo el programa principal y llmela Nested_Logic". Crela como rutina
de escalera.


12. Abra la rutina y agregue la nueva instruccin.


13. Como siempre, la nueva instruccin necesita un tag auxiliar. Aada Pump_1_Nested haciendo
clic con el botn derecho en el signo "?" situado junto a Nested_Pump_Control y seleccionando
New Tag.
14. Aada los dos tags de entrada Water_Level y Tank_Pressure a la base de datos de tags
haciendo clic con el botn derecho en "?" y seleccionando New Tag.
15. Verifique la rutina.


Instrucciones 45 de 56 pginas
16. Descargue el proyecto en el controlador y pase a modo Run (ejecucin).
17. Abra la base de datos de tags haciendo clic dos veces en Program Tags, en MainProgram, y
seleccione la vista Monitor. Desde aqu puede monitorizar los tags, adems de utilizar las
vistas contextuales, como hicimos en las sesiones anteriores.







Apndice A. Modos de exploracin
La ficha Scan Modes (modos de exploracin) de la definicin de la instruccin permite al usuario
activar y programar rutinas para tres situaciones de exploracin especializadas: Prescan, Postscan
y EnableInFalse.



Instrucciones 47 de 56 pginas
Rutina Prescan:
La rutina Prescan se ejecuta cuando el controlador cambia del modo Program (programacin) al
modo Run (ejecucin). Es til cuando se desea inicializar las variables internas con algn estado
conocido o predefinido antes de la ejecucin: por ejemplo, cargar un valor vlido conocido en una
direccin indirecta antes de la primera exploracin de la lgica.
Para crear una rutina Prescan, haga clic en el botn New... de la ficha Scan Modes.



El usuario puede utilizar la lista desplegable Type (tipo) para seleccionar el lenguaje en el que se
va a escribir la rutina (diagrama de contactos, bloques funcionales o texto estructurado).
Una vez seleccionado el lenguaje y despus de aadir una descripcin opcional, la rutina Prescan
se aade a la definicin de la instruccin Add-On al pulsar OK y posteriormente puede editarse
igual que todas las dems rutinas.

Durante la exploracin previa del controlador, se explorar la rutina de lgica de cada instancia de
instruccin una sola vez en modo Prescan. Si se incluye y se activa una rutina Prescan en la
definicin de la instruccin, la rutina Prescan se explora en modo normal inmediatamente despus
de la exploracin previa de la rutina de lgica.




Rutina Postscan:
La rutina Postscan se ejecuta como resultado de la exploracin posterior de un paso SFC (si se ha
configurado SFC para Automatic Reset (reset automtico)). Si la instruccin Add-On se emplea
como instruccin en una accin SFC, la rutina Postscan se ejecuta durante la exploracin posterior
del paso de dicha accin. Esto es til para poner a cero estados internos o salidas de
instrucciones una vez concluido el paso.
Para crear una rutina Postscan, haga clic en el botn New... de la ficha Scan Modes.



El usuario puede utilizar la lista desplegable Type (tipo) para seleccionar el lenguaje en el que se
va a escribir la rutina (diagrama de escalera, bloque de funcin o texto estructurado).
Una vez seleccionado el lenguaje y despus de aadir una descripcin opcional, la rutina Postscan
se aade a la definicin de la instruccin Add-On al pulsar OK y posteriormente puede editarse
igual que todas las dems rutinas.

Durante una exploracin posterior, la rutina de lgica de la instancia de la instruccin se ejecuta
una sola vez en el modo Postscan. Si se incluye y se activa una rutina Postscan en la definicin de
la instruccin, la rutina Postscan se explora en modo normal inmediatamente despus de la
exploracin posterior de la rutina de lgica.




Instrucciones 49 de 56 pginas
Rutina EnableInFalse:
La rutina EnableInFalse se ejecuta cuando el parmetro EnableIn es falso ("0") en cualquier
lenguaje. Es til principalmente como lgica "scan false" cuando se utiliza como instruccin de
salida en un programa RLL. Una aplicacin habitual de "scan false" es cambiar a estado de
desconexin una instruccin OTE (Output Energize Bobina de Salida) cuando las condiciones del
rengln precedente son falsas. De la misma forma, una instruccin Add-On puede utilizar la
caracterstica EnableInFalse para permitir al usuario personalizar esta funcin.
Para crear una rutina EnableInFalse, haga clic en el botn New... de la ficha Scan Modes.



El usuario puede utilizar la lista desplegable Type (tipo) para seleccionar el lenguaje en el que se
va a escribir la rutina (diagrama de contactos, bloque de funcin o texto estructurado).
Una vez seleccionado el lenguaje y despus de aadir una descripcin opcional, la rutina
EnableInFalse se aade a la definicin de la instruccin Add-On al pulsar OK y posteriormente
puede editarse igual que todas las dems rutinas.

Si el parmetro de entrada EnableIn de la instruccin es falso ("0"), la lgica de la instruccin no se
ejecuta y el parmetro de salida EnableOut cambia a falso ("0"). Si se incluye y se activa una
rutina EnableInFalse en la definicin de la instruccin, la rutina EnableInFalse tambin se ejecuta.


Apndice B. Enablen/EnableOut
Los parmetros EnableIn y EnableOut, que aparecen por defecto en todas las instrucciones Add-
On, tienen un comportamiento que se adapta a los diferentes lenguajes (diagrama de contactos,
bloques funcionales y texto estructurado).
En todos los lenguajes el parmetro EnableIn es verdadero ("1") cuando se ejecuta la rutina lgica
primaria. En general, el parmetro EnableIn NO debe ser utilizado en la rutina principal de la
instruccin.
El parmetro EnableOut adopta por defecto el mismo estado que EnableIn, pero la lgica del
usuario puede modificar este comportamiento y forzar este parmetro a adoptar otro estado.

Diagrama de contactos
En el diagrama de contactos el parmetro EnableIn refleja el estado del rengln al entrar en la
instruccin. P. ej.: Si el estado del rengln que precede a la instruccin es verdadero ("1"),
EnableIn es tambin verdadero y la rutina lgica primaria de la instruccin se ejecuta. Del mismo
modo, si el estado del rengln que precede a la instruccin es falso ("0"), EnableIn es tambin falso
y la rutina lgica primara no se ejecuta.

Bloque de funcin
En el entorno de bloque de funcin, el usuario puede manipular el parmetro EnableIn mediante
sus conexiones. Si no se realiza ninguna conexin, el parmetro EnableIn cambia a verdadero
("1") cuando la instruccin comienza a ejecutarse y la rutina lgica primaria de la instruccin se
ejecuta. Si una de las conexiones con este parmetro es falsa ("0"), la rutina lgica primaria de la
instruccin no se ejecuta. Ninguna otra referencia al parmetro EnableIn (como una instruccin
OTU (Output Unlatch - Reset) de RLL o una asignacin de texto estructurado) tendr influencia
alguna en el estado de este parmetro. Solamente una conexin con el pin de entrada de este
parmetro puede forzarlo a cambiar a falso ("0").

Texto estructurado
En el entorno de texto estructurado el parmetro EnableIn siempre es verdadero ("1") por defecto.
El usuario no tiene influencia alguna en el estado del parmetro EnableIn en una instancia de texto
estructurado.

You might also like