(прогнал ваш код через http://jsbeautifier.org/, чтобы выглядел не страшно, нажал “форматированный текст” в редакторе поста - делайте пожалуйста так же)
Я, честно говоря, не очень понял, где именно у вас вопрос. К чему относится “что не так”?
Насколько медленно? Для какой задачи не хватает?
Частота опроса устройств по Modbus зависит собственно от количества устройств на линии. Опрашиваются они на максимальной возможной скорости, так что простого способа увеличить частоту опроса нет.
Можно убрать из опроса неиспользуемые вами параметры, но это делается сложно.
Скорее всего, то, что у вас возник такой вопрос, говорит о том, что вы что-то делаете неправильно. Поэтому пожалуйста подробно расскажите про задачу и про то, каким образом вам помешала скорость опроса - что-нибудь придумаем.
Добрый вечер
датчики включают свет на заданное время
самое главное при изменении (размыкании контакта относительно GND) скорость включения реле
Ocelot делал это мгновенно (программа выглядела так)
if timer# 0 is = 0
if module# 1 / point# 0 turns off
then module# 2 / point# 13 turns on
then timer# 0 is = 1
if timer# 0 becomes = 90
then module# 2 / point# 13 turns off
then timer# 0 is = 0
и таких фрагментов он крутит 50 за 1 сек ( нам надо 8)
срабатывает вход во время опроса модуля mr11 (опрашивает wb их по очереди)
еще кажется что таймеры зависают (иногда реле не выключается)
думаю что контроллер на Z-88 разработанный в 1970 , должен быть медленней
поэтому что то не так
Ну как я сказал, с самим опросом ничего сделать нельзя в принципе: так Modbus устроен.
Можно убрать счётные каналы и неиспользуемые каналы из опроса, но это ускорит максимум в два раза.
Ещё теоретически можно поднять скорость работы Modbus с 9600 до 115200 например. Текущие прошивки наших периферийных устройств это пока за ненадобностью не поддерживают, но делается относительно несложно.
Самое простое решение, если нужно мгновенное срабатывание входов: использовать WB5 и модули ввода-вывода.
добрый вечер , смонтирую на wb-4 потом заменю на 5-й
поставим модуль 16-входов в контроллер и реле рядом
может не будет тормозить (после праздников попробуем вместе с макетом)
программирую siemens BACnet (климат) здорово бы было к датчику WB-MS-THLS
сделать дисплей c кнопками , как у siemens , закрывать можно кучу проектов по климату
(панель siemens QMX3.P34)
Кстати да, мезонинный модуль на 16 входов работать должен мгновенно. Для WB4 это хорошее решение.
В качестве панели без контроллера можно использовать планшет+iRidium (он стоит больше контроллера правда), ещё можно посмотреть HMI-панели от ICP-DAS - они вроде умеют Modbus. У ICP-DAS правда как-то грустно с наличием в России было, когда я последний раз узнавал. Может быть сейчас лучше.
1) Обновите ядро (linux-image)
2) Модули обязательно подключать при выключенном контроллере
3) В конфиг wb-homa-gpio через /etc/wb-homa-gpio.conf или через веб-интерфейс нужно добавить следующее:
GPIO 160-167 для выходов 1-8 первого к контроллеру по счёту модуля
GPIO 168-175 для выходов 1-8 второго к контроллеру по счёту модуля
не забудьте им проставить type: output.
От себя добавлю, что порядок подключения модулей следует сохранять в дальнейшем. Фрагмент моего конфига:
Для модулей входов (например модуля DI) нумерация:
GPIO 192-199 для входов 1-8 первого к контроллеру по счёту модуля входов
GPIO 200-207 для входов 1-8 второго к контроллеру по счёту модуля входов
и т.д.
Итого, если вы подключаете модуль DI и модуль DO-HS, то выходы - это
160-167, входы - 192-199
Сейчас никак. Это нужно новый тип виджета для роллет добавить, но он по-моему от on-off отличаться должен не только текстом. Тут нужно подумать, как лучше сделать.
У вас там физически как подключено? Привод роллет всегда включен, реле переключает направление, а останавливается двигатель автоматически концевиками?
Ещё сложный вариант - сделать виртаульное устройство с двумя switch,запрограммиравать логику, чтобы по нажатию на первую кнопку что-то включалось, на вторую - выключалось. И вытащить кнопки как два разных виджета.
Добрый вечер
первое реле включает вверх (кнопка-1)
второе реле включает вниз (кнопка-2)
и так далее
Evika накладывала один виджет на другой (эмитируя 2-ю кнопку)
можно конечно написать вверх ролета-1 (on-off)
и вниз ролета-1 (on-off)
работать будет , но некрасиво
Ага. Так то есть виджет должен иметь переключатель с тремя состояниями: роллета едет вверх, роллета едет вниз и роллета никуда не едет.
Состояния реле: 0 1, 1 0 и 0 0 соответственно.
да все так , и таймер считает до 30сек условно чтоб не перегружать концевик
модуль 14-реле мне подойдет для 7-ми ролет , виджет хотелось бы
но если сложно (все равно линейку придется расширять ролеты , кондиционеры , вентиляция и т.д.)
программирую siemens у него из модуля можно делать что угодно , BACnet собирает кучу контроллеров в единое целое
получается 120-апартаментов в Москве , все как на ладони здорово , правда очень дорого