2. Programación
2.3. Instrucciones de Programación
2.3.1. Instrucciones básicas de diagrama de relés y control de bit
Hay siete instrucciones que se pueden utilizar generalmente para controlar estados individuales de bits. Son OUT, OUT NOT, DIFU(13), DIFD(14), SET, RSET y KEEP(11). Estas instrucciones se utilizan para poner los bits a ON y OFF de diferentes formas.
LOAD y LOAD NOT; OUT y OUT NOT: La primera condición que inicia una línea de
instrucción (rung) en un diagrama de escalera corresponde a una instrucción LOAD o LOAD NOT.
Cada una de estas instrucciones requiere una línea de código mnemónico.
Figura 2.2. Instrucciones LD/AND/OUT
AND: Para conexión de contactos en serie.
Figura 2.3. Instrucción AND
OR: Para conexión de contactos en paralelo.
Profesor: Enrique A. León Turrubiates 35
AND LD: Realiza la operación lógica AND de las condiciones producidas por dos bloques
lógicos.
Figura 2.5. Instrucción AND LD.
OR LD: Realiza la operación lógica OR de las condiciones producidas por dos bloques
lógicos.
Profesor: Enrique A. León Turrubiates 36
DIFU(13) y DIFD(14): Se utilizan para poner a ON el bit designado durante sólo un ciclo de
scan.
Figura 2.10. Flanco de subida y bajada.
Cuando se ejecuta, DIFU(13) compara su ejecución actual con la condición de ejecución previa. Si ésta era OFF y la actual es ON, DIFU(13) pondrá a ON el bit designado. Si la condición de ejecución previa era ON y cualquiera que sea la actual, DIFU(13) pondrá el bit designado a OFF o lo dejará en OFF (si ya estaba en OFF). Por lo tanto, el bit designado nunca estará en ON durante más de un ciclo de scan, suponiendo que se ejecuta en cada scan.
Cuando se ejecuta, DIFD(14) compara su ejecución actual con la condición de ejecución previa. Si ésta era ON y la actual OFF, DIFD(14) pondrá a ON el bit designado. Si la condición de ejecución previa era OFF y cualquiera que sea la actual, DIFD(14) pondrá a OFF el bit designado o lo dejará en OFF.
SET (FUN (SET)) y RESET (FUN (RESET)).
SET pone el bit operando a ON cuando la condición de ejecución es ON y no afecta al estado del operando cuando la condición es OFF. RSET pone a OFF el bit operando cuando la condición de ejecución es ON y no afecta al estado del bit operando cuando la condición de ejecución es OFF.
Profesor: Enrique A. León Turrubiates 37 Figura 2.11. Activar-Desactivar
Los estados de los bits de operando para SET y RESET programadas entre IL(002) e ILC(003) o JMP(004) y JME(005) no cambiará cuando se cumpla la condición del enclavamiento o salto (es decir cuando IL(002) o JMP(004) se ejecute con una condición de ejecución OFF).
Las instrucciones SET RESET son muy parecidas a OUTPUT y OUTPUT NOT, excepto que solo cambian el estado de sus bits operandos para condiciones de ejecución ON. Ninguna instrucción afectará el estado de su bit operando cuando la condición de ejecución es OFF. SET pondrá en ON el bit especificado cuando la condición de ejecución sea ON, pero a diferencia de OUTPUT, SET no pondrá el bit a OFF, cuando la condición sea OFF. RESET pondrá en OFF el bit especificado cuando la condición de ejecución sea ON, pero a diferencia del OUTPUT NOT, RESET no pondrá el bit a ON cuando la condición sea OFF.
KEEP (FUN (11)). Báscula donde se da preferencia al RESET sobre el SET.
KEEP(11) se utiliza para mantener el estado del bit designado basado en dos condiciones de ejecución. Estas condiciones de ejecución se denominan S y R. S es la entrada de set; R, la entrada de reset. KEEP(11) opera de forma similar a un relé de enclavamiento que se pone a 1 con S y a 0 con R.
Cuando S se pone en ON, el bit designado se pondrá en ON permaneciendo en ON hasta el reset, independientemente de si S está en ON o pasa a OFF. La relación entre condiciones de ejecución y estado de bit de KEEP(11) se muestra a continuación:
Profesor: Enrique A. León Turrubiates 38 Figura 2.11. Mantenimiento del estado del bit.
IL (FUN (02)). Interlock. ILC (FUN (03)). Interlock clear.
IL(02) se utiliza siempre junto con ILC(03) para crear enclavamientos. Estas instrucciones se utilizan para realizar bifurcaciones similares a las obtenidas con bits TR, pero el tratamiento de las instrucciones entre IL(02) y ILC(03) difiere del tratamiento con bits TR cuando la condición de ejecución para IL(02) es OFF.
Si la condición de ejecución de IL(02) es ON, el programa se ejecutará como está escrito, con una condición de ejecución ON utilizada para iniciar cada línea de instrucción desde el punto en que se encuentra IL(02) hasta la siguiente ILC(03).
El problema de almacenar condiciones de ejecución en puntos de bifurcaciones, también se puede resolver utilizando estas instrucciones que eliminan los puntos de bifurcación completamente, cuando se coloca una instrucción INTERLOCK delante de una sección de un programa de relés, la condición de ejecución para la instrucción INTERLOCK, controlará la ejecución de todas las instrucciones hasta la siguiente instrucción INTERLOCK CLEAR. Dentro de un bloque de instrucciones, se pueden utilizar más de una instrucción de INTERLOCK y cada una es afectada por la instrucción INTERLOCK CLEAR.
Profesor: Enrique A. León Turrubiates 39 Figura 2.12. Interlock eléctrico.
JMP (FUN (04)) y JMP (FUN(05)). Saltos
JMP(04) se utiliza siempre junto con JME(05) para crear saltos, es decir para saltar de un punto a otro del diagrama de relés. JMP(04) define el punto desde el que se salta; JME(05) define el punto destino del salto. Cuando la condición de ejecución para JMP(04) es OFF, no se ejecuta ningún salto.
Cuando la condición de ejecución para JMP(04) es ON, se realiza un salto a la JME(05) con el mismo número de salto, no ejecutándose las instrucciones entre ambas JMP y JME y se ejecuta la instrucción que sigue a JME(05).
No cambiará el estado de temporizadores, contadores, bits utilizados en OUT, bits utilizados en OUT NOT y del resto de bits controlados por las instrucciones comprendidas entre JMP(04) y JMP(05). Cada uno de estos números de salto se puede utilizar para definir sólo un salto.
Dado que todas las instrucciones entre JMP(04) y JME(05) se saltan, los números de salto de 01 a 99 (de 01 a 49 en PLCs CPM1/CPM1A/SRM1) se pueden utilizar para reducir el tiempo de scan.
Salto número 00. Si el número de salto para JMP(04) es 00, la CPU buscará la siguiente
Profesor: Enrique A. León Turrubiates 40 provocando un tiempo de scan más largo (cuando la condición de ejecución es OFF) que para otros saltos.
No cambiará el estado de temporizadores, contadores, bits utilizados en OUT, bits utilizados en OUT NOT y del resto de bits controlados por las instrucciones comprendidas entre JMP(04) 00 y JMP(05) 00.
El número de salto 00 se puede utilizar tantas veces como se desee. Un salto de JMP(04) 00 irá siempre a la siguiente JME(05) 00 en el programa. Por lo tanto es posible utilizar JMP(04) 00 consecutivamente y concluir todas ellas en la misma JME(05) 00.
Figura 2.13. Saltos de escalones.