Читайте также:
|
|
В функции канального уровня сети MODBUS входит формирование кадра данных и контроль ошибок, которые могут произойти в канале при передаче кадра.
Вышестоящий прикладной уровень формирует адрес узла, функциональный код и соответствующую структуру данных.
Канальный уровень размещает эти коды в заданной последовательности в полях определенной структуры и дополняет их проверочными символами помехоустойчивого кода с целью контроля ошибок (рис.13).
При приеме канальный уровень использует проверочное поле и алгоритм декодирования данных с целью определения ошибок при передаче через канал связи. В качестве кода для обнаружения ошибок применяется циклический код.
Результат проверки (есть/нет ошибки в кадре) сообщается прикладной задаче. При отсутствии ошибок принятый кадр обрабатывается, а в случае обнаружения ошибок реализуется повтор кадра.
В ЛВС MODBUS часть функций канального уровня реализуется программно, часть - аппаратно. Канальный уровень ЛВС MODBUS использует принцип последовательной асинхронной побайтной связи, что позволяет использовать стандартные последовательные интерфейсы микроЭВМ и ПЭВМ. Формат данных при асинхронной связи показан на рис. 14.
Формирование отдельного символа при передаче и его прием реализуются аппаратно средствами ЭВМ.
При передаче текущий байт данных D0...D7 предваряется старт битом, дополняется (при установке соответствующей опции) битом защиты по паритету и стоп-битом. Приемник, обнаружив старт-бит, считывает биты данных D0...D7, выполняет (если это предусмотрено при задании режима работы) проверку по паритету и выставляет прерывание процессору о приеме очередного байта данных с указанием результата проверки данных по паритету.
Протокол MODBUS на канальном уровне регламентирует процедуру формирования кадров из отдельных символов последовательного асинхронного передатчика, реализуемого программно. Предусмотрено два формата передачи данных: ASCII, RTU.
На рис. 15 приведен формат блока ASCII-сообщений.
• В режиме ASCII каждый из символов содержит 7-байтовый ASCII код. Начало кадра (символ двоеточие ":") является стартовым разграничителем кадров, символ возврат каретки "CR" и построчный прогон "LF" - концевые ограничители. Символ LF, кроме этого, указывает, что передающая станция готова к приему немедленно. Между отдельными символами допускается временной интервал до 1 секунды. Поле адреса, функциональное поле, поле данных и проверочное поле служат для передачи чисел, причем один байт данных в режиме ASCII заменяется на 2 символа по следующему правилу.
• 8-битовое число в исходных данных разбивается на две части по четыре бита. Каждая из этих 4-х битовых частей преобразуется в шестнадцатеричное число, а далее передаются символы, содержащие 7-битовые ASCII-коды, соответствующие шестнадцатеричным числам 0-9, A-F. Таким образом, для передачи байта адреса необходимо 2 символа последовательной асинхронной передачи; столько же символов необходимо для передачи кода функции. Для передачи n двухбайтовых данных потребуется n*4 символов кадра. 2 символа защиты данных получаются при помощи продольного кода (LCR).
В режиме передачи данных RTU реализуется непосредственная передача данных в виде 8 битовых символов (рис.16):
Разграничителем кадров служит временной промежуток Т 42 7> 03,5 Т 41 0, где Т 41 0 - длительность одного символа.
При передаче между очередными кадрами выдерживается время Т 42 7>03,5Т 41 0, а приемное устройство контролирует время, прошедшее между получением символов. Если промежуток времени более 3,5Т 41 0, то приемное устройство будет считать следующий байт адресом, начинающим новый кадр, а принятые байты обработает как кадр.
Между символами, относящимися к одному кадру, в режиме RTU допустим временной промежуток, меньший Т 42 0<3,5Т 41 0.
Защита кадра осуществляется 16-битным полем циклического кода. Режим RTU требует в два раза меньше символов для передачи, чем режим ASCII. Режим ASCII сохранен в протоколе MODBUS для совместимости с более ранними разработками на базе мало интеллектуальных терминалов.
В настоящее время все новые устройства MODBUS работают в режиме RTU.
Дата добавления: 2015-09-09; просмотров: 121 | Поможем написать вашу работу | Нарушение авторских прав |