Плагин Modbus



  • Всем спасибо. Разобрался сам.



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

    Всем спасибо. Разобрался сам.

    Поделитесь. В чем была проблема?



  • @intrahouse проблема была в команде. Данному релейному модулю из поднебесной нужна команда 0x0100 на включение и 0x0200 на отключение и адресация в dex формате. Но так как я вообще не программист, а электромонтажник я этого не знал и вообще далек от этого. В связи с этим мне потребовалось 2 дня, чтобы это изучить и вникнуть, параллельно с mqtt воевал. Только ещё до конца mqtt не победил, в другой ветке форума задал вопрос (состояние на схеме не меняется). Как-то так.![0_1598302198062_15983021691365734504111748559465.jpg](Загрузка 88%)-1146610533-140707427.jpg



  • Добрый день, у меня проблема с рекуператором, в режиме bool (чтение), значение 1- вкл. IH принимает а 0- когда компрессор выключен то передает "-".



  • Возможно ли из сценария редактировать список каналов в плагине ?
    Например, при ошибке какого либо датчика исключать его из списка (или приостанавливать опрос).



  • @fanagor, есть вариант легче. Я делаю так:

    const dt_ext = Device("SensorA", "Датчик уличной температуры");
    const dt_ext_rez  = Device("SensorA", "Датчик уличной температуры (резервный)");
    
    script({
        sensor_ext: '',
        
        check() {      
          //Проверка работоспособности датчика уличной температуры
          //При его неисправности - работаем по резервному датчику
          if(!dt_ext.isError()) this.sensor_ext = dt_ext;
          else this.sensor_ext = dt_ext_rez;
          
          //Проверка основных условий
        },
    

    В основной программе к sensor_ext обращаемся как к обычному датчику:

    //Если температура на улице меньше уставки
        if(this.sensor_ext.value < this.sensor_ext.setpoint) {
        }
    


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

    Возможно ли из сценария редактировать список каналов в плагине ?
    Например, при ошибке какого либо датчика исключать его из списка (или приостанавливать опрос).

    В версии Cherry такой возможности нет. В V5, думаю, получится добавить такой функционал.

    @Alex_Jet , вероятно, нужно решить проблему тормозов при опросе по последовательному интерфейсу (Modbus RTU). Если датчик не отвечает, переход к опросу следующего канала происходит через таймаут, и так в каждом цикле.



  • Это сообщение удалено!


  • Подскажите пожалуйста, как можно вывести окно для ввода команд устройству рядом с самим устройством , куда можно оперативно прописать команды ( например смена адреса устройства и т.п )



  • Как получить удобоваримое число?
    Снимок1234.PNG



  • @alekscrow
    Вероятно, ваш девайс использует другой порядок байт для Float, по умолчанию идет Big-Endian, swap B1B2B3B4 => B3B4B1B2

    Для изменения порядка на вкладке Параметры плагина поставьте галочку Настроить порядок байт. Внизу откроется список для настройки. Нужно изменить Порядок байтов для 4-байтовых значений.
    Начните с первого варианта Big-Endian, B1B2B3B4 => B1B2B3B4. После сохранения параметров нужно перезагрузить плагин.

    2022-01-22 11.22.24.jpg


Авторизуйтесь, чтобы ответить