Как укротить Modbus RTU. Теория, практика, наглядное пособие по работе с протоколом и инструментами — АСУ ТП: сообщество инженеров

Как укротить Modbus RTU. Теория, практика, наглядное пособие по работе с протоколом и инструментами

О чём видео

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

Что разбирается
  1. 00:03 Введение в протокол Modbus RTU
  2. 05:47 Проверка параметров связи и адресов устройств
  3. 06:56 Ограничение длины линии RS-485 и скорости передачи
  4. 11:29 Влияние электромагнитных помех на линию RS-485
  5. 13:34 Практическая связка контроллера, платы и преобразователя частоты
  6. 19:25 Просмотр обмена Modbus RTU в терминальной программе
  7. 20:22 Диагностика отсутствия связи: провода и настройки
  8. 22:10 Расшифровка команд Modbus и карта регистров
  9. 27:20 Анализ запросов и ответов, коды функций Modbus
Оборудование и ПО
  • Modbus RTU
  • ПЛК
  • преобразователь частоты
  • терминальная программа

Кому полезно: Инженерам АСУ ТП, начинающим работать с Modbus RTU и RS-485

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

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

0:03 Я рад всех приветствую, и сегодня мы с вами поговорим об очень интересной теме. Возможно, кто то все таки на себя ответить на вопрос, как победить матрицу в работу с протоколом от басков, то он и, конечно же, мы сегодня разберем практические советы как.

0:24 Искать те или иные неисправности ошибки и как их устранять. Почему матрица? Когда я увидел реальный опрос устройств по протоколу, могла стартуаз. Сейчас вы его также, вы себя можете видеть на экранах 1. Ассоциация, которая у меня возникла, это, конечно же, что же это за матрица, ну и в. дальнейшем, когда я уже начал с этим протоколом работать более плотно, я сталкивался с теми или иными проблемами, которые удавалось решать. Вот об этом, собственно говоря, мы сегодня и поговорим и рассмотрим.

1:11 Все эти аспекты. Для начала Мадбас это открытый протокол, основанный на архитектуре мастер и Слейд. И очень он широко распространен в промышленности, создан он был еще в прошлом веке в 80 годах, вот и для своей передачи используют различные линии как последовательной связи, так и сетейзерная. В сетях и на 400 ну в последовательных связях допускается соответственно использование только 1 мастера в сетях. Интернет уже возможно мультимастерная система.

1:54 Конечно же причинами, почему Матбасса то очень широко распространен. Это, конечно же, открытость, открытость данного протокола. Ну и это, наверное, самый массовый протокол, который вы можете. Встретить в различных тех или иных приборах достоинства, это, конечно, его мы. Мы с вами проговорили, но о недостатках каждый может сказать за себя сам, который увидит в этом протоколе.

2:28 С чего, конечно же, хотелось бы начать прежде всего с тех инструментов, которые помогают выявлять те или иные ошибки, диагностировать? И если у вас есть какая то задача по настройке связи между устройствами по Макбастеру РС 485 либо какая, то другая. Последовательная линия вы обязательно должны иметь у себя на руках конвертов Юсби Эр Эс 485 или с соответствующей линией для вашей. Задачи и некую терминальную программу на вашем компьютере, которая поможет вам подслушивать компот, с которым вы будете работать.

3:21 Теперь же давайте поговорим о типовых ошибках, которые могут встречаться при наладке связи по протоколу. 1 Самое распространенное. Проблема, которая может встретиться, это неправильное подключение. В 485 могут встречаться самые различные маркировки, такие как, а и б +, и ты, дата, + дата - или же, например, у амроновская плата. Си пи 1 дабл Ю. Сиф, 11 или 12 РДБ + РД, а? -

4:08 Здесь можно сказать, что какая бы маркировка не была. Она вам должна сказать, 1 какой положительный провод, какой отрицательный, как правило, провода, а? + Дата + или РДБ, + это положительные провода и наоборот, б она дата - то, когда ты это отрицательные провода соединять нужно. Положительный провод с положительным то есть, а 100 и отрицательный провод с отрицательным БСБ.

