WB-MSW v3: Провал показаний температуры (остальные показания не пропадают)

Начинаю в стиле высоцкого из “Место встречи изменить нельзя”, ибо ник всё и так скажет. Не хотел и не хочу я этого, но мне один заказчик подкинул на тест и обзор WB-MSW v3. Детально я его разберу у себя (и про это напишу уже Wirenам в общее мыло).
Сейчас же у меня есть один животрепещущий вопрос. Сегодня этот датчик был подключен к ПЛК ОВЕН СПК107 (CodeSys v3) и я его гонял в хвост и в гриву. И дышал на него, и барабанил рядом с ним, и аромапалочки сжигал, и распаренный после ванной ходил.
Сначала даю данные, потом ругаюсь.

Подключение. Физически это один RS-485, на котором шлейфом сидят один датчик ОВЕН ПВТ-10 (температура, влажность, паспорт с клеймом поверки в лаборатории производителя ОВЕН, т.е., датчик можно считать эталонным), и один датчик WB-MSW v3.
Питание датчиков - +24 VDC, параметры связи: 9600-8-N-1. Длина шлейфа - 0,5 метра, так как это тестовый шлейф. Экранирования нет.

Обмен данными. Из-за того, что карта регистров составлена криво (про это я буду ругаться позже), групповые запросы применять нецелесообразно. Поэтому опрос ведётся отдельными запросами к каждому регистру (всего около 12-14ти запросов).

  • Регистры получения информации (то, что меряет датчик) опрашиваются раз в 1000 мсек;
  • Регистры Coils для управления записью ИК-команд, светодиодами и пищалкой записываются раз в 100 мсек.

Код программы на ПЛК и защита от кривых данных. В коде программы для ПЛК есть три защиты от кривых данных с любых датчиков (писалось так, как это принято в промке):

  • Контроль состояния интерфейса ModBus: сколько устройств в штуках должно быть на интерфейсе и сколько реально есть;
  • Контроль состояния каждого устройства: есть ли с ним связь или её нет;
  • Контроль данных, которые меряет и возвращает устройство. Если они находятся вне пределов среды, где они меряются, то данные считаются неверными.

То есть, для примера, если отвалится весь канал ModBus или если отвалится конкретный датчик, или если его температура выйдет за границы +5…+80 градусов - данные будут считаться инвалидными, график по ним строиться не будет.
Для ужесточения злобности в каналах ModBus (в ПЛК) стоит режим “установить значение в 0 при потере связи”, а не “сохранять последнее значение”, как это обычно делают. То есть, если связь теряется - ВСЕ значения будут равны нулю.
На данный момент я наблюдаю периодические отвалы данных о температуре датчика. Показываю скриншот:


Нас интересует график температуры воздуха. Это средний график в нижней части экрана.
Мы видим периодические отвалы данных.
Версия о том, что происходит отвал связи с датчиком по ModBus не подтверждается тем, что было описано выше: тогда ВСЕ значения на всех графиках этого датчика становились бы нулями, и провалы данных были бы одновременно на всех графиках.
А тут отваливается только температура, и даже влажность, которая меряется тем же самым физическим датчиком, не отваливается.

Дополнительные вопросы, на которые я натолкнулся:
а) Где документы, по которым можно увидеть поверку датчика, как в ОВЕНе? На ОВЕН у меня такие документы есть, и получается что сейчас WB-MSW врёт: температура занижается на ~2-3 градуса, а влажность завышается на ~5-6%.
Как это объяснить? Что меряет этот датчик?
б) Почему-то у меня всё, что управляется через Coils (светодиоды, пищалка, ИК-команды) работает с задержкой в 10 секунд (Карл?!). То есть прям в отладчике ModBus установил Coils в 1, досчитал до 10 - и пищалка заработала. Сразу поставил значение в 0 - через 10 секунд пищалка перестала пищать.
Напоминаю что Coils пишутся у меня раз в 100 мсек.
Это вот как ещё понимать? Так задумано или нет? Что за фигня?
в) Жёсткие претезнии к карте регистров. Из-за кучи пропусков (несуществующих регистров) не получается прочитать её всю одним групповым запросом вида “Read Multiple Registers с 0 по 18”, например. Это был бы хоть длинный, но один запрос к устройству. А так к нему валится 12-14 запросов.

В общем, жду чтобы со мной связались и рассказали мне ответы на все эти вопросы. Датчик я ещё тестю, обзор буду готовить к пятнице или следующему понедельнику. До этого времени хочется услышать тут какие-нибудь разъяснения по моим вопросам.

