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

Добрый день!

Предлагаю сначала определиться, что вы хотите получить от общения с нами.

Вариант 1: вы хотите, чтобы ваша инсталляция нормально заработала.

Как это сделать, мы ответили здесь:

Но непохоже, чтобы вас это заинтересовало.

Вариант 2: вы хотите проверить наши датчики под нагрузкой.

Хорошо, давайте. Но сначала разберитесь хотя бы с тем, как работает протокол Modbus. Мы уже дважды писали в этой теме (1, 2), что бессмысленно опрашивать регистры чаще, чем запрос-ответ успевают выполняться.
Но сейчас вы опять пишете:

Объясню в третий раз, последний:
один запрос на запись одного coil и ответ с результатом записи выглядят так:

запрос: [6F][05][00][00][00][00][C5][44]
ответ: <6F><05><00><00><00><00><C5><44>

Итого: запрос - 8 байт (символов), ответ - 8 байт (символов). Между посылками по стандарту должна быть пауза ещё в 3.5 символа.
Теперь посмотрим, как устроена передача 1 байта данных (символа).
Вот цитата из нашей документации, пересказывающей протокол Modbus (Протокол Modbus — Wiren Board):

В Modbus RTU передается 11-битный символ, состоящий из 1 стартового бита, 8 бит данных (начиная с младшего бита), бит четности (необязателен) и 2 стоповых бита - если бит четности не передается, или 1 стоповый бит - если бит четности передается. Такой символ передает 1 байт данных. В устройствах Wiren Board по умолчанию бит контроля четности не передается и используется 2 стоповых бита.

Итого для ваших настроек 9600-8N1 получается, что запись одного coil + интервал между фреймами + ответ + интервал до следующего фрейма занимают (8+3.5+8+3.5)*10=230 бит. На скорости 9600 бит/с это занимает 230/9600=0,024 с = 24 мс.

Напишу для ясности другими словами:

можно просить нас, CODESYS, ОВЕН, господа Бога записывать coil каждые 10 мс, но это не получится, потому что только посылка + ответ + необходимые по стандарту задержки займут 24 мс.

При этом сам датчик при получении посылки тоже отвечает не сразу. Точное время его ответа немного меняется, порядок - десять мс.

Вариант 3: вы хотите понять, какой датчик показывает температуру неправильно.

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

Вариант 4: вы придумываете “факты” про наше оборудование, мы их опровергаем.

Первый “факт”.

Мы выкладываем видео теста, которое показывает, что всё работает без задержки. Ваш ответ:

Конечно, проводите. А потом пишите. Не наоборот.

Второй “факт”.

То же самое.

Третий “факт”.

Наши Modbus-устройствами сотнями продаются в проекты, где НЕТ нашего контроллера. И даже у нас на форуме есть пара тем “Я подключил вашу периферию к ОВЕН”. Видимо, наше оборудование и чужие контроллеры работают вместе, а дело в чём-то другом?

Вариант 5: вы даёте нам советы по улучшению нашего оборудования.

Конструктивным замечаниям мы всегда рады. Сразу может и не изменим, но запомним и потом учтём.
Но, пожалуйста, не надо разбавлять это хамством:

Из вашего видео:

дерьмо

Мы так не общаемся и не будем общаться. Мы уважаем себя, труд наших инженеров и программистов.

5 лайков