Está en la página 1de 125

Curso del Sistema Simatic S7-300

Simatic S7-300
Simatic S7-300
Simatic S7-300
Simatic S7-300
Simatic S7-300 Instructor:
Ing. Antonio La Rocca

Ing. Antonio La Rocca R.


Contenido Parte II
Conocimientos Básicos
Sistemas Numéricos
Decimal, Binario, Hexadecimal, BCD
Bit, Byte, Palabra, Doble Palabra
Direccionamiento
Entradas, Salidas y Marcas
Tipos de Datos
Introducción al Step 7
Lenguajes de Programación
Diagrama AWL, KOP, FUP, SCL, CFC, SFC, S7-Graph
Estructura de la memoria en Simatic S7
Organización en Step 7
Programa lineal y estructurado
Tipos de módulos
Areas para Establecer Variables
Utilidad, Direccionamiento (Bit, Byte, Palabra)
Registros de la CPU.
Resultado lógico RLO (VKE) Estructura de Memoria en el PLC
Ing. Antonio La Rocca R.
Contenido Parte II
Lenguajes de Programación
Lista de Instrucciones AWL (STL)
Esquema de Contactos (KOP)
Diagrama de Funciones (FUP)
CFC para SIMATIC S7
Sistemas de Control Secuencial con S7- SFC
Programación de Sistemas de Control Secuencial con S7- GRAPH
Programación usando el Método de Diagrama de Estados con
S7- HiGraph
Programación en el Lenguaje de Alto Nivel S7- SCL
Organización en Step 7
Programación lineal y estructurada
Módulos de Organización (OB´s)
Módulos de Código Función (FC)
Módulos de Función (FB)
Módulos de Datos (DB)
Módulos de Funciones Especiales (SFB)
Módulos de Datos de Usuario (UDT)
Módulos de Funciones del Sistema (SFC)

Ing. Antonio La Rocca R.


Contenido Parte II
Operaciones de programa en Step 7
Operaciones lógicas con bits
Operaciones (U, UN, O, ON, X, XN, FP, FN, S, R).
Operaciones directas sobre el RLO (NOT, SET, CLR, SAVE).
Formato de Representación de los Números (16 Bits)
Formatos de Representación de los Números (32 Bits)
Acumuladores - Carga y Transferencia de Datos
Operaciones de Temporización
Operaciones con temporizadores
Temporizador como impulso (SI)
Temporizador como impulso prolongado (SV)
Temporizador como retardo a la conexión (SE)
Temporizador retardo a la conexión con memoria (SS)
Temporizador como retardo a la desconexión (SA)
Operaciones de contaje con Contadores
Operaciones con contadores, Cargar un valor, Borrar un contador
Contaje hacia adelante y hacia atrás.
Consulta del estado de contadores

Ing. Antonio La Rocca R.


Sistema Numérico
Sistema Decimal : Utiliza como base 10 (números del 0 al 10).
Ejemplo : 1 0 2 4

3 2 1 0
1 x10 +0 x10 +2 x10 +4 x10
1000 + 0 + 20 + 4 = 1024
2 1 0 Número elevado a la
10 10 10
décima potencia

Centenas Decenas Unidades

2 1 5 Número decimal

200 + 10 + 5

2 1 0
2 * 10 1 * 10 5 * 10

Ing. Antonio La Rocca R.


Sistema Numérico
Sistema Binario : Utiliza como base 2, reconoce sólo las cifras
0 y 1 . Ejemplo :
15 = 3+ 2+ 1 + 0
1x2 1x2 1x2 1x2
15 = 8 + 4 + 2 + 1

2
3
2
2
2
1
2
0 Potencias de 2

1 1 0 1 Número binario

3 2 1 0
1*2 1*2 0*2 1*2

8 + 4 + 0 + 1 = 13 Número decimal

Ing. Antonio La Rocca R.


Sistema Numérico

Sistema Hexadecimal : Utiliza como base el números 16


empleando números del 0 al 9 y las letras A, B, C, D, E y F.
Ejemplo : 2 4

3 2 1 0
0 x16 +0 x16 +1 x16 +8 x16
0 + 0 + 16 + 8 = 24

Sistema BCD : Utiliza como también como base el números 2, pero


transforma cada digito decimal en su correspondiente número en
binario.

Ejemplo : 1 0 2 4

0001 0000 0010 0100


Ing. Antonio La Rocca R.
Sistema Numérico

Decimal Binario Hexadecimal BCD


0 0000 0 0000 0000
1 0001 1 0000 0001
2 0010 2 0000 0010
3 0011 3 0000 0011
4 0100 4 0000 0100
5 0101 5 0000 0101
6 0110 6 0000 0110
7 0111 7 0000 0111
8 1000 8 0000 1000
9 1001 9 0000 1001
10 1010 A 0001 0000
11 1011 B 0001 0001
12 1100 C 0001 0010
13 1101 D 0001 0011
14 1110 E 0001 0100
15 1111 F 0001 0101
Ing. Antonio La Rocca R.
Bits, byte, Palabra, Doble Palabra

BIT Longitud = 1 BIT Estado "1" or "0"

7 6 5 4 3 2 1 0

BYTE Longitud = 8 BITS

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

PALABRA Longitud = 16 BITS

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

DOBLE PALABRA Longitud = 32 BITS

Ing. Antonio La Rocca R.


Direccionamiento para STEP 7
Área de direc. Desig. Acceso al área Abrev. Máx. direcc. área

Imagen de proceso E/A entrada / salida bit E/A 0.0 a 65,535.7


entrada / salida byte E / AB 0 a 65,535
entrada / salida palabra EW / AW 0 a 65,534
entrada / salida doble palabra ED / AD 0 a 65,532

Marcas bit de memoria M 0.0 a 255.7


byte de memoria MB 0 a 255
palabra de memoria MW 0 a 254
doble palabra de memoria MD 0 a 252
E/A externa entrada/salida byte E/A, periferia PEB / PAB 0 a 65,535
palabra E/A, periferia PEW/PAW 0 a 65,534
doble palabra E/A, periferia PED/PAD 0 a 65,532
Temporizador Temporizador (T) T 0 a 255
Contador Contador (C) C 0 a 255

Módulo de datos Bit,byte,palabra,doble palabra DBX,DBB 0 a 65,532


DBW,DBD
Módulo de datos
de instancia
Bit,byte,palabra,doble palabra DIX,DIB 0 a 65,532
DIW,DID
Ing. Antonio La Rocca R.
Direccionamiento para STEP 7
REGISTROS Bits
ACUx(x=1 a 4) 0 a 31
ACUx-L 0 a 15
ACUx-H 16 a 31
ACUx-LL 0a7
ACUx-LH 8 a 15
ACUx-HL 16 a 23
ACUx-HH 24 a 31

ACUMULADORES PARA EL TRABAJO NORMAL DEL PLC


(ACU1 y ACU 2 , algunas CPU tienen ACU3 y ACU4)
ACUMULADOR 1 o 2 o 3 o 4
ACU1 H ACU1 L
ACU1 HH ACU1 HL ACU LH ACU1 LL
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Ing. Antonio La Rocca R.


E0.7

31
E0.6

MSB
E0.5
E0.4
E0.3

EB0
E0.2

Byte nº “n”
E0.1
E0.0
E1.7
E1.6

EW0
E1.5
E1.4
E1.3
EB1
“n+1”

E1.2
E1.1
E1.0
E2.7

