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.