Вы находитесь на странице: 1из 91

s

ST-DIAG1
MANTENIMIENTO Y DIAGNÓSTICO DE PLCs CON SIMATIC
STEP7

Contenido del curso

1 PRINCIPIOS DE PROGRAMACIÓN

1.1 DEFINICIONES BÁSICAS


1.2 SISTEMAS DE NUMERACIÓN

2 DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

2.1 IDENTIFICACIÓN DE SEÑALES


2.2 DESIGNACIÓN DE ENTRADAS Y SALIDAS DIGITALES
2.3 DESIGNACIÓN DE SEÑALES INTERMEDIAS
2.4 DIRECCIONAMIENTO DE LAS TARJETAS ANALÓGICAS
2.5 TIPOS DE DIRECCIONAMIENTO
2.6 IMAGEN DEL PROCESO
2.7 DIRECCIONAMIENTO DE LOS MÓDULOS S7-300

3 INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN STEP7

3.1 FORMAS DE REPRESENTAR UN PROGRAMA EN STEP7


3.2 OPERANDOS
3.3 ESTRUCTURA DEL PROGRAMA
3.4 FORMAS DE PROGRAMACIÓN
3.5 INSTALAR STEP7

4 ADMINISTRADOR SIMATIC

4.1 ARRANCAR EL ADMINISTRADOR SIMATIC


4.2 ESTRUCTURA DEL PROYECTO
4.3 PROGRAMACIÓN SIMBÓLICA
4.4 PROGRAMAR EL OB1

5 MANEJO DE FBs Y DBs

5.1 CREAR Y ABRIR UN BLOQUE DE FUNCIÓN


5.2 PROGRAMAR EL FB1 EN KOP
5.3 CREAR BLOQUES DE INSTANCIA

ST-DIAG1 i
s
5.4 PROGRAMAR LA LLAMADA DEL BLOQUE EN KOP

6 CONFIGURAR LOS MÓDULOS CENTRALES

6.1 CONFIGURAR EL HARDWARE

7 CARGAR Y PROBAR EL PROGRAMA

7.1 ESTABLECER UNA CONEXIÓN ONLINE


7.2 CARGAR EL PROGRAMA
7.3 TEST VISUALIZANDO EL ESTADO DEL PROGRAMA
7.4 PROBAR EL PROGRAMA CON LA TABLA DE VARIABLES
7.5 EVALUAR EL BÚFER DE DIAGNÓSTICO

8 PROGRAMAR UNA FUNCIÓN (FC)

8.1 CREAR Y ABRIR UNA FUNCIÓN


8.2 PROGRAMAR UNA FUNCIÓN
8.3 LLAMADA DE LA FUNCIÓN EN EL OB1

9 PROGRAMAR UN BLOQUE DE DATOS GLOBALES

9.1 CREAR Y ABRIR UN BLOQUE DE DATOS GLOBALES


9.2 PROGRAMAR VARIABLES EN UN BLOQUE DE DATOS
9.3 ASIGNAR SÍMBOLOS

10 ANEXOS

10.1 FUNCIONES DE IMPRESIÓN


10.2 ARCHIVAR PROYECTOS Y LIBRERÍAS
10.3 FUNCIONES DE CARGA/DESCARGA
10.4 LISTADO DE REFERENCIA CRUZADA

ST-DIAG1 ii
s
1. PRINCIPIOS DE PROGRAMACIÓN

1.1 DEFINICIONES BÁSICAS

1.1.1 Señales analógicas y digitales

1.1.1.1 Señales analógicas

La transmisión de información analógica está caracterizada por un


cambio continuo de la amplitud de la señal. Los humanos, por ejemplo,
registran la información óptica, acústica y sensorial esencialmente en la forma
de señales analógicas.

En la ingeniería de procesos, la señal 4…20 mA es transmitida en una


forma puramente analógica. Una corriente proporcional al valor medido fluye
entre el transmisor y el instrumento indicador o la tarjeta de entrada de un PLC.
Si la corriente cambia, el cambio es inmediatamente registrado por todos los
dispositivos presentes en el circuito.

1.1.1.2 Señales digitales

Una señal digital no cambia continuamente si no que es transmitida en


paquetes discretos. No es inmediatamente interpretable, en cambio, necesita
ser primero decodificada por el receptor. Hay muchas maneras por las cuales
una señal digital puede ser transmitida: como pulsos eléctricos que saltan entre
dos o más niveles de voltaje o como código Morse. Incluso las señales de
humo o los golpes de un tambor pueden ser clasificadas como una señal
digital.

1.1.2 Señales binarias

Para el PLC las señales digitales de entrada solo pueden adquirir los
estados de: “existe tensión” o “no existe tensión”, nunca un estado intermedio.
De la misma manera las señales digitales de salida solo pueden estar
“conectadas” o “desconectadas”. Este tipo de señales que solo pueden tomar
dos estados definidos se les conoce como señales binarias. En este sentido,
las señales digitales de entrada y salida del PLC descritas hasta ahora, son
señales binarias.

1.1.2.1 Estado de señal

A los 2 estados posibles de una señal binaria se les asocia, para efectos
de procesamiento, el estado de señal “0” y “1”. En el PLC, la correspondencia
entre los estados físicos de las señales de entrada/salida y los estados de
señal “0”y “1” es la que se muestra en la Fig.1-1.

ST-DIAG1 1
s
Para una señal de entrada, por ejemplo, el estado de señal toma el valor
de “1” cuando se detecta el 100% del voltaje en el canal de entrada.

El estado de señal es “0” cuando existe el 0% del voltaje. El 0% y 100%


del voltaje se determinan según criterios de tolerancia.
1L+
Exite tensión Estado de No existe Tensión
+24V Señal 0v
"1" "0"
1L Estado de
Señal Entradas Salidas
# CPU
No Existe
Fuente 0
Tensión Desconexión
de
Existe
Alimentacion 1 Conexión
Tensión
2L+
"0" "1" Estado de
Señal
Lampara Lampara
Apagada Encendida
2L-

Fig. 1-1 Estados de señal “0” y “1”

Los niveles de voltaje de dos señales de entrada pueden ser distintos.


La determinación del estado de señal se hace respecto al 0% y 100% del
voltaje que se maneja y no respecto a un nivel de voltaje determinado. Ver Fig.
1-2.

CASO : A B C VOLTAJE

ESTADO DE SENAL "1"


+230V +115V +24V (POR EJEMP : +24v)

0V 0V 0V 0

Fig. 1-2 Señal binaria

1.1.2.2 Tipos de contactos y su estado de señal

ST-DIAG1 2
s
Hemos visto que el PLC asocia el estado de señal “0” a las entradas
donde “no existe tensión” y asocia el estado de señal “1” a las entradas donde
existe tensión”. Sin embargo, el PLC no es capaz de determinar de estos
“unos” y “ceros” la situación física que los produce.

Por ejemplo, tener una entrada con estado de señal “1” puede ser el
resultado de dos situaciones físicas distintas. Analicemos la Tabla 1-1.

Vemos que un estado de señal “1” lo produce un contacto normalmente


abierto accionado, o un contacto normalmente cerrado no accionado. De la
misma manera, el estado de señal “0” lo produce un contacto normalmente
abierto no accionado o un contacto normalmente cerrado accionado. Es claro
entonces que el PLC no puede determinar a partir del estado, el tipo de
contacto asociado a la entrada.

TIPO DE CONTACTO ESTADO DEL TENSIÓN DE ESTADO DE


CONTACTO ENTRADA SEÑAL A LA
ENTRADA

Contacto NO ACCIONADO EXISTE 1

(normalmente abierto) NO NO EXISTE 0


ACCIONADO

Contacto NC ACCIONADO NO EXISTE 0

(normalmente cerrado) NO EXISTE 1


ACCIONADO

Tabla 1-1 Tipos de contacto y su estado de señal

Esta situación debe tomarse muy en cuenta, sobre todo en el momento


de la programación. El que elabora el programa de control debe tener muy
claro lo que representan los “unos” y “ceros” que se manejan; especialmente
cuando se trata de señales relacionadas con la seguridad de la instalación
(rotura de cable, derivación a tierra, parada de emergencia, …)

1.1.3 Concepto de bit, byte y palabra

Analicemos las siguientes definiciones en conjunto con el diagrama


adjunto.

BIT Estado de señal 0”ó “1”

7 6 5 4 3 2 1 0
BYTE 0 Longitud = 8 bits

15 8 7 0

ST-DIAG1 3
s
WORD Longitud = 16 bits
Byte alto (MSB) Byte bajo (LSB)

ST-DIAG1 4
s
1.1.3.1 Bit

El bit es la unidad de información más pequeña. Solo puede tomar los


valores “0” y “1”. Un bit es suficiente para representar una señal binaria.

1.1.3.2 Byte

El byte es una unidad compuesta de 8 bits. Los bits se agrupan de


derecha a izquierda tomando como número de bit de 0 al 7. En un byte se
puede representar el estado de hasta 8 señales binarias (1 por cada bit).

1.1.3.3 Word o palabra

La palabra es una unidad mayor, compuesta de 16 bits = 2 bytes. Los


bits se agrupan de derecha a izquierda tomando un número de bit del 0 al 15.
En una palabra se pueden representar hasta 16 señales binarias.

1.2 SISTEMAS DE NUMERACIÓN

1.2.1 Formas de representar los números

Veamos el siguiente ejemplo: Un contador tiene la tarea de contar


balones. El estado actual del contador es 11, indicado en un visualizador.
¿Cuantos balones hay?

a) ••••• ••••• •
b) •••
c) ••••• ••••• ••••• ••

La solución que usted probablemente ha seleccionado es la alternativa


a), porque los usuarios están usando la representación de los valores
numéricos en el sistema decimal. El sistema decimal es solo de muchos
sistemas de numeración existentes.

El procesador de un Controlador Programable puede procesar


solamente los estados de señal “0” y “1”. Esto requiere un sistema de
numeración que usa solo estos dígitos. El sistema binario usa sólo “0” y “1”. En
este sistema de numeración, la secuencia de dígitos “11” es la representación
para la solución b) (3 en sistema decimal).

Los números binarios necesitan mas espacios que sus equivalentes


decimales, esto los hace difíciles de usar. Es difícil recordar números largos
que consisten de ceros y unos. La dificultad para leer y convertir números
binarios motiva el uso de un sistema hexadecimal. En este sistema, “11”
representa la solución c) (17 en sistema decimal)

ST-DIAG1 5
s

1.2.2 Características de un sistema de numeración

Actualmente todos los sistemas de numeración tienen la misma


estructura que el sistema decimal. Ellos pueden ser descritos usando tres
características básicas:

• Los dígitos
• La base o raíz
• Los pesos

La contribución de cada uno de lo dígitos a todo el número depende de


la posición de estos dentro del número. Cada posición tiene cierto peso que es
igual a la potencia de la base escogida. El valor del número es obtenido al
multiplicar cada dígito por el peso de su posición y sumando los resultados.

La tabla muestra las características y un ejemplo para los sistemas


binario y decimal. Estos sistemas serán usados posteriormente durante el
aprendizaje del lenguaje STEP 7.

CARACTERÍSTICA SISTEMA BINARIO SISTEMA HEXADECIMAL


Dígitos 0,1 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Base 2 16

Pesos 20 =1, 160 = 1,


21 =2, 161 = 16,
22 =4, 162 = 256,
23 =8, ….. 163 = 4096, ……

Ejemplo 1102 CDH


0x1=0 13 x 1 = 13
1x2=1 12 x 16 = 192
1x4=4 → CDH = 13 + 192 = 205
→ 1102 = 0 + 2 + 4 = 5

Tabla 1-2 Características de los sistemas binario y hexadecimal

1.2.3 El código BCD

Los PLCs solamente pueden procesar números en representación


binaria. Estos son difíciles de usar por los usuarios y por lo tanto no son
prácticos para el ingreso o salida de valores numéricos de un PLC. El uso de
números hexadecimales tampoco es de gran ayuda; en su lugar, otro tipo de
representación es usada: el código BCD (binary-coded decimal).

ST-DIAG1 6
s
Los números en BCD son otro sistema de numeración, pero uno en el
cual los números decimales han sido convertidos en un número binario, de
modo que el PLC pueda procesarlo fácilmente.
Los dígitos individuales del número decimal están codificados en cuatro
bits (dígitos binarios). Esta representación con cuatro bits aparece por que el
mayo dígito decimal, el 9, requiere como mínimo esta cantidad de dígitos en su
representación binaria (10012).

La tabla 1-3 muestra la representación de diversos números en los


sistemas de numeración vistos.

DECIMAL BINARIO HEXADECIMAL BCD


0 0 0 0000
1 1 1 0001
2 10 2 0010
3 11 3 0011
4 100 4 0100
55 101 5 0101
6 110 6 0110
7 111 7 0111
8 1000 8 1000
9 1001 9 1001
10 1010 A 0001 0000
11 1011 B 0001 0001
12 1100 C 0001 0010
13 1101 D 0001 0111
14 1110 E 0001 0100
15 1111 F 0001 0101
16 1 0000 10 0001 0110

126 111 1110 7E 0001 0010 0110


127 111 1111 7F 0001 0010 0111
128 1 0000 0000 80 0001 0010 1000

510 1 1111 1110 1FE 0101 0001 0000


511 1 1111 1111 1FF 0101 0001 0001
512 10 0000 0000 200 0101 0001 0010

Tabla 1-3 Números en diferentes representaciones

ST-DIAG1 7
s
2. DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

2.1 IDENTIFICACIÓN DE SEÑALES

Al PLC llegan diversas señales de campo procedentes de los emisores,


y salen otras señales hacia lámparas y elementos finales de control. Así
mismo, al ejecutarse el programa contenido en la memoria se generan una
serie de señales internas auxiliares en la elaboración de la lógica de control.
¿Cómo se manejan sin confusión todas estas señales?

Para identificar claramente las señales que se manejan en el PLC es


necesario darles un nombre o designación. Cada vez que se hace referencia a
una señal, se hace a través de este nombre o designación.

La designación de las señales puede hacerse considerando una única


señal (1 bit) o un grupo de ellas (byte o palabra). Veamos como se lleva a cabo
esta designación en cada caso.

2.2 DESIGNACIÓN DE ENTRADAS Y SALIDAS DIGITALES

Las señales de entrada y salida llegan y salen físicamente de los bornes


de conexión de las tarjetas de entrada y salida (Fig. 2-1).

Fig. 2-1 Designación de entradas y salidas


E3.6 E3.4 E3.2 E3.0
+24V E3.7 E3.5 E3.3 E3.1

EJEMPLOS:
EMISORES

E 0.3 INPUT BIT

AB 5 OUPUT BYTE
No DEL
7 6 5 4 3 2 1 0 BIT EW 2 INPUT WORD

0 0 1 0 1 1 0 0
TIPO DE DIRECCION
SEÑAL
BYTE 3 BYTE 4

13.5 ESTADO DE SEÑAL "1"

ST-DIAG1 9
s
Para efectos de identificación, todas las señales que manejan las
tarjetas se agrupan en conjuntos de 8, es decir por bytes. Y se les asigna un
número byte (0..n); cada byte contiene a su vez 8 elementos: una señal por
cada uno de sus 8 bits.

Cualquier señal en las tarjetas queda definida mediante el número del


grupo al que pertenecen (número byte) y el número de elemento en el grupo
(número bit). A esta información se le conoce como dirección de la señal.

2.2.1 Designación de señales bit

La designación de señales “bit”(una única señal) se hace como sigue:

• Se da distintivo del tipo de señal:

E Entrada
A Salida

• Luego se indica la dirección de la señal, separando con un punto el


número byte y el número bit:

No. Byte • No. Bit

Así por ejemplo, la designación de la señal que llega a una tarjeta de


entrada, en el grupo byte 0, elemento 3, es la siguiente:

E 0.3

Tipo de señal Número de bit

Número de byte

2.2.2 Designación de señales byte y palabra

Para hacer referencia a un grupo de señales es necesario añadir al


distintivo del tipo de señal, el tipo de grupo de que se trata: “B” para grupos
byte (8 elementos) y “W” para grupos palabra (en Inglés Word, 16 elementos).
Esto es:

EB Entrada Byte
AB Salida Byte
EW Entrada Word
AW Salida Word

La dirección de un grupo de señales queda determinada por la dirección


byte de inicio del grupo. En este caso la dirección bit carece de sentido.

Así, por ejemplo:

ST-DIAG1 10
s

• Al grupo de las 8 señales de salida pertenecientes al byte 5 se le


designa:

AB 5
Tipo de señal Número de byte
• A la palabra que contiene los bytes 2 y 3 de entrada se le designa:

EW 2

Número de byte
Tipo de señal
(byte de inicio)

• Las señales E0.0, E0.1, … , E0.7 forman el grupo EB0.

• Los grupos byte AB4 y AB5 forman el grupo palabra AW4.

2.3 DESIGNACIÓN DE SEÑALES INTERMEDIAS

Además de las señales de entrada y salida existen otro tipo de señales


en el PLC. Tal es el caso de las señales bandera, “flags” o marcas que
sirven para guardar resultados intermedios en la lógica de control. Estas
señales hacen las veces de los relés auxiliares en control convencional.

Las marcas, así las llamaremos en adelante, son señales internas, no


entran ni salen del PLC. Por tanto, no es posible asociarles el borne de
conexión de alguna tarjeta. Estas señales se encuentran en una región
especial de la memoria del CPU. Reservada especialmente para ellas.

La designación de las marcas se hace en forma similar a la designación


de entradas y salidas, con la diferencia de que estas señales no llegan ni
salen de bornes de conexión, sino de localidades de memoria, y su
distintivo de señal es “M”(marca).

2.4 DIRECCIONES DE LAS TARJETAS ANALÓGICAS

Para cada canal de una tarjeta analógica son precisos dos bytes (una
palabra). Por ello, la dirección de un canal analógico está representada por el
número de byte alto.

2.5 TIPOS DE DIRECCIONAMIENTO

Cada una de las señales de las tarjetas de entrada y salida tienen una
dirección. Como lo mencionáramos anteriormente, las señales que maneja una

ST-DIAG1 11
s
tarjeta se agrupan en conjuntos de 8 (bytes) para efectos de direccionamiento.
La dirección de una señal se hace dando el conjunto byte al que pertenece, y el
número de elemento o número bit dentro de ese byte.
Existe la posibilidad de manejar:

• Direccionamiento FIJO, y
• Direccionamiento VARIABLE.

2.5.1 Direccionamiento fijo

Cuando se trabaja direccionamiento fijo, la dirección de cada señal


depende de la posición o puesto de enchufe de la tarjeta a la que pertenece.

A cada puesto de enchufe se le asignan 4 direcciones bytes, (se


enchufen o no tarjetas en el puesto). Se reservan 4 direcciones bytes por
puesto considerando que las tarjetas que manejan mayor número de señales
son aquellas de 32 puntos (4 bytes). En el caso de insertar una tarjeta de 16
puntos, las 2 últimas direcciones bytes que le corresponden al puesto de
enchufe se pierden. Así por ejemplo las señales que maneja la tarjeta en el
puesto de enchufe “0” corresponden a los bytes “0”, “1”, “2”, “3”. Los bytes “4”,
“5”, “6”, “7” se encuentran en la tarjeta del puesto d enchufe “1” y así
sucesivamente.

2.5.2 Direccionamiento variable

La dirección de una señal puede ser independiente de la posición o


puesto de enchufe de la tarjeta a la que pertenece. Así por ejemplo es posible
hacer que los bytes “0”, “1”, “2” y “3”no correspondan a la tarjeta enchufada en
el puesto “0”, sino que correspondan a la tarjeta ubicada en el puesto de
enchufe 3; A este tipo de direccionamiento se le conoce como direccionamiento
variable.

El direccionamiento variable es posible únicamente insertando una


tarjeta IM (Interface Module) en el último puesto de enchufe del bastidor. Las
direcciones byte de inicio deseadas para cada uno de los puestos de enchufe
se fijan ajustando los micro-switchs (DIL) que tiene la tarjeta IM en la parte
lateral.

2.6 IMAGEN DEL PROCESO

Antes de comenzar la elaboración propiamente del programa, y una vez


que se ha iniciado la vigilancia del tiempo de ciclo, se realiza la carga de la
Imagen de Proceso de las Entradas. Esto consiste en “vaciar” el estado de
todas las señales de entrada procedentes de las tarjetas, en una región de la
memoria, especialmente destinada para ello, conocida como PAE (imagen de
proceso de entrada). Ver fig. 2-2.

ST-DIAG1 12
s
Durante la elaboración del programa, todas las consultas a los estados
de señal de las entradas se hace de la Imagen de Proceso de Entradas (PAE)
y no directamente de las tarjetas.

Los resultados del programa, producidos por la asignación a las salidas,


se escriben en otra región de la memoria conocida como Imagen de Proceso
de Salidas (PAA). Al finalizar el programa después de la última instrucción, se
transmiten los estados de señal contenidos en la PAA a las tarjetas de salida.
Hasta entonces se actualiza físicamente el estado de conexión y desconexión
de las salidas.

ESTADOS DE SEÑAL
DE LAS ENTRADAS
ESTADOS DE SEÑAL
DE LAS SALIDAS
ENTRADAS SALIDAS
EF00 H 0

PAE

EF7FH 127
EF80 H 0

PAA

IPE = IMAGEN DE PROCESO DE ENTRADAS EFFFH 127

IPS = IMAGEN DE PROCESO DE SALIDAS


DIRECCION ABSOLUTA DIRECCIONES DE BYTE
RELATIVAS

Fig. 2-2 Imágenes de proceso

ST-DIAG1 13
s
2.7 DIRECCIONAMIENTO DE LOS MÓDULOS S7-300

2.7.1 Asignación de direcciones en función del puesto de enchufe

N° puesto IM 3 4 5 6 7 8 9 10 11

N° puesto IM 3 4 5 6 7 8 9 10 11

N° puesto IM 3 4 5 6 7 8 9 10 11

N° puesto 2 3 4 5 6 7 8 9 10 11