ED0
16 15

E2.6
E2.5
E2.4
“n+2”

E2.3
EB2

E2.2
E2.1
E2.0
E3.7
E3.6
EW2

E3.5
Direccionamiento para STEP 7

E3.4
E3.3
“n+3”

EB3

E3.2
E3.1
Ing. Antonio La Rocca R.
LSB
0

E3.0
Direccionamiento para STEP 7

Al trabajar con una operación cuyo operando es una


Dirección tipo palabra o palabra doble, debe tenerse
en cuenta que la dirección de la memoria siempre se
refiere a dirección de byte.

Esa dirección corresponde al byte de menor valor que


es el byte más significativo (MSB) de la palabra o palabra
doble. Se recomienda utilizar direcciones pares para evitar
el solapamiento.

MW10 MW12

MB10 MB11 MB12 MB13

MW11
MD10
Ing. Antonio La Rocca R.
Direccionamiento para STEP 7

Ing. Antonio La Rocca R.


Direccionamiento para STEP 7

Ing. Antonio La Rocca R.


Direccionamiento para STEP 7
Slot Nº. 1 2 4 5 6 7 8 9 10

Módulos PS CPU SM SM SM SM SM SM SM

Dirección 0.0
Dirección 0.7
Dirección 1.0
Dirección 1.7

Ing. Antonio La Rocca R.


Direccionamiento para STEP 7
PS IM 96.0 100.0 104.0 108.0 112.0 116.0 120.0 124.0
Rack
3 (Receptor) a a a a a a a a
99.7 103.7 107.7 111.7 115.7 119.7 123.7 127.7
640 656 672 688 704 720 736 752

PS IM 64.0 68.0 72.0 76.0 80.0 84.0 88.0 92.0


Rack (Receptor) a a a a a a a a
2 67.7 70.7 75.7 79.7 83.7 87.7 91.7 95.7
512 528 544 560 576 592 608 624

PS 32.0 36.0 40.0 44.0 48.0 52.0 56.0 60.0


IM
Rack a a a a a a a a
1 (Receptor)
35.7 39.7 43.7 47.7 51.7 55.7 59.7 63.7
384 400 416 432 448 464 480 496

PS 0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0


CPU IM
Rack (Emisor) a a a a a a a a
0 3.7 7.7 11.7 15.7 19.7 23.7 27.7 31.7
256 272 288 304 320 336 352 368
Slot 1 2 3 4 5 6 7 8 9 10 11

Ing. Antonio La Rocca R.


Direccionamiento para STEP 7
Simbólicos

Ing. Antonio La Rocca R.


Direccionamiento para STEP 7
Direccionamiento Absoluto y Simbólico

U E 0.0 U "SISTEMA_ON"
= A8.0 = “INDICADOR_ON"
U E 0.4 U "M_ADEL"
= A20.5 = "MOTOR_ADEL"
Call FC18 Call “CONTADOR"

Símbolo Dirección Tipo de datos Comentario


MOTOR_ADEL A20.5 BOOL Avance del motor
CONTADOR FC18 FC18 Contador de botellas
SISTEMA_ON E 0.0 BOOL Encender el sistema
INDICADOR_ON A8.0 BOOL Indicador: El Sistema está “On”
M_ADEL E 0.4 BOOL Avance del motor

(max. 24 caracteres) (max. 80 caracteres)

Ing. Antonio La Rocca R.


Direccionamiento para STEP 7
Direccionamiento Simbólico - Introducción

¿Dónde se usan los símbolos? ¿Dónde se almacenan? ¿Con qué son creados?

Datos globales: Tabla de símbolos Editor de símbolos


- Entradas
- Salidas
- Marcas, temporizadores,
contadores.
- E/S de periferia
Bloque de datos locales: Zona de Declaración del Editor de programa
- Parámetros de bloque bloque
- Datos temporales / locales

Etiquetas de salto Sección de código


del bloque
Nombres de bloque: Tabla de símbolos Editor de símbolos
- OB
- FB
- FC
- DB
- VAT
- UDT
Componentes de los bloques
de datos Zona de declaración del DB Editor de programa

Ing. Antonio La Rocca R.


Tipos de Datos

Tipos de • Tipos de datos binarios (BOOL, BYTE, WORD, DWORD, CHAR)


Datos Simples
• Tipos de datos matemáticos (INT, DINT, REAL)
(hasta 32 bit)
• Tipos de tiempo (S5TIME, TIME, DATE, TIME_OF_DAY)

• Tiempo (DATE_AND_TIME)
Tipos de
Datos Compuestos • Matriz (ARRAY)
(mayores que 32 bits)
• Estructura (STRUCT)
• Cadena de caracteres (STRING)

Tipos de Datos Definidos por el Usuario


(mayores que 32 bits) Tipo de Dato UDT (User Defined Type)

Ing. Antonio La Rocca R.


Tipos de Datos

Tipo Longitud (en bits) Ejemplo de una constante


de este tipo

BOOL 1 1o0
BYTE 8 16#A9
WORD 16 16#12AF

DWORD 32 16#ADAC1EF5
CHAR 8 (ASCII) 'w'
STRING *) >=16, 8* (No. de caract.) ‘Esto es una cadena de caract.’
S5TIME 16 S5T#5s_200ms

INT 16 123
DINT 32 65539
REAL 32 1.2 or 34.5E-12

TIME 32 T#2D_1H_3M_45S_12_MS
DATE 16 D#1993-01-20
TIME_OF_DAY 32 TOD#12:23:45.12

DATE_AND_TIME *) 64 DT#1993-09-25:12.29.13

*) Tipo de datos estructurados

Ing. Antonio La Rocca R.


Tipos de Datos

Palabra reservada Longitud (en bits) Ejemplo de una constante de este tipo
BOOL 1 1ó0
BYTE 8 B#16#A9
WORD 16 W#16#12AF
DWORD 32 DW#16#ADAC1EF5

CHAR 8 'w'

INT 16 123
DINT 32 65539 ó L#-1
REAL 32 1.2 ó 34.5E-12

S5TIME 16 S5T#5s_200ms

TIME 32 T#2D_1H_3M_45S_12MS
DATE 16 D#1999-06-14
TIME-OF-DAY 32 TOD#12:23:45.12

Ing. Antonio La Rocca R.


Tipos de Datos
Palabra reservada Longitud (en bits) Ejemplo
DATE_AND_TIME DT#99-06-14-12:14:55.0
(Fecha y Hora) 64

STRING ´Esto es un string´


(Cadena de caracteres 8 * (número de
´SIEMENS´
con 254 caracteres máx.) caracteres +2)

ARRAY Vals_med: ARRAY[1..20]


(Grupo de elementos definida por
INT
del mismo tipo de datos) el usuario

STRUCT Motor: STRUCT


(Estructura, Grupo de definida por
Velocidad: INT
elementos con diferentes el usuario
Intensidad: REAL
tipos de datos) END_STRUCT

UDT UDT como bloque UDT como elemento de matriz


(User Defined Data Type = definida por
Tipo de Datos Definido el usuario
STRUCT Drive: ARRAY[1..4]
por el Usuario = Velocidad: INT UDT1
”Plantilla" compuesta por Intensidad :REAL
tipos de datos simples END_STRUCT
y/o compuestos)

Ing. Antonio La Rocca R.


