OpenSCADA представляє собою відкриту SCADA систему, яку побудовано за принципами модульності, багатоплатформності та масштабованості. SCADA (Supervisory Control And Data Acquisition) у перекладі: «Система диспетчерського керування та збору даних» є терміном, який часто застосовується у сфері автоматизації технологічних процесів. Система OpenSCADA призначена для: збору, архівації, візуалізації інформації, видачі керуючих дій, а також інших споріднених операцій, характерних для повнофункціональної SCADA системи.
Передумови
На ринку програмного забезпечення для АСК-ТП (Автоматизованих систем керування технологічним процесом) склалася ситуація, коли відсутні не тільки вільні SCADA системи, але і SCADA системи для платформ відмінних від MS Windows+x86. Так, одиниці існують, але про них майже нічого не чути та і вигляд вони мають вкрай бляклий на фоні загальної маси.
У той же час фірми, які займаються впровадженням АСК-ТП, зацікавлені у повному контролі над SCADA системою, яку вони впроваджують на об'єктах замовника. Ця зацікавленість пов'язана зі специфікою роботи з Замовником. Замовник становить останню ланку у ланцюзі створення програми. Від якості взаємодії Замовника з розробником прямо пропорційно залежить задоволеність Замовника, а також швидкість удосконалення програми. Виходячи з вищесказаного, пропорційно залежить і імідж фірми, яка запроваджує АСК-ТП. Застосування завершиних комерційних SCADA систем, як правило, приводить до погіршення або повної відсутності взаємодії Замовника з розробником.
Реально існують наступні варіанти вирішення проблеми:
Першим варіантом може бути налагодження тісних зв'язків з виробником SCADA систем, тобто інтеграція (явна або неявна) у підрозділ по впровадженню. Що, в свою чергу, рівноцінно повній або частковій втраті самостійності.
Другим варіантом є розробка власної комерційної SCADA системи. Цим досягається повний контроль, однак для розробки системи, на високому рівні, потрібен великий штат спеціалістів високої кваліфікації. Що, у більшості випадків, не по карману фірмам які впроваджують АСК-ТП. Як результат - кваліфікація спеціалістів доволі низька. І навіть якщо фірма зважується на цей подвиг, то SCADA система не дотягує до рівня самої посередньої сторонньої комерційної системи, і дуже часто має місце низька якість коду та(або) посередня функціональність системи.
Третім варіантом є використання відкритих SCADA систем, тобто - спільна розробка. Це дозволяє поєднати переваги двох перших варіантів:
повний контроль над SCADA системою;
не потрібно великого штату висококваліфікованих спеціалістів для розвитку системи, достатньо спеціалістів для дистрибьюції системи;
приводить до підвищення якості системи, за рахунок множинної зовнішньої експертизи та широти підтримуваних платформ;
дозволяє вибирати платформу у залежності від її переваг, а не тільки тому, що на ній працює SCADA система;
ну і інші психологічні, економічні, моральні та юридичні переваги відкритих систем.
Для спільної реалізації третього варіанту і був заснований проект OpenSCADA!
Цілі проекту
Основними цілями, які переслідує проект, є:
відкритість;
надійність;
гнучкість;
масштабованість;
підтримка багатьох платформ;
безпека;
фінансова доступність;
надання зручного інтерфейсу керування;
Політика розробки. Ліцензія.
У якості політики реалізації даного проекту вибрані «OPEN SOURCE» принципи розробки ПО. Дана політика дозволяє залучити до розробки, тестування, розвитку, розповсюдження та використання продукту значну кількість розробників, ентузіастів та інших зацікавлених осіб при мінімальних фінансових витратах. Програма розповсюджується на умовах ліцензії GNU GPL v2.
Галузі застосування
Система OpenSCADA призначена для виконання як звичайних функцій SCADA систем, так і для використання у суміжних галузях інформаційних технологій.
Система OpenSCADA може застосовуватися:
створення АСУ ТП (SCADA) або систем телемеханіки;
побудова систем моніторингу або керування домовою автоматикою;
створення вбудований систем (середовище виконання ПЛК);
побудова динамічних моделей та імітаторів;
використання на ПК, серверах та кластерах: збір та обробка інформації про ОС, її оточення та обладнання;
ERP, білінг, статистика.
У якості базової (хостової) операційної системи (ОС) для розробки та використання обрано ОС Linux, яка є стандартною POSIX сумісною ОС. Окрім того, ОС Linux є оптимальним рішенням у питаннях:
надійності;
гнучкості/масштабованості;
доступності;
популярності та поширеності.
Оскільки система OpenSCADA розробляється на стандартній POSIX ОС, за принципами підтримки багатьох платформ, то її адаптація на інші ОС не складе проблеми.
Архітектура
Серцем системи є модульне ядро.
У залежності від того, які модулі підключені система може виконувати як функції різноманітних серверів, так і функції клієнтів клієнт-серверної архітектури. Власне, архітектура системи дозволяє реалізовувати розподілені клієнт-серверні системи будь-якої складності.
Для досягнення високої швидкодії, за рахунок скорочення часу комунікацій, архітектура дозволяє поєднувати функції розгалужених систем у одній програмі.
Архітектурно, система OpenSCADA складається з підсистем:
Підсистема безпеки. Містить списки користувачів та груп користувачів, забезпечує перевірку прав для доступу до елементів системи і т.п.
Модульна підсистема баз даних. Забезпечує доступ до баз даних.
Модульна підсистема транспортів. Забезпечує комунікацію із зовнішнім середовищем, за допомогою різноманітних комунікаційних інтерфейсів.
Модульна підсистема комунікаційних протоколів обміну. Тісно пов'язана з підсистемою транспортів та забезпечує підтримку різноманітних протоколів обміну з зовнішніми системами.
Модульна підсистема збору даних (DAQ). Забезпечує збір даних із зовнішніх джерел: контролерів, датчиків та інше. Окрім цього, підсистема може надавати середовище для створення генераторів даних(моделей, регуляторів ... ).
Модульна підсистема архівів. Містить архіви двох типів: архіви повідомлень та архіви значень. Метод архівації визначається алгоритмом, який закладено у модулі архівації.
Модульна підсистема інтерфейсів користувача. Містить функції інтерфейсів користувача.
Підсистема керування модулями. Забезпечує контроль за модулями.
Модульна підсистема спеціальних функцій. Містить функції, які не увійшли до інших підсистем. На цей час до цих функцій відносяться й функції тестування.
Виходячи з принципу модульності, вказані вище модульні підсистеми можуть розширювати свою функціональність шляхом підключення модулів відповідного типу.
Модульне ядро системи OpenSCADA виконується у вигляді статичної та поділяємої бібліотек. Це дозволяє вбудовувати функції системи у існуючі програми, а також створювати нові програми на основі модульного ядра системи OpenSCADA. Однак модульне ядро є самодостатнім і може бути використано за допомогою простої пускаючої програми.
Модулі системи OpenSCADA зберігаються в динамічних бібліотеках. Кожна динамічна бібліотека може містити безліч модулів різноманітного типу. Наповнення динамічних бібліотек модулями визначається функціональною зв'язаністю самих модулів. Динамічні бібліотеки допускають гарячу заміну, що допускає, у процесі роботи, виконувати поновлення модулів. Метод збереження коду модулів в динамічних бібліотеках є основним для системи OpenSCADA, оскільки підтримується практично всіма сучасними ОС. Це не виключає можливості розробки інших методів збереження коду модулів.
Допомога проекту
Якщо ви зацікавлені у розвитку проекту і у вас є думки, досвід та знання для удосконалення цієї розробки, тоді ласкаво просимо до участі в розробці. Проект розробляється на відкритій основі, відповідно до чого всі його напрацювання є загальним надбанням, а тому удосконалюючи його ми допомогаємо один одному, створюючи все більш досконалий інструмент для вирішення наших задач!