Está en la página 1de 43

" Tecnologas Emergentes en

Automatizacin "
Profesores: Israel Bentez Pina
Luis Vzquez Seisdedos
Luisa Villafruela Loperena
Enrique Castro
Orlando Obregn Pacheco

Facultad de Ingeniera Elctrica


Universidad de Oriente
-2002-
" Programacin IEC1131
compatible "
Profesor: Luisa Villafruela Loperena

Centro de Estudios de Automatizacin


Facultad de Ingeniera Elctrica
Universidad de Oriente
-2002-
Caractersticas de los PLCs y Mtodos de diseo y
exigencias de su aplicacin lenguajes de
programacin propios

Rpido desarrollo
de los PLCs Se expanden algunos

TC 65 Estandarizar los lenguajes de


del IEC Objetivo
programacin para PLCs

IEC 1131
Parte 1 - Informaciones generales
I Parte 2 - Requerimientos de los equipos
E
y test
C
Parte 3 - Lenguajes de programacin

1 Parte 4 - Recomendaciones al usuario


1 Parte 5 - Comunicaciones
3 Parte 7 - Control Fuzzy
1 Director: O. Struger
Utilizacin
de los
PLCs en Ampliado el uso de
redes de estos equipos
control Solucin:
distribuido
Diseo actual de los Empleo de BF
sistemas automatizados como
depende de la bibliotecas
experiencia del estructuradas
programador

Calidad masiva de las
automatizaciones
resultantes
Resultados de la encuesta realizada por la CE
Febrero 2001

Tendencias actuales
No lo
Emplean emplean
los PLCs 24%
76% Convertir Estandarizar
la PC en el uso de los
PLC PLCs
Resultados de la encuesta realizada por la CE
Febrero 2001

Empleo de los PLCs segn reas de aplicacin


100
87
90 81
80
67
70
58
60
2001
50 40 40 2000
40 32
30 26
18 18
20
10 3 3
0
maquinaria

movimiento

Diagnostico
Control por
Control de

Otros
Control de

Control de
procesos

lote
Resultados de la encuesta realizada por la CE
Febrero 2001

Empleo de los mdulos de E/S

100 91
90 81
80
70 62
60 44 43
50
40
30
20
10
0

Contadores de
Comunicaciones
Analgicas

Digitales

PIDs
alta velocidad
Importancia de la utilizacin de la IEC 1131
segn encuesta realizada por la CE Marzo
2000
Otros datos:

Algo
1999 alcanza
impor- No es gran popularidad.
tante impor-
41% tante
para
93% programan
nada
39%
en LD.
No
contesta
1 de cada 5 usan
Es un
ron
13%
deber FB (incremento de
7%
3 ptos).
El uso de lenguaje de programacin
estandarizado permite:

Extensibilidad de los programas de aplicaciones


a otros PLCs IEC compatibles.
Facilidades para elaborar BF, utilizar los
propios del sistema o los suministrados como
bibliotecas estructuradas.
BF parametrizables como mejor opcin para la
reusabilidad y extensibilidad del lenguaje.
LD: Diagrama a contactos o de escalera
I (Ladder Diagram).
E
IL: Lista de Instrucciones (Instruction List).
C
FBD: Diagrama de Bloques Funcionales
Es una representacin grfica
(Function Block Diagram).
1 de expresiones booleanas,
1 combinando
ST: Texto contactos
Estructurado (Structured Text).
(condiciones) con bobinas
3 (resultados)
SFC: Carta similar
de Funciones a un
Secuenciales
1 diagrama
(Sequential deChart).
Function contactos
- elctricos.
3
LD: Diagrama a contactos o de escalera
I (Ladder Diagram).
E
IL: Lista de Instrucciones (Instruction List).
C
FBD: Diagrama de Bloques Funcionales
(Function Block Diagram).
1 Su estructura principal es una lista de
1 ST:instrucciones, donde (Structured
Texto Estructurado cada instruccin
Text).
debe ocupar una nueva lnea. Cada lnea
3 contiene
SFC: Carta un operador, que
de Funciones es completado
Secuenciales
1 por modificadores
(Sequential opcionales y uno o
Function Chart).
ms operandos, si la operacin
- especfica lo requiere.
3
LD: Diagrama a contactos o de escalera
I (Ladder Diagram).
E
IL: Lista de Instrucciones (Instruction List).
C
FBD: Diagrama de Bloques Funcionales
(Function Block Diagram).
1
1 ST: Texto Estructurado (Structured Text).
Consiste en una representacin grfica de
3 diferentes tipos de ecuaciones. Los operadores
SFC: Carta de Funciones Secuenciales
son representados por cajas rectangulares de
1 (Sequential Function Chart).
funciones y los operandos se conectan a sus
- lados izquierdo (entradas) y derecho (salidas).