Tipos de Datos
Palabra reservada Longitud (en bits) Ejemplo
TIMER
16 Tiempo_Contacto: TIMER
.
SI #Tiempo_Contacto
COUNTER
16 Num_Piezas_Comp: COUNTER
.
LC #Num_Piezas_Comp
BLOCK_FB
16 Rellamada: BLOCK_FB
BLOCK_FC
.
BLOCK_DB
UC #Rellamada
BLOCK_SDB

Pointer
48 Medida: POINTER
.
L P##Medida
.
ANY
80 Valores_Medidos: ANY
.
L P##Valores_Medidos
.

Ing. Antonio La Rocca R.


Tipos de Datos

E Entrada
A Salida
M Marca
P Periferia (acceso directo)
L Datos Locales
T Temporizador
Z Contador
DB Módulo de Datos

Operación Identificador del Operando


Byte.Bit
U E 3.2 //Operación
Operando Comentarios

Ing. Antonio La Rocca R.


Tipos de Datos

OPERANDOS FAMILIA
NOMBRE APELLIDO Bloque

Descripción X B W D
Salidas (PAA) A 0.0 a 127.7 0 a 127 0 a 126 0 a 124

Bloque datos DB 0.0 a 16383.7 0 a 16383 0 a 16382 0 a 16380 1 a 127


Bloques de Instancia DI 0.0 a 16383.7 0 a 16383 0 a 16382 0 a 16380 1 a 127
Entradas (PAE) E 0.0 a 127.7 0 a 127 0 a 126 0 a 124

Variables locales L 0 a 255.7 0 a 255 0 a 254 0 a 252

Marcas M 0 a 255.7 0 a 255 0 a 254 0 a 252

Periferis de salida PA No 0 a 127 0 a 126 0 a 124


Periferia de entrada PE No 0 a 127 0 a 126 0 a 124

Ing. Antonio La Rocca R.


Tipos de Datos

EJEMPLOS
NOMBRE APELLIDO Bloque
Descripción X B W D
Salidas (PAA) A A 15.7 AB 122 AW 100 AD 32
Bloque datos DB DBX 2.5 DBB 23 DBW 129 DBD 99 1 a 127
Bloques de Instancia DI DIX 155.0 DIB 93 DIW 155 DID 56 1 a 127
Entradas (PAE) E E 9.0 EB 25 EW 12 ED 31
Variables locales L L 150.6 LB 80 LW 5 LD 20
Marcas M M 22.3 MB 33 MW 16 MD 13
Periferis de salida PA No PAB 30 PAW 22 PAD 15
Periferia de entrada PE No PEB 55 PEW 110 PED 22

Ing. Antonio La Rocca R.


Áreas para Establecer Variables
Marcas
M 0.0 a 255.7
PAA
Byte de marcas
MB 0 a 255
A 0.0 a 65535.7
PAE DBz
Palabra marcas
E 0.0AB
a 65535.7
0 a MW
65535 .
0 a 254 DBy .
Area E/S (P)
Doble Palabra
.
EB 0AW a 65535
0 a 65534 DBx
PEB 0 a 65535 MD 0 a 252
PEWEW AD 0 a 65532
0 a 065534
a 65534
PED 0 a 65532
ED 0 a 65532
PAB 0 a 65535
PAW 0 a 65534
PAD 0 a 65532

Áreas del PLC Pila de Bloques de datos


"tradicionales" datos locales

Ing. Antonio La Rocca R.


Registros del CPU
Los registros son localidades de memoria de uso
interno del CPU que participan en la realización
de operación lógicas, aritméticas y otras.
- Acumuladores 1 y 2 (ACU1 y ACU2)
Cada uno de ellos de 32 bits, se utilizan para procesar
informaciones intermedias o finales.

- Palabra de Estado
Contiene 9 bits que pueden accederse con instrucciones
del lenguaje. La palabra de estado tiene la siguiente
configuración.

15 9 8 7 6 5 4 3 2 1 0
2 …….. 2 2 2 2 2 2 2 2 2 2
RB A1 A0 OV OS OR STA RLO /ER

Ing. Antonio La Rocca R.


Registros del CPU

/ER: Bit de primera consulta. Al comenzar un segmento, /ER= 0 .


Al leer la primera instrucción, el sistema pone /ER=1 de forma que
los resultados de las instrucciones sucesivas se vayan
combinando.

RLO: Bit de resultado lógico de una cadena de operaciones


lógicas con bits o de comparación.

STA: Bit de estado, almacena el valor del bit direccionado.

OR: Bit de operación AND antes de OR. Indica que una


operación AND ha sido ejecutada previamente y luego ese
resultado debe usarse como resultado intermedio para una
operación OR.

Ing. Antonio La Rocca R.


Resultado Lógico

Bit de resultado lógico (RLO): aquí se almacena el resultado de

operaciones lógicas a nivel de bit y primera consulta.

Acumuladores (ACU 1 y ACU 2): aquí se almacenan los


operandos y resultados de operaciones lógicas a nivel de byte,
palabra y doble palabra.

Cuando efectuamos una asignación, un Set, reset o se comienza


un nuevo ciclo de programa, se está en estado de primera
consulta. Es decir, la primera instrucción lógica que se efectúe
servirá para situar su operando en el RLO.

Ing. Antonio La Rocca R.


Estructura de Memoria en el PLC

• Memoria de Programa

• Imagen de Entrada
y Salida

• Entrada / Salida
de Periferia

• Módulo de Datos

• Datos Temporales

Ing. Antonio La Rocca R.


Estructura de Memoria
Imágenes de Proceso

PAE PAA
Programa
Byte 0 de usuario Byte 0
Byte 1 Byte 1
Byte 2 1 Byte 2
: : :
: : : 1
: U E 2.0 :
= A 4.3
:
:
:
:
Área de memoria de la CPU Área de memoria de la CPU

Ing. Antonio La Rocca R.


Estructura de Memoria
Bloque de arranque (OB 100)
Se ejecuta una vez después de, por ej., el encendido

Módulo de
Inicio del tiempo de supervisión de ciclo
entradas

Lectura de los estados de las señales de los módulos


y almacenamiento de los datos en la imagen de proceso (PAE)
Ciclo de la CPU

Ejecución del programa en el OB1 Bloque U E 0.1


(ejecución cíclica) OB 1 U E 0.2
Eventos (alarma cíclica, alarmas de proceso, etc.) = A 8.0
llamada a otros OBs, FBs, FCs, etc.

Escritura de la imagen de proceso de salidas Módulo de


(PAA) en los módulos de salida salida

Ing. Antonio La Rocca R.


Estructura de Memoria
Cargar y Guardar Bloques Modificados

Abrir Offline

Guardar

Abrir Online

Cargar

Ing. Antonio La Rocca R.


Lenguajes de Programación

Ing. Antonio La Rocca R.


Lenguajes de Programación

LENGUAJE APLICACIÓN
Lista de Instrucciones STL ó AWL Programas optimizados en tiempo de ejecución y uso de
memoria

Escalera LAD ó KOP Programas de Controles Combinacionales

Diagrama de Funciones FBD ó FUP Programas de Controles Combinacionales

Lenguaje Estructurado SEL Programación de Tareas de procesamiento de Datos

GRAPH Descripción eficiente de procesos secuenciales

HI GRAPH Descripción eficiente de procesos asincrónicos, no


secuenciales

CFC Descripción de paquetes contínuos

Ing. Antonio La Rocca R.


Lenguajes de Programación

