Modbus ошибка устройства 129

Содержание:

  1. Компоненты СИМП Лайт
  2. Редактор каналов
  3. Источники данных
  4. Modbus driver
  5. Коды ошибок Modbus

Расшифровка кодов ошибок Modbus:

 

01

  Принятый код функции не может быть обработан.
 

02

  Адрес данных, указанный в запросе, недоступен.
 

03

  Значение, содержащееся в поле данных запроса,
  является недопустимой величиной.
 

04

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

05

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

06

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

07

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

08

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

10 (0A hex)

  

  Шлюз неправильно настроен или перегружен запросами 
 

11 (0B hex)

  Slave устройства нет в сети или от него нет ответа 

Обновлено: 26 мая 2023 г. 16:15

Протокол Modbus RTU компании Modicon поддерживают многие фирмы-производители контроллеров. Протокол предполагает одно активное устройство в линии ( master), которое может обращаться к нескольким пассивным (slave). Синтаксис команд протокола позволяет адресовать 254 устройства, соединенных в одну линию. 

Возможно применение протокола modbus в дуплексных и полудуплексных линиях связи. Физическим уровнем протокола modbus как правило является линия стандарта RS422/RS485, 

однако при соединении точка-точка тот же формат команд может быть использован на любом последовательном асинхронном физическом интерфейсе, в том числе RS-232. Возможно применение протокола modbus в сетевой среде поверх транспортных протоколов UDP/TCP и IPX/SPX.

Протокол modbus подразумевает наличие в линии только одного ведущего устройства (master) и множества подчиненных устройств (slave). Инициатива проведения обмена всегда исходит от ведущего устройства, которое подает запрос (определенная последовательность байт) в линию и переходит в состояние прослушивания линии связи. Ведомое устройство отвечает на запрос, пришедший в его адрес.

Окончание ответной посылки мастер определяет, определяя временные интервалы между окончанием приема предыдущего байта и началом приема следующего. Если этот интервал превысил время, необходимое для приема двух байт на заданной скорости передачи, прием кадра ответа считается завершенным.

Кадры запроса и ответа по протоколу modbus имеют формат, приведенный в ( Таблица 1-1).

Таблица 1-1. Кадр посылки modbus

Поле кадра

Длина в байтах

адрес подчиненного устройства

1

номер функции

1

данные

N < 254

контрольная сумма

2

адрес подчиненного устройства — первое однобайтное поле кадра. Оно содержит адрес подчиненного устройства, к которому адресован запрос. Подчиненные устройства отвечают только на запросы, поступившие в их адрес. Ответ также начинается с адреса отвечающего устройства. Может изменяться от 1 до 254;

номер функции — это следующее однобайтное поле кадра. Оно говорит подчиненному устройству, какие данные или выполнение какого действия требует от него ведущее устройство;

данные — поле содержит информацию необходимую подчиненному устройству для выполнения заданной мастером функции или содержит данные передаваемые подчиненным устройством в ответ на запрос ведущего. Длина и формат поля зависит от номера функции;

контрольная сумма — заключительное двухбайтное поле кадра, содержащее циклическую контрольную сумму CRC-16 всех предыдущих полей кадра. Контрольная сумма завершает кадры запроса и ответа.

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

Ошибки первого типа обнаруживаются при помощи фреймов символов, контроля четности и циклической контрольной суммы CRC16. Результат передается в линию связи с младшего байта.

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

Таблица 1-2. Кадр ответа с ошибкой modbus

Сетевой адрес

Код команды

Код ошибки

CRC — код

01

81

02

C1 91

Могут быть отправлены ответы, имеющие следующие коды (Таблица 1-3):

Таблица 1-3. Коды ошибок modbus.

Код ошибки

Название

Комментарий

01

ILLEGAL FUNCTION

Команда не реализована (недопустимый номер функции)

02

ILLEGAL DATA ADDRESS

Некорректный адрес

03

ILLEGAL DATA VALUE

Некорректные данные

04

FAILURE IN ASSOCIATED DEVICE

 

05

ACKNOWLEDGE

Данные не готовы

06

BUSY, REJECTED MESSAGE

Система занята

07

NAK-NEGATIVE ACKNOWLEDGMENT

 

08

MEMORY PARITY ERROR

 

В протокол Modbus можно выделить несколько подмножеств команд ( Таблица 1-4).

Таблица 1-4. Подмножества команд modbus.

Подмножество команд

Диапазон кодов команд

Стандартные команды

1-21

Резерв для расширенных функций

