Практичне заняття № 6

Тема. Розробка програмного забезпечення верхнього рівня автоматизованої системи управління технологічним комплексом

Мета: ознайомлення з методикою розробки програмного забезпечення верхнього рівня автоматизованої системи управління технологічним комплексом.

 

Короткі теоретичні відомості

На основі функціональної схеми автоматизації, в залежності від моделі обраного контролера, розробляється програмне забезпечення верхнього рівня автоматизованої системи управління (стратегія чи проект в SCADA-системі) технологічним комплексом. Тобто розробляється віртуальна панель керування автоматизованого робочого місця оператора, що дозволяє як спостерігати за технологічним процесом, так і керувати ним, зокрема задавати та змінювати технологічні параметри, керувати виконавчими механізмами в ручному режимі. Окрім цього в системі можна організувати журнали подій та тривог, налаштувати повідомлення (як текстові так і звукові) обслуговуючого та оперативного персоналу у разі виникнення небезпечних ситуацій з можливістю підтвердження отримання та сприйняття інформації і систему доступу до  елементів панелі.

1.   Приклад розробки стратегії керування технологічним процесом випалу заготовок фасадної плитки в печі на базі SCADA-системи «Genesis 32»

Для керування з робочого місця оператора ЕОМ було розроблено проект автоматизованої системи керування технологічним процесом випалу фасадної плитки на базі програмного забезпечення вищого рівня SCADA-систему «Genesis 32» фірми Iconics, оскільки для кількості Тегів вводу/виводу, що не перевищує 32, є безкоштовною.

В додатку GraphWorX 32 була розроблена екранна форма (графічна мнемосхеми автоматизованих робочих місць оператора), загальний вигляд якого приведений на рисунку 6.1 в режимі розробки, а на рисунку 6.2 – в режимі «Робота».

 

 

Рисунок 6.1 – Загальний вигляд панелі керування процесом випалу фасадної плитки на базі SCADA-системи «Genesis 32» в режимі розробки

 

Рисунок 6.2 – Процес сушіння кераміки

 

В розробленому проекті використовуються п’ять локальних змінних:

 1) ~~line~~ змінна керування технологічним процесом, значення якої визначається за формулою x=  if({{~~line~~}} > 2500, 0, {{~~line~~}} +10);

2) ~~kr_p~~ змінна кнерування вентилем подачі гарячого повітря, величина якої може приймати значення логічних «0» або «1»;

3) ~~t1~~ змінна для задання температури на вході печі, величина якої може змінюватись в межах від 0 до 200;

4) ~~t2~~ змінна для задання температури в середині печі, величина якої може змінюватись в межах від 0 до 200;

5) ~~t3~~ змінна для задання температури на виході з печі, величина якої може змінюватись в межах від 0 до 200.

В розробленому проекті частота оновлення блоків становить 50 та 100 мс.

Розроблений проект керування технологічним процесом випалу фасадної плитки  дає можливість оператору ЕОМ не тільки отримувати інформацію з датчиків, бачити стани роботи виконавчих механізмів, спостерігати за ходом протікання технологічного процесу, але й керувати ним, задавати та контролювати технологічні параметри (зокрема температурою в трьох зонах печі, що задається відповідними повзунковими регуляторами), переводити систему на ручне керування і запобігати виникненню небезпечних та аварійних ситуацій.

2.   Приклад обґрунтування вибору ОРС-сервера

Для пов’язування реальних каналів вводу/виводу модулів контролера з локальними змінними стратегії розробленої в SCADA-системі Genesis 32 було  використано ОРС-сервер Modbus фірми Данфосс, оскільки він є безкоштовним.

У даному додатку доступ до даним для запису і читання здійснюється в режимі запиту від ОРС сервера.

Кожен з модулів вводу/виводу контролера має унікальну адресу. У запитах/відповідях передбачені поля для даних і контрольних сум.

В OPC сервері технологічний процес являє собою набір даних – Тегів, а базовим елементом його моделі є Item (елемент даних), кожен з яких має такі атрибути (значення, час останнього оновлення (timestamp) та ознака якості, що передбачає міру достовірності отриманого значення).

Час в ОРС сервері вимірюється з точністю 100 нс., однак е його значення набагато менше, оскільки воно залежить не тільки від реалізації ОРС сервера, операційної системи ОЕМ, але і від технічних параметрів апаратної частини системи. Однак для розробленого проекту воно не є критичним, оскільки розроблена автоматизована система регулювання температури в печі є досить інерційною.

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

3.   Приклад стратегії керування технологічним процесом (SCADA-система Genie 3.0)                              

Для керування технологічним процесом варочної шафи при виготовленні варених ковбас за допомогою модулів контролера ADAM серії 4000 була розроблена структурна схема програми, загальний вигляд якої приведений на листі 4 графічної частини.

А для керування технологічним процесом з робочого місця оператора ЕОМ на основі даної програми в SCADA-системі Genie 3.0 була розроблена стратегія, що включає в себе мнемосхему та панель керування оператора, які приведені на листі 5 графічної частини.

Для зчитування інформації датчиків температури та вологості з аналоговим вихідним сигналом використовується блок аналогового вводу АI, а з датчика закриття дверей з дискретним вихідним сигналом - блок дискретного вводу DI.

Для виводу значень аналогового типу на виконавчі елементи  і регулюючі органи використовуємо блок аналогового виводу АО.

Мнемосхема стратегії (програма) приведена на рисунку 6.3, а панель керування оператора – на рисунку 6.4 відповідно.

 

1.png

Рисунок 6.3 – Мнемосхема стратегії (програма)

 

3.png

Рисунок 6.4 – Панель керування оператора

 

4.   Приклад стратегії керування технологічним процесом виробництва суміші морозива в SCADA-системи Genіe 3.0

На основі функціональної схеми технологічного процесу в SCADA-системи Genіe 3.0 була розроблена стратегія керування технологічним процесом.

Мнемосхема, розроблена в редакторі задач, приведена на рисунку 6.5.

 

Рисунок 6.5 – Мнемосхема стратегії керування технологічним процесом виробництва суміші морозива

 

Для зчитування інформації з першого датчика температури використовується блок вимірювання температури ТМР. Далі реалізовуємо програму підтримання температури, для чого у вікні редактора задач розміщуємо блок вимірювання температури ТМР1 та підключаємо до нього датчик температури ТE 9-5, тоді розміщуємо  блок дискретного виводу DO1, до якого підключаємо клапан NS 9-1, розміщуємо блок Basic-скрипт SCR1 і в ньому прописуємо наступний текст:

 

Sub SCR1()

  set x = GetTag("TASK1", "ТМР1")

set y = GetTag("DISP1", "SPIN1")

  if x=y then

     outputi 0,0

  else

     outputi 0,1

  end if

End Sub      

 

За допомогою з’єднувального провідника з’єднуємо блок вимірювання температури з Basic-скриптом, а нульовий вихід Basic-скрипту під’єднуємо до блока дискретного виводу DO1.

Програма на мові Visual Basic в блоці BasicScript 1 наведена на рисунку 6.6.

 

Рисунок 6.6 – Програма на мові Visual Basic в блоці BasicScript 1

 

Для зчитування інформації з другого датчика температури також використовується блок вимірювання температури ТМР. Далі реалізовуємо програму підтримання температури, для чого у вікні редактора задач розміщуємо блок вимірювання температури ТМР2 та підключаємо до нього датчик температури ТE 10-1, тоді розміщуємо  блок дискретного виводу DO2, до якого підключаємо клапан NS 9-2, розміщуємо блок Basic-скрипт SCR2 і в ньому прописуємо наступний текст:

 

Sub SCR2()

  set x = GetTag("TASK1", "ТМР2")

