ОВЕН ПЛК110[M02]-MS4, HMI, OPC та SCADA, або скільки людині необхідно Ромашкового чаю. Частина 1

Доброго дня, дорогі читачі цієї статті. Пишу це у форматі огляду

невелике попередженняХочу попередити, що якщо ви відразу зрозуміли про що мова із заголовка, раджу перший пункт (власне, ПЛК-ядро) міняти на будь-що з цінової категорії на щабель вище.
Жодна економія грошей не коштує такої кількості нервів, суб'єктивно.

Для тих, кого не лякає невелика сивина та амплітуда нервового тику, пізніше я опишу в подробицях як створювалося це технологічне диво. У цій статті короткий аналіз проекту з певною часткою критицизму.

Зародження. Постановка задачі

Власне, працюю я в конструкторському бюро і ми тестуємо обладнання автоматизації для інтеграції в наші заводи під ключ. Нещодавно на склад надійшло обладнання ОВЕН і з нього було вирішено зібрати випробувальний стенд:

  • ПЛК110[M02]-MS4 (виконавче середовище MasterSCADA 4D)
  • Панель оператора СП307
  • Модуль універсальний для введення аналогових сигналів МВ110-224.2А
  • Модуль введення сигналів тензодатчиків МВ110-4ТД
  • Модуль електровимірювальний МВ110-220.3М

