View
56
Download
3
Category
Preview:
DESCRIPTION
" Tecnologías Emergentes en Automatización ". Profesores:Israel Benítez Pina Luis Vázquez Seisdedos Luisa Villafruela Loperena Enrique Castro Orlando Obregón Pacheco Facultad de Ingeniería Eléctrica Universidad de Oriente -2002-. " Programación IEC1131 compatible ". - PowerPoint PPT Presentation
Citation preview
" Tecnologías Emergentes en Automatización "
Profesores: Israel Benítez Pina
Luis Vázquez Seisdedos
Luisa Villafruela Loperena
Enrique Castro
Orlando Obregón Pacheco
Facultad de Ingeniería Eléctrica
Universidad de Oriente
-2002-
" Programación IEC1131 compatible "
Profesor: Luisa Villafruela Loperena
Centro de Estudios de Automatización
Facultad de Ingeniería Eléctrica
Universidad de Oriente
-2002-
Características de los PLCs y exigencias de su aplicación
Métodos de diseño y lenguajes de
programación propios
Rápido desarrollo de los PLCs Se expanden algunos
Objetivo Estandarizar los lenguajes de programación para PLCs
IEC 1131
TC 65 del IEC
IEC
1131
Parte 1 - “Informaciones generales”
Parte 2 - “Requerimientos de los equipos
y test”
Parte 3 - “Lenguajes de programación”
Parte 4 - “Recomendaciones al usuario”
Parte 5 - “Comunicaciones”
Parte 7 - “Control Fuzzy”
Director: O. Struger
Utilización de los
PLCs en redes de control
distribuido
Ampliado el uso de estos equipos
Diseño actual de los sistemas automatizados
depende de la experiencia del programador
Solución:
Empleo de BF como
bibliotecas estructuradas
Calidad masiva de las
automatizaciones resultantes
Resultados de la encuesta realizada por la CE Febrero 2001
No lo emplean
24%Emplean los PLCs
76%
Tendencias actuales
Convertir la PC en
PLC
Estandarizar el uso de los
PLCs
Resultados de la encuesta realizada por la CE Febrero 2001
Empleo de los PLCs según áreas de aplicación
87
58
40
2618
3
81
67
4032
18
30
102030405060708090
100C
ontr
ol d
em
aqu
inar
ia
Con
trol
de
pro
ceso
s
Con
trol
de
mov
imie
nto
Con
trol
por
lote
Dia
gnos
tico
Otr
os
2001
2000
Resultados de la encuesta realizada por la CE Febrero 2001
Empleo de los módulos de E/S
9181
6244 43
0102030405060708090
100A
nal
ógic
as
Dig
ital
es
Com
un
icac
ion
es
Con
tad
ores
de
alta
vel
ocid
ad
PID
s
Importancia de la utilización de la IEC 1131 según encuesta realizada por la CE Marzo 2000
No es impor-tante para nada39%
No contesta
ron13%
Algo impor-tante41%
Es un deber7%
Otros datos:
• 1999 alcanza gran popularidad.
• 93% programan en LD.
•1 de cada 5 usan FB (incremento de 3 ptos).
• 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 opción para la reusabilidad y extensibilidad del lenguaje.
El uso de lenguaje de programación estandarizado permite:
IEC
1131-3
• LD: Diagrama a contactos o de escalera (Ladder Diagram).
• IL: Lista de Instrucciones (Instruction List).
• FBD: Diagrama de Bloques Funcionales (Function Block Diagram).
• ST: Texto Estructurado (Structured Text).
• SFC: Carta de Funciones Secuenciales (Sequential Function Chart).
Es una representación gráfica de expresiones booleanas, combinando contactos (condiciones) con bobinas (resultados) similar a un diagrama de contactos eléctricos.
IEC
1131-3
• LD: Diagrama a contactos o de escalera (Ladder Diagram).
• IL: Lista de Instrucciones (Instruction List).
• FBD: Diagrama de Bloques Funcionales (Function Block Diagram).
• ST: Texto Estructurado (Structured Text).
• SFC: Carta de Funciones Secuenciales (Sequential Function Chart).
Su estructura principal es una lista de instrucciones, donde cada instrucción debe ocupar una nueva línea. Cada línea contiene un operador, que es completado por modificadores opcionales y uno o más operandos, si la operación específica lo requiere.
IEC
1131-3
• LD: Diagrama a contactos o de escalera (Ladder Diagram).
• IL: Lista de Instrucciones (Instruction List).
• FBD: Diagrama de Bloques Funcionales (Function Block Diagram).
• ST: Texto Estructurado (Structured Text).
• SFC: Carta de Funciones Secuenciales (Sequential Function Chart).
Consiste en una representación gráfica de diferentes tipos de ecuaciones. Los operadores son representados por cajas rectangulares de funciones y los operandos se conectan a sus lados izquierdo (entradas) y derecho (salidas).
IEC
1131-3
• LD: Diagrama a contactos o de escalera (Ladder Diagram).
• IL: Lista de Instrucciones (Instruction List).
• FBD: Diagrama de Bloques Funcionales (Function Block Diagram).
• ST: Texto Estructurado (Structured Text).
• SFC: Carta de Funciones Secuenciales (Sequential Function Chart).
Un programa en ST es una lista de sentencias ST. Cada sentencia termina enun separador “;” y se incluye dentro de uno de los tipos básicos de: asignación, selección, iteración, control o especiales. Los nombres usados en el código fuente (identificadores de variables, constantes, palabras reservadas del lenguaje, ...) se desagrupan usando separadores inactivos o activos.
IEC
1131-3
• LD: Diagrama a contactos o de escalera (Ladder Diagram).
• IL: Lista de Instrucciones (Instruction List).
• FBD: Diagrama de Bloques Funcionales (Function Block Diagram).
• ST: Texto Estructurado (Structured Text).
• SFC: Carta de Funciones Secuenciales (Sequential Function Chart).
Es un conjunto gráfico de pasos y transiciones enlazados por conexiones orientadas. Cada transición es atada a una condición booleana. Las acciones de los pasos son detalladas usando otros lenguajes (ST, IL, LD, FBD).
La IEC 1131-3 recoge todos los tipos de operandos de uso común en PLCs. En su apartado 2.2 (Representación exterior de los datos) se establece que dicha representación deberá consistir en literales numéricos, 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 básicos: Booleano, Analógico, Temporizado y Mensaje.
Tipos de operandos de uso común en PLCs
Lenguaje LD
Barra de alimentación izquierda (con enlace horizontal acoplado)
Contactos
Bobinas
Bloques funcionales
Barra de alimentación izquierda(con enlace horizontal acoplado)
Símbolo de salto
Símbolo de retorno
Entrada “EN”
Salida “ENO”
Lenguaje LD
Contactos:
Contacto normalmente abierto
Contacto normalmente cerrado
Contacto detector de transición positiva (flanco ascendente)
Contacto detector de transición 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 detección de flanco ascendente
Accionamiento directo frente a detección de flanco descendente
Lenguaje LD
Enlaces:
Lenguaje IL
Una línea de programa esta formada por:
Operador modificadores operandos [; ó retorno] opcionales
Operadores de IL:Operador Modificadores Operando SemánticaLD N NOTA 1 Poner el resultado actual igual al operandoST N NOTA 1 Almacenar el resultado actual en el emplazamiento del operando
S NOTA 2 NOTA 1 Poner el resultado booleano en 1R NOTA 2 Poner el operando booleano a 0
Lenguaje IL
Operadores de IL:Operador Modificadores Operando SemánticaAND 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 Multiplicación
DIV ( WORD División
Lenguaje IL
Operadores de IL:Operador Modificadores Operando SemánticaGT ( WORD Comparación >
GE ( WORD Comparación >=
EQ ( WORD Comparación =
NE ( WORD Comparación <>
LE ( WORD Comparación <=
LT ( WORD Comparación <
JMP C, N LABEL Saltar a la etiqueta
CAL C, N NAME Llamar al bloque funcional
RET C, N Regresar de la función o
BF que ha sido llamado ) Evaluar la operación aplazada
Lenguaje IL
Detector de FlancoAscendente
BoolBoolR_TRIG
Clk QTIMETIME
BoolBool***
In Q
Pt EtIntInt
BoolBool
Bool***
Cu Q
R
Pv Cv
Contador (CTU,CTD) Temporizador(TP,TON,TOF)
VAR VAR VARR_TRIG1 : R_TRIG C10 : CTU T20 : TPEND_VAR END_VAR END_VARLD %IX10 LD 15 LD 150sST R-TRIG1.Clk ST C10.Pv ST T20.PtLD R-TRIG1.Q LD %MX10 LD %IX10ST %MX10 ST C10.Cu ST T20.In
CAL C10 CAL T20LD C10.Q LD T20.QST %MX11 ST %MX12LD C10.Cv LD T20.EtST %MW1 ST %MW2
Lenguaje FBD
Lenguaje ST
Expresiones: Una expresión es una construcción sintáctica 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 STOperación Símbolo PrioridadPuesta entre paréntesis Expresión MáximoEvaluación de la función Identificador
(lista de argumentos)
Ejemplos LN(A), MAX(X,Y), etc.Elevación a exponentes **
Lenguaje ST
Operadores del lenguaje STOperación Símbolo PrioridadNegación -
Complemento NOT
Multiplicar *
Dividir /
Módulo MOD
Sumar, Restar +, -Comparación <, >, <=, >=Igualdad, Desigualdad =, <>
AND Booleano &, ANDOR exclusivo Booleano XOROR Booleano OR Mínimo
Lenguaje ST
Sentencias del lenguaje ST
Tipo de sentencia/referencia EjemplosAsignación A:=B; CV := CV+ 1;
Invocación de FB y CMD_TMR(IN := %IX5, PT:=T#300ms)
utilización de salida FB A := CMD_TMR.Q;
RETURN RETURN;
Lenguaje ST
Sentencias del lenguaje STTipo de sentencia/referencia EjemplosIF <expresión booleana> THEN D:= B*B - 4*A*C;
<instrucción>; IF D < 0.0 THEN NROOTS := 0;
<instrucción>; ELSIF D = 0.0 THEN
... NROOTS := 1 ;
ELSIF <expresión bool.> THEN X1 := -B/ (2.0*A)
<instrucción>; ELSE
... NROOTS := 2 ;
ELSE X1 := (-B+SQRT(D))/(2.0*A)
<instrucción>; X2 := (-B-SQRT(D))/(2.0*A)
END_IF; END_IF ;
Lenguaje ST
Sentencias del lenguaje STTipo de sentencia/referencia EjemplosCASE <expresión entera> OF TW := BCD_TO_INT (THUMBWHEEL) ;
<valor>: <instrucción>; TW_ERROR := 0 ;
<valor>, <valor>: <instrucción>; CASE TW OF
... 1,5 : DISPLAY := OVEN_TEMP ;
ELSE 2: DISPLAY := MOTOR_SPEED ;
<instrucción>; 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 STTipo de sentencia/referencia EjemplosFOR<índice>:=<mini>TO<maxi> J := 101 ;
BY <paso> DO FOR I := 1 TO 100 BY 2 DO
<instrucción>; IF WORDS[I] = ‘’KEY’’ THEN
<instrucción>; J := I ;
END_FOR; EXIT ;
END_IF ;
END_FOR ;
WHILE <expresión bool.> DO J := 1 ;
<instrucción>; WHILE J <= 100 & WORDS [J] <>’’KEY’ DO
<instrucción>; J := J+2 ;
END_WHILE; END_WHILE ;
Lenguaje ST
Sentencias del lenguaje STTipo de sentencia/referencia EjemplosREPEAT J := -1 ;
<instrucción>; REPEAT
<instrucción>; J := J+2 ;
UNTIL <expresión booleana> UNTIL J = 101 OR WORDS[J] = “KEY”
END_REPEAT; END_REPEAT ;
EXIT EXIT ;
Sentencia vacío ;
Lenguaje SFC
El lenguaje SFC es usado para describir operaciones de procesos secuenciales. Utiliza una simple representación gráfica de diferentes pasos de un proceso, y de las condiciones que habilitan el cambio (transición) de los pasos activos. Sus principales elementos son:
Paso inicial
Paso
Transición
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 analógicas 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 continuación el resultado de una acción 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
ST
(* Programa SFC con un programa en IL para la transición*)
(* Programa SFC con un programa en ST para la transición*)
Trabajando con el ISaGRAF V3.3
ISaGRAF V3.3
Recommended