1 Симпатия

Вот это очень интересно. То есть прошла (удачно) передача-подтверждение от MS, но работать начинает не сразу?
А если остановить остальной обмен?

Незавиимо от того есть ли в них изменения или нет - все передаются?

Добрый день!

А какая у вас версия прошивки датчика? Написана на наклейке с qr-кодом и серийником. В версиях до 4.12, если очередное чтение данных с внутреннего сенсора температуры и влажности было ошибочным, в регистрах появлялось “Значение по умолчанию или при ошибке”, т.е. 0x7fff. Соответственно, за границы +5…+80 оно сразу выйдет и отображаться у вас не будет.

В 4.12 ошибка чтения должна держаться несколько секунд, прежде чем данные о ней попадут в регистр.

Рекомендую фильтровать значения 0x7FFF (или 0xFFFF, в соответствии с картой регистров) и обновить прошивку. Значения эти фильтровать стоит в любом случае, потому что так же WB-MSW v.3 сигнализирует, например, о том, что модуль TH вообще не установлен.

Отвечаю разом. Да, передётся всегда.
То есть, в ПЛК к этому привязана переменная со значениями 0 или 1, и значение этой переменной раз в 100 мсек пишется в Coils датчика.
Вот то, как регистры в ПЛК прописаны:

Какой обмен надо приостановить? По этому каналу одному? Так обмен не отваливается ни разу. Если бы он отваливался, то на всех показаниях датчика были бы нули. А так валится только температура.
В CodeSys (среда разработки для ПЛК) на ModBus-устройствах показывают все ошибки. Так вот ошибок НЕТ. Отвалов связи НЕТ.
Возможно, это как-то связано с изменением VOC. Прикладываю кусок графика, на котором видно, что между условными 6 и 7 часами VOC был на минимуме, и глюков температуры не было.
Дальше я закрыл дверь в комнату и начал там ДЫШАТЬ - и за 7-8 часов (по графику) было три отвала температуры.

12-14 - это как-то лишнего, там довольно много регистров идёт подряд. Вообще у нас в самых ближайших планах есть режим, при котором можно будет читать групповым запросом чтения даже диапазоны, в которых отсутствуют некоторые регистры. Так можно будет, например, читать регистры 0-11 за один раз. Если интересно протестировать - напишите пожалуйста.

Хоть ругаться вы и собирались позже, я уже начну оправдываться заранее :). Кривая карта регистров - это не от того, что мы клиентов люто не любим. Это для того, чтобы в разный датчиках нашего производства в одном и том же регистре лежало одно и то же. Грубо говоря, в нулевом регистре всегда лежит температура, и в WB-MSW v.3, и в WB-MS v.2, и в предыдущих версиях этих датчиков, и в будущих тоже. В некоторых устройствах какие-то каналы отсутствуют, соовтетствующие регистры - тоже.

Версия 4.13.0. Ещё есть наклейка рядом с местом для ввода кабелей V4.8R. Цепляю фотку:

Может быть я многое о себе мню, но КАКОГО ЧЁРТА ПЕРЕД тем, как что-то делать, НЕ ПОСОВЕТОВАТЬСЯ со специалистами? Или не посмотреть, как сделано у других?
Ведь есть такая практика, да, когда регистры отдаются все, но те, которые не задействованы, возвращают 0 или FFFF. Вон как у RazumDom сделано. Там всё читается за один раз, даже если датчик это не держит:

UPD. Да, и не то, чтобы интересно протестировать - а это давно Must Have. Поэтому как сделаете, так сразу же мне и пишите и шлите что надо слать (образец или прошивку и то, как её обновить - я надеюсь, что там есть нормальная тулза, а не “залейте новую прошивку в 65535 регистров в HEX-формате с обратным порядком байтов”).

Клиентов вы люто не любите. Мне про ваш WB ещё несколько лет назад народ на блоге писал. И я убивать за клеммы грозился. А щас я убиваю за то, что все нужные светодиоды находятся почему-то на печатной плате, и будут находиться под пластроном щита СКРЫТО. Кой в них смысл? Почему другие люди нормально делают СРАЗУ?
И, чёрт побери, я вон недавно у себя рвал это всё про RazumDom. У вас даже корпуса почти такие же, вон: https://cs-cs.net/razumdom-ddl04r-led-rgbw-dimmer-datchiki-msu44#_ddl04r

