Элементы протокола Modbus RTU — АСУ ТП: сообщество инженеров

Элементы протокола Modbus RTU

О чём видео

Лекция разбирает элементы протокола Modbus RTU поверх интерфейса RS-485. Рассмотрены представление устройства как набора регистров, структура пакета, основные функции чтения и записи, а также формат ответа при ошибке.

Что разбирается
  1. 00:00 Передача пакетов и тайм-аут в Modbus RTU
  2. 01:14 Представление устройства: регистры и их типы
  3. 02:09 Функции чтения и записи регистров
  4. 03:36 Структура пакета: адрес, PDU, CRC
  5. 05:15 Формат данных для функций 1–4
  6. 11:02 Обработка ошибок и коды ошибок
Оборудование и ПО
  • Modbus RTU

Кому полезно: Инженерам АСУ ТП, начинающим изучать промышленные протоколы и Modbus RTU.

Описание составлено автоматически по расшифровке речи в ролике.

Расшифровка видео

0:00 Здравствуйте, лекции 256 мы рассмотрели с вами интерфейс РС, 485 как говорится, интерфейс без протокола. Это как автомат, без патронов стрелять не может, поэтому. Сегодня мы рассмотрим элементы промышленного протокола. Мотбасс, точнее, Мотбасал юнит, который используется поверх этого интерфейса.

0:28 Несколько слов о передаче пакетов, конкретный диалект Мунбас рту передает пакеты как есть. Завершая их тайм аутом в несколько посылок, приемная сторона понимает, что пакет закончился. Если время поймал это несколько посылок 1 Байта, ничего не передается таким образом, передается фактически. Как в немецком языке, что пишется, то и слышится, поэтому передаются Байты, как они есть. Сам по себе пакет изображен здесь, но сначала ограничимся о описанием, о представлении устройства по отношению к.

1:14 Мастеру о представлении Слейва и о том, как что можно с ним делать. Итак, сокращенный вариант представления устройства делит его на регистры, регистры мы сгруппировали. По следующим признакам регистры имеются длиной 1 бит и 16 бит, и также регистры можно разделить по признаку. Можно легче писать, а именно левая колоночка нашей. Таблицы предполагает только чтение регистров, правая предполагает чтение и запись. Вот все множество регистров в нулевом приближении можно разбить на такие ячейки. И они имеют определенное название дискрейтен пут. Это регистра на Битове, которые можно только читать, для них есть команда 0 2 читать несколько таких регистров.

2:09 Коэлс, это регистры однодневые, которые можно уже читать и писать. Для них есть команды группового чтения 0 1 код команды записи 1. Регистра команда 0 5 и группового чтения регистров команда 15 или 0 Ф в 16 личном формате. Нижняя строка предполагает наличие регистров. Шестнадцатибитных и для них в левой колонке мы название регистров левой колонки, то есть 16 битных регистров, которые можно только. Читать в просторечии можно сказать, что это входы устройства, которые можно прочитать, но они называются так и называются тут для них мы. Рассмотрим 1 команду 0 4 это групповое чтение входов 16 видных. Ну, ну и наконец последняя часть нашего описания называется холдинг Редистерс. Это регистры, которые 16 битные по своей сути их можно читать и писать для них. Также рассмотрим 3 команды это групповое чтение код. 0 3 Запись, 1 Регистра, код 0, 6 и код. 0 Икс, 10 это групповая запись таких регистров. Вот такие такое множество команд под множество всего. Модбас множество команд, мы сегодня рассмотрим, они наиболее часто применяются. Итак, перейдем собственно к пакету при передаче данных.

3:36 В протоколе Макбаз пакет состоит из 3 частей Айди устройства, мастер обычно. Передает команды. Подчиненным устройством типа Слейф и для адресации каждого слоев устройства существуют специальные. Айди, сразу оговорюсь, что Айди есть выделенный номер Айди, это 0 на так. Если Айди будет равно, 0 то все слои в устройство нашли. Не воспринимает команду, но они на нее не отвечают, потому что иначе будет ношение ответа будет бедлам. Ответ предполагается только для конкретного устройства для. Конкретного устройства Айди не равно 0 далее есть так называемая часть ПДУ протокол. Дата юнит, которую мы сейчас посмотрим и есть КРК. Контрольная сумма, которая в обеспечивает нам целостность нашего пакета, она вычисляется. С помощью использования умножения на по вином для овеновских контроллеров Модбасс поленом равен, а 0 0 1 16 личным и эта контрольная сумма представляет из себя 2 Байта и позволяет нам проверить целостность, как приема. Пакетов на устройстве Слейф, так и это же контрольная сумма такая же сумма. По такому алгоритму используется для передачи ответов мастеру, то есть каждый ответ сопровождается дополнительно такой суммой, итак рассмотрим.

5:15 Среднюю часть часть пакета она составляет. Она состоит из кода функций и данных, данные отличаются, структура данных отличается для различных команд, которые мы здесь описали, ну и давайте. Посмотрим структуру этих данных для различных команд ФМ, у нас будет обозначать код функции, код функции, вот здесь 010-50-15 и так далее.

