programacion plc

45
PLC TSX 07 Software PL7-07

Upload: sinuhe-paez-hernandez

Post on 05-Jul-2015

1.534 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Programacion PLC

PLC TSX 07

Software PL7-07

Page 2: Programacion PLC

El PLC en el sistema de C.A.

Terminal de Programación

Memoria dePrograma

Procesador

OUTPUTS

INPUTS

PLC

PC

Page 3: Programacion PLC

Operación

Procesamiento Interno

LecturaEntradas

Ejecuciónprograma

ActualizaciónSalidas

Sca

n

Page 4: Programacion PLC

Direccionamientode I/O

• Entrada: % I 0 o 1 . i

(entrada) 0 = PLC base nro.entrada

1 = ext. I/O i = 0 a 8

• Salida % Q 0 o 1 . i

(salida) 0 = PLC base nro.salida

1 = ext. I/O i = 0 a 6

Page 5: Programacion PLC

Display del estado del PLC

OKApagado

- (para la extensión)Intermitente

Vínculo de extensión no activoApagado

OKApagado

Aplicación no ejecutableIntermitente

PLC apagado / aplic.no ejecutableApagado

Aplic.en STOP / falla en ejecuciónIntermitente

Fallas de I/OEncendidoI/O

Vínculo de extensión activoEncendidoCOM

Fallas internasEncendidoERR

Aplicación en ejecuciónEncendidoRUN

SignificadoEstadoLed

RUN

COM

ERR

I/O

Page 6: Programacion PLC

Display de I/O

0 1 2 3 4 5 6 7 8

0 1 2 3 4 5 6

I

O

Encendido: I/O en ONApagado: I/O en OFFIntermitente: error en la I/O

Page 7: Programacion PLC

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.

Page 8: Programacion PLC

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

Page 9: Programacion PLC

Reversibilidad

%I0.5 %Q0.4

%I0.4

Es equivalente a:

LD %I0.5OR %I0.4ST %Q0.4

Page 10: Programacion PLC

Modo Lista

Page 11: Programacion PLC

Operandos de tipo bit