Структура системи була обрана з розмежуванням мереж за призначенням:

  1. Modbus RTU на базі RS-485 – спілкування ПЛК з підлеглими пристроями (модулі, частотники, інтелектуальні датчики, HMI панель СП307), ПЛК-майстер мережі.
  2. Modbus TCP на базі Ethernet — Спілкування різних ПЛК один з одним та з OPC-сервером
  3. ПК-сервер OPC і SCADA-системи є одночасно шлюзом між двома різними мережами (Корпоративна LAN підприємства та Modbus TCP мережа контролерів (два мережеві адаптери з маршрутизацією даних стандартними засобами Windows)
  4. Корпоративний LAN має вихід в інтернет через проксі-сервер

Структура системи в загальному вигляді представлена ​​на зображенні:

ОВЕН ПЛК110[M02]-MS4, HMI, OPC та SCADA, або скільки людині необхідно Ромашкового чаю. Частина 1

Закладений функціонал

  • Збір та перенаправлення даних з ПЛК на OPC-сервер
  • Локальне управління та моніторинг за допомогою HMI-панелі
  • Управління та моніторинг із SCADA через OPC-сервер
  • Управління з будь-якого ПК з LAN підприємства та через інтернет за допомогою SCADA-клієнта
  • Підключення мобільних OPC-моніторів через LAN та інтернет
  • Зрозуміло, архівація та генерація звітів

Начебто нічого не пропустили. Загальний опис системи є, а тепер, власне, по темі (способи усунення описуватиму в статтях з реалізацією кожного вузла):

Складності, що виникли

1. Документація до ПЛК

Beta-тестування заявленого ПЛК на ядрі MasterSCADA 4D було позначено виробником у 2012 році. Незважаючи на такий значний термін існування концепту, все що має розробник у 2019-му - це посібник з програмування в 28(!?) сторінок, на яких корисної інформації трохи менше ніж анітрохи, причому скріншоти в мануалі з MasterSCADA 3D, що досить смішно з враховуючи те, що інтерфейс змінився.

Також активно підтримується трьома адептами та менеджером з продажу гілка форуму в 20 топіків.

2. Архітектура ПЛК-модулі

Це окрема тема для обговорення. Коротко: ПЛК спілкується з модулями як з Modbus RTU slave пристроями, які попередньо необхідно конфігурувати утилітою окремо, підключивши кожен до ПК через перетворювач RS-485.

Розумні дядьки, звичайно, напевно вміють робити це без перетворювача через ПЛК, послідовно підключаючи модулі до мережі та записуючи потрібні регістри, але таке приходить із досвідом та величезною кількістю болю.

Для розробника, який вперше побачив таку архітектуру, зовсім не користувач-френдлі.
Також всі аналогові модулі люблять йти у відмову з невідомих причин, забираючи за собою всю RS-485 мережу в Терра Інкогніта, але про це я також хочу розповісти окремо, ціла епопея, звичайно. Проблемі, до речі, років 10, виробник жартує «Слід визнати, шаблони нам не вдалися»Однак це єдиний інтерфейс спілкування з модулями, і люди, цілком серйозно, давно прописують свої реалізації Modbus RTU.

Тим часом ромашковий чай закінчувався. Сонце йшло на захід сонця

3. IDE MasterSCADA

Про графічні інструменти не говоритимемо, сильно я не тестував, але скажу відразу, що не сподобалося.

Говоримо про реалізацію обміну даними та мови стандарту МЕК:

Фізичні введення висновки контролера не є глобальними змінними і до них не можна звернутися з будь-якої частини програми, написавши аліас, наприклад «DI1». У кожну програму слід перетягувати це ручками, там формується локальна змінна, яка успадковує чи передає значення. Тобто. сама сутність ПЛК, у моєму баченні, трохи втрачена: пристрій повинен спрощувати програмування логіки роботи фізичних каналів рівня "Якщо спрацював вхід DI1 - Включаємо вихід DO1", а виглядає так "Вхід DI1 - Змінна LI1 - Змінна LO1-Вихід DO1", також через незнання цього принципу IDE можна зловити чудове попередження «Перетворення Boolean-Boolean неможливо» (найімовірніше, що з них покажчик, але представляю у редакції творців, так гармонійніше).

Бібліотеки мов ST, FBD, SFC досить об'ємні та вибір для зручності програмування є, проте ці компоненти є не функціями, а класами, всередині яких зашиті методи, а по-друге на більшість відсутня довідка з описом функціоналу та типів даних. Наполегливість привела мене до бібліотеки ядра CodeSys, звідки всі ці функції були взяті, їх довідка допомогла.

4. Обмін із панеллю СП307

Досить цікавий захід для тих, кому нема куди витратити пару днів.

Стандартне тестування GUI(HMI або SCADA) для мене це зробити 6 спроб:

  1. Читання дискретного сигналу
  2. Запис дискретного сигналу
  3. Читання цілого значення
  4. Запис цілого значення
  5. Читання речового значення
  6. Запис речового значення

Відповідно, малюю на екран 6 компонентів-примітивів і кожен по порядку перевіряю
Обмін абсолютно такий же, як і з модулями, але з окремого порту ПЛК RS-232/485, і, нібито, більш стабільний. Оскільки HMI-слейв, то писав я в нього за зміною, а читав полінг 500мс, щоб не упустити дії оператора.

Перші 4 пункти були виконані на відмінно, але 5 та 6 викликали проблеми.

Відправляємо дані типу Single Float, на екрані їх виводимо і бачимо, що дані не ті, хоча всі параметри виводу (Float, розмірність 1 регістр та інше) стоять правильно. Неправдою буде сказати, що в документації прецедент не описаний, однак, спробуйте знайти в якій і де, це з боку кумедно.

Після істеричного перебору всіх налаштувань, що стосуються самих даних та їх надсилання, пишемо в техпідтримку, відповідь в середньому 5-6 календарних днів, працюємо за стандартним скриптом техпідтримки «Перевірте, що живлення включене - перевірте версію ПЗ - чекайте, будь ласка ще тиждень-Йдемо розбиратися самі».

До речі, вирішилося встановлення однієї галочки в абсолютно неадекватному місці з абсолютно неадекватним підписом.

У функціонал екрану не закладено введення аналогового сигналу формату «Бігунок», можна вписати лише у текстове поле цифрами. Це просто чудово, або пишемо кнопки «±» і скрипт самостійно або вводимо цифру з клавіатури, про м'яке управління яким-небудь приводом забуваємо.

Не буду сильно перевантажувати статтю, тому описуватиму проблеми з верхнім рівнем у частині 2.

Резюмуючи, хочу відзначити, що я мав достатню свободу і багато часу для вирішення цих проблем, які, на перший погляд, здаються смішними, але викликають багато болю у постраждалого. В умовах обмежених термінів із такими проблемами стикатися критично.

PS: Усі тези, викладені тут, є суб'єктивними, і є лише спробою попередити непідготовлених, а не дискримінувати виробників, прошу поставитися до цієї статті саме з цієї точки зору.

Друга частина вже тут: клацаємо

Джерело: habr.com

Додати коментар або відгук