Está en la página 1de 82

UNIVERSIDAD SAN FRANCISCO DE QUITO

Sistemas de Control, Supervisin y Adquisicin de datos de las


plantas del laboratorio de control de la USFQ

Luis Alberto Caiza Chicaiza

Tesis de grado presentada como requisito


para la obtencin del ttulo de Ingeniero Electrnico

Quito
Mayo del 2009

Derechos de autor
Luis A. Caiza
2009

Resumen

Este proyecto surge de una necesidad institucional, de la Universidad San


Francisco de Quito, de implementar un laboratorio de control automtico para uso
de los estudiantes de Ingeniera Electrnica, especializacin control. Para cumplir
con esta expectativa, se procede a disear e implementar un Sistema de
Adquisicin, Supervisin y Control (SCADA) de las plantas involucradas en el
laboratorio. El sistema SCADA se realizar sobre las siguientes plantas que se
encuentran en desarrollo: tanque continuamente agitado (CSTR) presurizado con
intercambio de calor, sistema de transporte basado en levitacin electromagntica
(MAGLEV), domtica aplicada a un recinto y prototipo de ascensor de carga. En
el proyecto, se utiliza un controlador lgico programable Siemens S7-200 y cinco
mdulos de expansin para la automatizacin; y el Software de Visual Basic6
para la interfaz grfica.

Abstract

This project arises from an institutional need, of the Universidad San Francisco de
Quito to implement an automatic control laboratory for its students use of
Electronic Engineering in control specialization. To meet this expectation is to
design and implement an acquisition Monitoring and Control System (SCADA) of
the plants involved in the laboratory. The SCADA system will be held on the
following plants that are in development: continuous stirred tank (CSTR) with
pressurized heat exchange, the transport system based on electromagnetic
levitation (Maglev), home automation applied to an enclosure and freight elevator
prototype. The project, using a programmable logic controller Siemens S7-200 and
five expansion modules for automation, and Visual Software Basic to the graphical
interface.

Tabla de contenido
Resumen

iv

Abstract

Tabla de contenido

vi

Lista de figuras

ix

1. CAPTULO 1

1.1

Justificacin del proyecto a desarrollar

1.2

Definicin de sistemas SCADA

1.2.1 Funciones de un sistema SCADA

1.3 Protocolos estndares

1.3.1 Modelo TCP/IP

1.3.2 Modelo OSI

1.3.3 Protocolo Modbus

1.3.4 Protocolo Profibus

1.3.5 Comunicacin Serial

10

1.4 Sistemas SCADA de bajo costo versus sistemas SCADA Industriales

12

1.5 Sistemas a eventos discretos

14

1.6

14

Red de Petri

1.6.1 Ventajas de las Redes de Petri

16

1.6.2 Componentes fundamentales de una Red de Petri

17

1.6.3 Ejecucin de una Red de Petri

18

2. CAPTULO 2
2.1 Caractersticas de la CPU 226 y de los mdulos de ampliacin

22
22

2.2

2.3

2.1.1 Datos tcnicos del Autmata Siemens S7-200 CPU 226

22

2.1.2

reas de memoria de la CPU 226

23

2.1.3

Mdulo de ampliacin EM 223

25

2.1.4

Mdulo de ampliacin EM 235

25

2.1.5

Mdulo de ampliacin EM 231

26

Software de programacin del autmata

26

2.2.1

Configuracin de la comunicacin

26

2.2.2

Operaciones en el lenguaje de programacin KOP

27

Programa implementado en la CPU Siemens S7-200

30

2.3.1 Asignacin de las direcciones M a las entradas digitales


del PLC.
2.3.2

30

Verificacin de los mdulos de expansin y asignacin


de las entradas analgicas a marcas en la CPU del PLC

31

2.3.3

Escalado de las entradas analgicas

36

2.3.4

Procesamiento de las alarmas

39

2.3.5

Asignacin de los parmetros de los PIDs

43

2.3.6

Subrutina PULSADORES _ ASCENSOR

45

3. CAPTULO 3

47

3.1

Diseo del Sistema SCADA

47

3.2

Definiciones de Visual Basic 6

48

3.3

Crear un proyecto en Visual Basic 6

49

3.4

Simatic Microcomputing

52

3.5

Diseo de formulario

54

3.5.1

Formulario: Principal.

54

3.5.2

Formulario: PIDs

58

3.5.3

Formulario: DOMTICA

59

3.5.4

Formulario: ASCENSOR

61

3.5.5

Formulario: CSTR1

62

3.5.6

Formulario: MAGLEV

65

4.Conclusiones

67

Bibliografa

69

Anexos
Anexo 1. Tablas de entradas y salidas del PLC

70

Anexo 2 Descripcin de los botones de comando de Visual Basic

72

Lista de figuras
Figura1.1.

Capas del modelo TCP/IP

Figura 1.2.

Capas del Modelo OSI

Figura 1.3.

Red de Petri

18

Figura 1.4

Red de Petri para la alarma de humo

21

Figura 2.1.

CPU 226

23

Figura 2.2.

Este segmento asigna a la marca M0.1 el valor de I0.1

31

Figura 2.3.

Se llena de ceros 8 palabras a partir de la direccin VW16

31

Figura 2.4.

Llama a la subrutina COMPRUEBA _ ERROR para verificar el


modulo0

Figura 2.5.

32

Mueve la informacin del modulo 0 contenida en SMW8 a la


variable interna identerror

33

Figura 2.6.

Tratamiento de la informacin del mdulo analgico

33

Figura 2.7.

Mueve el contenido de las cuatro primeras entradas analgicas

35

Figura 2.8.

Llamada a la subrutina ESCALADO_CSTR

37

Figura 2.9.

Convierte la imagen entera de la entrada de nivel a un valor


real escalado

Figura 2.10. Programa del tratamiento de la alarma humo

38
40

Figura 2.11. Compara el nivel de lquido escalado con una constante


establecido por el usuario
Figura 2.12. Es posible desactivar A_LSHH con OK_CSTR Forzar_CSTR

42
43

Figura 2.13. Programa en la Subrutina PARAMETROS_PID, para asignar


los parmetros a la variable PRESIN

44

Figura 2.14. Segmentos en la subrutina PULSADORES _ ASCENSOR,


que permiten activar y desactivar M16.0

45

Figura 2.15. En el programa principal, PCP1 est en paralelo con M16.0

46

Figura 3.1.

Cuadro de dialogo Nuevo Proyecto

50

Figura 3.2.

Componentes de un proyecto

51

Figura 3.3.

Ventana de propiedades del control S7Data de Microcomputing

53

Figura 3.4.

Formulario Principal en tiempo de ejecucin

55

Figura 3.5.

Formulario Principal en tiempo de ejecucin, con el bloque


de los parmetros de alarmas

56

Figura 3.6.

Formulario PIDs

58

Figura 3.7.

Formulario DOMTICA en tiempo de ejecucin

60

Figura 3.8.

Formulario ASCENSOR en tiempo de ejecucin

61

Figura 3.9.

Formulario CSTR en tiempo de ejecucin

62

Figura 3.10. Formulario MAGLEV en tiempo de ejecucin

65

10

CAPTULO 1: DEFINICIONES DE SISTEMAS SCADA,


PROTOCOLOS DE COMUNICACIN Y REDES DE PETRI

1.1. Justificacin del proyecto a desarrollar

Este proyecto surge de una necesidad institucional, de la Universidad San


Francisco de Quito, de implementar un laboratorio de control automtico para uso
de los estudiantes de Ingeniera Electrnica, especializacin control. Para cumplir
con esta expectativa, se procede a disear e implementar un Sistema de
Adquisicin, Supervisin y Control (SCADA) de las plantas involucradas en el
laboratorio. El SCADA se realizar sobre las siguientes plantas:

Tanque continuamente agitado (CSTR) presurizado con intercambio de


calor, en desarrollo.

Sistema de transporte basado en levitacin magntica MAGLEV, en


desarrollo.

Domtica aplicada a un recinto, en desarrollo.

Prototipo de ascensor de carga, en desarrollo.

1.2. Definicin de SCADA

Se pueden encontrar mltiples definiciones de lo que significa un Sistema


SCADA, sin embargo todos tienen el mismo fundamento, as:

11

SCADA es la recoleccin de la informacin, transmitiendo a un sitio central


para realizar el anlisis necesario y el control, y entonces mostrar la informacin
sobre pantallas1.
Segn la definicin anterior, la informacin o datos provienen de los procesos
de plantas remotas.

Para este proyecto en particular provienen de las

mencionadas en la seccin1.1. La informacin puede ser analgica o digital;


analgica como la presin, temperatura, volumen, flujo de lquido; y digitales
como salidas o entradas de alarmas, sensores de presencia, pulsadores, etc. La
adquisicin de datos, por lo general, est a cargo de un PLC (Controlador Lgico
Programable) o de una RTU (Unidad Terminal Remota), el mismo que los enva
hacia las estaciones centrales para la interfaz grfica, mediante protocolos de
comunicacin determinados.
Estos datos en un sitio central, un computador, son almacenados y
procesados mediante software adecuados. Para una rpida visualizacin y
anlisis por parte del operario, los datos procesados se muestran en pantallas,
permitiendo as observar la evolucin temporal de los estados y alarmas de cada
una de las plantas. De esta manera, es posible la toma de decisiones en tiempo
real sobre las mismas. La pantalla del ordenador es configurada por el usuario y
fcilmente modificable para una adecuada comunicacin con los elementos de
campo, como controladores autnomos, autmatas programables, mquinas de
control numrico, etc. La informacin proveniente de las plantas anteriores se
envan a diferentes departamentos en una empresa o sistema productivo:
departamento de supervisin, ingeniera, control de calidad, mantenimiento,
gerencia, etc.

12

Un software utilizado para realizar un Sistema SCADA debe ser capaz de:

Crear paneles de alarma sonora o lumnica que permitan al operador va


Hardware o Software reconocer casos particulares de los procesos de las
plantas.

Realizar un registro de la evolucin temporal de las variables, de modo


que sea posible procesar datos en una hoja de clculo y encontrar
tendencias.

Desarrollar

programas

que

modifiquen

anulen

los

programas

previamente establecidos en un autmata (PLC) en determinadas


condiciones, por ejemplo alarmas.
Entre los software utilizados para tales propsitos estn: C, Pascal, LabView,
VBA (Visual Basic for Applications), etc. Se utilizar este ltimo en el presente
proyecto.

1.2.1. Funciones de un sistema SCADA

Las funciones de un sistema SCADA puede variar dependiendo de la


aplicacin, pero todos deben cumplir algunos requisitos bsicos como los que se
mencionan a continuacin:

Supervisin remota de instalaciones y equipos2. Con esto es posible


saber el estado de la planta sin la necesidad de la presencia fsica del
operario en la misma.

13

Control remoto de instalaciones y equipos 2. Es posible tener un control,


ya sea manual o semiautomtico sobre las variables remotas involucradas
en el proceso desde una estacin central.

Visualizacin grfica dinmica 2. Mediante programas sencillos en el


software debe permitir la visualizacin de la evolucin temporal de las
variables de la planta.

Representacin de las seales de alarma 2. Cuando la planta est


operando en ciertas condiciones crticas es imprescindible que el Sistema
SCADA muestre tales estados activando alarmas sonoras y/o visuales.

Las maniobras o secuencias de mando son de crucial importancia para tener


una comunicacin Full Duplex (comunicacin en ambos sentidos) con los
elementos de campo. Se deben disear con minuciosidad tomando en cuenta las
siguientes consideraciones.

Para realizar una accin sobre alguna variable, el operador debe ser capaz
de conocer el estado anterior de la misma y la razn del suceso.

