Você está na página 1de 55

Programacin S7 1

PROGRAMACIN S-7

Programacin S7 2

TIPOS DE DATOS BSICOS


TIPO

Tamao (bits)

SIMBOLO

COMENTARIO

BOOL

{0,1}

INT

16

con signo

DINT

32

con signo

BYTE

sin signo

WORD

16

sin signo

DOUBLE WORD

32

DW

sin signo

REAL

32

notacin nmero

con signo

DOUBLE WORD

32

DW

sin signo

S5TIME

16

S5T

aHbbMccSdddMS
Tmax: 2H46M30S (9990s)

TIME

32

Hora

DATE_AND_TIME

64

DT

Fecha y hora

alfanumrico

CHAR
STRING

ABCD

Programacin S7 3

CONSTANTES / FORMATO
Nmero

Tamao
(bits)

Formato

Rango

Ejemplo

12

16

L 12

L#

2
231

100000

32

L L#10000

0,0053

32

[1.171038, 3.410+38]

L 5.3E-3

AF

B#16#

28
216
232

L B#16#AF

FF99

16

W#16#

FF99AFAF

32

DW#16#

Binario

16

2#

Binario

32

2#

5m3seg

16

S5T#

9990 seg.

L S5T# 5M3S

BCD

16

C#

0-999

L C#890

15

216
232

L W#16#FF99
L DW#16#FF99AFAF
L 2#0010101
L 2#100101000101

Programacin S7 4

AWL-OPERADORES DE VARIABLES BINARIAS


OPERADOR

MODIFICADOR

OPERANDO

COMENTARO

U, O, X

Variable lgica

1 consulta

Booleano

Asignacin

Booleano

And, Or, Xor

=
U, O, X