4:45 Есть ли у вас неправильное соединение? То есть вы перепутали провода, то уже на этом этапе может быть проблема, которую так или иначе. Если у вас отсутствует связь, нужно проверять в 1 очередь, например, при использовании амроновской платы Си ПИ 1. Дабл Ю. Сиф, 11 очень частая ошибка бывает в том, что люди смотрят на РДБ надписи РД, а и тем самым РДА. Хотя это отрицательный провод, и тут прям есть маркировочка, редко садят на положительный, а, например, а РДБ положительно садят на отрицательный Б.

5:31 И тем самым у нас очень часто возникает проблема, поэтому всегда лучше обращайтесь внимание на маркировку + или. - Следующий аспект, который нужно проверять в 1 очередь, если у вас есть проблемы со связью. И вы видите, что мастер посылает запросы, но Слэф не отвечает это параметры связи. Какие параметры это соответственно скорость передачи данных, количество бит данных, четкость и количество стоповых бит? Параметры связи на всех устройствах в 1 линии должны быть полностью идентичными.

6:24 Это правильно и, соответственно, и соответственно, если какие, то у вас возникли проблемы, то это нужно также смотреть в 1 очередь. Также адреса всех устройств я здесь вынес в. Отдельную строку, потому что для мастера мы адрес устройства не задаем, а задаем их только для Слейвов. Так вот, адреса всех устройств Слейф должны отличаться друг от друга.

6:56 Еще 1 нюанс, который может вывести так или иначе при наладке. В моей практике такой случай был, когда проектировщики не учли параметр соотношения длины линии эр 485 и допустимой скорости передачи данных. Сделали связку с с очень большой. Длинной линией, которая не допускалась для той скорости передачи данных, на которой опрашивались приборы. И в результате мы имели такую проблему, что часть устройства опрашивается до допустимой длины, а все, что слышу, просто не отвечает.

7:38 Вот если вы вдруг выявили такую проблему и столкнулись с пути решения данной проблемы, это всего 2 1 установить. Повторитель, 485 который по факту обнурит вашу. Длину линии или же уменьшать скорость передачи данных? Это, наверное, наиболее предпочтительный и простой вариант. Если вы с этим столкнулись уже где, то на объекте.

8:14 Еще 1 нюанс, который некоторые могут даже и не встретить своей практики, но тем не менее он присутствует. Это понятие адрес регистра и номер регистра, соответственно, есть такое правило, адрес равен номер ты 1. Такая у меня проблема тоже была, когда мы запускали оборудование и производитель не указал, что у него в таблице. Регистров то указан не адрес, а номер и в результате не видели, что вроде бы все правильно. Команда формируется правильно, Слоев отвечает. Но при этом отвечает, ну непонятно, что и в процессе уже соответственно это выявили. То есть на это тоже нужно обращать внимание?

9:16 Еще 1 такая маленькая. Проблемка, которая может вылезти, это то, что стандарт допускает различный порядок чередования Байтов. Возможно, передача младшим бойцам вперед, а также возможно старшим бойцам вперед. Как правило, если у вас нету. Конвертер 485. Юсби и соответствующей терминальной программе вы можете даже и не понять, в чем проблема. Потому что вроде бы вы опрашиваете правильный регистр, и данные возможные приходят правильно, но. Поскольку вы не видите саму посылку и в Хекс в Хексе, то вы можете просто увидеть число, которое вам ни о чем не скажет. И оно отличается от того, что вы хотите или должны увидеть и, как правило.

10:20 Попробовав, изменив данную настройку в мастере, вы можете решить эту проблему. Еще 1 тонкий момент, но тем не менее его тоже нужно учитывать это. То, что регистры имеют разную размерность и, например, если ваша мастер устройства автоматически не запрашивает нужное количество регистров при изменении формата.

10:52 Данных, а вы должны это делать вручную, то, например, если вы запросите слово. Который имеет размер 4 слова, но при этом у вас будет в посылке Макбастер то запрос только 1 регистра, то, скорее всего, Слейф вам. Ответит какой либо ошибкой. И это понять можно будет опять таки, только заглянув, подслушав компорт. Еще 1 проблема, которая может очень часто встречаться, это влияние на линию эритроцит 385 электромагнитных помех от силовых линий и не высокочастотная. Это может быть помеха тех же частотников или сервоприводов.