Lista de Instrucciones (AWL)

AWL (Lista de Instrucciones)

Apropiada, entre otros, para usuarios que provienen del campo de la


Informática (Referencia Simbólica
Absoluta ) )

U “Pulsador
E 0.0 1”
U “Pulsador
E 0.1 2”
= “Lámpara
A 1.0 Verde”

Ing. Antonio La Rocca R.


Lenguajes de Programación

Esquema de Contactos (KOP)

KOP (Esquema de Contactos)

Apropiada, entre otros, para usuarios que provienen de la


(ReferenciaAbsoluta
industria electrotécnica (Referencia Simbólica
) )

“Pulsador
E 0.01” “Pulsador
E 2”
0.1 “Lampara
A 1.0 Verde”

Ing. Antonio La Rocca R.


Lenguajes de Programación

Diagrama de Funciones (FUP)

FUP (Diagrama de Funciones)

Apropiada, entre otros, para usuarios que estén familiarizados con


la técnica de circuitos (Referencia Simbólica).
(Referencia Absoluta).

E 0.0
“Pulsador 1” & “Lámpara
A 1.0 Verde”
“Pulsador
E 0.1 2” =

Ing. Antonio La Rocca R.


Lenguajes de Programación
CFC (Continuous Function Chart): CFC para SIMATIC S7
Herrmamienta gráfica para la creación
de programas de PLC
Los bloques se sitúan
en diagramas de funciones
y se interconectan
La interconexión es
posible:
- entre campos de E/S
- también con bloques
de otros diagramas
Fuentes y destinos se
manejan en los
márgenes
Ventajas
Creación del Programa
por técnicos
creación rápida, comprobación, testeo
y tiempos de puesta en marcha Ing. Antonio La Rocca R.
Lenguajes de Programación
S7-SFC: La herramienta para
Sistemas de Control Secuencial con S7- SFC
la programación secuencial
en cascada
Diseñado para los reque-
rimientos de automatización
del proceso
Compatible con IEC 1131-3
Los pasos asignan valores
a los bloques en CFC
Las transiciones comprueban
las condiciones para el
cambio al siguiente paso
Comprobación de la sintaxis
durante la creación
Conexión directa a CFC
Aceptación de valores usando
“Arrastrar y Soltar”
Selección de referencias cruzadas
Visualización con WinCC Ing. Antonio La Rocca R.
Lenguajes de Programación
Programación de Sistemas de Control Secuencial con S7- GRAPH
S7-GRAPH: La herramienta para la
programación de secuencias en cascada S1
Compatible con IEC 1131-3
Diseñado para los requerimientos
de la ingeniería de producción T1 T4
División gráfica del proceso
en pasos y transiciones
S2 S5 S6
Los pasos contienen acciones
Comprobación de las condiciones de
transición para el cambio al paso siguiente T5
T2

Con S7-GRAPH se pueden optimizar


las siguientes fases de la automatización: S4

Planos, configuración
Programación T3
Depurado
Puesta en Marcha
Mantenimiento, Diagnóstico

Ing. Antonio La Rocca R.


Lenguajes de Programación
Programación usando el Método de Diagrama de Estados con
S7- HiGraph
S7-HiGraph: La herramienta
Posición
para programación usando Interruptor No indexado
Diagramas de Estados controlado por
cámara 1 2 4 Giro izquierda
División de la máquina en
unidades funcionales pieza

Creación de diagramas de estados


para cada unidad de función Giro derecha
Los estados contienen acciones Motor Indexado Disco graduado
Los diagramas de estados se cierre/apertura
Indice
comunican usando mensajes Motor Disco graduado

Las siguientes fases de


automatización pueden
optimizarse con S7-HiGraph: Coordinador
Planos, configuración
Programación
Depurado
Mantenimiento, Diagnóstico
Permite reutilización
Ing. Antonio La Rocca R.
Lenguajes de Programación
Programación en el Lenguaje de Alto Nivel S7- SCL

S7-SCL: Lenguaje de alto nivel para crear


FUNCTION_BLOCK Integrator
programas de PLC VAR_INPUT
Init : BOOL; // Resetear valor de salida
Compatible Texto IEC 1131-3 x : REAL; // Valor de entrada
Ta : TIME; // Intervalo de muestreo en ms
(ST=Texto estructurado) Ti : TIME; // Tiempo de integración en ms
Certificado acorde con Nivel Base PLCopen ulim : REAL; //// Valor
olim : REAL; límite superior de salida
Valor límite inferior de salida
END_VAR
Contine todos los elementos típicos del
lenguaje de alto nivel, tales como VAR_OUTPUT
y : REAL:= 0.0; // Inicializar valor de salida con 0
operandos, terminos, instr. de control END_VAR
Elementos específicos del PLC integrados, BEGIN
tales como acceso IF TIME_TO_DINT(Ti) = 0 THEN // División por ?
OK := FALSE;
E/S, temporizadores, contadores ...) y := 0.0;
RETURN;
Ventajas: END_IF;
IF Init THEN
Programa bien estructurado y fácil de y:= 0.0;
ELSE
entender y := y+TIME_TO_DINT(Ta)*x/TIME_TO_DINT(Ti);
IF y > olim THEN y := olim; END_IF;
Para conocedores de los lenguajes de alto IF y < ulim THEN y := ulim; END_IF;
nivel END_IF;
END_FUNCTION_BLOCK
Para algoritmos complejos
Ing. Antonio La Rocca R.
Organización en STEP 7

•STEP 7 proporciona dos posibilidades para organizar un programa.


Basado en estas líneas - guía, puede decidir cuál es el procedimiento más
propiado para proyectar su programa.
: FB11 DB
Módulo de Módulo de Código 31
FB12 DB
Organizaci Organizaci de
ón: ón: Función: FB13 32
DB
FC10 33
FC14 DB
OB1 OB1
UDT
71
1
FC21
Código
FC22
de
Función: FB23 DB
FC20 FC24 34

Programa Lineal: Programa Estructurado:


Todas la instrucciones Las funciones reutilizables son
están contenidas en un módulo cargadas en módulos individuales.
(normalmente en el módulo El OB1 (u otro módulo) llaman a
de organización, OB1) estos módulos
Ing. Antonio La Rocca R.
Organización en STEP 7

Programa lineal Programa dividido en áreas Programa estructurado

Cuba A
Bomba
OB 1 OB 1 Cuba B OB 1

Mezclador
Salida

Salida

Todas las instrucciones Las instrucciones para funciones Las funciones reutilizables son
se encuentran en un individuales se encuentran en cargadas en bloques individuales.
bloque (usualmente en bloques individuales. El OB1 El OB1 (u otros bloques) llama a
el bloque de llama a los bloques individuales otros bloques y pasa los datos
organización OB1) uno tras otro. pertinentes.

Ing. Antonio La Rocca R.


Organización en STEP 7
Sistema Operativo
DB DB

Ciclo

Tiempo OB
FC FB SFC
Bloques de
Proceso Organización

Error FB FC SFB

OB = Bloque de Organización Leyenda:


FB = Bloque de Función
FC = Función
SFB = Bloque de Función de Sistema
SFC = Función de Sistema FB FB con bloque de
DB = Bloque de datos datos de instancia

Ing. Antonio La Rocca R.


Tipos de Módulos en STEP 7

•Módulos de Organización (OB´s)

•Módulos de Código Función (FC)


•Módulos de Función (FB)

