Back to Help Center

OPERAÇÕES COM FLUXOS DE TANQUES (OPERATIONS WITH TANK FLOWS) - JS

Equipe Learning

Calculando o fluxo de saída a partir do fluxo de entrada

// Função para ler uma tag do payload
const get = (tag) => {
  if(!isNaN(tag)) {
    return tag;
  }
  const value = msg.payload[tag];
  const infoValue = value === undefined ? 'undefined' : value;
  undefinedCount += value === undefined;
  flatInfoMsg.payload[tag] = infoValue; 
  infoMsg.payload.getValues[tag] = infoValue;
  usedValues[tag] = infoValue;
  return value;
}; 

// Função para definir uma tag do payload
const set = (tag, value) => {
    msg.payload[tag] = value;
    calcs[tag] = value;
    const infoValue = value === undefined ? 'undefined' : value;
    flatInfoMsg.payload[tag] = infoValue;
    infoMsg.payload.setValues[tag] = infoValue;
    infoMsg.payload.both[tag] = {result: infoValue, usedValues: usedValues};
    usedValues = {};
};

const va = { 
  lag_group:{
    lev_m3: "level_tag", //m3 
    outflow : "inflow_tag", // em m3/h
  },}

// calculando o fluxo de saída a partir da entrada

let prevqty_lag_group = context.get("prevqty_lag_group") || 0;
context.set("prevqty_lag_group", (msg.payload["qty_lag_group"]));
// fluxo SAÍDA = prev_qty - qty + inflow
set("outqty_lag_group", prevqty_lag_group - msg.payload["qty_lag_group"] + (get(va.lag_group.flow)/60 * dt));
_str1 : quantidade no tanque
_str1,-1 : valor anterior da quantidade no tanque
_str2 : fluxo de entrada (qty/min)

double flow=Str.ToDouble(_dojavascript.get("_str1",-1))-Str.ToDouble(_str1)+Str.ToDouble(_str2);

if (flow>0)
    return flow;
else
    return "0";
// ================================
// Nova função comum do MX 
// ================================

/**
 * Descrição : Calculando o fluxo de saída a partir do fluxo de entrada
 * 
 * _str1 : quantidade no tanque
 * _str2 : fluxo de entrada (qty/min)
 */

return MxFlow_out_from_in(_dojavascript, _str1, _str2);
Powered by Zendesk