Node-RED para interface de Sistema Supervisório de um Processo de Manufatura Flexível Virtual

  

  1. Node-RED 

Node-RED é uma ferramenta de programação baseada em fluxograma de blocos, originalmente desenvolvida pelo IBM’s Emerging Technology Services2. Através dessa ferramenta intuitiva, é fácil interconectar dispositivos de hardware, interfaces de programação aplicada (API), bancos de dados e serviços de rede. 
Como plataforma Open-Source (plataformas de desenvolvimento aberto e gratuito), possui uma enorme comunidade que cresce e desenvolve constantemente novas utilidades e aplicações que podem ser utilizadas por todos os usuários. Com um editor baseado em navegador web em tempo real, é simples conectar fluxos de programação que dispõem de uma grande quantidade de blocos de função. Eles são disponibilizados pela comunidade de usuários através da funcionalidade de “palettes”.

Figura 1 Exemplo de fluxo de programação em blocos.

Atualmente, diversas empresas utilizam essa plataforma, como a SenseTecnic, AGILIT-E, Go-IOT, MULTITECH, OPTO22 e iaconnects. É notável que grandes empresas estão começando a perceber as vantagens em utilizar plataformas open-source em suas aplicações.


1.1. Node.js

Construída com Node.js, o Node-RED torna-se uma aplicação leve ao se beneficiar do modelo baseado em eventos sem intertravamento. É ideal para aplicação em dispositivos de campo e hardwares de baixo custo, como Raspberry Pi e aplicações em nuvem.

Como uma aplicação JavaScript baseada em eventos assíncronos, o Node.js é projetado para construção de diversas aplicações de rede. Diferencia-se dos demais modelos atuais, baseados em threads, pois quase nenhuma de suas funções realiza I/O (entrada / saída) de dados. Isso torna sua utilização livre de intertravamento em código, sendo possível a construção de sistemas escaláveis3

Diversos grupos criados pela  Technical Steering Committee (TSC), comitê que rege o desenvolvimento do Node.js dentro da OpenJS Foundation, contribuem para o crescimento dessa aplicação. Cada grupo desenvolve e gerencia diferentes partes e aplicações do Node.Js, sendo eles: Addon API. Build, Diagnostics, Docker, Evangelism, i18n, Package Maintenance, Release, Security e Streams.

Com mais de 225.000 módulos no repositório Node, é extremamente fácil desenvolver aplicações grandes e complexas, pois é possível utilizar a grande variedade de conhecimentos construídos pela comunidade e armazenados através dos “pallets”.


1.2. Interfaces SCADA e Dashboards com Node-RED

Como o Node-RED não é uma plataforma construída com a finalidade de desenvolver aplicações de automação, aquisição de dados e controle supervisório, é necessário utilizar “pallets” específicos que possibilitam comunicação de redes, construção de telas de interface do usuário, dashboards, armazenamento de dados  e geração de relatórios, ou ainda, construir sua própria aplicação através de JavaScript.

Para o desenvolvimento das telas de interface do usuário, será utilizado principalmente o pallet “node-red-dashboard”5. Esse conjunto de blocos dispõe de diversas funcionalidades para representação de informações, tais como: indicadores, gráficos, botões, textos, barras de interação, saída de audio, formulários, notificações e opção de contrução de um novo objeto. Ainda, conta com uma quantidade quase ilimitada de opções para personalização da aparência da tela renderizada pelo navegador, como: temas, abas, janelas, personalização de layouts e coloração. 

Figura 2 Exemplo de tela com pallet node-red-dashboard5.

Além deste pallet, contamos com outras opções como o “node-red-contrib-ui-svg”6, um pallet que permite construir e apresentar gráficos vetorizados (SVG) de maneira interativa e customizável, permitindo a construção de gráficos simples como um botão, até mesmo plantas industriais complexas. Assim, é possível desenvolver animações baseadas em eventos (como um alerta de máquina) e demonstrá-las graficamente de acordo com a imaginação do usuário.

Figura 3 Exemplo de utilização do node-red-contrib-ui-svg.


Caso seja necessário uma interface que imite um processo, é possível a utilização do SCADAvis.io, uma eficiente plataforma baseada em HTML5 que pode ser combinada com o pacote “node-red-contrib-uibuilder”4. O Uibuilder torna fácil a contrução de interfaces web front-end

Figura 4 Exemplo de tela construída com SCADAvis.io7.


Baseado em HTML5, o SCADAvis.io é uma ferramenta para criar gráficos sinóptios para páginas web. Baseado em SVG que são criados través de um editor customizado, isso permite a construção de objetos com animações baseadas em eventos advindos de dados.