•Módulos de Datos (DB)

•Módulos de Funciones Especiales (SFB)

•Módulos de Datos de Usuario (UDT)


•Módulos de Funciones del Sistema (SFC)

Ing. Antonio La Rocca R.


Tipos de Módulos en STEP 7

Bloque Función: FB11 DB31


Módulo de Código de
Organización: Función:
Bloque Función: FB12 DB32
OB1 FC10
Bloque Función: FB13 DB33

Código de Función: FC14 DB71


UDT1
Código de Función: FC21
Código de
Función:
Código de Función: FC22
FC20
Bloque Función: FB23 DB34

Código de Función: FC24

Ing. Antonio La Rocca R.


Tipos de Módulos en STEP 7

Acceso por todos los módulos

Función
OB1
FC10
Datos globales

DB20
Función
FC20

DB de instancia del FB1

Módulo Datos de instancia


de Función
FB1 DB5

Ing. Antonio La Rocca R.


Tipos de Módulos en STEP 7

Ing. Antonio La Rocca R.


Tipos de Módulos en STEP 7

OB – (Bloque de Organización y Estructura del Programa)


Constituye una interfase entre el sistema operativo de la CPU
y el programa de usuario. OB1 corresponde el programa de
usuario y es el último que se crea.
FC – (Funciones del Sistema) bloque lógico sin memoria. Las
FCs contienen rutinas de programa para funciones frecuentes.
FB – (Bloque de Función) son bloques con "memoria" que
puede programar el mismo usuario para transferir palabras.
DB – (Bloque de Datos Globales) Los DBs son áreas de datos
para almacenar los datos de usuario. Adicionalmente a los
datos asociados a un determinado bloque de función, se
pueden definir también datos globales a los que pueden
acceder todos los bloques.
UDT – (Bloque de Datos definido por el Usuario) son plantillas
de datos definidos por el usuario.
SFC – (Bloque de Módulos de Funciones del Sistema)

Ing. Antonio La Rocca R.


Tipos de OB´s
Prioridad
Bloque de Organización Llamado bajo las siguientes circunstancias
Por defecto Modificable

Ciclo libre OB1 Cíclicamente vía sistema operativo 1 No

Interrupciones TOD A una específica hora o a un intercalo regular (ejemplo:


2 2 a 24
OB 10 al OB 17 mensualmente).
Interrupciones Temporizadas Después de un tiempo programable, es controlado por el
3a6 2 a 24
OB 20 al OB 23 programa de usuario.
Interrupciones Watchdog Regularmente a un intervalo programable ( ejemplo: cada 100
7 a 15 2 a 24
OB 30 al OB 38 milisegundos)
Interrupciones del Proceso
Desde señales de interrupción de los módulos de I/O 16 a 23 2 a 24
OB 40 al OB 47
Interrupciones Multiprocesador Evento manejado por la vía de programa usuario en modo No
25
OB 60 multiprocesador
En el caso de perdida de redundancia y resultado de señal de I/O 25 2 a 26
Error de Redundancia
En el caso de error de redundancia del CPU 28 2 a 26
OB 70, OB 72 y OB 73 En el caso de error de redundancia de comunicación. 25 2 a 26
En el caso de errores no envueltos en la ejecución del 26 2 a 26
Error Asincrónico
programa (ejemplo: error de tiempo, error SE, interrupción 26 2 a 26
OB 80 al OB 87 de diagnostico, interrupción por inserción de módulos). 26 2 a 26
Procesamiento de Backgrtound
Cuando el ciclo mínimo de duración no se ha alcanzado 29 No
OB 90
Rutina de Arranque
Al arranque del controlador programable 27 No
OB 101, OB 102
Error Sincrónico Prioridad del
En el caso de errores conectados con la ejecución del
OB que causa
OB 121 y OB 122 programa (ejemplo: error de acceso a I/O).
el error

Ing. Antonio La Rocca R.


Operaciones Binarias

E 0.0 E 0.1 A 8.0

A 8.1 E 1.0 & M8.0


M1.0
E 1.1 P =

E 1.0 &
M1.1 M8.1
E 1.1 N =

M0.0
E 1.2 A 9.3
SR
S A

E 1.3
R

Ing. Antonio La Rocca R.


Función “AND”

E 0.0 E 0.1
+
V
- A 4.0

Ing. Antonio La Rocca R.


Función “AND”
E0.0 E0.1 A 4.0
Diagrama de
Contactos ( KOP )

E0.0
& A 4.0 Diagrama de
E 0.1 Funciones ( FUP )

U E 0.0
Lista de Instrucciones
U E0.1
( AWL )
= A 4.0

Ing. Antonio La Rocca R.


Función “OR”
E 0.0

+
V E 0.1 A 4.0
-

Ing. Antonio La Rocca R.


Función “OR”
A 4.0
E 0.0 Diagrama de
Contactos
E 0.1 ( KOP )

E 0.0
>=1 A 4.0 Diagrama de
E 0.1 Funciones ( FUP )

O E 0.0
Lista de Instrucciones
O E 0.1
( AWL )
= A 4.0

Ing. Antonio La Rocca R.


Operaciones Lógicas AND, OR
Esquema elec. KOP FUP AWL

S1 (E 0.0)
E0.0 E0.1 A 8.0 E 0.0 & A 8.0 U E0.0
= U E0.1
AND S2 (E0.1) E 0.1
= A 8.0
A 8.1 A 8.1 = A 8.1
=

L1 L2
(A 8.0) (A 8.1)

S3
(E 0.2) E0.2 A 8.2
A 8.2 O E0.2
S4 E 0.2 >=1
OR = O E0.3
(E 0.3) E 0.3 = A 8.2
E0.3

L3 (A 8.2)
Ing. Antonio La Rocca R.
Operaciones Lógicas OR Exclusiva XOR

KOP FUP AWL

E 0.4 & U E 0.4


E 0.4 E 0.5 A 8.0 A 8.0 UN E 0.5
E 0.5 >=1 O
=
UN E 0.4
E 0.4 & U E 0.5
E 0.4 E 0.5 E 0.5 = A 8.0

A 8.0 X E 0.4
E 0.4 XOR X E 0.5
=
E 0.5 = A 8.0

Ing. Antonio La Rocca R.


Contactos Normalmente Abiertos y Normalmente Cerrados. Sensores
y Símbolos

Proceso Interpretación en programa de PLC

El sensor El sensor es ... ¿Hay voltaje Estado Comprobación de Comprobación de


es un ... en la de la estado “1” estado “0”
entrada? señal
a la Símbolo / Resultado Símbolo / Resultado
entrada Instrucción Instrucción

Contacto activado
NA KOP: KOP:
Sí 1 “Si“ “No”
1 0
“Contacto “Contacto
NA” NC”
No No
activado 0 “No” “Si”
0 1
FUP: FUP:

& &
Contacto activado No
NC 0 “No” “Si”
0 1

No AWL: AWL:
activado Sí 1 “Si” “No”
U E x.y 1 UN E x.y 0

Ing. Antonio La Rocca R.


Ejercicio Práctico
Tarea: ¡En los tres ejemplos, la luz debe encenderse cuando S1 sea activado y S2 no esté activado!

Hardware

S1 S2 S1 S2 S1 S2

I1.0
E 1.0 I1.1
E 1.1 I1.0
E 1.0 I1.1
E 1.1. I1.0
E 1.0 I1.1
E 1.1
Controlador programable Controlador programable Controlador programable
A 4.0 A 4.0 A 4.0

