Примеры настройки обмена по протоколу Modbus

ПЛК210 (Modbus RTU Master) и модули Мх110

В качестве примера будет рассмотрена настройка обмена с модулями Mx110 (МВ110-8А, МВ110-16Д и МУ110-8Р).

Реализуемый алгоритм: если значение первого аналогового входа модуля МВ110-8А превышает 30 и при этом первый дискретный вход модуля МВ110-16Д замкнут, то первый дискретный выход МУ110-8Р замыкается с задержкой 3 секунды. Во всех остальных случаях дискретный выход МУ110-8Р разомкнут.

Graphic
Структурная схема примера

Пример создан в среде Полигон и подразумевает запуск на ПЛК210 с прошивкой 3.х.

Если требуется запустить проект на другом устройстве, следует изменить свойства ОС и Тип процессорной платы в окне Свойства модуля MB_RTU_master_Mx110 на необходимые.

Пример доступен для скачивания по ссылке. Пароль для доступа к отладчику – 1.

Сетевые параметры устройств в примере

Параметр

МВ110-16Д

МВ110-8А

МУ110-8Р

COM-порт ПЛК, к которому подключен модуль

A1B1

Адрес модуля

1

16

17

Скорость обмена

9600

Количество бит данных

8

Контроль четности

Нет

Количество стоп-бит

1

Регистры модулей в примере

Модуль

Номер регистра DEC

Тип в устройстве

Функция Modbus

Описание

МВ110-8А

4, 5

FLOAT 32

0x03

Значение температуры со входа 1

МВ110-16Д

51

UINT 16

0x03

Битовая маска входов

МУ110-8Р

50

UINT 16

0x10

Битовая маска выходов