set y = GetTag("DISP1", "SPIN2")

  if x=y then

     outputi 0,0

  else

     outputi 0,1

  end if

End Sub      

 

За допомогою з’єднувального провідника з’єднуємо блок вимірювання температури з Basic-скриптом, а нульовий вихід Basic-скрипту під’єднуємо до блока дискретного виводу DO2.

Для зчитування інформації з датчика температури ТЕ 3-3, що розміщений на корпусі першого змішувача, використовується блок вимірювання температури ТМР3.

Для зчитування інформації з датчика температури ТЕ 4-3, що розміщений на корпусі другого змішувача, використовується блок вимірювання температури ТМР4.

Для виводу на панель оператора системного часу на мнемосхемі розміщуємо мітку часу TS1.

Для зчитування інформації з датчика верхнього рівня, що розміщений на корпусі змішувача 1, використовується блок дискретного вводу DI. Далі реалізовуємо програму підтримання температури, для чого у вікні редактора задач розміщуємо блок дискретного вводу DI1 та підключаємо до нього датчик рівня LE 3-2, тоді розміщуємо  блок дискретного виводу DO3, до якого підключаємо контактор NS 2-2, розміщуємо блок Basic-скрипт SCR3 і в ньому прописуємо наступний текст:

 

Sub SCR3()

  set x = GetTag("TASK1", "DI1")

  if x=1 then

     outputi 0,0

  else

     outputi 0,1

  end if

End Sub   

  

За допомогою з’єднувального провідника з’єднуємо блок дискретного вводу DI1 з Basic-скриптом SCR3, а його нульовий вихід з’єднуємо з блоком дискретного виводу DO3.

Для зчитування інформації з датчика нижнього рівня, що розміщений на корпусі змішувача 1, використовується блок дискретного вводу DI. Далі реалізовуємо програму підтримання температури, для чого у вікні редактора задач розміщуємо блок дискретного вводу DI2 та підключаємо до нього датчик рівня LE 3-4, тоді розміщуємо  блок дискретного виводу DO4, до якого підключаємо контактор NS 2-2, розміщуємо блок Basic-скрипт SCR4 і в ньому прописуємо наступний текст:

 

Sub SCR4()

  set x = GetTag("TASK1", "DI2")

  if x=0 then

     outputi 0,0

  else

     outputi 0,1

  end if

End Sub      

 

За допомогою з’єднувального провідника з’єднуємо блок дискретного вводу DI2 з Basic-скриптом SCR4, а його нульовий вихід з’єднуємо з блоком дискретного виводу DO4.

Для зчитування інформації з датчика верхнього рівня, що розміщений на корпусі змішувача 2, використовується блок дискретного вводу DI. Далі реалізовуємо програму підтримання температури, для чого у вікні редактора задач розміщуємо блок дискретного вводу DI3 та підключаємо до нього датчик рівня LE 4-2, тоді розміщуємо  блок дискретного виводу DO5, до якого підключаємо контактор NS 2-2, розміщуємо блок Basic-скрипт SCR5 і в ньому прописуємо наступний текст:

 

Sub SCR5()

  set x = GetTag("TASK1", "DI3")

  if x=1 then

     outputi 0,0

  else

     outputi 0,1

  end if

End Sub      

 

За допомогою з’єднувального провідника з’єднуємо блок дискретного вводу DI3 з Basic-скриптом SCR5, а його нульовий вихід з’єднуємо з блоком дискретного виводу DO5.

Для зчитування інформації з датчика нижнього рівня, що розміщений на корпусі змішувача 1, використовується блок дискретного вводу DI. Далі реалізовуємо програму підтримання температури, для чого у вікні редактора задач розміщуємо блок дискретного вводу DI4 та підключаємо до нього датчик рівня LE 4-4, тоді розміщуємо  блок дискретного виводу DO6, до якого підключаємо контактор NS 2-2, розміщуємо блок Basic-скрипт SCR6 і в ньому прописуємо наступний текст:

 