11:49 К сожалению, однозначного совета, как решить данную проблему, его трудно дать. Вот, но тем не менее, что хочется посоветовать в 1 очередь это использовать экранированную витую пару и. Для вашей линии связи 2 и если вдруг у вас робот хороший, но тем не менее память есть, это проверять монтаж линий. Монтаж, конечно же, должен быть осуществлен согласно требований КМС. Электромагнитной совместимости. Также, если, например, в моей практике бывали случаи, невозможно произвести монтаж по другому, да или же монтаж делали не вы.

12:45 Иногда так есть такая возможность, например, у вас. Ну, лично расскажу про свой случай, когда у меня на плк просто отваливалась связь и. Монтаж, как я повторюсь, было произвести заново невозможно, и в результате проблему мы решили совтварну. То есть в ПВК в случае, когда компот уходил в ошибку, мы его просто перезагружали с. Отварных программ и тем самым удалось проблему решить. Понятно это костыль и неправильный костыль, но тем не менее у нас оборудование заработало и и, как правило, это иногда может помочь.

13:34 Итак, переходим к практической части. Сегодня мы пощупаем протокол Макбастер Ту в такой связке. Это в 1 очередь контроллер с платой Си Пи 1 Дабл Ю. Сиф, 11 контроллер Аброн. Это частотный преобразователь ЭМ ИКС 2. Также у нас будет в связке на фото, вы также можете видеть это желтый провод, который подключен параллельно. Это наш преобразователь, 485 которому непосредственно будем слушать, что же происходит на линии. И тем самым это нам значительно упростит жизнь в поиске и устранении неисправности.

14:26 Также бы хотелось сказать, что Плата Си Пи 1 Дабл Ю Си Эф, 11 она не только имеет немного нестандартную маркировку проводов, АА линий Эр 485 РД ты РТБ. + Но тем не менее еще есть 1 тоже подводный камень, о котором бы хотелось сказать это в 1 очередь Хардварная настройка.

14:53 Самой платы, то есть если она вам пришла с завода, то для того, чтобы она работала по линии РС 485. Вам нужно необходимо на задней стороне платы. Которая вставляется в полка включить или переключить системные ди переключатели. Если у вас вдруг плата уже вставлена в контроллере, то вы.

15:19 Прежде чем извлечь плату, необходимо обязательно выключить питание контроля, а потом уже произвести эти действия и так для работы на линии. Эр Эс, 385 вам необходимо включить 2 3 5. И 6 тип переключателей, и тем самым у вас платно настроиться не на РС, 422 как она приходит с завода, а на РС 485 1 тип переключателя. Вы можете включать по желанию по необходимости.

16:00 Еще сейчас мы непосредственно уже будем работать с нашим оборудованием, но предварительно также хотелось бы сказать, что подсылка к видео можно будет скачать. Архив полезных программ, например, терминальная программа, также требования стандартов ОМС, точнее не требования, рекомендации по монтажу согласно требованиям ЭМ ЭС.

16:25 Также описание протоколов надбаста рту. И другие материалы. Вернемся к нашему стану, где у нас имеется контроллер Сипянин. Эль, коммуникационная плата си пи 1 дабл Ю. Сиф 11 Эр Эс 485 интерфейс здесь используется параллельно, к нему подключен преобразователь ЮСБ 485.

17:01 Вот и соответственно ПЛК управляет частотным приводом по данному интерфейсу. Хочется также добавить в тех случаях, когда в ваших шкафах управления. Большое количество частотных приводов либо сервоприводов, то мои рекомендации использовать ЭМ ЭС Фильтра. В этом случае влияние помех приводной техники будет минимизирована.

17:40 Следующий момент для того, чтобы начать пользоваться преобразовательным ЮСБИ РС 485. Если у вас данные устройства используются впервые, то вам необходимо установить драйвера. На эти устройства и скачать их либо, может быть, они уже в комплекте с данным устройством, либо скачать их из интернета. Соответственно, после того как вы установите драйвера у.