Про клеммам датчика я тоже ща пройдусь, раз уж пошёл такой рвач.
Вот тут все хипстеры и самодельщики обожают использовать витую пару. А как быть, если я не самодельщик, и если у меня специальный, какой должен быть, интерфейсный кабель для RS-485 на две витые пары и ещё и с экраном? Вот зацените-ка, как он разделывается, как паяется экран и как ЭТО потом пихается в датчик.

Вопрос достаточно провокационный, но постараюсь ответить. Поверка бывает только у устройств, которые производитель включил в госреестр средств измерений. Поверить что-то не включённое в госреестр СИ нельзя.

В реестр СИ мы внесли (пока) только наши счётчики электроэнергии WB-MAP. Наших датчиков там (пока) нет. Внесение в реестр требует кучу денег, времени, и решения кучи бюрократических формальностей, так что до датчиков руки пока не дошли.

Это, естественно, не значит, что датчик без госреестра или без поверки показывает что-то не то.

Включение в госреестр всего лишь значит, что документация на устройство существует и оформлена по некоторому стандарту, а один экземпляр устройства показывал данные в рамках точности, заявленной самим же производителем.
Поверка - аккредитованный метролог в аккредитованной лаборатории берёт поверенное оборудование, и проверяет конкретный экземпляр устройства. К сожалению, мне приходилось встречать и описания типа, в которых написана ерунда, и аккредитованные лаборатории, которые штампуют поверку по фотографии, и метрологов, которые не умеют складывать и вычитать. Так что сами по себе Документы, к сожалению, мало что значат, если нужно в показаниях быть увереннным, а не прикрыть что-нибудь перед начальством.

“Поверку” для устройства, не включенного в реестр СИ, сделать нельзя, а вот то же самое, но с другим названием (“испытания”) - сделать можно. Сравнивать, естественно, нужно с эталоном более точным, чем само испытуемое устройство. Датчик конкурентов такой или худшей точности - не очень подходит.

Точность наших датчиков обеспечивается тем, что:

  • мы используем внутри цифровые сенсоры температуры и влажности от солидного производителя
  • эти сенсоры индивидуально откалиброваны на заводе, калибровочные константы записаны в память
  • каждый датчик WB-MSW v.3 уже в сборе тестируются на брак пайки и сборки на автоматизированном стенде. Один из тестов - это сравнение температуры и влажности с эталоном.
  • цифровые датчики относительной влажности выборочно провеяются по солевым эталонам относительной влажности. Несколько экземпляров тестируются на старение в течение нескольких лет.

В вашем случае, думаю, может быть виноват самонагрев датчика, если он неудачно расположен. Если расположен он действительно неудачно, то рекомендую взять пару хороших термометров, вычислить коррекцию температуры и записать её один раз в регистр WB-MSW v.3. Коррекция влажности пересчитывается автоматически, её отдельно измерять и корректировать не нужно.

Ну, если делать как у других, то никогда не сделаешь лучше, чем у других. А посоветоваться со специалистами мы всегда рады. Если приглашение в силе, то буду рад услышать ваше мнение про удобство пары новых устройств в некоторых аспектах, пока ещё не поздно.

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

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

кажется, это неподходящий кабель - он слишком толстый и слишком жёсткий. Какое это сечение? От толщины меди RS-485 работать лучше не станет. Вот наши рекомендации по кабелю: https://wirenboard.com/wiki/RS-485:Физическое_подключение .

Экранированный, витая пара, многожильный под обжимку НШВИ, сечение 0.2-0.5 мм2.

Ну и надо понимать, что если внутри поставить клеммники с шагом 10мм, да ещё и разъёмные, то кроме клеммников в корпус ничего и не влезет.

Нет, нет! Я не провоцировать хотел. И даже не про госреестр.
Я про поверку датчиков или, если проще, ПРОверку.
Вот я покупаю датчик от ОВЕНа (https://owen.ru/product/pvt10/documentation). И получаю к нему бумажку с печатью, на которой написано о том, что датчик S/N такой-то прошёл поверку, показания соответствуют норме, погрешность измерений - такая-то. Поверяльщик такой-то, действительно в течение года с даты поверки.
А чего я получаю тут? На что мне ориентироваться в плане верности показаний?
Неа! =) Тут не самонагрев. Ваш датчик занижает показания на пару градусов ниже ОВЕНского (с бумагой и печатью). Значит точно не нагрев!

