+1
На рассмотрении

iRidium для Modbus

Алексей Рябошапко 12 лет назад в Tips and Tricks обновлен Aleksandr Romanov (CTO) 7 лет назад 4
Оборудование Modbus ТСP
Тип Feedback: Input Register
Можно ли в 16-ти битах передавать 16 дискретных сигналов?
Существуют инструменты для расшифровки значений каждого из 16бит?
Например, от оборудования получено значение Input Register - число 3. В двоичной системе это число будет выглядить как 0011.  Таким образом первый и второй биты имеют лог. 1.           
Вопрос состоит в том, можно ли состояние  графического элемента привязывать к отдельному биту а не к значению регистра.
Здравствуйте!
Это возможно сделать с помощью скриптов.



IR.AddListener(IR.EVENT_TAG_CHANGE,IR.GetDevice("ModBus TCP"),function(item,value)//Активация слушателя, который сработает когда на модбасе изменится любой тэг
{
  if(item == "ModBus Command 1")//проверяем имя изменившегося тега
  {
      IR.Log(value.toString()+ " (10)");//Выводим в консоль новое значение тега в десятичном представлении
      IR.Log(value.toString(2) + " (2)");//Выводим в консоль новое значение тега в двоичном представлении


      var NewValue = parseInt(value.toString());//Преобразуем значение тега в число
      var somebit = (NewValue >> 1) & 0x1;//смещаем значение на 1 бит и накладываем битовую маску


      IR.Log("somebit = " + somebit);//Выводим полученное значение в консоль
  }
});


В вашем случае вместо вывода значений в лог нужно будет выводить значение в Value графического элемента:
[font=consolas]IR.GetItem([font=consolas]"Имя страницы"[font=consolas]).GetItem([font=consolas]"Имя Элемента"[font=consolas]).Value = somebit;


Описание всех скриптовых функций вы найдете здесь.


С уважением,
Смирнов С.
Как настроить связь между Iridium и WAGO по Modbus? Пробовал делать Iridium - мастер, WAGO - слэйв, но значения не те показывает, сделал 5 регистров и записал в них значения, показывают только первые 2, 1-ый постоянно скачит, второй показывает 3072. Делал наоборот  Iridium - слэйв, WAGO - мастер, показывает нули, хотя в ваги пишет что произошло подключение как здесь, так и в первом случае. Контроллер WAGO 750-881
Скорее всего у вас проблемы в настройках контроллера.

Можете попробовать обратиться за помощью к Дмитрию Королеву (dmkor@bk.ru), правда он работает с ОВЕН.
На рассмотрении
Последние версии скриптов, позваоляющих отобразить, а так же записать/отобразить состояние отдельных битов 16- или 32-битного регистра. Обновление скриптов будет производитсья в отдельной теме форума.

separate bits - read.irpz
separate bits - rw.irpz

Сервис поддержки клиентов работает на платформе UserEcho