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

ST-PROG1

PROGRAMACIN DE PLCs CON SIMATIC STEP7


NIVEL BSICO

Contenido del curso


1

MONTAJE Y CONEXIN
1.1 MONTAJE MECNICO
1.2 TENDIDO DE CABLES

PRINCIPIOS DE PROGRAMACIN
2.1 DEFINICIONES BSICAS
2.2 SISTEMAS DE NUMERACIN

DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA


3.1 IDENTIFICACIN DE SEALES
3.2 DESIGNACIN DE ENTRADAS Y SALIDAS DIGITALES
3.3 DESIGNACIN DE SEALES INTERMEDIAS
3.4 DIRECCIONAMIENTO DE LAS TARJETAS ANALGICAS
3.5 TIPOS DE DIRECCIONAMIENTO
3.6 IMAGEN DEL PROCESO
3.7 DIRECCIONAMIENTO DE LOS MDULOS S7-300

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7


4.1 FORMAS DE REPRESENTAR UN PROGRAMA EN STEP7
4.2 OPERANDOS
4.3 ESTRUCTURA DEL PROGRAMA
4.4 FORMAS DE PROGRAMACIN

OPERACIONES LGICAS CON BITs


5.1 DESCRIPCIN
5.2 CONTACTO NORMALMENTE ABIERTO
5.3 CONTACTO NORMALMENTE CERRADO
5.4 XOR O-EXLUSIVA
5.5 INVERTIR RESULTADO LGICO
5.6 BOBINA DE REL
5.7 CONECTOR
5.8 DESACTIVAR SALIDA
5.9 ACTIVAR SALIDA
5.10 ACTIVAR FLIP-FLOP
5.11 DESACTIVAR FLIP-FLOP
5.12 DETECTAR FLANCO DECRECIENTE
5.13 DETECTAR FLANCO CRECIENTE
5.14 CARGAR RLO EN REGISTRO RB
i

DIN AUTOMATIZACIN S.A.C.

5.15 DETECTAR FLANCO DE SEAL NEGATIVO


5.16 DETECTAR FLANCO DE SEAL POSITIVO
6

OPERACIONES DE TEMPORIZACIN
6.1 DESCRIPCIN
6.2 REA DE MEMORIA Y COMPONENTES
6.3 TEMPORIZADOR TIPO IMPULSO
6.4 TEMPORIZADOR TIPO IMPULSO PROLONGADO
6.5 TEMPORIZADOR TIPO RETARDO A LA CONEXIN
6.6 TEMPORIZADOR TIPO RETARDO A LA CONEXIN CON MEMORIA
6.7 TEMPORIZADOR TIPO RETARDO A LA DESCONEXIN

OPERACIONES DE CONTAJE
7.1 CONCEPTOS
7.2 PARAMETRIZAR E INCREMENTAR/DECREMENTAR CONTADOR
7.3 PARAMETRIZAR E INCREMENTAR CONTADOR
7.4 PARAMETRIZAR Y DECREMENTAR CONTADOR
7.5 PONER CONTADOR AL VALOR INICIAL
7.6 INCREMENTAR CONTADOR
7.7 DECREMENTAR CONTADOR

OPERACIONES DE COMPARACIN
8.1 LISTA DE OPERACIONES
8.2 COMPARAR ENTEROS
8.3 COMPARAR ENTEROS DOBLES
8.4 COMPARAR NMEROS DE COMA FLOTANTE

ii
DIN AUTOMATIZACIN S.A.C.

1. MONTAJE Y CONEXIN DE LOS PLCs SIMATIC S7

1.1

MONTAJE MECNICO

1.1.1 Montaje del PLC S7-300

1.1.2 Montaje del PLC S7-400

MONTAJE Y CONEXIN DE LOS PLCs SIMATIC S7

1.2 TENDIDO DE CABLES


1.2.1 Tendidos de las lneas
1.2.1.1

Tendido dentro de un armario

A la hora de cablear un armario, la disposicin de las lneas juega un


papel esencial a la hora de dar inmunidad al sistema (compatibilidad
electromagntica). Por ello, durante la fase de planificacin conviene dividir las
lneas en los 3 grupos siguientes
Grupo de lneas 1:
Lneas apantalladas para datos (para PG, OP, SINEC L1,....)
Lneas analgicas apantalladas
Lneas sin pantalla para tensiones continuas y alternas 60V
Lneas apantalladas para tensiones continuas y alternas 230 V
Grupos de lneas 2:
Lneas sin pantalla para tensiones continuas y alternas > 60V y 230 V
Grupo de lneas 3:
Lneas sin pantalla para tensiones continuas y alternas > 230V y 1KV
Dentro del armario es preciso tender cada grupo de lneas por
separado; es decir, las lneas se tendern:
por canaletas diferenciadas
en mazos diferenciados
NOTA
Entre lneas de seal y cables de energa de mas 500 V debe mantenerse una
separacin mnima de 10 cm.
Si se tienden lneas apantalladas, su pantalla deber conectarse en una
barra colectora de pantallas. La pantalla deber llevarse hasta la tarjeta, pero
sin conectarse en ella.
1.2.1.2

Tendido fuera del armario

Las lneas fuera de armarios (pero dentro de edificios) se tendern


sobre soportes metlicos. Las juntas de los portacables debern unirse
galvnicamente entre s y conectarse cada 2 a 30 m con la tierra local.
Para lneas de seales analgicas deben utilizarse por principio cables
apantallados!
Por las mismas vas de cables (trazas, bandejas, canales, tubos)
pueden tenderse en comn:
lneas digitales
lneas de datos y analgicas apantalladas as como
lneas de seal apantalladas con hasta 230 V
2

DIN AUTOMATIZACIN S.A.C.

MONTAJE Y CONEXIN DE LOS PLCs SIMATIC S7

Las lneas que conduzcan tensiones mayores de 230V debern


tenderse por vas separadas (canales, tubos).

1.2.1.3

Tendido de lneas fuera de edificios

Cuando deba tender una lnea entre edificios, para la transmisin de


seales digitales y analgicas deber utilizarse siempre un cable con
pantalla doble.
Forma de tender cables con pantalla doble:
La pantalla externa se conectar en ambos extremos con la tierra
del edificio.
La pantalla interna solo se conectar en uno de los extremos, en el
lado receptor.

Procure lograr las mejores condiciones de equipotencialidad posible.


Para ello tienda una lnea equipotencial que tenga una impedancia
10% de la impedancia de la pantalla de la lnea.

A la hora de tender lneas fuera de edificios debern observarse los


reglamentos de puesta tierra y de proteccin contra rayos
correspondientes.

1.2.1.4

Recomendaciones para el tendido de lneas.

No tender cables de seal cerca de cables de potencia paralelos.

Los cables sensibles a interferencias se tendern con una separacin


mayor de 1m de las fuentes perturbadoras (contactor, transformador,
motor, equipo de soldadura elctrica).

Si dos componentes del PLC estn unidos a travs de varios cables de


seal, procurar que estn separados lo menos posibles.

Tender lo ms cerca posible los cables de seal y su lnea equipotencial


asociada. Tender por el camino ms corto los cables de seal y lnea
equipotencial.

Tender lo ms cerca posible o retorcerlos los cables individuales


asociados funcionalmente (lnea de ida y retorno, cable de
alimentacin).

Tender todas las lneas siempre muy prximas a superficies de masa.

Evitar prolongar cables o lneas por intermedio de bornes o similares.

Tender por canaletas y cajas separadas los cables de potencia y cables


de seal.
3

DIN AUTOMATIZACIN S.A.C.

MONTAJE Y CONEXIN DE LOS PLCs SIMATIC S7

Contactar las pantallas deforma superficial (No puntual!)!

1.2.2 Medidas contra interferencias


A menudo, las medidas para suprimir interferencias slo se toman
cuando ya est funcionando el PLC y est perturbada la recepcin correcta de
una seal til. Con frecuencia, los gastos para tales medidas (p. ej. contactos
especiales) pueden reducirse de forma considerable si ya durante la
configuracin del PLC se observan los puntos siguientes.
Entre ellos cabe mencionar:
Separacin espacial entre equipos y lneas
Puesta a masa de todas las piezas metlicas inactivas
Filtrado de lneas de red seal
Apantallamiento de los equipos y lneas
Medidas supresoras especiales
1.2.2.1

Separacin especial entre equipos y lneas

Los campos magnticos o alternos de baja frecuencia (p. ej. 50 Hz) solo
pueden atenuarse sensiblemente a un costo elevado. Este problemas se
puede resolver con frecuencia sin mas que dejar una separacin lo mayor
posible entre la fuente y el receptor de interferencia.
1.2.2.2

Puesta a masa de las piezas metlicas inactivas

Otro factor importante para lograr una instalacin inmune es una buena
puesta a masa.
Baja puesta a masa se entiende la interconexin galvnica de todas las
piezas metlicas inactivas (VDE 0160) Bsicamente se utilizar el principio de
la puesta a masa superficial.
NOTA
Todas las piezas metlicas inactivas y capaces de conducir debern ponerse a
tierra!
Instrucciones para realizar esta puesta a masa:
Todas las conexiones de masa debern realizarse con baja impedancia.
Todas las piezas metlicas debern conectarse a lo largo de una gran
superficie. Para establecer las conexiones utilice siempre bandas de
masa especialmente anchas. Lo decisivo no es la seccin de la lnea de
conexin, sino la superficie de la conexin de masa.
Las uniones atornilladas debern llevar siempre arandelas Grower o de
abanico.
1.2.2.3

Filtros para lneas de red y de seal


4

DIN AUTOMATIZACIN S.A.C.

MONTAJE Y CONEXIN DE LOS PLCs SIMATIC S7

El filtrado de las lneas de red y de seal constituyen una medida para


reducir las interferencias propagadas por las lneas dentro del armario no
debern aparecer en las lneas de alimentacin y en las lneas de seal ningn
tipo de sobretensiones.
Las sobretensiones se evitan tomando las medidas siguientes:
Desparasitaje de lneas de red
Si el armario se alimenta desde la red de 230 V, en la lnea de entrada
deber incorporarse un filtro de red. Este filtro se colocar por principio
a la entrada del armario. Al instalarlo, atender a que el filtro de red est
unido a la masa del armario a lo largo de una gran superficie y con la
mnima impedancia posible (las superficies de contacto debern tener
brillo metlico)

Condensadores de derivacin en caso de alimentacin con corriente


continua
Cuando un armario se conecta a una alimentacin central de 24V, en el
autmata pueden aparecer interferencias inyectadas a travs de dicha
alimentacin.
Por ello se recomienda incorporar condensadores de derivacin en el
punto de entrada en el armario de la lnea de 24 V. Los condensadores
se montarn en la masa del armario o en la barra de pantalla (Fig. 1-1).

1.2.3 Apantallamiento de equipos y lneas


