WEG CFW500
Biblioteca para controle
simplificado da linha CFW500
.
Pré-requisitos:
- O keeper deve ser
client
da rede Modbus; - A palavra de controle e de referência de velocidade devem estar configurados no arquivo de configuração Modbus client;
- O driver deve estar configurado corretamente para controle via serial (modo local ou remoto);
- As memórias
wMB
ewMI
devem ser identificadas no arquivo de configuração Modbus client; - Carregar o arquivo da biblioteca para a memória do equipamento.
Clique aqui para baixar a biblioteca.
Utilização
Devemos declarar um objeto contendo as memórias utilizadas para controle do driver. Caso tenha mais de um driver na rede Modbus, basta criar um novo objeto, sendo cada objeto referente ao driver.
let inv1 = {wmb_run: 1, wmb_en: 2, wmb_fault: 3, wmi_speed: 1, hz: 60};
Onde:
- wmb_run: A wMB que está sendo escrita no bit de run do registrador da palavra de controle;
- wmb_en: A wMB que está sendo escrita no bit de habilita geral do registrador da palavra de controle;
- wmb_fault: A wMB que está sendo escrita no bit de limpar falha do registrador da palavra de controle;
- wmi_speed: A wMI que está sendo escrita no registrador de controle de velocidade;
- hz: Frequência da rede CA (50 ou 60 Hz).
map_cfw500.control
Altera a palavra de controle do driver. O primeiro argumento é o objeto que guarda a referencia de memória dos registros do driver desejado. O segundo argumento é o status do bit
de run(1)/stop(0)
da palavra de controle do driver.
map_cfw500.control(inv1, run);
map_cfw500.changeSpeed
Altera a palavra de referência de velocidade do driver. O primeiro argumento é o objeto que guarda a referencia de memória dos registros do driver desejado. O segundo argumento é a velocidade desejada em Hz.
map_cfw500.changeSpeed(inv1, 45); //seta inv1 em 45Hz
Exemplo 1 - Estrutura básica
Estrutura básica:
- Inclua a biblioteca (salve na memória interna do equipamento);
- Declare o objeto que guarda as informações das memórias de controle do driver;
- Utilize as funções com as lógicas desejadas.
version(1);
include("/js/map_cfw500.js");
let inv1 = {wmb_run: 1, wmb_en: 2, wmb_fault: 3, wmi_speed: 1, hz: 60}; //inversor 1
let loop = function() {
map_cfw500.changeSpeed(inv1, 45); //seta velocidade para 45hz
map_cfw500.control(inv1, true); //coloca o inversor no modo run
};
Exemplo 2 - Remoto via MHO Cloud
Estrutura básica:
- Inclua a biblioteca (salve na memória interna do equipamento);
- Declare o objeto que guarda as informações das memórias de controle do driver;
- Salve o arquivo de setpoints na memória interna do equipamento;
- Utilize a função
fjson
para manipular o arquivo de setpoints; - Utilize as funções com as lógicas desejadas, veja o exemplo de M2M ou controle via atributos para mais detalhes.
Arquivo de setpoints:
{"inv1_run": false, "inv1_vel": 0}
Arquivo de programa:
version(1);//16/08/2024
include("/js/map_cfw500.js");
let inv1 = {wmb_run: 1, inv1_run: 2, wmb_fault: 3, wmi_speed: 1};
cloud.setAtt('inv1_vel,inv1_run'); //definicao de mensagens de interesse para sincronismo em reconexoes
let sp = fjson.open(); //objeto de setpoints salvo na memoria flash
//funcao chamada quando chega uma mensagem do MHO Cloud
let sa_callback = function(obj) {
//log("sa_callback => ", obj);
if(haskey(obj, 'inv1_vel')) sp.inv1_vel = obj.inv1_vel;
if(haskey(obj, 'inv1_run')) sp.inv1_run = obj.inv1_run;
fjson.create(sp, true); //salva objeto de setpoints na memoria flash
};
let loop = function() {
map_cfw500.changeSpeed(inv1, sp.inv1_vel);
map_cfw500.control(inv1, sp.inv1_run);
};