Cuando el mensaje del suceso es demasiado largo, se debe optar por


smbolos abreviaturas relacionadas con el caso.

La

toma

de

acciones

que

involucran

mucha

responsabilidad

conocimientos como cambios de produccin, cambio de parmetros de


controladores PID, etc, slo se realizarn con estricta seguridad bajo un
password de identificacin.

Desde cualquier pantalla el operador debe tener la capacidad de actuar


sobre seales de estados crticos de la planta, como alarmas,
emergencias. Las acciones deben ser simples de accionar como

14

botoneras, las mismas que estarn en tamaos grandes y asignados


smbolos grficos.

1.3. Protocolos estndares

Los equipos conectados en un sistema SCADA pueden comunicarse gracias


a protocolos establecidos. Un protocolo de comunicacin se puede definir como
conjunto de reglas y formatos de mensajes preestablecidos para establecer una
comunicacin entre un emisor y un receptor. Dentro de las reglas se especifican
la forma de las temporizaciones, secuencia de bits, chequeo o correccin de
errores de transmisin, etc.
Se incluyen tres elementos fundamentales dentro de un protocolo:

Sintaxis.- corresponde al formato de los mensajes, el envo y recepcin


de datos y comandos.

Semntica.- es el significado de los comandos para la respectiva


interpretacin.

Secuenciamiento y temporizacin.- se refiere a la velocidad de


transmisin y recepcin.

Los protocolos utilizados estn estructurados por capas. Cada una tiene una
funcin especfica a fin de dividir tareas complejas en sencillas. De esta manera
estandarizar los componentes de red, facilitando la integracin de protocolos
desarrollados por diferentes industrias.
La funcin de cada capa es independiente de las dems lo que permite realizar
cambios y mejoras en cualquiera de ellas sin afectar a las dems.

15

Dentro del modelo de capas tenemos dos estructuras estndar: modelo


TCP/IP, y el modelo OSI.

1.3.1 Modelo TCP/IP

Este modelo representa un conjunto de protocolos, entre los cuales se


menciona: HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), etc.
El nombre TCP/IP proviene de las siglas, Transmission Control Protocol/ Internet
Protocol (Protocolo de Control de Transmisin/Protocolo de Internet).

ste

protocolo fue desarrollado para la comunicacin Internet asignando a cada equipo


de la red una direccin IP para enrutar paquetes de informacin.
El protocolo fue diseado para cumplir con las siguientes tareas:

Dividir mensajes en paquetes.

Usar un sistema de direcciones.

Enrutar datos por la red.

Detectar errores en la transmisin de datos.

Las cuales estn asignadas a las capas que se muestran en la figura1.1:

Aplicacin
Transporte
Internet
Acceso a la Red
Fsica
Figura 1.1. Capas del modelo TCP/IP

16

La capa de aplicacin, incorpora aplicaciones de red estndar seleccionadas


por el usuario.
La capa de transporte, se encarga de forma de transportar los datos.
La capa de Internet, es la encargada de administrar la informacin y relacionar
con las direcciones IP. Dentro de esta capa se encuentran cinco protocolos: IP,
ARP (Address Resolution Protocol), ICMP (Internet Control Message Protocol).
La capa de Acceso a la Red, define direcciones fsicas. Entre las funciones
que en ella se realizan son: coordinar una comunicacin sncrona (mediante un
reloj) o asncrona (sin un reloj), establecer el formato de datos,

deteccin y

manejo de errores.
La capa fsica, define la conversin de seales anlogas en digitales, ya sean
mediante pulsos elctricos, modulacin de luz, etc.

1.3.2 Modelo OSI

La palabra OSI proviene de las siglas Open Systems Interconnection


(modelo de referencia de Interconexin de Sistemas Abiertos). En el modelo OSI
cada capa agrupa algunas de las funciones requeridas para comunicar sistemas.
Estas capas poseen estructura jerrquica. Cada capa se apoya en la anterior,
realiza su funcin y ofrece un servicio a la capa superior. Este modelo posee la
ventaja de poder cambiar una capa sin necesidad de modificar el resto3.
Este modelo comprende siete capas, a diferencia del anterior que solamente
contiene cinco, pero muchas de ellas son similares ya que fueron desarrolladas a
la par. Las siete capas se muestran en la figura1.2.

17

Aplicacin
Presentacin
Sesin
Transporte
Red
Enlace
Fsico

Figura 1.2. Capas del Modelo OSI

Capa Fsica. Define la manera en que se transmiten los datos. Dentro de


estas, las caractersticas mecnicas, como conectores, pines; elctricas como la
amplitud y duracin del voltaje de los bits.
Capa de Enlace. Permite la comunicacin entre equipos dentro de la misma
red. La informacin se encuentra en bloques llamados Tramas.
Esta capa dota de direcciones fsica, y tambin detecta y trata los errores de
comunicacin.
Capa de Red.

A diferencia de la anterior, se encarga de la conexin de

equipos distribuidos en diferentes redes. La informacin se encuentra contenida en


los llamados paquetes que contienen las direcciones lgicas asociadas a cada
puesto de origen y destino.
Capa de Transporte. Se encarga del transporte de datos de una manera
eficiente. Los datos por lo general son divididos en paquetes y enviados

18

secuencialmente. Tanto los datos dentro de un paquete y los paquetes deben


llegar en el mismo orden en que fueron enviados.
Capa de Sesin. Establece el inicio y la finalizacin de una comunicacin entre
equipos. Permite reestablecer un dialogo de una manera predeterminada.
Capa de Presentacin. Establece el formato de los datos que maneja la capa
de aplicacin.

El formato utilizado es un estndar, independiente del sistema

operativo.
Capa de Aplicacin. Es la interfaz con el usuario, ya que permite al mismo
administrar el software.

1.3.3 Protocolo Modbus.

Es un protocolo desarrollado por Modicon, situado en el nivel 7 del Modelo OSI,


para la comunicacin entre PLCs. Por su sencillez y determinacin pblica es
ampliamente utilizado por diferentes fabricantes de PLCs,

RTUs, Drives,

sensores y actuadores.
La comunicacin entre dispositivos se basa en una estructura Maestro/Esclavo,
para lo cual a cada esclavo se asigna una direccin entre 1 a 247.

1.3.4 Protocolo Profibus.

Es un estndar de comunicacin abierto y robusto para bus de campo basado


en el modelo OSI. Mediante una estructura Maestro/esclavo permite la
comunicacin de PLC, PC, sensores u actuadores.

19

Existen tres versiones: Profibus DP (Perifrica Descentralizada) para la


comunicacin de sensores y actuadores a controladores automticos y PCs;
Profibus PA (Automatizacin de Procesos) para la automatizacin de procesos que
requieren alta seguridad; y Profibus FMS (Especificacin de Mensajes de Bus de
Campo) para la comunicacin entre equipos de automatizacin y dispositivos
inteligentes.

La versin PD es la ms utilizada, una de las tecnologas es el

protocolo RS-485.

1.3.5 Comunicacin Serial.

La comunicacin serial es utilizada para la conexin directa entre dos equipos


en un instante dado, por ejemplo un PLC y un computador PC. Los bits son
enviados y recibidos sucesivamente cada cierto intervalo de tiempo por el puerto
serial de los equipos.
Los bits son enviados uno por uno, ya sea de manera sncrona o asncrona.
Cuando el envo y recepcin est sincronizado por un reloj, tenemos una
comunicacin serial sncrona. En tanto que la comunicacin serial asncrona
transmite bits en cualquier momento, se dice que opera en el modo
UART (receptor/transmisor asncrono universal).
La comunicacin serial puede ser Simplex, Half Duplex y Full Duplex.

Simplex.

Si los datos fluyen en un solo sentido, por ejemplo la

comunicacin PC e impresora. Se dice que opera en modo maestro


esclavo, donde el maestro enva y el esclavo slo recibe.

20

Half Duplex. La comunicacin fluye en ambos sentidos pero uno a la


vez. En un momento dado, un primer equipo enva mientras el segundo
recibe, luego el segundo equipo enva y el primero recibe.

Full Duplex. En todo momento es posible tener una comunicacin


simultnea en ambos sentidos.

Para esto es necesario un mayor

nmero de cables.
Los estndares de comunicacin serial son RS-232, RS-422, RS-485, USB.
Cada una presenta caractersticas especiales.
La comunicacin RS-232 es una comunicacin punto a punto (equipo a equipo)
a una velocidad mxima de 20kbps (bits por segundo). Puede operar en modo half
y full duplex y la mxima distancia del cable serial utilizado puede ser de 15
metros.
Con el RS-422, es posible comunicar equipos distantes hasta de 1200m, pero
del modo half duplex. La ventaja de ste estndar es que permite conectar varios
equipos (hasta10) a una misma red (multidrop). La velocidad mxima de
transmisin es de 10Mbps.
El RS-485, es similar al anterior con la particularidad que es posible conectar
en paralelo hasta 32 equipos y la velocidad mxima de transmisin es de 35Mbps

21

1.4. Sistemas SCADA de bajo costo versus sistemas SCADA


industriales.

El grado de cumplimento de las funciones de un sistema SCADA mencionadas


en la seccin1.2.1 es funcin de los elementos de campo utilizados y ms an de
los elementos utilizados para el software.
Se puede realizar un SCADA mediante computadores convencionales como,
PC, computadoras porttiles y estaciones de trabajo, as como tambin utilizar
arquitecturas ms sofisticadas.
Un sistema SCADA de bajo costo involucra un miniordenador PC con sistema
operativo DOS/Windows y/o Linux, y con software adecuados para el manejo de
las interrupciones y la comunicacin con los elementos de campo, por ejemplo
Microcomputing de Siemens. El CPU del computador es el factor que limita la
velocidad de respuesta en tanto que el sistema operativo Windows hace que sea
monousuario aunque permita realizar multitareas pero en mbito reducido.
Un sistema como el anterior presenta limitaciones, si se desea tener una mejor
funcionalidad se emplean sistemas operativos complejos (VAX, VMS, Unix) y
arquitecturas cliente-servidor aptas para compartir recursos informticos (datos y
aplicaciones)

que

permiten

ofrecer

programas

capaces

de

entender

simultneamente a varios servicios, por ejemplo, un operador puede estar viendo


informes de incidencias desde un ordenador industrial con un sistema operativo
Unix en tanto que otro est modificando

la evolucin del proceso desde una

estacin de trabajo y un tercero monitorizando la situacin en la planta desde un


PC4. En el presente caso estamos en sistemas SCADA industrial, su principal

22

caracterstica es la utilizacin de un sistema operativo robusto que soporta


multitareas y varios usuarios que estando separados trabajan sobre un mismo
sistema al enlazar informaciones mediante redes locales.
Dependiendo del tipo del sistema SCADA

se puede configurar de dos

maneras, como se describe a continuacin:

En sistemas SCADA de bajo costos se acostumbra a utilizar paquetes


de software genricos que son fciles de adecuar a la aplicacin. Los
Drivers de comunicacin y el software para las pantallas son
configuradas y

parametrizadas por el usuario.

As para realizar

pantallas, el usuario utiliza las libreras del software para crear botones,
editores, funciones, etc. El inconveniente radica principalmente en la
limitacin de los paquetes y tambin de la licencia dada por el
proveedor.

En sistemas SCADA industriales se acostumbra a utilizar paquetes de


software especficos, como el software

ABB utilizado para la

administracin de la distribucin de tensiones elctricas y el software


Indusoft utilizado para el SCADA de procesos de tratamiento de aguas y
generacin de energa. En dichos software las pantallas, controles,
comunicacin y dems son preestablecidas y las adecuadas para la
empresa. De esta manera no es necesario un diseador del sistema,
con la certeza que el sistema responde a las expectativas de la industria.
Pero, no permite realizar mejoras futuras como cambio de protocolos de
comunicacin, mejoras en la visualizacin, etc.

