Управление по шине modbus

Modbus — протокол, работающий по принципу «клиент-сервер».
Широко применяется в промышленности.
Modbus может использоваться для передачи данных через последовательные линии связи RS-485, RS-422, RS-232, а также сети TCP/IP.
В этой статье рассмотрим на примере линии RS-485.

Управление по шине modbus

И так, в основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его заключается в передаче одного сигнала по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) — его инверсная копия. Другими словами, если на одном проводе «1», то на другом «0» и наоборот. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при «1» она положительна, при «0» — отрицательна.

Именно этой разностью потенциалов и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе. Синфазной называют помеху, действующую на оба провода линии одинаково. К примеру, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал. Если сигнал передается потенциалом в одном проводе относительно общего, как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающего наводки общего («земли»). Кроме того, на сопротивлении длинного общего провода будет падать разность потенциалов земель — дополнительный источник искажений. А при дифференциальной передаче искажения не происходит. В самом деле, если два провода пролегают близко друг к другу, да еще перевиты, то наводка на оба провода одинакова. Потенциал в обоих одинаково нагруженных проводах изменяется одинаково, при этом информативная разность потенциалов остается без изменений.

Воплощение
Есть несколько вариантов.
Подешевле на известной MAX-ADM485.
Без изоляции, развязки, изолированного источника питания. Зато стоит не более 25 рублей.
Подороже, сюда можно отнести монстра ADM2587, ADM2483 и пр.
Разводить пп желательно очень вдумчиво.
Узел RS-485 хорошо вынести подальше от точных и измерительных цепей, узлов и т.п.
На обычную сигнальную линию проложенную вдоль силовых установок и мощных потребителей, воздействует огромное количество наводок и помех.
В некоторых случаях, их потенциал может достигнуть нескольких тысяч вольт!
Управление по шине modbus
Так выглядит типичная посылка, от Ведущего — Ведомому.
Управление по шине modbus
Так выглядит ответ Ведомого — Ведущему
Управление по шине modbus
ID — Адрес ведомого устройства. Он может иметь значения от 1 до 247. Адрес 0 используется для широковещательной передачи, его распознаёт каждое устройство, адреса в диапазоне 248…255 — зарезервированы.
Команда(код функции):
в данном примере одна, на чтение 0x03.
Но в действительности их намного больше.
Все коды функций делятся на:
Публичные коды, описанные в стандарте MODBUS-IDA. Их список включает уже назначенные и используемые коды, а также коды для будущего использования;
User-Defined Function Codes (65-72, 100-110) — коды, которые могут использоваться компаниями для собственных функций, и не описаны в спецификации;
Reserved Function Codes (9, 10, 13, 14, 41, 42, 43, 90, 91, 125, 126 и 127) — зарезервированы коды, которые не доступны для общего использования.
(0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs).
(0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers).
(0x04) — чтение значений из нескольких регистров ввода (Read Input Registers).
(0x05) — запись значения одного флага (Force Single Coil).
(0x06) — запись значения в один регистр хранения (Preset Single Register).
(0x07) — Чтение сигналов состояния (Read Exception Status)
(0x0F) — запись значений в несколько регистров флагов (Force Multiple Coils)
(0x10) — запись значений в несколько регистров хранения (Preset Multiple Registers)
(0x16) — запись в один регистр хранения с использованием маски «И» и маски «ИЛИ» (Mask Write Register).
(0x18) — Чтение данных из очереди (Read FIFO Queue)
(0x14) — Чтение из файла (Read File Record)
(0x15) — Запись в файл (Write File Record)
(0x08) — Диагностика (Diagnostic)
(0x0B) — Чтение счетчика событий (Get Com Event Counter)
(0x0C) — Чтение журнала событий (Get Com Event Log)
(0x11) — Чтение информации об устройстве (Report Slave ID)
(0x2B) — Encapsulated Interface Transport
Обработка ошибок
Ведущий отправляет запрос к Ведомому, в котором в поле «код функции» указывает ему на необходимое действие.
Байты данных содержат информацию, необходимую для выполнения данной функции.
Ведомый, в случае удачного выполнения этой функции, повторяет код функции в ответе.
При возникновении ошибки, код функции в ответе модифицируется — старший бит выставляется в 1.
В байтах данных передается причина ошибки. Например при исполнении Ведомым функции 0x0F возникла ошибка, тогда он ответит Ведущему полем функции равным 0x8F.
В дополнении к изменению кода функции, Ведомый размещает в поле данных уникальный код, который указывает на тип и причину ошибки.

