Net Server TM - мережевий сервер телеметрії

Комплекс програм «Net Server TM» (мережевий сервер телеметрії) призначений для побудови автономних, розподілених та ієрархічних систем збору та обробки телеінформації, управління (телемеханізованим) обладнанням та обміну інформацією із засобами відображення (ПЕОМ) та іншими інформаційними системами. За загальноприйнятою класифікацією "Net Server TM" найближче до "SCADA", проте його функціональні властивості ширші.

Призначення

Технологія, закладена в «Net Server TM» призначена для уніфікації на представницькому рівні (семирівнева модель OSI протоколів взаємодії відкритих систем) інформації від різнорідних датчиків, різноманітних контролерів та автономних систем з подальшою тематичною обробкою за сценаріями та видачею результатів як назад (телеуправління), і в оперативний контур управління (виробничий персонал). Крім того, інформація видається (і приймається) з тактичного (MESA) та економічного (IRP) контурів управління виробництвом (введення/виведення на SQL СУБД). Масштабованість технології дозволяє використовувати її в діапазоні від великої ділянки (середнього цеху) до міжнародних корпорацій. Управління експлуатацією в системі з великої кількості серверів – ієрархічне з делегуванням прав на нижні рівні.

Концепція подання даних у «Net Server TM»

Об'єкти в «Net Server TM»

Дані в Net Server TM представлені у вигляді "об'єктів з набором властивостей". Усередині такого об'єкта об'єднано все те, що ми хочемо знати про той чи інший контроль. Об'єкти контролю з наборами властивостей, що збігаються, групуються в типи. У результаті кожен об'єкт контролю належить одному і лише одному типу.

Наприклад, якщо у нас є деяке телевимірювання (скажімо, температура пари втрубопроводі), то нам може бути важливо знати (крім самого вимірюваного значення) час виробництва виміру, одиниці виміру, достовірність значення і.т.д. Крім того, може виявитися так, що датчик виведено в ремонт, і значення зараз заносяться вручну оператором на підставі будь-яких інструкцій, а значить, може знадобитися зберігати спосіб отримання того чи іншого значення. Все це разом і становить об'єкт (контролю), що описує цей телевимір. Значення, час, одиниці виміру, достовірність є полями об'єкта "температура пари", що належить до типу "телевимірювання". Інші об'єкти-"телевимірювання" матимуть такий самий набір полів.

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

"Net Server TM" дозволяє обмежувати права користувача на доступ до типів даних. Користувач може мати одне з перерахованих прав: заборона доступу, лише читання, читання та запис.