23

1.5. Sistemas a eventos discretos (DES)

Antes de dar una definicin formal, es necesario dar la definicin de algunos


trminos.

Sistema: parte del universo compuesto por cuerpos que interaccionan


entre s, pero que no tienen interaccin externa.

Evento Discreto: representacin del cambio en el tiempo de los


componentes del sistema.

Con lo anterior en mente, los sistemas a eventos discretos (DES) son sistemas
que dependen de variables que cambian slo en un nmero finito (contable) de
puntos en el tiempo (Discreto) y cuyas variables cambian continuamente con
respecto al tiempo (Dinmica) 5.
Los

DES

son

adecuados

para

describir

procesos

interconectados

secuenciales. En la automatizacin de lneas de produccin, redes de


comunicacin, semforos, procesos de prensado, galvanizado, etc.
Dentro de las metodologas de anlisis y tratamientos de

los sistemas a

eventos discretos se encuentran otros sistemas como: Redes de Petri, Grafcet,


Statecharts, Grafos de eventos, Mquinas de estados finitos y lgebra.

1.6. Red de Petri

Una Red de Petri (Petri Nets PN ) es un modelo grfico, estructurado y formal


utilizado para modelar y analizar el flujo de informacin en un proceso. La

24

informacin dinmica ms relevante de los sistemas modelados es mostrada por


una PN, para lo cual utiliza un conjunto de ecuaciones matemticas.
Las Redes de Petri son utilizadas en diseos de sistemas de hardware y
software para simulacin de amplios problemas de ingeniera, en especial para
procesos concurrentes, procesos que requieren una apropiada sincronizacin,
procesos cclicos, etc. La utilizacin de dicha herramienta grfica, garantiza
seguridad, eficiencia y optimizacin de recursos en el diseo e implementacin.
Adems, facilita el mantenimiento y posibles mejoras a futuro del modelo.
Es menester hacer una breve resea histrica del aparecimiento y evolucin
de las PN.

Las Redes de Petri nacen en 1962, con Carl Adam Petri de la

Universidad Darmstadt en Alemania cuando l presenta su trabajo doctoral


Kommunikation mit Automaten (Comunicaciones con Autmatas). Luego, un
grupo de investigadores del Applied Data Research Inc, desarrolla la teora
Systemics, con lo cual proporcionan la notacin y representacin de las Redes de
Petri lo que hace posible una amplia divulgacin en 1968.

En 1970, Holt y

Commoner en sus trabajos Events and Conditions, muestran como esta


herramienta grfica puede ser utilizada para modelar y analizar sistemas que
involucren procesos concurrentes.
Las Redes de Petri fueron objeto de estudio del grupo The Computation
Structures Group, del Massachussets Institute of Technology (MIT) que bajo la
direccin de Jack Dennis presentaron los eventos Project MAC Conference on
Concurrent Systems and Parallel Computation y Conference on Petri Nets and
Related Methods. Posteriormente aquel grupo ha publicado innumerables tesis
doctorales sobre las PN. Desde entonces el MIT y otros centros de investigacin
americanos han concentrado la aplicacin de dicha herramienta hacia la teora de

25

autmatas. De la misma manera, las universidades europeas tienen el mismo


enfoque, con lo cual se tiene una misma corriente en pro del desarrollo de la
ciencia y la tecnologa.

1.6.1 Ventajas de las Redes de Petri

Formalismo matemtico, que facilita la especificacin formal de procesos y


sistemas en tiempo discreto, evitando ambigedades.

Sintaxis y semntica bien definida.

Herramienta grfica para modelar DES. Lo que permite dar un seguimiento


del proceso de automatizacin en todo el tiempo.

Provee tcnicas de anlisis de eventos.

Permite la construccin sistemtica de sistemas a eventos discretos y


controladores autmatas.

Facilita el mantenimiento y modificaciones posteriores en los modelos. sta


metodologa permite un fcil entendimiento hasta para quienes no han
diseado el modelo, permitiendo as realizar correcciones y mejoras.

Garantiza el desempeo del modelo en trminos de: No Bloqueos,


Ciclicidad, Estabilidad, Alcanzabilidad de estados deseados6.

26

1.6.2 Componentes fundamentales de una Red de Petri

Las Redes de Petri estn formadas bsicamente por un conjunto de plazas o


lugares P, un conjunto de transiciones T, arcos dirigidos y las funciones de
entrada I, y de salida O.

Lugares y transiciones. Representan eventos conectados por arcos.


Grficamente los lugares p se representan por circunferencias y las
transiciones t por pequeos segmentos rectilneos. Un lugar representa
un estado en el que puede estar parte del sistema.

Arcos. Un arco une un lugar con una transicin, o viceversa e indica la


direccin de la secuencia de eventos. Nunca es posible unir un lugar con
otro lugar, o una transicin con otra transicin. Adems, n arcos de igual
direccin son representados con un solo arco etiquetado con el nmero n,
dicho nmero se conoce como peso del arco, cuando no existe ninguna
etiqueta se asume que el arco es de peso uno.

Marca. Se representa por un punto dentro de la circunferencia que


representa al lugar. Las marcas nos permiten visualizar el estado del
sistema.

Tokens. Son nmeros naturales o puntos colocados en circunferencias


que representan a los lugares. Las transiciones son las responsables de
moverlos a travs de la red.

Una definicin matemtica de la estructura de las redes de Petri se muestra a


continuacin:
R = (P T I O Mo)

27

Donde:

P = {p1, p2,..pm} Conjunto finito y no vaco de lugares.

T = {t1, t2,..tm} Conjunto finito y no vaco de transiciones.

I: (PxT) es la funcin de entrada representados por arcos que van desde


los lugares a las transiciones.

O: (PxT) es la funcin de salida representados por arcos que van desde las
transiciones a los lugares.

Mo: es la marca inicial de la red.

Una red de Petri con sus elementos bsicos se muestra en la figura 1.3:

Figura 1.3. Red de Petri

1.6.3 Ejecucin de una Red de Petri

En la ejecucin de una PN, se dan dos eventos: la habilitacin y el disparo de


las transiciones. Una transicin est habilitada cuando existen en los lugares de
entrada un nmero de tokens igual al peso del arco que las une.

28

Cuando se da el disparo de una transicin, se remueven los tokens de los


lugares precedentes y se asignan a los lugares a los que apuntan los arcos de
salida.
En el presente proyecto se utilizan las redes de Petri para modelar el proceso
de alarmas a fin de tener un seguimiento sistemtico de su evolucin. Para lo
cual los lugares y transiciones se correlacionan con las posiciones de memoria
del correspondiente autmata utilizado.
Como una aplicacin de la Red de Petri se tiene el tratamiento de la alarma de
humo de la DOMTICA. Dada la entrada de alarma de humo se debe activar un
estado de alarma y una salida sonora y una visual, las cuales deben permanecer
activas an cuando la entrada de alarma ya no lo est. El usuario debe ser capaz
de apagarlas mediante una interfaz grfica como Visual Basic. Adems, es
necesario conocer si la entrada de alarma estaba o no activada por ms de un
cierto tiempo, lo cual nos permite estimar las posibles causas de la alarma o
desechar las falsas alarmas.
Para el proceso anterior se utiliza la Red de Petri de la figura1.4, cuya
secuencia es la siguiente:

El lugar Operacin Normal contiene la marca inicial del proceso,


cuando se activa la entrada de alarma AH se remueve el Token de
Operacin Normal y se coloca en los lugares A_AH y T37. El smbolo
A_AH representa la direccin de memoria de un bit y T37 un
temporizador del PLC.

El bit llamado A_AH permanece en alto si

dispone de tokens. El temporizador toma el tiempo en que la entrada


de alarma est en activa y pone en alto el bit de temporizacin T37 de
la PLC si supera un valor de tiempo determinado por el usuario.

29

La transicin OK_AH representa una direccin de un bit en la memoria


del PLC. Cuando la transicin OK_AH est deshabilitada toma tokens
del lugar A_AH y los coloca en Luz y Sonido que hace que se activen
las salidas de alarma.

El estado Reconocimiento est representado por dos bits del PLC, el


bit llamado OK_AH y el Forzar_AH, ambos remueven tokens de los
lugares Luz y Sonido. El reconocimiento OK_AH remueve los tokens de
los lugares Luz, Sonido, A_AH y

T37 y los coloca en Operacin

Normal, si el bit T37 no esta activado, apagando as las salidas de


alarma y el estado de alarma A_AH. Si T37 esta en alto se remueven
los tokens de Luz y Sonido y se coloca en Reconocimiento y se
deshabilita la transicin OK_AH, por lo que las salidas de alarma se
apagan pero no el estado de alarma A_AH.

El Reconocimiento Forzar_AH remueve los tokens de los lugares Luz,


Sonido, A_AH y los coloca en Operacin Normal. Con esto se apagan
las salidas de alarma y tambin el estado de alarma A_AH. Se fuerza la
alarma, cuando no es posible apagar el estado de alarma A_AH con el
normal reconocimiento OK_AH.

El token de T37 es removido gracias a que la transicin A_AH est


habilitada. Remover un token del temporizador significa establecer en
cero el conteo del temporizador.

30

Figura 1.4. Red de Petri para la alarma de humo.

31

CAPTULO 2
AUTMATA S7-200

2.1 Caractersticas de la CPU 226 y de los mdulos de


ampliacin.

El autmata programable utilizado para la automatizacin de las plantas del


laboratorio de control es un Micro-PLC S7-200 del tipo CPU226, este tipo de PLC
es lo que se dispone en el mencionado laboratorio de la USFQ. Su capacidad de
expansin para incorporar tanto mdulos de entradas y/o salidas digitales como
analgicos, y su eficiencia en la solucin de tareas de automatizacin sencillas
hace que sea adecuado para la presente aplicacin.
Los mdulos de expansin utilizados son cinco. Un mdulo de 16 entradas y
16 salidas digitales, dos mdulos de 4 entradas analgicas y 1 salida analgica, y
dos mdulos de 2 salidas analgicas.
A continuacin se describen las caractersticas tcnicas del autmata
programable y de los mdulos de expansin.

2.1.1 Datos tcnicos del Autmata Siemens S7-200 CPU 226

24 Entradas/16 Salidas digitales.

4K Palabras de capacidad de programa del usuario (EEPROM) y 2560


2.5K Palabras de bloque de datos (EEPROM).

2 puertos de comunicacin RS-485 y PPI.

32

256 temporizadores y contadores.

256 marcas internas.

Figura 2.1. CPU 226

2.1.2 reas de memoria de la CPU 226.

Memoria de programa. Se encuentra almacenada en una EEPROM no


voltil, por lo que en una interrupcin de energa elctrica no se borra el
contenido. En esta memoria se almacena el contenido y la secuencia de
instrucciones de la aplicacin.
Memoria de datos. Es el espacio donde se guarda las direcciones para los
clculos, valores de resultados intermedios, valores de temporizadores y
contadores. Tambin estn los

estados de las entradas y salidas digitales y

analgicas.
Estos datos pueden ser guardados en una memoria EEPROM no voltil y en
una RAM. El acceso a los valores se realiza por bits, bytes, palabras o palabras
dobles.
El rea de datos contiene las siguientes reas: Memoria de Variables, Imagen
de procesos de entrada y salida, marcas especiales, temporizadores, contadores,

33

acumuladores, entradas y salidas analgicas, memoria local. A continuacin se


describen las utilizadas en el proyecto.

Memoria de variables V. sta se puede utilizar para almacenar valores


