Vous êtes sur la page 1sur 14

Resumen: El artculo describe un mtodo simple para el desarrollo de

programas para controladores PLC . Una especificacin del comportamiento del


programa se define mediante un modelo formal de mquina de estados finitos .
El modelo es formal, sin ambigedades , independiente del lenguaje , pero
legible. El modelo puede ser verificada en contra de los requisitos de
comportamiento y de seguridad . Despus de la fase de especificacin , el
modelo se puede convertir directamente en un programa escrito en la forma de
un diagrama de escalera . Debido a que la implementacin de la grfica es
directa , no es necesario realizar comprobaciones adicionales del programa de
destino.
Palabras clave: controladores lgicos programables , programacin , mquinas
de estados finitos , ingeniera de software , sistemas en tiempo real.
1 . INTRODUCCIN
El objetivo de este trabajo es describir un mtodo sencillo, pero formal para la
programacin de PLC . A diferencia de los mtodos ms avanzadas y complejas
, como Grafcet ( Bossy et al . , 1979 ) o Isagraf , que se basa en la teora de
Petri neto, el mtodo introducido en este rels de papel en una mquina de
estado finito clsica modelo ( FSM ) de la realidad . Una ventaja de este
enfoque es que los modelos FSM son reconocidos por la mayora de las
especificaciones del software y los mtodos de diseo y lenguajes, incluyendo
UML ( Douglass, 1998 ) . Por lo tanto el mtodo descrito puede ser fcilmente
una interfaz con el proceso general de desarrollo de sistemas que comprenden
objetos y basado en PLC basados en computadoras.
El mtodo descrito en este artculo parte de la grfica de transicin de estados
de un FSM , y conduce hacia el programa de destino para un PLC , escrito en el
lenguaje de diagramas de escalera . Debido a que la implementacin de la
grfica es directa , no es necesario realizar comprobaciones adicionales del
programa de destino.
El mtodo consiste en siete fases :
1 . Anlisis de problemas y la especificacin en la forma de un grfico de
transicin de estado .
2 . Codificacin de estados.
3 . Definicin de funciones booleanas para implementar los cambios de estado.
4 . Definicin de las funciones de salida .
5 . Optimizacin de funciones .
6 . Llenando el espacio de estados .

7 . Conversin de las funciones en las lneas del esquema de contactos


objetivo.

La descripcin del mtodo se presentar mediante un estudio de caso de un


controlador de lnea de embotellado . La planta ( Figura 1 ) consiste en un
suministro de botella con una puerta , un sistema de transporte , una
plataforma de la bscula y un tubo de llenado de botellas con una vlvula .
Botellas por cubrir son atrados uno por uno desde el suministro de botellas y
se trasladaron a la plataforma de la bscula de la cinta transportadora. Tan
pronto como la botella est en la posicin requerida , un sensor de contacto
unido a la plataforma es deprimido y se abre la vlvula de la botella de
llenado . La plataforma de la bscula mide el peso de la botella con su
contenido .
Cuando la botella est llena , la vlvula de la botella de llenado se cierra, y la
botella se retira manualmente desde la lnea por un operador . Extraccin de la
botella libera el sensor de contacto , permitiendo as que el siguiente botella
que pueden extraerse de la oferta botella.

Las seales de salida de dos estados de la lnea, que son emitidas por los
sensores de la planta, se pueden enumerar de la siguiente manera:

F: Frasco de la puerta: se ha sacado de la oferta y se desplaza hacia la


plataforma de la bscula
W: botella en posicin: una seal del contacto elctrico del sensor de la
plataforma
P: Botella por completo: una seal emitida por la escala
S: inicio de la lnea: una seal manual para cambiar la lnea de encendido o
apagado.

Las seales de salida describen la operacin de la lnea, y pueden ser utilizados


por un controlador para producir seales de control:

T: comienzo de la cinta transportadora


M: abrir la puerta del suministro de botellas
Z: la apertura de la vlvula de la botella de llenado.

El documento se divide en nueve secciones. Secciones 2 a 8 describen los


detalles de todos los siete fases del mtodo. Las declaraciones relacionadas
con el uso del mtodo y de los planes para el futuro trabajo se discuten en las
Conclusiones.

2 . ANLISIS DE PROBLEMAS Y ESPECIFICACIONES

El comportamiento deseado de la planta controlada puede ser descrito en


trminos de estados y transiciones entre estados. Una transicin desde un
estado dado a otro estado del sistema , es causado por la aparicin de una
seal de entrada , o una combinacin de seales de entrada , y se puede
cambiar el valor de una seal de salida , o un conjunto de seales de salida .

