terça-feira, 10 de outubro de 2017

Princípios de usabilidade da interface de software – Parte 1

Considerando como as pessoas pensam e interagem com um produto de software, os princípios de usabilidade são uma referência importante no desenvolvimento e na avaliação de usabilidade do produto. Os princípios de usabilidade apresentados aqui são uma síntese pequena do que pode ser encontrado na literatura sobre este assunto:
  • criar um diálogo simples e natural
  • simplificar a estrutura das tarefas
  • facilitar o reconhecimento, e não a memória do usuário
  • fornecer um feedback adequado do status do sistema de forma claramente visível
  • evitar erros de interação e facilitar a recuperação
  • ser consistente
  • falar o idioma do usuário
  • facilitar a flexibilidade e a eficiência do usuário
  • fornecer ajuda e manuais

Criar um diálogo simples e natural

O produto do software deve propor ao usuário um modelo de diálogo consistente com a atividade para qual o usuário pretende usar o sistema. Deve ser fácil de entender para criar uma boa interação entre o usuário e o produto.

O desenvolvimento de um diálogo simples e natural é facilitado principalmente por dois fatores:
  • levar sempre em consideração a maneira de trabalhar do usuário, suas características e necessidades;
  • escolher soluções de interface que levem em conta principalmente as tarefas, reconhecimento, feedback e erros.
Algumas maneiras de respeitar o princípio do diálogo simples e natural são:
  • Tome em consideração como o usuário e seu modelo de negócio funcionam:
    1. Organização dos conteúdos e estrutura do sistema,
    2. Implementação da lógica de interação,
    3. Definição da ordem do menu,
    4. Definição da ordem da apresentação de janelas ou páginas,
    5. Organização do conteúdo e objetos dentro das janelas ou páginas;
  • Fornecer um bom modelo conceitual do sistema e deixar claro a organização, lógica de interação e outros, para que o usuário possa antecipar os efeitos de suas ações: interagir com um produto sem ter uma imagem clara sobre como fazer as coisas é como andar às cegas, sem saber o que acontecerá e o que esperar de cada ação;
  • Tornar evidente a informação que é efetivamente relevante para o usuário fazer o trabalho, evitando o uso de informações desnecessárias ou raramente usadas: informações irrelevantes podem distrair a atenção do usuário e a perspectiva da tarefa em questão;
  • Antecipar, na medida do possível, informações que o usuário encontrará na próxima página ou o que acontecerá como resultado de uma ação.


Simplificar a estrutura das tarefas

As tarefas e atividades onde o usuário tem que interagir com o sistema devem ter uma estrutura simples. Elas devem ser projetadas e implementadas no sistema minimizando a necessidade de processamento de informações humanas, mesmo que possa ser bastante tentador para os engenheiros projetar formas mais elaboradas devido à grande variedade de ferramentas de design deixadas à disposição e à imaginação.

Donald Norman sugere quatro abordagens para simplificar tarefas:
  • Manter a tarefa inalterada, mas oferecendo subsídios mentais;
  • Usar a tecnologia para tornar visível o que de outra forma seria invisível;
  • Automatizar, mantendo a tarefa substancialmente inalterada;
  • Alterar a natureza da tarefa.
  • As primeiras três abordagens consideram substancialmente a importância de não alterar a tarefa que o usuário deve fazer.
O primeiro e o segundo caso sugerem que a ajuda externa precisa ser fornecida (que suporte a capacidade cognitiva do usuário sem forçá-los a confiar em sua própria memória) e feedback (que permite ao usuário controlar os componentes invisíveis do sistema de forma a verificar o seu bom funcionamento). Por exemplo, digitar dados na tela basicamente tem a mesma estrutura de tarefa que a escrita em papel. No entanto, o primeiro tem a ajuda de um corretor automático para alertar erros, permitindo ao usuário melhorar sua qualidade de trabalho. O terceiro caso sugere que, para manter as estruturas de tarefas inalteradas, algumas das suas partes (as mais arriscadas e complicadas) devem ser deixadas nas mãos da tecnologia e não do usuário.

