А по подробнее нельзя? Это домофон но он в другой подсети... Как его грамотно прикрутить?Aven писал(а): ↑Сб май 19, 2018 7:11 pmНу он же выдает ошибку ILLEGAL DATA ADDRESS, значит неверный адрес регистра задан, устройство это и сообщает.Sapizdullin писал(а): ↑Сб май 19, 2018 1:29 pmГоспода! Решил прикрутить железяку по ModbusTCP к МД. Итог ниже:
Куда копать?
[Модуль] ModBus (modbus)
Модератор: immortal
- Sapizdullin
- Сообщения: 408
- Зарегистрирован: Сб фев 18, 2017 9:47 am
- Откуда: Земля
- Благодарил (а): 54 раза
- Поблагодарили: 61 раз
Re: модуль modbus
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.
-
- Сообщения: 84
- Зарегистрирован: Вт мар 08, 2016 4:57 pm
- Благодарил (а): 17 раз
- Поблагодарили: 2 раза
Re: модуль modbus
Подключил по способу Geban: https://majordomo.smartliving.ru/forum/ ... 775#p63775 такую приблуду
https://ru.aliexpress.com/item/5-65-A-2 ... 65998.html
Все работает отлично. Единственный вопрос по конвертации данных. Устройство выдает, например, напряжение в виде: 2278,0. Можно ли его сохранить в свойства в нормальном виде, т.е. /10 (227,8)? Или как? Обрабатывать методом после изменения?
https://ru.aliexpress.com/item/5-65-A-2 ... 65998.html
Все работает отлично. Единственный вопрос по конвертации данных. Устройство выдает, например, напряжение в виде: 2278,0. Можно ли его сохранить в свойства в нормальном виде, т.е. /10 (227,8)? Или как? Обрабатывать методом после изменения?
-
- Сообщения: 529
- Зарегистрирован: Сб мар 12, 2016 6:33 pm
- Откуда: Ухта, Россия
- Благодарил (а): 3 раза
- Поблагодарили: 154 раза
Re: модуль modbus
А что подробнее? Номера регистров вы откуда берете? Сверьтесь с документацией.Sapizdullin писал(а): ↑Вс май 20, 2018 10:02 amА по подробнее нельзя? Это домофон но он в другой подсети... Как его грамотно прикрутить?Aven писал(а): ↑Сб май 19, 2018 7:11 pmНу он же выдает ошибку ILLEGAL DATA ADDRESS, значит неверный адрес регистра задан, устройство это и сообщает.Sapizdullin писал(а): ↑Сб май 19, 2018 1:29 pmГоспода! Решил прикрутить железяку по ModbusTCP к МД. Итог ниже:
Куда копать?
Скачайте Modbus TCP програмку которой можно проверить работу устройства, добейтесь, что через нее получаете данные, а потом уже интегрируйте в систему.
- За это сообщение автора Aven поблагодарил:
- Sapizdullin (Вс май 20, 2018 6:10 pm)
- Рейтинг: 1.16%
-
- Сообщения: 529
- Зарегистрирован: Сб мар 12, 2016 6:33 pm
- Откуда: Ухта, Россия
- Благодарил (а): 3 раза
- Поблагодарили: 154 раза
Re: модуль modbus
Модуль не умеет модификацию данных. Поэтому вешайте обработчик на прилинкованное свойство и конвертируйте как нужно.
- За это сообщение автора Aven поблагодарили (всего 3):
- kenin (Вс май 20, 2018 4:22 pm) • shefus (Вс май 20, 2018 4:25 pm) • Sapizdullin (Вс май 20, 2018 6:10 pm)
- Рейтинг: 3.49%
- Sapizdullin
- Сообщения: 408
- Зарегистрирован: Сб фев 18, 2017 9:47 am
- Откуда: Земля
- Благодарил (а): 54 раза
- Поблагодарили: 61 раз
Re: модуль modbus
Спасибо за подсказку - заодно хоть разобрался что это за поделка человеческая. Все заработало!
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.
Re: модуль modbus
Добрый вечер!
Возник вопрос по работе модуля modbus. В модуле настроил два запроса: один на чтение одного регистра с периодом 4 секунды, и второй запись одного регистра с периодом 10000. Если цикл modbus остановлен, и управлять запросами вручную - все замечательно работает, но если запускаем цикл, то данные читаются, а запись не проходит с выдачей ошибки Connection refused. Как я понимаю это происходит из за того, что порт занят операцией чтения, а в это время модуль пытается выполнить запись и запрос откидывается. Если увеличить время чтения (например до 10 секунд) ситуация заметно улучшается, но часть запросов записи все равно теряется.
Есть ли возможность как то разграничить запросы чтения записи? В принципе самый лучший вариант был бы если бы они выполнялись последовательно по факту завершения выполнения друг друга.
Заранее спасибо за помощь!
Возник вопрос по работе модуля modbus. В модуле настроил два запроса: один на чтение одного регистра с периодом 4 секунды, и второй запись одного регистра с периодом 10000. Если цикл modbus остановлен, и управлять запросами вручную - все замечательно работает, но если запускаем цикл, то данные читаются, а запись не проходит с выдачей ошибки Connection refused. Как я понимаю это происходит из за того, что порт занят операцией чтения, а в это время модуль пытается выполнить запись и запрос откидывается. Если увеличить время чтения (например до 10 секунд) ситуация заметно улучшается, но часть запросов записи все равно теряется.
Есть ли возможность как то разграничить запросы чтения записи? В принципе самый лучший вариант был бы если бы они выполнялись последовательно по факту завершения выполнения друг друга.
Заранее спасибо за помощь!
-
- Сообщения: 23
- Зарегистрирован: Чт янв 03, 2019 7:42 pm
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: [Модуль] ModBus (modbus)
Добрый день.
Вопрос про запись регистров по модбас.
У модуля поле "Проверять каждые (sec):" обязательное.
И если выбрать функцию записи, то МД пишет одно и то же значение в регистр с указанным интервалом.
Как отключить (нужно чтобы записывалось только при изменении, а то перезаписывает изменения, сделанные непосредственно на контроллере)?
И есть ли возможность вызвать из кода обновления значения не в цикле, а по запросу (как кнопка "обновить" напротив каждого устройства модбас в списке модуля)?
Вопрос про запись регистров по модбас.
У модуля поле "Проверять каждые (sec):" обязательное.
И если выбрать функцию записи, то МД пишет одно и то же значение в регистр с указанным интервалом.
Как отключить (нужно чтобы записывалось только при изменении, а то перезаписывает изменения, сделанные непосредственно на контроллере)?
И есть ли возможность вызвать из кода обновления значения не в цикле, а по запросу (как кнопка "обновить" напротив каждого устройства модбас в списке модуля)?
-
- Сообщения: 23
- Зарегистрирован: Чт янв 03, 2019 7:42 pm
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: [Модуль] ModBus (modbus)
А этот модуль еще поддерживается? Не нашел его на коннекте.
У меня с ним следующая ситуация.
Контроллер отопления имеет рекомендации от производителя не закрывать TCP соединение и считывать/записывать все регистры по одному, но в рамках одного общего никогда не закрываемого TCP соединения.
А модуль ModBus на каждый запрос создает отдельное TCP соединение. Это приводит к ошибкам, вплоть до остановки цикла модбас.
Есть потребность в доработке модуля в части работы с сетью.
Я это вижу примерно так.
Сейчас "устройство модбас" - это одна операция с регистром или диапазоном регистров на одном IP. Разные "устройства модбас" могут обращаться к одному IP, или к разным - все они попадают в один цикл.
Их бы сгруппировать. Например, ввести описание устройства (его название, IP и порт), и к нему уже привязывать операции. Тогда в списке будут разные устройства со списком операций с его регистрами, привязанными к устройству.
Тогда по каждому устройству можно запускать свой цикл операций, не закрывая TCP соединения. Про TCP соединение можно в описании устройства (где вводится IP и порт) сделать кнопку "коннект", и галочку "не разрывать соединения". По аналогии с Simply Modbus TCP Client, где соединение устанавливается одно на всю сессию работы клиента.
Идея оформлена на конекте - https://connect.smartliving.ru/ideas/490.html
Поддерживайте!
У меня с ним следующая ситуация.
Контроллер отопления имеет рекомендации от производителя не закрывать TCP соединение и считывать/записывать все регистры по одному, но в рамках одного общего никогда не закрываемого TCP соединения.
А модуль ModBus на каждый запрос создает отдельное TCP соединение. Это приводит к ошибкам, вплоть до остановки цикла модбас.
Есть потребность в доработке модуля в части работы с сетью.
Я это вижу примерно так.
Сейчас "устройство модбас" - это одна операция с регистром или диапазоном регистров на одном IP. Разные "устройства модбас" могут обращаться к одному IP, или к разным - все они попадают в один цикл.
Их бы сгруппировать. Например, ввести описание устройства (его название, IP и порт), и к нему уже привязывать операции. Тогда в списке будут разные устройства со списком операций с его регистрами, привязанными к устройству.
Тогда по каждому устройству можно запускать свой цикл операций, не закрывая TCP соединения. Про TCP соединение можно в описании устройства (где вводится IP и порт) сделать кнопку "коннект", и галочку "не разрывать соединения". По аналогии с Simply Modbus TCP Client, где соединение устанавливается одно на всю сессию работы клиента.
Идея оформлена на конекте - https://connect.smartliving.ru/ideas/490.html
Поддерживайте!
-
- Сообщения: 65
- Зарегистрирован: Вт фев 17, 2015 8:40 pm
- Благодарил (а): 19 раз
- Поблагодарили: 2 раза
Re: [Модуль] ModBus (modbus)
Добрый день с недавних пор начались проблемы с модулем модбас. Ситуация следующая запрашиваемые регистры обновляются только по кнопке обновить ... хотя в настройка стоит обновлять каждые 30 секунд . В чем может быть проблема ?
-
- Сообщения: 65
- Зарегистрирован: Вт фев 17, 2015 8:40 pm
- Благодарил (а): 19 раз
- Поблагодарили: 2 раза