Конечно же в силе. Можно писать на моё контактное мыло без проблем. Если срочно - то звонить.

Так сам WirenBoard. Вон же ж на главной сайта торчит мелкий SMD-светодиодик около SMA-разъёмов. А зачем он там торит? Почему не на передней панели.
На фотках релейных модулей и модулей IO я не вижу никаких светодиодов, которые могут показать статус IO.

“Тут” - это абстрактно. Подключать RS-485 по витой паре - это ОЧЕНЬ плохо. ОЧЕНЬ плохо. Нужны специализированные кабели. Например, что-то типа КИ-485-ЭВнг(А)-LS 1x2x0.6.
Конечно же я читал ту ссыль про физическое подключение. Вот писать там про витую пару UTP - это ОЧЕНЬ неграмотно, очень плохо и очень ужасно. Нельзя её там использовать (только если на очень коротких дистанциях и экранированную, а не UTP).
А в руководстве вы основной упоор делаете на падение напряжения на кабеле, а не на экран и помехи. И на то, что экран нужен и его надо ещё и соединять в отдельных кусках кабеля.

Нет, сейчас вопрос не про клемники, а про ввод кабеля. Вот у меня есть этот кабель на две пары (питание + RS-485). И два этих кабеля приходят в датчик из стены, на которой этот датчик висит, верно? Два - потому что по объекту сделан шлейф ModBus на эти датчики (в моём случае их там 8 штук будет).
И вот мне надо, прямо среди платы датчика (хотя её можно отщёлкнуть), разделать эти два кабеля, потом спаять их экраны, расплести их пары и всё это изгонуть так, чтобы оно зашло в клемник.
И это страшно делать, потому что пока я буду гнуть жилы на объекте (8 штук), я могу случайно подрать нежные SMD или датчики на плате. Я об этом, а не о клеммах.
То, что вы ушли от пружинных - это не “спасибо”, это “наконец”! )

Доотвечу про поверку. Легко с вами общаться.
Вот вы (как компания) пишете, что у вас тоже на производстве датчик сравнивается с эталонами и индивидуально калибруется. В коробке с датчиком бумаги нет. В спеках датчика есть указания на погрешности (это отлично).
И при этом у меня есть датчик от ОВЕНа, который стоит 7 тыр, и эти два датчика, откалиброванные по эталонам, показывают разное. Шо делать? Кому верить? Как быть?

светодиод активности модема, не самый важный. Это эволюция такая: до WB 6 ревизии 6.5 его вообще не было, в 6.5 получилось сделать только снизу, в 6.7 уже смогли вынести на верхнюю крышку. Так что стараемся выносить. когда получается.

В модулях для контроллера (которые справа стыкуются к WB6) светодиодов нет, чтобы дёшево. В отдельных устройствах, типа WB-MR6C v.2 есть светодиоды статусов.

В статье в рекомендованных, кстати, гибкий и экранированный: F/UTP Patch.

А почему нельзя? Я допускаю, что я что-то не знаю, но чем экранированная витая пара F/UTP отличается от специального освящённого кабеля для RS-485? Ну экран там немножко хуже, ну волновое сопротивление чуть не совпало и три процента сигнала откуда-нибудь отразятся обратно. Но вот что бы прямо очень ужасно?

это спасибо, допишем

я бы отметил по длине, снял датчик, вынул ответную часть клеммника и собирал уже без датчика. Планировалось так.
Ну или плату отщёлкнуть, да.

Взять ещё пару датчиков. Например копеечные DS18B20 (только наcтоящие) и какой-нибудь бытовой.

С температурой так можно, с влажностью уже осторожнее: у всех цифровых погрешность 2-3% RH, на краях диапазона больше. Плюс температура (самонагрев) очень сильно влияет на влажность. Плюс на рынке полно хреновых датчиков. По влажности нам стоит просто поверить (после калибровки температуры, если понадобится), потому что проверить без камеры или солевого эталона - очень сложно.

Давно этого жду. А ещё регистры движения 281 и 283 лучше было бы к ним перенести, после 11.

1 Симпатия

(ответ писался тогда, когда был сделан первый скриншот - в 8утра; если после него кто-то что-то ответил, то тут инфа может быть не актуальной)

Так. Проснулся. Злой. Отвечаю по всем пунктам. Я дьявольски злобен, поэтому за мягкость ответов не ручаюсь, сразу предупреждаю.
Пункт 1. Херня с датчиком продолжалась ВСЮ НОЧЬ. Вон новый скриншот. Валится именно температура:


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

