scada:cicodefiles

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
scada:cicodefiles [2026/08/27 10:29] – створено scadascada:cicodefiles [2026/08/27 10:39] (поточний) scada
Рядок 1: Рядок 1:
-asd+====== Документація бібліотечних модулів Cicode (AVEVA / Citect SCADA & PowerSCADA Expert) ====== 
 + 
 +===== 1. Базові бібліотечні контролі та графічний інтерфейс ===== 
 + 
 +==== _Internal_Library.ci (_Internal_Control.ci) ==== 
 +Базове ядро системи бібліотечних контролів SCADA: 
 + 
 +* Реєстрація елементів через анімаційні номери (AN). 
 + 
 + 
 +* Розподіл завдань на черги високого (''_LibCtrl_HP'') та низького (''_LibCtrl'') пріоритетів. 
 + 
 + 
 +* Керування життєвим циклом компонентів: ініціалізація, циклічна обробка, рендеринг (''_LibControl_StartRender'', ''_LibControl_RenderComplete'') та перевірка зайнятості (''_LibControl_IsBusy''). 
 + 
 + 
 +* Маніпуляція числовими масивами в рядках (''*LibControl_StrArray**'') та механізм динамічного масштабування. 
 + 
 + 
 + 
 +==== *Internal_Table.ci / Table.ci ==== 
 +Низькорівневе ядро та публічний API табличного контролу (''LibTable*''): 
 + 
 +* Керування структурою колонок: додавання, приховування, зміна порядку перетягуванням та автопідбір ширини (''_LibTable_SetColWidth'', ''_LibTable_AutoWidth''). 
 + 
 + 
 +* Обробка виділення рядків: одиночний вибір, вибір діапазону через ''Shift'', кумулятивний вибір через ''Ctrl'', вибір усіх записів (''LibTable_SelectRow'', ''LibTable_SelectAll''). 
 + 
 + 
 +* Кешування даних комірок, фонове виконання задач для виділених рядків (''LibTable_TaskSelectedRows''). 
 + 
 + 
 + 
 +==== TabTable.ci ==== 
 +Високорівневі допоміжні функції для роботи з таблицями в шаблонах екранних форм: 
 + 
 +* Автоматичний підбір ширини всіх видимих колонок таблиці (''TabTable_AutoFit''). 
 + 
 + 
 +* Підрахунок кількості виділених оператором рядків у видимій області дисплея (''TabTable_GetDspSelectedCount''). 
 + 
 + 
 +* Запит підтвердження дій над прихованими за межами прокрутки виділеними записами (''TabTable_ShowRowActionConfirmForm''). 
 + 
 + 
 + 
 +==== *Internal_Scrollbar.ci / Scrollbar.ci ==== 
 +Внутрішня математика та публічний інтерфейс елемента смуги прокрутки (''LibScrollBar*''): 
 + 
 +* Розрахунок розміру бігунка (thumb) відносно співвідношення видимих рядків до загальної кількості. 
 + 
 + 
 +* Обробка перетягування бігунка мишею, посторінковий перехід при кліку поза повзунком та автоприховування. 
 + 
 + 
 +* Синхронізація позиції прокрутки з прив'язаними таблицями та деревами через callback-процедури. 
 + 
 + 
 + 
 +==== _Internal_Slider.ci / Slider.ci ==== 
 +Реалізація горизонтального та вертикального повзунка/слайдера: 
 + 
 +* Обчислення абсолютного та відносного зсуву в пікселях під час перетягування (''_LibSlider_SetOffset''). 
 + 
 + 
 +* Підтримка режиму пристикування (Docking) до країв екрана зі збереженням попередньої позиції. 
 + 
 + 
 +* Збереження позицій слайдера у чергах для відновлення стану після зміни сторінок. 
 + 
 + 
 + 
 +==== TabTree.ci ==== 
 +Керування інтерактивним спліттером (розділювачем панелей) між деревом та таблицею: 
 + 
 +* Динамічна зміна ширини лівого дерева та правої таблиці при переміщенні повзунка (''TabTree_SplitChanged''). 
 + 
 + 
 +* Автоматичне позиціонування та приховування прив'язаних горизонтальних і вертикальних скролбарів. 
 + 
 + 
 +* Допоміжні функції роботи з кластерними префіксами обладнання (''TabEqTree_HasCluster'', ''TabEquip_GetCluster''). 
 + 
 + 
 + 
 +==== _Internal_Tree.ci / Tree.ci ==== 
 +Ієрархічне деревоподібне меню з підтримкою чекбоксів: 
 + 
 +* Рекурсивний рендеринг вузлів, підвузлів, ліній зв'язку та піктограм із контролем глибини стека. 
 + 
 + 
 +* Підтримка станів чекбоксів (активний, неактивний, успадкований від батьківського вузла) через бітові маски. 
 + 
 + 
 +* Автоматичне розгортання батьківських гілок і прокрутка до виділеного елемента (''LibTree_SelectItemRef''). 
 + 
 + 
 + 
 +==== _Internal_Calendar.ci / Calendar.ci ==== 
 +Календарний контроль для вибору дат і часових проміжків: 
 + 
 +* Календарна арифметика: розрахунок високосних років, зміщення днів тижня та кількості днів у місяці. 
 + 
 + 
 +* Обробка вибору одиночних дат, діапазонів і подвійних кліків (''_LibCalendar_MouseUp'', ''_LibCalendar_MouseDouble''). 
 + 
 + 
 +* Підсвічування поточної дати, виділених днів та перехід між місяцями свайпами. 
 + 
 + 
 + 
 +==== _Internal_Sample.ci / Sample.ci ==== 
 +Шаблонний каркас для розробки нових бібліотечних контролів: 
 + 
 +* Базова координатна сітка, обробка наведення та кліків курсора. 
 + 
 + 
 +* Структура для підключення горизонтальних і вертикальних скролбарів. 
 + 
 + 
 + 
 +===== 2. Навігація, меню та вкладки ===== 
 + 
 +==== _Internal_PageTabs.ci / Tabs.ci / PageTabs.ci ==== 
 +Керування вкладками сторінок (Tab Control): 
 + 
 +* Динамічна генерація та перемикання вкладок зі списку відкритих вікон (''PageList'') або меню (''MenuNode''). 
 + 
 + 
 +* Підтримка закриття окремих вкладок кліком на піктограму хрестика. 
 + 
 + 
 +* Розрахунок адаптивної ширини та посторінкова прокрутка вкладок (''LibTabs_Scroll''). 
 + 
 + 
 + 
 +==== Tabmenu.ci / Tabmenu_Metadata.ci ==== 
 +Система навігаційних вкладок і панелей кнопок у шаблонах Tab Style: 
 + 
 +* Побудова дворівневого меню (вкладки розділів зверху, кнопки операцій під ними). 
 + 
 + 
 +* Автоматичне приховування елементів, що не вміщуються на екрані, та виведення їх у випадаюче меню переповнення (''Tabmenu_SelectHiddenTabMenu''). 
 + 
 + 
 +* Збереження конфігурації позицій, ширини та метаданих об'єктів у внутрішніх масивах. 
 + 
 + 
 + 
 +==== Page.ci ==== 
 +Системні функції навігації, друку сторінок та безпеки шаблонів: 
 + 
 +* Перехід до батьківської сторінки (''PageParent'') та друк екрана/звіту (''PagePrint''). 
 + 
 + 
 +* Відображення діалогового вікна входу/виходу користувача та редагування облікових записів (''PageDspLoginMenu''). 
 + 
 + 
 +* Парсер виконання команд формату CSV_Include (''?Function arg1,arg2''). 
 + 
 + 
 +* Перевірка привілеїв під час спроби завершення роботи SCADA (''_PageShutdownConfirmation''). 
 + 
 + 
 + 
 +==== PLSNavigation.ci ==== 
 +Керування історією переходів оператора: 
 + 
 +* Ведення циклічного стека історії відкритих сторінок для кожного вікна окремо. 
 + 
 + 
 +* Навігація вперед/назад по історії зі збереженням параметрів виклику сторінок (''PLSNavPageBackward'', ''PLSNavPageForward''). 
 + 
 + 
 +* Випадаюче контекстне меню історії відвіданих сторінок (''PLSNavPageBackwardMenu''). 
 + 
 + 
 + 
 +==== PLSNavigationCustom_Tabmenu.ci ==== 
 +Генерація типової структури навігаційного меню: 
 + 
 +* Автоматичне наповнення розділів меню: «PAGES» (сторінки проекту з бази ''_pages.rdb''), «ALARMS/EVENTS» (журнали тривог та подій), «ANALYSIS» (тренди, осцилограми, діагностика). 
 + 
 + 
 +* Фільтрація та виключення службових сторінок (''_PLSNav_IsSystemPage''). 
 + 
 + 
 + 
 +==== PLSNavigationTabs.ci ==== 
 +Побудова навігаційних панелей на основі бази даних ''PLSNavTab_DBF'': 
 + 
 +* Зчитування дерева меню, прав доступу операторів, команд та іконок із файлу бази даних. 
 + 
 + 
 +* Динамічний розрахунок геометрії кнопок та позиціонування елементів за рівнями. 
 + 
 + 
 + 
 +===== 3. Тривоги, події та фільтрація ===== 
 + 
 +==== AlarmFilter.ci / TabAlarmFilter.ci ==== 
 +Публічний інтерфейс для виклику діалогів фільтрації тривог: 
 + 
 +* Відкриття діалогу налаштування фільтрації активних тривог, журналу подій, відключених тривог чи SOE (''LibAlarmFilterForm''). 
 + 
 + 
 +* Формування та застосування рядка фільтра до системного списку анімаційного номера (AN). 
 + 
 + 
 +* Перевірка наявності конкретних полів у поточному фільтрі (''LibAlarmFilterContains''). 
 + 
 + 
 + 
 +==== _Internal_AlarmFilterActiveX.ci / _Internal_AlarmFilterControls.ci ==== 
 +Обслуговування вікна конфігурації фільтра тривог: 
 + 
 +* Ініціалізація випадаючих списків вибору полів тривог, операторів порівняння та стандартних правил. 
 + 
 + 
 +* Керування радіокнопками вибору простого, розширеного або користувацького режиму фільтра. 
 + 
 + 
 +* Інтеграція з календарем для вибору часових інтервалів. 
 + 
 + 
 + 
 +==== _Internal_AlarmFilterParser.ci / _Internal_AlarmFilterTable.ci / _Internal_AlarmFilterTransfer.ci ==== 
 +Аналіз, валідація та синхронізація виразів фільтрації: 
 + 
 +* ''_Internal_AlarmFilterParser.ci'': приведення дат до секунд Unix Time, числових форматів та обробка макросу ''#Now''
 + 
 + 
 +* ''_Internal_AlarmFilterTable.ci'': взаємодія таблиці правил із внутрішньою буферною чергою, видалення виділених умов. 
 + 
 + 
 +* ''_Internal_AlarmFilterTransfer.ci'': передача сформованих виразів у ядро SCADA через сесії ''AlarmFilterEdit*''
 + 
 + 
 + 
 +==== PLSAlarmFilter.ci / PLSAlarmFilterInit.ci / PLSAlarmFilterValidation.ci ==== 
 +Розширена фільтрація тривог для PowerSCADA Expert: 
 + 
 +* Підтримка модальних вікон фільтрації тривог та подій безпеки (''!PLSAlarmFilter'', ''!PLSSecFilter''). 
 + 
 + 
 +* Фільтрація за часовими мітками з корекцією літнього часу (DST), категоріями, пріоритетами та метаданими. 
 + 
 + 
 +* Валідація синтаксису введених користувачем даних перед збереженням у глобальний кеш. 
 + 
 + 
 + 
 +==== _Internal_AlmTable.ci / AlmTable.ci / TabAlmTable.ci ==== 
 +Реалізація та адаптація таблиці відображення тривог: 
 + 
 +* Зчитування записів тривог за допомогою викликів ''AlarmDsp'' / ''AlarmDspLast''
 + 
 + 
 +* Формування колонок на основі категорійних форматів або параметрів проекту. 
 + 
 + 
 +* Сортування колонок кліком по заголовку, експорт даних сторінок у формати HTML та CSV. 
 + 
 + 
 + 
 +==== TabAlarm.ci / TabAlarm_Metadata.ci / TabAlarm_Utility.ci ==== 
 +Утиліти та методи обробки тривог для Tab Style шаблонів: 
 + 
 +* Перевірка прав доступу на квитування, блокування та коментування записів (''TabAlarm_GetAckPriv''). 
 + 
 + 
 +* Керування контекстним меню виділеного рядка тривоги. 
 + 
 + 
 +* Збереження метаданих списку тривог і колонок у сторінкових змінних. 
 + 
 + 
 + 
 +==== PLSAlarmDisplay.ci / PLSAlarmCustom_TabAlarm.ci ==== 
 +Специфічні механізми відображення та контекстні дії тривог PLS: 
 + 
 +* Формування розширеного контекстного меню (перехід до перегляду осцилограм Waveform, історії сповіщень Notification History, сторінки обладнання). 
 + 
 + 
 +* Додавання користувацьких коментарів та подій безпосередньо у Sequence of Events (SOE). 
 + 
 + 
 +* Декодування спеціальних тегів опису в коментарях ('''', '''', '''', ''''). 
 + 
 + 
 + 
 +==== TabAlarmEqTree.ci ==== 
 +Синхронізація дерева обладнання з фільтрами списку тривог: 
 + 
 +* Автоматичне формування складних фільтрів за вибраними чекбоксами вузлів дерева. 
 + 
 + 
 +* Підрахунок та динамічне відображення кількості активних тривог для кожного пристрою дерева. 
 + 
 + 
 + 
 +==== PLSAlarmSetpoints.ci ==== 
 +Перегляд та зміна уставок спрацьовування аварійної сигналізації: 
 + 
 +* Посторінкова навігація по списку уставок аналогових і дискретних тривог. 
 + 
 + 
 +* Зміна числових значень меж (HH, H, L, LL, Deadband, Delay) через екранну клавіатуру з перевіркою меж. 
 + 
 + 
 +* Дистанційне блокування/розблокування тривог із синхронним записом на резервовані сервери. 
 + 
 + 
 + 
 +==== PLSAlarmSound.ci / TabAlarmSnd.ci ==== 
 +Звукова сигналізація аварійних режимів: 
 + 
 +* Фоновий контроль найвищого несквитованого пріоритету тривоги в системі. 
 + 
 + 
 +* Відтворення аудіофайлів ''.wav'' на клієнтах із налаштованою частотою повторення. 
 + 
 + 
 +* Функція тимчасового заглушення сирени (Silence) оператором на заданий час. 
 + 
 + 
 + 
 +==== AddAuditEvent.ci / PLSAlarmQueue.ci ==== 
 +Журналювання аудиту та файлова черга: 
 + 
 +* ''AddAuditEvent.ci'': функція запису системних дій оператора у журнал SOE (''SOEEventAdd''). 
 + 
 + 
 +* ''PLSAlarmQueue.ci'' (Deprecated): експорт подій у циклічні файли CSV/XML на диску. 
 + 
 + 
 + 
 +===== 4. Перегляд баз даних, SQL та теги ===== 
 + 
 +==== _Internal_BrowseTable.ci / BrowseTable.ci / TabBrowseTable.ci ==== 
 +Універсальна таблиця перегляду записів конфігураційних баз SCADA: 
 + 
 +* Відкриття та посторінковий скролінг сесій перегляду тегів, обладнання, накопичувачів, трендів (''TagBrowseOpen'', ''EquipBrowseOpen''). 
 + 
 + 
 +* Збереження структури колонок і ширини в INI-файлі між сеансами роботи. 
 + 
 + 
 +* Контекстне меню зміни значення тегу, встановлення режимів заміщення (Override Mode) та блокування керування (Control Mode). 
 + 
 + 
 + 
 +==== _Internal_SqlTable.ci / SqlTable.ci ==== 
 +Таблиця виконання прямих SQL-запитів до реляційних СУБД: 
 + 
 +* Відкриття підключення до БД (''SQLCreate'', ''SQLOpen'') та виконання вибірок SELECT. 
 + 
 + 
 +* Автоматичне створення структури колонок на основі метаданих отриманого рекордсету. 
 + 
 + 
 +* Посторінкове відображення рядків із навігацією по масиву результатів. 
 + 
 + 
 + 
 +==== _Internal_TagTable.ci / TagTable.ci ==== 
 +Таблиця динамічного перегляду підписаних змінних тегів: 
 + 
 +* Оформлення підписок на теги в реальному часі (''TagSubscribe''). 
 + 
 + 
 +* Автоматичне оновлення комірок таблиці через callback-процедури при зміні значень чи якості. 
 + 
 + 
 + 
 +==== PLSTagBrowse.ci / PLSTagView.ci / PLSTagExtensions.ci ==== 
 +Інструменти діагностики та перегляду тегів: 
 + 
 +* ''PLSTagBrowse.ci'': низькорівневе читання файлу бази даних тегів ''_Variabl.rdb''
 + 
 + 
 +* ''PLSTagView.ci'': переглядач усіх тегів вибраного пристрою з підтримкою .NET-акселератора (''TagViewer.dll''). 
 + 
 + 
 +* ''PLSTagExtensions.ci'': керування розширеннями якості тегів (Override, Control Inhibit, Tag Status). 
 + 
 + 
 + 
 +===== 5. Однолінійні схеми, анімація та обладнання ===== 
 + 
 +==== PLSAnimation.ci / PLSAnimGenies.ci / PLSAnimColor.ci / PLSAnimCore.ci ==== 
 +Ядро та механізми динамічної розмальовки схем OneLine (Advanced One Line): 
 + 
 +* Обробка станів вимикачів: включено, відключено, аварія, вкочено, тест, викочено, втрата зв'язку. 
 + 
 + 
 +* Моніторинг працездатності (Health Check) зовнішнього процесу розрахунку топології схеми ''AdvOneLineLauncher.exe''
 + 
 + 
 +* Призначення кольорів лініям, шинам та контактам відповідно до джерел живлення та напруги. 
 + 
 + 
 + 
 +==== PLSEquipment.ci / PLSEquipmentAdv.ci / PLSEquipmentForm.ci / PLSEquipmentUtil.ci ==== 
 +Команди телекерування комутаційними апаратами: 
 + 
 +* Пряме керування (Direct Operate) та вибір перед виконанням (Select-Before-Operate) для вимикачів. 
 + 
 + 
 +* Розширені команди для стандарту IEC 61850 з перевіркою синфазності (Synchrocheck), блокувань (Interlock) та тестового режиму. 
 + 
 + 
 +* Спливаючі діалогові вікна підтвердження операцій ''!Equipment1'' та списку тегів ''!Equipment2''
 + 
 + 
 +* Фоновий сервіс моніторингу статусу зв'язку з пристроями (''_PLSEquipProcessIODevStatus''). 
 + 
 + 
 + 
 +==== PLSMotorForm.ci ==== 
 +Керування та моніторинг асинхронних електродвигунів: 
 + 
 +* Збір статусів: готовність, робота, попередження, аварійне відключення. 
 + 
 + 
 +* Підтримка режимів: реверсивний, двошвидкісний, двоступеневий, захист від перевантаження. 
 + 
 + 
 +* Команди пуску вперед/назад, перемикання швидкості, зупинки та скидання помилок захисту. 
 + 
 + 
 + 
 +==== PLSEnersure.ci ==== 
 +Підтримка панелей багатоканального обліку електроенергії Enersure (ANSI/IEC): 
 + 
 +* Відображення параметрів струмів, напруг, потужностей та енергії по 42/84 або 22/88 каналах. 
 + 
 + 
 +* Графічне групування одно-, дво- та трифазних конфігурацій фідерів. 
 + 
 + 
 + 
 +==== _Internal_EquipTree.ci / DDD.ci / PLSGraphicsTest.ci ==== 
 +Допоміжні модулі обладнання: 
 + 
 +* ''_Internal_EquipTree.ci'': побудова дерева навігації по структурі обладнання. 
 + 
 + 
 +* ''DDD.ci'': розкодування напрямку протікання аварійних збурень (Disturbance Direction Detection) та показників якості електроенергії. 
 + 
 + 
 +* ''PLSGraphicsTest.ci'' (Deprecated): тестовий режим графіки. 
 + 
 + 
 + 
 +===== 6. Тренди та аналіз процесів ===== 
 + 
 +==== PLSProcessAnalyst.ci / PLSPADisplay.ci ==== 
 +Інтеграція та керування ActiveX-компонентом Process Analyst: 
 + 
 +* Відкриття сторінок та спливаючих вікон аналізу трендів (''PLSAnalDisplayTags''). 
 + 
 + 
 +* Динамічне додавання та видалення пер аналогових трендів і тривог, вибір кольорів. 
 + 
 + 
 +* Налаштування індивідуальних шкал, інтервалів часу та типу ліній (пряма/східчаста). 
 + 
 + 
 +* Збереження набору обраних точок у списку оператора для швидкого виклику графіків. 
 + 
 + 
 + 
 +==== PLSInstantTrends.ci ==== 
 +Швидкі тренди реального часу (Instant Trends): 
 + 
 +* Відкриття вікна ''!InstantTrends'' для оперативної діагностики. 
 + 
 + 
 +* Інтерактивне додавання пера кліком лупи по будь-якому тегу на мнемосхемі SCADA. 
 + 
 + 
 +* Навігація по базі тегів через спливаюче діалогове вікно вибору. 
 + 
 + 
 + 
 +===== 7. Осцилограми та протокол COMTRADE ===== 
 + 
 +==== PLSWaveform.ci / PLSWaveformSearch.ci ==== 
 +Пошук та перегляд файлів осцилограм: 
 + 
 +* Пошук файлів осцилограм у локальній базі за мітками часу подій (UTC/мс) та іменем пристрою. 
 + 
 + 
 +* Відображення діалогу результатів пошуку ''!PLSWaveformResults'' та запуск переглядача ''!PLSWaveform''
 + 
 + 
 +* Взаємодія з системною бібліотекою ''waveformdb.dll''
 + 
 + 
 + 
 +==== PLSWaveformFTP.ci / PLUSFTP.ci / PLSWaveformExtractorCore.ci ==== 
 +Автоматичне вивантаження та збір осцилограм: 
 + 
 +* ''PLSWaveformFTP.ci'': періодичний фоновий збір COMTRADE-файлів з мікропроцесорних реле через FTP. 
 + 
 + 
 +* ''PLUSFTP.ci'': низькорівневий FTP-клієнт на базі ''PLUSFTP.dll''
 + 
 + 
 +* ''PLSWaveformExtractorCore.ci'': керування процесом служби екстрактора осцилограм через RPC. 
 + 
 + 
 + 
 +==== PLSWaveformEvent.ci ==== 
 +Генерація записів у журналі подій при появі нових осцилограм: 
 + 
 +* Синхронізація індексатора ''WaveformSearch.dll'' з каталогом збережених файлів. 
 + 
 + 
 +* Створення події зміни значення змінної для інформування оператора про новий аварійний запис. 
 + 
 + 
 + 
 +===== 8. Безпека, інтеграція та системні сервіси ===== 
 + 
 +==== PLSSecurity.ci / PLSOneTimePassword.ci ==== 
 +Контроль доступу та багатофакторна аутентифікація: 
 + 
 +* Авторизація користувачів з підтримкою вибору мови локалізації. 
 + 
 + 
 +* Двофакторна перевірка одноразових паролів (YubiKey/OTP) через запити до App Services. 
 + 
 + 
 +* Багаторівнева перевірка прав на виконання команд телекерування з повторним запитом пароля. 
 + 
 + 
 + 
 +==== PLSProviderEngine.ci ==== 
 +Інтерфейс взаємодії з постачальниками даних платформи (Provider Engine): 
 + 
 +* Асинхронний виклик провайдерів за GUID через бібліотеку ''ProviderGatewayManaged.dll''
 + 
 + 
 +* Оновлення метаданих платформи на серверах та очищення кешу пам'яті. 
 + 
 + 
 + 
 +==== PLSNotification.ci ==== 
 +Служба нативних сповіщень операторів (Email/SMS): 
 + 
 +* Вичитка черги подій ядра ''AlarmEventQue'' та передача у .NET сервіс ''Notification.dll''
 + 
 + 
 +* Моніторинг черги Watchdog та відстеження зміни станів серверів тривог (Active/Standby). 
 + 
 + 
 +* Діалогові форми налаштування одержувачів і перегляду історії сповіщень. 
 + 
 + 
 + 
 +==== PLSApplications.ci / PLSWebPage.ci ==== 
 +Інтеграція зовнішніх веб-додатків та PME (Power Monitoring Expert): 
 + 
 +* Генерація Single Sign-On (SSO) токенів для безпечного відкриття сторінок без повторного вводу пароля. 
 + 
 + 
 +* Відкриття звітів PME Reports, WebReach, панелей Dashboards та веб-інтерфейсу сповіщень ENM у вікнах SCADA. 
 + 
 + 
 + 
 +==== PLSDiagnosticsViewer.ci ==== 
 +Запуск зовнішньої утиліти системної діагностики: 
 + 
 +* Виклик діагностичного модуля ''SystemAndDiagnosticInfo.exe''
 + 
 + 
 +* Перевірка прав RPC та доступності серверних компонентів системи. 
 + 
 + 
 + 
 +==== PLSGeneral.ci / Display.ci ==== 
 +Загальносистемні та графічні утиліти: 
 + 
 +* ''PLSGeneral.ci'': міжкластерний запис тегів, синхронний запис на резервовані сервери, строкові утиліти CSV. 
 + 
 + 
 +* ''Display.ci'': контроль стану курсора (фокус, натискання) для складених графічних об'єктів та обрізка довгого тексту. 
 + 
 + 
 + 
 +==== PLSOEM.ci / PLSVersion.ci / PLUSXML.ci / MillisecondHelper.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'' |
  • scada/cicodefiles.1787815796.txt.gz
  • Востаннє змінено: 2026/08/27 10:29
  • повз scada