22-64

Пользовательские

65-119

Резерв для внутренних нужд

120-255

Похожие статьи:

  • Настройка модемов IRZ для обмена данными через CSD соединение
  • Ремонт устройств плавного пуска
  • Твердотельное реле
  • Ремонт АИД-70, УКД-70, АИД-70М, АИД-70Ц, Скат-70
  • Преимущества частотных преобразователей

Время выполнения запроса: 0,00660085678101 секунды.

Во время обмена
данными могут возникать ошибки двух
типов:

  • ошибки, связанные
    с искажениями при передаче данных;

  • логические ошибки.

Ошибки первого
типа обнаруживаются при помощи фреймов
символов, контроля чётности и циклической
контрольной суммы CRC-16-IBM
(используется число-полином
= 0xA001).

Rtu фрейм

В RTU режиме сообщение
должно начинаться и заканчиваться
интервалом тишины — временем передачи
не менее 3.5 символов при данной скорости
в сети. Первым полем затем передаётся
адрес устройства.

Вслед за последним
передаваемым символом также следует
интервал тишины продолжительностью не
менее 3.5 символов. Новое сообщение может
начинаться после этого интервала.

Фрейм сообщения
передаётся непрерывно. Если интервал
тишины продолжительностью 1.5 возник во
время передачи фрейма, принимающее
устройство должно игнорировать этот
фрейм как неполный.

Таким образом,
новое сообщение должно начинаться не
раньше 3.5 интервала, т.к. в этом случае
устанавливается ошибка.

Немного об интервалах
(речь идёт о Serial Modbus RTU): при скорости
9600 и 11 битах в кадре (стартовый бит + 8
бит данных + бит контроля чётности +
стоп-бит): 3.5 * 11 / 9600 = 0,00401041(6), т.е. более
4 мс; 1.5 * 11 / 9600 = 0,00171875, т.е. не более 1 мс.
Для скоростей более 19200 бод допускается
использовать интервалы 1,75 и 0,75 мс
соотвественно.

Логические ошибки

Для сообщений об
ошибках второго типа протокол Modbus RTU
предусматривает, что устройства могут
отсылать ответы, свидетельствующие об
ошибочной ситуации. Признаком того, что
ответ содержит сообщение об ошибке,
является установленный старший бит
кода команды. Пример кадра при выявлении
ошибки ведомым устройством, в ответ на
запрос приведён в (Таблица 2-1).

1. Если Slave принимает
корректный запрос и может его нормально
обработать, то возвращает нормальный
ответ.

2. Если Slave не
принимает какого либо значения, никакого
ответа не отправляется. Master диагностирует
ошибку по таймауту.

3. Если Slave принимает
запрос, но обнаруживает ошибку (parity,
LRC, or CRC), никакого ответа не отправляется.
Master диагностирует ошибку по таймауту.

4. Если Slave принимает
запрос, но не может его обработать
(обращение к несуществующему регистру
и т.д.), отправляется ответ содержащий
в себе данные об ошибке.

Направление
передачи

адрес
подчинённого устройства

номер
функции

данные
(или код ошибки)

CRC

Запрос
(Master→Slave)

0x01

0x77

0xDD

0xC7
0xA9

Ответ
(Slave→Master)

0x01

0xF7

0xEE

0xE6
0x7C

Таблица
2-1. Кадр ответа (Slave→Master) при возникновении
ошибки modbus RTU

Стандартные коды ошибок

01
Принятый код функции не может быть
обработан на подчиненном.

02
Адрес данных указанный в запросе не
доступен данному подчиненному.

03
Величина содержащаяся в поле данных
запроса является не допустимой

величиной
для подчиненного.

04
Невосстанавливаемая ошибка имела место
пока подчиненный пытался выполнить

затребованное
действие.

05
Подчиненный принял запрос и обрабатывает
его, но это требует много времени.

Этот
ответ предохраняет главного от генерации
ошибки таймаута.

06
Подчиненный занят обработкой команды.

Главный
должен повторить сообщение позже, когда
подчиненный освободится.

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

Этот
код возвращается для неудачного
программного запроса, использующего

функции
с номерами 13 или 14.

Главный
должен запросить диагностическую
информацию или информацию об

ошибках
с подчиненного.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Mod conflict detector ошибка сканирования файла
  • Mod conflict detector ошибка загрузки файлов
  • Mocom exacta vacuum коды ошибок
  • Mobile sdk data сбербанк ошибка
  • Mobile legends ошибка сети