interfaz opc para la comunicación entre plc´sy sistemas

Anuncio
UTEQ
UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO
Firmado digitalmente por
UTEQ
Nombre de reconocimiento
(DN): cn=UTEQ, o=UTEQ,
ou=UTEQ,
[email protected]
x, c=MX
Fecha: 2015.09.22 15:01:41
-05'00'
Nombre del proyecto:
“INTERFAZ OPC PARA LA COMUNICACIÓN ENTRE PLC´S Y
SISTEMAS MULTIPLATAFORMA”
Empresa:
“SISTEMAS A TU MEDIDA RENTABLES S.A DE C.V”
Memoria que como parte de los requisitos para obtener el título de:
TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA
AUTOMATIZACIÓN
Presenta:
OLVERA ESPINO LUIS ENRIQUE
Asesor de la UTEQ
Asesor de la Organización
M. en I. Tomas Gerardo Torres Luna
Ing. Luis Enrique Garduño
Santiago de Querétaro, Qro.Septiembre del 2015
Resumen
Se presenta un proyecto basado en tecnologias OPC desarrollado en un sistema
multiplataforma, el cual fue implementado en una maqueta de proceso industrial
que se monitorea a distancia.
En este documento se presentan varios puntos sobre comunicación OPC, se
propone un nuevo sistema de comunicación OPC desarrollado en sistemas
multiplataforma que es la nueva tecnologia de OPC en el cual no solo será
aplicable en plataformas de Microsoft Windows, sino en diversos sistemas en el
caso de este proyecto fue desarrollado en Java. Tambien contiene una amplia
información teórica donde se argumenta las ventajas de estas nuevas tecnologias.
También se incluyen algunos ejemplos de configuraciones OPC en diversos
softwares de diferentes proveedores de Comunicación OPC DA paso a paso.
Se menciona a detalle cómo es que se estructuró el código para así desarrollar el
proyecto. Se detallan algunas partes del código fuente sin mencionar las
modificaciones importantes, (Se reserva esta información debido a motivos de
confidencialidad) y por ultimo se muestra hasta donde se llegó con la interfaz
OPC Ua en Java.
2
Description
“Sistemas a tu medida Rentables” it is a company with large and comfortable
facilities to work, this company has a clean and friendly environment. The staff is
friendly despite of the environment sometimes everyday is a little stressed to work
there. Luis Enrique Garduño is my advisor. He is a responsible person, dedicated
and optimistic. He is tall and slim; he has brown eyes and has short black hair.
Luis Enrique Olvera Espino
3
Agradecimientos
Quiero agradecer a mi mamá porque siempre me ha apoyado durante toda mi vida
y nunca me ha dejado solo. Le agradezco todo su apoyo moral y económico ya
que en éste proyecto tuve muchas dificultades en esos aspectos y siempre estuvo
para ayudarme y brindarme su apoyo en todo momento. También a mi hermana
Nayeli porque siempre confió en mí y me apoyó para que nunca me rindiera.
Gracias mamá, gracias Nayeli, las Amo.
Tambien agradezco al Ing. David Garate Andrade por su apoyo económico a lo
largo de mi carrera como Técnico Superior Universitario en Mecatronica Area
Automatización debido a que al inicio de mi carrera tuve muchos problemas
económicos y estuve a punto de abandonar la carrera, pero gracias a su apoyo
logré terminar mis 5 cuatrimestres y comenzar mi estadía profesional, además que
me enseñó que en la vida no debemos rendirnos nunca. Gracias ing. David.
Agradezco a mi novia Diana quien ha sido una persona muy importante en mi vida
y a quien yo amo mucho. Le agradezco todo su apoyo y paciencia en el desarrollo
de mi carrera, porque siempre conté con su ayuda en todos los aspectos. Siempre
ha estado atenta en mí en todo momento, siempre confió en mí y nunca me dejó
solo. Gracias mi amor, te amo.
Además agradezco a mis amigos por todo su apoyo ya que siempre nos
estuvimos apoyando unos con otros y motivandonos a salir adelante, a pesar de
los momentos difíciles que se nos presentaron.
4
Índice
Resumen ................................................................................................................. 2
Description .............................................................................................................. 3
Agradecimientos...................................................................................................... 4
Índice ....................................................................................................................... 5
l. Introducción .......................................................................................................... 7
ll. Antecedentes ....................................................................................................... 8
lll. Justificación ........................................................................................................ 9
lV. Objetivos .......................................................................................................... 10
V. Alcance ............................................................................................................. 11
VI. Análisis de Riesgos .......................................................................................... 12
Análisis FODA ................................................................................................... 12
VII. Fundamentación Teórica ................................................................................ 14
VII.I OPC (OLE for Process Control) ................................................................ 14
VII.II Servidor OPC ............................................................................................ 15
VII.III MatrikonOPC ............................................................................................ 17
VII.VI ADVOSOL ............................................................................................... 18
VII.V Sistema SCADA ........................................................................................ 19
VII.VI PLC .......................................................................................................... 20
VII.VII Eclipse .................................................................................................... 21
VII.VIII Java ....................................................................................................... 23
VII.IX Ua Gateway ............................................................................................. 24
VII.X Confidencialidad ....................................................................................... 25
VIII. Plan De Actividades ....................................................................................... 26
IX. Recursos Materiales y Humanos ..................................................................... 29
X. Desarrollo Del Proyecto .................................................................................... 30
X.I Investigación de Servidor y cliente OPC ...................................................... 30
X.II Investigación sobre OPC DA (Data Access) ............................................... 32
5
X.III Investigación sobre OPC HDA (Historical Data Access) ............................ 33
X.IV Investigación sobre OPC UA (Unified Architecture) ................................... 34
X.V Investigación sobre DCOM (Distributed Component Object Model) ........... 36
X.VI Pruebas de Conexión DCOM ..................................................................... 38
X.VII Conexión OPC DA con OPC Test Client................................................... 46
X.VIII Conexión OPC DA con MatrikonOPC ...................................................... 55
X.IX Conexión OPC DA con Advosol ................................................................. 66
X.X Configuracion de UaGateway ..................................................................... 74
X.XI Comunicación OPC UA con Eclipse (Java) ............................................... 83
XI. Resultados Obtenidos .................................................................................... 102
XII. Conclusiones Y Recomendaciones .............................................................. 103
XIII. Anexos ...............................................................................................................
XIV. Bibliografía.........................................................................................................
6
l. Introducción
En la Universidad Tecnológica de Querétaro se maneja el modelo de TSU
(Técnico Superior Universitario) el cual conlleva 6 cuatrimestres , tomando el
último de estos como una estadía profesional en diferentes empresas como
complemento al aprendizaje de los alumnos y tomando esto como un inicio a la
vida laboral como por ejemplo en “SISTEMAS A TU MEDIDA RENTABLES SA.
DE C.V” que es una empresa que ofrece servicios de automatización, en la cual se
llevó a cabo una Interfaz de Comunicación OPC para Sistemas Multiplataforma la
cual se aplicará como propuesta de desarrollo tecnológico para las empresas y así
lograr una mayor eficiencia en sus procesos y disminuir las pérdidas de tiempo,
esta tecnología se presenta en una maqueta de un proceso industrial controlado
por un PLC lo que se pretende es demostrar su efectividad del software y que es
compatible con cualquier sistema operativo y así obtener un mejor resultado en el
menor tiempo posible, al igual que la disminución de costos, logrando de esta
manera introducirse en un mercado más competente.
7
ll. Antecedentes
La empresa SISTEMAS A TU MEDIDA RENTABLES S.A. de C. V. nace de la
Visión y reto del Ing. Luis Enrique Garduño en el año 2006 en el Estado
de Querétaro, Querétaro formando esta nueva organización enfocada a la
Manufactura y respaldada por una nueva y joven administración.

