Vous êtes sur la page 1sur 33

PROGRAMACIN CON E/S DIGITALES

Variables binarias. Combinaciones binarias. Operaciones de asignacin. Temporizadores y contadores. Operaciones digitales. Ejemplos.

Fundamentos de Automtica

Variables binarias

La mayora de las aplicaciones de automatizacin evolucionan mediante seales (entradas y salidas) de tipo binario. Lenguajes de programacin de autmatas orientados al tratamiento de entradas y salidas digitales. STEP7 de Siemens permite programar en: Diagrama de contactos: KOP. Plano de funciones: FUP. Lista de instrucciones: AWL. Programacin grfica: S7-GRAPH. Variables binarias bsicas (1 bit): Entrada digital: E. Salida digital: A. Marca (posicin de memoria): M. Tratamiento especfico de variables analgicas.

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: Introduccin


Utilizan variables que slo poseen 2 estados, representados por 1 y 0. Basadas en el lgebra de Boole Y lgica (AND). O lgica (OR). NO lgica (NOT). O exclusiva (XOR).
a b a 0 0 1 1

AND
b 0 1 0 1

f=a.b f 0 0 0 1

a b a 0 0 1 1

OR
b 0 1 0 1

f=a+b f 0 1 1 1

NOT
a 0 1 f 1 0

a b a 0 0 1 1

XOR
b 0 1 0 1

f f 0 1 1 0

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: Smbolos elctricos


Basados en esquemas de rels. Se indica su estado en ausencia de activacin/excitacin Contactos normalmente abiertos (NA)
No circula corriente.

Contactos normalmente cerrados (NC)


Circula corriente.
Contactos Estado No activado Corriente Entrada API NO SI SI NO 0 1 1 0

S1 S2

S3 S4 L3
NA

Activado No activado NC Activado

L1

L2

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: AND (Y lgica)


KOP
E 0.1 E 3.6 A 7.1

FUP
E 0.1 E 3.6 & A 7.1 = M 3.0 = & M 8.7 = M 5.1 = A 0.0 = E 3.4 A 7.1 M 8.7 & A 1.2 =

AWL
U E 0.1 U E 3.6 = A 7.1 = M 3.0 UN E 1.1 U M 3.0 = M 8.7 = M 5.1 = A 0.0

M 3.0 E 1.1 M 3.0 M 8.7 E 1.1 M 5.1 M 3.0

A 0.0

E 3.4

A 7.1

M 8.7

A 1.2

U E 3.4 U A 7.1 UN M 8.7 = A 1.2

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: OR (O lgica)


KOP FUP

AWL

E 3.4

A 8.7 M 5.1 E 3.4 A 7.1 M 8.7 1 A 8.7 = M 5.1 = O E 3.4 O A 7.1 ON M 8.7 = A 8.7 = M 5.1

A 7.1 M 8.7

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: AND delante de OR


KOP
E 3.4 M 8.7 A 8.7 M 5.1

A 7.1

E 4.3

AWL
U E 3.4 U M 8.7 O( UN A 7.1 U E 4.3 ) = A 8.7 = M 5.1

FUP
E 3.4 M 8.7 A 7.1 E 4.3 & & 1 A 8.7 = M 5.1 =

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: OR delante de AND


KOP
E 3.4 M 8.7 A 8.7 M 5.1

A 7.1

E 4.3

AWL
U( O E 3.4 ON A 7.1 ) U( O M 8.7 O E 4.3 ) = A 8.7 = M 5.1

FUP
E 4.3 M 8.7 A 7.1 E 3.4 1 1 & A 8.7 = M 5.1 =

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: XOR (O exclusiva)


KOP
E 3.4 E 3.4 M 8.7 M 8.7 A 8.7 M 5.1

AWL
U E 3.4 UN M 8.7 O( UN E 3.4 U M 8.7 ) = A 8.7 = M 5.1 X E 3.4 X M 8.7 = A 8.7 = M 5.1

FUP
E 3.4 M 8.7 E 3.4 M 8.7 & & 1 A 8.7 = M 5.1 = E 3.4 M 8.7 XOR A 8.7 = M 5.1 =

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: Ejemplo


La lmpara debe encenderse con S1 activado y S2 desactivado.
S1 E 0.0 S2 S1 E 0.1 E 0.0 S2 S1 E 0.1 E 0.0 S2

10

API
A 1.0

API
A 1.0

API
A 1.0

E 0.1

Lmpara E 0.0 E 0.1 A 1.0

