Головна По продукції Weintek

Як використовувати Modbus TCP з Weintek CODESYS

По продукції Weintek

05.12.2025

Як використовувати Modbus TCP з Weintek CODESYS

Автор

Джерело: www.weintekusa.com

Чому важлива підтримка Modbus TCP

Modbus — один із оригінальних відкритих промислових протоколів, який залишається розумним вибором для проектів автоматизації. Його широке використання на незліченній кількості пристроїв робить його ідеальним, коли зв'язок з конкретним постачальником неможливий. Завдяки простій архітектурі та зрозумілій структурі пакетів, навіть ті, хто вперше знайомиться з Modbus, можуть швидко інтегрувати його у свої продукти.

А коли пристрій не має вбудованої підтримки Modbus, недорогі мостові або шлюзові пристрої можуть конвертувати власні або незвичайні протоколи в Modbus, що робить інтеграцію з широким спектром пристроїв швидкою та безпроблемною.

Що робить CODESYS від Weintek унікальним

Хоча багато хто знає Weintek як провідного постачальника HMI, мало хто усвідомлює, що наші продукти також включають додатковий програмний ПЛК CODESYS, створюючи потужне та недороге рішення HMI + ПЛК. Реалізація CODESYS від Weintek унікальна своєю архітектурою: HMI та ПЛК не конкурують за апаратні ресурси. Вбудованому ПЛК CODESYS виділено спеціальне ядро процесора, порт Ethernet та, на відповідних пристроях, порт шини CAN. Це спеціалізоване обладнання забезпечує незалежну роботу середовища виконання CODESYS, запобігаючи споживанню ресурсів, зарезервованих для RTOS, застосунком HMI.

Цей поділ поширюється і на програмування. Візуалізація HMI розробляється за допомогою EasyBuilder Pro, інтуїтивно зрозумілого програмного забезпечення для програмування HMI від Weintek, яке підтримує понад 400 промислових протоколів. Тим часом середовище виконання CODESYS програмується за допомогою стандартного середовища розробки CODESYS, доступного на форумі Weintek USA або веб-сайті Weintek.

Окрім продуктивності та гнучкості програмування, CODESYS відкриває двері до додаткових протоколів та можливостей інтеграції. Наприклад, Weintek пропонує різноманітні драйвери EtherNet/IP, які включають універсальні драйвери, сумісні з багатьма пристроями. Однак, CODESYS забезпечує вбудовану підтримку EtherNet/IP та простий процес імпорту EDS для розробників. Повний список підтримуваних протоколів у CODESYS від Weintek дивіться в технічному описі CODESYS.

Покрокове налаштування: інтеграція CODESYS Modbus TCP

На відміну від використання EtherNet/IP, Modbus TCP не вимагає оновлення прошивки вашого пристрою. Однак вам потрібно буде встановити наш пакет Codesys та екземпляр Codesys IDE.

Встановлення Codesys

Ми наполегливо рекомендуємо використовувати Codesys 3.5.15.50, оскільки рекомендований драйвер Modbus TCP було перевірено в цій версії. Щоб встановити Codesys, перегляньте розділ «Де я можу завантажити Codesys?» у цій публікації.

Проект Codesys

Крок 1: Підключіть ПК до HMI, як показано в цьому посібнику: Посилання

Примітка: Розташування функції «Вхід до CODESYS» може відрізнятися залежно від типу пристрою та прошивки. Три можливі місця розташування цієї опції показано нижче.

A. Опція «Вхід до CODESYS» може знаходитися в меню налаштувань «Мережа».

Крок 1a_ModbusTCPwithWeintekCODESYS

B. Опція «Вхід до CODESYS» може знаходитися в меню налаштувань «CODESYS» у розділі «Змінити Ethernet (LAN1)».

Крок 1b_ModbusTCPwithWeintekCODESYS

C. Опція «Вхід до CODESYS» може знаходитися в меню налаштувань «CODESYS» на веб-сервері. Ось посилання на публікацію, в якій ми демонструємо, як отримати доступ до веб-сервера HMI.