El apantallamiento (blindaje), constituye una medida para debilitar
(atenuar) campos perturbadores de origen magntico elctrico o
electromagntico. Esta medida puede dividirse en:
apantallamiento de equipos,
apantallamiento de lneas.
p.ej. 0,6 F

Masa del armario

Esquema de Principio

0,2 F

p.ej. 0,2 F

0,6 F

0,6 F

+24V
0V

DIN AUTOMATIZACIN S.A.C.

+24 V

0V

MONTAJE Y CONEXIN DE LOS PLCs SIMATIC S7

Fig. 1-1 Disposicin de los condensadores de derivacin


1.2.3.1 Apantallamiento de equipos
Cuando se utilizan armarios o cajas para apantallar el autmata,
observar las instrucciones siguientes:
Si estn solapadas las tapas del armario tales como piezas laterales,
paredes posteriores, chapas de techo y suelo, todas estas piezas se
contactarn a distancias suficientes (p. ej. 50mm).
Las puertas deben unirse a la masa del armario a travs de conexiones
suplementarias; utilice para ello varias bandas de masa.
Las lneas que salen de la caja de pantalla debern ir apantalladas o
llevadas a travs de filtros.
Si dentro del armario se encuentran fuentes perturbadoras fuertes
(transformadores, cables, a motores, etc), stas debern separarse de
reas electrnicas sensibles mediante chapas. Dichas chapas se
atornillarn en varios puntos a la masa del armario, minimizando la
impedancia.
Las tensiones perturbadoras inyectadas en el PLC a travs de las lneas
de seal y de alimentacin se derivan en el punto central de tierra(carril
normalizado).
El punto central de tierra deber unirse con un conductor de cobre lo
ms corto posible y con una seccin 10 mm2 con el conductor de proteccin
PE (carril de tierra).
1.2.3.2

Apantallamiento de lneas

Generalmente las lneas apantalladas se contactarn con el potencial


del armario siempre en ambos extremos. Solo as es posible suprimir
adecuadamente todas las frecuencias interferentes inyectadas. Contacte la
pantalla en la pantalla en la barra colectora de pantallas; la pantalla deber
continuar acompaando al cable hasta la tarjeta (pero no se contactar en
esta).
NOTA
En caso de fluctuaciones en el potencial de tierra, a travs de la pantalla
contactada en ambos extremos puede circular una corriente de equilibrio. Para
evitarlo, una con una lnea equipotencial los componentes interconectados.
En los PLCs SIMATIC, las corrientes perturbadoras que circulan por las
pantallas de cables se derivan a tierra a travs de la barra de pantalla y la
lnea equipotencial. Para evitar que estas corrientes derivadas constituyan por
si otra fuente perturbadora, procurar que circulen adecuadamente por un
conductor de baja impedancia hacia tierra; para ello:
Apretar fuertemente los tornillos de fijacin de conectores de cables,
tarjetas y lneas equipotencial.
Proteger de la corrosin las superficies de contacto de las lneas
equipotencial.
6
DIN AUTOMATIZACIN S.A.C.

MONTAJE Y CONEXIN DE LOS PLCs SIMATIC S7

1.2.4 Uso de medidas supresoras especiales


1.2.4.1

Supresin en inductancias

Las inductancias montadas en el mismo armario y que no sean


atacadas directamente por salidas SIMATIC (p. Ej. Bobinas de contactores y
rels) debern llevar elementos supresores (p. Ej. Elementos RC).
Supresin en bobinas de c.c.
de c.a.
con diodo

con diodo Zener

Supresin en bobinas
con varistor

con elemento RC

Fig. 1-2 Supresin de bobinas


1.2.4.2

Blindajes de inductancias

Conviene separar del resto del armario usando chapas las reas del
mismo que incluyan grandes inductancias como transformadores o
contactores.
1.2.4.3

Proteccin contra cargas electrotsticas

Para proteger los equipos y las tarjetas o mdulos contra cargas


electrotsticas conviene usar cajas o armarios metlicos que tengan una
buena conexin galvnica con el punto de puesta a tierra en el lugar de
emplazamiento.
Si desea instalar su PLC dentro de una caja, utilice preferentemente
cajas de fundicin o de chapa. Las cajas de plstico debern tener siempre
una superficie metalizada.
Las puertas o tapas de las cajas debern estar unidas con el cuerpo de
la misma, puesto a tierra, a travs de bandas de masa o resortes de contacto.
Cuando efecte trabajos estando abierto el armario o la caja, observe
las directrices para la proteccin de componentes y mdulos sensibles a las
cargas electrostticas.
7
DIN AUTOMATIZACIN S.A.C.

MONTAJE Y CONEXIN DE LOS PLCs SIMATIC S7

1.2.5 Medidas de seguridad


Al proyectar instalaciones con PLCs lo mismo que ocurre con mandos
de contactores es necesario observar las normas en vigor (p. Ej. VDE 0100,
VDE 0113, VDE 0160). Puntos importantes:

Se evitarn los estados que puedan poner en peligro las personas o los
valores materiales.

Al retornar la tensin de red tras un corte, o rearmar el dispositivo de


PARADA DE EMERGENCIA no debern arrancar automticamente la
mquinas.

En caso de avera en el PLC, no debern entorpecerse en ningn caso


las rdenes procedentes de dispositivos de PARADA DE EMERGENCIA
y de interruptores de disposicin de seguridad. Estos dispositivos de
proteccin deben influir directamente sobre la parte de potencia de los
actuadores.

Al accionar los dispositivos de PARADA DE EMERGENCIA deber


alcanzarse un estado no peligroso para las personas y la instalacin:
Debern desconectarse todos los actuadores y accionamientos que
puedan ser peligrosos (p. ej., accionamientos de cabezal en
mquinas herramientas)
En cambio, los actuadores y accionamientos cuya desconexin
pueda poner en peligro a personas e instalaciones (p. Ej.,
dispositivos de fijacin de piezas) no debern poderse desconectar
desde el dispositivo de PARADA DE EMERGENCIA.

La actuacin del dispositivo de PARADA DE EMERGENCIA debe ser


detectada por el PLC, y evaluada por el programa de mando.

1.2.5.1

Proteccin contra contactos indirectos

Las piezas conductoras accesibles no debern quedar sometidas a una


tensin peligrosa en caso de defecto. Por ello debern incluirse en una medida
de proteccin contra tensiones de contacto excesivas.
Esto se cumple si todas las piezas metlicas accesibles p. ej., carriles,
montantes, as como el armario que puedan quedar sometidas a tensin en
caso de defecto de aislamiento se unen elctricamente de forma perfecta con
el conductor de proteccin (PE). La resistencia mxima admisible entre el
terminal del conductor de proteccin y la pieza a proteger es de 0,5 .

8
DIN AUTOMATIZACIN S.A.C.

2. PRINCIPIOS DE PROGRAMACIN

2.1 DEFINICIONES BSICAS


2.1.1 Seales analgicas y digitales
2.1.1.1

Seales analgicas

La transmisin de informacin analgica est caracterizada por un


cambio continuo de la amplitud de la seal. Los humanos, por ejemplo,
registran la informacin ptica, acstica y sensorial esencialmente en la forma
de seales analgicas.
En la ingeniera de procesos, la seal 420 mA es transmitida en una
forma puramente analgica. 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.
2.1.1.2

Seales digitales

Una seal 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 seal digital puede ser transmitida: como pulsos elctricos que saltan
entre dos o ms niveles de voltaje o como cdigo Morse. Incluso las seales
de humo o los golpes de un tambor pueden ser clasificadas como una seal
digital.
2.1.2 Seales binarias
Para el PLC las seales digitales de entrada solo pueden adquirir los
estados de: existe tensin o no existe tensin, nunca un estado intermedio.
De la misma manera las seales digitales de salida solo pueden estar
conectadas o desconectadas. Este tipo de seales que solo pueden tomar
dos estados definidos se les conoce como seales binarias. En este sentido,
las seales digitales de entrada y salida del PLC descritas hasta ahora, son
seales binarias.
2.1.1

Estado de seal

A los 2 estados posibles de una seal binaria se les asocia, para efectos
de procesamiento, el estado de seal 0 y 1. En el PLC, la correspondencia
entre los estados fsicos de las seales de entrada/salida y los estados de
seal 0y 1 es la que se muestra en la Fig.2-1.
Para una seal de entrada, por ejemplo, el estado de seal toma el valor
de 1 cuando se detecta el 100% del voltaje en el canal de entrada.

PRINCIPIOS DE PROGRAMACIN

El estado de seal es 0 cuando existe el 0% del voltaje. El 0% y 100%


del voltaje se determinan segn criterios de tolerancia.
Exite tensin
+24V

CPU

1L+
Estado de
No existe Tensin
Seal
0v
"1"
"0"
Estado de
1L
Seal
0

Fuente
de
Alimentacion

Entradas

Salidas

No Existe
Tensin Desconexin
Existe
Conexin
Tensin

2L+
"0"

Estado de
Seal

"1"

Lampara
Apagada

Lampara
Encendida
2L-

Fig. 2-1 Estados de seal 0 y 1


Los niveles de voltaje de dos seales de entrada pueden ser distintos.
La determinacin del estado de seal se hace respecto al 0% y 100% del
voltaje que se maneja y no respecto a un nivel de voltaje determinado. Ver Fig.

CASO :

+230V

+115V

+24V

0V

0V

0V

VOLTAJE

ESTADO DE SENAL "1"


(POR EJEMP : +24v)
0

2-2.
Fig. 2-2 Seal binaria
2.1.2

Tipos de contactos y su estado de seal

Hemos visto que el PLC asocia el estado de seal 0 a las entradas


donde no existe tensin y asocia el estado de seal 1 a las entradas donde
existe tensin. Sin embargo, el PLC no es capaz de determinar de estos
unos y ceros la situacin fsica que los produce. Por ejemplo, tener una
entrada con estado de seal 1 puede ser el resultado de dos situaciones
fsicas distintas. Analicemos la Tabla 2-1.
10
DIN AUTOMATIZACIN S.A.C.

PRINCIPIOS DE PROGRAMACIN

Vemos que un estado de seal 1 lo produce un contacto normalmente


abierto accionado, o un contacto normalmente cerrado no accionado. De la
misma manera, el estado de seal 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
CONTACTO

TENSIN DE
ENTRADA

ESTADO DE SEAL
A LA ENTRADA

Contacto NO

ACCIONADO

EXISTE

(normalmente abierto)

NO
ACCIONADO

NO EXISTE

Contacto NC

ACCIONADO

NO EXISTE

(normalmente cerrado)

NO
ACCIONADO

EXISTE

Tabla 2-1 Tipos de contacto y su estado de seal


Esta situacin debe tomarse muy en cuenta, sobre todo en el momento
de la programacin. 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 seales relacionadas con la seguridad de la instalacin
(rotura de cable, derivacin a tierra, parada de emergencia, )
2.1.3 Concepto de bit, byte y palabra
Analicemos las siguientes definiciones en conjunto con el diagrama
adjunto.
BIT