N, (

Eval. op. Aplazada

Booleano

Pone a 1 si RLO=1

Booleano

Pone a 0 si RLO=1

NOT

RLO

CLR

RLO

SET

RLO

SAVE

RB

Guarda RLO en RB

FP

Marca flanco

Flanco de subida

FN

Marca flanco

Flanco de bajada

Programacin S7 5

BLOQUES OPERACIONES BINARIAS


FLANCOS y CONECTORES
Mflanco

A1.0

A1.0 = Expresin

Expresin

Mflanco

A1.0

A1.0 = Expresin

Expresin

E1.0
Expresin

A1.0

A1.0 = Expresin ( E1.0 )

POS

Mflanco
E1.0
Expresin

A1.0

A1.0 = Expresin ( E1.0 )

NEG

Mflanco
A1.0

M10.0
Expresin

NOT

Bloque conector

A1.0 = Expresin
M 10.0 = Expresin

Programacin S7 6

EJEMPLO

A1.6 = ( E1.0 E1.3) + ( E1.1 E1.2)


AWL S7

CONTACTOS (KOP)
E1.0

M100.0

E1.3

P
E1.1

M100.1
N

E1.2

A1.6

AWL S7

U E1.0

U E1.0

FP M100.0

FP M100.0

= M100.6

= M100.6

U M100.6

U E1.1

U E1.3

FN M100.1

O(

= M100.7

U E1.1
FN M100.1

U M100.6

= M100.7

U E1.3

U M100.7

UN E1.2

U M100.7

UN E1.2

= A1.6

= A1.6

Programacin S7 7

PALABRA DE ESTADO
RB

A1

BIT

A0

Nombre

OV

OS

OR

STA

RLO

Significado

/ER

Primera consulta a nivel bajo

RLO

Resultado lgico

STA

Valor del bit direccionado

OR

Combinacin Y = 1

OS

Overflow memorizado (stored)

OV

Overflow ltima operacin

A0

Res. Comparacin / Artimtica / Op.


lgicas / Op. Shift+Rot / Errores

A1

Res. Comparacin / Artimtica / Op.


lgicas / Op. Shift+Rot / Errores

RB

Resultado Binario

9-15

Sin uso

/ER

Programacin S7 8

CONSULTA DE PALABRA DE ESTADO


Consulta Devuelve TRUE si se cumple

OB1
U ==0
S M 1.0
U BIE
S M1.1

==0

A1=0 AND A0=0

<>0

A1 distinto de A0

>0

A1=1 AND A0=0

<0

A1=0 AND A0=1

>=0

==0 OR >0

<=0

==0 OR <0

UO

A1=1 AND A0=1


(Error en tiempo de ejecucin: e.g. divisin por cero)

BIE

RB=1

OS

OS=1

OV

OV=1

Programacin S7 9

ACTUALIZACIN PALABRA DE ESTADO

RB

A1

A0

OV

OS

OR

STA RLO /ER

L 5

L 0

/I

U UO

= A1.0

OB1

Programacin S7 10

DIRECCIONAMIENTO DE MEMORIA: BIG-ENDIAN


MEMORIA DE USUARIO (E, M, A)

MB 0

MB 1

MW 0

MD 0
MW 1
MB 2

1
MD 1

MB 3

MB 4

L DW#16#FF00FF00
T MD 0

Programacin S7 11

OPERADORES SOBRE VALORES ANALGICOS


Operadores de carga (L) y transferencia (T)
Operaciones Aritmticas (+,-,/,x)
Operaciones de Comparacin (>,<,<>,>=,)
Operaciones con conjuntos de variables lgicas (UW, OW, XOW)
Mscaras de bits

Otras
Operaciones de Desplazamiento y Rotacin
Operaciones de conversin
Operaciones de redondeo etc.

Programacin S7 12

CARGA Y TRANSFERENCIA
OPERADORES
OPERADOR CARGA: L
OPERADOR TRANSFERENCIA: T

L EW10
EW10

ACU1

ACU2

MW10

T MW10
32 bits
No modifica
ACU1

Programacin S7 13

OPERACIONES ARITMTICAS
DOS OPERANDOS IMPLCITOS
A1, A0
ACU2

Operador

<OPERADOR>

Tamao(bits)

ACU1

ACU1

Comentario

(+,-,/,*) I

16

/I: Cociente ACU1-L, Resto ACU1-H

(+,-,/,*) D

32

/D: Cociente ACU1

MOD

32

Resto de divisin entera

(+,-,/,*) R

32

+ <entero>

16 / 32

nico operando implcito ACU1

ARGUMENTOS IMPLCITOS EN LOS ACUMULADORES


NO MODIFICAN EL BIT /ER

OVERFLOW?

Programacin S7 14

OPERACIONES ARITMTICAS

A1=1 Y A0=0 sin overflow : ACU1 > 0


A1=0 Y A0= 1 sin overflow : ACU1 <0

A1=1 Y OV=1 : Superado el valor mximo


A0=1 Y OV=1 : Minorado el valor mnimo
A1=1 Y A0=1: Divisin por cero,

OVERFLOW

A1=0 Y A0=0 : ACU1 == 0

VALOR ACU1 EN
RELACIN CON 0

REGLAS GENERALES BITS DE ESTADO A1 y A0

Programacin S7 15

EJEMPLOS
OPERACIONES ARITMTICAS
SUMA CTE ENTERA (ACU1)
L 5
L 8
+13

ACU1=21, ACU2=5
A1=1, A0=0

MULTIPLICACIN 16 bits
L 1000
L 100

ACU1=100000 A1=1,
A0=0, OV=1, OS=1

*I

SUMA 16 bits

MULTIPLICACIN 16 bits

L -8
L 6
+I

ACU1=-2

L 1000

A1=0, A0=1

L 100
*I

ACU1=100000
A1=1, A0=0, OV=1, OS=1

L 200
ACU1=1000
DIVISIN 16 bits

L 5
A1=1, A0=0, OV=0, OS=1
*I

L 2
L 6
/I

ACU1=0x20000
A1=1, A0=0

Programacin S7 16

OPERACIONES ARITMTICAS
UN OPERANDO IMPLCITO

ACU1

<OPERADOR>

ACU1

OB1
L 9.0E10
SQR
UN OV

ABS SQR SQRT EXP


LN SIN COS TAN
ASIN ACOS ATAN

SPB OK
BEA
OK: T MW10

Nmeros reales (coma flotante, 32 bits)

Programacin S7 17

OPERACIONES DE COMPARACIN
A1

A0
ACU2

<OPERADOR>

Operador

ACU1

RLO

Tamao(bits) Comentario

(==,<>,>,<,>=,<=) I

16

(==,<>,>,<,>=,<=) D

32

(==,<>,>,<,>=,<=) R

32

ACU-1 y
ACU-2 no
varan

Los bits A1 y A0 mantienen su significado intuitivo


respecto a los valores de ACU2 y ACU1
NO MODIFICAN EL BIT ER

Programacin S7 18

EJEMPLOS
OPERACIONES COMPARACIN
L 5

Bits A1 y A0 de la palabra de
estado

L 8
>=I

ACU1=8, ACU2=5
A1=0, A0=1, RLO=0

ACU1

ACU2

L 5
L 8

A1

A0

Los valores de A1 y A0 no
dependen de la operacin de
comparacin en concreto,
sino del tamao relativo
del valor del ACU2 y del
ACU1 entre s.

ACU1=8, ACU2=5
A1=0, A0=1, RLO=1

<=I

L 9.7E+6
L 2
<I

ACU1=2, ACU2=9.7E+6
A1=1, A0=0, OV=0, OS=0

Programacin S7 19

EJEMPLOS (II)
OPERACIONES COMPARACIN
L 5

L 5
L 8
<I
= A 1.0

A1.0 = 1

L 8
U >=0

(5<8)

A1.1 = 1
(A1=0,A0=0)

= A 1.1

L EW0
L EW2
<I

A1.0 = 1 si EW0 < EW2 (con signo)

= A 1.0
U ==0
= A1.1

A1.1 = 1 si EW0 == EW2

Programacin S7 20

EJEMPLOS (III)
OB1
Primera consulta

S0
1
S1
C>3
C=C+1

2
C<=3
15

OB1

//

//

U E2

U E2

ZV Z1

ZV Z1

// Transicin

// Transicin

L Z1

L Z1

L 3

L 3

>I

>I

SPB _MA

S E1

U E2

R E2

S E15
R E2

U <=0

SPA FIN

S E15

_MA: NOP 0
U E2
S E1
FIN: NOP 0
//

R E2
//

Programacin S7 21

CONSULTA DE PALABRA DE ESTADO


Consulta

TRUE
(RLO = 1)

Tras Op.
Aritmtica

Tras Op.
Comparacin

==0

A1=0 AND A0=0

ACU1=0

ACU2 == ACU1

<>0

A1 distinto de A0

ACU1<>0

ACU2 <> ACU1

>0

A1=1 AND A0=0

ACU1>0

ACU2 > ACU1

<0

A1=0 AND A0=1

ACU1<0

ACU2 < ACU1

>=0

==0 OR >0

ACU1>=0

ACU2 >= ACU1

<=0

==0 OR <0

ACU1<=0

ACU2 <= ACU1

UO

A1=1 AND A0=1


(i.e. Divisin por cero)

BIE

RB=1

OS

OS=1

OV

OV=1
A1,A0->ACU1

A0->ACU1,A1->ACU2

Programacin S7 22

OPERACIONES CON CONJUNTOS DE V. LGICAS

ACU2

OPERADOR

Operador Tamao(bits)

ACU1

ACU1

Comentario

UW

16

Y lgica entre acumuladores (L)

OW

16

O lgica entre acumuladores (L)

XOW

16

XOR lgica entre acumuladores (L)

UD

32

Y lgica entre acumuladores

OD

32

O lgica entre acumuladores

XOD

32

XOR lgica entre acumuladores


OB1

SIN ARGUMENTOS EXPLCITOS

L MW10
L MW12
UW
T MW14

Programacin S7 23

DESPLAZAMIENTO, ROTACIN, COMPLEMENTO A 2

<OPERADOR>

<NBITS> +

ACU1

ACU1

OPERADORES
SLW SRW SLD SRD
RLD RRD
NEGI

Obtener la palabra con un


solo bit a 1 en la posicin
del primer bit a 1 de una
palabra cualquiera

NEGD

(sin arg.)

0.7

0.0

1 1 1 1 0 0 0 0

OB1
L W#16#F0F0
SLW

1 0 0 0 0 0 0 0

Programacin S7 24

CONVERSIN DE TIPOS
UN OPERANDO IMPLCITO

ACU1

<OPERADOR>

ACU1

OB1
L 9
T MW10
L MW10

BTI ITD DTB BTD DTR ITD

ITD
T MD 20
DTR

RND RND+ RND- TRUNC

T MD 30
SQRT
T MD40
TRUNC
T MW 50

Programacin S7 25

EJEMPLOS-ESCALABILIDAD
1-DETECCIN SIMULTNEA DE FLANCOS
0

P0

30

P1

P30

2-ACTIV./DESACTIV. SIMULTNEA DE ETAPAS

3-ARRANQUE EN FRIO

31

P31

Programacin S7 26

EJEMPLOS-ESCALABILIDAD
1-FLANCO DE 32 VARIABLES
ED10

Entrada (Pi)

MD100

Flancos

MD10

Pulsos

Flanco
positivo

Memoria

Flanco
negativo

L MD 100

L MD 100

L ED 10

L ED 10

XOD

XOD

L ED 10

L MD 100

UD

UD

T MD 10

T MD 10

L ED 10

L ED 10

T MD 100

T MD 100

Programacin S7 27

EJEMPLOS-ESCALABILIDAD
Ecuacin de
activacin

2-ACTIVACIN SIMULTNEA DE ETAPAS

U E0

U S1U E0
L DW#16#FFFFFFFF
U S1

S1

T MDSPBN
1 NOAC
R E0
//Activacin
1

31

32

DW#16#FFFFFFFF

T MD 1

MD 1

R E0
NOAC: NOP 0

DESACTIVACIN SIMULTNEA DE ETAPAS


//Desactiva 32 etapas
L DW#16#0
T ETAPAS_CODIFICADAS_EN BITS_CONSECUTIVOS

Programacin S7 28

EJEMPLOS-ESCALABILIDAD
DIVERGENCIA AND

Desactivacin simultnea

Transicin a E33

MD 1

L MD 1
L DW#16#FFFFFFFF
1

31

32

==D
SPBN NOAC
U S1
= E33

S1
Activacin
33

L DW#16#0
T MD1
NOAC: NOP 0

S2
34

//Retencin
U E33

EMPLEAR ECUACIN DE RETENCIN


EN LA CODIFICACIN

UN E34
Retencin

= E33
//

Programacin S7 29

EJEMPLOS-ESCALABILIDAD
3-ARRANQUE / REARME
EN FRIO

M 0.0

OB100
UN M1.0
UN M1.1

1
UN M1.2
//

OB100
SET
S M0.0
R Act.1
R Act.2
//
R Act.N

S M0.0
R Act.1
R Act.2

OB100

//

32

R Act.N

MD1

SET
S M0.0
L DW#16#0
T MD1

EN CALIENTE
OB102
L MD 1
L DW#16#0
==D
S M0.0
R Act.1
R Act.2
//
R Act.N

OB102
L MD 1
L DW#16#0
==D
SPBN _001
S M0.0
L DW#16#0
L AD1
_001:NOP 0
//

Programacin S7 30

INSTRUCCIONES DE CONTROL
INDICE

SALTO DENTRO DE UN BLOQUE


INCONDICIONAL
CONDICIONAL

CONTROL DE BLOQUES
CALL, UC, CC, BEA, BEB

CONTROL DE EJECUCIN DE GRUPO DE


INSTRUCCIONES (MCR)
SEGURIDAD

Programacin S7 31

SALTO DENTRO DEL BLOQUE


CONSIDERACIONES GENERALES
Interrupciones sin salirse del bloque
Se puede saltar hacia adelante o hacia atrs
Pueden modificar el bit que condiciona el salto
RLO, RB, OS, OV

Pueden modificar el bit de primera consulta


ER=0

Todas las etiquetas tienen un mximo de 4 caracteres alfanumricos y


un primer carcter obligatoriamente no numrico
SPA E001
SPA _001

SPA 0E01

Programacin S7 32

SALTO DENTRO DEL BLOQUE (II)


TIPOS

INCONDICIONAL
SPA : Salto incondicional (absoluto)
LOOP : Bucle FOR
SPL : Switch-case

CONDICIONAL
Operaciones lgicas / comparacin (RLO)
Operaciones aritmticas (A1, A0)
Errores (OV / OS / A1=1y A0=1)

Programacin S7 33

SALTO INCONDICIONAL - LOOP


LOOP

OB1
MW 10: INDICE

Decrementa el
contenido del
ACU1 y salta a
la meta NEXT,
si el ACU1-L >0

L 1
T MW 20
L 5
NEXT: T MW 10
L MW 20
*I
T MW 20
L MW 10
LOOP NEXT

MW
MW 20
20 == ?120

Programacin S7 34

SALTO INCONDICIONAL - SPL


SPL (SWITCH-CASE)
Variable de
decisin
L MB 0
SPL DEF
SPA SEG0
SPA SEG1
SPA SEG2
DEF:

NOP 0

LISTA DE METAS (0-255)


Salta aqui si ACU1-L-L > 2

SET
= A2.0
[SPA FIN]

[BEA]
SEG0:

SET
= A1.0
[SPA FIN]

Salta aqui si ACU1-L-L=0

SEG1:

SET
= A1.1
[SPA FIN]

Salta aqui si ACU1-L-L=1

SEG2:

SET
= A1.2
[SPA FIN]

Salta aqui si ACU1-L-L=2

FIN:

CLR

Programacin S7 35

SALTO CONDICIONAL

SABER

Operador

Condicin

Nueva palabra estado

SPB

RLO=1

RLO =1 / ER=0

SPBN

RLO=0

RLO =1 / ER=0

SPBB

RLO=1

RLO =1 / RB=X / ER=0

SPBNB

RLO=0

RLO =1 / RB=X / ER=0

SPBI

RB=1

ER=0

SPBIN

RB=0

ER=0

SIEMPRE PRIMERA CONSULTA


NO CONCATENAR

Copia del RLO en


el momento de la
ejecucin de la
instruccin

Programacin S7 36

EJEMPLOS
IMPLEMENTACION-AWL

SPB: Switch-Case

Divergencia
OR
0

Pesar

P<30Kg

P>=30Kg
1

Divergencia
OR

L EW10

L EW10

L 30

L 30

>=I

>=I

= Maux

SPB _MAY

//Act Etapa1

EW10

Peso (Kg)

M1.0

Etapa 0

M1.1

Etapa 1

M1.2

Etapa 2

//Act. Etapa2

S M1.1

S M1.2

R M1.0

R M1.0

//Act Etapa2

SPA CONT

U M1.0

//Act. Etapa1

UN Maux

_MAY:

S M1.2
R M1.0

S M1.1
R M1.0

_CONT:

NOP 0
//...

Programacin S7 37

EJEMPLO (II)
BLOQUE
COMPARADOR

SPB: Switch-Case
L EW 0
L EW 2
==I
SPB _IGU

EW 0

EW 0 = EW 2

M1.0

EW 0 > EW 2

M1.1

EW 0 < EW 2

M1.2

EW 2

U >0
SPB _MAY
U <0
SPB _MEN

EJERCICIO
_IGU:

= M1.0
SPA FIN

_MAY:

FIN:

L 10

EW0 > EW2

L 12
<>I

= M1.2
NOP 0

U E1.0
U(

= M1.1
SPA FIN

_MEN:

EW0 = EW2

EW0 < EW2

)
= M1.0

Programacin S7 38

SALTO CONDICIONAL
DEPENDENCIA BITS: A1,A0 (Op. Aritmticas / Comparacin)
Operador
Resultado
(Id. asociado) Op. Aritmtica

Resultado
Op. Comparacin

SPZ (=0)

ACU1=0

ACU2 = ACU1

SPN (<>0)

ACU1<>0

ACU2 <> ACU1

SPP (>0)

ACU1>0

ACU2 > ACU1

SPPZ (>=0)

ACU1>=0

ACU2 >= ACU1

SPM (<0)

ACU1<0

ACU2 < ACU1

SPMZ (<=0)

ACU1<=0

ACU2 <= ACU1

NO MODIFICAN LOS BITS DE LA PALABRA DE ESTADO

Programacin S7 39

EJEMPLO (III)
SPB: Switch-Case
BLOQUE
COMPARADOR

L EW 0
L EW 2
==I
SPB _IGU
SPP _MAY

EW 0

EW 0 = EW 2
EW 0 > EW 2

M1.1

EW 0 < EW 2

M1.2

EW 2

SPM _MEN

_IGU:

= M1.0

EW0 = EW2

SPA FIN
_MAY:

= M1.1

EW0 > EW2

SPA FIN
_MEN:
FIN:

= M1.2
NOP 0

M1.0

EW0 < EW2

Programacin S7 40

SALTO CONDICIONAL
GESTIN ERRORES

Operador

Resultado Op. Artimtica

Palabra de estado

SPO

Salta is OV=1

SPS

Salta si OS=1

OS = 0

SPU

Salta si el resultado no es
vlido (i.e. 3/0)

NO MODIFICAN LOS BITS DE LA PALABRA DE ESTADO


(Excepto OS(SPS))
SPS SIG

Como borrar Bit OS?

SIG:

NOP 0
//

Programacin S7 41

EJEMPLOS
GESTIN DE ERRORES
FC-1
SGTE:

SPS SGTE
L MW 12
L MW 14
*I
L MW 16
/I
SPS OVER
SPP _>0
SPA _COM

OVER:

NOP 0
...

//Borra bit OS inicio bloque

//Overflow (Borra Bit OS)


//Resultado >0

//Tratamiento Overflow

SPA _COM
_>0:
_COM:

NOP 0
...

//Cdigo relativo (>0)

NOP 0
...

//Programa comn

Programacin S7 42

RESUMEN SALTOS CONDICIONALES EN EL BLOQUE

Operador

Palabra
Estado

Operador
Palabra
(Id. asociado) Estado

SPB

RLO =1 / ER=0

SPZ (=0)

SPBN

RLO =1 / ER=0

SPN (<>0)

SPBB

RLO =1 / RB=X / ER=0

SPP (>0)

SPBNB

RLO =1 / RB=X / ER=0

SPPZ (>=0)

SPBI

SPM (<0)

SPBIN

SPMZ (<=0)

SPO

SPU

SPS

OS=0

Programacin S7 43

ESQUEMA DE LLAMADAS ENTRE BLOQUES


CALL
CC
CALL<FBX,DBX>

OB1: Ciclo principal

Sistema Operativo

UC

FBX

FCX

DBX

FBX
DBX
Accesible por
cualquier bloque

OB_X
DBY
(global)

FCX

Programacin S7 44

INSTRUCCIONES DE CONTROL ENTRE BLOQUES


Primera consulta siempre
(ER=0)
Operador

Descripcin

Observaciones

CALL<ID_BLOQUE>
LLamada incondicional
[, <ID_BLOQUE_DATOS>] de un bloque
UC <ID_FUNCION>

Llamada incondicional
de un bloque

No permite paso de
parmetros ni llamadas a
bloques FB

CC <ID_FUNCION>
[RLO=1]

Llamada condicionada
de un bloque

No permite paso de
parmetros ni llamadas a
bloques FB

BE

Fin incondicional de
bloque
(autmata)

BEA

Fin incondicional de
bloque (usuario)

BEB [RLO=1]

Fin condicionado a
RLO=1

Programacin S7 45

INVOCACIN CON GESTIN DE ERROR (Bit RB)


ENABLE-ENABLE OUT
FC1

E 1.0
E

M 1.0
EO

(500 * 600)
Implementacin
caja

Uso de
bit de
error RB

U E1.0
SPBNB _001

L 500
L 600
*I

Tarea
Objetivo

CALL FC_1
UN OV
SAVE
_001:

U BIE
= M 1.0

OB1

RB=Bit de Error
Error: Nivel bajo

FC1

Programacin S7 46

EJEMPLO
GESTIN DE ERROR MEDIANTE EL BIT RB
Bloque invocante
U M100.0
SPBNB _001
_001:

CALL FC1

FC1

U BIE

L EW 0

= M100.1

L EW 2
*I
SPO _ERR
T MW 1

BLOQUE
MULTIPLICADOR

BEA
_ERR:

M 100.0

EO

M 100.1

EW 0
EW 2

EW 0 * EW 2

MW 1

CLR
SAVE

Programacin S7 47

EJEMPLO (II)
GESTIN DE ERROR MEDANTE EL BIT RB
U M100.0
SPBNB _001

ERROR?

CALL FC1
_001:

U BIE

M100.0=1

M100.1=0

SPBNB _002
CALL FC2
_002:

U BIE
= M100.1

CADENA DE BLOQUES MULTIPLICADORES


FC2

FC1
M 100.0

EO

M 100.1

EW 4

EW 0
EW 2

EO

EW 0 * EW 2

MW 1

EW 6

EW 4 * EW 6

MW 3

Programacin S7 48

TEMPORIZADORES
BLOQUES KOP

TX (0-XXX)
<TIPO>
Habilitacin

FR

Seal de disparo
S

Habilitacin (FR)
Borra el biestable que
detecta el flanco de la
seal de disparo.

[S5T#]
Reset

En consecuencia redispara
el temporizador si se
encuentra la seal de
disparo activada por
nivel.

REGISTROS TX, TW, DU, DE

DU
DE

Binario natural
BCD

TW
R

BOOL

Comparacin de
tiempos intermedios

16 BITS

Programacin S7 49

TEMPORIZADORES (II)
IMPLEMENTACIN AWL
E 2.0
0

FR

T1
<SI>

U
L
MW10
SE
MW12
U
FR

E 2.1
S

SE1

S5T#10s
SE1

U
U
S
R

MOTOR 1
E 2.2

DUAL
DEZ

TW
R

A 4.0
U
U
S
R

(T1 / X 1 / 50 s ) SE1

2
SE1

PRIORIDAD T1 o
Flanco de SE1?

U
FR
U
L
SI
U
R
U
=
L
T
LC
=

E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1
MW10
T1
MW12

//Habilitar

E0
FlancoSE1
E1
E0
E1
S5T#50s
T1
SE1
T1
E1
T1
E2
E1

T1

//
// ACU1_L = 10 segundos

//Pone T1 a 0
//Consulta el estado T1.
//ACU1_L= valor de T1 (binario)
// ACU1_L= valor de T1 (BCD)

Programacin S7 50

MOSTRAR El CERO AL TEMPORIZADOR


SOLUCION
0

Ecuacin
Activacin Etapa 2
P1

U E1
SPBN _002
L S5T#10s
SE T1

1
T1/E1/10s

U
U
S
R

2
P2

_002:

E1
T1
E2
E1

NOP 0
//...

OPCIN
A
OPCIN
OPCINBC
CORRECTO?
CORRECTO?
U E1
UU EE
12
SPBN
_002
SPBN
_002
SPBN
_003
L S5T#10s
L S5T#10s
SECLR
T1
SE
SET1
T1
U U
E1P2
US E1
U T1E1
U T1
S R
E2E2
S E2
R E1
E1
_003: RRNOP
T1 0
_002:
_002:

El temporizador T1 no funciona a
partir de la segunda activacin de la
etapa 1. Hay que mostrarle el cero

NOP 0
FR T1
NOP 0

Programacin S7 51

CONTADORES
BLOQUES KOP
ZX (0-XXX)
<Tipo>
Suma

ZV

Resta
ZR

DU
DE

Seal de carga

[C#]
Habilitacin
Reset

Salida Binario
natural

Salida BCD

S
ZW

Salida lgica
( ==0 falso )

U
FR
U
L
S
U
R
U
=
U
ZV
U
ZR
L
T
LC
T

Habilitacin
Z1
//Habilitar Z1
Carga
C#3
// Carga Z1 con 3 unidades
Z1
Reset
Z1
//Poner Z1 a 0
Z1
A 4.0
//A4.0=Q
Suma
Z1
//Incrementa en una unidad
Resta
//Decrementa en una unidad
Z1
Z1
//ACU1_L= DU
MW10
Z1
//ACU1_L= DE
MW12

FR
R

No aparece en
KOP de Siemens

REGISTROS ZX, ZW, DU, DE

16 BITS

Programacin S7 52

PASO DE PARMETROS
BLOQUE SUMADOR: FUNCIN

Se usa # para
indicar parmetro

Programacin S7 53

PASO DE PARMETROS
BLOQUE OPERACION NUMRICA: [(A+B)/C]-D
FC1
A
B
C

IN

TEMP
(A+B/C)-D

OUT
RES
FC1

D
L
L
+I
L
/I
T

#A
#B

L
L
-I
T

#Div
#D

#C
//Divisin entera
#Div

#RES

Programacin S7 54

PASO DE PARMETROS
IMPLEMENTACIN AWL
0
SE1

SE1

Tipo IN
MOTOR 1

(T1 / X 1 / 50s ) SE1

SE1
S5T#50s

Etapa0
SE1

Etapa1

Etapa2

FC1

Tipo OUT
Motor1

Programacin S7 55

PASO DE PARMETROS
BLOQUE SUMADOR: BLOQUE INVOCANTE

Completar la gestin
del Enable Out

Você também pode gostar