Всем доброго дня. Столкнулся с проблемой как время опроса оборудования. Это не актуально при малом кол-ве устройств, а при большом кол-ве очень заметно даже на 11 устройствах. У меня в системе автоматизации умным домам 74 устройства RS-485. Мне пришлось отдельно поставить ПЛК на освещение домом.
Ваши устройства не поддерживают “битовую маску”. Это то когда ты стучишься в один holding регистр и за один запрос забираешь число типа integer или float. А уже ПЛК разбирает это число на отдельные биты, которые соответствуют значению входов или выходов. Один holding регистр состоит из двух байт, то есть 16 бит. Получаем что можно зашифровать 16 дискретных входов/выходов в одном holding регистре. Соответственно не 16 раз обращаться к устройству а всего один.
При запросе 1 coil регистра передаётся очень много служебной информации (это устройство modbus rtu) в итоге полезная информация занимает 5-10% не более
Даже если модуль например на 6 выходов, уже скорость увеличится в 4-5 раз.
А если 6 входов и 6 выходов будет быстрее в 9-10 раз.
Разработчики исправьте эту недоработку и вашим модулям “цены” не будет.
Да еще … забыл. когда будут релейные силовые модули с гальванической развязкой - это же так просто, при коротком замыкании могут все модули выйти из строя.
Удачи Вашему бизнесу.
Добрый день.
Дело в том что и coil точно так же читаются одной командой, передается по 8 coil в байте. Если читать 8 coil - то запрос получается даже на байт короче чем регистр.
Вот пример, читаю 4 coil с адреса 5301
[62][01][14][B5][00][04][20][4C]
<62><01><01><00><4F><CC>
#Вот 24 coil c того ж адреса:
[62][01][14][B5][00][18][21][85]
<62><01><03><00><00><00><35><DD>
Зачем пытаться упаковать койлы в регистры? Все уже предусмотрено стандартом и работает.
Развязка между чем и чем? Между интерфейсной и силовой чатью - она есть у всех именно релейных модулей. Ну и развязка между интерфейсной частью и входами - тоже.