Читайте также: Какое давление должно быть в шине велосипеда стелс

Управление по шине modbus

CRC-16, циклически избыточный код.
Полином:

Для расчета есть два метода:
Простой

и Табличный

Использование табличной функции
unsigned char mess[3] = ;
volatile unsigned short res1 = CRC16(&mess,3);
res1 будет равен 0x0СС6 при подстановке в конце команды менять местами
старший и младший байты не надо. Эта функция при занесении значения в
res1 автоматически меняет местами старший и младший байты.

Управление по шине modbus

Видео:Управление частотником ПЧ по rs 485 Modbus RTU из ПЛК | Программирование ПЛКСкачать

Управление частотником ПЧ по rs 485 Modbus RTU из ПЛК | Программирование ПЛК

Как указано в даташите на ADM485, для работы на прием выводы RE-DE-DI должны быть в 0,
тогда на выводе RO появляются принятые данные.
Для работы на передачу — все противоположно, но данные следует слать на DI.
Простая функция приема

Ответ выглядит примерно так

Все интервалы организованы на прерываниях.
Сообщение должно начинаться и заканчиваться интервалом тишины, длительностью не менее 3,5 символов.
Во время передачи сообщения не должно быть пауз длительностью более 1,5 символов.
Для скоростей более 19200 бод допускается использовать интервалы 1,75 и 0,75 мс, соответственно.

Управление по шине modbus

Для отладки удобно использовать что-то вроде Modbus_Poll.

К сожалению он не бесплатный, триальная версия работает 25 дней, ограничивает работу 10 минутами и всячески достает сообщениями…

Файл логанализатора, с общением по Modbus Яндекс диск

Рекомендуется к прочтению:
Спецификация Modbus Link
RS-485 для чайников — Link
Modbus в Википедии Link
Modbus протокол Link

Отдельное спасибо товарищу Papandopala, за функцию табличного расчета CRC.

Инструкция управления по протоколу Modbus

Преобразователи частоты VLT Micro Drive FC 51 Danfoss поддерживают работу по протоколу Modbus. Для реализации управления частотным преобразователем необходимо настроить параметры привода следующим образом:

8-30 [2]ПротоколModbus RTU
8-31 [1. 247]АдресДиапазон шины Modbus: 1-247
8-32 [3]Cкорость передачи данных порта ПЧ19200 бод, Если выбрана шина Modbus в пар. 8-30
8-33 [2]Четность порта ПЧКонтроль четности отсутствует (1 стоповый бит)

Читайте также: Данлоп шины зимние шипованные r18

Таблица 1 — Настройка параметров частотного преобразователя для связи по протоколу Modbus RTU

При выборе в параметре 8-30 [2], происходит автоматическое изменение скорости передачи данных порта ПЧ на 19200 бод, следует презапустить привод. Управление по Modbus можно осуществлять только когда привод переведен в режим автоматического управления «Auto On».

Видео:Управление преобразователем частоты по протоколу Modbus RTU Часть №3Скачать

Управление преобразователем частоты по протоколу Modbus RTU  Часть №3
Адресация регистров

Осуществлять управление можно через:

  • слово управления (CTW)- пуск,реверс,стоп, и т.д. Доступно по адресам С0. С15 — функция Read coils, либо HR50000 через функцию Holding register
  • входные данные: регистр задания по шине (REF) адрес 50010 (задание частоты)
  • выходные данные: регистр слова состояния преобразователя частоты (STW) HR50200, либо STW — C32. C47 (контроль состояния привода)
  • выходные данные: регистр основного текущего значения преобразователя частоты (MAV) HR50210 (фактическая частота вращения)

Таблица 1 — Биты командного слова

БитЗначение бита=0Значение бита=1
00Значение заданияМладший бит внешнего выбора
01Значение заданияСтарший бит внешнего выбора
02Торможение постоянным токомИзменение скорости
03ВыбегНет выбега
04Быстрый остановИзменение скорости
05Фиксировать выходную частотуИспользовать изменение скорости
06ОстановЗапуск
07Нет функцииСброс
08Нет функцииФикс. част.
09Изменение скор.1Изменение скор.2
10Данные недействительныДанные действительны
11Реле 01 разомкнутоРеле 01 включено
12Реле 01 разомкнутоРеле 02 включено
13Настройка параметровМладший бит выбора
15Нет функцииРеверс

