Побудова складної SCADA (поганий приклад)

Часом розробник не завжди може брати участь у розробці проекту з нуля і змушений працювати з тим, що є.
«Проектування, аналіз отриманого і чергова ітерація, поки не будемо домагатися допустимого результату».
Цей слоган не застосуємо, в тому випадку, коли ви навіть віддалене не уявляєте кінцевий результат роботи. Заставлене спочатку обладнання з 2-кратним запасом не витримує нових вимог, а повна переробка неприйнятна через накладних витрат на перемонтаж. У тексті буде пара скрінів візуалізації і редактора FDB схем для проекту (всі наші внутрішні продукти)…

Похмурий експерт скаже: «Що за розробник, якщо не розуміє мети своєї роботи...» — просто почитайте етапи.

Акт 1 «Технологія» — (лінія очищення продукту — вона ж і кінцева мета)
Дійові особи:
— ПЛК — ICP -7188XA (icp das) (2 — 485 порту, 2 — 232 порту з них 1 для зв'язку з ПК);
— Плати введення/виводу DIO 4.3 — мінус 485 порт ПЛК;
— Плати датчиків PDAT, PRKS — мінус 485 порт ПЛК;
— Частотний привід Delta — 3 шт. (RS485);
— Ваги Gelios (НПФ) -3 шт.;
— Плата розширення MOXA cp132 — 2 порта;
— Персональний комп'ютер, операційна система Windows XP SP3;
Обмеження — не більше 7 плат на порт (по 64 канали) з одним протоколом обміну

Керованих машин — 66, клапанів і засувок 84. Також датчики положення і наявності. Машини, клапана — на плати управління, датчики на плати датчиків.

Завдання:
  • організувати послідовний запуск за обраним напрямом,
  • відпрацювати аварійні ситуації
  • організувати ваговий облік

Уточнюємо роботу частотников — просто мати можливість регулювати частоту оператором. Значить можна не перевантажувати ПЛК, а додати в верхній рівень таку можливість. Плата розширення приймає ваги і частотники.
Далі все просто: клепаємо логіку (функціонально блокові діаграми — середовище RoboPlant), робимо візуалізацію.

Отримуємо щось подібне:

image

Тестуємо
Пускаємо в роботу. Цикл роботи 1.01 сек.

Відпрацювали безперервно 24 години — перевірили. Розробка з 0, питань немає. Рішення, як мінімум, непогане.

Акт 2 «Технологія» — (ускладнюємо)
Відпрацювали N час, вирішили оптимзировать виробництво. Як?

Завдання:
  • Прив'яжемо частотні приводи до продуктивності ваг, щоб ваги не простоювали
  • Зменшимо споживання при простоях — будемо гасити лінію по закінченню часу (якщо продукту немає більше заданого часу — ефективно навіть з урахуванням пускових струмів)
  • Додати декілька одиниць обладнання в ПЛК — організувати подачу на неавтоматизовані лінії:


Заводити ваги і частотники в ПЛК — не варіант, в будь-якому випадку оператор повинен бачити ЩО відбувається з лінією,
автономна налаштування продуктивності, або зупинка неприпустимі — і в тому і іншому випадку супроводжуються витратами: високим навантаженням на склад або недоліком продукту для складу.

Вирішено — прив'язуємо до верхнього рівня, робимо обробку разів в секунду — продуктивність обчислюється за більший інтервал (кг/год), змінювати параметри швидше ніж раз в секунду немає необхідності. Перевіряємо на практиці дане рішення — працює.

Додаємо нові машини, правимо логіку, візуалізацію.

image
Ставимо замовнику. Мінус Завязываемся на персональний комп'ютер, вихід його з ладу виводить наші плюшки з гри. Не критично. Відпрацювали безперервно 24 години — перевірили. Цикл роботи 1.35 сек.

Акт 3 «Фасовка» — (лінія упаковки продукту, кінцева мета пов'язати з попереднім проектом)
Клієнт попрацював з системою, оцінив приріст продуктивності, дозрів до нової лінії.

Дійові особи:
— ПЛК — ICP -7188XA (icp das) (2 — 485 порту, 2 — 232 порту з них 1 для зв'язку з ПК);
— Плати введення/виводу DIO 4.3 — мінус 485 порт ПЛК;
— Плати датчиків PDAT, PRKS — мінус 485 порт ПЛК;
— Ваги Gelios (НПФ) — 12 шт.;
— Плата розширення MOXA cp132 — 2 порта;
— Персональний комп'ютер;

Завдання:
  • організувати послідовний запуск за обраним напрямом,
  • відпрацювати аварійні ситуації
  • організувати ваговий облік
  • використовувати ваги в якості дозаторів
  • організувати взаємодію між 2 проектами з загальним обладнанням
Кількість машин 95, кількість засувок 166, + 19 нестандартних трехпозиционных засувок. Проблема: групування та розташування плат не дозволяють завести всі на один ПЛК — організуємо ще один — перемонтаж дорожче.

Один відповідає за машини, другий за клапани та засувки.

image

Взаємодія між ними через ПК провальне рішення і основна помилка. Терміни роботи не дозволяли налагодити взаємодію між ICP безпосередньо. Дозакапываем себе ще глибше зв'язок з «технологією» через ПК.

Перевіряємо роботу як належить 24 години безперервно йде.

Наступний неприємний момент — ваги у опинилися не на початку лінії а в середині! Недоробка технолога, проектувальника — вже не важливо — працюємо з тим що є. Довжина робочих ліній і їх місткість різна — по досягненню заданног ваги на вагах у нас ще в машинах є K обсяг продукту. Робити нічого — вводимо поправку на кожну лінію, скільки ваги повинні не добрати. Тестуємо — працює з точністю до 200 кг. на 6 тонн наприклад 3.3% на короткій лінії, 450 кг на 6 тонн — 7.5% на довгій — замовник згоден. Обробка на верхньому рівні SCADA. Відпрацювали безперервно 24 години — перевірили.

Стабільна робота до першого зависання
Як і покладено системнику через деякий час призадумлся він на «Фасовці» призупинилася робота. Місцеві швидко соориентировались — перезапустили — працює. Але осад залишився.

Система, система продовжила збільшуватимуться і включила в себе ще один проект із 2 ПЛК, + один загальний ПЛК на аспіраційну мережу + 1 ПЛК на нову лінію упаковки.
Разом 7 відносно надійних ПЛК працюють один з одним через відносно ненадійних посередників ПК.
З тих пір і до моменту заміни групи ПЛК на один — на базі intel atom NISE-105 було витрачено багато нервів і сил на підтримку та модернізацію.

Резюме:
Для себе я відзначив кілька важливих пунктів.
  • для проектів, що мають потенціал потрібно закладати обладнання, що перекриває собою кілька подібних проектів. Проектів, а не кількість обладнання повинно вистачати пам'яті і швидкодії для логічної обв'язки.
  • зв'язка проектів навіть невелика не повинна йти через настільки слабка ланка як персональний комп'ютер. Оператор може від нудьги принести багато порно відео і забити продуктивність бідолахи
  • не братися реалізовувати все, що бажає замовник. Нехай навіть це і можливо, але тягне за собою зав'язку на слабкі ланки
  • кінцева мета роботи замовника — це рішення тактичних завдань, стратегії підприємства не було переходу на повну автоматизацію виробництва. Рішенням поточних завдань і зміцненням позицій на ринку підприємство вийшло на практично повну автоматизацію. Без останнього
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.