Здравствуйте, а можно у вас попросить написать шаблон для устройства, просто я не могу его написать из-за его адресов. У него разные регистры для записи и чтения. Если у вас есть такая услуга, хотел бы воспользоваться. Устройство называется Hisense HCPC-H2M1C. Документы по его документации и адресам есть. Могу приложить, если надо
Добрый день.
У нас услуги написания - нет. Но если устройство интересное и распространенное - то можем помочь.
Вот write_address подробно описано.
На счет распространенного не знаю))
Это кондиционер с поддержкой модбаса. Подключен он по tcp и я уже написал шаблон, но не понятно себя ведет. Например, по температуре выставлено ограничение максимальной температуры в 30 градусов, если не ошибаюсь, а если изменить его в интерфейсе ( например поставить 25), то через некоторое время в этом поле будет 255.
Читал про это, это связано с форматом поля, поставил u16, но все равно ставит 255. Если можете, помогите, пожалуйста
Кстати про распространенность, на форуме пытался найти, может кто писал, 2 человека минимум писали про этот кондиционер))
Покажите пожалуйста состояние регистра, изменяемое и читаемое с помощью modbus_client.
Это уже не нужно, просто подскажите одну вещь, не совсем понимаю. Вот есть ваш ответ на тему Интеграция усиройсва управления кондиционерами Hisense HCPC-H2M1C
Там вы дали ссылку на Протокол Modbus — Wiren Board. Вот хотел бы точно уточнить и желательно с примером (если можно, пожалуйста). Возьмем регистр 40002 из таблицы
Книга3.xlsx (570,6 КБ)
Как мне его перевести в нормальный вид?
Судя по адресу (начинается с 4, длиной в 5 цифр) - это holding с адресом 0x02.
В нем значимые биты 0…3, представляют три контрола.
- бит 0 - дискретный;
- биты 1-2 - value;
- бит 3 - дискретный.
Тут единственное что вызывает сомнения - это описанные выше 4996…4099.
Чтобы в одном документе использовались сразу два стиля описания - довольно редко. Так что только пробовать читать чтобы убедиться.
С этим разобрался. Он принимает 16-теричную систему счисления. То есть адрес 40002 это 9С42 и если записать его в правильном формате, то получится:
0x9C42 и есть ответ от модуля. Ещё я все-таки не совсем понимаю, что с уставкой происходит)) Если ставить режим работы какой-либо или скорость, то уставка “становится активной” и она не будет ставить 255 (кстати, 255 в этом модуле - это значит, что не установлено значение). Причем, если долго не ставить уставку - он опять перейдет в значение 255. Ну в общем это уже работа модуля такая. Поэтому спасибо!