Está en la página 1de 25

Unidad 3 - Programación con temporiiadores IEC

En él aparece el campo Nombre, en el que se asigna un nombre simbólico al DB


asociado al temporizador. Podemos dejar el que viene por defecto o bien
modificarlo.

También nos ofrece otras dos opciones:

• Manual: podemos elegir el número del DB asociado.


• Automático: asigna un número de DB libre de forma automática

En este caso modificamos el nombre, escribiendo DB_ TON_Ol, y de forma manual


le asignamos el DBlO como DB asociado a este temporizador:

-·-
.......
·-·
~,,,-:-~~~~...,....,

-·-
---
9 ........~ 0-
ti...._ ....... ,................Ulli . . . . . . . . . . 11-... * ""'*' 11•1• ..1•• M . . . . .,.,. .......
·--ll••-.iw·~ • • - ., IJu..,ut "''f""L

-
Fig. 3.5 Fig. 3.6

Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de


programa > Bloques de sistema> Recursos de programa del árbol del proyecto.

·--
· ...
.;; -
ll'-•.-

· -=~....-
··-·-
Fig. 3.7

Ejemplo:

Mediante un sistema de paro-marcha queremos activar el piloto verde (Q2.2) y


también un temporizador que, una vez transcurridos 10 segundos después de
haber activado el pulsador de marcha conectado en la entrada 10.2, han~ que se
conecte el piloto azul (02.3). Si en cualquier momento accionamos el pulsador de
paro, conectado a la entrada 10.1, el piloto verde y el temporizador dejarán de
funcionar y se reseteará el valor de temporización En todo momento se deberá
visualizar en el registro MDlOO el último valor de temporización:

94
Unidad 3 - Programación con temporizadores IEC

Al igual que el temporizador TON, a este TOF también se le debe asignar un


bloque de datos DB en el que se guardan los datos de la instrucción. La
declaración de este tipo de temporizador se realiza igual que se hizo con el
temporizador TON.

En este caso modificamos el nombre, escribiendo DB_TOF _01, y de forma manual


le asignamos el DB2 como DB asociado a este temporizador:

-··
f.l-... • "'°*'......,. .-... - ..
... . . . . ....-.c .........
,,. - ~

....

Fig. 3.14
Al crear el bloque de datos, y de igual forma que
ocurría en el temporizador tipo TON, lo podemos
encont rar en la carpeta Bloques de programa >
Bloques de sistema > Recursos de programa del
. _...
_.,
. ,._..,..,..._
árbol del proyecto.
,,__._ ~

• . . . ~ ..1Kf1U l t1<~

