<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		
		<title>oscada.org: Latest News</title>
		<link>http://www.oscada.org/</link>
		<description>Latest news from oscada.org</description>
		<language>en</language>
		<image>
			<title>oscada.org: Latest News</title>
			<url>http://www.oscada.org/fileadmin/tt_news_article.gif</url>
			<link>http://www.oscada.org/</link>
			<width></width>
			<height></height>
			<description>Latest news from oscada.org</description>
		</image>
		<generator>TYPO3 - get.content.right</generator>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		
		
		
		<lastBuildDate>Thu, 08 Dec 2011 17:07:00 +0200</lastBuildDate>
		
		
		<item>
			<title>OpenSCADA взяла участь у виставці в рамках Qt Developer Days 2011 в Мюнхені та Сан-Франциско</title>
			<link>http://qt.nokia.com/qtdevdays2011</link>
			<description>Наступні рішення були представлені:

Динамічна модель парового котла № 9 ДМК на ПК
Динамічна...</description>
			<content:encoded><![CDATA[]]></content:encoded>
			<category>Новина</category>
			<category>Публікація</category>
			
			
			<pubDate>Thu, 08 Dec 2011 17:07:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title>Реліз OpenSCADA 0.7.2</title>
			<link>http://www.oscada.org/ua/novini/odinochna-storinka/article//release-of-openscada-072//ded151a6aece0a949762b02d431447f8/</link>
			<description>Основною метою цього релізу є стабілізація та опрацювання ключових функцій перед випуском наступної...</description>
			<content:encoded><![CDATA[<p class="indent10">&nbsp;</p><div style="text-align: center; "><h1 style="margin: 0px; padding: 2px 0px 7px; font-family: Verdana; font-size: 23px; line-height: 25px; color: rgb(51, 51, 51); ">OpenSCADA 0.7.2 </h1></div><h2>Вступ</h2>
<p id="p26212-3" class="indent10 auto align-justify"> Цей реліз є плановим випуском робочої версії системи OpenSCADA, який за  звичай здійснюється з періодичністю 3-4 місяці. Основною метою цього  релізу є стабілізація та опрацювання ключових функцій перед випуском  наступної версії OpenSCADA тривалої підтримки (LTS) 0.8.0. Крім основних  задач у межах цього релізу здійснено велику роботу зі стабілізації,  чистки вихідного коду, всебічного розширення можливостей, а також  опробування на вбудованих пристроях архітектури ARM.</p>
<p id="p26212-4" class="indent10 auto align-justify"> Цей документ є обробкою(компіляцією) документа &quot;ChangeLog&quot; системи  OpenSCADA версії 0.7.2, який призначено коротко та наочно освітлити нові  можливості. Детальніше ознайомитися із змінами у системі OpenSCADA  можна у файлі &quot;ChangeLog&quot; із дистрибутиву системи або тут: <a href="http://wiki.oscada.org/Works/ChangeLog" target="_blank" class="outerlink" >http://wiki.oscada.org/Works/ChangeLog</a> (RU).</p>
<p id="p26212-5" class="auto indent10"> Ключовими особливостями цієї версії є:</p><ul><li> Реалізація планових завдань. </li><li> Оптимізація, підвищення стабільності, стійкості та продуктивності системи. </li><li> Удосконалення та стабілізація графічної підсистеми. </li><li> Розширення API користувацького програмування. </li><li> Загальносистемні розширення. </li><li> Публікація рішень OpenSCADA.</li></ul><p id="p26212-6" class="auto indent10"> Нові та оновлені модулі:</p><ul><li> <em>Archive.DBArch (0.9.5)</em> — Додано ліміти запиту даних за часом запиту та ще деякі розширення. </li><li> <em>Archive.FSArch (1.5.0)</em> — Підвищено продуктивність  читання індексів файлів архівів значень. Адаптація збереження та читання  реального типу даних до ARM FPA. Додано ліміти запиту даних за часом  запиту. Деякі розширення. Значна стабілізація. </li><li> <em>DB.FireBird (0.9.7)</em> — Стабілізація. </li><li> <em>DB.MySQL (1.7.1)</em> — Стабілізація. </li><li> <em>DB.PostgreSQL (0.9.2)</em> — Стабілізація. </li><li> <em>DB.SQLite (1.6.4)</em> — Стабілізація. </li><li> <em>DAQ.BFN (0.5.1)</em> — Очистка коду. </li><li> <em>DAQ.BlockCalc (1.5.0)</em> — Додано планування викликів за CRON. Додано запускаючий та зупиняючий виклик блоків. Стабілізація. </li><li> <em>DAQ.DAQGate (0.9.5)</em> — Додано планування викликів за CRON. Стабілізація. </li><li> <em>DAQ.DCON (0.5.1)</em> — Стабілізація. </li><li> <em>DAQ.DiamondBoards (1.2.5)</em> — Додано можливість зміни типу параметра. Стабілізація. </li><li> <em>DAQ.ICP_DAS (0.8.0)</em> — Додано бібліотеку API &quot;ICP DAS&quot; libi8k.a для архітектури ARM та включено можливість збірки модуля для ARM. Стабілізація. </li><li> <em>DAQ.JavaLikeCalc (1.9.5)</em> — Додано прямий, динамічний,  виклик бібліотечних функцій. Додано пряме об'єднання строкових  констант. Додано умовний виклик аргументів виразу (другого аргументу) з  логічними операціями ||(OR) та &amp;&amp;(AND). Значна стабілізація.  Деякі розширення. </li><li> <em>DAQ.LogicLev (1.2.0)</em> — Стабілізація. Додано можливість зміни типу параметра. Додано планування викликів за CRON. Деякі розширення. </li><li> <em>DAQ.ModBus (1.2.0)</em> — Додано підтримку типу параметра  &quot;Логічний&quot; для роботи за шаблоном параметра, а також функції  користувацького API для надсилання довільних-нестандартних  ModBus-запитів із шаблонів. Додано та використано функцію формування  повідомлень про порушення у контролері. Додано підтримку функцій  групового запису (0x0F, 0x10). Значна стабілізація. </li><li> <em>DAQ.OPC_UA (0.6.2)</em> — Стабілізація. Адаптація збереження та читання реального типу даних до ARM FPA. </li><li> <em>DAQ.SNMP (0.6.1)</em> — Стабілізація. Деякі удосконалення.  </li><li> <em>DAQ.Siemens (1.3.0)</em> — Значна стабілізація. Версія  бібліотеки LibnoDave оновлено до 0.8.4.6. Додано планування викликів за  CRON. Додано функцію перепідключення для &quot;Industrial Ethernet&quot; з'єднань.  Деякі розширення. </li><li> <em>DAQ.System (1.7.5)</em> — Стабілізація. Додано планування викликів за CRON. </li><li> <em>Transport.SSL (1.0.0)</em> — Стабілізація. Деякі удосконалення. </li><li> <em>Transport.Serial (0.7.3)</em> — Стабілізація. </li><li> <em>Transport.Sockets (1.5.0)</em> — Значна стабілізація. </li><li> <em>Protocol.HTTP (1.6.0)</em> — Додано підтримку  користувацьких шаблонів для внутрішнього вмісту модуля. Додано генерацію  повідомлень автентифікації користувачів. Додано підтримку всіх основних  варіантів завершення рядка при розборі HTTP-запитів. </li><li> <em>Protocol.ModBus (0.6.3)</em> — Стабілізація. Деякі удосконалення. </li><li> <em>Protocol.OPC_UA (0.6.2)</em> — Стабілізація. </li><li> <em>Protocol.SelfSystem (0.9.5)</em> — Стабілізація. </li><li> <em>Protocol.UserProtocol (0.6.2)</em> — Стабілізація. </li><li> <em>Special.FLibComplex1 (1.1.0)</em> — Додано прямий, динамічний виклик бібліотечних функцій. </li><li> <em>Special.FLibMath (0.6.0)</em> — Додано прямий, динамічний виклик бібліотечних функцій. </li><li> <em>Special.FLibSYS (1.0.0)</em> — Додано прямий, динамічний виклик бібліотечних функцій. </li><li> <em>UI.QTCfg (2.1.0)</em> — Стабілізація. Значні розширення та удосконалення. Реалізація низки функцій для підвищення зручності. </li><li> <em>UI.QTStarter (1.6.2)</em> — Стабілізація. Шрифт повідомлень у &quot;сплещі&quot; зафіксовано у розмірі 10 пікселів, для забезпечення одноманітного відображення. </li><li> <em>UI.VCAEngine (1.2.0)</em> — Стабілізація. Значні розширення та удосконалення. </li><li> <em>UI.Vision (1.2.0)</em> — Значна стабілізація. Значні розширення та удосконалення. </li><li> <em>UI.WebCfg (1.5.6)</em> — Стабілізація. </li><li> <em>UI.WebCfgD (0.8.0)</em> — Стабілізація. Значні розширення та удосконалення. </li><li> <em>UI.WebUser (0.6.2)</em> — Стабілізація. </li><li> <em>UI.WebVision (1.0.0)</em> — Значна стабілізація. Значні розширення та удосконалення.</li></ul><p class="bodytext"> <a name="h1085-3"></a></p>
<h2>1 Реалізація планових задач</h2>
<p id="p26212-7" class="auto indent10"> У відповідності із <a name=".homepageuk.works.roadmap" href="http://wiki.oscada.org/HomePageUk/Works/RoadMap?v=59r" title="Home&amp;nbsp;Page&amp;nbsp;Uk&amp;nbsp;/&amp;nbsp;Works&amp;nbsp;/&amp;nbsp;Road&amp;nbsp;Map">планом</a> релізу були виконані наступні задачі:</p><ul><li> <em>Реалізація механізму відміни змін редагування у Vision.</em>  — У межах вікна візуального редагування віджетів реалізовано  багаторівневий механізм відміни змін для всіх основних операцій:  візуальна зміна геометрії, зміна значення атрибуту віджета,  додання/видалення віджета, копіювання виджета та редагування віджетів на  основі примітиву &quot;ElFigure&quot;. </li><li> <em>Адаптація системи OpenSCADA для роботи на апаратній платформі ARM.</em> — Додатково до первинної адаптації, у минулому релізі, для планшету <a href="http://ru.wikipedia.org/wiki/Nokia_N800" target="_blank" class="outerlink" >N800</a> (<a href="http://wiki.oscada.org/Works/Tests/ARM" target="_blank" class="outerlink" >http://wiki.oscada.org/Works/Tests/ARM</a> ) було виконано збірку та адаптацію OpenSCADA для складного (дуже старого) програмного оточення контролера <a name=".using.lp5xxx" href="http://wiki.oscada.org/Using/LP5xxx?v=dsm" title="Using&amp;nbsp;/&amp;nbsp;LP&amp;nbsp;5&amp;nbsp;xxx">LP-5451</a>, а також збірка для контролеру <a href="http://segnetics.com/main.aspx?Page=412" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" />SMH2Gi</a> та смартфонів фірми <a href="http://ru.wikipedia.org/wiki/Nokia" target="_blank" class="outerlink" >Nokia</a>: <a href="http://ru.wikipedia.org/wiki/Nokia_N900" target="_blank" class="outerlink" >N900</a>, N950, <a href="http://ru.wikipedia.org/wiki/Nokia_N9" target="_blank" class="outerlink" >N9</a>. У межах збірки та адаптації на різні мобільні пристрої було виконано наступні задачі: <ul><li> <em>DAQ.ICP_DAS</em>:	Додано бібліотеку API &quot;ICP DAS&quot; libi8k.a для архітектури ARM та включено можливість збірки модуля для ARM. </li><li> <em>SYS, DAQ.OPC_UA</em>: Додано системні функції floatLE(),  floatLErev(), doubleLE(), doubleLErev() для перетворення формату  збереження реального числа на різних архітектур. </li><li> <em>SYS</em>: Виконано адаптацію для збірки з GLibC версії менш 2.5 (2.3.2). </li><li> <em>Archive.FSArch</em>: <ul><li> Виправлено збереження реального числа формату LE у архіві, на архітектурі ARM.  </li><li> У алгоритмі швидкого підрахунку кількості бітів використано функцію невирівняного читання TSYS::getUnalign32().  </li><li> Розмір поля кодування у плоскому архіві повідомлень розширено із 9 до 99 символів.</li></ul></li></ul></li></ul><p class="bodytext"> <a name="h1085-4"></a></p>
<h2>2 Оптимізація, підвищення стабільності, стійкості та продуктивності системи</h2>
<p id="p26212-8" class="indent10 auto align-justify"> У процесі робіт над цією версією, а також її практичної адаптації, було  виявлено та виправлено загалом біля 170 помилок. Також була продовжена  робота по очищенню кода від попереджувальних повідомлень компілятору, з  прапорцем &quot;-Wall&quot;.</p>
<p id="p26212-9" class="indent10 auto align-justify"> Перелічимо більш істотні помилки, виправлення яких значно відобразилося на підвищені стабільності:</p><ul><li> <em>SYS</em>: <ul><li> Виправлені позапланові виклики за розкладом, пов'язані із  розсинхронізацією значень функцій time() та  clock_gettime(CLOCK_REALTIME,&amp;sp_tm). </li><li> Виправлено перевірку та очікування потоків на доступність у випадку перекриття та зупинкою минулого, однойменного потоку. </li><li> Виключено очікування ініціалізації для відокремлюваних задач з  метою запобігання зависання на очікувані задач що швидко закриваються. </li><li> Виправлено роботу функцій невирівняного читання getUnalign*() на ARM. Проблему виявлено на PXA270. </li></ul></li><li> <em>Archive.FSArch</em>: <ul><li> Виправлено читання даних з буфера архіву у відповідності з розміром буфера у алгоритмі швидкого обчислення кількості бітів. </li><li> Виправлено розташування зміщення до кешу із алгоритму швидкого обчислення кількості бітів. </li><li> Виправлено некоректну обробку кінця невирівняних блоків швидкого алгоритму підрахунку кількості бітів. </li><li> Додано монопольний ресурс до виклику функції calcVlOff() з метою запобігання некоректної роботи з кешем. </li></ul></li><li> <em>Transport, DAQ.AMRDevs, DAQ.DCON, DAQ.ICP_DAS, DAQ.ModBus, DAQ.OPC_UA, Protocol.HTTP</em>: Виправлено використання функції TTransportOut::messIO() під час запиту хвоста та отримані нульової відповіді. </li><li> <em>DAQ.ModBus, Transport.Serial, UI.WebCfg, UI.WebCfgD, UI.WebUser, UI.WebVision</em>:  Виправлено помилкове використання символу завершення рядка '\n' для  багатьох програмних платформ UNIX, MAC, DOS/Windows, шляхом заміни  на&quot;\x0A&quot; . </li><li> <em>Transport.*</em>: Виправлено використання беззнакового  типу у повернені функцій read() та write(). Додано ресурси до  лічильників вхідних/вихідних запитів. </li><li> <em>Transport.Sockets</em>: Виправлено пропуск ініціалізації розміру повертального значення для функції getsockopt(). </li><li> <em>DAQ.JavaLikeCalc</em>: Виправлено падіння функції replace(), об'єкту &quot;RegExp&quot;. </li><li> <em>DAQ.Siemens</em>: Виправлено отримання та запис значень  реальних типів. Виправлено перепідключення у випадку помилки. Виправлено  використання властивості розміру цілого, реального та строкового типів.  Додано очистку зв'язків параметру при його виключені. </li><li> <em>UI.Vision, UI.WebVision</em>: Виправлено доступ за межі вектору під час відображення графіків примітиву &quot;FormEls&quot;. </li><li> <em>UI.VCAEngine</em>: Виключено можливість втрати змін у  сервері візуалізації під час відображення у візуалізаторах шляхом  попереднього збереження значення тактового лічильника у сервісному  запиті &quot;openList&quot;. </li><li> <em>UI.WebVision</em>: <ul><li> Виправлено відкриття та заміна кореневої сторінки. </li><li> Виправлена обробка масштабу вкладених сторінок, з урахуванням масштабу кореневої.</li></ul></li></ul><p id="p26212-10" class="auto indent10"> Оптимізація та підвищення продуктивності:</p><ul><li> <em>SYS</em>:  Механізм ресурсу об'єкту &quot;ResString&quot; замінено з RW-блокувань на мютекс, з  метою підвищити продуктивність та скоротити споживання пам'яті. </li><li> <em>Archive.FSArch</em>: Обробку індексної таблиці архіву  значень значно прискорено завдяки використанню швидкого алгоритму  обчислення кількості бітів у 32-разрядному цілому. </li><li> <em>UI.WebCfgD</em>: Використано груповий запит вмісту сторінок для значного підвищення продуктивності на повільних та високолатентних каналах. </li><li> <em>UI.Vision</em>: Підвищено продуктивність відтворення заповнень примітиву &quot;ElFigure&quot;. </li><li> <em>UI.VCAEngine</em>: <ul><li> Виконано заходи по підвищенню швидкості запуску сеансу проекту в  числі: пропущено ініціалізацію базових атрибутів у зв'язку з їх  наступного успадкування. </li><li> Виключено переклади деяких повідомлень часу виконання сеансу. </li><li> Реалізовано включення тільки потрібних сторінок під час  запуску сеансу. Інші сторінки виконуваного сеансу включаються під час  звернення до них. Це дозволило значно підвищити швидкість запуску  сеансу, а також зменшити залежність швидкості запуску від складності  проекту візуалізації. </li><li> Реалізацію архівного режиму примітиву &quot;Документ&quot; змінено на  пряму роботу з БД, що дозволило розширити глибину архіву до 1000000  документів без значного впливу на споживання оперативної пам'яті.</li></ul></li></ul><p class="bodytext"> <a name="h1085-5"></a></p>
<h2>3 Удосконалення та стабілізація графічної підсистеми</h2>
<p id="p26212-11" class="indent10 auto align-justify"> Значну роботу була виконано у межах графічної підсистеми, а саме у  модулях рушія СВК UI.VCAEngine, візуалізаторів UI.Vision та  UI.WebVision, а також конфігураторах. Внесені зміни були направлені на  стабілізацію, оптимізацію споживання пам'яті та покращення  користувацьких властивостей.</p>
<p id="p26212-12" class="auto indent10"> Покращення графічної підсистеми:</p><ul><li> <em>UI.VCAEngine, UI.Vision, UI.WebVision</em>: <ul><li> Виправлено звернення за межі масиву (вектору) під час побудови трендів, примітиву &quot;Діаграма&quot;. </li><li> Додано та реалізовано властивість ширини графіку, примітиву &quot;Діаграма&quot;.  </li><li> Додано періодичну перевірку дерева віджетів сторінки з метою  виявлення факту видалення віджетів, шляхом запиту повного переліку  віджетів. </li><li> Реалізовано відображення графіків, групи графіків примітиву  &quot;Діаграма&quot; у шкалі значення у випадку різниці шкал всіх графіків не  більш ніж на 20%.  </li><li> Додано та реалізовано можливість обрання режиму підтвердження  для елементів редагування рядка та тексту примітиву &quot;Елементи форми&quot;. </li><li> Виправлено можливість втрати деяких змін у моделі, під час відображення їх у візуалізаторах. </li><li> Додано та реалізовано властивість кількості значень на піксел у  графіках примітиву &quot;Діаграма&quot;, з метою керування деталізацією експорту у  CSV та інше. </li><li> Реалізовано логарифмічну шкалу значень для графіків примітиву &quot;Діаграма&quot;. </li><li> Додано та реалізовано властивість збереження співвідношення  сторін головної сторінки під час розгортання головного вікна виконання  сеансу проекту. </li></ul></li><li> <em>UI.VCAEngine</em>: <ul><li> Реалізовано включення сторінок сеансу проекту за потребою, з  метою підвищення швидкості запуску та оптимізації використання  оперативної пам'яті.  </li><li> Примітив &quot;Документ&quot; перероблено для ведення архівів, архівного  режиму, повністю у БД, а також додано функцію користувацького API для  доступу до елементів архіву. </li><li> Додано періодичну (30 хвилин) перевірку та закриття вже невикористаних (втрачених) сеансів проектів. </li><li> Видалено попередній (суперечливий) механізм відміни видалення  вкладених віджетів та заміщено повноцінним механізмом відкатів у  візуалізаторі <em>UI.Vision</em>.  </li><li> Виконано оптимізацію використання пам'яті елементами сеансу до 20%.  </li><li> Видалено підтримку першої, застарілої, версії структури БД середовища візуалізації.  </li><li> Додано обмеження на час генерації документів у примітиві &quot;Документ&quot; у 5 секунд.  </li><li> Додано підтримку типу атрибутів &quot;Об'єкт&quot; та &quot;Текст&quot;. </li><li> Вимкнено примусову ініціалізацію нових користувацьких атрибутів у EVAL. </li><li> Примітив &quot;Документ&quot; переключено у режим повного розбору XML з метою повноцінного збереження розмітки XHTML. </li><li> Додано індикацію стану коректності посилань у вигляді &quot;(+)&quot; в кінці. </li></ul></li><li> <em>UI.Vision</em>: <ul><li> Додано реалізацію повноцінних відмін та повторів змін під час візуального редагування віджетів. </li><li> Покращення у чутливості та оновлені змін сеансу виконання  проекту: оптимізовано продуктивність відтворення примітиву &quot;ElFigure&quot;,  обробка зміни рівня віджету &quot;geomZ&quot;. </li><li> Додано експорт у CSV формат із примітивів &quot;Діаграма&quot; та &quot;Документ&quot;. </li><li> Введено обмеження на розмір діалогів вводу та включено адаптивне визначення їх розмірів за вмістом. </li><li> Повністю переписано механізм виконання правил підсвічування синтаксису.  </li><li> Додано створення нового сеансу після відновлення віддаленого підключення та відсутності попереднього сеансу. </li><li> Фон вікна редагування віджету встановлено у шаблон QT::Dense7Pattern з метою усунення можливості перекриття за кольором. </li><li> Додано обробку повідомлень вибору віджету під час натиску у області скролінгу, але за межами віджету. </li><li> Примітив &quot;Елементарна фігура&quot;:  <ul><li> Виконано реорганізацію операцій із діалогом властивостей та контекстне меню з динамічними та статичними властивостями. </li><li> У процесі додання фігури реалізовано її відтворення під час пересунення курсору миші. </li></ul></li></ul></li><li> <em>UI.WebVision</em>: <ul><li> Виправлено обробку масштабу вкладених кадрів, а також переглянуто механізм формування-включення скролу.  </li><li> Додано функцію перетворення зображень на боці серверу. Функцію  перетворення використано для зміни розміру та обезбарвлення зображень  неактивних кнопок. </li><li> Реалізовано відкриття малих вікон вкладених сторінок у вигляді  DIV-блоків, що вирішує проблему блокування та тривалого відкриття  зовнішніх вікон багатьма браузерами. </li><li> Головну сторінку інтерфейсу відцентровано у вікні браузера.  </li></ul></li><li> <em>UI.QTCfg</em>: <ul><li> Додано обмеження на висоту рядків таблиць у половину висоти таблиці.  </li><li> Введено обмеження на розмір діалогу вводу та включено адаптивне визначення його розміру за вмістом.  </li><li> У елементів доступних для зміни висоти користувачем, для  забезпечення роботи всюди, встановлено фіксований стиль &quot;StyledPanel&quot;.  </li><li> Додано функцію повнотекстового редагування тексту комірок таблиць.  </li><li> Повністю переписано механізм виконання правил підсвічування синтаксису.  </li></ul></li><li> <em>UI.WebCfgD</em>:  <ul><li> Зменшено яскравість обезбарвлених-пасивних кнопок. </li><li> Всі вікна діалогів реалізовано у вигляді DIV-блоків з метою  виключити проблеми та затримки при відкритті зовнішніх вікон  різноманітними браузерами. </li><li> Використано груповий запит вмісту сторінок для значного підвищення продуктивності на повільних та високолатентних каналах. </li><li> Додано інформацію у строку статусу про поточного користувача та можливість його зміни. </li><li> Виконано адаптацію для роботи у повну ширину екрану.</li></ul></li></ul><p class="bodytext"> <a name="h1085-6"></a></p>
<h2>4 Розширення API користувацького програмування</h2>
<p id="p26212-13" class="indent10 auto align-justify"> Було продовжено формування об'єктного API користувацького програмування,  яке передбачає інтеграцію користувацьких функцій до дерева об'єктів  системи OpenSCADA. Крім того було внесено низку змін у існуючі  бібліотеки функцій користувацького API.</p>
<p id="p26212-14" class="auto indent10"> Зокрема було здійснено наступні зміни:</p><ul><li> <em>SYS</em>: <ul><li> Додано функції роботи з файлами: SYS.fileRead() та SYS.fileWrite(). </li><li> До API об'єкту XMLNodeObj додано функцію getElementBy() для пошуку вкладених вузлів за значенням атрибуту. </li><li> Додано функцію здійснення кодування тексту між різними символьними кодуваннями. </li><li> Додано функцію NodeObj.nodePath(). </li></ul></li><li> <em>TConfig, TBD, TTransportIn, TTransportOut,  TUser, TGroup, TPrmTmplLib, TPrmTempl, TParamContr, TController,  TVArchive, TVArchivator, TMArchivator</em>: Додано функції користувацького API cfg() та cfgSet() для доступу до конфігурації об'єктів (які зберігаються у БД). </li><li> <em>DAQ</em>: <ul><li> Додано функцію TController::alarmSet() для генерації типових порушень у об'єкті контролеру модулів підсистеми &quot;Збір даних&quot;. </li><li> Додано функцію  SYS.DAQ[&quot;Modul&quot;][&quot;Controller&quot;][&quot;Parameter&quot;][&quot;Attribute&quot;].arch() для  прямого звернення до об'єкта архіву, пов'язаного з атрибутом параметра. </li><li> Додано функції користувацького API enable() та start() для прямого контролю за станом об'єкту контролера. </li></ul></li><li> <em>DAQ.JavaLikeCalc, Special.FLibComplex1, Special.FLibMath, Special.FLibSYS</em>: Додано функцію динамічного виклику бібліотечних функцій SYS.DAQ.JavaLikeCalc[&quot;lib_{Lib}&quot;].funcId(prms, ...). </li><li> <em>Archive</em>: Додано функції користувацького API status(),  end() та begin() для доступу до стану та властивостей об'єкту  архіватора повідомлень. </li><li> <em>DAQ.JavaLikeCalc</em>: <ul><li> Для типу даних &quot;null&quot; додано функцію isEVal(), яка завжди повертає &quot;true&quot;. </li><li> До об'єктів бібліотечних функцій додано функція користувацького API call(). </li></ul></li><li> <em>DAQ.ModBus</em>: Додано функцію користувацького  API messIO() до об'єкта контролеру &quot;ModBus&quot; з метою надання можливості  надсилання нестандартних ModBus-запитів безпосередньо із шаблона  параметра.</li></ul><p class="bodytext"> <a name="h1085-7"></a></p>
<h2>5 Загальносистемні розширення</h2>
<p id="p26212-15" class="indent10 auto align-justify"> До загальносистемного API системи OpenSCADA були внесені значні зміни та  розширення з метою загальної стабілізації та розширення:</p><ul><li> <em>SYS</em>:  <ul><li> Об'єкт зберігання рядка з ресурсом &quot;ResString&quot; значно розширено на предмет прозорого перетворення з/у тип std::string. </li><li> Додано можливість збереження до конфігураційного файлу: <ul><li> Додано префікс БД &quot;&lt;cfg&gt;&quot; для надання конфігураційного файлу у ролі джерела завантаження/збереження конфігурації. </li><li> Функції TDBS::dataSeek() та TDBS::dataDel() оновлено для суворої обробки конфігураційного файлу. </li><li> Функцію chkSelDB() адаптовано для підтримки запису до конфігураційного файлу. </li><li> Додано збереження великих та багаторядкових значень полів конфігурації у текстовому полі окремого тегу конфігураційного файлу. </li></ul></li><li> Тип &quot;long long&quot;, за звичай 64-рязрядне ціле замінено всюди на більш визначений &quot;int64_t&quot; на всіх архітектурах. </li><li> Об'єкти потоків OpenSCADA жорстко пов'язано з власним потоком. Додано статистику завантаження та викликів періодичних потоков. </li><li> Реалізовано можливість перевірки завантажуваних об'єктів на їх  відсутність у БД та видалення. Функція перевірки активується тільки у  випадку прямого завантаження із БД. </li><li> Додано системну періодичну функцію perSYSCall() виклику  об'єктів підсистем та їх модулів. Використовується для сервісних цілей  ненавантажених та рідких задач модулів та підсистем. </li><li> Функцію тестування виразу за шаблоном переміщено до об'єкту TRegExp. </li><li> <em>SYS.XMLNode</em>: <ul><li> Повністю видалено код використання XML-парсеру &quot;Expat&quot;. </li><li> Додано можливість завантаження текстових частин тегу у  окремі-спеціальні теги, у повному режимі. Призначено для повного  збереження конфігурації тегу. </li><li> Додано можливість завантаження та збереження блоків коментарів у окремі-спеціальні теги, у повному режимі. </li></ul></li></ul></li><li> <em>DOC</em>: <ul><li> Виконано перевірку та виправлення Англійських текстів у ядрі  OpenSCADA. Оновлено переклади ядра OpenSCADA на Німецьку, Російську та  Українську мови. </li><li> Виконано перевірку та виправлення Англійських текстів модулів  OpenSCADA. Оновлено переклади модулів OpenSCADA на Німецьку, Російську  та Українську мови. </li><li> Оновлені всі основні документи на доступних мовах:  openscada.pdf, build.pdf, properties.pdf, &quot;OpenSCADA API&quot;, &quot;Про  OpenSCADA&quot;, &quot;Бібліотека TechApp&quot;, &quot;Quick Start&quot;, &quot;WLib Основні&quot;, &quot;WLib  Елементи мнемосхем&quot;.  </li></ul></li><li> <em>Бази даних бібліотек</em>: <ul><li> Бібліотеку основних візуальних елементів доповнено кадрами  реалізації редагування та виконання &quot;Рецептів&quot;-&quot;Користувацьких програм&quot;. </li><li> До комплекту пакета бібліотек додано <a name=".using.graphicelementslibraries.electroelements" href="http://wiki.oscada.org/Using/GraphicElementsLibraries/ElectroElements?v=ywe" title="Using&amp;nbsp;/&amp;nbsp;Graphic&amp;nbsp;Elements&amp;nbsp;Libraries&amp;nbsp;/&amp;nbsp;Electro&amp;nbsp;Elements">бібліотеку елементів Електричних схем(RU)</a>.  </li><li> Кадр головної сторінки доповнено механізмом &quot;програвання&quot; моделей технологічних процесів (ТП). </li><li> Модель <a name=".using.modeldmkk9" href="http://wiki.oscada.org/Using/ModelDMKK9?v=yz3" title="Using&amp;nbsp;/&amp;nbsp;Model&amp;nbsp;DMKK&amp;nbsp;9">промислового котлоагрегату(RU)</a> перекладено на Англійську та Українську мови. </li></ul></li><li> <em>DB</em>: Додано обмеження за часом у 5 секунд та поле встановлення початкового зсуву для запиту вмісту великих таблиць. </li><li> <em>DAQ</em>: Додано можливість обрання типу атрибута шаблона  &quot;Об'єкт&quot;. Призначено в першу чергу для зберігання внутрішніх даних у  об'єкті та не може бути використано як тип атрибута параметра об'єкта  контролера джерела даних. </li><li> <em>TArchives</em>: Додано можливість використання регулярних виразів при пошуку за категорією та за посередництвом &quot;/match/&quot; </li><li> <em>Transport</em>: Типи форматів вихідних запитів розширені варіантами тексту з різним завершенням рядку: LF, CR, CR/LF. </li><li> <em>DAQ, DAQ.DiamondBoards, DAQ.ModBus, DAQ.LogicLev</em>: Додано можливість зміни типу параметра для виключених параметрів багатотипових модулів підсистеми &quot;Збір даних&quot;. </li><li> <em>DAQ.LogicLev, DAQ.Siemens, DAQ.ModBus</em>: У випадку  виконання за розкладом до атрибуту &quot;f_frq&quot; записується час після  останнього обчислення у негативному значені. Додано ініціюючі та  зупиняючі виклики при включені/виключені параметру. </li><li> <em>TArchives, Archive.DBArch, Archive.FSArch</em>: Додано межу часу під час запиту повідомлень із архіву. </li><li> <em>SYS.TConfig, Archives, DAQ, Security, Transports, Archive.*, DAQ.*, Protocol.UserProtocol, Transport.*, UI.VCAEngine, UI.WebUser</em>: Збереження строкових конфігураційних полів переведено у об'єкт ресурсної строки &quot;ResString&quot;.</li></ul><p class="bodytext"> <a name="h1085-8"></a></p>
<h2>6 Публікація рішень OpenSCADA</h2>
<p id="p26212-16" class="indent10 auto align-justify"> В процесі здійснення робіт над цим релізом на різних конференціях та  виставках були представлені рішення на основі проекта OpenSCADA:</p><ul><li> <a href="http://www.foss-sea.org.ua/" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" />FOSS Sea 2011</a>  — на конференції було зачитано доповідь про рішення на основі  OpenSCADA, а в холі було організовано міні-стенд з рішеннями на основі  OpenSCADA вживу. </li><li> <a href="http://www.hi-techexpo.com/" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" />Міжнародний інноваційний форум 2011</a>  — у складі стенду OOO НИП &quot;ДІЯ&quot; та Дніпродзержинського Державного  Університету (ДДТУ) було представлено обладнання та матеріали з  рішеннями на основі OpenSCADA. </li><li> <a href="http://conference.osdn.org.ua/" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" />10 Всеукраїнська Конференція розробників та користувачів вільного ПЗ</a>  — на конференції було зачитано доповідь про рішення на основі  OpenSCADA, а в холі було організовано міні-стенд з рішеннями на основі  OpenSCADA вживу. </li><li> Дні розробників QT <a href="http://qt.nokia.com/qtdevdays2011" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" />Qt Developer Days 2011</a>  у Мюнхені та Сан-Франциско: у межах цих заходів в Qt Demo Pavilion  відбулася демонстрація OpenSCADA за посередництвом представлення рішень <a href="http://wiki.oscada.org/Using/ModelDMKK9" target="_blank" class="outerlink" >Динамічна модель парового котла №9 ДМК</a> на ПК та <a href="http://wiki.oscada.org/Using/ModelAGLKS" target="_blank" class="outerlink" >Динамічна модель реального часу Анастасіївської ГЛКС</a> на Nokia N9.</li></ul><p class="bodytext"> <a name="h1085-9"></a></p>
<h2>Заключення</h2>
<p id="p26212-17" class="indent10 auto align-justify"> Цим релізом системи OpenSCADA фактично завершено роботу по адаптації на  апаратну архітектуру ARM, що відіб'ється у наданні та публікації  офіційних збірок релізу 0.7.2 для мобільних пристроїв.</p>
<p id="p26212-18" class="indent10 auto align-justify"> Хоча випуск даного релізу дещо запізнився та затягнувся його все ж було  ретельно підготовлено та він стане доброю основою для доведення кодової  бази проекту до майбутнього відповідального релізу 0.8.0 LTS. Крім того  цей релиз можна використовувати і для повсюдного впровадження та  застосування у відповідальних задачах з наступним плавним переходом на  0.8.0 LTS після його вихода.</p>
<p id="p26212-19" class="indent10 auto align-justify"> Подальші зусилля розробників будуть направлені на завершення планових  завдань та приготування до випуску реліза OpenSCADA тривалої підтримки  (LTS) версії 0.8.0.</p>]]></content:encoded>
			<category>Новина</category>
			<category>Реліз</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Mon, 05 Dec 2011 16:00:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title>Перший промисловий реліз OpenSCADA 0.7.0 LTS (оновлення 6)</title>
			<link>http://oscada.org/ua/golovna/relizi/odinochna-storinka/article//first-production-release-of-openscada-070</link>
			<description>Перша промислова версія призначена для повсюдної інтеграції до рішень автоматизації для платформ...</description>
			<content:encoded><![CDATA[<p class="indent10">&nbsp;</p><div style="text-align: center; "><h1 style="margin: 0px; padding: 2px 0px 7px; font-family: Verdana; font-size: 23px; line-height: 25px; color: rgb(51, 51, 51); ">OpenSCADA 0.7.0 LTS</h1></div><h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">Зміни</h2><ul style="margin: 0px 0px 5px; "><li>24.10.2010 - Промисловий реліз 0.7.0.</li><li>19.12.2010 - Перше&nbsp;планове&nbsp;оновлення&nbsp;промислового&nbsp;релізу. Виправлено біля&nbsp;30 помилок.</li><li>01.03.2011 - Друге планове&nbsp;оновлення&nbsp;промислового&nbsp;релізу. Виправлено більш 30 помилок.</li><li>09.05.2011 - Трете планове&nbsp;оновлення&nbsp;промислового&nbsp;релізу. Виправлено більш 30 помилок.</li><li>09.07.2011 - Четверте планове&nbsp;оновлення&nbsp;промислового&nbsp;релізу. Виправлено більш 15 помилок та додано деякі удосконалення.</li><li>12.10.2011 - П'яте планове&nbsp;оновлення&nbsp;промислового&nbsp;релізу. Виправлено більш 50 помилок та додано деякі удосконалення.</li></ul><h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">Вступ</h2>
<p id="p29849-3" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Реліз відкритої SCADA(Supervisory control and data acquisition) системи версіях 0.7.0 є першим стабільним-промисловим релізом, що пов'язано з завершенням стадії бета-тестування, розпочатої з версії 0.6.4.</p>
<p id="p29849-3" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Основною метою цього релізу є надання співтовариству користувачів та розробників вільного програмного забезпечення (ПЗ) платформи для побудови рішень комплексних систем автоматизації та інших суміжних рішень, а також надання комерційних послуг на основі проекту OpenSCADA.</p>
<p id="p29849-3" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Цей реліз є першим стабільним релізом, для якого надається технічна підтримка від розробників та для якого планується випуск виправлень протягом довгого проміжку часу.</p>
<p id="p29849-3" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Цей документ становить обробку(компіляцію) документа &quot;ChangeLog&quot; системи OpenSCADA версії 0.7.0, який прикликано коротко та наочно освітлити нові можливості системи OpenSCADA. Детально ознайомитися зі змінами у системі OpenSCADA можна у файлі &quot;ChangeLog&quot; з дистрибутиву системи або тут:&nbsp;<span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://wiki.oscada.org/Works/ChangeLog" target="_blank" class="outerlink" >http://wiki.oscada.org/Works/ChangeLog</a></span>.</p>
<p id="p29849-3" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Ключовими особливостями даної версії є:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Реалізація планових завдань.</li><li style="font-family: Verdana; font-size: 13px; ">Оптимізація, підвищення стабільності, стійкості та продуктивності системи.</li><li style="font-family: Verdana; font-size: 13px; ">Удосконалення та стабілізація СВК.</li><li style="font-family: Verdana; font-size: 13px; ">Формування та стабілізація API програмування користувача.</li><li style="font-family: Verdana; font-size: 13px; ">Загальносистемні розширення.</li><li style="font-family: Verdana; font-size: 13px; ">Значні покращення та виправлення окремих модулів.</li><li style="font-family: Verdana; font-size: 13px; ">Формування документації та перекладі документації і інтерфейсу.</li><li style="font-family: Verdana; font-size: 13px; ">Уніфікація демонстраційної БД.</li></ul><p id="p29849-8" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="auto indent10">&nbsp;</p>
<p id="p29849-8" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="auto indent10">Нові та оновлені модулі:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Archive.FSArch - 1.3.1 -&gt; 1.4.1, виправлення та покращення для підвищення продуктивності</li><li style="font-family: Verdana; font-size: 13px; ">Archive.DBArch - 0.9.0 -&gt; 0.9.2, виправлення та деякі покращення</li><li style="font-family: Verdana; font-size: 13px; ">DB.DBF - 2.0.1 -&gt; 2.0.2, виправлення</li><li style="font-family: Verdana; font-size: 13px; ">DB.MySQL - 1.6.1 -&gt; 1.6.2, деякі покращення</li><li style="font-family: Verdana; font-size: 13px; ">DB.SQLite - 1.6.1 -&gt; 1.6.2, покращення</li><li style="font-family: Verdana; font-size: 13px; ">DB.FireBird - 0.9.1 -&gt; 0.9.5, значні покращення</li><li style="font-family: Verdana; font-size: 13px; ">DB.PostgreSQL - 0.9.0, новий модуль</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.DiamondBoards - 1.2.0 -&gt; 1.2.1, адаптація до змін API</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.System - 1.7.0 -&gt; 1.7.2, очищення коду та адаптація до змін API</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.BlockCalc - 1.2.1 -&gt; 1.4.0, покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.JavaLikeCalc - 1.5.0 -&gt; 1.8.0, значні покращення, виправлення та оптимізація</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.LogicLev - 1.0.1 -&gt; 1.1.2, покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.SNMP - 0.4.0 -&gt; 0.4.1, адаптація до змін API</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.Siemens - 1.2.1 -&gt; 1.2.3, виправлення та адаптація до змін API</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.ModBus - 1.0.1 -&gt; 1.1.1, виправлення та покращення</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.DCON - 0.3.0 -&gt; 0.3.3, виправлення та покращення</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.ICP_DAS - 0.5.0 -&gt; 0.7.2, значні покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.DAQGate - 0.8.0 -&gt; 0.9.1, значні покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.SoundCard - 0.6.0 -&gt; 0.6.1, адаптація до змін API</li><li style="font-family: Verdana; font-size: 13px; ">DAQ.OPC_UA - 0.6.0, новий модуль</li><li style="font-family: Verdana; font-size: 13px; ">Transport.Sockets - 1.4.0 -&gt; 1.4.5, покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">Transport.SSL - 0.8.2 -&gt; 0.9.5, покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">Transport.Serial - 0.5.0 -&gt; 0.7.1, значні покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">Protocol.HTTP - 1.4.1 -&gt; 1.5.0, значні покращення</li><li style="font-family: Verdana; font-size: 13px; ">Protocol.SelfSystem - 0.9.1 -&gt; 0.9.3, виправлення та адаптація до змін API</li><li style="font-family: Verdana; font-size: 13px; ">Protocol.UserProtocol - 0.6.0, новий модуль</li><li style="font-family: Verdana; font-size: 13px; ">Protocol.ModBus - 0.5.0 -&gt; 0.6.1, виправлення та покращення</li><li style="font-family: Verdana; font-size: 13px; ">Protocol.OPC_UA - 0.6.0, новий модуль</li><li style="font-family: Verdana; font-size: 13px; ">Special.FLibComplex1 - 1.0.4 -&gt; 1.0.6, виправлення та покращення</li><li style="font-family: Verdana; font-size: 13px; ">Special.FLibMath - 0.5.1 -&gt; 0.5.2, адаптація до змін API</li><li style="font-family: Verdana; font-size: 13px; ">Special.FLibSYS - 0.9.0 -&gt; 0.9.2, виправлення та покращення</li><li style="font-family: Verdana; font-size: 13px; ">Special.SystemTests - 1.3.7 -&gt; 1.5.0, переробка та уніфікація тестів</li><li style="font-family: Verdana; font-size: 13px; ">UI.QTStarter - 1.5.3 -&gt; 1.6.0, покращення</li><li style="font-family: Verdana; font-size: 13px; ">UI.QTCfg - 1.8.1 -&gt; 1.9.0, значні покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">UI.WebCfg - 1.5.3 -&gt; 1.5.4, виправлення та адаптація до змін API</li><li style="font-family: Verdana; font-size: 13px; ">UI.WebCfgD - 0.6.2 -&gt; 0.6.5, виправлення</li><li style="font-family: Verdana; font-size: 13px; ">UI.VCAEngine - 0.9.0 -&gt; 1.0.0, значні покращення, виправлення та оптимізація</li><li style="font-family: Verdana; font-size: 13px; ">UI.Vision - 0.9.0 -&gt; 1.0.0, значні покращення, виправлення та оптимізація</li><li style="font-family: Verdana; font-size: 13px; ">UI.WebVision - 0.7.0 -&gt; 0.9.0, значні покращення та виправлення</li><li style="font-family: Verdana; font-size: 13px; ">UI.WebUser - 0.6.0, новий модуль</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-3"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">1 Реалізація планових завдань</h2>
<p id="p29849-9" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="auto indent10">У відповідністю з планом релізу було виконано наступні завдання:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>Реалізація примітивів &quot;Зв'язок&quot; та &quot;Функція&quot; СВК.</em>&nbsp;- У зв'язку з не принциповістю для промислового релізу та відсутності потреби, на цей час, це завдання було винесено за межі першого промислового релізу.</li><li style="font-family: Verdana; font-size: 13px; "><em>Стабілізація та випуск промислової гілки OpenSCADA.</em>&nbsp;- Зроблено велику роботу по стабілізації та оптимізації промислового релізу, про що детальніше о у наступному розділі.</li><li style="font-family: Verdana; font-size: 13px; "><em>Реалізація модуля БД ОДБС, PostgresSQL та транспортного модуля БД.</em>&nbsp;- Максимом Лисенко було виконано реалізацію модуля БД &quot;PostgresSQL&quot;. Реалізація модуля БД &quot;ODBC&quot; було визнано не доцільним оскільки технологія &quot;ODBC&quot; фактично є інтерфейсом SQL-запитів, який не враховує особливостей SQL-діалектів реальних БД, а це означає що він не може безпосередньо, без огляду на тип БД, використовуватися у OpenSCADA при вирішенні її основних завдань. Перспектива використання &quot;ODBC&quot; залишається для реалізації доступу до БД у яких немає &quot;рідного&quot; API прямого доступу до БД, але є драйвер ODBC, або для надання простого інтерфейсу SQL-запитів у OpenSCADA. Реалізацію транспортного модуля БД було винесено за межі першого промислового релізу.</li><li style="font-family: Verdana; font-size: 13px; "><em>Реалізація нового механізму/модуля тестів системи OpenSCADA.</em>&nbsp;- Для виконання внутрішніх системних тестів OpenSCADA механізм модуля тестування було виконано у вигляді функції API користувача, що з одного боку зберегло можливість автономного виклику статичних тестів та з іншого боку надало можливість виклику тестів по одному, в ручну, а також з скриптів користувача, у будь якій послідовності та у потрібній кількості окремих завдань.</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-4"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">2 Оптимізація, підвищення стабільності, стійкості та продуктивності системи.</h2>
<p id="p29849-10" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">У процесі робот над цією версією, а також її практичної адаптації, було виявлено та виправлено в загальній складності біля 200 помилок.</p>
<p id="p29849-10" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Крім виправлення багатьох помилок була зроблена робота по оптимізації різних компонентів OpenSCADA. Особливо помітної оптимізації все ще було піддано середовище візуалізації та керування (СВК) та його візуалізатори.</p>
<p id="p29849-10" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Перелічимо більш істотні помилки виправлення яких значно відобразилося на підвищені стабільності:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>Загальносистемні</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Виправлено не коректне встановлення політики реального часу для потоків. Не було встановлено прапор потоку PTHREAD_EXPLICIT_SCHED.</li><li style="font-family: Verdana; font-size: 13px; ">Виправлено контроль за подвійним захопленням ресурсу у одному потоці та захоплення ресурсу за таймаутом.</li><li style="font-family: Verdana; font-size: 13px; ">Механізм запобігання багаторазового запуску виправлено на предмет перевірки PID заблокованого процесу, по причині видалення системою lock-файлів з директорії /tmp.</li><li style="font-family: Verdana; font-size: 13px; ">Виключено пакування даних структури класів за допомогою #pragma pack(push,1) по причині появи неявної помилки із зависанням одного з потоків та блокування залишених у прошивці OpenSCADA для ПЛК LP8x81.</li><li style="font-family: Verdana; font-size: 13px; ">Код ініціалізації та оновлення модулів оновлено для виключення подвійної ініціалізації поділяємих бібліотек.</li><li style="font-family: Verdana; font-size: 13px; ">Функцію створення завдання виправлено для запобігання падіння під час створення автоматично-зачиняємих завдань, під час швидкого закриття.</li><li style="font-family: Verdana; font-size: 13px; ">Виправлено зависання функції cron() у випадку встановлення порожнього розкладу.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>Транспорти</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>Serial, DAQ.DCON, DAQ.ModBus</em>: Транспорт послідовного інтерфейсу оптимізовано, зроблено типовим та виправлено на предмет декількох помилок. Клієнтів транспорту адаптовано для використання нового механізму.</li><li style="font-family: Verdana; font-size: 13px; "><em>Sockets, SSL</em>: Виправлено можливість не повного запису функцією write(). Під час запису до сокету ця функція пише тільки частину розміром у свій буфер (50кБ). Для повного запису великих повідомлень додано повтор запису.</li><li style="font-family: Verdana; font-size: 13px; "><em>Transport.SSL:</em>&nbsp;Остаточно виправлено очікування відповіді серверу шляхом доочікування обробки даних у функції BIO_read().</li><li style="font-family: Verdana; font-size: 13px; "><em>Transport.Sockets:</em>&nbsp;Виправлено обробку нульового результату очікування хвосту повідомлень, для виключення зависання на запитах у DAQ.System.HDDTemp.</li><li style="font-family: Verdana; font-size: 13px; "><em>Transport.Serial:</em>&nbsp;Виправлено використання прапору &quot;CSTOPB&quot; для встановлення кількості стоп-бітів.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>Збір даних</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>ModBus</em>: Виправлено втрату ресурсу під час збору даних. З цієї причини виключено можливість привласнення строки безпосередньо до об'єкту ресурсної строки.</li><li style="font-family: Verdana; font-size: 13px; "><em>JavaLikeCalc</em>: Виправлено використання функцій для параметрів контролерів DAQ з IO функцій для першого використання.</li><li style="font-family: Verdana; font-size: 13px; "><em>DAQ, BlockCalc, JavaLikeCalc, LogicLev, Siemens</em>: Виправлено отримання помилкових даних за схемою резервування у не резервованих завдань та при відсутності резервних станцій.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>Protocol.HTTP, UI.WebCfg, UI.WebCfgD, UI.WebUser, UI.Vision:</em>&nbsp;Значення HTTP-параметру &quot;Content-Type&quot; виправлено для елементу &quot;Charset&quot;.</li><li style="font-family: Verdana; font-size: 13px; "><em>UI.VCAEngine:</em>&nbsp;Виправлено падіння рушія візуалізації під час зміни мутованих атрибутів, які багаторазово успадковано.</li></ul><p id="p29849-13" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="auto indent10">&nbsp;</p>
<p id="p29849-13" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="auto indent10">Оптимізація та підвищення продуктивності:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>SYS.XML</em>: Функцію перетворення дерева XML у строку оптимізовано за часом.</li><li style="font-family: Verdana; font-size: 13px; "><em>SYS.Archive</em>: Додано механізм адаптивної генерації запитів до архівів різної якості, у випадку загального запиту. Запобігає тривалій обробці у випадку запиту великих проміжків часу та наявності менш якісних архівів.</li><li style="font-family: Verdana; font-size: 13px; "><em>DAQ, DAQ.DAQGate</em>: Виконано оптимізацію запитів між резервними станціями за розміром запитів та за часом. Запитуються тільки архівні атрибути параметрів DAQ та атрибути, заплановані до запиту.</li><li style="font-family: Verdana; font-size: 13px; "><em>Archive.FSArch</em>: Додано створення інформаційних файлів упакованих архівів, без збереження цих даних у БД. Ця функція дозволяє забезпечити швидке підключення великих архівів до інших станцій.</li><li style="font-family: Verdana; font-size: 13px; "><em>UI.Vision</em>: У примітиві &quot;ElFigure&quot;, для відображення, замість QImage використано QPixmap, що значно підвищило продуктивність.</li><li style="font-family: Verdana; font-size: 13px; "><em>UI.Vision</em>: Для побудови зображення примітиву &quot;Diagram&quot; використано QImage замість QPicture, що значно підвищило продуктивність.</li><li style="font-family: Verdana; font-size: 13px; "><em>TFunction, DAQ.JavaLikeCalc</em>: Додано вкладений контекст функцій з метою підвищення продуктивності зовнішніх викликів.</li></ul><p id="p29849-14" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="auto indent10">&nbsp;</p>
<p id="p29849-14" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="auto indent10">Оптимізація використання пам'яті:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>SYS</em>: Систему переключено на використання традиційного &quot;map&quot; замість &quot;hash_map&quot; у всіх об'єктах з метою зменшення споживання пам'яті.</li><li style="font-family: Verdana; font-size: 13px; "><em>UI.VCAEngine</em>: Об'єкт атрибуту &quot;Attr&quot; відірвано від об'єкту &quot;TCntrNode&quot; з метою зменшення споживання пам'яті до 25%.</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-5"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">3 Удосконалення та стабілізація СВК.</h2>
<p id="p29849-15" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Помітні зміни було внесено у межах середовища візуалізації та керування (СВК), а саме у модулях рушія СВК UI.VCAEngine, візуалізаторів UI.Vision та UI.WebVision. Внесені зміни було спрямовано на стабілізацію, оптимізацію споживання пам'яті та покращення споживчих властивостей СВК.</p>
<p id="p29849-16" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="auto indent10">Покращення СВК:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано повну підтримку вертикального масштабування діаграм.</li><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку альфа-каналу у атрибути кольору всіх примітивів.</li><li style="font-family: Verdana; font-size: 13px; "><em>UI.VCAEngine</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Включено та зроблено безпечним успадкування опису мутуючих атрибутів.</li><li style="font-family: Verdana; font-size: 13px; ">Додано нові функції API користувача для сеансів wdgAdd(), wdgDel() та link(), linkSet(). Додання цих функцій дозволило реалізувати концепцію повністю динамічного формування інтерфейсу користувача.</li><li style="font-family: Verdana; font-size: 13px; ">Властивості прав доступу до віджету реалізовано атрибутами &quot;owner&quot; та &quot;perm&quot; для підвищення гнучкості керування.</li><li style="font-family: Verdana; font-size: 13px; ">Додано механізм автоматичного створення та запуску сеансу під час завантаження.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>UI.Vision</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">До інспектору атрибутів додано можливість групового встановлення однойменних атрибутів різних віджетів. Встановлення відбувається у груповому контейнері властивостей інспектору атрибутів, який з'являється під час виділення одночасно декількох віджетів.</li><li style="font-family: Verdana; font-size: 13px; ">У примітиві &quot;ElFigure&quot;, для відображення замість QImage використано QPixmap, що значно підвищило продуктивність.</li><li style="font-family: Verdana; font-size: 13px; ">Для побудови зображення примітиву &quot;Diagram&quot; використано QImage замість QPicture, що значно підвищило продуктивність.</li><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку властивостей інтерфейсу користувача. Додано керування та збереження розміру іконок панелей інструментів.</li><li style="font-family: Verdana; font-size: 13px; ">Додано можливість копіювання значень атрибутів та зв'язків за посередництвом контекстного меню інспекторів атрибутів та зв'язків.</li><li style="font-family: Verdana; font-size: 13px; ">Додано функцію пошуку по елементу &quot;TextEdit&quot;.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>UI.WebVision</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку обертання примітиву &quot;Text&quot;.</li><li style="font-family: Verdana; font-size: 13px; ">Додано генерацію основних повідомлень миші. Для обробки деяких повідомлень додано стек функцій обробників.</li><li style="font-family: Verdana; font-size: 13px; ">Для користувача-відправника адаптовано доступ та керування до його сеансу.</li></ul></li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-6"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">4 Формування та стабілізація API програмування користувача.</h2>
<p id="p29849-17" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Значним чином було виконано формування нового об'єктного API програмування користувача, яке передбачає інтеграцію функцій користувача у дерево об'єктів системи OpenSCADA. Крім цього було внесено низку змін до існуючих бібліотек функцій API користувача.</p>
<p id="p29849-17" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Зокрема було внесено наступні зміни:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>SYS</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>SYS, Special.FLibSYS</em>: Об'єкт API користувача XMLNodeObj переміщено до ядра OpenSCADA (файли tvariant.h, tvariant.cpp).</li><li style="font-family: Verdana; font-size: 13px; ">Системне API користувача OpenSCADA, яке засновано на об'єкті TCntrNodeObj, розширено для контролю прав доступу користувача.</li><li style="font-family: Verdana; font-size: 13px; ">Об'єкт TAreaObj перейменовано у TArrayObj.</li><li style="font-family: Verdana; font-size: 13px; ">Властивості об'єктів, виклики функцій та обробка виключень API користувача уніфіковано.</li><li style="font-family: Verdana; font-size: 13px; "><em>SYS.TVarObj</em>: Додано функцію propList() для можливості сканування атрибутів.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>DAQ.JavaLikeCalc</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано функції до API користувача: insert(), replace(), toReal(), toInt(), parse(), parsePath() та path2sep() до об'єкту значень строкового типу.</li><li style="font-family: Verdana; font-size: 13px; ">Додано функцію isEVal() до базових типів, з метою виявлення EVAL-значень.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>Special.FLibComplex1</em>: Функція ПІД розширено новими параметрами: Kd, Tzd та followSp. Видалено параметр Tf.</li><li style="font-family: Verdana; font-size: 13px; "><em>Об'єктне API програмування користувача</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>SYS</em>: Функції API користувача: system(), message(), XMLNode(), cntrReq(), time(), localtime(), strftime(), strptime(), cron(), messDebug(), messInfo(), messNote(), messWarning(), messErr(), messCrit(), messAlert(), messEmerg() та strFromCharCode() додано до корневого об'єкту ядра OpenSCADA.</li><li style="font-family: Verdana; font-size: 13px; "><em>DB</em>: Функцію API користувача SQLReq() додано до об'єкту БД.</li><li style="font-family: Verdana; font-size: 13px; "><em>Transport</em>: Функцію API користувача messIO() додано для об'єкту вихідного транспорту.</li><li style="font-family: Verdana; font-size: 13px; "><em>UI.VCAEngine</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано функції API користувача: user(), alrmSndPlay() та alrmQuittance() до об'єкту сеансу проекта.</li><li style="font-family: Verdana; font-size: 13px; ">До об'єкту &quot;Widget&quot; додано функції API користувача: ownerSess(), ownerPage(), ownerWdg(), attrPresent(), attr(), attrSet(), wdgAdd(), wdgDel(), link() та linkSet().</li><li style="font-family: Verdana; font-size: 13px; ">Додано спеціальний атрибут &quot;this&quot; до всіх скриптів СВК з метою доступу до об'єкту віджету та наступного виклику його функцій API користувача.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>Archives</em>: Функцію API користувача messGet() додано для об'єкту підсистеми &quot;Архіви&quot;.</li><li style="font-family: Verdana; font-size: 13px; "><em>DAQ.Value</em>: Додано функції API користувача get() та set() для атрибутів.</li></ul></li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-7"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">5 Загальносистемні розширення.</h2>
<p id="p29849-19" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">До загальносистемного API системи OpenSCADA було внесено значні зміни та розширення з метою підвищення функціональності та загальної стабілізації:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>SYS</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано механізм запобігання повторному запуску у скрипти: demo-start та user-start.</li><li style="font-family: Verdana; font-size: 13px; ">Додано глобальні функції для створення(реєстрації) taskCreate() та закриття taskDestroy() потоків. Всі компоненти OpenSCADA використовують нове API.</li><li style="font-family: Verdana; font-size: 13px; ">Додано файли debian/* для підтримки побудови Debian пакетів.</li><li style="font-family: Verdana; font-size: 13px; ">Додано функцію strParse() для розширення функції strSepParse() на предмет підтримки багатосимвольних роздільників та поєднання односимвольних.</li><li style="font-family: Verdana; font-size: 13px; ">Додано інфраструктуру лічильників налагодження.</li><li style="font-family: Verdana; font-size: 13px; ">Додано можливість призначення процесорів для потоків OpenSCADA на багато-процесорних системах та багато-ядерних процесорах.</li><li style="font-family: Verdana; font-size: 13px; ">Додано менеджер завдань. Додано поле ідентифікатору процесу потоку до менеджеру завдань.</li><li style="font-family: Verdana; font-size: 13px; ">Для реалізації специфічних функцій додано обгортку над завданнями OpenSCADA. Додано обробку виключень &quot;TError&quot; для завдань всередині обгортки.</li><li style="font-family: Verdana; font-size: 13px; ">Код ядра системи OpenSCADA поміщено у область імен &quot;OSCADA&quot;. Версія бібліотеки ядра OpenSCADA підвищено до 1:0:0.</li><li style="font-family: Verdana; font-size: 13px; ">Уніфіковано права доступу до всіх елементів інтерфейсу керування.</li><li style="font-family: Verdana; font-size: 13px; ">Додано перевірку на версію більш за 2.0 утиліти збору libtool. Включено збір тільки поділяємих бібліотек для модулів.</li><li style="font-family: Verdana; font-size: 13px; ">Ідентифікатор модуля розташовано до класу конструктору з метою спрощення ініціалізації перекладу текстових повідомлень модулів.</li><li style="font-family: Verdana; font-size: 13px; ">Для всіх перекладів використано утиліту xgettext &quot;-C --no-location --no-wrap -k_&quot;. Використано для очищення сміття файлів перекладів.</li><li style="font-family: Verdana; font-size: 13px; ">Версії API всіх модульних підсистем встановлено у 5.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>SYS.Function, DAQ.BlockCalc, DAQ.LogicLev, UI.VCAEngine</em>: Додано механізм контролю за змінами параметрів контролерів підсистеми &quot;Збір даних&quot;.</li><li style="font-family: Verdana; font-size: 13px; "><em>DB</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано автоматичне відкриття наявних таблиць за запитом до них.</li><li style="font-family: Verdana; font-size: 13px; ">Додано керування транзакціями до функції sqlReq(), а також додано функцію transCloseCheck().</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>TFunction, DAQ.JavaLikeCalc</em>: Додано вкладений контекст функцій з метою підвищення продуктивності зовнішніх викликів.</li><li style="font-family: Verdana; font-size: 13px; "><em>DAQ</em>: Код помилки додано до стану контролера, що дозволяє ідентифікувати стан та відображати його.</li><li style="font-family: Verdana; font-size: 13px; "><em>Protocol, Transport, DAQ.ModBus, Protocol.UserProtocol</em>: Додано функцію itemListIn() для вибору елементів протоколу. Додано вибір елементів протоколу за посередництвом функції TProtocol::itemListIn().</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-8"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">6 Значні удосконалення та виправлення окремих модулів.</h2>
<p id="p29849-20" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">В процесі роботи над цим промисловим релізом під значні зміни, удосконалення та стабілізації підпали окремі модулі OpenSCADA:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>DB.MySQL</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку необмежених значень типів даних &quot;Реальне&quot; та &quot;Ціле&quot;.</li><li style="font-family: Verdana; font-size: 13px; ">Додано перетворення значення EVAL для реального типу.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>DB.SQLite</em>: Покращено механізм транзакцій для підтримки всередині SQL-запитів користувача та закриття старих транзакцій.</li><li style="font-family: Verdana; font-size: 13px; "><em>DB.FireBird</em>: Додано підтримку багатомовності текстових змінних. Уніфіковано підтримку транзакцій.</li><li style="font-family: Verdana; font-size: 13px; "><em>DAQ</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>DAQGate</em>: Додано підтримку можливості запиту окремих атрибутів. Використано для запиту архівованих та часто запитуваних атрибутів. Всі інші атрибути запитуються з періодом синхронізації шляхом повного запиту. Використано для зменшення навантаження та часу протягом обміну DAQGate з віддаленої OpenSCADA станції.</li><li style="font-family: Verdana; font-size: 13px; "><em>ICP_DAS</em>: Додано стан DIP-перемикача для ПЛК LP-8781. Функції відправлення повідомлень за послідовним інтерфейсом переміщено у загальну функцію serReq() та всі запити використовують її.</li><li style="font-family: Verdana; font-size: 13px; "><em>ModBus</em>: Додано суфікси &quot;i2,i4,f,b0&quot; до регістрів (R та RI) для гнучкого доступу за різними типами даних.</li><li style="font-family: Verdana; font-size: 13px; "><em>JavaLikeCalc</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку оглядового циклу для сканування властивостей об'єкту &quot;for( &lt;i&gt; in &lt;obj&gt; ) &lt;code&gt;;&quot;.</li><li style="font-family: Verdana; font-size: 13px; ">Властивості об'єктів, виклики функцій та обробка виключень API користувача уніфіковано.</li></ul></li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>Transport</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><em>Serial</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано можливість вибору типу керування потоком. Підтримується апаратне (CRTSCTS) та програмне (IXON IXOFF) керування потоком.</li><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку режиму модема для всіх вхідних та вихідних транспортів.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>SSL</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку KeepAlive лімітів. Додано підтримку перепідключення після втрати з'єднання та для запобігання втрати повідомлень.</li><li style="font-family: Verdana; font-size: 13px; ">Додано отримання адреси відправника.</li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>SSL, Sockets</em>: До вихідного транспорту додано таймінги з метою окремого керування часом з'єднання та часом очікування наступних відповідей.</li><li style="font-family: Verdana; font-size: 13px; "><em>Protocol.HTTP</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано функцію вихідного протоколу.</li><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку автоматичного входу.</li></ul></li></ul></li><li style="font-family: Verdana; font-size: 13px; "><em>Archive.FSArch</em>: Додано створення інформаційних файлів упакованих архівів, без збереження цих даних у БД. Ця функція дозволяє забезпечити швидке підключення великих архівів до інших станцій.</li><li style="font-family: Verdana; font-size: 13px; "><em>UI.QTCfg</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано підлаштування рядків для таблиць, після додання нових рядків. Додано підтримку копіювання вмісту таблиці до буферу обміну.</li><li style="font-family: Verdana; font-size: 13px; ">Додано функцію пошуку у елементу &quot;TextEdit&quot;.</li><li style="font-family: Verdana; font-size: 13px; ">Додано можливість копіювання переліку вибраних вузлів.</li></ul></li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-9"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">7 Формування документації та переклади документації і інтерфейсу.</h2>
<p id="p29849-21" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Оскільки цей реліз позиціонується як промисловий реліз з тривалим періодом підтримки то до його виходу було закінчено написання, на Російській мові, а також переклад на Англійську мову, всієї основної документації. Крім того завершено переклад інтерфейсу програми на Англійську, Російську, Українську та Німецьку мови:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додано переклад README на Українську.</li><li style="font-family: Verdana; font-size: 13px; ">Додано переклад документу DAQ та узагальнюючого документу на Англійську.</li><li style="font-family: Verdana; font-size: 13px; ">Додано документ &quot;Швидкий старт&quot;.</li><li style="font-family: Verdana; font-size: 13px; ">Виконано переклад документу &quot;Швидкий старт&quot; на Англійську мову.</li><li style="font-family: Verdana; font-size: 13px; ">Загальний документ &quot;OpenSCADA&quot; на Англійській оновлено для включення частин &quot;Швидкий старт&quot; та DAQ.OPC_UA.</li><li style="font-family: Verdana; font-size: 13px; ">Оновлено переклад інтерфейсу ядра системи на Російську, Українську та Німецьку мови.</li><li style="font-family: Verdana; font-size: 13px; ">Для всіх перекладів використано параметри утиліти xgettext &quot;-C --no-location --no-wrap -k_&quot;. Використано для очищення файлів перекладу від сміття.</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-10"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">8 Уніфікація демонстраційної БД.</h2>
<p id="p29849-22" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="align-justify auto indent10">У процесі підготовки промислового релізу значну увагу було приділено покращенню демонстраційної БД, як яскравої демонстрації функцій системи OpenSCADA:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Значне оновлення для підтримки нових можливостей та включення нових удосконалень з системи автоматизації кульових млинів.</li><li style="font-family: Verdana; font-size: 13px; ">Додано підтримку користувальницького виклику демонстраційної БД у повноцінному режимі на запис.</li><li style="font-family: Verdana; font-size: 13px; ">Додано масштабування існуючих елементів у випадку відсутності рядків та стовпчиків для оглядового кадру та зведеної таблиці.</li><li style="font-family: Verdana; font-size: 13px; ">Оновлено для включення нових моделей апаратів технологічних процесів та адаптації всіх інших моделей.</li><li style="font-family: Verdana; font-size: 13px; ">Оновлено для:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; ">Додання об'єктів сигналізації компресорів: KM201, KM301, KM202 та KM302.</li><li style="font-family: Verdana; font-size: 13px; ">Підтримка ручного вводу змінних з панелі керування.</li><li style="font-family: Verdana; font-size: 13px; ">Оновлення перекладу.</li><li style="font-family: Verdana; font-size: 13px; ">Виправлення декількох помилок.</li></ul></li><li style="font-family: Verdana; font-size: 13px; ">Скрипт головної сторінки проекту переписано для використання нових функцій API користувача.</li><li style="font-family: Verdana; font-size: 13px; ">Використано новий механізм доступу до елементів інтерфейсу користувача. Надано реальний доступ на читання для пересічного користувача (&quot;user&quot;).</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1022-11"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">9 Рішення, які побудовано на основі OpenSCADA</h2>
<p id="p29849-23" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">На основі проекту OpenSCADA побудовано фактично весь спектр рішень автоматизації, які яскраво демонструють можливості, а також становлять сигнал готовності системи для широкого промислового застосування.</p>
<p id="p29849-23" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">В цілому на основі OpenSCADA авторами проекту вирішувалися завдання: повного динамічного моделювання технологічних процесів (ТП), управління ТП на рівні програмованого логічного контролеру (ПЛК) та формування людино-машинного інтерфейсу ТП.</p>
<p id="p29849-23" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Моделювання ТП представлено рішеннями: «Бібліотека моделей апаратів технологічних процесів», «Динамічна модель реального часу Анастасіївської ГЛКС» та «Динамічна модель парового котлу №9 ДМК». Причому рішення «Динамічна модель реального часу Анастасіївської ГЛКС» було покладено у основу демонстраційної БД проекту та яка розповсюджується зі всіма дистрибутивами OpenSCADA.</p>
<p id="p29849-23" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Сфера управління ТП на рівні програмованого логічного контролера (ПЛК) представлена рішеннями: «OpenSCADA у програмованому логічному контролері (ПЛК)» та «Середовище виконання ПЛК LP-8x81 фірми ICP DAS на основі OpenSCADA».</p>
<p id="p29849-23" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Сферу формування людино-машинного інтерфейсу ТП представлено рішеннями: «Бібліотеки графічних елементів інтерфейсів користувача» та «АСУ ТП кульовими млинами ШБМ 287\410 котлоагрегату БКЗ 160–100 ПТ».</p>
<p id="p29849-23" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Потрібно також відзначити наявність низки рішень, які не увійшли до вищенаведеного переліку, та виконаних розробниками системи для третіх осіб або безпосередньо її користувачами.</p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221); ">Висновок</h2>
<p id="p29849-29" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Система OpenSCADA готова для практичного використання у складних промислових умовах та виконання широкого спектру завдань автоматичного управління технологічними процесами.</p>
<p id="p29849-29" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">З метою надання якісного сервісу на основі рішень OpenSCADA, а також розвитку у напрямку підтримки спеціалізованого обладнання, протоколів та інтерфейсів; розробниками планується, та активно ведеться, робота по формуванню політики надання послуг на комерційній основі. У число комерційних послуг буде входити: технічна підтримка, консультації та цільова розробка розширень, інтеграція та впровадження рішень, а також розробка спеціалізованих рішень та продуктів на основі OpenSCADA.</p>
<p id="p29849-29" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Версія 0.7.0 надає рішення OpenSCADA тільки для платформ Linux x86 та x86_64. Для забезпечення підтримки інших апаратних та програмних платформ, запланованих проектом, роботу буде продовжено. Так до версії 0.8.0 планується розширити підтримку апаратних платформ мінімум на платформу АРМ, як представника RISC архітектур.</p>
<p id="p29849-29" style="font-family: Verdana; font-size: 13px; margin: 0px; padding: 0px; " class="indent10 auto align-justify">У появі першої промислової версії системи OpenSCADA активну участь брали:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; "><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".romansavochenko" href="http://wiki.oscada.org/RomanSavochenko?v=1bw8" title="Roman&amp;nbsp;Savochenko">Савоченко Роман</a></span>: Основний об'єм робіт по проектуванню, розробці, документуванню та тестуванню.</li><li style="font-family: Verdana; font-size: 13px; "><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".maximlysenko" href="http://wiki.oscada.org/MaximLysenko?v=2iq" title="Maxim&amp;nbsp;Lysenko">Лисенко Максим</a></span>: Розробка примітиву &quot;Елементарна фігура&quot; середовища візуалізації та керування (СВК), створення модуля підтримки БД PostgreSQL та переклад більшої частини документації на Англійську мову.</li><li style="font-family: Verdana; font-size: 13px; "><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".yashinaksenia" href="http://wiki.oscada.org/YashinaKsenia?v=139q" title="Yashina&amp;nbsp;Ksenia">Яшина Ксенія</a></span>: Розробка примітиву &quot;Елементарна фігура&quot; СВК.</li><li style="font-family: Verdana; font-size: 13px; "><em>Попкова Ірина</em>: Переклад інтерфейсу системи OpenSCADA та її модулів на Німецьку мову.</li><li style="font-family: Verdana; font-size: 13px; "><em>Алмаз Каримов</em>: Розробка модуля підтримки протоколу DCON та активне тестування.</li><li style="font-family: Verdana; font-size: 13px; "><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".popkovaleksey" href="http://wiki.oscada.org/PopkovAleksey?v=141x" title="Popkov&amp;nbsp;Aleksey">Попков Олексій</a></span>: Активне тестування та участь.</li><li style="font-family: Verdana; font-size: 13px; ">Багато інших користувачів системи OpenSCADA, за посередництвом всебічного тестування.</li></ul>]]></content:encoded>
			<category>Новина</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Wed, 16 Nov 2011 18:00:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title>27-30го вересня 2011р. у місті Київ, відбувся міжнародний інноваційний форум, а 1 жовтня конференція та виставка відкритих рішень - FOSS 2011</title>
			<link>http://www.oscada.org/ua/novini/odinochna-storinka/article//on-september-27-30th-2011-in-city-kiev-ukraine-the-international-innovation-forum-and-on-october//a33884f09a655d1e0d288a46b9a982e4/</link>
			<description>На стенді Дніпродзержинського Державного Університету (ДГТУ) та фірми ТОВ НІП &quot;ДІЯ&quot;, у межах...</description>
			<content:encoded><![CDATA[<p class="align-justify indent10">На форумі та виставці були представлені наступні рішення OpenSCADA:</p><ul><li>Динамічні моделі технологічних процесів та систем управління ними: Газо-ліфтна компресорна станція на шість компресорів, Багатопаливний паровий котлоагрегат БКЗ-160.</li><li>Модель та контролер (ICP_DAS) САУ кулькового барабанного млина помелу вугілля для котлоагрегатів ТЕЦ.</li><li>OpenSCADA на мобільному пристрою: Nokia N800, N950.</li><li>OpenSCADA на промислових контролерах: ICP_DAS LP-8781, LP-5141.</li></ul>]]></content:encoded>
			<category>Новина</category>
			<category>Доповідь</category>
			<category>Публікація</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Sun, 25 Sep 2011 09:23:00 +0300</pubDate>
			
		</item>
		
		<item>
			<title>Збірка OpenSCADA та прошивки для ARM-контролерів фірми ICP DAS (LP-5141)</title>
			<link>http://www.oscada.org/ua/novini/odinochna-storinka/article//building-openscada-and-firmware-for-arm-controllers-of-icp-das-company-lp-5141//7c686f0256c5ce337644bdb334b50e88/</link>
			<description>Ім'я: LP-5xxx
Засновано: серпень 2011р
Завершено: вересень 2011р
Версія: 1.0.0
Учасники: Роман...</description>
			<content:encoded><![CDATA[<p id="p25028-4" class="align-justify auto indent10"> Фірма <a href="http://www.icpdas.com/" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" alt="">ICP_DAS</a> достатньо давно випускає контролери на процесорах <a href="http://ru.wikipedia.org/wiki/ARM" target="_blank" class="outerlink" >ARM</a> архітектури з передвстановленим оточенням <a href="http://ru.wikipedia.org/wiki/Linux" target="_blank" class="outerlink" >ОС Linux</a>, що робить цікавим створення збірки OpenSCADA або нової прошивки з OpenSCADA.</p>
<p id="p25028-5" class="align-justify auto indent10"> До останнього часу була низка причин, на перепоні збірки OpenSCADA для ARM-контролерів ICP DAS:</p><ul><li> відсутність на руках жодного з ARM-контролерів; </li><li> неготовність OpenSCADA для роботи на ARM-архітектурі; </li><li> дуже застаріле оточення Linux ARM-контролерів фірми &quot;ICP DAS&quot;.</li></ul><p id="p25028-6" class="indent10 auto align-justify"> На цей час всі ці перепони було усунено. Так, завдяки Петру Літковцю на  руках з'явився контролер LP-5141, а до цього часу OpenSCADA у значній  мірі було вже адаптовано до роботи на ARM-архітектурі, за посередництвом  відпрацювання та стабілізації на долонному комп'ютері фірми <a href="http://www.nokia.ru/" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" alt="">Nokia</a> - <a href="http://ru.wikipedia.org/wiki/Nokia_N800" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" alt="">N800</a>.  У наслідок же роботи з контролером LP-5141 було усунено останню  перепону шляхом оновлення початкового програмного оточення із  збереженням поточного функціоналу.</p>
<p id="p25028-7" class="indent10 auto align-justify"> В цілому, метою даного проекту є відпрацювання механізмів та створення  збірки OpenSCADA для контролерів сімейства ARM фірми &quot;ICP DAS&quot;, а також  створення прошивок під контролери &quot;ICP DAS&quot;, які будуть потрапляти до  рук розробників OpenSCADA.</p>
<h2>1. ПЛК LP-5141</h2>
<p id="p25028-8" class="indent10 auto align-justify"> ПЛК конструктивно виконано у вигляді моноблоку, який не містить  вбудованого УСО, а підключення зовнішнього здійснюється за  посередництвом вбудованого інтерфейсу RS-485, наприклад, у вигляді  модулів серії I-7000, фірми &quot;ICP DAS&quot;.</p><div style="float:center; text-align:center"><p class="bodytext"><img src="http://wiki.oscada.org/Using/LP5xxx/files?get=lp5141.png" alt=""><br /> Рис. ПЛК серії LP-5xxx.</p></div><p id="p25028-9" class="indent10 auto align-justify"> Процесор контролеру має наступні технічні характеристики:</p><table rules="all" style="border-style: solid; border-width: 1px; border-color: rgb(0, 0, 0); " class="contenttable"> <thead><tr class="userrow"><th scope="col" class="usercell"><p class="bodytext"> CPU </p></th><th scope="col" class="usercell"><p class="bodytext"> PXA270 або сумісний (32-біт та 520МГц) </p></th></tr></thead><tbody> <tr class="userrow"><td class="usercell"><p class="bodytext"> SDRAM </p></td><td class="usercell"><p class="bodytext"> 128 MB </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> Flash </p></td><td class="usercell"><p class="bodytext"> 64 MB </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> EEPROM </p></td><td class="usercell"><p class="bodytext"> 16 KB<br /> Збереження даних: 40 років; 1,000,000 циклів видалення/запису. </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> Розширена Flash пам'ять </p></td><td class="usercell"><p class="bodytext"> microSD сокет з однією microSD картою на 2GB (може підтримувати 16 GB microSDHC картки) </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> 64-біт Серійний Номер Обладнання </p></td><td class="usercell"><p class="bodytext"> Наявний </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> Подвійний Watchdog таймер </p></td><td class="usercell"><p class="bodytext"> Наявний </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> VGA </p></td><td class="usercell"><p class="bodytext"> 800 × 600 </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> Ethernet порти </p></td><td class="usercell"><p class="bodytext"> RJ-45 x 2, 10/100 Base-TX Ethernet Контролер (Авто-узгодження, авто MDI/MDI-X, LED індикатор) </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> USB 1.1 (хост) </p></td><td class="usercell"><p class="bodytext"> 1 </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> COM1 (/dev/ttySA0) </p></td><td class="usercell"><p class="bodytext"> RS-232 (RxD, TxD and GND); Не ізольовано </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> COM2 (/dev/ttySA1) </p></td><td class="usercell"><p class="bodytext"> RS-485 (D2+,D2-); 2500 VDC; Ізольовано </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> COM3 (/dev/ttySA3) </p></td><td class="usercell"><p class="bodytext"> RS-232 (RxD, TxD and GND); Не ізольовано </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> Робоча температура </p></td><td class="usercell"><p class="bodytext"> -25 ~ +75 °C </p></td></tr> </tbody></table><p class="bodytext"> <a name="h1077-4"></a></p>
<h2>2. Програмне оточення на основі OpenSCADA.</h2>
<p id="p25028-10" class="align-justify auto indent10"> Програмне оточення, основане на ОС Linux, для ARM контролерів фірми ICP  DAS за звичай мають: ядро Linux 2.6.19, GLibC 2.2.5 та GCC 2.95. Для  збірки стороннього ПЗ фірмою ICP-DAS надається SDK з кроскомпілятором,  набором бібліотек та заголовків до них (Linux toolchain). Як можна  бачити, версії GLibC та GCC дуже старі, а саме 2001 року. Збірка  OpenSCADA у такому оточені фактично неможлива. Якщо використання GLibC  версії 2.2.5 ще можливе, то GCC версії 2.95 має C++ компілятор, який на  збірці коду OpenSCADA просто рушиться, а стандартна бібліотека C++, або  STL, дуже обмежена та під неї потрібна значна і головне безглузда  адаптація. По цій причині потрібне було оновлення первинного програмного  оточення до версії GCC компілятору, або бібліотеки C++, не менш 3.</p>
<p id="p25028-11" class="indent10 auto align-justify"> Оскільки внутрішня флеш-пам'ять має порівняно невеликий об'єм (64 Мб), а  повна перезбірка початкового програмного оточення контролера —  достатньо трудомісткий процес то було вирішено забезпечити сумісність  базових бібліотек нового та старого оточення. А саме, можливість  використовувати бібліотеки на зразок fontconfig, i8k з первинного  оточення та роботу програм первинного оточення з новими бібліотеками.</p>
<p id="p25028-12" class="indent10 auto align-justify"> У процесі підбору нового програмного оточення для процесору PXA-270,  контролера &quot;ICP DAS&quot;, було апробовано декілька варіантів, оскільки  частина з них мала ті або інші недоліки:</p><ul><li> <em><a href="http://kegel.com/crosstool" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" />crosstool-0.43</a></em>  — цікавий хоча і застарілий проект (остання версія 2006 року) по збірці  Linux кросоточення під потрібне обладнання. Було відкладено після  декількох невдалих спроб зібрати нове оточення для роботи з &quot;Software  FP&quot; та &quot;VFP&quot;. Як надалі виявилося для об'єктних файлів попереднього  оточення некоректно відображається інформація про начеб то наявність там  &quot;Software FP&quot; та &quot;VFP&quot;, хоча на справді операції з реальними числами  там відбуваються за посередництвом &quot;FPA&quot;. Відповідно можна надалі  повернутися до цього варіанту. </li><li> <em><a href="http://pxa-linux.sourceforge.net/" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" />PXA-Linux Project</a></em> — проект по створенню незалежного набору інструментів Linux для збірки під процесор PXA. Має бінарну збірку <a href="ftp://ftp.arm.linux.org.uk/pub/armlinux/people/xscale/mainstone/02-25-2005/bin/arm-linux-toolchain-bin-12-15-04-driscoll.tar.gz" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/file.gif" />02-25-2005/bin/arm-linux-toolchain-bin-12-15-04-driscoll.tar.gz</a>.  Виявилося, що цю збірку зібрано із &quot;Software FP&quot; та &quot;VFP&quot;, а також  наявні проблеми у вигляді виключення низки розширень компілятору gcc,  наприклад: __attribute__((packed)). </li><li> <em><a href="http://voipac.com/" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" />Voipac</a></em> — бінарна збірка інструментів кроскомпіляції (<a href="http://voipac.com/downloads/pxa/toolchain/bin/arm-linux-gcc-3.4.1.tar.gz" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/file.gif" />arm-linux-gcc-3.4.1.tar.gz</a>)  від фірми &quot;Voipac&quot; для власного обладнання на процесорі PXA-270. Цей  набір підійшов ідеально за всіма параметрами та подальша збірка  відбувалася за допомогою нього.</li></ul><p id="p25028-13" class="indent10 auto align-justify"> Результуюче оточення контролеру з OpenSCADA було сформовано шляхом  заміни базових бібліотек первинного оточення на бібліотеки з набору  інструментів від &quot;Voipac&quot;, збірки OpenSCADA та розташування файлів  OpenSCADA у дереві первинного оточення.</p>
<p id="p25028-14" class="indent10 auto align-justify"> OpenSCADA була зібрана з виключенням низки бібліотек та модулів. Так були зібрані та перевірені модулі та функції OpenSCADA:</p><ul><li> <em>Ядро OpenSCADA</em>  — зібрано із бібліотекою LibGD2 (роботу перевірено). У процесі  перевірки та адаптації розширено функції зберігання конфігурації  OpenSCADA у конфігураційному файлі. </li><li> <em>DB.SQLite</em> — БД SQLite (роботу перевірено). Зібрано  бібліотеку та модуль OpenSCADA для роботи з БД SQLite. У процесі  перевірки виявлено та виконано обхід помилки у GLibC 2.3.2, яка  пов'язана з відсутністю перевірки на взаємо-блокування &quot;rw&quot;-ресурсів. </li><li> <em>DB.DBF</em> — БД DBF (роботу перевірено). Модуль роботи з DBF-файлами версії 3. </li><li> <em>Transport.Sockets</em> — Модуль транспорту Сокетів TCP,  UDP та Unix (роботу перевірено). У процесі використання TCP-сокетів  виявлено та усунено не ініціалізацію структури перевірки стану сокету. </li><li> <em>Transport.SSL</em> — Модуль транспорту безпечних сокетів: SSL, TLS (роботу перевірено). </li><li> <em>Transport.Serial</em> — Модуль транспорту послідовних інтерфейсів (роботу перевірено). Виявилося, що COM3 чомусь розташовано на пристрої /dev/ttySA3. </li><li> <em>Protocol.SelfSystem</em> — Модуль власного протоколу OpenSCADA (роботу перевірено). </li><li> <em>Protocol.HTTP</em> — Модуль реалізації протоколу HTTP (роботу перевірено). </li><li> <em>Protocol.ModBus</em> — Модуль реалізації протоколу ModBus  (роботу перевірено). Конфігурація станції як серверу даних за  посередництвом протоколу ModBus. </li><li> <em>Protocol.OPC_UA</em> — Модуль реалізації протоколу OPC UA  (роботу перевірено). Конфігурація станції як серверу даних за  посередництвом протоколу OPC UA. Виявлено проблему різниці представлення  реального на x86 та ARM FPA! </li><li> <em>Protocol.UserProtocol</em> — Модуль вільної реалізації  простих протоколів користувачем, за посередництвом мови програмування  OpenSCADA (роботу перевірено). </li><li> <em>DAQ.System</em> — Модуль даних операційної системи (роботу перевірено). Зібрано без використання бібліотеки LibSensors. </li><li> <em>DAQ.JavaLikeCalc</em> — Модуль реалізації подібної до Java користувацької мови та обчислень на її основі (роботу перевірено). </li><li> <em>DAQ.BlockCalc</em> — Модуль реалізації блочних обчислень (роботу перевірено). </li><li> <em>DAQ.LogicLev</em> — Модуль реалізації джерел даних логічного рівня (роботу перевірено). </li><li> <em>DAQ.ModBus</em> — Модуль роботи з джерелами даних за посередництвом протоколу ModBus (роботу перевірено). </li><li> <em>DAQ.DCON</em> — Модуль роботи з джерелами даних за  посередництвом протоколу DCON (роботу перевірено). Наприклад, з  пристроями ICP_DAS серії I-7000. Виявлено та виправлено падіння під час  отримання негативного розміру відповіді. Результат відповіді тепер  завжди повертає &gt;= 0. </li><li> <em>DAQ.ICP_DAS</em> — Модуль джерел даних ICP_DAS (<span class="cl-blue">немає обладнання для перевірки</span>).  Послідовні серії: I-87000 та I-7000; паралельні (швидкі): серії I-8000.  Модуль зібрано з бібліотекою libi8k.a для ARM-архітектури.<br /> </li><li> <em>DAQ.DAQGate</em> — Модуль реалізації шлюзування джерел даних інших станцій OpenSCADA (роботу перевірено). </li><li> <em>DAQ.OPC_UA</em> — Модуль роботи з джерелами даних за  посередництвом протоколу OPC_UA (роботу перевірено). Виявлено проблему  різниці представлення реального на x86 та ARM FPA - додано перетворення  під час передачі! </li><li> <em>DAQ.Siemens</em> — Модуль роботи з контролерами Siemens, за посередництвом Industrial Ethernet (ISO_TCP) (роботу перевірено). </li><li> <em>DAQ.SNMP</em> — Модуль збору даних мережевого обладнання за протоколом SNMP (роботу перевірено). </li><li> <em>Archive.DBArch</em> — Модуль архівації на БД (роботу перевірено). </li><li> <em>Archive.FSArch</em> — Модуль архівації на файлову систему  (роботу перевірено). Виявлено проблему при перевірці архіву, видача  повідомлень під час запуску: &quot;Error archive file structure:  &lt;ARCHIVES/VAL/1s/CPULoad_load 2011-09-12 17:47:17.val&gt;. Margin =  -8 byte. Will try fix it!&quot;. У результаті з'ясовано, що алгоритм швидкого  підрахунку бітів не вирівняно на 4 байта під час читання буферу пам'яті  - виправлено. </li><li> <em>UI.WebCfg</em> — Модуль заснованого на Web конфігуратору OpenSCADA (роботу перевірено). </li><li> <em>UI.WebCfgD</em> — Модуль заснованого на Web динамічного конфігуратору OpenSCADA (роботу перевірено). </li><li> <em>UI.VCAEngine</em> — Модуль рушія візуалізації (роботу перевірено). </li><li> <em>UI.WebVision</em> — Модуль візуалізатору користувацьких інтерфейсів у <em>UI.VCAEngine</em> за посередництвом Web-інтерфейсу (роботу перевірено). </li><li> <em>UI.WebUser</em> — Модуль вільної користувацької візуалізації за посередництвом Web-інтерфейсу (роботу перевірено). </li><li> <em>Special.FLibComplex1</em> — Бібліотека функцій сумісності з Complex1(ООО НИП &quot;ДІЯ&quot;) (роботу перевірено). Використовується для блокового програмування. </li><li> <em>Special.FLibMath</em> — Бібліотека стандартних математичних функцій (роботу перевірено). </li><li> <em>Special.FLibSYS</em> — Бібліотека системних функцій розширення OpenSCADA (роботу перевірено).</li></ul><p id="p25028-15" class="indent10 auto align-justify"> З метою зручного розповсюдження та застосування отриманої збірки  OpenSCADA для ARM-контролерів фірми &quot;ICP  DAS&quot; було виконано розбір  формату прошивок для цих контролерів та формування нової, яка включає  OpenSCADA. Прошивка ARM-контролерів &quot;ICP DAS&quot; представляє з себе  бінарний файл з назвою типу &quot;lp5x4x_1.1.bin&quot;. Структурно цей файл  містить ядро та кореневу файлову систему типа JFFS2. Дізнатися точне їх  розташування можна за допомогою команди у попередньому оточені  контролеру, наприклад, для LP-5141:<br /> </p><div class="code indent"><p class="bodytext"><span style="color: #000000"> $&nbsp;cat&nbsp;/proc/mtd<br />dev:&nbsp;&nbsp;&nbsp;&nbsp;size&nbsp;&nbsp;&nbsp;erasesize&nbsp;&nbsp;name<br />mtd0:&nbsp;00040000&nbsp;00020000&nbsp;&quot;Bootloader&quot;<br />mtd1:&nbsp;00040000&nbsp;00020000&nbsp;&quot;Bootloader&nbsp;Param&quot;<br />mtd2:&nbsp;00280000&nbsp;00080000&nbsp;&quot;Kernel&quot;<br />mtd3:&nbsp;03c80000&nbsp;00080000&nbsp;&quot;JFFS2&nbsp;Filesystem&quot;</span></p></div><p id="p25028-16" class="align-justify auto indent10"> Із отриманого результату команди можна зробити висновок, що точка  поєднання образу ядра та файлової системи знаходиться за зсувом файлу  прошивки 0x280000, а розмір блоку стирання флешу складає 0x80000  (512кБ). Маючи цю інформацію ми можемо розібрати прошивку та внести  зміни до образу її файлової системи:<br /> </p><div class="code indent"><p class="bodytext"><span style="color: #000000"> #&nbsp;Вилучення&nbsp;попередніх&nbsp;образів&nbsp;ядра&nbsp;та&nbsp;кореневої&nbsp;файлової&nbsp;системи<br />$&nbsp;dd&nbsp;if=lp5x4x_1.1.bin&nbsp;of=kernel_orig&nbsp;bs=1K&nbsp;count=2560<br />$&nbsp;dd&nbsp;if=lp5x4x_1.1.bin&nbsp;of=jffs2_orig&nbsp;bs=1K&nbsp;skip=2560<br /><br />#&nbsp;Підключення&nbsp;попереднього&nbsp;образу&nbsp;файлової&nbsp;системи<br />$&nbsp;modprobe&nbsp;mtdram&nbsp;total_size=65536&nbsp;erase_size=512<br />$&nbsp;modprobe&nbsp;mtdblock<br />$&nbsp;dd&nbsp;if=root_orig.img&nbsp;of=/dev/mtdblock0<br />$&nbsp;mount&nbsp;-t&nbsp;jffs2&nbsp;/dev/mtdblock0&nbsp;/mnt/tmp<br />#&nbsp;Копіювання&nbsp;змін&nbsp;та&nbsp;файлів&nbsp;OpenSCADA&nbsp;у&nbsp;кореневу&nbsp;файлову&nbsp;систему&nbsp;контролеру<br />#&nbsp;Створення&nbsp;нової&nbsp;файлової&nbsp;системи&nbsp;із&nbsp;змінами.<br />$&nbsp;mkfs.jffs2&nbsp;--root=/mnt/tmp&nbsp;--pad=$((61952*1024))&nbsp;--eraseblock=512&nbsp;--output=root.img<br />#&nbsp;Збираємо&nbsp;новий&nbsp;образ&nbsp;прошивки<br />#&nbsp;cat&nbsp;kernel_orig.img&nbsp;root.img&nbsp;&gt;&nbsp;lp5x4x_oscada_1.0.bin</span></p></div><p id="p25028-17" class="indent10 auto align-justify"> Таким чином ми отримуємо нову прошивку з OpenSCADA у файлі  lp5x4x_oscada_1.0.bin, яку можна завантажити до контролеру стандартним  чином, описаним у документації &quot;ICP DAS&quot;.</p>
<h2>3. Зауваження</h2>
<p id="p13916-18" class="align-justify auto indent10"> Оскільки з'ясувалося, що операції з реальними числами виконуються за  посередництвом команд сопроцесору FPA (Float Point Acceleration), якого у  цьому процесорі просто немає, а виклики самих команд здійснюються через  виключення, шляхом імітації у ядрі Linux, то продуктивність  математичних обчислень виявляється дуже низькою, навіть у порівнянні з  прямим &quot;Software FP&quot;, &quot;VFP&quot;. Наприклад, обчислення однієї операції <strong>sin(pi)</strong>  здійснюється ~200 мкс, у порівняні із ~20 мкс на N800 з VFP та ~2 мкс  на x86, детальніше у таблиці нижче. Таким чином, розглядати цей  контролер як платформу для хоч якихось серйозних обчислень не можна!  Мало того, реальні числа, при роботі із FPA, зберігаються по іншому, а  саме особливий <em>big-endian</em>, що вимагає перетворення, у випадку із бінарним зовнішнім обміном, до типового <em>little-endian</em> вигляду, наприклад, для DAQ.OPC_UA.</p><table rules="all" style="border-style: solid; border-width: 1px; border-color: rgb(0, 0, 0); border-collapse: collapse;" class="contenttable"> <thead><tr class="userrow"><th scope="col" class="usercell"><p class="bodytext"> <strong>Обладнання</strong> </p></th><th scope="col" class="usercell"><p class="bodytext"> <strong>Операція sin(Пі) (у JavaLikeCalc), мкс</strong> </p></th><th scope="col" class="usercell"><p class="bodytext"> <strong>Операція pow(Пі,2) (у JavaLikeCalc), мкс</strong> </p></th></tr></thead><tbody> <tr class="userrow"><td class="usercell"><p class="bodytext"> ICP DAS LP-5141 </p></td><td class="usercell"><p class="bodytext"> 100 (200) </p></td><td class="usercell"><p class="bodytext"> 51 (152) </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> Nokia N800 </p></td><td class="usercell"><p class="bodytext"> 6 (15) </p></td><td class="usercell"><p class="bodytext"> 6 (17) </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> Nokia N950 </p></td><td class="usercell"><p class="bodytext"> 3 (6) </p></td><td class="usercell"><p class="bodytext"> 2 (6) </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> AMD Athlon X2 3600+ </p></td><td class="usercell"><p class="bodytext"> 3 (3) </p></td><td class="usercell"><p class="bodytext"> 3 (3) </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> AMD Turion L625 1.6 </p></td><td class="usercell"><p class="bodytext"> 3 (4) </p></td><td class="usercell"><p class="bodytext"> 3 (4) </p></td></tr> <tr class="userrow"><td class="usercell"><p class="bodytext"> Intel Core2 Duo 1.6 </p></td><td class="usercell"><p class="bodytext"> 2 (2) </p></td><td class="usercell"><p class="bodytext"> 2 (3) </p></td></tr> </tbody></table><p id="p13916-19" class="auto">&nbsp;</p>
<p id="p13916-19" class="align-justify auto indent10"> Значна різниця у часі обчислення на ARM при прямому виклику математичної  операції з віртуальної машини JavaLikeCalc можливо пов'язана із  невирівняним читанням з області пам'яті під час читання команд  віртуальної машини, з чим має сенс пізніш розібратися та можливо якось  скомпенсувати.</p>
<p id="p13916-20" class="align-justify auto indent10"> У первинній конфігурації порт COM1 (/dev/ttySA0) використовується у ролі  консолі, яка ініціалізується командою ядра &quot;console=/dev/ttySA0&quot;. Однак  після налаштування це не потрібно, а часто і бажано звільнити ще один  COM-порт для інших цілей. Звільнити COM1 від роботи на консоль можно  перепризначивши інший пристрій для цієї ролі, наприклад, командою: <strong>$ busybox setconsole /dev/tty1</strong>. Однак цей метод не повністю звільняє COM-порт та запити втрачаються, вичитуючися паралельним підключенням.</p>
<h2>4. Заключення</h2>
<p id="p25028-20" class="indent10 auto align-justify"> У результаті було отримано збірку OpenSCADA для Linux контролерів,  ARM-архітектури, фірми &quot;ICP DAS&quot;. Збірку можна завантажити безпосередньо  на будь який Linux-ARM контролер, розпакувавши її у корні працюючої  первинної системи. При цьому однак залишаться дублікати старих базових  бібліотек (/lib/*), які, після вдалого перевантаження, можна видалити.</p>
<p id="p25028-21" class="indent10 auto align-justify"> Для контролерів сімейства LP-5x4x створено прошивку зі збіркою  OpenSCADA, яку можна завантажити стандартним для даних контролерів  чином, який описано у фірмовій документації &quot;ICP DAS&quot;. Прошивка для  LP-5x4x можливо підійде і для LP-5x3x, однак це не перевірялося!</p>]]></content:encoded>
			<category>Новина</category>
			<category>Рішення</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Fri, 23 Sep 2011 10:05:00 +0300</pubDate>
			
		</item>
		
		<item>
			<title>16-18го вересня 2011р. на морі, у місті Одеса(Україна), відбулася конференція та виставка відкритих рішень - FOSS Sea 2011</title>
			<link>http://www.oscada.org/ua/novini/odinochna-storinka/article//on-september-16-18th-2011-in-odessa-the-conference-of-developers-and-users-of-the-free-software-and//299826b3328c30e22ffad6bbf32e86ed/</link>
			<description>Конференція розробників та користувачів вільного програмного забезпечення організується...</description>
			<content:encoded><![CDATA[<p class="indent10 align-justify">На виставці були представлені наступні рішення OpenSCADA:</p><ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 6px; padding-left: 60px; overflow-x: auto; overflow-y: auto; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "><span class="right-column inline-block" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Динамічні   моделі технологічних процесів та систем управління ними: Газо-ліфтна   компресорна станція на шість компресорів, Багатопаливний паровий   котлоагрегат БКЗ-160.</span></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "><span class="right-column inline-block" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Модель та контролер (ICP_DAS) САУ кулькового барабанного млина помелу вугілля для котлоагрегатів ТЕЦ.</span></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "><span class="right-column inline-block" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">OpenSCADA на мобільному пристрою: Nokia N800, N950.</span></li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "><span class="right-column inline-block" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">OpenSCADA на промислових контролерах: ICP_DAS LP-8781, LP-5141.</span></li></ul>]]></content:encoded>
			<category>Новина</category>
			<category>Доповідь</category>
			<category>Публікація</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Mon, 19 Sep 2011 11:00:00 +0300</pubDate>
			
		</item>
		
		<item>
			<title>Розроблено інтерфейс виконання рецептів-програм користувача</title>
			<link>http://wiki.oscada.org/Using/GraphicElementsLibraries/MainElements#h1036-63</link>
			<description>В рамках проекту &quot;АСУ Вакуумної Установки&quot; розроблено інтерфейс виконання рецептів-програм...</description>
			<content:encoded><![CDATA[]]></content:encoded>
			<category>Новина</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Sat, 03 Sep 2011 18:16:00 +0300</pubDate>
			
		</item>
		
		<item>
			<title>Автоматизація жилого дому - &quot;Розумний дім&quot; (HouseSpirit)</title>
			<link>http://www.oscada.org/ua/novini/odinochna-storinka/article//apartment-house-automation-smart-house-housespirit//7e5e21c0a3461393ff1f06cda1ee7bd7/</link>
			<description>Назва: &quot;Розумний дім&quot; (HouseSpirit)
Розпочато: 28 03(березень) 2011р
Завершено: 12 06(червень)...</description>
			<content:encoded><![CDATA[<h2 style="margin-top: 20px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 20px; border-bottom-width: 3px; border-bottom-style: dotted; border-bottom-color: rgb(221, 221, 221); ">1. Об'єкт автоматизації</h2>
<p id="p32830-7" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Площа об'єкту автоматизації ≈ 300 м2. Температура повітря у приміщеннях, призначених для встановлення серверу, давачів та виконавчих механізмів: від 10 до 25 градусів за Цельсієм. Температура повітря за приміщенями, де встановлюються давачі та виконавчі механізми: від - 30 до 30 °С.</p>
<p id="p32830-8" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Рівні забруднення, вологості, освітлення, шуму та іонізуючого випромінювання відповідають санітарно-епідеміологічним вимогам до жилих споруд та приміщень (САНПІН 2.1.2.1002-00).</p>
<p id="p32830-9" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">На об'єкті присутнє електромагнітне випромінювання, індуковане побутовими пристроями, а також засобами електроно-обчислювальної техніки (Bluetooth, Wi-Fi, GSM).</p>
<p id="p32830-10" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Система “Розумний дім. Сервер керування” являє собою програмно-апаратний модуль, який є основним керуючим центром об'єкту автоматизації. Сервер приймає та обробляє сигнали від різних давачів, формує та передає сигнали керування виконавчим пристроям, здійснює зв'язок з користувачем через мережу GSM. Керування системою користувачем здійснюється через веб-інтерфейс.</p>
<p id="p32830-11" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Система “Розумний дім. Сервер керування” включає наступні підсистеми:</p><ol style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; " type="1"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема контролю доступу.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема контролю освітленням.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема контролю мікрокліматом.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема контролю водопровідною мережею.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема контролю побутовою та мультимедійною електротехнікою.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема обробки інформації, яка надходить з давачів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема забезпечення інтерактивної взаємодії з користувачем через Web-інтерфейс та через мережу GSM.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема авторизації.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема формування звітів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підсистема конфігурації забезпечує механізми додання, витяг та редагування інформації у використаній базі даних, для роботи підсистем 1-8.</li></ol><p id="p32830-12" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-12" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Структурна схема системи домової автоматики приведено на рис.1.</p><div style="float: center; text-align: center; "><p class="bodytext"><img src="http://wiki.oscada.org/HomePageUk/Using/SmartHouse/files?get=struct.png" alt="Структурна схема системи домової автоматики. (201&amp;nbsp;Кб)" title="Структурна схема системи домової автоматики. (201&amp;nbsp;Кб)" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; vertical-align: middle; " height="698" width="837"><br />Рис. 1. Структурна схема системи домової автоматики.</p></div><p id="p32830-13" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-13" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Для керування різним обладнанням жилого дому було розроблено концентратор та побудовано бездротову мережу<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://ru.wikipedia.org/wiki/Zigbee" target="_blank" class="outerlink" >ZigBee</a></span><span class="Apple-converted-space">&nbsp;</span>з пристроїв керування обладнанням. Загальний контроль обладнанням, а також надання користувацького Web-інтерфейсу та інші засоби повідомлення відбуваються сервером домової автоматики. Концентратор мережі ZigBee при цьому підключається до серверу за посередництвом інтерфейсу RS-232 та протоколу ModBus/RTU. Порушення у області контролю автоматики надсилаються користувачу у вигляді SMS-повідомлень через підключений GSM-модем.</p>
<p id="p32830-14" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Контролер бездротового зв'язку має наступні технічні характеристики:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Наявність приймально-передавача ZigBee;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Швидкість передавання даних за протоколом ZigBee не менш 200 Кб/с;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Наявність USB або COM – порту для підключення з сервером;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Живлення від мережі 220 В.</li></ul><p id="p32830-15" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-15" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">GSM-модуль має наступні технічні характеристиками (Siemens TC65):</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підтримка стандарту GSM-900;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Наявність USB або COM – порту для підключення до сервера;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підтримка AT команд стандарту GSM 07.05 та GSM 07.07;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Живлення від мережі 220 В.</li></ul><p id="p32830-16" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-16" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Апаратна частина серверу:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">процесор архітектури x86_32 або x86_64 (не нижче Intel Core2 Duo);</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">оперативна пам'ять класу DDR3, у об'ємі 2ГБ;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">наявність не менш трьох USB - портів.</li></ul><p id="p32830-17" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-17" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">У якості програмного оточення, для виконання функції автоматизації жилих приміщень — &quot;Розумний дім&quot; використано відкриту SCADA систему<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="../" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; vertical-align: middle; " alt="">OpenSCADA</a></span>, у оточені якої розроблено користувацький Web-інтерфейс &quot;Розумний дім&quot;, а також реалізовано опитування та контроль пристроїв за посередництвом ZigBee концентратору.</p>
<h2 style="margin-top: 20px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 20px; border-bottom-width: 3px; border-bottom-style: dotted; border-bottom-color: rgb(221, 221, 221); ">2. Система автоматизації</h2>
<p id="p32830-18" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Система OpenSCADA має декілька засобів формування користувацьких інтерфейсів візуалізації, починаючи від інтегрованих інструментів розробки типових інтерфейсів контролю різних галузей автоматизації та закінчуючи низькорівневими механізмами бібліотек та інтерфейсів графічних концептів.</p>
<p id="p32830-19" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">У особі інтегрованих інтерфейсів OpenSCADA містить:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Модуль «<span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".doc.vcaengine" href="http://wiki.oscada.org/Doc/VCAEngine?v=27f" title="Doc&amp;nbsp;/&amp;nbsp;VCA&amp;nbsp;Engine">UI.VCAEngine (RU)</a></span>» — рушій візуалізації для побудови уніфікованих інтерфейсів та представленням (кінцевої візуалізації) за допомогою різних типів графічних інтерфейсів, а також можливістю роботи як сервер інтерфейсів візуалізації.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Модуль «<span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".doc.vision" href="http://wiki.oscada.org/Doc/Vision?v=197p" title="Doc&amp;nbsp;/&amp;nbsp;Vision">UI.Vision (RU)</a></span>» — візуалізатор «UI.VCAEngine» та графічний інтерфейс розробки користувацьких інтерфейсів на основі бібліотеки побудови реактивних графічних інтерфейсів<span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/Qt" target="_blank" class="outerlink" >QT4</a></span>.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Модуль «<span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".doc.webvision" href="http://wiki.oscada.org/Doc/WebVision?v=xfr" title="Doc&amp;nbsp;/&amp;nbsp;Web&amp;nbsp;Vision">UI.WebVision (RU)</a></span>» — візуалізатор «UI.VCAEngine» на основі Web-інтерфейсів:<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/XHTML" target="_blank" class="outerlink" >XHTML</a></span>,<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/XML" target="_blank" class="outerlink" >XML</a></span>,<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/CSS" target="_blank" class="outerlink" >CSS</a></span>,<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/JavaScript" target="_blank" class="outerlink" >JavaScript</a></span>,<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/DOM" target="_blank" class="outerlink" >DOM</a></span><span class="Apple-converted-space">&nbsp;</span>та<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/AJAX" target="_blank" class="outerlink" >AJAX</a></span>.</li></ul><p id="p32830-20" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-20" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">До низькорівневих механізмів побудови користувацьких інтерфейсів можна віднести будь які інші графічні бібліотеки, у яких є інструменти швидкої розробки користувацьких інтерфейсів. При цьому кооперація з OpenSCADA відбувається як із джерелом даних та інтерфейсом уніфікованого керування обладнанням за посередництвом різноманітних протоколів.</p>
<p id="p32830-21" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Для надання можливості вільного формування користувацьких Web&nbsp;—&nbsp;інтерфейсів, безпосередньо у оточенні OpenSCADA, передбачено модуль «<span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".doc.webuser" href="http://wiki.oscada.org/Doc/WebUser?v=1476" title="Doc&amp;nbsp;/&amp;nbsp;Web&amp;nbsp;User">UI.WebUser (RU)</a></span>». В цілому OpenSCADA містить всі основні функції типового Web-серверу, а саме:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Прийом клієнтських підключень за стандартними транспортними протоколами:<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/TCP" target="_blank" class="outerlink" >TCP</a></span>,<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/UDP" target="_blank" class="outerlink" >UDP</a></span>,<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/%D1%EE%EA%E5%F2#Unix_domain_socket" target="_blank" class="outerlink" >Unix</a></span>, а також захищеними підключеннями<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/SSL" target="_blank" class="outerlink" >SSL</a></span><span class="Apple-converted-space">&nbsp;</span>та<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/TLS" target="_blank" class="outerlink" >TLS</a></span>.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Підтримка основних функцій протоколу<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://uk.wikipedia.org/wiki/HTTP" target="_blank" class="outerlink" >HTTP</a></span>, у об'ємі запитів GET та POST.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Динамічне формування користувацького контенту за посередництвом внутрішньої JavaScript (<span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".doc.javalikecalc" href="http://wiki.oscada.org/Doc/JavaLikeCalc?v=2np" title="Doc&amp;nbsp;/&amp;nbsp;Java&amp;nbsp;Like&amp;nbsp;Calc">JavaLikeCalc (RU)</a></span>) мови у вигляді потоків з вмістом: мов HTML, XHTML, XML, CSS, JavaScript, зображень різних форматів та інше.</li></ul><p id="p32830-22" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-22" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Відповідно, для побудови довільного користувацького інтерфейсу контролю достатньо мати інстальовану систему<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="../" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; vertical-align: middle; " alt="">OpenSCADA</a></span><span class="Apple-converted-space">&nbsp;</span>з модулями:<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".doc.soskets" href="http://wiki.oscada.org/Doc/Soskets?v=107s" title="Doc&amp;nbsp;/&amp;nbsp;Soskets">Transport.Sockets (RU)</a></span>,<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".doc.ssl" href="http://wiki.oscada.org/Doc/SSL?v=88" title="Doc&amp;nbsp;/&amp;nbsp;SSL">Transport.SSL (RU)</a></span>,<span style="color: rgb(0, 51, 153); text-decoration: none; "><a name=".doc.http" href="http://wiki.oscada.org/Doc/HTTP?v=1bmh" title="Doc&amp;nbsp;/&amp;nbsp;HTTP">Protocol.HTTP (RU)</a></span><span class="Apple-converted-space">&nbsp;</span>та<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none; "><a href="http://wiki.oscada.org/Doc/WebUser?v=1476" title="Doc&nbsp;/&nbsp;Web&nbsp;User" target="_blank" >UI.WebUser (RU)</a></span>.</p>
<h3 style="margin-top: 15px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 17px; border-bottom-width: 2px; border-bottom-style: dotted; border-bottom-color: rgb(221, 221, 221); ">2.1. Структура та розташування файлів</h3>
<p id="p32830-23" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">З метою зменшення навантаження на повністю динамічне формування користувацького інтерфейсу, а також для спрощення наступного розширення та модифікації стилю Web-інтерфейс було поділено на статичну та динамічну частини.</p>
<p id="p32830-24" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Статична частина представляє з себе набір шаблонних HTML-файлів, з мітками розташування динаміки, та ресурсні файли: CSS, JavaScript та зображення. В цілому, статична частина представлена файлами, які описані у таблиці нижче:</p><table class="usertable" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-color: initial; border-collapse: collapse; " border="1"><tbody><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><strong>Файл</strong></p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><strong>Опис</strong></p></td></tr><tr class="userrow"><td class="usercell" colspan="2" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><em>HTML-шаблони (HouseSpirit/Web/*)</em></p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">main.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Головний шаблон користувацького інтерфейсу. Містить загальний інтерфейс користувача з міткою розташування вмісту сторінок «#####CONTEXT#####».</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">auth.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон інтерфейсу авторизації з міткою розташування вмісту «#####CONTEXT#####». Створено для використання модулем протоколу HTTP (/sub_Protocol/mod_HTTP).</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">access.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон контролю доступу.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">temperature.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон керування мікрокліматом.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">light.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон керування освітленням.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">water.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон керування водопровідною підсистемою.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">tech.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон керування електронною та побутовою технікою.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">friend.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон керування користувацькими пристроями.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">user.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон диспетчеру користувачів.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">devices.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон диспетчеру пристроїв.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">loginError.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Сторінка повідомлення помилки аутентифікації або її відсутності.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">mess.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон повідомлень активних аварійних випадків.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">report.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Шаблон формування звітів про порушення, дії та системні повідомлення.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">welcome.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Сторінка привітання, яку зображається по замовченню у полі контенту.</p></td></tr><tr class="userrow"><td class="usercell" colspan="2" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><em>Ресурси (HouseSpirit/Web/res/*)</em></p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">stylesheet.css</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Каскадні таблиці стилів користувацького інтерфейсу цілком.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">main.js</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">JavaScript код головного шаблону, для лічильнику часу та сеансу.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">devMon.js</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">JavaScript код реалізації динамічного AJAX інтерфейсу моніторингу пристроїв підсистем.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">access.png, accesson.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення підсистеми контролю доступу.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">temperature.png, temperatureon.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення підсистеми керування мікрокліматом.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">light.png, lighton.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення підсистеми керування освітленням.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">water.png, wateron.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення керування водопровідною підсистемою.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">tech.png, techon.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення підсистеми управління електронною та побутовою технікою.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">friend.png, friendon.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення підсистеми керування користувацькими пристроями.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">user.png, useron.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення диспетчера користувачів.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">devices.png, deviceson.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення диспетчеру пристроїв.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">report.png, reporton.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення формування звітів про порушення, дії та системні повідомлення.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">help.png, helpon.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення сторінки допомоги.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">HouseSpirit.ico</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Іконка Web-інтерфейсу.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">hd_l.png, hd_r.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Ліва та права частина заголовку.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">select_l.png, select_r.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення фону обраного елементу меню ліворуч та праворуч.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">space_l.png, space_r.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення вільного пункту меню ліворуч та праворуч.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">status_l.png, status_r.png status_edge.png</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Зображення рядку статусу.</p></td></tr><tr class="userrow"><td class="usercell" colspan="2" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><em>Файли звітів (HouseSpirit/Web/reports/*)</em></p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">rep_{user}.html</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Останній звіт користувача user.</p></td></tr></tbody></table><p id="p32830-25" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-25" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Динамічну частину реалізовано скриптами OpenSCADA на внутрішній мові JavaLikeCalc, які описано у таблиці нижче:</p><table class="usertable" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-color: initial; border-collapse: collapse; " border="1"><tbody><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><strong>Адреса скрипту</strong></p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><strong>Опис</strong></p></td></tr><tr class="userrow"><td class="usercell" colspan="2" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><em>Скрипт Web-сайту (/sub_UI/mod_WebUser/)</em></p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">up_hs</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="p32830-26"></a></span><p id="p32830-26" class="auto" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Головний скрипт Web-сайту, який виконує безпосередній прийом, первинну обробку та формування остаточної відповіді, а саме:</p></p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Обслуговування запитів до сторінок-шаблонів:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">читання файлу обраної сторінки-шаблону, якщо обрання мало місце;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">читання та розбір файлу головного шаблону інтерфейсу (main.html);</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">розташування поточного часу сервера у атрибуті &quot;value&quot; елементу дерева головного шаблону з ідентифікатором &quot;time_vl&quot;;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">розташування початкового значення лічильника активного сеансу у атрибут &quot;value&quot;, елементу дерева головного шаблона з ідентифікатором &quot;ses_vl&quot;;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">перевірка загального доступу автентифікованого користувача до тих або інших частин інтерфейсу та приховання елементів до яких немає доступу на перегляд;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">обробка обраного пункту меню сторінки:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">підсвічування елементу меню активної сторінки;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">пошук та виклик скрипту динаміки (/sub_DAQ/mod_JavaLikeCalc/lib_web/*) однойменно, або з аргументу &quot;script URL&quot;, обраної сторінки.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">читання файлу сторінки привітання (welcome.html), у випадку відсутності обрання сторінки з меню;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">встановлення значень поточної сторінки та користувача у рядку статусу;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">розташування контексту сторінки у головний шаблон інтерфейсу.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Обслуговування запитів до файлів ресурсів та звітів:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Обробка розширень файлів ресурсу та формування атрибуту типу (Content-Type), передаваного контенту.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">Генерація відповідей з помилкою у випадку відсутності сторінок-шаблонів або файлів ресурсів.</li></ul></td></tr><tr class="userrow"><td class="usercell" colspan="2" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext"><em>Бібліотека скриптів шаблонів-сторінок та системних процесів (/sub_DAQ/mod_JavaLikeCalc/lib_web/*)</em></p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">user</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Скрипт сторінки-шаблону «Диспетчер користувачів» реалізує функцію формування форми керування користувачами у залежності від прав користувача який увійшов.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">devices</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Скрипт сторінки-шаблону «Диспетчер пристроїв» реалізує функцію формування форми керування пристроями та генерацією порушень за ними для двох типів пристроїв: десятковий та динамічний.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">devMon</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Скрипт формування інтерфейсу моніторингу у формі керування пристроями, які сконфігуровано у «Диспетчері пристроїв». Цей скрипт використовується всіма підсистемами моніторингу пристроїв.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">alarms</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Скрипт задачі періодичної перевірки значень змінних пристроїв на предмет сконфігурованих аварійних ситуацій. Крім безпосереднього формування порушень цей скрипт здійснює розсилання SMS-сповіщень з повідомленням по телефонам користувачів, встановлених для повідомлення з посередництвом SMS.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">mess</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Скрипт сторінки-шаблону «Порушення» реалізує функцію формування переліку активних порушень.</p></td></tr><tr class="userrow"><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">report</p></td><td class="usercell" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 4px; vertical-align: top; "><p class="bodytext">Скрипт сторінки-шаблону «Звіти» реалізує функцію формування таблиці-звіту з подіями по системі та різним підсистемам за визначений період часу. Звіт одночасно генерується на екрані і у файлі, який можна, за посиланням, завантажити окремо.</p></td></tr></tbody></table><p id="p32830-27" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">&nbsp;</p>
<p id="p32830-27" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">В цілому алгоритм обробки запитів до сторінок наступний (на прикладі<span class="Apple-converted-space">&nbsp;</span><strong><a href="http://localhost:10002/WebUser/temperature?script=devMon" target="_blank" >localhost/WebUser/temperature</a></strong>):</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">запит поступає у скрипт<span class="Apple-converted-space">&nbsp;</span><strong>/sub_UI/mod_WebUser/hs</strong><span class="Apple-converted-space">&nbsp;</span>з транспорту<span class="Apple-converted-space">&nbsp;</span><strong>/sub_Transport/mod_Sockets/in_WEB_1</strong>, за посередництвом модуля протоколу<span class="Apple-converted-space">&nbsp;</span><em>Protocol.HTTP</em>;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">вантажиться файл шаблону<span class="Apple-converted-space">&nbsp;</span><em>temperature.html</em>;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">здійснюється пошук скрипту сторінки devMon (<strong>/sub_DAQ/mod_JavaLikeCalc/lib_web/devMon</strong>). Якщо аргумент<span class="Apple-converted-space">&nbsp;</span><em>script</em><span class="Apple-converted-space">&nbsp;</span>відсутній тоді здійснюється пошук скрипту за назвою сторінки (<strong>/sub_DAQ/mod_JavaLikeCalc/lib_web/temperature</strong>);</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">здійснюється передача шаблону сторінки до знайденого скрипту для формування динаміки;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">результат виконання скрипту сторінки розташовується у головному шаблоні;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">якщо скрипт сторінки не виявлено, тоді шаблон сторінки розташовує її вміст безпосередньо у головному шаблоні.</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1075-6"></a></span></p>
<h3 style="margin-top: 15px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 17px; border-bottom-width: 2px; border-bottom-style: dotted; border-bottom-color: rgb(221, 221, 221); ">2.2. Менеджер пристроїв</h3>
<p id="p32830-28" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Менеджер пристроїв доступний тільки суперкористувачу та формує форму редагування, додання та видалення пристроїв двох типів: бінарний та десятковий.</p>
<p id="p32830-29" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Створювані пристрої безпосередньо розташовуються у переліку атрибутів параметру конкретно взятої підсистеми контролеру «ZigBee» модуля джерела даних ModBus (/sub_DAQ/mod_ModBus/cntr_ZegBee/</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">«<strong>R:0:r:cond:Кондиціонер:bin:10:Включено:0:Виключено:(120|100)</strong>» — для бінарного давача:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>R</em><span class="Apple-converted-space">&nbsp;</span>— регістр ModBus;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>0</em><span class="Apple-converted-space">&nbsp;</span>— адреса регістру ModBus;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>r</em><span class="Apple-converted-space">&nbsp;</span>— тільки читання;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>cond</em><span class="Apple-converted-space">&nbsp;</span>— ідентифікатор атрибута-давача;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>Кондиціонер</em><span class="Apple-converted-space">&nbsp;</span>— назва давача;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>bin</em><span class="Apple-converted-space">&nbsp;</span>— тип давача - «Бінарний»;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>10</em><span class="Apple-converted-space">&nbsp;</span>— перше значення;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>Включено</em><span class="Apple-converted-space">&nbsp;</span>— назва першого значення;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>0</em><span class="Apple-converted-space">&nbsp;</span>— друге значення;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>Виключено</em><span class="Apple-converted-space">&nbsp;</span>— назва другого значення;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>(120|100)</em><span class="Apple-converted-space">&nbsp;</span>— координати розташування<span class="Apple-converted-space">&nbsp;</span><strong>({x}|{y})</strong><span class="Apple-converted-space">&nbsp;</span>давача на схемі жилого приміщення.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">«<strong>R:3:rw:tGhost1:Температура у вітальні 1:dec:град. С:y=2*x;:(120|100)</strong>» — для десяткового давача:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>rw</em><span class="Apple-converted-space">&nbsp;</span>— тільки читання;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>dec</em><span class="Apple-converted-space">&nbsp;</span>— тип давача - «Десятковий»;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>град. С</em><span class="Apple-converted-space">&nbsp;</span>— одиниця виміру змінної;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>y=2*x;</em><span class="Apple-converted-space">&nbsp;</span>— формула перерахунку зчитаної змінної для відображення;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; "><em>(120|100)</em><span class="Apple-converted-space">&nbsp;</span>— координати розташування<span class="Apple-converted-space">&nbsp;</span><strong>({x}|{y})</strong><span class="Apple-converted-space">&nbsp;</span>давача на схемі жилого приміщення.</li></ul></li></ul><p id="p32830-30" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-30" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">Крім безпосередньо давачів здійснюється конфігурація та формування порушень у вигляді тексту процедури. Програма формування розташовується у атрибут «var», параметру контролера порушень<span class="Apple-converted-space">&nbsp;</span><strong>/sub_DAQ/mod_JavaLikeCalc/cntr_alarms/prm_rules</strong>. Атрибут «var» містить XML дерево вигляду:<span class="Apple-converted-space">&nbsp;</span></p><div class="code" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(136, 136, 136); border-right-color: rgb(136, 136, 136); border-bottom-color: rgb(136, 136, 136); border-left-color: rgb(136, 136, 136); border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; font-family: 'Courier New'; color: black; font-size: 10pt; width: 1052px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; background-position: initial initial; background-repeat: initial initial; "><p class="bodytext">&lt;code&gt;<span style="color: rgb(0, 0, 0); ">&lt;ALARMS&gt;<br />&nbsp;&nbsp;&lt;it&nbsp;id&nbsp;=&nbsp;&quot;temperature.cond1&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;if(x&amp;lt;10)&nbsp;err&nbsp;=&nbsp;&amp;quot;Низька&nbsp;температура:&nbsp;&amp;quot;+x+&amp;quot;&nbsp;&amp;lt;&nbsp;10&amp;quot;;<br />&nbsp;&nbsp;&lt;/it&gt;<br />&lt;/ALARMS&gt;</span>&lt;/code&gt;</p></div><p id="p32830-31" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-31" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="indent10 auto align-justify">У Відповідності з цим XML-деревом здійснюється формування порушень та надсилання SMS-повідомлення підписаним користувачам у задачі контролеру<strong>/sub_DAQ/mod_JavaLikeCalc/cntr_alarms</strong>, яка виконується з періодом 1 хвилина.</p>
<p id="p32830-32" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">SMS-повідомлення надсилаються через послідовний транспорт<span class="Apple-converted-space">&nbsp;</span><strong>/sub_Transport/mod_Serial/out_GSM</strong><span class="Apple-converted-space">&nbsp;</span>та за посередництвом користувацького SMS-протоколу (<strong>/sub_Protocol/mod_UserProtocol/up_SMS</strong>).</p>
<p id="p32830-33" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Передбачено також функцію відкладеної видачі керуючої дії. Для цього користувач встановлює потрібний час, у вигляді:<span class="Apple-converted-space">&nbsp;</span><strong>{Min}:{Sec}</strong>. Обробка відкладеного керування здійснюється у контролері<span class="Apple-converted-space">&nbsp;</span><strong>/sub_DAQ/mod_JavaLikeCalc/cntr_timers</strong><span class="Apple-converted-space">&nbsp;</span>за посередництвом встановлення атрибуту «var», параметру «rules»; запитами у вигляді XML дерева:</p><div class="code" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(136, 136, 136); border-right-color: rgb(136, 136, 136); border-bottom-color: rgb(136, 136, 136); border-left-color: rgb(136, 136, 136); border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; font-family: 'Courier New'; color: black; font-size: 10pt; width: 1052px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; background-position: initial initial; background-repeat: initial initial; "><p class="bodytext">&lt;code&gt;<span style="color: rgb(0, 0, 0); ">&lt;TIMERS&gt;<br />&nbsp;&nbsp;&lt;timer&nbsp;id=&quot;temperature.tGhost1&quot;&nbsp;tm=&quot;60&quot;&nbsp;user=&quot;root&quot;&gt;20&lt;/timer&gt;<br />&nbsp;&nbsp;&lt;timer&nbsp;id=&quot;temperature.cond1&quot;&nbsp;tm=&quot;10&quot;&nbsp;user=&quot;root&quot;&gt;0&lt;/timer&gt;<br />&lt;/TIMERS&gt;</span>&lt;/code&gt;</p></div><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none; "><a name="h1075-7"></a></span></p>
<h3 style="margin-top: 15px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 17px; border-bottom-width: 2px; border-bottom-style: dotted; border-bottom-color: rgb(221, 221, 221); ">2.3. Підсистеми</h3>
<p id="p32830-34" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Всі підсистеми візуалізації обслуговуються скриптом<span class="Apple-converted-space">&nbsp;</span><strong>/sub_DAQ/mod_JavaLikeCalc/lib_web/devMon</strong>. В цьому скрипті здійснюється обробка запитів від скрипту динамічної візуалізації Web-браузера та передача йому даних про пристрої підсистеми, потрібні для візуалізації. Дані про пристрої передаються у відповідності з правами доступу користувача який увійшов.</p>
<p id="p32830-35" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Конфігурація давачів читається з параметру, відповідного до підсистеми, контролера «ZigBee» (<strong>/sub_DAQ/mod_ModBus/cntr_ZegBee</strong>). Значення читаються та записуються у атрибути давачів цих параметрів або через контролер відкладеного керування.</p>
<p id="p32830-36" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Задача контролера «ZigBee» виконується з періодом 1 секунда, у процесі чого здійснюється запит поточних значень всіх сконфігурованих давачів. Запис значень здійснюється за фактом модифікації, незалежно від задачі періодичного опитування або через контролер відкладеного керування, у випадку встановлення ненульового часу таймеру.</p>
<p id="p32830-37" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Зв'язок контролеру «ZigBee» здійснюється через послідовний вихідний транспорт<span class="Apple-converted-space">&nbsp;</span><strong>/sub_Transport/mod_Serial/out_ZegBee</strong>.</p>
<h3 style="margin-top: 15px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 17px; border-bottom-width: 2px; border-bottom-style: dotted; border-bottom-color: rgb(221, 221, 221); ">2.4. Менеджер користувачів</h3>
<p id="p32830-38" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Менеджер користувачів призначено для створення, видалення та редагування облікових записів звичайних користувачів.</p>
<p id="p32830-39" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Користувачі умовно поділяються на адміністраторів та простих користувачів. Ідентифікація користувача як адміністратора, у системі OpenSCADA, здійснюється включенням його до групи «WebRoot» (<strong>/sub_Security/grp_WebRoot</strong>). Звичайний користувач включається до групи «Web» (<strong>/sub_Security/grp_Web</strong>).</p>
<p id="p32830-40" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify"><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Verdana; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 16px; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">У системі OpenSCADA у кожного користувача (<strong>/sub_Security/usr_test1/</strong>) є текстове поле опису, яке, у даному випадку, слугує для збереження його спеціалізованих параметрів у вигляді:</span></p><div class="code" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(136, 136, 136); border-right-color: rgb(136, 136, 136); border-bottom-color: rgb(136, 136, 136); border-left-color: rgb(136, 136, 136); border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; font-family: 'Courier New'; color: black; font-size: 10pt; width: 1052px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; background-position: initial initial; background-repeat: initial initial; "><p class="bodytext">&lt;code&gt;<span style="color: rgb(0, 0, 0); ">TEL:&nbsp;+380679859815<br />SMS:&nbsp;true<br />Report:&nbsp;false<br />sub_access:&nbsp;--<br />sub_friend:&nbsp;--<br />sub_light:&nbsp;--<br />sub_tech:&nbsp;--<br />sub_temperature:&nbsp;rw<br />sub_water:&nbsp;--</span>&lt;/code&gt;</p></div><p id="p32830-41" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="auto">&nbsp;</p>
<p id="p32830-41" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="indent10 auto align-justify">У випадку із адміністратором записи прав доступу до підсистем відсутні, але присутні загальносистемні параметри на зразок часу життя сеансу (<strong>/sub_Protocol/mod_HTTP</strong>).</p>
<h3 style="margin-top: 15px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 17px; border-bottom-width: 2px; border-bottom-style: dotted; border-bottom-color: rgb(221, 221, 221); ">2.5. Повідомлення</h3>
<p id="p32830-42" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">Перелік повідомлень формується, виходячи з переліку активних порушень за їх категоріями «ALARM:House:*» у вигляді таблиці з часом, категорією, рівнем та повідомленням порушення.</p>
<p id="p32830-42" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px; " class="auto">&nbsp;</p>
<h3 style="margin-top: 15px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 17px; border-bottom-width: 2px; border-bottom-style: dotted; border-bottom-color: rgb(221, 221, 221); ">2.6. Звіти</h3>
<p id="p32830-43" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">У формуванні звіту визначається діапазон часу та обираються типи повідомлень. Передбачена генерація повідомлень для типів:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; "><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">«Системні повідомлення» — включає повідомлення про авторизацію та вихід користувачів на ресурсі, за посередництвом категорії повідомлень «/\/sub_Protocol\/mod_HTTP\//».</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em; ">«Події підсистем моніторингу та керування» — включають порушення та запис нових значень за давачами, за посередництвом категорії повідомлень «/(ALARM|SET)\:House\/:».</li></ul><p id="p32830-44" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " class="indent10 auto align-justify">&nbsp;</p>
<p id="p32830-44" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="indent10 auto align-justify">Протокол формується у вигляді таблиці з часом, категорією, рівнем та повідомленням порушення, яке також записується у окремий файл звіту, надалі доступний за посиланням для окремого відкриття.</p>]]></content:encoded>
			<category>Новина</category>
			<category>Рішення</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Sun, 12 Jun 2011 00:00:00 +0300</pubDate>
			
		</item>
		
		<item>
			<title>Реліз OpenSCADA 0.7.1</title>
			<link>http://www.oscada.org/ua/novini/odinochna-storinka/article//release-of-openscada-071//2fe31bd9e8d52138d46dc02147d33be6/</link>
			<description>Основною метою цього релізу є реалізація комерційного сервісу на основі OpenSCADA та адаптація до...</description>
			<content:encoded><![CDATA[<p class="indent10">&nbsp;</p><div style="text-align: center;"><h1 style="margin: 0px; padding: 2px 0px 7px; font-family: Verdana; font-size: 23px; line-height: 25px; color: rgb(51, 51, 51);">OpenSCADA 0.7.1</h1></div><p class="bodytext"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; line-height: 16px;"></span></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221);">Вступ</h2>
<p id="p23406-4" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="align-justify auto indent10">Цей реліз є запланованим випуском робочої версії системи OpenSCADA, які зазвичай відбуваються з періодичністю 3-4 місяці. Основною метою цього релізу є реалізація комерційного сервісу на основі OpenSCADA та адаптація до апаратної платформи ARM. Крім основних завдань, у межах цього релізу виконано велику роботу по стабілізації, очищенню вихідного коду, а також всебічного розширення можливостей.</p>
<p id="p23406-4" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="align-justify auto indent10">Цей документ є обробкою (компіляцією) документа &lt;ChangeLog&gt; системи OpenSCADA версії 0.7.1, який призначено коротко та наочно освітлити нові можливості системи OpenSCADA. Детально ознайомитися зі змінами у системі OpenSCADA можна у файлі ChangeLog з дистрибутива системи або тут:<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none;"><a href="http://wiki.oscada.org/Works/ChangeLog" target="_blank" class="outerlink" >http://wiki.oscada.org/Works/ChangeLog</a></span><span class="Apple-converted-space">&nbsp;</span>(RU).</p>
<p id="p23406-5" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="auto indent10">Ключовими особливостями цієї версії є:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Реалізація запланованих завдань.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Оптимізація, підвищення стабільності, стійкості та продуктивності системи.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Удосконалення та стабілізація графічної підсистеми.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Формування та стабілізація API програмування користувача.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Загальносистемні розширення.</li></ul><p id="p23406-6" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="auto indent10">Нові та оновлені модулі:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Archive.FSArch (1.4.5)</em><span class="Apple-converted-space">&nbsp;</span>- Значна стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DB.MySQL (1.7.0)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додана можливість встановлення таймаутів підключення.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DB.SQLite (1.6.3)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DB.FireBird (0.9.6)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DB.PostgreSQL (0.9.1)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.DiamondBoards (1.2.2)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.System (1.7.3)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Залежність від бібліотеки &quot;Libsensors&quot; зроблена необов'язковою.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.BlockCalc (1.4.1)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додано підсвічування синтаксису.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.JavaLikeCalc (1.9.0)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додано підсвічування синтаксису. Виконано адаптацію до апаратної архітектури ARM. Додано реалізацію регулярних виразів та низки розширень API користувача. Додано можливість запису символів рядка за допомогою вісімкового &quot;\041&quot; та шістнадцяткового &quot;\x21&quot; числа.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.LogicLev (1.1.3)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Деякі розширення.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.SNMP (0.6.0)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Реалізація повної підтримки клієнтської частини протоколу. Додано підтримку всіх типів значень. Додано підтримку запису значень. Покращено обробку помилок. Додано додаткові параметри конфігурації підключення.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.Siemens (1.2.4)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.ModBus (1.1.2)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додано підсвічування синтаксису переліку атрибутів. Деякі удосконалення.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.DCON (0.5.0)</em><span class="Apple-converted-space">&nbsp;</span>- Модуль повністю переписано на предмет підтримки змішаних модулів, за посередництвом обрання команд запиту.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.ICP_DAS (0.7.3)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.DAQGate (0.9.2)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додано кеш параметрів для їх ініціалізації під час автономної роботи.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.SoundCard (0.6.2)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.OPC_UA (0.6.1)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додано підсвічування синтаксису переліку атрибутів атрибутів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.BFN (0.5.0)</em><span class="Apple-converted-space">&nbsp;</span>- Новий модуль.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport.Sockets (1.4.6)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport.SSL (0.9.6)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport.Serial (0.7.2)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Під час ініціалізації порту використано попередні налаштування та реалізовано можливість опустити встановлення окремих налаштувань.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Protocol.ModBus (0.6.2)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Деякі покращення.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Protocol.OPC_UA (0.6.1)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Protocol.HTTP (1.5.1)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додано підтримку змінної HTTP &quot;Transfer-Encoding=chunked&quot; у вихідному транспорті.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Protocol.SelfSystem (0.9.4)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Protocol.UserProtocol (0.6.1)</em><span class="Apple-converted-space">&nbsp;</span>- Додано підсвічування синтаксису.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Special.SystemTests (1.5.1)</em><span class="Apple-converted-space">&nbsp;</span>- Невеликі удосконалення.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.QTStarter (1.6.1)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Адаптація до ARM.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.QTCfg (2.0.0)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Використано груповий запит до інтерфейсу керування з метою оптимізації віддаленого доступу до OpenSCADA станції. Адаптація до ARM. Додано функцію ручної зміни висоти для елементів тексту та таблиць (схопив за нижній край та потягнув). Додано багаторівневе підсвічування синтаксису.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebCfg (1.5.5)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebCfgD (0.6.6)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.VCAEngine (1.1.0)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додано контекстну підказку до атрибутів примітивів віджетів. Додано підсвічування синтаксису до атрибутів примітивів віджету.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.Vision (1.1.0)</em><span class="Apple-converted-space">&nbsp;</span>- Значна стабілізація. Помітні удосконалення. Адаптація до ARM. Додано відображення та відновлення втрати зв'язку під час віддаленого виконання сеансу. Додано окремий повнотекстовий редактор для текстових атрибутів. Додано контекстну підказку до атрибутів примітивів віджетів. Додано підсвічування синтаксису до текстових атрибутів примітивів віджетів. Додано діалог для встановлення властивостей окремо обраних фігур.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebVision (0.9.1)</em><span class="Apple-converted-space">&nbsp;</span>- Значна стабілізація. Невеликі покращення.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebUser (0.6.1)</em><span class="Apple-converted-space">&nbsp;</span>- Стабілізація. Додано підсвічування синтаксису процедур.</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none;"><a name="h1052-3"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221);">1 Реалізація запланованих завдань</h2>
<p id="p23406-7" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="auto indent10">У відповідності до<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none;"><a name=".homepageuk.works.roadmap" href="http://wiki.oscada.org/HomePageUk/Works/RoadMap?v=59r" title="Home&amp;nbsp;Page&amp;nbsp;Uk&amp;nbsp;/&amp;nbsp;Works&amp;nbsp;/&amp;nbsp;Road&amp;nbsp;Map">плану</a></span><span class="Apple-converted-space">&nbsp;</span>релізу було виконано наступні завдання:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Формування надання комерційних послуг на основі OpenSCADA.</em><span class="Apple-converted-space">&nbsp;</span>- Побудовано концепцію та створено механізми надання комерційних послуг розробниками на основі OpenSCADA (<span style="color: rgb(0, 51, 153); text-decoration: none;"><a href="../ua/poslugi" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" style="border-width: 0px; vertical-align: middle;" />http://oscada.org/ua/poslugi</a></span><span class="Apple-converted-space">&nbsp;</span>).</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Адаптація системи OpenSCADA до роботи на апаратній платформі ARM.</em><span class="Apple-converted-space">&nbsp;</span>- Здійснено збірку, адаптацію та повномасштабне тестування OpenSCADA до архітектури ARM; на інтернет планшеті фірми<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none;"><a href="http://en.wikipedia.org/wiki/Nokia" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" style="border-width: 0px; vertical-align: middle;" />Nokia</a></span><span class="Apple-converted-space">&nbsp;</span>-<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0, 51, 153); text-decoration: none;"><a href="http://en.wikipedia.org/wiki/Nokia_N800" title="Внешняя ссылка (откроется в новом окне)" target="_blank" class="outerlink" ><img src="http://wiki.oscada.org/themes/default/icons/web.gif" style="border-width: 0px; vertical-align: middle;" />N800</a></span><span class="Apple-converted-space">&nbsp;</span>(<span style="color: rgb(0, 51, 153); text-decoration: none;"><a href="http://wiki.oscada.org/Works/Tests/ARM" target="_blank" class="outerlink" >http://wiki.oscada.org/Works/Tests/ARM</a></span>(RU)). А також приватні заходи по адаптації:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS</em>: Прототипи функцій TMess::put(), TMess::get(), TCntrNode::grpSize(), TCntrNode::grpId(), TCntrNode::grpAt() змінено для виправлення використання беззнакового типу &quot;char&quot; на ARM як знакового.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS.TVariant, DAQ.AMRDevs, DAQ.OPC_UA</em>: Виправлено невирівнюваний доступ до даних.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS.TCntrNode</em>: Виправлено використання беззнакового &quot;char&quot; у ARM як знакового.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Archive</em>: Прототипи функцій TArchiveS::messPut() та TArchiveS::messGet() змінено для виправлення змінної рівня повідомлення як знакового числа.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.JavaLikeCalc</em>: Віртуальну машину переписано для прямого використання структур команд, з метою виключення проблеми вирівнювання, а також для деякого підвищення продуктивності.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.Siemens</em>: Виправлено проблему бібліотеки NoDave на предмет глобального виклику команди пакування структур &quot;#pragma pack(1)&quot;.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.QTCfg</em>: Додано короткочасне засинання, після закриття всіх вікон, у функції виключення. З метою надати час остаточно зруйнуватися об'єктам всіх вікон та запобігти падінню.</li></ul></li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none;"><a name="h1052-4"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221);">2 Оптимізація, підвищення стабільності, стійкості та продуктивності системи</h2>
<p id="p23406-8" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="align-justify auto indent10">У процесі робіт над цією версією, а також її практичної адаптації, було виявлено та виправлено в загальній складності біля 90 помилок. В цілому було виконано роботу по чищенню коду від попереджувальних повідомлень компілятору, з прапорцем &quot;-Wall&quot;:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">видалення невикористаних змінних;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">додання повернень до всіх функцій;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">ініціалізація змінних з можливістю їх використання невизначеними;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">виключення неповної обробки перелічуваних типів у операції обрання;</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">порівняння знакового з беззнаковим цілим.</li></ul><p id="p23406-9" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="indent10 auto align-justify">Перелічимо більш істотні помилки, виправлення яких значним чином відбилося на підвищені стабільності:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Загальносистемні:</em><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Команду складальної системи &quot;$ make dist&quot; виправлено та адаптовано до коректного створення дистрибутивів OpenSCADA.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Функцію TSYS::cron(), для виклику за розкладом, неодноразово виправлено.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Тип змінної для збереження результату функції find(), рядка, всюди змінено на коректний &quot;size_t&quot;.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Function</em>: Виключено можливість витоку пам'яті у випадку спроби встановити об'єкт до необ'єктного параметру функції.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Бази даних:</em><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DB.PostgreSQL</em>: Виправлено обробку адреси БД на предмет визначення порожніх ділянок.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Транспорти та протоколи:</em><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport</em>: Виправлено завантаження всіх транспортів з БД, у випадку наявності записів про транспорт, модуль якого відсутній.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport.Serial</em>: Встановлено прапор O_NONBLOCK для функції open() послідовного пристрою з метою попередження блокування відкриття порту на деяких USB-&gt;RS485 перетворювачах.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport.Sockets, Transport.SSL</em>: Додано очищення вхідного буферу для попередження повторного використання на високолатентних каналах, після таймауту.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport.Sockets</em>: Виправлено закриття клієнтського з'єднання за таймаутом часу життя, для підключень з відсутністю даних.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport.Sockets</em>: Unix-сокет встановлено у неблокуючий режим за посередництвом прапору O_NONBLOCK. Виправлено формування повідомлень про помилки для вихідних транспортів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Protocol.HTTP, UI.WebCfg, UI.WebCfgD, UI.WebVision, UI.WebUser</em>: Виправлено розбір елементів POST-запиту на предмет розбору всіх атрибутів кожного елементу.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Збір даних та архіви:</em><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Archive</em>: Виправлено використання буферу м'якої сітки з низькою роздільною здатністю часу, у архівах значень.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Archive.FSArch</em>: Виправлено створення файлів архіву повідомлень при розташуванні безлічі старих повідомлень. Додано параметр попередження дублікатів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Archive.FSArch</em>: Результат функції fgetc() записано у цілочисельну змінну, замість символьної, що виправило виявлення &quot;EOF&quot;.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.System</em>: Виправлено падіння при виході, для джерела &quot;Hddtemp&quot;.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.ModBus</em>: Режим встановлення значень атрибутів параметрів змінено на активний та покращено обробку помилок.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.JavaLikeCalc</em>: Додано перевірку індексу при доступі до символу рядка за індексом, з метою попередження виходу за діапазон.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Інтерфейси візуалізації:</em><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.VCAEngine</em>: Виправлено блокування сеансу для динамічно активних проектів, під час динамічного доступу до власних атрибутів віджету.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.Vision</em>: Виправлено падіння сеансу для проектів з періодом виконання більш 500 мс.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.Vision</em>: Реалізовано доведення координат фігур примітиву &quot;Елементарна фігура&quot; до залишку положення віджету.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.Vision</em>: Масштабування тексту, примітиву &quot;Текст&quot;, змінено на зміну розміру шрифта замість масштабування кінцевого зображення, що підвищило загальну якість відображення шрифта.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.Vision, UI.WebVision</em>: Підвищено роздільну здатність координат всіх віджетів до трьох знаків після коми, з метою забезпечення нормального позиціювання на великих масштабах.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebVision, UI.Vision</em>: Виправлено оновлення зображення примітиву &quot;Елементарна фігура&quot; під час зміни масштабу.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebVision</em>: Видалена перевірка влучення точок фігур у межі відображення примітиву &quot;Елементарна фігура&quot;. Цю функцію перекладено на бібліотеку GD.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebVision</em>: Виключено можливість падіння для примітивів &quot;Diagram&quot; та &quot;ElFigure&quot;, у випадку передавання некоректних значень атрибутів зображення &quot;xSc&quot; або &quot;ySc&quot; з Web-браузера.</li></ul></li></ul><p id="p23406-10" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="auto indent10">Оптимізація та підвищення продуктивності:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebCfgD</em>: Додано зміну розміру іконок на боці сервера, з метою зниження трафіку.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.QTCfg</em>: Використано груповий запит до інтерфейсу керування, для підвищення продуктивності на повільних високолатентних підключеннях.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.QTCfg</em>: Виключено багаторазовий запит елементів обраних рядків таблиць.</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none;"><a name="h1052-5"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221);">3 Удосконалення та стабілізація графічної підсистеми</h2>
<p id="p23406-11" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="indent10 auto align-justify">Помітну роботу було виконано у межах графічної підсистеми, а саме у модулях рушія СВУ UI.VCAEngine, візуалізаторів UI.Vision та UI.WebVision, а також конфігураторах. Внесені зміни було спрямовано на стабілізацію, оптимізацію споживання пам'яті та поліпшення користувацьких властивостей.</p>
<p id="p23406-12" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="auto indent10">Удосконалення графічної підсистеми:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS, DAQ.JavaLikeCalc, UI.QTCfg, UI.VCAEngine, UI.Vision</em>: Додано API підсвічування синтаксису. На основі цього API підсвічування синтаксису додано:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.BlockCalc</em>: підсвічування синтаксису у опису атрибутів параметрів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.JavaLikeCalc</em>: підсвічування синтаксису до компілятору мови JavaLikeCalc.JavaScript, а також до всіх текстових полів, які використовують цю мову всередині модуля.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.ModBus, DAQ.OPC_UA</em>: підсвічування синтаксису переліку атрибутів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Protocol.UserProtocol</em>: підсвічування синтаксису до текстів процедур протоколу.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.QTCfg</em>: відображення багаторівневого підсвічування синтаксису, яке передається з моделі даних у вигляді правил регулярних виразів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.VCAEngine</em>: підсвічування синтаксису до текстових атрибутів примітивів віджету, для яких це потрібно.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.Vision</em>: підсвічування синтаксису до текстових атрибутів примітивів віджету, а також текстам програм віджетів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.WebUser</em>: підсвічування синтаксису процедур формування Web-інтерфейсу.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.QTCfg</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Додано можливість ручної зміни текстових та табличних полів. Зміни відбуваються схоплюванням та пересуванням нижнього краю поля.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Груповий запит &quot;CntrReqs&quot; використано для запиту контексту сторінки.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.VCAEngine</em>: Додано специфічні властивості до примітивів, а саме допомога та підсвічування синтаксису.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI.Vision</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Додано відображення допомоги за атрибутами віджету.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Додано індикацію повідомлення про втрату з'єднання з сервером візуалізації, а також відновлення, при віддаленій візуалізації.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Для примітиву &quot;Елементарна фігура&quot; додано діалог встановлення властивостей окремо обраних фігур.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Додано окремий повнотекстовий редактор для текстових атрибутів.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>UI:WebVision</em>: Додано підтримку gif та jpg зображень у елементах примітиву &quot;Елементарна фігура&quot;.</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none;"><a name="h1052-6"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221);">4 Формування та стабілізація API програмування користувача</h2>
<p id="p23406-13" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="indent10 auto align-justify">Було продовжено формування об'єктного API програмування користувача, яке передбачає інтеграцію функцій користувача до дерева об'єктів системи OpenSCADA. Крім того, було внесено низку змін до існуючих бібліотек функцій API користувача.</p>
<p id="p23406-14" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="auto indent10">Зокрема були здійснені наступні зміни:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS</em>: API користувача для об'єкта TArrayObj розширено на предмет можливості використання об'єктних властивостей, якщо властивості не числа.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS</em>: До дерева об'єктів OpenSCADA API користувача додано функцію SYS.Security.access() з метою контролю доступу користувача OpenSCADA до ресурсів з потрібними правами.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS, DAQ.JavaLikeCalc</em>: Додано реалізацію підтримки користувацького API регулярних виразів, заснованих на PCRE, за посередництвом об'єкту TRegExp. Реалізовано інтерфейс функцій RegExp.exec() та RegExp.test() у стандарті для мови JavaScript. Для DAQ.JavaLikeCalc реалізовано &quot;new RegExp()&quot; ініціалізацію для об'єкта TRegExp. Для DAQ.JavaLikeCalc реалізовані додаткові функції з використанням RegExp: int search(); Array match(); Array split(RegExp pat, int limit); string replace(string substr, string str); string replace(RegExp pat, string str).</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>TFunction, DAQ.JavaLikeCalc</em>: Додано об'єкт API користувача &quot;TFuncArgObj&quot; для отримання аргументів функції.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DB</em>: Додано функції користувацького API fieldStruct(), fieldSeek(), fieldGet(), fieldSet() та fieldDel() для об'єкта таблиці, з метою надати користувацький доступ до БД за посередництвом інтерфейсу БД OpenSCADA.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>DAQ.JavaLikeCalc</em>: Додано вбудовану функцію typeof() для перевірки типу значення.</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none;"><a name="h1052-7"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221);">5 Загальносистемні розширення</h2>
<p id="p23406-15" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="indent10 auto align-justify">До загальносистемного API системи OpenSCADA були внесені значні зміни та розширення з метою загальної стабілізації та у зв'язку із загальними заходами по очищенню коду, а також реорганізації дерева вихідних текстів:</p><ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS</em>:<ul style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Реалізовано нову структуру дерева вихідних текстів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Всі ресурси проекту переміщено до окремих архівів.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Для створення архівів вихідних текстів та ресурсів можна використовувати команди &quot;$ make dist-lzma&quot; та &quot;$ make dist-reslzma&quot;.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Документація виконана статичною, для модулів, та поділена за мовами. Для кожної мови документації формується окремий пакет. В документації кожної мови створено індексний файл по всьому переліку локальної та мережевої документації. Загальний перелік локальної документації помітно розширено новими документами, а також допоміжною мережевою документацією.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Додано пакети бібліотечних БД *-LibDB.Main та *-LibDB.VCA, розташовано у data/LibsDB.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Замість DemoDB пакета додано пакети моделей &quot;AGLKS&quot; та &quot;Boiler&quot;, розташовано у data/ModelsDB.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Конфігураційні файли для побудови RPM та DEB пакетів оновлено.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Залежність на бібліотеку PCRECPP глобально замінено на PCRE.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Додано нову функцію TSYS::time2str() для перетворення інтервалів часу в строку типу &quot;1год 23хвил 10сек&quot;. Цю функцію всюди використано.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;">Додано реалізацію власного XML-парсеру, замість Expat. Власний XML-парсер вирішує проблему підтримки різних кодувань, відмінних від UTF, а також безпечної обробки ситуації наявності недозволених, для поточного кодування, символів.</li></ul></li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>SYS.TMess</em>: Загальні повідомлення інтерфейсу керування переміщено до однієї функції TMess::lab*.</li><li style="font-family: Verdana; font-size: 13px; line-height: 1.3em;"><em>Transport, Transport.*</em>: Додано функцію TTransportS::traf2str() для перетворення значень лічильника трафіку у рядок виглядом &quot;12.5КіБ&quot;</li></ul><p class="bodytext"><span style="color: rgb(0, 51, 153); text-decoration: none;"><a name="h1052-8"></a></span></p>
<h2 style="margin: 20px 0px 5px; padding: 0px; font-family: Verdana; font-size: 20px; border-bottom: 3px dotted rgb(221, 221, 221);">Заключення</h2>
<p id="p23406-16" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="indent10 auto align-justify">Система OpenSCADA отримала поштовх для здійснення реальної апаратної багатоплатформності, за посередництвом чого код проекту було значним чином очищено та зроблено багатоплатформним. Ці напрацювання дозволять продовжити рух проекту у бік апаратної багатоплатформності, а також реалізації програмної, що заплановано після наступного LTS релізу 0.8.0.</p>
<p id="p23406-17" style="font-family: Verdana; font-size: 13px; line-height: 1.3em; margin: 0px; padding: 0px;" class="indent10 auto align-justify">Також продовжено роботу по вдосконаленню загальної функціональності, простоти та зручності використання із загальним підвищенням якості надання послуг на основі системи OpenSCADA.</p>]]></content:encoded>
			<category>Новина</category>
			<category>Реліз</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Wed, 13 Apr 2011 20:00:00 +0300</pubDate>
			
		</item>
		
		<item>
			<title>OpenSCADA прийнято до програми &quot;Посол QT&quot;</title>
			<link>http://qt.nokia.com/qt-in-use/ambassadors/project?id=a0F20000006Jwf4EAC</link>
			<description>Проект OpenSCADA прийнято до участі у програмі &quot;Посол QT&quot;.</description>
			<content:encoded><![CDATA[]]></content:encoded>
			<category>Новина</category>
			<category>Публікація</category>
			
			<author>rom_as@oscada.org</author>
			<pubDate>Thu, 17 Feb 2011 17:04:00 +0200</pubDate>
			
		</item>
		
	</channel>
</rss>
