Automação e Sensoreamento Remoto utilizando Software Livre "SCADA"
Softwares para interação com ambiente físico - comandando equipamentos e lendo sensores de temperatura, umidade do ar, consumo de energia elétrica, entre outros - são cada vez mais comuns. Introduzimos o tema SCADA (Supervisory Control And Data Acquisition) e apresentamos os principais softwares livres hoje disponíveis nesta área.
Parte 2: Protocolos de comunicação com sensores
Protocolos de comunicação são conjuntos de especificações que determinam como dois (ou mais) equipamentos digitais irão trocar mensagens através de um determinado meio físico. De maneira mais simples, pode-se dizer que um protocolo determina o formato dos "pacotes" de dados que vão trafegar entre dois computadores, ou entre um sensor e um computador, por exemplo.
Assim como na Internet existe uma infinidade de protocolos (udp, tcp, ftp, http e assim por diante), cada um exercendo um papel específico e atendendo uma certa necessidade, o mesmo ocorre com os equipamentos como sensores, controladores e atuadores.
Ao longo das décadas surgiram inúmeros protocolos diferentes. Uma verdadeira proliferação de protocolos ocorreu tanto por motivos técnicos, como por motivos comerciais: muitos fabricantes de equipamento, com o objetivo de "prender" os clientes aos seus próprios softwares, criaram protocolos proprietários que o tornavam incompatíveis com os softwares de concorrentes. Hoje existem dezenas de protocolos largamente utilizados, e centenas de outros menos populares, já obsoletos ou altamente especializados.
Ao longo da década de 90, porém, a filosofia de integração entre diversos sistemas (Interoperabilidade) exigiu um movimento muito forte em direção à adoção de padrões mais abertos de comunicação. Neste período, alguns protocolos destacaram-se como alternativas abertas e viáveis para uma maior padronização no mundo dos softwares SCADAs. Vamos ver agora alguns dos formatos de comunicação mais importantes atualmente.
1) Comunicação com sensores de baixo-custo e equipamentos de utilização comercial:
Nesta área a comunicação ASCII sobre porta serial tornou-se bastante disseminada. Por exemplo, a maioria das balanças encontradas no comércio tem uma porta serial RS-232, e utiliza algum protocolo baseado em ASCII para comunicar-se com um computador ou impressora de etiquetas no ponto-de-vendas. Porém, cada fabricante utiliza um formato próprio na comunicação ASCII serial (com quantidade diferente de casas decimais, comandos próprios e outros caracteres de controle personalizados), por isso o formato ASCII pode necessitar pequenos ajustes que variam caso-a-caso.
2) Comunicação com sensores e controladores simples, em padrão industrial:
Nesta área algumas especificações bastante completas sobre formato das mensagens, velocidade de comunicação, controle de fluxo e detecção de erros, entre outros detalhes, foram desenvolvidas. Isto torna as comunicações mais padronizadas e confiáveis, o que permite que o mesmo software fale com uma gama maior de equipamentos.
O formato mais popular para esta comunicação, sem dúvida hoje é o MODBUS, um protocolo bastante enxuto que permite a transmissão de dados em algumas variantes como a porta serial 232 ou 485, e encapsulado em TCP sobre IP, normalmente em redes locais Ethernet.
Para comunicação com sistemas de ventilação e ar-condicionado existe o BACNET; já em equipamentos voltados a climatização e automação de datacenters é bem comum o uso do SNMP.
3) comunicação em sistemas industriais complexos:
Nesta área existem necessidades bastante diferentes conforme o tipo de aplicação, e também conforme o fabricante de equipamentos, pois muitos ainda utilizam protocolos próprios. Como este artigo não tem a intenção de discutir de maneira muito aprofundada as diferenças existentes entre eles, podemos apenas citar alguns entre os mais importantes: Profibus, ISO-TCP, Devicenet e as diversas variações do OPC, que é uma tecnologia desenvolvida para "abstrair" a diferença entre os protocolos, oferecendo um formato padrão de comunicação entre os SCADAs e os equipamentos.
4) comunicação em "utilities" (energia, gás, água):
Estas são as áreas com maior grau de padronização, e maior aderência a normas internacionais. Porém, mesmo assim ainda não há 100% de padronização, utilizando-se por exemplo tanto o DNP3 como a família de protocolos IEC 101, muitas vezes na mesma aplicação. A IEC 61850 promete ser o próximo passo para uma maior padronização, e tem sido adotada em ritmo bastante relevante.
A maioria dos protocolos ditos "abertos" possui implementações open-source em linguagens como C e Java, como é o caso do Modbus, Bacnet, IEC 101 e DNP3, entre outros. Alguns protocolos fechados (proprietários) já chegaram a ser implementados através de engenharia reversa, mas alguns foram retirados de circulação por força legal de copyright, como já ocorreu anteriormente com uma versão "free" do Profibus.
Assim como na Internet existe uma infinidade de protocolos (udp, tcp, ftp, http e assim por diante), cada um exercendo um papel específico e atendendo uma certa necessidade, o mesmo ocorre com os equipamentos como sensores, controladores e atuadores.
Ao longo das décadas surgiram inúmeros protocolos diferentes. Uma verdadeira proliferação de protocolos ocorreu tanto por motivos técnicos, como por motivos comerciais: muitos fabricantes de equipamento, com o objetivo de "prender" os clientes aos seus próprios softwares, criaram protocolos proprietários que o tornavam incompatíveis com os softwares de concorrentes. Hoje existem dezenas de protocolos largamente utilizados, e centenas de outros menos populares, já obsoletos ou altamente especializados.
Ao longo da década de 90, porém, a filosofia de integração entre diversos sistemas (Interoperabilidade) exigiu um movimento muito forte em direção à adoção de padrões mais abertos de comunicação. Neste período, alguns protocolos destacaram-se como alternativas abertas e viáveis para uma maior padronização no mundo dos softwares SCADAs. Vamos ver agora alguns dos formatos de comunicação mais importantes atualmente.
1) Comunicação com sensores de baixo-custo e equipamentos de utilização comercial:

2) Comunicação com sensores e controladores simples, em padrão industrial:

O formato mais popular para esta comunicação, sem dúvida hoje é o MODBUS, um protocolo bastante enxuto que permite a transmissão de dados em algumas variantes como a porta serial 232 ou 485, e encapsulado em TCP sobre IP, normalmente em redes locais Ethernet.
Para comunicação com sistemas de ventilação e ar-condicionado existe o BACNET; já em equipamentos voltados a climatização e automação de datacenters é bem comum o uso do SNMP.
3) comunicação em sistemas industriais complexos:
Nesta área existem necessidades bastante diferentes conforme o tipo de aplicação, e também conforme o fabricante de equipamentos, pois muitos ainda utilizam protocolos próprios. Como este artigo não tem a intenção de discutir de maneira muito aprofundada as diferenças existentes entre eles, podemos apenas citar alguns entre os mais importantes: Profibus, ISO-TCP, Devicenet e as diversas variações do OPC, que é uma tecnologia desenvolvida para "abstrair" a diferença entre os protocolos, oferecendo um formato padrão de comunicação entre os SCADAs e os equipamentos.
4) comunicação em "utilities" (energia, gás, água):
Estas são as áreas com maior grau de padronização, e maior aderência a normas internacionais. Porém, mesmo assim ainda não há 100% de padronização, utilizando-se por exemplo tanto o DNP3 como a família de protocolos IEC 101, muitas vezes na mesma aplicação. A IEC 61850 promete ser o próximo passo para uma maior padronização, e tem sido adotada em ritmo bastante relevante.
A maioria dos protocolos ditos "abertos" possui implementações open-source em linguagens como C e Java, como é o caso do Modbus, Bacnet, IEC 101 e DNP3, entre outros. Alguns protocolos fechados (proprietários) já chegaram a ser implementados através de engenharia reversa, mas alguns foram retirados de circulação por força legal de copyright, como já ocorreu anteriormente com uma versão "free" do Profibus.
Parabéns