Finalmente, quando a tarefa é intrinsecamente complexa para as habilidades necessárias, envolve um redesenho substancial da tarefa: o objetivo permanece, é claro, o mesmo, mas a maneira como esse objetivo é alcançado é totalmente diferente.


Facilitar o reconhecimento, e não a memória do usuário

O usuário deve ter uma imagem clara do que e como eles devem fazer seu trabalho apenas olhando a interface. Uma vez realizada uma ação, o usuário deve entender claramente o que aconteceu e saber quais são os resultados.

Uma vez que é mais fácil reconhecer e lembrar de coisas ao vê-las diretamente na tela, menos o usuário precisará recorrer a sua memória. A maneira mais simples de tornar a vida mais fácil para o usuário seria, portanto, tornar as coisas aparentemente visíveis para eles através da interface, ou fornecer aos usuários ajuda externa para ajudá-los a lembrar.

Dizer que as coisas devem ser visíveis parece trivial, mas não é! Aqui estão alguns exemplos de desrespeito deste princípio:
  • Ser forçado a memorizar certos comandos ou informações (ou usar o guia operacional ou pedir sugestões para colegas e amigos mais experientes);
  • Não é claro observando um elemento (um campo de edição, um link, um botão, etc.) se ele é selecionável, editável ou não;
  • Não é claro se a ação solicitada foi realizada pelo sistema;
  • Não é claro por que a ação solicitada não foi executada pelo sistema;
  • Navegando pelas páginas, você não entende mais aonde você está e de onde você saiu.
Algumas sugestões para facilitar o reconhecimento:
  • explorar o mapeamento natural, isso significa usar a correlação natural entre duas coisas, efeitos, comandos, suas ações e resultados (um exemplo de mapeamento natural seria a manipulação direta de objetos. Ao usar essas técnicas, o usuário não é obrigado a lembrar como usar os objetos ou descrever as ações a serem executadas: simplesmente executando-os diretamente na tela, movendo, por exemplo, um documento da área de trabalho virtual do seu PC para o lixo, como seria no mundo real);
  • certifique-se de que as ações permitidas na interface são claramente visíveis;
  • manter o status do sistema evidente em todos os momentos e em cada ação realizada pelo usuário (resultados da ação tomada e contexto em que você está, etc.);
  • dar um título às páginas, significando adequadamente o tipo de informação exibida ou as ações a serem executadas na janela ou naquela página;
  • use um idioma e gráficos corretos e significativos para o usuário, de modo a não forçá-lo a interpretações de significado;
  • use listas de seleção que tenham escolhas e formatos admissíveis fáceis de lembrar;
  • fornecer visualização de informações sobre o objeto selecionado;
  • apresentar balão de ajuda nos ícones e símbolos gráficos descrevendo a funcionalidade associada a eles;
  • ativar ou desativar comandos com base em seu conteúdo operacional para lembrar ao usuário quais ações são obrigatórias ou têm relações sequenciais com outras;
  • manter a consistência ao organizar conteúdo e objetos dentro de janelas e páginas, para evitar que o usuário tenha que procurar em toda a janela ou página para encontrar o que está procurando.

Continua...


Tradução livre parcial do texto "Usability and Guidelines Designing HMI" de empresa Progea. Todos os direitos reservados.

Platform.NExT™ e  Movicon.NExT™ são tecnologias de software totalmente desenvolvidas, produzidas e distribuídas pela Progea. © 2016 – Todos os direitos reservados

sexta-feira, 11 de agosto de 2017

Plataforma de Software para o IoT Industrial

Um fator a ser considerado, e talvez o mais importante, que requer uma avaliação criteriosa em um projeto de IIoT é a escolha da plataforma de software para implementar o acesso e gerenciamento dos dados. O aplicativo que vai executar esta função deve ter sido desenvolvido autonomamente escrevendo-se código baseado em necessidades desde que se tenha a competência para fazê-lo e também o tempo e recursos não só para desenvolver o software como também para gerenciar os aspectos de desenvolvimento e manutenção.
De maneira geral, as empresas tendem a focar no seu negócio e preferem usar plataformas que obedecem a padrões, abertas e intuitivas no seu uso. Esta é uma escolha estratégica para qualquer negócio que quer investir seus recursos, reduzindo o custo inicial e depois gerenciando o retorno do investimento no médio – longo prazo, para desenvolver seus projetos uma vez que os dados gerenciados são fonte vital para as escolhas de negócios estratégicas.
A escolha ideal é uma solução que obedece padrões, aberta e intuitiva no seu uso que oferece liberdade para usar os protocolos de IIoT e qualquer outro protocolo, que seja modular e expansível, e que inclua todas as funções necessárias para adicionar não somente os sistemas de coleta mas também análise, visualização, alertas e outros.