intermedios de clculos durante el programa. Ej.

V1.0, donde 1 es la

direccin del byte y 0 la direccin del bit.

Imagen del proceso de entradas I y salidas Q digitales. El autmata


ejecuta el programa por ciclos, al empezar un ciclo lee el estado de cada
entrada y almacena en la imagen del proceso de las entradas, al final del
ciclo escribe en las salidas fsicas el valor almacenado en la imagen del
proceso de las salidas.

rea de Marcas M. Se puede utilizar como rels de control que guardan


estados intermedios de un proceso.

Marcas Especiales SM. Se utiliza para intercambiar informacin entre la


CPU y el programa. Ciertas funciones de la CPU pueden ser controladas
por medio de estas marcas.

Tanto las marcas M y las marcas especiales SM son las transiciones y lugares
en la ejecucin de una Red de Petri.

Entradas analgicas AI. Los valores reales analgicos son convertidos


en formato digital de palabra (16 bits) y guardados en el rea AI. Se
acceden a cada uno con bytes pares como AIW0, AIW2,....

Salidas analgicas AQ. Los valores digitales son convertidos en formato


real analgico. Se acceden a cada uno con bytes pares como AQW0,
AQW2,....

34

rea de memoria local (L). Tiene un alcance local, lo que significa que
solo es posible acceder a su contenido dentro del programa principal,
subrutina o interrupcin en la que es declarado.

2.1.3 Mdulo de ampliacin EM 223.

El mdulo de ampliacin digital EM 223 acoplado a la CPU 226, tiene 16


entradas digitales/16 salidas digitales de rel X DC24V.
El rea de memoria en la CPU del PLC correspondiente a la imagen del
proceso de entradas va de I3.0 a I4.7, mientras que el rea de la imagen de salida
va de Q2.0 a Q3.7.

2.1.4 Mdulo de ampliacin EM 235.

Tambin se conectan a la CPU dos mdulos analgicos EM 235 con 4


entradas analgicas IQ y una salida analgica AQ de 12 bits.
Las salidas se configuran a un margen de corriente de 4-20mA mediante los
interruptores DIP incluidos en el mdulo
Las imgenes de entrada toman las direcciones AIW0, AIW2, AIW4, AIW6,
AIW8, AIW10, AIW12 y AIW14 en la CPU226. Mientras que las salidas, toman las
direcciones AQW0 y AQW2.

35

2.1.5 Mdulo de ampliacin EM 231.

Se utiliza dos mdulos de ampliacin EM 231 con dos salidas analgicas AQ


de 12 bits.
Las imgenes de salida, en la CPU226, estn en las direcciones AQW4,
AQW6, AQW8 y AQW10

2.2 Software de programacin del autmata

La programacin se realiza con STEP-7 Micro/WIN 32 versin 3.2 que se


ejecuta bajo Windows y permite programar el PLC, configurar el sistema y
supervisar en tiempo de ejecucin.
Para conectar al ordenador con el PLC se utiliza un cable conversor de norma
RS-485 a RS-232. Una vez establecida la comunicacin, se utiliz el editor KOP o
esquema de contactos para realizar la programacin y descargar en el autmata.

2.2.1 Configuracin de la comunicacin

Se tiene una comunicacin punto a punto entre la PC y el PLC, para lo cual se


utiliza un cable PC/PPI. El extremo RS-232 (PC) del cable es conectado al puerto
de comunicaciones de la PC, y el otro extremo RS-485 al puerto de
comunicaciones del PLC.

36

Los interruptores DIP del cable son ajustados para una transmisin a 9.6kbps.
Tambin se debe configurar la comunicacin desde el software de Micro/WIN32
en el icono de comunicaciones del programa del PLC.

2.2.2 Operaciones en el

lenguaje de programacin KOP

utilizadas.

El lenguaje de programacin KOP o esquema de contactos se caracteriza por


ser un lenguaje grfico. A continuacin se describen los elementos bsicos que
componen el programa.

Contactos: representan interruptores elctricos por los que circula


corriente cuando estn cerrados. stos pueden ser normalmente
abiertos o normalmente cerrados.

Bobinas: son rels que se activan cuando se aplica una corriente.

Marcas especiales (SM): son funciones de estado y control ofrecidas


por el autmata. En el proyecto se utiliza las marcas SM0.0, SM0.1 y
SM8 a SMB21.

SM0.0: es un bit que permanece activado siempre. Se utiliza para habilitar


permanentemente la bobina M0.0. La marca M0.0 es utilizada para habilitar todas
las acciones que el programa ejecuta en cada ciclo.
SM0.1: es un bit que se activa solo en el primer ciclo del programa. Es
utilizado, en combinacin con secuencias, para comprobar el estado de los
mdulos de expansin, en el presente proyecto.

37

A dems se utilizarn las marcas SMB8 a SMB21 que estn organizados en


pares de bytes y contienen la informacin de comunicacin y error para los
mdulos de ampliacin de 0 a 6.

Temporizador con retardo a la conexin.


La funcin TON cuenta el tiempo en que la entrada IN
est activada. Si el tiempo es mayor o igual al valor
preestablecido PT, el bit de temporizacin se activa y
se borra cuando

se desactiva la entrada IN.

T1 representa el nombre del temporizador, otro temporizador podra tomar


cualquier nombre comprendido de T0 a T255.
Cualquier temporizador entre T37-T63 es utilizado en el proyecto para el
proceso de las entradas de alarma, su resolucin es 100ms.

Inicializar memoria.
Es utilizada para escribir N palabras consecutivas
empezando en la direccin OUT, con el valor de la
palabra contenida en IN.

En el proyecto se utiliza este bloque para inicializar con ceros las direcciones
en el rea de memoria V, donde se guardan las entradas analgicas.

38

Transferir bytes.
MOV_B transfiere el byte de entrada (IN) a la salida
(OUT). En el proyecto se emplea para transferir el
byte que contiene la informacin de conexin de los
mdulos.

Transferir palabras (MOV_W)


Transfiere la palabra de entrada (IN) a la direccin de
salida (OUT) cuando est habilitada la entrada (EN).

Se utiliza para transferir el contenido de las entradas analgicas a las


direcciones VW16, VW18,, VW30 en cada ciclo de operacin, cuando los
mdulos estn comunicando correctamente.

Comparadores:

Son utilizados para comparar dos valores, un IN1

con un IN2. Cuando la condicin es verdadera el contacto est cerrado.


Los valores de las entradas pueden estar formato bit, byte, reales,
palabras o palabras dobles.

Llamada a subrutinas.
Son funciones que transfieren el control a las subrutinas
(SBR_n). stas pueden llamar con o sin parmetros.

En el proyecto se utiliza una subrutina sin parmetros de entrada para los


PIDs, y dos subrutinas con parmetros de entrada para la comprobacin del
estado de los mdulos de expansin y para el escalado de las entradas anlogas.
Se llama a la subrutina cuando la entrada EN est habilitada.

39

2.3 Programa implementado en la CPU siemens s7-200

El programa implementado en el PLC es tal que permita la interaccin con la


interfaz grfica implementada en Visual Basic. Se ha estructurado de la siguiente
manera:

Asignacin de las direcciones de memoria M a las entradas digitales del


PLC.

Verificacin de los mdulos de expansin y asignacin de las entradas


analgicas a marcas en la CPU del PLC.

Escalado de las entradas analgicas.

Procesamiento de alarmas.

Asignacin de los parmetros de los PIDs.

Activar y desactivar marcas M correspondientes al ASCENSOR

2.3.1 Asignacin de las direcciones M a las entradas digitales del


PLC.

La marca especial SM0.0 es un bit que permanece activado siempre y se


utiliza para habilitar permanentemente la bobina M0.0. El bit M0.0 es utilizado
para habilitar contactos, bloques, funciones en cada ciclo.
En la primera parte del programa se hace un tratamiento de las entradas
digitales del PLC. A cada variable de entrada se asigna una ubicacin en el rea
de memoria M de acuerdo a la tabla1 del Anexo1. Por ejemplo, en la figura 2.2,

40

el valor de la variable LSHH de CSTR conectada a la entrada I0.1 se guarda en la


direccin M0.1 a la cual se har referencia cuando se necesite de tal valor. Lo
mismo se realiza con todas las entradas digitales de I0.2 a I4.7.

Figura 2.2. Este segmento asigna a la marca M0.1 el valor de I0.1

2.3.2 Verificacin de los mdulos analgicos de expansin y


asignacin de las entradas analgicas a marcas en la CPU.

Se empieza con cargar la marca especial SM0.1 (activo solo en el primer


ciclo), como muestra la figura 2.3, para llenar 8 palabras con ceros a partir de la
direccin VW16. Estos espacios de memoria se utilizarn para guardar las
imgenes de las entradas analgicas. A continuacin se llama a una subrutina
llamada COMPRUEBA _ ERROR.

Figura 2.3. Se llena de ceros 8 palabras a partir de la direccin VW16.

41

Subrutina COMPRUEBA _ ERROR.

La subrutina tiene un parmetro de

entrada llamado slot y cinco salidas: energa, rango, identificacin, configuracin


y OK, que indican el estado del mdulo.
Los parmetros de entrada y de salida son declarados dentro de la subrutina.
El parmetro slot se declara como byte y se ubica en la direccin de memoria
local LB0, las salidas energa, rango, identificacin, configuracin y OK como
boolenas en las direcciones L1.0, L1.1, L1.2 y L1.3, respectivamente. Tambin se
declara una variable interna identerror como palabra en la direccin LW2 que no
es ni entrada ni salida de la subrutina. sta variable contendr la informacin de
error de cada uno de los mdulos como se ver mas adelante.
La primera llamada a COMPRUEBA _ ERROR, como muestra la figura 2.4,
es para verificar el mdulo analgico EM235 ubicado en el slot0.

Figura 2.4. Llama a la subrutina COMPRUEBA _ ERROR para verificar el


modulo0.

Dentro del programa de la subrutina, la primera lnea (figura2.5) compara si el


valor del parmetro de entrada es igual a 0, que para la primera llamada a la
subrutina es afirmativo por lo que el bloque MOB _W mueve el contenido de la
marca SMW8 que contiene la identificacin y error del primer mdulo a la

42

direccin LW2. LB2 contiene la identificacin del mdulo y LB3 el error del
mdulo. Los siguientes cuatro segmentos la subrutina comparan slot con 1, 2, 3
y 4; y el bloque MOV_W tiene de entrada en IN las palabras SMW10, SMW12,
SMW14, SMW16 que informan el estado de los mdulos1, modulo2, mdulo3 y
mdulo4, respectivamente. Todas se guardan en la direccin interna LW2.

Figura 2.5. Mueve la informacin del modulo 0 contenida en SMW8 a la variable


interna identerror.

Las lneas de la figura 2.6 comprueban el estado de energizacin del mdulo,


si el rea es excedida o no, la identificacin y configuracin. Toda la informacin
se encuentra en la direccin LW2 y se interpreta segn la tabla2.1.

Figura 2.6. Tratamiento de la informacin del mdulo analgico.

43

Tabla 2.1. Informacin del mdulo.


Byte LB2
MSB
7
m t t a i i
m: Mdulo presente

LSB
0
q q
0 = presente, 1 = no presente

tt: Tipo de mdulo


00 Mdulo de ampliacin no inteligente.
01 Mdulo inteligente.
10 Reservado
11 Reservado
a: Tipo de E/S

0 = digital, 1 = analgica

ii: Entradas
00 Sin entradas
01 4 AI o 8 DI
10 8 AI o 16 DI
11 16AI o 32 DI
qq: Salidas
00 Sin salidas
01 2 AQ o 8 DQ
10 8 AQ o 16 DQ
11 16AQ o 32 DQ
Byte LB3
MSB
7
c 0 0 b r p f
c: Error de configuracin
b: Fallo de bus o error de paridad.
r: rea excedida.
p: Error de alimentacin.
f: Fusible fundido.
t: Bloque de terminales suelto

