Académique Documents
Professionnel Documents
Culture Documents
* ite t t H x j R j l I *z l * !
( T abla de va ria b le s 1 O N L IN E ] - jn jx j
F lg . 94
154
www.FreeLibros.me
153 of 305.
TEORA
EJEMPLO DE PROGRAMACIN ESTRUCTURADA. PROGRAMACIN FC
Hasta ahora hemos programado todos los ejemplos en el OBI. A partir de ahora
vamos a generar funciones y hacer el programa en estas funciones en lugar de en
el OBI. Aqu encontraremos todo el potencial del STEP 7. El OBI es un bloque de
organizacin y as lo deberemos utilizar. Para organizar los dems bloques. Para
desarrollar un proyecto en STEP 7, normalmente deberemos programar las dis
tintas funcionalidades en diferentes FC o FB. Despus desde el OBI indicaremos
bajo que condiciones tienen que ejecutarse y haremos las llamadas correspon
dientes. Es decir organizaremos desde el OBI el resto de programa.
Veamos un ejemplo muy sencillo de cmo creamos las FC, cmo las programa
mos y cmo podemos llamarlas desde el OBI.
Vamos a generar dos funciones. Para ello en el mismo proyecto que tenamos
abierto para los ejercicios de los DB, nos creamos una nueva carpeta de progra
ma que se llame "Funciones".
En la carpeta de programa tendremos el OBI que viene por defecto. Nosotros
vamos a crear dos FC. Dentro de ellas haremos un pequeo programa y desde el
OBI diremos cuando queremos que se ejecute.
Para crear las funciones, junto al OBI pulsamos con el botn derecho del ratn y
seleccionamos "Insertar nuevo objeto -> Funcin".
Imprimir
F ig . 95
155
www.FreeLibros.me
154 of 305.
Una vez le decimos que queremos crear una funcin, nos sale un dilogo similar
Recuerda al que rellenamos al entrar la primera vez en el OBI.
Normalmente
P ro p ie d a d e s - Funcin
*J
la funcionali General 1! parte j General 2* parte | Llamadas | Atributos |
d ad de los pro
Nombre:
gramas hechos
en Step 7 Nombre simblico:
se program a
en FC y en Comentario del smbolo:
FB. El bloque
Lenguaje:
OBI se utilizar
para ejecutar Ruta del proyecto:
estas funciones
en el orden y Ubicacin del proyecto: |C:\Ptogram Files\Siemens\Step7\s7proj\Capitulo
la secuencia Cdigo Interface
correctos.
Fecha de creacin: 2 1 /0 5 /2 0 0 8 15:12:06
ltima modificacin: 2 1 /0 5 /2 0 0 8 15:12:06 2 1 /0 5 /2 0 0 8 15:12:06
Comentario:
F ig . 96
Aqu tenemos que decir la FC que queremos generar. Podemos crear desde la FC
0, hasta el mximo de funciones permitida por la CPU.
U E 1.0
A 4.0
156
www.FreeLibros.me
155 of 305.
SOLUCIN AWL
Desde el OBI
se hacen las OBI
llamadas a
U E 0.0
las funciones
program a CC FC 1 //Llamada condicional.
das de forma
condicional o UC FC 2 //Llamada incondicional.
incondicional.
Lo que conseguimos con este programa es que mientras no est activa la E0.0, el
PLC no leer la FC1. Con lo cual no funcionar lo que tengamos all dentro progra
mado. En cambio la FC2 funcionar siempre.
Vamos a transferir este OBI al PLC y vamos a analizar algunas cosas. Mientras no
est activa la EO.O no funcionar la FC1. Quiere decir que si activamos la E1.0 no
pasar nada.
Ahora vamos a activar la EO.O. Con lo cual ya funciona la FC1. Si tambin activa
mos la E1.0, se encender la A4.0. Si en esta situacin quitamos la EO.O, la A4.0
quedar encendida. Aunque quitemos la E1.0 seguir encendida. El que no fun
cione una FC no implica que desactive sus salidas. Simplemente el PLC no est
leyendo aquel trozo de programa. Si las salidas o variables que acta esta FC esta
ban activas cuando dej de funcionar, pues as se quedarn hasta que volvamos
a activar la EO.O y vuelva a funcionar.
=da
OBI : "Rain Progrok Suoap (C y c l* )"
Nuevo segmento I
[c o k a n ta rlo "
S Optaciones logias con b*s
v Comparacin
Sm qn 1 : T itu lo :
S Conversin
Cont*
> oej Llamada 06
$ SoRo
ti} Nmeros en como filo
1 0 .0
ij Nmeros en como flotante PCI
S) - I Transferencia
Control de) programa
J Desplazamiento/Rotacin
>: 'j r j Bits de estado
T itu lo :
ffl 1 Temporcaon
EB Operaciones lg<as con pak Cokntrlo:
CJ Bloques FB
- BoquesFC
OFC1
O FC2
Q ) Bloques SFB
CJ Bloques SFC
J f Mutanstancias
9 Ubreras
Fig. 97
157
www.FreeLibros.me
156 of 305.
SRW 1
T AW 4
FC 2: Desplazamiento a izquierdas
L AW 4
SLW 1
T AW 4
Ya tenemos dos funciones que desplazan bits. Ahora desde el OBI tendremos
que llamarlas cuando corresponda. Veamos como quedara la programacin en
AWLdel OBI.
OBI
u E 0.0 //Cuando le demos a la entrada 0.0
s A 4.0 //Encenderemos la salida 4.0
160
www.FreeLibros.me
157 of 305.
-J x |
"Main F ro g ra a Soeep (C y c l e )*
Nuevo segmento Coaentario:
Operaciones lgfcas con bits
Comparacin
Conversin Segr X: T tu lo :
Contaje
Llamada D6
Salto
Nmeros en coma fija
Nmeros en coma flotante
Transferencia
Control del programa
Desplazamiento/Rotacin
O SHRJ
O SHR.DI
0 SH_W
0 St_W
0 SH._DW
0 SHRJJW
0 ROL_DW
0 ROR.OW
F ig . 1 0 0
161
www.FreeLibros.me
158 of 305.
DEFINICIN Y SOLUCIN
TEORA PREVIA: Desplazamiento y rotacin de bits. Programacin estructurada.
Tenemos una planta de embotellado distribuida de la siguiente manera:
r t i
_ u u u
0
F ig . 101
Vemos que en la lnea tenemos tres mquinas. Una taponadora, una lacadora y
una selladora.
Queremos que cuando las botellas lleguen debajo de las mquinas, stas se pon
gan en marcha, pero si llega un hueco no queremos que las mquinas acten.
Las botellas pasan de posicin a posicin cada segundo. Con la clula fotoelc
trica que tenemos detectamos cuando pasa una botella o cuando pasa un hueco
unas cuantas posiciones antes de las mquinas. Con los datos de una sola fotoc
lula actuaremos las tres mquinas.
Vamos a resolver el problema utilizando la programacin estructurada. Aqu ve
remos bien para que nos puede servir separar las cosas en FC. Vamos a crear 4
funciones y un OBI para llamarlas.
En cada FC vamos a programar una de las operaciones que necesitamos realizar.
Despus desde el OBI diremos cuando necesitamos realizar cada una de la ope
raciones.
En la primera FC vamos a hacer un generador de pulsos de un segundo para po
der mover las botellas.
FC 1: Generador de pulsos
UN M 0.0
L S5T#1S
SE T 1
U T 1
= M 0.0
162
www.FreeLibros.me
159 of 305.
10.7 10.6 10.4 10.3 10.2 10.1 10.0 | 10.7 10.6 10.S 10.4 | 10.3 | 10.2 10.1 10.0
MW 10
La fotoclula la tenemos en la posicin del bit M 10.5. Las mquinas se encuentran
en las posiciones de los bits M i l . 6, M i l . 4 y M i l . 3.
FC 2: Poner botellas (b it a 1)
U E 0.0
S M 10.5
En principio ponemos una marca a 1 con un SET. No queremos que este 1 se vaya
porque la fotoclula parpadee o se mueva la botella. Ponem207 word autoraos un
uno fijo, y despus otra FC ya mover este bit a la siguiente posicin.
En otra FC vamos a programar el desplazamiento de los bits.
FC 3: Desplazamiento a derechas
L MW 10
SLW 1
T MW 10
En otra FC vamos a hacer la activacin de las mquinas cuando lleguen las botellas
debajo de ellas.
FC 4: Activacin de mquinas
U M 11.6
= A 4.0
u M 11.4
= A 4.1
u M 11.3
s A 4.2
163
www.FreeLibros.me
160 of 305.
OB 1: Bloque de organizacin
UC FC 1 //Siempre estamos generando pulsos
Imaginemos que ahora enviamos todo esto al PLC y no funciona bien. Hay una
mquina que no se activa. Entonces slo tendremos que comprobar la FC4. Sa
bemos que el resto del programa est bien. Es mucho ms sencillo de localizar
errores en la programacin estructurada.
Ejercicio propuesto, resolver este ejercicio en KOP y en FUP con las instrucciones
que hemos visto en ejercicios anteriores.
TEORA
LLAMADAS A LAS FC CON PARMETROS. OPERACIONES ARITMTICAS
Cuando programamos una FC tenemos que llamarla desde algn sitio para que
se ejecute. Ya hemos visto como crear una FC sin parmetros y hemos visto dos
instrucciones para llamarlas. En este ejercicio vamos a ver que tambin podemos
crear FC con parmetros y las instrucciones de llamada sern diferentes.
A continuacin vamos a hacer una FC que sume 2 + 3, y otra FC que sume dos
variables A + B.
Cuando estamos sumando 2 + 3, estamos haciendo una FC sin parmetros. Siem
pre suma lo mismo y el resultado siempre ser 5.
Como ya hemos visto, para llamar a esta FC podemos utilizar dos instrucciones:
UC FC 1 Llamada incondicional.
CC FC 1 Llamada condicional.
164
www.FreeLibros.me
161 of 305.
I
g#|2-IH| al ilitelfel I-
I ttlAlF Sj ||
| I
| n [g ~;|-
n-l
-if
l-o
l lul-l-l ?|
C o n te n id o d
: '
IntornoMnttrmc\TIH P'
N or jr e jTipode datosDireccin Coint*rio
o- IN a
t> OUT
t INO UT
TEHP
g
:O- R ETUPN
FC1 :Titulo:
C o m e n ta rio :
F ig . 102
F ig . 1 0 3
A las variables no las podemos llamar A y B porque A son las salidas del autmata.
No podemos utilizar simbologa reservada por el sistema. Por eso hemos llamado
a las variables VALOR_A y VALOR_B.
Lo mismo tenemos que hacer con la variable de salida que llamaremos SUMA.
Con estas variables definidas en la tabla, podemos hacer programar la funcin de
la siguiente manera:
L VALOR_A
L VALOR_B
+1
T SUMA
165
www.FreeLibros.me
162 of 305.
Como vemos, el PLC siempre trabaja con el Acu 1. Siempre que carguemos algo
va al acumulador 1. Cuando transferimos algo (instruccin T) siempre es lo que
tiene en el acu 1. Al acumulador 2 no podemos acceder directamente. Lo utiliza
la CPU para hacer operaciones internamente.
166
www.FreeLibros.me