ST-DIAG1 14
s
2.7.2 Correspondencia y direcciones para fila 0

N° puesto 2 3 4 5 6 7 8 9 10 11
Dirección digital 0 4 8 12 16 20 24 28
Dirección analógica 256 272 288 304 320 336 352 368

2.7.3 Correspondencia y direcciones para fila 1

N° puesto 3 4 5 6 7 8 9 10 11
Dirección digital 32 36 40 44 48 52 56 60
Dirección analógica 384 400 416 432 448 464 480 496

2.7.4 Correspondencia y direcciones para fila 2

N° puesto 3 4 5 6 7 8 9 10 11
Dirección digital 64 68 72 76 80 84 88 92
Dirección analógica 512 528 544 560 576 592 608 624

ST-DIAG1 15
s
2.7.5 Correspondencia y direcciones para fila 3

N° puesto 3 4 5 6 7 8 9 10 11
Dirección digital 96 100 104 108 112 116 120 124
Dirección analógica 640 656 672 688 704 720 736 752

ST-DIAG1 16
s
3. INTRODUCCIÓN AL LENGUAJE DE
PROGRAMACIÓN STEP 7

El STEP 7 es un lenguaje de programación con el que se generan las


funciones de automatización que serán ejecutadas por los PLCs SIMATIC S7.
Estas funciones así generadas constituyen el programa de usuario, en el se
encuentran las instrucciones precisas ¿Cómo el PLC debe mandar o regular
una instalación. STEP 7 es el software para configurar y programar los
sistemas de automatización SIMATIC S7-300/400 y SIMATIC M7 300/400, así
como los equipos completos SIMATIC C7. Por lo que respecta a la
programación y a la configuración, un C7 es similar a un SIMATIC S7-300.

3.1 FORMAS DE REPRESENTAR UN PROGRAMA EN STEP 7

El lenguaje de programación STEP 7 utiliza tres métodos para la


representación de un programa:

• Lista de instrucciones (AWL)


Representa el programa de usuario como una sucesión de abreviaturas
de instrucciones. Es un lenguaje de programación textual orientado a
la máquina. En un programa creado en AWL, las diversas
instrucciones equivalen en gran medida a los pasos en los que la
CPU ejecuta el programa. Una instrucción representa en AWL tiene
la siguiente estructura.
Operación Operando
¿Qué es lo que se desea
realizar? ¿Con quien realizamos la
operación?

002: U E 0.1
Parámetro
Diferencia operandos con
el mismo identificador

Identificador
¿Qué tipo de operando
Dirección es?
Indica la posición relativa de
una instrucción dentro de un
módulo

ST-DIAG1 17
s
• Esquema de funciones (FUP)
Es un lenguaje de programación gráfico que utiliza los cuadros de
álgebra booleana para representar la lógica. En FUP se utilizan
símbolos normalizados para representar las operaciones. El símbolo
dentro del rectángulo indica la operación realizada.

• Esquema de contactos (KOP)


Este tipo de representación también es conocida como “Diagrama
Escalera” o “Ladder”, las instrucciones son representadas con
símbolos eléctricos. KOP permite observar fácilmente el sentido de
la circulación de la corriente a través de contactos, elementos
complejos y bobinas.

La Fig 3-1 muestra un ejemplo de estas dos últimas representaciones.

Opcionalmente para programar los sistemas de automatización SIMATIC


S7-300/400 se dispone de los siguientes lenguajes suministrables
opcionalmente:

• SCL para S7
Es un lenguaje textual de alto nivel conforme a la norma DIN EN 61131-
3. Contiene estructuras similares a las de los lenguajes de
programación Pascal y C. Por lo tanto, S7 –SCL, es adecuado sobre
todo para los usuarios ya acostumbrados a trabajar con lenguajes de
alto nivel. S7 – SCL se puede emplear para programar funciones
frecuentes o muy complejas.

• GRAPH para S7
Es un lenguaje de programación que permite describir controles
secuenciales (programación de cadenas secuenciales) A tal efecto,
el proceso se divide en etapas. Estas últimas contienen sobre todo
acciones para controlar las salidas. El paso de una etapa a otra se
controla mediante condiciones de transición.

• HI – GRAPH para S7
Es un lenguaje de programación que permite describir cómodamente los
procesos asincrónicos y no secuenciales en forma de grafos de
estado. A tal efecto, la instalación se divide en unidades funcionales
que pueden adoptar diversos estados. Las unidades funcionales se
pueden sincronizar mediante el intercambio de mensajes.

• CFC para S7 y M7
Es un lenguaje de programación para interconectar gráficamente las
funciones existentes. Estas últimas abarcan una amplia gama que
incluye desde combinaciones lógicas sencillas hasta regulaciones y
controles complejos. Se dispone de un gran número de funciones en
forma de bloques contenidos en una librería. La programación se

ST-DIAG1 18
s
lleva a cabo copiando lo bloques en un plano y contactándose entre
sí mediante líneas

FUP KOP
Esquema de Funciones Esquema de Contactos
E 1.0 E 1.1 E 1.2 A 4.0
E 1.0 &
E 1.1

E 1.2 ≥1
E 1.3
&
E13 E14

E 1.4 A4.0

Fig. 3-1 Representaciones FUP y KOP

Cada forma de representación tiene sus propias características. Por esta


razón, un módulo de programa escrito en AWL, no puede convertirse a KOP o
FUP en todos los casos. De la misma manera, las formas de representación
gráfica tampoco son compatibles entre sí. Sin embargo, todo programa escrito
en KOP o FUP tiene su equivalente en AWL. La Fig. 3-2 resume lo
anteriormente expuesto.

AWL
AWL

FUP KOP

Fig. 3-2 Compatibilidad entre las formas de representación

ST-DIAG1 19
s
3.2 OPERANDOS

La tabla 3-1 muestra los operandos disponibles en STEP 7:

OPERANDO TIPO FUNCIÓN


E Entradas Interfases del proceso al PLC
A Salidas Interfases del PLC al proceso
M Marcas Memoria para resultados binarios
intermedios
D Datos Memoria para resultado digitales
intermedios
T Temporizadores Memorias para la realización de
temporizaciones
Z Contadores Memorias para la realización de
contadores
P Periferia Interfase del proceso al PLC
B# Constante, 2 ó 4 bytes Valor numérico fijo
D# Constante de fecha IEC Valor numérico fijo
L# Constante entera (32 bits) Valor numérico fijo
P# Constante puntero Valor numérico fijo

S5T# Constante de tiempo S5 (16 bits) Valor numérico fijo

T# Constante de tiempo (16/32 bits) Valor numérico fijo


TOD# Constante de hora IEC (32 bits) Valor numérico fijo
C# Constante de contador (16/32 Valor numérico fijo
bits)

2# Constante binaria (16/32 bits) Valor numérico fijo


16# Constante hexadecimal (16/32 Valor numérico fijo
bits)
OB,FC, FB, DB Módulos de programa Auxiliares para estructurar el
programa

Tabla 3-1 Zonas de operandos disponibles en STEP 7

3.3 ESTRUCTURA DEL PROGRAMA

El programa de la CPU consta de dos programas: el del sistema y el de


usuario.

El programa del sistema es la suma de todas las instrucciones y


declaraciones involucradas en la ejecución de las funciones internas; como el
respaldo de datos en caso de falla de tensión, la organización de diversas
funciones anidadas en cada bloque y otros. El programa del sistema se
encuentra almacenado en una PROM no volátil y en una EPROM. El usuario
no tiene acceso a este programa.

ST-DIAG1 20
s

El programa de usuario es la suma de todas las instrucciones y


declaraciones para procesar las señales que controlarán la máquina o proceso.
Este programa es estructurado y está subdividido en varias secciones llamadas
bloques.

Los Bloques de organización forman la interfase entre el programa de


usuario y el programa del sistema. Este llama a estos bloques cuando ocurre
cierto evento. También están disponibles bloques de funciones estándar
para aplicaciones generales. A pesar de que estos bloques son parte del
programa del sistema, pueden ser llamados por el programa de usuario.

La Fig. 3-3 resume lo explicado anteriormente

Integrado en la CPU

Funciones
especiales
integradas
Programa
Del Programa
Sistema De
Bloque de Usuario
Funciones
estándar

Bloques de
organización

En módulo de memoria usuario

Fig. 3.-3 Programas en la CPU

ST-DIAG1 21
s
3.4 FORMAS DE PROGRAMACIÓN

Al momento de realizar el programa que gobernará determinada máquina


o secuencia podemos escoger entre dos formas para estructurar un programa
STEP 7:

• Programación lineal.
• Programación estructurada.

3.4.1 Programación lineal

Este tipo de estructura es usado cuando se tienen tareas simples de


automatización, consiste en programar todas las instrucciones en una sola
sección o módulo.

Para los PLCs SIEMENS (Series S5 y S7) esta sección es el Módulo de


Organización 1, más conocido como OB1. Este módulo se procesa
cíclicamente, es decir, tras la última instrucción se vuelve a ejecutar la primera.

3.4.2 Programación estructurada

Es la forma de programación utilizada para resolver tareas complejas y


consiste en dividir el programa global en secciones (módulos) que realizan
tareas específicas.

Las ventajas que se obtienen con la programación estructurada son:

• Programación más simple y clara.


• Posibilidad de normalizar partes del programa.
• Facilidad para efectuar modificaciones
• Prueba del programa más sencilla de realizar.
• Facilidad para la puesta en marcha del sistema automatizado.

STEP 7 pone a disposición del programador los siguientes módulos:

ST-DIAG1 22
s

FB
FC
FB – BLOQUE DE FUNCIONES
OB
BLOQUES DE FC – FUNCIONES
PROCESAMIIENTO
OB – BLOQUE DE ORGANIZACIÓN

PROGRAMA
DE
APLICACIÓN
DB – BLOQUE DE DATOS
DB
BLOQUES DE
ALMACENAMIENTO

• Módulos de Organización (OB)


Encargados de gestionar el programa de mando.

• Funciones (FC)
Son módulos de programa sin memoria. Incluyen el programa de usuario
dividido según aspectos funcionales o tecnológicos.

• Módulos de Función (FB)


Son módulos de programa con memoria. En ellos se programan partes
del programa; como por ejemplo: valores de consigna, constantes,
temporizaciones, textos, ......

Usando llamadas es posible abandonar un módulo y saltar a otro. Esto


permite anidar hasta 32 niveles en módulos de programa, funcionales y de
paso. Si el anidado supera los 32 niveles el PLC pasa a STOP generando el
siguiente mensaje de error: "Desbordamiento en pila de módulos STUEB".

ST-DIAG1 23
s
3.4.3 Estructura de un módulo

Cada módulo se compone de:


• Encabezamiento con los datos relativos a tipo, número y longitud del
módulo.
• Cuerpo, incluye el programa STEP 7 o los datos.

3.4.4 Módulos de Organización (OB)

Como se mencionó anteriormente, estos módulos constituyen la


