Beruflich Dokumente
Kultur Dokumente
PLC
INTRODUCCIN
Ventajas:
La ampliacin de capacidad de
los PLCs en los 70 se sustenta
en:
Evolucin de microprocesadores
y microcontroladores
Conversores anlogo-digitales
Dentro de un PLC
Dentro de un PLC
Dentro de un PLC
Dentro de un PLC
Dentro de un PLC
Dentro de un PLC
Dentro de un PLC
Dentro de un PLC
Dentro de un PLC
Dentro de un PLC
Tiempo de ciclo
Modo de funcionamiento del PLC en red de
comunicaciones
Dentro de un PLC
Dentro de un PLC
- Memoria no accesible
- Memoria de programa de usuario y
configuracin
- Memoria accesible
TIPOS DE DATOS
Memoria accesible:
- Memoria E/S
- Memoria Lectura/Escritura
Estructura de la memoria:
Variables y constantes
Direccin:
[Cdigo letras] [Cdigo nmeros]
- Entrada
- Salida
- Datos internos (memoria
Lectura/Escritura)
Segunda letra:
-
X: bit
B: byte (8 bits)
W: word (16 bits)
D: double word (32 bits)
L: long word (64 bits)
Direcciones de palabras
- Internos: M XX.YY
- Entradas: I XX.YY
- Salidas: O XX.YY
Mapeo de extensiones y
unidades remotas en memoria
Internas: MW XX.YY
Entradas Conversores A/D: IW XX.YY
Salidas Conversores D/A: OW XX.YY
Constantes (LAB): KW XX.YY
- Internas: MD XX.YY
- Constantes (LAB): KD XX.YY
Mapeo de extensiones y
unidades remotas en memoria
PLC
de
LADDER
Porqu LADDER?
Porqu LADDER?
Orgenes histricos
Ejemplo 1 lgica de rels: A1 o A2
encienden el motor M
Porqu LADDER?
Con PLC:
Porqu LADDER?
Porqu LADDER?
Con PLC:
Porqu LADDER?
Objetivos
Aumentar la confiabilidad
Aumentar la flexibilidad
Mantener la facilidad de soporte:
lenguaje de programacin fcilmente
entendido por electricistas de planta
Porqu LADDER?
Porqu LADDER?
Programas LD ejemplo 1:
Estructura programa LD
Estructura programa LD
Lenguaje grfico
Programa consiste en una secuencia de
escalones (en ingls, rungs)
Estructura de escaln:
Programa LD ejemplo 2:
Smbolos bsicos
Contacto (entrada):
Bobina (salida):
Operaciones Bsicas
AND
(Conexin
serie)
O1 = 1
si
(I1 = 1) y (I2 = 1)
OR
(Conexin
Paralelo)
O1 = 1
si
(I1 = 1) o (I2 = 1)
Contacto directo:
Contacto invertido:
Bobina directa:
SET (o LATCH):
RESET (o UNLATCH):
Bobina invertida:
10
Bloques funcionales
Contadores
Bloques funcionales
Contadores: Ejemplo
Contadores
Contadores: Ejemplo
11
Timers
Timers
Timers
Timers
Precisin
Retardos en el filtrado y en la
electrnica
12
Shift Registers
Shift Registers
Shift Registers
Shift Registers
Shift Registers
Control de flujo
JSR
GOTO
En PLC de laboratorio, salto condicional al
valor TRUE de un bit, definido por:
13
Control de flujo
Otras Instrucciones
Otras Instrucciones
Otras Instrucciones
Ejemplo
Se desea escribir un programa que controle el encendido apagado de una bomba.
La bomba ser encendida si:
1) Se pulsa el botn de arranque.
2) La proteccin trmica est deshabilitada.
3) Est abierto el botn de emergencia.
4) Est abierto el botn de parada.
Desde un tiempo T despus del encendido, no puede haber ni
sobre corriente ni baja corriente. Expresado de otra forma,
desde un tiempo T despus del arranque, la corriente I
debe cumplir IMIN < I < IMAX, siendo IMIN e IMAX lmites
prefijados.
Ejemplo
El motor de la bomba se apagar si:
1) Se pulsa el botn de parada.
2) Se cierra la proteccin trmica.
3) Se pulsa el botn de emergencia.
4) Los lmites de corriente no son los correctos.
14
Conexiones al PLC
Ejemplo
ALARMA
Transiciones
X_TRANSITORIO
S
S
X_APAGADO
Ejemplo
X_TRANSITORIO
SALIDA_TIMER
X_ENCENDIDO
S
S
X_TRANSITORIO
PARADA
Apagado
X_TRANSITORIO
Apaga bomba
S
S
ALARMA
ARRANQUE and
(NO PARADA) and
(NO ALARMA) and
(NO TERMICO)
PARADA or
ALARMA or
TERMICO
X_ENCENDIDO
R
PARADA
X_ENCENDIDO
TERMICO
Enciende bomba
Enciende timer
ALARMA
Transitorio
PLC
X_APAGADO
TERMICO
EL AC31GRAF
X_APAGADO
S
S
X_ENCENDIDO
R
ERROR
SALIDA_TIMER = 1
Encendido
ERROR or
PARADA or
ALARMA or
TERMICO
X_APAGADO
BOMBA_ON
X_TRANSITORIO
BOMBA_ON
Acciones
Introduccin
Introduccin
Permite:
- Desarrollar programas para el PLC
- Comunicacin con PLC
Comunicacin:
- Cargar configuracin en el PLC
- Cargar programas
en el PLC
- Determinar variables y estado del
PLC
15
La unidad de programacin
La unidad de programacin es el
proyecto.
Un proyecto consta de uno o ms
mdulos.
Un mdulo puede ser: programa,
subrutina o interrupcin.
El Project Manager
La unidad de programacin
Desde Program
proyecto.
Permite:
-
- Ms de un mdulo (modular)
- Un nico mdulo (main)
Management
del
Establecer configuracin
Transferir configuracin de defecto
Transferir ejecutable del proyecto
Operaciones de control sobre PLC
Transferencia de mensajes de error
16
Editores de programas
Editores de programas
Editores de programas
Editor
Editor
Editor
Editor
FBD/LD
IL
Quick LD
SFC
Editores de programas
El Editor LD/FBD:
-
17
El bloque funcional
PLC
LENGUAJE FBD
Figura 1-2
Ejemplo
Grupos de instrucciones
18
Grupos de instrucciones
Grupos de instrucciones
Clasificacin:
Funciones binarias:
- Entradas salidas de tipo binario
- Ejemplos: AND, OR, XOR,
Funciones binarias.
Funciones de timer.
Contadores.
Funciones de palabras simples y dobles: comparacin,
aritmticas, lgicas.
- Funciones de control de programa.
- Funciones de control.
- Funciones de comunicacin.
- Funciones de conversin de formato (pack, unpack).
- Funciones de alto nivel (multiplexor).
- Funciones de acceso a memoria.
Grupos de instrucciones
Grupos de instrucciones
=S (LATCH), =R (UNLATCH)
entradas de ciertos bloques
divisin.
- Funciones lgicas de palabras: en general el
resultado es una palabra. Ejemplos:
* WAND, WOR, WXOR ejecutan AND, OR
XOR bit a bit de las palabras de entrada.
* Shift, Rotate.
Grupos de instrucciones
Grupos de instrucciones
Funciones de control.
- Incluyen control PI, PID, etc.
KP w x
KP
+ Y ( Z 1) +
( w x)
100 TN / T
100
F ( s ) = KP1 +
s * TN
19
Grupos de instrucciones
Grupos de instrucciones
Funciones de comunicaciones
La puerta serie del PLC se puede utilizar de
dos maneras:
- Mensajes con un PC (RS232 ASCII)
- Ambientes industriales (protocolo Modbus)
Grupos de instrucciones
Grupos de instrucciones
LD o FBD
PLC
LENGUAJE IL
20
Estructura de programa en IL
Estructura de programa en IL
1) Un operador,
2) Opcionalmente modificadores
3) Uno o ms operandos, separados por
,
Ejemplos de instrucciones IL
Operador
Operando
Comentario
Inicio:
LD
ANDN
BOTON
%I62.02
ST
INIC_MOTOR
(*BOTON ->A"*)
(*!%I62.02 AND *)
(*A -> A*)
(*A ->
(* INIC_MOTOR*)
Label
Modificadores de operadores
CAL ESV(DISPARO,TIEMPO_DELAY,SALIDA)
21
Introduccin
PLC
SFC
Introduccin
Reglas:
Ejemplo
22
Ejemplo
Ejemplo
Apagado:
-
Ejemplo: Nivel 1
Ejemplo
Elementos nuevos:
- Divergencia simple
- Salto
Ejemplo
Ejemplo
PASO 2 (*ARRANQUE*):
DISPARO_TIMER;
BOMBA_ON(S);
TRANSICIN 2 (*ESPERO*):
TRANSICIN 1:
23
Ejemplo
TRANSICIN 4: (*CONDICIN DE
PARADA PRECIPITADA*)
Ejemplo
Ejemplo
TRANSICIN 3 (*CONDICIN DE
PARADA):
Componentes SFC
Representacin:
Componentes bsicos:
-
El Paso
PASO 3 (*ENCENDIDO*):
ACTION (N) :
LD
CORRIENTE
GE
CORRIENTE_MAX
ST
ERROR
LD
CORRIENTE_MIN
GE
CORRIENTE
ST
ERROR_MIN
LD
ERROR_MIN
OR ERROR
ST ERROR
(*ERROR = (CORRIENTE > CORRIENTE_MAX) OR
(CORRIENTE < CORRIENTE_MIN) *)
END_ACTION;
pasos
pasos iniciales
transiciones
saltos a pasos
El Paso
24
El Paso
El Paso Inicial
La transicin
Representacin:
25
La transicin
La transicin
La transicin
Salto
Representacin:
Convergencias/Divergencias
Simples
Divergencias y convergencias
26
Convergencias/Divergencias
Dobles
PLC
HERRAMIENTAS
DE DIAGNSTICO
Introduccin
Introduccin
Clasificacin de errores
PLC
COMUNICACIONES
27
Introduccin
Opciones de transmisin de
seales:
Introduccin
Introduccin
Introduccin
Introduccin
Estados:
Introduccin
28
Introduccin
Desventaja de comunicaciones
digitales: no hay estndar.
Existen muchos protocolos:
Modbus, Profibus, Interbus, Bitbus,
etc.
Introduccin
Introduccin
El protocolo ms extendido:
Modbus.
Los protocolos de comunicaciones
digitales que involucran PLCs son
maestro-esclavo.
Introduccin
Redes Fsicas
Redes Fsicas
29
Redes Fsicas
Protocolo MODBUS
RS 485 y 422:
Protocolo MODBUS
Protocolo MODBUS
Funciones:
-
Protocolo MODBUS
Protocolo MODBUS
30
Protocolo MODBUS
Protocolo MODBUS
Protocolo MODBUS
Protocolo MODBUS
INTRODUCCIN A
TCP/IP
31
Protocolo de aplicacin
Protocolo de aplicacin
Ejemplo de comunicacin:
CLIENTE
SERVIDOR
WRITE_DATA
RCPT_READY
DATA
END_TRANSFER
Ejemplo Ethernet:
32
- medio de difusin
- colisiones; deteccin y retransmisin
- cada nodo se identifica de forma nica
- Programa servidor
- Bloques funcionales asociados a
cliente de protocolo de aplicacin
- Bloques funcionales asociados a
protocolo Ethernet
Bloques Ethernet:
(utilizado por servidor para
escuchar la red)
Implementacin de protocolo de
aplicacin sobre LAN:
Bloques Ethernet:
33
WRITE
LAN_ADDR
LOCAL_BUFFER
BUFFER_SIZE
REMOTE_BUFFER
READY
CLIENTE
SERVIDOR
WRITE_DATA
RCPT_READY
DATA
END_TRANSFER
WRITE_DATA
SERVIDOR
ENABLE
LAN_ADDR
WRITE
CLIENTE
RCPT_READY
SERVIDOR
LOCAL_BUFFER
=S
TR_WRITEDATA
READY
TR_WRITEDATA
REMOTE_BUFFER
Cdigo:
TR_WRITEDATA_END
RCV_RCPTDATA
LAN_TR
LAN_ADDR
=S
TR_WRITEDATA_END
LAN_RCV
%1
=R
TR_WRITEDATA
CLIENTE
SERVIDOR
DATA
ENABLE
LAN_ADDR
RCPTDATA_END
=R
RCPTDATA_END
CLIENTE
SERVIDOR
DATA
REMOTE_BUFFER
TEMP_BUFFER
BUFFER_SIZE
TEMP_BUFFER+1
LAN_ADDR
TEMP_BUFFER+2
TEMP_BUFFER
COPY
LAN_ADDR
WRITE
BUFFER_SIZE
READY
MENS_DATA
REMOTE_BUFFER
ENABLE
LOCAL_BUFFER
BUFFER_SIZE
Cdigo:
RCV_RCPTDATA
LOCAL_BUFFER
LOCAL_BUFFER
RCV_RCPTDATA
TEMP_BUFFER
TR_WRITEDATA_END
%1 = BUFFERSIZE
BUFFER_SIZE
READY
LAN_ADDR
ADDR_WRITEDATA
1)
WRITE
BUFFER_SIZE
REMOTE_BUFFER
ENABLE
LAN_ADDR
LOCAL_BUFFER
BUFFER_SIZE
Cdigo:
ENABLE
TR_DATA
=S
READY
TR_DATA
LAN_TR
BUFFER_SIZE+3
TR_DATA_END
REMOTE_BUFFER
TR_DATA_END
=R
TR_DATA
TEMP_BUFFER+3
34
00
01
PROGRAMA SERVIDOR
BUFR_ADR
0001
LAN_TR
LAN_LISTEN
0001
BUFR_ADR
Encabezado
Cola Ethernet
Ethernet
00
01
BUFR_ADR
Red ms complicada: IP
Capa de aplicacin
Capa Ethernet
Capa fsica
Interfaz Aplicacin-Ethernet: LAN_TR,
LAN_RCV, LAN_LISTEN
35
Red ms complicada: IP
Red ms complicada: IP
Red ms complicada: IP
Red ms complicada: IP
Red ms complicada: IP
Red ms complicada: IP
Bloque RCV_IP
36
Red ms complicada: IP
Red ms complicada: IP
Bloque TR_IP
Red ms complicada: IP
Bloque LISTEN_IP
WRITE
IP_ADDR
LOCAL_BUFFER
BUFFER_SIZE
REMOTE_BUFFER
READY
CLIENTE
SERVIDOR
WRITE_DATA
RCPT_READY
DATA
END_TRANSFER
WRITE_DATA
SERVIDOR
ENABLE
IP_ADDR
WRITE
CLIENTE
RCPT_READY
SERVIDOR
LOCAL_BUFFER
REMOTE_BUFFER
ENABLE
TR_WRITEDATA
=S
TR_WRITEDATA
REMOTE_BUFFER
Cdigo:
TR_WRITEDATA_END
=S
READY
RCV_RCPTDATA
RCV_IP
IP_ADDR
ADDR_WRITEDATA
TEMP_BUFFER
%1 = BUFFERSIZE
TR_WRITEDATA_END
WRITE
BUFFER_SIZE
READY
RCV_RCPTDATA
TR_IP
IP_ADDR
IP_ADDR
LOCAL_BUFFER
BUFFER_SIZE
Cdigo:
ENABLE
=R
TR_WRITEDATA_END
%1
TR_WRITEDATA
RCPTDATA_END
RCPTDATA_END
=R
RCV_RCPTDATA
37
Bloque TR_IP
Ruteo IP
Ruteo IP
Red ms complicada: IP
PLC1
PC2
PLCA
WRITE_DATA = 01
CLIENTE
SERVIDOR
01
TR IP(IP_PLCA,01)
LISTEN_IP
IP_PLCA IP_PLC1 01
SI DEST PLCA
TR A PLCA
IP_PLCA IP_PLC1 01
SI DEST PLCA
TR A PC2
IP_PLCA IP_PLC1 01
LAN_TR(PC2)
LAN_LISTEN
TX_232
LAN
Red ms complicada: IP
Estructura de capas:
RX_232
ENLACE SERIE
Red ms complicada: IP
CAPA DE APLICACIN
PC1
CAPA IP
APL
PC2
APL
IP
IP
IP
ENL
ENL
ENL
CAPA FSICA
38
Fragmentacin
Fragmentacin
Fragmentacin
La fragmentacin requiere de
cambios en la implementacin del
Daemon de ruteo IP: buffer para
almacenar fragmentos intermedios
en tanto no se haya completado
mensaje
HUB
M3
PC1
M21
M22
A
PC2
M1
M21
M3
M21
E1 D1
IP
E2 D2
ENL
PAQ IP
E1 D1
E2 D2
ENL
PAQ IP
IP
M22
Congestin!
39
CLIENTE
SERVIDOR
M1
M2
ACK1
M3
Timeout ACK2!!!
M2
M3->buffer
ACK3
M4
Distincin aplicaciones en CL
Distincin aplicaciones en CL
Distincin aplicaciones en CL
Ejemplo:
CLIENTE A
Inicio Ch a N2
P1
CLIENTE B
P2
SERVIDOR
Inicio Ch a N2
TCP NODO 1
Solicitud de reserva
LISTEN
TCP NODO 2
RED
40
CAPA DE APLICACIN
CAPA TCP
CAPA IP
41
Modificaciones en servidor:
- Sustituye LISTEN_IP por LISTEN_TCP
- Sustituye RCV_IP por RCV_TCP
- Sustituye TR_IP por TR_TCP
CONNECT y LISTEN_TCP:
TR_TCP y RCV_TCP:
ENABLE
TR_TCP
REMOTE_PORT
IP_ADDR
LOCAL_PORT
BUFFER_ADDR
READY
BUFFER_SIZE
ENABLE
RCV_TCP
REMOTE_PORT
IP_ADDR
BUFFER_OW
LOCAL_PORT
BUFFER_ADDR
NUM_DATA
BUFFER_SIZE
READY
WRITE
IP_ADDR
LOCAL_BUFFER
BUFFER_SIZE
BUFFER_SIZE
REMOTE_BUFFER
WRITE
LOCAL_BUFFER
READY
CLIENTE
SERVIDOR
WRITE_DATA
ENABLE
INIT_CONNECTION
RCPT_READY
DATA
=S
INIT_CONNECTION
LOCAL_PORT
CONNECT_END
IP_ADDR
CONNECT_END
READY
CONNECT
REMOTE_PORT
END_TRANSFER
REMOTE_BUFFER
=R
INIT_CONNECTION
42
WRITE_DATA
SERVIDOR
ENABLE
IP_ADDR
WRITE
CLIENTE
RCPT_READY
SERVIDOR
CONNECT_END
=S
READY
REMOTE_BUFFER
Cdigo:
TR_WRITEDATA_END
TR_WRITEDATA
RCV_RCPTDATA
TR_WRITEDATA
WRITE
BUFFER_SIZE
BUFFER_SIZE
REMOTE_BUFFER
IP_ADDR
LOCAL_BUFFER
LOCAL_BUFFER
Cdigo:
ENABLE
TR_TCP
=S
READY
RCV_RCPTDATA
RCV_TCP
REMOTE_PORT
REMOTE_PORT
IP_ADDR
IP_ADDR
LOCAL_PORT
LOCAL_PORT
ADDR_WRITEDATA
TEMP_BUFFER
TR_WRITEDATA_END
%1 = BUFFERSIZE
TR_WRITEDATA_END
=R
%1
TR_WRITEDATA
RCPTDATA_END
RCPTDATA_END
=R
RCV_RCPTDATA
PLC
MODBUS/TCP
Protocolo MODBUS/TCP
Protocolo MODBUS/TCP
43
Protocolo MODBUS/TCP
Protocolo MODBUS/TCP
Protocolo MODBUS/TCP
Protocolo MODBUS/TCP
ENCABEZADO
MODBUS/TCP
Protocolo MODBUS/TCP
LARGO DESCRIPCIN
CDIGO DE
FUNCIN
DATOS
Protocolo MODBUS/TCP
Encabezado MODBUS/TCP:
CAMPO
Trama de datos:
CLIENTE
SERVIDOR
Identificador
2B
de transaccin
Identifica
transaccin
Iniciado por
cliente
Copiado por
servidor
Identificador
de protocolo
2B
Protocolo
MODBUS = 0
Iniciado por
cliente
Copiado por
servidor
Largo
2B
Identificador
de unidad
1B
44
Protocolo MODBUS/TCP
Protocolo MODBUS/TCP
Anlisis de ejemplo de red MODBUS/TCP:
Objetivo
PLC
SISTEMAS SCADA
Componentes
La instrumentacin de campo
Las estaciones remotas
La red de comunicaciones
La estacin central de supervisin
El software que se ejecuta en la estacin
central de supervisin
La instrumentacin de campo
45
La estacin remota
La red de comunicaciones
PLC
RTU (Remote Terminal Unit)
Sistema de mdulos comunicndose en un plano
distinto que el sistema SCADA
La estacin de supervisin
Ejemplo
46
Plataforma de datos
47
Bloques primarios
Bloques secundarios
Base de datos:
Adquisicin de datos:
Otros Temas
48
Introduccin
PLC
LENGUAJE ST
Estructura de programa
Un programa ST consiste en un
conjunto de sentencias
Cada sentencia contiene
expresiones vlidas ST
Operadores de expresiones
Operadores:
Parntesis: ()
Invocacin a funcin: identificador(args)
Exponente: **
Aritmticos: +, -, / , *, MOD
Comparacin: <, >, <=, >=, =, <>
Booleanos: NOT, AND, OR, XOR
Operadores de expresiones
Operadores de expresiones
49
Sentencias
Sentencias: Comentarios
Comentario
Asignacin
Invocacin a bloque funcional
Retorno
Seleccin
Iteracin
(* Este es un comentario *)
Sentencias: Asignacin
Sentencias: Retorno
IF A>B THEN
RETURN;
END_IF;
50
Sentencias de seleccin
Sentencias de seleccin
Sentencias de seleccin
Sentencias de seleccin
IF A=3 THEN
B:=7;
END_IF
CASE <Var1> OF
<Valor1>: <Instruccin 1>
<Valor3,Valor4>: <Instruccin 3>
<Valor5..Valor6>: <Instruccin 4>
...
<Valor n>: <Instruccin N>
ELSE <Instruccin ELSE>
END_CASE;
Sentencias de seleccin
Sentencias de iteracin
:=
:=
:=
:=
TRUE;
FALSE;
FALSE;
TRUE;
FOR .. DO
WHILE .. DO
REPEAT .. UNTIL
:= NOT BOOL1;
:= BOOL1 OR BOOL2;
51
Sentencias de iteracin
Sentencias de iteracin
INT_Var: INT;
FOR INT_Var:=<VALOR_INICIAL> TO
<VALOR_FINAL> {BY <PASO>}
DO
<Instrucciones>
END_FOR;
Sentencias de iteracin
Sentencias de iteracin
FOR Contador:=1 TO 5 BY 1 DO
Var1:=Var1*2;
END_FOR;
FOR Contador:=1 TO 5 BY 1 DO
Var1:=Var1*2;
IF Var1 > 5 THEN
EXIT;
END_IF
END_FOR;
Sentencias de iteracin
Sentencias de iteracin
52
Sentencias de iteracin
Sentencias de iteracin
Sentencias de iteracin
Sentencias de iteracin
Sentencias de iteracin
Ejemplo
Se desea escribir un programa que controle el
encendido - apagado de una bomba.
La bomba ser encendida si:
1) Se pulsa el botn de arranque.
2) La proteccin trmica est deshabilitada.
3) Est abierto el botn de emergencia.
4) Est abierto el botn de parada.
Desde un tiempo T despus del encendido, no puede
haber ni sobre corriente ni baja corriente. Expresado
de otra forma, desde un tiempo T despus del
arranque, la corriente I debe cumplir IMIN < I < IMAX,
siendo IMIN e IMAX lmites prefijados.
53
Ejemplo
Ejemplo en ST - 1
(* Inicializacin *)
IF (NOT CICLOINI_FLAG)
THEN
ESTADO_APAGADO := TRUE;
ESTADO_TRANSITORIO := FALSE;
ESTADO_ENCENDIDO := FALSE;
CICLOINI_FLAG := TRUE;
END_IF;
Ejemplo en ST - 2
Ejemplo en ST - 3
TIMEOUT_TIMER1 := TIMER1.A;
ESTADO_TRANSITORIO := FALSE;
BOMBA_ON := FALSE;
ESTADO_TRANSITORIO := TRUE;
ESTADO_APAGADO := TRUE;
BOMBA_ON := TRUE;
ESTADO_APAGADO := FALSE;
ELSIF (ESTADO_APAGADO AND (NOT ARRANQUE)) THEN
BOMBA_ON := FALSE;
ESTADO_ENCENDIDO := TRUE;
Ejemplo en ST - 4
Ejemplo en ST - 5
THEN
VAR
DELAY AT %MD4000.1: TIME
:= T#5s;
ESTADO_ENCENDIDO := FALSE;
BOMBA_ON := FALSE;
ESTADO_APAGADO := TRUE;
END_IF;
(* END_IF termina sentencia IF para el diagrama
de estados *)
54
Ejemplo en ST - 6
Ejemplo en ST - 7
TIMER1: ESV;
VAR_GLOBAL
(* ... *)
END_VAR
(* ... *)
CICLOINI_FLAG AT %MX255.15 : BOOL;
END_VAR
Sentencias de iteracin
Restricciones:
Introduccin
PLC
ARQUITECTURA DEL
PLC SEGN IEC 1131-1
Lectura de entradas
Ejecucin de programa
Actualizacin de salidas
55
Introduccin
Por avance continuo del hardware, la IEC1131 define arquitectura ms avanzada que
la considerada hasta el momento
La arquitectura se basa en la programacin
jerrquica, con 4 niveles:
Tarea define:
Configuracin define:
recursos
datos compartidos por los recursos
datos accesibles desde exterior del PLC
Recurso define:
tareas
datos compartidos por todos los programas
datos de recurso accesibles desde exterior del PLC
programas que ejecutan las tareas del recurso
La Tarea
La Tarea
Configuracin
Recursos
Tareas
Programas
Introduccin
Introduccin
La Tarea
Task Configuration:
TAREA1(PRIORITY:=1,INTERVAL:=T#100ms)
PWM
TAREA2(PRIORITY:=2,INTERVAL:=T#1sec);
CONTROL
56
Las POU
Las POU
Programas:
Las POU
Funciones:
Las POU
Bloques funcionales:
Las POU
Nmero de salidas:
Funcin no
Bloque funcional s
Variables
En lo que va del curso cada variable se asocia
a una direccin de memoria fija
Una variable puede ser:
57
Variables
Variables
Variables
DireccinVar:
Segunda letra:
- X: bit
- B: byte (8 bits)
- W: word (16 bits)
- D: double word (32 bits)
- L: long word (64 bits)
Variables
Variables
Variables
58
Variables
59