Está en la página 1de 38

ntroduccin a OPC 1

TM
OLE for Process ControI
and Factory Automation
OPC Data Access
OPC Data Access
ntroduccin a OPC 2
Por qu es necesario OPC?
Por qu es necesario OPC?
Software
Driver
Software
Driver
Software
Driver
Software
Driver
Report
Application
Report
Application
Trend
Application
Trend
Application
Display
Application
Display
Application
Problemas de
compatibilidad
Duplicacin del
esfuerzo
nconsistencias
entre
fabricantes
Conflictos de
acceso
Problemtica en la comunicacin Driver / Aplicacin:
ntroduccin a OPC 3
Cmo resueIve OPC eI probIema?
Cmo resueIve OPC eI probIema?
Disminuye
inversin en
drivers
ntegracin
entre distintos
fabricantes
Menor
dependencia
del Hardware
Software
Driver
OPC
OPC
Trend
Application
Trend
Application
OPC
OPC
Application
Application
OPC
OPC
Display
Application
Display
Application
Software
Driver
Software
Driver
Software
Driver

Establece un
estndar :
ntroduccin a OPC 4
Introduccin de un Estndar (OPC)
Introduccin de un Estndar (OPC)
Estndar OPC
Pieza de Software que realiza las funciones de un Bus
de comunicaciones
OPC ha de ser MUY genrico
Adquiere complejidad en la implementacin
(Esto no es problema, lo sera la dificultad de uso)
Ligera Disminucin en el rendimiento
Puede no cumplir los requisitos de un sistema en
tiempo real
ntroduccin a OPC 5
EQUIPO DE
CONTROL
DE SIEMENS SIEMENS
EQUIPO DE
CONTROL
DE SCHNEIDER SCHNEIDER
P PROCESO ROCESO P PROCESO ROCESO
EjempIo (I)
EjempIo (I)
Driver de
Comunicacin
con Siemens
Driver de
Comunicacin
con Schneider
El fabricante puede no dar un driver
de comunicacin (Puede que d el
protocolo, o nada)
Necesario driver especifico para
cada marca
Issys Issys
Supervision Supervision
Problema: Problema:
ntroduccin a OPC 6
EQUIPO DE
CONTROL
DE SIEMENS SIEMENS
EQUIPO DE
CONTROL
DE SCHNEIDER SCHNEIDER
P PROCESO ROCESO P PROCESO ROCESO
EjempIo (II)
EjempIo (II)
Solucin: Solucin:
Solo necesito desarrollar un nico
driver OPC
Con OPC puedo cambiar de
fabricante sin realizar ningn cambio
(sin OPC podra resultar imposible)
Issys Issys
Supervision Supervision
I INTERFACE NTERFACE OPC OPC
ntroduccin a OPC 7
Background (I)
Background (I)
OPC-Foundation
Asociacin Fundada en 1996 por 5 compaas
Actualmente ms de 300 (Toshiba Toshiba,Siemens Siemens,...)
Microsoft, poder en la sombra
Basado en tecnologas OLE, COM, DCOM
Desarrollo de Distintos nterfaces

