hmi

Матеріали курсу Людино-машинні інтерфейси

Проект Situational Awareness

Автозаповнення (Autofill)

Довідка

Система автозаповнення (Autofill) Workspace дозволяє автоматично оновлювати вміст на екрані під час виконання на основі поточного контексту клієнта. Автозаповнення працює для всіх вікон, зареєстрованих у робочій області, як-от вікно головної сторінки та будь-які спливаючі вікна.

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

Автозаповнення працює, пов’язуючи певний тип вмісту (наприклад, лицьова панель або сторінка) з кожним означенням обладнання в ієрархії обладнання проекту. Щоб узгодити це, панелі в робочій області можна налаштувати на автоматичне відображення відповідних типів вмісту.

Коли частина обладнання потрапляє в контекст, будь-яка панель, на якій увімкнено автозаповнення, перевірить, чи відповідний тип вмісту такий самий, як вміст, налаштований для відображення. Якщо знайдено відповідність, на панелі відобразиться вміст.

Щоб задіяти функцію автозаповнення Plant SCADA, вам потрібно виконати такі завдання:

Контекстний режим означує, чи використовує робоча область(и) вміст обладнання на вищих і нижчих рівнях ієрархії обладнання при зміні контексту, а не лише вибране обладнання. Щоб указати, як буде працювати автозаповнення для вашої системи, див. Specify a Context Mode for a Workspace.

Приклад

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

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

img

Щоб увімкнути автозаповнення, налаштовані наступні параметри.

Ієрархія обладнання (Equipment hierarchy)

Коли ви означуєте обладнання в проекті Plant SCADA, ви використовуєте властивість Content, щоб пов’язувати кожну частину обладнання з певним типом вмісту. У наведеному вище прикладі налаштовано таку ієрархію обладнання.

Equipment Level Content Content Type Description
Plant 1 Overview_L1 L1 Пов’язаний з сторінкою рівня 1.
Plant.Area1 2 Area_L2 L2 Пов’язаний з сторінкою рівня 2
Plant.Area1.Tank1 3 Tank1_L3 L3 Пов’язаний з сторінкою рівня 3
Plant.Area1.Tank1.InputPump 4 Drive_FP FP Пов’язаний з передньою панеллю приводу.
Plant.Area1.Tank1.InputPump.InputValve 5 Valve_FP FP Пов’язаний з передньою панеллю клапана.
Plant.Area1.Tank1.OutputPump 4 Drive_FP FP Пов’язаний з передньою панеллю приводу.
Plant.Area1.Tank1.OutputPump.OutputValve 5 Valve_FP FP Пов’язаний з передньою панеллю клапана.

Детальніше див у Add Equipment Using Equipment Editor.

Панелі (Panes)

Панелі мають дві властивості, які означують результат процесу автозаповнення.

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

  • FillMode — означує, як поводиться панель при зміні контексту. Підтримуються чотири режими заповнення:

    • Static — Зміст не змінюється.
    • Autofill — Вміст оновиться, якщо обладнання в контексті має відповідний тип вмісту.
    • AutofillContextMustMatch — Вміст оновиться, якщо обладнання відповідає прямому контексту та має вміст того типу, якого вимагає панель (див. нижче).
    • StaticContextMustMatch — Вміст не змінюється, але будь-які асоціації оновлюються, якщо обладнання безпосередньо відповідає контексту (див. нижче).

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

img

У наведеному вище прикладі панелі налаштовуються таким чином:

Pane Content Types Fill Mode Context Update
Header 0 = Static Панель не змінюється.
Content L1, L2 1 = Autofill На панелі автоматично відобразиться сторінка рівня 1 або рівня 2.
Details L3, L4 1 = Autofill На панелі автоматично відобразиться сторінка рівня 3 або 4.
Faceplate FP 3 = AutofillContextMustMatch На панелі буде відображатися вміст, пов’язаний з обладнанням, лише якщо поточний контекст відповідає прямому збігу.
FP_Header 4 = StaticContextMustMatch Вміст панелі залишиться статичним, однак усі асоціації будуть оновлені.
Information 4 = StaticContextMustMatch Вміст панелі залишиться статичним, однак усі асоціації тегів будуть оновлені.
Info_Header 0 = Static Панель не змінюється.
Navigation 0 = Static Панель не змінюється.
TopAlarms 0 = Static Панель не змінюється.

Детальніше див. Configure the Panes on a Master Page.