Таблица 3 — Служебные регистры частотного преобразователя

Номер регистра преобразователя частотыНомер регистра decНомер регистра hexНазначение
5000049999С34FВходные данные: регистр командного слова привода (CTW)
5001050009C359Входные данные: регистр задания по интерфейсу RS-485 (REF)
5020050199C417Выходные данные: регистр слова состояния привода (STW)
5021050209C421Выходные данные: регистр основного текущего значения привода (MAV)

Параметры указанные в таблицах необходимо указывать в настройках регистра со смещением — 1. Пример: Выходные данные регистр слова состояния привода (STW) 50200 в запросе Modbus будет в виде 50199.

Для того, чтобы определить адрес требуемого регистра, необходимо воспользоваться формулой:

Номер регистра = Номер параметра х 10-1

Параметр 8-54 будет иметь адрес 854х10-1 = 8539= 215b hex — Выбор реверса

Настройка связи программируемой панели оператора Weintek

После настройки частотного преобразователя Danfoss VLT Micro Drive, следует приступить к настройке операторской панели Weintek 8121XE1WK с помощью программного обеспечения EasyBuilder Pro.

Создаем новый проект и указываем модель операторской панели Weintek (рисунок 1).

Управление по шине modbus

Рисунок 1 — Создание нового проекта в EasyBuilder Pro

Далее следует изменить настройки для связи с частотным преобразователем, нажав на вкладку «Создать».

Видео:Протокол MODBUSСкачать

Протокол MODBUS

Управление по шине modbus

Рисунок 2 — Системные настройки

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

Управление по шине modbus

Рисунок 3 — Настройки параметров устройства

Создание проекта в программном обеспечении EasyBuilder Pro

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

Для создания кнопки «Пуск» следует выбрать объект «Байтовая кнопка» и ввести следующие параметры : Имя ПЛК: Modbus RTU; во вкладке адрес выбрать: 4х (Word, 1

Читайте также: Hayabusa давление в шинах

65535, Output Register); значение 50000 — регистр командного слова. Во вкладке атрибуты — установить значение 1148, что является адресом регистра частотного преобразователя команды «Пуск».

Управление по шине modbus

Рисунок 4 — Параметры байтовой кнопки «Пуск»

Далее создадим объект «Ползунок» для изменения частоты вращения электродвигателя, и настроим его следующим образом:

Видео:Управление ONI А150 от панели оператора СП307 по ModbusСкачать

Управление ONI А150 от панели оператора СП307 по Modbus

Имя ПЛК: Modbus RTU; во вкладке адрес выбрать: 4х (Word, 1

65535, Output Register); значение 50010 — регистр задания по интерфейсу RS-485. Во вкладке пределы: установить нижний предел «0», верхний предел «16384», что будет соответствовать 50 Гц.

Рисунок 5 — Параметры объета ползунок

Для отображения параметров двигателя и частотного преобразователя добавим объект «Числа». Имя ПЛК: Modbus RTU; во вкладке адрес выбрать: 4х (Word, 1

65535, Output Register); значение 16130 — считывание частоты; во вкладке формат чисел выбрать: 32-bit Unsigned.

Рисунок 6 — Параметры объета числа

Журнал событий

Добавим объект «Журнал сигналов/событий». Имя ПЛК: Modbus RTU; во вкладке адрес выбрать: 4х (Word, 1

65535, Output Register); значение 50000 — регистр командного слова; во вкладке «Условие» — «Триггер если значение» «=» ввести значение 1148. Знак «=» будет означать, что журнал событий отслеживает значение адреса слова, при равности данному значению произойдет инициализация, и на экране отобразится введенный нами текст «Двигатель запушен». На главный экран выведем объект — сигнальная панель, где и будут выводится события в реальном времени (Пуск, Стоп, Реверс, Частота 49 Гц).

Управление по шине modbus

Рисунок 7 — Параметры журнала событий

Выборка данных