LSB
0
t
0 = sin error , 1 = con error.

44

Segn lo anterior, los bits de inters son: L3.2 que informa el estado de
energizacin, L3.3 que contiene la informacin del rango

o rea, bit L2.7 que

informa la identificacin del mdulo, L3.7 que contiene el error de configuracin.


Basta con que uno de los anteriores est activo para decir que el mdulo tiene
error.
El programa de la subrutina COMPRUEBA _ ERROR, como muestra la
figura 2.6, termina con un segmento donde se activa la bobina llamada OK de
no existir error de energa, rango, identificacin y configuracin, de existir un error
la bobina OK se desactiva. El estado de OK es uno de los valores de retorno
de la subrutina. Ya en el programa principal dicho estado se guarda en la variable
ERROR0.
En el programa principal, cuando la variable ERROR0 es igual a uno, en la
figura 2.7 (es decir no existe error del mdulo 0)

se mueven las entradas

anlogas AIW0, AIW2, AIW4, AIW6 a los espacios de memoria VW16, VW18,
VW20, VW22 respectivamente.

Figura 2.7. Mueve el contenido de las cuatro primeras entradas analgicas.

La verificacin de los tres restantes mdulos analgicos y el digital se realiza


de la misma manera. Para el segundo mdulo (EM235), el parmetro de entrada
con que se llama a la subrutina COMPRUEBA _ ERROR es 1, para el tercer

45

mdulo (EM 232) es 2 para el cuarto mdulo (EM 232) es 3 y para el ltimo
mdulo (EM223) es 4. Los estados de error (energa, rango, identificacin y
configuracin) se guardan en las direcciones VB10, VB11 y VB 12 para mediante
la interfaz grfica guardar el estado de errores en un archivo de texto.

2.3.3 Escalado de las entradas analgicas

Los mdulos analgicos EM235 y EM232 estn configurados de manera que


acepten entradas de corriente entre 4-20mA,

que en la memoria del PLC

representan nmeros enteros entre 6400- 32000. Cada entrada corresponde a


diferentes variables como presin, temperatura, flujo, nivel de lquido que tienen
su propia escala. En esta seccin se limita a convertir la escala entera de 640032000 a escala real de 0-1 que ser mostrado en la interfaz grfica. Una escala
real (0-1) permite al usuario una rpida apreciacin del nivel de la variable.
Subrutina ESCALADO _ CSTR. Esta subrutina tiene cuatro parmetros de
entrada: Entrada1, Entrada2, Entrada3, Entrada4, y cuatro de salida: Salida1,
Salida2, Salida3, Salida4. A los parmetros de entrada se asignan las imgenes
de presin, temperatura, nivel y flujo del lquido del CSTR. Las salidas
corresponden a las entradas anteriores pero escaladas, y se guardan en las
direcciones VD40, VD44, VD48 y VD52, como muestra la figura 2.8, con los
nombres

PRESIN_E,

respectivamente.

TEMPERATURA_E,

FLUJO_E

NIVEL_E,

46

Figura 2.8. Llamada a la subrutina ESCALADO_CSTR

Las entradas escaladas, en real, deben estar en un rango de 0 a 1, de esta


manera 0 corresponde al nmero entero 6400 y 1 a 32000. Por lo tanto lo primero
que hace el programa de la figura2.9 es restar 6400 de la entrada entera, luego
convertir de entero a entero doble, de entero doble a real y luego multiplicar por
un factor de escala, figura2.9. El factor de escala se obtiene con la siguiente
frmula:
factor _ de _ escala =

Vmx _ real Vmn _ real


32000 6400

(1)

Donde Vmx _ real es 1 y Vmn _ real es 0 para todas las entradas analgicas
del CSTR, dando un factor de escala igual a 3.9063E-5. Si se desea cambiar de
rango, son los dos valores los que hay que modificar, por ejemplo para una
escala entre 0-15, Vmx _ real es 15 y Vmn _ real es 0

47

Figura 2.9. Convierte la imagen entera de la entrada de nivel a un valor real


escalado.

En la figura 2.9 los smbolos TEMP_D1 Y TEMP_R1 son variables locales de


la subrutina que no son ni entradas ni salidas, solo ayudan a la conversin.
Adems, dentro del programa de la subrutina ESCALADO _ CSTR, existen
tres bloques adicionales similares al anterior, para la conversin de la imagen de
temperatura, flujo y nivel.
En el programa principal, se tiene una segunda subrutina para el escalado de
las 4 restantes entradas analgicas, dos entradas analgicas del MAGLEV y dos
de la DOMTICA. Para ello se utiliza la subrutina ESCALADO _MAGLEV_ Y_
DOMOTICA. El programa de dicha subrutina es exactamente el mismo que el

48

correspondiente a la subrutina ESCALADO _ CSTR. Los parmetros de entrada


son las imgenes de las entradas analgicas: IMAGEN MAGLEV1 (I_M1),
IMAGEN MAGLEV2( I_M2), IMAGEN LUMINOSIDAD( I_L) y

IMAGEN

VENTILACION(I_V) y las salidas son las anteriores escaldas entre 0-1, llamadas
MAGLEV1_E, MAGLEV2_E, LUMINOSIDAD_E, Y VENTILACION _E.

2.3.4 Procesamiento de alarmas.

Subrutina PROCESA _ ALARMAS. En esta subrutina se procesan dos


alarmas de la DOMTICA, una alarma del ASCENSOR, cuatro alarmas del
CSTR y dos alarmas del MAGLEV.
Alarmas de la DOMTICA. La alarma de humo correspondiente a la variable
AH del programa del PLC y se procesa de acuerdo a la Red de Petri de la
figura1.4, del captulo anterior.
El diagrama de la Red de Petri de la figura 1.4, es llevada al programa de la
subrutina PROCESA _ ALARMAS en el Siemens, figura 2.10.

49

Figura 2.10. Programa del tratamiento de la alarma humo

50

Cuando se activa la entrada de alarma de humo (AH), en el primer segmento


en la figura 2.10, se activa el estado de alarma (A_AH) mediante un seteo a 1. El
segundo segmento inicia la cuenta en el temporizador T37. El tercer segmento
activa tanto la salida sonora (Q1.5) como la visual (Q1.6). Los siguientes cuatro
segmentos, son utilizados para el reconocimiento de las alarmas, as, si MB5 es
igual a 1 (valor ingresado desde Visual Basic), se activa el reconocimiento
OK_AH, esto apaga las salidas y tambin regresa al sistema a Operacin
Normal si la bobina T_AH no est activa, caso contrario nicamente es posible
mediante Forzar_AH como muestra el segmento 9.

Para desactivar el

reconocimiento OK_AH se debe escribir en MB5 desde Visual Basic el nmero


2, y para activar y desactivar Forzar_AH el nmero 3 y 4 respectivamente,
mediante los botones de comando del Anexo2.
Como se ver en el siguiente captulo, la escritura de dichos valores se logra
pulsando botones de comando programados. La tabla del Anexo 2, contiene los
valores de MB5, los botones de comando que permiten asignar y el evento que
se produce.
La bobina T_AH se pone en alto, al activar el bit de temporizacin, lo cual
ocurre cuando la entrada de alarma permanece activa por ms de un
determinado tiempo (establecido por el usuario desde la interfaz grfica).

El

segmento 10 borrar la marca T_AH, nicamente cuando el estado de alarma est


desactivado. Finalmente se mueve el estado de alarma (A_AH) a la direccin
M15.0 para la visualizacin en el SCADA.
La alarma de seguridad (AS) se procesa de la misma manera que la
correspondiente de humo. En este caso, el estado de alarma se llama A_AS, el
temporizador T38, la salida sonora y visual Q1.7 y Q2.0 (de acuerdo al Anexo1),

51

respectivamente. Los reconocimientos se realizan mediante OK_AS Forzar_AS


segn el Anexo2.
Alarma del ASCENSOR. El sensor de paracadas representa una alarma
llamada SPCAIDAS. El tratamiento es similar a tratamiento de las alarmas de la
DOMOTICA de la seccin anterior. En este caso la salida sonora y visual estn
en Q2.4 y Q2.5 (tabla3 del Anexo1).
Alarmas de CSTR. El tratamiento de alarmas de nivel alto (LSHH), nivel bajo
(LSLL), alarma de sobre presin (PT) y de sobre temperatura (TT) del lquido
merecen un tratamiento adicional al aplicado a las alarmas del ASCENSOR y de
la DOMTICA. As, adems de conocer el tiempo en que las entradas de alarma
estn activas, es necesario saber si el nivel de lquido, presin o temperatura
estn dentro de un rango predeterminado para regresar al estado normal luego
de haber ocurrido una alarma.
El tratamiento adicional implica un par de segmentos adicionales, donde se
compara el valor de las entradas analgicas con ciertos niveles. Por ejemplo,
cuando se activa la alarma LSHH en la figura2.11, se compara el valor de la
entrada de nivel de lquido escalada con una constante establecida por el usuario
desde la interfaz grfica, por lo general 0.9.

Figura 2.11. Compara el nivel de lquido escalado con una constante establecido
por el usuario.

52

Si est sobre ese nivel se activa la bobina (S_LSHH) que impide regresar al
estado Operacin Normal con el reconocimiento de alarmas llamado OK_CSTR
del formulario CSTR del Visual Basic. Solo es posible regresar, en la condicin
anterior, mediante una accin forzada, llamada reconocimiento Forzar_CSTR
(Figura2.12).

Figura 2.12. Es posible desactivar A_LSHH con OK_CSTR Forzar_CSTR.

El tratamiento de sobre presin y sobre temperatura se realiza exactamente


igual al correspondiente de sobre nivel LSHH.

2.3.5 Asignacin de los parmetros de los PIDs.

Se necesitan de PIDs para el control de flujo, nivel, presin y temperatura en


el CSTR y ventilacin de la DOMTICA. Cada uno de los PID tiene parmetros
como SetPoint, constante proporcional (K), tiempo integral (Ti) y tiempo derivativo
(Td). Los dos primeros estn en una escala de 0-1, mientras que los ltimos en
minutos.

53

Los valores reales de los parmetros de los PIDs se ingresan desde la interfaz
grfica del Visual Basic a las direcciones de memoria VD716, VD720, VD724 y
VD728 del PLC. Los valores de SetPoint y K son nmeros reales entre 0-100. La
asignacin se realiza mediante una subrutina PARMETROS_PID, que es
llamada desde el programa principal en cada ciclo del programa.
Al hacer un clic sobre el botn de control PRESION del formulario Principal de
Visual Basic, se habilita la marca M8.0 de la figura 2.13 y se habilitan los cuatro
bloques del segmento de la subrutina PARMETROS_PID. Las dos primeras
funciones, dividen el contenido de VD716 (SetPoint) y VD720 (K) entre 100 y los
guardan en las direcciones VD740 y VD744. Las dos ltimas funciones mueven el
contenido de VD724 (Ti) y VD728 (Td) a las direcciones VD748 y VD752. De
esta manera se tiene los valores de los parmetros del PID de la presin en las
direcciones VD740, VD744, VD748 y VD752 para ser utilizados cuando se
programen los controladores.

Figura 2.13. Programa en la Subrutina PARAMETROS_PID, para asignar los


parmetros a la variable PRESIN

54

Los restantes segmentos de la subrutina PARMETROS_PID son similares al


anterior y se utilizan para asignar parmetros de los PIDs de las variables
restantes.

