Actualización de salidas en PLCs

0

Para todos los fabricantes de PLC, ¿es la copia masiva de E / S la opción para actualizar las salidas?

Descubrí que hay otro método posible: la actualización continua de E / S .

¿Puede alguien decirme cuál es el motivo de esta elección (copia de E / S en masa)? ¿Hay alguna ventaja sobre el método de actualización de E / S continua?

    
pregunta Hélène

2 respuestas

3

Había editado mi respuesta a tu pregunta anterior para cubrir esto a la ligera. Aquí hay algunos detalles más para un PLC básico.

Orden de ejecución de tareas

Normalmente, el orden de ejecución de tareas de PLC se ejecuta de la siguiente manera:

  • Lee las entradas.
  • Ejecuta la lógica.
  • Escribe las salidas.
  • Manejar otras tareas, etc.

Las etapas 'Leer las entradas' y 'Escribir las salidas' son las etapas 'Copia de E / S en masa'. La razón por la que la lógica se ejecuta de esta manera es que presenta un estado consistente para las entradas a través del programa y evita el estroboscopio de salida durante la exploración del programa. También significa que la actualización de E / S puede manejarse como una tarea en segundo plano.

Problema con la entrada directa leída

  UP BUTTON               MOTOR UP
   X1                        Y0
--| |---------+-------------( )-

  UP BUTTON               MOTOR DOWN
   X1                        Y1
--|/|---------+-------------( )-

En el ejemplo anterior, si X1 se apagara entre la primera lectura y la segunda lectura, las salidas de MOTOR ARRIBA y ABAJO se energizarían simultáneamente. La práctica normal es leer todas las entradas en un registro interno y el programa mira eso en lugar de directamente a las entradas. Esto proporciona un comportamiento predecible consistente del código y evita las condiciones de carrera.

Problema con la escritura de salida directa

  UP BUTTON               MOTOR UP
   X1                        Y0
--| |---------+-------------(L)-

  UP LIMIT SW             MOTOR UP
   X2                        Y0
--| |---------+-------------(U)-

Este ejemplo puede no ser el mejor código, pero la codificación PLC lo permite y puede ser una herramienta útil cuando se usa con saltos / saltos. El primer peldaño enciende el MOTOR ARRIBA usando una 'bobina de relé' de enganche. El segundo peldaño desengancha la bobina cuando se enciende el UP UP Limite. Debe quedar claro que si X1, BOTÓN ARRIBA, el interruptor se mantiene en ese momento, las escrituras de salida inmediatas harán que Y0 parpadee brevemente en cada escaneo. Escribir en la memoria de salida interna y copiar todo el lote en las salidas cuando se completa la ejecución del programa resuelve este problema ya que el estado al final de la exploración lógica es lo que se escribe en las salidas.

Lectura inmediata

La mayoría de los PLC permiten una lectura y escritura inmediatas que pueden ser útiles para acortar el tiempo de ciclo de una máquina. Otros permiten que algunas entradas se utilicen como interrupciones para que la ejecución del programa pueda saltar a una subrutina y ejecutarse inmediatamente.

    
respondido por el Transistor
1

Tomemos en consideración una CPU de PLC de tipo rack, donde otros dispositivos periféricos de E / S están conectados a través del bus de fondo. Este bus generalmente es un bus de comunicación en serie como CAN, I2C, RS485, ... también se pueden conectar las IO remotas a través de un procesador de comunicación como DeviceNet, Canopen, Profibus, Modbus, etc. Cuando desee actualizar el proceso de IO. partición de la imagen (este es el nombre de los estados de E / S bloqueados en la RAM) la CPU tiene que consultar R / W el módulo de E / S para obtener el valor actualizado. Por esta razón, no tiene sentido que en cada evaluación de E / S en el programa ladder la CPU consulte el E / S periférico para el último estado, esto lleva bastante tiempo. Además, el programa de escalera sería incoherente si al comienzo del programa el estado de IO se diferencie del estado en el medio o al final del programa de escalera, esta es una característica no exclusiva. Por lo tanto, la CPU primero construye la partición de la imagen del proceso (establece salidas, lee las entradas) y luego ejecuta el programa de escalera. La única excepción es cuando el programa ladder tiene que ejecutar una rutina de interrupción de tiempo (como el regulador PID), en esa situación, la CPU debe obtener el estado de los datos de E / S en ese momento, no un valor retenido de la RAM, por lo que actualiza el estado de E / S requerido. (solo el módulo interesado, no todo el espacio IO).

    
respondido por el Marko Buršič

Lea otras preguntas en las etiquetas