Automation Platform.NExT
O Automation Platform.NExT é uma plataforma de software de nova geração desenvolvida em tecnologias modernas e inovadoras. Foi desenvolvida pela Progea, uma companhia que tem 25 anos de experiência trabalhando com tecnologias de software aplicadas a automação industrial, especificamente em plataformas SCADA/IHM. Seu produto mais popular é o Movicon com mais de 100.000 aplicações pelo mundo.
O Automation Platform.NExT é uma solução de software modular centrada em um framework .NET desenvolvido especialmente pela Progea para aplicações de automação baseadas em arquitetura de computadores pessoais, servidores e também para sistemas embarcados (embedded). A plataforma usa a tecnologia OPC UA para a transferência de dados entre os diversos módulos clientes e módulos servidores que compõe a plataforma em um único framework. O uso da tecnologia aberta OPC UA, para troca de dados entre os diversos módulos da plataforma, permite integrar módulos clientes e módulos servidores desenvolvidos por terceiros que suportem esta tecnologia.
Em função da tecnologia e da abordagem modular do produto, ele se torna uma solução ideal para projetos de IIoT, que precisam ser inerentemente abertos e flexíveis.


Este diagrama mostra um exemplo de coleta de dados de vários dispositivos de campo, conectados por um único protocolo para IIoT. O banco de dados para armazenamento, neste exemplo está na nuvem (Ms SQL Azure)

Servidor de Dados
Qualquer projeto de IIoT começa com a coleta de dados. De modo que temos que ter um servidor com vários protocolos. Com respeito ao IIoT, o servidor do Platform.NExT incorpora o OPC UA e pode-se conectar com qualquer dispositivo ou aplicação compatível com OPC UA. Ele tem também, os drivers para os protocolos PubNub e MQTT e permite implementações de Azure IoT.
Além disso o servidor inclui vários outros drivers para dispositivos industriais como: Modbus, Siemens S7 TCP, Ethernet/IP, Omron, Mitsubishi, Profinet, IEC870, IEC850 e vários outros. Esta flexibilidade permite criar pequenas estações tipo gateway exclusivamente para coleta de dados com estes protocolos proprietários e então publicar os dados requisitados usando os protocolos IIoT no servidor da empresa.

Win10 IoT
Um dos destaques do Platform.NExT é sua capacidade de rodar em dispositivos embarcados, como o Raspberry PI com o Win10 IoT, executando microprojetos de coleta e gerenciamento de dados. Esta opção permite a criação de uma rede de pequenos dispositivos com e/s digitais e analógicas, executando lógica e enviando dados através de PubNub ou OPC UA a um servidor principal Platform.NExT. Esta capacidade aumenta de forma considerável o potencial de uso da plataforma oferecendo uma solução abrangente e flexível aos projetistas de sistemas de IIoT.

Data Gateway
É razoável assumir que sistemas de conectividade e coleta de dados existentes em dispositivos de campo não estejam preparados para se conectar com soluções IIoT. Se for este o caso, então torna-se necessário o uso de uma solução de gateway, isto é, um dispositivo que possa se comunicar usando o protocolo existente e converter os dados e retransmiti-los através de um protocolo de IIoT, com segurança e confiabilidade. O Servidor de Dados do Platform.NExT inclui estas funcionalidades podendo funcionar como uma gateway local comunicando com vários dispositivos em seus protocolos nativos, convertendo os dados e retransmitindo em um protocolo IIoT. A Gateway de Dados também pode operar como um Servidor de Dados OPC UA.

