Pular para o conteúdo principal

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.

Marcas registradas

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

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.

dica

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​

cuidado

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.

/modbus/mbclient.json
[
{
"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.

/modbus/mbclient.json
[
{
"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.