Estado de seal 0 1
7

BYTE

6 5 4 3 2 1 0

Longitud = 8 bits

0
15

WORD

Longitud = 16 bits
Byte alto (MSB)

2.1.1

Byte bajo (LSB)

Bit

El bit es la unidad de informacin ms pequea. Solo puede tomar los


valores 0 y 1. Un bit es suficiente para representar una seal binaria.
2.1.2

Byte
11

DIN AUTOMATIZACIN S.A.C.

PRINCIPIOS DE PROGRAMACIN

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


derecha a izquierda tomando como nmero de bit de 0 al 7. En un byte se
puede representar el estado de hasta 8 seales binarias (1 por cada bit).
2.1.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 nmero de bit del 0 al 15.
En una palabra se pueden representar hasta 16 seales binarias.
2.2 SISTEMAS DE NUMERACIN
2.2.1 Formas de representar los nmeros
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)

c)
La solucin que usted probablemente ha seleccionado es la alternativa
a), porque los usuarios estn usando la representacin de los valores
numricos en el sistema decimal. El sistema decimal es solo de muchos
sistemas de numeracin existentes.
El procesador de un Controlador Programable puede procesar
solamente los estados de seal 0 y 1. Esto requiere un sistema de
numeracin que usa solo estos dgitos. El sistema binario usa slo 0 y 1. En
este sistema de numeracin, la secuencia de dgitos 11 es la representacin
para la solucin b) (3 en sistema decimal).
Los nmeros binarios necesitan mas espacios que sus equivalentes
decimales, esto los hace difciles de usar. Es difcil recordar nmeros largos
que consisten de ceros y unos. La dificultad para leer y convertir nmeros
binarios motiva el uso de un sistema hexadecimal. En este sistema, 11
representa la solucin c) (17 en sistema decimal)
2.2.2 Caractersticas de un sistema de numeracin
Actualmente todos los sistemas de numeracin tienen la misma
estructura que el sistema decimal. Ellos pueden ser descritos usando tres
caractersticas bsicas:

Los dgitos
La base o raz
Los pesos
12

DIN AUTOMATIZACIN S.A.C.

PRINCIPIOS DE PROGRAMACIN

La contribucin de cada uno de lo dgitos a todo el nmero depende de


la posicin de estos dentro del nmero. Cada posicin tiene cierto peso que es
igual a la potencia de la base escogida. El valor del nmero es obtenido al
multiplicar cada dgito por el peso de su posicin y sumando los resultados.
La tabla 2-2 muestra las caractersticas y un ejemplo para los sistemas
binario y decimal. Estos sistemas sern usados posteriormente durante el
aprendizaje del lenguaje STEP 7.
CARACTERSTICA
SISTEMA BINARIO
Dgitos
0,1

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

Base

16

Pesos

20 =1,
21 =2,
22 =4,
23 =8, ..

160 = 1,
161 = 16,
162 = 256,
163 = 4096,

Ejemplo

1102
0x1=0
1x2=1
1x4=4
1102 = 0 + 2 + 4 = 5

CDH
13 x 1 = 13
12 x 16 = 192
CDH = 13 + 192 = 205

Tabla 2-2 Caractersticas de los sistemas binario y hexadecimal


2.2.3 El cdigo BCD
Los PLCs solamente pueden procesar nmeros en representacin
binaria. Estos son difciles de usar por los usuarios y por lo tanto no son
prcticos para el ingreso o salida de valores numricos de un PLC. El uso de
nmeros hexadecimales tampoco es de gran ayuda; en su lugar, otro tipo de
representacin es usada: el cdigo BCD (binary-coded decimal).
Los nmeros en BCD son otro sistema de numeracin, pero uno en el
cual los nmeros decimales han sido convertidos en un nmero binario, de
modo que el PLC pueda procesarlo fcilmente.
Los dgitos individuales del nmero decimal estn codificados en cuatro
bits (dgitos binarios). Esta representacin con cuatro bits aparece por que el
mayo dgito decimal, el 9, requiere como mnimo esta cantidad de dgitos en su
representacin binaria (1001 2).
La tabla 2-3 muestra la representacin de diversos nmeros en los
sistemas de numeracin vistos.
DECIMAL

BINARIO

HEXADECIMAL

BCD
13

DIN AUTOMATIZACIN S.A.C.

PRINCIPIOS DE PROGRAMACIN

0
1
2
3
4
55
6
7
8
9
10
11
12
13
14
15
16

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
1 0000

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

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
0001 0000
0001 0001
0001 0010
0001 0111
0001 0100
0001 0101
0001 0110

126
127
128

111 1110
111 1111
1 0000 0000

7E
7F
80

0001 0010 0110


0001 0010 0111
0001 0010 1000

510
511
512

1 1111 1110
1 1111 1111
10 0000 0000

1FE
1FF
200

0101 0001 0000


0101 0001 0001
0101 0001 0010

Tabla 2-3 Nmeros en diferentes representaciones

14
DIN AUTOMATIZACIN S.A.C.

3. DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

3.1 IDENTIFICACIN DE SEALES


Al PLC llegan diversas seales de campo procedentes de los emisores,
y salen otras seales hacia lmparas y elementos finales de control. As
mismo, al ejecutarse el programa contenido en la memoria se generan una
serie de seales internas auxiliares en la elaboracin de la lgica de control.
Cmo se manejan sin confusin todas estas seales?
Para identificar claramente las seales que se manejan en el PLC es
necesario darles un nombre o designacin. Cada vez que se hace referencia a
una seal, se hace a travs de este nombre o designacin.
La designacin de las seales puede hacerse considerando una nica
seal (1 bit) o un grupo de ellas (byte o palabra). Veamos como se lleva a cabo
esta designacin en cada caso.
3.2 DESIGNACIN DE ENTRADAS Y SALIDAS DIGITALES
Las seales de entrada y salida llegan y salen fsicamente de los bornes
de conexin de las tarjetas de entrada y salida (Fig. 3-1).
Fig. 3-1 Designacin de entradas y salidas
+24V

E3.6
E3.4
E3.2
E3.0
E3.7 E3.5
E3.3 E3.1
EJEMPLOS:
EMISORES
E

1 0

0 0

No DEL
BIT

AB

EW

TIPO DE
SEAL
BYTE 3
13.5

BYTE 4

ESTADO DE SEAL "1"

0.3

DIRECCION

INPUT BIT
OUPUT BYTE
INPUT WORD

DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

Para efectos de identificacin, todas las seales que manejan las


tarjetas se agrupan en conjuntos de 8, es decir por bytes. Y se les asigna un
nmero byte (0..n); cada byte contiene a su vez 8 elementos: una seal por
cada uno de sus 8 bits.
Cualquier seal en las tarjetas queda definida mediante el nmero del
grupo al que pertenecen (nmero byte) y el nmero de elemento en el grupo
(nmero bit). A esta informacin se le conoce como direccin de la seal.
3.2.1 Designacin de seales bit
La designacin de seales bit(una nica seal) se hace como sigue:

E
A

Se da distintivo del tipo de seal:


Entrada
Salida
Luego se indica la direccin de la seal, separando con un punto el
nmero byte y el nmero bit:

No. Byte No. Bit


As por ejemplo, la designacin de la seal que llega a una tarjeta de
entrada, en el grupo byte 0, elemento 3, es la siguiente:

E 0.3
Tipo de seal

Nmero de bit
Nmero de byte

3.2.2 Designacin de seales byte y palabra


Para hacer referencia a un grupo de seales es necesario aadir al
distintivo del tipo de seal, el tipo de grupo de que se trata: B para grupos
byte (8 elementos) y W para grupos palabra (en Ingls Word, 16 elementos).
Esto es:
EB
AB
EW
AW

Entrada Byte
Salida Byte
Entrada Word
Salida Word

La direccin de un grupo de seales queda determinada por la direccin


byte de inicio del grupo. En este caso la direccin bit carece de sentido.
As, por ejemplo:

Al grupo de las 8 seales de salida pertenecientes al byte 5 se le


designa:
16

DIN AUTOMATIZACIN S.A.C.

DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

AB 5
Tipo de seal

Nmero de byte

A la palabra que contiene los bytes 2 y 3 de entrada se le designa:


EW 2
Tipo de seal

Nmero de byte
(byte de inicio)

Las seales E0.0, E0.1, , E0.7 forman el grupo EB0.

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

3.3 DESIGNACIN DE SEALES INTERMEDIAS


Adems de las seales de entrada y salida existen otro tipo de seales
en el PLC. Tal es el caso de las seales bandera, flags o marcas que
sirven para guardar resultados intermedios en la lgica de control. Estas
seales hacen las veces de los rels auxiliares en control convencional.
Las marcas, as las llamaremos en adelante, son seales internas, no
entran ni salen del PLC. Por tanto, no es posible asociarles el borne de
conexin de alguna tarjeta. Estas seales se encuentran en una regin
especial de la memoria del CPU. Reservada especialmente para ellas.
La designacin de las marcas se hace en forma similar a la designacin
de entradas y salidas, con la diferencia de que estas seales no llegan ni
salen de bornes de conexin, sino de localidades de memoria, y su
distintivo de seal es M(marca).
3.4 DIRECCIONES DE LAS TARJETAS ANALGICAS
Para cada canal de una tarjeta analgica son precisos dos bytes (una
palabra). Por ello, la direccin de un canal analgico est representada por el
nmero de byte alto.
3.5 TIPOS DE DIRECCIONAMIENTO
Cada una de las seales de las tarjetas de entrada y salida tienen una
direccin. Como lo mencionramos anteriormente, las seales que maneja una
tarjeta se agrupan en conjuntos de 8 (bytes) para efectos de direccionamiento.
La direccin de una seal se hace dando el conjunto byte al que pertenece, y
el nmero de elemento o nmero bit dentro de ese byte.
Existe la posibilidad de manejar:
17
DIN AUTOMATIZACIN S.A.C.

DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

Direccionamiento FIJO, y
Direccionamiento VARIABLE.

3.5.1 Direccionamiento fijo


Cuando se trabaja direccionamiento fijo, la direccin de cada seal
depende de la posicin 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 nmero de seales
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 seales 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.
3.5.2 Direccionamiento variable
La direccin de una seal puede ser independiente de la posicin o
puesto de enchufe de la tarjeta a la que pertenece. As por ejemplo es posible
hacer que los bytes 0, 1, 2 y 3no 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.
3.6 IMAGEN DEL PROCESO
Antes de comenzar la elaboracin 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 seales de entrada procedentes de las tarjetas, en una regin de la
memoria, especialmente destinada para ello, conocida como PAE (imagen de
proceso de entrada). Ver fig. 3-2.
Durante la elaboracin del programa, todas las consultas a los estados
de seal 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 asignacin a las salidas,
se escriben en otra regin de la memoria conocida como Imagen de Proceso
de Salidas (PAA). Al finalizar el programa despus de la ltima instruccin, se
transmiten los estados de seal contenidos en la PAA a las tarjetas de salida.
18
DIN AUTOMATIZACIN S.A.C.

DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

Hasta entonces se actualiza fsicamente el estado de conexin y desconexin


de las salidas.

ENTRADAS

SALIDAS

ESTADOS DE SEAL
DE LAS SALIDAS

ESTADOS DE SEAL
DE LAS ENTRADAS

EF00 H
PAE

127

EF7FH
EF80H

0
PAA

IPE = IMAGEN DE PROCESO DE ENTRADAS

EFFFH

127

IPS = IMAGEN DE PROCESO DE SALIDAS


DIRECCION ABSOLUTA

DIRECCIONES DE BYTE
RELATIVAS

Fig. 3-2 Imgenes de proceso

19
DIN AUTOMATIZACIN S.A.C.

DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

3.7 DIRECCIONAMIENTO DE LOS MDULOS S7-300


3.7.1 Asignacin de direcciones en funcin del puesto de enchufe

N puesto IM

10

11

N puesto IM

10

11

N puesto IM

10

11

10

11

N puesto

20
DIN AUTOMATIZACIN S.A.C.

DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

3.7.2 Correspondencia y direcciones para fila 0

2 3
N puesto
Direccin digital
Direccin analgica

4
0
256

5
4
272

6
8
288

7
12
304

8
16
320

9
20
336

10
24
352

11
28
368

9
52
464

10
56
480

11
60
496

9
84
592

10
88
608

11
92
624

3.7.3 Correspondencia y direcciones para fila 1

3
N puesto
Direccin digital
Direccin analgica

4
32
384

5
36
400

6
40
416

7
44
432

8
48
448

3.7.4 Correspondencia y direcciones para fila 2

3
N puesto
Direccin digital
Direccin analgica

4
64
512

5
68
528

6
72
544

7
76
560

8
80
576

21
DIN AUTOMATIZACIN S.A.C.

DIRECCIONAMIENTO Y ACCESO A LA PERIFERIA

3.7.5 Correspondencia y direcciones para fila 3

3
N puesto
Direccin digital
Direccin analgica

4
96
640

5
100
656

6
104
672

7
108
688

8
112
704

9
116
720

10
120
736

11
124
752

22
DIN AUTOMATIZACIN S.A.C.

4. INTRODUCCIN AL LENGUAJE DE PROGRAMACIN


STEP 7

El STEP 7 es un lenguaje de programacin con el que se generan las


funciones de automatizacin que sern ejecutadas por los PLCs SIMATIC S7.
Estas funciones as generadas constituyen el programa de usuario, en el se
encuentran las instrucciones precisas Cmo el PLC debe mandar o regular
una instalacin. STEP 7 es el software para configurar y programar los
sistemas de automatizacin SIMATIC S7-300/400 y SIMATIC M7 300/400, as
como los equipos completos SIMATIC C7. Por lo que respecta a la
programacin y a la configuracin, un C7 es similar a un SIMATIC S7-300.
4.1 FORMAS DE REPRESENTAR UN PROGRAMA EN STEP 7
El lenguaje de programacin STEP 7 utiliza tres mtodos para la
representacin de un programa:
Lista de instrucciones (AWL)
Representa el programa de usuario como una sucesin de abreviaturas
de instrucciones. Es un lenguaje de programacin textual orientado
a la mquina. 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 instruccin representa en AWL tiene
la siguiente estructura.
Operacin
Qu es lo que se desea
realizar?

Operando
Con quien realizamos la
operacin?

002: U

0.1
Parmetro
Diferencia operandos con el
mismo identificador

Identificador
Qu tipo de operando es?
Direccin
Indica la posicin relativa de una
instruccin dentro de un mdulo

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

Esquema de funciones (FUP)