Lmpara E 0.0 E 0.1 A 1.0

Lmpara E 0.0 E 0.1 A 1.0

E 0.0 E 0.1

&

A 1.0 =

E 0.0 E 0.1

&

A 1.0 =

E 0.0 E 0.1

&

A 1.0 =

U E 0.0 UN E 0.1 = A 1.0

U E 0.0 U E 0.1 = A 1.0

UN E 0.0 U E 0.1 = A 1.0

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: Resultado

11

En el registro acumulador VKE (RLO: Resultado Lgico de la Operacin), de 1 bit, se almacena el resultado de las combinaciones binarias El resultado de la primera instruccin de una combinacin binaria (resultado de la primera consulta) se almacena sin estar sujeto a una operacin lgica: No existe diferencia en programar la primera instruccin como O o U en AWL. Al ejecutar las siguientes instrucciones de la combinacin, el valor previo del RLO se combina con el resultado de la instruccin y se genera un nuevo RLO. Cuando se ejecuta la ltima instruccin de una combinacin, el RLO se fija. A continuacin se programan las instrucciones que utilicen ese RLO. Instrucciones que permiten modificar el RLO NOT: Invierte el valor del RLO. CLR / SET : Fija el valor del RLO a 0 / 1 sin condiciones previas. La siguiente instruccin de consulta es tratada como una primera consulta.

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Combinaciones binarias: Ejemplo resultado

12

0 0 0 0 0 0 1 0

0 0 0

1 1 1 0 0 0 1

1 0 0

1 0 1 1 1 1 1

1 1 1

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Operaciones de asignacin: =, R, S

13

Asignar = : Se transfiere el contenido del RLO a la direccin especificada. Cuando el RLO cambia, el estado de seal de esa direccin tambin cambia. Activar (set) S : Si RLO=1, la direccin especificada se fija al estado de seal 1 y permanece en ese estado hasta que sea desactivada (reseteada) por otra instruccin. Desactivar (reset) R : Si RLO=1, la direccin especificada se fija al estado de seal 0 y permanece en ese estado hasta que sea activada (seteada) por otra instruccin.
E 3.4 A 7.1 M 8.7 A 1.2 S E 3.4 A 8.7 R M 8.7 E 3.4 M 8.7 1 A 8.7 R O E 3.4 O M 8.7 R A 8.7 E 3.4 A 7.1 M 8.7 & A 1.2 S U E 3.4 U A 7.1 UN M 8.7 S A 1.2

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Operaciones de asignacin: Comparacin


Implantacin de un biestable (flip-flop): Celda bsica de memoria.
E 0.0 E 0.1 A 1.0 E 0.0 A 1.0 A 1.0 E 0.1 1 & A 1.0 = U( O E 0.0 O A 1.0 ) UN E 0.1 = A 1.0

14

E 0.0

A 1.0 S SR Q E 0.0 S

A 1.0 SR U E 0.0 S A 1.0 UN E 0.1 R A 1.0

E 0.1 R E 0.1 R Q

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Ejemplo programacin

15

Trasvase de lquidos entre depsitos: Cada depsito dispone de vlvulas de entrada y salida, y detectores de nivel mximo y mnimo. Las operaciones de llenado y vaciado son independientes.
E 0.2 E 0.3 A 1.0 S E 0.3 A 1.0 R E 0.1 E 0.4 A 1.1 S E 0.4 A 1.1 R U E 0.2 UN E 0.3 S A 1.0 U E 0.3 R A 1.0 U E 0.1 U E 0.4 S A 1.1 UN E 0.4 R A 1.1 E 0.2 E 0.3 E 0.3 & & A 1.0 S A 1.0 R A 1.1 S A 1.1 R

E 0.1 E 0.4 E 0.4

&

&

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Evaluacin de flancos

16

En numerosas ocasiones es ms interesante conocer cuando una seal cambia de estado (flanco), que el propio estado. Se utiliza una marca auxiliar que representa el valor en el ciclo anterior. Flanco de subida o positivo FP: Paso de 0 a 1.

Flanco de subida o negativo FN: Paso de 1 a 0.

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Operaciones digitales: Introduccin

17