Historiador, Banco de Dados ou Nuvem
O Servidor Platform.NExT inclui um mecanismo poderoso para armazenamento de dados através do Historiador ou do Data Logger. Assim sendo o Servidor pode armazenar dados em bancos de dados – normalmente o SQL Server – por padrão. Entretanto também são suportados o Oracle ou o My SQL, ou em gerenciadores de banco de dados na nuvem como o SQL for Microsoft Azure.
O Platform.NExT inclui todas as ferramentas para transferir, coletar e armazenar os dados no sistema de banco de dados de sua escolha, usando os critérios de coleta e armazenamento que atendam às necessidades específicas do projeto.

SCADA, IHM e Análise de Dados
Por sua modularidade, o Platform.NExT oferece a possibilidade de gerenciar qualquer projeto de IIoT do lado Cliente com capacidade e flexibilidade. O lado Cliente inclui: Interface Homem-Máquina, Análise de Dados, Apresentação de Dados em Tempo Real e Dados Históricos, em função de sua extensa biblioteca de símbolos e do sistema gráfico vetorial de nova geração baseado no WPF (Windows Presentation Foundation) e XAML.
O cliente pode ser usado localmente, através de rede ou por acesso via Web para visualizar objetos animados, tabelas dinâmicas, alertas, tendência de dados, cartas, análise de dados, dashboards e relatórios.
Seu projeto de IIoT pode se transformar em uma verdadeira estação de trabalho para análise de dados, supervisão, MES com o uso de todos os módulos disponíveis na plataforma, incluindo Movicon.NExT.


Este diagrama apresenta outro exemplo de coleta de dados de vários dispositivos de campo, cada um deles neste caso usa um protocolo diferente. Neste aspecto a Gateway Platform.NexT é a ferramenta ideal para atender um projeto de IIoT

Tradução livre parcial do texto "IIoT: Industrial Internet of Things com Platform.NExT™" de empresa Progea. Todos os direitos reservados.

Platform.NExT™ e  Movicon.NExT™ são tecnologias de software totalmente desenvolvidas, produzidas e distribuídas pela Progea. © 2016 – Todos os direitos reservados

quinta-feira, 29 de junho de 2017

Protocolos de comunicação para o IoT Industrial

Um projeto de IoT Industrial está fundamentado na conectividade entre tipos de sistemas e dispositivos diferentes, que podem estar usando tipos de dados distintos e podem estar espalhados entre si por distâncias consideráveis de forma que a internet (rede pública) possa ser a única opção viável de conexão entre eles. A primeira questão a ser feita, é: como estes dispositivos trocaram dados entre si?
É sabido que para dispositivos e sistemas se comunicarem eles precisam de uma infraestrutura de conexão e um protocolo comuns. Isto, de fato, também é verdadeiro para um projeto de IoT Industrial. Todavia a IoT Industrial não tem um padrão de comunicação estabelecido. Hoje em dia existem algumas maneiras de se implementar um projeto de IoT Industrial. Entretanto, quando existem algumas soluções disponíveis, é crucial fazer a escolha correta uma vez que a seleção do protocolo mais adequado depende dos requisitos do projeto, dispositivos de campo e dos dados a serem processados.

O protocolo ideal para o IoT Industrial

Quando se pensa em solução para IoT Industrial não existe um protocolo padrão ou ideal. Existem soluções diferentes, protocolos distintos e soluções personalizadas. Quando se está definindo uma solução é importante levar em conta que o protocolo escolhido seja aberto, padronizado, seguro e flexível considerando que o projeto de IoT Industrial vai se expandir continuamente, os dados a serem coletados mudam e são expandidos em função da evolução dos processos da empresa. De forma que devem ser evitadas soluções fechadas ou proprietárias. A este respeito as tecnologias de comunicação para IoT de maior sucesso incluem a função Descoberta (Discovery), um valor real para a IoT. De fato, será crucial que qualquer “objeto” adicionado em um projeto de IoT venha a ser parte do projeto sem que haja necessidade de editar a configuração do sistema. Esta função permitiria adicionar um dispositivo IoT o qual seja capaz de unir-se a um grupo e ser “reconhecido” pelos outros dispositivos do grupo. A função Descoberta (Discovery) ainda não está disponível nos protocolos, entretanto a especificação OPC UA define suas propriedades, ainda que sua definição não esteja finalizada.