Luz Luz Luz

Software
E 1.0 E 1.1 A 4.0 E 1.0 E 1.1 A 4.0 E 1.0 E 1.1 A 4.0
KOP

E 1.0 & E 1.0 & E 1.0 &

FUP
E 1.1 A 4.0 E 1.1 A 4.0 E 1.1 A 4.0

....... E 1.0 ....... E 1.0 ....... E 1.0


AWL ....... E 1.1 ....... E 1.1 ....... E 1.1
....... A 4.0 ....... A 4.0 ....... A 4.0

Ing. Antonio La Rocca R.


Función “AND” delante de “OR”

E 1.0 E 1.1 E 1.2 A 4.0


Diagrama de
Contactos
( KOP )
E 1.3 E 1.4

E 1.5

Ing. Antonio La Rocca R.


Función “AND” delante de “OR”

E 1.0
E 1.1 & A 4.0
E 1.2
>=1
E 1.3 Diagrama de
& Funciones ( FUP )
E1.4

E 1.5

Ing. Antonio La Rocca R.


Función “AND” delante de “OR”

U E 1.0 // Función AND


U E 1.1 // Función AND

U E 1.2 // Función AND


O // Función OR Lista de Instrucciones
( AWL )
U E 1.3 // Función AND
U E 1.4 // Función AND
O // Función OR
U E 1.5 // Función OR
= A 4.0 // Relé de Salida

Ing. Antonio La Rocca R.


Función “OR” delante de “AND”

E 1.0 E 1.1 E 1.2 A 4.0


Diagrama de
Contactos
( KOP )
E 1.3 E 1.4

E 1.5

Ing. Antonio La Rocca R.


Función “OR” delante de “AND”

E 1.0
E 1.3 >=1 A 4.0
E 1.5
&
E 1.1 Diagrama de
>=1
Funciones ( FUP )
E 1.4

E 1.2

Ing. Antonio La Rocca R.


Función “OR” delante de “AND”
U( // Función AND
O E 1.0 // Función OR
O E 1.3 // Función OR

O E 1.5 // Función OR
Lista de Instrucciones
)
( AWL )
U( // Función AND
O E 1.1 // Función OR
O E 1.4 // Función OR
)
U( // Función AND
O E 1.2 // Función OR
)
= A 4.0 // Relé de Salida

Ing. Antonio La Rocca R.


:
:

=
=
=

U
U
U

E 2.0
A 8.1
A 8.0
UN E 1.1
E 1.0

M 4.0
M 3.4

0
0
0
0
Estado de Señal

Resultado de consulta

Resultado lógico
de la operación
Ejemplo 1

Primera Consulta

1
1
1
1

Estado de Señal
Ejemplos

Resultado de consulta

Resultado lógico
de la operación
Ejemplo 2

Primera Consulta
0
1
0
1

Estado de Señal

Resultado de consulta

Resultado lógico
de la operación
Ejemplo 3

Primera Consulta
Resultado Lógico de la Operación, Primera Consulta.

Ing. Antonio La Rocca R.


Uso de la Negación

E 0.0 A 1.0

Si E 0.0 = 1 A 1.0 = 0

E 0.0
& A 1.0

Si E 0.0 = 0 A 1.0 = 1

UN E 0.0

= A 1.0

Ing. Antonio La Rocca R.


Ejemplo de Uso de la Negación

E 1.0 E 1.1 E 1.2 A 4.0


Diagrama de
Contactos
( KOP )
E 1.3 E 1.4

E 1.5

Ing. Antonio La Rocca R.


Ejemplo de Uso de la Negación

UN E 1.0 // Función NAND


E 1.0
U E 1.1 // Función AND
E 1.1 & A 4.0
E 1.2 U E 1.2 // Función AND
>=1
E 1.3 O // Función OR
& U E 1.3 // Función AND
E 1.4
U E 1.4 // Función AND
E 1.5 O // Función OR
UN E 1.5 // Función NOR

= A 4.0 // Relé de Salida

Ing. Antonio La Rocca R.


Funciones de Memoria

Preferencia en puesta a CERO

TABLA DE LA VERDAD
E 7.0 S A 4.0
Q
E 7.1 R S R Q
0 0 Q0
U E 7.0
0 1 0
1 0 1
S A 4.0
1 1 0
U E 7.1
R A 4.0 Set y Reset “S” y “R”

Ing. Antonio La Rocca R.


Funciones de Memoria

Preferencia en la ACTIVACIÓN

TABLA DE LA VERDAD
E 7.0 R A 4.0
Q
S
E 7.1 S R Q
0 0 Q0
U E 7.0 0 1 0
1 0 1
R A 4.0
1 1 1
U E 7.1
S A 4.0
Set y Reset “S” y “R”

Ing. Antonio La Rocca R.


Asignación, Set y Reset
KOP FUP AWL

E 1.0 E 1.1 A 8.0


U E 1.0
E 1.0 U E 1.1
& A 8.0
Asignación ( ) = A 8.0
E 1.1 =

E 1.2 E 1.3 U E 1.2


A 8.1 E 1.2 & A 8.1
Set (S ) U E 1.3
E 1.3 S S A 8.1

E 1.4 A 8.1
(R ) E 1.4 O E 1.4
>=1 A 8.1 O E 1.5
Reset E 1.5 R R A 8.1
E 1.5

Ing. Antonio La Rocca R.


Setear / Resetear un Flip-Flop

KOP FUP AWL

M0.0 M0.0
E 1.2 A 9.3 U E 1.2
SR SR S M 0.0
Prioridad S A E 1.2 S
al Reset U E 1.3
A9.3 R M 0.0
E 1.3
R A = U M 0.0
R E 1.3 = A 9.3

M0.0 M0.0
E 1.3 A 9.3 U E 1.3
Prioridad RS RS R M 0.0
R A E 1.3 R
al Set U E 1.2
A9.3 S M 0.0
E 1.2
A = U M 0.0
S E 1.2 S = A 9.3

Ing. Antonio La Rocca R.


Funciones de Memoria

Memorización por medio de Auto-retención

E 7.6
>=1 A 4.2
U(
A 4.2 &
O E 7.6
E 7.7
O A 4.2
)
E 7.6 E 7.7 A 4.2
UN E 7.7
= A 4.2

A 4.2

Ing. Antonio La Rocca R.


Conector

KOP AWL

E 1.0 E 1.1 M0.0 E 2.0 E 2.1 M 1.1 A 4.0


( ) NOT ( ) ( ) U E 1.0
U E 1.1
= M 0.0
U M 0.0
FUP U E 2.0
U E 2.1
NOT
E 1.0 & = M 1.1
M0.0
U M 1.1
E 1.1 &
= A 4.0
E 2.0 M1.1 A 4.0

E 2.1 =

Ing. Antonio La Rocca R.


Instrucciones que afectan el RLO

Negar Activar Desactivar Salvar RLO


NOT SET CLR SAVE
U E0.4 SET CLR U E5.3
= M25.4
NOT = M 0.1 = M0.0
SAVE
= A5.6

Ing. Antonio La Rocca R.


Instrucciones que afectan el RLO
Instrucción Significado Ejemplo
l SET Pone el RLO a "1" SET //RLO-1
= M 0.1
l CLR Pone el RLO to "0" CLR //RLO-0
l NOT Invierte el RLO O Modo manual;
O Modo automático;
NOT;
= Modos de funcionamiento
= M0.0