La primera etapa del anlisis consiste en la definicin de los estados del


sistema . Lnea de embotellamiento , que se describe en la introduccin, es
siempre en uno de los siguientes estados:

Detenido - la lnea se ha desconectado ( que puede ser iniciado por la seal


S);
Open Gate - una botella abandona el suministro de botellas , y se espera que
en la cinta transportadora ;
Mover - la botella se transporta por el transportador , y se espera que en la
plataforma de la balanza ;
Llenado de botellas - la botella se coloca en la plataforma de la balanza , y la
vlvula de llenado est abierta ;
Botella llena - la botella est llena, y espera a ser eliminado por un operador.

En el segundo paso se definen todas las transiciones posibles entre los


Estados, y se especifican en la forma de un grfico de transicin de estado
(Figura 2 ) . Los nodos de la grfica son estados del sistema , y los arcos son

transiciones entre los estados . Una transicin est marcado por dos
expresiones : Una combinacin de las seales de entrada que permite la
transicin ( la expresin escrita encima de un bar ) y una combinacin de las
seales de salida , que se activa o desactiva durante la transicin ( la expresin
debajo de la barra ) .

En la tercera etapa de la grfica de transicin de estado se verifica en contra


de los requisitos de comportamiento y de seguridad . En particular , el
comportamiento inadecuado y los resultados de excepciones que pueden surgir
dentro de la planta , deben ser estudiados .

Consideremos, por ejemplo, el escenario de la parada y arranque de la lnea de


botella. Cuando se detiene la lnea, la ltima botella llena en la plataforma
debe ser retirado por un operador. Qu pasa si todava permanece en la
plataforma cuando la lnea se conecta ? En tal caso , el controlador debe evitar
que la lnea se inicia. Y otra pregunta : Qu sucede si la botella se llena
descansos? Claramente , el controlador debe notar el accidente y cerrar la
vlvula de inmediato .

La aplicacin de las medidas de seguridad mencionadas requiere algunas


modificaciones a la grfica . en la Figura 2 .
En primer lugar, la condicin de posibilidad de la transicin de un estado
Detenido a Open Gate debe ser modificado.
En segundo lugar, hay que aadir una nueva transicin de Llenado de botellas
estado Detenido. El grfico de transicin de estado modificado se muestra en
la Figura 3 .

Es importante notar que el grfico de transicin de estado es la especificacin


formal y sin ambigedades , pero legible del controlador de la planta. Es
independiente del lenguaje , pero se puede convertir en un programa .

3. CODIFICACIN DE LOS ESTADOS

Los estados identificados en la fase anterior, se deben almacenar en el


controlador como los estados de los flip-flops utilizados por el programa de
control. El nmero mnimo de flip-flops resultados del nmero de estados - con
ayuda de n flip-flop se puede almacenar estados individuales a lo sumo 2n.

Por ejemplo, hay cinco estados en el sistema de lnea de embotellado, que


requieren por lo menos tres flip-flops. El mapeo de los estados del sistema en
los estados de los flip-flops (la codificacin) es ambigua, y puede ser elegido
como resultado de una decisin de diseo. Por lo general, es razonable para
seleccionar un mapeo de este tipo, en el que el mayor nmero de transiciones
de cambiar el estado de una sola slo flip-flop, como sea posible. Esto puede
ayudar a mantener las funciones de transicin simple.

La codificacin seleccionado de estados del controlador de lnea de


embotellado se presenta en la Tabla 1.

4. DEFINICIN DE LAS FUNCIONES DE TRANSICIN

Las transiciones en la grfica de transicin de estados se implementan en el


controlador como los cambios de estados de los flip-flops definidos en la fase
anterior. Las funciones para establecer o restablecer los flip-flops se pueden
derivar directamente de la grfica. Un flip-flop es fijado por una transicin si no
se encuentra en el estado de origen de esta transicin, y pone en el estado
objetivo de esta transicin. Del mismo modo, un flip-flop se restablece
mediante una transicin si IS fue establecido en el estado de origen, y no se
encuentra en el estado de destino de esta transicin.

Considere la posibilidad de la transicin de Detenido a Open Gate en la Figura


3. Esta transicin se lleva a cabo mediante el establecimiento de M1 flip-flop.
En otras palabras, M1 se establece si M1 = 0 y M2 y M3 = 0 = 0 y S = 1 y W =
0. Para ello puede utilizar en la forma usual de funcin booleana:

M1 se puede restablecer el paso de Llenado de botellas de parada o de botella


llena a Detenido. Para ello puede utilizar como:

Las funciones de sistema y el reajuste de los otros chanclas se pueden definir


de manera similar. De esta manera, el comportamiento del programa de
control puede ser descrita por las siguientes seis funciones de Boole:

Un supuesto muy bsico del modelo de mquina de estado finito es que las
transiciones son atmica : todos los flip -flops deben cambiar su estado
durante una transicin de forma simultnea . Desafortunadamente , PLC
ejecuta un programa secuencial , funcin por funcin ( Halang y Sacha ,
1992 ) . Cuando una funcin se computa , los respectivos flip -flop se activa o
desactiva de inmediato. Esto viola el requisito de atomicidad de las
transiciones. Por lo tanto , es necesaria una correccin de funciones .

Considere , por ejemplo, las funciones para restablecer flip -flops M2 y M3 ,


escrito en las lneas ( 4 ) y ( 6 ) anterior. Ambas funciones incluyen la subexpresin : WxM1xM2xM3 . Cada una de las funciones es correcto - que
describe la accin que se debe hacer si la seal W ocurre en Llenado de
botellas estado. Sin embargo , las funciones se ejecutan de forma secuencial ,
y cuando la funcin Res. M2 ( 4 ) ha sido ejecutado , flip -flop M2 convierte
reset. Funcin Res. M3 ( 6 ) es entonces falso, y flip -flop M3 se mantendr sin
cambios .

La causa del problema descrito anteriormente radica en que un cambio en el


estado del biestable M2 - por lo tanto , una transicin en el grfico de
transicin de estado - se llev a cabo mientras que el clculo de la secuencia
de las funciones an estaba en curso . Si W = 0 y el cmputo se inici en M1 ,
M2 = 1 = 1 , M3 = 1 , entonces las funciones funciones ( 1 ) , ( 2 ) , ( 3 ) , ( 4 )
se computaron en este estado en particular , mientras que el siguiente estado (
5 ) , ( 6 ) en otro estado M1 = 1 , M2 = 0 , M3 = 1 . Los resultados del clculo
son, por tanto incompatible .

Con el fin de resolver el problema es necesario para evitar cualquier cambio de


estado , hasta el clculo de toda la secuencia de funciones se ha terminado .
Esto se puede implementar a travs de los flip -flops secundarias, asignados
sobre la base de uno a uno a los flip -flops primarios , es decir, a los flip -flops
que se utilizan para codificar los estados del sistema . Los flip-flop auxiliares
sern almacenar el siguiente estado del sistema , calculada por el clculo de
funciones de transicin , hasta que se termin el clculo completo . El siguiente
estado del sistema se convierte entonces en la situacin actual mediante la
copia del estado de los flip -flops secundaria a los flip-flops primarios.
Hay tres principales chanclas: M1, M2, M3, en el ejemplo de lnea de
embotellado. Denotemos las chanclas secundarias por M11, M12, M13,
respectivamente. La secuencia modificada de funciones que ahora se puede
escribir de la siguiente manera:

5 . DEFINICIN DE LAS FUNCIONES DE SALIDA

Funciones de salida definen los valores de las seales de salida en relacin con
el estado del autmata y los valores de las seales de entrada . Estas
funciones se pueden derivar directamente de la grfica de transicin de estado
- seales de salida pueden cambiar sus valores slo durante las transiciones , y
el nuevo valor est dado por la accin definida por la etiqueta de la transicin.

En el ejemplo de la lnea de embotellado , los valores de las seales de salida


dependen de los estados slo (Moore autmata ) : seal de M es cierto en el
estado de puerta abierta , la seal Z es cierto en Llenado de botellas estado, y
la seal de T es cierto en estados puerta abierta y en movimiento . Este
comportamiento se describe por las tres funciones siguientes :

Funciones de salida deben ser calculados antes de copiar el estado de los flip
-flops secundarias a las chanclas primarias - de esta manera los resultados son
siempre coherentes con el estado actual del sistema . Sin embargo , las
funciones de salida no necesitan seguir las funciones de transicin , pero se
pueden colocar en cualquier lugar dentro de la secuencia .

6 . OPTIMIZACIN DE FUNCIONES

En el primer paso se puede tomar ventaja de la incompletitud de la codificacin


- no se utilizan todas las combinaciones de estados de los flip- flops. En el
ejemplo de la lnea de embotellado , siempre que M1 se pone a cero , entonces
M2 y M3 se restablecen tambin. Del mismo modo , si M2 o M3 se fijan , a
continuacin, M1 se establece como as . El uso de dichas dependencias se
puede reducir las funciones de transicin de la forma:

En el segundo paso, las funciones pueden ser objeto de factoring. Por ejemplo:

7 . LLENADO DEL ESPACIO DEL ESTADO

La secuencia de funciones de transicin y de salida , desarrollado hasta ahora ,


implementa el grfico de transicin de estado que describe el comportamiento
deseado de la planta controlada . La secuencia es correcta, y puede servir de
base para el diseo de un programa para un PLC. Sin embargo , los
controladores PLC se utilizan en muchas reas de aplicacin en la que un mal

funcionamiento del sistema puede causar prdidas significativas o incluso


poner en peligro el medio ambiente o la vida humana . Los requisitos para la
fiabilidad de los programas de control en estas reas - ejemplos son el
transporte areo y ferroviario, control de procesos y dispositivos mdicos - son
muy altos . Para cumplir con estos requisitos , es necesario planificar una
reaccin a un error que puede ocurrir durante el clculo.

Una de las fuentes ms importantes de los errores es el uso incompleto del


espacio, creado por todos los estados posibles de flip-flops utilizados para
codificar los estados del sistema . Consideremos, por ejemplo , la codificacin
de estados definidos en la Tabla 1 . Slo 5 de 8 posibles estados de tres flipflops se utilizan en el sistema . El comportamiento en cada uno de estos 5
estados se define por la secuencia de funciones de transicin y de salida . Pero,
qu pasa si por alguna razn ( un fallo) uno de los otros 3 estados, por
ejemplo, M1 = 0 , M2 = 0 , M3 = 1 , se introduce ? El comportamiento del
sistema en un estado no vlido tal no ha sido definida .

Una poltica de recuperacin del estado resintonizar el sistema a un estado


vlido y seguro debe existir. En muchos casos la eleccin ms obvia de tal
estado de recuperacin es Stop. Para aplicar esta poltica a prueba de parar,
que necesita un flip -flop auxiliar que se activa cuando se observ un siguiente
estado errneo. Los flip-flops primarias se restablecen para detener , en lugar
de ser ajustado en el siguiente estado errneo, si el nuevo flip -flop se ha
establecido .

En el ejemplo de lnea de embotellado esta accin de proteccin puede ser


descrita por las funciones :

8. PROGRAMACIN

Una secuencia de funciones de Boole se puede escribir en la forma de un


diagrama de contactos directamente. Cada funcin se convierte en una sola
lnea del programa. La disyuncin es representada por las ramas paralelas
dentro de una lnea, y la conjuncin es representada por elementos de serie
dentro de una rama determinada (Siemens, 1998). La negacin es
implementada por un contacto normalmente cerrado El programa de ejemplo
de un controlador de lnea de embotellado, que implementa las funciones (1) (13) se muestra en la figura 4.

9 . CONCLUSIN

Controladores PLC se utilizan en muchas reas de aplicacin en la que un mal


funcionamiento del sistema de control puede causar prdidas significativas
para el medio ambiente o poner en peligro la vida humana . Se espera que los
sistemas que se utilizan en tales reas de aplicacin para exhibir siempre un
comportamiento aceptable . Esta propiedad de un sistema se refiere a menudo
como la fiabilidad . Varias medidas pueden aplicarse con el fin de aumentar la
fiabilidad de software . Muchas de estas medidas tratan de hacer que el
proceso de desarrollo tan formal como sea posible. La razn es que los modelos
formales y frmulas pueden ser objeto de anlisis y evaluacin automatizada .
Es importante , que el proceso de aadir rigor y formalidad podra comenzar
desde el principio , es decir, desde la fase de especificacin de requisitos .

En este trabajo se describe un mtodo para la especificacin y el diseo de


programas para controladores PLC . El mtodo se basa en un formalismo
matemtico basado en un modelo de mquina de estados finitos . Las ventajas
del mtodo son las siguientes : El mtodo es formal , pero simple e intuitiva .
modelo FSM se puede derivar fcilmente de modelos UML estndar de la
industria . El mtodo cubre todo el ciclo de desarrollo de la especificacin de
los requisitos para el programa.

Las races del mtodo son en la experiencia prctica. Sin embargo , el mtodo
ha sido ideado principalmente para fines didcticos y se utiliza ampliamente en
el laboratorio de los sistemas de control . El mtodo ayuda a los estudiantes a
cerrar la brecha entre su conocimiento de matemticas y habilidades de
programacin C en un lado y la realidad de controladores industriales. Los
planes de futuro se articulan el uso de temporizadores - la caracterstica que
existe en programas reales , pero no encaja bien con la teora FSM .

Vous aimerez peut-être aussi