Список регистров Modbus
Чтение параметра: функции 0x03; 0x04.
Групповая запись параметров: функция 0x10.
Для параметров, у которых есть функциональные ограничения, такие как ENUM и уставки, при попытке записи данных все доступного диапазона, должна возвращаться ошибка без записи.
Если в групповой записи хотя бы для одного параметра передается недопустимое значение, то должна возвращаться ошибка без записи всех параметров в групповой записи.
Общий список регистров
Параметр | Адрес (dec) | Адрес (hex) | Описание | Тип данных |
|---|---|---|---|---|
| Архив (см. раздел) | ||||
Период архивирования | 900 | 0x0384 | Частота записи архива. Указывается в секундах. Если 0 – Архивация не ведется | Unsigned 16 |
Количество архивов | 901 | 0x0385 | Unsigned 32 | |
Размер архива | 908 | 0x038C | Unsigned 32 | |
Последний индекс архива | 910 | 0x038E | Unsigned 32 | |
| Часы реального времени | ||||
Время в миллисек | 61563 | 0xF07B | Время работы прибора с момента подачи питания (USB или внешнего) | Unsigned 32 |
Время и дата (UTC) | 61553 | 0xF071 | Текущее время в секундах от 1 января 2000 г. | Date time 32 |
Часовой пояс | 61555 | 0xF073 | Задает часовой пояс, в котором находится прибор | Enum 38 |
| Переменные даты и времени (см. раздел) | ||||
Секунды | 61557 | 0xF075 | — | Unsigned 8 |
Минуты | 61558 | 0xF076 | — | Unsigned 8 |
Часы | 61559 | 0xF077 | — | Unsigned 8 |
Дни | 61560 | 0xF078 | — | Unsigned 8 |
Месяцы | 61561 | 0xF079 | — | Unsigned 8 |
Годы | 61562 | 0xF07A | — | Unsigned 16 |
День недели | 61556 | 0xF074 | — | Enum 8 |
| Батарея | ||||
Напряжение | 801 | 0x0321 | — | Unsigned 16 |
Пороговое напряжение | 800 | 0x0320 | — | Unsigned 16 |
Состояние | 802 | 0x0322 | — | Enum 2 |
| Настройки Ethernet* (см. раздел) | ||||
MAC адрес | 61712 | 0xF110 | Устанавливается на заводе-изготовителе и является неизменным | String 144 |
| Установить IP адрес | 20 | 0x0014 | Записывает измененный параметр в энергонезависимую память прибора | Unsigned 32 |
| Установить маску подсети | 22 | 0x0016 | Unsigned 32 | |
| Установить IP адрес шлюза | 24 | 0x0018 | Unsigned 32 | |
Режим DHCP | 32 | 0x0020 | Настройка режима работы DHCP. Возможные значения: 0 – выкл. 1 – вкл. | Enum 2 |
Применить | 33 | 0x0021 | Используется для записи в энергонезависимую память новых значений: 0 — нет, 1 — да | Enum 2 |
Статус подключения | 34 | 0x0022 | Отображает статус подключения прибора к сети Ethernet: 0 — Отсутствует MAC, 1 — Норма, 2 — Кабель не подключен, 3 — DHCP сервер не доступен 4 — Ошибка интерфейса | Enum 6 |
| Текущие настройки | ||||
MAC адрес | 61712 | 0xF110 | МАС-адрес интерфейса Ethernet. Задается на заводе-изготовителе | String 144 |
Текущий IP адрес | 26 | 0x001A | Текущие параметры с которыми работает интерфейс Ethernet | Unsigned 32 |
Текущая маска подсети | 28 | 0x001C | Unsigned 32 | |
Текущий IP адрес шлюза | 30 | 0x001E | Unsigned 32 | |
| Параметры интерфейса RS-485** (см. раздел) | ||||
Скорость | 750 | 0x02EE | Скорость работы СОМ-порта. Возможные значения: 3 – 9600 бит/с 4 – 14400 бит/с 5 – 19200 бит/с 6 – 38400 бит/с 7 – 57600 бит/с 8 – 115200 бит/с | Enum 6 |
Размер данных | 751 | 0x02EF | Размер данных в посылке. Возможные значения: 0 – 8 бит 1 – 7 бит | Enum 2 |
Контроль четности | 752 | 0x02F0 | Количество стоп-бит. Возможные значения: 0 – нет 1 – нечет 2 – чет | Enum 3 |
Кол. стоп-битов | 753 | 0x02F1 | Возможные значения: 0 – 1 стоп 1 – 2 стопа | Enum 2 |
Slave ID | 754 | 0x02F2 | Адрес прибора в сети RS-485. По умолчанию — 16 | Unsigned 8 |
| Modbus Slave* | ||||
Таймаут перехода в безопасное состояние | 700 | 0x02BC | Прибор переходит в безопасное состояние, если в течение времени тайм-аута отсутствуют команды от Мастера сети. Если значение 0, то переход в безопасное состояние отключен | Unsigned 8 |
Отсутствует сетевой обмен по Modbus | 53248 | 0xD000 | — | Enum 2 |
| Права удалённого доступа из OwenCloud* | ||||
Разрешение конфигурирования | 701 | 0x02BD | Возможные значения: 0 — запрещено, 1 — разрешено | Enum 2 |
Управление и запись значений | 702 | 0x02BE | Возможные значения: 0 — заблокировано, 1 — разрешено | Enum 2 |
Доступ к регистрам Modbus | 703 | 0x02BF | Возможные значения: 0 — полный запрет, 1 — только чтение, 2 — только запись, 3 — полный доступ | Enum 4 |
| USB host (см. раздел) | ||||
Статус устройства | 59990 | 0xEA56 | Статус подключенного устройства (см. таблицу) | Enum 9 |
| Имя папки | 59991 | 0xEA57 | Имя папки на USB flash в которую пишется архив | String 128 |
Процент записи | 59999 | 0xEA5F | Отображает количество процентов до окончания записи на USB flash | Unsigned 8 |
| Пользовательский экран (см. раздел) | ||||
Экран 1 | 1020 | 0x03FC | Параметры для выбора, что отображается на верхнем и нижнем ЦИ | Enum 9 |
Экран 2 | 1022 | 0x03FE | Enum 9 | |
Экран 3 | 1024 | 0x0400 | Enum 9 | |
Время бездействия | 1026 | 0x0402 | Время автоматического возврата из меню настроек в режим отображения параметров при отсутствии активности (нажатия кнопок) | Enum 5 |
Смена экранов | 1028 | 0x0404 | Автоматическая смена экранов отображения параметров. Выбирается из списка в секундах | Enum 6 |
Режим ВУ | 1030 | 0x0406 | Настройка вывода параметра мощности (только для аналогового выхода) | Enum 2 |
| Устройство 1 (см. раздел) | ||||
Тип датчика | 60024 | 0xEA78 | Тип устройства. Для ЛУ Наработки времени с высоким уровнем сигнала время считается после среза, с низким – после фронта | Enum 5 |
Множитель | 60025 | 0xEA79 | Показания счетчика/тахометра умножаются на множитель и отображаются на ЦИ | Float 32 |
Измеренное значение | 60002 | 0xEA62 | — | Float 32 |
Положение десятичной точки | 60027 | 0xEA7B | Положение десятичной точки. Авто – прибор
определяет значение целой части и отображает ее полностью, остальные
разряды относит на дробную часть (если она есть): 0...5 – отображается количество знаков после точки | Enum 7 |
Работа при уставке | 60028 | 0xEA7C | Enum 3 | |
Работа при сбросе | 60029 | 0xEA7D | Enum 3 | |
Блокировка сброса с кнопки | 60030 | 0xEA7E | Блокировка кнопки сброса для счетчика и наработки времени | Enum 2 |
Вход 1 | 60031 | 0xEA7F | Выбор функции для входа | Enum 12 |
Вход 2 | 60032 | 0xEA80 | Enum 12 | |
Вход 3 | 60033 | 0xEA81 | Enum 12 | |
Вход 4 | 60034 | 0xEA82 | Enum 12 | |
Вход 5 | 60035 | 0xEA83 | Enum 12 | |
Состояние | 60004 | 0xEA64 | Отображение текущего состояния ЛУ | Enum 6 |
Маска событий | 60005 | 0xEA65 | Битовая маска событий ВУ | Unsigned 16 |
Сброс | 60111 | 0xEACF | Алгоритм работы при сигнале Сброс (внешний или кнопка) | Unsigned 8 |
| Параметры счетчика/энкодера (см. раздел) | ||||
Режим | 60018 | 0xEA72 | Режим работы для счетчика | Enum 5 |
Начальное значение | 60019 | 0xEA73 | Начальное значение для счетчика. Данное значение присваивается счетчику/энкодеру при изменении типа устройства, а затем включении счетчика/энкодера | Signed 32 |
| Параметры тахометра (см. раздел) | ||||
| Масштаб тахометра 1 | 60021 | 0xEA75 | Масштаб отображения. Масштаб тахометра определяет на какой коэффициент умножается измеренное значение:
| Enum 4 |
| Параметры счетчика наработки (см. раздел) | ||||
Масштаб счетчика наработки | 60022 | 0xEA76 | Масштаб отображения счетчика наработки. Если текущее значение времени больше, чем умещается в данный формат, то автоматически будет выбран следующий. Возможные значения: Часы/Минуты/Секунды Часы/Мин Часы | Enum 3 |
Число срабатываний счетчика наработки 1 | 60000 | 0xEA60 | Число срабатываний счетчика наработки | Unsigned 32 |
Старт работы счетчика наработки | 60023 | 0xEA77 | Старт работы счетчика наработки | Enum 2 |
| Устройство 2 (см. раздел) | ||||
Тип датчика | 60042 | 0xEA8A | Тип устройства. Для ЛУ Наработки времени с высоким уровнем сигнала время считается после среза, с низким – после фронта | Enum 5 |
Множитель | 60043 | 0xEA8B | Показания счетчика/тахометра умножаются на множитель и отображаются на ЦИ | Float 32 |
Измеренное значение | 60011 | 0xEA6B | — | Float 32 |
Положение десятичной точки | 60045 | 0xEA8D | Положение десятичной точки. Авто – прибор определяет значение целой части и отображает ее полностью, остальные разряды относит на дробную часть (если она есть): 0...5 – отображается количество знаков после точки | Enum 7 |
Работа при уставке | 60046 | 0xEA8E | Enum 3 | |
Работа при сбросе | 60047 | 0xEA8F | Enum 3 | |
Блокировка сброса с кнопки | 60048 | 0xEA90 | Блокировка кнопки сброса для счетчика и наработки времени | Enum 2 |
Вход 1 | 60049 | 0xEA91 | Выбор функции для входа | Enum 12 |
Вход 2 | 60050 | 0xEA92 | Enum 12 | |
Вход 3 | 60051 | 0xEA93 | Enum 12 | |
Вход 4 | 60052 | 0xEA94 | Enum 12 | |
Вход 5 | 60053 | 0xEA95 | Enum 12 | |
Состояние | 60013 | 0xEA6D | Отображение текущего состояния ЛУ | Enum 6 |
Маска событий | 60014 | 0xEA6E | Unsigned 16 | |
Сброс | 60112 | 0xEAD0 | Алгоритм работы при сигнале Сброс (внешний или кнопка) | Unsigned 8 |
| Параметры счетчика/энкодера (см. раздел) | ||||
Режим | 60036 | 0xEA84 | Режим работы для счетчика | Enum 5 |
Начальное значение | 60037 | 0xEA85 | Начальное значение для счетчика. Данное значение присваивается счетчику/энкодеру при изменении типа устройства, а затем включении счетчика/энкодера | Signed 32 |
| Параметры тахометра (см. раздел) | ||||
| Масштаб тахометра 2 | 60039 | 0xEA87 | Масштаб отображения. Масштаб тахометра определяет на какой коэффициент умножается измеренное значение:
| Enum 4 |
| Параметры счетчика наработки (см. раздел) | ||||
Масштаб счетчика наработки | 60040 | 0xEA88 | Масштаб отображения счетчика наработки. Если текущее значение времени больше, чем умещается в данный формат, то автоматически будет выбран следующий. Возможные значения: Часы/Минуты/Секунды Часы/Мин Часы | Enum 3 |
Число срабатываний счетчика наработки 2 | 60009 | 0xEA69 | Число срабатываний счетчика наработки | Unsigned 32 |
Старт работы счетчика наработки | 60041 | 0xEA89 | Старт работы счетчика наработки | Enum 2 |
| Вход 1 (см. раздел) | ||||
Логический уровень | 60054 | 0xEA96 | Тип датчика на входе. NPN и PNP датчики имеют внешнюю подтяжку к плюсу или минусу ИП24. TTL и HTL не имеют внешней подтяжки, логика определяется типом уровня (низкий или высокий) | Enum 4 |
Минимальная длительность импульса, мкс | 60055 | 0xEA97 | Фильтр минимальной длительность импульса (мкс). После детектирования фронта/среза прибор отсчитывает время. Если импульс исчез за время меньшее, чем значение данного параметра – то прибор игнорирует данный импульс в подсчете | Unsigned 32 |
| Минимальная длительность паузы, мкс | 60057 | 0xEA99 | Фильтр минимальной длительности паузы (мкс) | Unsigned 32 |
| Вход 2 (см. раздел) | ||||
Логический уровень | 60059 | 0xEA9B | Тип датчика на входе. NPN и PNP датчики имеют внешнюю подтяжку к плюсу или минусу ИП24. TTL и HTL не имеют внешней подтяжки, логика определяется типом уровня (низкий или высокий) | Enum 4 |
Минимальная длительность импульса, мкс | 60060 | 0xEA9C | Фильтр минимальной длительность импульса (мкс). После детектирования фронта/среза прибор отсчитывает время. Если импульс исчез за время меньшее, чем значение данного параметра – то прибор игнорирует данный импульс в подсчете | Unsigned 32 |
Минимальная длительность паузы, мкс | 60062 | 0xEA9E | Фильтр минимальной длительности паузы (мкс) | Unsigned 32 |
| Вход 3 (см. раздел) | ||||
Логический уровень | 60064 | 0xEAA0 | Тип датчика на входе. NPN и PNP датчики имеют внешнюю подтяжку к плюсу или минусу ИП24. TTL и HTL не имеют внешней подтяжки, логика определяется типом уровня (низкий или высокий) | Enum 4 |
Минимальная длительность импульса, мкс | 60065 | 0xEAA1 | Фильтр минимальной длительность импульса (мкс). После детектирования фронта/среза прибор отсчитывает время. Если импульс исчез за время меньшее, чем значение данного параметра – то прибор игнорирует данный импульс в подсчете | Unsigned 32 |
Минимальная длительность паузы, мкс | 60067 | 0xEAA3 | Фильтр минимальной длительности паузы (мкс) | Unsigned 32 |
| Вход 4 (см. раздел) | ||||
Логический уровень | 60069 | 0xEAA5 | Тип датчика на входе. NPN и PNP датчики имеют внешнюю подтяжку к плюсу или минусу ИП24. TTL и HTL не имеют внешней подтяжки, логика определяется типом уровня (низкий или высокий) | Enum 4 |
Минимальная длительность импульса, мкс | 60070 | 0xEAA6 | Фильтр минимальной длительность импульса (мкс). После детектирования фронта/среза прибор отсчитывает время. Если импульс исчез за время меньшее, чем значение данного параметра – то прибор игнорирует данный импульс в подсчете | Unsigned 32 |
Минимальная длительность паузы, мкс | 60072 | 0xEAA8 | Фильтр минимальной длительности паузы (мкс) | Unsigned 32 |
| Вход 5 (см. раздел) | ||||
Логический уровень | 60074 | 0xEAAA | Тип датчика на входе. NPN и PNP датчики имеют внешнюю подтяжку к плюсу или минусу ИП24. TTL и HTL не имеют внешней подтяжки, логика определяется типом уровня (низкий или высокий) | Enum 4 |
Минимальная длительность импульса, мкс | 60075 | 0xEAAB | Фильтр минимальной длительность импульса (мкс). После детектирования фронта/среза прибор отсчитывает время. Если импульс исчез за время меньшее, чем значение данного параметра – то прибор игнорирует данный импульс в подсчете | Unsigned 32 |
Минимальная длительность паузы, мкс | 60077 | 0xEAAD | Фильтр минимальной длительности паузы (мкс) | Unsigned 32 |
| Выход 1 (см. раздел) | ||||
Уставка S | 60079 | 0xEAAF | Значение уставки для срабатывания по превышению значения. Параметр только для счетчика/тахометра/энкодера | Float 32 |
Уставка Н | 60081 | 0xEAB1 | Уставка только для для счетчика наработки. Задается XX.xx.xx → xx.XX.xx → xx.xx.XX | Time 32 |
Состояние ВУ по умолчанию | 60094 | 0xEABE | Для аналогового ВУ | Enum 2 |
Тип выхода | 60006 | 0xEA66 | Enum 4 | |
Значение | 60007 | 0xEA67 | Float 32 | |
| Аналоговый выход (см. раздел) | ||||
Режим регистратора | 60083 | 0xEAB3 | Enum 4 | |
Нижнее значение | 60084 | 0xEAB4 | Float 32 | |
Верхнее значение | 60086 | 0xEAB6 | Float 32 | |
Дельта | 60088 | 0xEAB8 | Дельта (для П-регуляторов) — зона пропорциональности. Зона пропорциональности соответствует диапазону: от Уставка – Дельта до Уставка + Дельта | Float 32 |
| Дискретный выход (см. раздел) | ||||
Гистерезис | 60090 | 0xEABA | Гистерезис срабатывания дискретного ВУ тахометра. Для исключения дребезга ВУ при значении Входа около уставки. Для включения ВУ требуется достигнуть уставки, для отключения: уставка минус гистерезис. (Только для Дискретного ВУ и Тахометра) | Unsigned 32 |
Режим выхода | 60092 | 0xEABC | Режим работы выхода при достижении уставки | Enum 3 |
Время удержания ВУ, с | 60093 | 0xEABD | Время удержания активного ВУ для режимов Вкл.Врм и Вкл.крт | Unsigned 16 |
| Выход 2 (см. раздел) | ||||
Уставка S | 60095 | 0xEABF | Значение уставки для срабатывания по превышению значения. Параметр только для счетчика/тахометра/энкодера | Float 32 |
Уставка Н | 60097 | 0xEAC1 | Уставка только для счетчика наработки. Задается XX.xx.xx → xx.XX.xx → xx.xx.XX | Time 32 |
Состояние ВУ по умолчанию | 60110 | 0xEACE | Для аналогового ВУ | Enum 2 |
Тип выхода | 60015 | 0xEA6F | Enum 4 | |
Значение | 60016 | 0xEA70 | Float 32 | |
| Аналоговый выход (см. раздел) | ||||
Режим регистратора | 60099 | 0xEAC3 | Enum 4 | |
Нижнее значение | 60100 | 0xEAC4 | Float 32 | |
Верхнее значение | 60102 | 0xEAC6 | Float 32 | |
Дельта | 60104 | 0xEAC8 | Дельта (для П-регуляторов) — зона пропорциональности. Зона пропорциональности соответствует диапазону: от Уставка – Дельта до Уставка + Дельта | Float 32 |
| Дискретный выход (см. раздел) | ||||
Гистерезис | 60104 | 0xEB52 | Гистерезис срабатывания дискретного ВУ тахометра. Для исключения дребезга ВУ при значении Входа около уставки. Для включения ВУ требуется достигнуть уставки, для отключения: уставка минус гистерезис. (Только для Дискретного ВУ и Тахометра) | Unsigned 32 |
Режим выхода | 60108 | 0xEB54 | Режим работы выхода при достижении уставки | Enum 3 |
Время удержания ВУ, с | 60109 | 0xEB56 | Время удержания активного ВУ для режимов Вкл.Врм и Вкл.крт | Unsigned 16 |
* Только для исполнений с интерфейсом Ethernet.
** Только для исполнений с интерфейсом RS-485.
Работа по протоколу Modbus
Список поддерживаемых функций
Название функции | Код согласно спецификации Modbus | Описание функции |
|---|---|---|
MODBUS_READ_HOLDING_REGISTERS | 3 (0x03) | Чтение значений из одного или нескольких регистров хранения |
MODBUS_READ_INPUT_REGISTERS | 4 (0x04) | Чтение значений из одного или нескольких регистров ввода |
MODBUS_WRITE_SINGLE_REGISTER | 6 (0x06) | Запись значения в один регистр |
MODBUS_WRITE_MULTIPLE_REGISTERS | 16 (0x10) | Запись значений в несколько регистров |
MODBUS_READ_FILE_RECORD | 20 (0x14) | Чтение архива из файла |
MODBUS_WRITE_FILE_RECORD | 21 (0x15) | Запись архива в файл |
Параметры битовой маски могут читаться функциями 0х03 и 0х01. При использовании функции 0x01 номер регистра следует умножить на 16 и прибавить номер бита.
Общие регистры оперативного обмена по протоколу Modbus
| Название | Регистр | Размер | Тип | Описание |
|---|---|---|---|---|
| Название (имя) прибора для показа пользователю (DEV) | 0xF000 | 32 байта | Символьная строка | Кодировка Win-1251 |
| Версия встроенного ПО прибора для показа пользователю (VER) | 0xF010 | 32 байта | Символьная строка | Кодировка Win-1251 |
| Название платформы | 0xF020 | 32 байта | Символьная строка | Кодировка Win-1251 |
| Версия платформы | 0xF030 | 32 байта | Символьная строка | Кодировка Win-1251 |
| Версия аппаратного обеспечения | 0xF040 | 16 байт | Символьная строка | Кодировка Win-1251 |
| Дополнительная символьная информация | 0xF048 | 16 байт | Символьная строка | Кодировка Win-1251 |
| Время и дата | 0xF080 | 4 байта | Unsigned 32 | В секундах с 2000 г. |
| Часовой пояс | 0xF082 | 2 байта | Signed short | Смещение в минутах от Гринвича |
| Заводской номер прибора | 0xF084 | 32 байта | Символьная строка | Кодировка Win-1251, используется 17 символов |
Основные форматы данных
| Формат данных | Кол-во регистров | Размер | Описание |
|---|---|---|---|
| Unsigned 16 | 1 | 2 байта | Целое число без знака |
| Unsigned 32 | 2 | 4 байта | |
| Signed 16 | 1 | 2 байта | Целое число со знаком |
| Date time 32 | 2 | 4 байта | Дата/Время в секундах с 1 января 2000 г. |
Специальные форматы данных
| Формат данных | Кол-во регистров | Размер | Описание |
|---|---|---|---|
| Enum хх | 1 | 1 байт | Описывает позицию выбранного параметра из списка доступных, например, тип датчика |
| Float 32 | 2 | 4 байт | Вещественный формат представления данных |
| Unsigned 8 | 1 | 1 байт | Целочисленный беззнаковый формат |
| String 48 | 3 | 6 байт | Строка из шести символов |
| String 64 | 4 | 8 байт | Строка из восьми символов |
| String 128 | 8 | 16 байт | Строка из шестнадцати символов |
Список регистров Modbus представлен в таблице А..
При работе с переменными, занимающими два и более регистра:
порядок байт — старшим байтом вперед;
порядок регистров — младшим регистром вперед.
Обработка ошибок обмена по Modbus
Список кодов общих ошибок Modbus
Возвращаемый код* | Описание ошибки |
|---|---|
01 | В приборе не реализована обработка запрашиваемого кода функции |
02 | Адрес данных, указанный в запросе, отсутствует в приборе. Критерии проверки – соответствие диапазону начального адреса регистра и количество регистров |
03 | Значение, содержащееся в поле данных запроса, является недопустимой величиной. Критерий проверки – соответствие длины записываемых или читаемых данных размерности типа регистра; соответствие записываемой величины условиям минимального и максимального значений регистра |
04 | Невосстанавливаемая ошибка. Критерий – получение запроса при нахождении прибора в состоянии «Авария» |
| 05 | Запрос принят в работу, но на его обработку требуется много времени. Код ошибки предохраняет ведущее устройство от генерации ошибки тайм-аута. Критерий проверки – время на обработку запроса превышает заданное значение (например, при приеме запроса при исполнении программы логики) |
| 06 | Устройство занято. Критерий – прием запроса при наличии в обработке предыдущего запроса |
| 08 | Ошибка при обращении с запросами на чтение (функция 20) или запись (функция 21) файла. Критерий – неверная CRC или нарушение целостности файла при его чтении из памяти |
Обработка пакетов производится в следующем порядке:
Проверяется валидность пакета. Не прошедший проверку пакет отбрасывается.
Проверяется адрес (SlaveID), если получен чужой пакет, то такой пакет игнорируется.
Проверка на функцию Modbus.
Если приходит запрос с функцией не из таблицы выше, то выдается ошибка «MODBUS_ILLEGAL_FUNCTION».
Расшифровка ошибок данных и файлов приведена в таблицах ниже.
Обработка ошибок данных
| Используемая функция | Наименование ошибки | Возможная причина ошибки |
|---|---|---|
| MODBUS_READ_ HOLDING_REGISTERS | MODBUS_ILLEGAL_DATA_ADDRESS | Количество запрашиваемых регистров больше максимально возможного числа (125). Запрос несуществующего параметра |
| MODBUS_READ_INPUT_ REGISTERS | MODBUS_ILLEGAL_DATA_ADDRESS | Количество запрашиваемых регистров больше максимально возможного числа (125). Запрос несуществующего параметра |
| MODBUS_WRITE_SINGLE_ REGISTER | MODBUS_ILLEGAL_DATA_ADDRESS | Попытка записи параметра, размер которого превышает 2 байта. Попытка записи параметра, доступ на запись к которому запрещен. Попытка записи параметра такого типа, который данная функция не поддерживает. Запрос несуществующего параметра. Поддерживаемые типы данных:
|
| MODBUS_ILLEGAL_DATA_VALUE | Выход за пределы максимального или минимального ограничений для параметра | |
| MODBUS_WRITE_ MULTIPLE_REGISTERS | MODBUS_ILLEGAL_DATA_ADDRESS | Запись несуществующего параметра. Попытка записи параметра, доступ на запись к которому запрещен. Количество записываемых регистров больше максимального возможного числа (123) |
| MODBUS_ILLEGAL_DATA_VALUE | Не найден терминирующий символ (\0) в строковом параметре. Размер запрашиваемых данных меньше размера первого или последнего в запросе параметра. Выход за пределы максимального или минимального ограничений для параметра |
Ошибки во время работы с файлами архива
| Используемая функция | Наименование ошибки | Возможная причина ошибки |
|---|---|---|
| MODBUS_READ_FILE_ RECORD | MODBUS_ILLEGAL_ FUNCTION | Ошибочный размер данных (0x07 ≤ data length ≤ 0xF5) |
| MODBUS_ILLEGAL_DATA_ ADDRESS | Reference type не соответствует спецификации; не удалось открыть файл для чтения (возможно, он отсутствует) | |
| MODBUS_ILLEGAL_DATA_ VALUE | Не удалось переместиться к нужному смещению в файле | |
| MODBUS_SLAVE_DEVICE_ FAILURE | Ошибка удаления файла при запросе на удаление. Запрос слишком большого количества данных (больше 250 байт). Недопустимый record number (больше 0x270F). Недопустимый record length (больше 0x7A) | |
| MODBUS_WRITE_FILE_ RECORD | MODBUS_ILLEGAL_ FUNCTION | Ошибочный размер данных (0x09 ≤ data length ≤ 0xFB) |
| MODBUS_ILLEGAL_DATA_ ADDRESS | Reference type не соответствует спецификации. Не удалось открыть файл для записи | |
| MODBUS_SLAVE_DEVICE_ FAILURE | Запрашиваемый файл отсутствует. Запрашиваемый файл доступен только для чтения. Не удалось записать необходимое количество байт |