Está en la página 1de 24

Operaciones Digitales

M0.0 CMP ==I A 9.7

EW0 IN1
EW2 IN2

T4
E0.7 S_ODT A8.5
S Q
S5T#35s TV BI MW0
E0.5
R BCD AW12

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.1

Contenido Página

Formato de representación de los números (16Bits) ..........................................................….……. 2


Formato de representación de los números (32 Bits) ............................................................…….. 3
Carga y Transferencia de datos (1).....................................................................................………....... 4
Carga y Transferencia de datos (2)...............................................................................…………......... 5
Carga y Transferencia de datos (3)...............................................................................…….....…........ 6
Contadores de S5 en STEP 7 ........................................................................................…...........… 7
Contadores: Diagrama Funcional ...................................................................................….............… 8
Contadores: Instrucciones de bit .............................................................................…................… 9
Ejercicio: Cuenta de objetos transportados (FC 18) ….................................................…...............… 10
Temporizadores: Retardo a la Conexión (SE) ..........................................................…..................… 11
Temporizadores: Formatos de Tiempo para los Temporizadores de S5 en STEP 7 ..............…..… 12
Temporizadores: Retardo a la Conexión memorizado (SS) ......................................................….… 13
Temporizadores: Impulso (SI) ...................….................................................................................… 14
Temporizadores: Impulso Prolongado (SV) .................................................................................… 15
Temporizadores: Retardo a la Desconexión (SA) ........................................................................ 16
Temporizadores: Instrucciones de Bit ...............................................................................................… 17
Ejercicio: Supervisión de las Funciones de Transporte (FC 17) ......................................................… 18
Operaciones de Conversión BCD <-> Entero....................................................................................... 19
Operaciones de Comparación ....................................................................................................... 20
Funciones Matemáticas Básicas ………............................................................................................ 21
Ejercicio: Cuenta de los Objetos Transportados (FC 18) ..............................................................… 22
Operaciones de Conversión I-> DI-> REAL .........................................................................…..….… 23
Operaciones Lógicas Digitales ......................................................................................................... 24

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-1 Operaciones Digitales
Formato de Representación de los Números (16 Bits)
PG CPU

Signo (+) 2 9 6

BCD W#16#296
0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
Números
Positivos 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
ENTERO
+296 28 25 23
= = =
256 + 32 + 8 = 296

Signo (-) 4 1 3
BCD W#16#F413
1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1
Números
Negativos 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1
ENTERO
-413 28 27 24 23 22
= = = = =
256+ 128 + 16+8+ 4 = 412
- (412 + 1) = - 413

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.2

Código BCD Cada dígito de un número decimal es codificado con 4 posicines de bit. Se usan 4
bits porque el dígito más alto en esta representación, 9, necesita 4 bits para ser
codificado en binario (1001).
Los dígitos decimales del 0 al 9 se representan en código BCD de igual forma que
los números binarios del 0 al 9.

ENTERO El tipo de datos INT es un entero (16 bits).


El signo (bit 15) indica si el número es positivo o negativo ("0" = positivo, "1" =
negativo).
Un entero de 16 bits puede tomar un valor entre -32 768 y +32 767.
En formato binario, se representa la forma negativa de un entero como el
complemento a dos del número entero positivo. (El complemento a dos se obtiene
cambiando ceros por unos (y viceversa), y sumando uno).
Para evaluar el patrón de bits de un número negativo, se ponderan las posiciones
de los ceros, después sumamos uno al resultado y ponemos un signo menos
delante.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-2 Operaciones Digitales
Formatos de Representación de los Números (32 Bits)

BCD Sign (+) 0 0 0 0 2 9 6

DW#16#296 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DINT

+296 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
28 25 23
= = =
Entero (32 Bit) = 256 + 32 + 8 = 296

REAL Formato General de un Número Real = (Signo) • (1.f) • (2e-127)


+0.75 Signo de
o un nº Real e = Exponente (8 Bit) f = Mantisa (23 Bit)
+7.5 E-1
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 26 25 24 23 22 21 20 2-1 2-2 2-3 2-4 ..... 2-23

Nº Real = +1,5 * 2 126-127 = 0,75

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.3

DINT Los enteros de 32 bits con signo son denominados también ”doble enteros”
(double integers) o ”enteros largos” (long integers).
Cubren el rango desde L# -2147483648 a L#+2147483647.

REAL Un número Real (también llamado número en coma flotante) es un número


positivo o negativo en el rango de -1.175495•10-38 a 3,402823•1038 .
Ejemplos: +10.339 o +1.0339E1
-234567 o -2.34567E5.
En representación exponencial, el exponente se especifica como potencia de 10.
Un número real ocupa dos palabras en memoria. El bit más significativo indica el
signo. Los otros bits representan la mantisa y el exponente en base dos.

Nota: La representación de números reales en STEP 7 cumple la norma IEEE


estándar.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-3 Operaciones Digitales
Carga y Transferencia de Datos (1)