Es un lenguaje de programacin grfico que utiliza los cuadros de
lgebra booleana para representar la lgica. En FUP se utilizan
smbolos normalizados para representar las operaciones. El smbolo
dentro del rectngulo indica la operacin realizada.
Esquema de contactos (KOP)
Este tipo de representacin tambin es conocida como Diagrama
Escalera o Ladder, las instrucciones son representadas con
smbolos elctricos. KOP permite observar fcilmente el sentido de
la circulacin de la corriente a travs de contactos, elementos
complejos y bobinas.
La Fig 4-1 muestra un ejemplo de estas dos ltimas representaciones.
Opcionalmente para programar los sistemas de automatizacin 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 611313. Contiene estructuras similares a las de los lenguajes de
programacin 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 programacin que permite describir controles
secuenciales (programacin 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 transicin.
HI GRAPH para S7
Es un lenguaje de programacin que permite describir cmodamente los
procesos asincrnicos y no secuenciales en forma de grafos de
estado. A tal efecto, la instalacin 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 programacin para interconectar grficamente las
funciones existentes. Estas ltimas abarcan una amplia gama que
incluye desde combinaciones lgicas sencillas hasta regulaciones y
controles complejos. Se dispone de un gran nmero de funciones en
forma de bloques contenidos en una librera. La programacin se
lleva a cabo copiando lo bloques en un plano y contactndose entre
s mediante lneas
FUP
KOP
24
DIN AUTOMATIZACIN S.A.C.

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

Esquema de Funciones
E 1.0

Esquema de Contactos

&

E 1.0

E 1.1

E 1.3

E 1.4

E 1.2

A 4.0

E 1.1

E 1.2
E 1.3

&

E 1.4

A4.0

Fig. 4-1 Representaciones FUP y KOP


Cada forma de representacin tiene sus propias caractersticas. Por
esta razn, un mdulo de programa escrito en AWL, no puede convertirse a
KOP o FUP en todos los casos. De la misma manera, las formas de
representacin grfica tampoco son compatibles entre s. Sin embargo, todo
programa escrito en KOP o FUP tiene su equivalente en AWL. La Fig. 4-2
resume lo anteriormente expuesto.

AWL
AWL

FUP

KOP

Fig. 4-2 Compatibilidad entre las formas de representacin

25
DIN AUTOMATIZACIN S.A.C.

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

4.2 OPERANDOS
La tabla 4-1 muestra los operandos disponibles en STEP 7:
OPERANDO

TIPO

FUNCIN
Interfases del proceso al PLC
Interfases del PLC al proceso
Memoria para resultados binarios
intermedios
Memoria para resultado digitales
intermedios
Memorias para la realizacin de
temporizaciones
Memorias para la realizacin de
contadores
Interfase del proceso al PLC
Valor numrico fijo
Valor numrico fijo
Valor numrico fijo
Valor numrico fijo

E
A
M

Entradas
Salidas
Marcas

Datos

Temporizadores

Contadores

P
B#
D#
L#
P#

Periferia
Constante, 2 4 bytes
Constante de fecha IEC
Constante entera (32 bits)
Constante puntero

S5T#

Constante de tiempo S5 (16 bits) Valor numrico fijo

T#
TOD#
C#

Constante de tiempo (16/32 bits) Valor numrico fijo


Constante de hora IEC (32 bits) Valor numrico fijo
Constante de contador (16/32 Valor numrico fijo
bits)

2#
16#

Constante binaria (16/32 bits)


Valor numrico fijo
Constante hexadecimal (16/32 Valor numrico fijo
bits)
Mdulos de programa
Auxiliares para estructurar
programa

OB,FC, FB, DB

Tabla 4-1 Zonas de operandos disponibles en STEP 7


4.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 ejecucin de las funciones internas; como el
respaldo de datos en caso de falla de tensin, la organizacin de diversas
funciones anidadas en cada bloque y otros. El programa del sistema se
encuentra almacenado en una PROM no voltil y en una EPROM. El usuario
no tiene acceso a este programa.
El programa de usuario es la suma de todas las instrucciones y
declaraciones para procesar las seales que controlarn la mquina o
26
DIN AUTOMATIZACIN S.A.C.

el

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

proceso. Este programa es estructurado y est subdividido en varias secciones


llamadas bloques.
Los Bloques de organizacin forman la interfase entre el programa de
usuario y el programa del sistema. Este llama a estos bloques cuando ocurre
cierto evento. Tambin estn disponibles bloques de funciones estndar
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. 4-3 resume lo explicado anteriormente

Integrado en la CPU
Funciones
especiales
integradas
Programa
Del
Sistema

Bloque de
Funciones
estndar

Programa
De
Usuario

Bloques de
organizacin
En mdulo de memoria usuario

Fig. 4.-3 Programas en la CPU

27
DIN AUTOMATIZACIN S.A.C.

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

4.4 FORMAS DE PROGRAMACIN


Al momento de realizar el programa que gobernar determinada mquina
o secuencia podemos escoger entre dos formas para estructurar un programa
STEP 7:
Programacin lineal.
Programacin estructurada.
4.4.1

Programacin lineal

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


automatizacin, consiste en programar todas las instrucciones en una sola
seccin o mdulo.
Para los PLCs SIEMENS (Series S5 y S7) esta seccin es el Mdulo de
Organizacin 1, ms conocido como OB1. Este mdulo se procesa
cclicamente, es decir, tras la ltima instruccin se vuelve a ejecutar la primera.
4.4.2

Programacin estructurada

Es la forma de programacin utilizada para resolver tareas complejas y


consiste en dividir el programa global en secciones (mdulos) que realizan
tareas especficas.
Las ventajas que se obtienen con la programacin estructurada son:

Programacin ms simple y clara.


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

STEP 7 pone a disposicin del programador los siguientes mdulos:

28
DIN AUTOMATIZACIN S.A.C.

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

FB
FC
OB

FB BLOQUE DE FUNCIONES
FC FUNCIONES

BLOQUES DE
PROCESAMIIENTO

OB BLOQUE DE ORGANIZACIN

PROGRAMA
DE APLICACIN
DB

DB BLOQUE DE DATOS

BLOQUES DE
ALMACENAMIENTO

Mdulos de Organizacin (OB)


Encargados de gestionar el programa de mando.
Funciones (FC)
Son mdulos de programa sin memoria. Incluyen el programa de
usuario dividido segn aspectos funcionales o tecnolgicos.
Mdulos de Funcin (FB)
Son mdulos 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 mdulo y saltar a otro. Esto
permite anidar hasta 32 niveles en mdulos 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 mdulos STUEB".

29
DIN AUTOMATIZACIN S.A.C.

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

4.4.3

Estructura de un mdulo
Cada mdulo se compone de:
Encabezamiento con los datos relativos a tipo, nmero y longitud del
mdulo.
Cuerpo, incluye el programa STEP 7 o los datos.

4.4.4

Mdulos de Organizacin (OB)

Como se mencion anteriormente, estos mdulos 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
organizacin se hace cargo de una determinada tarea parcial. Cada bloque de
organizacin puede crear un programa estructurado, creando funciones (FC) y
bloques de funcin (FB) y llamndolas en el rea de instrucciones. Al llamar a
un bloque tiene que asignar datos a los parmetros declarados.
En el caso ms sencillo de programacin usted necesitar bloques de
organizacin para lo siguiente:

Mdulo de organizacin que lo llama cclicamente el sistema


operativo (OB1)
Mdulos de organizacin para arranque (OB100, OB101)
Mdulos de organizacin 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 mdulos
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. Adems pone de relieve la importancia de los mdulos de
organizacin.
4.4.5

Funciones (FC)

OB100/101
Una funcin (FC) es un bloque
lgico sin memoria. Tras la ejecucin de
la FC, los parmetros de salida contienen los valores de la funcin que se han
calculado. En este caso, es el usuario quien decide cmo y dnde se utilizarn
y guardarn los parmetros actuales despus de llamar una FC.

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


llamada por otro bloque lgico. Las funciones se pueden utilizar para:
Devolver un valor de funcin al bloque invocante (ej.: funciones
OB1
FC1
FC11
matemticas)
Ejecutar una funcin tecnolgica (ej.: control individual con
combinacin binaria)

FB2

DIN AUTOMATIZACIN S.A.C.

FC200

30

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

Programa del sistema

Programa de mando

Fig. 4-4 Ejemplo del uso de mdulos de organizacin

FC ELECCION DE FORMA DE OPERACION

FC 45 TAREA
PRINCIPAL

FC 10 OPERACION
MANUAL

FC OPERACION AUTOMATICA

FC 250 PARO ESCALONADO


FC 37
SUPERVICION

Fig. 4-5 Funcionamiento de los mdulos de programa


Los mdulos de programa se activan con las llamadas CALL y CC.
Estas operaciones pueden programarse en todos los tipos de mdulos,
excepto en los de datos.

31
DIN AUTOMATIZACIN S.A.C.

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

4.4.6

Mdulos de Funcin (FB)

Los bloques de funcin 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 parmetros que se transfieren al FB, as
como las variables estticas, 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

FB3

FC 80 "REGULACION"

FB11

Fig. 4-6 Funcionamiento de los mdulos funcionales


Entre sus principales particularidades tenemos:

Son parametrizables; es decir al llamar al mdulo podemos


transferirles parmetros actuales.
Disponen de funciones complementarias que no pueden ser
programadas en otros mdulos.
Solamente pueden ser representados en AWL.

32
DIN AUTOMATIZACIN S.A.C.

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

4.4.7

Mdulos de datos (DB)

Aqu se guardan los datos que sern procesados durante la ejecucin


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
funcin, que transfiere parmetros, est asignado un bloque de datos
de instancia. En el DB de instancia estn depositados los parmetros
actuales y los datos estticos 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 funcin, Si por ejemplo,
en un programa de usuario S7 se llama 5 veces un bloque de funcin,
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 tamao de los DBs puede variar.

OB1

FC1
DB255
DB4
DB0

DW0
DW1
DW2
DW3
DW4

FC17

TDW255

DW255

Fig 4-7 Funcionamiento de los mdulos de datos


Se admiten los siguientes tipos de datos:
Configuraciones
binarias
(representacin
de
estados
de
instalaciones),
Nmeros en hexadecimal, binario o decimal (temporizaciones,
resultado de clculos,.)
Caracteres alfanumricos (mensajes).

33
DIN AUTOMATIZACIN S.A.C.

INTRODUCCIN AL LENGUAJE DE PROGRAMACIN STEP7

4.4.7.1

Programacin de mdulos de datos

El primer paso consiste en asignar un nmero al mdulo que deber


estar comprendido entre 2 y 255. Los datos se almacenan palabra por palabra.
Si la informacin es inferior a 16 bits, los bits ms significativos se rellenan con
ceros. Un mdulo de datos permite almacenar hasta 2042 palabras de datos.
Estos mdulos tambin pueden crearse o borrarse desde el programa
de mando.
4.4.7.2

Ejecucin de un programa con mdulos de datos


Un DB debe llamarse en el programa con la instruccin AUF (or OPN)
db N (n = 0255)
Dentro de un mdulo, un DB mantiene su validez hasta que se llame
a otro mdulo de datos.
Al retornar al mdulo primario, es nuevamente vlido el DB que tena
dicha propiedad antes de la llamada.
En todos los OBs los DBs utilizados por el programa de usuario
deben abrirse con la instruccin AUF (or OPN) DB n.

FC 20
DB
Vlido

DB
vlido

FC7
DB 10

AUF DB 10
DB10
CALL FC 20

AUF DB 11

DB10

DB 11

Fig. 4-8 Mrgenes de validez de mdulos de datos

34
DIN AUTOMATIZACIN S.A.C.

5. OPERACIONES LGICAS CON BITs

5.1 DESCRIPCIN
Las operaciones lgicas con bits interpretan los estados de seal 1 y 0,
y los combinan de acuerdo con la lgica de Boole. Estas combinaciones
producen un 1 un 0 como resultado y se denominan resultado lgico
(RLO). Las operaciones lgicas con bits permiten ejecutar las ms diversas
funciones.
Se dispone de las siguientes operaciones lgicas con bits:

Las siguientes operaciones reaccionan ante un RLO de 1:

Otras operaciones reaccionan ante un cambio de flanco positivo o


negativo para ejecutar las siguientes funciones:

Palabra de estado
Es un registro de la memoria de la CPU que contiene 16 bits que
pueden direccionarse en el operando de las operaciones lgicas con bits y con
palabras. Solo nos sern de utilidad los 9 primeros bits, estando reservados el
uso de los 7 ltimos. A continuacin pasaremos a describir cada bit:

OPERACIONES LGICAS CON BITs

BIT 0 (ER): 0 indica que la siguiente lnea se ejecuta como nueva


consulta (inhibida). En este estado la consulta se almacena
directamente en RLO.
BIT 1 (RLO): resultado lgico. Aqu se realizan las operaciones a
nivel de bit (como AND, OR, etc.).
BIT 2 (STA): bit de estado. Solo sirve en el test de programa.
BIT 3 (OR): se requiere para el proceso Y delante de O. Este bit
indica que una operacin Y ha dado valor 1, en las restantes
operaciones es 0.
BIT 4 (OV): bit de desbordamiento. Se activa (1) por una operacin
aritmtica o de comparacin de coma flotante tras producirse un error
(desbordamiento, operacin no admisible, o relacin incorrecta).
BIT 5 (OS): bit de desbordamiento memorizado. Se activa junto con
OV e indica que previamente se ha producido un error. Solo puede
cambiar a cero con la instruccin de salto, una operacin de llamada
a mdulo, o porque se ha alcanzado el fin del mdulo.
BITS 6 (A0) y 7 (A1): cdigos de condicin. Dan informacin sobre
los resultados o bits siguientes:
resultado de una operacin aritmtica.
resultado de una comparacin.
resultado de una operacin digital.
bits desplazados por una instruccin de desplazamiento o rotacin.
BIT 8 (RB): resultado binario. Permite interpretar el resultado de una
operacin de palabras como resultado binario e integrarlo en la
cadena de combinaciones lgicas binarias.

5.2 CONTACTO NORMALMENTE ABIERTO


5.2.1 Smbolo
operando

---| |---

5.2.2 Descripcin
Se cierra si el valor del bit consultado, que se almacena en el
<operando> indicado, es "1". Si el contacto est cerrado, la corriente fluye a
travs del contacto y el resultado lgico (RLO) es "1".
36
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

De lo contrario, si el estado de seal en el <operando> indicado es "0",


el contacto est abierto. Si el contacto est abierto no hay flujo de corriente y
el resultado lgico de la operacin (RLO) es "0".
5.2.3 Palabra de estado

5.2.4 Ejemplo
La corriente puede fluir si: el estado
en las entradas E 0.0 Y E 0.1 es "1"
O el estado en la entrada E 0.2 es
"1".

5.3 CONTACTO NORMALMENTE CERRADO


5.3.1 Smbolo
operando

---| / |---

5.3.2 Descripcin
Se abre si el valor del bit consultado, que se almacena en el
<operando> indicado, es "0". Si el contacto est cerrado, la corriente fluye a
travs del contacto y el resultado lgico (RLO) es "1".
De lo contrario, si el estado de seal en el <operando> indicado es "1",
el contacto est abierto. Si el contacto est abierto no hay flujo de corriente y
el resultado lgico de la operacin (RLO) es "0".
5.3.3 Palabra de estado

5.3.4 Ejemplo
37
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

La corriente puede fluir si:el estado


en las entradas E 0.0 Y E 0.1 es "1"
O el estado en la entrada E 0.2 es
"1".

5.4 XOR O-EXCLUSIVA


5.4.1 Smbolo

5.4.2 Descripcin
Genera un RLO de "1" si el estado de seal de los dos bits indicados es
distinto.
5.4.3 Ejemplo
La salida A 4.0 es "1" si (E 0.0 es 0
Y E 0.1 es 1) O (E 0.0 es 1 Y E 0.1
es 0).

5.5 INVERTIR RESULTADO LGICO (RLO)


38
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

5.5.1 Smbolo
operando

---| NOT |--5.5.2 Descripcin


Invierte el bit RLO.
5.5.3 Palabra de estado

5.5.4 Ejemplo
La salida A 4.0 es "0" si:
El estado en la entrada E 0.0 es "1"
O el estado en E 0.1. Y E 0.2 es "1".

5.6 BOBINA DE REL


5.6.1 Smbolo
operando

---(

5.6.2 Descripcin
Opera como una bobina en un esquema de circuitos. Si la corriente
fluye hasta la bobina (RLO = 1), el bit en el <operando> se pone a "1". Si no
fluye corriente hasta la bobina (RLO = 0), el bit en el <operando> se pone a
"0". Una bobina de salida slo puede colocarse dentro de un esquema de
contactos en el extremo derecho de un circuito. Como mximo puede haber 16
salidas mltiples. Se puede crear una salida negada anteponiendo a la bobina
de salida la operacin ---|NOT|--- (invertir el resultado lgico).
5.6.3 Palabra de estado

39
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

5.6.4 Ejemplo

La salida A 4.0 es "1" si:

(el estado de la entrada E 0.0 Y E


0.1 es "1") O el estado de la
entrada E 0.2 es "0".
La salida A 4.1 es "1"si:
(el estado de la entrada E 0.0 Y E
0.1 es "1" O el estado de la entrada
E 0.2 es "0") Y el estado de la
entrada E 0.3 es "1".

5.7 CONECTOR
5.7.1 Smbolo
operando

---( # )---

5.7.2 Descripcin
Es un elemento intercalado que cumple una funcin de asignacin; el
conector almacena el RLO actual (el estado de seal del flujo de corriente) en
el <operando> que se haya especificado. Este elemento de asignacin
memoriza la combinacin lgica de bits de la ltima rama abierta que est
antes que l. Si se conecta en serie con otros elementos, la operacin --( # )--- se inserta igual que un contacto. El elemento ---( # )--- nunca debe
conectarse a una barra de alimentacin, ni colocarse directamente detrs de
una rama, y tampoco debe emplearse como final de una rama. Se puede crear
la negacin del elemento ---( # )--- anteponindole el elemento ---|NOT|--(invertir el resultado lgico).
5.7.3 Palabra de estado

5.7.4 Ejemplo
40
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

5.8 DESACTIVAR SALIDA


5.8.1 Smbolo
operando

---( R )

5.8.2 Descripcin
Slo se ejecuta si el RLO de las operaciones anteriores es "1" (flujo de
corriente en la bobina). Si fluye corriente a la bobina (RLO es "1"), el
<operando> indicado del elemento se pone a "0". Un RLO de "0" (= no hay
flujo de corriente en la bobina) no tiene efecto alguno, de forma que el estado
de seal del operando indicado del elemento no vara. El <operando> tambin
puede ser un temporizador (N. de T) cuyo valor de temporizacin se pone a
"0", o un contador (N. de Z) cuyo valor de contaje se pone a "0".
5.8.3 Palabra de estado

5.8.4 Ejemplo

41
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

La salida A 4.0 slo se pone a "0" si:


(el estado en la entrada E 0.0 Y en
la entrada E 0.1 es "1") O el estado
en la entrada E 0.2 es "0".
El temporizador T1 slo se pone a 0
si:
el estado de seal en la entrada E
0.3 es "1".
El contador Z1 slo se pone a 0 si:
el estado de seal en la entrada E
0.3 es "1".

5.9 ACTIVAR SALIDA


5.9.1 Smbolo
operando

---( S )

5.9.2 Descripcin
Slo se ejecuta si el RLO de las operaciones anteriores es "1" (flujo de
corriente en la bobina). Si el RLO es "1", el <operando> indicado del elemento
se pone a "1".
Un RLO = 0 no tiene efecto alguno, de forma que el estado de seal
actual del operando indicado del elemento no se altera.
5.9.3 Palabra de estado

5.9.4 Ejemplo
La salida A 4.0 slo se pone a "1" si:
(el estado en la entrada E 0.0 Y en
E 0.1 es "1") O el estado en la
entrada E 0.2 es "1".
Si el RLO es "0", el estado de seal
de la salida A 4.0 no vara.
42
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

5.10

ACTIVAR FLIP-FLOP DE DESACTIVACIN

5.10.1 Smbolo
operando

5.10.2 Descripcin
Se desactiva si el estado en la entrada R es "1" y si el estado en la
entrada S es "0". De no ser as, cuando el estado en la entrada R es "0" y el
estado en la entrada S es "1", se activa el flip-flop. Si el RLO es "1" en ambas
entradas, la operacin Desactivar flip-flop de activacin ejecuta en el
<operando> indicado primero la operacin Desactivar y seguidamente la
operacin Activar, de modo que la direccin permanece activada para el resto
del ciclo de programa.
Las operaciones S (Activar) y R (Desactivar) slo se ejecutan si el RLO
es 1. Si el RLO es 0 estas operaciones no se ven afectadas y el operando
indicado no vara.
5.10.3 Palabra de estado

5.10.4 Ejemplo

Si el estado en la entrada E 0.0 es


"1" y en la entrada E 0.1 es "0", se
activa la marca M 0.0 y la salida A
4.0 es "0". De no ser as, cuando el

estado de seal en la entrada E 0.0


es 0 y en E 0.1 es 1, se activa la
marca M 0.0 y la salida A 4.0 es "1".
Si ambos estados de seal son "0",
no cambia nada. Si ambos estados
de seal son "1" domina la
operacin Activar, debido al orden
en que estn dispuestas las
operaciones. M 0.0 se activa y la
salida A 4.0 es "1".
43

DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

5.11

DESACTIVAR FLIP-FLOP DE DESACTIVACIN

5.11.1 Smbolo
operando

5.11.2 Descripcin
Se activa si el estado en la entrada S es "1" y si el estado de la entrada
R es "0". De no ser as, cuando el estado en la entrada S es "0" y el estado de
la entrada R es "1", se desactiva el flip-flop. Si el RLO es "1" en ambas
entradas, la operacin Desactivar flip-flop de activacin ejecuta en el
<operando> indicado primero la operacin Activar y seguidamente la
operacin Desactivar, de modo que la direccin permanece desactivada para
el resto del ciclo de programa.
5.11.3 Palabra de estado

5.11.4 Ejemplo

Si el estado en la entrada E 0.0 es


"1" y en la entrada E 0.1 es el
estado es "0", se activa la marca M
0.0, y la salida A 4.0 es "1". De no

ser as, cuando el estado de seal


en la entrada E 0.0 es 0 y en E 0.1
es 1, se desactiva la marca M 0.0 y
la salida A 4.0 es "0". Si ambos
estados de seal son "0", no
cambia nada. Si ambos estados de
seal son "1", domina la operacin
Desactivar debido al orden en que
estn dispuestas las operaciones.
M 0.0 se desactiva y la salida A 4.0
es "0".

44
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

5.12

DETECTAR FLANCO DECRECIENTE

5.12.1 Smbolo
operando

---( N )

5.12.2 Descripcin
Detecta un cambio del estado de seal en el operando de "1" a "0", e
indica este cambio tras la operacin con RLO = 1. El estado de seal del RLO
se compara con el estado de seal del operando, es decir, con la marca de
flancos. Si el estado de seal del operando es "1" y el RLO anterior a la
operacin es "0", el RLO posterior a la operacin ser "1" (impulso); en todos
los otros casos ser "0". El RLO anterior a la operacin se almacena en el
operando.
5.12.3 Palabra de estado

5.12.4 Ejemplo
La marca de flancos M 0.0
almacena el estado de seal del
RLO de la combinacin de bits en
su conjunto. Si el estado de seal
del RLO cambia de "1" a "0" se
ejecuta el salto a la meta CAS1.

5.13

DETECTAR FLANCO CRECIENTE

5.13.1 Smbolo
operando

---( P )

5.13.2 Descripcin
45
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

Detecta un cambio del estado de seal en el operando, de "0" a "1", e


indica este cambio tras la operacin mediante RLO = 1. El estado de seal
actual del RLO se compara con el estado de seal del operando, es decir, con
la marca de flancos. Si el estado de seal del operando es "0" y el RLO
anterior a la operacin es "1", el RLO detrs de la operacin ser "1"
(impulso); en todos los dems casos ser "0". El RLO anterior a la operacin
se almacena en el operando.
5.13.3 Palabra de estado

5.13.4 Ejemplo
La marca de flancos M 0.0
almacena el estado del RLO de
toda la combinacin de bits. Si el
estado de seal del RLO cambia de
"0" a "1", se ejecuta el salto a la
meta CAS1.

5.14

CARGAR RESULTADO LGICO (RLO) EN EL REGISTRO RB

5.14.1 Smbolo
operando

---( SAVE )
5.14.2 Descripcin
Almacena el RLO en el bit del resultado binario (RB) de la palabra de
estado. Pero el bit de primera consulta /ER no se pone a cero. Por esta razn,
en una combinacin lgica Y en el prximo segmento se combinar el estado
del bit RB.
El uso de SAVE con una consulta del bit RB en el mismo bloque o en
bloques subordinados no es recomendable, puesto que el bit RB puede ser
modificado por numerosas operaciones intercaladas. La operacin SAVE
resulta especialmente til antes de salir de un bloque, puesto que con ella la
salida ENO (bit RB) se pone al valor del bit RLO, lo cual permite aadir un
tratamiento de error a continuacin del bloque.
46
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

5.14.3 Palabra de estado

5.14.4 Ejemplo
El estado del segmento (= RLO) se
almacena en el bit RB.

5.15

DETECTAR FLANCO DE SEAL NEGATIVO

5.15.1 Smbolo

5.15.2 Descripcin
Compara el estado de seal de <Operando1> con el estado de seal
de la consulta anterior, que esta almacenada en el <Operando2>. Si el estado
actual del RLO es "0" y el estado anterior era "1" (deteccin de un flanco
decreciente), la salida Q despus de esta funcin es "1", en todos los otros
casos es "0".
5.15.3 Palabra de estado

5.15.4 Ejemplo
47
DIN AUTOMATIZACIN S.A.C.

OPERACIONES LGICAS CON BITs

La salida A 4.0 es "1", si:


(el estado en E 0.0 Y en E 0.1 Y en
E 0.2 es "1") Y E 0.3 tiene un flanco
decreciente Y el estado en E 0.4 es
"1".
5.16

DETECTAR FLANCO DE SEAL POSITIVO

5.16.1 Smbolo

5.16.2 Descripcin
Compara el estado de seal de <Operando1> con el estado de seal
de la consulta anterior que est almacenado en <Operando2>. Si el estado
actual del RLO es "1" y el estado anterior era "0" (Deteccin de un flanco
creciente), la salida Q despus de esta operacin es "1"; en todos los otros
casos es "0".
5.16.3 Palabra de estado

5.16.4 Ejemplo

La salida A 4.0 es "1", si:


(el estado en E 0.0 Y en E 0.1 Y en
E 0.2 es "1") Y E 0.3 tiene un flanco
creciente Y el estado en E 0.4 es
"1".

48
DIN AUTOMATIZACIN S.A.C.

6. OPERACIONES DE TEMPORIZACIN

6.1 DESCRIPCIN
Se dispone de las siguientes operaciones de temporizacin.

6.2 REA DE MEMORIA Y COMPONENTES


6.2.1 rea de memoria
Los temporizadores tienen un rea reservada en la memoria de la CPU.
Esta rea de memoria reserva una palabra de 16 bits para cada operando de
temporizador. La programacin con KOP asiste 256 temporizadores.
Las siguientes funciones tienen acceso al rea de memoria de
temporizadores:
Operaciones de temporizacin
Actualizacin por reloj de palabras de temporizacin. Esta funcin de
la CPU en el estado RUN decrementa en una unidad un valor de
temporizacin dado en el intervalo indicado por la base de tiempo
hasta alcanzar el valor 0.
6.2.2 Valor de temporizacin
Los bits 0 a 9 de la palabra de temporizacin contienen el valor de
temporizacin en cdigo binario. Este valor indica un nmero de unidades. La
actualizacin decrementa el valor de temporizacin en una unidad y en el
intervalo indicado por la base de tiempo hasta alcanzar el valor 0. El valor de
temporizacin se puede cargar en los formatos binario, hexadecimal o decimal
codificado en binario (BCD). El rea de temporizacin va de 0 a 9 990
segundos.

OPERACIONES DE TEMPORIZACIN

Para cargar un valor de temporizacin redefinido, se observarn las


siguientes reglas sintcticas.
El valor de temporizacin se puede cargar en cualesquiera de los
siguientes formatos:
w#16#wxyz
siendo: w= la base de tiempo (es decir, intervalo de tiempo o
resolucin)
xyz = el valor de temporizacin en formato BCD
S5T#aH_bM_cS_dMS
siendo: H (horas), M (minutos), S (segundos), MS (milisegundos);
a, b, c, d los define el usuario
La base de tiempo se selecciona automticamente y el valor de
temporizacin se redondea al prximo nmero inferior con esa
base de tiempo.
El valor de temporizacin mximo que puede introducirse es de 9 900
segundos 2H_46M_30S. Ejemplos:
S5TIME#4S --> 4 segundos
s5t#2h_15m --> 2 horas y 15 minutos
S5T#1H_12M_18S --> 1 hora 12 minutos y 18 segundos
6.2.3 Base de tiempo
Los bits 12 y 13 de la palabra de temporizacin contienen la base de
tiempo en cdigo binario. La base de tiempo define el intervalo en que se
decrementa en una unidad el valor de temporizacin. La base de tiempo ms
pequea es 10 ms, la ms grande 10 s.

Los valores no deben exceder 2H_46M_30S. Los valores con un


margen o una resolucin demasiado grandes (p. ej. 2H_10MS) se redondean
de tal forma que correspondan a la tabla para el margen y la resolucin.
El formato general para el tipo de datos S5TIME tiene los siguientes
valores lmite para el margen y la resolucin:

50
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE TEMPORIZACIN

6.2.4 Configuracin binaria


Cuando se dispara un temporizador, el contenido de la palabra de
temporizacin 1 se utiliza como valor de temporizacin. Los bits 0 a 11 de la
palabra de temporizacin almacenan el valor de temporizacin en formato
decimal codificado en binario (formato BCD: cada grupo de cuatro bits
contiene el cdigo binario de un valor decimal). Los bits 12 a 13 almacenan la
base de tiempo en cdigo binario.
La figura muestra el contenido de la palabra de temporizacin cargado
con el valor 127 y una base de tiempo de 1 segundo.

6.2.5 Leer el temporizador y la base de tiempo


Todos los cuadros de temporizadores tienen dos salidas, DUAL y DEZ,
para las que se puede indicar una direccin de palabra. La salida DUAL indica
el valor de temporizacin en formato binario. La salida DEZ indica la base de
tiempo y el valor de temporizacin en formato decimal codificado en binario
(BCD).
6.2.6 Tipos de temporizadores
El resumen breve de los cinco tipos de temporizadores sirve de ayuda
para la eleccin del temporizador que se adapte mejor a sus necesidades.

51
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE TEMPORIZACIN

52
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE TEMPORIZACIN

6.3 TEMPORIZADOR TIPO IMPULSO


6.3.1 Smbolo
ingls

alemn

6.3.2 Descripcin
El temporizador funciona mientras que el estado de seal en la entrada
S sea "1", pero como mximo durante el tiempo indicado por el valor de
temporizacin en la entrada TV/TW. El estado de seal en la salida Q es "1"
mientras que funcione el temporizador. Si el estado de seal en la entrada S
cambia de "1" a "0" antes de transcurrir el intervalo de tiempo, el temporizador
se para. En este caso el estado de seal en la salida Q es "0".
El temporizador se pone a 0 si la entrada de desactivacin R del
temporizador se pone a "1" mientras funciona el temporizador. El valor de
temporizacin actual y la base de tiempo tambin se ponen a 0. Un "1" en la
entrada R del temporizador no tiene efecto alguno si el temporizador no est
en marcha.
El valor de temporizacin actual queda depositado en las salidas
BI/DUAL y BCD/DEZ. El valor de temporizacin actual equivale al valor inicial
de TV/TW menos el valor de temporizacin que ha transcurrido desde el
arranque del temporizador.
6.3.3 Diagrama

53
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE TEMPORIZACIN

6.3.4 Ejemplo
Si el estado de seal de la entrada
E 0.0 cambia de "0" a "1" (flanco
creciente en el RLO), se activa el
temporizador T5. El temporizador
contina en marcha con el valor de
temporizacin
indicado
de
2
segundos (2 s) mientras la entrada
E 0.0 sea 1. Si el estado de seal
de la entrada E 0.0 cambia de "1" a
"0" antes de transcurrir el tiempo, el
temporizador se para.
La salida A 4.0 es "1" mientras est
en marcha el temporizador, y "0" si
el tiempo ha transcurrido o si el
temporizador fue puesto a 0.

54
DIN AUTOMATIZACIN S.A.C.

6.4 TEMPORIZADOR TIPO IMPULSO PROLONGADO


6.4.1 Smbolo
ingls

alemn

6.4.2 Descripcin
El temporizador contina en marcha durante el tiempo predeterminado
-indicado en la entrada TV/TW-, aunque el estado de seal en la entrada S se
ponga a "0" antes de haber transcurrido el intervalo de tiempo. El estado de
seal en la salida Q es "1" mientras el temporizador est en marcha. El
temporizador vuelve a arrancar con el valor de temporizacin predeterminado
si el estado de seal en la entrada S cambia de "0" a "1" mientras est en
marcha el temporizador.
El temporizador se pone a 0 si la entrada de desactivacin R del
temporizador se pone a "1" mientras el temporizador est funcionando. El valor
de temporizacin actual y la base de tiempo se ponen a 0.
6.4.3 Diagrama

6.4.4 Ejemplo
creciente en el RLO), se activa el
temporizador T5. El temporizador
contina en marcha con el valor de
temporizacin indicado de dos
segundos sin ser afectado por un
flanco decreciente en la entrada S.
Si el estado de seal de la entrada
E 0.0 cambia de "0" a "1" antes de
transcurrir
el
tiempo,
el
temporizador vuelve a arrancar. Si
el estado de seal de la entrada E
0.1 cambia de "0" a "1" mientras el
temporizador est en marcha, ste
se pone a 0. La salida A 4.0 es "1"
mientras est en marcha el
temporizador.
Si el estado de seal de la entrada
E 0.0 cambia de "0" a "1" (flanco

OPERACIONES DE TEMPORIZACIN

6.5 TEMPORIZADOR TIPO RETARDO A LA CONEXIN


6.5.1 Smbolo
ingls

alemn

6.5.2 Descripcin
El temporizador contina en marcha con el valor de temporizacin
indicado en la entrada TV/TW mientras el estado de seal en la entrada S sea
positivo. El estado de seal en la salida Q ser "1" si el tiempo ha transcurrido
sin que se produjeran errores y si el estado de seal en la entrada S es "1". Si
el estado de seal en la entrada S cambia de "1" a "0" mientras est en
marcha el temporizador, ste se para. En este caso, el estado de seal en la
salida Q ser "0".
El temporizador se pone a 0 si la entrada de desactivacin R del
temporizador se pone a "1" mientras funciona el temporizador. El valor de
temporizacin y la base de tiempo se ponen a 0. Entonces el estado de seal
en la salida Q es "0". El temporizador tambin se pone a 0 si en la entrada de
desactivacin R el valor es "1", mientras el temporizador no est en marcha y
el RLO en la entrada S es "1".
6.5.3 Diagrama

57
DIN AUTOMATIZACIN S.A.C.

6.5.4 Ejemplo
Si el estado de seal de la entrada
E 0.0 cambia de "0" a "1" (flanco
creciente en el RLO), se activa el
temporizador T5. Si transcurre el
tiempo de dos segundos y el estado
de seal en la entrada E 0.0 sigue
siendo "1", la salida A 4.0 ser "1".
Si el estado de seal de la entrada
E 0.0 cambia de "1" a "0", el
temporizador se para y la salida A
4.0 ser "0". (Si el estado de seal
de la entrada E 0.1 cambia de "0" a
"1", el temporizador se pone a 0,
tanto si estaba funcionando como si
no).

6.6 TEMPORIZADOR TIPO RETARDO A LA CONEXIN CON MEMORIA


6.6.1 Smbolo
ingls

alemn

6.6.2 Descripcin
El temporizador contina en marcha con el valor de temporizacin
indicado en la entrada TV/TW aunque el estado de seal en la entrada S se
ponga a "0" antes de que haya transcurrido el tiempo. El estado de seal en la
salida Q ser "1" si ha transcurrido el tiempo, independientemente del estado
de seal que tenga la entrada S. El temporizador vuelve a arrancar con el
valor de temporizacin indicado si el estado de seal en la entrada S cambia
de "0" a "1" mientras el temporizador est en marcha.
El temporizador se pone a 0 si la entrada de desactivacin R del
temporizador se pone a "1", independientemente del RLO en la entrada S.
Entonces el estado de seal en la salida Q es "0".
6.6.3 Diagrama

6.6.4 Ejemplo
Si el estado de seal de la entrada
E 0.0 cambia de "0" a "1" (flanco
creciente en el RLO), se activa el
temporizador T5. El temporizador
contina en marcha sin que un
cambio de seal de "1" a "0" en la
entrada E 0.0 repercuta en l. Si el
estado de seal de la entrada E 0.0
cambia de "1" a "0" antes de que
haya transcurrido el tiempo, el
temporizador vuelve a arrancar. La
salida A 4.0 ser "1" si ha
transcurrido el tiempo (Si el estado
de seal de la entrada E 0.1 cambia
de "0" a "1", el temporizador se
pone a "0", independientemente de
cul sea el RLO en S).

6.7 TEMPORIZADOR TIPO RETARDO A LA DESCONEXIN


6.7.1 Smbolo
ingls

alemn

6.7.2 Descripcin
El estado de seal en la salida Q ser "1" si el estado de seal en la
entrada S es "1", y tambin mientras el temporizador est en marcha. El
temporizador se para si el estado de seal en la entrada S cambia de "0" a "1"
mientras el temporizador est en marcha. El temporizador slo vuelve a
arrancar si el estado de seal en la entrada S vuelve a cambiar de "1" a "0".
El temporizador se pone a 0 si la entrada de desactivacin R se pone a
"1" mientras el temporizador est en marcha.
6.7.3 Diagrama

6.7.4 Ejemplo
El temporizador arranca si el estado
de seal en la entrada E 0.0 cambia
de "1" a "0". A 4.0 es "1" si E 0.0 es
"1" o el temporizador est en
marcha (Si el estado de seal en E
0.1 cambia de "0" a "1", mientras
est en marcha el temporizador,
ste se pone a 0).

7. OPERACIONES DE CONTAJE

7.1 CONCEPTOS
7.1.1 rea de memoria
Los contadores tienen reservada un rea de memoria en la CPU. Esta
rea de memoria reserva una palabra de 16 bits para cada contador. KOP
asiste 256 contadores.
7.1.2 Valor de contaje
Los bits 0 a 9 de la palabra de contaje contienen el valor de contaje en
cdigo binario. El valor fijado por el usuario se transfiere del acumulador al
contador al activarse ste. El valor de contaje puede estar comprendido entre
0 y 999. Dentro de este margen se puede variar dicho valor utilizando las
operaciones siguientes:
ZAEHLER Parametrizar e incrementar/decrementar contador
Z_VORW Parametrizar e incrementar contador
Z_RUECK Parametrizar y decrementar contador
---( SZ ) Poner contador al valor inicial
---( ZV ) Incrementar contador
---( ZR ) Decrementar contador
7.1.3 Configuracin binaria
Para poner el contador a un valor determinado hay que introducir un
nmero de 0 a 999, por ejemplo 127, en el siguiente formato: C# 127. C# sirve
para indicar el formato decimal codificado en binario.
Los bits 0 a 11 del contador contienen el valor de contaje en formato
BCD (formato BCD: cada conjunto de cuatro bits contiene el cdigo binario de
un valor decimal).

7.2 PARAMETRIZAR E INCREMENTAR/DECREMENTAR CONTADOR

OPERACIONES DE CONTAJE

7.2.1 Smbolo
ingls

alemn

7.2.2 Descripcin
Este contador queda inicializado con el valor de la entrada ZW cuando
se produce un flanco ascendente en la entrada S. Si hay un 1 en la entrada R,
el contador se pone a cero y el valor de contaje es 0.
El contador incrementa en "1" si el estado de seal de la entrada ZV
cambia de "0" a "1" y el valor del contador era menor que "999". El contador se
decrementa en "1" si en la entrada ZR se produce un flanco ascendente y el
valor del contador es mayor que "0".
Al producirse un flanco ascendente en ambas entradas de contaje se
ejecutan ambas operaciones, y el valor de contaje no vara. Si se inicializa el
contador y el RLO de las entradas ZV/ZR = 1, el contador contar as en el
siguiente ejemplo aunque no haya habido ningn cambio de flanco.
El estado de seal de la salida Q ser "1" si el valor de contaje es mayor
que cero, y ser "0" si el valor de contaje es igual a cero.
7.2.3 Ejemplo
64
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE CONTAJE

Al cambiar la entrada E 0.2 de "0" a


"1", el contador toma el valor de
preseleccin de MW10. Si el estado
de seal en E 0.0 cambia de "0" a
"1", el valor del contador Z10
incrementa en "1", a menos que el
valor de Z10 fuera "999". Si E 0.1
cambia de "0" a "1", Z10
decrementa en "1", a no ser que el
valor de Z10 fuera cero. La salida A
4.0 ser "1" si el valor de Z10 no es
cero.

7.3 PARAMETRIZAR E INCREMENTAR CONTADOR


7.3.1 Smbolo
ingls

alemn

7.3.2 Descripcin
Este contador toma el valor predeterminado de la entrada ZW si en la
entrada S hay un flanco ascendente.

65
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE CONTAJE

Si el estado de seal de la entrada R es "1" el contador se pone a 0, y


entonces el valor de contaje es cero.
El contador incrementa en "1" si el estado de seal en la entrada ZV
cambia de "0" a "1", siempre y cuando el valor de contaje sea menor que
"999". Si se inicializa el contador y el RLO de las entradas ZV/ZR = 1, el
contador contar as en el siguiente ejemplo aunque no haya habido ningn
cambio de flanco.
El estado de seal en la salida Q ser "1" siempre que el valor de
contaje sea mayor que cero, y ser "0" si el valor de contaje es cero.
7.3.3 Ejemplo
Al cambiar la entrada E 0.2 de "0" a
"1", el contador toma el valor
predeterminado para MW10. Si el
estado de seal en E 0.0 cambia de
"0" a "1", el valor del contador Z10
se incrementa en "1", a menos que
el valor de Z10 fuera "999". La
salida A 4.0 ser "1" siempre que el
valor de Z10 no sea cero.

7.4 PARAMETRIZAR Y DECREMENTAR CONTADOR


7.4.1 Smbolo
ingls

alemn

66
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE CONTAJE

7.4.2 Descripcin
Este contador toma el valor predeterminado de la entrada ZW si en la
entrada S hay un flanco ascendente.
Si el estado de seal de la entrada R es "1" el contador se pone a 0, y
entonces el valor de contaje es cero.
El contador decrementa en "1" si el estado de seal en la entrada ZR
cambia de "0" a "1" y el valor de contaje era mayor que cero.
Si se inicializa el contador y el RLO de las entradas ZV/ZR = 1, el
contador contar as en el siguiente ejemplo aunque no haya habido ningn
cambio de flanco.
El estado de seal en la salida Q ser "1" si el valor de contaje es mayor
que cero, y ser "0" si el valor de contaje es cero.
7.4.3 Ejemplo
Al cambiar la entrada E 0.2 de "0" a
"1", el contador toma el valor de
preseleccin de MW10.
Si el estado de seal en E 0.0
cambia de "0" a "1", el valor del
contador Z10 decrementa en "1", a
menos que el valor de Z10 fuera
"0". La salida A 4.0 ser "1" siempre
que el valor de Z10 no sea cero.

67
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE CONTAJE

7.5 PONER CONTADOR AL VALOR INICIAL


7.5.1 Smbolo
ingls

alemn

7.5.2 Descripcin
Se ejecuta solamente en caso de que haya un flanco ascendente en el
RLO. En este caso se transmite el valor predeterminado al contador indicado.
7.5.3 Ejemplo
El
valor
"100"
quedar
preseleccionado para el contador
Z5 si en la entrada E 0.0 se
produce un flanco ascendente
(cambio de "0" a "1"). El valor del
contador Z5 no se altera en caso de
que no se produzca ningn flanco
ascendente.
7.6 INCREMENTAR CONTADOR
7.6.1 Smbolo
ingls

alemn

7.6.2 Descripcin

68
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE CONTAJE

Incrementa en "1" el valor del contador indicado si hay un flanco


ascendente en el RLO y el valor del contador es menor que "999". El valor del
contador no se altera si no hay ningn flanco ascendente, ni tampoco en caso
de que el el contador tenga ya el valor "999.
7.6.3 Ejemplo
Si el estado de seal de E 0.0
cambia de "0" a "1" (flanco
ascendente en el RLO), se carga el
valor predeterminado de "100" en el
contador Z10.
Si el estado de seal de E 0.1
cambia de "0" a "1" (flanco
ascendente en el RLO), se aumenta
en "1" el valor de contaje del
contador Z10, a menos que el valor
de contaje sea igual a "999". El
valor del contador Z10 no se altera
si no hay ningn flanco ascendente
en el RLO.
Si el estado de seal de E
0.2 es 1, el contador se pone a "0".

7.7 DECREMENTAR CONTADOR


7.7.1 Smbolo
ingls

alemn

7.7.2 Descripcin
Decrementa en "1" el valor del contador indicado si hay un flanco
ascendente en el RLO y el valor del contador es mayor que "0". El valor del
contador no se altera si no hay ningn flanco ascendente, ni tampoco en caso
de que el contador tenga ya el valor "0.
7.7.3 Ejemplo

69
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE CONTAJE

Si el estado de seal de E 0.0


cambia de "0" a "1" (flanco
ascendente en el RLO), se carga el
valor predeterminado de "100" en el
contador Z10.
Si el estado de seal de E 0.1
cambia de "0" a "1" (flanco
ascendente en el RLO), se
decrementa en "1" el valor de
contaje del contador Z10, a menos
que el valor de contaje sea igual a
"0". El valor del contador Z10 no se
altera si no hay ningn flanco
ascendente en el RLO.
A 4.0 se conecta si el valor de
contaje equivale a cero. Si el estado
de seal de E 0.2 es "1", el
contador se pone a "0".

70
DIN AUTOMATIZACIN S.A.C.

8. OPERACIONES DE COMPARACIN

8.1 LISTA DE OPERACIONES


8.1.1 Descripcin
Las operaciones comparan las entradas IN1 e IN2 segn los tipos de
comparacin siguientes:
== IN1 es igual a IN2
<> IN1 es diferente a IN2
> IN1 es mayor que IN2
< IN1 es menor que IN2
>= IN1 es mayor o igual a IN2
<= IN1 es menor o igual a IN2
Si la comparacin es verdadera, el RLO de la operacin es "1". El RLO
se combina mediante una Y lgica con el RLO del circuito completo siempre
que el elemento de comparacin est conectado en serie, y mediante una O
lgica si el cuadro est conectado en paralelo.
Se dispone de las operaciones de comparacin siguientes:
CMP ? I Comparar enteros (16 Bit)
CMP ? D Comparar enteros dobles (32 Bit)
CMP ? R Comparar nmeros en coma flotante
8.2 COMPARAR ENTEROS
8.2.1 Smbolo

OPERACIONES DE COMPARACIN

8.2.2 Descripcin
CMP ? I (Comparar enteros) puede utilizarse como un contacto normal.
El cuadro puede colocarse en las mismas posiciones que puede tomar un
contacto normal. Las entradas IN1 y IN2 son comparadas atendiendo al criterio
de comparacin que se haya seleccionado.
Si la comparacin es verdadera, el RLO de la operacin es "1". El RLO
se combina mediante una Y lgica con el RLO del circuito completo siempre
que el elemento de comparacin est conectado en serie, y mediante una O
lgica si el cuadro est conectado en paralelo.
8.2.3 Palabra de estado

8.2.4 Palabra de estado


La salida A 4.0 se activa si E 0.0 Y
E 0.1 son 1 Y si MW0 >= MW2.

8.3 COMPARAR ENTEROS DOBLES


8.3.1 Smbolo

72
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE COMPARACIN

8.3.2 Descripcin
CMP ? D (Comparar enteros dobles ) puede utilizarse como un contacto
normal. El cuadro puede colocarse en las mismas posiciones que puede tener
un contacto normal. Las entradas IN1 y IN2 son comparadas atendiendo al
criterio de comparacin que se haya seleccionado.
Si la comparacin es verdadera, el RLO de la operacin es "1". El RLO
se combina mediante una Y lgica con el RLO de un circuito siempre que el
elemento de comparacin est conectado en serie, y mediante una O lgica si
el cuadro est conectado en paralelo.
8.3.3 Palabra de estado

8.3.4 Ejemplo
La salida A 4.0 se activa si E 0.0 Y
E 0.1 tienen el estado de seal 1 Y
si MD0 >= MD4 Y si E 0.2 tiene el
estado de seal 1.

8.4 COMPARAR NMEROS DE COMA FLOTANTE


8.4.1 Smbolo

73
DIN AUTOMATIZACIN S.A.C.

OPERACIONES DE COMPARACIN

8.4.2 Descripcin
CMP ? R (Comparar nmeros en coma flotante) puede utilizarse como
un contacto normal. El cuadro puede colocarse en las mismas posiciones que
puede tomar un contacto normal. Las entradas IN1 y IN2 son comparadas
atendiendo al criterio de comparacin que se haya seleccionado.
Si la comparacin es verdadera, el RLO de la operacin es "1". El RLO
se combina mediante una Y lgica con el RLO del circuito completo siempre
que el elemento de comparacin est conectado en serie, y mediante una O
lgica si el cuadro est conectado en paralelo.
8.4.3 Palabra de estado

8.4.4 Ejemplo
La salida A 4.0 se activa si E 0.0 Y
E 0.1 son 1 Y si MD0 >= MD4 Y si E
0.2 es 1.

74
DIN AUTOMATIZACIN S.A.C.

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