Sub SCR6()

  set x = GetTag("TASK1", "DI4")

  if x=0 then

     outputi 0,0

  else

     outputi 0,1

  end if

End Sub      

 

За допомогою з’єднувального провідника з’єднуємо блок дискретного вводу DI4 з Basic-скриптом SCR6, а його нульовий вихід з’єднуємо з блоком дискретного виводу DO6.

Для зчитування інформації з датчика тиску РЕ 6-4, що розміщений на трубопроводі, використовується блок аналогового вводу АІ1.

Для зчитування інформації з датчика тиску РЕ 7-1, що розміщений на трубопроводі, використовується блок аналогового вводу АІ1.

Далі реалізовуємо алгоритм керування ввімкненням електродвигуна приводу першого насоса за допомогою кнопки, що розміщена на панелі керування оператора ЕОМ. Для цього в вікні редактора форм розміщуємо кнопку CBTN1 з написом «Насос 1». Тоді у вікні редактора задач розміщуємо блок ТЭГ, в настройках якого віртуально пов’язуємо його з кнопкою. Розміщуємо блок дискретного виводу DO7, до якого підключаємо контактор NS 11-1.

Далі реалізовуємо алгоритм керування ввімкненням електродвигуна приводу другого насоса за допомогою кнопки, що розміщена на панелі керування оператора ЕОМ. Для цього в вікні редактора форм розміщуємо кнопку CBTN2 з написом «Насос 2». Тоді у вікні редактора задач розміщуємо блок ТЭГ, в настройках якого віртуально пов’язуємо його з кнопкою. Розміщуємо блок дискретного виводу DO8, до якого підключаємо контактор NS 11-2.

Далі реалізовуємо алгоритм керування ввімкненням електродвигуна приводу третього насоса за допомогою кнопки, що розміщена на панелі керування оператора ЕОМ. Для цього в вікні редактора форм розміщуємо кнопку CBTN3 з написом «Насос 3». Тоді у вікні редактора задач розміщуємо блок ТЭГ, в настройках якого віртуально пов’язуємо його з кнопкою. Розміщуємо блок дискретного виводу DO9, до якого підключаємо контактор NS 2-2.

Далі реалізовуємо алгоритм керування ввімкненням електродвигуна приводу четвертого насоса за допомогою кнопки, що розміщена на панелі керування оператора ЕОМ. Для цього в вікні редактора форм розміщуємо кнопку CBTN4 з написом «Насос 4». Тоді у вікні редактора задач розміщуємо блок ТЭГ, в настройках якого віртуально пов’язуємо його з кнопкою. Розміщуємо блок дискретного виводу DO10, до якого підключаємо контактор NS 5-1.

Панель керування оператора ЕОМ, розроблена у редакторі форм, приведена на рисунку 6.7 та 6.8.

 

 

Рисунок 6.7 – Панель керування оператора

 

Рисунок 6.8 – Панель керування оператора в режимі роботи

 

Завдання для виконання

1. Провести аналіз можливості організації баз даних для розробленої системи керування технологічним комплексом.

2. Розробити програмне забезпечення верхнього рівня автоматизованої системи керування технологічним комплексом (стратегію чи проект в SCADA-системі).

3. Оформити звіт з практичної роботи.

 

Контрольні питання

1.   Що таке база даних інтелектуальної системи керування технологічним комплексом?

2.   Що входить в структуру бази даних інтелектуальної системи керування технологічним комплексом?

3.   Для чого розробляється програмне забезпечення верхнього рівня автоматизованої системи керування технологічним комплексом?

4.   На якій мові розробляється програмне забезпечення верхнього рівня автоматизованої системи керування технологічним комплексом? Наведіть приклад.

5.   Що таке SCADA-система?

6.   Що розробляється в SCADA-системі? Наведіть приклад.