Trabajan con bytes (8 bits), palabras (16 bits) y dobles palabras (32 bits): Carga / Transferencia de datos. Comparacin. Operaciones matemticas. Operaciones lgicas. Desplazamiento / Rotacin. En la CPU existen memorias auxiliares (registros), denominadas acumuladores, en las cuales se almacenan los operandos y el resultado de la operacin. El nmero de acumuladores depende del modelo de CPU: SIEMENS S7-300 posee 2 acumuladores de 32 bits cada uno, denominados ACU1 y ACU2. ACU1 es el acumulador principal, donde se devuelve el resultado de la operacin. ACU2 almacena el contenido previo del ACU1, cuando en este ltimo se escribe un nuevo valor. Existe tambin un bit de desbordamiento (OV: overflow).

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Operaciones digitales: Formato de datos


Cada tipo de dato tiene una longitud definida: EB7: Byte 7 de la memoria de entradas (8 bits).

18

MW3: Bytes 3-4 de la memoria de marcas (16 bits). AD12: Bytes 12-13-14-15 de la memoria de salidas (32 bits). -312: Nmero con signo (16 bits). L#523123: Nmero con signo (32 bits). C#215: Nmero sin signo en BCD (16 bits). 2#1010100101100001: Valor binario (16 bits). B#16#3A: Valor hexadecimal (8 bits). W#16#BF5D: Valor hexadecimal (16 bits). DW#16#BF03A50D: Valor hexadecimal (32 bits). -1.3e+3: Nmero real en coma flotante IEEE (32 bits). 3.14: Nmero real (32 bits).

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Operaciones digitales: Carga

19

Carga L: Copia el contenido de un byte, palabra o doble palabra de memoria al ACU1. El contenido previo de ACU1 pasa a ACU2. L EB 4 , L -129 , L B#16#3A ,
Instruccin
X X X

ACU1
X X X X X Y X 0 0 0 0 0 0 0 0 B Y X F Y X 0

ACU2
Y X 3 Y X A Y X 5 Y X 0 Y X D

L DW#16#BF03A50D L C#215

Cargas especiales: L Z3: Valor actual de contaje del contador 3 a ACU1, en binario.

LC Z3: Valor actual de contaje del contador 3 a ACU1, en BCD. L T6: Valor actual de temporizacin del temporizador 6 a ACU1, en
binario, sin base de tiempo. LC T6: Valor actual de temporizacin del temporizador 6 a ACU1, en BCD, con base de tiempo.
Fundamentos de Automtica Programacin de Autmatas con E/S Digitales Grao en Enxeera Mecnica

Operaciones digitales: Transferencia

20

Transferencia T: Copia el contenido de ACU1 a un byte, palabra o doble palabra de una zona de memoria. No se modifica el contenido de ACU2. T MW 80 , T AD 25 , T DBD2 , El nmero de bytes copiados de ACU1 depender del tamao del destino.
Instruccin

bit 31

ACU1

bit 0 MB3 MB4 MB6

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB3 MB4 MB3 MB5

L MB3 L MW3 L MD3

AB9
T AB9 T AW9 T AD9 MB6 MB6 MB6

AB10

AB11

AB12

VVVVVVVVXXXXXXXXYYYYYYYYZ Z Z Z Z Z Z Z XXXXXXXXYYYYYYYYZ Z Z Z Z Z Z Z MB5 MB5 YYYYYYYYZ Z Z Z Z Z Z Z MB4 MB3

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Temporizadores: Introduccin

21

Presentan una secuencia de estados con valores 0 y 1 a lo largo del tiempo: Distintos tipo de temporizadores en funcin de dicha secuencia. rea especfica en la memoria del API: Se reserva una palabra de 16 bits para cada operando de temporizador. Cada modelo de CPU dispone de una cantidad determinada de temporizadores, fijada por el tamao de esta zona de memoria. Se disparan (arrancan) mediante la evaluacin de una condicin especfica: Flanco de subida (paso de 0 a 1 de una seal). En estado RUN se ejecuta una funcin de actualizacin de palabras de temporizacin: Disminuye en una unidad un valor de temporizacin dado en el intervalo indicado por la base de tiempos hasta alcanzar el valor 0. El valor de temporizacin se puede cargar en diversos formatos, con un valor mximo de temporizacin de 9.990 seg. (2 horas-46 min.-30 seg.). Existen mdulos de temporizador por hardware.

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Temporizadores: Valor de temporizacin

22

El valor de temporizacin se puede especificar en los siguientes formatos Formato de tiempo: S5T#aHbMcSdMS, con H horas, M minutos, S segundos, MS milisegundos y a, b, c, d definidos por el usuario
S5T#328S 328 segundos = 5 minutos y 28 segundos. Seleccin automtica de la base de tiempos: S5T#5M28S S5T#328S

