{"id":1485,"date":"2017-06-16T14:00:47","date_gmt":"2017-06-16T14:00:47","guid":{"rendered":"http:\/\/blog.usinainfo.com.br\/?p=1485"},"modified":"2019-08-07T15:55:20","modified_gmt":"2019-08-07T18:55:20","slug":"desenvolvimento-de-sistemas-supervisorios-parte-i","status":"publish","type":"post","link":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/","title":{"rendered":"ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios &#8211; Parte I"},"content":{"rendered":"<p style=\"text-align: justify;\">Este artigo corresponde \u00e0 primeira\u00a0parte de um conte\u00fado voltado para o desenvolvimento de sistemas supervis\u00f3rios no <em><strong>ScadaBR Arduino<\/strong><\/em>. Estes sistemas servem para permitir que\u00a0os operadores tenham o controle sobre determinados elementos de um processo, tanto atrav\u00e9s do acionamento dos mesmos como atrav\u00e9s do monitoramento.<\/p>\n<p style=\"text-align: justify;\">Neste material, o leitor poder\u00e1 aprender os procedimentos b\u00e1sicos para a elabora\u00e7\u00e3o de telas interativas, nas quais, ser\u00e3o apresentados os dados provenientes das vari\u00e1veis de entrada do <em>Arduino UNO <\/em>como tamb\u00e9m os elementos respons\u00e1veis pelo acionamento das sa\u00eddas digitais do mesmo.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Produtos Utilizados no Projeto<\/strong><\/h2>\n<ul>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/compativeis\/arduino-uno-r3-cabo-usb-3513.html\" target=\"_blank\" rel=\"noopener noreferrer\">1Arduino UNO + Cabo USB AB;<\/a><\/li>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/leds\/led-verde-5mm-difuso-kit-com-5-unidades-2979.html\" target=\"_blank\" rel=\"noopener noreferrer\">1 Led verde 5mm difuso;<\/a><\/li>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/resistores\/resistor-150r-14w-kit-com-10-unidades-2991.html\" target=\"_blank\" rel=\"noopener noreferrer\">1 Resistor 150 \u03a9 1\/4 W<\/a><\/li>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/resistores\/resistor-330r-14w-kit-com-10-unidades-2977.html\" target=\"_blank\" rel=\"noopener noreferrer\">1\u00a0Resistor 330 \u03a9 1\/4 W<\/a><\/li>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/resistores\/resistor-330r-14w-kit-com-10-unidades-2977.html\" target=\"_blank\" rel=\"noopener noreferrer\">1 Resistor 10k \u03a9 1\/4 W<\/a><\/li>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/sensores-para-arduino\/sensor-de-temperatura-lm35-para-projetos-3099.html\" target=\"_blank\" rel=\"noopener noreferrer\">1 Sensor de temperatura LM35<\/a><\/li>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/reles\/modulo-rele-5v-10a-4-canais-com-optoacopladores-2534.html\" target=\"_blank\" rel=\"noopener noreferrer\">1 M\u00f3dulo rel\u00e9 5v 10A 4 canais com optoacopladores<\/a><\/li>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/push-buttons\/push-button-chave-tactil-6x6-para-projetos-kit-com-5-unidades-2997.html\" target=\"_blank\" rel=\"noopener noreferrer\">1 Push button<\/a><\/li>\n<li><a href=\"https:\/\/www.usinainfo.com.br\/protoboard-e-jumpers\/protoboard-830-pontos-para-montagem-de-projetos-3733.html\" target=\"_blank\" rel=\"noopener noreferrer\">1 Protoboard<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><strong>Montagem F\u00edsica (Hardware):<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1525\" style=\"width: 635px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/esquematico.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1525\" class=\"wp-image-1525 \" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/esquematico.png\" alt=\"\" width=\"625\" height=\"520\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/esquematico.png 758w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/esquematico-300x250.png 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><p id=\"caption-attachment-1525\" class=\"wp-caption-text\">Esquem\u00e1tico ScadaBR Arduino em Sistemas Supervis\u00f3rios<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2><strong>Desenvolvimento do C\u00f3digo para ScadaBR Arduino:<\/strong><\/h2>\n<p style=\"text-align: justify;\">Neste ponto, ser\u00e3o demonstrados todos os passos para o desenvolvimento do c\u00f3digo que deve ser inserido no <em>Arduino UNO<\/em> para que seja poss\u00edvel a realiza\u00e7\u00e3o das leituras das entradas digitais e anal\u00f3gicas do mesmo e tamb\u00e9m dos acionamentos das sa\u00eddas digitais, atrav\u00e9s do <em>ScadaBR<\/em>.<\/p>\n<p style=\"text-align: justify;\">O primeiro passo para o estabelecimento da comunica\u00e7\u00e3o entre os dois elementos consiste na inclus\u00e3o das bibliotecas adequadas para a utiliza\u00e7\u00e3o do protocolo <em>Modbus Serial\u00a0<\/em>no c\u00f3digo do <em>Arduino UNO<\/em>. As bibliotecas utilizadas neste artigo foram desenvolvidas pelo<em> Andr\u00e9 Sarmento<\/em> e est\u00e3o dispon\u00edveis <a href=\"https:\/\/github.com\/andresarmento\/modbus-arduino\/tree\/master\/libraries\" target=\"_blank\" rel=\"noopener noreferrer\">aqui<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\n#include &lt; Modbus.h &gt;;\r\n \r\n#include &lt; ModbusSerial.h &gt;;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Posteriormente deve-se determinar os <em>offsets<\/em> para cada <em>conjunto de inst\u00e2ncias<\/em> que for utilizado na programa\u00e7\u00e3o. Ao todo existem quatro tipos de inst\u00e2ncias no protocolo <em>Modbus<\/em>, estas s\u00e3o:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li><em> Input Status\u00a0 &#8211; A<\/em>rmazenamento de valores provenientes da leitura de vari\u00e1veis booleanas. Neste artigo, este tipo de inst\u00e2ncia ser\u00e1 respons\u00e1vel por conter a informa\u00e7\u00e3o relativa ao estado do bot\u00e3o.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<li><em> Input Registers\u00a0&#8211;\u00a0<\/em>Armazenamento de valores provenientes da leitura de qualquer\u00a0tipo de vari\u00e1vel. Neste artigo, este tipo de inst\u00e2ncia ser\u00e1 respons\u00e1vel por conter o valor fornecido\u00a0pelo sensor de temperatura.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<li><em> Coils\u00a0&#8211; <\/em>Armazenamento de\u00a0valores que ser\u00e3o utilizados no acionamento <em>on\/off <\/em>de dispositivos. Neste artigo, este tipo de inst\u00e2ncia ser\u00e1 respons\u00e1vel por acionar o rel\u00e9.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<li><em>Holding Registers<\/em> &#8211; Armazenamento de valores que provenientes de qualquer tipo de vari\u00e1veis, tanto para leitura quanto para escrita, neste artigo, este tipo de inst\u00e2ncia ser\u00e1 utilizada no acionamento do led por <em>PWM<\/em>.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Repare que os <em>offsets<\/em> s\u00e3o todos iguais a zero, pois, neste momento, utiliza-se inst\u00e2ncias diferentes (note que, caso fossem utilizados, por exemplo, dois <em>Holding Registers<\/em>, os <em>offsets<\/em> seriam <em>0<\/em> para um deles e <em>1<\/em> para o outro.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\nconst int RELE_COIL = 0;\r\n \r\nconst int BOTAO_ISTS = 0;\r\n \r\nconst int SENSOR_IREG = 0;\r\n \r\nconst int LED_HREG = 0\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Em seguida, declara-se algumas vari\u00e1veis para facilitar na identifica\u00e7\u00e3o dos pinos utilizados.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\nconst int RELE = 8;\r\n \r\nconst int BOTAO = 9;\r\n \r\nconst int LED = 10;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Antes de prosseguir para a fun\u00e7\u00e3o <em>setup()<\/em>, deve-se criar o objeto do tipo <em>ModbusSerial.<\/em><\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\nModbusSerial mb;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Na fun\u00e7\u00e3o <em>Setup(), <\/em>pode-se perceber que existem <em>tr\u00eas blocos<\/em> de c\u00f3digo separados, de modo que, o primeiro diz respeito \u00e0 <em>configura\u00e7\u00e3o dos par\u00e2metros de comunica\u00e7\u00e3o do protocolo <\/em>(deve-se ficar atento \u00e0 taxa de transmiss\u00e3o escolhida, aqui, 9600 baud\/s) e tamb\u00e9m \u00e0 <em>identifica\u00e7\u00e3o do dispositivo<\/em> que est\u00e1 sendo utilizado (como apenas um Arduino est\u00e1 sendo utilizado, este valor \u00e9 1).<\/p>\n<p style=\"text-align: justify;\">O segundo bloco de c\u00f3digo \u00e9 respons\u00e1vel pela <em>determina\u00e7\u00e3o dos modos de opera\u00e7\u00e3o dos pinos utilizados<\/em> (repare que n\u00e3o \u00e9 necess\u00e1rio declarar os pinos de entrada anal\u00f3gica).<\/p>\n<p style=\"text-align: justify;\">Por \u00faltimo, deve-se realizar a <em>cria\u00e7\u00e3o das inst\u00e2ncias<\/em> utilizadas, conforme dito anteriormente.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\n\r\nvoid setup() {\r\n \r\nmb.config(&amp;Serial, 9600, SERIAL_8N1);\r\n \r\nmb.setSlaveId(1);\r\n \r\n \r\n \r\npinMode(RELE, OUTPUT);\r\n \r\npinMode(LED, OUTPUT);\r\n \r\npinMode(BOTAO, INPUT);\r\n  \r\n \r\n \r\nmb.addCoil(RELE_COIL);\r\n \r\nmb.addHreg(LED_HREG);\r\n \r\nmb.addIsts(BOTAO_ISTS);\r\n \r\nmb.addIreg(SENSOR_IREG);\r\n\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">J\u00e1 dentro da fun\u00e7\u00e3o <em>loop()<\/em>,<i>\u00a0<\/i>encontra-se\u00a0a fun\u00e7\u00e3o <em>task()<\/em>, utilizada para gerenciar a comunica\u00e7\u00e3o e a troca de dados entre os dispositivos que est\u00e3o conectados atrav\u00e9s do protocolo <em>Modbus<\/em>.<\/p>\n<p style=\"text-align: justify;\">Al\u00e9m da fun\u00e7\u00e3o citada, est\u00e3o presentes tamb\u00e9m as fun\u00e7\u00f5es necess\u00e1rias para realizar a escrita de dados nas inst\u00e2ncias <em>Coil<\/em> e <em>Holding Register <\/em>e as\u00a0fun\u00e7\u00f5es respons\u00e1veis pela leitura das inst\u00e2ncias <em>Input Status<\/em> e<em> Input Register<\/em>.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\nvoid loop() {\r\n\r\nmb.task();\r\n  \r\n\r\ndigitalWrite(RELE, mb.Coil(RELE_COIL));\r\n \r\nanalogWrite(LED, mb.Hreg(LED_HREG);\r\n \r\nmb.Ists(BOTAO_ISTS, digitalRead(BOTAO));\r\n \r\nmb.Ireg(SENSOR_IREG, analogRead(SENSOR));\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2><strong>Desenvolvimento da Estrutura de Controle no ScadaBR Arduino:<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Assim como nos artigos anteriores, o primeiro passo para prosseguir com o desenvolvimento de uma aplica\u00e7\u00e3o no <em>ScadaBR<\/em> consiste na cria\u00e7\u00e3o de um <em>Data source<\/em>, ou seja, na defini\u00e7\u00e3o do elemento respons\u00e1vel por fornecer os dados do processo para o <em>ScadaBR.<\/em><\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1365\" style=\"width: 643px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/05\/TIPO-DE-DATA-SOURCE.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1365\" class=\"wp-image-1365 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/05\/TIPO-DE-DATA-SOURCE.png\" alt=\"\" width=\"633\" height=\"328\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/05\/TIPO-DE-DATA-SOURCE.png 633w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/05\/TIPO-DE-DATA-SOURCE-300x155.png 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><\/a><p id=\"caption-attachment-1365\" class=\"wp-caption-text\">Cria\u00e7\u00e3o do Data Source ScadaBR Arduino<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Ap\u00f3s a determina\u00e7\u00e3o do <em>Data source<\/em> deve-se criar os <em>Data points<\/em> correspondentes aos elementos de hardware que ser\u00e3o utilizados. Inicialmente, cria-se um novo <em>Data point<\/em> para interagir com a inst\u00e2ncia do tipo<em> Coil<\/em> denominada <em>RELE_COIL<\/em> e em seguida deve-se definir seus campos da seguinte forma:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>No campo Faixa do registro deve-se selecionar a op\u00e7\u00e3o\u00a0<em>Status do coil<\/em><\/li>\n<li>O campo\u00a0<em>Tipo de dados modbus\u00a0<\/em>estar\u00e1 automaticamente definido como\u00a0<em>Bin\u00e1rio<\/em><\/li>\n<li>Deve-se atribuir o valor <em>0<\/em> ao campo <em>Offset<\/em>, devido ao fato de o<em>\u00a0Coil RELE_COIL\u00a0<\/em>ter sido a primeira inst\u00e2ncia deste tipo a ser adicionada no c\u00f3digo (lembre-se que a ordem come\u00e7a a ser contada a partir do <em>0<\/em> e n\u00e3o do <em>1<\/em>)<\/li>\n<li>Lembre-se de deixar a caixa de sele\u00e7\u00e3o marcada para que o <em>Data point<\/em>\u00a0possa ser alterado por meio do <em>ScadaBR<\/em><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1517\" style=\"width: 791px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/rele_data.jpg\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1517\" class=\"wp-image-1517 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/rele_data.png\" alt=\"\" width=\"781\" height=\"340\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/rele_data.png 781w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/rele_data-300x131.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/rele_data-768x334.png 768w\" sizes=\"auto, (max-width: 781px) 100vw, 781px\" \/><\/a><p id=\"caption-attachment-1517\" class=\"wp-caption-text\">Cria\u00e7\u00e3o do Data point para Acionamento do Rel\u00e9 via ScadaBR Arduino<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">O segundo Data point a ser criado servir\u00e1 para interagir com a inst\u00e2ncia do tipo <em>Holding register<\/em> denominada <em>LED_HREG<\/em>. Seus campos devem ser definidos da seguinte forma:<\/p>\n<ul>\n<li>No campo Faixa do registro deve-se selecionar a op\u00e7\u00e3o\u00a0<em>Registrador holding<\/em><\/li>\n<li>O campo\u00a0<em>Tipo de dados modbus <\/em>deve ser\u00a0definido como <i>Inteiro de 2 bytes sem sinal<\/i><\/li>\n<li>Deve-se atribuir o valor <em>0<\/em> ao campo <em>Offset<\/em>, devido ao fato de o <em>Holding register<\/em><i>\u00a0LED_HREG\u00a0<\/i>ter sido a primeira inst\u00e2ncia deste tipo a ser adicionada no c\u00f3digo (lembre-se que a ordem come\u00e7a a ser contada a partir do <em>0<\/em> e n\u00e3o do <em>1<\/em>)<\/li>\n<li>Lembre-se de deixar a caixa de sele\u00e7\u00e3o marcada para que o <em>Data point<\/em>\u00a0possa ser alterado por meio do <em>ScadaBR<\/em><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1518\" style=\"width: 804px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/pwm_data.jpg\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1518\" class=\"wp-image-1518 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/pwm_data.png\" alt=\"\" width=\"794\" height=\"342\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/pwm_data.png 794w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/pwm_data-300x129.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/pwm_data-768x331.png 768w\" sizes=\"auto, (max-width: 794px) 100vw, 794px\" \/><\/a><p id=\"caption-attachment-1518\" class=\"wp-caption-text\">Cria\u00e7\u00e3o do Data Point para Acionamento do Led via ScadaBR Arduino<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">O terceiro Data point a ser criado ser\u00e1 respons\u00e1vel por armazenar as informa\u00e7\u00f5es provenientes da inst\u00e2ncia do tipo <em>Input Status<\/em>\u00a0denominada <em>BOTAO_ISTS.<\/em>\u00a0Em seguida deve-se definir seus campos da seguinte forma:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>No campo Faixa do registro deve-se selecionar a op\u00e7\u00e3o\u00a0<em>Status de entrada<\/em><\/li>\n<li>O campo\u00a0<em>Tipo de dados modbus\u00a0<\/em>estar\u00e1 automaticamente definido como\u00a0<em>Bin\u00e1rio<\/em><\/li>\n<li>Deve-se atribuir o valor <em>0<\/em> ao campo <em>Offset<\/em>, devido ao fato de o<em>\u00a0Input Status BOTAO_ISTS\u00a0<\/em>ter sido a primeira inst\u00e2ncia deste tipo a ser adicionada no c\u00f3digo (lembre-se que a ordem come\u00e7a a ser contada a partir do <em>0<\/em> e n\u00e3o do <em>1<\/em>)<\/li>\n<li>Lembre-se de deixar a caixa de sele\u00e7\u00e3o desmarcada para que o <em>Data point<\/em>\u00a0s\u00f3 possa ser alterado manualmente<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1519\" style=\"width: 791px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/botao_data.jpg\" data-rel=\"lightbox-image-4\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1519\" class=\"wp-image-1519 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/botao_data.png\" alt=\"\" width=\"781\" height=\"339\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/botao_data.png 781w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/botao_data-300x130.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/botao_data-768x333.png 768w\" sizes=\"auto, (max-width: 781px) 100vw, 781px\" \/><\/a><p id=\"caption-attachment-1519\" class=\"wp-caption-text\">Cria\u00e7\u00e3o do Data Point para Leitura do Bot\u00e3o via ScadaBR Arduino<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Finalmente, cria-se o \u00faltimo Data point que estar\u00e1 relacionado com a inst\u00e2ncia do tipo <em>Input register<\/em>\u00a0denominada <em>SENSOR_IREG<\/em> e em seguida define-se seus campos da seguinte forma:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>No campo Faixa do registro deve-se selecionar a op\u00e7\u00e3o <em>Registrador de entrada<\/em><\/li>\n<li>O campo\u00a0<em>Tipo de dados modbus\u00a0<\/em>deve ser definido como\u00a0<em>Inteiro de 2 bytes sem sinal<\/em><\/li>\n<li>Deve-se atribuir o valor <em>0<\/em> ao campo <em>Offset<\/em>, devido ao fato de o<em>\u00a0Input register SENSOR_IREG\u00a0<\/em>ter sido a primeira inst\u00e2ncia deste tipo a ser adicionada no c\u00f3digo (lembre-se que a ordem come\u00e7a a ser contada a partir do <em>0<\/em> e n\u00e3o do <em>1<\/em>)<\/li>\n<li>Lembre-se de deixar a caixa de sele\u00e7\u00e3o desmarcada para que o <em>Data point<\/em>\u00a0s\u00f3 possa ser alterado manualmente<\/li>\n<li>Neste caso deve-se utilizar o multiplicador para expressar o valor de temperatura j\u00e1 convertido<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1524\" style=\"width: 822px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/entrada_data.jpg\" data-rel=\"lightbox-image-5\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1524\" class=\"wp-image-1524 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/entrada_data.png\" alt=\"\" width=\"812\" height=\"342\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/entrada_data.png 812w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/entrada_data-300x126.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/entrada_data-768x323.png 768w\" sizes=\"auto, (max-width: 812px) 100vw, 812px\" \/><\/a><p id=\"caption-attachment-1524\" class=\"wp-caption-text\">Cria\u00e7\u00e3o do Data Point para Leitura da Temperatura via ScadaBr Arduino<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2><strong>Cria\u00e7\u00e3o da Tela de Supervis\u00e3o:<\/strong><\/h2>\n<p style=\"text-align: justify;\">Antes de iniciar com o processo de cria\u00e7\u00e3o\u00a0da tela para o controle e monitoramento da aplica\u00e7\u00e3o, deve-se acessar o ambiente de desenvolvimento adequado. Para isto, basta clicar no \u00edcone correspondente, denominado <em>Representa\u00e7\u00e3o Gr\u00e1fica<\/em> e localizado na barra de ferramentas do <em>ScadaBR<\/em>.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1523\" style=\"width: 428px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/Representa\u00e7\u00e3o-Gr\u00e1fica.jpg\" data-rel=\"lightbox-image-6\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1523\" class=\"wp-image-1523 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/Representa\u00e7\u00e3o-Gr\u00e1fica.png\" alt=\"\" width=\"418\" height=\"216\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/Representa\u00e7\u00e3o-Gr\u00e1fica.png 418w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/Representa\u00e7\u00e3o-Gr\u00e1fica-300x155.png 300w\" sizes=\"auto, (max-width: 418px) 100vw, 418px\" \/><\/a><p id=\"caption-attachment-1523\" class=\"wp-caption-text\">Ambiente de Cria\u00e7\u00e3o de Telas ScadaBr<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Primeiramente, deve-se determinar o nome do supervis\u00f3rio e em seguida definir a\u00a0imagem de fundo do mesmo, de modo que, este procedimento pode ser realizado atrav\u00e9s do menu existente.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1520\" style=\"width: 480px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/fundo.jpg\" data-rel=\"lightbox-image-7\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1520\" class=\"wp-image-1520 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/fundo.png\" alt=\"\" width=\"470\" height=\"167\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/fundo.png 470w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/fundo-300x107.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/fundo-298x107.png 298w\" sizes=\"auto, (max-width: 470px) 100vw, 470px\" \/><\/a><p id=\"caption-attachment-1520\" class=\"wp-caption-text\">Propriedades da Tela ScadaBr Arduino<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2><strong>Cria\u00e7\u00e3o dos Elementos Gr\u00e1ficos<\/strong><\/h2>\n<p style=\"text-align: justify;\">O primeiro elemento gr\u00e1fico que ser\u00e1 inserido na<em> tela de supervis\u00e3o <\/em>ser\u00e1 o <em>t\u00edtulo<\/em>. Note que, para incluir n\u00e3o s\u00f3 um t\u00edtulo, como qualquer elemento textual na tela, \u00e9 necess\u00e1rio que o leitor acesse a lista de componentes, escolha a op\u00e7\u00e3o <em>HTML<\/em> e clique no bot\u00e3o ao lado da lista de sele\u00e7\u00e3o para adicionar o componente.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1521\" style=\"width: 596px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/titulo.jpg\" data-rel=\"lightbox-image-8\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1521\" class=\"wp-image-1521 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/titulo.png\" alt=\"\" width=\"586\" height=\"322\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/titulo.png 586w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/titulo-300x165.png 300w\" sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/a><p id=\"caption-attachment-1521\" class=\"wp-caption-text\">Componente HTML ScadaBR Arduino<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Para utilizar este componente, basta clicar sobre o \u00edcone que foi adicionado na tela e uma janela para a edi\u00e7\u00e3o do componente em quest\u00e3o ser\u00e1 aberta. Neste momento, deve-se ressaltar para o leitor, que este componente possibilita a cria\u00e7\u00e3o de uma infinidade de aplica\u00e7\u00f5es atrav\u00e9s da utiliza\u00e7\u00e3o de c\u00f3digos em <em>HTML<\/em>. Sendo assim, escreve-se o t\u00edtulo fazendo o uso do c\u00f3digo necess\u00e1rio para aumentar o tamanho da fonte do mesmo, al\u00e9m de coloc\u00e1-lo em negrito.<\/p>\n<div id=\"attachment_1522\" style=\"width: 480px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/html-titulo.jpg\" data-rel=\"lightbox-image-9\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1522\" class=\"wp-image-1522 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/html-titulo.jpg\" alt=\"\" width=\"470\" height=\"215\" \/><\/a><p id=\"caption-attachment-1522\" class=\"wp-caption-text\">C\u00f3digo HTML para o t\u00edtulo<\/p><\/div>\n<p style=\"text-align: justify;\">Em seguida deve-se produzir os elementos gr\u00e1ficos que ser\u00e3o utilizados para manipular as informa\u00e7\u00f5es referentes aos estados dos <em>Data points<\/em> criados, isto \u00e9, para manipular os valores armazenados pelos mesmos.<\/p>\n<p style=\"text-align: justify;\">O primeiro\u00a0<em>Data point<\/em>\u00a0a ser desenvolvido graficamente, ser\u00e1 o respons\u00e1vel pelo acionamento do rel\u00e9, de modo que, para representar o mesmo, deve-se primeiramente criar um texto a partir do componente <em>HTML\u00a0<\/em>(da mesma maneira realizada anteriormente)\u00a0para identificar o <em>Data point<\/em>, com a palavra &#8220;<em>REL\u00c9:<\/em>&#8221; e em seguida criar um bot\u00e3o, selecionando o componente\u00a0<em>Bot\u00e3o (escrita).<\/em><\/p>\n<div id=\"attachment_1505\" style=\"width: 596px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/BOTAO.jpg\" data-rel=\"lightbox-image-10\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1505\" class=\"wp-image-1505 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/BOTAO.png\" alt=\"\" width=\"586\" height=\"298\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/BOTAO.png 586w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/BOTAO-300x153.png 300w\" sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/a><p id=\"caption-attachment-1505\" class=\"wp-caption-text\">Componente Bot\u00e3o (escrita) ScadaBR Arduino<\/p><\/div>\n<p style=\"text-align: justify;\">O pr\u00f3ximo passo consiste em definir os par\u00e2metros do bot\u00e3o adicionado. Para realizar este procedimento \u00e9 necess\u00e1rio clicar nos \u00edcones que s\u00e3o apresentados ao posicionar o mouse sobre o componente. \u00a0Primeiramente deve-se determinar qual <em><strong>Data point<\/strong><\/em> ser\u00e1 modificado quando houver um clique no bot\u00e3o (note que, o <em><strong>Data point<\/strong><\/em> em quest\u00e3o deve ser do tipo bin\u00e1rio) e em seguida define-se os textos que aparecer\u00e3o de acordo com o estado em que a vari\u00e1vel armazenada no <em><strong>Data point<\/strong><\/em> se encontra, al\u00e9m das dimens\u00f5es do bot\u00e3o.<\/p>\n<div id=\"attachment_1502\" style=\"width: 447px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1502\" class=\"wp-image-1502 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/PROPRIEDADE-BOTAO.jpg\" alt=\"\" width=\"437\" height=\"333\" \/><p id=\"caption-attachment-1502\" class=\"wp-caption-text\">Propriedades do Bot\u00e3o (escrita)<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">O resultado obtido est\u00e1 apresentado na figura abaixo:<\/p>\n<div id=\"attachment_1506\" style=\"width: 206px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado1.jpg\" data-rel=\"lightbox-image-11\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1506\" class=\"wp-image-1506 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado1.jpg\" alt=\"\" width=\"196\" height=\"59\" \/><\/a><p id=\"caption-attachment-1506\" class=\"wp-caption-text\">Representa\u00e7\u00e3o gr\u00e1fica final<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">O segundo <em>Data point<\/em> a ser desenvolvido graficamente ser\u00e1 o de acionamento do led. Ao contr\u00e1rio do exemplo anterior, neste caso, al\u00e9m de criar um texto de identifica\u00e7\u00e3o atrav\u00e9s do componente <em>HTML<\/em>\u00a0deve-se adicionar uma esp\u00e9cie de display, para que o valor num\u00e9rico do <em>Data point<\/em> possa ser modificado pelo operador na utiliza\u00e7\u00e3o do <em>PWM<\/em>. Sendo assim, abre-se a lista de componentes e seleciona-se a op\u00e7\u00e3o <em>Script para o servidor.\u00a0<\/em><\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1508\" style=\"width: 606px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/script.jpg\" data-rel=\"lightbox-image-12\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1508\" class=\"wp-image-1508 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/script.jpg\" alt=\"\" width=\"596\" height=\"308\" \/><\/a><p id=\"caption-attachment-1508\" class=\"wp-caption-text\">Componente Script para o servidor<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Em seguida, deve-se determinar o <em>Data point<\/em> que estar\u00e1 associado a este componente e tamb\u00e9m elaborar o <em>script<\/em> adequado para que mesmo apresente o valor do <em>Data point<\/em> (basicamente, a senten\u00e7a &#8220;<em>return value<\/em>&#8221; \u00e9 suficiente para que o valor do <em>Data point<\/em> seja mostrado, no entanto, utilizou-se algumas por\u00e7\u00f5es de c\u00f3digo para aumentar a fonte da representa\u00e7\u00e3o e colocar a mesma em negrito).<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><em>OBS: \u00c9 imprescind\u00edvel que as duas caixas de sele\u00e7\u00e3o estejam marcadas para que o leitor tenha a possibilidade de alterar o valor do Data point.<\/em><\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1504\" style=\"width: 436px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/PROPRIEDADE-PWM.jpg\" data-rel=\"lightbox-image-13\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1504\" class=\"wp-image-1504 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/PROPRIEDADE-PWM.jpg\" alt=\"\" width=\"426\" height=\"394\" \/><\/a><p id=\"caption-attachment-1504\" class=\"wp-caption-text\">Propriedades do valor utilizado no PWM<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">O resultado deste passo pode ser visto na figura abaixo:<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1509\" style=\"width: 216px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado2.jpg\" data-rel=\"lightbox-image-14\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1509\" class=\"wp-image-1509 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado2.jpg\" alt=\"\" width=\"206\" height=\"59\" \/><\/a><p id=\"caption-attachment-1509\" class=\"wp-caption-text\">Resultado final<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">O terceiro\u00a0<em>Data point\u00a0<\/em>a ser desenvolvido graficamente ser\u00e1 o\u00a0de leitura do bot\u00e3o. Assim como dito anteriormente, deve-se utilizar um componente <em>HTML<\/em> para fazer um texto de identifica\u00e7\u00e3o do <em>Data point<\/em> em quest\u00e3o e al\u00e9m disso, adiciona-se novamente um componente do tipo <em>Script para o servidor<\/em>, no entanto, desta vez pode-se perceber o emprego das estruturas condicionais <em>if\/else<\/em> para que quando o estado do bot\u00e3o for <em>0,<\/em> apare\u00e7a a palavra <em>Desligado<\/em> e quando o estado do bot\u00e3o dor <em>1<\/em>, apare\u00e7a <em>Ligado<\/em> (lembre-se, a vari\u00e1vel armazenada no <em>Data point<\/em> em quest\u00e3o \u00e9 do tipo bin\u00e1rio).<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1511\" style=\"width: 428px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/PROPRIEDADE-DISPLAY-1.jpg\" data-rel=\"lightbox-image-15\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1511\" class=\"wp-image-1511 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/PROPRIEDADE-DISPLAY-1.jpg\" alt=\"\" width=\"418\" height=\"394\" \/><\/a><p id=\"caption-attachment-1511\" class=\"wp-caption-text\">Propriedades dos estados do bot\u00e3o<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">O resultado desta etapa pode ser visto na figura abaixo:<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1512\" style=\"width: 249px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado3.jpg\" data-rel=\"lightbox-image-16\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1512\" class=\"wp-image-1512 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado3.jpg\" alt=\"\" width=\"239\" height=\"59\" \/><\/a><p id=\"caption-attachment-1512\" class=\"wp-caption-text\">Resultado final<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Por fim, o \u00faltimo\u00a0<em>Data point<\/em>\u00a0a ser desenvolvido graficamente ser\u00e1 o de leitura da temperatura, de modo que, o processo a ser seguido neste ponto \u00e9 id\u00eantico ao realizado no item anterior, apenas com uma pequena diferen\u00e7a no <em><strong>script<\/strong><\/em> utilizado para retornar o valor da temperatura.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1514\" style=\"width: 436px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/PROPRIEDADE-TEMP.jpg\" data-rel=\"lightbox-image-17\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1514\" class=\"wp-image-1514 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/PROPRIEDADE-TEMP.jpg\" alt=\"\" width=\"426\" height=\"394\" \/><\/a><p id=\"caption-attachment-1514\" class=\"wp-caption-text\">Propriedades do Script para a temperatura<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">O resultado deste \u00faltimo passo \u00e9 o seguinte:<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1516\" style=\"width: 234px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado5.jpg\" data-rel=\"lightbox-image-18\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1516\" class=\"wp-image-1516 size-full\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado5.jpg\" alt=\"\" width=\"224\" height=\"39\" \/><\/a><p id=\"caption-attachment-1516\" class=\"wp-caption-text\">Resultado final<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Confira o resultado final:<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_1573\" style=\"width: 1587px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado6.jpg\" data-rel=\"lightbox-image-19\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1573\" class=\"wp-image-1573 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado6.png\" alt=\"\" width=\"1577\" height=\"731\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado6.png 1577w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado6-300x139.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado6-768x356.png 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/resultado6-1024x475.png 1024w\" sizes=\"auto, (max-width: 1577px) 100vw, 1577px\" \/><\/a><p id=\"caption-attachment-1573\" class=\"wp-caption-text\">Supervis\u00f3rio Pronto ScadaBr Arduino<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Este foi mais um conte\u00fado que preparamos com bastante cuidado para voc\u00ea. Esperamos que tenha gostado desta publica\u00e7\u00e3o &#8220;ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios &#8211; Parte I&#8221; e lembre-se de deixar suas d\u00favidas, cr\u00edticas e sugest\u00f5es nos coment\u00e1rios abaixo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este artigo corresponde \u00e0 primeira\u00a0parte de um conte\u00fado voltado para o desenvolvimento de sistemas supervis\u00f3rios no ScadaBR Arduino. Estes sistemas servem para permitir que\u00a0os operadores tenham o controle sobre determinados elementos de um processo, tanto atrav\u00e9s do acionamento dos mesmos como atrav\u00e9s do monitoramento. Neste material, o leitor poder\u00e1 aprender os procedimentos b\u00e1sicos para a elabora\u00e7\u00e3o de telas interativas, nas quais, ser\u00e3o apresentados os dados provenientes das vari\u00e1veis de entrada do Arduino UNO como tamb\u00e9m os elementos respons\u00e1veis pelo acionamento das sa\u00eddas digitais do mesmo. &nbsp; Produtos Utilizados no Projeto 1Arduino UNO + Cabo USB AB; 1 Led verde 5mm difuso; 1 Resistor 150 \u03a9 1\/4 W 1\u00a0Resistor 330 \u03a9 1\/4 W 1 Resistor 10k \u03a9 1\/4 W 1 Sensor [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":1582,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1485","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scadabr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ScadaBR Arduino em Sistemas Supervis\u00f3rios Parte I - Blog UsinaInfo<\/title>\n<meta name=\"description\" content=\"Projeto ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios Parte I Voc\u00ea Encontra no Blog UsinaInfo. Confira o Tutorial Passo a Passo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ScadaBR Arduino em Sistemas Supervis\u00f3rios Parte I - Blog UsinaInfo\" \/>\n<meta property=\"og:description\" content=\"Projeto ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios Parte I Voc\u00ea Encontra no Blog UsinaInfo. Confira o Tutorial Passo a Passo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Usinainfo\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/pt-br.facebook.com\/faceusinainfo\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-16T14:00:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-08-07T18:55:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/skda-br.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Daniel Madeira\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Madeira\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ScadaBR Arduino em Sistemas Supervis\u00f3rios Parte I - Blog UsinaInfo","description":"Projeto ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios Parte I Voc\u00ea Encontra no Blog UsinaInfo. Confira o Tutorial Passo a Passo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/","og_locale":"pt_BR","og_type":"article","og_title":"ScadaBR Arduino em Sistemas Supervis\u00f3rios Parte I - Blog UsinaInfo","og_description":"Projeto ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios Parte I Voc\u00ea Encontra no Blog UsinaInfo. Confira o Tutorial Passo a Passo.","og_url":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/","og_site_name":"Blog Usinainfo","article_publisher":"https:\/\/pt-br.facebook.com\/faceusinainfo\/","article_published_time":"2017-06-16T14:00:47+00:00","article_modified_time":"2019-08-07T18:55:20+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/skda-br.jpg","type":"image\/jpeg"}],"author":"Daniel Madeira","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Daniel Madeira","Est. tempo de leitura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/#article","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/"},"author":{"name":"Daniel Madeira","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/4be52d8f31790e9c812406686ed9314b"},"headline":"ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios &#8211; Parte I","datePublished":"2017-06-16T14:00:47+00:00","dateModified":"2019-08-07T18:55:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/"},"wordCount":2433,"commentCount":2,"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/skda-br.jpg","articleSection":["ScadaBR"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/","url":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/","name":"ScadaBR Arduino em Sistemas Supervis\u00f3rios Parte I - Blog UsinaInfo","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/#primaryimage"},"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/skda-br.jpg","datePublished":"2017-06-16T14:00:47+00:00","dateModified":"2019-08-07T18:55:20+00:00","author":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/4be52d8f31790e9c812406686ed9314b"},"description":"Projeto ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios Parte I Voc\u00ea Encontra no Blog UsinaInfo. Confira o Tutorial Passo a Passo.","breadcrumb":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/#primaryimage","url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/skda-br.jpg","contentUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2017\/06\/skda-br.jpg","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.usinainfo.com.br\/blog\/desenvolvimento-de-sistemas-supervisorios-parte-i\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.usinainfo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"ScadaBR Arduino no Desenvolvimento de Sistemas Supervis\u00f3rios &#8211; Parte I"}]},{"@type":"WebSite","@id":"https:\/\/www.usinainfo.com.br\/blog\/#website","url":"https:\/\/www.usinainfo.com.br\/blog\/","name":"Blog Usinainfo","description":"Usinainfo","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.usinainfo.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/4be52d8f31790e9c812406686ed9314b","name":"Daniel Madeira","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/32568476462ea2a95c2aba76afedc473d53105055f219249c5b25a4d4603e357?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/32568476462ea2a95c2aba76afedc473d53105055f219249c5b25a4d4603e357?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/32568476462ea2a95c2aba76afedc473d53105055f219249c5b25a4d4603e357?s=96&d=mm&r=g","caption":"Daniel Madeira"},"description":"Engenheiro eletricista graduado com \u00eanfase em Controle e Automa\u00e7\u00e3o pela Universidade Federal do Esp\u00edrito Santo - UFES e T\u00e9cnico em Eletrot\u00e9cnica pelo Instituto Federal do Esp\u00edrito Santo - IFES. Parceiro do site UsinaInfo.","url":"https:\/\/www.usinainfo.com.br\/blog\/author\/danielm\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/1485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1485"}],"version-history":[{"count":71,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/1485\/revisions"}],"predecessor-version":[{"id":3632,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/1485\/revisions\/3632"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media\/1582"}],"wp:attachment":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}