OPC UA
O OPC UA é a tecnologia mais efetiva, um protocolo de automação industrial padronizado e estabelecido, e perfeitamente adequada para combinação entre TO e TI.
A tecnologia OPC UA não consiste simplesmente na troca de dados entre cliente e servidor, ela tem em sua essência os princípios de interoperabilidade e conectividade para dados relativos ao chão de fábrica, que constitui a base dos conceitos da Indústria 4.0. Um dos pilares desta abordagem é a tecnologia multiplataforma que inclui desempenho e segurança de forma que servidores OPC UA podem até ser embarcados diretamente em dispositivos. Mais ainda, a fundação PLC Open fez uma norma complementar ao OPC UA definindo um modelo de objetos para ser incorporado nas linguagens de programação compatíveis com o padrão IEC 61131-1 resultando em um modelo de objetos que pode ser compartilhado com OPC UA. E tem mais, em Abril de 2014 foram adicionadas funcionalidades do OPC UA em Function Blocks (Blocos de Função) IEC 61131-3, de forma que os controladores propriamente ditos podem se tornar parte como unidades inteligentes da comunicação entre Fábrica e TI, melhorando e simplificando o acesso a dados em todos os níveis, tanto no meio do caminho (Sistemas Supervisórios) quanto no seu ponto mais alto (MES/ERP). Por exemplo, numa rede inteligente cada dispositivo ou serviço tem que ser capaz de iniciar a comunicação e responder a solicitações específicas de outros serviços.
Portanto, um dispositivo (servidor OPC UA) pode trocar até estruturas complexas de dados (informação) tanto vertical como horizontalmente, do nível mais baixo ao nível mais alto da pirâmide do TI, localmente ou através da Internet ou nuvem, de forma a habilitar os critérios da Industria 4.0 da IOT (Internet of Things), os quais são pré-requisitos das próximas arquiteturas da nova geração de sistemas integrados.
Por exemplo, em uma linha de produção composta de várias máquinas fornecidas por diferentes fabricantes, estas máquinas podem ter que se comunicar entre si usando uma arquitetura cliente servidor. E não é só isto. Um sistema de mais alto nível ou um serviço podem chamar um método (um supervisório para máquinas, um sistema de gerenciamento MES para uma unidade supervisória ou para as máquinas diretamente) para ativar uma receita de produção, por exemplo, tão eficientemente quanto uma chamada para troca de parâmetros de entrada e saída. Recursos multiplataforma e de segurança integrados diretamente na especificação asseguram o máximo de interoperabilidade e segurança em todos os níveis, tanto local quanto remotamente.
•    Pros: Padrão IEC, multiplataforma, seguro, especificação completa incluindo todos os tipos de dados. Também adequado para soluções de baixo custo, simples usando dispositivos micro controlados.
•    Contras: Em função da arquitetura abrangente a implementação pode exigir sofisticação.

MQTT
MQTT (Message Queuing Telemetry Transport) é um protocolo baseado no TCP/IP que usa o modelo publica / assina. Foi projetado para ser aberto, simples, leve e fácil de implementar. Tais características o tornam adequado para a IoT, isto é, podendo ser usado em sistemas com capacidade de transmissão de dados limitada ou recursos de hardware como memória e CPU também limitados. O protocolo foi desenvolvido por dois pesquisadores ingleses em 1999 e recentemente foi certificado como padrão pela OASIS (Organization for the Advancement of Structured information), que declarou que o protocolo MQTT é particularmente adequado para soluções de IoT.
•    Prós: simples, aberto, independente, multiplataforma.
•    Contras: não muito comum, não é considerado um padrão no domínio da automação. Pouca segurança.