LAD FBD STL

MOVE MOVE
L +5
EN ENO EN OUT MB5
T MB5

5 IN OUT MB5 5 IN ENO

Ejemplos L +5 // Constante 16-bit (Entero)


de Carga L L#523123 // Constante 32-bit (Doble
Entero)
L B#16#EF // Byte en forma hexadecimal
L 2#0010011011100011 // Valor binario 16-bit
L 3.14 // Constante de 32-bit (Real)

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.4

MOVE (LAD/FBD) Si la entrada EN está activa, el valor en la entrada “IN” se copia a la dirección de
salida “OUT”.
“ENO” tiene el mismo estado de señal “EN”.

L y T (STL) Las instrucciones de carga y transferencia se ejecutan independientemente del


RLO. Los datos se intercambian a través del acumulador.
La instrucción Carga (L) escribe el valor desde la dirección fuente alineado a la
derecha en el acumulador 1 y rellena los bits restantes (32 bits en total) con "0"s.
La instrucción Transferencia copia parte o todo el contenido del acumulador en el
destino especificado (ver siguiente página).

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-4 Operaciones Digitales
Carga y Transferencia de Datos (2)

Contenido de Contenido de
ACU1 ACU2
Programa

X X X X X X X X Y Y Y Y Y Y Y Y

:
:
L W#16#CAFE 0 0 0 0 C
0 A
0 F
0 E
0 X X X X X X X X

L W#16#AFFE 0 0 0 0 A
0 F
0 F
0 E
0 0 0 0 0 C A F E
:
:
:

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.5

ACU1 El ACU 1 es el registro central de la CPU. Cuando se ejecuta una instrucción


Carga, el valor a cargar se escribe en el ACU 1; para una instrucción de
transferencia el valor a transferir se lee del ACU 1, y los resultados de las
funciones matemáticas, operaciones de desplazamiento, rotación, etc. son
introducidos también en el ACU 1.

ACU2 Cuando se ejecuta una instrucción de Carga, el contenido anterior del ACU 1 es
desplazado al ACU 2 y ACU 1 se vacía (reset a “0”) antes de escribir el nuevo
valor en el ACU 1.

El ACU 2 se usa también para operaciones de comparación, operaciones lógicas


digitales, operaciones matemáticas y de desplazamiento. Estas operaciones se
explicarán con detalle más adelante.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-5 Operaciones Digitales
Carga y Transferencia de Datos (3)
Contenidos del ACU1
Programa
31 23 15 7 0

L MB 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 MB0

31 23 15 7 0
Carga
L MW 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0 MB1

31 23 15 7 0

L MD 0 MB0 MB1 MB2 MB3

T AD 4
AD 4

Transfer. T AW 4
AW 4

T AB 4
AB 4

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.6

General Los acumuladores son memorias auxiliares de la CPU para el intercambio de datos
entre varias direcciones y para operaciones matemáticas y de comparación.
El S7-300 tiene dos acumuladores de 32 bits cada uno y el S7-400 tiene 4
acumuladors de 32 bits cada uno.

Carga La instrucción de carga, carga el contenido del byte, palabra o doble palabra
especificado en el ACU 1.

Transferencia Cuando se ejecuta una instrucción de Transferencia, el contenido del ACU 1 se


mantiene. Por tanto, podemos transferir la misma información a otros destinos. Si
sólo transferimos un byte, se cogen los 8 bits situados más a la derecha (ver
diagrama).

RLO En LAD y FBD se puede usar la entrada Enable (EN) de la caja MOVE para
efectuar operaciones Carga y Transferencia dependientes del RLO.
En STL las instrucciones Carga y Transferencia se ejecutan siempre,
independientemente del RLO, pero es posible implementar cargas y transferencias
dependientes del RLO haciendo uso de saltos condicionales para saltar las
instrucciones Carga / Transferencia.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-6 Operaciones Digitales
Contadores de S5 en STEP 7
LAD FBD STL

U E0.4
C5 Z5
ZV Z5
S_CUD ZAEHLER
I0.4 Q 8.3 U E0.5
CU Q
Q E0.4 ZV ZR Z5
U E0.3
I0.5
L C#20
CD E0.5 ZR
S Z5
I0.3 U E0.7
S E0.3 S DUAL MW 4 R Z5
L Z5
C#20 PV CV MW 4 C#20 ZW DEZ AW 12 T MW4
A 8.3 LC Z5
I0.7
R CV_B QW 12 E0.7 R Q
Q = T AW12
U Z5
= A8.3

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.7

Valor de Cuenta Se reserva una palabra de 16 bits para cada contador en la memoria de datos del
sistema. Éstas se usan para almacenar el valor de cuenta del contador (0...999)
en binario.

Cuenta Ascendente Cuando el RLO en la entrada ”ZV" cambia de "0" a "1" el valor de cuenta actual
del contador se incrementa en una unidad (límite superior = 999).

