From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page About and the translation is 100% complete.

Other languages:
English • ‎российский • ‎українська
Заснування: липень 2002 (проектування), січень 2003 (реалізація)
Автор: Роман Савоченко
Максим Лисенко (2007-2012), Максим Кочетков (2014-2016), Алмаз Каримов (2008-2009, 2011), Арсен Закоян (2017), Руслан Ярмолюк (2017), Аркадій Кисіль (2017)
Учасники: дивитися детальну інформацію
Політика: Вільне програмне забезпечення (програмне забезпечення з відкритими вихідними текстами)
Ліцензія: GPL v.2 переважно для вихідних текстів, GFDL v.1.3 для документації
Мови локалізації: Англійська(en), Українська(uk), Російська(ru), Німецька(de)
Версія: 1 Work, 0.9 LTS (2018), 0.8 Old LTS (2012-2018)
Функції та вимоги: дивитися детальну інформацію
Контакти:
  • Електрона пошта (EMail): oscada@oscada.org
  • Jabber (JID): oscada@oscada.org
Ресурси
Світова мережа (WWW):
Файли:
Репозиторії:
Демонстрації:

OpenSCADA представляє собою відкриту SCADA або HMI систему, побудовану за принципами модульності, крос-платформеності та масштабованості. SCADA (диспетчерський контроль та збір даних) або Людино Машинний Інтерфейс (HMI) є термінами, які часто використовуються у автоматизації технологічних процесів. SCADA або HMI загалом призначені для використання у оперативному та відповідальному контролі людиною за роботою складного технологічного обладнання різних виробничих процесів. Загалом, OpenSCADA призначено для: збору, архівації (ведення історії), візуалізації інформації, видачі керуючих дій, а також інших споріднених операцій, характерних для повнофункціональної SCADA або HMI системи.

1 Передумови

На ринку програмного забезпечення автоматизованих систем управління технологічними процесами (АСУ ТП) 2002 року склалася ситуація, коли відсутні не тільки вільні SCADA системи, але і SCADA системи для платформ відмінних від MS Windows+x86. Так, одиниці існують, але про них майже нічого не чути та і вигляд вони мають вкрай бляклий на фоні загальної маси.

У той же час, фірми, які займаються впровадженням АСУ ТП, зацікавлені у повному контролі над SCADA системою яку вони впроваджують на об'єктах замовника. Ця зацікавленість пов'язана зі специфікою роботи з Замовником. Замовник становить останню ланку у ланцюзі створення програми. Від якості взаємодії Замовника з розробником прямо пропорційно залежить задоволеність Замовника, а також швидкість удосконалення програми. Виходячи з вищесказаного, пропорційно залежить і імідж фірми, яка запроваджує АСУ ТП. Застосування завершених комерційних SCADA систем, як правило, приводить до погіршення або повної відсутності взаємодії Замовника з розробником.

Реально існують наступні варіанти вирішення цієї проблеми:

  • Першим варіантом може бути налагодження тісних зв'язків з виробником SCADA систем, тобто інтеграція (явна або неявна) у підрозділ по впровадженню. Що, в свою чергу, рівноцінно повній або частковій втраті самостійності.
  • Другим варіантом є розробка власної комерційної SCADA системи. Цим досягається повний контроль, однак для розробки системи на високому рівні потрібен великий штат висококваліфікованих спеціалістів. Що, у більшості випадків, не за статками фірм, які впроваджують АСУ ТП. Як результат — кваліфікація спеціалістів доволі низька. І навіть якщо фірма зважується на цей подвиг то SCADA система не дотягує до рівня самої посередньої сторонньої комерційної системи, і дуже часто має місце — низька якість коду та(або) посередня функціональність системи.
  • Третім варіантом є використання відкритих SCADA систем, тобто — спільна розробка. Це дозволяє поєднати переваги двох перших варіантів:
    • повний контроль над SCADA системою;
    • не потрібно великого штату висококваліфікованих спеціалістів для розвитку системи, достатньо спеціалістів для її дистрибуції;
    • призводить до підвищення якості системи, за рахунок множинної зовнішньої експертизи та широти підтримуваних платформ;
    • дозволяє обирати платформу залежно від її переваг, а не тільки тому, що на ній працює SCADA система;
    • ну і інші: психологічні, економічні, моральні та юридичні переваги відкритих систем.

Для спільної реалізації третього варіанту і був заснований проект OpenSCADA!

2 Цілі проекту — реальність