5:46 Это адрес сразу оговоримся, что мотобас отправляет. Вубайтные величины, например, адрес Вубайтне или номер Регистра Вубайтный. Мобас отправляет 1 он, отправляет старший баль. Это не совсем привычно сейчас, но исторически так сложилось, что двухбальной величины все модбас отправляет сначала старший Байт, а? Потом младший, поэтому 2 Байта в командах 1 2 3 4 это адрес или номер регистра начало, а потом идут двухбайтное число. Количество регистров, количество регистров, количество регистров, вообще говоря, длина.

6:32 Всего ПДУ не превышает 253 Байта, поэтому мы не можем запросить много регистров здесь запас по количеству регистров. Но тем не менее на них выделено 2 Байта, и вот это количество регистров, которые мы хотим прочитать. Команда 1 2 3 4 это чтение, 1 групповое чтение, колз, 2 групповое чтение дискретных регистров, 3 это групповое чтение 16 битных регистров ввода вывода. Те, которые можно читать, писать и 4 это групповое чтение инфу, то есть. Мы можем указать количество регистров, которые хотим прочитать за 1 команду в ответ. Нам приходит пакет с тем же Айди с той же функцией, и после функции идет количество байт, которое в пакете содержится и далее идут. Дата дата идет объеме этого количества, Байт, если здесь 5 значит, дата занимает 5 бай. Естественно, что все это проецируется, вот сюда дополняется, а иди и дополняется соответственно рассчитанным КРК и приходит на мастер.

7:43 Далее команды 5 и 6. Команды 5 и 6 это команды записи 1 Регистра 5. Это команда записи 1 однобитного регистра, 6 это команда записи 1 регистра ввода вывода шестнадцатибитного имеет следующий формат. Они во 1 и запрос ответ имеют идентичный, то есть совпадающие есть также.

8:08 Посылка состоит из 5 Байт, не считая КРКА и Оди. Здесь также стоит функция, потом стоит адрес регистров, который пишем потом, что пишем здесь. Следует отметить, что если мы пишем дубайтный регистр, то. Это напрямую записывается в 2 Байт на регбийст. Если мы пишем в однобитный регистр, то данные должны иметь следующий вид ФС, но не 0 0 для записи единицы и 0 0 0 0 для записи, 0 вот такое соглашение.

8:40 При записи 1 Выполнение команд 15 и 10:15 это у нас 15 имеется ввиду. 0 Ф. 15 Это у нас запись групповая запись однобитных регистров. 10:16 Бит, но это групповая запись 16 битных регистров, формат запроса, то есть формат посылки от мастера. Следующий идет функция номер функции, то есть вот это или это число потом идет адрес, начальник. Группы регистров потом идет количество регистров, далее в этом же пакете надо продолжить далее. В этом же пакетик идет количество Байтов и данные для заполнения регистров в этом количестве Байтов.

9:28 Здесь также следует отметить, что если мы запрашиваем группа, если мы запрашиваем групповую запись в регистр 16 байт, на то здесь должно. Быть четно, и у нас должно быть равно ку умножить. На 2 то есть сколько регистров мы заплатили и умножить, на 2 поскольку это двухбайтные. Регистры, если речь идет о записи однобитных регистров, то запись однобитных регистров выполняется следующим образом, если у нас количество. Больше, чем если количество меньше, чем 1 байк, то все данные у нас укладывается в 1 Байт, начиная с нулевого бита, если количество.

10:13 Если количество больше, чем 1 больше, чем 8 то данные продолжаются, начиная с нулевого бита за 1 данные, начиная с адреса Регистра А. 0 С адреса, а 1 биты заполняются с младшего бита данных. Потом, как только Байт заканчивается, заполняется следующий байт и так далее. И так далее, и наконец последний байт. Если остаются резервные биты, они дополняются, 0 то здесь все равно кратно ответ в случае команд. 0 Ф или 0 Икс 9 состоит из 1 части запроса, то есть просто указывается функция, адрес и количеством регистров, которые заполнены.

11:02 Предусмотрена ситуация, когда возникает ошибка в этой ситуации, ответ имеет следующий вид сама по себе. Функция никогда не превышает, 128 например, функция 5 В. случае ошибки ответ состоит из. 2 Байт ФН + 128. 128 Это 1 Байк, то есть мы устройство дополняет нам команду, место отправки, собственно, команда, она дополняет команду старшим битом и дальше идет 2 байк этот код ошибки. Код ошибки существует много кодов, ошибки мы рассмотрим только 1 3 ошибки, наиболее часто возникающие это код ошибки. 1 Если функция не поддерживается код ошибки, 2 если неправильный адрес, то есть нет. Регистров с таким адресом в устройстве, которому мы послали посылку и код 2. Это код, 3 это когда у нас неверные данные, то есть, например, мы пытаемся записать в битовый регистр не число ф ф 0 0 и не 0 0.

12:19 Такие элементарные сведения о протоколе мотобас позволяет выполнить входной старт такой простой старт и начинать писать программы, начинать обмениваться. С устройствами далее в следующих лекциях мы покажем некоторые программы и покажем их работу на практике. Вот и все на сегодня спасибо за внимание.

Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

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

Прокрутить вверх