Крок 1c_ModbusTCPwithWeintekCODESYS

Крок 2: Відкрийте середовище розробки Codesys та створіть новий «Стандартний проект» або відкрийте існуючий проект.

Step-2_ModbusTCPwithWeintekCODESYS

Крок 3: Коли з’явиться запит, переконайтеся, що вибрано «Weintek Built-in CODESYS».

Крок 3_ModbusTCPwithWeintekCODESYS

Крок 4: У дереві проекту двічі клацніть на «Пристрій (вбудований Weintek CODESYS)».

Крок 4_ModbusTCPwithWeintekCODESYS

Крок 5: Виберіть «Шлюз» і натисніть «Додати пристрій…».

Крок 5_ModbusTCPwithWeintekCODESYS (1)

Примітка: Якщо вкладка «Пристрій» відображається, як зображено нижче, введіть IP-адресу LAN-2 HMI у поле введення праворуч і натисніть клавішу [Enter]. Після завершення перейдіть до кроку 8.

Крок 5a_ModbusTCPwithWeintekCODESYS 1

Крок 6: У наступному меню введіть IP-адресу порту LAN-2 панелі оператора.

Крок 6_ModbusTCPwithWeintekCODESYS

Крок 7: HMI додасть інформацію до екземпляра Gateway. Коли HMI вибрано, натисніть кнопку «Встановити активний шлях…».

Крок 7_ModbusTCPwithWeintekCODESYS

Крок 8: У дереві проекту клацніть правою кнопкою миші на «Пристрій (вбудований Weintek CODESYS)» та виберіть «Додати пристрій…».

Крок 8_ModbusTCPwithWeintekCODESYS

Крок 9: У наступному меню виберіть адаптер «Ethernet» версії 3.5.15.0 і натисніть кнопку «Додати пристрій…» у правому нижньому куті.

Примітка: Цей драйвер слід додати до пакета Codesys від Weintek, проте, щоб переглянути цей драйвер, вам може знадобитися встановити прапорець «Показати всі версії».

Крок 9_ModbusTCPwithWeintekCODESYS

Крок 10: Не відчиняючи меню «Додати пристрій…», натисніть на драйвер «Ethernet» у дереві проекту та виберіть екземпляр «Modbus TCP Master» версії 3.5.15.0, а потім натисніть кнопку «Додати пристрій…» у правому нижньому куті.

Примітка: Цей драйвер слід додати до пакета Codesys від Weintek, проте, щоб переглянути цей драйвер, вам може знадобитися встановити прапорець «Показати всі версії».

Крок 10_ModbusTCPwithWeintekCODESYS

Крок 11: Не відчиняючи меню «Додати пристрій…», натисніть на драйвер «Modbus_TCP_Master» у дереві проекту та виберіть екземпляр «Modbus TCP Slave» версії 3.5.15.0, а потім натисніть кнопку «Додати пристрій…» у правому нижньому куті.

Крок 11_ModbusTCPwithWeintekCODESYS

Крок 12: Двічі клацніть на пристрої «Ethernet» у дереві проекту та натисніть на три крапки в наступному меню.

Крок 12_ModbusTCPwithWeintekCODESYS

Крок 13: У меню «Мережеві адаптери» виберіть eth0 і натисніть «ОК».

Примітка: [Необов’язково] Двічі клацніть на пристрої «Modbus TCP Master» у дереві проекту та переконайтеся, що вибрано опцію «Автоматичне повторне підключення».

Крок 13_ModbusTCPwithWeintekCODESYS

Крок 14: Двічі клацніть на пристрої «Modbus TCP Slave» у дереві проекту та налаштуйте IP-адресу на вкладці «Загальні». Щоб зіставити змінну з адресою Modbus, потрібно налаштувати кожну цільову адресу на вкладці «Канал Modbus Slave». Щоб додати канал, виберіть цю вкладку та натисніть кнопку «Додати канал…».