Los primeros proyectos ofrecidos por la organización fueron algunos
servicios de software y hardware a pequeñas empresas.

Posteriormente “Sistemas a tu medida” comenzó con trabajos de
colocación de hornos de inducción, los cuales consumen bastante energía
eléctrica, la cual tiene que ser supervisada y controlada.

Conforme fue aumentando la producción, el número de hornos aumento y
así mismo proporcionalmente el consumo de la electricidad, desde ese
momento se empezaron a monitorear dentro de las horas pico que trabajan,
ya que si se excedía de un cierto punto de consumo, Comisión Federal de
Electricidad, multaba de manera exorbitante a la empresa donde se
encuentran instalados, esto por sobrepasar el consumo de electricidad que
es

permitido para el sector industrial.
Hoy en día “Sistemas a tu medida” continúa ofreciendo servicios de
automatización a la industria, logrando así una superación constante.
8
lll. Justificación
“Sistemas a tu medida” es una de las empresas que busca expandirse cada día
más en el desarrollo de proyectos y por esta razón se decidió que era de vital
importancia desarrollar una interfaz de comunicación OPC aplicada a los sistemas
multiplataforma para llevar a cabo un mejor control para los procesos de
producción, logrando de esta manera reducir los tiempos muertos. El implementar
una interfaz de comunicación OPC permitirá reducir los tiempos de respuesta para
las posibles fallas más constantes y poder monitorear nuestro proceso.
9
lV. Objetivos

Diseñar una interfaz de comunicación OPC para establecer una
comunicación entre PLC´S y Sistemas Multiplataforma para el monitoreo de
procesos industriales.

Desarrollo de Servidor OPC

Monitorear diariamente el comportamiento de las variables.

Reducir el tiempo en búsqueda de fallas que lleguen a presentarse en el
proceso.
10
V. Alcance

La comunicación OPC entre PLC´S y Sistemas Multiplataforma tiene como
finalidad el monitoreo visual de nuestras variables puestas en los PLC´S
logrando así visualizar el comportamiento de nuestro proceso y poder llevar
esta interfaz a sistemas multiplataforma para lograr el monitoreo en
cualquier parte y poder aplicar esta interfaz a cualquier sistema.
11
VI. Análisis de Riesgos
Para tener una mejor visión sobre los posibles riesgos que tenemos dentro del
proyecto nos basamos en una herramienta en el análisis FODA.
Análisis FODA
Matriz FODA
Fortalezas (F)
Debilidades(D)

Productor joven.

Mala redacción de textos.

Conocimientos básicos en

Falta de Pruebas del

sistemas de programación.
funcionamiento del
Experiencia adquirida con
proyecto.
Comunicación OPC.

Poco conocimiento en
sistemas multiplataforma.

Principiante en software
Prosys
Oportunidades (O)



Tomar tutoriales en
Estrategias (FO)

Estrategias(DO)
Pedirle a mi asesor que

Pedirle a nuestro asesor
internet.
revise nuestros puntos
que nos de algunos
Apoyo de asesores
concluidos para verificar
consejos sobre
especializados.
que estén correctos.
servidores OPC.
Contar con la

Hacer una interfaz de
herramienta y el
comunicación OPC lo más
material adecuado.
eficiente posible.

Tratar de enfocarnos a la
documentación.

Buscar tutoriales e
información sobre el
software Prosys.
12
Amenazas(A)


Tener fallas en
Estrategias (FA)

Revisar los puntos
Tener en cuenta que la
concluidos para no pasar
documentación también
concluido.
por alto algún detalle.
es parte importante del
Dedicarle más tiempo a la
proyecto y por lo tanto
documentación.
comenzar a realizarla de
Investigar más sobre
la mejor manera posible.
Que nuestra
adecuada para la


documentación.
programación para que no
Que no se puedan
sea deficiente.

Tomar experiencia de
nuestros errores y de
hacer las pruebas
este modo no volverlos a
posibles para
cometer.
verificar la
comunicación de la
interfaz.


algún punto ya
redacción no sea la

Estrategias(DA)
Programación
deficiente.
Fig. 4.0 Análisis Foda.
13
VII. Fundamentación Teórica
En el proyecto se implementarán elementos técnicos, de los cuales se darán sus
fundamentos teóricos a continuación.
VII.I OPC (OLE for Process Control)
Un servidor OPC es una aplicación de software (driver) que cumple con
una o más especificaciones definidas por la OPC Foundation. El Servidor OPC
hace de interfaz comunicando por un lado con una o más fuentes de datos
utilizando sus protocolos nativos (típicamente PLC’s, DCS´s, básculas, Módulos
I/O, controladores, etc.) y por el otro lado con Clientes OPC (típicamente
SCADAS,
HMI’s,
generadores
de
informes, generadores
de
gráficos,
aplicaciones de cálculos, etc.). En una arquitectura Cliente OPC/ Servidor
OPC, el Servidor OPC es el esclavo mientras que el Cliente OPC es el maestro.
Las
comunicaciones
entre
el
Cliente
OPC
y
el
Servidor
OPC
son
bidireccionales, lo que significa que los Clientes pueden leer y escribir en los
dispositivos a través del Servidor OPC.
Fig. 5.0 OPC
14
VII.II Servidor OPC
Un servidor OPC es una aplicación de software (driver) que cumple con una o más
especificaciones definidas por la OPC Foundation. El Servidor OPC hace de
interfaz comunicando por un lado con una o más fuentes de datos utilizando sus
protocolo
nativos
(típicamente
PLCs,
DCSs,
básculas,
Módulos
I/O,
controladores, etc.) y por el otro lado con Clientes OPC (típicamente SCADAs,
HMIs, generadores de informes, generadores de gráficos, aplicaciones de
cálculos, etc.). En una arquitectura Cliente OPC/ Servidor OPC, el Servidor OPC
es el esclavo mientras que el Cliente OPC es el maestro. Las comunicaciones
entre el Cliente OPC y el Servidor OPC son bidireccionales, lo que significa que
los Clientes pueden leer y escribir en los dispositivos a través del Servidor
OPC Existen cuatro tipos de servidores OPC definidos por la OPC Foundation, y
son los siguientes: Servidor

OPC DA – Basado en Spezifikationsbasis: OPC Data Access especialmente diseñado para la transmisión de datos en tiempo real.

Servidor OPC HDA– Basado en la especificación de Acceso a Datos
Historiados que provee al Cliente OPC HDA de datos históricos.

Servidor OPC A&E Server– Basado en la especificación de Alarmas y
Eventos – transfiere Alarmas y Eventos desde el dispositivo hacia el
Cliente OPC A&E.