IE 1.0 E 1.1 E 1.2


l SAVE Guarda el RLO en el || || || (SAVE)
resultado binario

BIE A 4.2 A 5.0


l U BIE Consulta el resultado
binario || || ()

Ing. Antonio La Rocca R.


Instrucciones que afectan el RLO

KOP FUP AWL

U E 0.0
E 0.0 E0.1 A8.0 E 0.0 & U E 0.1
NOT A8.0
NOT ( ) E 0.1 = NOT
= A8.0

Ejemplos:
STAT 0 - Marca
CLR
CLR No disponible No disponible = M 0.0

STAT 1 - Marca

No disponible No disponible SET


SET
= M 0.1

Ing. Antonio La Rocca R.


Operaciones de Flancos
Operaciones de Flancos Negativo FN
U E4.7 EJEMPLO
FN M10.0 E4.7
= M10.1
M10.0

M10.1
1 Ciclo
Operaciones de Flancos Positivo FP
U E4.7 EJEMPLO
FP M10.0
= M10.1
E4.7

M10.0

M10.1
1 Ciclo Ing. Antonio La Rocca R.
Detección de Flanco
KOP FUP AWL

E 1.0 E 1.1 M1.0 M8.0 U E 1.0


E 1.0 & U E 1.1
M1.0 M8.0
P FP M1.0
E 1.1 P = = M8.0

E 1.0 E 1.1 M1.1 M8.1 E 1.0 U E 1.0


& M8.1 U E 1.1
M1.1
N FN M1.1
E 1.1 N = = M8.1

Ciclo - OB1
E 1.0

E 1.1

RLO
Ejemplo
M1.0

M1.1

M8.0
M8.1
Ing. Antonio La Rocca R.
Señal - Detección de Flanco
KOP FUP AWL

E 1.1 E 1.0 & U E 1.0


E 1.0 M8.0 E 1.1 U(
POS POS M8.0 U E 1.1
A
M1.0 M_BIT = FP M1.0
M1.0 M_BIT )
= M8.0
E 1.1 E 1.0 U E 1.0
E 1.0 M8.1 &
E 1.1 U (
NEG U E 1.1
A NEG M8.1
FN M1.1
M1.1 M_BIT M1.1 M_BIT = )
= M8.1

E 1.0

E 1.1
Ejemplo M1.0

M1.1
Ciclo - OB1
M8.0

M8.1
Ing. Antonio La Rocca R.
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

Ing. Antonio La Rocca R.


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

Ing. Antonio La Rocca R.


Carga y Transferencia de Datos
KOP FUP AWL

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)

Ing. Antonio La Rocca R.


Carga y Transferencia de Datos
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
:
:
:

Ing. Antonio La Rocca R.


Carga y Transferencia de Datos
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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0 MB1
L MW 0

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

Ing. Antonio La Rocca R.


Carga y Transferencia de Datos
L 3 //ACU1=3
L 2 //ACU1=2 ; ACU2=3
L 5 //ACU1=5 ; ACU2=2 se pierde
T MW6 //Transfiero 5 al MW6

Ing. Antonio La Rocca R.


Temporizadores

Los temporizadores son funciones utilizadas


como contadores para representar un número de
cuentas que deben ocurrir antes que la salida se
active.

Funciones:

1- Supervisa el desarrollo de los contadores


2- Se pueden implementar tiempos de espera,
tiempos de supervisión y la construcción de
impulsos.
Ing. Antonio La Rocca R.
Temporizadores

Ing. Antonio La Rocca R.


Formatos de Tiempo 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)

Ing. Antonio La Rocca R.


Formatos de Tiempo en STEP 7

Cargar un valor de Temporización en S7


L S5T#aH_bbM_ccS_ddMS

a = horas, bb= minutos, cc = segundos, dd = milisegundos

Ejemplo:

L S5T#1H45M3S // Introducimos un valor de


temporización
// de 1 horas, 45 minutos y 3
segundos.

Ing. Antonio La Rocca R.


Temporizador: Impulso (SI)

KOP FUP AWL

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

Q
Ing. Antonio La Rocca R.
Temporizador: Impulso (SI)
Función de Temporizador: IMPULSO (SI)
U E 2.1 //Empleamos la entrada 2.1 como entrada del temporizador
L S5T#45s //Introducimos un valor de temporización de 45 segundos
SI T2 //Empleamos el temporizador 2 como impulso
U T2 //Leemos la salida del temporizador
= A 4.0 //Asignamos la salida del temporizador a la salida 4.0

Ing. Antonio La Rocca R.


Temporizador: Impulso Prolongado (SV)
KOP FUP AWL

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

Q
Ing. Antonio La Rocca R.
Temporizador: Impulso Prolongado (SV)
Función de Temporizador: IMPULSO PROLONGADO (SV)
U E 2.1 //Empleamos la entrada 2.1 como entrada del temporizador
L S5T#85s //Introducimos un valor de temporización de 85 segundos
SV T9 //Empleamos el temporizador 9 como impulso prolongado
U T 9 //Leemos la salida del temporizador
= A 4.0 //Asignamos la salida del temporizador a la salida 4.0

Ing. Antonio La Rocca R.


Temporizador: Retardo a Conexión (SE)
KOP FUP AWL

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

Ing. Antonio La Rocca R.


Temporizador: Retardo a Conexión (SE)
Función de Temporizador: RETRASO EN LA CONEXIÓN (SE)
U E 2.1 //Empleamos la entrada 2.1 como entrada del temporizador
L S5T#65s //Introducimos un valor de temporización de 65 segundos
SE T4 //Empleamos el temporizador 4 como retardo a la conexión

U T4 //Leemos la salida del temporizador


= A 4.0 //Asignamos la salida del temporizador a la salida 4.0

Ing. Antonio La Rocca R.


Temporizador: Retardo a la Conexión
Memorizado (SS)
KOP FUP AWL

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

Q
Ing. Antonio La Rocca R.
Temporizador: Retardo a la Conexión
Memorizado (SS)
Función de Temporizador: RETRASO EN LA CONEXIÓN CON
MEMORIA (SS)
U E 2.1 //Empleamos la entrada 2.1 como entrada del temporizador

L S5T#32s //Introducimos un valor de temporización de 32 segundos


SS T2 //Empleamos el temporizador 2 como retardo a la c. con memoria
U T 2 //Leemos la salida del temporizador
= A 4.0 //Asignamos la salida del temporizador a la salida 4.0

Ing. Antonio La Rocca R.


Temporizador: Retardo a la
Desconexión (SA)
KOP FUP AWL

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

Ing. Antonio La Rocca R.


Temporizador: Retardo a la
Desconexión (SA)
Función de Temporizador: RETRASO EN LA DESCONEXIÓN (SA)

U E 2.1 //Empleamos la entrada 2.1 como entrada del temporizador


L S5T#32s //Introducimos un valor de temporización de 32 segundos
SA T7 //Empleamos el temporizador 7 como retardo a la desconexión
U T7 //Leemos la salida del temporizador

= A 4.0 //Asignamos la salida del temporizador a la salida 4.0

Ing. Antonio La Rocca R.


Selección de Temporizadores

Ing. Antonio La Rocca R.


Temporizadores: Instrucciones de Bit
KOP FUP AWL

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

Ing. Antonio La Rocca R.


