Настройка WB-MIR V3 для ОВЕН ОРС

Здравствуйте!

Произвожу подключение прибора WB-MIR V3 к ОВЕН ОРС для дальнейшего использования со SCADA. Столкнулся с рядом проблем:

1. При попытке считывания регистров отвечающие за запись каналов ( по адресу с 5300 до 5309) устройство возвращает ошибку доступа (Код:2-Указанный адрес недоступен). Настройки для работы с регистром следующие: Тип данных - Boolean, Регион - Coils, Функция чтения 0х01, Функция записи 0x0F. Чтение адресов с 5300 по 5309. OPC сервер в режиме чтения отмечает качество каналов как Good.

2.Далее, если в проект OPC сервера добавить еще и опрос отвечающих за воспроизведение ( 5100-5109), то ОРС сервер выдает ошибку bad waiting for initial data для всех Coils регистров: и для воспроизведения и для записи. По отдельности сервер помечает как Good.

С чтением параметров подключения или регистров отвечающих за размер данных проблем нет. У меня сложилось впечатление, что в статье по конфигурированию прибора закралась либо ошибка, либо неточность.

Характеристики прибора:
Addr:17;

HW:v3.4D

FW:4.33.0

380334

Добрый день.

Для интеграции WB-MIR со сторонними Modbus-мастерами (в том числе с контроллерами ОВЕН) рекомендуем использовать не coil-регистры 5100+i/5300+i, а специально добавленные для этого holding-регистры контекстного вызова — они доступны на вашей прошивке (4.33.0, минимальная версия для них — 4.18.0):

  • 5500 — воспроизведение сигнала: запишите номер банка + 1

  • 5501 — редактирование сигнала (ROM → RAM)

  • 5502 — запись банка с ИК-приёмника (Learn): запишите номер банка + 1

Тип данных — Int16 (не Boolean), регион — Holding Registers, функция чтения 0x03, запись — 0x06 (или 0x10). Во время выполнения операции регистр возвращает номер активного банка и сбрасывается в 0 после завершения; чтобы завершить запись/редактирование раньше — запишите 0.

Подробнее: https://wiki.wirenboard.com/wiki/WB-MSx_Consumer_IR_Manual#Работа_с_сигналами_через_holding_регистры

Такая схема требует опроса всего трёх одиночных регистров вместо массивов coils, поэтому она надёжнее работает со сторонними OPC/SCADA-серверами — именно с ней подобная связка ОВЕН + WB-MIR v.3 уже отрабатывала штатно.

Проверьте, пожалуйста, и напишите, ушли ли обе ошибки после перехода на holding-регистры.

Ага, понял, спасибо!

Ну вот оно опять и странно- на вики про это явно не указано - что со сторонними устройствами предпочтительнее использовать Holding. Да и вся документация именно для ИК ни к черту. Половина карты регистров в одной статье и куца, вторая нормальная но в другой статье.

Использовать можно и coil, вполне.

Покажите пожалуйста запрос и ответ, байты.

Кирил, спасибо, что указали на недостатки документации. Я займусь ее улучшением. Вы пробовали работать с регистрами хранения?

Да, с Holding регистрами все нормально получилось.

ПО поводу ответа устройсва в ОВЕН ОРС- уже не подскажу, так как удалил всю конфигу когда настраивал через регистры хранения.

Но, из неприятного при сохранении всех нужных сигналов и попытке изменить частоты скорость опроса на 115200 приборчик издох и пришлось перепрошивать через веб загрузчик с танцами и бубном (два раза отвалился при прошивке и никак не хотел стартовать после прошивки).

Короче, с этой проблемой то я разобрался, но вот общее впечатление от блоков (ИК и аналогово ввода) крайне негативно (заказывал под два проекта на много деняг).

Вспомните, пожалуйста

  1. Какая версия загрузчика у устройства?
  2. Каким инструментом прошивали — веб-конфигуратор WASM Device Editor, или другое?
  3. Прошивали на скорости 115200, или сначала вернули на стандартную (9600)?

Ну, вот что было:
Addr:17;

HW:v3.4D

FW:4.33.0

380334

при попытке изменения скорости, прибор издох. Но, перед эти скорость он успел поменять на 115200. Следовательно, я прошивал на 115200 с сайте. Использовал веб конфигуратор https://deveditor.wirenboard.com/
Прошился не с первого раза. при скачивании и видимо в момент перезагрузки все ломалось, замечу что это у ваших приборов стандартный косяк видимо, потому как для AI блока было тоже самое: скачал прошивку, но перезагрузиться уже не смог и все повторялось по кругу.

Не могли бы вы также посмотреть версию загрузчика устройства? Обратите внимание: HW и FW, которые вы указали — это версия платы и версия прошивки, а версия загрузчика — отдельная, третья величина. Её не печатают на этикетке и не показывают в обычном веб-интерфейсе устройства — считать её можно только отдельным запросом по Modbus: 8 holding-регистров начиная с адреса 330 (функция 0x03).

Если считываете с контроллера Wiren Board, перед этим остановите wb-mqtt-serial, чтобы он не занимал порт:

service wb-mqtt-serial stop
modbus_client -mrtu -pnone -s2 -b9600 /dev/ttyRS485-1 -a17 -t0x03 -r330 -c8
service wb-mqtt-serial start

Получилось посмотреть?

Тыкс по поводу посмотреть- пока руки не дошли. Да и откровенно говоря не вижу смысл разбираться с вашими модулями. Выводы сделаны- продукт сырой.

С модулем аналогово ввода такая же проблема- кое как обновился на другую версию с таким же косяками- при прошивке теряется, заново не стартует, кое как определяется через веб интерфейс.

Теперь не знаю какому богу свечку ставить, чтобы ваши модули хоть как то отработали год без сбоев в другом проекте.

Обновление через веб-конфигуратор идёт на той скорости, которая уже стоит в устройстве — поэтому смена скорости на 115200 и прошивка/сохранение почти одним действием — рискованная комбинация, именно так модуль и «падает». Разнесите эти два шага: сначала смените скорость и проверьте, что модуль отвечает, потом отдельно обновляйте прошивку.

Если модуль зависнет в загрузчике — не нужно ничего прошивать вручную: в конфигураторе Сканировать → «Поиск устройств в режиме загрузчика» → Стоп → выбрать устройство → Восстановить.

Я сейчас пытаюсь понять, что необходимо улучить в документации что необходимо проверить в нашем web-конфигураторе, чтоб исключить подобное поведение. Помогите, пожалуйста, в этом. Вы помните шаги, которые делали при обновлении модуля(ей)? Можете их написать в ответе по памяти? Прекрасно понимаю ваше недовольство и желание послать, мне остается лишь смиренно просить о помощи в воспроизведении.