Servidor OPC UA – Basado en la especificación de Arquitectura Unificada –
basado en el set más nuevo y avanzado de la OPC Foundation, permite a
los Servidores OPC trabajar con cualquier tipo de datos
15
Los Servidores OPC clásicos utilizan la infraestructura COM/DCOM de Microsoft
Windows para el intercambio de datos. Lo que significa que esos Servidores OPC
deben instalarse bajo el Sistema Operativo de Microsoft Windows. Un Servidor
OPC
puede
soportar
comunicaciones
con
múltiples
Clientes
OPC
simultáneamente. Estos se comunican nativamente con las fuentes de datos,
por ejemplo: dispositivos, controladores y aplicaciones. Las especificaciones
de la OPC Foundation no especifican como el Servidor OPC se debe
comunicar con la fuente de datos porque hay una gran variedad de fuentes de
datos disponibles en el mercado. Cada PLC, DCS, controlador, etc. tiene su propio
protocolo de comunicación o API que a su vez permiten la utilización cualquier
cantidad de conexiones físicas (serial RS485 o RS232, Ethernet, wireless, redes
propietarias, etc.).
Fig. 5.1 Servidor OPC
16
VII.III MatrikonOPC
MatrikonOPC provee los equipos de productos de conectividad de datos basados
en el estándar OPC. La promesa MatrikonOPC es capacitar a los clientes con
acceso a datos fiables a los sistemas de los principales proveedores de
automatización 'de la conectividad del dispositivo nativo de amplia visibilidad
empresarial, proporcionar formación OPC práctica y ofrecer una atención al cliente
superior. MatrikonOPC construye relaciones estrechas con sus clientes para
atender mejor sus necesidades de negocio y técnicos. Con oficinas en
Norteamérica, Europa, Asia-Pacífico y Oriente Medio, MatrikonOPC ofrece
presencia local en una escala global. MatrikonOPC es un proveedor de
conectividad neutral.
Fig. 5.2 MatrikonOPC
17
VII.VI ADVOSOL
Advosol Inc. es el proveedor líder de OPC .NET componentes, kits de
herramientas y servicios para basada .NET OPC solutions.The Austin, Texas
basado Advosol Inc. se especializa en componentes de desarrollo cliente /
servidor OPC basado .Net y ofrece el más utilizado y completa conjunto de
herramientas y componentes de software para clientes y servidores OPC .NET y
servicios Web XML.
Advosol Inc. inició su actividad en 1996 como proveedor de componentes y
herramientas de software OPC. Con la llegada prevista de .NET, de inmediato
reconoció su importancia y los componentes potenciales y desarrollado software
para el apoyo de OPC en aplicación .Net. Fuimos la primera empresa en ofrecer
envoltorio .Net para todos los estándares OPC ampliamente utilizados, así como
kits de herramientas de servidor / cliente para el estándar XML DA. Tenemos largo
y amplio know-how de OPC y .Net y ofrecemos una amplia gama de componentes
para el desarrollador de software y constructor del sistema. Los productos que se
pueden comprar en línea y descargar de inmediato.
Fig. 5.3 ADVOSOL
18
VII.V Sistema SCADA
SCADA, acrónimo de Supervisory Control And Data Acquisition (Supervisión,
Control y Adquisición de Datos) es un software para ordenadores que permite
Controlar y supervisar procesos industriales a distancia. Facilita retroalimentación
en tiempo real con los dispositivos de campo (sensores y actuadores) y
Controlando el proceso automáticamente. Provee de toda la información que se
genera en el proceso productivo (supervisión, control calidad, control de
Producción, almacenamiento de datos, etc.) Y permite su gestión e intervención.
La realimentación, también denominada retroalimentación o feedback es, en una
Organización, el proceso de compartir observaciones, preocupaciones y
sugerencias, con la intención de recabar información, a nivel individual o
Colectivo, para mejorar o modificar diversos aspectos del funcionamiento de una
Organización.
Fig. 5.4 Ejemplo de Sistema SCADA
19
VII.VI PLC
Un controlador lógico programable, más conocido por sus siglas en inglés PLC
(Programmable Logic Controller), es una computadora utilizada en la ingeniería
automática
o
automatización
industrial,
para
automatizar
procesos
electromecánicos, tales como el control de la maquinaria de la fábrica en líneas de
montaje o atracciones mecánicas. Los PLC’s son utilizados en muchas industrias y
máquinas. A diferencia de las computadoras de propósito general, el PLC está
diseñado para múltiples señales de
entrada
y
de
salida,
rangos
de
temperatura ampliados, inmunidad al ruido eléctrico y resistencia a la vibración y
al impacto. Los programas para el control de funcionamiento de la máquina se
suelen almacenar en baterías copia de seguridad o en memorias no volátiles.
Un PLC es un ejemplo de un sistema de tiempo real duro donde los resultados
de salida deben ser producidos en respuesta a las condiciones de entrada
dentro de un tiempo limitado, que de lo contrario no producirá el resultado.(Manual
MicroLogix1100, Allen -Bradley)
Fig 5.5 PLC Allen Bradley Micrologix 1100
20
VII.VII Eclipse
Eclipse es una plataforma de desarrollo, diseñada para ser extendida de forma
indefinida a través deplug-ins. Fue concebida desde sus orígenes para convertirse
en una plataforma de integración de herramientas de desarrollo. No tiene en
mente un lenguaje específico, sino que es un IDE genérico, aunque goza de
mucha popularidad entre la comunidad de desarrolladores del lenguaje Java
usando el plug-in JDT que viene incluido en la distribución estándar del IDE.
Proporciona herramientas para la gestión de espacios de trabajo, escribir,
desplegar, ejecutar y depurar aplicaciones.
Principales características
Perspectivas, editores y vistas: en Eclipse el concepto de trabajo está basado en
las perspectivas, que no es otra cosa que una preconfiguración de ventanas y
editores, relacionadas entre sí, y que nos permiten trabajar en un determinado
entorno de trabajo de forma óptima.
Gestión de proyectos: el desarrollo sobre Eclipse se basa en los proyectos, que
son el conjunto de recursos relacionados entre sí, como puede ser el código
fuente, documentación, ficheros configuración, árbol de directorios,… El IDE nos
proporcionará asistentes y ayudas para la creación de proyectos. Por ejemplo,
cuando creamos uno, se abre la perspectiva adecuada al tipo de proyecto que
estemos creando, con la colección de vistas, editores y ventanas preconfigurada
por defecto.
Depurador de código: se incluye un potente depurador, de uso fácil e intuitivo, y
que visualmente nos ayuda a mejorar nuestro código. Para ello sólo debemos
ejecutar el programa en modo depuración (con un simple botón). De nuevo,
tenemos una perspectiva específica para la depuración de código, la perspectiva
depuración, donde se muestra de forma ordenada toda la información necesaria
para realizar dicha tarea.
21
Extensa colección de plug-ins: están disponibles en una gran cantidad, unos
publicados por Eclipse, otros por terceros. Al haber sido un estándar de facto
durante tanto tiempo (no el único estándar, pero sí uno de ellos), la colección
disponible es muy grande. Los hay gratuitos, de pago, bajo distintas licencias, pero
casi para cualquier cosa que nos imaginemos tenemos el plug-inadecuado.
Fig 5.6 Eclipse
22
VII.VIII Java
Java es un lenguaje de programación orientado a objetos que se popularizó a
partir del lanzamiento de su primera versión comercial de amplia difusión, la JDK
1.0 en 1996. Actualmente es uno de los lenguajes más usados para la
programación en todo el mundo.
Los antecedentes de Java habría que buscarlos en los lenguajes de programación
C y C++. El lenguaje C fue desarrollado en la década de los 70 y constituye
un lenguaje muy robusto usado como núcleo del sistema operativo Unix. C no
admite la orientación a objetos y está considerado un lenguaje “poco amigable”
desde el punto de vista de que su sintaxis, elementos de programación que
emplea (manejo directo de memoria) y otras cuestiones hacen que sea un
lenguaje difícil de aprender. C++ fue una evolución de C desarrollada en los años
80. Introdujo el diseño orientado a objetos, pero manteniendo la compatibilidad
con C.
Como paso final en esta evolución tenemos Java, un lenguaje que evoluciona a
partir de C y C++, pero que elimina diversos aspectos de estos lenguajes y se
constituye en un lenguaje definitivamente orientado a objetos. El romper con
distintos aspectos de C++ cuyo manejo inadecuado por parte de muchos
programadores daba lugar a problemas en las aplicaciones ha sido un factor
decisivo para convertir a Java en un lenguaje popular y de amplio uso.
Fig 5.7 Java
23
VII.IX Ua Gateway
El UaGateway es un producto para la migración de los COM / DCOM servidores
OPC "clásicos", basada en la nueva Arquitectura Unificada OPC. El UaGateway
es un alto rendimiento Envoltura / Proxy programado en C ++. El UaGateway se
basa en nuestra C ++ servidor OPC UA / Client SDK / Toolkit.
Soluciones que se pueden obtener mediante el UaGateway:

Conectar Cliente UA al COM / DCOM Server (s)

Conexión COM / DCOM de cliente a servidor UA (s)

túnel COM / DCOM a través de conexión segura UA

Concentración de datos en un único nodo; único punto de acceso

con firewalls, acceso seguro a datos OPC 'clásico'
El nuevo UaGateway es totalmente configurable a través de OPC UA Métodos. Se
cumplirá con el OPC DI Specification (Integración de dispositivos) y ofrecerá
capacidades de diagnóstico y configuración estandarizados.
El UaGateway es una aplicación para Windows de 32 bits; se puede instalar en el
estándar de Windows (XP, Vista, Win7) y también puede funcionar con 64 bits de
Windows (WOW64).
El UaGateway puede conectar múltiples servidores DA COM subyacente y
múltiples servidores UA subyacentes al mismo tiempo. Las conexiones a los
servidores subyacentes se pueden agregar en tiempo de ejecución sin necesidad
de reiniciar el UaGateway.
Fig 5.8 Ua Gateway
24
VII.X Confidencialidad
Es la propiedad de prevenir la divulgación de información a personas o sistemas
no autorizados. A groso modo, la confidencialidad es el acceso a la información
únicamente por personas que cuenten con la debida autorización.
La pérdida de la confidencialidad de la información puede adoptar muchas
formas. Cuando alguien mira por encima de su hombro, mientras usted tiene
26 información confidencial en la pantalla, cuando se publica información privada,
cuando un laptop con información sensible sobre una empresa es robado,
cuando se divulga información confidencial a través del teléfono, etc. Todos estos
casos pueden constituir una violación de la confidencialidad.
Fig. 5.9 Representación de Firewall de Windows
25
VIII. Plan De Actividades
Para poder contar con un plan de actividades se realizó el siguiente diagrama de
Gantt, en el cual se pueden observar las actividades a realizar de acuerdo al
tiempo que se tiene para concluir el proyecto ya que cada actividad cuenta con
un tiempo asignado porque hay algunas actividades que se deben de realizar
primero que otras para así mismo ir llevando el proyecto a concluir en la fecha
límite y se logren cumplir los objetivos debido que este proyecto esta ligado con
otro en donde se le estan realizando modificaciones a la maqueta en la
cual será aplicada la Comunicación OPC.
26
27
Fig.6.0 Diagrama de Gantt
28
IX. Recursos Materiales y Humanos
Recursos Humanos
1 Mecatrónico en Estadía
Sueldo
$150 por semana
Costos Variables
Suministros
Cantidad
Unidad
Costo
Costo Aplicado
Modem Telefónico
1
Pza
$600.00
$600.00
Cable UTP
3
Mts
$4.00
$12.00
Conectores RJ45
6
Pza
$2.00
$12.00
PLC Allen Bradley Micrologix 1100
1
Pza
$5000
$5000
Total
$5624.00
Lista De Herramienta Requerida.
Cantidad Unidad
2
pza
Material
Costo
Costo Total
Computadoras de escritorio
$4,000
$18,000
Meses de
vida util
120
Total
$18,000
240
Fig.7.0 Tablas de Costos
29
X. Desarrollo Del Proyecto
X.I Investigación de Servidor y cliente OPC
Para el Desarrollo de este proyecto se comenzó primero por la investigación sobre
los conceptos de Servidor y Cliente OPC, esto debido a que antes de empezar a
realizar el servidor y cliente OPC se debía conocer su definición y función de cada
uno. No solamente programar, sino conocer también su estructura de cada uno.
Se consultaron varias fuentes de información especialmente en páginas de
desarrolladores de OPC algunos ejemplos de estos son MatriKon, Rockwell
Software, Keepware, Advosol, etc.
Servidor OPC.- Un servidor OPC es una aplicación de software (driver) que
cumple con una o más especificaciones definidas por la OPC Foundation. El
Servidor OPC hace de interfaz comunicando por un lado con una o más fuentes
de datos utilizando sus protocolo nativos (típicamente PLCs, DCSs, básculas,
Módulos I/O, controladores, etc.) y por el otro lado con Clientes OPC (típicamente
SCADAs, HMIs, generadores de informes, generadores de gráficos, aplicaciones
de cálculos, etc.).
Cliente OPC.- El Cliente OPC accede a los datos proporcionados por el Servidor
OPC. En una arquitectura Cliente OPC/ Servidor OPC, el Servidor OPC es el
esclavo mientras que el Cliente OPC es el maestro. Las comunicaciones entre el
Cliente OPC y el Servidor OPC son bidireccionales, lo que significa que los
Clientes pueden leer y escribir en los dispositivos a través del Servidor OPC.
30
Fig.8.0 Servidor y Cliente OPC
31
X.II Investigación sobre OPC DA (Data Access)
Servidor OPC DA – Basado en Spezifikationsbasis: OPC Data Access especialmente diseñado para la transmisión de datos en tiempo real.
OPC DA proviene de OPC Data Access. Es una especificación de la Fundación
OPC que define la forma de comunicación y transferencia de datos entre una
Fuente de Datos y una Aplicación Cliente (por ejemplo entre un PLC y un SCADA)
sin necesidad de que cada uno conozca el protocolo nativo del otro.
La especificación OPC DA ha pasado durante los años por diversas revisiones.
Las principales fueron:
Año
Versión
1996 1.0
1997 DA 1.0a
Comentario
Especificación inicial
El nombre Data Access (DA) se comienza a utilizar
para diferenciar esta versión de otras en desarrollo.
1998 DA 2.0 - DA 2.05 a Numerous specification clarifications and modifications.
2003 DA 3.0
Numerosas aclaraciones y modificaciones
Fig.8.1 OPC DA
32
X.III Investigación sobre OPC HDA (Historical Data Access)
Esta especificación describe el comportamiento de un servidor OPC que almacena
los datos en algún tipo de base de datos, y cómo los clientes pueden recuperar
usando OPC, que abarca:

Descripción y propósito de la tecnología de datos históricos

Descripción general de la arquitectura general y metodología

Las descripciones detalladas de las interfaces, métodos, parámetros y
comportamientos esperados

Las descripciones detalladas de las funciones de agregado con consultas
de ejemplo y los resultados de cada

Las descripciones detalladas de los tipos y estructuras de datos

Código de ejemplo (OPC Server) que contiene definiciones de interfaz y
códigos de error
Fig.8.2 OPC HDA
33
X.IV Investigación sobre OPC UA (Unified Architecture)
OPC Arquitectura Unificada (OPC UA) es un protocolo de comunicación M2M
industrial para la interoperabilidad desarrollado por la Fundación OPC. Es el
sucesor de OLE for Process Control (OPC). Aunque desarrollado por la misma
organización, OPC UA difiere significativamente de su predecesor. El objetivo de
la Fundación para este proyecto era proporcionar un camino hacia adelante desde
el modelo de comunicaciones OPC originales (es decir, el de Microsoft Windows
única bolsa proceso de COM / DCOM) a una arquitectura orientada a servicios
multiplataforma (SOA) para el control del proceso, al tiempo que mejora la
seguridad y la proporcionando un modelo de información
Después de más de tres años de trabajo de especificación y otro año para un
prototipo de aplicación, la primera versión de la Arquitectura Unificada fue lanzado
en 2006.
La versión actual de la especificación es de 1.02.
OPC UA (Arquitectura Unificada) extiende el gran éxito del protocolo de
comunicación OPC, para la adquisición de datos, el modelado de la información y
la comunicación entre planta y aplicaciones de una forma fiable y segura.
Las principales características y beneficios de los OPC UA son:

Plataforma neutral que funciona en cualquier sistema operativo

Preparada para el futuro y para comunicar con sistemas antiguos

Fácil configuración y mantenimiento

Tecnología orientada a servicios

Aumento de la visibilidad

Mayor alcance de la conectividad

Alto rendimiento
34
Fig.8.3 OPC UA
35
X.V Investigación sobre DCOM (Distributed Component Object Model)
Como se mencionó en la sección de documentación teórica Distributed
Component Object Model (DCOM), en español Modelo de Objetos de
Componentes Distribuidos, es una tecnología propietaria de Microsoft para
desarrollar componentes software distribuidos sobre varios ordenadores y que se
comunican entre sí. Extiende el modelo COM de Microsoft y proporciona el
sustrato de comunicación entre la infraestructura del servidor de aplicaciones
COM+ de Microsoft. Ha sido abandonada en favor del framework .NET. La adición
de la "D" a COM fue debido al uso extensivo de DCE/RPC, o más específicamente
la versión mejorada de Microsoft, conocida como MSRPC. En términos de las
extensiones que añade a COM, DCOM tenía que resolver los problemas de
Aplanamiento - Serializar y de serializar los argumentos y valores de retorno
de las llamadas a los métodos "sobre el cable".
Recolección
de
basura
distribuida, asegurándose que las referencias mantenidas por clientes de las
interfaces sean liberadas cuando, por ejemplo, el proceso cliente ha caído o la
conexión de red se pierde.
Uno de los factores clave para resolver estos problemas es el uso de DCE/RPC
Como el mecanismo RPC subyacente bajo DCOM. DCE/RPC define reglas
estrictas en cuanto al aplanamiento y a quién es responsable de liberar la
memoria.
DCOM fue uno de los mayores competidores de CORBA. Los defensores
de ambas tecnologías sostenían que algún día serían el modelo de código
y servicios sobre Internet. Sin embargo, las dificultades que suponía conseguir que
estas tecnologías funcionasen a través de cortafuegos y sobre máquinas
inseguras o desconocidas, significó que las peticiones HTTP normales,
combinadas con los navegadores web les ganasen la partida. Microsoft, en su 52
36
momento intentó y fracasó anticiparse a esto añadiendo un transporte extra
HTTP a DCE/RPC denominado "ncacn_http" (Connection-based, over HTTP).
Fig.8.4 DCOM
37
X.VI Pruebas de Conexión DCOM
Permisos DCOM
Para abrir la utilidad de configuración de permisos DCOM se corre el cuadro
Ejecutar y se introduce el comando dcomconfg.
Fig.8.5 Cuadro de Ejecutar.
Una vez abierta la utilidad de servicios de componentes se elige la maquina Host
para modificar las propiedades de conexiones verificando permisos y demás
tópicos de ejecución.
38
Fig. 8.6 utilidades de servicio de componentes en ejecución.
Como se observa en la figura 8.6 se seleccionan las propiedades del equipo local
para poder modificar los servicios DCOM de éste.
39
Fig. 8.7 Cuadro de Propiedades de Mi PC.
Como se puede ver en la figura 8.7 aparecen las propiedades de las
configuraciones de las pólizas de comunicación, se habilitan las comunicaciones
DCOM haciendo click en la casilla “Habilitar COM distribuido en este equipo”.
Para las propiedades de autentificación predeterminadas en las comunicaciones
COM distribuido se configuran de la siguiente manera:
En el apartado “Nivel de autentificación predeterminado” se elige “Ninguno”
En el apartado “El nivel de suplantación especifica si las aplicaciones se pueden
determinar quién las está llamando, etc.” Se elige “Identificar”.
40
Las configuraciones anteriores tienen la finalidad de establecer las directivas de
comunicación cuando un programa
externo solicite comunicación invocando
información local, de cómo se autentifican y como se identifican.
A continuación se modifican lo permisos de conexión, esto quiere decir que cada
usuario tiene permisos especificos para el acceso de informacion, si estuviera un
servicio de active directory ya listo, se configuraría de manera que sólo ciertos
usuarios podrían acceder, debido a que no está configurado, se les da acceso a
todos, siendo un medio inseguro para intercambio de informacion, ya que no hay
privacida ni restricción de información.
Fig. 8.8 Estableciendo permisos generales.
41
Fig. 8.9 Permisos de Inicio.
En la ventana de permisos de inicio, estos consisten en directivas de privacidad en
inicio de servicios, aplicaciones, incluso librerias o componentes de manera
remota. De la misma manera tiene una dependencia de los servicios de active
directory los cuales sólo se pueden generalizar, si estos no están activados se
agrega una regla la cual todos pueden acceder a estos permisos.
42
Una vez configuradas correctamente las pólizas y reglas de privacidad para el
intercambio de información y permisos de acceso directo a las aplicaciones se
procede a configurar cada aplicación.
Fig. 9.0 lista de aplicaciones que cuentan con políticas DCOM.
En ésta parte de las configuraciones individuales se especifican todavía con más
detalle el acceso e intercambio de información entre aplicaciones lo cual vuelve las
políticas y reglas de privacidad más complicados ya que interactúan con los
protocolos de red, haciendo más lento el intercambio de información ya que el
tráfico de políticas y reglas de seguridad aumenta y a su vez la información
solicitada y enviada se reduce.
Este problema de aumento de tráfico no es muy notable en protocolos TCP/IP ya
que se transmiten desde 100 hasta 1000 MB por segundo, en cambio en
protocolos seriales RS232 son más lentos y no funcionan.
43
Fig. 9.1 Ventana de propiedades individuales por aplicación.
Esta es la ventana de propiedades individuales en la cual se elige de qué manera
en específico se autentificarán las aplicaciones externas o internas lo cual hace
más detallado el uso de usuarios para diferentes aplicaciones.
44
Por ultimo en la pestaña de Ubicación seleccionamos la opción de Ejecutar la
aplicación en este equipo para que así nuestros cambios surgan en nuestro
equipo se pude observar en la figura 9.2, damos click en aceptar y reiniciamos
nuestro equipo para que los cambios que se dieron funcionen.
Fig. 9.2 Configuración de default para la aplicación de RsLinx.
45
X.VII Conexión OPC DA con OPC Test Client
Esta fue la primera comunicación OPC que se implementó en la maqueta de
proceso de pintado y se realizó de la siguiente manera:
Fig. 9.3 Ventana de inicio.
Daremos click en inicio y nos iremos a todos los programas y buscaremos la
carpeta de Rockwell Software, después entraremos a la carpeta de RsLinx y
abriremos el programa de OPC Test Client.
46
Fig. 9.4 Ventana de OPC Test Client.
Nos desplegará la siguiente ventana en donde comenzaremos la configuracion
OPC. Nos iremos a la barra de herramientas dando click en file, después en New.
47
Fig. 9.5 Ventana de Selección de Servidor OPC.
Aparecerá la siguiente ventana en donde nos muestra los servidores que tenemos
disponibles en nuestro ordenador y a cual deseamos conectarnos, en este caso
seleccionaremos Rslinx OPC Server.
48
Fig. 9.6 Selección de Grupo OPC.
Ya estando conectados a nuestro servidor OPC Rslinx crearemos un nuevo grupo
en donde se agregarán las item´s del programa del PLC, nos vamos a la barra de
herramientas en la pestaña de Group, daremos click y después seleccionamos
Add Group.
49
Fig. 9.7 Nombre Asignado al nuevo grupo OPC.
Aparecerá una ventana en donde le pondremos nombre a nuestro nuevo grupo, en
este caso le pondremos OPC y damos click en OK.
50
Fig. 9.8 Selección de items al Servidor.
Teniendo ya nuestro grupo creado, comenzaremos a agregar nuestras Item´s del
OPC asi que daremos click en la pestaña de Add Item.
51
Fig. 9.9 Ventana de selección de carpeta de item´s del PLC.
Después nos aparecerá una ventana donde aparece el nombre del programa del
PLC, en este caso se llama NEW TOPIC, daremos click en él y después aparecen
dos carpetas, seleccionamos la carpeta de Offline y nos aparecerán el nombre de
nuestras item´s del programa del PLC.
52
Fig. 10.0 Seleccionando item´s del PLC.
Para ir agregando las item’s daremos doble click en el nombre de nuestra item que
deseamos agregar o también seleccionarla y dar click en el boton de Add Item y
en la ventana de la parte superior nos aparecerán las item´s que hemos agregado
a nuestro grupo OPC y una vez seleccionadas hacemos click en OK.
53
Fig. 10.1 Ventana de Monitoreo de las item´s del PLC.
Por ultimo nos aparecerá la ventana que muestra las item´s seleccionadas, su
valor, calidad de comunicación, número de veces que ha cambiado el valor de la
variable y el tiempo de muestra.
54
X.VIII Conexión OPC DA con MatrikonOPC
Para lograr la comunicación OPC DA con Matrikon se realizó de la siguiente
manera, en este caso se trabajó con Allen Bradley.
Fig. 10.2 Barra de inicio y carpeta de archivo MatrikonOPC.
En la barra damos click y buscamos la carpeta de MatrikonOPC, encontramos la
carpeta donde dice Explorer y damos click en MatrikonOPCExplorer.
55
Fig. 10.3 Ventana de Inicio MatrikonOPC.
Una vez que hemos dado click al programa entramos a lo que es MatrikonOPC
Explorer y nos aparecen los servidores OPC que tenemos disponibles en nuestro
ordenador.
56
Fig. 10.4 Conectando al Servidor RslinxOPC Server.
En este caso nuestro servidor con el cual estamos trabajando es Rslinx, asi que
seleccionaremos el servidor y daremos click en Connect.
57
Fig. 10.5 Agregando un nuevo Grupo al servidor conectado.
Teniendo ya conectado nuestro servidor agregaremos el nuevo grupo de
variables. Para esto seleccionaremos de nuevo nuestro servidor, daremos click
secundario sobre él y daremos click en Add Group.
58
Fig. 10.6 Ventana para nombrar a nuestro nuevo grupo.
Nos aparecerá un recuadro en donde le daremos un nombre a nuestro grupo que
agregaremos en el servidor Rslinx y daremos click en aceptar.
59
Fig. 10.7 Ventana de selección de tags del PLC.
Después se nos desplegará una ventana en donde aparecerán las carpetas de
archivos de los programas en Rslinx. En este caso nuestra carpeta se llama NEW
Topic y la seleccionaremos.
60
Fig. 10.8 Directorio del programa.
Una vez seleccionada se desplegarán 2 carpetas en la cual seleccionaremos la
carpeta Offline, daremos click y nos desplegará las tags de nuestro programa en el
PLC apareciendo el nombre en el cual nosotros le indicamos.
61
Fig. 10.9 Selección de tags.
Seleccionaremos nuestras tags una por una asignandole a cada una un tipo de
dato dependiendo la función de nuestra tags, en este caso todas las tags se
asignaron con el valor default y después daremos click en el recuadro de la flecha
para agregarlas al servidor OPC.
62
Fig. 10.10 Tags seleccionadas.
Teniendo ya nuestras tags seleccionadas daremos click en la palomita verde de
validar tags para que sean agregadas al servidor OPC.
63
Fig. 10.11 Servidor OPC conectado con las tags seleccionadas.
Nos desplegará la siguiente ventana en donde vemos nuestras tags que
seleccionamos, el tipo de valor asignado y la calidad de comunicación de cada
variable.
64
Fig. 10.12 Monitoreo de las tags.
Si deseamos conectarnos con otro servidor OPC se puede realizar y no se pierde
la conexión con el servidor OPC que se realizó anteriormente, aquí se puede
mostrar la conexión que tenemos en general con Rslinx OPC.
65
X.IX Conexión OPC DA con Advosol
Por último se realizó la comunicación OPC DA con Advosol y asi evaluar qué
software sería más conveniente utilizar para después convertirlo en OPC UA, la
configuración de éste software se realizó de la siguiente manera:
Fig. 10.13 Ventana del directorio de Advosol.
En la barra de inicio daremos click para acceder a todos los programas
encontramos la carpeta de Advosol, después entramos a la carpeta de
OPCDA.NET y daremos click en el software OPC DA V2 Test Client.
66
Fig. 10.14 Ventana de inicio Advosol.
Una vez abierto el programa aparecerá la siguiente ventana en donde
configuraremos nuestro servidor OPC. Primero daremos click en el botón de
Browse Computers donde buscará las computadoras disponibles para realizar la
comunicación. En este caso nuestra computadora se llama PRUEBAS. Después
de seleccionar nuestra computadora daremos click en el boton de Browse Servers
donde buscará los servidore OPC que tenemos disponibles y hacemos click para
que realice la búsqueda.
67
Fig. 10.15 Seleccionando computador y Servidor de Conexión.
Una vez realizada la búsqueda desplegaremos la pestaña para que nos muestre
los servidores que tenemos disponibles, en este caso nuestro servidor sera Rslinx.
Aparecerán 2 servidores Rslinx OPC Server y Rslinx OPC Remote OPC Server,
nosotros seleccionaremos Rslinx Remote OPC Server.
68
Fig. 10.16 Estableciendo conexión.
Teniendo ya nuestra computadora y servidor seleccionado, seleccionamos las 2
casillas que dicen Browse all at Connect y Password dialog, esto con el fin de que
al momento de que conecte empieze a buscar los archivos del servidor
seleccionado y encuentre la carpeta donde se encuentran nuestras items del PLC
en este caso las tags, damos click en Connect y comienza a buscar.
69
Fig. 10.17 Servidor conectado.
Cuando nuestro Servidor este conectado aparecerá un diálogo donde dice
Running y encuentra la carpeta de archivos de nuestro programa del PLC. Nuestro
programa se llama NEW_TOPIC. Abrimos la carpeta y aparecerán 2 carpetas que
dice Offline y Online, abrimos la que dice Offline y tenemos nuestras item´s o tag´s
del PLC.
70
Fig. 10.18 Ventana de selección de item´s.
Para comenzar a agregar nuestras tag´s al servidor OPC seleccionamos de la lista
la que deseamos y haciendo un click sobre ella nos aparecerá la siguiente ventana
en donde nos dice el nombre de la variable y comprobar si podemos leer y escribir
en ella, para agregarla al servidor hacemos click en el boton Add to Refresh
Group.
71
Fig. 10.19 Agregando las item´s al servidor OPC.
Después nos aparecerá la variable agregada a nuestro servidor OPC y lo
podemos visualizar detrás de nuestra ventana en donde la agregamos. Por último
damos click en OK.
72
Fig. 10.20 Ventana de servidor conectado y monitoreo de las item´s.
Después de dar click en el botón OK, la item aparecerá en nuestro servidor y
podemos seguir agregando mas items, tambien podemos visualizar su nombre, su
valor, calidad de comunicación y marca de tiempo.
73
X.X Configuracion de UaGateway
A continuación se presenta la configuración de Ua gateway el cual nos logra hacer
la conexión de OPC DA a OPC UA y así lograr correrlo en la plataforma eclipse
que se presentará mas adelante.
Para descargar este software se debe acceder a la página de unified automation y
registrarse. Una vez teniendo el software procedemos a instalarlo. La
configuración de la UaGateway instala todas las dependencias necesarias para
ejecutar la aplicación. Para correr el programa de instalación, se requieren
derechos de administrador. El UaGateway ha sido probado en WinXP SP3,
WinVista y Win 7. Aunque el UaGateway es una aplicación de 32 bits que se
puede ejecutar en 64 bits de Windows utilizando el modo de emulación de 32 bits
(WOW32).
Al ser un administrador local puede ejecutar el procedimiento de instalación. La
configuración le guiará a través de la instalación. Siga los pasos haciendo clic en
el botón siguiente.