Обмін даними між серверами і між серверами та ПЕОМ користувачів проводиться за принципом один запит – багато відповідей. Наприклад "видай поточне значення від такого - то сервера по об'єкту "HeatTIT_Min3.Truba_1.M" і видавай згодом кожну зміну значення ЦЬОГО об'єкта". Це суттєво знижує навантаження на канали зв'язку та підвищує реактивність трафіку. Функціонально "Net Server TM" поділяється на сервери введення-виведення (ПТК-2) та сервери-концентратори (ПТК-1). ПТК-2 керують драйверами зв'язку (а вони ведуть обмінз різними приладами КВП, автономними системами контролю, управляють засобами зв'язку (PLC модемами наприклад), ПТК-1 ведуть обмін з першими і виконують розрахункові/вимірювальні/керуючі завдання. До будь-якого із серверів ПТК-1 існує доступ з боку клієнтів - інших ПТК-1 або ПЕОМ користувачів (через STM Developer Suite або Web браузери). Як ПТК-2 зазвичай використовуються 32-х розрядні сервери, а як концентратори - 64-розрядні.

"Net Server TM", сервер введення-виведення, ПТК-2.

Опис сервера вводу-виводу.

Сервер вводу-виводу є програмним або програмно-апаратним компонентом комплексу "Net Server TM", призначеним для контролю, зберігання, модифікації та видачі за запитом в один або кілька ПТК-1 даних. Він має фіксовані/настроювані, апаратно-орієнтовані алгоритми контролю, обробки та управління.

Функціонально сервер введення-виведення формує "об'єкти" за рахунок оптимізованого алгоритму опитування конкретного типу датчика, засоби вимірювання, контролера, інформаційної системи. Синхронізує знімання даних з мітками часу системи єдиного часу, синхронізує час на засобах виміру, в контролерах. Роздає "об'єкти" серверам рівня ІВК (ПТК-2).

"Net Server TM", сервер рівня ІВК, ПТК-1.

Опис сервера ПТК-1.

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

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

До рому відстеження значень програми-клієнти можуть скористатися архівами сервера. Архіви можуть бути як періодичними, так і неперіодичними з фіксованою при налаштуванні (і підлягає зміні при перенастроюванні) глибиною зберігання. Для кожного типу об'єктів параметри глибини архівів можуть бути індивідуально налаштовані. Прикладом неперіодичних архівів є "журнали подій" (наприклад на 2000 закільцованих записів), що містять описи перемикань, виходів за уставки, аварійних ситуацій. Прикладом періодичних архівів можуть бути часові, добові або місячні значення витрати тепла або електроенергії (на глибину 1000000 або 500000 записів відповідно).

Сервер ПТК-1 виконує такі завдання:

  • створення бази даних, читання\запис даних до неї
  • створення серверного TCP\IP сокету для організації зв'язку з клієнтами
  • запуск інтерпретатора мови Erlang та виконання скриптів
  • контроль цілісності бази даних, автоматичний (за умовами часу або додатковими умовами)
  • створення резервних копій бази даних експорт даних автоматичний або на запит користувача в інші СУБД, або локальні системи

Докладніше опишемо принцип роботи сервера введення-виводу з базою даних. База даних – це набір строго структурованих файлів, які під час роботи сервера маппіруються на згадку про процес. В результаті створюється «дзеркало» між пам'яттю процесу та частиноюВміст бази на жорстких дисках. Такий підхід роботи з БД має свої переваги, основний – це висока швидкість обробки даних, гарантований запис даних у БД (немає тимчасових буферів та ін., отже, дані, отримані безпосередньо перед збоєм будуть у БД). Підвищення надійності безпеки даних забезпечується автоматичним створенням резервних копій БД на інших серверах та використанням апаратного резервування на власному сервері.

На малюнку представлена ​​типова структурна схема сервера введення-виведення. Стисло опишемо основні функціональні модулі.

Net Server ТM, сервер введення-виведення складається з наступних функціональних модулів:

Master – ядро ​​сервера ПТК-1. Він пов'язує решту модулів сервера в єдине ціле, контролює їх працездатність.

Бази даних

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

Блок реалізації протоколу обміну

Пул скриптів

E rlang скрипти – це основний інструмент для обробки даних. Саме вони забезпечують гнучкість ПТК-1 у вирішенні широкого спектра завдань. Існує ціла низка готових скриптів, призначених для вирішення типових завдань, таких як: створення «віртуальних» об'єктів та формування їх поточних та/або періодичних значень на основі значень реально існуючих об'єктів (наприклад, обчислення сумарної витрати теплоносія на декількох трубопроводах або балансу по енергооб'єкту або питомих витрат з енергоустановки); експорт/імпорт даних до інших СУБД та ін.

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

Взаємодія серверів введення-виводу один з одним і з іншимпрограмним забезпеченням

На даний момент сервер вводу-виводу використовує 2 типи з'єднань з іншими процесами. Коротко їх опишемо.

Протокол обміну даними

Обмін даними з іншими СУБД

Обмін даними з іншими СУБД здійснюється за допомогою ODBC-з'єднань. Для організації експорту/імпорту даних потрібна наявність встановленого та коректно налаштованого ODBC-драйвера.