Примітка: За замовчуванням ідентифікатор пристрою Modbus TCP slave встановлено на 255. Якщо пристрій, на який ви намагаєтеся записати дані, використовує інший ідентифікатор пристрою, використовуйте Modbus TCP Slave версії 3.5.10.0.

Крок 14_ModbusTCPwithWeintekCODESYS

Крок 15: Адресація Modbus залежить від специфікацій цільового пристрою, і постачальники можуть відображати адреси, як зазначено у стовпці «Адреса» або «Еквівалент».

Примітка: Деякі постачальники можуть обрати представлення на основі одиниці, у таких випадках зміщення 16#0000 з вибраним параметром «Запис в один регістр» буде відображатися на регістр 4x-1 або 40001 у цільовому пристрої.

Крок 15_ModbusTCPwithWeintekCODESYS

Крок 16: Налаштуйте канал таким чином, щоб він відповідав потрібному регістру Modbus.

Примітка: Канал 0 дозволить нам записувати в діапазоні 4x-100 ~ 4x-109 (на основі одиниці). Канал 1 дозволить нам читати в діапазоні 4x-5 ~ 4x-9 (на основі одиниці).

Крок 16_ModbusTCPwithWeintekCODESYS

Крок 17: Щоб зіставити змінну з адресою Modbus, виберіть вкладку «Зіставлення вводу/виводу ModbusTCPSlave». Щоб зіставити змінну з точкою вводу/виводу, оголосіть змінну в POU, GVL або PVL.

Крок 17_ModbusTCPwithWeintekCODESYS

Крок 18: Після оголошення змінної виберіть вкладку «ModbusTCPSlave I/O Mapping» (Зіставлення вводу/виводу ModbusTCPSlave) на пристрої Modbus TCP Slave та двічі клацніть поруч із потрібною точкою вводу/виводу у стовпці «Змінна». Коли з’явиться відповідний запит, натисніть на три крапки.

Крок 18_ModbusTCPwithWeintekCODESYS

Крок 19: Переконайтеся, що вибрано потрібну змінну проекту, і натисніть «OK», щоб зіставити цю змінну з точкою вводу/виводу:

Примітка: Якщо змінна, що відповідає точці вводу-виводу, не використовується в конструкційній ланцюжку, дані в цій точці вводу-виводу не будуть опитуватися ПЛК.

Крок 19_ModbusTCPwithWeintekCODESYS

Крок 20: Після завершення проєкту клацніть правою кнопкою миші на «Application» (Програма) та у списку «Add Object» (Додати об’єкт) виберіть «Symbol Configuration…» (Конфігурація символу…). Коли з’явиться відповідний запит, натисніть «Add» (Додати).

Крок 20_ModbusTCPwithWeintekCODESYS

Крок 21: Виберіть «Створити» в наступному меню, щоб перевірити, чи не містить помилок програма. Переконайтеся, що кожен тег, який ви хочете експортувати, вибрано в цьому списку.

Крок 21_ModbusTCPwithWeintekCODESYS

Крок 22: На вкладці «Збірка» натисніть «Згенерувати код», і файл .xml під назвою «[НАЗВА ПРОЄКТУ].Device.Application.xml» буде збережено в тій самій папці, що й файл проєкту. Ми використовуватимемо цей файл для імпорту тегів у EasyBuilder Pro.

Примітка: Нові теги не імпортуються автоматично в EasyBuilder Pro. Якщо ви створюєте новий тег у своєму проекті Codesys і хочете отримати до нього доступ з EasyBuilder Pro, переконайтеся, що кожен тег, який ви хочете експортувати, вибрано, перш ніж вибрати «Згенерувати код». Потім імпортуйте файл .xml в EasyBuilder Pro.

Крок 22_ModbusTCPwithWeintekCODESYS

Крок 23: Перш ніж зберегти зміни та вийти з програми, натисніть кнопку «Увійти», щоб завантажити цей проект на HMI. Якщо буде запропоновано «продовжити завантаження», натисніть «Так».