Ejecute el archivo de instalación uagateway-win32-x86-vs2008sp1[VERSIÓN] - [BUILD] .exe .

Lea el contrato de licencia y confirmar.

El cuadro de diálogo "Seleccionar los componentes" muestra lo que será
instalado en el equipo durante la instalación.

Elija una carpeta de instalación o utilizar el valor predeterminado.

La instalación añadirá una entrada en el menú de inicio y copiara todos los
archivos necesarios.

El UaGateway será instalado y registrado como un servicio.

Al final del proceso de instalación, se le pedirá que seleccione el puerto
TCP para ser utilizado por UaGateway. El puerto predeterminado es 4850.
74
Fig. 10.21 Ventana de Instalacion de Ua Gateway.
75
Después de finalizar la instalación podremos observar que en la barra de inicio en
la carpeta de todos los programas se ha instalado nuestro programa
encontrará en la carpeta de unified automation.
Fig. 10.13 Directorio del programa Ua Gateway.
76
Lo
Una vez teniendo instalado nuestro programa comenzaremos con la configuración
del programa para asi lograr la conexión de OPC DA a OPC UA.
Fig. 10.14 Ventana de administración de Ua Gateway.
Primero abrimos nuestro ventana de configuración donde aparece el dominio y
usuario del computador en el cual estamos conectado.
77
Fig. 10.15 Pestaña de Direccion.
Después en la pestaña de UA Endpoints nos despliega la dirección UA TCP, la
cual nos permitirá conectarnos a Ua Gateway en este caso será desde Eclipse.
78
Fig. 10.16 Pestaña de certificados.
En la pestaña de Certificates nos aparece los certificados creados para la
confidencialidad de información y nos muestra que cada certificado este activo ya
que si cualquiera se encontrara vencido tendriamos problemas con la
comunicación, asi que siempre debemos verificar los certificados antes de
comunicar nuestra interfaz OPC.
79
Una vez configurados los parametros del Ua gateway abriremos el Configure Ua
Gateway para acceder a nuestro servidor OPC DA que conectaremos con nuestro
OPC UA, siempre y cuando el Ua Gateway esté en modo Start. Nos aparecerán
los diferentes tipos de servidores a los cuales nos podemos conectar, en este caso
estamos trabajando con OPC COM DA.
Fig. 10.17 Ventana de ConfigurationTool de Ua Gateway
80
Para agregar un servidor OPC DA damos click en el botón de Add Server y nos
aparecerá una ventana en donde buscaremos nuestro servidor, en este caso será
los servidores de nuestra máquina, así que seleccionamos la opción de local, una
vez encontrados los servidores OPC DA instalados en nuestra máquina
seleccionaremos Rslinx OPC Server, ya que será el software con el cual estamos
realizando la comunicación OPC DA.
Fig. 10.18 Agregando Servidor OPC DA
81
Teniendo ya seleccionado nuestro Servidor OPC DA nos aparecerá el Servidor DA
y su estado de Conexión. Al principio nos aparecerá desconectado solamente es
dar click en el botón de Connect y nuestro servidor estará conectado ahora si ya
podemos conectar Ua Gateway con Eclipse.
Fig. 10.19 Servidor OPC DA conectado
82
X.XI Comunicación OPC UA con Eclipse (Java)
A continuación se presenta el código fuente del OPC UA implementado en Java,
se menciona que este código fue hecho por la compañía Prosys OPC UA la cual
es la encargada de desarrollar este nueva tecnología. El paquete del código fue
proporcionado por la empresa y por motivos de confidencialidad sólo se mostrarán
algunas partes del código. Una vez cargada la biblioteca a la plataforma eclipse se
aprecia el código en la siguiente ventana.
Fig. 10.20 Codigo OPC UA Java
83
Para Comunicar Eclipse con Ua Gateway se busco la dirección URI que se
encontraba definida debido a que tenia una direccion diferente para simular
variables y lo que deseabamos lograr era comunicarlo con Ua Gateway y se
encontró la dirección URI que tenía y se cambió por opc.tcp://PRUEBAS:4850 la
cual se muestra en la figura 10.21.
Fig. 10.21 Dirección URI del Codigo.
84
Teniendo nuestra dirección URI establecida se comenzó a correr el programa,
apareció un msj donde nos pregunta: ¿Le gustaría utilizar el URI del servidor por
defecto “opc.tcp://PRUEBAS:4850”?
Y= Yes
N= No
E= Enter a different URI manually
Se teclea la opción “Y” para decirle “sí” y damos Enter. Se puede apreciar los
mensajes en la figura 10.22.
Fig. 10.22 Ventana de conexión URL
85
Después nos pedirá que seleccionemos el modo de seguridad