Contadores
Los Contadores son bloques integrados en cada
CPU. Dependiendo del tipo de CPU, el número de
contadores varía.
La palabra de conteo contiene un valor que es un
número en el rango de 0 a 999 el cual se
introduce en el contador en el formato:
C#XXX donde, XXX es un número entre 0 y 999

El software S7 contempla dos tipos de contadores.

ZV = Contador Ascendente

ZR = Contador Descendente

Ing. Antonio La Rocca R.


Contadores
KOP FUP AWL

U E0.4
Z5 Z5
ZV Z5
ZAEHLER ZAEHLER
E0.4 A 8.3 U E0.5
ZV Q
Q E0.4 ZV ZR Z5
U E0.3
E0.5
L C#20
ZR E0.5 ZR
S Z5
E0.3 U E0.7
S E0.3 S DUAL MW 4 R Z5
L Z5
C#20 ZW DUAL MW 4 C#20 ZW DEZ AW 12 T MW4
A 8.3 LC Z5
E0.7
R DEZ AW 12 E0.7 R Q
Q = T AW12
U Z5
= A8.3

Ing. Antonio La Rocca R.


Contadores

El Contador tiene la siguiente representación en


lenguaje de escalera, donde:
N° del C = número del contador Ej. Z2
Z5
S_CUD = Tipo de Contador
ZAEHLER
E0.4 A 8.3
ZV Q
Q ZV = incrementa el contador
E0.5
ZR ZR = decrementa el contador
E0.3
S
S = setea el contador con el valor de PV
C#20 ZW DUAL MW 4
ZW = valor preseteado del contador
E0.7 R = resetea el contador
R DEZ AW 12
Q = 0 si valor CV=0 ; 1 si valor CV≥1
DUAL = valor del conteo en binario
DEZ = valor del conteo en BCD
Ing. Antonio La Rocca R.
Contadores: Diagrama Funcional

ZV

ZR

5
4
3
Cuenta
2
1
0

Ing. Antonio La Rocca R.


Contadores: Instrucciones de Bit
KOP FUP AWL

Segm. 1: Z5
E0.0 SZ
E0.0 Z5
U E0.0
SZ L C#20
C#20 CV
C#20 S Z5
Segm. 2:
Z5
E0.1 Z5
E0.1 ZV U E0.1
ZV
ZV Z5

Segm. 3:
E0.2 Z5 Z5
U E0.2
ZR E0.2 ZR ZR Z5

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

Ing. Antonio La Rocca R.


EJERCICIOS PRÁCTICOS

Ing. Antonio La Rocca R.


Ejercicios Prácticos

EJERCICIO N°1 Cuarto de Ventilación


Se tiene un cuarto con tres (3) ventiladores y en todo momento se
desea saber cuantos ventiladores están en funcionamiento.

Para ello se dispone de las siguientes señales:

E 0.0 Retorno del Ventilador N° 1


E 0.1 Retorno del Ventilador N° 2
E 0.2 Retorno del Ventilador N° 3
A 0.0 Cero Ventilador Funcionando
A 0.1 Un (1) Ventilador Funcionando (cualquiera)
A 0.2 Dos (2) Ventiladores Funcionando (cualquiera)
A 0.3 Tres (3) Ventiladores Funcionando

Ing. Antonio La Rocca R.


Ejercicios Prácticos
EJERCICIO N°1 Cuarto de Ventilación

Ing. Antonio La Rocca R.


Ejercicios Prácticos

EJERCICIO N°2 Sistema de Alarma Para Vivienda


Se quiere construir un sistema de alarma para una vivienda que
posee sensores de intrusos en 4 ventanas y dos puertas. El
sistema debe permitir silenciar la alarma pero mantener en
memoria la ubicación del sensor que activó la alarma.

E 0.0 E 0.1 E 0.2

E 0.3
E 0.4

E 0.5
Ing. Antonio La Rocca R.
Ejercicios Prácticos

EJERCICIO N°2 Sistema de Alarma Para Vivienda

E 0.0 Suiche Ventana N Cuarto 1


Alarma Armada
E 0.1 Suiche Ventana S Cuarto 1
Ventana N Cuarto 1
E 0.2 Suiche Puerta Cuarto 1
Ventana S Cuarto 1
E 0.3 Suiche Ventana Cuarto 2
Puerta Cuarto 1
E 0.4 Suiche Ventana Cuarto 3
Ventana Cuarto 2
E 0.5 Suiche Puerta Cuarto 3
Ventana Cuarto 3
E 0.6 Suiche para Armar Alarma
Puerta Cuarto 3
E 0.7 Suiche para Silenciar Alarma

Ing. Antonio La Rocca R.


Ejercicios Prácticos

EJERCICIO N°2 Sistema de Alarma Para Vivienda

ENTRADAS SALIDAS

E 0.0 Suiche Ventana N Cuarto 1 A 0.0 Luz Indicación Alarma Activa


E 0.1 Suiche Ventana S Cuarto 1 A 0.1 Luz Indicación Alarma Ventana N C1
E 0.2 Suiche Puerta Cuarto 1 A 0.2 Luz de Indicación Alarma Ventana S C1
E 0.3 Suiche Ventana Cuarto 2 A 0.3 Luz de Indicación Alarma Puerta C1
E 0.4 Suiche Ventana Cuarto 3 A 0.4 Luz de Indicación Alarma Ventana C2
E 0.5 Suiche Puerta Cuarto 3 A 0.5 Luz de Indicación Alarma Ventan C3
E 0.6 Suiche para Armar Alarma A 0.6 Luz de Indicación Alarma Puerta C3
E 0.7 Suiche para Silenciar Alarma A 0.7 Salida Activación Sirena

Ing. Antonio La Rocca R.


Ejercicios Prácticos

EJERCICIO N°3 Control de Acceso a Puesto de


Estacionamiento.

1 2 3 4 5
Entrada

Salida
10 9 8 7 6

NO HAY PUESTO
Ing. Antonio La Rocca R.
Ejercicios Prácticos

EJERCICIO N°3 Control de Acceso a Puesto de


Estacionamiento.

Se tiene un estacionamiento público con capacidad


para 10 vehículos. El usuario debe pulsar un botón
para ingresar y un botón para salir. Si se tienen 10
vehículos en el estacionamiento, el sistema deberá
encender la señal de “NO HAY PUESTO”

Ing. Antonio La Rocca R.


Ejercicios Prácticos

EJERCICIO N°3 Control de Acceso a Puesto de


Estacionamiento.

2 3 4 5
Entrada

Salida
10 9 8 7 6

NO HAY PUESTO
Ing. Antonio La Rocca R.
Ejercicios Prácticos

EJERCICIO N°3 Control de Acceso a Puesto de


Estacionamiento.

ENTRADAS SALIDAS
E 0.0 Botón de RESET A 0.0 Anuncio “NO HAY PUESTO”
E 0.1 Barrera de ENTRADA
E 0.2 Barrera de SALIDA

Ing. Antonio La Rocca R.


Ejercicios Prácticos

EJERCICIO N°3 Control de Acceso a Puesto de


Estacionamiento.
C-CUD
CU

CD CV

S
CV_BCD
PV
R Q

ZAEHLER
ZV

ZR DUAL

S
DEZ
ZW
R Q

Ing. Antonio La Rocca R.


FIN de la Parte II

Ing. Antonio La Rocca R.

También podría gustarte