Acceso a Datos (Data Access)
Acceso a Datos (Data Access)
Alarmas y Eventos
Histricos
Procesamiento por Lotes (Batch)
Seguridad
ntroduccin a OPC 8
Background (II)
Background (II)
Data Access
El mas genrico y extendido
Primera versin, apocalipsis de los dos elefantes
Qu es un nterfaz OPC?
Conjunto de nterfaces COM (Objetos COM)
DCOM vs CORBA. DCOM Problemtico
Nuevas Versiones con XML y SOAP
Evolucin constante de la Especificacin
Estndar aceptado por el mercado
ntroduccin a OPC 9
Arquitectura (I)
Arquitectura (I)
Arquitectura Cliente / Servidor
El Servidor ofrece datos
El cliente accede a esos datos
Un servidor OPC es un objeto COM
El nterfaz de Acceso a Datos ofrece una ventana a
datos existentes
Datos de un SCADA,
DCS, PLC o
cualquier fuente
de datos
Servidor
OPC
Cliente
OPC
ntroduccin a OPC 10
Arquitectura (II)
Arquitectura (II)
Los datos se identifican con una cadena
OPC ofrece un acceso simblico a los datos para
las capas superiores
Cada dato fsico es un 'tem' ( tag, variable)
El cliente puede leer y escribir items
Las lecturas pueden ser sincronas o asincronas
Se pueden crear suscripciones (Hotlinks) a items
CIiente OPC Servidor OPC
n n n n
ntroduccin a OPC 11
Qu proporciona OPC Data Access?
Qu proporciona OPC Data Access?
Datos de sensores (presin, caudal, temperatura .)
Parmetros de Control (abierto, cerrado, arranca, para .)
nformacin de estado (Estado del hardware y las conexiones)

En general:
En general:

Cualquier dato que un servidor dese exportar
Cualquier dato que un servidor dese exportar
InterIaces OPC
Datos Datos de de
Sensores Sensores
Estado de las
Comunicaciones
Rendimiento
del Sistema
Estadisticas
del SO
ntroduccin a OPC 12
Tipos de Datos en OPC
Tipos de Datos en OPC

En general Tipos Simples:


En general Tipos Simples:
bool, byte, word, dword, float, double
(Signed y Unsigned)
Tambin permite (menos comn):
Arrays de los tipos anteriores
Manejo de Cadenas
Datos estructurados
No es lo habitual
El estndar lo contempla de forma optativa
Ms complejo
ntroduccin a OPC 13
Dnde encaja OPC Data Access (I)?
Dnde encaja OPC Data Access (I)?
En el ultimo nivel con
el Hw sigue habiendo
drivers especiIicos Device SpeciIic
I/O Control
Data Monitor
SubSystem
OPC
OPC (via DCOM) puede utilizarse
entre subredes
OPC suele utilizarse
entre aplicaciones que
monitorizan datos y con
drivers de E/S especiIicos
ntroduccin a OPC 14
S SISTEMAS DE ISTEMAS DE C CONTROL ONTROL D DISTRIBUIDO ISTRIBUIDO
E EQUIPO DE QUIPO DE C CONTROL ONTROL
DE SIEMENS DE SIEMENS
E EQUIPO DE QUIPO DE C CONTROL ONTROL
DE SCHNEIDER DE SCHNEIDER
P PROCESO ROCESO
I INTERFACE NTERFACE OPC OPC
SERVIDOR
OPC
SERVIDOR
OPC
APLICACIN
PASARELA
CLIENTE
OPC
P PROCESO ROCESO
Dnde encaja OPC Data Access (II)?
Dnde encaja OPC Data Access (II)?
ntroduccin a OPC 15
Caractersticas de OPC Data Access
Caractersticas de OPC Data Access
Basado en COM
Flexible
Eficiente
Puede empotrarse en las aplicaciones
Altamente Escalable
Debido a que la tecnologa COM se basa en nterfaces
Esto permite desarrollar grandes aplicaciones
Diseado para comportarse eficientemente en red
Aceptado y adoptado por el entorno industrial
Redes Ofimticas. No ndustriales (de momento)
ntroduccin a OPC 16
ReIacin CIiente - Servidor OPC
ReIacin CIiente - Servidor OPC
CIiente OPC 1
CIiente OPC 3
CIiente OPC 2
Servidor
OPC
1
Servidor
OPC
2
Servidor
OPC
3
ntroduccin a OPC 17
Bsqueda de servidores OPC (I)
Bsqueda de servidores OPC (I)
ProgD = CLSD (Registrar Servidor OPC)
Bsqueda Local
Bsqueda de ramas OPC
Bsqueda remota en mquina local
ntroduccin a OPC 18
Bsqueda de servidores OPC (II)
Bsqueda de servidores OPC (II)
OPCEnum OPCEnum
Bsqueda Remota
mposible buscar en registro remoto
nstalar programa proporcionado por la
OPCFoundation (opcenum.exe)
Bsqueda por categoras (1.0 / 2.0 / 2.0A)
Objeto COM: OPCEnum
OPCServerList: Lista de servidores OPC
ntroduccin a OPC 19
Diseo de un Servidor OPC
Diseo de un Servidor OPC
Interfaces OPC/COM
Grupos e Items OPC
Monitorizacin y Optimizacin de Items (Datos)
ProtocoIo Lgico de un Dispositivo Especfico
Conexin Hardware
ntroduccin a OPC 20
ModeIo Lgico ReIacionaI (I)
ModeIo Lgico ReIacionaI (I)
Interfaces Interfaces
COM COM
Servidor
OPC
Grupo OPC
Grupo OPC
Grupo OPC
Item(s)
Item(s)
Item OPC
Item(s)
Item(s)
Item OPC
Item(s)
Item(s)
Item OPC
Interfaces Interfaces
COM COM
Mapeo Mapeo de de
VariabIes VariabIes
ntroduccin a OPC 21
ModeIo Lgico ReIacionaI (II)
ModeIo Lgico ReIacionaI (II)
Item OPC
Item OPC
Item OPC
Item OPC
Grupo
OPC
FIC101
FIC102
TIC101
TIC102
SCADA
Sistema
Distribuido
Datos ReaIes (ejempIos)
Servidor OPC
ntroduccin a OPC 22
Interfaces Servidor
Interfaces Servidor
El servidor es un objeto COM:
IOPCServer
IOPCBrowseServerAddressSpace (OpcionaI)
IOPCCommon (version 2.0)
IOPCItemProperties (version 2.0)
IConnectionPointContainer (version 2.0)
Servidor Servidor
OPC OPC
ntroduccin a OPC 23
Mtodos Interfaz Servidor:
Mtodos Interfaz Servidor:
IOPCServer
IOPCServer
AddGroup: Aadir Grupo OPC
RemoveGroup: Borrar Grupo OPC
GetGroupByName: Buscar grupo OPC por nombre
CreateGroupEnumerator: Enumerar grupos OPC
GetErrorString: Obtener error
GetStatus: Estado del servidor OPC
ntroduccin a OPC 24
Mtodos Interfaz Servidor:
Mtodos Interfaz Servidor:
IOPCBrowseServerAddressSpace
IOPCBrowseServerAddressSpace
QueryOrganization: Jerrquico o Plano
ChangeBrowsePosition: Moverse de rama
BrowseOPCtemDs: tems OPC del nivel actual
GettemD: Nombre completo del item OPC actual
ntroduccin a OPC 25
Mtodos Interfaz Servidor:
Mtodos Interfaz Servidor:
IOPCCommon
IOPCCommon
LCD: Lenguaje que maneja el servidor para los valores
de retorno de tipo texto
Get/SetLocaleD: Obtener/Establecer LCD
QueryAvailableLocaleDs: LCDs disponibles
GetErrorString: Obtener error (Obsoleta)
SetClientName: Nombre del cliente que se conecta
ntroduccin a OPC 26
Mtodos Interfaz Servidor:
Mtodos Interfaz Servidor:
IOPCItemProperties
IOPCItemProperties
QueryAvailableProperties: Propiedades disponibles
para un item OPC concreto
GettemProperties: Obtener propiedades de un item
OPC concreto
LookuptemProperties: Bsqueda de items OPC
ms eficientes que cumplen las propiedades
solicitadas
ntroduccin a OPC 27
Mtodos Interfaz Servidor:
Mtodos Interfaz Servidor:
IConnectionPointContainer
IConnectionPointContainer
EnumConnectionPoints: Enumerar los puntos de
conexin disponibles
FindConnectionPoint: Encontrar punto de conexin
concreto
OPCShutdown: Necesario para el callback al cliente
ntroduccin a OPC 28
Interfaces Grupo
Interfaces Grupo
Un Grupo OPC es un objeto COM:
IOPCGroupStateMgt
IOPCItemMgt
IOPCAsyncIO2 (version 2.0)
IOPCSyncIO
IConnectionPointContainer (version 2.0)
Grupo Grupo
OPC OPC
ntroduccin a OPC 29
Mtodos Interfaz Grupo:
Mtodos Interfaz Grupo:
IOPCGroupStateMgt
IOPCGroupStateMgt
Propiedades Grupo OPC:
Nombre
UpdateRate: Tiempo actualizacin
TimeBias: Zona horaria (diferencia)
Deadband: % Ancho de Banda empleado
LCD: Lenguaje soportado para este grupo
GetState: Obtener estado del grupo OPC
SetState: Establecer estado del grupo OPC
SetName: Establecer nombre del grupo OPC
CloneGroup: Clonar grupo
ntroduccin a OPC 30
Mtodos Interfaz Grupo:
Mtodos Interfaz Grupo:
IOPCItemMgt
IOPCItemMgt
Addtems: Aadir items OPC
Validatetems: Validar items OPC
Removetems: Borrar items OPC
SetActiveState: Activar estado del item OPC
SetClientHandles: Establecer HANDLES del cliente
SetDatatypes: Establecer tipo de datos
CreateEnumerator: Enumerar items OPC
ntroduccin a OPC 31
Mtodos Interfaz Grupo:
Mtodos Interfaz Grupo:
IOPCAsyncIO2
IOPCAsyncIO2
Read: Lectura (Dispositivo)
Write: Escritura (Dispositivo)
Refresh2: Refresco (Cach o Dispositivo)
Cancel2: Cancelar operacin asncrona
SetEnable: Activar actualizacin de items OPC
GetEnable: Estado de la actualizacin de valores
ntroduccin a OPC 32
Mtodos Interfaz Grupo:
Mtodos Interfaz Grupo:
IOPCSyncIO
IOPCSyncIO
Read: Lectura (Cach o Dispositivo)
Write: Escrtira (Cach o Dispositivo)
ntroduccin a OPC 33
Mtodos Interfaz Grupo:
Mtodos Interfaz Grupo:
IConnectionPointContainer
IConnectionPointContainer
EnumConnectionPoints: Enumerar los puntos de
conexin disponibles
FindConnectionPoint: Encontrar punto de conexin
concreto
OPCDataCallback: Necesario para el callback al
cliente
ntroduccin a OPC 34
Interfaces cIiente
Interfaces cIiente
El cliente proporciona 2 interfaces COM al servidor:
IOPCShutdown
IOPCDataCaIIback
Servidor OPC
Grupo OPC
CIiente OPC
OPCDataCallback
OPCShutdown
ntroduccin a OPC 35
Mtodos Interfaz CIiente:
Mtodos Interfaz CIiente:
IOPCShutdown
IOPCShutdown
ShutdownRequest: El servidor OPC avisa al cliente
de que se est cerrando invocando este mtodo
ntroduccin a OPC 36
Mtodos Interfaz CIiente:
Mtodos Interfaz CIiente:
IOPCDataCaIIback
IOPCDataCaIIback
OnReadComplete: Lectura completada
OnWriteComplete: Escritura completada
OnCancelComplete: Operacin cancelada
OnDataChange: Valores de items OPC actualizados
ntroduccin a OPC 37
Resumen
Resumen
Estndar OPC de Acceso a Datos:
Estndar para el Acceso a Datos
independientemente del origen de estos
No hay procesamiento de datos, solo es una
ventana a los datos
Uso comn en redes ofimticas (ethernet TCP/P)
Distribuido
Escalable
Ms nformacin:
http://www.opcfoundation.org
http://www.opceurope.org
ntroduccin a OPC 38
TM
OLE for Process ControI
and Factory Automation
OPC Data Access
OPC Data Access