n= None

s= Sign

e= SignAndEncrypt
Nuestro modo de seguridad en este caso es SignAndEncrypt y tecleamos la
letra e y damos enter y comienza a conectarse con el servidor y leer los
certificados de seguridad establecidos en el Ua Gateway.
Fig. 10.23 Estableciendo conexión
86
A continuacion se mostrará en la figura 10.24 el menú principal del programa
donde nos aparece que ya estamos conectado a la dirección URI establecida y las
acciones del menú principal que deseamos ejecutar. Para comunicarnos con
nuestro servidor OPC DA de Rslinx debemos explorar nuestro servidor asi que
seleccionaremos la opción 3 donde aparece

Enter 3 to browse the server address space
Fig. 10.24 Menú Principal
87
Posteriormente nos aparece que entramos a la carpeta principal del Ua Gateway y
nos despliega otras 3 subcarpetas que son:
0 – Views
1 – Objects
2 – Types
Como nuestro servidor OPC es DA la carpeta de archivo de nuestro servidor se
encontrará en Objects asi que se seleccionó la opción 1 y damos Enter.
Fig. 10.25 Entrando a las carpetas
88
Una vez entrado a la carpeta Objects nos despliega la información que contiene y
la carpeta de archivo que nos interesa entrar es a la de PRUEBAS/RSLINX OPC
SERVER, como podemos apreciar en la figura 10.26, así que seleccionamos la
opción 1 y damos Enter para accesar a la carpeta de archivo del Servidor DA
Rslinx.
Fig 10.26 Directorio de Rslinx
89
Ya una vez entrado a la carpeta de Rslinx nos aparece la información que
contiene que en este caso es el programa del PLC llamado NEW TOPIC.
Podemos contener mas carpetas de varios programas pero estos se deben cargar
en el servidor Rslinx, en este ejemplo sólo es una carpeta la cual es el progrma de
la maqueta de Proceso de Pintado, así que entraremos a ella seleccionando la
Opcion 0 y dar Enter
Fig. 10.27 Entrando al directorio Rslinx
90
Ya que hemos entrado a la carpeta del programa nos aparecerán 2 carpetas que
dice Offline y Online, nuestras variables en este caso de OPC Ua llamados Nodos
se encuentran en la carpeta Offline que es la opcion 0 asi que accesamos a ella y
damos Enter.
Fig. 10.28 Carpetas del directorio Rslinx
91
Después nos aparecerán nuestros nodos declarados en el programa del PLC
apareciendo su nombre y número asignado se puden apreciar los nodos en las
figuras 10.29 y 10.30.
Fig. 10.29 Nodos
Fig. 10.30 Nodos
92
Teniendo nuestros nodos en el programa podemos comenzar a realizar varias
funciones que son leer, escribir o suscribirlos a eventos. Para ello se seleccionó un
nodo para mostrar las funciones mencionadas se seleccionó el nodo 25 llamado
Banda_2 para regresarnos al menú principal y así comenzar a realizar las
funciones en nuestro nodo como se puede apreciar en la figura 10.31.
Fig. 10.31 Funciones
93
A continuación nos aparece nuestro nodo seleccionado en el menu principal.
Ahora si podemos comenzar a realizar las funciones en nuestro nodo, se comenzó
primero con la funcion 4 que es leer valores, así que seleccionamos la opción 4 y
damos Enter.
Fig. 10.32 Funciones del nodo
94
Nos desplegará un menú en donde nos aparecen los diferentes atributos que
podemos asignar al nodo seleccionado, en este caso nos interesa saber el valor
de ese nodo así que seleccionamos la opción 13 que es Value y damos Enter.
Fig. 10.33 Función value
95
Una vez elegida la opción 13 y dar enter nos aparecerá el nombre de nuestro
nodo, su calidad de comunicación, su valor y el tiempo de muestreo. Después de
mostrar esos datos nos regresa al menú principal para realizar cualquier otra
función. Ahora realizaremos la función de escribir un valor en nuestro nodo, así
que se selecciono la opción 5 de Write values.
Fig. 10.34 Función de Write values
96
Una vez seleccionado la opción 5 y dar Enter, accedemos de nuevo al menú de
atributos al nodo y como en el caso anterior se selecciona la opción 13 de valor
porque lo que queremos es escribir un valor en nuestro nodo.
Fig. 10.35 Seleccionando el valor
97
Nos aparece un diálogo donde nos dice que escribamos el valor en nuestro nodo
aparece su nombre, tipo de datos que en este caso es Int16. El valor que nosotros
escribiremos será 1 porque nuestro nodo se encuentra en el estado 0 asi que lo
que haremos será activarlo se escribió el valor de 1 y dimos enter, nos apareció un
mensaje de Ok, de que nuestro nodo adquirió ese valor.
Fig. 10.36 Escribiendo un valor
98
Para comprobar que nuestro nodo adquirió el valor de 1 se volvió a realizar el
procedimiento de Read Values para verificar que ya tenga el valor de 1 y como se
puede observar en la figura 10.37 el nodo adquirió el valor asignado.
Fig. 10.37 Mostrando el valor escrito
99
Otra de las funciones de nuestro programa es la suscripción en este caso
(Subscribing) a nuestros nodos del programa se utilizó de ejemplo el nodo 25
llamado Banda_2 el cual se le aplicará una suscripción para monitorear su valor
en determinado tiempo asignado y cada vez que haya un cambio en el nodo
nuestra suscipción nos notificará si existe algún cambio y seleccionamos la opción
5 del menú principal llamada create a subscription y en el siguiente menú
seleccionamos de nuevo la opción 13 de Value ya que nuestra suscripción será de
acuerdo al valor del nodo.
Fig 10.38 Creando una suscripción
100
Por último nos apareció nuestra suscripción mostrando el nombre del nodo,
calidad de comunicación, su valor, el tiempo de muestreo, fecha y hora del día. Y
cada 2000.0 ms nos muestra el estado de nuestra suscripción y cuando exista
algún cambio nos lo mostrará como se puede observar en la figura 10.39 el nodo
tenía el valor de 0 y al momento de que cambió su estado a 1 nuestra suscripción
lo notifica. También aparece un pequeño menú en donde nosotros podemos
remover o pausar la suscripción y agregar más nodos, remover el nodo que
tenemos en la suscripción o cambiar el intervalo de tiempo de publicación del
estado del nodo.
Fig. 10.39 Monitoreando la suscripción
101
XI. Resultados Obtenidos
Por último después de un análisis y tratar de comprender el funcionamiento del
código OPC UA se logró en la consola del sistema multiplataforma (Java) una
interfaz OPC la cual nos permitió convertir un Servidor OPC DA a OPC UA
logrando asi comunicar un PLC Allen Bradley Micrologix 1100 que se encontraba
incorporado en la Maqueta de Proceso de Pintado, mediante el PLC se adquirió la
información de las variables de la maqueta y eran recibidas a la interfaz mostrada
en la figura 11.00.
Fig. 11.00 Interfaz OPC UA
102
XII. Conclusiones Y Recomendaciones
El Proyecto fue terminado en cierta etapa ya que se presentaron algunos
inconvenientes en la interfaz OPC. Uno de ellos fue que en algunas variables del
PLC solamente podiamos leer su valor actual, ya que al momento de escribir un
valor en nuestra variable no lo actualizaba, en este caso la variable no se activaba
la interfaz nos marcaba que si se habia escrito el valor, pero al momento de
verificarlo en el PLC no habia cambio de estado en la variable y en algunas otras
si cambiaron su valor, así que el proyecto en cierto punto si funcionó que fue
comunicarlo con el PLC y monitorear su variables. Solamente se presentó este
incoveniente ya mencionado. Se investigo la razón por la cual en algunas
variables no habia cambio de estado, pero por la falta de tiempo no se alcanzó a
corregir ese detalle, así que para la continuidad futura de este proyecto sería
arreglar ese inconveniente, ya que el principio de funcionamiento de la interfaz
OPC UA funciona correctamente.
De acuerdo a la experiencia adquirida en este proyecto se enuncian las siguientes
recomendaciones para futuros proyectos.

Realizar respaldos de tu código de programación ya que se llega el caso en
que de tanto realizar modificaciones tu código ya no funciona, así que
siempre hay que realizar respaldos.

Cuando se busca información siempre guardar los sitios donde se
encuentre de forma correcta ya que a veces se olvida el nombre o dirección
del sitio.

Al momento de la asignación del proyecto consultar con tu asesor de la
empresa qué softwares utilizarás, ya que hay ocasiones en que se requiere
de más tiempo para saber utilizarlos porque no siempre usas los softwares
vistos en la carrera. En este caso sucedió al usar el software Eclipse y
lenguaje de programación Java, el cual no es visto en la carrera y se
requirió de más tiempo para aprender de este lenguaje de programación.
103
XIII. Anexos
Anexo A
Anexo B
XIV. Bibliografía

Software Advosol
http://www.advosol.com/

Ua Gateway
https://www.unified-automation.com/

matrikon OPC
http://www.matrikonopc.es/index.aspx

Prosys OPC UA
http://forum.prosysopc.com/forum/opc-ua-java-sdk/

Cómo Programar JAVA PAUL J. Deitel Septima Edición
http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20progr
amar%20en%20Java%20-%207ma%20Edicion%20%20P.%20J.%20Deitel.pdf
Descargar