А что это никто не заметил на скриншоте, который я выложил - про регистры, что я использую второй набор регистров, где температура выдаётся х100? Мне самому себе техподдержку оказывать? Окей, щас сам себе отвечу:

  • CSыч, попробуй-ка стащить температуру с 0 и 1 регистра и сравни, что будет с ней твориться.
  • Ага, понял, ща добавлю ещё одной линией на график и вечером покажу, что будет.

Пункт 2. Про кабели RS-485. Тут у нас получился диалог на тему “Это кто тут ещё хипстеры? У нас крупные организации берут наши девайсы и делают на них большие щиты”.
Ну так вот стоит, чёрт подери, спросить у этих крупных организаций, как и чем они RS-485 ведут по объектам. Наверняка специальным кабелем, который имеет правильное сечение и правильное волновое сопротивление.
Хипстерами я называю тех, кто хочет “прям щас” и не хочет никуда вникать. У меня на блоге такие гады как раз обожают применять витую пару UTP или под интерфейсы связи, или, что ещё хуже, под цепи кнопок. Особенно на 230V. Поэтому слова “витая пара” давно стали для меня красной тряпкой и признаком невежества.
Подпункт А. Многожильный? О чём идёт речь?

  • Правильное применение термина: в кабеле несколько ШТУК жил - и поэтому он многожильный? Ну так, если кабель имеет одну витую пару - то там две жилы, и он - да - многожильный.
  • Неправильное применение термина: кабель имеет гибкие жилы, составленные из многих тонких проволочек. Если это так - немедленно всё исправлять, потому что такое применение слова “многожильный” - это позорище! Правильное слово для жил: многопроволочная или, если писать простым языком - гибкая.

Подпункт Б. Спецкабели. Тут всё жёстко. Любая хрень - даже бельевая верёвка, если её графитом от карандашей обмазать - протащит через себя RS-485. Но работать это будет только при определённых условиях. Тепличных, скорее всего.
У меня есть вон от другого ПЛК линия ModBus на 9600, котороая вообще телефонной лапшой проложена и звездой на три куска разветвляется. Работает, фигли.
Но если мы хотим, чтобы оно работало правильно и надёжно - то следует обратиться к стандарту или ресурсам, где есть из него выкопировки, в которых сказано про требования к кабелям.
Требования звучат так:

  • Одна витая пара (не UTP, а свитые между собой жилы);
  • Экранированная оболочка, которая заземляется;
  • Сечение от 0,5 кв.мм;
  • Разводка строго шлейфом (НЕ звездой);
  • Не более 32 устройств на одном канале связи. Если их больше - нужны повторители.

Как найду точный ГОСТ - напишу. Вот технический пруф: http://www.gaw.ru/html.cgi/txt/interface/rs485/app.htm, вот ещё чей-то пруф: https://www.softelectro.ru/rs485.html. А вот рекламный обзор производителей кабелей для RS-485. Только у одного из них есть сечение ниже 0,5 кв.мм: https://www.ruscable.ru/article/ob_interfeysnykh_kabelyakh_standarta_RS-/

