oven — 4.7.8 Обработка ошибок обмена по Modbus

4 Настройка и программирование 4.7.8 Обработка ошибок обмена по Modbus Таблица 4.17 – Список кодов общих ошибок Modbus Обработка пакетов производится в следующем порядке: 1. Проверяется валидность пакета. Не прошедший проверку пакет отбрасывается. 2. Проверяется адрес (SlaveID), если получен чужой пакет, то такой пакет игнорируется. 3. Проверка на функцию Modbus. Если приходит запрос с функцией, не из таблицы выше, то выдается ошибка «MODBUS_ILLEGAL_ FUNCTION». Расшифровка ошибок данных и файлов приведена в таблицах ниже.

Таблица 4.18 – Обработка ошибок данных 40 Возвращаемый код согласно спецификации Modbus Описание ошибки 01 В приборе не реализована обработка запрашиваемого кода функции 02 Адрес данных, указанный в запросе, отсутствует в приборе. Критерии проверки – удовлетворение диапазону начального адреса регистра и количество регистров 03 Значение, содержащееся в поле данных запроса, является недопустимой величиной. Критерий проверки – соответствие длины записываемых или читаемых данных размерности типа регистра; соответствие записываемой величины условиям минимального и максимального значений регистра 04 Невосстанавливаемая ошибка.

Критерий – получение запроса при нахождении прибора в состоянии «Авария» 05 Запрос принят в работу, но на его обработку требуется много времени. Код ошибки предохраняет ведущее устройство от генерации ошибки тайм-аута. Критерий проверки – время на обработку запроса превышает заданное значение (например, при приеме запроса при исполнении программы логики) 06 Устройство занято. Критерий – прием запроса при наличии в обработке предыдущего запроса 08 Ошибка при обращении с запросами на чтение (функция 20) или запись (функция 21) файла.

Критерий – неверная CRC или нарушение целостности файла при его чтении из памяти Используемая функция Наименование ошибки Возможные ситуации, приводящие к ошибке MODBUS READ HOLDING _ _ _ REGISTERS MODBUS ILLEGAL DATA _ _ _ ADDRESS Количество запрашиваемых регистров больше максимально возможного числа (125). Запрос несуществующего параметра MODBUS READ INPUT _ _ _ REGISTERS MODBUS ILLEGAL DATA _ _ _ ADDRESS Количество запрашиваемых регистров больше максимально возможного числа (125). Запрос несуществующего параметра