Базове ядро системи бібліотечних контролів SCADA:
* Реєстрація елементів через анімаційні номери (AN).
* Розподіл завдань на черги високого (_LibCtrl_HP) та низького (_LibCtrl) пріоритетів.
* Керування життєвим циклом компонентів: ініціалізація, циклічна обробка, рендеринг (_LibControl_StartRender, _LibControl_RenderComplete) та перевірка зайнятості (_LibControl_IsBusy).
* Маніпуляція числовими масивами в рядках (*LibControl_StrArray**) та механізм динамічного масштабування.
Низькорівневе ядро та публічний API табличного контролу (LibTable*):
* Керування структурою колонок: додавання, приховування, зміна порядку перетягуванням та автопідбір ширини (_LibTable_SetColWidth, _LibTable_AutoWidth).
* Обробка виділення рядків: одиночний вибір, вибір діапазону через Shift, кумулятивний вибір через Ctrl, вибір усіх записів (LibTable_SelectRow, LibTable_SelectAll).
* Кешування даних комірок, фонове виконання задач для виділених рядків (LibTable_TaskSelectedRows).
Високорівневі допоміжні функції для роботи з таблицями в шаблонах екранних форм:
* Автоматичний підбір ширини всіх видимих колонок таблиці (TabTable_AutoFit).
* Підрахунок кількості виділених оператором рядків у видимій області дисплея (TabTable_GetDspSelectedCount).
* Запит підтвердження дій над прихованими за межами прокрутки виділеними записами (TabTable_ShowRowActionConfirmForm).
Внутрішня математика та публічний інтерфейс елемента смуги прокрутки (LibScrollBar*):
* Розрахунок розміру бігунка (thumb) відносно співвідношення видимих рядків до загальної кількості.
* Обробка перетягування бігунка мишею, посторінковий перехід при кліку поза повзунком та автоприховування.
* Синхронізація позиції прокрутки з прив'язаними таблицями та деревами через callback-процедури.
Реалізація горизонтального та вертикального повзунка/слайдера:
* Обчислення абсолютного та відносного зсуву в пікселях під час перетягування (_LibSlider_SetOffset).
* Підтримка режиму пристикування (Docking) до країв екрана зі збереженням попередньої позиції.
* Збереження позицій слайдера у чергах для відновлення стану після зміни сторінок.
Керування інтерактивним спліттером (розділювачем панелей) між деревом та таблицею:
* Динамічна зміна ширини лівого дерева та правої таблиці при переміщенні повзунка (TabTree_SplitChanged).
* Автоматичне позиціонування та приховування прив'язаних горизонтальних і вертикальних скролбарів.
* Допоміжні функції роботи з кластерними префіксами обладнання (TabEqTree_HasCluster, TabEquip_GetCluster).
Ієрархічне деревоподібне меню з підтримкою чекбоксів:
* Рекурсивний рендеринг вузлів, підвузлів, ліній зв'язку та піктограм із контролем глибини стека.
* Підтримка станів чекбоксів (активний, неактивний, успадкований від батьківського вузла) через бітові маски.
* Автоматичне розгортання батьківських гілок і прокрутка до виділеного елемента (LibTree_SelectItemRef).
Календарний контроль для вибору дат і часових проміжків:
* Календарна арифметика: розрахунок високосних років, зміщення днів тижня та кількості днів у місяці.
* Обробка вибору одиночних дат, діапазонів і подвійних кліків (_LibCalendar_MouseUp, _LibCalendar_MouseDouble).
* Підсвічування поточної дати, виділених днів та перехід між місяцями свайпами.
Шаблонний каркас для розробки нових бібліотечних контролів:
* Базова координатна сітка, обробка наведення та кліків курсора.
* Структура для підключення горизонтальних і вертикальних скролбарів.
Керування вкладками сторінок (Tab Control):
* Динамічна генерація та перемикання вкладок зі списку відкритих вікон (PageList) або меню (MenuNode).
* Підтримка закриття окремих вкладок кліком на піктограму хрестика.
* Розрахунок адаптивної ширини та посторінкова прокрутка вкладок (LibTabs_Scroll).
Система навігаційних вкладок і панелей кнопок у шаблонах Tab Style:
* Побудова дворівневого меню (вкладки розділів зверху, кнопки операцій під ними).
* Автоматичне приховування елементів, що не вміщуються на екрані, та виведення їх у випадаюче меню переповнення (Tabmenu_SelectHiddenTabMenu).
* Збереження конфігурації позицій, ширини та метаданих об'єктів у внутрішніх масивах.
Системні функції навігації, друку сторінок та безпеки шаблонів:
* Перехід до батьківської сторінки (PageParent) та друк екрана/звіту (PagePrint).
* Відображення діалогового вікна входу/виходу користувача та редагування облікових записів (PageDspLoginMenu).
* Парсер виконання команд формату CSV_Include (?Function arg1,arg2).
* Перевірка привілеїв під час спроби завершення роботи SCADA (_PageShutdownConfirmation).
Керування історією переходів оператора:
* Ведення циклічного стека історії відкритих сторінок для кожного вікна окремо.
* Навігація вперед/назад по історії зі збереженням параметрів виклику сторінок (PLSNavPageBackward, PLSNavPageForward).
* Випадаюче контекстне меню історії відвіданих сторінок (PLSNavPageBackwardMenu).
Генерація типової структури навігаційного меню:
* Автоматичне наповнення розділів меню: «PAGES» (сторінки проекту з бази _pages.rdb), «ALARMS/EVENTS» (журнали тривог та подій), «ANALYSIS» (тренди, осцилограми, діагностика).
* Фільтрація та виключення службових сторінок (_PLSNav_IsSystemPage).
Побудова навігаційних панелей на основі бази даних PLSNavTab_DBF:
* Зчитування дерева меню, прав доступу операторів, команд та іконок із файлу бази даних.
* Динамічний розрахунок геометрії кнопок та позиціонування елементів за рівнями.
Публічний інтерфейс для виклику діалогів фільтрації тривог:
* Відкриття діалогу налаштування фільтрації активних тривог, журналу подій, відключених тривог чи SOE (LibAlarmFilterForm).
* Формування та застосування рядка фільтра до системного списку анімаційного номера (AN).
* Перевірка наявності конкретних полів у поточному фільтрі (LibAlarmFilterContains).
Обслуговування вікна конфігурації фільтра тривог:
* Ініціалізація випадаючих списків вибору полів тривог, операторів порівняння та стандартних правил.
* Керування радіокнопками вибору простого, розширеного або користувацького режиму фільтра.
* Інтеграція з календарем для вибору часових інтервалів.
Аналіз, валідація та синхронізація виразів фільтрації:
* _Internal_AlarmFilterParser.ci: приведення дат до секунд Unix Time, числових форматів та обробка макросу #Now.
* _Internal_AlarmFilterTable.ci: взаємодія таблиці правил із внутрішньою буферною чергою, видалення виділених умов.
* _Internal_AlarmFilterTransfer.ci: передача сформованих виразів у ядро SCADA через сесії AlarmFilterEdit*.
Розширена фільтрація тривог для PowerSCADA Expert:
* Підтримка модальних вікон фільтрації тривог та подій безпеки (!PLSAlarmFilter, !PLSSecFilter).
* Фільтрація за часовими мітками з корекцією літнього часу (DST), категоріями, пріоритетами та метаданими.
* Валідація синтаксису введених користувачем даних перед збереженням у глобальний кеш.
Реалізація та адаптація таблиці відображення тривог:
* Зчитування записів тривог за допомогою викликів AlarmDsp / AlarmDspLast.
* Формування колонок на основі категорійних форматів або параметрів проекту.
* Сортування колонок кліком по заголовку, експорт даних сторінок у формати HTML та CSV.
Утиліти та методи обробки тривог для Tab Style шаблонів:
* Перевірка прав доступу на квитування, блокування та коментування записів (TabAlarm_GetAckPriv).
* Керування контекстним меню виділеного рядка тривоги.
* Збереження метаданих списку тривог і колонок у сторінкових змінних.
Специфічні механізми відображення та контекстні дії тривог PLS:
* Формування розширеного контекстного меню (перехід до перегляду осцилограм Waveform, історії сповіщень Notification History, сторінки обладнання).
* Додавання користувацьких коментарів та подій безпосередньо у Sequence of Events (SOE).
* Декодування спеціальних тегів опису в коментарях ('', '', '', '').
Синхронізація дерева обладнання з фільтрами списку тривог:
* Автоматичне формування складних фільтрів за вибраними чекбоксами вузлів дерева.
* Підрахунок та динамічне відображення кількості активних тривог для кожного пристрою дерева.
Перегляд та зміна уставок спрацьовування аварійної сигналізації:
* Посторінкова навігація по списку уставок аналогових і дискретних тривог.
* Зміна числових значень меж (HH, H, L, LL, Deadband, Delay) через екранну клавіатуру з перевіркою меж.
* Дистанційне блокування/розблокування тривог із синхронним записом на резервовані сервери.
Звукова сигналізація аварійних режимів:
* Фоновий контроль найвищого несквитованого пріоритету тривоги в системі.
* Відтворення аудіофайлів .wav на клієнтах із налаштованою частотою повторення.
* Функція тимчасового заглушення сирени (Silence) оператором на заданий час.
Журналювання аудиту та файлова черга:
* AddAuditEvent.ci: функція запису системних дій оператора у журнал SOE (SOEEventAdd).
* PLSAlarmQueue.ci (Deprecated): експорт подій у циклічні файли CSV/XML на диску.
Універсальна таблиця перегляду записів конфігураційних баз SCADA:
* Відкриття та посторінковий скролінг сесій перегляду тегів, обладнання, накопичувачів, трендів (TagBrowseOpen, EquipBrowseOpen).
* Збереження структури колонок і ширини в INI-файлі між сеансами роботи.
* Контекстне меню зміни значення тегу, встановлення режимів заміщення (Override Mode) та блокування керування (Control Mode).
Таблиця виконання прямих SQL-запитів до реляційних СУБД:
* Відкриття підключення до БД (SQLCreate, SQLOpen) та виконання вибірок SELECT.
* Автоматичне створення структури колонок на основі метаданих отриманого рекордсету.
* Посторінкове відображення рядків із навігацією по масиву результатів.
Таблиця динамічного перегляду підписаних змінних тегів:
* Оформлення підписок на теги в реальному часі (TagSubscribe).
* Автоматичне оновлення комірок таблиці через callback-процедури при зміні значень чи якості.
Інструменти діагностики та перегляду тегів:
* PLSTagBrowse.ci: низькорівневе читання файлу бази даних тегів _Variabl.rdb.
* PLSTagView.ci: переглядач усіх тегів вибраного пристрою з підтримкою .NET-акселератора (TagViewer.dll).
* PLSTagExtensions.ci: керування розширеннями якості тегів (Override, Control Inhibit, Tag Status).
Ядро та механізми динамічної розмальовки схем OneLine (Advanced One Line):
* Обробка станів вимикачів: включено, відключено, аварія, вкочено, тест, викочено, втрата зв'язку.
* Моніторинг працездатності (Health Check) зовнішнього процесу розрахунку топології схеми AdvOneLineLauncher.exe.
* Призначення кольорів лініям, шинам та контактам відповідно до джерел живлення та напруги.
Команди телекерування комутаційними апаратами:
* Пряме керування (Direct Operate) та вибір перед виконанням (Select-Before-Operate) для вимикачів.
* Розширені команди для стандарту IEC 61850 з перевіркою синфазності (Synchrocheck), блокувань (Interlock) та тестового режиму.
* Спливаючі діалогові вікна підтвердження операцій !Equipment1 та списку тегів !Equipment2.
* Фоновий сервіс моніторингу статусу зв'язку з пристроями (_PLSEquipProcessIODevStatus).
Керування та моніторинг асинхронних електродвигунів:
* Збір статусів: готовність, робота, попередження, аварійне відключення.
* Підтримка режимів: реверсивний, двошвидкісний, двоступеневий, захист від перевантаження.
* Команди пуску вперед/назад, перемикання швидкості, зупинки та скидання помилок захисту.
Підтримка панелей багатоканального обліку електроенергії Enersure (ANSI/IEC):
* Відображення параметрів струмів, напруг, потужностей та енергії по 42/84 або 22/88 каналах.
* Графічне групування одно-, дво- та трифазних конфігурацій фідерів.
Допоміжні модулі обладнання:
* _Internal_EquipTree.ci: побудова дерева навігації по структурі обладнання.
* DDD.ci: розкодування напрямку протікання аварійних збурень (Disturbance Direction Detection) та показників якості електроенергії.
* PLSGraphicsTest.ci (Deprecated): тестовий режим графіки.
Інтеграція та керування ActiveX-компонентом Process Analyst:
* Відкриття сторінок та спливаючих вікон аналізу трендів (PLSAnalDisplayTags).
* Динамічне додавання та видалення пер аналогових трендів і тривог, вибір кольорів.
* Налаштування індивідуальних шкал, інтервалів часу та типу ліній (пряма/східчаста).
* Збереження набору обраних точок у списку оператора для швидкого виклику графіків.
Швидкі тренди реального часу (Instant Trends):
* Відкриття вікна !InstantTrends для оперативної діагностики.
* Інтерактивне додавання пера кліком лупи по будь-якому тегу на мнемосхемі SCADA.
* Навігація по базі тегів через спливаюче діалогове вікно вибору.
Пошук та перегляд файлів осцилограм:
* Пошук файлів осцилограм у локальній базі за мітками часу подій (UTC/мс) та іменем пристрою.
* Відображення діалогу результатів пошуку !PLSWaveformResults та запуск переглядача !PLSWaveform.
* Взаємодія з системною бібліотекою waveformdb.dll.
Автоматичне вивантаження та збір осцилограм:
* PLSWaveformFTP.ci: періодичний фоновий збір COMTRADE-файлів з мікропроцесорних реле через FTP.
* PLUSFTP.ci: низькорівневий FTP-клієнт на базі PLUSFTP.dll.
* PLSWaveformExtractorCore.ci: керування процесом служби екстрактора осцилограм через RPC.
Генерація записів у журналі подій при появі нових осцилограм:
* Синхронізація індексатора WaveformSearch.dll з каталогом збережених файлів.
* Створення події зміни значення змінної для інформування оператора про новий аварійний запис.
Контроль доступу та багатофакторна аутентифікація:
* Авторизація користувачів з підтримкою вибору мови локалізації.
* Двофакторна перевірка одноразових паролів (YubiKey/OTP) через запити до App Services.
* Багаторівнева перевірка прав на виконання команд телекерування з повторним запитом пароля.
Інтерфейс взаємодії з постачальниками даних платформи (Provider Engine):
* Асинхронний виклик провайдерів за GUID через бібліотеку ProviderGatewayManaged.dll.
* Оновлення метаданих платформи на серверах та очищення кешу пам'яті.
Служба нативних сповіщень операторів (Email/SMS):
* Вичитка черги подій ядра AlarmEventQue та передача у .NET сервіс Notification.dll.
* Моніторинг черги Watchdog та відстеження зміни станів серверів тривог (Active/Standby).
* Діалогові форми налаштування одержувачів і перегляду історії сповіщень.
Інтеграція зовнішніх веб-додатків та PME (Power Monitoring Expert):
* Генерація Single Sign-On (SSO) токенів для безпечного відкриття сторінок без повторного вводу пароля.
* Відкриття звітів PME Reports, WebReach, панелей Dashboards та веб-інтерфейсу сповіщень ENM у вікнах SCADA.
Запуск зовнішньої утиліти системної діагностики:
* Виклик діагностичного модуля SystemAndDiagnosticInfo.exe.
* Перевірка прав RPC та доступності серверних компонентів системи.
Загальносистемні та графічні утиліти:
* PLSGeneral.ci: міжкластерний запис тегів, синхронний запис на резервовані сервери, строкові утиліти CSV.
* Display.ci: контроль стану курсора (фокус, натискання) для складених графічних об'єктів та обрізка довгого тексту.
Службові функції запуску, версій та обробки даних:
* PLSOEM.ci: автоматичний запуск фонових задач тривог, зв'язку I/O та осцилограм при старті SCADA.
* PLSVersion.ci: читання інформації про версії та білди компонентів із XML-файлу.
* PLUSXML.ci: повнофункціональний парсер XML DOM та клієнт SOAP через бібліотеку PLUSSOAP.dll.
* MillisecondHelper.ci: отримання мілісекунд через зовнішню бібліотеку MSec.dll.
| Файл | Призначення / Підсистема | Ключові функції / Механізми |
|---|---|---|
_Internal_Library.ci | Ядро бібліотечних контролів | Черги задач _LibCtrl_HP, реєстрація AN, стани busy |
_Internal_Table.ci | Диспетчер таблиць і сіток | Зміна колонок, багаторівневий вибір рядків, кешування |
Table.ci | Публічний API таблиць | LibTable_AddColumn, LibTable_SelectRow, LibTable_Reload |
TabTable.ci | Допоміжний інтерфейс таблиць | TabTable_AutoFit, TabTable_GetDspSelectedCount |
_Internal_Scrollbar.ci | Математика смуги прокрутки | Розрахунок позиції повзунка, скролінг мишею |
Scrollbar.ci | Публічний API смуги прокрутки | LibScrollBar_SetPos, LibScrollBar_SetRange |
_Internal_Slider.ci | Внутрішня логіка повзунка | Зсув у пікселях, фіксація Docking |
Slider.ci | Публічний API слайдера | LibSlider_SetOffset, LibSlider_GetProperty |
TabTree.ci | Розділювач екрана (Splitter) | TabTree_SplitChanged, автопідбір ширини панелей |
_Internal_Tree.ci | Логіка контрола дерева | Рекурсивний рендеринг, маски чекбоксів |
Tree.ci | Публічний API дерева | LibTree_GetCheckedItems, LibTree_SelectItemRef |
_Internal_Sample.ci | Шаблонний контроль | Базові обробники кліків та координат |
Sample.ci | Публічний API шаблону | LibSample_GetProperty, LibSample_Reload |
_Internal_PageTabs.ci | Контрол сторінкових вкладок | Створення вкладок, прив'язка вікон, закриття хрестиком |
Tabs.ci | Публічний API вкладок | LibTabs_AddTab, LibTabs_Scroll, LibTabs_Delete |
PageTabs.ci | Заголовний файл вкладок | Системні визначення |
Tabmenu.ci | Дворівневе меню Tab Style | Обробка переповнення, випадаючі меню кнопок |
Tabmenu_Metadata.ci | Метадані елементів Tabmenu | Масиви позицій, розмірів та назв |
Page.ci | Навігація та друк сторінок | PageParent, PagePrint, PageDspLoginMenu |
PLSNavigation.ci | Історія переходів сторінками | PLSNavPageBackward, PLSNavPageForward, PLSNavShutdown |
PLSNavigationCustom_Tabmenu.ci | Дефолтна структура меню | PLSNav_CreateDefaultMenu, секції Pages/Alarms/Analysis |
PLSNavigationTabs.ci | Вкладки з бази даних DBF | Зчитування PLSNavTab_DBF, розрахунок ширини |
AlarmFilter.ci | Виклик вікон фільтрації тривог | LibAlarmFilterForm, LibAlarmFilterContains |
TabAlarmFilter.ci | Застосування фільтрів тривог | TabAlarmFilter_Apply, TabAlarmFilter_Reset |
_Internal_AlarmFilterActiveX.ci | ActiveX елементи фільтра | Заповнення списків полів, операторів, зв'язок з календарем |
_Internal_AlarmFilterControls.ci | Графічні джини фільтра | Обробка вибору радіокнопок |
_Internal_AlarmFilterParser.ci | Валідація синтаксису фільтра | Конвертація дат, періодів, чисел, макрос #Now |
_Internal_AlarmFilterTable.ci | Таблиця активних виразів | Робота з чергою умов, видалення виділених правил |
_Internal_AlarmFilterTransfer.ci | Передача виразів у ядро | AlarmFilterEditOpen, AlarmFilterEditCommit |
PLSAlarmFilter.ci | Розширений фільтр тривог PLS | Діалоги !PLSAlarmFilter, фільтрація за часом та DST |
PLSAlarmFilterInit.ci | Ініціалізація форми фільтра | Завантаження переліків категорій, пріоритетів та метаданих |
PLSAlarmFilterValidation.ci | Валідація даних форми фільтра | Перевірка коректності синтаксису дати, кластера, тегу |
_Internal_AlmTable.ci | Внутрішній диспетчер тривог | Виклики AlarmDsp, розрахунок висоти списку |
AlmTable.ci | Публічний API таблиці тривог | LibAlmTable_GetAN, LibAlmTable_SetFormat |
TabAlmTable.ci | Інтерфейс таблиці тривог Tab | Сортування за кліком, експорт у HTML/CSV |
TabAlarm.ci | Функції тривог Tab Style | Квитування, блокування, коментування, перевірка прав |
TabAlarm_Metadata.ci | Метадані списку тривог | Збереження у сторінкових змінних |
TabAlarm_Utility.ci | Допоміжні утиліти тривог | TabAlarm_GetAckPriv, TabAlarm_GetFormatString |
PLSAlarmDisplay.ci | Відображення тривог PLS | Контекстне меню, SOE коментарі, теги опису '''' |
PLSAlarmCustom_TabAlarm.ci | Кастомізація тривог PLS | Заміна контекстного меню, виклик осцилограм |
TabAlarmEqTree.ci | Фільтрація тривог деревом | Синхронізація чекбоксів дерева з фільтром тривог |
PLSAlarmSetpoints.ci | Налаштування уставок тривог | Перегляд списку уставок, зміна через NumPad |
PLSAlarmSound.ci | Звукова сигналізація PLS | Серверний контроль пріоритетів, заглушення звуку |
TabAlarmSnd.ci | Звук тривог Tab Style | Відтворення .wav за пріоритетами, таймер Silence |
AddAuditEvent.ci | Запис подій аудиту | Виклик функції SOEEventAdd |
PLSAlarmQueue.ci | Файловий логер (Deprecated) | Експорт подій у файли CSV/XML на диску |
_Internal_BrowseTable.ci | Сесії перегляду баз даних | TagBrowseOpen, збереження конфігурації колонок |
BrowseTable.ci | Публічний API сесій баз даних | LibBrowseTable_ReloadData, LibBrowseTable_SaveConfig |
TabBrowseTable.ci | Контекстне меню сесій | Зміна значень тегів, налаштування Override Mode |
_Internal_SqlTable.ci | Виконання SQL запитів | Обгортка викликів SQLOpen, динамічні колонки |
SqlTable.ci | Публічний API SQL таблиць | LibSqlTable_ReloadData, LibSqlTable_SetProperty |
_Internal_TagTable.ci | Підписка на значення тегів | Робота з TagSubscribe, автооновлення |
TagTable.ci | Публічний API таблиці тегів | LibTagTable_AddTag |
PLSTagBrowse.ci | Читання RDB бази тегів | Читання записів із файлу _Variabl.rdb |
PLSTagView.ci | Переглядач тегів обладнання | Посторінкове відображення, інтеграція TagViewer.dll |
PLSTagExtensions.ci | Розширення якості тегів | Режими заміщення (Override), блокування керування |
PLSAnimation.ci | Анімація обладнання OneLine | Розрахунок станів вимикачів, розмальовка шин |
PLSAnimGenies.ci | Джини анімації комутації | Статуси положення вимикача, вкочування/викочування |
PLSAnimColor.ci | Палітри кольорів OneLine | Кольори аварій, знеструмлення та статичних режимів |
PLSAnimCore.ci | Інтеграція AdvOneLine | Моніторинг Health Check AdvOneLineLauncher.exe, RPC |
PLSEquipment.ci | Телекерування вимикачами | Операції DO та SBO (відключити, включити, скинути) |
PLSEquipmentAdv.ci | Керування IEC 61850 | SBO з перевіркою синфазності, блокувань і тесту |
PLSEquipmentForm.ci | Спливаючі вікна пристроїв | Форми !Equipment1 та списку тегів !Equipment2 |
PLSEquipmentUtil.ci | Служба моніторингу зв'язку | Черга опитування I/O пристроїв, оновлення EEHealth |
PLSMotorForm.ci | Керування електродвигунами | Пуск вперед/назад, низька швидкість, стоп, реверс |
PLSEnersure.ci | Облік Enersure | Багатоканальний моніторинг фідерів (ANSI/IEC) |
_Internal_EquipTree.ci | Побудова дерева обладнання | Розбір крапкової ієрархії назв пристроїв |
DDD.ci | Аналіз напрямку аварій | Декодування показників PQ та напрямку збурень (DDD) |
PLSGraphicsTest.ci | Тест графіки (Deprecated) | Заглушки тестового режиму |
PLSProcessAnalyst.ci | Інтерфейс Process Analyst | Завантаження пер трендів та тривог, буфер вибору |
PLSPADisplay.ci | Відображення трендів PA | Масштабування осей Y, типи ліній (Straight/Stepped) |
PLSInstantTrends.ci | Миттєві тренди (Instant Trends) | Захоплення тегу кліком миші, виклик вікна аналізу |
PLSWaveform.ci | Відображення осцилограм | Пошук COMTRADE-файлів, відкриття переглядача |
PLSWaveformSearch.ci | Пошук осцилограм | Форма вибору часового діапазону та пристрою |
PLSWaveformFTP.ci | FTP-клієнт осцилограм | Фоновий збір аварійних записів із захисних реле |
PLUSFTP.ci | Бібліотека протоколу FTP | Асинхронні операції з'єднання, пошуку та завантаження |
PLSWaveformExtractorCore.ci | Служба Waveform Extractor | Запуск процесу екстрактора осцилограм |
PLSWaveformEvent.ci | Індексація осцилограм | Створення подій тривог за новими осцилограмами |
PLSSecurity.ci | Безпека та авторизація | Форми входу, перевірка привілеїв оператора |
PLSOneTimePassword.ci | Двофакторна аутентифікація | Перевірка одноразових паролів YubiKey/OTP через RPC |
PLSProviderEngine.ci | Провайдери платформи | Виклики .NET сервісів, оновлення метаданих |
PLSNotification.ci | Інтеграція сповіщень | Передача тривог у Notification.dll, Watchdog |
PLSApplications.ci | Інтеграція з PME / SSO | SSO токени для відкриття звітів Reports, Dashboards |
PLSWebPage.ci | Відображення веб-сторінок | Вбудований браузер WebViewer |
PLSDiagnosticsViewer.ci | Діагностика системи | Виклик утиліти SystemAndDiagnosticInfo.exe |
PLSGeneral.ci | Системні утиліти | Міжкластерний та синхронний резервований запис |
Display.ci | Курсор та екранні об'єкти | Відстеження фокусу складених об'єктів |
PLSOEM.ci | Точки автозапуску/зупинки | Функції _OEM_Startup та _OEM_Shutdown |
PLSVersion.ci | Інформація про версії | Читання версій компонентів із XML |
PLUSXML.ci | Робота з XML та SOAP | DOM-парсер та SOAP-клієнт на базі PLUSSOAP.dll |
MillisecondHelper.ci | Отримання мілісекунд | Робота з динамічною бібліотекою MSec.dll |
_Internal_Calendar.ci | Логіка календаря | Календарна математика та малювання сітки |
Calendar.ci | Публічний API календаря | LibCalendar_SelectDate, LibCalendar_GetSelectedDate |