Como Transmitir Variáveis para o ScadaBR?

Bom dia. Estamos fazendo um projeto que envolve comunicação entre o Arduino e o ScadaBR. Optamos pela comunicação do tipo Modbus Serial. Nos exemplos encontrados na internet como o código abaixo

enum
{     
  VOLUME,     
  VAZAO,        
  HOLDING_REGS_SIZE 
};
 
unsigned int holdingRegs[HOLDING_REGS_SIZE]; 

void setup() {
  modbus_configure(&Serial, 9600, SERIAL_8N1, 1, 2, HOLDING_REGS_SIZE, holdingRegs);
  modbus_update_comms(9600, SERIAL_8N1, 1);
}

void loop() {
  modbus_update();
  holdingRegs[VAZAO] = analogRead(A0); 
  holdingRegs[VOLUME] = analogRead(A1);   
}

Pelo pouco que sei sobre Arduino neste exemplo é preciso conectar o pino que transmite as informações do sensor em A0 e A1 e ele receberia a informação direto do sensor.
Minha duvida é. Tem como eu tratar as informações no Arduino e transmitir elas já tratadas para o Scada.
Se sim, como seria? Tentei algo como
holdingRegs[VAZAO] = vazao_ml
ou
VAZAO = vazao_ml
e não funcionou

Olá amigo,
VAZAO você está utilizando apenas como ponteiro no registrador.
int fator = 0.8;
int aux= vazao_ml * fator;

holdingRegs[VAZAO] = aux;

Um simples exemplo!

1 curtida

Beleza amigo, muito obrigado. Vou fazer as alterações e testar.

1 curtida