interfase entre el sistema operativo (programa del sistema) y el programa de
mando (programa de usuario). Cada uno de los distintos bloques de
organización se hace cargo de una determinada tarea parcial. Cada bloque de
organización puede crear un programa estructurado, creando funciones (FC) y
bloques de función (FB) y llamándolas en el área de instrucciones. Al llamar a
un bloque tiene que asignar datos a los parámetros declarados.

En el caso más sencillo de programación usted necesitará bloques de


organización para lo siguiente:

• Módulo de organización que lo llama cíclicamente el sistema operativo


(OB1)
• Módulos de organización para arranque (OB100, OB101)
• Módulos de organización para tratamiento de errores (OB80 a OB87,
OB121 a OB122), si es que su CPU no debe pasar a STOP en caso
de producirse un error.
• Otros ofrecen funciones operativas (del mismo modo que los módulos
funcionales integrados), llamados desde el programa de mando:
modificar las alarmas de la CPU y del proceso

La Fig. 3-4 muestra la forma de construir un programa de mando


estructurado. Además pone de relieve la importancia de los módulos de
organización.

3.4.5 Funciones (FC)

Una función (FC) es un bloque lógico sin memoria. Tras la ejecución de


la FC, los parámetros de salida contienen los valores de la función que se han
calculado. En este caso, es el usuario quien decide cómo y dónde se utilizarán
y guardarán los parámetros actuales después de llamar una FC.

La FC contiene un programa, que se ejecuta siempre cuando la FC es


llamada por otro bloque lógico. Las funciones se pueden utilizar para:
• Devolver un valor de función al bloque invocante (ej.: funciones
matemáticas)
• Ejecutar una función tecnológica (ej.: control individual con
combinación binaria)

ST-DIAG1 24
s

OB100/101

OB1 FC1 FC11

FB2 FC200

Programa del sistema Programa de mando

Fig. 3-4 Ejemplo del uso de módulos de organización

FC ELECCION DE FORMA DE OPERACION FC 10 OPERACION


MANUAL

FC 45 TAREA
PRINCIPAL FC OPERACION AUTOMATICA

FC 250 PARO ESCALONADO


FC 37
SUPERVICION

Fig. 3-5 Funcionamiento de los módulos de programa

ST-DIAG1 25
s
Los módulos de programa se activan con las llamadas CALL y CC. Estas
operaciones pueden programarse en todos los tipos de módulos, excepto en
los de datos.

3.4.6 Módulos de Función (FB)

Los bloques de función son bloques programables. Un FB es un bloque


"con memoria". Dispone de un bloque de datos asignado como memoria
(bloque de datos de instancia). Los parámetros que se transfieren al FB, así
como las variables estáticas, se memorizan en el DB de instancia. Las
variables temporales se memorizan en la pila de datos locales.

Los datos memorizados en el DB de instancia, no se pierden al concluir


el tratamiento del FB. Los datos memorizados en la pila de datos locales se
pierden al concluir el tratamiento del FB.

FB1 FC 3 "MULTIPLICAR"

FB4

FC 80 "REGULACION"
FB3

FB11

Fig. 3-6 Funcionamiento de los módulos funcionales

Entre sus principales particularidades tenemos:

• Son parametrizables; es decir al llamar al módulo podemos


transferirles parámetros actuales.
• Disponen de funciones complementarias que no pueden ser
programadas en otros módulos.
• Solamente pueden ser representados en AWL.

ST-DIAG1 26
s
3.4.7 Módulos de datos (DB)

Aquí se guardan los datos que serán procesados durante la ejecución


del programa. Los bloques de datos guardan los datos del programa de
usuario. Se distinguen entre bloques de datos globales y bloques de datos de
instancia.
• Bloque de datos de instancia define la llamada de un bloque de
función, que transfiere parámetros, está asignado un bloque de datos
de instancia. En el DB de instancia están depositados los parámetros
actuales y los datos estáticos del FB. Las variables declaradas en el
FB determinan la estructura del bloque de datos de instancia. La
instancia define la llamada de un bloque de función, Si por ejemplo,
en un programa de usuario S7 se llama 5 veces un bloque de función,
entonces existen 5 instancias de dicho bloque
• Bloque de datos globales: Al contrario de los bloques de datos no
contienen instrucciones STEP7. Sirven para depositar datos de
usuario, es decir, dichos bloques contienen datos variables con los
cuales puede trabajar el programa de usuario. Los bloques de datos
globales contienen datos de usuario utilizables desde otros bloques.
El tamaño de los DBs puede variar.

OB1 FC1

DB255

DB4

DB0
DW0
DW1
DW2
DW3
DW4

FC17

DW255
TDW255

Fig 3-7 Funcionamiento de los módulos de datos

Se admiten los siguientes tipos de datos:


• Configuraciones binarias (representación de estados de
instalaciones),
• Números en hexadecimal, binario o decimal (temporizaciones,
resultado de cálculos,….)
• Caracteres alfanuméricos (mensajes).

ST-DIAG1 27
s
3.4.7.1 Programación de módulos de datos

El primer paso consiste en asignar un número al módulo que deberá


estar comprendido entre 2 y 255. Los datos se almacenan palabra por palabra.
Si la información es inferior a 16 bits, los bits más significativos se rellenan con
ceros. Un módulo de datos permite almacenar hasta 2042 palabras de datos.

Estos módulos también pueden crearse o borrarse desde el programa de


mando.

3.4.7.2 Ejecución de un programa con módulos de datos

• Un DB debe llamarse en el programa con la instrucción AUF (or OPN)


db N (n = 0…255)
• Dentro de un módulo, un DB mantiene su validez hasta que se llame a
otro módulo de datos.
• Al retornar al módulo primario, es nuevamente válido el DB que tenía
dicha propiedad antes de la llamada.
• En todos los OBs los DBs utilizados por el programa de usuario deben
abrirse con la instrucción AUF (or OPN) DB n.

DB
FC 20 válido

DB FC7
Válido DB 10

AUF DB 10

DB10

CALL FC 20 AUF DB 11

DB10 DB 11

Fig. 3-8 Márgenes de validez de módulos de datos

ST-DIAG1 28
s
3.5 INSTALAR STEP7

Independientemente de si desea empezar con la programación o con la


configuración del hardware, primero debe instalar STEP 7. Caso que utilice una
PG SIMATIC, ya tendrá el software instalado.

Al instalar el software de STEP 7 en


una PG/PC que no lo tenga
preinstalado, tenga en cuenta los
requisitos de software y hardware
mencionados en el archivo
'Léame.wri' del CD de STEP 7 bajo
<Unidad>:\STEP 7\Disk1

Si primero tiene que instalar STEP


7, introduzca ahora el CD. El
programa de instalación arrancará
automáticamente. Siga las
instrucciones de instalación.

Una vez finalizada la instalación y


después de reiniciar el ordenador,
aparecerá el icono "Administrador
SIMATIC" en su escritorio de
Windows.

Una vez finalizada la instalación y


después de reiniciar el ordenador,
aparecerá el icono "Administrador
SIMATIC" en su escritorio de
Windows.

ST-DIAG1 29
s
4. ADMINISTRADOR SIMATIC

4.1 ARRANCAR EL ADMINISTRADOR SIMATIC

Al arrancar STEP 7 se abre la ventana del Administrador SIMATIC. De


forma estándar, arranca así mismo el Asistente de STEP 7, el cual nos ayudará
a crear el proyecto de STEP 7. Los proyectos se estructuran de tal modo que
permiten depositar de forma ordenada todos los datos y programas que se
necesitan durante la programación.

Haga doble click en el ícono


Administrador SIMATIC. Se activará
el asistente de STEP7.

Con el botón Preliminar se muestra


y oculta la estructura del proyecto
que se está creando.

Para que se abra el segundo cuadro


de diálogo pulse el botón Siguiente.

ST-DIAG1 30
s
La dirección MPI ajustada por
defecto es la 2.

Con el botón Siguiente se confirman


los ajustes y se salta al diálogo
siguiente.

Cada CPU tiene determinadas


propiedades, p.ej., referentes a
la capacidad de memoria o a
las áreas de operandos. Por lo
tanto, es preciso seleccionar la
CPU antes de empezar a
programar. Para que la CPU
pueda comunicarse con la
Elija la CPU 313C-2DP para el PG/PC se requiere la dirección
proyecto “Ejemplo ". El mismo se MPI (Multi Point Interface).
ha creado de tal modo que puede
seleccionar la CPU suministrada en
cualquier momento.

Seleccione el bloque de
organización OB1 (si aún no está
seleccionado).

Elija el lenguaje de programación


KOP, FUP o AWL.

Confirme los ajustes realizados con


Siguiente.

El OB1 representa el nivel


superior del programa y
coordina los otros bloques del
programa S7. El lenguaje de
programación se puede
cambiar posteriormente.

ST-DIAG1 31
s
Seleccione con un doble click el
nombre que aparece en la casilla
"Nombre del proyecto" y llámelo
"Ejemplo".

El botón Finalizar permite generar el


nuevo proyecto conforme a la
presentación preliminar.

4.2 ESTRUCTURA DEL PROYECTO

Tan pronto se haya cerrado el Asistente de STEP 7 aparecerá el


Administrador SIMATIC con la ventana del proyecto "Ejemplo" abierta. Desde
esta ventana se accede a todas las funciones y ventanas de STEP 7.

ST-DIAG1 32
s

Para llamar al Asistente


de ayuda presione en el
teclado F1 o a través de
la ventana windows
Ayuda

4.2.1 Navegar en la estructura del proyecto

Se visualiza el proyecto recién creadas con el equipo S7 seleccionado y


la CPU. Haga click en los signos + ó – para abrir o cerrar una carpeta,
respectivamente. A través de los iconos visualizados en la ventana derecha
puede llamar posteriormente otras funciones.

ST-DIAG1 33
s

Haga click en la carpeta Programa S7 (1). Contiene los componentes


necesarios del programa.

Con el icono 'Símbolos' asignaremos posteriormente nombres


simbólicos a las direcciones.

La carpeta 'Fuentes' sirve para depositar programas fuente. En este


módulo no trataremos este tipo de programas.

Haga click en la carpeta Bloques. Contiene el OB1 y, más tarde,


contendrá los demás bloques que vayamos programando. A través de los
bloques aprenderemos a programar en KOP, FUP y AWL.

ST-DIAG1 34
s
Haga click en la carpeta Equipo SIMATIC 300. Contiene todos los datos
del proyecto que tienen que ver con el hardware.

Con el icono Hardware definiremos los parámetros del sistema de


automatización.

4.3 PROGRAMACIÓN SIMBÓLICA

4.3.1 Direcciones absolutas

Todas las entradas y salidas tienen asignada, de forma estándar, una


dirección absoluta. Esta dirección se adopta directamente en el software. Las
direcciones absolutas se pueden sustituir por nombres simbólicos definidos por
el usuario.

Recomendamos no
hacer uso de la
programación
absoluta a menos
que el programa S7
contenga pocas
entradas y salidas.

ST-DIAG1 35
s

4.3.2 Programación simbólica

En la tabla de símbolos asigne, a todas las direcciones absolutas que


utilizará más tarde en el programa un nombre simbólico y un tipo de datos;
p.ej.: el símbolo 'Pulsador 1' a la entrada 'E124.3'. Estos nombres,
denominados variables globales, son válidos para todos los componentes del
programa.