[

Ej.: [%MWi < 1000] Expresiones de comparación

%:Xk

Ej.: %MWi:Xk (0 k 15)

Bits extraídos de palabras

%BLK.x

Ej.: %TMi.QBits de bloques de función

%Si (0 i 127)Bits del sistema

%Mi (0 i 127)Bits internos

%I0.i (0 i 8)

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

0 o 1Valores inmediatos

Page 12: Programacion PLC

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.0El resultado booleano de los elementos de condición es aplicado al elemento de acción.

Page 13: Programacion PLC

Detección de flancos ascendentes y descendentes

• Flanco ascendente: detecta el cambio de una entrada de 0 a 1.

• Flanco descendente: detecta el cambio de una entrada de 1 a 0.

1 scan del PLC

%I0.2

Tiempo

Resultadobooleano

1 scan del PLC

%I0.2

Tiempo

Resultadobooleano

Page 14: Programacion PLC

Instrucciones de carga

%ILDF

%ILDR

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

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

OperandoCódigo

Estas instrucciones cargan el valor del operando, su inversa, su flanco ascendente o descendente, respectivamente, en el acumulador.

Page 15: Programacion PLC

Instrucciones de asignación

%Q, %M, %S, %BLK.x, %:XkR

%Q, %M, %S, %BLK.x, %:XkS

%Q, %M, %S, %BLK.x, %:XkSTN

%Q, %M, %S, %BLK.x, %:XkST

OperandoCódigo

Las dos primeras instrucciones asignan el valor del acumulador o su inversa en el operando.

Las dos últimas instrucciones setean o resetean el valor del operando dependiendo del resultado de la lógica previa.

Page 16: Programacion PLC

Instrucciones lógicas AND

%IANDF

%IANDR

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

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

OperandoCódigo

Estas instrucciones ejecutan un AND lógico entre el operando, (su inversa, su flanco ascendente o descendente), y el resultado booleano de la instrucción previa.

Page 17: Programacion PLC

Instrucciones lógicas OR

%IORF

%IORR

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

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

OperandoCódigo

Estas instrucciones ejecutan un OR lógico entre el operando, (su inversa, su flanco ascendente o descendente), y el resultado booleano de la instrucción previa.

Page 18: Programacion PLC

Instrucciones lógicas XOR

%IXORF

%IXORR

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

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

OperandoCódigo

Estas instrucciones ejecutan un OR exclusivo entre el operando, (su inversa, su flanco ascendente o descendente), y el resultado booleano de la instrucción previa.

Page 19: Programacion PLC

Instrucción NOT

-N

OperandoCódigo

Esta instrucción niega el resultado booleano de la instrucción previa.

Page 20: Programacion PLC

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:

LD %I0.0

AND( %I0.1

OR %I0.2

)

ST %Q0.0

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

%I0.2

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

%I0.2

LD %I0.0

AND %I0.1

OR %I0.2

ST %Q0.0

Page 21: Programacion PLC

Uso de paréntesis

• Se pueden agregar modificadores al paréntesis que abre:– N negaciónAND(N u OR(N– R fl. asc. AND(R u OR(R– F fl. desc. AND(F u OR(F– [ comparación

Ejemplo:

LD %I0.0

AND %I0.1

OR(N %I0.2

AND %I0.3

)

ST %Q0.0

Page 22: Programacion PLC

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.

Page 23: Programacion PLC

Bloques de función

• Timers

• Contadores

Manejan objetos de tipo:– Bit: Salidas del bloque– Palabra: Parámetros de

configuración y valores actuales

Page 24: Programacion PLC

Timers

%TMi

TYPE: TONTB: 1 minADJ: y%TMi.P: 9999

IN Q

Page 25: Programacion PLC

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

Page 26: Programacion PLC

Timers: Características

Se hace 1 según el tipo de timer

QSalida del timer

El timer arranca con su fl. ascendente (TP / TON) o con su fl. desc. (TOF)

INEntrada de seteo

0 %TMi.P 9999 (defecto)

Puede ser leída y escrita por el programa

Delay grado. = %TMi.P x TB

%TMi.PValor de preset

Se incrementa de 0 a %TMi.P

Puede ser leída pero no escrita por el programa

%TMi.VValor actual

1 min (defecto), 1s, 100ms, 10ms, 1ms (%TM0 y %TM1)

TBTiempo base

On-delay (defecto)

Off-delay

Pulso

TON

TOF

TP

Tipo

0 a 31%TMi Nro. Timer

Page 27: Programacion PLC

Timer TON: Funcionamiento

• El timer se inicia con un flanco ascendente 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 un flanco descendente de IN.

• Con un flanco descendente de IN el timer se detiene y %TMi.V vuelve a 0.

IN

Q

%TMi.P

%TMi.V

Page 28: Programacion PLC

Timer TOF: Funcionamiento

• Un flanco ascendente de IN setea el valor de %TMi.V a 0.

• Un flanco descendente 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 el flanco ascendente de

IN y %TMi.Q se hace 0 cuando %TMi.V llega a %TMi.P.

• Es reseteado con un flanco ascendente de IN (el timer se detiene y %TMi.V vuelve a 0).

IN

Q

%TMi.P

%TMi.V

Page 29: Programacion PLC

Timer TP: Funcionamiento

• Un flanco ascendente 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.

IN

Q

%TMi.P

%TMi.V

Page 30: Programacion PLC

Timers: Programación

LD %I0.0

IN %TM1

LD %TM1.Q

ST %Q0.3

%I0.0 %Q0.3%TM1

IN Q

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

Timers: Configuración

Page 31: Programacion PLC

Contadores

Se usan para contar eventos en forma ascendente o descendente.

%Ci

%Ci.P: 9999

RE

S

CU

CD

D

F

Page 32: Programacion PLC

Contadores: Características

En 1 cuando %Ci.V pasa de 9999 a 0

F (full)Salida overflow

En 1 cuando %Ci.V = %Ci.PD (done)

Salida preset alcanzado

En 1 cuando %Ci.V pasa de 0 a 9999

E (empty)

Salida underflow

Un flanco descendente decrementa %Ci.V

CDEntrada cuenta descendente

Un flanco ascendente incrementa %Ci.V

CUEntrada cuenta ascendente

Si vale 1 %Ci.V = %Ci.PSEntrada de seteo

Si vale 1 %Ci.V = 0REntrada de reseteo

0 %Ci.P 9999 (defecto)%Ci.PValor Preset

Palabra inc. o decr. según CU y CD

%Ci.VValor Actual

0 a 15%CiNro. Contador

Page 33: Programacion PLC

Contadores: Funcionamiento

• Cuenta ascendente: – Un flanco ascendente 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: – Un flanco ascendente 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.

Page 34: Programacion PLC

Contadores: Programación

LD %I0.1

R %C8

LD %I0.2

AND %M0

CU %C8

LD %C8.D

ST %Q0.3

Se debe configurar %Ci.P.

%I0.1%C8

RE

S

CU

CD

D

F

%C8.D %Q0.3

%I0.2 %M0

Contadores: Configuración

Page 35: Programacion PLC

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 NOPSe usa para reservar líneas para insertar luego instrucciones sin modificar los números de línea.

Page 36: Programacion PLC

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.

Page 37: Programacion PLC

Instrucciones de Subrutina

• SRnLlama a la subrutina referenciada por el rótulo SRn: si el resultado de la operación previa es 1.

• RETSe 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).

Page 38: Programacion PLC

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)

Page 39: Programacion PLC

Operandos de tipo Palabra

%SWi (0 i 127)

Acceso a datos que vienen del PLCPalabras del sistema

%KWi (0 i 63)

Se modifican desde el menú de configuración

Palabras constantes

%MWi (0 i 255)

Para uso del usuarioPalabras internas

Valores enteros entre –32768 y 32767

Valores inmediatos

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

Page 40: Programacion PLC

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.

Page 41: Programacion PLC

Instrucciones numéricas:Asignación

[Op1:=Op2]:=

SintaxisOperador

Valor inmediato, %MWi, %KWi, %SWi, %BLK.x

%MWi, %SWi

Op2Op1

Page 42: Programacion PLC

Instrucciones numéricas:

Comparación

LD [Op1 oper Op2]

AND [Op1 oper Op2]

OR [Op1 oper Op2]

>, >=, <, <=, =, <>

SintaxisOperador

Valor inmediato, %MWi, %KWi, %SWi, %BLK.x

%MWi, %KWi, %Swi, %BLK.x

Op2Op1

Page 43: Programacion PLC

Instrucciones numéricas:Aritméticas

[Op1 := SQRT(Op2)]SQRT

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

[oper Op1]INC, DEC

SintaxisOperador

Valor inmediato, %MWi, %KWi, %SWi, %BLK.x

%MWi, %SWi

Op2/Op3Op1

Page 44: Programacion PLC

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.

Page 45: Programacion PLC

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/catedras/tldcaut/