05 Bloques de Funciones II TRIM 2022 UTH Ing. Cesar Nunez

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 39

BLOQUES DE FUNCIONES

IEC-61131 II PERIODO 2022


Ing. César Augusto Núñez Aguilar

18/6/2022 Ing. César Augusto Núñez - UTH 1


ÍNDICE

• Objetivo 2do. Parcial


• Algunos aspectos generales
• Bloques Funcionales
• Bloques Estándar
• Bloques detectores de Flanco
• Bloques Temporizadores
• Bloques contadores

18/6/2022 Ing. César Augusto Núñez - UTH 2


OBJETIVO 2do. PARCIAL
Al finalizar el segundo parcial el alumno será capaz de programar
automatismos eléctricos utilizando bloques funcionales y organización
de programa, incorporando sistemas descentralizados utilizando redes
industriales.
Adicionalmente direccionar entradas y salidas analógicas.

EL RETO

18/6/2022 Ing. César Augusto Núñez - UTH 3


DIRECCIONAMIENTO FÍSICO Y SIMBÓLICO
Indicador Descripción
E1 Nombre simbólico
AT Asignación de una dirección física o lógica
% Indicación del lugar de almacenamiento (Entrada, salida o marcador)
IX0.0 Dirección física de la variable (se utiliza al inicio I para entrada, Q para salida,
QX2.0 M para marcadores, N para red, etc.).
:BOOL Tipo de dato
; Fin de la declaración

18/6/2022 Ing. César Augusto Núñez - UTH 4


Tipo de dato Descripción
NOT Invierte todos los bits del valor en AE.

INSTRUCCIONES DE IL - AWL ADD Suma <val> a AE

SUB Substrae <val> de AE

MUL Multiplica AE por AE

DIV Divide AE por <val>. Si <val> es igual a 0, se produce un error de tiempo de


ejecución y el programa se detiene.
Instrucción Descripción
GT Conmuta el AE a TRUE, si AE> es <val>, de lo contrario, se conmuta a FALSE.
Carga el valor <val> en el AE
LD
GE Conmuta el AE a TRUE, si AE >= es <val>, de lo contrario, se conmuta a FALSE.
Carga el valor negado de <val> en el AE
LDN
Almacena el valor del AE en <var> EQ Conmuta el AE a TRUE, si AE es = <val>, de lo contrario, se conmuta a FALSE.
ST
Almacena el valor negado del AE en <var>
STN NE Conmuta el AE a TRUE, si AE < > es <val>, de lo contrario, se conmuta a FALSE.

Almacena TRUE en <var>, si una evaluación del AE, por medio del
S LE Conmuta el AE a TRUE, si AE < = es <val>, de lo contrario, se conmuta a FALSE.
álgebra booleana, conduce a TRUE.

LT Conmuta el AE a TRUE, si AE < es <val>, de lo contrario, se conmuta a FALSE.


Almacena FALSE en <var>, si una evaluación del AE, por medio del
R
álgebra booleana, conduce a TRUE. Salta al <label> indicado.
JMP
JMPC Salta al <label> indicado. El salto sólo se realiza si el AE contiene el valor TRUE.
Ejecuta una operación lógica AND con AE y <val>.
AND
Ejecuta una operación lógica AND con AE y <val>. Antes de la JMPCN Salta al <label> indicado. El salto sólo se realiza si el AE contiene el valor FALSE.
ANDN
operación, se niega <val>.
CAL Llama al componente funcional <fb>.
Ejecuta una operación lógica OR con AE y <val>.
OR CALC Llama al componente funcional <fb>, si el AE contiene el valor TRUE.
Ejecuta una operación lógica OR con AE y <val>. Antes de la
ORN CALCN Llama al componente funcional <fb>, si el AE contiene el valor FALSE.
operación, se niega <val>. RET Ejecuta un salto de retroceso hacia una función o un componente funcional.