Для настройки обмена следует:

  1. Настроить модули Mx110 с помощью программы ОВЕН Конфигуратор/Конфигуратор М110 в соответствии с таблицей. Подключить модули к контроллеру в соответствии с рисунком.

  2. Создать новый проект Полигон (в примере — файл с именем MB_RTU_master_Mx110). Добавить в проект библиотеку paModbus.

  3. Добавить в место работы Фон программу с именем Modbus_RTU_Master.

  4. Внутри программы добавить четыре Страницы, в свойстве Комментарии которых указать соответственно COM-порт, МВ110-8А, МВ110-16Д и МУ110-8Р.

    Graphic
    Дерево проекта
  5. Внутри страницы COM-порт создать блок 210-RS485 из библиотеки paOwenIO. На входах блока задать значения в соответствии с таблицей.

    Graphic
    Настройка блока COM-порт
  6. Далее создать блок Modbus RTU Master. Соединить вход  с соответствующим выходом блока 210-RS485.

    Graphic
    Настройка блока
  7. Внутри страницы МВ110-8А создать блок чтения значений с плавающей запятой ModbusFltIn. На входах блока задать значения в соответствии с таблицами и.

    Graphic
    Настройка блока ModbusFltIn
  8. Внутри страницы МВ110-16Д создать блок для чтения значений с дискретных входов ModbusRegIn. На входах блока задать значения таблицами и.

  9. Создать блок выбора 16 битов из регистра FromReg16 из библиотеки paCore и соединить выход блока ModbusRegIn o0 с входом reg блока FromReg8. Добавить к первому выходу блока FromReg8 комментарий – Вход МВ110-16Д.

    Graphic
    Страница МВ110-16Д
  10. Поставить на странице порядки По потоку данных.

  11. Внутри страницы МУ110-8Р создать блок для записи значений на дискретные выходы ModbusRegsOut. На входах блока задать значения в соответствии с таблицами и.

  12. Создать блок объединения 8 битов в регистр ToReg8 из библиотеки paCore и соединить вход блока ModbusRegsOutin0 с входом reg блока ToReg8. Добавить к первому входу блока ToReg8 комментарий – Выход МУ110-8Р.

    Graphic
    Страница МУ110-8Р
  13. Поставить на странице порядки По потоку данных.

  14. Соединить выход блока ModbusRTU Master itr с соответствующими входами блоков чтения на страницах МВ110-8А и МВ110-16Д.

  15. Создать вход у блока Modbus RTU Master bo0, соединить его с соответствующим выходом блока записи на странице МУ110-8Р.

  16. Создать в месте работы Таймер программу с названием Mx110.

  17. Внутри программы создать страницы с комментариями Значения с модулей и Обработка значений.

    Graphic
    Дерево программы
  18. На странице Значения с модулей создать блоки TransBit и TransFlt из библиотеки paCore.

    Graphic
    Блоки TransBit и TransFlt
  19. Соединить входы блоков со страницы Значения с модулей с выходами блоков со страниц МВ110-8А и МВ110-16Д, как показано на рисунках ниже.

    Graphic
    Соединение блоков (Значения с модулей)
    Graphic
    Соединение блоков (МВ110-8А)
    Graphic
    Соединение блоков (МВ110-16Д)
  20. Соединить выход блока со страницы Значения с модулей с входами блоков со страницы МУ110-8Р, как показано на рисунках ниже.

    Graphic
    Соединение блоков (
    Graphic
    Соединение блоков (
  21. На странице Обработка значений создать блоки Cmpr, AND и DelayOn из библиотеки paCore. Соединить их и настроить в соответствии с рисунком ниже.

    Graphic
    Страница Обработка значений
  22. Соединить входы блоков Cmpr и AND с выходами блоков со страницы Значения с модулей, как показано на рисунках ниже.

    Graphic
    Соединение блоков (
    Graphic
    Соединение блоков (Обработка значений)
  23. Соединить выход блока DelayOn с входом блока со страницы Значения с модулей, как показано на рисунках ниже.

    Graphic
    Соединение блока (
    Graphic
    Соединение блока (

    Для наладки работы собранной системы в примере используется окно представления График. Для настройки графика необходимо сделать следующее.

  24. Создать в модуле Раздел с именем График.

  25. Добавить в раздел График выходы блоков TransBit и TransFltТемпература, Вход МВ110-16Д и Выход МУ110-8Р. На странице Значения с модулей данные выходы должны подсветиться желтым.

    Graphic
    Дерево проекта
    Graphic
    Блоки TransBit и TransFlt с подсвеченными выходами
  26. Открыть окно представления График и перетащить созданный раздел в верхнее поле окна.

    Graphic
    Окно представления график
  27. Запустить проект на контроллере, запустить отладчик и открыть график. Корректная работа системы показана на рисунке ниже.

    Graphic
    Работа программы

ПЛК210 (Modbus RTU Slave) и Owen OPC Server

В качестве примера будет рассмотрена настройка обмена с Owen OPC Server, который будет использоваться в режиме Modbus RTU Master.

Graphic
Структурная схема примера

Пример создан в среде Полигон и подразумевает запуск на ПЛК210 с прошивкой 3.х.

Если требуется запустить проект на другом устройстве, следует изменить свойства ОС и Тип процессорной платы в окне Свойства модуля MB_RTU_slave_Owen_OPC_server на необходимые.

Пример доступен для скачивания по ссылке. Пароль для доступа к отладчику – 1.

Сетевые параметры устройств в примере

Параметр

ПЛК210

Owen OPC Server

Режим работы

Slave

Master

COM-порт

A2B2

COM13

Slave ID

1

-

Скорость обмена

115200

Количество бит данных

8

Контроль четности

Нет

Количество стоп-бит

1

Регистры/флаги ПЛК в примере

Адрес регистра/флага

Тип в устройстве

Область памяти

0

WORD

Holding Registers

0

BOOL

Coils

1, 2

REAL

Holding Registers

Для настройки обмена следует:

  1. Подключить контроллер и ПК в соответствии с рисунком.

  2. Создать новый проект Полигон (в примере с именем MB_RTU_slave_Owen_OPC_server). Добавить в проект библиотеку paModbus.

  3. Добавить в место работы Фон программу с именем Modbus_RTU_Slave.

  4. Внутри программы добавить две Страницы, в свойстве Комментарии которых указать соответственно Modbus RTU Slave и Регистры Modbus.

    Graphic
    Дерево проекта
  5. Внутри страницы Modbus RTU Slave создать блок 210-RS485 из библиотеки paOwenIO. На входах блока задать значения в соответствии с таблицей.

    Graphic
    Настройка блока
  6. Далее создать блок Modbus RTU Slave. Соединить вход cnc с соответствующим выходом блока 210-RS485.

    Graphic
    Настройка блока
  7. Затем создать блоки записи регистров в ПЛК (в соответствии с таблицей). Соединить входы блоков itr с советствующим выходом блока Modbus RTU Slave.

    Graphic
    Настройка блоков записи
  8. Создать блоки чтения регистров из ПЛК (в соответствии с таблицей). Создать три входа bo у блока Modbus RTU Slave. Соединить их с соответствующими выходами блоков чтения.

    Graphic
    Настройка блоков чтения
  9. Для того, чтобы одновременно читать и записывать одни и те же значения мастером сети, следует соединить выходы блоков записи o со входами блоков чтения in. Для удобства в примере используются скрытые связи.

    Для создания скрытой связи следует в свойствах выхода o добавить свойства Полный алиас и Глобальная константа. В свойстве Полный алиас задать имя новой константы.

    Повторить те же действия для всех блоков записи на странице.

    Graphic
    Создание скрытой связи
    Graphic
    Блок записи с константным выходом
  10. У соответствующих входов блоков чтения in правой кнопкой мыши задать созданные глобальные константы.

    Graphic
    Создание скрытой связи
  11. Поставить на странице порядки По потоку данных.

    Таким образом, вид страницы Modbus RTU Slave примет вид как на рисунке ниже.

    Graphic
    Вид страницы Modbus RTU Slave
  12. Для удобства можно вынести значения созданных регистров ПЛК на отдельную страницу Регистры Modbus.

    Для этого следует на странице Регистры Modbus создать блоки TransBit, TransInt и TransFlt из библиотеки paCore.

    На входы созданных блоков l задать созданные ранее константы. Выходы блоков o при необходимости соединить с другими блоками в проекте.

    Graphic
    Терминальные блоки
  13. Установить и запустить Owen OPC Server.

  14. Нажать правой кнопкой мыши на компонент Сервер и добавить узел.

    Graphic
    Добавление узла
  15. В свойствах добавленного узла задать протокол Modbus RTU и настройки интерфейса в соответствии с таблицей.

    Graphic
    Свойства узла
  16. Добавить в узел Устройство.

    Graphic
    Добавление устройства
  17. Задать в устройстве свойства в соответствии с таблицей.

    Graphic
    Свойства устройства
  18. Добавить в устройстве три Тега.

    Graphic
    Добавление тега
  19. Задать созданным тегам свойства в соответствии с таблицей.

    Graphic
    Тег Coil
    Graphic
    Тег
    Graphic
    Тег
  20. Загрузить и открыть программу в ПЛК, запустить отладчик. Запустить опрос Owen OPC Server.

  21. Корректный обмен данными показан на рисунках ниже.

    Graphic
    Работа программы ПЛК
    Graphic
    Работа Owen OPC Server

ПЛК210 (Modbus TCP Master) и модули Мх210

В качестве примера будет рассмотрена настройка обмена с модулями Mx210 (МВ210-101 и МК210-301).

Реализуемый алгоритм: если значение первого аналогового входа модуля МВ210-101 превышает 30 градусов, то на первом выходе модуля МК210-301 включается ШИМ-генератор. В любом другом случае выход находится в режиме переключения логического сигнала.

Первый выход МК210-301 соединяют с первым входом для отслеживания поступающих сигналов.

Graphic
Структурная схема примера

Пример создан в среде Полигон и подразумевает запуск на ПЛК210 с прошивкой 3.х.

Если требуется запустить проект на другом устройстве, следует изменить свойства ОС и Тип процессорной платы в окне Свойства модуля MB_TCP_master_Mx210 на необходимые.

Пример доступен для скачивания по ссылке. Пароль для доступа к отладчику – 1.

Сетевые параметры устройств в примере

Параметр

ПЛК210

МВ210-101

МК210-301

Режим работы

Master

Slave

Slave

IP адрес

10.2.7.77

10.2.11.68

10.2.4.5

Маска подсети

255.255.0.0

IP адрес шлюза

10.2.1.1

Порт

502

Slave ID

-

1

1

Регистры модулей в примере

Модуль

Номер регистра DEC

Тип в устройстве

Функция Modbus

Описание

МВ210-101

4000…4002

FLOAT 32 и UINT 16

0x03

Значение входа 1 и время измерения входа 1

4003…4005

Значение входа 2 и время измерения входа 2

4005…4008

Значение входа 3 и время измерения входа 3

МК210-301

51

UINT 8

0x03

Битовая маска входов DI1…DI6

272

UINT 16

0x06

Режим работы выхода DO1:

0 – переключение лог. сигнала;

1 – ШИМ

308

Период ШИМ DO1:

1000…60000 (мс)

340

Коэффициент заполнения ШИМ DO1:

0…1000 (0.1 %)

470

UINT 8

Битовая маска установки состояния выходов DO1…DO8

Для настройки обмена следует:

  1. Настроить модули Mx210 с помощью программы ОВЕН Конфигуратор в соответствии с таблицей (см. руководство Mx210. Примеры настройки обмена). Подключить модули к контроллеру в соответствии с рисунком.

  2. Создать новый проект Полигон (в примере с именем MB_TCP_master_Mx210). Добавить в проект библиотеку paModbus.

  3. Добавить в место работы Фон программу с именем Modbus_TCP_Client.

  4. Внутри программы добавить две Страницы, в свойстве Комментарии которых указать соответственно MВ210-101 и МК210-301.

    Graphic
    Дерево проекта
  5. Внутри страницы МВ210-101 создать блок TcpIpClA из библиотеки paCore. На входах блока задать значения в соответствии с таблицей.

    В примере локальный IP-адрес контроллера взят по SQL-запросу – обращение к соответствующему свойству модуля MB_TCP_master_Mx210.

    Запрос IP-адреса:

    "<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_ip"</sql>"
    Graphic
    Настройка блока TCP/IP-клиента
  6. Далее создать блок Modbus TCP Master. Соединить вход cnc с соответствующим выходом блока TcpIpClA.

    Graphic
    Настройка блока
  7. Затем создать блок чтения результатов измерения с аналоговых входов OwenFltIn. Добавить к блоку два выхода. В комментариях к выходам rslt прописать, к каким входам МВ210-101 они относятся. Соединить вход блока itr с соответствующим выходом блока Modbus TCP Master.

    Graphic
    Настройка блока OwenFltIn
  8. Поставить на странице порядки По потоку данных.

  9. Повторить п. 5…6 на странице МК210-301.

    Graphic
    Настройка блоков
  10. Создать блок для чтения значений с дискретных входов ModbusRegIn. Задать на входе slv значение 1, на входе adr0 – 51 (см. таблицу). Соединить вход блока itr с соответствующим выходом блока Modbus TCP Master.

    Graphic
    Настройка блока
  11. Создать блок выбора 8 битов из регистра FromReg8 из библиотеки paCore и соединить выход блока ModbusRegIn o0 с входом reg блока FromReg8. Добавить к первому выходу блока FromReg8 комментарий – Вход 1.

    Graphic
    Настройка блока
  12. Аналогично п. 10 создать блоки записи ModbusRegOut регистров 470, 272, 308, 340 (см. таблицу). В качестве начальных значений периода и коэффициента заполнения ШИМ указать соответственно, 2000 и 500.

    Graphic
    Настройка блоков
  13. Создать блок объединения 8 битов в регистр ToReg8 из библиотеки paCore аналогично п. 11.

    Graphic
    Настройка блока
  14. Поставить на странице порядки По потоку данных.

    Итоговый вид страниц МВ210-101 и МК210-301 показан на рисунках ниже.

    Graphic
    Вид страницы МВ210-101
    Graphic
    Вид страницы МК210-101

    Перейти к обработке значений входов/выходов.

  15. Создать в месте работы Таймер программу с названием Mx210.

  16. Внутри программы создать страницы с комментариями Значения с модулей и Обработка значения температуры.

    Graphic
    Дерево программы
  17. На странице Значения с модулей создать блоки TransBit и TransFlt из библиотеки paCore с тремя входами.

    Graphic
    Блоки TransBit и TransFlt
  18. Соединить входы блоков со страницы Значения с модулей с выходами блоков со страниц МВ210-101 и МК210-301, как показано на рисунках ниже.

    Graphic
    Соединение блоков (Значения с модулей)
    Graphic
    Соединение блоков (
    Graphic
    Соединение блоков (МК210-301)
  19. Соединить выходы блоков со страницы Значения с модулей с выходами блоков со страницы МВ210-101, как показано на рисунках ниже.

    Graphic
    Соединение блоков (
    Graphic
    Соединение блоков (МК210-301)
  20. На странице Обработка значения температуры создать блоки Cmpr из библиотеки paCore.

    Graphic
    Блок Cmpr
  21. Соединить вход и выход блока Cmpr с выходом и входом блоков со страницы Значения с модулей, как показано на рисунках ниже.

    Graphic
    Соединение блоков (Значения с модуля МК210–301) с блоком Cmpr
    Graphic
    Соединение блоков (

    Для наладки работы собранной системы в примере используется окно представления График.

  22. Создать в модуле Раздел с именем График.

  23. Добавить в раздел График выходы блоков TransBit и TransFltВыход и Температура. На странице Значения с модулей данные выходы должны подсветиться желтым.

    Graphic
    Дерево проекта
    Graphic
    Блоки TransBit и TransFlt с подсвеченными выходами
  24. Открыть окно представления График и перетащить созданный раздел в верхнее поле окна.

    Graphic
    Окно представления график
  25. Запустить проект на контроллере, запустить отладчик и открыть график. Пронаблюдать корректную работу системы.

    Graphic
    Работа программы

ПЛК210 (Modbus TCP Slave) и Owen OPC Server

В качестве примера будет рассмотрена настройка обмена с Owen OPC Server, который будет использоваться в режиме Modbus TCP Master.

Graphic
Структурная схема примера

Пример создан в среде Полигон и подразумевает запуск на ПЛК210 с прошивкой 3.х.

Если требуется запустить проект на другом устройстве, следует изменить свойства ОС и Тип процессорной платы в окне Свойства модуля MB_TCP_slave_Owen_OPC_server на необходимые.

Пример доступен для скачивания по ссылке. Пароль для доступа к отладчику – 1.

Сетевые параметры устройств в примере

Параметр

ПЛК210

Owen OPC Server

Режим работы

Slave

Master

IP адрес

10.2.7.77

10.2.3.179

Порт

502

Slave ID

1

-

Регистры/флаги ПЛК в примере

Адрес регистра/флага

Тип в устройстве

Область памяти

0

WORD

Holding Registers

0

BOOL

Coils

1, 2

REAL

Holding Registers

Для настройки обмена следует:

  1. Подключить контроллер и ПК к общей локальной сети (сетевые настройки ПЛК и ПК в примере см. таблицу).

  2. Создать новый проект Полигон (в примере с именем MB_TCP_slave_Owen_OPC_server). Добавить в проект библиотеку paModbus.

  3. Добавить в место работы Фон программу с именем Modbus_TCP_Server.

  4. Внутри программы добавить две Страницы, в свойстве Комментарии которых указать соответственно Modbus TCP Server и Регистры Modbus.

    Graphic
    Дерево проекта
  5. Внутри страницы Modbus TCP Server создать блок TcpIpSrA из библиотеки paCore. На входах блока задать значения в соответствии с таблицей.

    В примере локальный IP-адрес контроллера взят по SQL-запросу – обращение к соответствующему свойству модуля MB_TCP_slave_Owen_OPC_server.

    Запрос IP-адреса:

    "<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_ip"</sql>"
    Graphic
    Настройка блока
  6. Далее создать блок Modbus TCP Slave. Соединить вход cnc с соответствующим выходом блока TcpIpSrA.

    Graphic
    Настройка блока
  7. Затем создать блоки записи регистров в ПЛК (в соответствии с таблицей). Соединить входы блоков itr с сооветствующим выходом блока Modbus TCP Slave.

    Graphic
    Настройка блоков записи
  8. Создать блоки чтения регистров из ПЛК (в соответствии с таблицей). Создать три входа bo у блока Modbus TCP Slave. Соединить их с соответствующими выходами блоков чтения.

    Graphic
    Настройка блоков чтения
  9. Для того, чтобы одновременно читать и записывать одни и те же значения мастером сети, следует соединить выходы блоков записи o со входами блоков чтения in.

    Для создания скрытой связи следует в свойствах выхода o добавить свойства Полный алиас и Глобальная константа. В свойстве Полный алиас задать имя новой константы. Эти действия следует повторить для всех блоков записи на странице.

    Graphic
    Создание скрытой связи
    Graphic
    Блок записи с константным выходом
  10. У соответствующих входов блоков чтения in правой кнопкой мыши задать созданные глобальные константы.

    Graphic
    Создание скрытой связи
  11. Поставить на странице порядки По потоку данных.

    Итоговый вид страницы Modbus TCP Server показан на рисунке ниже.

    Graphic
    Вид страницы Modbus TCP Server
  12. Для удобства можно вынести значения созданных регистров ПЛК на отдельную страницу Регистры Modbus.

    Для этого на странице Регистры Modbus следует создать блоки TransBit, TransInt и TransFlt из библиотеки paCore.

    На входы созданных блоков l задать созданные ранее константы. Выходы блоков o при необходимости соединить с другими блоками в проекте.

    Graphic
    Терминальные блоки
  13. Установить и запустить Owen OPC Server.

  14. Нажать правой кнопкой мыши на компонент Сервер и добавить узел.

    Graphic
    Добавление узла
  15. В свойствах добавленного узла задать протокол Modbus TCP/IP.

    Graphic
    Свойства узла
  16. Добавить в узел Устройство.

    Graphic
    Добавление устройства
  17. Задать в устройстве свойства в соответствии с таблицей.

    Graphic
    Свойства устройства
  18. Добавить в устройстве три Тега.

    Graphic
    Добавление тега
  19. Задать созданным тегам свойства в соответствии с таблицей.

    Graphic
    Тег Coil
    Graphic
    Тег Word
    Graphic
    Тег
  20. Загрузить и открыть программу в ПЛК, запустить отладчик. Запустить опрос Owen OPC Server.

  21. Корректный обмен данными показан на рисунках ниже.

    Graphic
    Работа программы ПЛК
    Graphic
    Работа Owen OPC Server