Curso de programacion RSLogix 5000 Modulo B a s i c o EDUCATIONAL SERVICES Temario Plataforma Logix ControlLogix FlexLogix CompactLogix Introduccion a RSLogix5000 RsLinx Programacion RsLogix5000 Plataforma Logix La plataforma Logix provee una sola arquitectura de control para drives, movimiento y sistemas de control de procesos. •Maxima integracion de sistemas •Re-utilizacion de programas •Flexibilidad en comunicaciones y •Facilidad de mantenimiento ControlLogix, FlexLogix y CompactLogix, son parte de la plataforma Logix ControlLogix -Caracteristicas Logix5550 I/O RUN RS232 BAT •Integracion con sistemas de PLC existentes •I/O Modular + Remotos (4 000 analogos o 128 000 discretos en total) OK •250 Puntos de Conexion remota maximo para recoger I/O RUN REM PROG •Insercion/Remocion de tarjetas bajo voltaje presente •Tamano compacto •Multiple procesadores en el mismo chasis •Control de movimiento integrado •Comunicaciones eficientes (Ethernet, ControlNet, DeviceNet, DH+ / RIO) •Modelo Productor/Consumidor •Memoria modular (64k - 7.5Mbytes) ControlLogix -Componentes DC INPUT 0 1 2 3 4 5 6 7 8 9101112131415 O K 0 1 2 3 4 5 6 7 8 9101112131415 Controlador: RUN Chasis: •4 Slots •7 Slots •10 Slots BAT Fuente de Poder: RUN I/O RS232 OK •Logix5555 REM PROG •Logix5563 •Montada en Chasis Modulos I/O •Redundantes •Discretos •13 Slots •Analogos •17 Slots •Especiales ControlLogix -Procesadores Procesadores 5555 (1756-L55Mxx): 750K, 1.5M, 3.5M o 7.5M bytes de memoria para el usurio. El submodulo de memoria puede ser reemplazado. Procesadores 5563 (1756-L63): 8Mbytes de memoria “fija” mas un puerto para una memoria Flash no volatil. CPU de alta desempeno y ejecucion de alta velocidad •Multi-tareas (32 tareas periodicas o continuas, con prioridad configurable) •32 Programas por Tarea •Direccionamiento simbolico (IEC-1131-3) •Reside en cualquier slot •Diagramas de Escalera, Bloques de Funcion, Texto Estructurado •Set de Instrucciones avanzado FlexLogix - Caracteristicas Misma “maquinaria” de control que la plataforma de alto desempeno ControlLogix Software de Programacion: RsLogix5000 Flex I/O, sistema compacto de I/O de montaje en riel DIN Redes :DeviceNet, Control Net y Ethernet/IP – 2 slots para comunicacion Puerto RS232-C para programacion local o dispositivos seriales Ahorros en costo de acuerdo a la aplicacion Aplicaciones de Control Distribuido Puntos de I/O Maximo recomendado = 256 FlexLogix - Procesadores Tamano de memoria disponible: 64k o 512k 2 PCMCIA Expansion Ports FlexBus Ports 1 Tarea Continua, 7 Tareas Periodicas Allen-Bradley 32 Programas por Tarea FlexLogix5430TM RUN I/O RS232 PCMCIA1 PCMCIA2 BAT OK RUN REM PROG 2 FlexBus para I/O “Local” Set de Instrucciones avanzado Puerto RS232-C para programacion o comunicacion Procesador-Procesador Power RS232 Connector Connector Direccionamiento simbolico (IEC-1131-3) Battery Cover Key Switch FlexLogix - I/O Expansion a 2 rieles locales de I/O (1794-xxxx) Modulo 1794-FLA para controlar el segundo FlexBus Digitales (AC/DC) Analogos Allen-Bradley Especiales/Inteligentes Allen-Bradley 12VDC SINK INPUT Flex I/O Allen-Bradley 12VDC SOURCE OUTPUT Flex I/O OK Flex I/OTM 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 RUN I/O RS232 PCMCIA1 PCMCIA2 BAT OK TM RUN REM PROG Allen-Bradley FlexLogix5430 Allen-Bradley 12VDC SINK INPUT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Flex I/O 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Allen-Bradley 12VDC SOURCE OUTPUT Flex I/O 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CompactLogix - Caracteristicas Sistema de control compacto Controlador Logix + I/O Compact Excelente para aplicaciones pequenas a nivel de maquina Modular, escalable y poderoso Opciones de comunicacion: Ethernet Comparte el modelo de datos, set de instrucciones y ambiente de programacion con otras plataformas Logix DeviceNet RS232 DH485 Sistema de montaje en riel, no requiere chasis 30 Modulos de I/O max CompactLogix - Componentes Expansion a otro banco de modulos Expansion a otro banco de modulos Controlador: 5320 5330 5335 Fuente de Poder Modulos Inteligentes: DeviceNet Modulos de I/O: Digitales Analogos Otros componentes: Tapas de Terminacion, Cables de Expansion CompactLogix - Procesadores Numero de Catalogo Memoria no volatil 1769-L20 64 Kbytes CompactLogix5320 Integrados 1769-L30 256 Kbytes CompactLogix5330 Integrados 1769-L35E 64 Mbytes CompactLogix5335 CompactFlash Modulos Bancos Puertos de de I/O Comunicacion de I/O Max Max 8 2 1 (RS-232-C) 4 16 3 2 (RS-232-C) 4 30 3 1 (RS-232-C) 1 (EtherNet/IP) 8 • Set de Instrucciones avanzado • Direccionamiento simbolico (IEC-1131-3) • Software de Programacion RsLogix5000 • Ambiente multi-tareas Tareas RsLogix5000 - Introduccion RSNetworx RSView RSLinx RSLogix5000 RSLogix5 RSLogix500 Allen Bradley ha introducido un mismo ambiente de programacion basado en Windows: RsLogix5, RsLogix500, RsLinx, RsView, RsNetworx y RsLogix5000 Ver 1.0 Ver 1.0 Ver 1.0 Ver 1.0 Ver 1.0 Ver 1.0 RsLogix5000 es el ultimo miembro de la familia que aporta programacion estructurada, modularidad y poderosas herramientas para el diseno de software Apoyado de RSLinx, que conforma los drivers de comunicacion, ofrece una variedad en opciones de comunicacion. RsLogix5000 - Caracteristicas Ambiente comun de programacion para ControlLogix, FlexLogix, CompactLogix y futuras plataformas Logix Similitud de la interfase de programacion con otras versiones de RsLogix Edicion de multiples rungs al mismo tiempo Cortar/Copiar/Pegar entre diferentes permite la reutilizacion de codigo programas, Direccionamiento Simbolico, hace el programa autodocumentable y mas facil de leer Herramienta de conversion de programas de PLC5 o SLC500 Interoperabilidad con otros productos de Rockwell RsLogix5000 – Ambiente de Programacion Barra de Menu Barra de Herramientas Estandard Barra de Elementos mas Comunes Barra de Logica Comun Organizador del Controlador Barra Online Editor de Logica de Escalera RsLogix5000 – Menus File > New Open Close Save Save As New Component Print Print Options Edit > Undo Redo Cut Copy Paste Delete Ladder Element Add Ladder Element Controller Properties View > Toolbars Controller Organizer Errors Search Results Logic > Monitor Tags Edit Tags Verify I/O Forcing Start Rungs Edits Accept Rungs Edits Test Rungs Edits Assemble Rung Edits Communications > Who Active Go Online Upload Download Program Mode Run Mode Clear Faults Tools > Options Import Tags Export Tags Search > Find Replace Cross Reference RsLinx - Definiciones RsLinx es un servidor de comunicaciones que provee conectividad con los dispositivos de pisos a una gran variedad de software como RSLogix5, RSLogix5000, RsView, RsNetworx, etc., asi como a terceros. Driver: Modulo de programa que ejecuta codigo para manejar el hardware de acuerdo al protocolo requerido EDS: Electronic Data Sheet, contiene la informacion electronica para cada dispositivo en campo RsLinx - Versiones RsLinx – Ambiente de programacion Barra de Herramientas Drivers configurados RSWho Configure Driver Barra de Menus Dispositivos en la red Laboratorio 1 – OnLine Comms Objetivo: Comunicarse en linea (OnLine) con el procesador. Procedimiento: 1. Accese RSLinx 2. Configure el drive adecuado 3. Verifique que el cableado este correcto 4. Certifique que el procesador aparece en el lado derecho de la pantalla Lab 1.1 Lab 1.2 Serial Ethernet Lab 1.1 - Comunicacion Serial Seleccione el driver RS232-DF1 Devices Nombrelo Verifique: Comm Port = COM1 Device = Logix5550/CompactLgx Lab 1.2 - Comunicacion Ethernet Seleccione el driver Remote Devices Via Linx Gateway Nombrelo Asigne el IP Address de la tarjeta 1756ENET 172.24.14.150 Lab 1 - Conclusiones Similitudes entre ambos laboratorios • Procedimiento • Interfase al usuario • Flexibilidad al nombrar Diferencias entre ambos laboratorios • Com. RS232 se “autoconfigura” • Com. Ethernet debemos tener el IPAddress • Una tarjeta Ethernet debe haber sido previamente configurada • La comunicacion RS232 es directa con el controlador, mientras que Ethernet es a traves de un tarjeta especializada RsLogix5000 – Conceptos Online: Entablar comunicaciones en tiempo real con el controlador a traves de RsLinx y un hardware determinado Upload: “Subir” a la computadora la imagen de un controlador (programa y datos) Download: “Bajar” de la computadora al controlador la imagen de un controlador (programa y datos) Modo Program: Modo de operacion del controlador donde la logica no es ejecutada y el I/O no es escaneado. Los cambios / ediciones son permitidas Modo Run: Modo de operacion del controlador donde la logica es ejecutada, el I/O escaneado y los cambios/ediciones son permitidos con limitaciones Laboratorio 2 – Download, Upload Lab 2.1 Download Lab 2.2 Upload Break 1 Los Los datos datos son son contenidos contenidos dentro dentro de de Tags. Tags. Tags El El procesador procesador es es llamado llamado Controlador Controlador Controlador RsLogix5000 - Estructura Programas La La logica logica es es contenida contenida en en Programas. Programas. RSLogix5000 – Tags Tags: Area de memoria nombrada que contiene datos de un Tipo especifico Los Tags tienen un Alcance: Controlador Programa El Alcance (Scope) se refiere a lo visible que sera el Tag dentro del controlador CantFallasTot Controlador 12 Numero entero Programa Fallas_Est105 6 Memoria del controlador RSLogix5000 - Tags Reglas para asignar nombre a los Tags Maximo 40 caracteres Debe iniciar con letra o guion bajo (“_”), los siguientes caracteres pueden ser letras, numeros o guion bajo No puede contener dos guion bajo continuos No puede terminar en guion bajo Mayusculas o minusculas tienen el mismo significado RsLogix5000 – Tipo de Datos Predeterminados – Utiliza los Tipos de Datos Basicos para formar estructuras Definidos por Modulos – Creados al incluir un modulo a nuestra configuracion de I/O, no pueden ser alterados Definidos por Usuario – Creados por el usuario utilizando todos los anteriores RsLogix5000 – Tipo de Datos Basicos BOOL - Boleano. Un solo bit que es 1 o 0 (ON/OFF) SINT - Entero corto. Numero de ocho bits con signo, con valores de –128 a +127. Tambien utilizado para representar caracteres ASCII INT - Entero. Numero de 16 bits con valores de –32,768 a +32,767 DINT - Doble-entero. Numero de 32 bits con signo, con valores de –2147483648 a +2147483647 REAL - Numero de punto flotante con valores de –3.40E38 a +3.40E38 RsLogix5000 – Tipo de Datos Predeterminados Basicos + Estructuras TIMER – Incluye dos DINTs para el preset y acumulado y una serie de BOOLs para estado COUNTER – Incluye dos DINTs para el preset y acumulado y una serie de BOOLs para estado Estructura = 12 Bytes 31…………………………….……………0 Preset Acumulado PID, SCALE, DEADTIME, CONTROL, AXIS_SERVO, DERIVATIVE, DOMINANT_SET, FBD_MATH, HI_LIMIT, FUNCTION_GENERATOR, MOTION_GROUP, INTEGRATOR…………… RsLogix5000 – Tipo de Datos Predeterminados De esta manera se ve la estructura TIMER en RSLogix5000: PRE, ACC > DINT EN, TT, DN, FS, LS, OV, ER > BITS RSLogix5000 – Tipos de Datos Definidos por Modulos Tipo de Dato definido por un modulo 1756-DNB (DeviceNet) El elemento Diag mostrado en la figura contiene varios Tags, cuyo Tipo de Dato es DINT. RSLogix5000 - Arrays Secuencia de Elementos, numericamente indexados, del mismo Tipo de Datos El Indice inicia en 0 y se extiende hasta el numero de elementos menos 1. Un Array puede tener hasta 3 dimensiones, a menos que sea parte de una estructura donde solo es permitida 1 dimension Un Tag tipo Array ocupa un bloque continuo de memoria en el controlador con cada elemento en secuencia Estaciones > DINT[3] Estaciones > DINT[3,3] 0 DINT[0] 0 DINT[0,0] DINT[0,1] 1 DINT[1] 1 DINT[1,0] DINT[1,1] 2 DINT[2] 2 DINT[2,0] DINT[2,1] RSLogix5000 – Tags De Controlador No No existen existen limites limites en en el el numero numero de de Tags Tags de de Controlador, Controlador, excepto excepto por por la la memoria memoria misma misma .. Tag Los Tags de Controlador (Controller Scope) son visibles a traves de todo el Controlador, asi como fuera del mismo ! '& Los Los modulos modulos “Inteligentes” “Inteligentes” deben deben ser ser nombrados. nombrados. Los Los nombres nombres seran seran utilizados utilizados por por las las instrucciones instrucciones yy por por los los Tags Tags Consumidores. Consumidores. Los Los Modulos Modulos pueden pueden estar estar en en el el mismo mismo chasis chasis que que el el controlador controlador oo en en chasis chasis remotos remotos aa traves traves de de ControlNet ControlNet Todos Todos los los Modulos Modulos son son accesibles accesibles aa traves traves del del Controlador Controlador Tags , )/ .+, Tags Tags de de Controlador Controlador son son creados creados para para modulos modulos que que requieran requieran una una imagen imagen de de I/O I/O ) * () " $% # RSLogix5000 – Modulos de I/O Modulo RSLogix5000 –Programas El El Programa Programa ejecuta ejecuta solamente solamente un un Rutina, Rutina, conocida conocida como como la la Rutina Rutina Principal Principal (Main (Main Routine). Routine). Todas Todas las las demas demas Rutinas Rutinas deben deben ser ser llamadas llamadas de de la la principal principal oo de de otras otras Los Los Programas Programas pueden pueden contener contener tambien tambien Tags. Tags. Estos Estos Tags Tags seran seran visibles visibles solamente solamente dentro dentro del del Programa Programa yy son son conocidos conocidos como como Tags Tags de de Programa. Programa. Un Un Programa Programa puede puede contener contener un un numero numero ilimitado ilimitado de de Rutinas Rutinas (excepto (excepto por por la la memoria). memoria). Cada Cada rutina rutina dentro dentro de de un un Programa Programa debe debe tener tener un un nombre nombre unico unico La logica es contenida en Rutinas, mientras que las Rutinas son contenidas en Programas Tags Modulos Programa Tags Main Routine Routine RsLogix5000 - Tasks Un Un Task Task puede puede contener contener hasta hasta 32 32 Programas. Programas. Cuando Cuando un un Task Task esta esta activo, activo, ejecuta ejecuta cada cada uno uno de de sus sus Programas Programas en en el el orden orden definido definido por por el el usuario usuario Los Programas estan contenidos en Tasks (Tareas). Un Programa no funcionaria si no estuviera incluido en un Task. Tags Task Modulos 32 por Task Programa Program (32 per task) Program (32 per task) Tags Un Un Task Task puede puede ser ser Continuo Continuo oo Periodico Periodico ControlLogix ControlLogix puede puede contener contener hasta hasta 32 32 Tasks Tasks Main Routine Routine RsLogix5000 – Task Continuo Un Task Continuo esta siempre activo. Despues de ejecutar todos sus Programas, inicia de nuevo. Solo existe un Task Continuo en el Controlador. Tags Modulos Task 32 por Logix Task (32 per controller) Task (32 per controller) Program 32 por Task Program (32 per task) Program (32 per task) Tags Main Routine Routine RSLogix5000 – Task Periodico Un Task Periodico es activado en intervalos de tiempo. Cuando ocurre, se interrumpe el Task Continuo para ejecutarse. Una vez terminado de ejecutar todos sus Programas, el Task Continuo reinicia. Tags Modulos Task 32 por Logix Task (32 per controller) Task (32 per controller) Programa 32 por task Program (32 per task) Program (32 per task) Tags Main Routine Routine RsLogix5000 - Organizador Informacion relacionada con el Controlador: Propiedades, Tags y, Fault & Power-Up Handler Tareas > Programas > Rutinas Grupos de Movimiento y Tendencias Tipos de Datos Configuracion de I/O Similar al Explorador de Windows y comun al resto del software de Rockwell Laboratorio 3 – Crear un programa Objetivo: Crear el programa para un Controlador, identificando el hardware asociado y la estructura en software. Tip: Grabar el programa cada 5 minutos. Laboratorio 3 - Conclusiones La sintaxis con la que los Tags asociados a modulos se crean es la siguiente: Local:0:I I: Input, O:Output, C:Configuration Slot Rack Local El nombre del Tag no dice nada acerca del tipo de modulo. La unica referencia seria el numero de Slot y el Tipo de Dato. Existe diferencia en la forma de presentar la informacion con respecto a otros procesadores. El nombre del Tag y la de sus elementos pudiera ser confusa. Break 2 RSLogix5000 – Tag Alias La informacion reside siempre en el Tag base Los Alias pueden ser utilizados ademas para: Nombrar puntos de I/O Permitir que los programas sean reusables ! Los Tag Alias no son dinamicos, es necesario editarlos OffLine Un Tag Alias es un Tag que apunta a otro Tag. El Tag Alias podria ser utilizado para accesar la informacion de otro Tag. Tag Alias Tag RsLogix5000 – Tag Alias Scope Alcance Controlador Los Tag Alias pueden ser creados de Alcance (Scope) Controlador o Programa Tags Apunta a Tags de Controlador unicamente. No puede hacerlo a Tags de Programa porque estos no son vistos a nivel Controlador Util para nombrar puntos de I/O Tag Alias Task (32 por controlador) Task (32 per controller) Task (32(32 perpor controller) Program task) Program (32 per task) Program (32 per task) Tags RsLogix5000 – Tag Alias Scope Apunta a Tags de Programa y a Tags de Controlador Util para nombrar puntos de I/O que se utilizan solamente en un programa Permite la reutilizacion de rutinas y programas al hacer logica con Alias genericos de Alcance Programa que apunten despues a Tags de Controlador Alcance Programa Tags Tag Alias Task (32 por controlador) Task (32 per controller) Task (32(32 perpor controller) Program task) Program (32 per task) Program (32 per task) Tags Tag Alias Laboratorio 4. Tags y Alias Objetivo: Crear Tag Alias que apunten a I/O, reforzar conceptos Laboratorio 4. Conclusiones Los Tags Alias se deben modificar Offline El usuario define cual sera la rutina principal de cada programa Los Task, Programas y Rutinas pueden ser nombrados de acuerdo a nuestras necesidades Podra definirse el orden de ejecucion de los Programas? Afirmativo (proximo Lab) RSLogix5000 – UDT’s " 0. 0 UDT $ ! Tags # " *) ( ' *$ &% $ %./ , -, + ( * &1 &( ' Logix5000 permite al usuario definir Tipos de Datos que pueden ser utilizados para crear Tags Una Una UDT UDT permite permite el el agrupamiento agrupamiento de de datos datos en en un un solo solo tag tag •Recolecta •Recolecta datos datos relacionados relacionados •Reduce •Reduce la la longitud longitud de de la la lista lista de de tags tags •Asegura •Asegura que que los los nombres nombres sean sean exactamente exactamente los los mismos mismos Las Las UDTs UDTs son son accesibles accesibles aa traves traves del del controlador. controlador. No No hay hay limites limites en en el el numero numero de de UDTs UDTs (excepto (excepto por por la la memoria). memoria). RsLogix5000 – UDT’s vs PLC Se acostumbraba utilizar varios archivos de datos para concentrar la informacion de un equipo (estacion, maquina, motor, etc.) Las UDT’s integran este concepto dentro del mismo controlador, evitando tener que tener documentos que describieran la manera de organizar la informacion N10 T14 B13 1-10 STA 1 1-10 STA 1 1-5 STA 1 11-20 STA 2 11-20 STA 2 6-10 STA 2 21-30 STA 3 21-30 STA 3 11-15 STA 3 UDT con 3 elementos de Tipo de Datos basicos Tag STA 1 DINT[10] BOOL[10] Tag STA 2 TIMER[10] Tag STA 3 STA 1 N10:1-N10:10 B13/1-B13/10 T14:1-T14:5 RSLogix5000 – UDT’s para Principiantes Creacion de la UDT RsLogix500 reserva el minimo en memoria… Dword = 32 Bits Tags RSLogix5000 – UDT’s para Expertos La estructura de la UDT tiene el mismo tamano pero su distribucion es mejor Los Tags estan mejor “documentados”, mas explicitos. Laboratorio 5. Laboratorio 6. RUN BAT RUN REM I/O RS232 OK PROG Productor Tag Tag RUN BAT RUN REM Consumidor " * ( % Tag RUN BAT RUN REM # ) ' & " # ! ! # # % % # $ RsLogix5000 – Productor/Consumidor I/O RS232 OK PROG I/O RS232 OK PROG Consumidor RSLogix5000 – Productor/Consumidor El modelo Productor/Consumidor puede efecuarse a traves de …… ControlNet, cuando los controladores se encuentran en chasis separados Backplane, cuando los controladores estan en el mismo chasis Se efectua independientemente del modo de operacion del controlador (Run, Program, Fault) Cuando el Controlador esta en modo Program o Fault, los tags producidos/consumidos se quedan en el ultimo estado Ocurre de manera asincrona al programa ! Todo esto ocurre por el tipo de arquitectura en hardware de la plataforma y controladores Laboratorio 7. Productor/Consumidor FIN DE CURSO EDUCATIONAL SERVICES