Sie sind auf Seite 1von 45

PLC TSX 07

Software PL7-07
El PLC en el sistema de C.A.
Terminal de Programación

PC

Memoria de
Programa
O
I U
N T
P Procesador P
U U
T T
S S
PLC
Operación

Procesamiento
Interno

Lectura
Entradas
Scan

Ejecución
programa

Actualización
Salidas
Direccionamiento
de I/O

• Entrada:
% I 0o1 . i

(entrada) 0 = PLC base nro.entrada


1 = ext. I/O i=0a8

• Salida
% Q 0o1 . i

(salida) 0 = PLC base nro.salida


1 = ext. I/O i=0a6
Display del estado del PLC

RUN ERR

COM I/O

Led Estado Significado


RUN Encendido Aplicación en ejecución
Intermitente Aplic.en STOP / falla en ejecución
Apagado PLC apagado / aplic.no ejecutable
ERR Encendido Fallas internas
Intermitente Aplicación no ejecutable
Apagado OK
COM Encendido Vínculo de extensión activo
Apagado Vínculo de extensión no activo
I/O Encendido Fallas de I/O
Intermitente - (para la extensión)
Apagado OK
Display de I/O

I
0 1 2 3 4 5 6 7 8
O
0 1 2 3 4 5 6

Encendido: I/O en ON
Apagado: I/O en OFF
Intermitente: error en la I/O
Salvando el programa
y los datos

• El programa y los datos del


usuario están en la memoria
RAM del PLC.

• El programa puede también


ser transferido a la EEPROM.
Programación

• Modo Lista

003 LD %I0.1
Nro.Línea Código Operando
Instrucción

• Modo Ladder
%I0.0 %I0.2 %I0.4 %Q0.4

%I0.1 %I0.7
Reversibilidad

%I0.5 %Q0.4

%I0.4

Es equivalente a:

LD %I0.5
OR %I0.4
ST %Q0.4
Modo Lista
Operandos de tipo bit

Valores inmediatos 0o1

%I0.i (0  i  8)
Bits de I/O
%Q0.i (0  i  6)

Bits internos %Mi (0  i  127)

Bits del sistema %Si (0  i  127)

Bits de bloques de %BLK.x