Count Descendente Cuando el RLO en la entrada ”ZR" cambia de "0" a "1" el valor de cuenta actual
del contador se decrementa en una unidad (límite inferior = 0).

Set del Contador Cuando el RLO en la entrada "S" cambia de "0" a "1" el contador es inicializado
con el valor de la entrada ”ZW".

Reset del Contador Cuando el RLO = 1 el contador es puesto a cero. Si la condición de Reset se
mantiene, el contador no puede ser inicializado y la cuenta no es posible.

ZW El valor inicial (0...999) se especifica en BCD en la entrada ”ZW":


• como una constante (C#...)
• en formato BCD a través de una interfase de datos.

DUAL / DEZ El valor de cuenta puede cargarse en el acumulador como número binario o como
BCD y ser transferido desde allí a otras direcciones.

Q El estado de señal del contador puede comprobarse en la salida "Q":


• Cuenta = 0 -> Q = 0
• Cuenta >< 0 -> Q = 1

Tipos de Contadores • Z_VORW = Contador ascendente (sólo cuenta hacia arriba)


• Z_RUECK = Contador descendente (sólo cuenta hacia abajo)
SITRAIN Formación en • ZAEHLER S7 NIVEL 1
= Contador ascendente/descendente (cuenta en dos sentidos)
Automatización y Accionamientos Página 9-7 Operaciones Digitales
Contadores: Diagrama Funcional

CU(ZV)

CD(ZR)

5
4
3
Cuenta
2
1
0

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.8

Notas Si el contador alcanza el valor “999“ durante la cuenta ascendente, o el valor “0“
durante la cuenta descendente, la cuenta permanece en esos valores incluso en
el caso de recibirse pulsos de cuenta adicionales.

Si se produce una petición de cuenta ascendente y descendente al mismo tiempo,


el valor de cuenta permanece sin cambio.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-8 Operaciones Digitales
Contadores: Instrucciones de Bit
LAD FBD STL

Segm. 1: Z5
E0.0 SZ
I0.0 C5
U E0.0
SC L C#20
C#20 CV
C#20 S Z5
Segm. 2:
Z5
I 0.1 C5
E0.1 ZV U E0.1
CU
ZV Z5

Segm. 3:
I0.2 C5 Z5
U E0.2
CD E0.2 ZR ZR Z5

Segm. 4:
C5 Q 4.0 A 4.0
U Z5
Z5 = = A 4.0

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.9

Instrucciones de Bit Todas las instrucciones de contaje pueden operar con instrucciones simples de
bit. Las similitudes y diferencias entre este método y las funciones de contaje
vistas hasta ahora son las siguientes:
• Similitudes:
- Condiciones de Set en la entrada "SZ”.
- Especificación del valor de cuenta.
- Cambio del RLO en la entrada ”ZV"
- Cambio del RLO en la entrada ”ZR"
• Diferencias:
- No es posible comprobar el valor de cuenta actual.
(no existen salidas DUAL y DEZ).
- No hay salida binaria Q en la representación gráfica.

Nota También se pueden implementar contadores que cumplan la norma IEC en STEP
7.
El uso de los bloques de función de sistema para la implementación de
contadores IEC se trata en el curso de programación avanzada.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-9 Operaciones Digitales
Ejercicio: Cuenta de Objetos Transportados (FC 18)

DI DO A 8....
A 4....
E0.0 Sistema_ON .0 Nº de objetos ACTUAL
E0.1 Sistema_OFF Sistema .1
E0.2 Motor_DCHA MANUAL .2
E0.3 Motor_IZDA AUTO .3 V

E0.4 AUTO / MANUAL .4


E0.5 Aceptar .5 AW 12 / AW 6
-15V...+15V -15V...+15V
E0.6 .6 AI2 AO1
AI1 AO2
E0.7 .7

AI1 AI2
V

0 8 1 5 AI1 AI2 AO1 AO2

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.10

Función hasta ahora En modo AUTO, los objetos pasan de la Posición 1 a


través de la barrera óptica. La función de transporte comienza tan pronto
como un objeto se situe en la posición 1 (sea accionado el pulsador
asociado I1.6), y finaliza cuando el objeto haya atravesado la barrera óptica (I1.7)

Tarea • Los objetos transportados en modo AUTO deberán ser contados tan pronto
como hayan atravesado la barrera óptica.
• El número de objetos transportados (número de objetos REAL) se deberá
visualizar en el display digital BCD.
• El contador se debe resetear cuando el contador esté desconectado (A 8.1 /
4.1 = ´0).

Realización • Programar la cuenta de objetos transportados en el bloque FC 18. Usar el


contador de S5 C18 en el FC 18 para llevar a cabo la cuenta.
• Programar la llamada al FC 18 en el OB 1

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-10 Operaciones Digitales
Temporizadores: Retardo a la Conexión (SE)
LAD FBD STL

T4 T4
E0.7 S_EVERZ Q8.5 S_EVERZ U E0.7
S Q E0.7 S DUAL MW0 L S5T#35s
S5T#35s TW DUAL MW0 S5T#35s AW12
SE T4
TW DEZ
E0.5 A8.5 U E0.5
R DEZ AW12 E0.5 R Q = R T4
L T4
T MW0
RLO en S
LC T4
RLO en R T AW12
U T4
Fto. del = A8.5
Temporizador
Ejemplo

Tipo de Datos 0.01s <-- 0 0


“S5TIME” 0.1s <-- 0 1
1s <-- 1 0 Valor de tiempo: 0 . . . 999
10s <-- 1 1

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.11

Arranque El temporizador arranca cuando el RLO en la entrada "S" pasa de “0” a “1”. El
temporizador corre empezando con el valor de tiempo especificado en la entrada
TW mientras la entrada ‘S’ tenga el estado de señal ‘1’.

Reset Cuando el RLO en la entrada de Reset "R" es "1", el valor de tiempo actual y la
base de tiempos se borran y la salida Q se pone a ‘0’.

Salidas Digitales El valor de tiempo actual se puede leer como un número binario por la salida
DUAL y como un número BCD por la salida DEZ.
El valor de tiempo actual es el valor inicial de TW menos el valor del tiempo
transcurrido desde que se arrancó el temporizador.

Salida Binaria La señal en la salida "Q" cambia a "1" cuando el temporizador ha finalizado la
temporización sin error y la entrada "S" tiene el estado de señal "1".
Si el estado de señal en la entrada "S" cambia de "1" a "0" antes de que el
temporizador haya finalizado, el temporizador deja de contar. En este caso, la
salida “Q” tiene el estado de señal "0".

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-11 Operaciones Digitales
Temporizadores: Formatos de Tiempo para los Temporizadores de
S5 en STEP 7
102 101 100

Formato para tiempos X X

Base de tiempos Valor de tiempo (código BCD)

Célula del Temporizador en la X X X X


memoria de datos del sistema

Base de tiempos Valor de tiempo (número binario)

Contenidos del ACU tras “L T...” X X X X X X

Valor de tiempo (número binario)

102 101 100

Contenidos del ACU tras “LC T...” X X

Base de tiempos Valor de tiempo (código BCD)

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.12

Especificación 1. Valores de tiempo fijos, especificados como constantes de tiempo


Del Tiempo (por ej.: S5T#100ms, S5T#35s, S5T#5m2s200ms, S5T#2h2m2s50ms).
2. Valores de tiempo que pueda cambiar el operario de máquina usando
potenciómetros.
3. Valores de tiempo de proceso o valores de pendientes de palabras de memoria o
palabras de datos.

Célula En la CPU se reserva un área de memoria especial para los temporizadores. Este
del Temporizador área contiene una palabra de 16 bits para cada dirección de temporizador.
Los bits del 0 al 9 de la palabra del temporizador contienen el valor de tiempo en
código binario.
Cuando el temporizador se actualiza, el valor de tiempo se decrementa en una unidad
en el intervalo definido por la base de tiempos.

Base de Tiempos Los bits 12 y 13 de la palabra del temporizador contienen la base de tiempos en
código binario:
0 = 10 ms
1 = 100 ms
2 = 1s
3 = 10 s.
La base de tiempos define el intervalo en el que el valor de tiempo va a ser
decrementado una unidad.
Cuando el tiempo se especifica como una constante (S5T#...), la base de tiempos es
asignada automáticamente por el sistema. Si el tiempo va a ser especificado usando
potenciómetros o a través de una interfase de datos, el usuario debe especificar
además la base de tiempos.

L / DUAL La dirección en la salida “DUAL” contiene el valor de tiempo en la forma de un número


binario de 10 dígitos (¡sin base de tiempos!).

LC / DEZ La dirección en la salida “BCD” contiene el valor de tiempo como un número BCD de
3 dígitos (12 bits) y el formato de tiempo (bits 12 y 13).

Nota Los temporizadores según la norma IEC también pueden implementarse en STEP7.
El uso de bloques de función del sistema para implementar temporizadores IEC se
SITRAIN Formación en tratará en un curso de programación avanzada. S7 NIVEL 1
Automatización y Accionamientos Página 9-12 Operaciones Digitales
Temporizadores: Retardo a la Conexión Memorizado (SS)
LAD FBD STL

T4 T4 U E0.7
E0.7 S_SEVERZ Q8.5 S_SEVERZ L S5T#35s
S Q E0.7 S DUAL MW0 SS T4
S5T#35s DUAL MW0 U E0.5
TW S5T#35s TW DEZ AW12
E0.5 A8.5 R T4
R DEZ QW12 E0.5 R Q = L T4
T MW0
LC T4
T AW12
U T4
= A8.5

RLO en S

RLO en R

Fto. del
Temporizador
Ejemplo

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.13

Arranque El temporizador arranca cuando el RLO en la entrada "S" cambia de "0" a "1". El
temporizador corre arrancando con el valor de tiempo especificado en la entrada
TW y continúa corriendo incluso si la señal a la entrada "S" cambia a "0" durante
ese tiempo.
Si la señal en la entrada de Arranque cambia de “0” a “1” de nuevo cuando el
temporizador está aún corriendo, el temporizador arranca de nuevo desde el
principio.

Reset Cuando el RLO en la entrada de Reset "R" es "1", el valor de tiempo actual y la
base de tiempos se borran y la salida Q se resetea.

Salida Binaria El estado de señal en la salida Q cambia a "1" cuando el temporizador ha


finalizado la temporización sin error, independientemente de que el estado de
señal en la entrada "S" sea todavía "1".

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-13 Operaciones Digitales
Temporizadores: Impulso (SI)
LAD FBD STL

T4 T4 U E0.7
E0.7 S_IMPULS A8.5 S_IMPULS L S5T#35s
S Q E0.7 S DUAL MW0 SI T4
S5T#35s DUAL MW0 A E0.5
TV MW0 S5T#35s TW DEZ AW12
E0.5 A8.5 R T4
R DEZ AW12 E0.5 R = L T4
Q
T MW0
LC T4
T AW12
U T4
= A8.5

RLO en S

RLO en R

Fto. del
Temporizador
Ejemplo

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.14

Arranque El temporizador arranca cuando el RLO en la entrada “S” cambia de “0” a “1”. La
salida “Q” también se pone a “1”.

Reset La salida “Q” se resetea cuando:


• el temporizador ha finalizado, o
• la señal de Arranque cambia de “1” a “0”, o
• la entrada de Reset “R” tiene el estado de señal “1”.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-14 Operaciones Digitales
Temporizadores: Impulso Prolongado (SV)
LAD FBD STL

T4 T4 U E0.7
E0.7 S_VIMP A8.5 S_VIMP L S5T#35s
S Q MW0 SV T4
E0.7 S DUAL
S5T#35s TW DUAL MW0 U E0.5
S5T#35s TW DEZ AW12
E0.5 A8.5 R T4
R DEZ AW12 E0.5 R = L T4
Q
T MW0
LC T4
T AW12
U T4
= A8.5

RLO en S

RLO en R

Fto. del
Temporizador
Ejemplo

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.15

Arranque El temporizador arranca cuando el RLO en la entrada "S" cambia de “0” a “1”. La
salida "Q" también se pone a “1”.
El estado de señal en la salida “Q” permanece a “1” incluso si la señal en la
entrada "S" cambia a “0”.
Si la señal en la entrada de Arranque pasa de “0” a “1” de nuevo, mientras el
temporizador está corriendo, éste rearranca.

Reset La salida“Q” se resetea cuando:


• el temporizador ha finalizado, o
• la entrada de Reset "R" tiene el estado de señal "1".

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-15 Operaciones Digitales
Temporizadores: Retardo a la Desconexión (SA)
LAD FBD STL

T4 T4 U E0.7
E0.7 S_AVERZ A8.5 S_AVERZ L S5T#35s
S Q E0.7 S DUAL MW0 SA T4
S5T#35s DUAL MW0 U E0.5
TW S5T#35s TW DEZ AW12
E0.5 A8.5 R T4
R DEZ AW12 E0.5 R Q = L T4
T MW0
LC T4
T AW12
U T4
= A8.5

RLO en S

RLO en R

Fto. del
Temporizador
Ejemplo

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.16

Arranque El temporizador arranca cuando el RLO en la entrada "S" cambia de “1” a “0”.
Cuando el temporizador haya finalizado, el estado de señal en la salida Q cambia
a "0".
Si el estado de señal en la entrada "S" cambia de “0” a “1” mientras el
temporizador está corriendo, el temporizador para y la siguiente vez que cambia
el estado de señal de "1" a "0" arranca de nuevo desde el principio.

Reset Cuando el RLO en la entrada de Reset "R" es "1", el valor de tiempo actual y la
base de tiempos se borran y la salida Q se resetea.
Si ambas entradas (S y R) tienen el estado de señal “1”, la salida“Q” no se pone a
“1” hasta que el Reset dominante se desactive.

Salida Binaria La salida "Q" se activa cuando el RLO en la entrada "S" cambia de “0” a “1”. Si la
entrada “S” se desactiva, la salida “Q” continúa teniendo el estado de señal “1”
hasta que pase el tiempo programado.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-16 Operaciones Digitales
Temporizadores: Instrucciones de Bit
LAD FBD STL

Segm. 1:
T4
E0.0 T4 E0.0 & SE U E0.0
SE L S5T#5s
S5T#5s TW SE T4
S5T#5s

Segm. 2:

T4 A 8.0 A 8.0
U T4
T4 & =
= A 8.0

Segm. 3:
T4
E0.1 T4 U E0.1
R E0.1 & R R T4

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.17

Instrucciones de Bit Todas las funciones de temporización pueden arrancarse también con
instrucciones de bit simples. Las similitudes y diferencias entre este método y las
funciones de temporización vistas hasta ahora son las siguientes:
• Similitudes:
- Condiciones de arranque en la entrada "S"
- Especificación del valor de tiempo
- Condiciones de reset en la entrada “R”
- Respuesta de señal en la salida “Q”
• Diferencias (para LAD y FBD):
- no es posible comprobar el valor de tiempo actual (no existen las salidas
DUAL y DEZ).

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-17 Operaciones Digitales
Ejercicio: Supervisión de las Funciones de Transporte (FC 17)

DI DO Q 8....
Q 4....
E0.0 Sistema_ON Perturbación .0 Nº de objetos ACTUAL
E0.1 Sistema_OFF Sistema .1
E0.2 Motor_DCHA MANUAL .2
E0.3 Motor_IZDA AUTO .3 V

E0.4 AUTO / MANUAL .4


E0.5 Aceptar .5 AW 12 / AW 6
-15V...+15V -15V...+15V
E0.6 .6 AI2 AO1
AI1 AO2
E0.7 .7

E1.0 Acuse_Pert
AI1 AI2
Peso V

0 8 1 5 AI1 AI2 AO1 AO2

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.18

Función hasta ahora En modo AUTO, los objetos se transportan desde la Posición 1 hasta la
en el FC 16: Posición Control Final. La función de transporte arranca tan pronto como se sitúa
un objeto en la Posición 1 (se presiona el pulsador asociado), y finaliza
cuando el objeto atraviese la barrera óptica.

Tarea La secuencia de las funciones de transporte en modo AUTO va a ser


supervisada. La Supervisión debe funcionar de la siguiente forma:
• Si una función de transporte sobrepasa el tiempo de supervisión de 6
segundos, se señaliza una perturbación y el motor de la cinta se desactiva
automáticamente (operación lógica en el FC 16)
• En el LED A 8.0 / A 4.0 del entrenador entrenador se visualiza una
perturbación mediante una luz intermitente a 2 Hz (bit nº 3 del byte de marca
de ciclo de la CPU MB 10)
• Una perturbación puede ser acusada a través del pulsador “Acuse_Pert“
E1.0
• Una nueva función de transporte sólo podrá iniciarse después de que la
perturbación haya sido acusada. (bloqueo en el FC 16)

Realización • Programar la función de supervisión descrita, en el FC 17


- Usar el temporizador de S5 T 17 como retardo a la conexión (SE) para la
supervisión
- Activar la marca M 17.0 cuando se produza una perturbación, de modo
que podamos procesarla a continuación en el FC 16.
• Programar la llamada al FC 17 en el OB 1
• Programar el bloqueo o desconexión del motor de la cinta necesarios
cuando ocurra una perturbación en el FC 16.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-18 Operaciones Digitales
Operaciones de Conversión BCD <-> Entero

Número Conversión
introducido en 0 81 5 BCD->Entero Programa de
BCD usuario con
Tarea operaciones
matemáticas de
Número Conversión enteros
representado 0 2 4 8 BCD<-Entero
en BCD

LAD FBD STL

BCD_I BCD_I L EW4


EN ENO EN OUT MW20 BTI
T MW20
EW4 IN OUT MW20 EW4 IN ENO

I_BCD I_BCD L MW10


EN ENO EN OUT AW12 ITB
T AW12
MW10 IN OUT AW12 MW10 IN ENO

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.19

Ejemplo Un programa de usuario va a realizar funciones matemáticas usando valores


introducidos con potenciómetros y visualizar el resultado en un display digital. Las
funciones matemáticas no pueden realizarse en formato BCD, de modo que el
formato debe cambiarse.

Instrucciones de El juego de instrucciones del S7-300/400 soporta una multitud de facilidades de


Conversión conversión. Todas las instrucciones tienen el mismo formato:

EN, ENO Si el RLO es =1 en la entrada de habilitación EN, la conversión se lleva a cabo.


La salida de habilitación ENO siempre tiene el mismo estado de señal que EN. Si
ese no fuera el caso, está indicado claramente en las instrucciones
correspondientes.

IN Cuando EN=1, la instrucción de conversión lee el valor en la entrada IN .

OUT El resultado de la conversión se almacena en la dirección en la salida OUT.

BCD_E / BTI (Convertir BCD a entero) lee el contenido del parámetro IN como un número BCD
de 3 dígitos (+/- 999) y lo convierte a un valor entero (16 bits).

I_BCD / ITB (Convertir entero a BCD) lee el contenido del parámetro IN como un valor entero
(16 bits) y convierte este valor a un número BCD de 3 dígitos (+/- 999). Si se
produce desbordamiento, ENO = 0.

BCD_DE / BTD Convierte un número BCD (+/- 9999999) a un doble entero (32 bits).

DI_BCD / DTB Convierte un doble entero en un número BCD de 7 dígitos (+/- 9999999). Si se
produce desbordamiento, ENO = 0.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-19 Operaciones Digitales
Operaciones de Comparación

LAD FBD STL

M0.0 CMP ==I A 9.7 CMP ==I U M0.0


U(
L EW0
EW0 IN1
L EW2
EW0 IN1
==I
EW2 IN2 EW2 IN2 )
&
A9.7
= A9.7
=
M0.0

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.20

CMP Podemos usar diversas funciones de comparación para comparar los siguientes
pares de valores numéricos:
I Compara enteros (en base de 16 bits en coma fija)
D Compara enteros (en base de 32 bit en coma fija)
R Compara números en coma flotante (en base de número real de 32 bit =
números IEEE en coma flotante).
Si el resultado de la comparación es “Verdadero", el RLO de la operación es "1",
en caso contrario es "0".
Los valores en las entradas IN1 e IN2 se comparan en base a la condición
especificada:
== IN1es igual a IN2
<> IN1 no es igual a IN2
> IN1 es mayor que IN2
< IN1 es menor que IN2
>= IN1 es mayor o igual que IN2
<= IN1 es menor o igual que IN2.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-20 Operaciones Digitales
Funciones Matemáticas Básicas
LAD FBD STL

ADD_I ADD_I L MW4


Suma EN ENO EN OUT MW6 L MW10
MW4 IN1 MW4 IN1 +I
MW10 IN2 OUT MW6 MW10 IN2 ENO T MW6

SUB_I SUB_I L MW5


Resta EN ENO EN OUT MW7 L MW11
MW5 IN1 MW5 IN1 -I
T MW7
MW11 IN2 OUT MW7 MW11 IN2 ENO

MUL_R MUL_R L MD6


Multipli- MD66
cación EN ENO EN OUT L MD12
MD6 IN1 MD6 IN1 *R
MD12 IN2 MD66 MD12 IN2 ENO T MD66

DIV_R DIV_R L MD40


EN OUT MD32
División EN ENO L MD4
MD40 IN1 MD40 IN1 /R
MD4 IN2 OUT MD32 MD4 IN2 ENO T MD32

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.21

General El juego de instrucciones del S7-300/400 soporta una multitud de funciones


matemáticas. Todas las instrucciones tienen el mismo formato:

EN La instrucción se ejecuta si el RLO es =1 en la entrada de habilitación EN.


ENO Si el resultado está fuera del rango permitido para el tipo de datos involucrado, los
bits de desbordamiento OV=“Overflow” y OS=“Stored Overflow” se ponen a “1” y
la salida de habilitación ENO=0. Esto evita que las operaciones siguientes
dependientes de ENO sean ejecutadas.

IN1,IN2 El valor en IN1 se lee como el primer operando y el valor en IN2 como el
segundo.

OUT El resultado de la operación matemática se almacena en la dirección en la salida


OUT.

Instrucciones Suma: ADD_I Sumar enteros


ADD_DI Sumar dobles enteros
ADD_R Sumar números reales
Resta: SUB_I Restar enteros
SUB_DI Restar dobles enteros
SUB_R Restar números reales
Multiplicación: MUL_I Multiplicar enteros
MUL_DI Multiplicar dobles enteros
MUL_R Multiplicar números reales
División: DIV_I Dividir enteros
DIV_DI Dividir dobles enteros
DIV_R Dividir números reales

Nota Las funciones matemáticas avanzadas (ABS, SQR, SQRT, LN, EXP, SUN, COS,
TAN, ASUN, ACOS, ATAN) se verán en un curso de programación avanzada.
SITRAIN Formación en S7 NIVEL 1
Automatización y Accionamientos Página 9-21 Operaciones Digitales
Ejercicio: Cuenta de los Objetos Transportados (FC 18)

DI DO A 8....
A 4....
E0.0 Sistema_ON .0 Nº de objetos ACTUAL
Perturbación
E0.1 Sistema_OFF Sistema .1
E0.2 Motor_DCHA MANUAL .2
E0.3 Motor_IZDA AUTO .3 V

E0.4 AUTO / MANUAL .4


E0.5 Aceptar .5 AW 12 / AW 6
-15V...+15V -15V...+15V
E0.6 .6 AI2 AO1
AI1 AO2
E0.7 .7

E1.0 Acuse_Pert
AI1 AI2
Peso V
Nº de objetos CONSIGNA

0 8 1 5 AI1 AI2 AO1 AO2

EW 4 / EW 2

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.22

Fución hasta ahora • Los objetos transportados en modo AUTO se cuentan (con el contador de
en el FC 18 S5 C 18), tan pronto como alcanzan la posición Control Final o hayan
atravesado la barrera óptica.
• El número de objetos transportados (número de objetos ACTUAL) se
visualiza en el display digital BCD).
• El contador se resetea cuando el sistema está desconectado (A 8.1 / 4.1=´0)

Tarea • El contaje de los objetos transportados, ya no se va a hacer con el contador


de S5 C 18, si no por suma en MW 20. Usar la marca M 18.0 como marca
auxiliar para la detección de flanco.
• El número CONSIGNA, fija el número de objetos que se van a transportar.
Cuando el número de objetos CONSIGNA se alcanza, se visualiza en el
LED rojo ( A 20.4/ A 8.4) en la posición Control Final.
• Durante el tiempo en que aparezca el mensaje CONSIGNA número de
objetos alcanzado (LED rojo), no se puede iniciar ninguna otra función de
transporte (bloqueo en el FC 16).
• El mensaje puede ser acusado mediante un pulsador en la posición Control
Final. El acuse resetea el número de objetos ACTUAL (MW 20) a 0, como si
hubiésemos apagado el sistema.

Realización • Insertar el bloque de organización OB 121 en nuestro programa y cargarlo en


la CPU. No es necesario programar el OB 121. Cargar el OB 121 “vacío"
previene el paso a STOP de la CPU durante el ajuste de la CONSIGNA
número de objetos debido a un “rebote“ del potenciómetro BCD (más
información sobre este fenómeno en el capítulo OBs).
• Adaptar el FC 18 actual para el contaje de objetos, a la nueva tarea.
• Modificar el FC 16 para controlar el motor de la cinta de acuerdo a la tarea.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-22 Operaciones Digitales
Operaciones de Conversión I -> DI -> REAL

Datos en formato entero


(16 bits)

Conversión de Conversión de Programa


Tarea entero a doble entero matemático
doble entero a número real con números
reales

F STL
I_DI
U MD14
EN OUT
P DI_R
ENO EN OUT MD26
MW12 IN L MW12
LAD ENO ITD
MD14 IN
DTR
T MD26
I_DI DI_R
EN ENO EN ENO

MW12 IN OUT MD14 MD14 IN OUT MD26

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.23

Ejemplo Un programa de usuario que trabaje con enteros necesita también efectuar
divisiones, lo que es probable que dé resultados menores que 1. Como estos
valores solo pueden ser representados como números reales, necesitamos
realizar una conversión a números reales. Para hacerlo, en primer lugar debe
convertirse el entero a doble entero.

I_DI / ITD Convierte un entero a un doble entero.

DI_R / DTR Convierte un doble entero a un número real.

Nota Otras instrucciones de conversión, como:

• INV_E / INVI
• NEG_E / NEGI
• TRUNCAR / TRUNC
• REDONDEO / RND
• EXCESO / RND+
• DEFECTO / RND-
• INV_DE / INVD
• NEG_DE / NEGD
• NEG_R / NEGR
• CAW, CAD

se verán en un curso de programación avanzada.

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-23 Operaciones Digitales
Operaciones Lógicas Digitales

WXOR_W L EW 0
WOR_W
L W#16#5F2A
WAND_W
UW / OW / XOW
EN ENO
T MW10
IW0 IN1
OUT MW10 15 0
W#16#5F2A IN2
EW0 = 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0

W#16#5F2A = 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0

AND OR XOR

MW10 después de “AW” 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0

MW10 después de“OW” 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0

MW10 después de “XOW” 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0

SIMATIC S7 Date: 24.05.2005 SITRAIN Formación en


Automatización y Accionamientos
Siemens SA 2002. Todos los derechos reservados. File: S7N1v5.2_1_09.24

WAND_W La operación "AND Word" opera los dos valores digitales en las entradas IN1 e
IN2 bit a bit de acuerdo con la tabla de verdad AND. El resultado de la operación
AND se almacena en la dirección que se ponga en la salida OUT.
La instrucción se ejecuta cuando EN = 1.
Ejemplo: Poner a 0 la 4ª década de los potenciómetros:
EW4= = 0100 0100 1100 0100
W#16#0FFF = 0000 1111 1111 1111
MW30 = 0000 0100 1100 0100

WOR_W La operación "OR Word" opera los dos valores digitales en las entradas IN1e IN2
bit a bit de acuerdo con la tabla de verdad OR. El resultado de la operación OR se
almacena en la dirección que se ponga en la salida OUT.
La instrucción se ejecuta cuando EN = 1.
Ejempolo: Setear el bit 0 en MW32 :
MW32 = 0100 0010 0110 1010
W#16#0001 = 0000 0000 0000 0001
MW32 = 0100 0010 0110 1011

WXOR_W La operación "OR Exclusiva Word" opera los valores digitales en las entradas IN1
e IN2 bit a bit de acuerdo con la tabla de verdad XOR. El resultado de la
operación OR se almacena en la dirección que se ponga en la salida OUT. La
instrucción se ejecuta cuando EN=1.
Ejemplo: detección de cambios de la señal en EW0 :
EW0 = 0100 0100 1100 1010
MW28 = 0110 0010 1011 1001
MW24 = 0010 0110 0111 0011

SITRAIN Formación en S7 NIVEL 1


Automatización y Accionamientos Página 9-24 Operaciones Digitales

También podría gustarte