Formato binario: w#16#txyz, con t la base de tiempos (0 10 mseg., 1 100 mseg., 2 1 seg., 3 10 seg.) y xyz el valor de temporizacin en BCD (entre 000 y 999).
w#16#2328 328 seg.=5 minutos y 28 segundos. Base w#16#1057 5.7 segundos. tiempos w#16#0570 5.7 segundos.
X X Valor temporizacin en BCD

Formato genrico en memoria

NO todos los formatos se pueden utilizar en todas las formas de representacin del programa.

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Temporizadores: Impulso (SI)

23

El temporizador seleccionado arranca, E 7.5 tomando el valor 1, cuando se produce un flanco de subida en la entrada E 7.5. T 1.3 8 Si se produce un flanco de bajada en la A entrada E 7.5 antes de que haya transcurrido el intervalo programado, el 3 seg. < 3 seg. temporizador se para, y pasa a valor 0. Un flanco de subida en la entrada R finaliza la funcin de temporizacin actual.
T8 E 7.5 S_IMPULS S Q TV R E 5.7 DUAL DEZ A 1.3 E 7.5 S5T#3S E 5.7 T8 S_IMPULS S DUAL TW R DEZ Q A 1.3 = U E 7.5 L S5T#3S SI T8 E 5.7 U T8 RA T8 = 1.3 U T8 = A 1.3

S5T#3S

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Temporizadores: Impulso prolongado (SV)


El temporizador seleccionado arranca, tomando el valor 1, E 7.5 cuando se produce un flanco de subida en la entrada E 7.5. La temporizacin contina aunque A 1.3 la entrada E 7.5 pase a valor 0. Si se produce un nuevo flanco de subida durante la temporizacin, sta comienza de nuevo.
T8 E 7.5 S S5T#3S TV R S_VIMP Q DUAL DEZ A 1.3 E 7.5 S5T#3S

24

3 seg.

3 seg.

> 3 seg.

T8 S_VIMP S DUAL TW R DEZ Q A 1.3 = U E 7.5 L S5T#3S SV T8 U T8 = A 1.3

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Temporizadores: Retardo a conexin (SE)


El temporizador seleccionado arranca, permaneciendo en valor 0, cuando se produce un flanco de subida en la entrada E 7.5. Al terminar la temporizacin pasa a valor 1 hasta que la entrada de disparo vuelve a 0. Si se produce un flanco de bajada durante la temporizacin, el temporizador se para.
T8 E 7.5 S5T#3S S_EVERZ S Q TV R DUAL DEZ A 1.3 E 7.5 S5T#3S E 7.5

25

A 1.3 3 seg. < 3 seg.

T8 S_EVERZ S DUAL TW R DEZ Q A 1.3 = U E 7.5 L S5T#3S SE T8 U T8 = A 1.3

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Temporizadores: Retardo a conexin con memoria (SS)


El temporizador seleccionado arranca, permaneciendo en valor 0, cuando se produce un flanco de subida en la entrada E 7.5. Al terminar la temporizacin pasa a valor 1, hasta un flanco de subida en la entrada de reset (R). Si se produce un flanco de subida durante la temporizacin, el temporizador arranca de nuevo.
T8 E 7.5 S5T#3S E 7.7
Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

26

E 7.5

A 1.3 <3 seg. 3 seg. 3 seg. E 7.7

S_SEVERZ S Q TV R DUAL DEZ

A 1.3 E 7.5 S5T#3S E 7.7

S_SEVERZ S DUAL TW R DEZ Q A 1.3 =

U E 7.5 L S5T#3S SS T8 U E7.7 R T8 U T8 = A 1.3

Temporizadores: Retardo a desconexin (SA) 27


Cuando se produce un flanco de subida en la entrada E 7.5, el temporizador toma el valor 1. En el flanco de bajada de E 7.5 se inicia la temporizacin, al final de la cual el temporizador pasa a valor 0. Si se produce un nuevo flanco de bajada durante la temporizacin, sta comienza de nuevo.
T8 E 7.5 S5T#3S S_AVERZ S Q TV R DUAL DEZ A 1.3 E 7.5 S5T#3S E 7.5

A 1.3

3 seg.

> 3 seg.

T8 S_AVERZ S DUAL TW R DEZ Q A 1.3 = U E 7.5 L S5T#3S SA T8 U T8 = A 1.3

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Contadores: Introduccin

28