La programación simbólica permite mejorar considerablemente la


legibilidad del programa S7.

4.3.2.1 Uso del editor de símbolos

Navegue en la ventana del proyecto "Ejemplo“ hasta la carpeta


Programas S7 (1) y abra el icono Símbolos con un doble click.

Por el momento nuestra tabla de símbolos contiene sólo el bloque de


organización OB1.

Haga click en el símbolo Cycle Execution y sobreescríbalo para nuestro


ejemplo con "Programa principal“. En la línea 2 introduzca "Lámpara verde“ y
"A 124.3“. El tipo de datos se añade automáticamente.

ST-DIAG1 36
s

Para introducir el comentario del símbolo haga click en la columna


'Comentario' de la línea 1 ó 2. Al finalizar una línea pulse la tecla Entrar para
insertar otra.

En la línea 3 introduzca "Lámpara roja" y "A 124.4“ y confirme con


Entrar.

De este modo se asignan nombres


simbólicos a las direcciones absolutas
de las entradas y salidas requeridas
por el programa.

Guarde los datos introducidos y/o modificados y cierre la ventana.

ST-DIAG1 37
s

4.4 PROGRAMAR EL OB1

4.4.1 Abrir la ventana KOP/AWL/FUP y el OB1

4.4.1.1 Elegir KOP/AWL/FUP

STEP 7 permite crear programas S7 en los lenguajes de programación


KOP, AWL o FUP. En la práctica, y también en el ejemplo de este capítulo,
debe decidirse por uno de los tres lenguajes.

ST-DIAG1 38
s

Ahora se abrirá el
bloque OB1 en el
lenguaje de
programación en el que
haya sido creado con el
Asistente del proyecto.

De todos modos, el
lenguaje ajustado se
puede ser cambiar en
todo momento.

4.4.1.2 La ventana KOP/AWL/FUP

En la ventana KOP/AWL/FUP se programan todos los bloques. Como


ejemplo para los tres lenguajes le mostramos aquí la ventana KOP.

ST-DIAG1 39
s

4.4.2 Programar el OB1 en KOP

A continuación vamos a programar una conexión en serie, una conexión


en paralelo y la operación 'Flip-flop de activación/desactivación' en KOP
(esquema de contactos).

ST-DIAG1 40
s

4.4.2.1 Programar una conexión en serie en KOP

Si no está ajustado el lenguaje de


programación KOP, ajústelo
eligiendo el comando de menú Ver
> KOP.

Haga click en el área Título del OB1


e introduzca, p.ej., "Programa
principal.
Se ejecuta cíclicamente".

Seleccione un circuito para el primer


elemento.

Haga click en el botón que


representa un contacto
normalmente abierto en la barra de
herramientas e insértelo.

Repita el procedimiento e inserte un


segundo contacto abierto.

Inserte una bobina al final del


circuito.

Para completar la conexión en serie


sólo falta asignar las direcciones a
los contactos normalmente abiertos
y a la bobina.

Compruebe si está activada la


representación simbólica.

ST-DIAG1 41
s
Haga clic en ??.? e introduzca el
nombre simbólico "Pulsador 1" (no
olvide las comillas). Confirme con
Entrar.

Para el segundo contacto


normalmente abierto introduzca el
nombre simbólico "Pulsador 2".

Introduzca el nombre "Lámpara


verde" para la bobina.

La conexión en serie está


programada.

Si ya no hay más símbolos


marcados en rojo, guarde el bloque.

Los símbolos se marcan de color


rojo cuando no aparecen en la tabla
de símbolos o bien cuando se
detecta un error sintáctico. Los
nombres simbólicos también se
pueden insertar directamente
desde la tabla de símbolos.

Para ello haga clic en ??.? y elija


Insertar > Símbolo. Navegue por
la lista desplegable hasta el nombre
deseado y selecciónelo. Así se
aceptará automáticamente el
nombre simbólico seleccionado.

ST-DIAG1 42
s

4.4.2.2 Programar una conexión en paralelo en KOP

Seleccione el segmento 1.

Inserte otro segmento.

Vuelva a seleccionar el circuito.

Inserte un contacto normalmente


abierto y una bobina.

Seleccione la barra vertical del


circuito.
Inserte una rama paralela.
Inserte otro contacto normalmente
abierto en la rama paralela.
Cierre la rama (si es necesario,
seleccione la flecha inferior).
Para completar la conexión en
paralelo sólo falta asignar las
direcciones pertinentes.
Para asignar las direcciones
simbólicas proceda como lo hemos
hecho para la conexión en serie.
Sobreescriba el contacto abierto
superior con "Pulsador 3", el inferior
con "Pulsador 4" y la bobina con
"Lámpara roja".

Guarde el bloque.

ST-DIAG1 43
s

4.4.2.3 Programar una función de memorización en KOP

Seleccione el segmento 2 e inserte


otro segmento.

Vuelva a seleccionar el circuito.

Navegue por el catálogo de


elementos del programa pasando
por Operaciones lógicas con bits
hasta llegar al elemento SR y haga
doble click para insertarlo.

Inserte un contacto normalmente


abierto antes de la entrada S y otro
antes de la entrada R.

Introduzca el siguiente nombre


simbólico para el elemento SR:
contacto superior "Automático ON“,
contacto inferior "Manual ON“,
elemento SR "Modo automático“.

Guarde el bloque y cierre la


ventana.

4.4.3 Programar el OB1 en AWL

A continuación programaremos una instrucción Y (AND), una instrucción


O (OR) y las instrucciones de memorización Activar y Desactivar en AWL (lista
de instrucciones).

4.4.3.1 Programar una instrucción U(Y) en AWL

ST-DIAG1 44
s
Si no está ajustado el lenguaje de
programación AWL, ajústelo
eligiendo el comando de menú Ver
> AWL.

Compruebe si está activada la


representación simbólica.

Haga click en el campo Título del


OB1 e introduzca, por ejemplo,
"Programa principal. Se ejecuta
cíclicamente".

Seleccione el área destinada a la


primera instrucción.

Escriba en la primera línea del


programa una U (Y) seguida de un
espacio en blanco y el símbolo
"Pulsador 1" (entre comillas).

Cierre la línea pulsando Entrar.


Entonces el cursor saltará a la línea
siguiente
.

Complete la instrucción U (Y) tal y


como mostramos a la izquierda.

La instrucción U está programada.


Si ya no hay más botones marcados
en rojo, guarde el bloque.

ST-DIAG1 45
s

4.4.3.2 Programar una instrucción O en AWL

Seleccione el segmento 1.

Inserte otro segmento y vuelva a


seleccionar el área de entrada.

Introduzca una O y el símbolo


"Pulsador 3" (igual que hemos
hecho con la instrucción U).

Acabe de programar la instrucción


O y guárdela.

4.4.3.3 Programar una instrucción de memorización en AWL

Seleccione el segmento 2 e inserte


otro segmento.

Escriba en la primera línea la


instrucción U (Y) y el nombre
simbólico "Automático ON“.

Acabe de programar la instrucción


de memorización y guárdela. Cierre
el bloque.

4.4.4 Programar el OB1 en FUP

A continuación programaremos una función U (Y), una función O y una


función de memorización en FUP (diagrama de funciones).

ST-DIAG1 46
s
4.4.4.1 Programar una instrucción U(Y) en FUP

Si no está ajustado el lenguaje de


programacion FUP, ajústelo
eligiendo el comando de menú Ver
> FUP.

Haga click en el campo Título del


OB1 e introduzca, por ejemplo,
"Programa principal. Se ejecuta
cíclicamente".

Seleccione el área prevista para la


función U (Y) (se encuentra bajo el
campo del comentario).

Inserte un cuadro Y (&) y una


asignación (=).

Para completar la función U (Y) sólo


falta asignar una dirección a los
distintos elementos.

Compruebe si está activada la


representación simbólica.

ST-DIAG1 47
s
Haga click en ??.? e introduzca el
nombre simbólico "Pulsador 1" (no
olvide las comillas). Confirme
pulsando Entrar.

Introduzca el nombre simbólico


"Pulsador 2" para la segunda
entrada.

Introduzca el nombre "Lámpara


verde" para la asignación.

La función Y está programada.

Si ya no hay más botones marcados


en rojo, guarde la instrucción.

4.4.4.2 Programar una instrucción O en FUP

ST-DIAG1 48
s
Inserte otro segmento.

Vuelva a seleccionar el campo de


entrada para la función O (OR).

Inserte un cuadro O (≥1) y una


asignación (=).

Para completar la función O sólo


falta asignar una dirección a los
distintos elementos. Proceda como
lo hemos hecho con la función U
(Y).

Introduzca
"Pulsador 3" para la entrada
superior,
"Pulsador 4" para la entrada inferior
"Lámpara roja" para la asignación.

Guarde el bloque.

4.4.4.3 Programar una función de memorización en FUP

ST-DIAG1 49
s
Seleccione el segmento 2 e inserte
otro segmento. Vuelva a seleccionar
el área de entrada (se encuentra
bajo el campo del comentario).

Navegue por el catálogo de los


elementos del programa pasando
por Operaciones lógicas con bits
hasta llegar al elemento SR y haga
doble clic en el mismo para
insertarlo.
Introduzca los siguientes nombres
simbólicos
para el elemento SR:
activar "Automático ON”, desactivar
"Manual ON” y la marca "Modo
automático”.

Guarde el bloque y cierre la


ventana.

ST-DIAG1 50
5. MANEJO DE FBs Y DBs

5.1 CREAR Y ABRIR UN BLOQUE DE FUNCIÓN

El bloque de función (FB) está subordinado al bloque de organización y


contiene una parte del programa a la que se puede acceder siempre que se
desee desde el OB1. Los parámetros formales y los datos estáticos del bloque
de función se guardan por separado en un bloque de datos DB asignado al FB.