Подпункт В. Большие объекты. Вот хотелось бы увидеть примеры монтажа оборудования на больших объектах. Это где не хипстеры делали.
Я к чему. Если мы читаем по утру за чаем обзорчик с хабра, где очередной рукожоп в панельной трёшке на 70 квадратных метров вдолбил в стенку распаечную коробку и напихал туда Wiren или другой умный дом (а точнее дом-дурачок) и там развёл Modbus витой парой UTP, потому что он уже как много лет и прочее такое - то это не показатель.
Когда начинаются большие квартиры от 100 квадратов или дома по 700 квадратов, то к силовому щиту начинает подходить по 150-200 кабелей. В штуках.
И вот тогда нужно думать про то, как все эти кабели влияют на работу RS-485.
Даю примеры, связанные с RS-485^

  • Большая лубянка, 12. Дом культуры ФСБ РФ. В 2008 там была мощная реконструкция сценического света, который работает по протоколу DMX-512, который физически построен на том же RS-485 и имеет те же требования (спецкабели, длина линий, повторители, терминаторы, не более 32 устройств).
    Так вот там все основные магистрали были проложены правильным кабелем для DMX, а перемычки между диммерами в стойке ради экономии были сделаны кабелем типа МКЭШ “две жилы в экране”. Типа, ну а чё - тоже же две жилы, немного свитые, экран есть.
    Вот это вот дерьмо глючило так жёстко, что из-за переотражений сигнала эти диммеры сами себя включали и видели управляющие последовательности, которых не было.
    После того, как всё было с матами заменено на правильный кабель - глюки ушли.
  • Дом 700 квадратов. На три этажа + подвал. На каждом этаже по паре коллекторных шкафов (отопление, тёплые полы). Всё это над зацепить по ModBus и отдать в ПЛК в щит, чтобы управлять термоклапанами и мониторить температуру.
    Кабель интерфейса будет идти в стяжке пола, в лотках подвала и кое-где по потолку рядом с силовыми кабелями. Длина линии около 100-150 метров, скорость будет 9600.
    Какой кабель я возьму? СПЕЦИАЛЬНЫЙ (и тут мы возвращаемся к тому же самому - как этот кабель заводить и разделывать в датчике).
  • Просто квартира. Для заказчика, который это ща тоже читает, между прочим. Квартира небольшая, а устройств Modbus наберётся: 8 будущих датчиков MSW + 11 термостатов тёплого пола + 1 датчик уличный = 20 штук.
    Кабель идёт и в лотках по потолку, и спускается и поднимается шлейфом в общей штробе вместе с кабелями на розетки и свет. Это квартира, там около блока “три розетки + четыре кнопки + тёплый пол” не получится выполнить требования по разносу линий силы и слаботочки на 50 см.
    Какой кабель заложен? Тот же, специализированный.

Почему? Потому что цена ошибки ВЫСОКА. Что будет, если я на дом или квартиру заложу “витую пару”, которая у вас в инструкции написана, а потом эээ… обосрусь с ней. Тогда, когда будет сделана отделка, залита стяжка? За чей счёт будут переделки? За мой, конечно же.
Я этого хочу? Нет. Поэтому я использую специализированные кабели для RS-485 и соблюдаю правила их монтажа и подключения. И поэтому я придираюсь к разъёмам, местам для разделки кабелей и прочему. И буду придираться жёстко.

Подпункт Г. Про НШВИ. А так махом там написано про обжимку через НШВИ на 0,5 кв.мм.
Мы знаем, что кабели RS-485 рахзводятся шлейфом. Мне пойти, взять другой кабель, более злой, с двойным экраном, попробовать обжать его - внимание - в НШВИ(2) на 0,5 и запихать его в клеммы? А влезет ли?

Пункт 3. Про тестирование. Ну и где бумага о том, что датчик был протестирован тогда-то и там-то?
Что мне считать эталоном? На что ориентироваться? Вот ща у меня уже ТРИ датчика разных производителей - и все три показывают разное. Все три датчика электронные.
А, да… есть ещё один аналоговый - термосопротвление марки 50М, имеющее тоже паспорт, клеймо поверки и аналоговый измерительный модуль с классом точности 0,25 и клеймом поверки.
Как это понимать, чёрт меня раздери? У всех есть эталоны, но у всех они эталонистее другого?
У меня нет выбора, я буду верить ОВЕНскому ПВТ-10, потому что на него есть документ.
А вместе с WB-MSW документов не было. Просто коробка с датчиком. Который меряет невесть что.

Пункт 4. Самый дьявольский. Про корпуса и светодиоды. Агрррхххх!!!
Светодиодов нет, чтобы дёшево. А что? Светодиод стоит как в 80ые прошлого века - только АЛ307АМ/БМ и за адские деньги, аж дороже КТ315ого?
Я ща поясню, откуда растут ноги у этого требования. Не моего, и не ГОСТовского, а жизненного.
Контроль, пусконаладка и обратная связь. Привожу примеры, которые банальны:

  • Вижу на модуле IO включенный выход, вижу что контактор в щите работает прерывисто, дёргается. Внимательно смотрю на светодиод - светодиод горит ровно и нормально. Значит привет контактору.
  • Нажимаю кнопку, нет реакции. Смотрю на модуль IO - светодиод входа не горит. Значит что-то у меня не то с цепями кнопки. Нажимаю соседнюю - светодиод отзывается. Значит питание на кнопки поступает, а разбираться надо только с первой нерабочей кнопкой.
  • Надо посмотреть, видит ли модуль IO сигнал типа “Открытый коллектор на GND”. Опять светодиоды помогут, да?
  • Как у человека в соседних постах - реле залипло/варистор пробило и он штору чуть не сжёг. Опять годятся светодиоды: светодиод не горит, питание есть. Значит это аппаратная проблема (бабах кулаком или барабанной палкой по модулю - если не отлипло, значит варистор, если отлипло - значит реле).
    А если ещё и светодиод горит - то значит завис модуль или управляющая программа/скрипт реально держит включенным выход.

