Escritura de rutina de código PLC largo sin ejecución de tiempo de escaneo

0

Me pregunto si hay un problema con el tiempo de respuesta de PLC en algunos casos. Si es así, ¿cuál es el caso? ¿Cómo diseñador resuelve? Por ejemplo, los cálculos son complejos, el siguiente paso debe calcularse en 200 ms, pero toma 600 ms.

[Aclaración:] Los PLC normalmente ejecutan su lógica en una secuencia de exploración repetida de la siguiente manera:

  • Lee las entradas.
  • Ejecuta la lógica.
  • Escribe las salidas.

El resultado suele ser una tasa de escaneo predecible.

A veces se debe ejecutar una lógica compleja y esto puede extender el tiempo de exploración e interferir con el rendimiento del proceso a medida que se amplía el tiempo de respuesta.

¿Cómo ejecuta el diseñador una lógica que consume mucho tiempo sin prolongar excesivamente el tiempo de escaneo?

[/ Aclaración]

Lo siento por mi inglés.

    
pregunta user1785960

1 respuesta

2

Para aquellos que no están familiarizados con los PLC, se usan en automatización industrial y generalmente se ejecutan con un tiempo de exploración de programa de < 1 a 20 ms. (El tiempo de escaneo de 200 ms de OP se consideraría muy lento). El tiempo de escaneo corto y preferiblemente fijo da un tiempo de respuesta predecible y repetible a un cambio en las entradas y el tiempo de las salidas.

Figura1.CiclodeescaneodelPLC.Fuente: Los conceptos básicos de la operación del PLC .

La pregunta del OP es cómo manejar un procedimiento que extenderá el tiempo de exploración del programa, ¡sin extender el tiempo de exploración del programa!

Hay varias formas de abordar el problema:

  1. Agrupe la tarea en un módulo especializado, por ejemplo, un módulo de control de temperatura PID y deje que se realice de forma asincrónica con respecto al tiempo de exploración del PLC. El módulo especializado puede actualizar algunos registros de memoria compartida cuando se complete.
  2. El PLC puede hacer el mismo truco en ciertas circunstancias donde una parte de cada ciclo de exploración se reserva para los programas de funciones especiales que se ejecutan hasta que se acabe su tiempo, mantenga los cálculos intermedios, devuelva el control al programa principal y retome donde Lo dejaron en el siguiente ciclo. Esto solo funciona si el sistema puede tolerar una tasa de actualización lenta para estos subprogramas.
  3. Complete la tarea en varios ciclos de escaneo. Por ejemplo, recientemente tuve que crear una rutina de suma de comprobación de mensaje RS485 en un PLC antiguo. Creé un contador de palabras, lo restablecí a cero y cada escaneo agregó una palabra a la suma de control e incrementé el contador hasta que se sumó el mensaje completo. Tal vez se necesitaron doce exploraciones para completar la suma de comprobación, pero eso estuvo bien, ya que el mensaje se transmitió una vez por segundo.
respondido por el Transistor

Lea otras preguntas en las etiquetas