18:12 У вас появится в диспетчере устройств компорт? Вот еще у меня пропал, соответственно и подключил. Ваш преобразователь будет определен компол как комфорт и в дальнейшем соответственно этот комфорт. Вы будете использовать у себя в терминальной программе? Переходим к настройкам паука, который необходимо также проверить это соответственно настройки комппорта самого ПЛК. И здесь, например, задаем скорость, количество бед, данных, стоповый бит и четность.

19:01 Аналогичные настройки нужно произвести и для частотного привода, это соответственно. Проверка отчетности, скорость стоповый вид и адрес. Нашего Вот данные настройки у нас произведены, и связь уже налажена, и соответственно, когда запускаю нашу терминальную программу в режим подслушивания. Я вижу ту самую матрицу, о которой я говорю в начале и. Поначалу это кажется просто хаотичный набор цифр и букв, но если мы. Остановимся и рассмотрим это более детально, то мы можем здесь выявить непосредственно сами запросы, которые посылает наш мастер и ответы, которым отвечает наш Слейд.

20:08 Видите, сейчас у нас очень много всего, да и данные очень быстро меняются, и теперь рассмотрим случай, когда у нас. По каким то причинам связь ну не работает, и это можно сразу понять, в чем причина, как минимум, понять, 2 основных 1 которые причислял. Это неправильные настройки связи, параметры связи. Или же, допустим, у вас перепутаны провода?

20:43 Линии 485 сейчас я заведомо переключу неправильно провода. На частотники и посмотрим, что мы увидим в нашей терминальной программе. Так я это сделал и подключаемся в нашем. Видим, что ситуация. Абсолютно. Отмечается то, что мы видели ранее, и полка у нас посылают одиночные запросы. Проходит какое то время ответа от частотника не приходит и так повторяется.

21:34 Соответственно, в случаях, когда нет связи, и вы видите подобную картину, то проблемы здесь, как говорится, 2 1 это неправильно. Подключенные провода нужно соответственно. Это все проверять, а 2 это проверять настройки. Тех слэйвов. По которым ведется опрос данных, то есть это скорость передачи, количество стоповых бит, четность, нечетность и так далее. Теперь плавно перейдем к более уже сложной диагностике. Когда у вас опрос есть, то есть как минимум слэф, устройство отвечает на запросы мастера. Но по каким то причинам, что то идет не так и здесь, как раз таки и стоят, встает вопрос расшифровки.

22:34 Команд, которые посылает мастер и расшифровывает. Ответов, которые нам отвечает Слейд. Где вообще посмотреть описание команд? 1 Конечно же, это в документации своих устройств, где производитель, как правило, описывает поддерживаемые функции. Также, собственно говоря, описывают примеры команд. Здесь мы, например, у частотника М ИКС 2 можем видеть. Пример команды функции 0 1 это, соответственно, чтение состояния так называемых дискретных сигналов там катушек, если перевести дословно.

23:36 И теперь мы можем видеть, например, 1. Да, кстати, все данные Марба с рту передаются. В Хексе это шестнадцатиричная система исчисления возвращаемся к структуре команды соответственно. Здесь мы видим, из чего состоит команда. Мастера это 1 Байт, у нас идет адрес устройства. Далее функция, что мы хотим сделать с этим устройством функция, 0 1 то есть прочитать состояние дискретных сигналов, далее указывается.

24:10 Адрес, стартовый в виде 2 Байтов, откуда мы начинаем читать и непосредственно количество дискретных сигналов, которые хотим прочитать, после этого идет контрольная сумма. И частотник в случае правильной команды ответит аналогично адрес устройства. Далее код функции Размер Байт, который он передает непосредственно самые Байты и контрольная сумма, она у. Аналогично структуру запроса команд, мы можем посмотреть и в других источниках, например, есть русскоязычные.

24:59 Где мы можем также посмотреть? Описание, из чего состоит Макбаз команда? Да, видим примерно тоже самое. Есть также еще англоязычный Мануал непосредственно. Самим создателем АНБаса, где также все подробно описывается. Вот теперь вернемся к нашему частотнику, восстановим соединение и попробуем посмотреть те или иные команды, которые приходят и на которые отвечает наш частотник. Итак, сейчас я восстановил подключение линии 385 интерфейса на частотном приводе. У нас уже во все идет опрос, и теперь, когда мы имеем некую другую проблему. Да, то есть связь, есть на устройство слайд.