..
..•"""'·~·
. . . ........
-...n ........ ...
-am·I
~

•.e ·-
......... '°''"'
---r«
:a.,......... vl'«I

fig. 3.15

Ejemplo:

Al accionar cualquiera de los dos pulsadores conectados a las entradas de marcha


(10.2) y ACK (13.1), se pondrá en funcionamiento el piloto verde (Q2.2), que dejará
de funcionar una vez t ranscurridos 10 segundos después de que ninguno de los
dos pulsadores esté accionado.

Si en cualquier momento volvemos a accionar cualquiera de los dos pulsadores, el


tiempo se reiniciará.

Al finalizar el tiempo, aparte de desconectarse el piloto verde, el tiempo actual se


mantendrá en los 10 segundos hasta una nueva activación de los pulsadores.

En todo momento se deberá visualizar en el registro MDlOO el último valor de


temporización.

97
Unidad 3 - Programación con temporizadores IEC

Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de


programa > Bloques de sistema > Recursos de programa del árbol del proyecto.

~- ___.............._
. . ~"''-"°""·-«~
!!f ...... _ .. _ _

·11t•1e.-n••Pf09'.. •
. ... ~11
. ..._l<M ...,
• ,_r........,_.. fP["11

.• .......
l.'""''°"...'·.,,
. ...... fl'C.Jt
• ,_,,....,....,__ .,arc11
,

Fig. 3.21
Ejemplo:

Mediante un sistema de pulsadores conectados a las entradas de marcha (10.2) y


AO< (13.1), debemos conectar el piloto verde (Q2.2) durante un tiempo de 10
segundos justo después de haber pulsado cualquiera de los pulsadores.

Si en cualquier momento volvemos a accionar alguno de los dos pulsadores, el


tiempo no se reiniciará.

Al finalizar el tiempo, aparte de desconectarse el piloto verde, el tiempo actual se


reseteará y se colocará a O segundos hasta una nueva activación de los
pulsadores.

En todo momento se deberá visualizar en el registro MDlOO el último valor de


temporización.

1)1
•tt1_VEADE"

>--
n- '.,,.
""º'ºº
"'P"ft•u•r

Flg. 3.22a

Fig. 3.22b

También podemos utilizar los parámetros del temporizador, tanto de entrada


como de salida, en diferentes segmentos del programa:

100
Unidad 3 - Programación con temporizadores IEC

Ejemplo:

Mediante un sistema de paro-marcha queremos activar el piloto verde (Q2.2) y


también un temporizador que, una vez transcurridos 10 segundos después de
haber activado el pulsador de marcha conectado en la entrada 10.2, hará que se
conecte el piloto azul (Q23). Si en cualquier momento accionamos el pulsador de
paro, conectado a la entrada 10.1, el piloto verde y el temporizador dejarán de
funcionar y se memorizará el valor de temporización. Para poder resetear tanto el
valor actual de temporización como desactivar la salida Q, se deberá activar el
pulsador ACK (13.1). En todo momento se deberá visualizar en e1 registro MDlOO
el último valor de temporización:

.,.,. "«12
"S 1.J'AAO" "S2. M'llCH>'

G% "!084
"OB. 'IONl\..01'
10NR
,.,,..

o ----(
"'IQU
'H2flUL"

>-----
'WOIOO
(1 "11°"'PO.Jl(tu4r

Fig. 3.28

También podemos utilizar los parámetros del temporizador, tanto de entrada


como de salida, en diferentes segmentos del programa:

Movt
i-------u• -
" 08.11lNR_01' rJ t< 'IMD 00

Fig. 3.29b

F
'IQ2)
·oe_lONRt- · o_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _-<
_o_•_ ":fl~
Fig. 3.29c

P
4,l.1
~~ 't084
~ "DB. lOtlR. 01"
1-------------- ----- --{ "}---- Fig. 3.29d

3.3 Generadores de impulsos


Dentro de Configuración de dispositivos de nuestro proyecto, en el que nos
aparece la CPU, si observamos dentro de Propiedades, en la pestaña General, y

103
Unidad 3 - Programación con temporizadores IEC

dentro del apartado Marcas de sistema y de cido, vemos que aparecen


desactivadas las opciones Activar la utilízación de bytes de sistema y Activar la
utiización del byte de marcas decido. Para poderlas activar solo hay que activar la
selección correspondiente, en este caso Activar la utHizacíón de bytes de sistema y
escribir el número del byte de marcas que deseemos utilizar para esta función, en
este caso MB8191, que corresponde con el último byte del área de marcas del S7-
1200, para el caso del S7-1SOO sería el MB16383, aunque podría ser cualquier otro.

Re cuerda• • •
En lo configuración de
lo CPU se puede
oc livor un byte de
marcos poro poder
tener ocho
generadores de
impursos con
frecuencíos díferentes.
Fig. 3.30

Se muestra el listado donde se relaciona el bi t del byte de marcas seleccionado


(MB8191) con la frecuencia de funcionamiento que tiene asignada cada bit

Las marcas de cido se utilizan en el programa de usuario, por ejemplo, para


controlar indicadores luminosos con una luz intermitente o lanzar procesos
periódicos, como la adquisición de un valor real.

En el siguiente ejemplo se muestra una aplicación en la que en el momento en el


que se dispare el disyuntor magneto t érmico del motor de transporte de las
piezas (12.7), el piloto amarillo de la baliza (02.1) se pondrá a funcionar de forma
intermitente a una frecuencia de 1 Hz.

~~OH ~ l'llZl\S•

1------i
Fig. 3.31

3.4 Preselección directa e indirecta de temporizadores


Se pueden programar los diferentes temporizadores, de forma que el tiempo sea
Recuerda • • • del tipo:
Lo preselección
• Constante o direccionamiento directo.
directo o constante del
volar de temporizocíón • Variable o direccionamiento indirecto.
se baso en asignar un
valor fiJO en formato 3.4.1 Valor d e temporización con stante o direccion amiento dir ecto
ccTime» en lo enlrodo
11PT>1. Se programará un valor constante cuando no sea necesaria la modificación del
mismo una vez ajustado para la aplicación que debe realizar.

En este caso, en el parámetro PT, en los temporizadores IEC, introducimos un


valor constante en formato nme, como es T#lOs:

104
Unidad 3 - Programación con temporizadores IEC.

Flg. 3.32

3.4.2 Valor de temporización variable o direccionamiento ind irecto

Se programará un registro cuando sea necesario modificarlo durante el


funcionamiento del proceso en el que se aphca. La modificación del tiempo pasa
por modificar el valor contenido en el registro programado, como por ejemplo
desde una pantalla táctil.

En este caso, en el parámetro PT, en los temporiZadores 1EC, introducimos un


Recuerda• • • registro que deberá contener un valor en formato Time:
Lo preselecci6n
'fDBl
indirecto del volar do ·os_10N_o1 •
temporización se boso ION
fim..
en asignar un registro
en forma to doble
palabro en lo entrado 'IMDllD
"Va!at
11PTu que deberó ,_. ,e~UIO'\--;
contener el volor del flg. 3.33a
tiempo en lormolo
11Tíme» En el momento de realizar la
comprobación del funoona-
m1ento, podemos modificar el
Valor de preselecdón del
registro MDllO de diferentes
·- ...
formas: mecfiante una tabla de
observación o, lo que es más
rápido, seleccionando en el
registro del parámetro de
entrada PT el temporizador y a
continuación pulsando el botón Fl1. 3.33b
secundario del ratón y
seleccionando la opción Forzar - Forzar operando. Aparecerá la siguiente ventana
para poder introd ucir el nuevo valor de forzado:

fou~t X
Recuerda • • •
Con b vlsuolizoclón
online del programo.
podemos modilk:or el
valor del registro
Fig. 3.33c
mediante lo apción
"Forzar ? Fooor En el campo Valor de forzado podemos introducir el nuevo valor que tomará el
eperondo". registro MDllO.

E1emplo:

Se desea rear.zar un programa en el que, al accionar el pulsador de marcha (10.2) y


dependiendo de la combinación binaria del estado de los dos disyuntores

105
Unidad 3 - Programación con temporizadores IEC

magneto térmicos Ml (12.7) y M2 (13.0). el valor del temporizador será diferente


(por ejemplo, 5, 10, 15 o 20 segundos) y que, cuando haya pasado el tiempo
establecido, se active el piloto rojo (Q2.4) de la baliza.

Podemos optar por dos soluciones y ut ilizar la preselección directa o indirecta del
temporizador.

• Di reccionamiento directo

Para este caso tenemos la necesidad de utilizar cuatro bloques de datos (0810,
0811, 0812 y 0813) asociados a los cuatro temporizadores, ya que si se utiliza el
mismo bloque de datos para todos los temporizadores, los parámet ros de entrada
y salida de cada temporizador quedarán solapados y el programa funcionará de
forma incorrecta:

.,2, 'IWJJ)
'11>810
·oe_1°"i_oo·
•f1_ ·n_
;,io.2
'Sl_MNIQIA•
l'flOT(CCIOH
MOTOR PEZ.os·
l'flOltCOON
MOTOll P..UW ,....
IOH

1 V'1 V! ..,,_,,IH o
"""'ºº
"\/olofj<luol.
11 - ''"'
Fig. 3.34a

