PSi4 - Integração com outros dispositivos
Como integrar o sistema SCADA PSI4 com os mais diversos dispositivos do mercado
Arduino
Introdução
Inicialmente iremos utilizar o Arduino UNO juntamente com o Sistema Scada - PSi4. Neste conteúdo serão apresentados alguns conceitos introdutórios para que o leitor entenda a proposta que está sendo feita além disso, pretende-se instruir o mesmo em relação às configurações necessárias para realizar a integração entre os dois elementos citados anteriormente.
Para aqueles que não conhecem, o PSi4 consiste em uma ferramenta voltada para o desenvolvimento de sistemas supervisórios e de controle de processos, visando atender as mais diversas necessidades em virtude de disponibilizar vários recursos para o usuário. Além disso, o PSi4 proporciona um ambiente totalmente configurável, permitindo ao usuário monitorar variáveis em tempo real através de elementos gráficos, bem como realizar acionamentos através do envio de informações aos dispositivos existentes.
Primeiro Passo
Definição do hardware que será utilizado
O hardware que será utilizado para demonstrar os conceitos iniciais propostos no início deste artigo será composto por um Arduino UNO e três potenciômetros de 10k?. De maneira mais direta, o objetivo do projeto desenvolvido neste artigo consiste em realizar uma aplicação onde o usuário consiga ler os sinais provenientes da leitura destes componentes e possa reproduzi-los em sua tela, conforme figura abaixo.
Segundo Passo
Elaboração do código que será inserido no Arduino UNO
No decorrer desta seção serão explicados todos os passos utilizados para o desenvolvimento do projeto proposto, isto é, o código será comentado de modo que todo conhecimento aplicado seja facilmente compreendido.
Num primeiro momento deve-se incluir as bibliotecas necessárias para que o código a ser inserido no Arduino UNO funcione adequadamente. Neste artigo utilizaremos somente a biblioteca desejada para estabelecer a comunicação entre o Arduino UNO e o PSi4 através do protocolo Modbus. Neste exemplo iremos utilizar a biblioteca SimpleModbusSlaveV10, facilmente encontrada na internet. O código a ser utilizado foi derivado diretamente do exemplo disponível, juntamente com a biblioteca em questão. Portanto, caso o leitor queira, pode apenas modificar o exemplo citado.
Posteriormente pode-se observar um bloco chamado enum, neste estarão escritos os registradores que conterão as informações utilizadas na leitura ou no acionamento de dispositivos. Estes são denominados Registradores Holding e para declará-los basta escrever seus nomes seguidamente no código. Neste artigo, por exemplo, os Registradores Holding utilizados para conter os valores provenientes dos potenciômetros são chamados VALOR_POT1, VALOR_POT2 e VALOR_POT3. É importante ressaltar que após as declarações dos respectivos Registradores Holding, deve-se escrever HOLDING_REGS_SIZE (informação utilizada pela biblioteca para identificar a quantidade de Registradores Holding que estão sendo utilizados) e em seguida cria-se a variável holdingRegs para a manipulação dos registradores em questão.
Na função setup() utiliza-se primeiramente a função modbus_configure() para determinar os parâmetros necessários para estabelecer a conexão via comunicação serial utilizando o protocolo Modbus. Os parâmetros mais importantes para este artigo são o segundo, o terceiro e o quarto que dizem respeito à taxa de transmissão de dados, o formato do pacote utilizado no protocolo Modbus e a identificação do escravo, respectivamente. Note que estes três argumentos citados devem estar em conformidade com as configurações do PSi4. Em seguida temos a função modbus_update_comms() que também é responsável pela comunicação via Modbus.
O conteúdo da função loop() começa com a função modbus_update() utilizada para a atualização dos valores dos registradores citados anteriormente. Em seguida, realiza-se a leitura da tensão aplicada às portas de entrada analógica A0, A1 e A2 e posteriormente os valores encontrados são convertidos em números inteiros contidos no intervalo entre 0 e 1023 utilizando a função analogRead(). Estes são armazenados nos Registrador Holding identificados como VALOR_POT1, VALOR_POT2 e VALOR_POT3 respectivamente.
Terceiro Passo
Configuração do dispositivo referente ao protocolo Modbus no PSi4
O primeiro passo que deve ser realizado para manipular o PSi4 diz respeito à configuração do dispositivo. Este procedimento pode ser realizado através da aba “Dispositivo”, localizado na lateral esquerda, no Server (Si4) conforme a figura abaixo.
O leitor deve se atentar nas configurações, o primeiro passo é adicionar um apelido ao dispositivo, na sequência deve ser selecionado o transporte, nesse caso, o sistema detecta a presença automaticamente da respectiva porta de comunicação a ser utilizada. No que se refere ao Baudrate, Data bits, Parity e Stop bits, segue a mesma configuração citada anteriormente. Em handshake para o Arduino, não será necessária a utilização.
Quarto Passo
Criação da(s) tag(s) para aquisição de dados
O próximo passo consiste em incluir os Registradores Holding uma vez inseridos no código fonte, para isso, no Si4 (Server) na aba “Tags”, selecionar o dispositivo configurado no passo anterior, selecionar a primeira Tag e efetuar a configuração conforme a figura abaixo.
Após a configuração da Tag, basta clicar em “Aplicar”. Após a configuração de todas as Tags, basta clicar em “Verificar”, o sistema irá acusar falha caso tenha alguma configuração errada ou a mensagem “Nenhum erro foi encontrado” no console, após nenhum erro encontrado, clicar em “Aplicar Configuração”.
Finalizado a configuração do dispositivo e das Tags, na aba “Dashboard”, o dispositivo sairá do status de “DESATIVADO” para “ONLINE”, conforme figura abaixo. Caso o dispositivo fique em “OFFLINE”, basta repetir os passos anteriores.
Quinto Passo
Criação dos elementos gráficos
Agora serão criados os elementos gráficos para que os valores lidos nas entradas analógicas possam ser vistos pelo operador. Para isso, iremos utilizar o Viewer (Vi4). Na tela inicial temos:
Inicialmente iremos trabalhar no servidor local (127.0.0.1) utilizando a credencial de administrador com o usuário: admin e a senha: admin, caso o leitor deseje utilizar a credencial diferente, basta criar um novo usuário e a senha no Si4 na aba “ Usuários”.
Após o login, basta o leitor clicar em “Supervisão” e na sequência “Modo Edição”, uma janela em branco e a caixa de ferramentas deverá ser aberta, conforme figura abaixo:
Para começar o nosso projeto, vamos alterar a cor de fundo, para tal, basta clicar com o botão direito do mouse na janela em branco e selecionar “Fundo - Supervisão”. Conforme figura abaixo é possível selecionar uma imagem e/ou a cor de fundo, bem como as margens.
Na sequência vamos selecionar a ferramenta “Label” para identificar a leitura de cada potenciômetro, conforme figura abaixo:
Com a ferramenta Label, é possível escrever textos, trabalhar com parâmetros, abertura de janela, botão, totalizador e seta, todos na mesma ferramenta. Vamos então escrever um texto identificando o primeiro potenciômetro e na sequência uma segunda Label para a leitura de fato da entrada analógica. Para a label em forma de texto, o formato na fórmula deverá iniciar e finalizar a sentença com ( ‘ ), conforme figura abaixo.
E para trabalhar com a Label em forma de leitura de Tag, o formato deverá ser [PK6.TAG1], conforme figura abaixo.
É possível observar que ao trocar a fórmula para a Tag correspondente no mesmo instante o valor de retorno mudará conforme a leitura em tempo real do potenciômetro.
Após os passos anteriores e efetuando os devidos ajustes de tamanho, proporção de texto e cores, é necessário efetuar o ajuste das labels na tela. Para tal, usamos a ferramenta de grade, podendo ser selecionado com o botão direito do mouse e selecionando a opção grade ou usando as teclas “Q”, “W” , “E” e “R”.
Devidos ajustes feitos, temos então a finalização do nosso primeiro projeto utilizando o arduino com o Psi4, conforme figura abaixo
Schneider M221
Introdução
Iremos utilizar o CLP Schneider juntamente com o Sistema Scada - PSi4. Neste conteúdo serão apresentados alguns conceitos introdutório para que o leitor entenda a proposta que está sendo feita, além disso, pretende-se instruir o mesmo em relação às configurações necessárias para realizar a integração entre os dois elementos citados anteriormente
Para aqueles que não conhecem, o PSi4 consiste em uma ferramenta voltada para o desenvolvimento de sistemas supervisórios e de controle de processos, visando atender as mais diversas necessidades em virtude de disponibilizar vários recursos para o usuário. Além disso, o PSi4 proporciona um ambiente totalmente configurável, permitindo ao usuário monitorar variáveis em tempo real através dos elementos gráficos, bem como realizar acionamento através do envio de informações aos dispositivos existentes.
Instalando o Machine Expert - Basic
1 - Instalar o Machine Expert - Basic através do site oficial da Schneider
https://www.se.com/br/pt/product-range/2226-ecostruxure-machine-expert/
2- Após fazer o download e instalação, seguir o passo a passo do próprio instalador. É necessário fazer a configuração do software.
3 - O modelo que iremos utilizar nessa integração é o TM221CE40T/Tr OUT Source. Para tal, basta selecionar o modelo na lista indicada na lateral direita.
4 - Na sequência efetuamos a configuração IP do dispositivo, conforme imagem abaixo, caso o dispositivo for através do MODBUS TCP.
5 - Para o primeiro teste, serão utilizadas 3 memórias e uma entrada analógica, conforme imagem abaixo:
6 - Na aba "Comissionamento", selecionar o IP do dispositivo ETHERNET, selecionar LOGIN, conforme imagem abaixo:
7 - Na sequência clicar em "PC para controlador (download)", em seguida iniciar o controlador, após isso a mensagem deverá ser essa:
Configurando o PSi4
1 - Agora iremos iniciar a configuração do Si4 (Server), o primeiro passo é a configuração do dispositivo. Em transporte deverá ser selecionado TCP (Ethernet), o endereço de IP é o mesmo utilizado na configuração do CLP e a porta é o 502 (porta própria do MODBUS). Em protocolo utilizaremos o Modbus TCP (Generic), e o J-BUS (Base 0) selecionada, conforme a imagem abaixo:
2 - Na sequencia iremos configurar as tag's, no caso utilizaremos 3 memórias, a primeira utilizada como entrada (M0), a segunda sendo uma saída (M1) e a terceira será transportando o valor da leitura analógica (MW1). No caso das entradas utilizaremos a configuração do tipo "INPUT STATUS", no formato "BIT", no endereço 0. Conforme imagem abaixo
No caso da saída, utilizaremos o tipo "COIL STATUS" também no formato "BIT" e no endereço 1, conforme abaixo:
E a leitura analógica que está sendo transportada para uma memória do tipo WORD, para isso utilizaremos "HOLDING REGISTER" no formato "UNIT16" ou "INT16", no endereço 1. Conforme a figura abaixo:
Após devidas configurações, dos dispositivo e das TAG'S, basta clicar em "Verificar" e "Aplicar Configurações" e para cada alteração da tag utilizar o "Aplicar" para cada tag em sequência.
3 - Em "Dashboard" é possível verificar se a configuração teve êxito ou não, se ocorrer tudo bem o dispositivo irá acusar "ONLINE", conforme a figura abaixo:
Caso o dispositivo fique em vermelho e com a mensagem de "OFFLINE", se faz necessário refazer os passos anteriores.
4 - Em "Ferramentas", em "Ler e Escrever TAG's", é possivel conferir os valores configurados e testar juntamente com o Software Machine Expert Basic. Conforme abaixo:
INPUT STATUS = Entrada de sinal digital
COIL STATUS = Saída de sinal digital
HOLDING REGISTERS = Sinal do tipo Word