PubNub
PubNub é uma infraestrutura global em tempo real, projetado exclusivamente para a criação de soluções web, móveis e de IoT. Estabelecida em 2010 como uma empresa privada nos US, PubNub despertou o interesse de diversas corporações de grande porte que financiaram o seu desenvolvimento tornando esta infraestrutura uma das mais eficientes e confiáveis para troca de dados em tempo real entre aplicações Web. A empresa desenvolveu rapidamente uma solução simples de implementar e econômica, e esta solução se mostrou particularmente eficiente.
A ideia que alavancou o PubNub é uma API de um serviço de mensagens tipo publica/assina dentro de sua rede global que consiste em um conjunto de data centers localizados nos principais continentes (América, Ásia e Europa). A infraestrutura serve atualmente cerca de 300 milhões de dispositivos e envia cerca de 750 milhões de mensagens por mês.
A partir do gerenciamento, ou usando o SDK da PubNub qualquer aplicativo ou dispositivo pode publicar ou assinar dados usando esta infraestrutura. O Modelo de Negócios da PubNub é de Infraestrutura como Serviço (IaaS) e o serviço é acessado a partir de assinatura paga.
•    Prós: tempo real, rápida, simples, infraestrutura pronta para uso, multiplataforma.
•    Contras: infraestrutura proprietária, serviço por assinatura (por limite de dados transferidos).

Azure IoT
O Azure IoT é a solução oferecida pela Microsoft para o IoT e IIoT. Ela tem as mesmas características de arquitetura do PubNub, porém usa a infraestrutura de nuvem da Microsoft – a plataforma Azure. Por meio desta infraestrutura usando conectores específicos e simples, aplicações e dispositivos podem compartilhar informações. O principal benefício da arquitetura Microsoft é que com ela é possível integrar com outras soluções de TI – como o banco de dados SQL Server para Azure – e muitas outras soluções de Business Inteligence. De forma que, ao usar uma solução de conectividade baseada no Azure IoT, os dados podem ser compartilhados na nuvem usando uma infraestrutura gerenciada pela própria Microsoft, a qual garante sua confiabilidade. Por ser uma solução mais voltada para TI a Microsoft resolveu colaborar com a OPC Foundation. Foi desenvolvido um conector OPC UA para o Azure permitindo conectividade IoT entre a nuvem Microsoft e o mundo da automação industrial onde o padrão OPC UA é bem conhecido e usado.
•    Prós: A infraestrutura Microsoft Azure permite o acesso a diversas aplicações relacionadas ao domínio do TI, além de ser multiplataforma e ter uma infraestrutura de nuvem pronta para ser usada.
•    Contras: mais apropriada para TI do que para TO, mais complexa que outras soluções, infraestrutura proprietária, serviço baseado no modelo de assinatura.


Tradução livre parcial do texto "IIoT: Industrial Internet of Things com Platform.NExT™" de empresa Progea. Todos os direitos reservados.

Platform.NExT™ e  Movicon™ são tecnologias de software totalmente desenvolvidas, produzidas e distribuídas pela Progea. © 2016 – Todos os direitos reservados

sexta-feira, 7 de abril de 2017

Indústria 4.0, IIoT, M2M

Hoje em dia todo mundo fala sobre conectividade. De fato, no mundo moderno da automação, a comunicação é um fator vital para sistemas – não interessa quão distantes ou diferentes – compartilharem dados, o elemento chave para empresas fazerem escolhas rápidas e efetivas para melhorar a eficiência e qualidade, e desta forma criarem uma vantagem no mercado global de hoje em dia. Entretanto, o tópico de comunicação é extremamente variado, complexo e fragmentado. A maior parte das pessoas fala sobre “Industria 4.0”, ou IIoT (Internet das Coisas Industriais), ou M2M (Máquina à Máquina), Telemetria, Big Data e muito mais. Todos estes termos identificam noções similares embora diferentes, e contextos operacionais extremamente fragmentados, derivados de padrões diferentes de hardware, protocolos e plataformas de software. Sem contar com um vocabulário usado pelo marketing na comunicação que pode ser enganador. Com certeza, algumas destas ideias já existem há algum tempo: como a coleta de dados de campo, mesmo de locais remotos, que hoje é usada por empresas mais avançadas. Por que tem tanta falação sobre IoT e Indústria 4.0? E, é possível desenvolver projetos de conectividade eficientes usando a infraestrutura padrão sem investir uma quantidade enorme de recursos?

