CLSID=16#200x – 16#27FF
LVL2 (devices) - рівень пристроїв та виконавчих механізмів: для зручності налагоджування процесу; для функцій імітаційного моделювання; для функцій технологічної сигналізації; для ведення статистики:
Рекомендується використовувати наскрізну ідентифікацію змінних пристроїв та ВМ (ID) в межах рівня LVL2 для спрощення символьного посилання в HMI.
Рівень пристроїв та виконавчих механізмів дуже залежить від реалізації схем керування виконавчими механізмами і може мати дуже багато відмінностей в в різних інтеграторів.
На даний момент пророблено наступні універсальні класи виконавчих механізмів, які можна доповнювати та адаптувати в залежності від конкретних вимог:
Змінна з ідентифікатором 0 зарезервована як порожня неактивна змінна.
Приклад діагностики та конфігурування пристроїв та ВМ HMI показаний на наступних рис.
Рис. Приклад вікна керування ВМ на HMI.
Рис. Приклад вікна керування та конфігурування ВМ на HMI.
Статуси змінних (тривоги, відмови, форсування) супроводжують відображення ВМ на всіх мнемосхемах HMI. На наступному рисунку показаний приклад відображення попередження для ВМ.
Рис. Приклад відображення статусів ВМ на HMI.
При реалізації функцій керування використовуються універсальні структури виконавчих механізмів ACTTR_CFG (конфігураційні змінні), ACTTR_STA (статусні біти), ACTTR_ALM (біти алармів), ACTTR_PRM (біти параметрів), також використовується єдиний буфер з аналогічною структурою ACT_CFG.
Структура використовується для опису статусів універсального ВМ та вміщує всі біти статусів наявних означених ВМ. Також дана структура використовується як універсальна структура всередині функції обробки ВМ
name | type | Опис |
---|---|---|
IMSTPD | BOOL | =1 зупинився в проміжному стані |
MANRUNING | BOOL | =1 рухається в невизначеному напрямку (ручний зі щита) |
STOPING | BOOL | =1 Зупиняється |
OPNING | BOOL | =1 Відкривається |
CLSING | BOOL | =1 Закривається |
OPND | BOOL | =1 Відкритий (16#0080) |
CLSD | BOOL | =1 Закритий (16#0100) |
MANBXOUT | BOOL | =1 Включення ручного зі щита |
WRKED | BOOL | =1 В роботі |
DISP | BOOL | =1 дистанційний режим (з ПК/ОП) (16#0200) |
MANBX | BOOL | =1 Ручний зі щита (за зворотнім зв’язком) |
INBUF | BOOL | =1 - змінна в буфері |
FRC | BOOL | =1 хоча би одна зі змінних в об’єкті форсована (для зручності відображення при наладці) |
SML | BOOL | =1 режим симуляції |
BLCK | BOOL | =1 Заблокований |
STRTING | BOOL | =1 Запускається |
STOPED | BOOL | =1 Зупинений(16#0100) |
SLNDBRK | BOOL | =1 Помилка датчику |
CMDACK | BOOL | =1 підтвердження команди |
SPD1 | BOOL | = 1 Робота, 1-ша швидкість |
SPD2 | BOOL | = 1 Робота, 2-га швидкість |
STA_b21 | BOOL | резерв |
STRT_DELAY | BOOL | =1 - йде затримка перед запуском |
STOP_DELAY | BOOL | =1 - йде затримка перед зупинкою |
DBLCKACT | BOOL | =1 - режим ігнорування CMDRESOLUTION |
ISREVERS | BOOL | =1 - пуск з реверсом |
ISANALOG | BOOL | =1 з аналоговим керуванням (для зрeчності відображення) |
INIOTBUF | BOOL | =1 змінна в буфері IoT |
SPDMONON | BOOL | =1 включений контроль швидкості (SPDMON) |
SPDCALIBRON | BOOL | =1 включене калібрування по швидкості |
MAINT | BOOL | =1 виведений з обслуговування |
STA_b31 | BOOL | резерв |
Структура використовується для опису всіх доступних тривог універсального ВМ та вміщує всі біти тривог наявних означених ВМ. Також дана структура використовується як універсальна структура всередині функції обробки ВМ
name | type | Опис |
---|---|---|
ALMSTRT | BOOL | =1 Не включився (скидається при зміні команди або стану) датчика) |
ALMSTP | BOOL | =1 Не відключився (скидається при зміні команди або стану) датчика) |
ALMOPN | BOOL | =1 Не відкрився (скидається при зміні команди або стану) датчика) |
ALMCLS | BOOL | =1 Не закрився (скидається при зміні команди або стану) датчика) |
ALMOPN2 | BOOL | =1 Не відкрився (при наявності 2 пар кінцевиків) |
ALMCLS2 | BOOL | =1 Не закрився (при наявності 2 пар кінцевиків) |
ALMSHFT | BOOL | =1 Порушення стану (скидається при зміні команди або стану) датчика) |
ALM | BOOL | =1 Помилка ВМ (по OR) |
ALMBELL | BOOL | =1 Команда включення дзвоника (на один цикл ПЛК) |
WRN | BOOL | =1 Попередження ВМ (по OR) |
WRNSPD | BOOL | = 1 попередження на пробуксовку привода, % |
ALMSPD | BOOL | = 1 аварія на пробуксовку привода, % |
WRNSPD2 | BOOL | = 1 попередження на пробуксовку привода 2, % (при наявності 2 датчиків контролю швидкості) |
ALMSPD2 | BOOL | = 1 тривога на пробуксовку привода 2, % (при наявності 2 датчиків контролю швидкості) |
ALMPWR1 | BOOL | = 1 - немає живлення |
ALMSTPBTN | BOOL | = 1 - натиснута кнопка стоп |
ALMINVRTR | BOOL | =1 - помилка частотного перетворювача |
ALM_b17 | BOOL | резерв |
ALM_b18 | BOOL | резерв |
ALM_b19 | BOOL | резерв |
ALM_b20 | BOOL | резерв |
ALM_b21 | BOOL | резерв |
ALM_b22 | BOOL | резерв |
ALM_b23 | BOOL | резерв |
ALM_b24 | BOOL | резерв |
ALM_b25 | BOOL | резерв |
ALM_b26 | BOOL | резерв |
ALM_b27 | BOOL | резерв |
ALM_b28 | BOOL | резерв |
ALM_b29 | BOOL | резерв |
ALM_b30 | BOOL | резерв |
ALM_b31 | BOOL | резерв |
Структура використовується для опису всіх доступних параметрів універсального ВМ та вміщує всі біти параметрів наявних означених ВМ. Також дана структура використовується як універсальна структура всередині функції обробки ВМ
name | type | Опис |
---|---|---|
PRM_b0 | BOOL | резерв |
PRM_ZWRKENBL | BOOL | =1 є звонішній вхід - зворотній звязок про роботу |
PRM_ZPOSENBL | BOOL | =1 є аналоговий зворотній звязок частоти/позиції |
PRM_PWRENBL | BOOL | =1 є звонішній вхід по стану живлення |
PRM_MANCFG | BOOL | =1 ручне керування налаштуванням |
PRM_ZOPNENBL | BOOL | =1 є датчик відкритості |
PRM_ZCLSENBL | BOOL | =1 є датчик закритості |
PRM_AUTOACK | BOOL | =1, автоматичне підтвердження тривог |
PRM_BTNSTPENBL | BOOL | =1 є зовнішній вхід - включена кнопка STOP |
PRM_ALMENBL | BOOL | =1 є зовнішній вхід - сигнал аварії від приводу |
PRM_SELLCLENBL | BOOL | =1 є зовнішній вхід - сигнал включення місцевого керування |
PRM_PULSCTRLENBL | BOOL | =1 схема керування імпулсами (команди на 2с) |
PRM_ZRUNENBL | BOOL | =1 є зовнішній вхід про рух приводу |
PRM_ZSPDENBL | BOOL | =1 є зовнішній вхід про датчику швидкості приводу |
PRM_CRVRSENBL | BOOL | =1 ВМ з виходом керування реверсом |
PRM_BLCKOFSPD | BOOL | =1 зупиняти по зниженні швидкості |
PRM_NOPRES | BOOL | =1 довзолити рух без включеного маслонасоса |
PRM_b17 | BOOL | резерв |
PRM_b18 | BOOL | резерв |
PRM_b19 | BOOL | резерв |
PRM_b20 | BOOL | резерв |
PRM_b21 | BOOL | резерв |
PRM_b22 | BOOL | резерв |
PRM_b23 | BOOL | резерв |
PRM_b24 | BOOL | резерв |
PRM_b25 | BOOL | резерв |
PRM_b26 | BOOL | резерв |
PRM_b27 | BOOL | резерв |
PRM_b28 | BOOL | резерв |
PRM_b29 | BOOL | резерв |
PRM_b30 | BOOL | резерв |
PRM_b31 | BOOL | резерв |
Досить часто виникає потреба одночасного проходження декількох команд при програмному керуванні. Використання числовим команд униможливлює це, тому що кожна команда має свій унікальний номер і в один момент часу може приймати лише одне значення. При використанні бітових команд таке обмеження знімається, хоч зменшується загальна їх кількість до 32. При необхідності більшої кількості команд можна ввести додаткову змінну CMD яка вміщуватиме додаткові бітові команди.
Структура ACTTR_CMD використовується для опису всіх доступних бітових команд універсального ВМ та вміщує всі бітові команди наявних означених ВМ. Також дана структура використовується як універсальна структура всередині функції обробки ВМ
name | type | Опис |
---|---|---|
OPN | BOOL | Відкрити 16#0001 |
CLS | BOOL | Закрити 16#0002 |
TOGGLE | BOOL | Переключити (відкрити<->закрити, включити <-> відключити) 16#0003 |
ALMACK | BOOL | Підтвердити тривогу 16#0004 |
ALMRESET | BOOL | Скинути тривоги 16#0005 |
BLCK | BOOL | Заблокувати 16#0006 |
DBLCK | BOOL | Розблокувати 16#0007 |
STOPTUN | BOOL | Зупинити автоналаштування 16#0008 |
TUNING | BOOL | Запустити автоналаштування 16#0009 |
MAN | BOOL | Перевести в ручний з SCADA/HMI 16#0301 |
AUTO | BOOL | Перевести в автоматичний з SCADA/HMI 16#0302 |
PROTECT | BOOL | Включити алгоритм захисту 16#000A |
START | BOOL | Запустити 16#0011 |
STOP | BOOL | Зупинити 16#0012 |
UP | BOOL | Більше 16#0021 |
DWN | BOOL | Менше 16#0022 |
CRMT | BOOL | Відключити локальне керування (по місцю) 16#0314 |
RESOLUTION | BOOL | =1 дозвіл на керування 16#000B |
REVERS | BOOL | Включити реверс 16#0013 |
CLCL | BOOL | Включити локальне керування (по місцю) 16#0313 |
DBLCKACTTOGGLE | BOOL | Переключення дозволу на ігнорування CMRESOLUTION 16#000C |
STARTDELAY | BOOL | запуск з затримкою (тільки автомат) |
STOPDELAY | BOOL | зупин з затримкою (тільки автомат) |
P_RESOLUTION | BOOL | дозвіл по наявності тиску в системі |
BUFLOAD | BOOL | завантажити в буфер |
OUTSRVC | BOOL | вивести з експлуатації |
INSRVC | BOOL | ввести в експлуатацію |
CMD_b27 | BOOL | резерв |
CMD_b28 | BOOL | резерв |
CMD_b29 | BOOL | резерв |
CMD_b30 | BOOL | резерв |
CMD_b31 | BOOL | резерв |
Структура ACTTR_CFG як структура універсального ВМ та вміщує всі параметри наявних означених ВМ. Також дана структура використовується як універсальна структура всередині функції обробки ВМ та як буфер виконавчих механізмів ACTBUF
name | type | Опис |
---|---|---|
ID | UINT | ідентифікатор ВМ |
CLSID | UINT | ідентифікатор класу ВМ |
STA | ACTTR_STA | біти стану |
ALM | ACTTR_ALM | біти тривог |
CMD | ACTTR_CMD | бітові команди |
PRM | ACTTR_PRM | біти параметрів |
STAHMI1 | UINT | біти стану для НМІ |
STAHMI2 | UINT | біти стану для НМІ |
ALMHMI1 | UINT | біти тривог для НМІ |
ALMHMI2 | UINT | біти тривог для НМІ |
CMDHMI | UINT | команди НМІ |
PRMHMI | UINT | параметри НМІ |
T_DEASP | UINT | час затримки тривоги 0.1 с |
T_OPNSP | UINT | Максимальний час відкриття в 0.1 секундах |
POS | REAL | позиціяВМ (0-100%) - ЗВОРОТНІЙ ЗВЯЗОК |
rez | INT | резерв для вирівнювання типів даних |
STEP1 | UINT | номер кроку |
CNTPER | UINT | кількість перестановок |
CNTALM | UINT | кількість тривог |
T_STEP1 | UDINT | Плинний час кроку в мс |
T_PREV | UDINT | час в мс з попереднього виклику, береться зі структури PLC_CFG.TQMS |
VALPREV | REAL | значення на попередньому циклі |
POWER_IN | REAL | потужність, кВт |
CPOS | REAL | позиціяВМ (0-100%) - ЗАДАНЕ ЗНАЧЕННЯ |
SPD | Int | Обрахунок швидкості обертання ДАТЧЧИК 1, % |
SPD2 | Int | Обрахунок швидкості обертання ДАТЧЧИК 2, % |
SPDWRNSP | UINT | вставка попередження на пробуксовку привода, % |
SPDALMSP | UINT | вставка тривоги на пробуксовку привода, % |
STRT_DELAY | UINT | ЗАТРИМКА НА ВКЛЮЧЕННЯ 0.1 С |
STOP_DELAY | UINT | ЗАТРИМКА НА ВИКЛЮЧЕННЯ 0.1 С |
TQ_TOTAL | UDINT | Загальний час напрацювання в хв |
TQ_LAST | UDINT | Час роботи з останнього пуску в с |
FRQ_IN | REAL | поточна частота |
FRQ_OUT | REAL | задана частота |
CURR_IN | REAL | струм зворотній звязок |
SPDMON_DELAY | UINT | затримка на початок обрахунку швидкості 0.1 с |
MSG | UINT | повідомлення |
CM-ми 2-го рівня представляють собою виконавчі механізми, регулятори, тощо та включають в себе функції базового керування (згідно термінології ISA-88). Кожний такий CM передбачає двохсторонню взаємодію з «технологічними змінними» як для запису так і для читання. Це дозволяє на даному рівні окрім реалізації специфічного функціоналу для конкретного CM, забезпечувати наступні можливості:
Для кожного апаратурного об’єкту (Equipment Entity) визначається алгоритм роботи функціонального блоку/функції, структури даних (інтерфейс) для обміну з іншими підсистемами/об’єктами.
Структура даних та поведінка функції/ФБ сумісна з означеною в ISA-88, тобто базується на автоматах станів, режимах та інтерфейсі, означеному в стандарті.
СМ-ми другого рівня, типу пристрої та виконавчі механізми можуть використовувати технологічні змінні які подаються на вхід/вихід функції обробки. Для опціональних входів та виходів передбачений механізм автоконфігурування ВМ, в процесі якого ВМ змінює алгоритми обробки входів та виходів (наприклад клапан може працювати без кінцевиків).
Повинна бути реалізована функція роботи з класичним буфером.
Буфер рекомендується використовувати один для всіх типів ВМ.
Факт зайнятості буфера перевіряється за рівністю ідентифікатора класу CLSID
та ідентифікатора ВМ ID
при захопленні буферу:
ACTBUF.STA = ACTTR_CFG.STA
ACTTR_CFG.CMD = ACTBUF.CMD
якщо той не дорівнює нулю (для можливості команд з іншого джерела)конфігурація ВМ повинна зчитуватися в буфер при отриманні команд:
ACTTR_HMI.CMD
= 16#0100;конфігурація ВМ повинна записуватись з буфера при отриманні команд:
ACTBUF.CMD
= 16#0101;Повинна бути реалізована функція роботи з параметричними двунаправленими буферами ACTBUFIN<->ACTBUFOUT.
ACTBUFIN
- використовується для обробки команд (при рівності CLSID та ID) та запису інформації в ВМACTBUFOUT
- використовується для зчитування інформації з ВМ при отриманні команди на читання з ACTBUFIN
ACTTR_CFG.CLSID=ACTBUFIN.CLSID
, ідентифікаторів ACTCFG.ID=ACTBUFIN.ID
та отримання команди з вхідного буфера ACTBUFIN.CMD=16#100
ACTTR_CFG.CLSID=ACTBUFIN.CLSID
, ідентифікаторів ACTTR_CFG.ID=ACTBUFIN.ID
та отримання команди з вхідного буфера ACTBUFIN.CMD=16#101
У інтерфейс повинні передаватися наступні параметри:
За умови, що немає можливості доступатися до зовнішніх змінних з середини функцій, передається PLC_CFG
, ACTBUF
, ACTBUFIN
, ACTBUFOUT
; альтернативно можна використовувати інші інтерфейси для використання в середині PLC_CFG
Необхідно передбачити в загальній програмі (по за функцією реалізації класу):
Необхідно передбачити в програмі реалізації класу:
Реалізація програми функцій обробки ВМ складається з наступних етапів:
xx_to_ACT
(xx-відповідає класу ВМ);ACT_PRE
;ACT_CMDCTRL
.ACT_to_xx
(xx-відповідає класу ВМ);Номер | Назва | Коли перевіряти | Примітки |
---|---|---|---|
1 | Присвоєння ID та CLSID при старті | після реалізації функції | |
2 | Ініціалізація параметрів по замовчуванню | після реалізації функції | |
3 | Команди запису до буферу | після реалізації функції | |
4 | Зміна параметрів та запис з буфера | після реалізації функції | |
5 | Робота вбудованих лічильників часу | після реалізації функції | |
6 | Вплив перекидування лічильника часу ПЛК на час кроку | після реалізації функції | |
7 | Керування режимами ВМ | після реалізації функції | |
8 | Керування ВМ | після реалізації функції | |
9 | Обробка тривог ВМ | після реалізації функції | |
10 | Алгоритми автоматичного конфігурування ВМ | після реалізації функції | |
Методика виконання загальних та спеціальних тестів описана в методиках тестування кожного класу.