1.3. Redes, Aquisição e Tratamento de Dados

Um sistema supervisório, além da disponibiliação de dados para o usuário, precisa também, fazer sua aquisição e tratamento. A plataforma Node-RED conta com blocos para aquisição de dados. Eles podem ser adquiridos por protocolos de rede como TCP (Transmission Control Protocol), UDP (User Datagram Protocol),  ou MQTT (MQ Telemetry Transport). Também podem ser encontrados por meio de protocolos de comunicação como OPC-DA (Data Access Protocol) e OPC-UA (Unified Architecture).

Figura 5 Blocos de rede, comunicação e funções.


Para gerar informação útil com os dados adquiridos, é preciso estudá-los e tratá-los de maneira a se conseguir algo concreto que possa ser mostrado para o usuário, seja através das telas de dashboard ou por meio de relatórios. Para isso, existem blocos de manipulação e organização de informações, que por sua vez podem ser enviadas para telas, escritas diretamente em um arquivo de relatório na máquina local ou até mesmo enviadas através da web.

  1. Supervisório de sistema de manufatura flexível virtual com Node-RED

O Node-RED e todas suas demais funcionalidades supracitadas será utilizado juntamente às outras ferramentas para construção do ambiente de sistema de manufatura virtual desenvolvido na disciplina de Projeto Integrador VI. 

Figura 6 Processo de Manufatura Flexível Virtual desenvolvido no Factory IO.


Exercendo nesse, a função de permitir o desenvolvimento de um sistema supervisório que apresente as principais características que um SCADA possuir, porém, trazendo táticas de desenvolvimento e design modernas e atuais. 

Através de sua utilização, espera-se desenvolver e entregar ao usuário as seguintes características8

  • Telas: as telas são a interface do operador com o processo, portanto, são elemento crucial para o sucesso do sistema. O objetivo é produzir telas de alta qualidade, com apresentação moderna e intuitiva, respeitando os novos padrões de design e alta performance.

  • Relatórios: para que os relatórios sejam úteis é necessário acumular e apresentar informações relevantes com alta qualidade visual, através de gráficos, textos e alarmes.

  • Histórico: as principais ferramentas de qualidade e mensuração de produtividade necessitam de informações do histórico de informação. Portanto, é de suma importância que o histórico seja bem elaborado, possua informações de alarmes, eventos e registro das variáveis analisadas.

Considerações finais

A expectativa deste estudo é que, por meio da utilização dessas ferramentas e plataformas, seja possível construir um sistema supervisório que supra as necessidades do projeto de manufatura flexível virtual desenvolvido, abordando e empregando tecnologias emergentes que vão de encontro com as novas tendências tecnológicas mundiais. Essas novas abordagens se fazem necessárias em um contexto de indústria 4.0. É necessário acompanhar as demandas de um novo mercado, aplicando conceitos de manufatura modular e flexível. Assim, é possível reduzir custos de infraestrutura, trazer padronização, escalabilidade e interoperabilidade de novas tecnologias.

Referências

  1. Departamento de Metal Mecânica do Instituto Federal de Ciência e Tecnologia de Santa Catarina

  2. https://nodered.org/

  3. https://nodejs.org/en

  4. https://ricolsen1supervc.wordpress.com/2019/09/29/creating-scada-like-user-interfaces-for-node-red/

  5. https://flows.nodered.org/node/node-red-dashboard

  6. https://flows.nodered.org/node/node-red-contrib-ui-svg/in/590bc13ff3a5f005c7d2189bbb563976

  7. https://scadavis.io/nodered.html

  8. https://projetointegrador6glg.blogspot.com/2020/12/sistema-supervisorio.html

  9. Mohamed Tabaa*, Brahim Chouri, Safa Saadaoui, Karim Alami, 2018, Industrial Communication based on Modbus and Node-RED, The 9th International Conference on Ambient Systems, Networks and Technologies (ANT 2018), Elsevier

  10. Jay Lee, Behrad Bagheri, Hung-An Kao, 2014, A Cyber-Physical Systems architecture for Industry 4.0-based manufacturing systems, 2014 Society of Manufacturing Engineers (SME), Elsevier

  11. Ricardo Silva Peresa, Andre Dionisio Rochaa, Paulo Leitaoc, Jose Barataa, 2018, IDARTS – Towards intelligent data analysis and real-time supervision for industry 4.0, Elsevier



Lucas Terres Hoffmann Orona

Comentários

Postagens mais visitadas deste blog

Sistema de Manufatura Flexível

RobotStudio