И ещё придирка касательно диодов и индикации - это внешний вид. Это личное. И снова хипстерское. Меня БЕСИТ, когда вместо полезных органов управления или обратной связи производители делают на передней морде устройства, которая стоит НАД пластроном и видна пользователю щита, просто чёртову наклеечку (как у вас и у других), мол “Ура, это Wiren Board”.
Как это не назвать хипстостой, если на этой наклеечке куча значочков, рисунков, даже описание контактов подключения есть - а полезные светодиоды, кнопки или прочие штуки сныканы под пластрон щита или их вообще нету.
Я ДИКО ругался на эту дрянь ещё в лохматых годах, когда мне подобное GSM-реле подкинули. Вот пруф на пост: https://cs-cs.net/shitki-pribludy-uzm-fs453e-gsm#3__gsm
Вот скажите, почему все используют эту чёртову Ganitу или аналоги и все как один лепят на переднюю морду корпуса наклеечку, и все ленятся делать нормальные панели? Это реально ВСЕ. Прям тренд - все, кто берёт подобные корпуса… RazumDom, вы, Rainbow EcoDim и прочие и и прочие…
Кто-то может вообще мне сказать (хоть из вас), ЗАЧЕМ пользователю готового щита надо видеть описание клемм для подключения над пластроном щита? Вот ЗАЧЕМ?
Этот пункт и зуб у меня на вас давно, ещё когда мне мои читатели начали много лет назад псать про Wiren. Я как корпус с наклейкой увидел - сразу вычеркнул вас из головы. Вот по датчику пришлось обратиться.

Пункт 5. Про карту регистров. Тут уже поговорили, да. НАДО делать. И СРАЗУ делать. Пример от RazumDom я приводил.
Просьба пояснить, почему так не было сделано сразу?
Совместимости хотели? Блин, а кто мешал сделать двойные регистры? Вот даже ЩАС, в новой прошивке. Пускай все текущие регистры останутся как есть.
Добавьте те же самые регистры, но подряд, без пропусков (и с заделом на будущее), но пускай они читаются подряд, например с адреса 1000.
То есть, я могу прочитать что-то по-старому, с адреса 0,1, 3, 4, 8, 9, 10, 11.
А могу и прочитать по новому, с адреса 1000 подряд всё.

Пункт 6. Про Coils. ТОРМОЗЯТ. И опять у меня вопрос. ЗАЧЕМ было брать этот архаизм, которым ща пользуются только архаичные монстры климата типа Carel/Domekt, потому что так уже привыкли, а раньше все память экономили.
Все нормальные люди сейчас, в XXI веке, всегда юзают регистры. Потому что их завались, и пишутся и читаются они одинаковыми командами.
Как мне проверить, что всё тормозит? Гм… если меня разозлит про кабель и я буду тестить на более злом спецкабеле с НШВИ(2) на 0,5, то заодно возьму Modbus Tools и тестану Coils.
Уточнение: в принципе, зло их побери, на тесты мне наплевать, потому что эти датчики у меня ДОЛЖНЫ работать именно с этим ПЛК и ядром CodeSys v3. Потому что так надо.
И если окажется, что это уникальный случай и Coils тут будут тормозить - что ж, значит все команды на них я буду выдавать длительностью в 20 секунд.

ИТОГО:
а) Какого фига у меня температура прыгает?
б) Какого фига у меня тормозят Coils?
в) Какому из 4х датчиков температуры мне верить?

