Плагин MegaD



  • @sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил 😞 Здорово, что получилось!
    В сценарии есть еще глючок - нужно считать только до 6

    nextParam() {
    this.step = this.step < 6 ? this.step+1 : 1;  // было this.step < 7 
    this.getTx();
    }
    

    А интервал 1 сек нормально отрабатывает?



  • Пользователь @intrapro написал в Плагин MegaD:

    @sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил 😞 Здорово, что получилось!

    А интервал 1 сек нормально отрабатывает?

    Да, все хорошо.



  • Пользователь @sergeyygr написал в Плагин MegaD:

    Пользователь @intrapro написал в Плагин MegaD:

    @sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил 😞 Здорово, что получилось!

    А интервал 1 сек нормально отрабатывает?

    Да, все хорошо.

    Спасибо большое!



  • Пользователь @sergeyygr написал в Плагин MegaD:

    Пользователь @sergeyygr написал в Плагин MegaD:

    Пользователь @intrapro написал в Плагин MegaD:

    @sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил 😞 Здорово, что получилось!

    А интервал 1 сек нормально отрабатывает?

    Да, все хорошо.

    Спасибо большое!

    А можно в моем случае как-то корректировать значение кВт/час?



  • Пользователь @sergeyygr написал в Плагин MegaD:

    Спасибо большое!

    Да не за что. Извините за опечатку

    А можно в моем случае как-то корректировать значение кВт/час?

    Что имеете в виду?



  • Пользователь @intrapro написал в Плагин MegaD:

    Пользователь @sergeyygr написал в Плагин MegaD:

    Спасибо большое!

    Да не за что. Извините за опечатку

    А можно в моем случае как-то корректировать значение кВт/час?

    Что имеете в виду?

    Сейчас показания 3кВт/час, а надо установить 31кВт/час. Что бы показания совпадали со счетчиком на вводе.



  • Пользователь @sergeyygr написал в Плагин MegaD:

    Сейчас показания 3кВт/час, а надо установить 31кВт/час. Что бы показания совпадали со счетчиком на вводе.

    Можно просто добавить смещение в сценарии

    case 5:
    this.assign(kWh,"value", 28 + val/10 );
    return;
    

    Более универсально - добавить свойство устройству и редактировать его через интерфейс (правое меню устройства)

    const kWh = Device("PZEM_kWh", "Мощность накопленная ", [
      {"name":"offset", "note":"Базовое значение мощности", "type":"number", "val":28} ]);
    
    ...
    case 5:
    this.assign(kWh,"value", kWh.getParam("offset") + val/10 );
    
    


  • Пользователь @intrapro написал в Плагин MegaD:

    Пользователь @sergeyygr написал в Плагин MegaD:

    Сейчас показания 3кВт/час, а надо установить 31кВт/час. Что бы показания совпадали со счетчиком на вводе.

    Можно просто добавить смещение в сценарии

    case 5:
    this.assign(kWh,"value", 28 + val/10 );
    return;
    

    Более универсально - добавить свойство устройству и редактировать его через интерфейс (правое меню устройства)

    const kWh = Device("PZEM_kWh", "Мощность накопленная ", [
      {"name":"offset", "note":"Базовое значение мощности", "type":"number", "val":28} ]);
    
    ...
    case 5:
    this.assign(kWh,"value", kWh.getParam("offset") + val/10 );
    
    

    Второй вариант классный! Работает!



  • Пользователь @sergeyygr написал в Плагин MegaD:

    Пользователь @intrapro написал в Плагин MegaD:

    Пользователь @sergeyygr написал в Плагин MegaD:

    Сейчас показания 3кВт/час, а надо установить 31кВт/час. Что бы показания совпадали со счетчиком на вводе.

    Можно просто добавить смещение в сценарии

    case 5:
    this.assign(kWh,"value", 28 + val/10 );
    return;
    

    Более универсально - добавить свойство устройству и редактировать его через интерфейс (правое меню устройства)

    const kWh = Device("PZEM_kWh", "Мощность накопленная ", [
      {"name":"offset", "note":"Базовое значение мощности", "type":"number", "val":28} ]);
    
    ...
    case 5:
    this.assign(kWh,"value", kWh.getParam("offset") + val/10 );
    
    

    Второй вариант классный! Работает!

    Выглядит так:
    Снимок2.PNG



  • Подскажите как перевести показания АЦП порта меги в реальные показания, в плагине есть графа формула расчета но что то мне подсказывает что это не то.



  • This post is deleted!


  • Подскажите как применить формулу для расчета показаний АЦП меги вот формула (840-х/840-410)*100=у где х-показания АЦП а y-в данном случае влажность в % ?



  • Забыл 840 это 0% влажности 420 это 100% из показаний ацп.



  • @aleks-zonov, другой пользователь о подобном уже спрашивал.
    Ссылка на ab-log по расчету реального входного напряжения АЦП - тут
    Ссылка на пример формулы расчета входого значения плагина megad - тут



  • Пользователь @Alex_Jet написал в Плагин MegaD:

    @aleks-zonov, другой пользователь о подобном уже спрашивал.
    Ссылка на ab-log по расчету реального входного напряжения АЦП - тут
    Ссылка на пример формулы расчета входого значения плагина megad - тут

    На ab-log перечитал там все вдоль и поперек в php все работало у меня, а вот с формулой расчета как ее правильно вставить мучялся вчера весь день вроде что-то получилось надо бы как-то в блог выложить чтобы другим легче было.



  • @aleks-zonov, так что-то получилось или нет? В вашем случае "Формула расчета входного значения" должна выглядеть примерно так:

    ( ((840 - Number(value))/840) - 410 ) *100
    

    Проверить можете только вы, открыв отладчик плагина и посмотрев что приходит и что присваивается устройству.



  • Пользователь @Alex_Jet написал в Плагин MegaD:

    @aleks-zonov, так что-то получилось или нет? В вашем случае "Формула расчета входного значения" должна выглядеть примерно так:

    ( ((840 - Number(value))/840) - 410 ) *100
    

    Проверить можете только вы, открыв отладчик плагина и посмотрев что приходит и что присваивается устройству.

    Да получилось, формула так и выглядит, щас мне надо рассчитать формулу для датчика давления там не 0-100% а 0-4 бар.



  • @aleks-zonov, я делаю в лоб - из отчетов АЦП преобразование в напряжение (надо знать значение опорного напряжения АЦП) и умножаю на коэффициент приведения напряжение - ед.изм. параметра. Например для аналогового датчика давления у меня получилась вот такая формула (скорее эмпирическая, нежели чем даташитная, но с давлением в MPa на манометре совпадает)

    ((value * 3.47/1024) - 0.5) * 2.8
    

    При всем при этом для АЦП не просто лучше, а крайне необходимо отбрасывать "бракованные" значения и усреднять оставшиеся. Поэтому надо использовать "Функция обработки значения" с простейшим скриптом:

    function (val, depo)
    {  var result;
       var avr;
       
       if (!depo.res) depo.res = [];
       depo.res.push(val);
       
       //Нужны еще измерения, значение не возвращаем
       if (depo.res.length < 5) return;
       //Иначе сортируем и усредняем "средние" значения
       else{
          depo.res.sort();
          avr = ((depo.res[1] + depo.res[2] + depo.res[3]) / 3).toFixed(2);
       }
       
       result = (((avr * 3.47/1024) - 0.5) * 2.8).toFixed(2);
       
       depo.res = []; //Перед следующими измерениями сбрасываем массив
       return result; //Возвращаем значение
    }
    


  • @Alex_Jet
    Спасибо попробую, теперь думаю точно разберусь.



  • @aleks-zonov, расскажите общественности что за датчики вы применяете совместно с MegaD?


Log in to reply