Примітка. Сторінку можна віднести до певного типу вмісту. Це дозволяє системі знати, що це таке, і узгоджувати це з конфігурацією типу вмісту панелі. Див.Assign a Content Type to a Page.

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

WS_CONTEXTMODE_CurrentOnly

img

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

img

У наведеному вище прикладі наступні панелі оновляться, коли “OutputPump” знаходиться в контексті.

  • Панель Faceplate (Drive_FP) — “Plant.Area1.Tank1.OutputPump” пов’язано з лицьовою панеллю drive, яка відповідає типу вмісту, визначеному для панелі Faceplate. Оскільки для FillMode встановлено значення “AutofillContextMustMatch”, лицьова панель автоматично відображатиметься на цій панелі.
  • Панель FP_Header — FillMode для цієї панелі встановлено на “StaticContextMustMatch”, що означає, що відображена сторінка не зміниться, проте будь-які асоціації оновляться (наприклад, поле Display Name).
WS_CONTEXTMODE_CurrentThenUp

img

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

img

У наведеному вище прикладі наступні панелі оновляться, коли “OutputPump” знаходиться в контексті.

  • Панель FaceplatePlant.Area1.Tank1.OutputPump пов’язано з лицьовою панеллю drive, яка відповідає типу вмісту, визначеному для панелі Faceplate. Оскільки для FillMode встановлено значення “AutofillContextMustMatch”, лицьова панель автоматично відображатиметься на цій панелі.
  • Панель FP_Header — FillMode для цієї панелі встановлено на “StaticContextMustMatch”, що означає, що відображена сторінка не зміниться, проте будь-які асоціації оновляться (наприклад, поле Display Name).

Переміщення вгору по ієрархії розглядається як Plant.Area1.Tank1. Будуть оновлені такі панелі:

  • Панель DetailsPlant.Area1.Tank1 пов’язано зі сторінкою третього рівня (Details_L3), яка відповідає типу вмісту, визначеному для панелі Details. Оскільки для режиму заповнення встановлено значення «Autofill», сторінка відобразиться автоматично.

Знову рухаючись вгору по ієрархії, наступним вважається Plant.Area1. Будуть оновлені такі панелі:

  • Панель ContentPlant.Area1 пов’язано зі сторінкою другого рівня (Area_L2), яка відповідає типу вмісту, означеному для панелі вмісту. Оскільки для режиму заповнення встановлено значення «Autofill», відобразиться сторінка.
WS_CONTEXTMODE_CurrentThenUpThenDown

img

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

img

У наведеному вище прикладі коли в контексті знаходиться Plant.Area1 будуть оновлені наступні панелі.

  • Панель ContentPlant.Area1 пов’язано зі сторінкою другого рівня (Area_L2), яка відповідає типу вмісту, визначеному для панелі вмісту. Оскільки для режиму заповнення встановлено значення «Autofill», сторінка відобразиться автоматично.

Оскільки панелі автозаповнення ще не заповнені (наприклад, «Панель Details»), система починає рухатися вгору по ієрархії, шукаючи вміст.

Наступним вважається «Plant». Він містить лише вміст «Overview_L1» типу вмісту L1, і єдина панель, яка підтримує це («Content»), уже заповнена. Потім система повернеться до початкового контексту, «Tank1», і переміститься вниз по ієрархії до свого першого дочірнього. При переході вниз по ієрархії враховується лише перший дочірній контекст. Переміщення вниз по ієрархії показало наступним Plant.Area1.Tank1 . Буде оновлено наступну панель:

  • Панель DetailsPlant.Area1.Tank1 пов’язано зі сторінкою третього рівня (“Details_L3”), яка відповідає типу вмісту, означеному для панелі Details. Оскільки для режиму заповнення встановлено значення «Autofill», відобразиться сторінка.

Рухаючись вниз за ієрархією до Plant.Area1.Tank1.OutputPump, вступає в дію налаштування FillMode для решти панелей, оскільки поточний контекст більше не відповідає прямому збігу. Відбудуться такі оновлення:

  • Панель Faceplate — оскільки для FillMode встановлено значення “AutofillContextMustMatch”, на панелі відображатиметься порожня сторінка за замовчуванням.
  • Панель FP_Header — Оскільки для FillMode встановлено значення “StaticContextMustMatch”, на панелі відображатиметься порожня сторінка за замовчуванням.

–> Макет за замовченням