CLSID=16#100x – 16#17FF
LVL1 (process variables) - технологічні змінні для повної обробки інформації з процесу, включаючи прив’язку до каналу, фільтрацію, масштабування, інверсію і т.п.; для зручності відлагодження процесу; для функцій імітаційного моделювання; для функцій технологічної сигналізації і т.д.
Рекомендується використовувати наскрізну ідентифікацію технологічних змінних (ID) в межах рівня LVL1 для спрощення символьного посилання в HMI.
Рівень технологічних змінних представлений 4-ма класами:
При необхідності можна виділити окремі класи для мережевих змінних. Обробку мережевих змінних рекомендується виконувати функціями обробки відповідних класичних технологічних змінних.
Використовується єдиний буфер зі структурою VARBUF
Змінна з ідентифікатором 0 зарезервована як порожня неактивна змінна.
Приклад діагностики та конфігурування аналогових змінних на HMI показаний на рис. Вікна де наводяться перелік всіх технологічних змінних в каркасі називається картою технологічних змінних.
Рис. Приклад використання функцій аналогових вхідних змінних на HMI.
Рис. Приклад налаштування функцій дискретних вхідних змінних на HMI.
Статуси змінних (тривоги, відмови, форсування) супроводжують відображення змінної на всіх мнемосхемах HMI. На наступному рисунку показаний приклад відображення попередження для змінної PT102 для панелі з обмеженою функціональністю (Simatic Basic Panel).
Рис. Приклад відображення статусу змінної HMI.
Структури повинні містити
name | type | Опис |
---|---|---|
ID | UINT | Унікальний ідентифікатор |
CLSID | UINT | 16#10xx |
STA | INT | біти статусу |
PRM | UINT | параметри конфігурації, повинні зберігатися при відключеному живленні |
CHID | UINT | Логічний номер дискретного каналу, до якого прив’язана змінна, 0 - немає прив’язки |
CHIDDF | UINT | Логічний номер каналу за замовченням |
prm1 | параметри відповідно до класу технологічної змінної | |
prm2 | параметри відповідно до класу технологічної змінної | |
prm3 | параметри відповідно до класу технологічної змінної | |
STEP1 | UINT | номер кроку |
T_STEP1 | UDINT | Плинний час кроку в мс |
T_PREV | UDINT | час в мс з попереднього виклику, береться зі структури PLC_CFG.TQMS |
СМ-ми першого рівня, типу технологічні змінні можуть бути прив’язані до каналу того ж типу (наприклад дискретний вхід до дискретної вхідної технологічної змінної) по їх номеру. Таким чином прив’язка технологічної змінної до каналу є динамічною, що дозволяє змінювати розташування фізичного підключення конкретного датчика/ВМ у випадку виходу з ладу частини системи. Крім того, таке переключення може бути програмним.
Технологічні змінні знаходяться вище за канали по ієрархії керування. Уся діагностична інформація передається від каналів до змінних. Реалізація цього рівня не залежить від апаратних особливостей контролера, так як усі платформо-залежні тонкощі реалізується на рівні каналів, інтерфейс яких є стандартизованим в каркасі. Технологічні змінні забезпечують наступну функціональність:
прив’язка до каналу за його номером та типом
відключення з обслуговування (деактивація тривог змінної, врахування верхніми рівнями)
відслідковування достовірності значення за помилкою прив’язаного каналу, виходу за діапазон вимірювальної величини, тощо;
діагностика роботи каналу (передача діагностичної інформації з прив’язаного
каналу на верхній рівень)
обробка вхідного/вихідного значення: масштабування (в т.ч. за необхідністю кусочно-лінійна інтерполяція), фільтрування, інвертування (для дискретних змінних);
наявність режиму ручної зміни (форсування); відповідно до ISA-88 - «ручний режим»
наявність режиму імітації, в якому для вхідних змінних, значення змінюється CM-мами верхнього рівня (або незалежною програмою), а для вихідних змінних, відбувається замороження значень вихідних каналів
обробка тривог (ISA 18.2): реагування на порогові значення, врахування затримки на спрацювання (за необхідності межі задаються окремими уставками), гістерезис, формування загального системного біту аварії/попередження, нова тривога (на один цикл);
конфігурування обробки тривог (ISA 18.2): налаштування значень тривог, типів тривог (аварія/попередження/відмова каналу), тимчасове зняття тривоги з обслуговування;
підтримка режиму імітації (симуляції)
Повинна бути реалізована функція роботи з класичним буфером.
Буфер рекомендується використовувати один для всіх технологічних змінних.
Факт зайнятості буфера перевіряється за рівністю ідентифікатора класу CLSID
та ідентифікатора технологічної змінної ID
при захопленні буферу:
VARBUF.STA = VAR_CFG.STA
VARBUF.CH_STA = CHCFG.STA
.конфігурація технологічної змінної повинна зчитуватися в буфер при отриманні команд:
STA.CMDLOAD=TRUE
VARBUF.CMD
= 16#0100;конфігурація технологічної змінної повинна записуватись з буфера при отриманні команд:
VARBUF.CMD
= 16#0101;Повинна бути реалізована функція роботи з параметричними двунаправленим буферами VARBUFIN<->VARBUFOUT.
VARBUFIN
- використовується для обробки команд (при рівності CLSID та ID) та запису інформації в технологічну зміннуVARBUFOUT
- використовується зчитування інформації з технологічної змінної при отриманні команди на читання з VARBUFIN
VARCFG.CLSID=VARBUFIN.CLSID
, ідентифікаторів VARCFG.ID=VARBUFIN.ID
та отримання команди з вхідного буфера VARBUFIN.CMD=16#100
VARCFG.CLSID=VARBUFIN.CLSID
, ідентифікаторів VARCFG.ID=VARBUFIN.ID
та отримання команди з вхідного буфера VARBUFIN.CMD=16#101
У інтерфейс повинні передаватися наступні параметри:
За умови, що немає можливості доступатися до зовнішніх змінних з середини функцій, передається PLC_CFG
, VARBUF
, VARBUFIN
, VARBUFOUT
; альтернативно можна використовувати інші інтерфейси для використання в середині PLC_CFG
Необхідно передбачити в загальній програмі (по за функцією реалізації класу):
Необхідно передбачити в програмі реалізації класу:
Номер | Назва | Коли перевіряти | Примітки |
---|---|---|---|
1 | Присвоєння ID та CLSID при старті | після реалізації функції | |
2 | Команди запису до буферу | після реалізації функції | |
3 | Зміна параметрів та запис з буфера | після реалізації функції | |
4 | Зміни логічного номеру каналу | після реалізації функції | |
5 | Запис значення CHID за замовченням при старті, при одинарній команді | після реалізації функції | |
6 | Робота вбудованих лічильників часу | після реалізації функції | |
7 | Вплив перекидування лічильника часу ПЛК на час кроку | після реалізації функції | |
8 | Алгоритм Ping-Pong | після реалізації функції | |
9 | Робота в нефорсованому режимі | після реалізації функції | |
10 | Робота в форсованому режимі | після реалізації функції | |
11 | Відправка широкомовних команд на дефорсування | після реалізації функції | |
Методика виконання загальних та спеціальних тестів описана в методиках тестування кожного класу.