А, я ж ещё забыл. Пункт 7. Инструкции по монтажу.
Оказывается, там надо как-то хитро вешать и монтировать датчик? Продевать кабель, отмерять, потом разделывать, потом ставить разъём и потом вешать датчик?
А вот осмелюсь требовательно спросить: А ГДЕ ЭТО НАПИСАНО?
Где инструкции о том, как правильно со всем этим обращаться? Что же получается? Что покупает человек датчик за 10 тыр (если брать полную комплектацию) и будет с ним как обезъяна с гранатой - примеривать так и сяк и портить?
Да, я развращён. До безобразия. ОВЕНом. Потому что я в 2016 году увидел его первым, офигел от того, какие у них удобные и понятные инструкции и паспорта - и хочу такого же.
И чтобы про разделку и подключение кабеля было написано. И чтобы про монтаж было написано. Особенно для датчиков. А то ну как я его суну под натяжной потолок / над газовой плитой поставлю (куда влажность и горячий воздух при готовке идут), а потом в суд подам на то, что я не знал что так нельзя, потому что не было инструкции.
Вы, блин, что выпускаете? ПРОДУКТ или красотульку? На расивую наклейку сил хватило, а сверстать понятный PDF (который можно скачать и распечатать, а не листать чёртовы запутанные Wiki онлайн c вёрсткой таблиц, которые только на А3 печатаются) - нет?
РРР!!!

И это не нападки, это не троллиг. Это я впервые в жизни начал знакомиться с вашей продукцией, про которую мне все уши прожужжали уже как года три. И вот и фигею о того, что элементарных вещей - нет.

Чёрт, прошу простить. Меня понесло. Выливается всё, накопленное за годы.
Пункт 8. Конфигурация. А это… а ГДЕ программа-конфигуратор-то? Простая, писанная на VC++ x32/x64, а не 120-мегабайтная хрень на .NET?
Которая позволит не какие-то там регистры устанавливать руками и не понимать, записались ли они или нет, а позволит подключать датчики или другие модули IO через преобразователь RS-485<>USB и галочками или раскрывающимися списками настраивать все нужные параметры?!
А также тестировать модули IO (которые с ModBus) сразу, без Wiren?
И искать модули с кривыми настройками связи (то, что предлагается делать на Linux WB через скриптик)? А если у меня нет WB, мне подарили юзанный модуль и я не знаю, что там и как?
Где перемычка вида “сброс на дефолтные настройки”?
Чёрт побери, это простой и лёгкий сервис. Вы же делаете свои WB и так-то для продвинутых задротов, где надо писать скрипты, что-то кодить и мучиться (когда везде есть FBD/ST/CFC-языки). Что? Задроты не смогут перемычку поставить для аппаратного сброса железа? Им надо обязательно писать скрипт перебора всех адресов всех устройств?

1 Симпатия
time modbus_client --debug -mrtu -pnone -s2 $DEV_PORT -a$DEV_ADDR -t0x03 -r5402
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[37][03][15][1A][00][01][A4][57]
Waiting for a confirmation...
<37><03><02><00><E3><31><C9>
SUCCESS: read 1 of elements:
	Data: 0x00e3 

real	0m0.042s
user	0m0.000s
sys	0m0.000s

Чиатю один регистр.
Читаю coil:

time modbus_client --debug -mrtu -pnone -s2 $DEV_PORT -a$DEV_ADDR -t0x01 -r5001
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[37][01][13][89][00][01][2D][32]
Waiting for a confirmation...
<37><01><01><00><5E><00>
SUCCESS: read 1 of elements:
	Data: 0x00 

real	0m0.072s
user	0m0.000s
sys	0m0.010s

У вас чтение-запись слишком частые, времени реально на них не хватает. в используемом ПО есть возможность посмотреть на очередь? (на ее длину)
Для теста - сделайте включение и через секунду отключение той же пищалки.
Увеличьте таймер (запросы реже).
Ну и те же coil:
Мы не гоняем по шине то, что не меняется. Как раз для того чтобы ее не занимать. То есть пишем исключительно изменившееся данные. Нет изменений? Не передаем.
Но вот баг с задержкой - воспроизвести сегодня попробую. Напишу скриптик, который будет как у вас с теми же принтервалами получать-отправлять.

Для целей теста - отключите ограничение по диапазону, посмотрим что реально от датчика приходит. Если зарезервированные под “ошибку” значения (скорее всего) - то их реально надо фильтровать.

Блин! АААА!!! А ааа… а… эээ ЧТО? А КАК же тогда ваши датчики будут работать в суровых ПЛК-то?
Там всё совсем по другому: чаще всего пишется не по изменению, а постоянно.
И это ЧТО за бредятина? Как это не хватает времени на запись на 100 мсек? Это ж время-то детское. Не 10 мсек, как я в модули IO пишу обычно.

Так. Значит на сегодня намечаю тесты:

  1. Снизить скорость опроса каналов температуры до 2000 мсек;
  2. Снизить скорость записи каналов Coils до 1000 мсек;
  3. Заценить температуру из обоих регистров: 0,1 и других