Ejecuta una operación lógica OR exclusiva con AE y <val>. Ejecuta un salto de retroceso desde una función o un componente funcional. El
XOR RETC
salto de retroceso sólo se realiza si el AE contiene el valor TRUE.
Ejecuta una operación lógica OR exclusiva con AE y <val>. Después
XORN RETCN Ejecuta un salto de retroceso desde una función o un componente funcional. El
de la operación, se niega <val>. salto de retroceso sólo se realiza si el AE contiene el valor FALSE.

18/6/2022 Ing. César Augusto Núñez - UTH 5


OPERADORES ST
Operador Función
() Prioridad para formación de expresiones

** Potenciación

NOT Negación bit a bit

- Inversión de signos

* Multiplicación

/ División

MOD Resto de división (MÓDULO)

+ Suma

- Resta

< Prueba, si menor

> Prueba, si mayor

<= Prueba, si menor o igual

>= Prueba, si mayor o igual

= Prueba de homogeneidad

<> Prueba de disparidad

AND & AND bit a bit

XOR OR exclusivo bit a bit

OR OR bit a bit

18/6/2022 Ing. César Augusto Núñez - UTH 6


BLOQUES RS (Prioridad de Reset)
(operaciones lógicas AND y OR)
• La implementación de un elemento de memoria de esta naturaleza se realiza por medio de los comandos Set y Reset.

• Con el comando de activación (Set), un operando binario adopta el valor "1".

• Este permanece en "1" hasta que se produzca su reposicionamiento (Reset).

• Por medio de un comando de reposición, el operando binario puede volver al nivel lógico "0".

• Este permanece en "0" hasta que se vuelva a producir su activación.

• Si S1 presenta el estado de señal "1", la entrada adopta el valor "1".

• Si S2 presenta el estado de señal "1", la entrada adopta el valor "0".

• Si ambas entradas tienen el estado de señal "1", se impone el comando de Reset puesto que éste viene a continuación del comando de Set. Este comportamiento se denomina

prioridad asignada a Reset.

18/6/2022 Ing. César Augusto Núñez - UTH 7


BLOQUES RS (Prioridad de Reset)
(operaciones lógicas AND y OR)

18/6/2022 Ing. César Augusto Núñez - UTH 8


BLOQUES SR (Prioridad de Set)
(operaciones lógicas OR y AND)
• La implementación de un elemento de memoria de esta naturaleza se realiza por medio de los comandos Set y Reset.

• Con el comando de activación (Set), un operando binario adopta el valor "1".

• Este permanece en "1" hasta que se produzca su reposicionamiento (Reset).

• Por medio de un comando de reposición, el operando binario puede volver al nivel lógico "0".

• Este permanece en "0" hasta que se vuelva a producir su activación.

• Si S1 presenta el estado de señal "1", la entrada adopta el valor "1".

• Si S2 presenta el estado de señal "1", la entrada adopta el valor "0".

• Si ambas entradas tienen el estado de señal "1", se impone el comando de Set puesto que éste viene a continuación del comando de Reset.

18/6/2022 Ing. César Augusto Núñez - UTH 9


BLOQUES SR (Prioridad de Set)
(operaciones lógicas OR y AND)

18/6/2022 Ing. César Augusto Núñez - UTH 10


BLOQUES FUNCIONALES ESTÁNDAR
• Existen bloques funcionales estándar "listos para operar" y que se
pueden implementar en un programa.
• La norma IEC 61131-3 define una cantidad de bloques funcionales
para todos los fabricantes.
• Los programas de PLC que sólo emplean bloques funcionales de la
norma IEC pueden, por tanto, funcionar en todos los controles
automáticos.
• La norma prevé los siguientes bloques:

18/6/2022 Ing. César Augusto Núñez - UTH 11


BLOQUES FUNCIONALES ESTÁNDAR
• La norma prevé los siguientes bloques:

Bloque funcional Declaración de variables


