Post on 05-Jul-2018
8/16/2019 Clase 2 - Lenguaje LD
1/12
8/16/2019 Clase 2 - Lenguaje LD
2/12
Programas LD del ejemplo 1
PLC
I1
O1
I2
Relé 1
A1 A2Relé 1
M
I1
I2
O1
Encendido por I1 OR I2
I1 I2 O1
Encendido por I1 AND I2
Orígenes históricosPrograma LD del ejemplo 2
Relé 2
Motor
PLC
NC NA
I1
O1
I2
Relé 2
I2
I1
O1
O1
S
R
Orígenes históricos
Estructura programa LDLenguaje gráfico
Programa consiste en una secuencia de escalones (rungs)
Comienza en una barra de alimentación izquierda ( positivo de la fuente)1
Estructura de cada escalón:
Condiciones y acciones, conectadas por líneas de conexión2
Termina en una barr a de alimentación derecha (negat ivo de la fuente)3
Los escalones se ejecutan de arriba hacia abajo
Cada escalón se ejecuta de izquierda a derecha
I1 I2 O1
Diferencias entre fabricantes
Diferencias entre fabricantes: implementación ynomenclatura de las instrucciones
Este curso usa la nomenclatura de los PLCs dellaboratorio:
En algunos aspectos estándar
Fácilmente comprensible
8/16/2019 Clase 2 - Lenguaje LD
3/12
Símbolos básicos
O1Bobina (salida)
I1Contacto (entrada)
Cada símbolo tiene asociado un bit de memoria
Un bit de memoria se refiere por:
Su dirección
Su etiqueta (label)
Operaciones Básicas
I1
I2
O1
AND (conexión serie):
OR (conexión paralelo):
I1 I2 O1
(O1 = 1) si (I1 = 1) y (I2 = 1)
(O1 = 1) si (I1 = 1) o (I2 = 1)
Instrucciones con BITsContacto directo Contacto invertido
Bobina directa Bobina invertida
Contacto normalmente abierto
Verdadero si bit vale 1
Función inversa de bobina directa Análoga a la bobina de un relé
Si el escalón es 1, escribe 1 en bit asociado
Si el escalón es 0, escribe 0 en bit asociado
Contacto normalmente cerrado
Verdadero si bit vale 0
SET (o LATCH) RESET (UNLATCH)
Instrucción de salida retentiva
Si el escalón es 1, escribe 1 en bit asociado
Si el escalón es 0, no hac e nada
S
Se usa en conjunto con el SET
R
Si el escalón es 1, escribe 0 en bit asociado
Si el escalón es 0, no hac e nada
Instrucciones con BITsEjemplo: BOBINA vs. SET/RESETContador de pulsos con rebotes
Solución con bobina I1 AUX
Siguen instrucciones para contar pulsos
I1
AUX
Solución con SET I1 AUX
Siguen instrucciones par a contar pulsos y realizar RESET luego defiltrado
SI1
AUX
8/16/2019 Clase 2 - Lenguaje LD
4/12
Bloques funcionalesn Las instrucciones de aquí en adelante
se representan gráficamente comobloques funcionales
n Bloque funcional: objeto gráfico que serepresenta por un rectángulo, conpuntos de conexión de entradas,conexión de salidas y un identificador
Bloques funcionalesn El identificador describe función del bloquen Ejemplo: bloque funcional que implementa la
función FUN, con dos entradas y dos salidas
n Las entradas y salidas son datos. El tipo dedato de cada una depende del bloque.
Contadoresn Existen tres tipos:
n UP - Counters: CTUn DOWN – Counters: CTDn UP-DOWN Counters: CTUD
n Rango de cuenta: depende de fabricante. EnPLCs de laboratorio:
n CTU cuenta desde 0 a 32767n CTUD cuenta desde 0 a 32767
Contadoresn Entrada CU (bit): “Pulso”, se conecta al tren
de pulsos que se cuentann Entrada RESET (bit): escribe 0 en acumuladorn Entrada PV (Word): límite máximo de cuenta
(Preset Value)n Salida Q (bit): “Done”, indica si acumulador
>= PVn CV (Word) = cuenta, acumulador (Current
Value)
8/16/2019 Clase 2 - Lenguaje LD
5/12
Contadores: Ejemplo Contadores: Ejemplon Observación: el contador se incrementa a
intervalos de tiempo variables (dependen delpulso I1)
n Timer: instrucción destinada a esperar ciertotiempo antes de una acción
n Tres tipos de timers:n TON: Timer On Delay (retardo en el encendido):
luego que la entrada pasa a 1 durante X seg, lasalida pasa a 1.
n TOF: Timer Off Delay (retardo en el apagado): luegoque la entrada pasa 0 durante X seg, la salida pasa a0.
n Timers retentivos: no existen en los PLCs de lab.Cuenta el tiempo que la entrada es 1, congelando lacuenta con cambios de 1 a 0.
Timers Timers: TONn Timer On Delay TON:
n Entrada IN (bit): “Habilitación”, se conecta al pulsoque el timer retarda
n Entrada PT (time): “Preset”, determina valor delacumulador para el que se ejecuta acción del timer
n Salida Q (bit): “Done”, indica la expiración del tiempode retardo
n Salida ET (time): “Elapsed Time”, la cuenta deltiempo transcurrido
8/16/2019 Clase 2 - Lenguaje LD
6/12
Timers: Ejemplo TON Timers: Ejemplo Retentivo
Timers: TPn Timer de Pulso TP:
n Entrada IN (bit): entrada que genera el pulso cuandopasa a 1
n Entrada PT (time): “Preset”, duración del pulso desalida
n Salida Q (bit): se mantiene en 1 durante el tiempo PTluego de 1 en la entrada
n Salida ET (time): “Elapsed Time”, la cuenta deltiempo transcurrido
Timers: Ejemplo TP
8/16/2019 Clase 2 - Lenguaje LD
7/12
n La cuenta del timer es independiente dela ejecución del programa (a cargo delsistema operativo)
n La cuenta del contador SI depende dela ejecución del programa
Timersn Precisión
n Demora en la entrada: 1 tiempo de ciclon Demora en ejecución del timer: 1 tiempo
de ejecución (máx 1 ciclo)n Demora en la salida: 1 tiempo de ciclon Total: 3 tiempos de ciclon Ejemplo: tiempo de ciclo de 5 mseg lleva a
error de 15 mseg
n Retardos en filtrado y en la electrónica
Timers
Triggers: R_TRIGn Trigger Ascendente (Rising):
n Detección de flanco ascendenten Entrada CLK (bit): activa la salida cuando pasa a 1
(flanco)n Salida Q (bit): se mantiene en 1 durante 1 ciclo de
ejecución ante flanco en CLK, luego pasa a 0
Triggers: F_TRIGn Trigger Ascendente (Falling):
n Detección de flanco descendenten Entrada CLK (bit): activa la salida cuando pasa a 0
(flanco)n Salida Q (bit): se mantiene en 1 durante 1 ciclo de
ejecución ante flanco en CLK, luego pasa a 0
8/16/2019 Clase 2 - Lenguaje LD
8/12
Shift Registersn Instrucción que almacena eventos en área de
memoria por desplazamiento o rotación de losbits individuales
n En el PLC del laboratorio, se denomina “SH_L” o “SH_R”
Shift Registersn Entradas de instrucción SHIFT:
n E (W o DW): operando (almacena los eventos)n D/W (bit): tipo de dato En ANZ (W): número de posiciones del movimienton LKS (bit): direcciónn ROT (bit): operación es rotaciónn ROTC (bit): operación es rotación con CY_En SLOG (bit): operación es desplazamienton SARI (bit): operación es desplazamiento aritméticon CY_E (bit): valor inicial de carry flag
n Salidas de instrucción SHIFT:n Salida CY_A (bit): valor final de carry flagn Salida A (W o DW): resultado de la operación
Shift Registersn Operaciones ROT/ROTC de SHIFT:
Shift Registersn Operación SLOG de SHIFT:
8/16/2019 Clase 2 - Lenguaje LD
9/12
n JSR (Jump to subroutine)n En PLC de laboratorio, salto condicional a
valor TRUE de un bit, definido por:n Jump symbol: símbolo asociado a instrucción
JUMPn Bit que define el salton Jump label: posición donde salta (siempre hacia
adelante)
Control de Flujon Esquema instrucción JUMP PLC lab:
Control de flujo
Símbolo
Instrucción salteada
Label
Bit que habilita el salto
Otras Instruccionesn Existen muchas instrucciones en forma
de bloques funcionales (varias seestudian en otras partes del curso)
n Desde el punto de vista del programaLADDER se clasifican en:
n Instrucciones de entrada: evalúan si elescalón es verdadero o falso
n Instrucciones de salida: se ejecutan segúnresultado del escalón
Otras Instruccionesn Ejemplos de instrucciones de entrada:
n Instrucciones de comparación: Igual (EQ),Mayor (GT), etc. Salida verdadera o falsoen función de comparación de entradas(tipo Bool, Word, etc.)
8/16/2019 Clase 2 - Lenguaje LD
10/12
Otras Instruccionesn Ejemplos de instrucciones de salida:
n Operaciones aritméticas o lógicas: ADD, AND, MUL, etc. Entradas y salida tipoWord, Real, etc.
n Operaciones de movimiento de memoria:permiten copiar áreas de memoria
n Funciones de control PIDn Funciones de comunicaciones: permiten
intercambio de mensajes entre PLCs
EjemploSe desea escribir un programa que controle el encendido -
apagado de una bomba.La bomba será encendida si:1) Se pulsa el botón de arranque.2) La protección térmica está deshabilitada.3) Está abierto el botón de alarma.4) Está abierto el botón de parada.Desde un tiempo T después del encendido, no puede haber ni
sobre corriente ni baja corriente. Expresado de otra forma,desde un tiempo T después del arranque, la corriente Idebe cumplir I MIN< I < I MAX, siendo I MIN e I MAXlímites
prefijados.
Ejemplo
El motor de la bomba se apagará si:
1) Se pulsa el botón de parada.
2) Se cierra la protección térmica.
3) Se pulsa el botón de alarma.4) Los límites de corriente no son los correctos.
Conexiones al PLC
8/16/2019 Clase 2 - Lenguaje LD
11/12
8/16/2019 Clase 2 - Lenguaje LD
12/12
Diagrama de Estados en LDn Método para convertir un diagrama de
estados al lenguaje LD
ARRANQUEX_ APAGADO PARADA TERMICO AL ARMA
S
R
X_APAGADO
X_TRANSITORIO
S
X_TRANSITORIO
S
R
X_TRANSITORIO
X_ENCENDIDO
S
SALIDA_TIMER
X_TRANSITORIO
S
R
X_ENCENDIDO
X_APAGADO
S
PARADA
TERMICO
ALARMA
X_ENCENDIDO
S
R
X_ENCENDIDO
X_APAGADO
S
PARADA
TERMICO
ALARMA
ERROR
1
2
3
4
Transiciones
Ejemplo Apagado
Apaga bomba
Transitorio
Enciende bombaEnciende timer
Encendido
ERROR = (CORRIENTE > MAX) OR (CORRIENTE < MIN)
SALIDA_TIMER = 1
2
ARRANQUE and(NO PARADA) an d(NO ALARMA) and
(NO TERMICO)
1
PARADA or ALARMA or
TERMICO
3
ERROR or PARADA or
ALARMA or TERMICO
4
R
X _A PA GA DO B OMB A_ ON
S
X_TRANSITORIO BOMBA_ON Acciones
Ventajas / Desventajasn Método sistemáticon Minimiza/elimina errores posterioresn LD disponible en todos los PLCsn Poco intuitivo, difícil de comprender sin
el diagrama de estados asociadon Cambios requieren estudio del diagrama
previamente