APUNTES PROGRAMACION TIA PORTAL (Autoguardado)
APUNTES PROGRAMACION TIA PORTAL (Autoguardado)
APUNTES PROGRAMACION TIA PORTAL (Autoguardado)
TIPOS DE DATOS
BYTE: 8 Bits.
M: Son direcciones de memoria para programar. Para programar es mejor trabajar con
bloques de datos que con memorias
Decimal: 32767
Hex: 16#7FFF
0.7 hasta 0.0 1.7 hasta 1.0 2.7 hasta 2.0 3.7 hasta 3.0
TIME: 4 Bytes (32 Bits). Se usa para dar valores a los temporizadores
Array de 6 Bool 0 1 0 1 0 1
Ejemplo:
UDT Tipos de Datos PLC = Me permite crear tipos de datos propios, tipos de datos con
variables
LOS BYTES TIA PORTAL LOS AGRUPA EN MEMORIA DE 2 EN 2 Y SI DECLARO UNA VARIABLE
BOOLEANA YA GUARDA 2 BYTES EN MEMORIAS
Direcciones %I (DI)
%a (DO)
%M (Marcas)
ORDEN DE EJECCUCION DEL PROGRAMA
CICLO DE SCAN
- Tedioso para trabajar con bucles o saltos. Para bucles y saltos es mejor SCL ó AWL
2.- FUP:
- Suele ser el más odiado por los programadores por su dificultad, pero un programador jamás
será experto sino domina este lenguaje
- “Lo que no se pueda programar con AWL, es que no se puede programar con el PLC”
4.- SCL:
5.- GRAFECT:
TEMPORIZADORES
- TP
- Ton
- Toff
- Tonr
CONTADORES
- CTU
- CTD
- CTUD
COMPARADORES
FUNCIONES MATEMATICAS
- +. -. *. :
- Kop: Funcion Calculate
- Division: Funcion MOD
- Resultado Negado: Funcion NEG
- Incrementos y Decrementos
- Valor Absoluto: Funcion ABS
MATEMATICAS
- Convert
- Round
- Ceil
- Floor
- Trunc
AND
X*Y = Z
X3 X4
KOP S
S
AWL U X
U Y
= Z
U = Contacto Abierto
= Bobina
Else
“Z” = False;
En_if;
AWL UN X
U Y
Contacto Negado
OR KOP AWL SCL
X+Y = Z X4 U X If (X OR Y)
S O Y Then
S = Z Z= True;
X5
Else
Z=False;
End_if;
SCL
U X
ON Y
= Z
X= X1*X2*NOTX3*(D+E)
X1 X2 X3 X4
aS S
S
X5
AWL
U(
U “setyreset”. X1
U “setyreset”. X2
Un “setyreset”. X3
U(
U “setyreset”. X4
O “setyreset”. X5
)
= “Lampara”
SET Y RESET
a
S
SS
b
S
SR
AWL
U “setyreset”. a
S “setyreset”. X
NOP
U “setyreset”. b
S “setyreset”. X
AWL
U “flancos”.x
FP “flancos”.flanco(2)
S “flanco”.a
Cuando el flanco detecta el cambio de la variable de “0” a “1” y de “1” a “0” es que permite el
paso de corriente en ese instante o sea en un ciclo de scan del autómata.
xx
bS
SP
yy
xx
bS
SN
yy
xx = es la variable que vamos a evaluar y va a cambiar de “0” a ”1”
yy = la variable de guardado y guarda el ultimo valor que tiene la variable xx. Compara xx con
yy y asi sabe si hay cambio
RLO
Es el estado (0 o 1) resultante de las operaciones que hay desde la primera condición hasta la
condición deseada. Aunque existe solo es mostrado de manera directa en AWL (en KOP de
manera indirecta iluminando el contacto). RLO ES EL RESULTADO LOGICO FINAL DE LAS
OPERACIONES EXISTENTES.
Program Cycle (Main): Los OB de ciclo se procesan cíclicamente. Los OB de ciclo son bloques
lógicos de orden superior en el programa, en los que se pueden programar instrucciones o
llamar otros bloques.
Startup (OB100): Los OB de arranque se procesan una sola vez, cuando el modo de operación
de la CPU cambia de STOP a RUN. Tras el procesamiento del OB de arranque se inicia el
procesamiento del OB de ciclo.
Cycle Interrupt (OB30): Los OB de alarma cíclica sirven para iniciar programas en intervalos
periódicos, independientemente de la ejecución cíclica del programa. Los intervalos se pueden
definir en este cuadro de diálogo o en las propiedades. SE USA EN EL PID
Rack or Station failure (OB86): Un OB de fallo de rack se llama p. ej. en caso de fallo de un
rack o de una estación en la periferia descentralizada.
Los bloques de datos (DB) sirven para almacenar datos del programa.
Las funciones sirven para encapsular los códigos en porciones y así estructurar mejor el
programa. Una función es un bloque donde programamos código que podemos reutilizar. La
función la podemos llamar desde cualquier punto del programa. Debe estar en el OB Main.
Podemos usar un contador casero,
En una estación frigorífica podemos tener compresores, separadores etc, podemos tener una
función llamada compresores donde dentro de esa función tenemos todos los compresores de
la planta, también podemos tener una función llamada separadores donde dentro de esa
función tenemos todos los compresores de la planta.
Las funciones se le pueden declarar variables pero esas variables no se pueden guardar em
memoria no se pueden datos y tampoco tiene DB propio.
La FB si tiene un DB propio la FC NO
Las variable TEMP en los FC a cada ciclo de scan se resetean no se guardan en memoria