Bloque funcional Significado Explicación R_TRIG R_TRIG1: R_TRIG;
R_TRIG Rising Trigger Detección de flancos, flanco ascendente
F_TRIG F_TRIG1: F_TRIG;
F_TRIG Falling Trigger Detección de flancos, flanco descendente
TON TON1: TON;
TON Time ON Retardo de conexión
TOF Time OFF Retardo de desconexión TOF TOF1: TOF;
TP Time Pulse Pulso de tiempo TP TP1: TP;
CTU Counter UP Contador ascendente
CTU CTU1: CTU;
CTD Counter DOWN Contador descendente
CTD CTD1: CTD;
CTUD Counter UP/DOWN Contador ascendente y descendente
CTUD CTUD: CTUD;

18/6/2022 Ing. César Augusto Núñez - UTH 12


BLOQUES FUNCIONALES ESTÁNDAR
• Los fabricantes de PLCs pueden integrar bloques funcionales propios.
• El PLC del laboratorio Lucas Nülle dispone de un bloque CLOCK, adicionalmente a los bloques
funcionales normalizados.
• Para poder integrar un bloque funcional a un programa, éste debe encontrarse definido en la
parte de las declaraciones.
• El bloque se integra como una instancia y se lo invoca en el programa únicamente con el nombre
de instancia otorgado.
• El llamado de esta instancia puede realizarse varias veces con parámetros diferentes.
• En IL la transmisión de parámetros se realiza llamando al bloque funcional por medio del
comando "CAL" con la indicación del nombre de la instancia.

18/6/2022 Ing. César Augusto Núñez - UTH 13


BLOQUES FUNCIONALES ESTÁNDAR

18/6/2022 Ing. César Augusto Núñez - UTH 14


DETECCIÓN DE FLANCOS

Tipo Nombre Utilidad

Detección de R_TRIG Flanco ascendente


flancos
F_TRIG Flanco descendente

18/6/2022 Ing. César Augusto Núñez - UTH 15


R_TRIG (detección de flancos, ascendente)
El bloque funcional "R_TRIG" evalúa el estado del operando de entrada
"CLK". El cambio de estado de "0" en un ciclo de procesamiento a "1", se
reconoce durante el siguiente ciclo de procesamiento a través de la salida
"Q", en donde muestra el valor booleano "1". El estado "1" sólo se mantiene
en la salida durante un ciclo de procesamiento.

CLK Operando de entrada cuyo flanco ascendente se reconoce


Q Operando de salida; anuncia el flanco ascendente de "CLK"

Bloque funcional Operandos Programación

R_TRIG1(clk:=S1);
Q1:=R_TRIG1.Q;
Flanco ascendente

18/6/2022 Ing. César Augusto Núñez - UTH 16


F_TRIG (detección de flancos, descendente)
El bloque funcional "F_TRIG" evalúa el estado del operando de entrada
"CLK". El cambio de estado de "1" en un ciclo de procesamiento a "0", se
reconoce en el siguiente ciclo de procesamiento a través de la salida "Q", en
donde se muestra el valor booleano "1". El estado "1" sólo se mantiene en la
salida durante un ciclo de procesamiento.

CLK Operando de entrada cuyo flanco descendente se reconoce


Q Operando de salida; anuncia el flanco descendente de "CLK"

Bloque funcional Operandos Programación

F_TRIG1(clk:=S1);
Q1:=F_TRIG1.Q;
Flanco descendente

18/6/2022 Ing. César Augusto Núñez - UTH 17


Ejemplo de R_TRIG e F_TRIG

Con la activación de S1 se conecta una


lámpara piloto Puls_0_1. Con la desconexión
de S1 se conecta una lámpara piloto
Puls_1_0. Ambas lámparas piloto se vuelven
a desconectar con la activación de S2.

18/6/2022 Ing. César Augusto Núñez - UTH 18


BLOQUES TEMPORIZADORES
Tipo Nombre Utilidad
Temporizadores TON Retardo a la conexión
TOF Retardo a la desconexión
TP Pulso de tiempo

CLOCK Generación de señales de reloj

Los componentes temporizadores realizan funciones básicas en un