3
I Un programa en ST es una lista de
sentencias ST. Cada sentencia termina en
E un separador ; y se incluye dentro de uno
C LD:deDiagrama a contactos
los tipos bsicos o de escalera
de: asignacin, seleccin,
(Ladder Diagram).
iteracin, control o especiales. Los nombres
usados en el cdigo fuente (identificadores de
IL:variables,
Lista de constantes, palabras reservadas del
1 Instrucciones (Instruction List).
lenguaje, ...) se desagrupan usando separadores
1 inactivos
FBD: o activos.
Diagrama de Bloques Funcionales
3 (Function Block Diagram).

1 ST: Texto Estructurado (Structured Text).


- SFC: Carta de Funciones Secuenciales
3 (Sequential Function Chart).
I
E Es un conjunto grfico de pasos y
LD: Diagrama
transiciones enlazadoso por
a contactos de escalera
C (Ladderconexiones
Diagram).orientadas. Cada
transicin es atada a una condicin
booleana.
IL: Lista Las acciones
de Instrucciones de los pasos
(Instruction List).
1 son detalladas usando otros
1 FBD:lenguajes
Diagrama(ST, IL, LD, FBD).
de Bloques Funcionales
(Function Block Diagram).
3
1 ST: Texto Estructurado (Structured Text).

- SFC: Carta de Funciones Secuenciales


3 (Sequential Function Chart).
Tipos de operandos de uso comn en PLCs

La IEC 1131-3 recoge todos los tipos de


operandos de uso comn en PLCs. En su
apartado 2.2 (Representacin exterior de los
datos) se establece que dicha representacin
deber consistir en literales numricos, literales
de cadenas de caracteres y literales de tiempo. A
partir de ello en el sistema ISaGRAF (IEC 1131-
3 compatible) de CJ International se agrupan en
cuatro tipos bsicos: Booleano, Analgico,
Temporizado y Mensaje.
Lenguaje LD

Barra de alimentacin izquierda


(con enlace horizontal acoplado)
Contactos
Bobinas
Bloques funcionales
Barra de alimentacin izquierda
(con enlace horizontal acoplado)
Smbolo de salto
Smbolo de retorno
Entrada EN
Salida ENO
Lenguaje LD
Contactos:

Contacto normalmente abierto


Contacto normalmente cerrado
Contacto detector de transicin positiva (flanco
ascendente)
Contacto detector de transicin negativa (flanco
descendente)
Lenguaje LD
Bobinas:

Bobina accionamiento directo


Bobina accionamiento inverso
Seteo de una salida (condicionado)
Reseteo de una salida (condicionado)
Accionamiento directo frente a deteccin de flanco
ascendente
Accionamiento directo frente a deteccin de flanco
descendente
Lenguaje LD
Enlaces:
Lenguaje IL

Una lnea de programa esta formada por:

Operador modificadores operandos [; retorno]


opcionales

Operadores de IL:
Operador Modificadores Operando Semntica
LD N NOTA 1 Poner el resultado actual igual al
operando
ST N NOTA 1 Almacenar el resultado actual en
el emplazamiento del operando

S NOTA 2 NOTA 1 Poner el resultado booleano en 1


R NOTA 2 Poner el operando booleano a 0
Lenguaje IL