Примітка: Подальші зміни можуть відображати наступне меню. Якщо буде запропоновано, переконайтеся, що ввімкнено опції «Увійти з завантаженням» та «Оновити bootproject».

Крок 23_ModbusTCPwithWeintekCODESYS

Крок 24: Натисніть кнопку «Пуск», щоб перевести програму Codesys у режим «ВИКОНАННЯ».

Крок 24_ModbusTCPwithWeintekCODESYS

EasyBuilder Pro

Крок 25: Відкрийте екземпляр EasyBuilder Pro та виберіть HMI, який ви використовуватимете в цій програмі. Після відкриття натисніть кнопку «Новий пристрій/сервер» у розділі «Системні параметри».

Крок 25_ModbusTCPwithWeintekCODESYS

Крок 26: У наступному меню натисніть на центр розкривного списку «Тип пристрою».

Крок 26_ModbusTCPwithWeintekCODESYS

Крок 27: З’явиться спливаюче діалогове вікно, у якому знайдіть і виберіть драйвер «Weintek Built-in CODESYS» і натисніть кнопку «OK». Налаштуйте будь-які додаткові параметри та знову натисніть кнопку «OK».

Крок 27_ModbusTCPwithWeintekCODESYS

Крок 28: Вибравши драйвер «Weintek Built-in CODESYS», натисніть кнопку «Імпортувати теги…».

Крок 28_ModbusTCPwithWeintekCODESYS

Крок 29: У наступному меню виберіть «Один символ на слово» або «Два символи на слово» залежно від ваших уподобань щодо представлення STRING та натисніть «OK». Знайдіть файл тегу .xml під назвою «[НАЗВА ПРОЄКТУ].Device.Application.xml» та натисніть «Відкрити». З’явиться спливаюче вікно з написом «Інформацію про тег успішно імпортовано». Натисніть «OK».

Крок 29_ModbusTCPwithWeintekCODESYS

Крок 30: Тепер можна посилатися на об'єкти, вибираючи тег всередині об'єкта, який відповідає його типу даних.

Примітка: У EasyBuilder Pro теги можна переглядати та вибирати в межах об'єкта. Немає утиліти, яка дозволяє переглядати всі теги одночасно.

Для отримання детальніших інструкцій, будь ласка, зверніться до форуму Weintek!

Найкращі практики інтеграції за допомогою Modbus TCP

Під час роботи з Modbus важливо звертати пильну увагу на зміщення адрес, специфічні для виробника. Modbus використовує абсолютну адресацію, де пам'ять організована в 16-бітні або 1-бітні масиви. Початковий елемент може бути 0 або 1, залежно від виробника. Наприклад, 16-бітні адреси регістрів «зберігання» в документації часто починаються з 40001 або 40000.

Однак CODESYS використовує зміщення на основі 0. Це означає, що зчитування з адреси «0» може відповідати або 40000, або 40001, залежно від визначення першої адреси постачальником. Завжди звертайтеся до інструкції з експлуатації пристрою, щоб перевірити правильність відображення адреси та зміщення.

Також важливо розуміти, які коди функцій (іноді скорочено FC) підтримуються пристроєм. Коди функцій Modbus визначають тип команди, що надсилається, наприклад, код функції 3 (0x03) зчитує регістри зберігання. Використання непідтримуваних кодів функцій може призвести до помилок зв'язку, ненормальної поведінки або частих розривів з'єднання.

Ключові висновки:

  • Підтримка кількох протоколів є важливою для задоволення суворих потреб програм.
  • Обраний протокол завжди повинен відображати структуру, швидкість обробки та вимоги до функцій застосунку.
  • Опубліковано 1 листопада 2025 року

Джерело статті:

Facebook Instagram Linkedin Twitter Продукт HMI / PLC IIoT / VPN Компанія Про нас Контакти Ресурси Форум YouTube Умови надання послуг Політика конфіденційності © 2025 Weintek USA. Усі права захищено.

Джерело: www.weintekusa.com

Відкрити буклет / Завантажити PDF