Para alguien que, como yo, se siente cómodo programando en Step7, Rockwell tiene el documento perfecto: “Guía para conversión de aplicaciones Simatic S7 a Logix5000” cuya lectura recomiendo (está en español). Esta entrada es un pequeño resumen de este documento con las características que más me han llamado la atención.
Una de las cosas que más me ha gustado es que trae tablas de equivalencia entre material de Rockwell y Siemens, aquí un extracto para los PLC S7-300:
Siemens S7-300 | Rockwell |
313C | L23 Serial |
314C-DP | L23 EtherNet/IP, L31 |
315-2 DP | L32E, L32C |
317-2 DP | L35CR, L35E |
317T-2 DP | L43, L45 |
319-3 PN/DP | L45, L61 |
En el documento hay más tablas con más PLC y tarjetas.
Hablando ya de las características de la programación, en el RSLogix5000 se estructura el programa en tareas (Task), que equivalen a los bloques de organización (OB) de Siemens:
- Tarea continua de organización → OB de ciclo del programa
- Tarea periódica → OB de interrupción cíclica
- Tarea de evento → OB de interrupción hardware
Un controlador Logix acepta una única tarea continua, pero no es obligatorio incluirla: se puede ejecutar todo el programa con tareas periódicas y/o tareas de evento.
La diferencia entre los conceptos programa y rutina de Logix no tiene un equivalente en Step7.
Si queremos encontrar en Siemens una estructuración de programa similar tenemos que irnos al Simotion Scout, cuyo Execution system es muy similar al Controller Organizer de Logix.
Otra diferencia fundamental es el modo de organizar la memoria. Los datos en Step7 tienen direcciones absolutas en áreas seleccionables de memoria. En Logix los datos se organizan en bases de datos de tags: no existe direccionamiento absoluto.
En Logix se pueden definir variables (tags) globales en la base de datos bajo el control del controlador y puede accederse a ellas mediante rutinas en cualquier parte del programa. Sin embargo, si definimos los tags bajo el control del programa solo pueden utilizar en rutinas en dicho programa.
En Logix, a una variable se le pueden asignar diferentes nombres mediante alias. Uno de los usos más evidentes es asignar nombres descriptivos a los tags que por defecto se asignan a las entradas y salidas.
En Logix existen cuatro lenguajes de programación:
- Diagrama de lógica de escalera (LD) – comparable con el KOP (diagrama de contactos) de Step7
- Texto estructurado (ST) – Equivalente al SCL de Step7
- Diagrama de bloques de funciones (FBD) – Equivalente al CFC de Step7
- Diagrama de función secuencial (SFC) – Comparable al hiGraph de Step7
Una rutina en lenguaje LD se divide en rungs (peldaños), equivalente a los segmentos de Step7. Algunos programadores los llaman renglones, imagino por traducir mal rungs.
Si es necesario ejecutar funciones con paso de parámetros (lo que serían los FB en Step7), en Logix existen las instrucciones Add-on con área de datos privados.
Comparación entre las instrucciones Add-On y los FB:
- Ambas se pueden llamar como funciones desde cualquier lugar del programa.
- Ambas contienen un área de datos propios de datos estáticos (este área en el Add-on es totalmente privado).
- En una instrucción Add-on no existe área de datos temporales.
- Ambas tienen tres tipos de parámetros: entrada (paso por valor), salida (paso por valor) y entrada-salida (paso por referencia). El parámetro de paso por referencia es una gran ventaja puesto que permite que se pasen eficientemente grandes estructuras de datos.
En Step7, al iniciar el ciclo de scan se lee la imagen de proceso de entradas, se ejecuta el programa y se vuelcan las salidas, de forma que durante un mismo ciclo de scan sus valores permancen constantes. Sin embargo en los sistemas Logix, las entradas y salidas se actualizan asíncronamente, con lo cual, si se necesita que las entradas/salidas se mantengan sin variación durante la ejecución del programa, deberá ser tenido en cuenta por el programador.
Internamente todos los tipos de datos enteros se tratan en 32 bits. Si usamos uno de 8 o 16 será convertido a 32, con lo que siempre es más eficiente usar DINT que INT o SINT (estos tipos de datos se proporcionan por compatibilidad con la norma IEC61131-3).
En Logix no hay punteros. Las matrices realizan la misma función que los punteros, pero son más simples y seguras.
Hasta aquí este resumen, seguramente me dejo conceptos importantes, pero ya los iré completando por el camino.
Cualquier comentario, como siempre, será bienvenido.
Desde luego, por mi corta (ínfima) experiencia con Rockwell, de momento no se me parece en nada con Siemens. Me da la sensación de tener menos orden, pero vaya, así por encima
ResponderEliminarBuenos dias, por el momento me estoy metiendo en el el tema del step7 pero no tengo mucha inrmacion y me gustaria saber si hay algun simulador para meterme mas en practica, veo que tu manejas bien el tema no se si me puedes ayudar, gracias mi correo es miltonleg@hotmail.co
ResponderEliminar