Primeiramente, vamos examinar a terminologia.

Indústria 4.0
O termo Indústria 4.0 foi criado em 2011 a partir de uma estratégia, um projeto tecnológico do governo Alemão, que visava promover a transição e a conectividade digitais na indústria de manufatura como um processo estratégico da quarta revolução industrial. Considera-se que a primeira revolução industrial ocorreu na Inglaterra a partir do uso das máquinas a vapor na manufatura. A segunda revolução industrial foi marcada pelo uso da eletricidade e da produção em massa de bens. A terceira revolução industrial viu a introdução de sistemas computadorizados na produção. De forma que a Industria 4.0 não é uma tecnologia nova, outrossim é um plano estratégico com passos e linhas mestres para implementação da tecnologia mais avançada de conectividade de modo a criar o que se conhece como a Fábrica Inteligente (Smart Factory). Uma ideia tão genérica pode incluir várias tecnologias diferentes, por exemplo: Ethernet, Internet, Nuvens, Bancos de Dados e qualquer outro sistema que assegure o fluxo de dados dos sensores aos sistemas de gerenciamento (MES/ERP).

M2M
O termo Machine to Machine (M2M), normalmente é definido com a conexão direta entre dois dispositivos – normalmente por meio de um sistema sem fios – destinado a assegurar o gerenciamento direto entre dispositivos locais, cada um desempenhando suas funções independentemente. Os sistemas ponto a ponto são usados como meio de conectividade, onde dados essenciais são transferidos de uma máquina para a outra por meio de um modem ou outro dispositivo sem fio.

Internet of Things
O termo “Internet of Things” (IoT) foi inventado no início dos anos 2000 prevendo uma rede global de objetos ligados uns aos outros, usando a Internet para garantir acesso fácil a cada entidade, superando as limitações do M2M e expandindo o seu potencial, de forma que cada dispositivo conectado pode compartilhar dados com o seu grupo de dispositivos ou receber comandos dele. Este tipo de conectividade abriu as portas para enormes possibilidades, com potencial para redefinir a noção de dispositivos inteligentes, tanto para o uso diário (consumidor) como para o uso industrial (negócios). No que concerne à aplicação na indústria (IIoT), cujo uso é mais valioso e estratégico, têm que se levar em conta alguns critérios extras quando comparado a sistemas comuns, tais como segurança e confiabilidade.


Tradução livre parcial do texto "IIoT: Industrial Internet of Things com Platform.NExT™" de empresa Progea. Todos os direitos reservados.

Platform.NExT™ e  Movicon™ são tecnologias de software totalmente desenvolvidas, produzidas e distribuídas pela Progea. © 2016 – Todos os direitos reservados

sexta-feira, 7 de outubro de 2016

Protocolo MQTT e a Internet das Coisas


Foi desenvolvido pela IBM / Eurotech no final dos anos 1990 para uso em sistemas SCADA (tele supervisão e telecomando). Em novembro 2014, após 18 meses de trabalho, a Especificação do MQTT v 3.1.1 foi aprovada como um padrão homologado pela OASIS (Organization for the Advancement of Structured Information Standards).

MQTT é um protocolo para troca de mensagens, baseado no modelo publicar – subscrever. Por ser leve é muito adequado para ser usado em sistemas embarcados (embedded) na comunicação remota M2M (Machine-to-Machine) usando o Wi-Fi (wireless) como meio.

Pelo fato do cliente que publica estar desacoplado do cliente que assina, o broker faz a função de desacoplamento, este protocolo é muito bom para uso em redes pouco confiáveis e com pouca largura de banda.

O MQTT define dois componentes: o broker MQTT (servidor) e o cliente MQTT.

Um cliente MQTT pode criar tópicos no broker, publicar e assinar os tópicos.
O broker armazena os dados dos tópicos e envia estes dados aos clientes MQTT que os assinam.

O cliente MQTT pode ter duas funções: publicar dados ou assinar dados no broker MQTT, definindo ou usando tópicos.
O broker MQTT tem duas funções: receber os dados de um cliente MQTT e armazená-los nos tópicos; e publicar dados atualizados dos tópicos nos clientes MQTT que os subscrevem.

