CFW500
Neste artigo vamos ver um exemplo de aplicação IIoT com o Driver/Inversor WEG CFW500 e o MHO Keeper, com exemplo de integração ao MHO Cloud.
O CFW500 possui uma versatilidade para utilização em diversas aplicações, neste artigo iremos focar especificamente na integração do CFW500 com o MHO Keeper e o MHO Cloud. A aplicação exata do que será controlado e monitorado dependerá das necessidades específicas de cada implementação e projeto, por isso nesse guia não será abordado lógicas de programação e diagramas elétricos de potência, apenas a integração para monitoramento e um exemplo base para controle.
As marcas e componentes mencionadas neste documento, incluindo, mas não se limitando a, "WEG", são propriedade de suas respectivas empresas e são utilizadas apenas para fins de exemplos de integração. Os componentes referenciados neste artigo são de propriedade de seus fabricantes. A utilização dessas marcas e componentes não implica qualquer afiliação ou endosse por parte das respectivas empresas.
Copyright © 2024, MHO. Todos os direitos reservados. É proibida a reprodução ou transmissão deste documento, seja em formato eletrônico ou impresso, para qualquer finalidade, sem autorização prévia por escrito da MHO. Este guia é disponibilizado apenas com fins informativos, e está sujeito a alterações sem aviso prévio. A MHO não assume responsabilidade e não há obrigação contratual decorrente, direta ou indiretamente, do mesmo e não são apresentadas com quaisquer outras garantias ou condições, expressas ou implícitas por lei. Isso abrange garantias implícitas de comercialização ou adequação a um propósito específico.
1. Esquema elétrico e configurações
Arquivos do fabricante:
Para este exemplo, os seguintes componentes estão sendo utilizados:
- UA1: Fonte de alimentação 24V;
- UC1: MHO Keeper 3;
- INV1: Inversor de frequência WEG CFW500.
1.1. Ligações Elétricas
Neste artigo utilizamos a porta serial RS485 para comunicação entre os dispositivos via protocolo Modbus RTU, tornando a instalação elétrica muito simples. Basta alimentar o MHO Keeper com uma fonte CC de 24V e conectar a porta RS485 com o CFW500.
O Keeper possui as marcações A e B na porta serial, onde A é o terminal positivo e B é o terminal negativo. Já no CFW500, A é o negativo e B é positivo. Para a referência de comunicação, devemos conectar o terminal negativo da fonte de alimentação que alimenta o keeper no terminal GND 485
.
1.2. Parametrizações do CFW500
Precisamos entender como o inversor vai trabalhar. No modelo WEG CFW500 temos dois modos de controle, local
ou remoto
. Tipicamente se utiliza o modo local
para controle via botoeiras ou IHM do inversor e o modo remoto
para integração com sistemas remotos como PLCs e sistemas de telemetria. Neste exemplo utilizamos o modo remoto
para controle via Keeper.
Abaixo os parâmetros utilizados neste guia, demais parâmetros devem ser configurados conforme particularidades da aplicação.
Definições da porta RS485
- P0308 => 1: Endereço serial do inversor;
- P0310 => 0: Taxa de comunicação serial (9600 bits/s);
- P0311 => 0: Configuração dos bytes (8N1);
- P0312 => 2: Modbus RTU.
Para controle remoto, precisamos definir o modo de controle via serial para o modo remoto
Esses parâmetros devem ser alterados apenas se o controle também for feito pelo keeper.
- P0222: 9 (serial), a referência de velocidade é feita via serial quando no modo remoto;
- P0227: 2 (serial), o controle é feito através da palavra de controle de controle via serial quando no modo remoto.
1.3. Parametrizações do Keeper
Conexão com o Servidor
- Para conexão com o MHO Cloud basta definir a sua chave de licença única do equipamento e habilitar o MHO Cloud. Caso esteja utilizando outro servidor MQTT (não o MHO Cloud), basta definir as configurações na aba MQTT. Para completar a conexão é necessário fornecer conexão com o broker, por dados móveis, ethernet ou Wi-Fi.
Porta RS485
- Como a integração está sendo feita via Modbus RTU RS485, basta definir os parâmetros da porta RS485. Neste exemplo a configuração é
9600
de velocidade e configuração dos bytes é8N1
.
Requisições Modbus RTU
- Adicionar requisições de leitura e escrita conforme a necessidade. Verificar abaixo nos dois exemplos. Acesse o gerenciador de arquivos do Kepeer e inclua o arquivo de requisições no caminho
/modbus/mbclient.json
.
Scripts em mhoJS
- Adicionar lógicas de controle conforme a necessidade, verificar no exemplo de controle abaixo. Acesse o gerenciador de arquivos do Kepeer e inclua o arquivo de scripts no caminho
/js/main.js
.
2. Exemplo - Leitura
2.1. Requisições Modbus RTU
Para leitura, podemos ler os parâmetros de interesse, como por exemplo os seguintes parâmetros:
- P0680: Status word, apenas bits de interesse;
- P0003: Corrente;
- P0005: Frequência;
- P0050: Última falha.
Para isso o arquivo de requisições fica da seguinte forma, considerando que o inversor possui endereço 1
na rede Modbus.
[
{
"polling": 500,
"timeout": 250,
"version": 1
},
{
"fn": "cfw500 sw (run, rem, subtensao, falha)",
"sv": 1,
"fc": 3,
"add": 680,
"binA": "1011000100000000",
"tobin": true
},
{
"fn": "cfw500 corrente",
"sv":1,
"fc": 3,
"add": 3,
"qnt": 1
},
{
"fn": "cfw500 freq",
"sv": 1,
"fc": 3,
"add": 5
},
{
"fn": "cfw500 ult. falha",
"sv": 1,
"fc": 3,
"add": 50,
"oc": true
}
]
Acessando o depurador das requisições Modbus, podemos conferir as memórias alocadas conforme alocação das requisições. No caso temos as seguintes TAGs de telemetria sendo enviadas para o servidor.
Memórias binárias
- MB1: run;
- MB2: remoto;
- MB3: subtensão;
- MB4: falha;
Memórias numéricas
- MI1: Corrente;
- MI2: Frequência;
- MI3: Última falha;
Como estamos utilizando o Keeper só para leitura, não é necessário utilização dos scripts em mhoJS.
2.2. Dashboard IoT
...
3. Exemplo - Leitura e Controle
Neste exemplo temos os seguintes atributos que serão configurados na dashboard:
3.1. Requisições Modbus RTU e Scripts
Para leitura mantemos os registros do exemplo anterior. Porém agora adicionamos os registradores de controle, podemos comandar os registradores de interesse, como por exemplo os seguintes parâmetros:
- P0682: Control word, apenas bits de interesse;
- P0683: Velocidade de referência.
Para isso o arquivo de requisições fica da seguinte forma, considerando que o inversor possui endereço 1
na rede Modbus.
[
{
"polling": 500,
"timeout": 250,
"version": 1
},
{
"fn": "cfw500 sw (run, rem, subtensao, falha)",
"sv": 1,
"fc": 3,
"add": 680,
"binA": "1011000100000000",
"tobin": true
},
{
"fn": "cfw500 corrente",
"sv":1,
"fc": 3,
"add": 3,
"qnt": 1
},
{
"fn": "cfw500 freq",
"sv": 1,
"fc": 3,
"add": 5
},
{
"fn": "cfw500 ult. falha",
"sv": 1,
"fc": 3,
"add": 50,
"oc": true
},
{
"fn": "cfw500 cw (run, enable, falha)",
"sv": 1,
"fc": 6,
"add": 682,
"binA": "0000000010000011",
"tobin": true,
"vl": 0
},
{
"fn": "cfw500 wvel",
"sv": 1,
"fc": 6,
"add": 683,
"t": 0,
"vl": 0
}
]
Acessando o depurador das requisições Modbus, podemos conferir as memórias alocadas conforme alocação das requisições. No caso temos as seguintes TAGs de telemetria sendo enviadas para o servidor.
Memórias binárias
- MB1: run;
- MB2: remoto;
- MB3: subtensão;
- MB4: falha.
Memórias numéricas
- MI1: Corrente;
- MI2: Frequência;
- MI3: Última falha.
Temos também as seguintes variáveis de controle para utilizar no ambiente mhoJS para realizar o controle lógico ou remoto.
Memórias binárias
- wMB1: run;
- wMB2: habilitar;
- wMB3: limpar falha;
Memórias numéricas
- wMI1: Velocidade;
Com isso podemos utilizar um script de controle no mhoJS para manipular essas variáveis utilizando as funções do escopo mbc
, conforme documentação mhoJS.
3.2. Dashboard IoT
...
4. Conclusão
Neste artigo, vimos como configurar setpoints internos do equipamento Keeper de forma remota usando o MHO Cloud. Através da função sa_callback
, o programa mhoJS recebe e atualiza os valores dos setpoints definidos no servidor, garantindo que o equipamento esteja sempre sincronizado com as configurações mais recentes. Além disso, exploramos a integração desses setpoints utilizando arquivos JSON para armazenamento persistente. Essa abordagem proporciona flexibilidade e eficiência na gestão e atualização de parâmetros do sistema, facilitando o controle e a manutenção remotos dos dispositivos Keeper.