Professional Documents
Culture Documents
Ejercicio Prctico I
Para la asimilacin de los conceptos anteriores se propone el siguiente caso prctico:
1) Abra un proyecto nuevo con el Simatic Manager y cree la funcin FC1 (que ser
invocada desde el bloque de organizacin principal OB1).
2) Abra la ventana de edicin del bloque FC1 (haciendo doble-click sobre su icono
en la parte de la derecha de la ventana principal) y preste atencin a la parte superior de
la zona de escritura donde aparecen dos subventanas con la informacin actual relativa a
la interfaz del bloque (ver Figura 1).
1
Prctica 4
Automatizacin Industrial (10/11)
U #Param_Entrada
= #Param Salida
6) Guarde el bloque (atajo CTRL+S) y cierre la ventana de edicin. Edite ahora el
bloque de organizacin principal OB1 y llame al bloque parametrizado FC1. Para ello
escriba la siguiente instruccin en ensamblador:
CALL FC1
Aparecer en pantalla los dos parmetros definidos previamente que ahora deben recibir
un identificador del mismo tipo correspondiente a una zona de memoria de usuario
(direccionada con M, A, E etc.). El color rojo en el editor indica la necesidad de realizar
la asociacin. Asigne al parmetro de entrada la variable E 124.0 y al de salida la
variable A 124.0. Si todo se ha realizado correctamente aparecer la ventana de edicin
de OB1 como sigue:
2
Prctica 4
Automatizacin Industrial (10/11)
Observe que este resultado se podra tambin haber obtenido escribiendo directamente
la relacin combinacional entre variables en el bloque OB1. Como se ha explicado con
anterioridad, la ventaja de usar parmetros en bloques es la que otorgan las funciones en
un lenguaje de alto nivel. El bloque FC1 as definido establece una relacin entre
entradas-salidas para cualquier valor de las mismas. FC1 podra ser igualmente
llamado para realizar una asociacin entre otras dos variables cualesquiera mientras que,
si no se dispusiera de dicho bloque, habra que reescribir cada vez el cdigo de la
funcin.
Ejercicio Prctico 2
Para completar la exposicin acerca de las ventajas del uso de bloques se describe un
ejemplo sencillo con bloques de funcin (FB) en combinacin con bloques de datos de
instancia. Supongamos que tenemos una luminaria (Salida A 124.0) que hay que
encender al apretar un pulsador (Entrada E 124.0). Dependiendo del modo (E 124.6, E
124.7) la luminaria se encender con un retardo de 2 o 4 segundos.
La forma ms adecuada de programar este sistema, haciendo uso de las funcionalidades
de STEP 7 es la siguiente:
1) Cree un proyecto nuevo y defina los bloques OB1 y FB1.
2) En la ventana de edicin de FB1 modifique el interfaz aadiendo los parmetros
de entrada (IN) tiempo (tipo STIME) e interruptor (tipo BOOL) y aada el cdigo de
disparo de la luz tal y como aparece en la figura:
3
Prctica 4
Automatizacin Industrial (10/11)
Figura 4. Parmetros de interfaz y cdigo para el control de una luminaria con retardo a la conexin
4
Prctica 4
Automatizacin Industrial (10/11)
A diferencia del ejercicio anterior, la instruccin CALL est completa (no aparecen los
parmetros en rojo) y compila. Si no se rellenan los parmetros, al ejecutarse el bloque
FB1 tomar como buenos los valores actuales del bloque de datos asociado (que por
defecto coinciden con los iniciales). En este caso, como se ha modificado el valor del
temporizador, se tomar el valor actual de 2 segundos como vlido. Complete el
parmetro interruptor con la variable E 124.0. Guarde los datos.
6) La primera invocacin al bloque FB1 hace las veces del primer modo de
funcionamiento de la luminaria (retardo de dos segundos). Para crear la segunda es
necesario una nueva invocacin y modificar ligeramente el bloque OB1. Cambie el
cdigo del bloque para que sea exactamente el de la figura siguiente:
Figura 7. Bloque principal que gestiona dos modos de funcionamiento de una luminara
5
Prctica 4
Automatizacin Industrial (10/11)
Figura 8. Apertura de un bloque de datos desde la ventana de edicin del
bloque de funcin al que est asociado
Ejercicio prctico 3
Se pretende emplear un autmata de la familia Siemens S7-300 para controlar dos
tramos de escaleras mecnicas que aparecen en la Figura 10. Ambos tramos de escaleras
estn accionados por los motores 1 y 2 respectivamente. El panel de mando consta de
un pulsador de conexin (ON), un pulsador de desconexin (OFF) y un interruptor de
emergencia (EMER).
6
Prctica 4
Automatizacin Industrial (10/11)
La activacin del interruptor de emergencia (EMER) detiene toda accin. Resuelta
emergencia por parte del operario, el desenclavamiento del interruptor de emergencia
provoca la subida de la barrera y la vuelta al reposo.
Panel de mando
Seal luminaria
SB2
Motor 1
BARRERA L_TIME
CARACTERSTICAS ADICIONALES
Dado que este hecho puede ser debido a un comportamiento incorrecto por parte de
algn usuario, la luz sirve como aviso al operario, pero el automatismo continuar con
su comportamiento normal. Sin embargo, el autmata almacenar esta circunstancia en
un bit de error (e.g. M 200.0) perteneciente al byte MB 200 que codifica 8 posibles
errores de tipo general.
1 Estructura de bloques
Para realizar la prctica con xito ser necesario realizar al menos la siguiente
estructuracin del cdigo:
Bloque de arranque general OB100
Bloque de ciclo principal OB1
Bloques relativo a los tramos de escaleras FC1 y FC2 (Tramos 1 y 2): Cada
uno de los bloques debe parametrizarse de la siguiente manera:
7
Prctica 4
Automatizacin Industrial (10/11)
o Parmetros IN: El sensor relativo a cada tramo (SE1 para FC1 y SE2
para FC2) y el tiempo que tarda cada tramo en desactivarse (en este caso
son 50 segundos para cada tramo) y el pulsador de OFF.
o Parmetros OUT: El actuador del motor del tramo de escalera (FC1-
motor 1 y FC2-motor 2).
Bloque relativo a la emergencia FC3
Byte de error MB 200
La invocacin de los bloques FC1 y FC2 debe producirse tras la espera de seguridad de
5 segundos una vez bajada la barrera, y debe condicionarse a ello. La figura 11 muestra
en la parte superior la declaracin de parmetros del bloque FC1 y en la parte inferior
una posible invocacin. En dicha invocacin se asocian las variables que representan la
informacin pasada y recibida desde el bloque con los parmetros del mismo. As por
ejemplo, la variable salida A1.0 en la figura es el actuador del motor mientras que
A_Motor es el parmetro que representa dicha informacin dentro del bloque. El
mismo tipo de razonamiento puede hacerse para el resto de parmetros.
Por otro lado, la instruccin SPBN _001 es un salto condicionado dentro del bloque a la
etiqueta _001 siempre que el valor del RLO en ese momento sea 0. En el ejemplo se
ejecutar la llamada a FC1 siempre que EtapaFuncMotor1 sea verdadero y se
invocar a FC1 en caso contrario. Ntese que es necesario el empleo de la instruccin
CALL para la invocacin del bloque ya que ste tiene parmetros. La invocacin
condicionada CC solo puede emplearse en bloques sin parmetros.
Como estrategia general de programacin, cada bit a nivel alto de cualquier byte de
error indica que se ha producido un mal funcionamiento de algn elemento del sistema.
Ms concretamente, la lectura de los bits de error durante una parada de emergencia
ofrecen un mapa del comportamiento del sistema (esto es, errores que se han acumulado
durante la ejecucin del ciclo principal) y ayudan a identificar las partes del sistema en
mal funcionamiento. Para facilitar la depuracin y el mantenimiento del cdigo, es muy
importante que la activacin de los bits de error se produzca en el/los bloque/s relativo/s
a la parte del cdigo relativa al subsistema al que hacen referencia.
En el caso que nos ocupa, solo existe un bit de error relativo al mal funcionamiento (o
mal uso por parte de los usuarios) del tramo 1 de la escalera. Se asume por diseo que
tras la reanudacin se ha corregido la anomala maunalmente y, por tanto, se debe poner
a nivel bajo dicho bit.
8
Prctica 4
Automatizacin Industrial (10/11)
Figura 11. Ejemplo de definicin de parmetros e invocacin del bloque FC1 que controla el
movimiento del primer tramo de escalera.
2 Modelado Grafcet
Para un correcto modelado de este sistema es muy importante que el alumno considere
cada tramo de la escalera como una entidad distinta, ambos tramos funcionando en
paralelo. Es sta la verdadera estructura de control subyacente y no debe prestarse
atencin al hecho de que un usuario no puede alcanzar el tramo segundo de la escalera
sin pasar por el primero, lo que constituye una relacin coyuntural pero irrelevante
desde el punto de vista de control. La realidad es que cada tramo tiene su sensor y el
control de cada tramo depende exclusivamente de esa informacin.
Especial cuidado debe prestarse al modelado de la finalizacin del ciclo (mando OFF).
Obsrvese que el ciclo no termina directamente tras la activacin del pulsador, sino que
todos los usuarios presentes en las escaleras mecnicas en ese momento deben poder
alcanzar la plataforma superior antes de que se paren definitivamente los motores. Esto
implica que, una vez activado OFF, las escaleras deben continuar su comportamiento
normal hasta que ambos motores estn parados como consecuencia de su ciclo normal
de trabajo.
9
Prctica 4
Automatizacin Industrial (10/11)
b. Documentacin: Ser imprescindible emplear una tabla de smbolos
apropiada y utilizar abundantes comentarios (obligatorio para todos los
programas a realizar durante el curso.
c. Simulacin en el ordenador en el momento de la entrega de la versin
definitiva, supervisada por el profesor de prcticas.
d. Ejecucin en el autmata: El alumno, mediante el interruptor
correspondiente, har el efecto de llegada de personas a los tramos de las
escaleras.
10