Você está na página 1de 15

OPC

O que OPC?
(extrado de https://opcfoundation.org/about/what-is-opc/, acessado em 18/09/2014,
traduo nossa)
OPC um padro de interoperabilidade para a troca de dados segura e confivel no espao de
automao industrial e em outros setores. Ele independente de plataforma (OPC UA) e
garante um fluxo ininterrupto de informaes entre dispositivos de vrios fornecedores. A
Fundao OPC (https://opcfoundation.org) responsvel pelo desenvolvimento e manuteno
deste padro.

O padro OPC um conjunto de especificaes desenvolvidas por fornecedores do setor,
usurios finais e desenvolvedores de software. Essas especificaes definem a interface entre
clientes e servidores, bem como entre servidores, incluindo o acesso aos dados em tempo real,
monitoramento de alarmes e eventos, acesso a dados histricos e outras aplicaes.

Quando a norma foi lanado pela primeira vez em 1996, o seu objectivo era a abstrao de
protocolos especficos de PLC (como Modbus, Profibus, etc) em uma interface padronizada
permitindo que os sistemas HMI / SCADA fizessem interface com um "intermedirio" que iria
converter solicitaes OPC genricas de leitura / escrita em solicitaes especficas do
dispositivo e vice-versa. Como resultado, uma indstria inteira de produtos surgiu permitindo
aos usurios finais implementar sistemas utilizando os melhores produtos da sua categoria
tudo perfeitamente interagindo via OPC.

Inicialmente, o padro OPC foi restrita ao sistema operacional Windows. Como tal, a sigla OPC
nasceu de OLE for Process Control, ou seja, OLE (Object Linking and Embedding) para
controle do processo. Estas especificaes, que so agora conhecidos como OPC clssico ,
tm sido amplamente adotadas em vrios setores, incluindo manufatura, automao predial,
petrleo e gs, energia renovvel e utilitrios, entre outros.





OPC UA
(extrado de https://opcfoundation.org/about/opc-technologies/opc-classic/, acessado em
18/09/2014, traduo nossa)
Em 2008, a OPC Fundation liberou a especificao OPC Unified Architecture (OPC UA), uma
arquitetura orientada a servio, independente da plataforma e que integra todas as
funcionalidades das especificaes OPC Classic existentes alm de ser compatvel com OPC
Classic. Vrios fatores influenciaram a deciso de criar OPC UA:
Microsoft desenfatizado o COM (Component Object Model) e DCOM (Distributed COM)
em favor de SOA multi-plataforma (Service-Oriented Architecture).
Fornecedores OPC querem um nico conjunto de servios que ir expor os modelos de
dados OPC, como dados de acesso, alarmes e eventos, histrico de acesso a dados,
etc
Para manter a competitividade, os fornecedores OPC precisam implementar a
tecnologia OPC em sistemas no-Microsoft, incluindo dispositivos embarcados.
Outras organizaes colaboradoras precisam de uma maneira confivel e eficiente para
o transporte de dados estruturados de alto nvel.
Usurios exigem a capacidade de acessar servidores OPC atravs de firewalls de forma
segura.

OPC DA (OPC Classic)
(extrado de http://www.matrikonopc.com/opc-server/opc-data-access-versions.aspx,
acessado em 18/09/2014, traduo nossa)
O que OPC DA?
OPC DA significa OPC Data Access . uma especificao OPC Foundation, que define como
os dados em tempo real podem ser transferidos entre uma fonte de dados e um coletor de
dados (por exemplo: a PLC e uma IHM) sem que nenhum deles ter que saber protocolo nativo
do outro.

Por que OPC DA to popular? Como que diferente do que os protocolos
anteriores?
A arquitetura OPC DA Cliente / Servidor foi a primeira arquitetura definida pela Fundao OPC.
Antes OPC DA, produtos de fornecedores (dispositivos, PLCs, IHMs) exigido qualquer
dispositivo ou aplicativos que se conectam a eles ter um "driver personalizado" que traduzido
entre a terceira conexo partido e do produto em questo. Havia muitos problemas associados
com comunicaes baseadas em drivers personalizados; alguns destes mais comuns foram:
alto custo, tecnologia proprietria que amarrava os usurios a um
determinado fornecedor, difcil de configurar e manter, porque cada driver personalizado tinha
sua prpria maneira de fazer as coisas, difcil manter-se atualizado por causa da constante
lanamento de novos dispositivos e aplicaes. Em contraste, OPC DA, foi possvel se
conectar a qualquer fonte de dados em tempo real, sem um conector personalizado escrito
especificamente para o par-fonte de dados / dissipador de dados. Assim, ler e escrever poderia
ser executado sem que aplicao tenha que saber protocolo nativo do dispositivo (fonte de
dados) ou mesmo sua estrutura de dados interna.

Specificaes DA, A & E, HDA
(extrado de OPC Unified Architecture.pdf , MAHNKE et. al, pg 3, traduo nossa)

De acordo com as diferentes necessidades dentro de aplicaes industriais, trs principais
especificaes OPC foram desenvolvidas: Data Access (DA), Alarms & Events (A & E), e
Historical Data Access (HDA). O acesso aos dados do processo atual (dados em tempo real)
descrita na especificao de DA, a espedificao A & E descreve uma interface de informao
baseada em eventos, incluindo o reconhecimento de alarmes do processo e a especificao
HDA descreve funes para acessar os dados arquivados. Todas as interfaces oferecem uma
maneira de navegar at endereo especificado e fornecer informaes sobre os dados
disponveis.

OPC usa uma abordagem cliente-servidor para a troca de informaes. Um servidor OPC
encapsula a fonte da informao de processo como um dispositivo e disponibiliza as
informaes atravs da sua interface. Um cliente OPC se conecta ao servidor OPC e pode
acessar e consumir os dados oferecidos. Aplicativos que consomem e fornecem dados pode
ser tanto cliente quanto servidor. A figura abaixo mostra um caso de uso tpico de clientes e
servidores OPC.

Caso de uso tpico de clientes e servidores OPC (fonte: OPC Unified Architecture.pdf ,
MAHNKE et. al, pg 3)




Arquitetura do OPC

A interface do OPC DA permite leitura, escrita, e monitoramento de variveis contendo os
dados do processo em curso. O principal caso de uso mover dados em tempo real a partir de
PLCs, DCSs, e outros dispositivos de controle para IHMs e outros clientes de exibio. OPC
DA a interface OPC mais importante. Ele implementado em 99% dos produtos que utilizam
a tecnologia OPC hoje. Outras interfaces OPC so principalmente aplicadas juntamente com
DA.
Clientes OPC DA selecionam explicitamente as variveis (itens OPC) que querem ler, escrever,
ou monitorar no servidor. O cliente OPC estabelece uma conexo com o servidor, criando um
objeto OPCServer. O objeto de servidor oferece mtodos para navegar pela hierarquia de
espao de endereos para encontrar itens e suas propriedades, como tipo de dados e direitos
de acesso.
Para acessar os dados, o cliente agrupa os itens OPC com configuraes idnticas, tais como
tempo de atualizao em um objeto OPCGroup. A figura abaixo mostra os diferentes objetos
que o cliente OPC cria no servidor.


Objetos criados por um cliente OPC para acessar dados (fonte: OPC Unified
Architecture.pdf , MAHNKE et. al, pg 4)

Em um nvel alto, um servidor OPC composto de vrios objetos: o servidor, o grupo eo item.
O objeto de servidor OPC mantm informaes sobre o servidor e serve como um recipiente
para objetos do grupo OPC. O objeto Grupo OPC mantm informaes sobre si mesmo e
fornece o mecanismo para conter e organizar logicamente itens OPC.

Os Grupos OPC fornecem uma maneira para os clientes a organizar os dados. Por exemplo, o
grupo pode representar itens de um monitor especfico do operador ou um relatrio. Os dados
podem ser lidos e escritos. Conexes baseadas em exceo tambm pode ser criadas entre o
cliente e os itens do grupo e podem ser ativadas e desativadas quando necessrio. Um cliente
OPC pode configurar a taxa que um servidor OPC deve fornecer as alteraes de dados para o
cliente OPC. Dentro de cada grupo, o cliente pode definir um ou mais itens OPC.

Diagrama de arquitetura cliente/servidor OPC (extrado de
http://www.matrikonopc.com/opc-server/opc-client-server.aspx, acessado em 18/09/2014)

Os itens OPC representam conexes com fontes de dados (PLCs, etc) dentro do servidor. Um
OPC Item, a partir da perspectiva interface personalizada, no acessvel como um objeto por
um cliente OPC diretamente. Todo o acesso aos itens OPC feito atravs de um objeto Grupo
OPC que contm o item OPC, ou simplesmente onde o item OPC est definido.

Associado a cada item existe um valor, qualidade e carimbo de tempo. O valor est na forma
de uma variante, e a qualidade semelhante ao previsto pela Fieldbus.

Note-se que os itens no so as fontes de dados - eles so apenas conexes com eles. Por
exemplo, as tags em um sistema DCS existe, independentemente de um cliente OPC estar
atualmente o acessando. O item OPC deve ser pensado como simplesmente a especificao
de um endereo dos dados, no como fonte fsica real dos dados.

Onde OPC Serve

Embora OPC projetado principalmente para acessar dados de um servidor de rede, as
interfaces OPC pode ser usado em muitos lugares dentro de um aplicativo. No nvel mais baixo
eles podem obter dados brutos a partir dos dispositivos fsicos em um SCADA ou DCS, ou a
partir do sistema SCADA ou DCS na aplicao. A arquitetura e design do OPC faz com que
seja possvel construir um servidor OPC que permita que um aplicativo cliente acesse dados de
muitos servidores OPC, de diferentes fornecedores OPC executando em diferentes ns atravs
de um nico objeto.


Relao Cliente/Servidor OPC (extrado de
http://www.kepware.com/Menu_items/industry_OPC_Foundation.asp, acessado em
18/09/2014)

Comparativo OPC DA x UA

(extrado de
https://j2eeps.cern.ch/wikis/display/EN/OPC+UA+vs+OPC+DA+performance+comparative#OP
CUAvsOPCDAperformancecomparative-Results, acessado em 18/09/2014)


Servidores OPC utilizados na Empresa em sistemas de N2 (todos via DA)

KEPServerEX (http://www.kepware.com/kepserverex/)
RSLinx Classic - RSLinx Classic is an OPC Data Access Compliant Server and a DDE
server. (http://literature.rockwellautomation.com/idc/groups/literature/documents/gr/linx-
gr001_-en-e.pdf)


KEPServerEx

KEPServerEX 4.500.465.0

Diversos aspectos devem ser considerados quando se necessita instalar / configurar um
servidor OPC:
Licenciamento
Exemplos RSLinx / KEPServerEX;
Acesso local ou remoto
COM/DCOM
Tuning de performance



Praticando o OPC

Praticando OPC Server

1. Instalando KEPServerEX;
2. Entendendo o lado nativo/proprietrio dos servidores OPC
3. Entendendo o lado opc dos servidores OPC;
4. Criando um Canal;
5. Criando um Device
6. Criando um Grupo
7. Criando um Item
8. Analistando um projeto (KEPServerEX) existente
9. Entendendo alguns aspectos de performance
a. Canais por device;
b. Multiplos grupos;
c. Taxa de atualiao

Praticando OPC Client 1 -OPC Quick Client
1. Opes de um OPC Client;
2. Opo de visualizao default
a. Deletando a conexo com o servidor default;
b. Saindo do servidor OPC (literalmente parando o servio)
3. Conectando a um servidor;
a. Local / remoto;
b. Conectando em mais de um servidor;
c. Partindo o servidor a partir de uma conexo estabelecida
4. Criando um grupo XXX
a. Taxa de atualiao
5. Adicionando um Item
6. Monitorando o Item
7. Multiplos clientes em um mesmo servidor

Praticando OPC Client 2 - JEasyOpc
1. Criando um novo projeto
2. Adicionando as bibliotecas
3. Preparando para o uso da JEasyOpc;
4. Criando um grupo
5. Realizando um leitura sincrona;
6. Realizando uma leitura assincrona;
7. Realizando uma escrita;









JEasyOpc um acrnimo de Java Easy OPC client. um cliente baseado na tecnologia. A
biblioteca de ncleo esta desenvolvida em Delphi (somente para Windows). JEasyOpc uma
biblioteca de classes Java Open-source (http://sourceforge.net/projects/jeasyopc/). JEasyOpc
tambm suporta Logging e multi-linguagem.

verso atual: jeasyopc-2.3.2.zip

Abaixo apresentado a arquitetura do JEasyOpc.


Figura 1: Architecture of java components
(fonte: jeasyopc-2.3.2\doc\manual\guide.html - Users Guide : JEasyOpc project)
JCustomOpc - A classe ancestral (me de todas as classes) de todos os componentes OPC
JCustomOpc. Essa classe encapsula dll-library nativa e uma parte fundamental da
comunicao DCOM.

JOpcBrowser - O componente de browser OPC, JOpcBrowser est herda diretamente de
JCustomOpc. OPC Browser: permite a navegacao nos ramificaes e itens do servidor OPC.

JOpc tambm herda de JCustomOpc, mas adiciona todo o suporte e controle a itens
e grupos administrao de processos e modos de comunicao. JOpc a classe
base para sua herana.

JEasyOpc um exemplo de implementao de thread do modo OPC DA 2.0
asynchronous reads. JEasyOpc usa o mensagens assncronas atravs do
OpcAsynchGroupListeners (listeners de grupo)



Novo projeto.


Nomeando o novo projeto como: TesteJEasyOpc





Novo projeto criado:


Renomear o pacote da aplicao para com.treinamento:




Utilizar o refactoring.





Referncias e Links

OPC
http://www.kepware.com/Menu_items/industry_OPC_Foundation.asp (About OPC -
OPen Connectivity through Open Standards - KEPWare)
https://opcfoundation.org (Home Page - OPC Foundation)
http://opcda.info/ (OPC DA - Articles, White Papers, OPC Specification, Information and
Software download - OPC UA)
http://www.opcconnect.com/ (OPC Programmers' Connection - OLE for Process Control)
http://www.commsvr.com/UAModelDesigner/Index.aspx ( OPC-UA - OPC Unified
Architecture - e-book online acessado em 18/09/2014)
https://j2eeps.cern.ch/wikis/display/EN/OPC+Support (OPC Support - EN-ICE -
Confluence - diviso de engenharia do CERN)

JEasyOpc
http://sourceforge.net/projects/jeasyopc/ (JEasyOPC | SourceForge.net)