26:05 Отвечает на запросы мастера, но что то не так? Нам нужно уже непосредственно разбирать вот эту команду Мак Бас, то есть искать эту команду и далее уметь ее расшифровывать для. Этого 1 нужно, что знать, как я сказал. Описание самой команды, по которой происходит запрос, далее нужно знать карту регистров или карту регистров Мадбас, она может быть как для.

26:33 Дискретных сигналов, так и у нас скажем для. Наших. Регистров Макбаз, да? Да, то есть уже не битовая информация, а информация, например, о токе, о чистоте и так далее. Здесь мы также можем посмотреть разрядность, ну точнее сколько слов занимает. Наша чистота можем также посмотреть. Допустимо ли чтение запись? И другую сопутствующую информацию. Так теперь. Подключимся к нашему частотнику. Попробуем поразбирать те или иные команды. Итак, 1. Определить начало команды мы можем по ранее известному нашему заголовку, то есть это адрес устройства и команда 0 1 как минимум. По этим данным, мы уже можем понять начало.

27:57 Запроса и уже потом. Производить акт фильтрования? Так видим, что у нас. Итак, мы разбиваем наши запросы и ответы. Аналогичным образом. Сейчас я. Данную матрицу разобрал на нужной мне Фрейма. То есть запрос ответ, чтобы их как то проанализировать и, соответственно, уже здесь, например, можно выделить, то есть во время, пока я. Вел опрос была команда. Записи состояния, да вот мы видим, что соответственно 0 1 это опрос устройств команда 0 6, это запись единичных регистров.

29:13 А также была команда на остановка на запуск соответственно, вот у нас уже команда. 0 Ф это. Соответственно, 15 команда. Которая говорит о записи единичных дискретных состояний, то есть выходов, то есть включить пуск, стоп и так далее. Что мы в итоге получаем? 1 Для того чтобы разбирать вот эту вот матрицу, если у вас все команды и запросы идут сплошняком. И даже если они есть программы, которые могут подслушивать, уже разделяя запрос, ответ тем не менее.

30:00 Вам нужно понимать структуру команды, то есть 1 адрес устройства, тип команды, например, адрес начальный. Далее, соответственно, у нас идет это количество под дай, сколько нам битов нужно запросить. Контрольная сумма и также ответ, допустим, адрес 0 1 команда 0 1 у нас вот эти 4 Байта и. И вот они эти 4 Байта полезная информация. То есть мы тоже самое видим и в описании команды? Давайте посмотрим здесь, то есть здесь мы видим то же самое адрес устройства, код функции.

30:56 Далее, потом 2 Байта идут 0 0 0 6 это стартовый адрес, далее количество катушек, контрольная сумма и ответ. Аналогично это касается и других функций, например, может быть запросы, как мы здесь видим. У нас 0 1 0 6 да это запись чистоты производилась. Также команда Ф у нас встречалась. Нравится 15 команда, то есть запись дискретно тоже сигналов, но уже не чтение, а запись. Вот. Также если у вас есть какие то вот поначалу бывают сложности, можно изменить период опроса, то есть меня. Он очень быстро идет и поэтому вываливается. Очень много данных, которые потом может быть не так просто разбирать. Для того чтобы упростить жизнь, можно сделать там время запроса раз в. 5 Секунд поставить, и тогда какое то другое подходящее для вас время, и тогда вы четко будете видеть во 1 команду, которую посылает контроллер. Есть ответ, нет ответа, то есть можно будет в режиме реального времени при медленном вопросе уже на лету понимать, что происходит у вас на линии.

32:24 Это основные моменты, которые бы не хотелось осветить. Надеюсь, что данная информация будет полезна для пользователей инженеров и специалистов. Которые только начинают свой путь и еще не имеют большого опыта работы. С данным протоколом, с данным интерфейсом, поэтому надеюсь, что данные.

32:50 Материалы, которые здесь были, описаны, помогут вам гораздо быстрее произвести настройку наладку запуск. А в случае каких то неисправностей выявить ее и устранить на этом все благодарю вас за внимание.

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

🔗 Как укротить Modbus RTU. Теория, практика, наглядное пособие по работе с протоколом и инструментами

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

Войти

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

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

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

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