|
||||||
|
Автор, лідер та головний розробник Роман Савоченко, на конференції, зачитав доповідь-анонс версії 0.9LTS проекту OpenSCADA. Сайт конференції: osdn.org.ua Нова стабільна версія є результатом шести років розробки, впровадження до різних рішень, стабілізації та експлуатації OpenSCADA у її робочій гілці. Та весь цей час продовжували випускатися оновлення до 0.8.0 LTS та що буде відбуватися для анонсованої 0.9 LTS. Основною метою релізу є надання оновленої та стабільної платформи побудови рішень комплексних систем автоматизації та інших суміжних рішень для співтовариства користувачів та розробників вільного програмного забезпечення. Також, реліз призначено стати актуальним та міцним підґрунтям у побудові комерційних рішень. Реліз OpenSCADA, відкритої SCADA(Supervisory control and data acquisition) системи, версії 0.9 є стабільним промисловим релізом тривалої підтримки (LTS). Основною метою релізу є надання оновленої та стабільної платформи побудови рішень комплексних систем автоматизації та інших суміжних рішень для співтовариства користувачів та розробників вільного програмного забезпечення. Також, реліз призначено стати актуальним та міцним підґрунтям у побудові комерційних рішень. Реліз є наступною версією стабільної гілки для якого, протягом тривалого часу, надається технічна підтримка від розробників та забезпечується випуск виправлень у вигляді публічних збірок для основних та стабільних оточень Linux, а також оперативних збірок для власників пакетів технічної підтримки. Життєвий цикл попереднього релізу 0.8.0 LTS припиняється його останнім поновленням, безпосередньо перед першими збірками пакетів 0.9 LTS. Саме на цій версії відбувся остаточний перехід на схему розробки Work/LTS, тобто, розробка здійснюється у межах робочої версії та на її основі періодично випускаються стабільні релізи, які, своєю чергою та паралельно розробці, оновлюються шляхом зворотнього портування сумісних змін із робочої версії. Ініціюючий перехід відбувся у 2013 році, коли поточною стабільною версію визнано 0.8.0 LTS, а робочою 0.9 Work. Наразі, стабільною версію стає анонсована 0.9 LTS, а робочою 1 Work. Загалом, нова стабільна версія є результатом шести років роботи з розробки, впровадження у різні рішення, стабілізації та експлуатації OpenSCADA у її робочій гілці, яка наразі випускається поточною стабільною. Весь цей час оновлення для 0.8.0 LTS продовжували випускатися та що буде здійснюватися для анонсованої 0.9 LTS. Цей документ є узагальненням протоколу змін (ChangeLog), починаючи з нульової ревізії попередньої LTS версії, через її оновлення та закінчуючи поточною. Документ покликано коротко та наочно освітлити нові можливості OpenSCADA. Детально ознайомитися зі змінами можна у файлі "ChangeLog" дистрибутивних пакетів або із першоджерела: oscada.org/svn/tags/openscada_0.9/ChangeLog. 1.1 Загальна інформаціяПроект OpenSCADA засновано Савоченко Романом у 2003 році як вільну реалізація Системи Диспетчерського Контролю та Збору Даних (SCADA) або Людино Машинний Інтерфейс (HMI), на основі її ґрунтовного проектування протягом 2002 року та досвіду використання і розробки комерційної SCADA-системи до цього. SCADA або HMI системи загалом призначені та використовуються для здійснення людиною оперативного контролю за роботою складного та відповідального технологічного обладнання та процесів різноманітних виробничих підприємств. На час анонсу 0.9 LTS, OpenSCADA є розвиненою SCADA/HMI системою, яка доволі широко застосовується як за прямим призначенням, так, завдяки своїй гнучкості, і у багатьох суміжних галузях, та яка із впевненістю може називатися більш загально — динамічна система роботи із даними реального часу. Номер стабільної версії OpenSCADA менше за одиницю тільки через те, що її метою була заявлена багатоплатформність, досягти якої у запланованому об'ємі планується наступним стабільним релізом з номером 1. Загалом, цілями OpenSCADA є:
1.2 ЗастосуванняДо актуальних галузей застосування, де відоме хоча-б одне впровадження та із коротким переліком яких від учасників проекту можна ознайомитися за цим посиланням, відносяться:
Із деякими обмеженнями та доробками, значним чином у внутрішньому оточенні користувача, OpenSCADA може використовуватися й у таких галузях:
2 Результати попереднього релізу 0.8.0 LTSРеліз 0.8.0 LTS випущено у квітні 2012 року та протягом цих шести років він отримав 20 оновлень, якими, загалом, виправлено більше 500 помилок та додано багато вдосконалень, які не порушують сумісності бібліотечних БД та конфігурації. Конфігурація та бібліотечні БД 0.8.0 LTS були загалом заморожені, через великі несумісні зміни у 0.9 Work, для методів запуску OpenSCADA, та недосконалість розповсюдження бібліотечних БД на момент випуску 0.8.0 LTS. Тому, оновлення та перехід на версію 0.9 LTS буде нетривіальним, хоча у 0.9 LTS передбачено все можливе для спрощення цієї процедури. Оновлення-же 0.9 LTS до запланованої у майбутньому 1 LTS вже не буде таким складним і фактично може перетворитися виключно у формальну зміну версії робочої гілки, оскільки тепер планується оновлення всього, включно з бібліотечними БД. 3 Планові завдання релізуРозвиток OpenSCADA, після попередньої LTS версії та у межах робочої гілки, переважно здійснювався шляхом глибокої стабілізації та через практичну адаптацію з елементами розширення існуючого функціоналу, націлені на надання стабільного та надійного оточення автоматизації промислових та суміжних завдань, а відтак і не існувало чітко визначеного плану. Та за три роки до цього релізу такий план з'явився і склав наступні завдання, що видно із загального плану розвитку:
Ці завдання виконано та деякі деталі щодо них наведено далі. 4 Загальносистемні властивостіНова стабільна версія OpenSCADA отримала помітні загальносистемні розширення, набула більшої стабільності у роботі та збільшення продуктивності, а також отримала помітні удосконалення графічного інтерфейсу та оточення довкола неї на кшталт: розширеного налаштування, документації, доступної прямо з програми (offline та online), та яку значним чином переглянуто і актуалізовано. Основну частину документації проекту перенесено на нову Wiki, на основі MediaWiki, та значний об'єм цієї частини було відревізовано та перекладено на три мови — Англійська, Українська, Російська. Для перенесення було створено процедуру конвертації статей з діалекту рушія WackoWiki на MediaWiki, яку було повністю написано на внутрішній мові OpenSCADA та яку повсякчасно використано для переносу великого об'єму старої Wiki. Формат автономної (offline) документації було змінено зі статичних PDF-файлів, які не оновлювалися після попередньої LTS версії, на HTML-файли, які динамічно генеруються з актуальної бази знань проекту (Wiki), а також мають актуальні крос-посилання між сторінками та посилання на online-документацію, для виключно зовнішніх матеріалів. Генерація offline-документації також здійснюється спеціально написаною процедурою на внутрішній мові OpenSCADA, що, разом із процедурою конвертації Wiki-діалекту та комплексного тестування релізу OpenSCADA, є яскравою ознакою потужності та поточного рівня розвиненості внутрішньої мови OpenSCADA. У межах старої Wiki, після випуску 0.8.0 LTS було додано та оновлено деякі документи, а з перенесенням на нову Wiki, окрім ревізії та перекладу основної частини документації, було здійснено загальну уніфікацію її структури з міркувань: багатомовності (Англійської як первинної мови), логічності організації, зручності перекладу та можливості прибрати дублювання статей з офіційним сайтом, які на разі просто використовуються із Wiki. Окремо відзначимо значно-розширені головні документи:
Первинну мову (Англійську) було повністю відревізовано у оригінальних повідомленнях програми та багато у основних статтях документації-Wiki OpenSCADA, що наразі робить OpenSCADA адекватно сприятливою для аудиторії, що не розуміє вихідних мов — Української або Російської. Та, разом із реалізація у повному обсязі механізму динамічного перекладу, робить можливим побудову на основі OpenSCADA динамічно багатомовних інтерфейсів користувача, що Ви можете, зокрема, побачити на публічно доступному Web-інтерфейсі динамічних моделей ТП: АГЛКС, Котел. Робочою версією, у основі цієї стабільної, вперше було визначено поняття проекту OpenSCADA та реалізовано сценарій командного рядку для запуску та створення проектів OpenSCADA. Безпосередньо перед випуском цієї версії, поняття проекту OpenSCADA було остаточно закріплено за текою з даними окремого проекту та конфігураційним файлом OpenSCADA, а реалізацію менеджеру проекту було інтегровано безпосередньо у OpenSCADA. Відтак, ця LTS версія має розвинуте поняття менеджеру проектів, що дозволяє гнучко з ними працювати та виключити небезпечну можливість багаторазового запуску із загальними даними одного проекту. Робочою версією, також, запроваджено зміну версій модулів за змінами у коді модуля та безпосередньо перед їх вивантаженням до репозиторію вихідних текстів, а відтак, версії модулів OpenSCADA цього релізу наочно відзеркалюють загальний рівень їх розвинутості та стабільності. У процесі здійснення робіт над робочою гілкою, у основі цієї стабільної, було запроваджено формування репозиторіїв пакетів дистрибутивів Linux зі збірками OpenSCADA, які до цього надавалися лише як окремі пакети. Що помітно спростило розгортання OpenSCADA та утримання її актуальною. Потім було створено автоматичний складальник цих пакетів, який наразі нараховує до 100 цілей, та що значно спростило випуск оновлень як для робочої гілки так і для цієї стабільної. Відтак, до цієї LTS версії надаються збірки пакетів для основних оточень Linux та всю історію публічних оновлень буде збережено. До пакетів збірок OpenSCADA надаються також і збірки живих дисків швидкого ознайомлення та розгортання OpenSCADA разом із системним оточенням. Які до цього моменту отримали формальне підґрунтя у вигляді Linux дистрибутиву автоматизації проекту OpenSCADA. Збірки та пакети OpenSCADA супроводжуються низкою відкритого та вільного матеріалу внутрішнього оточення програми, а саме, це: напрацювання шару збору та обробки даних, елементи графічного представлення та цілі-комплексні проекти моделей ТП. Ці матеріали надаються у вигляді файлів БД SQLite та включають:
Хостінг проекту загалом та матеріалів 0.9 LTS зокрема, було перенесено на власний сервер проекту, де додатково було розгорнуто: демонстраційні Web-інтерфейси моделей OpenSCADA, проект моніторингу серверу та розумного будинку на основі OpenSCADA та складальник пакетів репозиторію OpenSCADA. 4.1 ВнутрішніРоздільну здатність внутрішніх даних цілого типу оточення OpenSCADA збільшено до 64 розрядів. Загалом-же, внутрішні дані OpenSCADA, з резервуванням значення помилки (EVAL) для кожного, уніфіковано загальними типами: логічне, ціле, реальне, рядок та об'єкт. Що в першу чергу стосується джерел даних. До ядра OpenSCADA, власного протоколу та всіх вузлів що працюють з віддаленими станціями OpenSCADA; додано можливість "підняття" вузлів OpenSCADA, що знаходяться за іншими вузлами та, як правило, у іншій мережі. Що загалом дозволяє централізовано керувати мережею станцій OpenSCADA на будь-якому рівні ієрархії. 4.2 Вдосконалення та адаптація до різних платформЦя версія OpenSCADA набула поглибленої підтримки та здібності до адаптації до різноманітних платформ. Це переважно сталося завдяки адаптації до роботи на програмній платформі Android та відновлення збірки і роботи з ucLibC, та що планується використати у подальшій адаптації до роботи на програмних платформах QNX та MS Windows. Роботу на одноплатних ПК було розширено платами Raspberry Pi та Orange Pi. Підтримку Linux смартфорнів Nokia доповнено останнім, заснованим на MeeGo 1.2, це — Nokia N9. Або це було оновлення підтримки Nokia N950. Окрім безпосередньої роботи (нативно) на різних платформах, було значно розширено Web-інтерфейс, який наразі реалізує всі загальні можливості концепції середовища візуалізації та управління (СВУ). 4.3 Оптимізація, стабілізація та продуктивністьЗначної стабілізації ядра OpenSCADA, та програми загалом, досягнуто через уніфікацію контролю внутрішніх ресурсів та розширення можливостей налагодження користувачем. Загалом, користувацьку діагностику та налагодження розширено:
Глибокої та всебічної стабілізації притерпіли майже всі модулі OpenSCADA та багато було оптимізовано, з яких особливо треба відзначити:
Надійність резервованої станції у масштабі комплексного рішення, точніше збереження даних історії, було вдосконалено розширенням механізму резервування, який потенційно передбачає резервування будь-якої підсистеми та реалізує наразі резервування підсистем "Збір даних" та "Архіви-Історія". Та, для програми загалом, було виконано низку формальних всебічних тестів, які було попередньо розширено у внутрішній процедурі комплексного тестування релізу OpenSCADA. За підсумком цих тестів було виявлено декілька помилок, які виправлено. 4.4 Збір данихВраховуючи ключову роль збору даних у програмах такого роду, ця функція, у особі підсистеми "Збір даних" та її модулів, отримала значні вдосконалення, з яких особливо треба відзначити: зміщення акценту у розширені підтримуваних джерел даних з реалізації окремих модулів підсистеми "Збір даних" на системній мові "C/C++", на їх реалізацію у оточені OpenSCADA та на її внутрішній мові — логічний рівень OpenSCADA. Тобто, на логічному рівні OpenSCADA, може та реалізується все, що: для доступу до даних використовує мережу, не потребує використання специфічних бібліотек та функцій та не є дуже складним. Наразі, таким чином реалізовано:
Враховуючи збільшення ролі логічного рівня OpenSCADA, зросли і вимоги до гнучкості моделі даних джерела даних та загалом, що було задоволено:
Внутрішня мова програмування OpenSCADA набула значних удосконалень та, наразі, задовольняє всім вимогам галузей застосування OpenSCADA. Багато з цих удосконалень потрапили до попередньої версії 0.8.0 LTS, та низка не могла туди потрапити через порушення зворотньої сумісності або недостатньої стабільності на той час. З цих, суттєвих вдосконалень, треба ще раз відзначити: збільшення роздільної здатності даних внутрішнього оточення OpenSCADA цілого типу до 64 розрядів та збереження контексту виконання внутрішніх процедур. 4.5 Графічне оточенняЗагалом, графічне оточення отримало значний розвиток та головним з них стало розширення модуля запуску Qt-інтерфейсу, як підґрунтя для решти локальних. В першу чергу, цей модуль та ядро OpenSCADA адаптовано для можливості запуску бібліотеки графічного середовища Qt у основному потоці програми, що виключило багато проблем, пов'язаних із виконанням у неголовному потоці, а також забезпечено роботу з версією 5 цієї бібліотеки. По друге, цей модуль взяв на себе роль інтерфейсу обрання проектів OpenSCADA при її запуску та перемиканні, а також створення нових. І по трете, через його первинність до запуску Qt, він отримав функцію керування виглядом програми незалежно від графічного оточення та можливість його запуску-закриття у системний лоток. Що загалом зробило можливим налаштування OpenSCADA під персональні вимоги користувача та адаптовувати її до дуже специфічних оточень на кшталт Android. Помітних удосконалень отримали модулі конфігурації Qt та Web, де особливо треба відзначити:
Помітних вдосконалень також отримало середовище візуалізації та управління (СВУ), у складі всіх його модулів:
Всі Web-модулі, загалом, набули можливість зміни вигляду за посередництва тем, через загальносистемні інтерфейси модуля протоколу HTTP та його механізми обробки запитів і формування відповідей. Також, всі вони отримали підтримку динамічного перекладу інтерфейсу, що особливо актуально для багатокористувацьких Web-інтерфейсів та з чим Ви можете ознайомитися на демонстраційних Web-інтерфейсах моделей OpenSCADA: АГЛКС, Котел. Додано також механізм розподілу доступу до сторінок, який, зокрема, дозволяє розмежувати доступ до Web-модулів загалом. 5 Нові та значно оновлені модуліУ новій версії було додано нові модулі та значним чином оновлено низку чинних:
6 ВисновкиНа шляху до нового релізу 0.9 LTS промислового призначення здійснено велику роботу по стабілізації, розширенню функціональних можливостей, а також розширенню адаптаційних можливостей до роботи на альтернативних платформах. Все це загалом ще більше розширило межі повноцінного застосування OpenSCADA на всіх рівнях систем промислової автоматизації та суміжних напрямків автоматизації та автоматики. LTS версії OpenSCADA не є порожнім звуком, вони реально підтримуються весь час, до наступної LTS версії, та підтримку цієї версії ще буде розширено сервісними оновленнями. Також, буде здійснено зміщення акценту та політики впровадження LTS версії, яка до цього рекомендувалась до оновлення конфігурацій із замороженими бібліотечними БД, на пріоритет у використанні на широкому спектрі нових рішень. У появі нової промислової версії OpenSCADA 0.9 LTS прийняли участь:
Подальші зусилля розробки буде спрямовано на:
|
|||||
УКРАЇНА, Кам'янське 2004-2006, 2006-2024 Розроблений Савоченко Романом (roman at oscada.org). Сайт працює під керуванням CMS TYPO3. |
||||||