КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Реакция на ошибки MODBUS
Если ведущее устройство передает ведомому запрос, оно ожидает нормальный ответ (нормальное выполнение запроса). С запросом ведущего устройства может произойти одно из четырех событий: · Если ведомое устройство приняло запрос без коммуникационных ошибок и может нормально обработать его, оно возвращает нормальный ответ. · Если ведомое устройство не приняло запрос вследствие коммуникационной ошибки, он не будет возвращать ответ. Ведущее устройство, в конечном счете, должно обнаружить превышение времени ожидания ответа на запрос. · Если ведомое устройство приняло запрос, но обнаружило коммуникационную ошибку (ошибка четности, LRC, CRC, …), ответ не возвращается. Ведущее устройство в конечном счете должно обнаружить превышение времени ожидания ответа на запрос. · Если ведомое устройство приняло запрос без коммуникационных ошибок, но не может выполнить его (например, если запрос требует считывания несуществующих внешних входных линий или регистров), ведомое устройство возвращает сообщение об ошибке, информируя клиента о природе ошибки. Сообщения об ошибке имеют два поля, чей формат отличается от формата нормального ответа: Поле кода функции: в нормальном ответе ведомое устройство возвращает без изменений код функции, переданный в запросе. Все коды функций имеют старший значащий бит равным 0 (их значения меньше числа 80h). При передаче ответа – сообщения об ошибке ведомое устройство устанавливает в старшем значащем бите кода функции значение 1. Это делает значение кода функции на больше 80h, чем значение в нормальном ответе. По установленному старшему значащему биту в коде функции ведущее устройство может определить ответ – сообщение об ошибке и проверить код ошибок в поле данных. Поле данных: в нормальном ответе ведомое устройство может возвращать в области данных данные или статистику (любая информация, которая была затребована в запросе). В ответе—сообщении об ошибке ведомое устройство возвращает в поле данных код ошибки. Он определяет причину, вызвавшую ошибку. Пример запроса ведущего устройства и ответа – сообщения об ошибке ведомого устройства.
В этом примере ведущее устройство адресует запрос к ведомому устройству. Код функции (01) соответствует операции чтения состояния внешних дискретных линий. Он запрашивает состояние выходной линии по адресу 1245 (04A1h). Должна быть считана только одна входная линия. Если входная линия с таким адресом отсутствует в ведомом устройстве, последнее возвращает сообщение об ошибке с кодом ошибки 02. Этот код указывает на неверный адрес данных для ведомого устройства.
Табл. 4.2. Список кодов ошибок MODBUS
Дата добавления: 2015-07-02; Просмотров: 718; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |