Modbus tcp подключение к компьютеру
Больше,
чем хостинг.
Timeweb — компания, которая размещает сайты клиентов в Интернете, регистрирует адреса сайтов и предоставляет аренду виртуальных и физических серверов. Разместите свой сайт в Сети — расскажите миру о себе!
Подключение
Тут описание физического подключения
Для начала нужно добавить сам порт RS-485 в BARY. Для этого перейдите в Настройки, выберите пункт Устройства и нажмите кнопку добавить:
Рис. Добавление устройства
Выберите в списке Шлюзы — MODBUS-RTU:
Рис. Выбор типа устройства
В следующем окне укажите название порта и его скорость:
Рис. Указание настроек устройства
Поле Response timeout отвечает за таймаут при операциях чтения-записи и задается в миллисекундах. Не нужно ставить слишком большое значение, т.к. сама шина последовательная (нельзя опрашивать более одного устройства одновременно) и слишком большая задержка может повлиять на работу остальных устройств.
Поле Desired poll interval задает задержку при переключении на устройство и последующим его опросом.
Галочка Disable auto scan on startup запрещает автоматическое сканирование устройств. Рекомендуется устанавливать ее, если все устройства подключены.
Галочка External driver указывает, что сам порт физически находится на другом устройстве и более подробно про данный механизм работы будет написано отдельно.
Нажимаем продолжить, в следующем окне можно задать имя, комнату и поменять иконку, после чего сохраняем.
Если все параметры указаны верно, то BARY начнет сканировать порт на наличие поддерживаемых устройств. Обо всех найденных устройствах будет всплывающее уведомление. Сами устройства при этом добавлять не нужно (кроме WBIO устройств).
Modbus TCP
Протокол Modbus TCP [Modbus] (или Modbus TCP/IP) используется для того, чтобы подключить устройства с протоколом Modbus к Ethernet или Internet сети. Он использует кадры Modbus RTU на 7-м (прикладном) уровне модели OSI, протоколы Ethernet на 1-м и 2-м уровне модели OSI и TCP/IP на 3-м и 4-м уровне, т. е. Ethernet TCP/IP используется для транспортировки модифицированного кадра Modbus RTU.
Рис. 2.32. Часть фрейма Modbus TCP, встраиваемая в поле «Данные» фрейма Ethernet (рис. 2.31) |
Кадр Modbus RTU (рис. 2.25) используется без поля контрольной суммы, поскольку используется стандартная контрольная сумма Ethernet TCP/IP. Не используется также поле адреса, поскольку в Ethernet используется иная систем адресации. Таким образом, только два поля: «Код функции» и «Данные» (блок PDU) встраиваются в протокол Ethernet TCP/IP. Перед ними вставляется новое поле — заголовок MBAP (ModBus Application Protocol- «прикладной протокол MobBus»), рис. 2.32.
Поле «Идентификатор обмена» используется для идентификации сообщения в случае, когда в пределах одного TCP соединения клиент посылает серверу несколько сообщений без ожидания ответа после каждого сообщения.
Поле «Идентификатор протокола» содержит нули и зарезервировано для будущих применений. Поле «Длина» указывает количество следующих за ним байт.
Поле «Идентификатор устройства» идентифицирует удаленный сервер, расположенный вне сети Ethernet (например, в сети Modbus RTU, которая соединена с Ethernet с помощью межсетевого моста). Чаще всего это поле содержит нули или единицы, игнорируется сервером и отправляется обратно в том же виде (как эхо).
Рис. 2.33. Процесс передачи кадра Modbus RTU по уровням модели OSI через стек протоколов Ethernet TCP/IP в сетях с протоколом Modbus TCP |
Изображенный на рис. 2.32 фрейм называется фреймом ADU (Application Data Unit), встраивается в поле «Данные» фрейма Ethernet (рис. 2.31) и посылается через TCP порт 502, специально зарезервированный для Modbus TCP (порты назначаются и контролируются организацией IANA (Internet Assigned Numbers Authority), www.iana.org). Клиенты и серверы Modbus посылают, получают и прослушивают сообщения через TCP порт 502.
Таким образом, структура кадра и смысл его полей «Код функции» и «Данные» для Modbus и Modbus TCP совершенно идентичны, поэтому для работы с Modbus TCP не требуется дополнительного обучения по сравнению с Modbus RTU. Те же самые коды функций и данные, что и в Modbus RTU, передаются по очереди с прикладного (7-го) уровня модели OSI (рис.2.33) на транспортный уровень, который добавляет к блоку PDU кадра Modbus RTU (рис. 2.25) заголовок с протоколом TCP. Далее новый полученный кадр передается на сетевой уровень, где в него добавляется заголовок IP, затем он передается на канальный уровень Ethernet и на физический. Дойдя до физического уровня, блок PDU оказывается «обросшим» заголовками протоколов всех уровней, через которые он прошел. Пройдя по линии связи, сообщение продвигается снизу вверх по стеку протоколов (уровням модели OSI) в устройстве получателя, где на каждом уровне из него удаляется соответствующий заголовок, а на прикладном уровне выделяется блок PDU (код функции и данные) кадра протокола Modbus RTU.
В сети c протоколом Modbus TCP устройства взаимодействуют по типу «клиент-сервер», где в качестве клиента выступает ведущее устройство, в качестве сервера — ведомое. Сервер не может инициировать связи в сети, но некоторые устройства в сети могут выполнять роль как клиента, так и сервера.
Modbus TCP не имеет широковещательного или многоабонентского режима, он осуществляет соединение только между двумя устройствами.
Инструкция управления по протоколу 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 стоповый бит) |
Таблица 1 — Настройка параметров частотного преобразователя для связи по протоколу Modbus RTU
При выборе в параметре 8-30 [2], происходит автоматическое изменение скорости передачи данных порта ПЧ на 19200 бод, следует презапустить привод. Управление по Modbus можно осуществлять только когда привод переведен в режим автоматического управления «Auto On».
Адресация регистров
Осуществлять управление можно через:
- слово управления (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 | Назначение |
50000 | 49999 | С34F | Входные данные: регистр командного слова привода (CTW) |
50010 | 50009 | C359 | Входные данные: регистр задания по интерфейсу RS-485 (REF) |
50200 | 50199 | C417 | Выходные данные: регистр слова состояния привода (STW) |
50210 | 50209 | C421 | Выходные данные: регистр основного текущего значения привода (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).
Рисунок 1 — Создание нового проекта в EasyBuilder Pro
Далее следует изменить настройки для связи с частотным преобразователем, нажав на вкладку «Создать».
Рисунок 2 — Системные настройки
Вкладку парметры устройства следует настроить с такими же параметрами, с которыми был настроен преобразователь частоты:
Рисунок 3 — Настройки параметров устройства
Создание проекта в программном обеспечении EasyBuilder Pro
После того, как будут введены все параметры коммуникации следует добавить на экран элементы управления и отображения преобразователя частоты: кнопки,ползунок, журнал событий и т.д.
Для создания кнопки «Пуск» следует выбрать объект «Байтовая кнопка» и ввести следующие параметры : Имя ПЛК: Modbus RTU; во вкладке адрес выбрать: 4х (Word, 1~65535, Output Register); значение 50000 — регистр командного слова. Во вкладке атрибуты — установить значение 1148, что является адресом регистра частотного преобразователя команды «Пуск».
Рисунок 4 — Параметры байтовой кнопки «Пуск»
Далее создадим объект «Ползунок» для изменения частоты вращения электродвигателя, и настроим его следующим образом:
Имя ПЛК: 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 Гц).
Рисунок 7 — Параметры журнала событий
Выборка данных
Произведем выборку данных для отображения графика изменения напряжения. Для этого следует выбрать: Объекты — Выборка данных — Выборки данных — Создать. В появившемся окне во вкладке описание впишем: «График напряжения», Имя ПЛК: Modbus RTU; в поле адрес выбрать: 4х (Word, 1~65535, Output Register); значение 16120 — регистр считывания напряжения. Далее перейдем в «Объекты» — «Выборка данных» — «Графические выборки». Добавим наш график на рабочую область панели, щелкнем по графику двойным щелчком мыши и в появившемся окне во вкладке «Индекс объекта выборки данных» выберем наш ранее созданный «График напряжения». Расстояние между выборками — точка, расстояние задаем в зависимости от необходимых требований.
Рисунок 8 — Параметры выборки данных
Скомпилируем наш проект выбрав: «Инструменты» — «Компиляция» — «Компилировать».
Рисунок 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. После загрузки проекта, панель перезагрузится и будет готова к работе с загруженным нами проектом.
Рисунок 11- Загрузка проекта в панель
Подключим электродвигатель к преобразователю частоты и включим его в сеть. Чтобы управлять ПЧ с панели оператора, инвертор следует перевесть в автоматическое управление «Auto ON».
Импорт команд и каналов Modbus
Протокол Modbus, реализованный в iRidium, позволяет управлять множеством контроллеров. В связи с этим была создана универсальная система импорта данных, позволяющая создать список команд и каналов обратной связи для драйвера Modbus в таблице Exel. Эта таблица сохраняется в формат CSV и может быть импортирована в проект iRidium как новое Modbus устройство:
- В блоке, отмеченном синим цветом , указывается IP-адрес, порт и частота транзакций для подключения к контроллеру по Modbus TCP. Если Вы используете другой драйвер, скопируйте его название из редактора GUI Editor и впишите в первую строку шаблона вместо MODBUS TCP (TCP)
- В блоке, отмеченном зеленым цветом , формируется список команд (Commands), которые должны быть созданы в дереве устройств проекта. Каждая строка — это команда с именем и рядом настроек (подробнее о настройках см. общее описание в разделе «Отправка команд и чтение данных по протоколу Modbus»)
- В блоке, отмеченном оранжевым цветом , формируется список каналов обратной связи (Feedbacks), которые должны быть созданы в дереве устройств проекта. Каждая строка — это канал с именем и рядом настроек (подробнее о настройках см. общее описание в разделе «Отправка команд и чтение данных по протоколу Modbus»)
Когда список команд и каналов сформирован, сохраните таблицу Exel в формат *.CSV:
Результатом будет создание файла, готового к импорту в iRidium. Перейдите к редактору iRidium GUI Editor, создайте новый проект и воспользуйтесь механизмом File > Import. Выберите созданный CSV файл и подтвердите Импорт данных в свой проект.
Modbus RTU & TCP по одной линии
Сообщение Ryzhij » 26 ноя 2018, 01:07
Никита писал(а): ↑ 25 ноя 2018, 01:33 Короче, разный формат пакетов и RTU-железяка, как ни преобразуй физику, без доп. обработки пакетов, не примет пакет от ModbusTCP.
—————————————————
«У человека в душе дыра размером с Бога, и каждый заполняет её как может». Жан-Поль Сартр