..n ..,J.D
•f1_ ·12
'k>TECCIOH l'!l()T(CCIOH
'SJ.MN!(W.• MOIOll PEZl\l" MOIOllP.tUT'

1 V!
___kW_
'IM>1DD

T U- Fig. 3 .34b
"
"'1811
..,,_
'll0.1 ..,l.O
"12_ 'Oll.'"'-ºr
'k>Tt<CION
MOTOll l'IUl6•
PllOTlCCJON
MOTOll P.tUfS• ,.,,.
TON
·sz.~·

V'1 ,. .,
•- 1'1 .__,......,_
ll

Fig. 3.34c
u- ''"'
W.\1111
"tU.T ... 1.0
"08. TOt•.JW
'fl "F2..
40.l PAOTKCIOH l'MOl{CCJON
'S2. MHCHA• MOTOll PEZID MOIOll PK!TS"

l•lOi - Pr -...-i100

n ,,...
"""""·"""•L Flg. 3.34d

'IOe OJ>UlL.
·oe.10N.OO- o

- i • A 1
Dl.10N.01 Q

ot_10.._0J'.O
Fig. 3.34e

106
Unidad 3 - Programación con temporizadores IEC

• Direccionamiento indirecto

En esta otra solución tan solo utilizamos un bloque de datos DBlO asociado al

ID

',,.s..c:don_
""""'-
lM Fig. 3.35d
o 01/Tl

~ID
º08_ TON_00"
lON
r..,,.
1--~~rN Q ~~~~~~~~~~~~~

-ot10 'IMOIOO
"'\lalor_ •vt'lor Acw. l
11M' - -
Pre H .. CC'º"- (1
Fig. 3.35e
1M -~
l'l
~---

3.5 Varios temporizadores en un único 08 de instancia


Hemos visto cómo en el momento de incorporar un temporizador al programa se
nos solicita un DB de instancia asociado en el que guardará el estado de cada uno
de los parámetros. Pues bien, hay una diferencia entre sí el temporizador lo
programamos en un OB o una FC , o si lo programamos en un FB.

107
Unidad 3 - Programación con temporizadores IEC

3.5.1 Temporizador programado en un bloque de organización (OB)


o en una función (FC)

Al insertar un temporizador IEC en el editor de diagrama de contactos, se solicita


que este se asocie a un bloque de datos DB. En este caso el 0810:

~.J
'53_5HfC1QR
AU'IOM.\N"
i----IN Q-- - - - - - - - - - - - {
Fig. 3.36

Este bloque de datos DB tan solo podrá ser de instancia Individual:


Recuerda• • •
Cuando se programo
un temporizador en un
bloque OB o FC. se o.......
debe asignar un DB de 0'-llWI~
·~•tff ........ 11&,_. . . ~ M
instancio poro codo • " - • k NttAIM ro-&
• • • ... _..._,

uno de ellos.
....

Fig. 3.37

Al abrir el DB de instancia se observa la declaración automática de los parámetros


que ese temporizador dispone, y que es la siguiente:

011..fON_OI
. ·~ Wt ..,,_ .,11,11 "WlM 04: .,... CM. enllW'ió

,.,,.
llm•

llmr
aool
lool
·-
::!1 "''
".rOo-J

""'
lalu
q-i
g
o
El
~
~
0
B
~
~
~

~
!ool lu G ~ ~

Fig. 3.38

Si antes de abrir el bloque de datos de .. '· Ol_Temporizodores (Ol\J 1214CACIOCI~


instancia, que se ha guardado en Dt Configurac16n d.: dispo"tivos
nuestro proyecto dentro de la carpeta ~ Onlme ydiagnósuco
Bloques de programa - Bloques de • 'O Bloques dl' pro9ram1
sistema - Recursos de programa, lo f6 Agregar nuey0 bloque
seleccionamos y elegimos la opción del • Mlin(Oell
menú Edición - Propiedades, se abrirá • starwp 1oe1001
una ventana de propiedades de este Bloque' de sis rema
~

Recursos ~ programa
bloque, en la que dentro de la opción
_. DB_10 N_01 (OBIJ _.__ _
Atributos deseleccionaremos el
Ob¡ctos tccnológt<os
atributo Acceso optimizado al bloque
y obtendremos la siguiente vista: Fig. 3.39

108
Unidad 3 - Programación con temporizadores IEC

Fig. 3.40

Ahora, si volvemos a abrir ese mismo bloque de datos, se observa cómo aparece
una nueva columna llamada Offset en la que se muestran las direcciones
absolutas de ca da parámetro dentro del DB:

Ol,.tOlil_Ot
.......... ,_ ___ _,.,. ................. _.....,.. ...........OllCUl!o ............. OJllli...
~ ....,.i._.,,......, ...... ji,99

-O • ....

8
a
13
Fig. 3 .41

En este DB de instancia podemos hacer uso de los parámetros de forma individual


en cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque de
programas diferente, y para ello podemos utilizar tanto las direcciones simbólicas
como las absolutas:
Recu erda • • •
cuando se programo ~
1 ~.,::"17,.m_'_·~----------------------------------·"_', ~~.
>---- fig . 3 .42
un temporizador en un
bloque OB o FC. se
3.S.2 Temporizador programado en un bloque de función (FB)
puede acceder o los
registros del 08 con un bloque de datos multi-instancia
mediante su dirección
absoluto o simbólico. Si un temporizador se programa en un bloque 08 o FC, estamos oblígados a
asignar un DB de instancia para cada temporizador, pero cuando el temporizador
se programa en un bloque de función (F8), tenemos la posibilidad de aplicar el
concepto «multi-instancia», que quiere decir que en un mismo DB, que se
generará al hacer la llamada al FB, se guardará el estado de los parámetros de
cada uno de los tempori zadores de forma independiente.

El concepto de «m ult i-instancia» indica que se generará en la zona de declaración


Recuerda• • •
de parámetros del FB, y dentro de la zona de variables Statlc, tantas variables del
Cuando se programo tipo IEC_TIM ER como temporizadores se programen en ese FB.
un temporizador en un
bloque F8. se puede
eleglr un D8 multi-
instoncio. que permite
-·-
--
w-.
~__...,,,..-~------~

o .....,
Para ello, en el momento de
insertar un bloque temporizador,
aparecerá la siguiente ventana para
incorporar varios
temporizadores en el
mismo 08.
.......... ~

·~-~e-a· ......-
............."'.._......
>';~' poder elegir entre un DB de
Instancia individual, que es como

-..... - se reali za en un 08 o FC, o bien con


un DB Multi-instancia.

Flg. 3.43

109
Unidad 3 - Programación con temporizadores IEC

La llamada programada queda de la siguiente forma :

Fig. 3.47

Ahora, si abrimos el bloque de datos de instancia asociado a este F8, observamos


cómo aparecen todos los parámetros del temporizador o de los temporizadores
declarados:

,.,
CJ
----
DI_,_,
<J

G • ,__
.......... ...
.. .. ..
CI • .. .._..

CJ
4J
CJ . •" ,,_
Id
...
Fig. 3.48

Podemos hacer uso de los parámetros de este 08 de forma Individual en cualquier


lugar del programa, ya sea en ese mismo bloque o en otro bloque del programa
diferente. En ese caso utilizaremos solo la dirección simbólica:

Recuerda• • •
Cuando se programo
un temporizador en un
bloque FB asociado o Así observamos que, para hacer uso de cualquiera de los parámetros, se llama a:
un C6 mulli-instoncio.
ton solo se puede
Nombre simbólico del 08 : "08_F801"
acceder o los regislros
del~ mediante su
Nombre simbólico de la variable declarada : TIM_Ol
dirección simbólico. Nombre simbólico del parámetro del temporizador :Q

Y obtenemos "OB_F801".TIM_Ol.Q.

En este caso no será posible el acceso de forma absoluta a las direcciones, pues
no se puede deseleccionar la opción Acceso optimizado al bloque dentro de las
propiedades del 08.

..
Fig. 3.50

3.5.3 Declaración de varios temporizadores IEC en un m ismo


bloque de datos

Hemos visto cómo en el momento de incorporar un temporizador al programa


nos solicita un 08 de instancia, donde este bloque de datos es configurado por el

111

También podría gustarte