Permiten almacenar, incrementar y decrementar un valor. rea especfica en la memoria del API: Se reserva una palabra de 16 bits para cada operando de contaje. Cada modelo de CPU dispone de una cantidad determinada de contadores, fijada por el tamao de esta zona de memoria. Las funciones asociadas (inicializacin, incremento, decremento) se disparan mediante la evaluacin de una condicin especfica: Flanco de subida (paso de 0 a 1 de una seal). El valor de contaje se establece entre 0 y 999 en binario (11 1110 0111). Existen mdulos de contaje rpido por hardware.

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Contadores: Operaciones

29

Inicializacin: Carga el valor inicial de contaje, habitualmente como constante en BCD (C#58), en el contador seleccionado. Incremento: Aumenta en una unidad el valor de contaje hasta llegar a 999. Al alcanzar dicho lmite superior dejar de incrementarse. Decremento: Disminuye en una unidad el valor de contaje hasta llegar a 0. Al alcanzar dicho lmite inferior dejar de decrementarse. Consulta: Devuelve un 1 siempre que el valor de contaje sea distinto de 0.
E 5.7 Z4 SZ C#58 Z4 ZV E 10.0 Z4 Z4 ZR A 3.1 Z4 E 10.0 E 5.7 C#58 E 3.3 Z4 SZ CV Z4 ZV Z4 ZR A 3.1 = U E 5.7 L C#58 S Z4 U E 3.3 ZV Z4 U E 10.0 ZR Z4 UN Z4 =A 3.1

E 3.3

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Contadores: Bloques completos


30

Se pueden agrupar en un nico bloque (slo en FUP y KOP) todas las operaciones posibles sobre un contador. Un flanco de subida en la entrada S ajusta el valor del contador al valor de contaje prefijado en la entrada ZW. Zn Un flanco de subida en la entrada ZV incrementa en ZAEHLER una unidad el valor de contaje hasta llegar a 999. ZV Un flanco de subida en la entrada ZR decrementa en ZR una unidad el valor de contaje hasta llegar a 0. S DUAL Si las entradas ZV y ZR tienen un flanco de subida, DEZ ZW se procesan las dos operaciones y el valor de contaje se mantiene invariable R Q Un flanco de subida en la entrada R ajusta el valor del contador a 0. Siempre que el valor del contador sea distinto de 0, la salida Q se encuentra a 1.

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Operaciones digitales: Comparacin

31

Comparan el contenido del ACU2 con el contenido del ACU1 segn los tipos de comparacin siguientes: ==I: ACU2 es igual a ACU1 (16 bits).

<>I: ACU2 es diferente a ACU1 (16 bits). >I: ACU2 es mayor que ACU1 (16 bits). <I: ACU2 es menor que ACU1 (16 bits). >=I: ACU2 es mayor o igual que ACU1 (16 bits). <=I: ACU2 es menor o igual que ACU1 (16 bits).
L MW 5 L MW 23 <=I
0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 ACU2 ACU1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 ACU1 0 RLO

El resultado se devuelve en el RLO: 1=CIERTO, 0=FALSO.

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Operaciones digitales: Aritmticas

32

Combinan el contenido de ACU1 y ACU2: El resultado se deposita en el ACU1, permaneciendo inalterado el ACU2. +I, +D, +R: Sumar ACU1 y ACU2 (enteros 16 - 32 bits, real 32 bits).

-I, -D, -R: Restar ACU1 de ACU2 (enteros 16 - 32 bits, real 32 bits). *I, *D, *R: Multiplicar ACU1 y ACU2 (enteros 16 - 32 bits, real 32 bits). /I, /D, /R: Dividir ACU2 por ACU1 (enteros 16 - 32 bits, real 32 bits).
En caso de desbordamiento se activa el bit de estado OV (overflow).
L MW 5 L MW 23 +I
0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 ACU1 ACU2 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 ACU1 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 ACU1

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Ejemplos (I)
La cinta puede ponerse en marcha o pararse, mediante los pulsadores correspondientes, desde cualquiera de sus extremos. El sensor S5 detiene la cinta cuando un paquete alcanza el final de la cinta.
E 3.3 E 3.5 E 3.4 E 3.6 E 3.7 A 5.5 R A 5.5 S E 3.3 E 3.5 E 3.4 E 3.6 E 3.7 1 A 5.5 R 1 A 5.5 S O E 3.3 O E 3.5 S A 5.5 O E 3.4 O E 3.6 ON E 3.7 R A 5.5

33

E 3.7 A 5.5 E 3.3 E 3.4 E 3.5 E 3.6

Fundamentos de Automtica Programacin de Autmatas con E/S Digitales

Vous aimerez peut-être aussi