Неверные значения Modbus на Weintek: смещения регистров, типы данных и порядок слов

Температура 25,0 отображается как 250. Отрицательное значение становится числом больше 65 000. Число с плавающей точкой превращается в огромное целое. Это возможно даже при исправной связи Modbus.

Оглавление

Главный вопрос: какие байты пришли и как HMI их истолковала?

Начните с адреса, затем типа, порядка слов и масштаба. Одновременное изменение всего может дать убедительное число, но не исправит причину.

Руководство для EasyBuilder Pro с чтением Modbus TCP или RTU. Форматы адресов и преобразования зависят от драйвера и версии.

Считайте сырые регистры до изменения экрана

Сохраните проект HMI и выберите одно неверное значение, которое можно независимо проверить.

Для этого значения соберите:

  • Сервер, станция или идентификатор устройства.
  • Строка карты регистров и правило адресации.
  • Область input или holding-регистров.
  • Длина, тип, порядок слов и масштаб инженерных единиц.
  • Адрес объекта HMI и числовой формат.

По возможности временными объектами только для чтения покажите каждый 16-битный регистр в hex. Сравните с монитором сервера или захваченным ответом. Учтите уже включённое преобразование драйвера: диагностика HMI может показывать изменённые данные.

Не записывайте тестовые шаблоны в действующие уставки или выходные регистры. Используйте изолированное устройство или выделенную тестовую область.

Если объект исчезает или связь не работает, сначала восстановите чтение. Отдельное руководство о исчезновении объектов HMI Weintek при связи Modbus описывает эту проблему.

Регистр 40001 и адрес 0 могут обозначать одно место

Адреса запросов Modbus начинаются с нуля. Производитель сопоставляет с ними переменные. Номер в руководстве не всегда совпадает с вводимым в HMI. Протокол приложения Modbus V1.1b3, разделы 4.3–4.4.

Для традиционной нумерации holding-регистров:

ОписаниеПервый holding-регистрОдиннадцатый holding-регистр
Традиционная ссылка4000140011
Адрес протокола с нуля010
Индекс регистра с единицы111

Это пример, не универсальное правило. Руководство может приводить буквальный адрес протокола, в том числе в hex.

Стандартное руководство Weintek MODBUS TCP/IP перечисляет адреса 3x и 4x начиная с 1. Уточните правило драйвера до переноса смещения из другого клиента. Руководство Weintek по MODBUS TCP/IP, страницы 1–2.

Ошибка на один регистр может дать правильный ответ с данными соседнего параметра или смешать половины двух 32-битных чисел. Ответ не доказывает адрес.

Проверьте область: функция 03 читает holding, 04 — input-регистры. Одного числового адреса мало. 

Нужен сменный привод Altivar?

Ознакомьтесь с новыми оригинальными приводами Altivar для технического обслуживания, поиска и устранения неисправностей, а также для замены.

schneider ATV320 (1)

Одинаковые биты могут означать разные числа

Регистр Modbus несёт 16 бит. Приложение определяет: число со знаком или без, BCD, флаги или часть большего значения.

Вычисленные примеры показывают важность формата:

Исходный шаблонИнтерпретацияРезультат
0xFF9C16-битное целое без знака65436
0xFF9C16-битное целое со знаком−100
0x1234Двоичное целое без знака4660
0x1234Упакованный BCD1234
0x4148000032-битное число IEEE 754 с плавающей точкой12.5
0x4148000032-битное целое без знака1095237632

Последние две строки используют те же 32 бита. Число десятичных знаков не превращает целое в плавающее.

Если положительные верны, а отрицательные огромны, проверьте знак. Счётчик, ошибающийся после 32 767, может быть интерпретирован как 16-битный со знаком.

Для 32 бит в двух 16-битных регистрах проверьте оба и начальный адрес. Выбор 32-битного формата не сдвигает адрес и не подтверждает второй регистр.

Порядок слов и байтов проверяют отдельно

Modbus отправляет старший байт 16-битного регистра первым. Это не задаёт порядок двух слов 32-битного значения. Следуйте карте сервера. 

Пример: число 12,5 имеет шаблон IEEE 754 0x41480000:

Расположение регистров сервераRegister NRegister N+1
Старшее слово первым0x41480x0000
Младшее слово первым0x00000x4148

HMI должна собрать слова в правильную последовательность до интерпретации float.

Для различения перестановок обозначьте четыре байта A B C D:

ОперацияИтоговая последовательность байтов
Без перестановкиA B C D
Поменять местами два 16-битных словаC D A B
Поменять байты внутри каждого словаB A D C
Выполнить обе перестановкиD C B A

Слово «swap» слишком расплывчато. Укажите конкретную перестановку и где она применяется.

Где Weintek выполняет преобразование

Руководство TCP/IP описывает System Parameter Settings → Device Properties → Conversion и определяет 5x как holding-регистр с двойной перестановкой слов. 5x это соглашение драйвера, а не новая стандартная область Modbus. 

Руководство RTU/RTU-over-TCP требует выбрать 3x_Double или 4x_Double для преобразования ABCD → CDAB. Следуйте инструкции установленного драйвера. 

До добавления преобразования проверьте макросы и передачи. Две перестановки могут взаимно отменяться. Настройка всего устройства может испортить уже правильные объекты.

Подберите подходящий ПЛК для вашей системы

Ознакомьтесь с новыми оригинальными процессорами ПЛК, модулями ввода/вывода, источниками питания и коммуникационными блоками для проектов технического обслуживания и автоматизации.

schneider PLC

Масштабируйте после правильного декодирования

Если температура дана целым со знаком в десятых долях градуса, сырое значение 253 означает 25,3 °C.

Это отличается от передачи числа с плавающей точкой 25.3.

Проследите путь значения:

Регистры сервера → декодированное число → пересчёт единиц → отображаемое значение

Определите каждую стадию. Если PLC уже пересчитал в инженерные единицы, а HMI снова делит, величина ошибочна даже при правильном адресе и порядке слов.

Десятичный формат, линейное масштабирование и пересчёт единиц должны быть обоснованы. Не настраивайте лишь ради одного правдоподобного числа.

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

Обновите или замените свой HMI.

Найдите совместимые панели HMI для снятых с производства моделей, модернизации оборудования и замены операторского интерфейса.

schneider hmi

Часто задаваемые вопросы

Нет. Уточните, приводит ли руководство традиционный номер, индекс с единицы или адрес протокола с нуля. Затем проверьте преобразование драйвера. Повторное вычитание единицы создаст ошибку смещения.

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

Нет. У Weintek 5x означает доступ к holding-регистру с перестановкой слов; чтение остаётся функцией 03. Меняется интерпретация, не область. 

Проверьте поддерживаемые сервером функции записи, адрес и права. TCP-драйвер Weintek применяет функцию 16 для 4x записи, а функцию 06 для 6x записи одного регистра. Требования записи могут отличаться от чтения.

Да. Соседний регистр может содержать похожее измерение, неверное преобразование случайно даёт правдоподобное число. Сверьте несколько известных значений, адрес, сырые слова и единицы. Правдоподобие не доказывает карту.

Оснастите проекты новыми оригинальными HMI Omron, Weintek и Proface — в наличии на складе!

Проверьте исправление на других объектах

Когда сырые слова и значение совпадают, измените только установленную настройку в контролируемой копии проекта.

Проверьте положительные, отрицательные, дробные значения и границы. При изменении преобразования устройства повторно проверьте объекты того же драйвера.

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

Запись проверяйте отдельно. Правильное чтение не подтверждает адрес записи, кодирование или функциональный код. Проверяйте команды только по утверждённой процедуре с копией и планом восстановления.

Если рассматривается замена HMI, укажите Kwoco модель панели, интерфейсы и требования проекта. Одни неверные числа не доказывают аппаратную неисправность.

Связаться с нами

Просто заполните свое имя, адрес электронной почты и краткое описание вашего запроса в этой форме. Мы свяжемся с вами в течение 24 часов.

Горячие продажи товаров

Модуль центрального процессора Omron CJ2M-CPU32

Поставщик ПЛК Omron CJ1W-PA202 в Китае

Сервопривод Mitsubishi MR-JE серии 400 Вт MR-JE-40A

Нужен быстрый матч?

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

Эти темы также могут быть вам интересны

Сетевое автоматическое ПЛК

Почему промышленный Ethernet — верный выбор для сетей автоматизации ПЛК

В нынешней волне интеллектуального производства и «Рынка 4.0» возможности сетевого взаимодействия программируемых логических контроллеров (ПЛК), являющихся ядром автоматизации, приобретают особую ценность.

Читать далее "
серводвигатель

5 типов серводвигателей: полное руководство

Сервомоторы являются неотъемлемыми компонентами современных систем автоматизации, робототехники и управления. Они обеспечивают точное управление движением, что крайне важно в современных системах автоматизации, робототехники и управления.

Читать далее "

Запросить ценовое предложение

*Мы уважаем вашу конфиденциальность и сохраняем ваши данные в тайне.