PLC. Sirven para la implementación de las secuencias temporales de
un control automático. Permiten, por ejemplo, realizar retardos de
conexión o de desconexión al igual que mediciones de tiempo, o
generar pulsos de determinada duración. La norma IEC ha definido
tres funciones básicas.

18/6/2022 Ing. César Augusto Núñez - UTH 19


BLOQUES TEMPORIZADORES

18/6/2022 Ing. César Augusto Núñez - UTH 20


BLOQUES TEMPORIZADORES

18/6/2022 Ing. César Augusto Núñez - UTH 21


TON (retardo de conexión)
El flanco ascendente del operando de entrada "IN" inicia la función temporizadora del
indicador de tiempo "TON" para la duración del valor temporal indicado por medio del
operando "PT". Durante el tiempo en transcurso, el operando de salida "Q" mantiene el
estado “0". Una vez transcurrido el tiempo iniciado, el estado lógico se conmuta a "1" y se
mantiene en él hasta que el operando "IN" cambie a "0".
IN Condición de inicio
PT Predeterminación del valor temporal
Q Estado binario del temporizador
ET Valor actual de tiempo
Bloque funcional Operandos Programación

TON1(IN:=S1, PT:=TIME1);
Q1:= TON1.Q;

TON (retardo de conexión)

18/6/2022 Ing. César Augusto Núñez - UTH 22


TON (retardo de conexión)

18/6/2022 Ing. César Augusto Núñez - UTH 23


TOF (retardo de desconexión)
El estado "1" del operando de entrada "IN" se transmite sin retardo al operando de
salida "Q". El flanco descendente de "IN" inicia la función temporizadora para la
duración del valor temporal indicado por medio del operando "PT". Una vez
transcurrido el tiempo, el operando "Q" se conmuta al estado "0".
IN Condición de inicio
PT Predeterminación del valor temporal
Q Estado binario del temporizador
ET Valor actual de tiempo
Bloque funcional Operandos Programación

TOF(IN:=S1, PT:=TIME1);
Q1:= TOF1.Q;

TOF (retardo de desconexión)

18/6/2022 Ing. César Augusto Núñez - UTH 24


TOF (retardo de desconexión)

18/6/2022 Ing. César Augusto Núñez - UTH 25


TP (pulso)
El flanco ascendente del operando de entrada "IN" inicia la función temporizadora
del indicador de tiempo "TP" para la duración del valor temporal indicado por
medio del operando "PT". Durante este tiempo, el operando de salida "Q"
mantiene el estado "1".
IN Condición de inicio
PT Predeterminación del valor temporal
Q Estado binario del temporizador
ET Valor actual de tiempo
Bloque funcional Operandos Programación

TP1(IN:=S1, PT:=TIME1);
Q1:= TOF1.Q;

TP (PULSO)

18/6/2022 Ing. César Augusto Núñez - UTH 26


TP (Pulso de Tiempo)

18/6/2022 Ing. César Augusto Núñez - UTH 27


Clock (generación de pulsos de reloj)
Suministra en la salida Q una señal de reloj simétrica con la duración de periodo
ajustada en la variable de entrada PT. La emisión se realiza apenas la entrada IN
tenga el valor "1".

IN Condición de inicio
PT Predeterminación del valor temporal
Q Estado binario del temporizador
ET Valor actual de tiempo
Bloque funcional Operandos Programación

clock1(IN:=S1,
PT:=TIME1);
Q1:= clock1.Q;

Clock (generación de pulsos de reloj)

18/6/2022 Ing. César Augusto Núñez - UTH 28


EJEMPLO DE TEMPORIZADORES

18/6/2022 Ing. César Augusto Núñez - UTH 29


CONTADORES
Tipo Nombre Utilidad
Contadores CTU Conteo ascendente
CTD Conteo descendente

CTUD Conteo ascendente y descendente

Los contadores son necesarios para detectar cantidades o


posiciones por medio de pulsos de flancos. En la norma IEC
61131-3 se definen tres tipos estándar:

18/6/2022 Ing. César Augusto Núñez - UTH 30


