Documentos de Académico
Documentos de Profesional
Documentos de Cultura
T E S I S
QUE PARA OBTENER EL TITULO DE
INGENIERO EN CONTROL Y
AUTOMATIZACIÓN.
P R E S E N T A N :
ANGELES TANIA JUÁREZ SÁNCHEZ
FERNANDO OLIVERA CAUDILLO
LUIS ALFREDO MUÑOZ SALAS.
JAJASJ
OOOO
1
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Al Ingeniero Ricardo Hurtado Rangel nuestro asesor de tesis, por confiar en nosotros darnos su
apoyo y conocimiento y por su compromiso desinteresado a lo largo de este proyecto.
Al Ingeniero José Luis Arias Ortiz por todas las oportunidades, facilidades, consejos y experiencia
gracias a las cuales he concluido de manera exitosa una etapa más en mi vida.
Son muchas las personas a las que me gustaría agradecer su cariño, apoyo,
ánimo y compañía en las diferentes etapas de mi vida. Algunas están aquí
conmigo y otras en mis recuerdos y en mi corazón. Sin importar en donde
estén quiero darle las gracias por formar parte de mí, por todo lo que han
brindado y por todas sus bendiciones.
A mi MADRE por mostrarme el valor de la familia, porque gracias a sus cuidados, atenciones y
consejos me han permitido culminar un ciclo más en mi vida, Mami tu esfuerzo, se convirtió en tu
triunfo y el mío, TE AMO.
A mi PADRE por su ejemplo, apoyo económico y emocional, por las noches de desvelo y los
consejos en todos mis proyectos porque me has mostrado que nos podemos levantar de las
adversidades por más fuertes que sean, porque gracias a tu esfuerzo nos permitiste tener a mi
madre tan cerca de nosotros.
A mi HERMANO por la compañía y apoyo que me has brindado en momentos difíciles, por las risas,
consejos, por ser partícipe de mi vida gracias Enano porque sé que siempre contaré contigo.
A ALE por su apoyo y comprensión por compartir mis alegrías y tristezas y enseñarme un cariño
sincero, desinteresado por su tolerancia y por persistir y no dejar que el cariño que nos tenemos se
acabe.
A todos, mis tíos, primos y sobrinos que han estado en este gran recorrido de mi crecimiento como
persona y en la culminación de mis estudios.
2
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
A mis padres como un humilde homenaje por el apoyo y comprensión que siempre me
han brindado, que con su sacrificio guiaron mi camino e hicieron posible llegar a esta
meta.
A mis hermanos que una vez que he seguido sus consejos y apoyo moral he podido llevar
conmigo siempre su ejemplo de superación en la vida y crear un camino lleno de
oportunidades.
A mis amigos que con su gran apoyo y comprensión me han podido sacar de apuros y he
tenido una gran convivencia agradable.
3
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Así mismo agradezco a los maestros y compañeros que me ayudaron a entender las
bases de teoría fundamentales que permiten la solución de problemas y al mismo tiempo
son la respuesta a preguntas planteadas a lo largo de la historia.
4
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
CONTENIDO
Glosario ........................................................................................................................... 10
Objetivo General. ............................................................................................................. 13
Objetivos Específicos ...................................................................................................... 13
Resumen ......................................................................................................................... 14
Introducción. .................................................................................................................... 15
Problema ......................................................................................................................... 16
Alcance. ........................................................................................................................... 17
Justificación. .................................................................................................................... 18
Aportaciones.................................................................................................................... 20
Estructura De La Tesis. ................................................................................................... 21
I. “TECNOLOGÍA DE COMUNICACIÓN ENTRE APLICACIONES EMPLEADAS EN LA
SUPERVISIÓN DE PROCESOS” .................................................................................... 22
1.1 Activex. .............................................................................................................. 23
1.1.1 En El Cliente. ................................................................................................... 23
1.1.2 En El Servidor. ................................................................................................. 23
1.1.3 Guiones ActiveX. ............................................................................................. 23
1.1.4 Ventajas, Desventajas Y Riesgos .................................................................... 24
1.2 Dynamic Data Exchange (DDE) (Intercambio Dinámico de Datos). ........................ 25
1.2.1 Utilización DDE ................................................................................................ 25
1.2.2 Windows, Cliente, Servidor. ............................................................................. 26
1.2.3 Protocolo. ........................................................................................................ 26
1.2.4 Elementos De Conversación. ........................................................................... 26
1.3 Open Data Base Conectivity (ODBC) (Conectividad De Base De Datos Abierta). .. 27
1.3.1 La Interfaz. ....................................................................................................... 29
1.3.2 ODBC define dos tipos de drivers. ................................................................... 30
1.3.3 Estructura Del ODBC. ..................................................................................... 31
1.4 Protocolos De Comunicación. ................................................................................ 31
1.4.1 Componentes de las Redes Industriales .......................................................... 32
1.4.2 RS-232. ........................................................................................................... 33
1.4.3 Ethernet. .......................................................................................................... 35
1.5 Tecnología OPC. .................................................................................................... 37
1.5.1 Historia del OPC .............................................................................................. 37
5
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
6
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
7
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Contenido de Figuras
Figura 1. Tecnologías de software _______________________________________________________ 22
Figura 2. Aplicación ODBC. _____________________________________________________________ 29
Figura 3. Ejemplos de RED. ____________________________________________________________ 30
Figura 4. Transmisión de datos. _________________________________________________________ 33
Figura 5.Integración de datos en OPC. ___________________________________________________ 39
Figura 6. Sistema abierto con servidores OPC. ____________________________________________ 40
Figura 7. Diagrama cliente-servidor OPC. ________________________________________________ 40
Figura 8. Organización de los datos en un servidor OPC. ___________________________________ 41
Figura 9. Problema OPC _______________________________________________________________ 43
Figura 10. Solución OPC. _______________________________________________________________ 43
Figura 11. Arquitectura Cliente / Servidor. ________________________________________________ 44
Figura 12. “n” de grupos. _______________________________________________________________ 44
Figura 13. Diseño de un servidor OPC. ___________________________________________________ 45
Figura 14. Arquitectura de un PLC convencional. __________________________________________ 51
Figura 15. Ciclo de Trabajo del PLC. _____________________________________________________ 52
Figura 16. Dimensiones del PLC CompactLogix LE32E ____________________________________ 53
Figura 17. División de los sistemas de control avanzado ___________________________________ 54
Figura 18. Principales componentes de un SCD __________________________________________ 56
Figura 19. Medida a distancia. ___________________________________________________________ 63
Figura 20. Entorno de programación de visual Basic _______________________________________ 65
Figura 21. Ejemplo de control en una caldera _____________________________________________ 70
Figura 22. DTI para el control de nivel en la caldera _______________________________________ 71
Figura 23. Ventana principal ____________________________________________________________ 82
Figura 24.Ventana para selección de modo de control _____________________________________ 83
Figura 25.Ventana de válvula de llenado _________________________________________________ 84
Figura 26.Ventana de medidor de flujo ___________________________________________________ 85
Figura 27. Configuración del driver ______________________________________________________ 88
Figura 28. Configuración de un OPC Topic _______________________________________________ 89
Figura 29. Vínculos DDE/OPC de las variables en de control _______________________________ 90
Figura 30. Estado inicial de la interfaz ____________________________________________________ 93
Figura 31. Estado inicial del controlador de proceso _______________________________________ 94
Figura 32. Ventana de selección de modo de control. ______________________________________ 95
Figura 33. Estado inicial Del mando de la válvula __________________________________________ 95
Figura 34. Válvula FV-16 abierta manualmente____________________________________________ 96
Figura 35. Demanda de vapor ___________________________________________________________ 96
Figura 36. Forzado de cierre de la válvula ________________________________________________ 97
Figura 37. Exportación de las variables de proceso a Excel _________________________________ 98
Figura 38. Forzado del apagado de los quemadores _______________________________________ 99
Figura 39. Activación del modo automático de control _____________________________________ 100
Figura 40. Aplicación de la nueva histérisis ______________________________________________ 100
Figura 41. Nivel bajo en la caldera ______________________________________________________ 101
Figura 42. Límite superior establecido ___________________________________________________ 102
Figura 43. Nivel disminuyendo en modo automático ______________________________________ 102
Figura 44. Límite inferior establecido ____________________________________________________ 103
Figura 45. Vapor de salida en modo automático __________________________________________ 103
Figura 46. Mando de la válvula durante modo automático _________________________________ 104
Figura 47. Habilitación de envío de datos a Excel ________________________________________ 105
Figura 48. Exportación de datos durante la prueba _______________________________________ 105
8
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Contenido de Tablas
9
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
GLOSARIO
ASP: Active Server Pages es una tecnología de Microsoft del tipo "lado del servidor"
para páginas web generadas dinámicamente.
Golpe de ariete: El golpe de ariete es una gran fuerza destructiva que puede presentarse
en cualquier sistema de bombeo, cuando en este el caudal (gasto) cambia
repentinamente de un momento a otro cualquiera que sea la causa.
10
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Polimorfismo: Propiedad de ciertos cuerpos que pueden cambiar de forma sin variar su
naturaleza.
11
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
12
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
OBJETIVO GENERAL.
OBJETIVOS ESPECÍFICOS
13
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
RESUMEN
14
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
INTRODUCCIÓN.
ANTECEDENTES
OLE 1.0 aparece con las versiones 2 y 3 de Microsoft Windows. Por aquel entonces los
ordenadores aún tenían que superar la barrera de los 640Kb de memoria RAM, y lo de
hacer funcionar más de una cosa al mismo tiempo aún daba dolores de cabeza.
OLE 2.0 mantenía la idea del documento tipo Cajón de Sastre; formatos diferentes de
datos dentro de un mismo contenedor. Aquí apareció por primera vez el concepto de
Objetos Comunes (COM, Common Object Model), creándose un estándar para los
objetos OLE y otros conceptos. OLE 2.0 presentó un estándar para el tratamiento de
objetos. De esta manera, los integradores de software no necesitan conocer las
aplicaciones destinatarias de sus objetos. Por lo tanto este trabajo nace, con la idea de
generar un software de aplicación que pueda integrar diferentes tecnologías de hardware
y software. Para que en un futuro cercano se pueda vender y explotar para el beneficio
técnico y económico. Propio como desarrollo de ingeniería.[9]
15
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
PROBLEMA
16
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
ALCANCE.
El software desarrollado en Visual Basic para integrar y gestionar datos como se hace en
un SCADA, tiene los siguientes alcances.
17
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
JUSTIFICACIÓN.
En los últimos años se han producido una serie de cambios significativos en tecnologías
claves en el campo del control. Estas se refieren sobre todo a la disponibilidad directa de
las mediciones de campo a través de buses de campo y sistemas de control distribuido,
algoritmos de control, hardware avanzado, etc.
Todo esto hace necesario que el intercambio de datos de los dispositivos de campo sea
cada día indispensable, hasta ahora cuando una aplicación requería el acceso a un
elemento de control, se necesitaba el desarrollo de controladores o drivers de forma
independiente o específica lo que implicaba:
Duplicación de esfuerzos: todos los programas necesitan un driver para un
determinado hardware.
Falta de consistencia entre drivers: hay características del hardware no soportadas
por todos los drivers.
Cambios en el hardware: hacen que los drivers queden obsoletos.
Conflictos de acceso: generalmente, dos programas no pueden acceder
simultáneamente al mismo dispositivo puesto que poseen drivers independientes.
Los fabricantes de hardware no pueden desarrollar un driver eficiente utilizable por todos
los clientes debido a las diferencias de protocolos entre clientes.
La tecnología OPC (Object Linking and Embedding (OLE) for process control) permite
facilitar un mecanismo para extraer datos de una fuente y comunicarlos a cualquier
aplicación cliente de manera estándar, además los servidores OPC tiene una fácil
integración en aplicaciones en Visual Basic, Excel, Access, etc. No necesitan
herramientas especiales para su desarrollo. Por todo ello la tecnología OPC nos ofrece
las siguientes ventajas:
Reducción de tiempo y costos de integración de sistemas más bajos
Facilidad de integración (conectividad simplificada)
Facilidad de conexión e interoperabilidad de aplicaciones
Eliminación de bloqueos propietarios
Acceso a los datos por cualquiera en la jerarquía de automatización
18
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Facilidad de uso
Menores costos de mantenimiento
No obsolescencia
El objetivo de desarrollar un software en Visual Basic usando la tecnología OPC es crear
una interfazs, de modo que sea un programa cliente que se pueda conectar con cualquier
OPC-server. Visual Basic es actualmente el lenguaje de programación utilizado en todo el
mundo debido a las ventajas que éste ofrece tales como economía, fácil aprendizaje
facilitando una interfaz visual al mismo tiempo puede ser capaz de crear potentes
aplicaciones a través de su lenguaje.
Desarrollar una aplicación OPC por medio de Visual Basic permitirá crear infinidad de
aplicaciones con una única licencia sin limitaciones en el número de variables.
La intención de su desarrollo no es por ningún motivo competir con un software SCADA
sino crear otra alternativa que permita establecer comunicación a cualquier aplicación
cliente de manera sencilla y mucho menos costosa ya que comúnmente los sistemas
SCADA son demasiado grandes, soliendo utilizar miles de etiquetas (entradas /salidas),
haciéndolo un software costoso, además de ser sobrado para algunos procesos que solo
requieren de escasas aplicaciones.
Teniendo en cuenta que la solución brindada a través de la generación de un software
OPC deberá reducir el período de desarrollo y costos de entrenamiento asociados con el
tiempo que toma aprender diferentes paquetes para cubrir las especificaciones finales del
sistema.
19
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
APORTACIONES.
El diseño de este software está orientado a mostrar de manera práctica una solución al
problema de la falta de interoperabilidad entre dispositivos de control, aunque el grado de
estandarización actual no permite hablar de sistemas totalmente abiertos ya que un
sistema abierto debe permitir al usuario unir en una misma aplicación los componentes de
hardware y software de distintos fabricantes que más se ajusten a sus necesidades
particulares.
20
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
ESTRUCTURA DE LA TESIS.
El presente trabajo escrito está estructurado en 4 capítulos, logrando así una mejor
organización de la información. Una breve descripción del contenido de los mismos se
detalla a continuación.
Capítulo II. Se dan los diferentes hardware y software que se encuentran en la aplicación
de sistemas de control, mostrando las herramientas que se pueden utilizar en el proyecto
desplegado.
Capítulo III. Se desarrolla de una forma muy completa cada uno de los pasos que se
llevaron a cabo para la realización de la Interfaz Hombre Máquina y su descripción de
funcionamiento, mostrando los elementos constitutivos de cada pantalla y cada variable
que se conjunta.
Capítulo IV. Trata sobre los costos del proyecto. Aquí se desglosan todas las partidas
necesarias para la elaboración del costo total del proyecto, además de una comparación
de un sistema completo con respecto a un sistema desarrollado para una aplicación de un
solo proceso.
21
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
En este capítulo se hablara sobre las diferentes tecnologías de software que existen para
la supervisión de procesos tales como lo son: ACTIVEX, DDE (DYNAMIC DATA
EXCHANGE), ODBC (OPEN DATABASE CONECTIVITY), LOS PROTOCOLOS DE
COMUNICACIÓN, OPC (OLE FOR PROCESS CONTROL), como se muestra en la figura
No.1.
22
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
1.1 ACTIVEX.
1.1.1 EN EL CLIENTE.
Son pequeños programas que se pueden incluir dentro de páginas web y sirven para
realizar acciones de diversa índole. Por ejemplo hay controles ActiveX para mostrar un
calendario, para implementar un sistema de FTP, etc.´
Los controles ActiveX son particulares de Internet Explorer.
1.1.2 EN EL SERVIDOR.
También existen controles ActiveX del servidor y la gente que conozca ASP seguro que
los utiliza ya, aunque sea sin darse cuenta.
Por ejemplo, cuando realizamos una conexión con una base de datos, estamos utilizando
un control ActiveX del servidor.
23
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
El host es la aplicación que crea el motor. Ejemplos de hosts son Internet Explorer
y FrontPage.
El motor procesa y ejecuta los comandos de guión. Ejemplos de motores son el
conjunto de lenguajes como VBScript, JSCript, Perl, Tcl/Tk, etc.
Los guiones los encontramos embebidos dentro de código HTML.
1.1.4.1 VENTAJAS
Fácil de utilizar. Siempre que visite una página Web que utiliza un control ActiveX, Internet
Explorer comprobará automáticamente si dispone del control necesario instalado en el
sistema.
Si no es así, lo instalará. Además, a diferencia de otras aplicaciones de tipo
“complemento”, los controles ActiveX están ahí sólo cuando los necesita y no ocupan
valiosos recursos cuando no los necesita.
Mayor acceso a sitios mejores. Los controles ActiveX abren infinitas posibilidades de
agregar nuevo contenido al Web.
Cada control ActiveX contiene una firma digital, que permite comprobar la procedencia del
código recibido, para reducir la posibilidad de ser afectado por un virus informático.
1.1.4.2 DESVENTAJAS
El uso de ActiveX tiene su máxima aplicación en entornos homogéneos, basados en los
diferentes sistemas operativos y aplicaciones de Microsoft, en los que se puede
aprovechar la capacidad de los controles para obtener y presentar información de fuentes
muy diversas: bases de datos SQL o Access, hojas de cálculo Excel, etc.
A pesar de las numerosas similitudes entre el uso de Applets Java y controles ActiveX,
existen diferencias importantes, que condicionan en gran medida su aplicación. Los
controles ActiveX están totalmente enfocados a los entornos basados en los sistemas
operativos de Microsoft (Windows 3.11, 95 y NT).
De hecho, el único cliente Web capacitado para utilizar estos controles es el Internet
Explorer. Además, los módulos ActiveX se distribuyen en el formato binario característico
de los procesadores de Intel, mientras que los Applets Java tienen un espectro de
aplicación mucho más amplio, gracias a su distribución en un formato independiente de la
arquitectura hardware de cada tipo de ordenador. [11]
24
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
1.1.4.3 RIESGOS
Riesgos de los controles: Cuando los descargamos, los controles se ejecutan como
cualquier otro programa, teniendo acceso total al sistema. Pueden leer y escribir ficheros,
abrir conexiones de red, ejecutar comandos del sistema, es decir, realizar cualquier tarea
permitida por el sistema operativo.
Observando esto, corremos grandes riesgos si ejecutamos código de dudosa
procedencia.
Riesgos de los contenedores: Un contenedor es una aplicación que puede contener
controles y documentos. El peligro radica en la posibilidad de ejecución interactiva de
múltiples controles contenidos dentro de un contenedor, como por ejemplo una página
web.
Riesgos de los guiones: Permiten enviar comandos interactivamente a controles ActiveX
usando Java Script o VBScript. Los comandos proceden del contenedor o del servidor.
Pueden aceptar comandos de cualquier página web. [11]
25
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
1.2.3 PROTOCOLO.
Como con la mayoría de las comunicaciones, un conjunto de normas que aplican para
determinar cómo y cuándo se envían los datos. Estas normas determinan el protocolo
que se utiliza para regular el intercambio de datos. DDE requiere su propio protocolo para
supervisar la comunicación entre aplicaciones.
Este protocolo describe los procedimientos utilizados para iniciar y finalizar una sesión de
DDE, enviar datos a otra aplicación, recibir los datos de otra aplicación, y dar
instrucciones a otra aplicación para ejecutar una macro o comando. Hay relativamente
pocos parámetros que constituyen el presente protocolo, haciendo las comunicaciones
DDE bastante elemental.
26
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
1.2.4.1 SOLICITUD.
Este es el programa con el que se quiere conversar. Con el fin de iniciar una
conversación con otra aplicación, usted tiene que saber el nombre del otro programa.
Este es el nombre del ejecutable de los demás, menos los .exe. [14]
Como un ejemplo, si se abre una conexión DDE con el Administrador de Programas de
Windows, el nombre de la aplicación sería PROGMAN. Si la otra aplicación no está en
ejecución, usted no podrá conectarse a él y lo más probable es que obtener un ERROR =
70. Es el programador tiene la responsabilidad de garantizar que la otra aplicación se
está ejecutando. Si no es así, usted debe invocar utilizando los SCALL () función.
1.2.4.2 TEMA
Este es el tema de datos que se designa para el acceso DDE, DDE de la aplicación del
servidor. Este campo está predeterminado por la aplicación de servidor como un objeto
que le gustaría compartir. Por ejemplo, si se va a comunicar con una hoja de cálculo de
Excel a través de DDE, el tema de la conversación sería el nombre del archivo de hoja de
cálculo con el que desea intercambiar datos.
1.2.4.3 ARTÍCULO
Esta es la pieza de información que usted está tratando de leer. Usando el ejemplo de
Excel, el tema sería el de células específicas en la hoja de trabajo. Si usted quiere saber
qué programas se han definido en el grupo Accesorios de Windows en el Administrador
de programas, deberá utilizar el nombre del grupo de “accesorios” para el tema.
Para poder utilizar DDE con éxito, el programador debe tener toda la información relativa
a la aplicación remota de antelación. En otras palabras, usted no puede llevar a cabo una
conversación DDE a menos que sepa los temas que se comparten y la naturaleza de los
temas.
Esto puede limitar la utilidad y la capacidad que ofrece DDE. Por ejemplo, es posible que
desee obtener información de su hoja de cálculo de Excel, pero sin saber lo que espera
para Excel DDE temas y artículos que no pueden comunicarse con ella en absoluto. [14]
27
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
SQL inmerso no fue óptimo para aplicaciones que necesitaban analizar guardados en
bases de datos, tales como DB2 y Oracle, y preferiblemente lo hacían a través de
interfaces familiares tales como Microsoft Excel. Bajo el acercamiento tradicional de
accesar la base de datos, una versión de Microsoft Excel debería poseer un pre-
compilador con código de DB2 o de Oracle.
ODBC ofrece un nuevo acercamiento: provee programas separados para extraer la
información de la base de datos, y luego tiene una forma de importar los datos. Siempre
existirá métodos viables de comunicación; protocolos de datos, y capacidades de DBMS,
la solución ODBC permite utilizar tecnologías para ser definidos como interfaces
estándares.
Esta solución lleva a la idea de drivers de bases de datos – librerías de unión dinámico
(dynamic-link libraries, DLL) que una aplicación puede invocar cuando sea requerido para
beneficiarse del acceso a una fuente de datos particular, a través de un método particular
de comunicaciones, muy parecidos a un driver de impresora bajo ambiente Windows.
ODBC provee una interfaz estándar que permite tanto a los escritores de aplicaciones y a
los proveedores de librerías manejar datos entre aplicaciones y las fuentes de datos. [13]
28
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
1.3.1 LA INTERFAZ.
La interfaz ODBC define lo siguiente:
La librería que contiene las funciones ODBC permite a la aplicación conectarse a un
DBMS, ejecutar sentencias SQL, y obtener los resultados.
La sintaxis SQL está basada en las especificaciones de 1992 de X/Open, y SQL Access
Group (SAG).
Las cadenas de caracteres que contienen las sentencias SQL pueden ser explicitas,
incluyendo el código fuente o bien pueden ser construidas en tiempo de corrida.
Una aplicación puede ignorar los protocolos de comunicaciones fundamentales entre ella
y el producto DBMS.
Los valores de datos, pueden ser enviados y obtenidos en un formato conveniente para la
aplicación. [13]
29
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Este tipo de drivers procesan las llamadas de ODBC y las sentencias (En este caso el
driver ejecuta parte de la funcionalidad de las fuentes de datos).
El driver procesa las llamadas de ODBC y pasa las sentencias SQL a la fuente de los
datos.
Un sistema puede contener ambos tipos de configuraciones.
La figura. 3 muestra como cada uno de las configuraciones antes mencionadas pueden
parecer en una red simple. El diagrama incluye ejemplos de los tipos de DBMS que
pueden residir en la red.
30
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
31
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Buses de campo.
Redes LAN.
Redes LAN-WAN.
El objetivo de un bus de campo es sustituir las conexiones punto a punto entre los
elementos de campo y el equipo de control a través del tradicional lazo de corriente de 4 -
20mA o 0 a 10V DC, según corresponda. Generalmente son redes digitales,
bidireccionales, multipunto, montadas sobre un bus serie, que conectan dispositivos de
campo como PLC‟s, transductores, actuadores, sensores y equipos de supervisión.
32
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Gateway
Un gateway es similar a un puente ya que suministra interoperabilidad entre buses y
diferentes tipos de protocolos y además las aplicaciones pueden comunicarse a través de
él.
Enrutadores
Es un switch "Enrutador" de paquetes de comunicación entre diferentes segmentos de red
que definen la ruta hacia donde se transmite la información.
1.4.2 RS-232.
El driver RS232 realiza la comunicación full-dúplex. Consta de dos partes totalmente
diferenciadas: el circuito transmisor y el circuito receptor. El circuito receptor es el
responsable de la recepción de los datos que se envían desde la computadora al
periférico: la línea TxD de salida de la computadora se conecta al pin RxD del periférico.
De forma similar, el circuito transmisor es el responsable del envío de datos a la
computadora: la línea de salida TxD del periférico se conecta al nodo de entrada RxD del
computador.
El protocolo de comunicación serie full-dúplex RS232 asíncrona establece una
comunicación fácil entre computador y periférico.
El protocolo de comunicación RS232 la transmisión de datos puede ser estudiado como
lo muestra la figura 4.
33
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Puerto serie.
Aunque el puerto serie puede tener un tamaño de 25 pines, el formato más utilizado es el
de 9 pines. La tabla 1 de conexiones del pin-out para ambos conectores es:
34
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
1.4.3 ETHERNET.
Ethernet es una tecnología de redes ampliamente aceptada con conexiones disponibles
para PCs, estaciones de trabajo científicas y de alto desempeño, mini computadoras y
sistemas mainframe.
35
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
muy costosos relativamente, son fáciles de instalar y proveen una transmisión bastante
rápida de hasta 100Mpbs.El número de entrelazamientos en el cable es importante
porque más vueltas ayudan a prevenir que el campo magnético que se genera por la
señal eléctrica de uno de los cables ocasione un fallo en el voltaje del otro cable.
TX+
1
Transceive data + Blanco - Verde Blanco – Naranja
2 Transceive data -
Verde Naranja
RX+
3 Blanco -
Receive data + Blanco – Verde
Naranja
BDD+
4 Bi-directional data
Azul Azul
+
BDD-
5 Bi-directional data
Blanco - Azul Blanco – Azul
-
RX-
6
Receive data - Naranja Verde
BDD+
7 Bi-directional data
Blanco - Marrón Blanco – Marrón
+
BDD-
8 Bi-directional data
Marrón Marrón
-
36
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
37
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
1995 Windows 95: Hacia el final de 1995 aparece Windows 95, se generaliza el Windows
(a secas) como sistema operativo.
1996 Especificación OPC V 1.0 (A): En agosto 1996 aparece la versión 1.0.
1996 Windows NT 4.0: Aparece en 1996, combina la fiabilidad del NT 3.5 con el interfas
de usuario del W 95. Incluye soporte de DCOM (Distributed Common Object Model), que
permite a las aplicaciones crear y trabajar con objetos residentes en otros ordenadores a
través de la red.
1996 Fundación OPC: En agosto de 1996 se crea la fundación como organización sin
interés económico con la tarea de gestionar el estándar OPC. Su “misión” es: Desarrollar
un estándar abierto, basado en los requerimientos funcionales de la tecnología OLE/COM
y DCOM, que fomente mayor interoperabilidad entre aplicaciones de
control/automatización, sistemas/dispositivos de campo y aplicaciones de gestión.
1997 Comités Técnicos OPC: Para poder gestionar el amplio rango de asuntos
relacionados con los datos del control de los procesos la fundación OPC forma una serie
de “comités” para investigar y diseñar mejoras a la especificación original.
1998 Windows 98: Se espera para la segunda mitad de 1998, W98 es una mejora
incremental sobre W95 y su importancia para la industria del control de procesos por ser
un sistema operativo multitarea con soporte para DCOM integrado y por lo tanto para
tecnología de servidor de OPC barato y probado.
1998 Windows NT 5.0: También aparecerá en la segunda mitad de 1998, ofrece mejoras
significativas sobre NT 4.0.[8]
38
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Cada software requería un driver distinto para cada hardware, implicando un esfuerzo
enorme, al que hay que añadir el de las actualizaciones continuas.
Con OPC, los fabricantes de hardware sólo tendrán que preparar un conjunto de
componentes de software para que los clientes los utilicen en sus aplicaciones. Los
desarrolladores de software no tendrán que reescribir los drivers debido a nuevas
versiones de hardware.
Los usuarios finales tendrán muchas más alternativas de integrar distintos sistemas.
Una aplicación OPC, como cualquier otra aplicación OLE (o DDE), constará de servidores
y clientes OPC. (Fig. 5.).
Sistema
I/O fisicas
SCADA
OPC
APLICACION
server
I/O fisicas
Cada cliente, es decir, cada aplicación de usuario, SCADA, módulo histórico, o aplicación
de usuario en C++ o Visual Basic interroga al servidor que contiene los datos que necesita
(Fig. 6 y 7).
39
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Los servidores están organizados en grupos y cada grupo puede contener distintos items.
Servidor OPC
Fabr. A
Servidor OPC
Cliente OPC #1 Cliente OPC #2
Fabr. B
Servidor OPC
Fabr. C
Cliente OPC #3
40
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Las diferentes partes de la aplicación (displays de operador, informes, etc.) pueden usar
distintos grupos, los cuales pueden tener distinta frecuencia de refresco y pueden ser de
acceso secuencial o basado en excepciones (eventos). Los ítems representan conexiones
a fuentes de datos dentro del servidor (variables de proceso) a grandes ragos en la Tabla
1.3 los modelos de objetos. A cada item se asocia un valor (valor de la variable de
proceso), un cualificador (estado de la variable, OK, bajo rango, etc.) y una marca de
tiempo (Fig. 9). [9]
Servidor OPC
GRUPO 1
ITEM 1
ITEM 2
ITEM 3
GRUPO 2 ITEM...
VALOR : 150 °C
QUALIFICADOR : O.K.
Marca Temporal : 22:15:00
GRUPO...
GRUPO 3
41
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
OBJETO DESCRIPCIÓN
OPCItems Es una colección que contiene todos los objetos OPCItem que el cliente ha
creado.
OPCItem Es un objeto que mantiene la definición de los items, sus valores, estados
y datos de la última actualización. Los Item representan conexiones a las
fuentes de datos requeridas del servidor OPC instalado.(NO son fuentes
de datos)
42
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Solución.
Establece un Estándar (Figura 10):
Disminuye inversion en Drivers
Intergracion entre varios fabricantes.
Menor dependencia del Hardware.
1.5.4 ARQUITECTURA.
Arquitectura cliente / servidor (Figura 11).
El servidor ofrece datos.
El cliente accede a esos datos.
43
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
44
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Características.
Basado en COM.
Flexible.
Eficiente.
Puede empotrarse en las aplicaciones.
Altamente escalable.
45
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
46
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
47
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Uno de los ejemplos más antiguos de sistemas automáticos son los mecanismos
reguladores con flotador, desarrollados en Grecia durante el siglo III a.C., como el reloj de
agua de Ktesibios o la lámpara de Filón, que permitía mantener un nivel constante de
aceite. En el siglo I d.C. Herón publicó su obra Pneumatica, en la que describía varios
automatismos hidráulicos y neumáticos.
En la Revolución Industrial, la invención de la máquina de vapor supuso un avance
enorme en la automatización de los sistemas. Se aplicó principalmente a la tracción de
locomotoras y vehículos, y posteriormente derivó en la invención de los motores de
combustión interna. Todas estas invenciones tienen en común el aporte de un medio
energético a una máquina para que funcione de forma autónoma.
El nacimiento de la automatización industrial surgió con la invención del regulador
centrífugo de Watt, que permitía controlar la velocidad de las máquinas de vapor.
A partir del siglo XIX comenzaron a aparecer multitud de aparatos que realizaban
funciones automáticas, como máquinas mecánicas de multiplicar o una máquina para
resolver ecuaciones de segundo grado inventada por Charles Babbage
48
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
2.1.1. ANTECEDENTES.
Su historia se remonta a finales de la década de 1960 cuando la industria buscó en las
nuevas tecnologías electrónicas una solución más eficiente para reemplazar los sistemas
de control basados en circuitos eléctricos con relés, interruptores y otros componentes
comúnmente utilizados para el control de los sistemas de lógica combinacional.
En 1969 la División Hydramatic de la General Motors instaló el primer PLC para
reemplazar los sistemas inflexibles alambrados usados entonces en sus líneas de
producción.
Ya en 1971, los PLCs se extendían a otras industrias y, en los ochentas, ya los
componentes electrónicos permitieron un conjunto de operaciones en 16 bits, comparados
con los 4 de los 70s, en un pequeño volumen, lo que los popularizó en todo el mundo.
En los primeros años de los noventas, aparecieron los microprocesadores de 32 bits con
posibilidad de operaciones matemáticas complejas, y de comunicaciones entre PLC‟s de
diferentes marcas y PCs, los que abrieron la posibilidad de fábricas completamente
automatizadas y con comunicación a la gerencia en "tiempo real". [15]
49
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
50
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Fuente de
Bus de Datos
Alimentación
Tarjetas de Salida
51
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Lee las
entradas
Ejecución del
programa
52
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Para el desarrollo del proyecto se utiliza un PLC marca Allen Bradley, Compactlogix
modelo L32E debido a que éste fue proporcionado para la realización de esta tesis, cuya
construcción física y características se indican en la figura 16 y tabla 4 respectivamente.
53
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
SISTEMAS AVANZADOS DE
CONTROL DE PROCESOS
SISTEMAS DE SISTEMAS DE
CONTROL DISTRIBUIDO CONTROL CENTRALIZADO
54
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Figura.17 Se puede apreciar que en el control distribuido las funciones de control residen
en las unidades de control local, mientras que en los sistemas centralizados, estas
residen en la unidad central, estando remotas solo en las entradas y salidas que se
ubican en gabinetes locales, cuyos cables se llevan hasta la instrumentación de campo y,
por medio de otros cables que contribuyen a la pista de datos, se envían al cuarto de
control central.
55
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
PROCESO
MODULOS DE MODULOS DE
Funciones de
control
Lógicos
PID
Interfaz con el
Operador
Pantalla/Teclado
La interfaz de operador, como su nombre indica proporciona los medios para que el
operador observe la información que existe en el SCAP, en varias presentaciones, tal
como gráficos, alarmas, y tendencias históricas de los registros del comportamiento del
proceso.
Los módulos de salida realizan funciones inversas a los de entrada, ellos transforman las
señales del SCAP hacia el proceso, para que los elementos finales de control manejen las
variables manipuladas y ajusten las condiciones del proceso llevándolas al punto de
ajuste deseado que determina el modulo de control del SCAP.
Como se vio en la Figura 17 los SCAP pueden dividirse en 2 grandes filosofías o
categorías:
56
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Control Distribuido
Control Centralizado
En el primer caso los módulos de E/S y de control están contenidos en un gabinete
localizado cerca del proceso que controla (a veces se usan cuartos satélites), que se
enlazan vía una pista de datos a través del modulo de comunicaciones, mientras que la
interface con el operador se encuentra en una cuarto de control remoto.
57
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
58
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
59
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Las necesidades de ver y controlar a distancia una máquina aparecían en los primeros
cuadros de control, donde multitud de luces indicaban las diferentes situaciones previstas
de la máquina. Cualquier situación imprevista, o pasada por alto, significaba varias horas
de trabajo de electricista para llevar la señal olvidada al panel de control y podía ser que
no hubiera espacio para colocar el indicador.
La aparición de la informática permitió realizar este tipo de control de manera más sen-
cilla, sin la necesidad de tener a verdaderos expertos en sistemas de automatización cada
vez que hiciera falta cambiar el ajuste de un temporizador en un sistema de control.
Los grandes cuadros de control empezaron a convertirse en monitores que podían
mostrar la misma información. Pero cualquier cambio en la presentación era más sencillo
de realizar. Bastaban unas modificaciones en el código de la aplicación para que en la
pantalla apareciera.
Vista la necesidad, varios fabricantes desarrollaron entonces paquetes de software
capaces de comunicarse con los sistemas de control existentes y permitieron así una
flexibilidad de uso no imaginada hasta el momento. Esta tendencia ha ido en aumento, de
tal manera que hoy día las opciones existentes son numerosas. Algunos de los más
conocidos se muestran en la tabla 4:
SOFTWARE
FABRICANTE
DISEÑADO
Intellution IF1X
Omron SCS
Siemens WinCC
Rockwell RS-View
Automation
Wonderware InTouch
GE-Fanuc Cimplicity
60
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
61
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Los objetivos para que su instalación sea perfectamente aprovechada son los siguientes:
Funcionalidad completa de manejo y visualización en sistema operativo Windows sobre
cualquier PC estándar. La arquitectura abierta que permita combinaciones con
aplicaciones estándar y de usuario, que consientan a los integradores crear soluciones de
mando y supervisión optimizadas (Active X para ampliación de prestaciones, OPC para
comunicaciones con terceros, OLE-DB para comunicación con bases de datos, lenguaje
estándar integrado como VB o C, acceso a funciones y datos mediante API).
Sencillez de instalación, sin exigencias de hardware elevadas, fáciles de utilizar, y con
interfaces amigables con el usuario.
Permitir la integración con las herramientas ofimáticas y de producción.
Fácilmente configurable y escalable, debe ser capaz de crecer o adaptarse según las
necesidades cambiantes de la empresa.
Ser independiente del sector y la tecnología.
Funciones de mando y supervisión integradas.
La topología de un sistema SCADA variará adecuándose a las características de cada
aplicación. Unos sistemas funcionarán bien en configuraciones de bus, otros en
configuraciones de anillo. Unos necesitarán equipos redundantes debido a las
características del proceso, etc.
62
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
gráficas, intentan sustituir a los grandes paneles, repletos de cables, pilotos y demás
paralaje informativo. Pero hay un problema que aún persiste: cómo presentar toda esa
información sin aburrir ni fatigar al usuario. Todos los datos recopilados pueden ser
valorados de múltiples maneras mediante herramientas estadísticas, gráficas, valores
tabulados, etc., que permitan explotar el sistema con el mejor rendimiento posible.
Buscando sistemas abiertos, es decir, sin secretos ni sorpresas para el integrador. La
documentación de los protocolos de comunicación actuales permite la interconexión de
sistemas de diferentes proveedores y evita la existencia de lagunas informativas que
puedan causar fallos en el funcionamiento o en la seguridad.
63
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Eventos: Son Acciones del usuario sobre el programa tales como clicar sobre un botón,
arrastrar un icono, el elegir una opción de un menú, o simplemente mover el ratón. Cada
vez que se produce un evento sobre un determinado tipo de control, Visual Basic 6.0
comienza una determinada función o procedimiento que realiza la acción programada por
el usuario para ese evento concreto. Estos procedimientos se llaman con un nombre que
se forma a partir del nombre del objeto y el nombre del evento, separados por el carácter
(_), como por ejemplo txtBox_click.
Métodos: Son funciones que del mismo modo son llamadas desde programa, pero a
diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya
pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y
comunes para todas las aplicaciones. De ahí que vengan con el lenguaje y que se libere
al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios
métodos.
Proyecto: Cada aplicación que se empieza a desarrollar en Visual Basic 6.0 es un nuevo
proyecto, éste comprende otras componentes más sencillas, como por los formularios y
métodos.
Formularios: Son las ventanas de la interfaz de usuario de la nueva aplicación
Cuando se arranca Visual Basic 6.0 aparece en la pantalla una configuración similar a la
mostrada en la Figura 20. En ella se pueden distinguir los siguientes elementos:
64
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
65
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
2.4.2 VENTAJAS
En Visual Basic se pueden realizar aplicaciones orientadas a objetos (POO), con lo que
su código será más robusto y fácilmente transferible a otros lenguajes, más sencillo de
depurar y de reutilizar en nuevas aplicaciones. Debido a que es un lenguaje muy
extendido resulta simple acceder a una gran cantidad de ayuda a través de tutoriales,
listas de correo, foros, páginas web o en forma de material impreso (libros). Además de
poder encontrar infinidad de recursos tanto gratuitos como de terceras empresas
(utilidades, controles ActiveX, código, etc.). Por todo lo anterior la creación de la interfazs
hombre maquina del proyecto es realizada a través de éste lenguaje de programación ya
que se adapta a las necesidades de un programador de aplicaciones SCADA, diseñando
su propia aplicación no estará limitado por las características de un SCADA cerrado y
suministrando al cliente aquello que éste solicite.
66
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Este capítulo explica la realización del software y se ahonda en su capacidad para adquirir
datos desde un controlador digital Compactlogix Allen-Bradley. Como se señalo
anteriormente la tecnología de comunicación tiene el nombre de OPC. De igual manera
dentro de este apartado se integra una aplicación práctica al diseñarse una interfaz
gráfica en Visual Basic a través de imágenes dinámicas que permiten la visualización de
los parámetros para el control de nivel de una caldera de tubos de humo. La aplicación
incluye el desarrollo de la lógica de control necesaria, programada en el controlador
digital. Así mismo se exponen todas las consideraciones de proceso necesarias para el
desarrollo óptimo del proyecto
67
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Dado que el proyecto está orientado a mostrar la interoperabilidad lograda mediante OPC,
es necesario emplear esta herramienta dentro de una aplicación industrial, además de
que sin ella el código de programación se vuelve inteligible para toda aquella persona que
no tenga conocimiento amplio en programación. En lo que a las herramientas de
hardware respecta, el uso de un controlador digital Allen-Bradley que posea un puerto de
comunicación RS-232 o Ethernet es suficiente para la ejecución de la lógica necesaria
para mantener controlado el proceso o problema planteado. Se opto por la utilización de
un PLC Allen-Bradley debido a su facilidad de adquisición.
Así mismo resulta necesaria una computadora personal con sistema operativo Windows
XP profesional, donde se instalen los paquetes de software necesarios tanto para el
enlace del PLC con la computadora así como la programación de la lógica de control.
Los elementos tanto de hardware como de software seleccionados para la realización del
proyecto se muestran en la tabla 5.
68
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
a) aportar una energía calorífica suficiente en la combustión del fuel-oil o del gas
con el aire.
b) desde el punto de vista de seguridad, el nivel de agua debe estar controlado y
mantenido dentro de unos límites.
c) es necesario garantizar una llama segura en la combustión.
d) el sistema de control debe ser seguro en la puesta en marcha, en la operación
y en el paro de la caldera.
La caldera que se utiliza para ejemplificar debe entregar vapor saturado a la salida, para
que esto sea posible deberá existir un suministro de agua hacia la caldera con la mínima
cantidad de oxigeno disuelto, así como alimentación de combustible que nos proporcione
la energía necesaria para calentar el agua y además un flujo de aire proporcional al poder
calórico del combustible.
69
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
- Control de Combustión
- Control de Nivel
Sin embargo, dado que la finalidad es demostrar la eficiencia e interoperabilidad que OPC
brinda a las comunicaciones, bastara con enfocar solo el lazo de control de nivel.
Control de Nivel
• Objetivos:
70
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
- Evitar choque térmico y golpe de ariete ya que el nivel alto de agua inunda
los separadores de vapor, y el agua entra en los tubos de vapor de alta
velocidad pudiendo provocar dichos fenómenos.
71
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
72
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Se debe recordar que mientras que en el diagrama eléctrico todas las acciones ocurren
simultáneamente, en el programa se realizan en forma secuencial, siguiendo el orden en
el que los rungs (escalones) fueron escritos, y que a diferencia de los relés y contactos
reales (cuyo número está determinado por la implementación física de estos elementos),
en el PLC podemos considerar que existen infinitos contactos auxiliares para cada
entrada, salida, relé auxiliar o interno, etc.
Cerrado (XIC). La instrucción XIC examina el bit de datos para considerar si se cierra.
Abierto (XIO). La instrucción de XIO examina el bit de datos para considerar si se abre.
73
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
La salida abre (OTU).Cuando está permitida, la instrucción OTU despeja el bit de datos.
Cuando está inhabilitada, la instrucción OTU no cambia el estado del bit de datos.
Límite (LIM). La instrucción de LIM prueba si el valor de la prueba está dentro del rango,
del límite bajo al límite alto.
Menos que (LES). La instrucción de LES prueba si la variable A es menos que la variable
B.
Mayor que (GRT).La instrucción de las GRT prueba si la variable A es mayor que la
variable B.
74
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Menos que o igual (LEQ). La instrucción de LEQ prueba si la variable A es menor que o
igual a la variable B.
Mayor que o igual (GEQ).La instrucción de GEQ prueba si la variable A es mayor que o
igual a la variable B.
75
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Reset (RES).La instrucción del RES reajusta una estructura del contador de tiempo o del
contador.
76
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Una vez establecido estas variables se utiliza un contador de tiempo “Timer Auto” (TON)
utilizando una instrucción .DN para accionar un contador ascendente y descendente
“Contador Auto (CTU y CTD), teniendo en cuenta un RES para el “Timer Auto”.
Con el “Contador Auto” es utilizada la instrucción .ACC esta acción es movida mediante
MOV en donde se crea una nueva variable Nivel. Con esta nueva variable da el
accionamiento a un par de instrucciones (LEQ y GEQ) que hacen la comparación de Nivel
con dos nuevas variables Histerisis HH (LEQ) y Histerisis LL (GEQ) que energizan una
salida (OTE) correspondientes, dichas salidas son Alarma HH y Alarma LL.
Con respecto al modo Automático y el modo Manual se establecen condiciones para que
trabajen por separado pero energizando las mismas salidas tanto a Alarma HH y Alarma
LL sin afectar el uno del otro.
Una vez establecido lo anterior, se procede a accionar dos alarmas más Alarma H y
Alarma L, ambas utilizadas en mando Automático y Manual.
77
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
En modo Manual está condicionado a trabajar en cualquier momento esto es que una vez
abierta la válvula el nivel sube y en cualquier momento se puede interrumpir y cerrar la
válvula y el nivel descenderá y viceversa, esta acción es para demostrar el control que
conlleva el tanque, esta mas que mencionar que tanto en el mando Manual como en el
mando Automático cualquiera puede entrar sin perturbar al otro.
A continuación se crea una nueva variable llamada Flujo que no es más que una
constante para mostrar el Flujo de salida del proceso de nivel de la caldera.
Por último se implanta una última variable Quemador que en modo Automático siempre
estará en verdadero y en modo Manual estará en condición de la Alarma LL.
El código de control programado en el
78
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
todos los aspectos que se creen necesarios para el optimo monitoreo y control del
proceso.
Los requerimientos de comunicación entre IHM y el controlador son definidos por el tipo y
cantidad de información, es decir los valores de las variables de interés que en un
momento dado son leídos o escritos en el mapa de memoria del PLC. Las variables de
entrada y salida se seleccionan a su vez al analizar la estrategia y la lógica de control,
tomando siempre como punto de partida la seguridad del sistema a la hora de definir la
información necesaria en el IHM.
3.5.1 ESTRUCTURA
El primer paso en el desarrollo de la interface es el diseño de la apariencia gráfica de la
misma, para ello se integran todas las imágenes y componentes Active-x que mejor
representen el proceso, tomando el diagrama de tuberías e instrumentación y agregando
además elementos para visualización de valores numéricos, interruptores y botones
necesarios para que el usuario tome acción en el control del proceso y en el manejo de la
información.
En total la interfaz gráfica está conformada por cuatro ventanas: una página principal y
tres ventanas auxiliares que contienen componentes adicionales de información y mando.
79
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
1. Botón para envió de datos a Microsoft Excel: Esta parte opcional de la interfaz
permite el envió de información a una hoja de cálculo de Excel con un solo click
izquierdo.
2. Marco para presentación del valor de nivel: Este marco contiene dos cuadros de
texto que muestran la magnitud del nivel en milímetros y el porcentaje de llenado
para un instante dado.
3. Alarmas: Cuatro indicadores de alarma en el nivel, la señalización low (L) se
activara cuando el nivel sea menor o igual al 20% de la escala total, la alarma
low-low (LL) lo hará cando el nivel sea menor al 10%, la indicación high (H)
encenderá cuando el nivel sobrepase el 80% de la escala, mientras que la
señalización high-high (HH) lo hará cuando sobrepase un 90%.
4. Medidor de Flujo (FT-16): Esta imagen representa el medidor de presión
diferencial que obtiene la magnitud de flujo en un momento dado, además se
programo para que al hacer click sobre él se despliegué la ventana FT-16 medidor
de vapor de salida.
5. Válvula de llenado (FV-16): Esta imagen permite el acceso a la ventana FV-16
Válvula de llenado al colocar el cursor sobre ella y pulsar el botón izquierdo del
mouse. Este componente active-x se programo con tres colores diferentes que
permitirán conocer el estado de la misma; rojo indica que la válvula se encuentra
80
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
81
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
82
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
83
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
84
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Las variables son de entrada o salida con respecto al sistema de control y dependiendo
de si su valor es leído o escrito por el cliente OPC integrado en el software de supervisión.
Las variables que deberán encontrarse en comunicación constante con el controlador se
clasifican enseguida.
85
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Datos de entrada:
1. nivel: Definido como entero largo, representa la magnitud de nivel medido por el
instrumento LT-16, montado en la caldera.
2. flujo: Definido como entero largo, representa los Kg/s de flujo de vapor que salen
de la caldera y que son censados por el medidor FT-16.
3. zso: Definido como booleano, representa el interruptor de completa apertura de la
válvula FV-16, abierto (0) o cerrado (1).
4. zsc: Definido como booleano, representa el interruptor de cierre completo de la
válvula FV-16, abierto (0) o cerrado (1).
5. qmador: Definido como booleano, representa el estado encendido (1) a apagado
(0) del quemador de la caldera BL-16.
Datos de salida:
1. hh: Definido como entero largo, representa el rango de límite superior a partir del
punto de ajuste, este valor es definido al dividir el valor de la histérisis entre dos.
2. ll: Definido como entero largo, representa el rango de límite inferior a partir del
punto de ajuste, este valor es definido al dividir el valor de la histérisis entre dos.
3. autom: Definido como booleano, representa el modo de trabajo del sistema,
manual (0) o automático (1).
4. mandov: Definido como booleano, representa la orden del operador hacia la
válvula, ya sea abrir (1) o cerrar (0)
5. encendido: Definido como booleano, representa el la orden de encendido (1) o
apagado (0).
86
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
87
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
proyecto, para que exista comunicación entre la computadora y el PLC Compact Logix es
necesario establecer la red en este caso Ethernet y su medio físico para transmisión de
datos el cable UTP. Esto componentes fueron elegidos debido a la eficiencia y velocidad
de comunicación además de su rentabilidad.
RS Linx permite una sencilla configuración de un OPC topic, el cual funciona como enlace
hacia el mapa de memoria del controlador y así conocer la dirección de acceso que
permitirá al software diseñado el acceso al controlador con el fin de leer o escribir valores
88
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
89
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
90
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Se redimensionan los arreglos para leer las etiquetas, en la aplicación desarrollada son 10
las variables, por lo que de igual manera se agregaron 10 arreglos:
'ENTRADAS'
arItemIDs(1) = "[Control_de_Nivel_de_Caldera]Program:MainProgram.Nivel,L1,C1" 'NIVEL
arClientHandles(1) = 1
arItemIDs(2) = "[Control_de_Nivel_de_Caldera]Program:MainProgram.Flujo,L1,C1" 'FLUJO
arClientHandles(2) = 2
arItemIDs(3) = "[Control_de_Nivel_de_Caldera]Program:MainProgram.Valvula_Abierta,L1,C1" 'SWITCH
ZSO
arClientHandles(3) = 3
arItemIDs(4) = "[Control_de_Nivel_de_Caldera]Program:MainProgram.Valvula_Cerrada,L1,C1" 'SWITCH
ZSC
arClientHandles(4) = 4
arItemIDs(5) = "[Control_de_Nivel_de_Caldera]Program:MainProgram.Quemador,L1,C1" 'QUEMADORES
arClientHandles(5) = 5
'SALIDAS'
arItemIDs(6) = "[Control_de_Nivel_de_Caldera]Program:MainProgram.Histerisis_HH,L1,C1" 'LIMITE
SUPERIOR
arClientHandles(6) = 6
91
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
92
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
El estado inicial del nivel depende de la señal recibida desde el controlador y se puede
verificar en el software de programación del PLC que es RSLogix 5000 (fig. 31). Teniendo
lo anterior en cuenta, si la magnitud de la variable nivel es 100 mm el software
programador debe tener el mismo valor en la interfaz grafica diseñada, lo cual se puede
verificar en la figura 30.
93
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Una vez iniciada la simulación mediante el interruptor ON/OFF que aparece en la interfazs
son habilitados los botones y vínculos para su uso. En la ventana de selección de modo
que se muestra en la figura 32, se observa que no aparece el cuadro de texto para el
cambio en el valor de la histérisis, debido a que solamente se es posible su uso durante el
modo automático.
94
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
95
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Con el fin de probar el correcto funcionamiento del mando se abrió la válvula desde la
estación de control como se muestra en la figura 34. El color azul de la válvula indica que
se encuentra completamente abierta, para llegar a este estado ha sido necesario un
periodo de transición que se expondría con el color amarillo de la válvula.
96
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Una vez que el nivel ha alcanzado un valor elevado, es decir igual o superior a 900 mm el
controlador forza el cierre de la válvula, la cual se vuelve de color amarillo indicando su
transición (fig. 36) y en cuanto se esté completamente cerrada el nivel comenzara a
descender debido a que la demanda de vapor sigue existiendo y es constante.
Otra función opcional que ofrece el software es el envió de datos a una hoja de cálculo de
Microsoft Excel, presionando un solo botón, la aplicación se encargara de enviar los
valores de las variables de interés repetitivamente sobre una misma columna. El intervalo
de intermitencia entre envió de información se programa dentro del código de la interfazs.
El valor seleccionado para la intermitencia de datos es 2 seg, debido a que los cambios
de la variable nivel son lentos y no requieren de un monitoreo más minucioso.
Los datos exportados a Excel para este ejercicio se muestrearon cuando el nivel se
comportaba de forma descendente desde 700 hasta 100 mm que es el nivel mínimo. Esta
información se muestra en la figura 37.
97
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Con la válvula cerrada y el nivel decreciendo, llega el momento en que el mismo alcanza
el límite inferior seguro de 100 mm, lo que conlleva a que la caldera se apague
volviéndose color gris en la animación (fig. 38). De esta forma el sistema queda en espera
de alguna orden más del usuario enviado a través de la interfaz grafica.
98
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
99
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
100
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Debido a que el punto de ajuste para el control de nivel es 500 mm y después de haber
aplicado una histérisis de 100 mm, el cálculo de los límites superior e inferior resulta ser
de 550 y 450 respectivamente. Por esta razón al alcanzarse este valor la válvula
comienza a cerrarse (Fig. 42).
De la misma forma que en modo manual, una vez cerrada completamente la válvula, el
nivel de agua comenzara a tener un decremento por lo que pasara únicamente por el
punto de ajuste. Esto puede apreciarse en la Figura 43.
101
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
102
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
103
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Con la finalidad de realizar una completa prueba de todos los elementos, con este fin se
activo el envío de las variables de proceso a Excel. El estado de esta unción se mostrara
en el texto del botón de activación como se muestra en la Figura 47.
104
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
.
De esta forma los datos exportados de muestran en la Figura 48. Con ello concluyen las
pruebas de funcionamiento del software y como se ha demostrado, resultan por completo
satisfactorias.
105
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
106
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Uno de los principales factores para cualquier diseño es la cuestión económica, de tal
modo que podemos estimar los costos del proyecto de acuerdo a la parte física y laboral
que demande a lo largo del mismo
El monto total del proyecto es determinado por varios factores como lo son el desarrollo
tablas que proporcionan la información. La siguiente tabla 7 muestra los costos del
equipo necesario para la realización del proyecto.
107
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Entonces el costo total del proyecto es de $127,519.00, aún cuando el objetivo del
desarrollo de este proyecto no es competir con un sistema SCADA cabe mencionar que
éste puede ser utilizado con los mismos fines pudiendo cubrir las necesidades esenciales
del cliente sin obligar a este a comprar un software más costoso que en ocasiones suele
ser sobrado para la aplicación que se desea proporcionar.
108
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
Una vez analizado lo anterior podemos concluir que el desarrollo del proyecto mostrado
en el capitulo anterior es un pequeño sistema IMH que cuenta con todas las
características mínimas para conformar una Interfaz Hombre Máquina a continuación se
mostrara un sistema IMH/SCADA como lo es HMI SIMATIC WinCC con el fin de mostrar
los alcances, limitantes y ventajas económicas del proyecto realizado.
109
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
110
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
CONCLUSIONES Y RECOMENDACIONES.
111
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
BIBLIOGRAFIA
2. Michael D. Whitt, Successful Instrumentation and control system designs, ISA, USA
2004.
4. Antonio Miranda Toledo, José Luis Pérez Navarro, Sistema de control distribuido
(DCS), ISA, México, México 2000.
5. Taylor, Ed. TCP/IP Complete, 1ª ed. Ed. Mc Graw-Hill. New York, EUA. 1998.
8. www.opc.org.com.
Historia OPC, generalidades de la tecnología.
9. http://www.opcsystems.com.
Teoría, aplicación, generalidades OPC
10. www.dauelectronica.com.
Diseño, Proyectos, Software etc., todo sobre Automatización.
11. http://www.desarrolloweb.com/articulos/993.php.
Que es ActiveX, Funciones, Aplicación.
112
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
12. www.automation.siemens.com/salesmaterial-
as/brochure/es/brochure_simatic-wincc_es.pdf.
Software SIMATIC.
13. http://office.microsoft.com/es-mx/access/HA102755503082.aspx
Administrar orígenes de Datos ODBC.
14. http://www.angelfire.com/biz/rhaminisys/ddeinfo.html.
Teoría y Funcionamiento DDE.
15. http://wwwlhc.cern.ch/IndCtrl/PLC/Recomm.html
INTRODUCCIÓN A LA PROGRAMACIÓN DE PLC'S
16. http://www.control-systems-
principles.co.uk/whitepapers/spanishwp/14ProgLogicSP.pdf
Concepto dePLC referencia y funcionalidad.
17. Dixon, P. y Velarde, M. (2009). “The mith and magic of OPC”. InTech ISA (Agosto):
20-23
113
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
114
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
115
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
116
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
117
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
118
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
119
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
120
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
121
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
VENTANA FTRANS16FRAME
122
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
123
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
124
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
125
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
126
INSTITUTO POLITÉCNICO NACIONAL
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
“DISEÑO DE SOFTWARE EN VISUAL BASIC PARA MONITOREO DE CONTROLADORES DIGITALES POR OPC”
127