función Ej.: %TMi.Q
Bits extraídos de %:Xk
palabras Ej.: %MWi:Xk (0  k  15)
Expresiones de [
comparación Ej.: [%MWi < 1000]
Instrucciones booleanas

• Elementos de condición
LD %I0.0 (LOAD)
Carga en el acumulador la imagen lógica del
estado eléctrico de la entrada %I0.0.
• Elementos de acción
ST %Q0.0 (STORE)
El objeto bit asociado toma el valor lógico del
acumulador (resultado de la lógica previa).
• Ecuaciones booleanas
LD %I0.0
AND %I0.1
ST %Q0.0
El resultado booleano de los elementos de
condición es aplicado al elemento de acción.
Detección de flancos
ascendentes y descendentes

• Flanco ascendente: detecta el


cambio de una entrada de 0 a 1.

%I0.2

Resultado
booleano
1 scan del PLC Tiempo

• Flanco descendente: detecta el


cambio de una entrada de 1 a 0.

%I0.2

Resultado
booleano
1 scan del PLC Tiempo
Instrucciones de carga

Estas instrucciones cargan el valor del


operando, su inversa, su subida o su bajada,
respectivamente, en el acumulador.

Código Operando

LD 0/1, %I, %Q, %M, %S, %BLK.x, %:Xk, [

LDN %I, %Q, %M, %S, %BLK.x, %:Xk, [

LDR %I

LDF %I
Instrucciones de asignación

Las dos primeras instrucciones asignan el


valor del acumulador o su inversa en el
operando.

Código Operando

ST %Q, %M, %S, %BLK.x, %:Xk

STN %Q, %M, %S, %BLK.x, %:Xk

S %Q, %M, %S, %BLK.x, %:Xk

R %Q, %M, %S, %BLK.x, %:Xk

Las dos últimas instrucciones setean o


resetean el valor del operando dependiendo
del resultado de la lógica previa.
Instrucciones lógicas AND

Estas instrucciones ejecutan un AND lógico


entre el operando, (su inversa, su subida o su
bajada), y el resultado booleano de la
instrucción previa.

Código Operando

AND 0/1, %I, %Q, %M, %S, %BLK.x, %:Xk, [

ANDN %I, %Q, %M, %S, %BLK.x, %:Xk, [

ANDR %I

ANDF %I
Instrucciones lógicas OR

Estas instrucciones ejecutan un OR lógico


entre el operando, (su inversa, su subida o su
bajada), y el resultado booleano de la
instrucción previa.

Código Operando

OR 0/1, %I, %Q, %M, %S, %BLK.x, %:Xk, [

ORN %I, %Q, %M, %S, %BLK.x, %:Xk, [

ORR %I

ORF %I
Instrucciones lógicas XOR

Estas instrucciones ejecutan un OR exclusivo


entre el operando, (su inversa, su subida o su
bajada), y el resultado booleano de la
instrucción previa.

Código Operando

XOR %I, %Q, %M, %S, %BLK.x, %:Xk, [

XORN %I, %Q, %M, %S, %BLK.x, %:Xk, [

XORR %I

XORF %I
Instrucción NOT

Esta instrucción niega el resultado booleano


de la instrucción previa.

Código Operando

N -
Uso de paréntesis

Las instrucciones AND y OR pueden usar


paréntesis. La apertura va asociada con la
instrucción AND u OR.
Por cada paréntesis abierto debe aparecer
una instrucción de cierre de paréntesis.
Ejemplo:

%I0.0 %I0.1 %Q0.0 LD %I0.0


AND %I0.1
%I0.2 OR %I0.2
ST %Q0.0

%I0.0 %I0.1 %Q0.0


LD %I0.0
AND( %I0.1
%I0.2 OR %I0.2
)
ST %Q0.0
Uso de paréntesis

• Se pueden agregar
modificadores al paréntesis
que abre:
– N negación AND(N u OR(N
– R subida AND(R u OR(R
– F bajada AND(F u OR(F
– [ comparación
Ejemplo:
LD %I0.0
AND %I0.1
OR(N %I0.2
AND %I0.3
)
ST %Q0.0
Uso de paréntesis

• Se pueden anidar hasta 8


niveles de paréntesis.
• No se deben ubicar rótulos ni
subrutinas entre paréntesis.
• No se deben ubicar
instrucciones de bloques de
función entre paréntesis.
• No se deben ubicar
instrucciones ST, STN, S y R
entre paréntesis.
Bloques de función

• Timers

• Contadores

Manejan objetos de tipo:


– Bit: Salidas del bloque
– Palabra: Parámetros de
configuración y valores
actuales
Timers

%TMi
IN Q

TYPE: TON
TB: 1 min
ADJ: y
%TMi.P: 9999
Timers: Tipos

Existen tres tipos:

• TON: Para controlar


acciones on-delay
• TOF: Para controlar acciones
off-delay
• TP: Para crear pulsos de
duración exacta
Timers: Características
Nro. Timer %TMi 0 a 31

Tipo TON On-delay (defecto)


TOF Off-delay
TP Pulso
Tiempo TB 1 min (defecto), 1s, 100ms,
base 10ms, 1ms (%TM0 y %TM1)
Valor actual %TMi.V Se incrementa de 0 a %TMi.P
Puede ser leída pero no
escrita por el programa
Valor de %TMi.P 0  %TMi.P  9999 (defecto)
preset Puede ser leída y escrita por
el programa
Delay grado. = %TMi.P x TB
Entrada de IN El timer arranca con
seteo su subida (TP / TON) o
con su bajada (TOF)
Salida del Q Se hace 1 según el tipo de
timer timer
Timer TON:
Funcionamiento
IN

%TMi.P
%TMi.V

• El timer se inicia con una subida de IN.


• El valor %TMi.V se incrementa de 0 a
%TMi.P una unidad por cada pulso de
duración TB.
• %TMi.Q se hace 1 cuando %TMi.V
alcanza a %TMi.P y %TMi.Q se hace 0
con una caída de IN.
• Con una caída de IN el timer se
detiene y %TMi.V vuelve a 0.
Timer TOF:
Funcionamiento
IN

%TMi.P
%TMi.V

• Una subida de IN setea el valor de %TMi.V a 0.


• Una caída de IN inicia el timer.
• El valor %TMi.V se incrementa de 0 a %TMi.P
una unidad por cada pulso de duración TB.
• %TMi.Q se hace 1 con la subida de IN y
%TMi.Q se hace 0 cuando %TMi.V llega a
%TMi.P.
• Es reseteado con una subida de IN (el timer se
detiene y %TMi.V vuelve a 0).
Timer TP:
Funcionamiento
IN

%TMi.P
%TMi.V

• Una subida de IN inicia el timer.


• El valor %TMi.V se incrementa de 0 a %TMi.P
una unidad por cada pulso de duración TB.
• %TMi.Q se hace 1 al iniciarse el timer y
%TMi.Q se hace 0 cuando %TMi.V llega a
%TMi.P.
• No puede ser reseteado.
• Cuando %TMi.V llega a %TMi.P e IN está en
0, %TMi.V cae a 0.
Timers: Programación

%I0.0 %Q0.3
%TM1
IN Q
LD %I0.0
IN %TM1
LD %TM1.Q
ST %Q0.3

Timers: Configuración

Se deben configurar:
• el tipo
•TB
•%TMi.P
Contadores

Se usan para contar eventos en


forma ascendente o descendente.

%Ci
R
E

S
D
CU

F
CD
%Ci.P: 9999
Contadores: Características

Nro. Contador %Ci 0 a 15

Palabra inc. o decr. según


Valor Actual %Ci.V
CU y CD

Valor Preset %Ci.P 0  %Ci.P  9999 (defecto)

Entrada de
R Si vale 1  %Ci.V = 0
reseteo
Entrada de
S Si vale 1  %Ci.V = %Ci.P
seteo
Entrada cuenta Una subida incrementa
CU
ascendente %Ci.V
Entrada cuenta Una subida decrementa
CD
descendente %Ci.V
Salida E En 1 cuando %Ci.V pasa de
underflow (empty) 0 a 9999
Salida preset D
En 1 cuando %Ci.V = %Ci.P
alcanzado (done)
Salida En 1 cuando %Ci.V pasa de
F (full)
overflow 9999 a 0
Contadores:
Funcionamiento
• Cuenta ascendente:
– Una subida en CU, inicia el incremento de
%Ci.V.
– Cuando %Ci.V llega a %Ci.P, %Ci.D = 1.
– Cuando %Ci.V pasa de 9999 a 0, %Ci.F=1,
y vuelve a 0 si la cuenta sigue.
• Cuenta descendente:
– Una subida en CD, inicia el decremento de
%Ci.V.
– Cuando %Ci.V pasa de 0 a 9999, %Ci.E=1,
y vuelve a 0 si la cuenta sigue.
• Reset: Cuando esta entrada vale 1:
– %C1.V=0, %Ci.E=0, %Ci.D=0 y %Ci.F=0.
Esta entrada tiene prioridad.
• Set: Cuando vale 1, si R está en 0:
– %Ci.V=%Ci.P y %Ci.D=1.
Contadores: Programación

%I0.1
%C8
R LD %I0.1
E
S R %C8
D
CU LD %I0.2
%I0.2 %M0 CD F AND %M0
CU %C8
LD %C8.D
%C8.D %Q0.3
ST %Q0.3

Contadores: Configuración
Se debe configurar %Ci.P.
Instrucciones de control

• Fin de Programa
– END: Fin incondicional del programa
– ENDC: Fin del programa si el
resultado de la operación previa es 1
– ENDCN: Fin del programa si el
resultado de la operación previa es 0
(Cuando se activa el fin de programa,
se actualizan las salidas y se inicia el
próximo scan).

• Instrucción NOP
Se usa para reservar líneas para
insertar luego instrucciones sin
modificar los números de línea.
Instrucciones de control
• Instrucciones de salto
– JMP: Salto incondicional
– JMPC: Salto si op. previa = 1
– JMPCN: Salto si op. previa = 0
(Van seguidas por un rótulo %Li (0  i  15)
Ejemplo: LD %M15
JMPC %L8
LD %I0.1
ST %M15
JMP %L12
%L8:
LD %M12
ST %M2
%L12:
LD %I0.0

– No se pueden ubicar entre paréntesis.


– El rótulo sólo puede ser seguido por LD, LDN,
LDR, LDF o BLK.
Instrucciones de Subrutina

• SRn
Llama a la subrutina
referenciada por el rótulo SRn:
si el resultado de la operación
previa es 1.
• RET
Se ubica al final de la
subrutina. Provoca el retorno
al programa principal.

– No pueden ser ubicadas entre paréntesis.


– Una subrutina no puede llamar a otra.
– El rótulo sólo puede ser ubicado antes de un
LD o BLK.
– La llamada no puede ser seguida por una
asignación (ST).
Operandos de tipo Palabra

• Los objetos de tipo palabra son


direccionados como palabras de
16 bits, que se almacenan en la
memoria de datos y que pueden
contener un valor entero entre
–32768 y 32767.

• Se almacenan en código binario


de 16 bits. El bit 15 indica el signo
(1 - , 0  +).

• Se pueden ingresar o recuperar


en formato:
– Decimal (ej: 1579)
– Hexadecimal (ej: 16#A536 o #A536)
Operandos de tipo Palabra

Valores Valores enteros entre –32768 y


inmediatos 32767

Palabras %MWi (0  i  255)


internas Para uso del usuario
%KWi (0  i  63)
Palabras
constantes Se modifican desde el menú de
configuración
Palabras %SWi (0  i  127)
del sistema Acceso a datos que vienen del PLC

Bits extraídos de palabras: Es posible extraer uno


de los 16 bits de algunas palabras.
Sintaxis: %palabra : Xk (0  k  15)
Ejemplo: %MW5:X6
Instrucciones numéricas

• Generalmente se aplican a
palabras de 16 bits.

• Se escriben entre corchetes.

• Se ejecutan si el resultado
de la operación previa fue 1.
Instrucciones numéricas:
Asignación

Operador Sintaxis

:= [Op1:=Op2]

Op1 Op2

Valor inmediato,
%MWi, %SWi %MWi, %KWi,
%SWi, %BLK.x
Instrucciones numéricas:
Comparación

Operador Sintaxis
LD [Op1 oper Op2]
>, >=, <, <=, =, <> AND [Op1 oper Op2]
OR [Op1 oper Op2]

Op1 Op2

%MWi, %KWi, Valor inmediato, %MWi,


%Swi, %BLK.x %KWi, %SWi, %BLK.x
Instrucciones numéricas:
Aritméticas

Operador Sintaxis
+, -, *, /, REM [Op1 := Op2 oper Op3]

SQRT [Op1 := SQRT(Op2)]

INC, DEC [oper Op1]

Op1 Op2/Op3

Valor inmediato, %MWi,


%MWi, %SWi
%KWi, %SWi, %BLK.x
Instrucciones numéricas:
Reglas
• Suma
– Overflow: %S18 = 1 y el resultado
no es correcto.
• Resta
– Resultado negativo: %S17 = 1.
• Multiplicación
– Overflow: %S18 = 1 y el resultado
no es correcto.
• División / Resto (REM)
– División por 0: %S18 = 1 y el
resultado no es correcto.
– Overflow: %S18 = 1 y el resultado
no es correcto.
• Raíz cuadrada
– Operando negativo: %S18 = 1 y el
resultado no es correcto.
Es responsabilidad del programador resetear
los bits %S17 y %S18.
Software

• El software PL707 puede ser


utilizado para programar el
PLC desde una PC, pero
requiere la conexión del PLC
a la PC.

• Existe un producto que


permite simular la
programación del PLC en
modo Lista en:
http://www.exa.unicen.edu.ar/~control/

Das könnte Ihnen auch gefallen