Definición y evaluación de renglones de PLC

2

Estaba leyendo un libro sobre PLC (controladores lógicos programables). Encontré este párrafo: "Un diagrama de escalera se lee de izquierda a derecha y de arriba a abajo ... El peldaño superior se lee de izquierda a derecha. Luego, el segundo peldaño hacia abajo se lee de izquierda a derecha y así sucesivamente ... .
Cada renglón debe comenzar con una entrada o entradas y debe terminar con al menos una salida ".

En otra fuente, encontré que un renglón es una línea única ...

No estoy seguro de si entiendo bien ... Un renglón puede constar de varias líneas, ¿verdad? Por ejemplo, ¿esto es un peldaño?

   A      B                  X
--| |----| |--+-------------( )-
              |
   C          |
--| |---------+

Digamos que tanto A como B son 0 y C es 1.

En este caso, ¿cómo se evalúa? De izquierda a derecha y de arriba a abajo:

No puede ser: 1. Evaluar (A y B) 2. Establecer salida X 3. Evalúa C: ¿no puedes volver?

Creo que debería ser: 1. Evaluar (A y B) O C 2. Establecer salida X

    
pregunta Hélène

4 respuestas

3

Usted tiene razón en su secuencia de ejecución y su declaración de que un renglón puede tener varias líneas .

Ladder vs text

En los viejos tiempos, muchos de los programadores de PLC podían cambiar entre ladder y texto o 'op-codes' (no recuerdo la terminología correcta). Mitsubishi todavía apoya esto. Allen-Bradley lo hace porque puede editar un peldaño de escalera con un editor de texto y he usado esta función para crear la lógica de escalera en Excel (incrementando las entradas y salidas por fórmula) y pegando los resultados nuevamente en el editor de escalera. La versión de texto da una mejor pista en cuanto a la ejecución. Su código, por ejemplo, se convierte en:

   A      B                  X
--| |----| |--+-------------( )-
              |
   C          |
--| |---------+

OP            VAL    ACC    Comment
ST    A       0      0      ! Store A in ACCumulator
AND   B       0      0      ! Logical AND of B with ACCumulator
OR    C       1      1      ! Logical OR of C with ACCumulator
OUT   X       1             ! Copy ACCumulator to X

Las ramas difíciles requieren BST (inicio de rama) y BND (extremo de rama) o equivalente, lo que permite que los resultados intermedios se inserten en una pila.

Una búsqueda rápida en la web arrojó este sitio que no es brillante pero puede ser de alguna utilidad.

NO contactos

Para cualquiera que sea nuevo en esto, los contactos 'no' están representados por '/'. Ver X1 y NO X2 en el siguiente ejemplo. (Muchos PLC utilizan 'X' para la entrada y 'Y' para la salida.)

   X1     X2                 Y0
--| |----|/|--+-------------( )-
              |
   X3         |
--| |---------+

El OP es correcto en el sentido de que podría dar más de una pista visual al orden de ejecución si la escalera se dibuja de la siguiente manera:

   X1     X2   
--| |----|/|--+
              |
   X3         |              Y0
--| |---------+-------------( )-

Sin embargo, la onda cerebral de la lógica de escalera era que presentaba la lógica en forma de un esquema eléctrico con el que los electricistas estaban familiarizados. Un electricista "sabría" que la corriente podría fluir "hacia arriba" o derivarse a la bobina. Uno de los problemas comunes en la capacitación de electricistas fue transmitir el concepto de que, si bien el listado de escalera parece que todo funciona simultáneamente, de hecho, se está ejecutando de forma secuencial.

Aprovechando el escaneo secuencial

El siguiente ejemplo de un solo disparo hecho en casa muestra un ejemplo de uso de lógica secuencial que podría no funcionar con lógica de relé real.

! C0 fires for one scan when X1 turns on
! provided the one-shot memory is off.
   X1     C1                 C0
--| |----|/|----------------( )-

! C1 'remembers' that X1 was on.
   X1                        C1
--| |-----------------------( )-

! Y0 fires for one program scan.
   C0                        Y0
--| |-----------------------( )-

La lógica debe ser bastante clara. Tratar de hacer esto con relés crearía una condición de carrera (aunque habría otras soluciones en ese caso).

Orden de ejecución del programa

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.

Cada 'escaneo' en procesadores más nuevos toma < 1 ms que ha bajado mucho desde los primeros días, donde 20 a 50 ms habrían sido comunes para programas más grandes.

Supervisión de estado en línea

Para aquellos que son nuevos en el tema: el diagrama de escalera también es muy útil para la depuración en línea. El estado de los contactos o 'flujo de energía' se indica cambiando el color o la representación del cable.

   X1     X2                 Y0
--| |--==|/|==+=============( )-
              |
   X3         |
==| |=========+

En el ejemplo anterior, podemos ver que tenemos un contacto abierto en la primera rama (lo que indica que X1 está desactivado), mientras que la rama inferior tiene un circuito completo de X3 a Y0 que se enciende. Esto proporciona una visualización fácil de entender de la lógica del programa.

    
respondido por el Transistor
1

Sí, todas las ramas que conducen a la salida deben evaluarse antes de poder establecer la salida. La evaluación real, si está familiarizado con el pulido inverso y las pilas, es más como

presiona A

presiona B

y

presiona C

o

pop (salida)

    
respondido por el Spehro Pefhany
0

Dentro de un renglón puede tener ramas, que convergen en una acción o se dividen en varias acciones. Existen algunas limitaciones y diferencias entre los fabricantes de PLC, pero en general las sucursales se evaluarán de izquierda a derecha y luego de arriba a abajo.

Tomando tu ejemplo, esto equivale a la siguiente lógica: X = (A y B) O C

La forma más fácil de pensar acerca de las condiciones dentro de un renglón es que las condiciones en serie sean el equivalente lógico a AND, mientras que las condiciones en paralelo son el equivalente lógico a OR.

Algunos ejemplos:

-A---B---(Y) |-C-|

X = A AND (B OR C)

O dos salidas

-A---B--(X) |-C--(Y)

X = A AND B Y = A AND C

    
respondido por el ben b
0

básicamente, la parte sobre el orden significa que las decisiones tomadas en los peldaños superiores tendrán un efecto inmediato en los peldaños que se encuentran debajo de ellos, pero las decisiones de los peldaños inferiores deberán esperar a la siguiente ronda del evaluador antes de que entren en vigor en las filas superiores ellos.

sí, la A, B y C cuentan como un peldaño

    
respondido por el Jasen

Lea otras preguntas en las etiquetas