Произведем выборку данных для отображения графика изменения напряжения. Для этого следует выбрать: Объекты — Выборка данных — Выборки данных — Создать. В появившемся окне во вкладке описание впишем: «График напряжения», Имя ПЛК: Modbus RTU; в поле адрес выбрать: 4х (Word, 1

Видео:Перевод RealPars 11 - Что такое Modbus и как он работает?Скачать

Перевод RealPars 11 - Что такое Modbus и как он работает?

65535, Output Register); значение 16120 — регистр считывания напряжения. Далее перейдем в «Объекты» — «Выборка данных» — «Графические выборки». Добавим наш график на рабочую область панели, щелкнем по графику двойным щелчком мыши и в появившемся окне во вкладке «Индекс объекта выборки данных» выберем наш ранее созданный «График напряжения». Расстояние между выборками — точка, расстояние задаем в зависимости от необходимых требований.

Управление по шине modbus

Рисунок 8 — Параметры выборки данных

Скомпилируем наш проект выбрав: «Инструменты» — «Компиляция» — «Компилировать».

Управление по шине modbus

Рисунок 9 — Компиляция проекта

Подключение панели оператора к преобразователю частоты

Подключим частотный преобразователь Danfoss VLT Micro Drive к программируемой панели оператора Weintek 8121XE1WK следующим образом:

Рисунок 10 — Распиновка Modbus RS-485(2W)

В нашем случае будем использовать COM1 RS485 2W, поэтому выводы для ModBus частотного преобразователя 69,68 соединить с PIN 1 Data- ,PIN 2 Data+.

Далее подадим на операторскую панель питание и подключим ее к компьютеру через Ethernet. Во вкладке «Инструменты» выбрать «Загрузка» — «Имя HMI» — «Найти». Выбрать найденную панель и нажать на кнопку «Загрузить», ввести стандартный пароль: 111111. После загрузки проекта, панель перезагрузится и будет готова к работе с загруженным нами проектом.

Управление по шине modbus

Рисунок 11- Загрузка проекта в панель

Видео:лекция 374 практика по Modbus RTUСкачать

лекция 374 практика по Modbus RTU

Подключим электродвигатель к преобразователю частоты и включим его в сеть. Чтобы управлять ПЧ с панели оператора, инвертор следует перевесть в автоматическое управление «Auto ON».

Реализацию данного проекта можно увидеть на видео представленному ниже:

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле

    🔥 Видео

    ПР103. Управление выходами по Modbus TCP.Скачать

    ПР103. Управление выходами по Modbus TCP.

    7. Подключение Modbus-модулей к шине RS-485Скачать

    7. Подключение Modbus-модулей к шине RS-485

    Управление модбасСкачать

    Управление модбас

    Настройка преобразователя частоты #Inovance MD290 для управления по Modbus (RS-485)Скачать

    Настройка преобразователя частоты #Inovance MD290 для управления по Modbus (RS-485)

    Как управлять частотником из программы встроенного PLCСкачать

    Как управлять частотником из программы встроенного PLC

    лекция 373 элементы протокола Modbus RTUСкачать

    лекция 373 элементы протокола Modbus RTU

    FL PROG & Arduino, управление и получение показаний по modbusСкачать

    FL PROG & Arduino, управление и получение показаний по modbus

    24 PLR Studio Протокол Мodbus RTU MasterСкачать

    24 PLR Studio Протокол Мodbus RTU Master

    Подключение частотника Кастон к ПР200 по интерфейсу RS-485Скачать

    Подключение частотника Кастон к ПР200 по интерфейсу RS-485

    Видео 15. Работа по протоколу Modbus в режиме MasterСкачать

    Видео 15. Работа по протоколу Modbus в режиме Master

    Arduino #01 - RS485 и Modbus RTUСкачать

    Arduino #01 - RS485 и Modbus RTU

    Работа в программе FLProg с протоколом Modbus по интерфейсу RS-485Скачать

    Работа в программе FLProg с протоколом Modbus по интерфейсу RS-485

    Мастер-класс Modbus, OPC и SCADAСкачать

    Мастер-класс Modbus, OPC и SCADA

    Что такое интерфейс RS485? Интерфейс RS485 и оборудование BolidСкачать

    Что такое интерфейс RS485? Интерфейс RS485 и оборудование Bolid
Поделиться или сохранить к себе:
Технарь знаток