2.3.6 Subrutina PULSADORES _ ASCENSOR

Esta subrutina permite al usuario modificar ciertas localidades de memoria del


PLC

desde el formulario ASCENSOR de Visual Basic. En la subrutina

PULSADORES _ ASCENSOR, las dos primeras lneas (figura2.14) se utilizan


para activar y desactivar la marca M16.0.

Figura 2.14. Segmentos en la subrutina PULSADORES _ ASCENSOR, que


permiten activar y desactivar M16.0

Con un clic sobre el botn de comando PCP1 del formulario ASCENSOR en


Visual Basic se asigna el valor 10 a la direccin MB5 del PLC. De acuerdo a la
figura2.14, cuando MB5 es 10 se pone en alto la marca M16.0. Ahora, el botn de
comando PCP1 del bloque Desactivar desactiva M16.0 al asignar el valor 11 a
MB5 cuando se hace un clic sobre l. En el programa principal del PLC, el

55

segmento 28 tiene PCP1 en paralelo con M16.0 conectados a la marca M3.4,


figura2.15. Por lo que activar M16.0 desde la interfaz grfica es igual que activar
el pulsador de cabina del piso1. En la programacin del programa del
ASCENSOR debe utilizarse la marca M3.4, mas no PCP1 ni M16.0.

Figura 2.15. En el programa principal, PCP1 est en paralelo con M16.0

Para el resto de pulsadores del ASCENSOR se aplica el mismo principio. Los


nmeros que se escriben y botones de comando correspondientes se detallan en
el Anexo2.

56

CAPTULO 3
SISTEMAS SCADA: LABORATORIO DE CONTROL DE
PROCESOS

3.1 Diseo del sistema SCADA

El ordenador es el encargado de la supervisin de las entradas y salidas de


las plantas, mediante las ventanas abiertas en Visual Basic. Cada cambio en la
planta debe ser representado. Para un mejor entendimiento por parte del usuario
las pantallas se configuran en tres reas: Proceso global, partes significativas del
proceso, y rea con asignacin de mando para acciones sobre parmetros de la
planta.
En el diseo de las pantallas se toman en cuenta las siguientes
consideraciones:

La organizacin de las pantallas y parte de las mismas, se realiza de tal


manera que muestre reas diferenciales fciles de entender.

Por

ejemplo, botoneras de entradas, alarmas del sistema, subpantallas, etc.

Las seales de controles son agrupadas por funciones, as mismo los


nombres asignados estn relacionadas con la funcin.

La utilizacin de colores, es otro aspecto muy importante. Desde el


color del fondo de las pantallas hasta el color de cada botonera,
permite una mejor apreciacin e interpretacin de la informacin. As
por ejemplo, asignar colores ms vivos como el rojo o verde a los
botones correspondientes a las alarmas.

57

El sistema SCADA es desarrollado mediante el software de Visual Basic. Para


la supervisin del proceso se realiza mediante varias pantallas dentro de una
misma aplicacin. Se tiene una pantalla principal a partir de la cual se puede
acceder al resto de pantallas.

3.2 Definiciones de Visual Basic 6

Visual Basic 6 representa una versin mejorada del lenguaje de programacin


Visual Basic de Microsoft. Visual Basic reduce el trabajo por parte del usuario,
de tal manera que muchas tareas son simples como arrastrar con el ratn objetos
grficos en la pantalla. El lenguaje de programacin que utiliza es Basic.
Visual Basic 6 es ms que un lenguaje de programacin. Como su nombre
(Visual) lo indica, durante la creacin de un programa es posible colocar objetos
grficos en la pantalla y la configuracin fcil de sus parmetros y atributos. De
esta manera el usuario tiene la capacidad de interactuar grficamente con la
pantalla mediante el ratn, teclado e impresora.
Un programa de Visual Basic puede estar en uno de dos modos: en el modo
de diseo o en el modo de ejecucin. En el modo de diseo se colocan controles
en el formulario con sus respectivas propiedades como tambin funciones. En el
modo de ejecucin se prueba el programa creado.
Cuando se trabaja en una aplicacin de Visual Basic se encuentra con los
siguientes trminos:

58

Controles: son cada uno de los botones, cajas de texto, barras de


desplazamiento, grficos, mens, etc. A cada control se debe asignar
un nombre para llamar dentro del programa.

Formularios: Un formulario es una ventana que contiene elementos de


control. Una aplicacin puede contener uno o ms formularios en
funcin con la complejidad del proyecto. As, en el presente trabajo se
necesita de mltiples formularios.

Objeto: es un elemento de la aplicacin, como un control o formulario


que contiene instrucciones programadas.

Propiedades: establece el aspecto de los controles y formularios,


como colores, tamaos, posicin y la manera de responder a acciones
del usuario.

Proyecto: Un proyecto es un conjunto de archivos. Estos archivos


contienen formularios con sus respectivas descripciones.

3.3 Crear un proyecto en Visual Basic6

Cuando se inicia Visual Basic desde el men Inicio de Windows, aparece el


cuadro de dialogo Nuevo proyecto que se muestra en la figura3.1.

59

Figura 3.1. Cuadro de dialogo Nuevo Proyecto

Seleccionando el icono etiquetado EXE estndar se crea una aplicacin que


se puede compilar o ejecutar de la forma tradicional. Se puede seleccionar otros
iconos dependiendo de la aplicacin que se requiera.
Una vez seleccionado uno de los iconos, se muestra una pantalla con varias
partes: barra de

herramientas, cuadro de herramientas, ventana formulario,

ventana posicin del formulario, ventana proyecto y ventana propiedades, como


muestra la figura3.2.

60

Figura 3.2. Componentes de un proyecto

La barra de herramientas se encuentra justo debajo de la barra de mens.


sta contiene iconos como agregar formularios, guardar proyecto, etc.

Para

propsitos de la SCADA de este trabajo se agregan cuatro formularios, cuyos


nombres son asignados mas adelante.
En el cuadro de herramientas se encuentran los controles que se pueden
agregar al formulario con tan solo arrastrar con el ratn.
En el rea de la ventana de formulario se encuentran todos los formularios
creados, y es el lugar donde se desarrolla la mayor parte del proyecto.

61

La ventana Posicin del formulario indica una vista previa de la ubicacin en la


pantalla en tiempo de ejecucin. sta ventana permite cambiar la posicin de los
formularios con tan solo arrastrar con el ratn.
La ventana de proyecto muestra los componentes del mismo en forma de
rbol, como formularios, mdulos.
La ventana de propiedades permite asignar nombres y propiedades a
controles y formularios. As, a los formularios creados anteriormente (Form1,
Form2, Form3, Form4 y Form5) se asignan los siguientes nombres Principal,
CSTR1, MAGLEV, DOMTICA y ASCENSOR, respectivamente.

3.4 Simatic Microcomputing.

Sematic MicroComputing es un software de la tecnologa Microsoft que


permite acceder y manipular datos de mquinas de control y automatizacin,
como el PLC S7-200 de CPU226, a travs de los controles ActiveX.
Para insertar los controles de SIMATIC en el cuadro de herramientas del
Visual Basic se procede de la siguiente manera: Proyecto>Componentes, y se
selecciona Siemens SIMATIC Data control y Siemens_SIMATIC_UserControls,
de esta manera se agregan en el cuadro de herramientas los controles: Data,
Button, Edit, Label y Slider.
Data. Permite la conexin con el PLC Siemens S7-200.
Button. Permite acceder por bits a los datos de la memoria de la CPU de PLC
Siemens. Tiene dos valores 0 1, por defecto 0 = OFF de color rojo y 1=ON de
color verde.

62

Edit.

Se utiliza para acceder y modificar datos en la memoria del PLC

Siemens en formato de bytes, palabras, palabras dobles, con tan solo escribir un
nmero.
Label. Permite leer valores de la memoria del PLC Siemens, los cuales son
mostrados en formato String.
Slider. Permite acceder a la memoria del PLC Siemens en bytes, palabras o
palabras dobles. Ajustando el nivel en el Slider se puede modificar valores de la
memoria.

Figura 3.3. Ventana de propiedades del control S7Data de Microcomputing

Para conectar un control del Microcomputing con el Siemens se va a la


ventana de propiedades del control S7Data, en Conexiones se selecciona el
control y en el cuadro de Variable Asignada se coloca la direccin de memoria del
PLC que se desea leer o escribir. La figura 3.3 muestra las instrucciones
anteriores.

63

3.5 Diseo de los formularios.

A continuacin se describe la funcionalidad de cada uno de los formularios


que conforman la Interfaz grfica del sistema SCADA.

3.5.1 Formulario: Principal.


Por defecto, el formulario Principal, en tiempo de ejecucin tiene la
apariencia de la figura3.4.
En este y todos los formularios, se utiliza un botn de comando etiquetado
como IniciarSCADA,

mediante un clic sobre el mismo se habilita los

temporizadores o relojes del Visual Basic que por defecto estaban inhabilitados.
La razn de inhabilitarlos por defecto, es que en el transiente de ejecucin,
muchas operaciones en el Visual Basic pueden ejecutarse antes que se logre
una comunicacin con el PLC y ocasionar conflictos; por esta razn todos los
formularios tienen dicho botn de comando para habilitar los temporizadores

64

Figura 3.4. Formulario Principal en tiempo de ejecucin

En la figura3.4, los cuatro botones de comando etiquetados como


DOMOTICA, ASCENSOR, CSTR y MAGLEV, sirven para mostrar los formularios
que llevan el mismo nombre. Por ejemplo, con un clic sobre DOMTICA se carga
el formulario DOMOTICA.frm que ocupa toda la pantalla del computador.
En el bloque Estados de conexin de mdulos de los mdulos de expansin,
se dispone de cinco botones de control para mostrar el estado de conexin de los
mdulos acoplados al PLC. Los botones tienen un color rojo cuando hay un error
de identificacin y error en los mdulos, y un color verde cuando no existen
dichos errores. De esta manera los botones etiquetados como Error en Modulo0,
Error en Modulo1, Error en Modulo2, Error en Modulo3, Error en Modulo4

65

permiten conocer el estado de error del primer mdulo EM235, del segundo
EM235, del primer EM232, del segundo EM232 y del mdulo digital EM223
acoplados al PLC.
El botn de comando y el cuadro de texto del bloque Modificar Parmetros de
Alarmas permiten mostrar ciertos

controles cuando se escribe 2009 en el

cuadro de texto, como muestra la figura3.5.

Figura 3.5. Formulario Principal en tiempo de ejecucin, con el bloque de los


parmetros de alarmas.

El bloque desplegado contiene tres editores de control que permiten asignar


valores Nivel Alto y Nivel Bajo entre 0-1, y el SetPoint en segundos de los
temporizadores, utilizados en la subrutina de tratamiento de alarmas del PLC. El

66

Nivel Alto y Nivel Bajo representan valores de las variables de presin,


temperatura, flujo, nivel y ventilacin; el primero por lo general 0.9 y el segundo
0.1. Estos valores, como se ver en los siguientes formularios, influyen en el
tratamiento de alarmas. Una vez terminada la modificacin, con un clic sobre
Terminar Modificacin se ocultan los controles que fueron puestos como visibles.
Tambin se dispone de un botn de control para mostrar si alguna de las
entradas de alarmas de las plantas involucradas se activ. ste botn est
etiquetado como OFF ALARMA (color rojo) si ningn estado de alarma est
activado y como ON ALARMA (color verde) si alguno lo est.
Debajo de la etiqueta Modificar Parmetros de los PIDs se dispone de un
botn de comando Analizar contrasea y un cuadro de texto. Si en el cuadro de
texto se escribe 11461, y se hace un clic sobre el botn de comando, se carga
el formulario PIDs que permite al usuario conocer los parmetros de los PIDs de
PRESIN, TEMPERATURA, FLUJO, NIVEL, VENTILACIN y cambiar los
mismos.
Para inhabilitar los temporizadores utilizados en el programa de Visual Basic,
se utiliza otro botn de comando llamado TerminarSCADA. Es necesario
inhabilitar los temporizadores antes de cerrar un formulario, ya que podra ser
que algunas operaciones an se estn realizando dentro del