CTU (contador ascendente)
Contador ascendente. Eleva el valor del contador en un 1 ante un flanco
ascendente hasta que alcanza su valor máximo. El contador siempre
empieza por “0” y se puede reposicionar. La salida Q adopta el estado lógico
"1" cuando se alcanza el valor ajustado en la entrada PV.
CU Pulso de conteo, flanco ascendente
R Condición de Reset
PV Límite de conteo
Q Aviso
CV Estado del contador

Bloque funcional Operandos Programación ST


CONTEO:= 6;
CTU1(CU:=S1,R:=S3,PV:=CONTEO);
Contador Ascendente
Q1:=CTU1.Q;

18/6/2022 Ing. César Augusto Núñez - UTH 31


CTU (contador ascendente)

18/6/2022 Ing. César Augusto Núñez - UTH 32


CTD (contador descendente)
Contador descendente. Disminuye el valor del contador en 1 ante un flanco
ascendente hasta que alcanza el valor de 0. Con el valor "1" del operando
"Load", en el contador se adopta como valor inicial el valor dado
previamente por el operando "PV". La salida Q adopta el estado lógico "1"
cuando se llega al valor de conteo "0".
CD Pulso de conteo, flanco ascendente
LOAD Condición de Set
PV Valor inicial
Q Aviso
CV Estado del contador
Bloque funcional Operandos Programación ST
CONTEO:= 6;
CTD1(CD:=S1,LD:=S3,PV:=CONTEO);
Contador Descendente
Q1:=CTU1.Q;

18/6/2022 Ing. César Augusto Núñez - UTH 33


CTD (contador descendente)

18/6/2022 Ing. César Augusto Núñez - UTH 34


CTUD (contador ascendente - descendente)
CU Pulso de conteo ascendente, flanco ascendente
Contador ascendente - descendente. Aumenta o disminuye en CD Pulso de conteo descendente, flanco ascendente
1 el valor del contador con un flanco ascendente en CU o CD R Condición de Reset
hasta que llegue a su valor máximo o a 0. El contador siempre LOAD Condición de Set
empieza por 0 y se puede reposicionar. Con el valor "1" del PV Valor de carga
operando "Load", en el contador descendente se adopta como QU Aviso: Estado del contador mayor o igual a PV
valor inicial el valor dado previamente por el operando "PV". QD Aviso: Valor del contador menor o igual a 0
CV Estado del contador

Bloque funcional Operandos Programación ST


CONTEO:=6;
CTUD1(CU:=S1,CD:=S2,R:=S3,LD:=S4,
Contador Ascendente ‘
PV:=CONTEO);
Descendente
Q1:=CTUD1.QU;
Q2:=CTUD1.QD;

18/6/2022 Ing. César Augusto Núñez - UTH 35


CTUD (contador ascendente - descendente)

18/6/2022 Ing. César Augusto Núñez - UTH 36


EJEMPLO DE CONTADORES
Por medio de S1 se conecta una frecuencia de reloj de 500ms.
Se cuentan los pulsos de reloj y cuando se llega al quinto pulso
la lámpara piloto H2 se ilumina.

18/6/2022 Ing. César Augusto Núñez - UTH 37


RESUMEN
• La norma IEC 61131-3 incluye bloques funcionales estándar.
• Por medio de los detectores de flanco se puede, por ejemplo, reconocer los flancos positivos y
los negativos.
• Por medio de temporizadores se pueden programar funciones controladas por tiempo como, por
ejemplo, generación de pulsos al igual que retardos de conexión y de desconexión.
• Por medio de contadores ascendentes y descendentes se pueden emplear, por ejemplo, para
mediciones de frecuencia. Los contadores trabajan controlados por flancos.
• Un programa PLC dependiente del hardware sólo puede emplear bloques funcionales indicados
por la norma IEC.

18/6/2022 Ing. César Augusto Núñez - UTH 38


FIN
• MUCHAS GRACIAS

18/6/2022 Ing. César Augusto Núñez - UTH 39

También podría gustarte