Ahora programaremos el bloque de función (FB1, nombre simbólico


"Motor“) en la ventana KOP/AWL/FUP. Para ello utilizaremos el mismo lenguaje
que en el capítulo 4 ("Programar el OB1").

Navegue hasta la carpeta Bloques y ábrala. Haga click con la tecla


derecha del ratón en la mitad derecha de la ventana.

El menú contextual que aparece al pulsar la tecla derecha del ratón


contiene los comandos más utilizados de la barra de menús. Inserte el objeto
Bloque de función.

Haciendo doble click en el FB1 se abrirá la ventana KOP/AWL/FUP. En


el cuadro de diálogo "Propiedades – Bloque de función“ seleccione el lenguaje
en el que desea programar el bloque, active la opción FB multiinstancia y
pulse Aceptar para que se guarden los ajustes realizados.

ST-DIAG1 51
s

El bloque de función FB1 se insertará en la carpeta 'Bloques'.

Podemos escoger cualquiera de


las tres (03) formas de
representación KOP/AWL/FUP.

Para el ejemplo usaremos KOP.

ST-DIAG1 52
s
5.2 PROGRAMAR EL FB1 EN KOP

Ahora le enseñaremos cómo programar un bloque de función que


controla y supervisa, a modo de ejemplo, un motor de gasolina y un motor
diesel, a saber: con un bloque de datos distinto para cada motor.

Las señales "específicas del motor" son transferidas por el bloque de


organización al bloque de función en calidad de parámetros del bloque, por lo
que deben figurar en la tabla de declaración de variables como parámetros de
entrada y salida (declaración "in“ y "out“).

Para ello es importante que sepa programar conexiones en serie,


conexiones en paralelo y funciones de memorización en STEP 7.

5.2.1 Llenando la tabla de declaración de variables

La ventana KOP/AWL/FUP está abierta y el comando Ver > KOP


(lenguaje de programación) activado. Fíjese en el encabezado; verá que
aparece el FB1, ya que ha abierto la ventana del programa haciendo doble click
en el mismo.

Introduzca las declaraciones siguientes en la tabla de declaración de


variables. Para ello haga click en una de las celdas y escriba el nombre y el
comentario que ve en la figura.

Seleccione el tipo de datos del menú contextual Datos simples que


aparece al pulsar la tecla derecha del ratón. Pulse Entrar; así el cursor saltará
a la columna siguiente y se insertará otra línea.

ST-DIAG1 53
s

5.2.2 Programar el arranque y parada de un motor

Inserte un contacto normalmente abierto, uno cerrado y un elemento SR


en serie en el segmento 1 encima de los símbolos correspondientes o
extrayéndolos del catálogo de elementos del programa.

A continuación seleccione la parte del circuito inmediatamente anterior a


la entrada R.

Inserte otro contacto normalmente abierto y seleccione la parte del


circuito inmediatamente anterior al contacto.

Inserte un contacto normalmente cerrado paralelamente al contacto


abierto.

ST-DIAG1 54
s
Compruebe si está activada la representación simbólica.

Seleccione los signos de interrogación e introduzca los nombres tal y


como figuran en la tabla de declaración (el signo '#' se introduce
automáticamente).

Introduzca el nombre simbólico "Modo automático" para el contacto


normalmente cerrado de la conexión en serie.

A continuación guarde el programa.

Las variables locales (específicas de un


bloque) se marcan con el signo '#' y sólo
rigen para el bloque en cuestión.

Las variables globales se indican entre


comillas, se definen en la tabla de símbolos
y son válidas para todo el programa.

5.2.3 Programar una supervisión para las revoluciones

ST-DIAG1 55
s

Inserte otro segmento y


seleccione el circuito.

A continuación navegue por el


catálogo de elementos del
programa hasta llegar al
comparador e inserte un
CMP>=I.

Inserte además una bobina en


el mismo circuito.

Vuelva a seleccionar los signos de interrogación e introduzca los


nombres de la bobina y el comparador tal y como figuran en la tabla de
declaración de variables.

A continuación guarde el programa.

5.3 CREAR BLOQUES DE INSTANCIA

Hemos programado el bloque de función FB1 ("Motor") definiendo, entre


otros, parámetros específicos del motor en la tabla de declaración de variables.

Para poder programar más tarde la llamada (CALL) del OB1 al FB,
debemos crear el bloque de datos correspondiente. Generalmente se asigna a
cada FB un bloque de datos de instancia (DB).

El FB controla y supervisa un motor de gasolina y un motor diesel. El


número teórico de revoluciones del motor de gasolina se registra en un DB y el
del motor diesel en otro, por lo que tendremos que modificar el valor actual en
cada caso (#N°_teór_rev).

Nos podemos ahorrar un tiempo valioso si programamos un único


bloque de función para ambos DB.

ST-DIAG1 56
s

Inserte un bloque de datos con


ayuda del menú contextual que
aparece al pulsar la tecla
derecha del ratón.

Active la opción DB asociado a un FB de la ventana mostrada. Confirme


la asignación "FB1, Motor" con Aceptar.

Abra el DB1 con un doble click. Introduzca, para el motor de gasolina, el


valor "1500" en la columna 'Valor actual' (de la línea "N°_teór_rev"). Así definirá
el número máximo de revoluciones para este motor. Guarde el DB1 y cierre la
ventana del programa.

ST-DIAG1 57
s

Cree el bloque de datos DB2 del mismo modo que hemos creado el
DB1. Para el motor diesel introduzca el valor "1200" como valor actual.

Una vez modificados los valores actuales podemos controlar


ambos motores con un solo bloque de función. Para controlar
más motores con el mismo bloque sólo tendríamos que crear
los correspondientes bloques de datos.

5.4 PROGRAMAR LA LLAMADA DEL BLOQUE EN KOP

La programación realizada en un FB no sirve de nada si este FB no es


llamado por el OB1. Cada vez que se llama al FB se utiliza un bloque de datos
distinto, controlándose así ambos motores.

ST-DIAG1 58
Con el proyecto abierto en el
Administrador SIMATIC, navegue
hasta la carpeta Bloques y abra el
OB1.

Inserte el segmento 4 en la ventana


KOP/AWL/FUP. A continuación
navegue por el catálogo de
elementos del programa hasta el
FB1 e insértelo.

Inserte un contacto normalmente


abierto antes de 'Arrancar', 'Parar' y
'Fallo'.
Haga click en ??? encima de
"Motor", y seguidamente con la tecla
derecha del ratón en el cuadro de
entrada.
Haga click en el menú contextual
que aparece al pulsar la tecla
derecha del ratón en Insertar
símbolo. Entonces se abrirá una
lista desplegable. La primera vez
tardará un poco más en abrirse.

ST-DIAG1 59
s

Haga click en el bloque de datos Gasolina. Así aparecerá escrito entre


comillas en el cuadro de entrada.

Haga click en los signos de interrogación y direccione, con ayuda de la


lista desplegable, los demás parámetros del bloque de función con los nombres
simbólicos que les correspondan.

En el FB "Motor" se
muestran las variables de
entrada y salida específicas
del motor (declaración "in" y
"out").

A cada variable se le
asignará una señal
"xxx_MG“ para el motor de
gasolina.

Utilizando las direcciones de la lista desplegable programe en otro


segmento la llamada del bloque de datos "Diesel" (DB2) desde el bloque de
función "Motor" (FB1).

ST-DIAG1 60
s

ST-DIAG1 61
s
6. CONFIGURAR LOS MÓDULOS CENTRALES

6.1 CONFIGURAR EL HARDWARE

Para configurar el hardware se tiene que haber creado un proyecto con


un equipo SIMATIC. El hardware se configura con STEP 7. Los datos de
configuración se transferirán al sistema de automatización posteriormente, al
"cargar”.

El proyecto "Ejemplo" tiene que estar abierto en el Administrador


SIMATIC. Abra la carpeta Equipo SIMATIC 300 y haga doble click en el icono
Hardware.

Entonces se abrirá la ventana "HW Config" y se visualizará la CPU


seleccionada al crear el proyecto. Para este ejemplo, se trata de la CPU313C-
2DP.

ST-DIAG1 62
s

Lo primero que se necesita es una


fuente de alimentación. Navegue
por el catálogo hasta la PS307 2A e
insértela en el slot 1 mediante "Drag
and Drop" (arrastrar y soltar).

Navegue por los módulos de


entrada (DI, Digital Input) hasta el
SM321 DI32xDC24V e insértelo en
el slot 4. El slot 3 queda vacío.

Del mismo modo inserte el módulo


de salidas SM322
DO32xDC24V/0.5A en el slot 5.

Si desea modificar los parámetros (p.ej., la dirección) de un módulo


dentro de un proyecto, abra el módulo en cuestión con un doble click. Pero
primero debe saber los efectos que pueden tener estos cambios en el
autómata.

Nuestro proyecto no requiere modificaciones.

ST-DIAG1 63
s

Con Guardar y compilar se preparan


los datos para transferirlos a la
CPU.
Al salir de "HW Config" se visualiza
el icono 'Datos del sistema' en la
carpeta 'Bloques'.

ST-DIAG1 64
s
7. CARGAR Y PROBAR EL PROGRAMA

7.1 ESTABLECER UNA CONEXIÓN ONLINE

Con ayuda del proyecto abierto vamos a cargar el programa en el


sistema de automatización (PLC) para probarlo seguidamente.

Ejemplo de conexión en serie (función U (Y)):


La salida A 124.3 se enciende sólo (en el módulo de salidas digitales se
enciende el diodo A 124.3) cuando se oprime el pulsador E 124.3 y el pulsador
E 124.4 con ayuda de la CPU y los cables necesarios.

7.1.1 Montar el Hardware

Para montar un módulo en el perfil soporte:

9 Enchufe el módulo en el conector del bus


9 Cuélguelo moviéndolo un poco hacia abajo
9 Atorníllelo
9 Monte los demás módulos
9 Inserte la llave en la CPU después de montar todos los módulos

ST-DIAG1 65
s
7.2 CARGAR EL PROGRAMA

7.2.1 Aplicar Tensión

Conecte la alimentación con el


interruptor ON/OFF a 'ON'. Se
encenderá el diodo "DC 5V" de la
CPU.

Gire el selector de modo hasta la


posición 'STOP' (si no está ya en
'STOP'). El LED "STOP" rojo se
encenderá.

7.2.2 Borrar totalmente la CPU y ponerla en RUN

Gire el selector de modo hasta la


posición MRES y manténgalo en
esta posición unos 3 s como mínimo
hasta que el LED "STOP" rojo
parpadee lentamente.

Suelte el selector y, antes de que


transcurran 3 s, vuélvalo a poner en
la posición MRES. Si el LED
"STOP" parpadea rápidamente,
significa que ha finalizado el borrado
total de la CPU.

Si el LED "STOP" no parpadea


rápidamente, repita el proceso.

7.2.3 Cargar el programa en la CPU

ST-DIAG1 66
s
Para cargar el programa, el selector
debe encontrarse en la posición
"STOP".

cuadro de diálogo "Abrir" (si es que


aún no está abierto).

Además de la ventana "ejemplo


Offline", abra la ventana "ejemplo
Online". El estado offline/online se
distingue por el color de la barra de
título.

Navegue en ambas ventanas hasta


la carpeta Bloques.
En la ventana "Offline" se muestra
el bloque que reside en la PG,
mientras que en la ventana "Online"
se muestra el bloque que reside en
la CPU.

A pesar de haber realizado un borrado total,


en la CPU se encuentran las funciones del
sistema (SFCs). Estas funciones dependen
de la CPU. No se tienen que cargar, pero
tampoco se pueden borrar.

Seleccione la carpeta Bloques en la


ventana "Offline" y, a continuación,
cargue el programa en la CPU
eligiendo el comando Sistema de
destino > Cargar.
Confirme con Aceptar.

Arranque el Administrador SIMATIC


y abra el proyecto "Ejemplo" en el

ST-DIAG1 67
s
En la ventana "Online" se
visualizarán los bloques del
programa después de la operación
de carga.

7.2.4 Conectar la CPU y comprobar el sistema operativo

Cuando el LED verde está


encendido se puede realizar el test
del programa.
Si el LED rojo no cambia a verde,
significa que se ha producido un
Gire el selector de modo hasta la error.
posición RUN-P. Entonces se Para diagnosticar este error se
encenderá el LED "RUN" verde y se deberá evaluar el búfer de
apagará el LED "STOP" rojo. La diagnóstico.
CPU está lista para el servicio.

Cargar bloques de uno en uno


Para poder reaccionar rápidamente a los errores que se presenten, se han
configurado los bloques de tal modo que se puedan transferir uno a uno a la
CPU mediante 'Drag and Drop'.
Al cargar bloques, el selector de la CPU debe estar en "RUN-P" o "STOP".
Los bloques cargados en el estado operativo "RUN" se activan
inmediatamente. No olvide:
• Si se sobreescriben bloques correctos con bloques que contienen
errores, puede producirse una avería en la instalación. Para evitarlo,
pruebe los bloques antes de cargarlos.
• Si no se ha seguido el orden correcto al cargar los bloques – primero los
niveles inferiores, y después los superiores –, la CPU pasará al estado
operativo "STOP". Para evitarlo, cargue todo el programa en la CPU.

ST-DIAG1 68
s
7.3 TEST VISUALIZANDO EL ESTADO DEL PROGRAMA

Con la función 'Status' (observar el programa) se puede testear el código


de un bloque. Para ello tiene que haberse establecido una conexión online con
la CPU, la CPU tiene que estar en RUN o RUN-P y el programa tiene que
haberse cargado en la CPU.

Abra el OB1 en la ventana


"EJEMPLO" del programa.
Se abrirá la ventana
KOP/AWL/FUP.

Active la función Test > Observar.

7.3.1 Probar el programa con KOP

Se visualiza la conexión en serie del


segmento 1 en KOP. Hasta el
pulsador 1 (E 124.3), el circuito se
representa mediante una línea
continua, es decir, se aplica tensión
hasta el pulsador 1.

Ahora cierre los dos contactos en el


autómata preparado para el test.

En el módulo de entradas se
encienden los diodos de las
entradas E 124.3 y E 124.4.

En el módulo de salidas, el diodo de


la salida A 124.3.

ST-DIAG1 69
s

En los lenguajes de programación KOP / FUP puede seguir el test


fijándose en el cambio de color del segmento programado. El color cambia
cuando se cumple el resultado lógico.

Desactive el comando Test >


Observar y cierre la ventana.
A continuación cierre la ventana
"Online" en el Administrador
SIMATIC.

7.4 PROBAR EL PROGRAMA CON LA TABLA DE VARIABLES

El test de las variables del programa consiste en observar y forzar dichas


variables. Para poder realizar este test tiene que existir una conexión online con
la CPU, ésta tiene que estar en RUN-P y el programa se tiene que haber
cargado ya.

Del mismo modo que en el test observando el estado del programa, al


probar las variables puede observar las entradas y salidas del segmento 1
(conexión en serie o función U (Y)) en la tabla de variables. Además, ajustando
un número REAL de revoluciones puede probar el comparador previsto para el
número de revoluciones del motor en el FB1.

7.4.1 Crear la tabla de variables

El proyecto "Ejemplo" está abierto


en el Administrador SIMATIC.

Navegue hasta la carpeta Bloques


y haga click con la tecla derecha del
ratón en la mitad derecha de la
ventana.

Inserte la tabla de variables del


menú contextual que aparece al
pulsar la tecla derecha del ratón.

ST-DIAG1 70
s

Acepte los ajustes estándar cerrando el cuadro de diálogo "Propiedades"


con Aceptar.

Se creará una VAT1 (tabla de variables) en la carpeta 'Bloques'. Abra la


VAT1 (con un doble clic) y se abrirá la ventana "Observar y forzar variable".

Primero, la tabla de variables está vacía. Para el proyecto "Ejemplo"


introduzca los nombres simbólicos o los operandos representados en la figura.
Los demás datos se introducirán automáticamente al confirmarlos con 'Entrar'.

Cambie el formato de estado de todos los valores de revoluciones


poniéndolo a DEC. Para ello haga click en la celda correspondiente (la flecha
del ratón cambia de forma cuando se encuentra en la columna 'Formato de
estado') y seleccione el formato DEC.

ST-DIAG1 71
s

Guarde la tabla de variables.

7.4.2 Conectar la tabla de variables online

Haga click en la ventana "Observar


y forzar variable" en ON para
establecer la conexión con la CPU
configurada.
En la barra de estado aparecerá
"Online".

Posicione el selector de modo de la


CPU en RUN-P (si aún no lo está).

7.4.3 Observar variables

ST-DIAG1 72
s

Haga click en Observar variable. En la barra de estado se visualizará el


funcionamiento de la CPU.

Oprima los pulsadores 1 y 2 y observe el resultado en la tabla de


variables. Verá que los valores de estado de la tabla cambian de 'false' a 'true'.

7.4.4 Forzar variables

En la columna 'Valor de forzado' introduzca el valor "1500" para el


operando MW2 y "1300" para el operando MW4.

ST-DIAG1 73
s
Transfiera los valores de estado a la
CPU.

Una vez transferidos, se procesarán estos valores en la CPU y se


visualizará el resultado de la comparación.

Finalice la observación de las variables y cierre la ventana. Si aparece


un mensaje en la pantalla, confirme con Sí o con Aceptar.

7.5 EVALUAR EL BÚFFER DE DIAGNÓSTICO

En el caso excepcional que la CPU pase a ’STOP’ al ejecutar un


programa S7 o que no se pueda conmutar a 'RUN' después de cargar el
programa, puede averiguar la causa del error consultando los eventos listados
en el búfer de diagnóstico.

Para que ello sea posible tiene que existir una conexión online con la
CPU y ésta tiene que estar en el estado operativo "STOP".

ST-DIAG1 74
s

El proyecto "Ejemplo" tiene que estar


abierto en el Administrador SIMATIC.

Seleccione la carpeta Bloques.

Si su proyecto dispone de varias


CPUs, averigüe cuál de ellas ha
pasado a 'STOP'.

En el cuadro de diálogo
"Diagnóstico del hardware" se
visualizarán las CPUs accesibles,
seleccionándose la que haya
pasado a 'STOP'.
El proyecto "Ejemplo" sólo dispone
de una CPU, por lo que ésta será la
única que se visualizará.

Para evaluar el búfer de diagnóstico


de esta CPU haga click en
Información del módulo.

Primero gire el selector de modo de


la CPU a "STOP".

En la ventana "Información del módulo" se obtienen informaciones


acerca de las propiedades y los parámetros de la CPU. Para averiguar la causa
del 'STOP' de la CPU seleccione la ficha Búfer de diagnóstico.

ST-DIAG1 75
s

Arriba de todo aparece el evento más reciente (n° 1), y se indica la


causa del 'STOP'. Cierre todas las ventanas, a excepción del Administrador
SIMATIC.

Si la causa del 'STOP' es un error de programación, seleccione


el evento y haga click en el botón Abrir bloque.

Entonces el bloque se abrirá en la ventana KOP/AWL/FUP


seleccionándose el segmento en el que ha aparecido el error.

ST-DIAG1 76
s
8. PROGRAMAR UNA FUNCIÓN (FC)

8.1 CREAR Y ABRIR UNA FUNCIÓN

La función, como el bloque de función, está subordinada al bloque de


organización. Para que pueda ser procesada por la CPU, ésta tiene que ser
llamada también desde el bloque de orden superior. Para ello, al contrario que
en el caso del bloque de función, no se requiere ningún bloque de datos.

En las funciones, los parámetros también se listan en la tabla de


declaración de variables, pero no se admiten datos locales estáticos.

Las funciones, como los bloques de función, se programan en la ventana


KOP/FUP/AWL.

Navegue hasta la carpeta Bloques y ábrala. Haga click con la tecla


derecha del ratón en la mitad derecha de la ventana.

ST-DIAG1 77
s
Inserte una función (FC) con ayuda
del menú contextual.

En el cuadro de diálogo
"Propiedades – Función" acepte el
nombre 'FC1' y seleccione el
lenguaje deseado.

Confirme los demás ajustes con


Aceptar (OK).

La función 'FC1' se ha insertado en


la carpeta 'Bloques'.

Abra la FC1 con un doble click.

8.2 PROGRAMAR UNA FUNCIÓN

A continuación programaremos una función de temporización en nuestro


ejemplo. Esta función de temporización activará un retardo a la desconexión,
p.ej., para que el ventilador que funciona automáticamente al arrancar el motor
del ejemplo anterior, siga funcionando unos cuatro segundos más tras
desconectarse el motor.

Como hemos mencionado anteriormente, los parámetros de entrada y


salida de la función (declaración "in" y "out") deben indicarse en la tabla de
declaración de variables.

Haga las declaraciones siguientes.

ST-DIAG1 78
s

Seleccione el circuito para introducir


la instrucción KOP.

Navegue por el catálogo de


elementos del programa hasta el
elemento S_AVERZ (arrancar
temporizador de retardo a la
desconexión) e insértelo.

Inserte un contacto normalmente


abierto antes de la entrada S.
Inserte una bobina después de la
salida Q.

Seleccione los signos de interrogación e introduzca los nombres tal y


como aparecen en la tabla de declaración de variables (se marcarán
automáticamente con el signo '#').

Ajuste el retardo en la entrada TW del elemento S_AVERZ. Si define


'S5T#4s', significa que una constante del tipo de datos S5Time#(S5T#) tiene
una duración de cuatro segundos (4s).

A continuación guarde la función y cierre la ventana.

8.3 LLAMADA DE LA FUNCIÓN EN EL OB1

La llamada de la función FC1 en el OB1se realiza del mismo modo que


la llamada del bloque de función. Todos los parámetros de la función reciben
en el OB1 los valores de los correspondientes operandos del motor de gasolina
o del motor diesel.

ST-DIAG1 79
s
9. PROGRAMAR UN BLOQUE DE DATOS GLOBALES

9.1 CREAR Y ABRIR UN BLOQUE DE DATOS GLOBALES

Si el número de marcas internas de una CPU (células de memoria) no es


suficiente para todos los datos, se pueden depositar algunos datos en un
bloque de datos globales.

Todos los bloques pueden acceder a los datos del bloque de datos
globales. En cambio, el bloque de datos de instancia está asignado a un bloque
de función, por lo que sus datos sólo están disponibles en este bloque de
función.

Navegue hasta la carpeta Bloques y ábrala. Con la tecla derecha del


ratón haga click en la mitad derecha de la ventana.

Inserte un bloque de datos con ayuda del menú contextual.

Confirme todos los ajustes estándar del cuadro de diálogo "Propiedades


– Bloque de datos" con Aceptar (OK). Para más información consulte la
Ayuda.

ST-DIAG1 80
s

El bloque de datos DB3 se ha insertado en la carpeta Bloques. Abra el


DB3 haciendo un doble click.

9.2 PROGRAMAR VARIABLES EN UN BLOQUE DE DATOS

En la columna ’Nombre’ introduzca "Revol_reales_MG“.

Para la columna 'Tipo' seleccione del menú contextual que aparece al


pulsar la tecla derecha del ratón Tipos de datos > Datos simples > INT.

En el ejemplo hemos definido tres datos globales para el DB3.


Introduzca los datos en la tabla de declaración de variables.

Guarde el bloque de datos globales.

9.3 ASIGNAR SÍMBOLOS

A los bloques de datos también se les puede asignar nombres


simbólicos. Abra la tabla de símbolos e introduzca el símbolo "Datos_globales"
para el bloque de datos DB3.

ST-DIAG1 81
s

Guarde la tabla de
símbolos y cierre la
ventana "Editor de
símbolos".

Además, cierre la tabla de declaración de variables del bloque de datos


globales.

ST-DIAG1 82
s
10. ANEXOS

10.1 FUNCIONES DE IMPRESIÓN

Una vez creado el programa para la solución de automatización, es


posible imprimir todos los datos importantes para documentar el proyecto
utilizando la función de impresión integrada en STEP7.

10.1.1 Componentes imprimibles del proyecto

El contenido de los objetos se puede imprimir bien directamente desde el


Administrador SIMATIC o bien abriendo el objeto deseado y activando el
comando de impresión.

Desde el Administrador SIMATIC se pueden imprimir automáticamente


los siguientes componentes de un proyecto:
9 árbol de objetos (estructura del proyecto/de la librería),
9 listas de objetos (contenido de una carpeta de objetos),
9 contenido de un objeto
9 mensajes
Abriendo el objeto en cuestión se pueden imprimir p. ej. los siguientes
componentes del proyecto:
9 los bloques en lenguaje KOP, FUP, AWL u otro lenguaje (software
opcional),
9 la tabla de símbolos con los nombres simbólicos de las direcciones
absolutas,
9 la tabla de configuración con la disposición de los módulos en el PLC y
los parámetros de los mismos,
9 el contenido del búfer de diagnóstico,
9 la tabla de variables con los formatos de estado, así como los valores
de estado y de forzado,
9 los datos de referencia, es decir, las listas de referencias cruzadas, los
planos de ocupación, las estructuras del programa, los operandos no
utilizados y los operandos sin símbolo,
9 la tabla de datos globales,
9 los datos de los módulos e información sobre su estado,
9 textos de usuario (textos de usuario y librerías de textos),
9 los documentos del software opcional, p. ej. de lenguajes de
programación

10.1.2 Procedimiento básico para imprimir

El contenido de los objetos se puede imprimir bien directamente desde el


Administrador SIMATIC o bien abriendo el objeto deseado y activando el
comando de impresión.

ST-DIAG1 83
s

Para imprimir un componente de un proyecto:


1. Abra el objeto en cuestión para visualizar los datos que desea
imprimir.

2. Active el cuadro de diálogo "Imprimir" con el comando Archivo >


Imprimir... en la respectiva ventana. Dependiendo de la ventana, el
primer menú de la barra de menús puede tener un nombre diferente, p.
ej. "Tabla de símbolos", en vez de "Archivo".

3. En caso necesario, cambie en el cuadro de diálogo los ajustes de


impresión (p. ej. impresora, zona de impresión, número de copias) y
cierre luego dicho cuadro.

4. Algunos cuadros de diálogo contienen el botón de comando


"Imprimir", p. ej., el cuadro de diálogo 'Información del módulo'. Para
imprimir el contenido del cuadro de diálogo, haga clic en este botón.

No es necesario abrir los bloques. Estos se pueden imprimir


directamente desde el Administrador SIMATIC con el comando Archivo >
Imprimir... .

10.2 ARCHIVAR PROYECTOS Y LIBRERÍAS

Los proyectos y las librerías se pueden guardar de forma comprimida en


un archivo comprimido. El archivador puede copiarse en disco duro o en
soportes de datos portátiles (p. ej. disquetes).

10.2.1 Programas archivadores

Dentro de STEP 7 puede abrirse el programa archivador preferido para


archivar proyectos. Los programas archivadores ARJ y PKZIP 4.0 forman parte
del volumen de suministro de STEP 7. Encontrará los programas y sus
descripciones en la ruta de instalación del directorio ...\Step7\S7bin\.

Para poder utilizar un determinado programa archivador, se requiere la


siguiente versión (o una posterior):

9 PKZip Commandline V4.0 (incluido en el suministro)


9 WinZip a partir de la versión 6.0
9 JAR a partir de la versión 1.02
9 ARJ V2.4.1a (sólo para desarchivar, incluido en el suministro)
9 ARJ32 V3.x (sólo para desarchivar)
9 LHArc a partir de la versión 2.13 (sólo para desarchivar)

10.2.2 Procedimiento para archivar y desarchivar

ST-DIAG1 84
s
Para archivar y desarchivar un proyecto o una librería, utilice los
comandos de menú Archivo > Archivar y Archivo > Desarchivar,
respectivamente.

10.3 FUNCIONES DE CARGA/DESCARGA

10.3.1 Cargar en el sistema de destino desde la PC/PG

10.3.1.1 Cargar con gestión de proyectos

1. Seleccione en la ventana del proyecto el programa de usuario o los


bloques que desea cargar.
2. Cargue los objetos seleccionados en el sistema de destino eligiendo
el comando Sistema de destino > Cargar.

Alternativa (con "arrastrar y soltar")

1. Abra en su proyecto una ventana offline y otra online.


2. Seleccione en la ventana offline los objetos a cargar y arrástrelos
hasta la ventana online.

10.3.1.2 Cargar sin gestión de proyectos

1. Abra la ventana "Estaciones accesibles" con el comando Sistema


de destino > Estaciones accesibles o haciendo click en el botón
correspondiente de la barra de herramientas.
2. En la ventana "Estaciones accesibles" haga doble click en las
estaciones correspondientes ("MPI=..."), para ver la carpeta
"Bloques".
3. Abra la librería o el proyecto de donde desea cargar el programa de
usuario o los bloques en el sistema de destino. Para ello elija el
comando Archivo > Abrir.
4. Seleccione en la ventana abierta del proyecto o de la librería los
objetos que desea cargar.
5. Cargue los objetos en el sistema de destino, copiándolos con
arrastrar y soltar (drag&drop), en la carpeta "Bloques" de la ventana
"Estaciones accesibles".

10.3.2 Cargar en la PC/PG desde el sistema de destino

Utilice el comando de menú Sistema de destino > Cargar equipo en


PG para cargar en la PC/PG la configuración actual y todos los bloques del
sistema de automatización a elegir.

A tal efecto, STEP 7 crea un nuevo equipo en el proyecto actual, bajo el


cual se guarda la configuración. El nombre estándar del equipo insertado se
puede cambiar (p. ej.. "Equipo SIMATIC 300(1)"). El equipo insertado se
visualiza tanto en la vista "online" como en la vista "offline".

ST-DIAG1 85
s

Para elegir este comando de menú tiene que estar abierto un proyecto.
No es necesario seleccionar un objeto en la ventana de proyecto o en la vista
(online u offline) para ejecutar el comando de menú.

Utilice esta función para que la configuración resulte más fácil.

9 En los sistemas de destino S7-300 se carga la configuración del


sistema de automatización utilizado incluidos los bastidores de
ampliación pero sin la periferia descentralizada (DP).
9 En los sistemas de destino S7-400 se carga la configuración del
bastidor sin bastidores de ampliación ni periferia descentralizada.
9 En los sistemas S7-300 sin periferia descentralizada basta con
especificar los módulos (indicando su referencia) y parametrizarlos.

10.4 LISTADO DE REFERENCIA CRUZADA

Es posible crear y evaluar datos de referencia para probar y modificar


cómodamente el programa de usuario. Los datos de referencia se utilizan, p.
ej., como:
9 sinopsis de todo el programa de usuario,
9 base para efectuar cambios y tests y
9 complemento de la documentación del programa.

En la tabla siguiente se indica la información que figura en las diversas


vistas:

10.4.1 Lista de referencias cruzadas

La lista de referencias cruzadas ofrece una panorámica de los


operandos utilizados en el programa de usuario S7.

ST-DIAG1 86
s
En la lista de referencias cruzadas se visualizan los operandos de las
áreas de memoria de entradas (E), salidas (A), marcas (M), temporizadores (T),
contadores (Z), bloques de función (FB), funciones (FC), bloques de función de
sistema (SFB), funciones de sistema (SFC), periferia (P) y bloque de datos
(DB), así como sus direcciones (dirección absoluta, nombre) y su utilización. La
lista se visualiza en una ventana de trabajo.

Cada línea de la ventana corresponde a una entrada de la lista de


referencias cruzadas. La función de búsqueda permite encontrar
puntualizadamente los operandos y los símbolos.

La lista de referencias cruzadas es la representación estándar de los


datos de referencia. Este ajuste predeterminado puede ser modificado.

10.4.2 Estructura del programa

La estructura del programa describe la jerarquía de llamada de los


bloques dentro de un programa de usuario S7. Además ofrece una visión
general de los bloques utilizados, su interdependencia y su requerimiento de
datos locales.

Con el comando de menú Ver > Filtrar en la ventana "Mostrar datos


de referencia S7" se abre un cuadro de diálogo compuesto por varias fichas.
En la ficha "Estructura del programa" puede definir la representación de la
estructura del programa. Puede elegir entre:
9 estructura de llamada y
9 estructura de dependencias.

ST-DIAG1 87
s

10.4.3 Plano de ocupación

El plano de ocupación muestra los operandos ya ocupados en el


programa de usuario. Constituye una base importante para buscar errores o
para efectuar cambios en el programa de usuario.
Al visualizar el plano de ocupación se obtiene una relación de los
distintos bits y sus respectivas áreas de memoria Entradas (E), Salidas (A) o
Marcas (M), así como los temporizadores (T) y contadores (Z).

El plano de ocupación se visualiza en una ventana de trabajo. La barra


del título de la ventana de trabajo muestra el nombre del programa de usuario
S7 al que pertenece el plano de ocupación.

10.4.4 Crear y visualizar datos de referencia

10.4.4.1 Crear datos de referencia

ST-DIAG1 88
s
1. En el Administrador SIMATIC, seleccione la carpeta de bloques
para la que se deben generar los datos de referencia.
2. En el Administrador SIMATIC, elija el comando Herramientas >
Datos de referencia >Generar.

Antes de generar los datos de referencia se comprueba si existen ya


algunos y si éstos son actuales.

9 Los datos de referencia se generarán si no existen ya.


9 Si no existen datos de referencia actuales, podrá decidir en un cuadro
de diálogo si dichos datos se deben actualizar, o bien generar
nuevamente.

10.4.4.2 Mostrar datos de referencia

Con el comando Herramientas > Datos de referencia > Mostrar se


pueden visualizar los datos de referencia.

Antes de visualizar los datos de referencia se comprueba si existen ya y


si son actuales.

9 Los datos de referencia se crearán si no existen ya.


9 Si los datos de referencia están incompletos se visualizará un cuadro
de diálogo donde se indicará que son incoherentes. Podrá decidir
entonces si se deben actualizar y en qué medida desea hacerlo. A tal
efecto puede elegir una de las siguientes opciones:

Para poder actualizar los datos de referencia se compilan de nuevo los


bloques utilizando un compilador adecuado para cada bloque. Con el comando
Ver > Actualizar se pueden actualizar en la ventana activa los datos de
referencia ya visualizados.

ST-DIAG1 89

Вам также может понравиться