Visual Basic

mientras que la conexin con el PLC ya se termin. Todos los formularios tienen
un botn de comando con la misma funcionalidad.
Para terminar la ejecucin del programa, basta hacer un clic sobre el botn de
comando etiquetado como Salir.

67

3.5.2 Formulario: PIDs

Este formulario, permite al usuario asignar parmetros a los PIDs de las


variables de presin, temperatura, flujo, nivel y ventilacin. Para asignar
parmetros a una variable, se hace un clic sobre el botn correspondiente y se
escriben los valores de SetPoint, K, Ti y Td en los editores de control
correspondientes. El SetPoint y la gananica proporcional (K) son expresados en
porcentaje, y el tiempo integral (Ti) y tiempo derivativo (Td) en minutos. Cuando
se termina la modificacin, se hace un clic sobre el botn de la variable
modificada para que vuelva al color rojo original y se puede modificar los
parmetros de otra variable.

Figura 3.6. Formulario PIDs.

68

El bloque derecho, Valores de los parmetros de los PIDs, muestra los valores
de los parmetros de los PIDs de las variables de control. El valor del SetPoint y
la constante K estn en porcentajes, y el tiempo integral y tiempo derivativo en
segundos.

3.5.3 Formulario: DOMTICA

ste y los dems formularios contienen botones de control etiquetados con los
nombres de la variable cuyo estado se desea conocer, as por ejemplo, para
visualizar el estado de la variable puerta cerrada (PC, tabla1 del Anexo1) del
programa del PLC, se crea un botn etiquetado como PC. Del mismo modo, los
botones de comando estn etiquetados con los nombres de las variables en el
PLC que se desea modificar.
Para comunicar la interfaz grfica con el PLC, a travs del formulario principal,
se debe hacer un clic sobre el botn de comando etiquetado como
Iniciar_SCADA para activar el temporizador. Antes de cerrar el formulario es
necesario desactivar el temporizador con un clic sobre el botn de comando
Terminar_SCADA, las razones se describen en la seccin anterior. Como se ver
mas adelante todos los formularios requieren de proceso anterior.

69

Figura 3.7. Formulario DOMTICA en tiempo de ejecucin

En la figura3.7, la mayora de los botones son para visualizar el estado de las


variables del PLC correspondientes a la DOMOTICA (Tabla1 Anexo1). Estos
botones tienen un color rojo cuando las entradas respectivas del PLC estn
desactivadas y verdes cuando estn activadas.
En el bloque Reconocimiento de alarmas, al hacer un clic sobre los botones
de comando se tiene un determinado evento. Por ejemplo, con un clic en OK_AH
se apaga las salidas de alarma pero no siempre el estado de alarma, el estado de
alarma se apaga si el tiempo que en que estaba activada la entrada de alarma de
humo es menor a un determinado tiempo (valor dado asignado por el usuario en
el formulario Principal), caso contrario solo es posible apagar dicho estado

70

mediante el botn Forzar_AH. Se tiene el mismo evento con el botn

de

comando OK_AS y Forzar_AS para la alarma de seguridad.


Un editor de control muestra un nmero real entre 0-1 que representa la
temperatura de una habitacin. Dicho rango puede ser modificado fcilmente a
pedido del usuario en el programa del PLC o directamente en Visual Basic.
Para terminar la ejecucin basta hacer un clic sobre el botn de comando
etiquetado como Salir.

3.5.4 Formulario: ASCENSOR


La figura3.8 contiene botones que muestran el estado de las entradas
digitales del PLC correspondientes al

ASCENSOR, un bloque llamado

Pulsadores y otro de Reconocimiento de Alarmas.

Figura 3.8. Formulario ASCENSOR en tiempo de ejecucin

71

Las entradas digitales I2.6 a I4.7 del PLC corresponden al ASCENSOR, y


muestran es estado de los switch y pulsadores de acuerdo a la tabla1 del
Anexo1. Los botones tienen un color rojo cuando las respectivas entradas estn
desactivadas y un color verde cuando estn activadas.
La entrada I4.7 representa una entrada de alarma del sensor de paracadas
llamada SPCAIDAS que al activarse, activa el botn A_CAIDA que representa el
estado de alarma y las salidas Q2.4 y Q2.5 (sonora y visual).
Los botones de comando OK_PCAIDA y Forzar_PCAIDA que estn debajo
de la etiqueta Activar son para activar el reconocimiento de las alarmas. Con un
clic sobre OK_PCAIDA se desactivan las salidas Q2.4 y Q2.5 del PLC, y se
desactiva el estado de alarma si el tiempo en que la entrada que produjo la
alarma estaba activada por un intervalo de tiempo menor a un cierto valor, el cual
es determinado por el usuario el formulario Principal. Con un clic sobre
Forzar_PCAIDA, se desactivan tanto las salidas como el estado de alarma.
Ciertas variables del ascensor se pueden activar desde el SCADA, por
ejemplo la variable pulsador cabina piso1 (PCP) puede activarse con un clic
sobre el botn cmdIPCP1 y desactivar con un clic sobre cmdTPCP1 (Anexo2).
Esto permite al usuario realizar llamadas del ascensor y direccionar a la cabina
desde la interfaz grfica.

3.5.5 Formulario: CSTR1

La figura3.9 muestra el valor de cuatro entradas analgicas y cuatro digitales


del PLC, los estados de alarma y el bloque de reconocimiento de las alarmas.

72

Figura 3.9. Formulario CSTR en tiempo de ejecucin

Se dispone de cuatro editores de control que permiten visualizar los valores


de las entradas analgicas AIW0, AIW2, AIW4 y AIW6 del PLC que se sern
conectados a los sensores de PRESIN(PT), TEMPERATURA(TT), FLUJO(FT)
Y NIVEL(LT) del tanque continuamente agitado. El rango de los controles es de
0 a 1, siendo lineal para una entrada de corriente de 4mA a 20mA. Para menos
de 4mA, por defecto los controles muestran cero.
Cuatro botones muestran el estado de las entradas I0.1, I0.2, I0.3 y I0.4 del
PLC que se sern conectados a los Switch de nivel alto (LSHH), nivel bajo
(LSLL), sobre presin (PSHH), sobre temperatura (TSHH) del CSTR.

Los

73

botones tienen un color rojo cuando las entradas estn desactivadas y un color
verde cuando se activan.
Al activar una entrada de alarma se producen dos eventos: se activa un botn
del bloque Estado de Alarma correspondiente y tambin dos salidas Q0.4 y Q0.5
del PLC (tabla2 del Anexo1). Existe un botn que muestra el estado de alarma
para cada entrada de alarma.
En el bloque de reconocimiento de alarmas, se dispone de cuatro botones de
comando, dos para activar el reconocimiento OK _CSTR y Forzar_CSTR y dos
para desactivar. Al activar el reconocimiento con OK _CSTR se apagan las
salidas Q0.4 y Q0.5 (sonara y visual) del PLC, pero no siempre el estado de
alarma.
El botn de comando OK _CSTR desactiva el estado de alarma si se cumplen
dos condiciones. Primero, si el tiempo en que la entrada de alarma estaba
activada por un intervalo de tiempo menor a un cierto valor establecido por el
usuario en el formulario principal. Segundo, si el valor de la variable analgica
que produjo la alarma se encuentra dentro de un rango tambin establecido por
el usuario.
Con el botn de comando Forzar_CSTR , es posible apagar las salidas Q0.4 y
Q0.5 y tambin el estado de alarma independientemente de las condiciones del
prrafo anterior.
Para salir del formulario, primero se hace un clic sobre el botn de comando
Terminar_SCADA y luego sobre el botn etiquetado Salir.

74

3.5.6 Formulario: MAGLEV

En este formulario se muestran las tres entradas de alarma, el estado de


alarma, la posicin vertical y el bloque de reconocimiento de las alarmas.

Figura 3.10. Formulario MAGLEV en tiempo de ejecucin

Los botones etiquetados como ALARMA1, ALARMA2 y ALARMA3 muestran


los estados de las entradas I0.6, I0.7 y I1.0 del PLC correspondientes al
MAGLEV. Dichos botones, tienen un color rojo cuando las entradas estn
desactivadas y un color verde cuando estn activadas. El programa
implementado en el PLC, permite que se activen dos salidas Q0.6 y Q0.7 para la
alarma sonora y visual, cuando alguna de ellas se active.

75

Un botn etiquetado como A_MAGLEV, cambia de rojo a verde tan pronto


como se active una entrada de alarma. Mantiene en dicho estado (en verde)
independientemente del estado de las entradas de alarma. El usuario puede
realizar el reconocimiento de la alarma mediante dos maneras.
Los botones de comando OK_MAGLEV y Forzar_MAGLEV que estn debajo
de la etiqueta Activar son para activar el reconocimiento de las alarmas. Con un
clic sobre OK_MAGLEV se desactivan las salidas Q0.6 y Q0.7 del PLC, y se
desactiva el estado de alarma si el tiempo en que la entrada que produjo la
alarma estaba activada por un intervalo de tiempo menor a un cierto valor, el cual
es determinado por el usuario el formulario Principal. Con un clic sobre
Forzar_MAGLEV, tambin es posible desactivar las salidas, pero es ms utilizado
para apagar el estado de alarma cuando no es posible desactivar mediante
OK_MAGLEV, o sea cuando la entrada de alarma estuvo activada por un lapso
de tiempo mayor a un cierto valor.
Los botones de comando OK_MAGLEV y Forzar_MAGLEV que estn debajo
de la etiqueta Desactivar son utilizados para desactivar el reconocimiento de
alarmas.
Los dos botones restantes del bloque de reconocimiento de las alarmas, solo
muestran si est o no activada el reconocimiento de las alarmas.
Finalmente se tiene un editor de control que muestra un nmero real entre 0-1
para representar la posicin vertical del MAGLEV.

Dicho rango puede ser

modificado fcilmente a pedido del usuario en el programa del PLC o


directamente en Visual Basic.
Para salir del formulario, primero se hace un clic sobre el botn de comando
Terminar_SCADA y luego sobre el botn etiquetado Salir

76

4. Conclusiones

El presente proyecto Sistemas de Control, Supervisin y Adquisicin de


datos de las plantas del laboratorio de Control de la USFQ, cumple con los
objetivos planteados en el perfil de tesis. El Sistema SCADA desarrollado
permite la supervisin y control remoto de las instalaciones: DOMTICA
aplicada a un recinto, prototipo de ASCENSOR, tanque continuamente
agitado presurizado (CSTR) y

transporte basado en levitacin

electromagntica (MAGLEV).

La capacidad del PLC S7-200 para incorporar tanto mdulos de entradas


y/o salidas digitales como analgicos, y su eficiencia en la solucin de
tareas de automatizacin sencillas hace que sea adecuado para el
presente proyecto.

La programacin del PLC S7-200 fue realizado en el lenguaje de contactos


KOP. Est lenguaje es bastante amigable para la programacin, an para
programadores que no tienen mucha experiencia en la materia.

Las Redes de Petri demostraron ser una herramienta efectiva para la


construccin sistemtica de sistemas a eventos discretos, como por
ejemplo el tratamiento de las alarmas.

Se mostr que es posible construir un Sistema SCADA de bajo costo


