Здравствуйте всем)Прошу помощи. Есть задача, создать систему ротации кондиционирования на основе wirenboard 6 и CCM33(автоматическое устройство кондиционирования). Никак не могу хотя бы получить сигнал с ССМ на wiren. Скрипт перебора пробовал, менял адрес устройства. Подключение через RS485, CCM поддерживает modbus RTU. Буду благодарен за любой совет с чего начать.
Здравствуйте!
Для подключения сторонних устройств у нас есть небольшая памятка:
https://wirenboard.com/wiki/WB_FAQ/thirdparty-modbus-devices-conection
Сначала еще раз убедитесь, что физическое выполнено сделано корректно. Потом выставьте одинаковые настройки обмена на устройстве и в контроллере. Попытайтесь считать один из регистров модуля утилитой modbus_client. Если не получится, то попробуйте выполнить поиск устройства, например, утилитой wb-mb-explorer (ее нужно дополнительно установить и запускать из консоли контроллера).
Спасиб большое, связь установил) Помогите, пожалуйста с шаблоном, подскажите в какую сторону идти, не понимаю значения данных из инструкции к контроллеру. Инструкцию по обмену данными CCM33 прилагаю, может быть кто нибудь что нибудь подскажет, заранее спасибо)obmen_ccm33.pdf (403.2 КБ)
Информация по созданию шаблонов есть здесь:
Несложный пример для шаблона стороннего устройства можно посмотреть здесь:
Например для регистра температуры температуры помещения 0070H устройства CCM33 канал будет выглядеть так:
{
"name": "Indoor temperature",
"reg_type": "input",
"address": "0x70",
"type": "value",
"format": "s16",
"scale": 0.0039,
"round_to": 0.001,
"units": "deg C",
},
Попробуйте сами сделать по образцу. Если будут трудности, то постараемся помочь.
Большое спасибо) Прописал шаблон, но хотя бы данные о температуре в помещении не выводятся.
ccm33rotation.json (686 Байт)serial_log (20 КБ)
Здравствуйте) появился коннект и опять пропал. Сделал все по инструкции, адрес установил, baud rate 115200. Через wb-explorer, устройство отображалось, через modbus_client - нет. Сейчас ни там ни там устройства нет.
В физическом подключении нет ошибок/проблем: замыкания или обрыва проводов, провода А и В не перепутаны?
Попробуйте вернуть настройки обмена устройства к рабочим. Я так понимаю, что до их изменения в устройстве связь была?
Связь установил, шаблон работает в ручном режиме CCM33, все данные считываются, а когда устройство переходит в автоматический режим передача данных останавливается.
Вы имеете в виду, что передача останавливается, когда устройство CCM33 переводится в автоматический режим?
Если да, то, думаю, тут дело в особенностях работы модуля CCM33. Параметр 14 выставляете в EN?
Возможно, стоит уточнить эту особенность у разработчиков модуля.
разработчик модуля ответил, что в момент управления кондиционерами шина отваливается, то есть в автоматическом режим нужно постоянно делать перезапрос данных с wirenboard. Как это реализовать, я не понимаю:D
То есть модуль и не должен отвечать на запросы по modbus в автоматическом режиме?
Вот эта формулировка не понятна. Контроллер постоянно пытается опрашивать модуль.
Все-таки попробуйте сделать опрос реже, например, раз в 3 секунды:
как я понял, ссм33 в автоматическом режиме отключает шину, когда начинает управлять кондиционерами. Физическое подключение теряется. Помогает только перезагрузка wirenboard, но как только ссм33 снова начнет автоматически управлять, снова связь оборвется.
Если устройство не отвечает, то контроллер не перестает его опрашивать, но делает это реже. После появления устройства в сети (включения) опрос должен быть автоматически возобновлен. Предполагаю, что тут дело не в контроллере.
А само устройство не перезагружаете? Оно питается непосредственно от блока питания или от контроллера?
Понижение опроса помогло)все работает) а вы можете посмотреть мой шаблон? у меня не работает управление с контроллером с самого wirenbord. Хотя прописано все вроде правильно.
Не понял вопрос. Объясните, пожалуйста, подробнее.
Присылайте - посмотрим.
config-ccm33.json (5.8 КБ)
Есть возможность считать 4 дискретных регистра ручного управления: управление режимом работы модуля ссм33, вкл/выкл кондиционеров. Я прописал в шаблоне эти регистры, но управления никакого нет, каналы красным в веб интерфейсе горят.
Для опроса дискретных регистров чтения/записи (coils) нужно использовать функцию 01
В шаблоне нужно указать тип регистра “coil” вместо “holding”:
{
"name": "manual_auto",
"reg_type": "coil",
"address": "0x60",
"type":"switch",
"group": "control"
},
все решилось, все работает, но в какой то момент связь обрывается. Может ошибка в задержках. Вот лог момента, где устройство в ошибку уходит. Может подскажете что нибудь, хотя бы направление)лог.txt (33.9 КБ)
По логу видно, что устройство в какой-то момент перестает передавать данные.
Проверьте, что подключение выполнено согласно нашим рекомендациям: RS-485:Физическое подключение — Wiren Board, нет обрывов и замыканий проводов, провода надежно зажаты в клеммниках.
Попробуйте увеличить параметр задержки перед записью в порт до 5000. Если не поможет, то попробуйте значение 10000 или еще больше. Это иногда помогает при работе с некоторыми сторонними устройствами.
"guard_interval_us": 5000,
Физическое подключение корректное. В ручном режиме ссм33 никаких ошибок не возникает. Связь теряется притакой последовательности: из режима авто вышли в ручной, из ручного в авто и связь обрывается. Если есть возможность проверить шаблон и настройку на платной основе, то рассмотрим и такой вариант.