Operadores de IL:
Operador Modificadores Operando Semntica
AND N,( BOOL AND Booleano
& N,( BOOL AND Booleano
OR N,( BOOL OR Booleano
XOR N,( BOOL OR exclusivo Booleano
ADD ( WORD Suma
SUB ( WORD Resta
MUL ( WORD Multiplicacin
DIV ( WORD Divisin
Lenguaje IL

Operadores de IL:
Operador Modificadores Operando Semntica
GT ( WORD Comparacin >
GE ( WORD Comparacin >=
EQ ( WORD Comparacin =
NE ( WORD Comparacin <>
LE ( WORD Comparacin <=
LT ( WORD Comparacin <
JMP C, N LABEL Saltar a la etiqueta
CAL C, N NAME Llamar al bloque funcional
RET C, N Regresar de la funcin o
BF que ha sido llamado
) Evaluar la operacin aplazada
Lenguaje IL
Detector de Flanco Contador (CTU,CTD) Temporizador(TP,TON,TOF)
Ascendente

*** ***
R_TRIG Bool Bool Bool
Bool Bool Cu Q Bool In Q
Clk Q Bool
R TIME Pt Et TIME
Int Int
Pv Cv

VAR VAR VAR


R_TRIG1 : R_TRIG C10 : CTU T20 : TP
END_VAR END_VAR END_VAR
LD %IX10 LD 15 LD 150s
ST R-TRIG1.Clk ST C10.Pv ST T20.Pt
LD R-TRIG1.Q LD %MX10 LD %IX10
ST %MX10 ST C10.Cu ST T20.In
CAL C10 CAL T20
LD C10.Q LD T20.Q
ST %MX11 ST %MX12
LD C10.Cv LD T20.Et
ST %MW1 ST %MW2
Lenguaje FBD
Lenguaje ST

Expresiones: Una expresin es una construccin


sintctica que al ser evaluada suministra un valor
correspondiente a uno de los tipos de datos definidos en la
norma (BOOL, INT, REAL, TIME, BYTE, WORD,
STRING).
Operadores del lenguaje ST
Operacin Smbolo Prioridad
Puesta entre parntesis Expresin Mximo
Evaluacin de la funcin Identificador
(lista de argumentos)
Ejemplos LN(A), MAX(X,Y), etc.
Elevacin a exponentes **
Lenguaje ST

Operadores del lenguaje ST


Operacin Smbolo Prioridad
Negacin -
Complemento NOT
Multiplicar *
Dividir /
Mdulo MOD
Sumar, Restar +, -
Comparacin <, >, <=, >=
Igualdad, Desigualdad =, <>
AND Booleano &, AND
OR exclusivo Booleano XOR
OR Booleano OR Mnimo
Lenguaje ST

Sentencias del lenguaje ST

Tipo de sentencia/referencia Ejemplos


Asignacin A:=B; CV := CV+ 1;

Invocacin de FB y CMD_TMR(IN := %IX5, PT:=T#300ms)


utilizacin de salida FB A := CMD_TMR.Q;

RETURN RETURN;
Lenguaje ST

Sentencias del lenguaje ST


Tipo de sentencia/referencia Ejemplos
IF <expresin booleana> THEN D:= B*B - 4*A*C;
<instruccin>; IF D < 0.0 THEN NROOTS := 0;
<instruccin>; ELSIF D = 0.0 THEN
... NROOTS := 1 ;
ELSIF <expresin bool.> THEN X1 := -B/ (2.0*A)
<instruccin>; ELSE
... NROOTS := 2 ;
ELSE X1 := (-B+SQRT(D))/(2.0*A)
<instruccin>; X2 := (-B-SQRT(D))/(2.0*A)
END_IF; END_IF ;
Lenguaje ST

Sentencias del lenguaje ST


Tipo de sentencia/referencia Ejemplos
CASE <expresin entera> OF TW := BCD_TO_INT (THUMBWHEEL) ;
<valor>: <instruccin>; TW_ERROR := 0 ;
<valor>, <valor>: <instruccin>; CASE TW OF
... 1,5 : DISPLAY := OVEN_TEMP ;
ELSE 2: DISPLAY := MOTOR_SPEED ;
<instruccin>; 3: DISPLAY := GROSS_TARE ;
END_CASE; 4,6..10: DISPLAY := STATUS (TW-4) ;
ELSE DISPLAY := 0 ;
TW_ERROR := 1 ;
END_CASE ;
QW100 := INT_TO_BCD (DISPLAY) ;
Lenguaje ST

Sentencias del lenguaje ST


Tipo de sentencia/referencia Ejemplos
FOR<ndice>:=<mini>TO<maxi> J := 101 ;
BY <paso> DO FOR I := 1 TO 100 BY 2 DO
<instruccin>; IF WORDS[I] = KEY THEN
<instruccin>; J := I ;
END_FOR; EXIT ;
END_IF ;
END_FOR ;

WHILE <expresin bool.> DO J := 1 ;


<instruccin>; WHILE J <= 100 & WORDS [J] <>KEY DO
<instruccin>; J := J+2 ;
END_WHILE; END_WHILE ;
Lenguaje ST

Sentencias del lenguaje ST


Tipo de sentencia/referencia Ejemplos
REPEAT J := -1 ;
<instruccin>; REPEAT
<instruccin>; J := J+2 ;
UNTIL <expresin booleana> UNTIL J = 101 OR WORDS[J] = KEY
END_REPEAT; END_REPEAT ;

EXIT EXIT ;

Sentencia vaco ;
Lenguaje SFC
El lenguaje SFC es usado para describir operaciones de
procesos secuenciales. Utiliza una simple representacin
grfica de diferentes pasos de un proceso, y de las
condiciones que habilitan el cambio (transicin) de los pasos
activos. Sus principales elementos son:
Paso inicial
Paso
Transicin
Salto a un paso
Macro paso
Inicio del macro paso
Fin del macro paso
Lenguaje SFC

Las representaciones de los pasos tienen dos niveles

Nivel 1: Nivel 2:
Lenguaje SFC
(*Programa en SFC con simple divergencia y convergencia*)
Lenguaje SFC

(*Programa en SFC con doble divergencia y convergencia*)


Lenguaje SFC
Acciones asociadas a los pasos:
Acciones Booleanas: Directa (N), Inversa (/), Seteo (S),
Reseteo (R).
Lenguaje SFC
Acciones asociadas a los pasos:
Para asociar funciones analgicas o de cualquier otro tipo a
un paso pueden agruparse en un programa ST que se acopla
al paso mediante las acciones P (PULSE) o N (Directa).

A continuacin el resultado de una accin no guardada:


Lenguaje SFC
Se pueden utilizar las acciones booleanas N, S y R para
activar programas SFC hijos.
(* Programa SFC usando acciones SFC*)
Lenguaje SFC
A las transiciones se le pueden asociar operaciones en
lenguaje:
LD

IL (* Programa SFC con un programa en IL para la transicin*)

(* Programa SFC con un programa en ST para la transicin*)

ST
Trabajando con el ISaGRAF V3.3
ISaGRAF V3.3

También podría gustarte