Основними цілями, які переслідує проект, є:

  • відкритість — переважно GPL v.2;
  • масштабованість, гнучкість, розширюваність — модульність, багатопотоковість та внутрішня динамічність;
  • виконавча надмірність — резервування;
  • доступність — відкриті вихідні тексти; багатомовність; динамічна багатомовність; автоматичне складання архівів, пакетів, живих дисків, ...; складання та виконання на Linux оточеннях у широкому віковому діапазоні, від 2002 року по сучасні;
  • надійність — практичні застосування, швидке вирішення проблем;
  • безпечність — розподіл прав, SSL;
  • багато-платформеність — x86_32, x86_64, ARM, Web, Android, QNX;
  • єдиний, уніфікований, зручний, динамічний та розвинутий інтерфейс користувача — Qt, Web, прозоре та багаторівневе віддалене динамічне керування;
  • широке коло джерел даних — уніфіковані, плати збору даних та низькорівневі шини, створені у оточені OpenSCADA.

3 Політика розробки, ліцензія

У якості політики реалізації даного проекту обрано "OPEN SOURCE" принципи розробки ПЗ. Така політика дозволяє залучити до розробки, тестування, розвитку, розповсюдження та використання продукту значну кількість розробників, ентузіастів та інших зацікавлених осіб при мінімальних фінансових витратах. Програма розповсюджується на умовах ліцензії GNU GPL v2.

4 Галузі застосування

OpenSCADA призначена для виконання як звичайних функцій SCADA систем або телемеханіки, так і для використання у суміжних галузях інформаційних технологій:

Із деякими обмеженнями та корекціями, переважно у внутрішньому оточені, OpenSCADA може бути використана у галузях:

  • керування ресурсами підприємства (ERP);
  • Geo-локація та відстеження положення;
  • торговельні системи;
  • медичні діагностичні системи;
  • бухгалтерський облік;
  • білінгові системи.

Відтак, ми можемо з впевненістю називати OpenSCADA, як — система роботи з даними у реальному часі.

У якості базової (хостової) операційної системи (ОС) для розробки та використання обрано ОС Linux, яка є стандартною POSIX сумісною ОС. Окрім того, ОС Linux є оптимальним рішенням у питаннях:

  • надійності;
  • безпечності;
  • гнучкості/масштабованості;
  • доступності;
  • популярності та поширеності.

Оскільки OpenSCADA розробляється на стандартній POSIX ОС, за принципами підтримки багатьох платформ, то її адаптація на інші ОС не складе проблеми.

Актуальну та детальну функціональність OpenSCADA Ви можете подивитися на сторінці функцій.

5 Архітектура

Серцем програми є модульне ядро.

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

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

Архітектурно, OpenSCADA складається з підсистем:

  • Безпека — містить списки користувачів та груп користувачів, забезпечує перевірку прав для доступу до елементів програми і т.п.
  • Диспетчер модулів — забезпечує контроль за модулями.
  • Бази даних (модульна) — забезпечує доступ до баз даних.
  • Транспорти (модульна) — забезпечує комунікацію із зовнішнім середовищем за допомогою різноманітних комунікаційних інтерфейсів.
  • Транспортні протоколи (модульна) — тісно пов'язана з підсистемою транспортів та забезпечує підтримку різноманітних протоколів обміну з зовнішніми системами.
  • Збір даних (модульна). — забезпечує збір даних із зовнішніх джерел: контролерів (ПЛК), датчиків та інше. Окрім цього, підсистема може надавати середовище для створення генераторів даних: моделей, регуляторів, ... .
  • Архіви-Історія (модульна) — містить архіви-історію двох типів: архіви повідомлень та архіви значень. Метод архівації визначається алгоритмом, який закладено у модулі архівації.
  • Інтерфейси користувача (модульна) — містить функції інтерфейсів користувача.
  • Спеціальні (модульна) — містить функції, які не увійшли до інших підсистем. На цей час до цих функцій відносяться й функції тестування та бібліотеки статичних функцій користувацького API.

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

Модульне ядро OpenSCADA виконується у вигляді статичної та поділюваної бібліотек. Це дозволяє вбудовувати функції OpenSCADA до інших програм, а також створювати нові програми на основі модульного ядра OpenSCADA. Однак, модульне ядро є самодостатнім і може бути використано за допомогою простої пускальної програми.

Модулі OpenSCADA зберігаються в динамічних бібліотеках. Кожна динамічна бібліотека може містити декілька модулів різноманітних типів. Наповнення динамічних бібліотек модулями визначається функціональною зв'язаністю самих модулів. Динамічні бібліотеки допускають гарячу заміну, що дозволяє, у процесі роботи, виконувати поновлення модулів. Метод збереження коду модулів в динамічних бібліотеках є основним для OpenSCADA оскільки підтримується практично всіма сучасними ОС. Це не виключає можливості розробки інших методів збереження коду модулів та більшість модулів можуть бути вбудовані до бібліотеки ядра OpenSCADA, виключивши зовнішні файли цих модулів взагалі.

6 Розповсюдження

Оскільки цей проект вільний то користувач може вільно отримати вихідні тексти проекту для подальшого складання та використання. Готові до використання збірки та пакети програми наявні для більшості відомих дистрибутивів та оточень Linux на головному ресурсі проекту http://oscada.org.

7 Підтримка та послуги

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

8 Допомога проекту

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