utilizando software convencionales como Visual Basic. Con la ventaja que
permite mejoras a futuro y con la desventaja de la limitada velocidad de
respuesta dada por la CPU de computador.

La nomenclatura utilizada para representar botones, botones de comando,


editores de control estn asociadas con el nombre de la variable fsica a la

77

cual representa. De esta manera, se requiere solo un adiestramiento


bsico para entender y hacer uso de las pantallas de la interfaz grfica.

El Sistema SCADA desarrollado permite realizar modificaciones a futuro.


Por ejemplo se pueden aadir nuevas plantas para el control, la
supervisin y adquisicin de datos de la misma.

El Sistema SCADA genera un archivo de texto que permite conocer el


estado de las entradas y salidas del PLC, como tambin de ciertas
variables de las plantas involucradas, como parmetros de los PIDs.

78

Bibliografa
[1] 1Bailey, David y Wrigth, Edwin, Practical SCADA for Industry.
[2] 5 Bustos Farias, Eduardo. INSTITUTO POLITCNICO NACIONAL.
SIMULACIN. Obtenido en lnea el 2 de marzo del 2009. Disponible en:
http://www.angelfire.com/ak6/ilb/5_1.pdf

[3] Garca, Javier. Universidad de Navarra. Aprenda Visual Basic6 como si


estuviera en primero. San Sebastian, agosto 1999. Obtenido en lnea el 23
de marzo del 2009. Disponible en:
http://mat21.etsii.upm.es/ayudainf/aprendainf/VisualBasic6/vbasic60.pdf
[4] 4Jimnez Macas, Emilio. Tcnicas de automatizacin avanzadas en procesos
industriales. Obtenido en lnea el 5 de marzo del 2009. Disponible en:
http://www.google.com.ec/search?q=emilio+jimenez+macias

[5] Microsoft Corporation. Microsoft Visual Basic 6.0. Aprendiendo Visual Basic
en 21 Dias. EditorialPrentice Hall.

[6] Siemens. SIMATIC MicroComputing. User Manual. Edicin 08/2001.


A5E00077133-02
[7] Siemens. SIMATIC Sistemas de automatizacin S7-200. Manual del
sistema. Tercera Edicin 2002. 6ES7 298-8FA22-8DH0.
[8] 2SISTEMAS SCADA, Obtenido en lnea el 10 de febrero del 2009. Disponible:
en http://www.alfinal.com/Temas/sistemascada.shtml
[9] 3Tolosa, Gabriel. Protocolos y modelo OSI. Obtenido en lnea el 15 de febrero
del 2009. Disponible en:
http://www.tyr.unlu.edu.ar/cms/files/02-Protocolos%20y%20OSI_0.pdf
[10] 6UNIVERSIDAD NACIONAL DE COLOMBIA,2007. Zapata, Germn.DISEO
DE AUTOMATISMOS SECUENCIALES PARA CONTROLADORE LGICOS
PROGRAMABLES

[11] Vazquez, Carlos. Diseo y construccin de un laboratorio virtual utilizando


Redes de Petri.Toluca, Mxico, Diciembre 2002.

79

Anexo1. Tablas de las entradas y salidas del PLC.


Tabla1. Descripcin de las variables digitales de entrada del sistema
VARIABLE
LSHH
LSLL
PSHH
TSHH
A1
A2
A3
SPC
SGC
SCC
SVC
SPA
SGA
SCA
SVA
AH
AS
LE
SPUERTA
SPESO
PEP1
PEP2
PEP3
PE
PCP1
PCP2
PCP3
SAP1
SBP1
SAP2
SBP2
SAP3
SBP3
FCS.
FCI.
SPCAIDAS

DIRECCIN
EN MEMORIA
I0.1
I0.2
I0.3
I0.4
I0.6
I0.7
I1.0
I1.2
I1.3
I1.4
I1.5
I1.6
I1.7
I2.0
I2.1
I2.2
I2.3
I2.4
I2.6
I2.7
I3.0
I3.1
I3.2
I3.3
I3.4
I3.5
I3.6
I3.7
I4.0
I4.1
I4.2
I4.3
I4.4
I4.5
I4.6
I4.7

DESCRIPCIN

UBICACIN

Switch de nivel alto ( CSTR)


Switch de nivel bajo (CSTR)
Switch de sobre presin (CSTR)
Switch de sobre temperatura (CSTR)
Alarma1 del MAGLEV
Alarma2 del MAGLEV
Alarma3 del MAGLEV
Switch Puerta Cerrada(DOMOTICA)
Switch Garaje Cerrado(DOMOTICA)
Switch Cortina Cerrada(DOMOTICA)
SwitchVentana Cerrada(DOMOTICA)
Switch Puerta Abierta(DOMOTICA)
Switch Garaje Abierto(DOMOTICA)
Switch Cortina Abierta(DOMOTICA)
Switch Ventana Abierta(DOMOTICA)
Alarma de Humo(DOMOTICA)
Alarma de Seguridad(DOMOTICA)
Luces Exteriores(DOMOTICA)
Switch puerta de cabina(ASC.)
Switch de sobrepeso (ASC.)
Pulsador exterior piso1 (ASC.)
Pulsador exterior piso2 (ASC.)
Pulsador exterior piso3 (ASC.)
Paro de emergencies (ASC.)
Pulsador cabina piso1 (ASC.)
Pulsador cabina piso2 (ASC.)
Pulsador cabina piso3 (ASC.)
Switch A piso1 (ASC.)
Switch B piso1 (ASC.)
Switch A piso2 (ASC.)
Switch B piso2 (ASC.)
Switch A piso3 (ASC.)
Switch B piso3 (ASC.)
Final de carrera superior (ASC.)
Final de carrera inferior (ASC.)
Sensor paracadas (ASC.)

M0.1
M0.2
M0.3
M0.4
M0.6
M0.7
M1.0
M1.2
M1.3
M1.4
M1.5
M1.6
M1.7
M2.0
M2.1
M2.2
M2.3
M2.4
M2.6
M2.7
M3.0
M3.1
M3.2
M3.3
M3.4
M3.5
M3.6
M3.7
M4.0
M4.1
M4.2
M4.3
M4.4
M4.5
M4.6
M4.7

80

Tabla2. Descripcin de las variables analgicas de entradas del sistema


VARIABLE
PRESIN
TEMPERATURA
FLUJO
NIVEL
SIN ASIGNAR
SIN ASIGNAR
SIN ASIGNA
VENTILACION

DIRECCIN EN
MEMORIA
AIW0
AIW2
AIW4
AIW6
AIW8
AIW10
AIW12
AIW14

DESCRIPCIN

UBICACIN

CSTR
CSTR
CSTR
CSTR
MAGLEV
MAGLEV
DOMTICA
DOMOTICA

VW16
VW18
VW20
VW22
VW24
VW26
VW28
VW30

Tabla3. Descripcin de las variables digitales de salida del sistema


VARIABLE
Salida rpida1
Salida rpida2
Sentido giro vlvula1
Sentido giro vlvula2
Alarma sonora
Alarma visual
Alarma sonora
Alarma visual
Apertura/Cierre Puerta
Apertura/Cierre garaje
Apertura/Cierre cortina
Apertura/Cierre ventana
Encendido/Apagado Alarma Sonora
Encendido/Apagado Alarma Visual
incen
Encendido/Apagado Alarma Sonora
Segur.
Encendido/Apagado Alarma Visual
Segur.
Encendido/Apagado Luces
Encendido/Apagado Ventilador
Alarma sonora
Alarma visual
Sin asignar
Sin asignar

DIRECCIN EN
MEMORIA
Q0.0
Q0.1
Q0.2
Q0.3
Q0.4
Q0.5
Q0.6
Q0.7
Q1.1
Q1.2
Q1.3
Q1.4
Q1.5
Q1.6

DESCRIPCIN
MAGLEV
MAGLEV
CSTR
CSTR
CSTR
CSTR
MAGLEV
MAGLEV
DOMTICA
DOMTICA
DOMTICA
DOMTICA
DOMTICA
DOMTICA

Q1.7

DOMTICA

Q2.0

DOMTICA

Q2.1
Q2.2
Q2.4
Q2.5
Q2.6
Q2.7

DOMTICA
DOMTICA
ASCENSOR
ASCENSOR
ASCENSOR
ASCENSOR

Tabla4. Descripcin de las variables analgicas de salidas del sistema


VARIABLE
Sin asignar
Sin asignar
Luces interiores

DIRECCIN EN
MEMORIA
AQW0
AQW2
AQW4

DESCRIPCIN
CSTR
CSTR
DOMOTICA

81

Anexo2. descripcin de los botones de comando utilizados en la interfaz


grfica.
Valor en
MB5

Nombre del Botn/


formulario

Descripcin

cmdActOK_AH(DOMOTICA)

Activa la variable OK_AH

cmdDActOK_AH(DOMOTICA)

Desactiva la variable OK_AH

cmdActForzar_AH(DOMOTICA)

Activa la variable Forzar_AH

cmdDActForzar_AH(DOMOTICA)

Desactiva la variable Forzar_AH

cmdActOK_AS(DOMOTICA)

Activa la variable OK_AS

cmdDActOK_AS(DOMOTICA)

Desactiva la variable OK_AS

cmdActForzar_AS(DOMOTICA)

Activa la variable Forzar_AS

cmdDActForzar_AS (DOMOTICA)

Desactiva la variable Forzar_AS

10

cmdIPCP1(ASCENSOR)

Activa la variable PCP1

11

cmdTPCP1(ASCENSOR)

Desactiva la variable PCP1

12

cmdIPCP2(ASCENSOR)

Activa la variable PCP2

13

cmdTPCP2(ASCENSOR)

Desactiva la variable PCP2

14

cmdIPCP3(ASCENSOR)

Activa la variable PCP3

15

cmdTPCP3(ASCENSOR)

Desactiva la variable PCP3

16

cmdIPEP1(ASCENSOR)

Activa la variable PEP1

17

cmdTPEP1(ASCENSOR)

Desactiva la variable PEP1

18

cmdIPEP2(ASCENSOR)

Activa la variable PEP2

19

cmdTPEP2(ASCENSOR)

Desactiva la variable PEP2

20

cmdIPEP3(ASCENSOR)

Activa la variable PEP3

21

cmdTPEP3(ASCENSOR)

Desactiva la variable PEP3

22

cmdIPE (ASCENSOR)

Activa la variable PE

23

cmdcmdTPE (ASCENSOR)

Desactiva la variable PE

31

cmdActOK_PCAIDA (ASCENSOR)

Activa la variable OK_PCAIDA

32

cmdDActOK_PCAIDA (ASCENSOR)

Desactiva la variable OK_PCAIDA

33

cmdActForzar_PCAIDA (ASCENSOR)

Activa la variable Forzar_PCAIDA

34

cmdDActForzar_PCAIDA (ASCENSOR)

Desactiva la variable Forzar_PCAIDA

41

cmdActOK_CSTR (CSTR1)

Activa la variable OK_CSTR

42

cmdDActOK_CSTR (CSTR1)

Desactiva la variable OK_CSTR

43

cmdActForzar_CSTR (CSTR1)

Activa la variable Forzar_CSTR

44

cmdDActForzar_CSTR (CSTR1)

Desactiva la variable Forzar_CSTR

82

51

cmdActOK_MAGLEV (MAGLEV)

Activa la variable OK_ MAGLEV

52

cmdDActOK_ MAGLEV (MAGLEV)

Desactiva la variable OK_ MAGLEV

53

cmdActForzar_ MAGLEV (MAGLEV)

Activa la variable Forzar_ MAGLEV

54

cmdDActForzar_ MAGLEV(MAGLEV)

Desactiva variable Forzar_ MAGLEV