As mensagens MQTT são transmitidas através do TCP/IP, ou seja, o cliente e o broker fazem uma conexão TCP para que as mensagens possam ser transmitidas.

Um único broker MQTT pode suportar milhares de clientes MQTT. Modelo publicar – subscrever permite a entrega de mensagens de um – para – muitos. 

O MQTT permite implementar QoS (qualidade de serviço), os protocolos de criptografia TLS/SSL (certificado X509), e também suporta autenticação através de usuário / senha.

O plug-in IoT Gateway do KEPServerEX traz um cliente MQTT com as capacidades de publicar e assinar. Permitindo disponibilizar acesso aos dados de dispositivos de automação à aplicativos com suporte ao MQTT. Os dados são formatados usando o padrão JSON. 


quinta-feira, 6 de outubro de 2016

Uso de WPF da Microsoft em aplicações para Automação Industrial

WPF, "Windows Presentation Foundation", é uma tecnologia da Microsoft para o desenvolvimento de interface de usuário em aplicações para ambientes desktop e web. O WPF permite ao desenvolvedor criar interfaces de usuário com grande riqueza visual, com recursos 3D, animações, gráficos vetoriais, entre outros.

O WPF é um componente do .NET Framework e usa a linguagem de marcação XAML (Extensible Application Markup Language) para criar interfaces com usuário e representar dados. O XAML é baseado no XML, sendo é muito fácil criar, inicializar e configurar as propriedades de objetos com relações hierárquicas.

Além disso, o WPF oferece um modelo de programação onde há uma separação clara entre a parte gráfica e a lógica de negócios. Um outro ponto importante é que o WFP utiliza o DirectX para renderizar elementos gráficos permitindo tirar proveito de aceleração de hardware.

Atualmente a Exata comercializa dois softwares que usam a tecnologia WPF:

PLUTO Live Report - O PLUTO é um software para desenvolvimento e apresentação de Relatórios e Dashboards para o mercado de Automação Industrial. O benefício para os usuários é poder criar relatórios com uma aparência excelente com uma interface de configuração simples.




Movicon.NExT™ – O Movicon.NExT™ é uma nova geração de software SCADA/IHM que revoluciona a tecnologia de sistemas SCADA/IHM de uma forma nunca antes imaginada. O Movicon.NExT™ é baseado na tecnologia de Automation Platform.NExT ™, uma arquitetura de software desenvolvida para construir as fundações de softwares de automação modernos. É uma plataforma aberta e escalável baseada em .NET e WPF/XAML. 

terça-feira, 3 de maio de 2016

Aplicação em Java com interface Cliente e/ou Servidor OPC DA

Você precisa desenvolver uma aplicação em Java com interface Cliente e/ou Servidor OPC DA?

O Java é atualmente a linguagem mais utilizada em todo o mundo. O Java é mais que uma linguagem, é uma plataforma de desenvolvimento e distribuição de aplicações móveis e incorporadas, jogos, conteúdo baseado na Web e softwares corporativos.

O Cogent DataHub é uma solução de conectividade que suporta múltiplas intefaces como: OPC DA, OPC A&E, DDE, HTML, ODBC, e-mail, SMS e Tunneling com tecnologia própria. Estas interfaces se conectam em tempo real usando uma base de dados em memória.

De forma a possibilitar a integração de aplicações em Java com DataHub, a Cogent disponibiliza uma API para Java. A API do DataHub para Java permite escrever programas em Java que se conectam ao DataHub através de TCP, ou seja, LAN, WAN ou Internet.

Desta forma é muito simples incluir, por exemplo, a interface Cliente OPC à sua aplicação em Java. Basta usar os métodos de conexão, leitura e escrita disponibilizados e você terá acesso a todos os dados obtidos pela interface Cliente OPC do DataHub.



Caso prefira você pode usar C++ ou .NET, pois a Cogent disponibiliza APIs do DataHub para Java, C++ e .NET no Windows e para C++ e .NET em Linux. Essas APIs são fornecidas com exemplos de códigos que mostram como usar o conjunto de métodos para ler e escrever dados no DataHub.