<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html class="client-nojs" dir="ltr" lang="en"> <head> <meta charset="UTF-8" /> <title>Документи/ПоÑібник по програмі - OpenSCADAWiki</title> <meta content="MediaWiki 1.26.4" name="generator" /> <link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" /> <link href="../en/files/doc.css" rel="stylesheet" /></head> <body><div class="floatright"><a href="index.html"><img alt="OpenSCADA" src="../en/files/index.png" /></a></div><div id="mw_header"> <div class="mw-indicators"> </div> <h1 id="firstHeading" lang="uk">Документи/ПоÑібник по програмі</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="uk"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&group=page-Documents%2FProgram+manual&action=page&filter=&language=uk" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Documents/Program_manual" title="Documents/Program manual">Documents/Program manual</a> and the translation is 100% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../en/Program_manual.html" title="Documents/Program manual (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../ru/Program_manual.html" title="Документы/РуководÑтво по программе (87% translated)">mRussian</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">УкраїнÑька</span></div></div> <div style="float:right; border:1px solid gray; width:300px; padding:2px; margin-left: 10pt; margin-bottom: 10pt;"> <ul><li> <b>Ðвтор:</b> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a></li> <li> <b>Початково Ñтворено:</b> у <a class="external text" href="http://wiki.oscada.org/HomePageEn/Doc/ProgrammManual" rel="nofollow noreferrer noopener" target="_blank">Ñтарій Wiki</a> </li></ul> </div> <p>Цей документ Ñ” поÑібником по програмі з відкритими вихідними текÑтами за назвою "OpenSCADA". OpenSCADA предÑтавлÑÑ” Ñобою відкриту SCADA ÑиÑтему, побудовану за принципами модульноÑÑ‚Ñ–, багатоплатформеноÑÑ‚Ñ– та маÑштабованоÑÑ‚Ñ–. </p><p>У ÑкоÑÑ‚Ñ– політики розробки цієї програми обрано "open source" принципи. Вибір цієї політики визначаєтьÑÑ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¾ÑŽ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¾Ñ—, надійної та загальнодоÑтупної SCADA ÑиÑтеми. Така політика дозволÑÑ” залучити до розробки, теÑтуваннÑ, розвитку, розповÑюдженню та викориÑтанню програми значну кількіÑÑ‚ÑŒ розробників, ентузіаÑтів та інших зацікавлених оÑіб з мінімізацією та розподілом зуÑиль та фінанÑових витрат. </p><p>OpenSCADA призначено Ð´Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ, архівуваннÑ, візуалізації інформації, видачі керуючих дій, а також інших Ñпоріднених операцій, характерних Ð´Ð»Ñ Ð¿Ð¾Ð²Ð½Ð¾Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹Ð½Ð¸Ñ… SCADA ÑиÑтем. ЗавдÑки виÑокому рівню абÑтракції та модульноÑÑ‚Ñ– програма може викориÑтовуватиÑÑ Ñƒ багатьох Ñуміжних галузÑÑ…. </p><p>OpenSCADA <a href="About.html#Using" title="Special:MyLanguage/About">може та заÑтоÑовуєтьÑÑ</a> на/у: </p> <ul><li> промиÑлових об'єктах у ÑкоÑÑ‚Ñ– повнофункційної SCADA ÑиÑтеми та телемеханіки;</li> <li> динамічних моделÑÑ…, імітаторах та тренажерах технологічних процеÑів у реальному чаÑÑ–;</li> <li> Ñтанках та промиÑлових роботах;</li> <li> ÑиÑтемах ÑільÑко-гоÑподарчої диÑпетчеризації та керуваннÑ, пташниках;</li> <li> вбудованих та мобільних ÑиÑтемах — оточеннÑÑ… Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Логічного Контролеру (ПЛК), роботах, ...;</li> <li> моніторингу Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ñерверів;</li> <li> розумних будинках та домовій автоматиці.</li></ul> <p>У ÑкоÑÑ‚Ñ– оÑновної операційної ÑиÑтеми (програмної платформи) Ð´Ð»Ñ Ñ€Ð¾Ð·Ñ€Ð¾Ð±ÐºÐ¸ та викориÑÑ‚Ð°Ð½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾ ОС Linux, Ñка Ñ” оптимальним рішеннÑм у питаннÑÑ…: </p> <ul><li> надійноÑÑ‚Ñ– — велика Ð´Ð¾Ð»Ñ Ñерверів та клаÑтерів працюють на GNU/Linux;</li> <li> гнучкоÑÑ‚Ñ–/маÑштабованоÑÑ‚Ñ– — у зв'Ñзку зі влаÑною відкритіÑÑ‚ÑŽ та модульніÑÑ‚ÑŽ дозволÑÑ” будувати Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ будь Ñкі вимоги;</li> <li> доÑтупноÑÑ‚Ñ– — завдÑки викориÑтанню ліцензії GPL це ПЗ Ñ” повніÑÑ‚ÑŽ вільною операційною ÑиÑтемою, а за виÑокої кваліфікації кориÑтувача й безкоштовною;</li> <li> популÑрноÑÑ‚Ñ–, розвинутоÑÑ‚Ñ–, підтримки, розповÑюдженоÑÑ‚Ñ– — ÑиÑтема активно розвиваєтьÑÑ Ð±Ð°Ð³Ð°Ñ‚ÑŒÐ¼Ð° ентузіаÑтами, фірмами та державними закладами по вÑьому Ñвіті та отримує вÑе більшу підтримку на кориÑтувацькому та корпоративному ринку.</li></ul> <p>ОÑкільки проєкт розроблÑєтьÑÑ Ñ‚Ð° реалізуєтьÑÑ Ð·Ð° принципами багатоплатформеноÑÑ‚Ñ– то не Ñкладає великої проблеми портувати його на інші операційні ÑиÑтеми (програмні платформи) та апаратні платформи. Що заплановано на майбутнє та значним чином вже здійÑнено Ð´Ð»Ñ Ð´ÐµÑких платформ. </p><p>Серцем програми Ñ” модульне Ñдро. Та залежно від того Ñкі модулі підключено програма може виÑтупати Ñк у ролі різних Ñерверів, так Ñ– в ролі різноманітних клієнтів, а також поєднувати ці функції у одній програмі. Це дозволÑÑ” реалізовувати клієнт-Ñерверну архітектуру на базі одних й тих же компонентів/модулів, економлÑчи при цьому машинну пам'ÑÑ‚ÑŒ, диÑковий проÑÑ‚Ñ–Ñ€, а також цінний Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ñ–Ñтів. </p><p>Серверні конфігурації програми призначені Ð´Ð»Ñ Ð²Ð¸Ð´Ð°Ñ‡Ñ– керуючих дій, збору, обробки, архівуваннÑ, Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— від різних джерел, а також Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— інформації клієнтам (UI, GUI, TUI ...). Модульна архітектура дозволÑÑ” розширювати функціональніÑÑ‚ÑŒ Ñерверу без його перевантаженнÑ. </p><p>КлієнтÑькі конфігурації можуть будуватиÑÑ Ð½Ð° оÑнові різних графічних бібліотек (GUI/TUI ToolKits), Ñк викориÑтовуючи Ñдро програми та його модулі (шлÑхом Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð´Ð¾ нього Ð¼Ð¾Ð´ÑƒÐ»Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького інтерфейÑу), так Ñ– у ÑкоÑÑ‚Ñ– ÑамоÑтійного додатку, підключаючи Ñдро OpenSCADA Ñк бібліотеку. </p><p>ГнучкіÑÑ‚ÑŒ конфігурації програми дозволÑÑ” будувати Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ конкретні вимоги надійноÑÑ‚Ñ–, функціональноÑÑ‚Ñ– та розміри-ÑкладніÑÑ‚ÑŒ програми. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.90.D1.80.D1.85.D1.96.D1.82.D0.B5.D0.BA.D1.82.D1.83.D1.80.D0.B0_.D1.82.D0.B0_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97"><span class="tocnumber">1</span> <span class="toctext"><span>Ðрхітектура та функції</span></span></a> <ul> <li class="toclevel-2 tocsection-2"><a href="#.D0.9C.D0.BE.D0.B4.D1.83.D0.BB.D1.8C.D0.BD.D1.96.D1.81.D1.82.D1.8C"><span class="tocnumber">1.1</span> <span class="toctext"><span>МодульніÑÑ‚ÑŒ</span></span></a></li> <li class="toclevel-2 tocsection-3"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B8"><span class="tocnumber">1.2</span> <span class="toctext">ПідÑиÑтеми</span></a></li> <li class="toclevel-2 tocsection-4"><a href="#.D0.9F.D0.9B.D0.9A_.D1.82.D0.B0_.D1.96.D0.BD.D1.88.D1.96_.D0.B4.D0.B6.D0.B5.D1.80.D0.B5.D0.BB.D0.B0_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D1.96.D1.87.D0.BD.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.97.D0.B1.D1.96.D1.80_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.22"><span class="tocnumber">1.3</span> <span class="toctext"><span>ПЛК та інші джерела динамічних даних, підÑиÑтема "Збір даних"</span></span></a></li> <li class="toclevel-2 tocsection-5"><a href="#.D0.91.D0.B0.D0.B7.D0.B8_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B0.D0.B7.D0.B8_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.22"><span class="tocnumber">1.4</span> <span class="toctext"><span>Бази даних, підÑиÑтема "Бази даних"</span></span></a></li> <li class="toclevel-2 tocsection-6"><a href="#.D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B8_.D1.82.D0.B0_.D1.96.D1.81.D1.82.D0.BE.D1.80.D1.96.D1.8F.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B8-.D0.86.D1.81.D1.82.D0.BE.D1.80.D1.96.D1.8F.22"><span class="tocnumber">1.5</span> <span class="toctext"><span>Ðрхіви та Ñ–ÑторіÑ, підÑиÑтема "Ðрхіви-ІÑторіÑ"</span></span></a> <ul> <li class="toclevel-3 tocsection-7"><a href="#.D0.9F.D0.BE.D0.B2.D1.96.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">1.5.1</span> <span class="toctext"><span>ПовідомленнÑ</span></span></a></li> <li class="toclevel-3 tocsection-8"><a href="#.D0.97.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">1.5.2</span> <span class="toctext"><span>ЗначеннÑ</span></span></a></li> </ul> </li> <li class="toclevel-2 tocsection-9"><a href="#.D0.9A.D0.BE.D0.BC.D1.83.D0.BD.D1.96.D0.BA.D0.B0.D1.86.D1.96.D1.97.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B8_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.B8.22_.D1.82.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.BD.D1.96_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D0.B8.22"><span class="tocnumber">1.6</span> <span class="toctext"><span>Комунікації, підÑиÑтеми "ТранÑпорти" та "ТранÑпортні протоколи"</span></span></a></li> <li class="toclevel-2 tocsection-10"><a href="#.D0.86.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B8_.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.87.D0.B0.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.86.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B8_.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.87.D0.B0.22"><span class="tocnumber">1.7</span> <span class="toctext">ІнтерфейÑи кориÑтувача, підÑиÑтема "ІнтерфейÑи кориÑтувача"</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#.D0.91.D0.B5.D0.B7.D0.BF.D0.B5.D0.BA.D0.B0_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.B8.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B5.D0.B7.D0.BF.D0.B5.D0.BA.D0.B0.22"><span class="tocnumber">1.8</span> <span class="toctext">Безпека програми, підÑиÑтема "Безпека"</span></a></li> <li class="toclevel-2 tocsection-12"><a href="#.D0.A3.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D1.96.D0.BD.D0.BD.D1.8F_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.8F.D0.BC.D0.B8.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.94.D0.B8.D1.81.D0.BF.D0.B5.D1.82.D1.87.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.96.D0.B2.22"><span class="tocnumber">1.9</span> <span class="toctext">Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñми, підÑиÑтема "ДиÑпетчер модулів"</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#.D0.9D.D0.B5.D0.BF.D0.B5.D1.80.D0.B5.D0.B4.D0.B1.D0.B0.D1.87.D0.B5.D0.BD.D1.96_.D0.BC.D0.BE.D0.B6.D0.BB.D0.B8.D0.B2.D0.BE.D1.81.D1.82.D1.96.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.BF.D0.B5.D1.86.D1.96.D0.B0.D0.BB.D1.8C.D0.BD.D1.96.22"><span class="tocnumber">1.10</span> <span class="toctext">Ðепередбачені можливоÑÑ‚Ñ–, підÑиÑтема "Спеціальні"</span></a></li> <li class="toclevel-2 tocsection-14"><a href="#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97.2C_.D0.BE.D0.B1.27.D1.94.D0.BA.D1.82.D0.BD.D0.B0_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C_.D1.82.D0.B0_.D1.81.D0.B5.D1.80.D0.B5.D0.B4.D0.BE.D0.B2.D0.B8.D1.89.D0.B5_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.87.D0.B0"><span class="tocnumber">1.11</span> <span class="toctext">Функції, об'єктна модель та Ñередовище Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-15"><a href="#SCADA_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B8_.D1.82.D0.B0_.D1.97.D1.85_.D1.81.D1.82.D1.80.D1.83.D0.BA.D1.82.D1.83.D1.80.D0.B0"><span class="tocnumber">2</span> <span class="toctext">SCADA ÑиÑтеми та Ñ—Ñ… Ñтруктура</span></a></li> <li class="toclevel-1 tocsection-16"><a href="#.D0.92.D0.B0.D1.80.D1.96.D0.B0.D0.BD.D1.82.D0.B8_.D0.BA.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.97_.D1.82.D0.B0_.D0.B2.D0.B8.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D0.B0.D0.BD.D0.BD.D1.8F"><span class="tocnumber">3</span> <span class="toctext">Варіанти конфігурації та викориÑтаннÑ</span></a> <ul> <li class="toclevel-2 tocsection-17"><a href="#.D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.B5_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">3.1</span> <span class="toctext">ПроÑте Ñерверне підключеннÑ</span></a></li> <li class="toclevel-2 tocsection-18"><a href="#.D0.94.D1.83.D0.B1.D0.BB.D1.8C.D0.BE.D0.B2.D0.B0.D0.BD.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.B5_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">3.2</span> <span class="toctext">Дубльоване Ñерверне підключеннÑ</span></a></li> <li class="toclevel-2 tocsection-19"><a href="#.D0.94.D1.83.D0.B1.D0.BB.D1.8C.D0.BE.D0.B2.D0.B0.D0.BD.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.B5_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.D0.BD.D0.B0_.D0.BE.D0.B4.D0.BD.D0.BE.D0.BC.D1.83_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D1.96"><span class="tocnumber">3.3</span> <span class="toctext">Дубльоване Ñерверне Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð½Ð° одному Ñервері</span></a></li> <li class="toclevel-2 tocsection-20"><a href="#.D0.9A.D0.BB.D1.96.D1.94.D0.BD.D1.82.D1.81.D1.8C.D0.BA.D0.B8.D0.B9_.D0.B4.D0.BE.D1.81.D1.82.D1.83.D0.BF_.D0.B7.D0.B0_.D0.BF.D0.BE.D1.81.D0.B5.D1.80.D0.B5.D0.B4.D0.BD.D0.B8.D1.86.D1.82.D0.B2.D0.BE.D0.BC_Web-.D1.96.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.83._.D0.9C.D1.96.D1.81.D1.86.D0.B5_.D0.BA.D0.B5.D1.80.D1.96.D0.B2.D0.BD.D0.B8.D0.BA.D0.B0"><span class="tocnumber">3.4</span> <span class="toctext">КлієнтÑький доÑтуп за поÑередництвом Web-інтерфейÑу. МіÑце керівника</span></a></li> <li class="toclevel-2 tocsection-21"><a href="#.D0.90.D0.B2.D1.82.D0.BE.D0.BC.D0.B0.D1.82.D0.B8.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B5_.D1.80.D0.BE.D0.B1.D0.BE.D1.87.D0.B5_.D0.BC.D1.96.D1.81.D1.86.D0.B5_.28.D0.BC.D1.96.D1.81.D1.86.D0.B5_.D0.BA.D0.B5.D1.80.D1.96.D0.B2.D0.BD.D0.B8.D0.BA.D0.B0.2F.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D1.83.29"><span class="tocnumber">3.5</span> <span class="toctext">Ðвтоматизоване робоче міÑце (міÑце керівника/оператору)</span></a></li> <li class="toclevel-2 tocsection-22"><a href="#.D0.90.D0.A0.D0.9C_.D0.B7_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BE.D0.BC_.D0.B7.D0.B1.D0.BE.D1.80.D1.83_.D1.82.D0.B0_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D0.BD.D0.B0_.D0.BE.D0.B4.D0.BD.D1.96.D0.B9_.D0.BC.D0.B0.D1.88.D0.B8.D0.BD.D1.96_.28.D0.BC.D1.96.D1.81.D1.86.D0.B5_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D1.83.2C_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C-.D1.82.D1.80.D0.B5.D0.BD.D0.B0.D0.B6.D0.B5.D1.80_....29"><span class="tocnumber">3.6</span> <span class="toctext">ÐÐ Ðœ з Ñервером збору та Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° одній машині (міÑце оператору, модель-тренажер ...)</span></a></li> <li class="toclevel-2 tocsection-23"><a href="#.D0.9D.D0.B0.D0.B9.D0.BF.D1.80.D0.BE.D1.81.D1.82.D1.96.D1.88.D0.B5_.D0.B7.D0.BC.D1.96.D1.88.D0.B0.D0.BD.D0.B5_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.28.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C.2C_.D0.B4.D0.B5.D0.BC.D0.BE.D0.BD.D1.81.D1.82.D1.80.D0.B0.D1.86.D1.96.D1.8F.2C_.D1.82.D1.80.D0.B5.D0.BD.D0.B0.D0.B6.D0.B5.D1.80.2C_.D0.BA.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.82.D0.BE.D1.80_....29"><span class="tocnumber">3.7</span> <span class="toctext">ÐайпроÑтіше змішане Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ (модель, демонÑтраціÑ, тренажер, конфігуратор ...)</span></a></li> <li class="toclevel-2 tocsection-24"><a href="#.D0.A1.D1.82.D1.96.D0.B9.D0.BA.D0.B0_.D1.80.D0.BE.D0.B7.D0.BF.D0.BE.D0.B4.D1.96.D0.BB.D0.B5.D0.BD.D0.B0_.D0.BA.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.8F"><span class="tocnumber">3.8</span> <span class="toctext">Стійка розподілена конфігураціÑ</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-25"><a href="#.D0.9A.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.8F_.D1.82.D0.B0_.D0.BD.D0.B0.D0.BB.D0.B0.D1.88.D1.82.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F"><span class="tocnumber">4</span> <span class="toctext"><span>ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ‚Ð° налаштуваннÑ</span></span></a> <ul> <li class="toclevel-2 tocsection-26"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.94.22"><span class="tocnumber">4.1</span> <span class="toctext"><span>ПідÑиÑтема "БД"</span></span></a></li> <li class="toclevel-2 tocsection-27"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B5.D0.B7.D0.BF.D0.B5.D0.BA.D0.B0.22"><span class="tocnumber">4.2</span> <span class="toctext"><span>ПідÑиÑтема "Безпека"</span></span></a></li> <li class="toclevel-2 tocsection-28"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.B8.22"><span class="tocnumber">4.3</span> <span class="toctext"><span>ПідÑиÑтема "ТранÑпорти"</span></span></a></li> <li class="toclevel-2 tocsection-29"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.BD.D1.96_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D0.B8.22"><span class="tocnumber">4.4</span> <span class="toctext">ПідÑиÑтема "ТранÑпортні протоколи"</span></a></li> <li class="toclevel-2 tocsection-30"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.97.D0.B1.D1.96.D1.80_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.22"><span class="tocnumber">4.5</span> <span class="toctext"><span>ПідÑиÑтема "Збір даних"</span></span></a></li> <li class="toclevel-2 tocsection-31"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B8-.D0.86.D1.81.D1.82.D0.BE.D1.80.D1.96.D1.8F.22"><span class="tocnumber">4.6</span> <span class="toctext"><span>ПідÑиÑтема "Ðрхіви-ІÑторіÑ"</span></span></a></li> <li class="toclevel-2 tocsection-32"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.9A.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.86.D1.8C.D0.BA.D1.96_.D1.96.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B8.22"><span class="tocnumber">4.7</span> <span class="toctext">ПідÑиÑтема "КориÑтувацькі інтерфейÑи"</span></a></li> <li class="toclevel-2 tocsection-33"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.BF.D0.B5.D1.86.D1.96.D0.B0.D0.BB.D1.8C.D0.BD.D1.96.22"><span class="tocnumber">4.8</span> <span class="toctext">ПідÑиÑтема "Спеціальні"</span></a></li> <li class="toclevel-2 tocsection-34"><a href="#.D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.94.D0.B8.D1.81.D0.BF.D0.B5.D1.82.D1.87.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.96.D0.B2.22"><span class="tocnumber">4.9</span> <span class="toctext"><span>ПідÑиÑтема "ДиÑпетчер модулів"</span></span></a></li> <li class="toclevel-2 tocsection-35"><a href="#.D0.9A.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D0.B9.D0.BD.D0.B8.D0.B9_.D0.A4.D0.B0.D0.B9.D0.BB_.D1.82.D0.B0_.D0.BF.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D0.B8_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.BD.D0.BE.D0.B3.D0.BE_.D1.80.D1.8F.D0.B4.D0.BA.D1.83"><span class="tocnumber">4.10</span> <span class="toctext"><span>Конфігураційний Файл та параметри командного Ñ€Ñдку</span></span></a></li> </ul> </li> <li class="toclevel-1 tocsection-36"><a href="#.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA_.D1.82.D0.B0_.D0.B2.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D0.BD.D0.BD.D1.8F"><span class="tocnumber">5</span> <span class="toctext"><span>ЗапуÑк та виконаннÑ</span></span></a> <ul> <li class="toclevel-2 tocsection-37"><a href="#.D0.9F.D1.80.D0.BE.D1.94.D0.BA.D1.82.D0.B8_OpenSCADA"><span class="tocnumber">5.1</span> <span class="toctext"><span>Проєкти OpenSCADA</span></span></a></li> <li class="toclevel-2 tocsection-38"><a href="#.D0.92.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D0.BD.D0.BD.D1.8F_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D1.94.D0.BA.D1.82.D1.83_OpenSCADA_.D1.83_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D0.BE.D1.80.D1.96_.D1.81.D0.B5.D1.80.D0.B2.D1.96.D1.81.D1.83-.D1.84.D0.BE.D0.BD.D1.96"><span class="tocnumber">5.2</span> <span class="toctext"><span>Ð’Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ проєкту OpenSCADA у проÑторі ÑервіÑу-фоні</span></span></a></li> </ul> </li> <li class="toclevel-1 tocsection-39"><a href="#.D0.9F.D0.BE.D1.81.D0.B8.D0.BB.D0.B0.D0.BD.D0.BD.D1.8F"><span class="tocnumber">6</span> <span class="toctext">ПоÑиланнÑ</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.90.D1.80.D1.85.D1.96.D1.82.D0.B5.D0.BA.D1.82.D1.83.D1.80.D0.B0_.D1.82.D0.B0_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97"><span class="mw-headline-number">1</span> <span id="ArchFunc" title="#ArchFunc">Ðрхітектура та функції</span></span></h2> <p>Про фактичні функції та вимоги OpenSCADA Ви можете прочитати на Ñторінці "<a href="Functions_and_demands.html" title="Special:MyLanguage/Functions and demands">Функції та вимоги</a>", та в цьому документі ми розглÑнемо загальні функції та влаÑтивоÑÑ‚Ñ– програми. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:703px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_struct_uk.png"><img class="thumbimage" height="360" src="files/Oscada_struct_uk.png" width="701" /></a> <div class="thumbcaption">РиÑ. 1. Блокова Ñхема OpenSCADA.</div></div></div></div> <h3><span class="mw-headline" id=".D0.9C.D0.BE.D0.B4.D1.83.D0.BB.D1.8C.D0.BD.D1.96.D1.81.D1.82.D1.8C"><span class="mw-headline-number">1.1</span> <span id="Modularity" title="#Modularity">МодульніÑÑ‚ÑŒ</span></span></h3> <p>Ð”Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð³Ð½ÑƒÑ‡ÐºÐ¾ÑÑ‚Ñ– та виÑокого Ñтупеню маÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA побудовано за модульним принципом. ТіÑна Ñ–Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ñ–Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð² з Ñдром покращує ÑтабільніÑÑ‚ÑŒ програми в цілому, завдÑки повторному викориÑтанню налагодженого коду. Однак Ñам Ð¿Ñ€Ð¾Ñ†ÐµÑ Ñ€Ð¾Ð·Ñ€Ð¾Ð±ÐºÐ¸ влаÑного коду модулів OpenSCADA накладає велику відповідальніÑÑ‚ÑŒ — можливі помилки вводÑÑ‚ÑŒ елемент неÑтабільноÑÑ‚Ñ– у програму. МожливіÑÑ‚ÑŒ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»ÐµÐ½Ð¸Ñ… конфігурацій згладжує цю небезпеку. </p><p>Модулі OpenSCADA зберігаютьÑÑ Ñƒ динамічних бібліотеках. Кожна динамічна бібліотека може міÑтити багато модулів різного типу. ÐÐ°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… бібліотек модулÑми визначаєтьÑÑ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾ÑŽ зв'ÑзніÑÑ‚ÑŽ Ñамих модулів. Динамічні бібліотеки допуÑкають гарÑчу заміну, що дозволÑÑ” здійÑнювати Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ñ… чаÑтин програми у процеÑÑ– функціонуваннÑ. Метод Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñƒ модулів у динамічних бібліотеках Ñ” оÑновним Ð´Ð»Ñ OpenSCADA, оÑкільки підтримуєтьÑÑ Ð¿Ñ€Ð°ÐºÑ‚Ð¸Ñ‡Ð½Ð¾ вÑіма ÑучаÑними операційними ÑиÑтемами (ОС). Однак це не виключає можливоÑÑ‚Ñ– розробки інших методів Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñƒ модулів. </p><p>Ðа оÑнові модулів реалізовано наÑтупні функціональні чаÑтини OpenSCADA: </p> <ul><li> бази даних;</li> <li> комунікаційні інтерфейÑи, транÑпорти;</li> <li> протоколи комунікаційних інтерфейÑів;</li> <li> джерела даних та збір даних;</li> <li> архіви-Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ (повідомлень та значень);</li> <li> інтерфейÑи кориÑтувача (GUI, TUI, WebGUI, speach, signal ...);</li> <li> додаткові модулі, Ñпеціальні.</li></ul> <p>Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñми здійÑнюєтьÑÑ Ð¿Ñ–Ð´ÑиÑтемою "ДиÑпетчер модулів". ФункціÑми підÑиÑтеми Ñ”: підключеннÑ, відключеннÑ, Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° інші операції, пов'Ñзані з модулÑми та бібліотеками модулів. </p> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B8"><span class="mw-headline-number">1.2</span> ПідÑиÑтеми</span></h3> <p>Ðрхітектурно OpenSCADA поділÑєтьÑÑ Ð½Ð° підÑиÑтеми. ПідÑиÑтеми можуть бути двох типів: звичайні та модульні. Модульні підÑиÑтеми мають влаÑтивіÑÑ‚ÑŒ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ñередництвом модулів. Кожна модульна підÑиÑтема може міÑтити багато модульних об'єктів. Ðаприклад, модульна підÑиÑтема "Бази даних" міÑтить модульні об'єкти типів баз даних. Модульний об'єкт Ñ” коренем вÑередині модулÑ. </p><p>Разом OpenSCADA міÑтить дев'ÑÑ‚ÑŒ підÑиÑтем, з них Ñім Ñ” модульними. Ці дев'ÑÑ‚ÑŒ підÑиÑтем OpenSCADA Ñ” базовими та приÑутні у будь Ñкій конфігурації. До переліку дев'Ñти підÑиÑтем можуть додаватиÑÑ Ð½Ð¾Ð²Ñ–, за поÑередництвом Ñамих модулів. ПідÑиÑтеми OpenSCADA: </p> <ul><li> Безпека.</li> <li> ДиÑпетчер модулів.</li> <li> Бази даних (модульна).</li> <li> ТранÑпорти (модульна).</li> <li> ТранÑпортні протоколи (модульна).</li> <li> Збір даних (модульна).</li> <li> Ðрхіви-ІÑÑ‚Ð¾Ñ€Ñ–Ñ (модульна).</li> <li> ІнтерфейÑи кориÑтувача (модульна).</li> <li> Спеціальні (модульна).</li></ul> <h3><span class="mw-headline" id=".D0.9F.D0.9B.D0.9A_.D1.82.D0.B0_.D1.96.D0.BD.D1.88.D1.96_.D0.B4.D0.B6.D0.B5.D1.80.D0.B5.D0.BB.D0.B0_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D1.96.D1.87.D0.BD.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.97.D0.B1.D1.96.D1.80_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.22"><span class="mw-headline-number">1.3</span> <span id="DAQ" title="#DAQ">ПЛК та інші джерела динамічних даних, підÑиÑтема "Збір даних"</span></span></h3> <p>ПідÑиÑтему "Збір даних" (РиÑ.1.3) передбачено Ð´Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ джерел динамічних даних, будь то: ПЛК, плати ПУО, віртуальні джерела та інше. До функції цієї підÑиÑтеми входить Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¸Ñ… даних у Ñтруктурованому виглÑді — <b>модель даних</b> та Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ñ†Ð¸Ð¼Ð¸ даними, наприклад — Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð´Ð°Ð½Ð¸Ñ…. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:309px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_subsys_daq_str_uk.png"><img class="thumbimage" height="335" src="files/Oscada_subsys_daq_str_uk.png" width="307" /></a> <div class="thumbcaption">РиÑ. 1.3. Ієрархічна Ñтруктура підÑиÑтеми "Збір даних".</div></div></div></div> <p>ПідÑиÑтема "Збір даних" Ñ” модульною та, Ñк наÑлідок, міÑтить модульні об'єкти типів джерел динамічних даних. Ðаприклад, OpenSCADA наразі надає більш ніж двадцÑÑ‚ÑŒ <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules" title="Special:MyLanguage/Modules">модулів</a> та <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Libs/Generic_list" title="Special:MyLanguage/Libs/Generic list">бібліотечних елементів</a> <a href="DAQ.html#UserPrt" title="Special:MyLanguage/Documents/DAQ">джерел логічних типів</a>. Більш значущі та опрацьовані з Ñких: </p> <ul><li> <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">ОбчиÑлювач на мові подібній до Java</a>;</li> <li> <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">Логічний рівень</a>;</li> <li> <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">Блоковий обчиÑлювач</a>;</li> <li> <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">Шлюз джерел даних</a>;</li> <li> <a href="Modules/System.html" title="Special:MyLanguage/Modules/System">Збір даних ОС</a>;</li> <li> <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a>;</li> <li> <a href="Modules/DCON.html" title="Special:MyLanguage/Modules/DCON">DCON клієнт</a>;</li> <li> <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">Клієнт OPC-UA</a>;</li> <li> <a href="Modules/Siemens.html" title="Special:MyLanguage/Modules/Siemens">Збір даних Siemens</a>;</li> <li> <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules/MMS" title="Special:MyLanguage/Modules/MMS">MMS(IEC-9506)</a>;</li> <li> <a href="Modules/SNMP.html" title="Special:MyLanguage/Modules/SNMP">SNMP клієнт</a>;</li> <li> <a href="Modules/ICP_DAS.html" title="Special:MyLanguage/Modules/ICP DAS">ÐžÐ±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ ICP DAS</a>;</li> <li> <a href="Modules/DiamondBoards.html" title="Special:MyLanguage/Modules/DiamondBoards">Diamond плати збору даних</a>.</li></ul> <p>Кожний тип джерела нелогічного типу реалізуєтьÑÑ Ñƒ окремому модулі, Ñкий може міÑтити багато джерел (об'єктів контролерів) та кожне це джерело зазвичай виконуєтьÑÑ Ñƒ окремому потоці-завдані. </p><p>Окремо взÑтий об'єкт контролеру може міÑтити параметри визначених модулем типів. Ðаприклад, параметри аналогового типу, оÑновною інформацією Ñких Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»Ð¾Ð³Ð¾ або реального типу. Структурно параметр предÑтавлÑÑ” Ñобою перелік атрибутів, Ñкі й міÑÑ‚ÑÑ‚ÑŒ дані. Ðтрибути можуть бути п'Ñти базових типів: логічний, цілий, реальний, Ñимвольний Ñ€Ñдок(текÑÑ‚) та об'єкт. Структури об'єктів контролерів, параметрів та Ñ—Ñ… типів міÑÑ‚ÑÑ‚ÑŒÑÑ Ñƒ підÑиÑтемі "Збір даних", а об'єкти модулів здійÑнюють Ñ—Ñ… Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð·Ð³Ñ–Ð´Ð½Ð¾ зі влаÑною Ñпецифікою. </p><p>Окремі типи джерел даних Ñамі можуть продукувати дані Ñк повніÑÑ‚ÑŽ Ñ—Ñ… генеруючи, так Ñ– оброблÑючи фізичні дані та навіть <a href="DAQ.html#UserPrt" title="Special:MyLanguage/Documents/DAQ">повніÑÑ‚ÑŽ реалізуючи Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ†Ð¸Ñ… даних у оточені OpenSCADA</a> та на Ñ—Ñ— внутрішній мові. Такі джерела даних називаютьÑÑ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¸Ð¼Ð¸. ПовніÑÑ‚ÑŽ логічні джерела даних предÑтавлені модулÑми: <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">LogicLev</a> та <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">BlockCalc</a>. ІÑнує низка модулів, Ñкі поєднують у Ñобі логічні дані Ñк результат безпоÑередньої обробки фізичних: <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a>, <a href="Modules/Siemens.html" title="Special:MyLanguage/Modules/Siemens">Siemens</a> та <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">OPC-UA</a>. </p><p>Джерела динамічних даних можуть бути віддаленим, тобто формуватиÑÑ Ð°Ð±Ð¾ отримуватиÑÑ Ð½Ð° віддаленій Ñтанції OpenSCADA. Ð”Ð»Ñ Ð·Ð²'Ñзку з такими джерелами даних викориÑтовуєтьÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ ÑˆÐ»ÑŽÐ·ÑƒÐ²Ð°Ð½Ð½Ñ <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a>. Функцією цього типу джерел даних Ñ” Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ» даних віддаленої OpenSCADA Ñтанції на локальну. </p><p>Детально ознайомитиÑÑ Ñ–Ð· ключовою підÑиÑтемою "Збір даних" та Ñ—Ñ— функціÑми Ви можете у окремому документі "<a href="DAQ.html" title="Special:MyLanguage/Documents/DAQ">Збір даних у OpenSCADA</a>". </p> <h3><span class="mw-headline" id=".D0.91.D0.B0.D0.B7.D0.B8_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B0.D0.B7.D0.B8_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.22"><span class="mw-headline-number">1.4</span> <span id="DB" title="#DB">Бази даних, підÑиÑтема "Бази даних"</span></span></h3> <p>Ð”Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… програми повÑÑкчаÑно викориÑтовуютьÑÑ Ð±Ð°Ð·Ð¸ даних (БД). З метою уніфікації доÑтупу та ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ даних у OpenSCADA передбачено підÑиÑтему "Бази даних" (РиÑ.1.4). Ð”Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ різних БД/СУБД підÑиÑтему виконано модульною. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:389px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_subsys_db_str_uk.png"><img class="thumbimage" height="310" src="files/Oscada_subsys_db_str_uk.png" width="387" /></a> <div class="thumbcaption">РиÑ. 1.4. Ієрархічна Ñтруктура підÑиÑтеми "БД".</div></div></div></div> <p>У ролі модульного об'єкту, що міÑтитьÑÑ Ñƒ підÑиÑтемі, виÑтупає тип БД/СУБД, тобто модуль підÑиÑтеми "Бази даних" практично міÑтить реалізацію доÑтупу до визначеного типу БД. OpenSCADA надає наÑтупні більш значущі та опрацьовані модулі: <a href="Modules/SQLite.html" title="Special:MyLanguage/Modules/SQLite">SQLite</a>, <a href="Modules/MySQL.html" title="Special:MyLanguage/Modules/MySQL">MySQL</a>, <a href="Modules/PostgreSQL.html" title="Special:MyLanguage/Modules/PostgreSQL">PostgreSQL</a>, <a href="Modules/FireBird.html" title="Special:MyLanguage/Modules/FireBird">FireBird</a>. </p><p>Тип БД/СУБД Ñвоєю чергою міÑтить перелік об'єктів окремих БД цього типу, а об'єкт БД міÑтить перелік об'єктів таблиць, Ñкі й міÑÑ‚ÑÑ‚ÑŒ дані у табличній формі. </p><p>Практично вÑÑ– дані OpenSCADA зберігаютьÑÑ Ñƒ тій або іншій БД. ІнÑтрументарій програми дозволÑÑ” легко переноÑити дані з одного типу БД на інший, та, Ñк наÑлідок, оптимально підбирати тип БД під конкретну Ñферу заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA. ПеренеÑÐµÐ½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— з однієї БД до іншої може бути виконано двома ÑпоÑобами. Перший — це зміна адреÑи робочої БД та Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñієї конфігурації програми на неї, другий — це прÑме ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— між БД. Крім ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ”Ñ‚ÑŒÑÑ Ð¹ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð¿Ñ€Ñмого Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¼Ñ–Ñту таблиць БД. </p><p>Ð”Ð»Ñ Ð¾Ñ€Ð³Ð°Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ— централізованого доÑтупу розподіленої програми до єдиної БД передбачаєтьÑÑ Ð´Ð²Ð° ÑпоÑоби. Перший це викориÑÑ‚Ð°Ð½Ð½Ñ Ð¼ÐµÑ€ÐµÐ¶ÐµÐ²Ð¸Ñ… СУБД, наприклад — MySQL. Другий ÑпоÑіб це викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ñпортного типу БД на локальних ÑтанціÑÑ…, Ð´Ð»Ñ Ð´Ð¾Ñтупу до однієї центральної БД іншої OpenSCADA Ñтанції, через переÑилку запитів до БД на цій віддаленій Ñтанції — не реалізовано ще у OpenSCADA. </p><p>Дані можуть зберігатиÑÑ Ñ‚Ð°ÐºÐ¾Ð¶ у конфігураційному файлі програми. Реалізовано механізм повного Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñтруктури БД на Ñтруктуру конфігураційного файлу. Тобто Ñтандартну конфігурацію можна розміщувати у конфігураційному файлі. СутніÑÑ‚ÑŒ такого механізму полÑгає у тому, що типові (по замовченню) дані програми можна опиÑувати у конфігураційному файлі, наприклад — при Ñтарті без БД. Ðадалі ці дані можуть перевизначатиÑÑ Ñƒ БД. Крім того, Ð´Ð»Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÑ–Ð² неможливоÑÑ‚Ñ– запуÑку будь Ñкої БД взагалі, можна вÑÑ– дані зберігати у конфігураційному файлі. </p><p>Ð”Ð»Ñ Ð´Ð¾Ñтупу до баз даних викориÑтовуєтьÑÑ Ð¼ÐµÑ…Ð°Ð½Ñ–Ð·Ð¼ реєÑтрації БД. ЗареєÑтровані у програмі БД доÑтупні уÑім підÑиÑтемам OpenSCADA та можуть викориÑтовуватиÑÑ Ñƒ Ñ—Ñ… роботі. ЗавдÑки цьому механізму можна забезпечити розподіл Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…. Ðаприклад, різні бібліотеки можуть зберігатиÑÑ Ñ‚Ð° розповÑюджуватиÑÑ Ð½ÐµÐ·Ð°Ð»ÐµÐ¶Ð½Ð¾, а Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ буде полÑгати у проÑтій реєÑтрації потрібної БД. </p> <h3><span class="mw-headline" id=".D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B8_.D1.82.D0.B0_.D1.96.D1.81.D1.82.D0.BE.D1.80.D1.96.D1.8F.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B8-.D0.86.D1.81.D1.82.D0.BE.D1.80.D1.96.D1.8F.22"><span class="mw-headline-number">1.5</span> <span id="Arch" title="#Arch">Ðрхіви та Ñ–ÑторіÑ, підÑиÑтема "Ðрхіви-ІÑторіÑ"</span></span></h3> <p>Будь Ñка SCADA ÑиÑтема має надавати можливіÑÑ‚ÑŒ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ñ… даних, тобто формувати Ñ–Ñторію зміни (динаміки) процеÑу. Ðрхіви умовно можна поділити на два типи: архіви повідомлень та архіви значень. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:221px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_subsys_arch_str_uk.png"><img class="thumbimage" height="251" src="files/Oscada_subsys_arch_str_uk.png" width="219" /></a> <div class="thumbcaption">РиÑ. 1.5. Ієрархічна Ñтруктура підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>ОÑобливіÑÑ‚ÑŽ архівів повідомлень Ñ” Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ†Ñ–Ñ Ñ‚Ð°Ðº званих повідомлень програми, а Ñаме — Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð»Ð¾Ð³Ñ–Ð² та протоколів. Характерною ознакою Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ” Ñ‡Ð°Ñ Ð¹Ð¾Ð³Ð¾ виникненнÑ. Залежно від джерела Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ клаÑифікуватиÑÑ Ð·Ð° різними критеріÑми. Ðаприклад, це можуть бути протоколи аварійних Ñитуацій, протоколи дій операторів, протоколи відмов зв'Ñзку та інше. </p><p>ОÑобливіÑÑ‚ÑŽ архівів значень Ñ” Ñ—Ñ… періодичніÑÑ‚ÑŒ, Ñка визначаєтьÑÑ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶ÐºÐ¾Ð¼ чаÑу між двома Ñуміжними значеннÑми. Ðрхіви значень заÑтоÑовуютьÑÑ Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñторії неперервних процеÑів. ОÑкільки Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½ÐµÐ¿ÐµÑ€ÐµÑ€Ð²Ð½Ð¸Ð¹ то й архівувати його можна тільки шлÑхом Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾Ð½ÑÑ‚Ñ‚Ñ ÐºÐ²Ð°Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ, інакше ми отримаємо архіви неÑкінчених розмірів, відповідно до неперервноÑÑ‚Ñ– Ñамої природи процеÑу. Крім того, практично ми можемо отримати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð· періодом обмеженим Ñамими джерелами даних. Ðаприклад, доволі ÑкіÑні джерела даних у промиÑловоÑÑ‚Ñ– рідко дозволÑÑŽÑ‚ÑŒ отримувати дані з чаÑтотою більш 1 кГц та це без Ð²Ñ€Ð°Ñ…ÑƒÐ²Ð°Ð½Ð½Ñ Ñамих давачів, Ñкі мають менш ÑкіÑні чаÑтотні характериÑтики. </p><p>Ð”Ð»Ñ Ð²Ð¸Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð´Ð°Ñ‡ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑ–Ð² даних у OpenSCADA передбачено підÑиÑтему "Ðрхіви-ІÑторіÑ" (РиÑ.1.5), Ñка Ñ” модульною та дозволÑÑ” веÑти архіви повідомлень та значень. Модульним об'єктом, Ñкий міÑтитьÑÑ Ñƒ підÑиÑтемі "Ðрхіви-ІÑторіÑ", виÑтупає тип архіватору. Тип архіватору визначає ÑпоÑіб Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… тобто Ñховище — <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">файлова ÑиÑтема</a>, <a href="Modules/DBArch.html" title="Special:MyLanguage/Modules/DBArch">СУБД</a>. Кожен модуль підÑиÑтеми "Ðрхіви-ІÑторіÑ" відповідно може реалізовувати Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ та значень та Ñама підÑиÑтема може міÑтити багато архівів, Ñкі обÑлуговуютьÑÑ Ñ€Ñ–Ð·Ð½Ð¸Ð¼Ð¸ модулÑми. </p> <h4><span class="mw-headline" id=".D0.9F.D0.BE.D0.B2.D1.96.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">1.5.1</span> <span id="ArchMess" title="#ArchMess">ПовідомленнÑ</span></span></h4> <p>ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ OpenSCADA характеризуютьÑÑ Ð´Ð°Ñ‚Ð¾ÑŽ, рівнем важливоÑÑ‚Ñ–, категорією та безпоÑередньо текÑтом повідомленнÑ. Дата Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ вказує на дату та Ñ‡Ð°Ñ Ð¹Ð¾Ð³Ð¾ ÑтвореннÑ. Рівень важливоÑÑ‚Ñ– вказує на Ñтупінь важливоÑÑ‚Ñ– повідомленнÑ. ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” адреÑу або умовний ідентифікатор-ключ джерела повідомленнÑ. ЧаÑто ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ Ð¼Ñ–Ñтить повний шлÑÑ… до джерела Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ програмі. ТекÑÑ‚ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ й неÑе головне ÑмиÑлове Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ. </p><p>У процеÑÑ– Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑкаютьÑÑ Ñ‡ÐµÑ€ÐµÐ· фільтр, Ñкий працює за рівнем важливоÑÑ‚Ñ– та категорією повідомлень. Рівень повідомлень у фільтрі вказує на те, що треба пропуÑкати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· вказаним або вищим рівнем важливоÑÑ‚Ñ–. Ð”Ð»Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° категорією заÑтоÑовуютьÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ або регулÑрні вирази, Ñкі визначають Ñкі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑкати. Кожний архіватор міÑтить влаÑні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ñƒ, відповідно можна легко Ñтворювати різні Ñпеціалізовані архіватори Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ повідомлень. Ðаприклад, архіватори повідомлень можна ÑпрÑмувати на: </p> <ul><li> логи, Ð´Ð»Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° іншої робочої інформації Ñерверів;</li> <li> різні протоколи (протокол дій кориÑтувачів, протокол порушень та виключень, протокол повідомлень ... ).</li></ul> <p>Рівнів повідомлень передбачено 8, але кожен з цих рівнів, від 1(першого), може бути розширено підрівнÑми, тобто фактично бути групою із 10 підрівнів, що здійÑнюєтьÑÑ Ð¿Ñ€Ð¾Ñтим доданнÑм цифри піÑÐ»Ñ Ð¾Ñновного рівнÑ, наприклад, 5 — це оÑновний рівень, а 50...59 це Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ñ€Ñ–Ð²Ð½Ñ 5. Що загальну кількіÑÑ‚ÑŒ рівнів вÑтановлює у 80. Сім оÑновних рівнів мають назви, та відповідноÑÑ‚Ñ– чому бажано дотримуватиÑÑ: </p> <ul><li> <b>0</b> — ÐалагодженнÑ;</li> <li> <b>1[X]</b> — ІнформаціÑ;</li> <li> <b>2[X]</b> — ЗауваженнÑ;</li> <li> <b>3[X]</b> — ПопередженнÑ;</li> <li> <b>4[X]</b> — Помилка;</li> <li> <b>5[X]</b> — Критично;</li> <li> <b>6[X]</b> — Тривога;</li> <li> <b>7[X]</b> — ÐваріÑ.</li></ul> <p>Відповідно до ÑхожоÑÑ‚Ñ– природи повідомлень та порушень, підÑиÑтема "Ðрхіви-ІÑторіÑ" міÑтить буфер поточних порушень, Ñкий міÑтить активні на цей Ñ‡Ð°Ñ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð·Ð° категорією Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ ролі ключа-ідентифікатору порушеннÑ. ДоÑтуп до переліку-буферу поточних порушень здійÑнюєтьÑÑ ÑˆÐ»Ñхом ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ Ð½ÐµÐ³Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ñ–Ð²Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ. Так, Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· негативним рівнем -2 викликає Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ буфері активних порушень з рівнем 2, а також Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð¹Ð¾Ð³Ð¾ безпоÑередньо у архіві повідомлень (буфері загальних повідомлень). За формуваннÑм Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ такій же категорії, але за позитивним рівнем — Ñкажемо 1, буде здійÑнено Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð· буферу порушень, а Ñаме Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ‚Ð°ÐºÐ¾Ð¶ потрапить до архіву повідомлень (буферу загальних повідомлень). Такий механізм дозволÑÑ” одночаÑно веÑти облік активних порушень та протоколювати Ñ—Ñ… Ð¿Ñ€Ð¾Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñƒ архіві повідомлень. При запиті до архіву повідомлень, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð·Ð¸Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ñ€Ñ–Ð²Ð½Ñ Ð·Ð´Ñ–Ð¹Ñнює запит до архіву повідомлень (через загальний буфер повідомлень), а негативного Ñ€Ñ–Ð²Ð½Ñ Ð·Ð´Ñ–Ð¹Ñнює запит до буферу-переліку поточних порушень. </p><p>Суворої Ñтруктури категорії та текÑту Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ðµ передбачаєтьÑÑ Ñ‚Ð° кориÑтувач, Ð´Ð»Ñ Ð²Ð»Ð°Ñних повідомлень, може формувати Ñ—Ñ… довільно, але варто враховувати Ñтруктуру ÑиÑтемних повідомлень та повідомлень, визначених <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Libs" title="Special:MyLanguage/Libs">Ñтандартними бібліотеками OpenSCADA</a>, щоб попередити перетин з ними, або предметно розширити: </p> <ul><li> <b>СиÑтемні</b>, генеруютьÑÑ Ð¾Ð±'єктами-вузлами OpenSCADA:</li></ul> <dl><dd> КÐТЕГОРІЯ: визначає типовий шлÑÑ… до вузлу повідомленнÑ, наприклад — "/sub_DAQ/mod_LogicLev/cntr_gen/", де: <ul><li> "/*/*" — типовий шаблон-ознака ÑиÑтемного Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° оÑнові Ñимволу-роздільнику елементів шлÑху, Ñкий може бути безпоÑередньо викориÑтано у фільтрі категорії Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñуто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_uk.png" title="File:QTCfg subsys arch mod ma main uk.png">архіву ÑиÑтемних повідомлень</a>.</li></ul></dd> <dd> ТЕКСТ: міÑтить шлÑÑ… назв вузла Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° Ñаме Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ форматі "<b>{NodeNmPath}: {message}</b>", наприклад — "AGLKS > Збір Даних > LogicLev > gen: ЗапуÑк контролера.".</dd></dl> <ul><li> <b>Шлюзовані</b>, повідомленнÑ, що було отримано з ієрархічно нижчої Ñтанції OpenSCADA (Ñк то ПЛК) або передане вищою Ñтанцією:</li></ul> <dl><dd> КÐТЕГОРІЯ: у початок категорії отриманого Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ”Ñ‚ÑŒÑÑ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ об'єкту контролеру Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQ.DAQGate</a>, що здійÑнив отриманнÑ, наприклад — "loop:alModBus:testTCP" або "TopStat(DAQCntr):alModBus:testTCP", де: <ul><li> "loop:*" — типовий шаблон-ознака віддаленого нижчого Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° оÑнові ідентифікатору об'єкту контролеру <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQ.DAQGate</a>, Ñкий може бути безпоÑередньо викориÑтано у фільтрі категорії Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñуто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_uk.png" title="File:QTCfg subsys arch mod ma main uk.png">архіву віддалених повідомлень цього джерела</a>;</li> <li> "TopStat(DAQCntr):*" — типовий шаблон-ознака віддаленого вищого Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° оÑнові назви проекту (або ідентифікатору) <i>TopStat</i> та ідентифікатору об'єкту контролеру <i>DAQCntr</i> Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQ.DAQGate, Ñкий може бути безпоÑередньо викориÑтано у фільтрі категорії Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñуто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_uk.png" title="File:QTCfg subsys arch mod ma main uk.png">архіву віддалених повідомлень цього джерела</a>.</li></ul></dd></dl> <ul><li> Уніфіковані Ñтруктури із джерелом даних у категорії, генеруютьÑÑ Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾Ð¼ даних або його процедурами за допомогою функції <i>messSet()</i> <a href="API.html#TController" title="Special:MyLanguage/Documents/API">API OpenSCADA</a> та <a href="User_API.html#SYS.DAQ" title="Special:MyLanguage/Documents/User API">кориÑтувацького API</a>:</li></ul> <dl><dd><dl><dd> КÐТЕГОРІЯ: визначає ID-адреÑу джерела Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ñƒ форматі "<b>{ID}{ModId}:{CntrId}[.{PrmId}][:{SpecPrms}]</b>", де: <ul><li> <i>ID</i> — двоÑимвольний ідентифікатор Ñтруктури;</li> <li> <i>ModId</i> — ідентифікатор модулÑ;</li> <li> <i>CntrId</i> — ідентифікатор об'єкту контролера;</li> <li> <i>PrmId</i> — ідентифікатор параметру;</li> <li> <i>SpecPrms</i> — Ñпецифічні параметри Ñтруктури <i>ID</i>.</li></ul></dd></dl> <ul><li> <b>ПорушеннÑ</b>, генеруютьÑÑ Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾Ð¼ даних або його процедурами за допомогою функції <i>alarmSet()</i> <a href="API.html#TController" title="Special:MyLanguage/Documents/API">API OpenSCADA</a> та <a href="User_API.html#SYS.DAQ" title="Special:MyLanguage/Documents/User API">кориÑтувацького API</a>:</li></ul> <dl><dd> КÐТЕГОРІЯ: визначає ID-адреÑу джерела Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ñƒ форматі "<b>al{ModId}:{CntrId}[.{PrmId}]</b>", наприклад — "alLogicLev:gen.F_PP1", де: <ul><li> "al*" — типовий шаблон-ознака Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð½Ð° оÑнові двох перших Ñимволів Ñлова "alarm", Ñкий може бути безпоÑередньо викориÑтано у фільтрі категорії Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñуто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_uk.png" title="File:QTCfg subsys arch mod ma main uk.png">архіву порушень</a>.</li></ul></dd> <dd> ТЕКСТ: "<b>{CntrNm} > {PrmNm}: {MessText}</b>", наприклад — "ЗагальноÑтанційка > F_PP1: Витрати газу через діафрагму PP1: ÐОРМÐ", де: <ul><li> <i>CntrNm</i> — назва об'єкту контролера;</li> <li> <i>PrmNm</i> — назва параметру;</li> <li> <i>MessText</i> — текÑÑ‚ повідомленнÑ, Ñке має підÑтруктуру "<b>{Viol}: {Value}[: {QuietTime}[: {NormTime}[: {Comment}]]]</b>", де:</li></ul> <dl><dd><ul><li> <i>Viol</i> — Ð¾Ð¿Ð¸Ñ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ, Ñке окремі кадри, Ñк то <a href="Libs_Main_graphical_elements.html#alarmsAct" title="Special:MyLanguage/Libs/Main graphical elements">Main.alarmsAct</a> та <a href="Libs_Main_graphical_elements.html#alarmsSt" title="Special:MyLanguage/Libs/Main graphical elements">Main.alarmsSt</a>, можуть розширювати кориÑтувацькими полÑми у формі "<b>[[{CustFld0} => {CustFld1} => ... => {CustFldN}]]</b>";</li> <li> <i>Value</i> — Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ;</li> <li> <i>QuietTime</i> — Ñ‡Ð°Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ (квітації);</li> <li> <i>NormTime</i> — Ñ‡Ð°Ñ Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ Ñтану ÐОРМÐ, вÑтановлюєтьÑÑ Ñ‚ÑƒÑ‚ піÑÐ»Ñ ÐºÐ²Ñ–Ñ‚Ð°Ñ†Ñ–Ñ—-Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ð¶Ðµ у ÐОРМÐ;</li> <li> <i>Comment</i> — коментар до цього випадку.</li></ul></dd></dl></dd></dl> <ul><li> <b>Дії кориÑтувача-оператора із джерелом даних</b>, генеруютьÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¾ÑŽ віджетів при визначені дій кориÑтувача-оператору, Ñкі мають бути зафікÑовано у протоколі кориÑтувача-оператору та коли доÑтупний об'єкт параметру джерела даних:</li></ul> <dl><dd> КÐТЕГОРІЯ: визначає кориÑтувача та характерне джерело (зазвичай параметр підÑиÑтеми "Збір даних") Ð´Ð»Ñ Ñкого здійÑнено дії, у форматі "<b>OP{ModId}:{CntrId}[.{PrmId}]:{user}</b>", наприклад — "OPLogicLev:gen.PC_PCV1:roman", де: <ul><li> "OP*" — типовий шаблон-ознака Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ñ–Ñ— кориÑтувача-оператору на оÑнові двох перших Ñимволів Ñлова "operator", Ñкий може бути безпоÑередньо викориÑтано у фільтрі категорії Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñуто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_uk.png" title="File:QTCfg subsys arch mod ma main uk.png">архіву дій оператору</a>.</li></ul></dd> <dd> TEXT: таке Ñаме Ñк Ñ– за Ñтруктури "Дії кориÑтувача-оператора".</dd></dl></dd></dl> <ul><li> <b>Дії кориÑтувача-оператора</b>, генеруютьÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¾ÑŽ віджетів при визначені дій кориÑтувача-оператору, Ñкі мають бути зафікÑовано у протоколі кориÑтувача-оператору:</li></ul> <dl><dd> КÐТЕГОРІЯ: визначає кориÑтувача та характерне джерело (зазвичай параметр підÑиÑтеми "Збір даних") Ð´Ð»Ñ Ñкого здійÑнено дії, у форматі "<b>OP:{user}:{src}</b>", наприклад — "OP:roman:РС_КРТ1", де: <ul><li> "OP:*" — типовий шаблон-ознака Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ñ–Ñ— кориÑтувача-оператору на оÑнові двох перших Ñимволів Ñлова "operator", Ñкий може бути безпоÑередньо викориÑтано у фільтрі категорії Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñуто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_uk.png" title="File:QTCfg subsys arch mod ma main uk.png">архіву дій оператору</a>;</li> <li> <i>user</i> — кориÑтувач OpenSCADA;</li> <li> <i>src</i> — характерне джерело, зазвичай параметр підÑиÑтеми "Збір даних", за потреби доповнений ієрархією DAQ-параметрів до об'єкту контролеру.</li></ul></dd> <dd> ТЕКСТ: Ð¾Ð¿Ð¸Ñ Ð´Ñ–Ñ— у форматі "<b>{src} : {name} : [{oldVal}] : {newVal}</b>", наприклад — "'РС_КРТ1'. Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ : РегулÑтор тиÑку на вході КС : 6.0 : 5.8", де: <ul><li> <i>src</i> — назва джерела, зазвичай об'єкту параметру з деталізацією, та за потреби доповнений ієрархією DAQ-параметрів до об'єкту контролеру;</li> <li> <i>name</i> — назва джерела, зазвичай об'єкту параметру;</li> <li> <i>oldVal</i> — Ñтаре значеннÑ, може бути відÑутнє;</li> <li> <i>newVal</i> — нове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ діÑ.</li></ul></dd></dl> <ul><li> <b>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ повідомлені</b> — вимірÑні значеннÑ, Ñкі введено вручну, що первинно запроваджено у кадрі документу "<a href="Libs_Documents.html#docRepYear" title="Special:MyLanguage/Libs/Documents">Річний звіт міÑÑчних значень (docRepYear)</a>":</li></ul> <dl><dd> КÐТЕГОРІЯ: визначає ID джерела <i>SrcID</i> у форматі "<b>val{SrcID}</b>", де: <ul><li> "val*" — типовий шаблон-ознака значеннÑ, Ñкий може бути безпоÑередньо викориÑтано у фільтрі категорії Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñуто значень у повідомленнÑÑ…;</li> <li> <i>SrcID</i> — ідентифікатор джерела.</li></ul></dd> <dd> ТЕКСТ: назва <i>Name</i> та Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ <i>Value</i> параметру у форматі "<b>{Name}: {Value}</b>".</dd></dl> <ul><li> <b><a href="Libs_Prescriptions.html#manager" title="Special:MyLanguage/Libs/Prescriptions">Ð’Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ñ–Ð²</a></b> — генерує Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ñ–Ð¹ протÑгом Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ñƒ щодо:</li></ul> <dl><dd> КÐТЕГОРІЯ: визначає ідентифікатор кориÑтувацького рецепту-програми <i>ProgNM</i> у форматі "<b>uprg{ProgNM}</b>", де: <ul><li> "uprg*" — типовий шаблон-ознака кориÑтувацького рецепту-програми, Ñкий може бути безпоÑередньо викориÑтано у фільтрі категорії Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ повідомленнÑÑ… Ñуто кориÑтувацьких рецептів-програм;</li> <li> <i>ProgNM</i> — ім'Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ñƒ-програми.</li></ul></dd> <dd> ТЕКСТ: Ð¾Ð¿Ð¸Ñ Ð´Ñ–Ñ— у форматі "<b>{ActDescr} "{ProgNM}" : {StartTm} : {ActTm}</b>", де: <ul><li> <i>ActDescr</i> — Ð¾Ð¿Ð¸Ñ Ð´Ñ–Ñ—:</li></ul> <dl><dd><ul><li> "Поточний вузол відÑутній";</li> <li> "Перерваний кориÑтувачем ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸";</li> <li> "Перерваний помилкою ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸";</li> <li> "Вдалий ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸".</li></ul></dd></dl> <ul><li> <i>ProgNM</i> — ім'Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ñƒ-програми;</li> <li> <i>StartTm</i> — Ñ‡Ð°Ñ Ð·Ð°Ð¿ÑƒÑку рецепту-програми, у форматі "2020-03-14 16:05:01";</li> <li> <i>ActTm</i> — Ñ‡Ð°Ñ Ð´Ñ–Ñ— рецепту-програми, у форматі "2020-03-14 16:05:52".</li></ul></dd></dl> <h4><span class="mw-headline" id=".D0.97.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">1.5.2</span> <span id="ArchVals" title="#ArchVals">ЗначеннÑ</span></span></h4> <p>Ðрхіви значень у OpenSCADA виÑтупають Ñк незалежні компоненти, Ñкі включають буфери, оброблювані архіваторами. ОÑновним параметром архівів значень Ñ” джерело даних, у ролі Ñкого можуть виÑтупати атрибути параметрів підÑиÑтеми "Збір Даних", а також інші зовнішні джерела даних (паÑивний режим). Іншими джерелами даних можуть бути мережеві архіватори віддалених Ñтанцій OpenSCADA, Ñередовище Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA та інше. </p><p>Ключовим компонентом Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ неперервних процеÑів Ñ” буфер значень, Ñкий призначено Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶Ð½Ð¾Ð³Ð¾ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð¼Ð°Ñиву значень, отриманого з визначеною періодичніÑÑ‚ÑŽ (квантом чаÑу). Буфер значень викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð±ÐµÐ·Ð¿Ð¾Ñереднього Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… маÑивів значень у архівах значень Ñк перед безпоÑереднім "ÑкиданнÑм" на фізичний ноÑій, так Ñ– Ð´Ð»Ñ Ð¼Ð°Ð½Ñ–Ð¿ÑƒÐ»Ñцій з кадрами значень, тобто у функціÑÑ… покадрового запиту значень та Ñ—Ñ… Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ буфері архівів. </p><p>Ð”Ð»Ñ Ð¾Ñ€Ð³Ð°Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ— віддалених архіваторів у розподілених конфігураціÑÑ… викориÑтовуєтьÑÑ Ñ‚Ñ€Ð°Ð½Ñпортний тип архіватору, наразі не реалізовано у OpenSCADA. Функцією транÑпортного типу архіваторів Ñ” Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾Ð³Ð¾ центрального архіватору OpenSCADA у локальній конфігурації. Як наÑлідок, архіватори транÑпортного типу виконують передачу даних між локальною конфігурацією та архіватором віддаленої конфігурації програми, приховуючи від підÑиÑтем локальної конфігурації реальну природу архіватору. </p> <h3><span class="mw-headline" id=".D0.9A.D0.BE.D0.BC.D1.83.D0.BD.D1.96.D0.BA.D0.B0.D1.86.D1.96.D1.97.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B8_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.B8.22_.D1.82.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.BD.D1.96_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D0.B8.22"><span class="mw-headline-number">1.6</span> <span id="Communication" title="#Communication">Комунікації, підÑиÑтеми "ТранÑпорти" та "ТранÑпортні протоколи"</span></span></h3> <p>ОÑкільки OpenSCADA Ñ” виÑоко-маÑштабованою то підтримка комунікацій має бути доÑтатньо гнучкою, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ вона реалізована у підÑиÑтемах "ТранÑпорти" та "ТранÑпортні протоколи" (РиÑ.1.6), Ñкі Ñ” модульними. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:293px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_subsys_tr_str_uk.png"><img class="thumbimage" height="296" src="files/Oscada_subsys_tr_str_uk.png" width="291" /></a> <div class="thumbcaption">РиÑ. 1.6. Ієрархічна Ñтруктура підÑиÑтеми "ТранÑпорти" та "Протоколи".</div></div></div></div> <p>ПідÑиÑтема "ТранÑпорти" призначена Ð´Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼Ñ–Ð½Ñƒ неÑтруктурованими даними між OpenSCADA та зовнішніми ÑиÑтемами, у ролі Ñких також можуть виÑтупати віддалені Ñтанції OpenSCADA. Під неÑтруктурованими даними вважаєтьÑÑ Ð¿Ð¾Ñ‚Ñ–Ðº Ñимволів певної довжини. Модульним об'єктом, що міÑтитьÑÑ Ñƒ підÑиÑтемі "ТранÑпорти", виÑтупає тип транÑпорту, Ñкий Ñ– визначає механізм передачі неÑтруктурованих даних. Ðаприклад, це можуть бути та Ñ”: </p> <ul><li> <a href="Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">Ñокети (TCP/UDP/UNIX)</a>;</li> <li> <a href="Modules/Serial.html" title="Special:MyLanguage/Modules/Serial">поÑлідовні інтерфейÑи</a>;</li> <li> <a href="Modules/SSL.html" title="Special:MyLanguage/Modules/SSL">шифровані канали</a>.</li></ul> <p>ПідÑиÑтема "ТранÑпорти" включає підтримку вхідних та вихідних транÑпортів. Вхідні транÑпорти призначено Ð´Ð»Ñ Ð¾Ð±ÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… запитів та відправки відповідей. Вихідні транÑпорти навпаки, призначено Ð´Ð»Ñ Ð½Ð°Ð´ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ та Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´ÐµÐ¹. Відтак, вхідні транÑпорти міÑтить конфігурацію локальної Ñтанції, Ñк Ñерверу проÑÐ»ÑƒÑ…Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð², а вихідні транÑпорти міÑтить конфігурацію віддаленого Ñерверу, Ð´Ð»Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ. Така ÑÐ¿ÐµÑ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð½Ð° Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ механізму "запит-відповідь", однак наразі вхідні та вихідні транÑпорти підтримують незалежну передачу та прийом даних. Модулі підÑиÑтеми "ТранÑпорти" реалізують підтримку Ñк вхідних, так Ñ– вихідних транÑпортів. </p><p>ПідÑиÑтема "ТранÑпортні протоколи" призначена Ð´Ð»Ñ Ñтруктуризації даних, отриманих від підÑиÑтеми "ТранÑпорти", Ñ” продовженнÑм підÑиÑтеми "ТранÑпорты", від чого має таку назву, та здійÑнює функції перевірки Ñтруктури та ціліÑноÑÑ‚Ñ– отриманих даних. У глобальній нотації, Ñ†Ñ Ð¿Ñ–Ð´ÑиÑтема міÑтить та реалізує <b>КОМУÐІКÐЦІЙÐІ</b> протоколи! Ð”Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñƒ, разом з Ñким має працювати транÑпорт, передбачено Ñпеціальне конфігураційне поле. Модульним об'єктом, Ñкий міÑтитьÑÑ Ñƒ підÑиÑтемі "Протоколи", Ñ” Ñам протокол. Ðаприклад, транÑпортними протоколами можуть бути та Ñ”: </p> <ul><li> <a href="Modules/SelfSystem.html" title="Special:MyLanguage/Modules/SelfSystem">влаÑний протокол OpenSCADA</a>;</li> <li> <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a>;</li> <li> <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">OPC-UA</a>;</li> <li> <a href="Modules/DCON.html" title="Special:MyLanguage/Modules/DCON">DCON</a>;</li> <li> <a href="Modules/HTTP.html" title="Special:MyLanguage/Modules/HTTP">протокол передачі гіпертекÑту (HTTP)</a>;</li> <li> <a href="Modules/UserProtocol.html" title="Special:MyLanguage/Modules/UserProtocol">кориÑтувацькі протоколи</a>, що реалізуютьÑÑ Ñƒ Ñамій OpenSCADA на <a href="DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">логічному рівні</a>, та Ñкий, із розвитком <a href="DAQ.html#JavaLikeCalc" title="Special:MyLanguage/Documents/DAQ">внутрішньої мови</a>, Ñтав пріоритетним.</li></ul> <p>Повну поÑлідовніÑÑ‚ÑŒ ÑеанÑу вхідного зв'Ñзку Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… протоколів режиму "запит-відповідь" можна запиÑати наÑтупним чином: </p> <ul><li> Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ ÑиÑтема під'єднуєтьÑÑ Ð´Ð¾ вхідного транÑпорту;</li> <li> Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ–Ð· зовнішньої ÑиÑтеми надходить до транÑпорту;</li> <li> транÑпорт передає Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²'Ñзаному з ним протоколу шлÑхом ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ об'єкту протоколу;</li> <li> протокол перевірÑÑ” ціліÑніÑÑ‚ÑŒ даних;</li> <li> Ñкщо прийшли вÑÑ– дані то повідомити транÑпорту про Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð½Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… та передати йому відповідь інакше повідомити, що треба очікувати ще;</li> <li> транÑпорт, отримавши підтвердженнÑ, надÑилає відповідь та видалÑÑ” об'єкт протоколу, Ñкщо це не режим Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ;</li> <li> Ñкщо Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð°Ñ” то транÑпорт продовжує Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… та у випадку Ñ—Ñ… Ð½Ð°Ð´Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ” збереженому об'єкту протоколу.</li></ul> <p>Протоколи також підтримуютьÑÑ Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… транÑпортів та беруть на Ñебе функцію ÑÐ¿Ñ–Ð»ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð· транÑпортом та реалізацію оÑобливоÑтей цих протоколів, при підготовці даних до передачі та розборі відповідей. Зовнішній Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð¾Ñтупу до протоколів, із коду інших модулів та Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA, реалізуєтьÑÑ Ñƒ XML дереві зі влаÑною Ñтруктурою Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ протокольного модулÑ. Такий механізм дозволÑÑ” виконувати прозорий доÑтуп до зовнішніх ÑиÑтем, за поÑередництвом транÑпортів, проÑто вказуючи ім'Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñƒ за допомогою Ñкого обÑлуговувати передачу. </p><p>ТранÑпорти мають можливіÑÑ‚ÑŒ утримувати додаткові параметри, Ñкими можуть бути параметри викориÑтаних протоколів, тобто протоколи можуть бути індивідуально Ñконфігуровані Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ підключеннÑ. [<span style="color: red">ПЛÐÐ</span>] У майбутньому Ñ†Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð±ÑƒÐ´Ðµ викориÑтана Ð´Ð»Ñ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ¾Ð²Ð¸Ñ… протоколів. </p><p>ЗавдÑки Ñтандартному доÑтупу до транÑпортів у OpenSCADA, можна легко змінювати ÑпоÑіб обміну даними не зачіпаючи Ñамих програм, що обмінюютьÑÑ. Ðаприклад, у випадку локального обміну, можна викориÑтовувати швидший транÑпорт на оÑнові UNIX-Ñокетів, а у випадку обміну через інтернет та локальну мережу викориÑтовувати TCP- або UDP-Ñокети. </p> <h3><span class="mw-headline" id=".D0.86.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B8_.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.87.D0.B0.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.86.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B8_.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.87.D0.B0.22"><span class="mw-headline-number">1.7</span> ІнтерфейÑи кориÑтувача, підÑиÑтема "ІнтерфейÑи кориÑтувача"</span></h3> <p>SCADA-ÑиÑтеми, Ñк клаÑ, передбачають наÑвніÑÑ‚ÑŒ інтерфейÑів кориÑтувача. У OpenSCADA Ð´Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацьких інтерфейÑів передбачена підÑиÑтема "КориÑтувацькі інтерфейÑи" під Ñкою розумієтьÑÑ Ð½Ðµ тільки Ñередовище візуалізації, з Ñким має працювати кінцевий кориÑтувач, але Ñ– вÑе, що має ÑтоÑунок до кориÑтувача, наприклад: </p> <ul><li> Середовище візуалізації: <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">Рушій Середовища Візуалізації</a>, візуалізатори <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Qt</a> та <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">Web</a>;</li> <li> Конфігуратори: <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">Qt</a> та <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">Web</a>;</li> <li> Сигналізатори.</li></ul> <p>ПідÑиÑтема "КориÑтувацькі інтерфейÑи" Ñ” модульною та Ñ—Ñ— модульним об'єктом виÑтупає влаÑне конкретний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ñ€Ð¸Ñтувача. МодульніÑÑ‚ÑŒ підÑиÑтеми дозволÑÑ” Ñтворювати різні інтерфейÑи кориÑтувача на різних GUI/TUI бібліотеках та викориÑтовувати найбільш оптимальне Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ñƒ конкретно взÑтому випадку, наприклад, Ð´Ð»Ñ Ñередовища Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾Ð²Ð°Ð½Ð¸Ñ… логічних контролерів можна викориÑтовувати конфігуратори та візуалізатори на оÑнові Web-технологій (<a href="Modules/WebCfg.html" title="Special:MyLanguage/Modules/WebCfg">WebCfg</a>, <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">WebCfgD</a>, <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">WebVision</a>, <a href="Modules/WebUser.html" title="Special:MyLanguage/Modules/WebUser">WebUser</a>), а у випадку Ñтаціонарних робочих Ñтанцій викориÑтовувати Ñ‚Ñ–-ж конфігуратори та візуалізатори, але на оÑнові бібліотек на кшталт Qt (<a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">QTCfg</a>, <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Vision</a>). </p> <h3><span class="mw-headline" id=".D0.91.D0.B5.D0.B7.D0.BF.D0.B5.D0.BA.D0.B0_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.B8.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B5.D0.B7.D0.BF.D0.B5.D0.BA.D0.B0.22"><span class="mw-headline-number">1.8</span> Безпека програми, підÑиÑтема "Безпека"</span></h3> <p>OpenSCADA Ñ” розгалуженою програмою, Ñка ÑкладаєтьÑÑ Ð· деÑÑтка підÑиÑтем та може включати багато модулів. Відтак Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð²Ñім необмеженого доÑтупу до цих реÑурÑів Ñ” принаймні необережним. Ð”Ð»Ñ Ñ€Ð¾Ð·Ð¼ÐµÐ¶ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу у OpenSCADA передбачено підÑиÑтему "Безпека", оÑновними функціÑми Ñкої Ñ”: </p> <ul><li> Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¸Ñ… запиÑів кориÑтувачів та груп кориÑтувачів;</li> <li> Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ ÐºÐ¾Ñ€Ð¸Ñтувачів;</li> <li> перевірка прав доÑтупу кориÑтувача до того або іншого реÑурÑу.</li></ul> <p>Окрім цієї підÑиÑтеми, <a href="API.html#CntrNode" title="Special:MyLanguage/Documents/API">Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ</a> також надає перевірку доÑтупу за елементами контролю Ñ– з логічними поділом прав за підÑиÑтемами Ð´Ð»Ñ Ñких автоматично ÑтворюютьÑÑ ÑиÑтемні групи, включно із цією — "Security". Ðаразі будь Ñкий Вузол Контролю (TCntrNode) може мати влаÑні дозволи доÑтупу (ACL) Ñкі Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ може викориÑтовувати або зберігати ÑуміÑніÑÑ‚ÑŒ перед перемиканнÑм на них, та із збереженнÑм первинних дозволів на корінь підÑиÑтеми на кшталт "root:DAQ"-0775. </p><p>ОÑкільки ACL не Ñ” обов'Ñзковим чи важливим у багатьох завданнÑÑ…, його Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ñ‚ÐµÐ³Ñ€Ð¾Ð²Ð°Ð½Ð¾ до Ð²ÐºÐ°Ð·Ð°Ð½Ð½Ñ Ñƒ полÑÑ… опиÑу робочих вузлів Ñ€Ñдком правила ACL — "<b>ACL: {owner}[:{group}[:{perm}]]</b>", де: </p> <ul><li> <i>owner</i> — влаÑник реÑурÑу;</li> <li> <i>group</i> — група реÑурÑу;</li> <li> <i>perm</i> — права реÑурÑу у Ñимвольному предÑтавлені (RWXRWXRWX) або віÑімковим чиÑлом (0777).</li></ul> <p>Ðаразі ACL підтримуєтьÑÑ: </p> <ul><li> <a href="#CfgDAQ">підÑиÑтемою Збір Даних (DAQ)</a> Ð´Ð»Ñ ÐžÐ±'єктів Контролеру Ñ– Параметру, DAQ-Шаблонів та <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">модулем OPC-UA</a> у протокольній чаÑтині Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ прав авторизованого кориÑтувача, де: <ul><li> <i>Rd (04)</i> — Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð’ÑƒÐ·Ð»Ñ–Ð² Контролю Ñ– Ðтрибутів Параметру;</li> <li> <i>Wr (02)</i> — Ð·Ð°Ð¿Ð¸Ñ (також ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ– видаленнÑ) Вузлів Контролю;</li> <li> <i>Xt (01)</i> — виконаннÑ-Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ Ðтрибуту Параметру.</li></ul></li></ul> <h3><span class="mw-headline" id=".D0.A3.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D1.96.D0.BD.D0.BD.D1.8F_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.8F.D0.BC.D0.B8.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.94.D0.B8.D1.81.D0.BF.D0.B5.D1.82.D1.87.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.96.D0.B2.22"><span class="mw-headline-number">1.9</span> Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñми, підÑиÑтема "ДиÑпетчер модулів"</span></h3> <p>OpenSCADA побудовано за модульним принципом, що передбачає наÑвніÑÑ‚ÑŒ багатьох модулів, Ñкі треба контролювати та планувати доÑтупніÑÑ‚ÑŒ, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ передбачено підÑиÑтему "ДиÑпетчер модулів". Ð’ÑÑ– модулі на цей Ñ‡Ð°Ñ Ð½Ð°Ð´Ð°ÑŽÑ‚ÑŒÑÑ Ð´Ð¾ програми за поÑередництвом поділюваних бібліотек(контейнерів) або вбудовуютьÑÑ Ð¿Ñ€Ñмо у бібліотеку Ñдра OpenSCADA. Кожний контейнер може міÑтити безліч модулів різного типу згідно до Ñ—Ñ… логічної зв'ÑзніÑÑ‚ÑŽ. </p><p>ПідÑиÑтема "ДиÑпетчер модулів" реалізує контроль за Ñтаном контейнерів та дозволÑÑ” виконувати "гарÑче" доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€Ñ–Ð² та модулів, що він міÑтить. </p> <h3><span class="mw-headline" id=".D0.9D.D0.B5.D0.BF.D0.B5.D1.80.D0.B5.D0.B4.D0.B1.D0.B0.D1.87.D0.B5.D0.BD.D1.96_.D0.BC.D0.BE.D0.B6.D0.BB.D0.B8.D0.B2.D0.BE.D1.81.D1.82.D1.96.2C_.D0.BF.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.BF.D0.B5.D1.86.D1.96.D0.B0.D0.BB.D1.8C.D0.BD.D1.96.22"><span class="mw-headline-number">1.10</span> Ðепередбачені можливоÑÑ‚Ñ–, підÑиÑтема "Спеціальні"</span></h3> <p>Очевидно, що неможливо передбачити вÑÑ– потрібні функції та функції, що можуть знадобитиÑÑ Ñƒ майбутньому, тому у OpenSCADA передбачено підÑиÑтему "Спеціальні", Ñка Ñ” модульною та призначена Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð½ÐµÐ¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ð¸Ñ… функцій шлÑхом модульного розширеннÑ. Ðаприклад, за допомогою цієї підÑиÑтеми можуть бути та реалізовані: </p> <ul><li> <a href="Modules/SystemTests.html" title="Special:MyLanguage/Modules/SystemTests">теÑти OpenSCADA та Ñ—Ñ— модулів</a>;</li> <li> бібліотеки функцій кориÑтувацького програмуваннÑ: <a href="Modules/FLibSYS.html" title="Special:MyLanguage/Modules/FLibSYS">функції ÑиÑтемного API</a>, <a href="Modules/FLibMath.html" title="Special:MyLanguage/Modules/FLibMath">математичні функції</a>.</li></ul> <h3><span class="mw-headline" id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97.2C_.D0.BE.D0.B1.27.D1.94.D0.BA.D1.82.D0.BD.D0.B0_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C_.D1.82.D0.B0_.D1.81.D0.B5.D1.80.D0.B5.D0.B4.D0.BE.D0.B2.D0.B8.D1.89.D0.B5_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.87.D0.B0"><span class="mw-headline-number">1.11</span> Функції, об'єктна модель та Ñередовище Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</span></h3> <p>СучаÑна SCADA ÑиÑтема має міÑтити механізми що надають можливіÑÑ‚ÑŒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° кориÑтувацькому рівні, тобто — Ñередовище Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача. OpenSCADA міÑтить таке Ñередовище та за його допомогою можна реалізовувати: </p> <ul><li> алгоритми ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¸Ð¼Ð¸ процеÑами;</li> <li> великі динамічні моделі реального чаÑу та тренажери технологічних, хімічних, фізичних та інших процеÑів;</li> <li> адаптивні механізми ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð·Ð° моделÑми;</li> <li> кориÑтувацькі процедури ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ð¼Ð¸ функціÑми програми, Ñ—Ñ— підÑиÑтемами та модулÑми;</li> <li> гнучке Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ñтруктур параметрів <a href="#DAQ">підÑиÑтеми "Збір Даних"</a> з метою ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² неÑтандартної Ñтруктури та Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ—Ñ… за алгоритмом кориÑтувача; процедури та протоколи збору даних Ñ€Ñ–Ð²Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача;</li> <li> допоміжні обчиÑленнÑ.</li></ul> <p>Середовище Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€ÐµÐ´ÑтавлÑÑ” Ñобою ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð·Ð°Ñобів, що організують обчиÑлювальне Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та до Ñкладу Ñкого входÑÑ‚ÑŒ: </p> <ul><li> <a href="User_API.html" title="Special:MyLanguage/Documents/User API">об'єктна модель</a>;</li> <li> модулі бібліотек функцій;</li> <li> внутрішні мови програмуваннÑ, наразі:<a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc</a>, <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">BlockCalc</a>;</li> <li> динамічні обчиÑленнÑ: об'єкти обчиÑлювальних контролерів <a href="#DAQ">підÑиÑтеми "Збір даних"</a>, <a href="DAQ.html#UserPrt" title="Special:MyLanguage/Documents/DAQ">процедури та протоколи збору даних Ñ€Ñ–Ð²Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</a>, процедури віджетів "<a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">Середовища Візуалізації та УправліннÑ</a>" та інше.</li></ul> <p>Модулі бібліотек функцій надають Ñтатичні функції визначеної ÑпрÑмованоÑÑ‚Ñ–, Ñкі розширюють об'єктну модель програми та предÑтавлÑÑŽÑ‚ÑŒ Ñобою Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð¾Ñтупу до заÑобів Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð½Ð° рівні кориÑтувача. Ðаприклад, "<a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">Середовище Візуалізації та УправліннÑ</a>" може надавати функції Ð´Ð»Ñ Ð²Ð¸Ð´Ð°Ñ‡Ñ– різних повідомлень, викориÑтовуючи Ñкі кориÑтувач може реалізовувати інтерактивні алгоритми взаємодії з програмою. Бібліотеки функцій загалом можуть реалізовуватиÑÑ Ñк набором функцій фікÑованого типу — Ñтатичні, так Ñ– функціÑми, що допуÑкають вільну модифікацію та Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ â€” динамічні. </p><p>Бібліотеки функцій вільного типу (динамічні) надають Ñередовище напиÑÐ°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацьких функцій на одній з мов програмуваннÑ, наразі це мова подібна до Java, Ñка реалізуєтьÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">DAQ.JavaLikeCalc</a>. Таким чином можна Ñтворювати бібліотеки апаратів технологічних процеÑів та багато інших, а надалі викориÑтовувати Ñ—Ñ… шлÑхом зв'ÑзуваннÑ. </p><p>Ðа оÑнові функцій, Ñкі надаютьÑÑ Ð¾Ð±'єктною моделлю, будуютьÑÑ Ð¾Ð±'єкти обчиÑлювальних контролерів, Ñкі здійÑнюють зв'ÑÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ з параметрами програми та механізмом обчиÑлюваннÑ. Також пишутьÑÑ <a href="DAQ.html#UserPrt" title="Special:MyLanguage/Documents/DAQ">процедури та протоколи збору даних Ñ€Ñ–Ð²Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</a>, процедури віджетів "<a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">Середовища Візуалізації та УправліннÑ</a>" та багато іншого. </p> <h2><span class="mw-headline" id="SCADA_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B8_.D1.82.D0.B0_.D1.97.D1.85_.D1.81.D1.82.D1.80.D1.83.D0.BA.D1.82.D1.83.D1.80.D0.B0"><span class="mw-headline-number">2</span> SCADA ÑиÑтеми та Ñ—Ñ… Ñтруктура</span></h2> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:471px;"><a class="image" href="http://oscada.org/wiki/File:Scada_uk.png"><img class="thumbimage" height="771" src="files/Scada_uk.png" width="469" /></a> <div class="thumbcaption">РиÑ. 2. Ієрархічна SCADA-ÑиÑтема.</div></div></div></div> <p>SCADA (Supervisory Control And Data Acquisition) загалом мають розподілену архітектуру на кшталт зображеної на риÑунку 2. Елементи SCADA ÑиÑтем, у ÑенÑÑ– програмного забезпеченнÑ, виконують наÑтупні функції:<br /> <b>Сервер збору:</b> предÑтавлÑÑ” Ñобою задачу або групу задач, що займаютьÑÑ Ð·Ð±Ð¾Ñ€Ð¾Ð¼ даних з джерел даних, або ж Ñамі виÑтупають у ролі джерела даних. До задач Ñерверу входить: </p> <ul><li> Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ‚Ð°/або Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…;</li> <li> обробка даних;</li> <li> обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² на доÑтуп до даних;</li> <li> обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² на модифікацію даних.</li></ul> <p><b>Сервер архівуваннÑ-Ñ–Ñторії:</b> предÑтавлÑÑ” Ñобою задачу або групу задач, що займаютьÑÑ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñм даних або веденнÑм Ñ—Ñ… Ñ–Ñторії. До задач Ñерверу входить: </p> <ul><li> Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ–Ñторії даних SCADA-ÑиÑтем;</li> <li> обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² на доÑтуп до архівних даних або Ñ–Ñторії;</li> <li> імпорт/екÑпорт архівів-Ñ–Ñторії.</li></ul> <p><b>Сервер протоколюваннÑ:</b> предÑтавлÑÑ” Ñобою задачу або групу задач, що займаютьÑÑ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñм повідомлень або веденнÑм Ñ—Ñ… Ñ–Ñторії. До задач Ñерверу входить: </p> <ul><li> Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ–Ñторії повідомлень SCADA-ÑиÑтем;</li> <li> обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² на доÑтуп до архівних повідомлень або Ñ–Ñторії;</li> <li> імпорт/екÑпорт архівів-Ñ–Ñторії.</li></ul> <p><b>Сервер Ñигналізації:</b> предÑтавлÑÑ” Ñобою задачу або групу задач, Ñкі виконують функції Ñерверу Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»ÑŽÐ²Ð°Ð½Ð½Ñ ÑтоÑовно вузької категорії повідомлень Ñигналізації.<br /> <b>Робоче міÑце оператору:</b> предÑтавлÑÑ” Ñобою GUI(Grafical User Interface) додаток, що поÑтійно функціонує та виконаний у одномоніторному, багато-моніторному або панельному режимі та що виконує функції: </p> <ul><li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького інтерфейÑу Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ за Ñтаном технологічного процеÑу;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐµÑ€ÑƒÑŽÑ‡Ð¸Ñ… дій;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° аналізу Ñ–Ñторії технологічного процеÑу;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ–Ð½Ñтрументарію Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð²Ñ–Ñ‚Ð½Ð¾Ñ— документації.</li></ul> <p><b>Робоче міÑце інженеру:</b> предÑтавлÑÑ” Ñобою GUI додаток, що викориÑтовуєтьÑÑ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— SCADA ÑиÑтем. До задач додатку входить: </p> <ul><li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ–Ð½Ñтрументарію маніпулÑції ÑиÑтемними функціÑми програми;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ–Ð½Ñтрументарію робочого міÑÑ†Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ–Ð½Ñтрументарію маніпулÑції розподіленими мережевими архітектурами SCADA ÑиÑтем в цілому (розподіл функцій між ÑтанціÑми, ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð° Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñтанцій ... ).</li></ul> <p><b>Робоче міÑце керівника:</b> предÑтавлÑÑ” Ñобою GUI додаток, Ñк правило виконаний у одномоніторному режимі, що виконує функції: </p> <ul><li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького інтерфейÑу Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ за Ñтаном технологічних процеÑів;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ–Ð½Ñтрументарію Ð´Ð»Ñ Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° аналізу Ñ–Ñторії технологічних процеÑів Ñк безпоÑередньо з активних Ñерверів, так Ñ– на оÑнові окремих архівів;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ–Ð½Ñтрументарію Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð²Ñ–Ñ‚Ð½Ð¾Ñ— документації.</li></ul> <p><b>Робоче міÑце технологу:</b> Ñуцільно включає у Ñебе функції робочого міÑÑ†Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ Ð¿Ð»ÑŽÑ Ð¼Ð¾Ð´ÐµÐ»Ñ– технологічних процеÑів (без безпоÑереднього зв'Ñзку з технологічним процеÑом).<br /> <b>Робоче міÑце технологу-програміÑта:</b> Ñуцільно включає у Ñебе функції робочого міÑÑ†Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð° Ð¿Ð»ÑŽÑ Ñ–Ð½Ñтрументарій Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ технологічних процеÑів. </p> <h2><span class="mw-headline" id=".D0.92.D0.B0.D1.80.D1.96.D0.B0.D0.BD.D1.82.D0.B8_.D0.BA.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.97_.D1.82.D0.B0_.D0.B2.D0.B8.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D0.B0.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">3</span> Варіанти конфігурації та викориÑтаннÑ</span></h2> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.B5_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">3.1</span> ПроÑте Ñерверне підключеннÑ</span></h3> <p>У проÑтішому випадку OpenSCADA можна Ñконфігурувати у Ñерверному режимі (РиÑ.3.1) Ð´Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ та Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…. Така ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” виконувати наÑтупні функції: </p> <ul><li> Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ» даних (контролерів);</li> <li> Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ параметрів джерел даних;</li> <li> обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñьких запитів на Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… даних Ñерверу;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ WEB-інтерфейÑу;</li> <li> віддалена ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ–Ð· OpenSCADA, за поÑередництвом Qt або іншого локального інтерфейÑу.</li> <li> вторинне Ñ€ÐµÐ³ÑƒÐ»ÑŽÐ²Ð°Ð½Ð½Ñ â€” Ñ€ÐµÐ³ÑƒÐ»ÑŽÐ²Ð°Ð½Ð½Ñ Ñƒ об'єктах обчиÑлювальних контролерів;</li> <li> моделювальне, коректувальне та додаткові обчиÑÐ»ÐµÐ½Ð½Ñ Ñƒ об'єктах обчиÑлювальних контролерів.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:397px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_simple_server_uk.png"><img class="thumbimage" height="253" src="files/Oscada_simple_server_uk.png" width="395" /></a> <div class="thumbcaption">РиÑ. 3.1. ПроÑте Ñерверне підключеннÑ.</div></div></div></div> <h3><span class="mw-headline" id=".D0.94.D1.83.D0.B1.D0.BB.D1.8C.D0.BE.D0.B2.D0.B0.D0.BD.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.B5_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">3.2</span> Дубльоване Ñерверне підключеннÑ</span></h3> <p>Ð”Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð½Ð°Ð´Ñ–Ð¹Ð½Ð¾ÑÑ‚Ñ– та продуктивноÑÑ‚Ñ– OpenSСADA допуÑкає множинне Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ (РиÑ.3.2), при Ñкому джерела даних (контролери) та архіви-Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ екземплÑру відбиваютьÑÑ Ñƒ іншому. При викориÑтанні подібної конфігурації можливий розподіл Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ/обчиÑÐ»ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ різними ÑтанціÑми. Така ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” виконувати функції: </p> <ul><li> Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ» даних (контролерів);</li> <li> Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ параметрів джерел даних;</li> <li> обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñьких запитів на Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… даних Ñерверу;</li> <li> Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² джерел даних;</li> <li> Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñ–Ð²-Ñ–Ñторії;</li> <li> розподіл Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° Ñерверами;</li> <li> Ð½Ð°Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ WEB інтерфейÑу;</li> <li> вторинне Ñ€ÐµÐ³ÑƒÐ»ÑŽÐ²Ð°Ð½Ð½Ñ â€” Ñ€ÐµÐ³ÑƒÐ»ÑŽÐ²Ð°Ð½Ð½Ñ Ñƒ об'єктах обчиÑлювальних контролерів;</li> <li> моделювальне, коректувальне та додаткові обчиÑÐ»ÐµÐ½Ð½Ñ Ñƒ об'єктах обчиÑлювальних контролерів з можливіÑÑ‚ÑŽ розподілу Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð° Ñерверами.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:793px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_duplicated_server_uk.png"><img class="thumbimage" height="257" src="files/Oscada_duplicated_server_uk.png" width="791" /></a> <div class="thumbcaption">РиÑ. 3.2. Дубльоване Ñерверне підключеннÑ.</div></div></div></div> <h3><span class="mw-headline" id=".D0.94.D1.83.D0.B1.D0.BB.D1.8C.D0.BE.D0.B2.D0.B0.D0.BD.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.B5_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.D0.BD.D0.B0_.D0.BE.D0.B4.D0.BD.D0.BE.D0.BC.D1.83_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D1.96"><span class="mw-headline-number">3.3</span> Дубльоване Ñерверне Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð½Ð° одному Ñервері</span></h3> <p>Окремим випадком дубльованого Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ” Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñƒ межах одного Ñерверу (РиÑ.3.3), тобто запуÑк декількох Ñтанцій на одній машині з перехрещеннÑм параметрів. Метою такої конфігурації Ñ” Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð½Ð°Ð´Ñ–Ð¹Ð½Ð¾ÑÑ‚Ñ– та відмовоÑтійкоÑÑ‚Ñ– конфігурації, шлÑхом Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐŸÐ—. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:793px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_duplicated_one_server_uk.png"><img class="thumbimage" height="272" src="files/Oscada_duplicated_one_server_uk.png" width="791" /></a> <div class="thumbcaption">РиÑ. 3.3. Дубльоване Ñерверне Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð½Ð° одному Ñервері.</div></div></div></div> <h3><span class="mw-headline" id=".D0.9A.D0.BB.D1.96.D1.94.D0.BD.D1.82.D1.81.D1.8C.D0.BA.D0.B8.D0.B9_.D0.B4.D0.BE.D1.81.D1.82.D1.83.D0.BF_.D0.B7.D0.B0_.D0.BF.D0.BE.D1.81.D0.B5.D1.80.D0.B5.D0.B4.D0.BD.D0.B8.D1.86.D1.82.D0.B2.D0.BE.D0.BC_Web-.D1.96.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.83._.D0.9C.D1.96.D1.81.D1.86.D0.B5_.D0.BA.D0.B5.D1.80.D1.96.D0.B2.D0.BD.D0.B8.D0.BA.D0.B0"><span class="mw-headline-number">3.4</span> КлієнтÑький доÑтуп за поÑередництвом Web-інтерфейÑу. МіÑце керівника</span></h3> <p>Ð”Ð»Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— даних, Ñкі міÑÑ‚ÑÑ‚ÑŒÑÑ Ð½Ð° Ñервері, гарним рішеннÑм Ñ” викориÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького WEB-інтерфейÑу (РиÑ.3.4). Це Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” викориÑтовувати Ñтандартний WEB-браузер у клієнта та відповідно Ñ” найгнучкішим, оÑкільки не прив'Ñзано до однієї платформи, тобто Ñ” багатоплатформним. Однак це Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð¼Ð°Ñ” Ñуттєві недоліки – це невиÑока продуктивніÑÑ‚ÑŒ та надійніÑÑ‚ÑŒ. У зв'Ñзку з цим рекомендуєтьÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати цей метод Ð´Ð»Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— некритичних даних або даних, що мають резервний виÑоконадійний ÑпоÑіб візуалізації. Ðаприклад, гарним рішеннÑм буде викориÑÑ‚Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ методу у керівництва промиÑлових уÑтановок, де завжди Ñ–Ñнує операторÑька з надійним ÑпоÑобом візуалізації. Така ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” виконувати наÑтупні функції: </p> <ul><li> Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñерверу на предмет Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… візуалізації та конфігурації;</li> <li> Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð´Ð°Ð½Ð¸Ñ… у доÑтупному Ð´Ð»Ñ Ñ€Ð¾Ð·ÑƒÐ¼Ñ–Ð½Ð½Ñ Ð²Ð¸Ð³Ð»Ñді;</li> <li> Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñ–Ð², звітів;</li> <li> маніпулÑÑ†Ñ–Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸, що допуÑкають зміну.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:537px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_for_wwwclient_uk.png"><img class="thumbimage" height="251" src="files/Oscada_for_wwwclient_uk.png" width="535" /></a> <div class="thumbcaption">РиÑ. 3.4. КлієнтÑький доÑтуп за поÑередництвом Web-інтерфейÑу. МіÑце керівника.</div></div></div></div> <h3><span class="mw-headline" id=".D0.90.D0.B2.D1.82.D0.BE.D0.BC.D0.B0.D1.82.D0.B8.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B5_.D1.80.D0.BE.D0.B1.D0.BE.D1.87.D0.B5_.D0.BC.D1.96.D1.81.D1.86.D0.B5_.28.D0.BC.D1.96.D1.81.D1.86.D0.B5_.D0.BA.D0.B5.D1.80.D1.96.D0.B2.D0.BD.D0.B8.D0.BA.D0.B0.2F.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D1.83.29"><span class="mw-headline-number">3.5</span> Ðвтоматизоване робоче міÑце (міÑце керівника/оператору)</span></h3> <p>Ð”Ð»Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— критичних даних, а також у випадку Ñкщо потрібна виÑока ÑкіÑÑ‚ÑŒ та продуктивніÑÑ‚ÑŒ, можна викориÑтовувати візуалізацію на оÑнові OpenSCADA, Ñку Ñконфігуровано з GUI модулем (РиÑ.3.5). Така ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” виконувати натупні функції: </p> <ul><li> Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñерверу на предмет Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ… значень;</li> <li> Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð¾Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ… даних у доÑтупному Ð´Ð»Ñ Ñ€Ð¾Ð·ÑƒÐ¼Ñ–Ð½Ð½Ñ– виглÑді;</li> <li> Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñ–Ð² та звітів;</li> <li> маніпулÑÑ†Ñ–Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸, що допуÑкають зміни.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:647px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_clientserver_AWP_uk.png"><img class="thumbimage" height="273" src="files/Oscada_clientserver_AWP_uk.png" width="645" /></a> <div class="thumbcaption">РиÑ. 3.5. Ðвтоматизоване робоче міÑце (міÑце керівника/оператору).</div></div></div></div> <h3><span class="mw-headline" id=".D0.90.D0.A0.D0.9C_.D0.B7_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BE.D0.BC_.D0.B7.D0.B1.D0.BE.D1.80.D1.83_.D1.82.D0.B0_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D0.BD.D0.B0_.D0.BE.D0.B4.D0.BD.D1.96.D0.B9_.D0.BC.D0.B0.D1.88.D0.B8.D0.BD.D1.96_.28.D0.BC.D1.96.D1.81.D1.86.D0.B5_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D1.83.2C_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C-.D1.82.D1.80.D0.B5.D0.BD.D0.B0.D0.B6.D0.B5.D1.80_....29"><span class="mw-headline-number">3.6</span> ÐÐ Ðœ з Ñервером збору та Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° одній машині (міÑце оператору, модель-тренажер ...)</span></h3> <p>Повнофункційна клієнт-Ñерверна ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð½Ð° одній машині (РиÑ.3.6) може викориÑтовуватиÑÑ Ð´Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð½Ð°Ð´Ñ–Ð¹Ð½Ð¾ÑÑ‚Ñ– конфігурації в цілому шлÑхом запуÑку клієнта та Ñервера у різних процеÑах. Така ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” без наÑлідків Ð´Ð»Ñ Ñерверу зупинÑти клієнт та виконувати з ним різні профілактичні роботи. РекомендуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð½Ð° ÑтанціÑÑ… оператору шлÑхом вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð²Ð¾Ñ… машин, що поєднують у Ñобі Ñтанції оператору та резервований Ñервер. Така ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” виконувати наÑтупні функції: </p> <ul><li> Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ» даних (контролерів);</li> <li> обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñьких запитів;</li> <li> візуалізаціÑ;</li> <li> видача керуючих дій;</li> <li> Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñ–Ð² та звітів;</li> <li> вторинне регулюваннÑ;</li> <li> моделювальне, коригувальне та додаткові обчиÑÐ»ÐµÐ½Ð½Ñ Ñƒ об'єктах обчиÑлювальних контролерів;</li> <li> збір та Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— про перÑональний комп'ютер, Ñервер ... .</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:647px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_clientserver_AWP_one_uk.png"><img class="thumbimage" height="299" src="files/Oscada_clientserver_AWP_one_uk.png" width="645" /></a> <div class="thumbcaption">РиÑ. 3.6. ÐÐ Ðœ з Ñервером збору та Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° одній машині (міÑце оператору, модель-тренажер ...).</div></div></div></div> <h3><span class="mw-headline" id=".D0.9D.D0.B0.D0.B9.D0.BF.D1.80.D0.BE.D1.81.D1.82.D1.96.D1.88.D0.B5_.D0.B7.D0.BC.D1.96.D1.88.D0.B0.D0.BD.D0.B5_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.28.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C.2C_.D0.B4.D0.B5.D0.BC.D0.BE.D0.BD.D1.81.D1.82.D1.80.D0.B0.D1.86.D1.96.D1.8F.2C_.D1.82.D1.80.D0.B5.D0.BD.D0.B0.D0.B6.D0.B5.D1.80.2C_.D0.BA.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.82.D0.BE.D1.80_....29"><span class="mw-headline-number">3.7</span> ÐайпроÑтіше змішане Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ (модель, демонÑтраціÑ, тренажер, конфігуратор ...)</span></h3> <p>Змішане Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ”Ð´Ð½ÑƒÑ” функції Ñерверу та клієнту (РиÑ.3.7). Може викориÑтовуватиÑÑ Ð´Ð»Ñ Ñ‚ÐµÑтових, демонÑтраційних функцій, а також Ð´Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ та тренажерів технологічних процеÑів Ñк єдине ціле. У цьому режимі можуть виконуватиÑÑ Ð½Ð°Ñтупні функції: </p> <ul><li> Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÐµÑ€Ñ–Ð²;</li> <li> обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñьких запитів;</li> <li> візуалізаціÑ;</li> <li> видача керуючих дій;</li> <li> Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñ–Ð² та звітів;</li> <li> вторинне регулюваннÑ;</li> <li> моделювальне, коригувальне та додаткові обчиÑÐ»ÐµÐ½Ð½Ñ Ñƒ обчиÑлювальних контролерах;</li> <li> збір та Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— інформації про перÑональний комп'ютер, Ñервер, модель ... ;</li> <li> ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð±Ð°Ð· даних, підключень та інше.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:394px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_misc_uk.png"><img class="thumbimage" height="303" src="files/Oscada_misc_uk.png" width="392" /></a> <div class="thumbcaption">РиÑ. 3.7. ÐайпроÑтіше змішане Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ (модель, демонÑтраціÑ, конфігуратор ...).</div></div></div></div> <h3><span class="mw-headline" id=".D0.A1.D1.82.D1.96.D0.B9.D0.BA.D0.B0_.D1.80.D0.BE.D0.B7.D0.BF.D0.BE.D0.B4.D1.96.D0.BB.D0.B5.D0.BD.D0.B0_.D0.BA.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.8F"><span class="mw-headline-number">3.8</span> Стійка розподілена конфігураціÑ</span></h3> <p>Така ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ” одним з варіантів Ñтійкого-надійного Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ (РиÑ.3.8). СтійкіÑÑ‚ÑŒ доÑÑгаєтьÑÑ ÑˆÐ»Ñхом розподілу функцій за: </p> <ul><li> Ñерверами опитуваннÑ;</li> <li> центральним Ñервером Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñьких запитів;</li> <li> клієнтами: ÐРМи та WEB-клієнти.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:770px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_distrib_conn_uk.png"><img class="thumbimage" height="518" src="files/Oscada_distrib_conn_uk.png" width="768" /></a> <div class="thumbcaption">РиÑ. 3.8. Стійка розподілена конфігураціÑ.</div></div></div></div> <p>Сервер Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€ÑƒÑ”Ñ‚ÑŒÑÑ Ð½Ð° оÑнові OpenSCADA та предÑтавлÑÑ” Ñобою задачу або групу задач, що займаютьÑÑ Ð·Ð±Ð¾Ñ€Ð¾Ð¼ даних — Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÐµÑ€Ñƒ або групи контролерів одного типа. Отримані Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ñтупні центральному Ñерверу через будь Ñкий транÑпорт підтримка Ñкого додаєтьÑÑ ÑˆÐ»Ñхом Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ‚Ñ€Ð°Ð½Ñпорту. Ð”Ð»Ñ Ð·Ð½Ð¸Ð¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ñтоти Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° величини мережевого трафіку, Ñервер Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ðµ бути обладнано невеликим архівом значень. ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñервера Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑÑ Ñƒ одній з доÑтупних БД. </p><p>Центральний Ñервер Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ñьких запитів виконує функцію централізованого збору та обробки параметрів Ñерверів Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° Ñ—Ñ… значень. ДоÑтуп до Ñерверів Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð·Ð° поÑередництвом одного з доÑтупних у OpenSCADA транÑпортів+протоколів (на прикладі це <a href="Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">Sockets</a>). Ð”Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ”Ð´Ð¸Ð½Ð¾Ð³Ð¾ інтерфейÑу доÑтупу до параметрів та контролерів викориÑтовуєтьÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a>, Ñкий відбиває дані Ñерверів Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñтруктуру локальних параметрів збору даних. </p><p>Ð”Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ–Ñ… обчиÑлень та додаткового аналізу параметрів викориÑтовуютьÑÑ Ð¾Ð±'єкти обчиÑлювальних контролерів. </p><p>Ð”Ð»Ñ Ñ€Ñ–Ð·Ð½Ð¾Ð±Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ та глибокого Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуютьÑÑ Ñ€Ñ–Ð·Ð½Ñ– модулі архівів-Ñ–Ñторії. </p><p>Ð”Ð»Ñ Ð´Ð¾Ñтупу клієнтів до Ñерверу викориÑтовуютьÑÑ Ð´Ð¾Ñтупні у OpenSCADA мережеві транÑпорти, на прикладі — <a href="Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">Sockets</a>; та транÑпортні протоколи, на прикладі — протокол OpenSCADA "<a href="Modules/SelfSystem.html" title="Special:MyLanguage/Modules/SelfSystem">SelfSystem</a>". </p><p>ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñерверу зберігаєтьÑÑ Ð² одній з доÑтупних БД (на прикладі це мережева <a href="Modules/MySQL.html" title="Special:MyLanguage/Modules/MySQL">СУБД MySQL</a>). </p><p>Ð”Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького WEB-інтерфейÑу викориÑтовуєтьÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">WebCfgD</a> за поÑередництвом транÑпортного протоколу "<a href="Modules/HTTP.html" title="Special:MyLanguage/Modules/HTTP">HTTP</a>". </p><p>Різні клієнти, у Ñ—Ñ… чиÑлі ÐÐ Ðœ та WEB-клієнти, виконуютьÑÑ Ð½Ð° окремих машинах у потрібній кількоÑÑ‚Ñ–. ÐÐ Ðœ реалізуєтьÑÑ Ð½Ð° оÑнові OpenSCADA. До його функції входить Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ параметрів з центрального Ñервера та Ñ—Ñ… Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð½Ð° GUI інтерфейÑÑ–(ах). Ð”Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² збору даних у ÐÐ Ðœ також викориÑтовуєтьÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¸Ñ… параметрів <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a>. Ð”Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу до архівів-Ñ–Ñторії може викориÑтовуватиÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ архіву мережевого типу. ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÐÐ Ðœ може зберігатиÑÑ Ñƒ одній з доÑтупних БД (у прикладі це мережева <a href="Modules/MySQL.html" title="Special:MyLanguage/Modules/MySQL">СУБД MySQL</a>, Ñка розташована на машині центрального Ñервера архівуваннÑ). </p> <h2><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.8F_.D1.82.D0.B0_.D0.BD.D0.B0.D0.BB.D0.B0.D1.88.D1.82.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">4</span> <span id="Config" title="#Config">ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ‚Ð° налаштуваннÑ</span></span></h2> <p>Як можна бачити у розділі вище, OpenSCADA надає можливіÑÑ‚ÑŒ конфігурації Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñƒ різних ролÑÑ…. Підтримка цієї можливоÑÑ‚Ñ– забезпечуєтьÑÑ Ñ€Ð¾Ð·Ð²Ð¸Ð½ÑƒÑ‚Ð¸Ð¼Ð¸ механізмами конфігурації, Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¸Ñ… даних та організації проєктів цих конфігурацій. Даний розділ міÑтить Ð¾Ð¿Ð¸Ñ Ñ†Ð¸Ñ… механізмів та прикликаний дати уÑÐ²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ гнучкіÑÑ‚ÑŒ та розмаїттÑ, дозволивши тим Ñамим викориÑтовувати OpenSCADA на вÑÑ– 100 відÑотків. </p><p>При опиÑанні механізмів конфігурації та ÑпоÑобів Ñ—Ñ— Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñƒ цьому розділі буде робитиÑÑ Ð½Ð°Ð³Ð¾Ð»Ð¾Ñ Ð½Ð° загальних механізмах. ОÑобливоÑÑ‚Ñ– конфігурації та викориÑÑ‚Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð² підÑиÑтем OpenSCADA надаютьÑÑ Ñƒ влаÑній документації <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules" title="Special:MyLanguage/Modules">цих модулів</a>. </p><p>Ð’ OpenSCADA викориÑтовуєтьÑÑ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ‚Ð¸Ð²Ð½Ð¸Ð¹ підхід до опиÑÐ°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¸Ñ… інтерфейÑів, оÑнований на мові XML. Фактично, оÑобливоÑÑ‚Ñ– конфігурації компоненту програми надаютьÑÑ Ñамим компонентом, пронизуючи тим Ñамим вÑÑŽ програму Ñк нервова ÑиÑтема організму. У термінах OpenSCADA це називаєтьÑÑ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñом контролю та ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ OpenSCADA (Control interface). Ðа оÑнові інтерфейÑу контролю формуютьÑÑ Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ñ– інтерфейÑи конфігурації кориÑтувача за поÑередництвом модулів OpenSCADA. Такий підхід має наÑтупні важливі переваги: </p> <ul><li> МаÑштабованіÑÑ‚ÑŒ: можна підключати тільки потрібні модулі конфігурації або взагалі викориÑтовувати лише віддалені механізми.</li> <li> Ð’Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ‚Ð¾Ñ€Ñ–Ð² з доданнÑм нового модулÑ-функції, а також Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¹Ð¾Ð³Ð¾ "розпуханнÑ" через прÑме Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ вÑієї Ñ–Ñторії вже непотрібних та заÑтарілих модулів-функцій.</li> <li> ВідноÑна проÑтота ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ð¸Ñ… інтерфейÑів конфігурації на різній оÑнові за рахунок чіткої формалізації.</li> <li> ÐÐ°Ð´Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– динамічної конфігурації, тобто конфігурацію можна виконувати безпоÑередньо при роботі програми Ñк локально, так Ñ– віддалено, безпоÑередньо контролюючи результат.</li> <li> ПроÑта та цільова розширюваніÑÑ‚ÑŒ конфігураційного інтерфейÑу шлÑхом Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ð² конфігурації на мові опиÑу інтерфейÑу ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ у компонентах, що цього потребують.</li></ul> <p>Ð”Ð»Ñ ÑÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— та Ñ—Ñ— Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ OpenSCADA передбачає проєкти програми у межах Ñких надаєтьÑÑ Ð¾ÐºÑ€ÐµÐ¼Ð° тека проєкту OpenSCADA Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ‚Ð°Ð¼ конфігурації та вÑÑ–Ñ… Ñупутніх файлів. Відтак, до Ñдра OpenSCADA вбудовано механізм Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ, Ñкий здійÑнює вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ñ— теки та адреÑи конфігураційного файлу згідно до вказаного проєкту. Детальніше про це опиÑано у розділі "<a href="#Projects">Проєкти OpenSCADA</a>". </p><p>OpenSCADA надає три модулі конфігурації на різній оÑнові візуалізації. Відзначимо Ñ—Ñ… та Ñ—Ñ… можливоÑÑ‚Ñ– конфігурації: </p> <ul><li> Модуль конфігурації на оÑнові <a class="extiw" href="https://en.wikipedia.org/wiki/Qt_(framework)" title="wikipedia:Qt (framework)">бібліотеки графічного інтерфейÑу Qt</a> — <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">UI.QTCfg</a>. Ðадає розвинутий Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—, що дозволÑÑ” керувати Ñк локальними, так Ñ– віддаленими ÑтанціÑми у локальній та глобальній мережах, включаючи безпечне з'єднаннÑ.</li> <li> Модуль конфігурації на оÑнові динамічних WEB-технологій (DHTML) — <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">UI.WebCfgD</a>. Ðадає розвинутий Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—, що дозволÑÑ” керувати Ñк локальними ÑтанціÑми Ñерверу, так Ñ– віддаленими ÑтанціÑми у локальній та глобальній мережах, включаючи роботу по безпечному з'єднанню. КлієнтÑьке Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð·Ð´Ñ–Ð¹ÑнюєтьÑÑ Ð·Ð° поÑередництвом звичайного Web-браузеру.</li> <li> Модуль конфігурації на оÑнові Ñтатичних WEB-технологій (XHTML) — <a href="Modules/WebCfg.html" title="Special:MyLanguage/Modules/WebCfg">UI.WebCfg</a>. Ðадає доÑтатній Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—, Ñкий дозволÑÑ” керувати локальними ÑтанціÑми Ñерверу за поÑередництвом звичайного Web-браузеру.</li></ul> <p><span id="Storage" title="#Storage">ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð·Ð°Ð³Ð°Ð»Ð¾Ð¼ може надходити</span> трьома шлÑхами та згідно порÑдку: командний Ñ€Ñдок виклику програми, Конфігураційний Файл та База Даних. З Ñких доÑтупні до зміни Конфігураційний Файл та База Даних, де Ñ– зберігаютьÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—, що змінені у конфігураторах. </p><p>Типовим ім'Ñм конфігураційного файлу OpenSCADA Ñ” <b>{sysconfdir}/oscada.xml</b> (де <i>sysconfdir</i> зазвичай — "/etc"), Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹ поза проєктами OpenSCADA, та <b>{Proj}/oscada.xml</b> Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ "Proj". Формат конфігураційного файлу та параметри командного Ñ€Ñдку розглÑнемо у <a href="#CfgFilePrm">окремому розділі</a>. </p><p>Враховуючи модульніÑÑ‚ÑŒ підÑиÑтеми "БД", БД можуть бути різні. Причому надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… чаÑтин OpenSCADA Ñк у різних БД одного типу, так Ñ– у БД різних типів. </p><p>Багато вузлів OpenSCADA надають можливіÑÑ‚ÑŒ Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñховища Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñвоїх даних та Ñке може бути вказано Ñк: </p> <ul><li> <b>Конфігураційний Файл</b> (<cfg>);</li> <li> <b>{Модуль БД}.{Ðазва БД}</b> — База Даних;</li> <li> <b>Загальний Сховок</b> (<gen>) — Загальний Сховок (комбіноване), Ñке ÑкладаєтьÑÑ Ñ–Ð· Конфігураційного Файлу та робочої Бази Даних, вказаної у конфігураційному полі <i>Робоча БД</i>; де Конфігураційний Файл первинний Ð´Ð»Ñ Ð²Ð¶Ðµ наÑвних там даних, тобто Ñ—Ñ… зміни, але вÑе нове ÑтворюєтьÑÑ Ñƒ Базі Даних.</li></ul> <p>Вузли, Ñкі не надають можливоÑÑ‚Ñ– Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñховища, фікÑовано працюють із <b>Загальним Сховком</b> (<gen>), а Ñ‚Ñ– що надають таку можливіÑÑ‚ÑŒ також відÑтежують наÑвніÑÑ‚ÑŒ Ñвоїх даних у різних Ñховках та пропонують механізм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð² або проÑто Ñ—Ñ… виÑÐ²Ð»ÐµÐ½Ð½Ñ Ñƒ різних бібліотеках, Ñкі формуютьÑÑ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ð¼Ð¸ Базами Даних. Більше прочитати про механізми перенеÑÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— та Ð²Ð¸Ð¾ÐºÑ€ÐµÐ¼Ð»ÐµÐ½Ð½Ñ Ñ—Ñ— у бібліотеки ви можете у відповідному "<a href="How_to_Transferring_project_configuration.html" title="Special:MyLanguage/Documents/How to/Transferring project configuration">Як Виконати</a>". </p><p>Зміна конфігурації того або іншого вузла вÑтановлює ознаку модифікації відповідного вузла, а також активує кнопки "Завантажити з БД", Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€Ð²Ð¸Ð½Ð½Ð¾Ñ— конфігурації, та "Зберегти у БД" Ð´Ð»Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½. Ознака модифікації також підіймаєтьÑÑ Ð´Ð¾ батьківÑького вузла, що дозволÑÑ” здійÑнювати відновленнÑ-Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ кореневого вузла, хоча реально у операціÑÑ… з БД, будуть приймати учаÑÑ‚ÑŒ тільки модифіковані вузли. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð²ÑƒÐ·Ð»Ð° призводить до безпоÑереднього Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¹Ð¾Ð³Ð¾ зі Ñховища та механізм модифікації на цю операцію не розповÑюджуєтьÑÑ. </p><p>Ðизка налаштувань та конфігурацій вузлів OpenSCADA, Ñкі виконуютьÑÑ Ð°Ð±Ð¾ вже включені, не заÑтоÑовуютьÑÑ Ð¾Ð´Ñ€Ð°Ð·Ñƒ-ж за внеÑеннÑм змін, оÑкільки ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ‡Ð¸Ñ‚Ð°Ñ”Ñ‚ÑŒÑÑ/заÑтоÑовуєтьÑÑ Ð·Ð°Ð·Ð²Ð¸Ñ‡Ð°Ð¹ тільки при включенні або запуÑку. Відтак, Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½ у таких випадках, доÑтатньо включити/виключити включений об'єкт або перезапуÑтити виконуваний — зупинити/запуÑтити. Ðа цей Ñ‡Ð°Ñ Ð±Ñ–Ð»ÑŒÑˆÑ–ÑÑ‚ÑŒ налаштувань, що не передбачають безпоÑереднього заÑтоÑуваннÑ, проÑто недозволені до редагуваннÑ. </p><p>Подальший оглÑд конфігурації OpenSCADA буде здійÑнюватиÑÑ Ð½Ð° оÑнові інтерфейÑу конфігуратору <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">UI.QTCfg</a>, однак принципи роботи будуть цілком відповідати іншим конфігураторам, завдÑки викориÑтанню Ñпільного інтерфейÑу контролю OpenSCADA. </p><p>РозглÑд почнемо з конфігурації ÑиÑтемних параметрів OpenSCADA, Ñкі розміщуютьÑÑ Ñƒ шеÑти вкладках кореневої Ñторінки Ñтанції: </p> <ul><li> Вкладка "СтанціÑ" міÑтить оÑновні інформаційні та конфігураційні Ð¿Ð¾Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸, риÑунок 4a. Перелічимо Ð¿Ð¾Ð»Ñ Ñ‰Ð¾ надаютьÑÑ Ñ‚Ð° прокоментуємо Ñ—Ñ…: <ul><li> <i>СтанціÑ</i> — міÑтить інформацію про ідентифікатор Ñтанції та вказує на локалізоване ім'Ñ Ñтанції. Ідентифікатор вказуєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ командного Ñ€Ñдку "--station"; при завантажені шукаєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¹ до ідентифікатору Ñтанції розділ у конфігураційному файлі та викориÑтовуєтьÑÑ Ð¿ÐµÑ€ÑˆÐ¸Ð¹ доÑтупний, Ñкщо не виÑвлÑєтьÑÑ. Ðазва вказуєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ командного Ñ€Ñдку "--statName".</li> <li> <i>Конфігураційний файл</i> — міÑтить інформацію про конфігураційний файл, що викориÑтовуєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ. Ð’ÑтановлюєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ командного Ñ€Ñдку "--config" або проєктом.</li> <li> <i>Робоча тека</i> — міÑтить інформацію про робочу теку Ñтанції. ВикориÑтовуєтьÑÑ Ñƒ відноÑній адреÑації об'єктів на файловій ÑиÑтемі, наприклад — файлів БД. Переважно вÑтановлюєтьÑÑ <a href="#Projects">менеджером проєктів</a> при Ñтарті або безпоÑередньо у <a href="#CfgFilePrm">конфігурації запуÑку програми</a>.</li> <li> <i>Тека модулів</i> — міÑтить інформацію про теки модулів OpenSCADA, поділені Ñимволом ';' та Ñкі можуть включати шаблони файлів у кінці (/my/modules/path/lib*.so). <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ то при запуÑку програма завершитьÑÑ Ð· повідомленнÑм у конÑолі про некоректніÑÑ‚ÑŒ конфігурації.</li> <li> <i>Тека іконок</i> — міÑтить інформацію про теки іконок програми, поділені Ñимволом ';'. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Якщо у дереві навігації конфігуратору відÑутні іконки то Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ðµ.</li> <li> <i>Тека документів</i> — міÑтить інформацію про теки документів програми, поділені Ñимволом ';'. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Якщо ви не можете викликати локальну документацію то Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð²Ñтановлено некоректно або не вÑтановлено документації.</li> <li> <i>Робоча БД</i> — вказує на робочу Базу Даних, а Ñаме на чаÑтину Бази Даних комбінованого Ñховища (<b>Загальний Сховок</b>), що викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð¾Ñновних даних програми; Ñким може бути Ñ– <b><a href="#CfgFilePrm">Конфігураційний Файл</a></b> (<cfg>) також Ð´Ð»Ñ Ð¿Ð¾Ð²Ð½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð‘Ð°Ð·Ð¸ Даних зі Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ….</li> <li> <i>Зберігати програму при виході, за періодом</i> — вказує на необхідніÑÑ‚ÑŒ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¸Ñ… даних при завершені роботи програми та вказує на періодичніÑÑ‚ÑŒ у Ñекундах з Ñкою зберігати змінені дані програми.</li> <li> <i>Ð’Ñтановлювати модифікацію Ð´Ð»Ñ Ð¾Ð±Ñ‡Ð¸Ñлювальних об'єктів</i> — оÑобливо кориÑне Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¸Ñ… ÑиÑтем разом із попередніми конфігураційними влаÑтивоÑÑ‚Ñми Ð´Ð»Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑту обчиÑленнÑ. Ðле незручне у режимі розробки, поÑтійно нагадуючи про необхідніÑÑ‚ÑŒ збереженнÑ.</li> <li> <i>ПовідомленнÑ</i> — вказує рівень повідомлень починаючи з Ñкого програма буде Ñ—Ñ… оброблÑти та ÑпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ. ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð¸Ð¶Ñ‡Ðµ цього Ñ€Ñ–Ð²Ð½Ñ Ð±ÑƒÐ´ÑƒÑ‚ÑŒ ігноруватиÑÑ. Рівень "ÐÐ°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ (0)" має оÑобливий ÑенÑ, а Ñаме — при вÑтановлені буде увімкнено генерацію налагоджувальних повідомлень різними чаÑтинами програми. Контролювати генерацію налагоджувальних повідомлень чаÑтинами програми можна у вкладці "ÐалагодженнÑ" (РиÑ.4d), Ñка з'ÑвитьÑÑ Ñƒ цьому випадку. СпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·ÑƒÑŽÑ‚ÑŒ необхідніÑÑ‚ÑŒ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ до ÑиÑтемного журналу, до Ñтандартного виводу, помилок та до архіву: <ul><li> ÑиÑтемний журнал це механізм операційної ÑиÑтеми Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ з повідомленнÑми ÑиÑтеми та ПЗ; при включенні цього параметру з'ÑвлÑєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ керувати та контролювати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ OpenSCADA механізмами ОС;</li> <li> Ñтандартний вивід та помилки ÑпрÑмовує Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ конÑолі відповідно до рівнÑ; або до Ñтандартного журналу Ð´Ð»Ñ Ð´ÐµÑких Ñпецифічних вбудованих ÑиÑтем;</li> <li> архів повідомлень OpenSCADA предÑтавлено буфером повідомлень; <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> цей параметр зазвичай увімкнено та його Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ до фактичного Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ на Ñтанції; Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ буферу до Ñховища здійÑнюєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¼ архіватором повідомлень, про ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð° конфігурацію Ñкого можна детально ознайомитиÑÑ Ñƒ <a href="#CfgArch">розділі конфігурації підÑиÑтеми "Ðрхіви-ІÑторіÑ"</a>.</li></ul></li> <li> <i>ОточеннÑ</i> — ÑÐµÐºÑ†Ñ–Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— та конфігурації оточеннÑ: <ul><li> <i>Програма</i> — міÑтить інформацію про назву та верÑÑ–ÑŽ програми. Зазвичай це OpenSCADA або назва заÑнованого на OpenSCADA рішеннÑ.</li> <li> <i>СиÑтема</i> — міÑтить інформацію про назву та верÑÑ–ÑŽ Операційної СиÑтеми (OS), Ñдро ОС на Ñкому виконуєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð°.</li> <li> <i>СиÑтемний чаÑ</i> — міÑтить інформацію про актуальний Ñ‡Ð°Ñ ÑиÑтеми із чаÑовою зоною.</li> <li> <i>СиÑтемний годинник плануваннÑ</i> — міÑтить інформацію про викориÑтаний годинник Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ та його роздільну здатніÑÑ‚ÑŒ на даній операційній ÑиÑтемі. ДозволÑÑ” зорієнтуватиÑÑ Ð· мінімальним інтервалом чаÑу періодичних завдань, наприклад, Ð´Ð»Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ збору даних.</li> <li> <i>СиÑтемний кориÑтувач</i> — міÑтить інформацію про кориÑтувача від ім'Ñ Ñкого виконуєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° у ОС.</li> <li> <i>Мова</i> — міÑтить інформацію про ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ Ñкому зберігаютьÑÑ Ñ‚ÐµÐºÑтові Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñередині програми та вказує на повну Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ñ‰Ð¾Ð´Ð¾ локалі із мовою, країною та кодуваннÑм у виглÑді "uk_UA.UTF-8". <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Зміна повної локалі допуÑтима, однак переважно призводить до зміни мови повідомлень Ð´Ð»Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñу та динамічних повідомлень.</li> <li> <i>Ім'Ñ Ñ…Ð¾Ñту</i> — міÑтить інформацію про ім'Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð¸, на Ñкій запущено Ñтанцію.</li> <li> <i>CPU</i> — міÑтить оперативну інформацію про центральний процеÑор та вказує на оÑновний набір процеÑорів Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñми OpenSCADA. Інформацію процеÑору предÑтавлено кількіÑÑ‚ÑŽ доÑтупних процеÑорів/Ñдер та чаÑтотою, Ñкий виконує програму. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñтоти перевірÑєтьÑÑ Ñ€Ð°Ð· на 10 Ñекунд (Ð´Ð»Ñ X86) та дозволÑÑ” відÑтежувати Ñ—Ñ— зміну механізмами ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм, наприклад. ОÑновний набір процеÑорів у круглих дужках міÑтить перелік процеÑорів, що викориÑтовуютьÑÑ Ð½Ð° цей чаÑ.</li> <li> <i>КількіÑÑ‚ÑŒ фаз виклику задач</i> — Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ задач у визначену кількіÑÑ‚ÑŒ фаз, <= 0 Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾, 1 Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ„Ð°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð´Ð°Ñ‡.</li></ul></li></ul></li> <li> Вкладка "ПідÑиÑтеми" міÑтить перелік підÑиÑтем (РиÑ.4b) та дозволÑÑ” виконувати прÑмі переходи до них за допомогою контекÑтного меню.</li> <li> Вкладка "РезервуваннÑ" (РиÑ.4Ñ) міÑтить конфігурацію Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñтанції у Ñкладі налаштувань: <ul><li> <i>СтатуÑ</i> — міÑтить інформацію про роботу механізму Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ â€” поточний та макÑимальний чаÑ, витрачений на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ð¸ÐºÐ»Ñƒ задачі обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ñƒ.</li> <li> <i>Рівень Ñтанції</i> — вказує на рівень даної Ñтанції у Ñхемі Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ (0-255).</li> <li> <i>Період задачі резервуваннÑ</i> — вказує на періодичніÑÑ‚ÑŒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð´Ð°Ñ‡Ñ– резервуваннÑ, у Ñекундах (1-255).</li> <li> <i>Ð§Ð°Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ</i> — вказує через Ñкий інтервал чаÑу здійÑнювати Ñпробу Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð·Ñ– втраченою резервною Ñтанцією, у Ñекундах (0-255).</li> <li> <i>Передача локальних первинний команд</i> — включає передачу локальних первинних команд резервним ÑтанціÑм Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ñ— Ñинхронізації локальних змін.</li> <li> <i>Станції</i> — міÑтить таблицю з інформацією про резервні Ñтанції. Станції можна додавати та видалÑти за поÑередництвом контекÑтного меню. Ідентифікатор доданих Ñтанцій треба обрати <a href="#Transports">з переліку доÑтупних ÑиÑтемних Ñтанцій OpenSCADA</a>. ÐаÑвніÑÑ‚ÑŒ у таблиці хоча-б однієї Ñтанції включає Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ цілому та відкриває доÑтуп до Ñторінок конфігурації Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° рівні підÑиÑтем, Ñкщо підÑиÑтема підтримує резервуваннÑ. Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ð°Ð´Ð°Ñ” наÑтупну інформацію про Ñтанції: <ul><li> <i>Ідентифікатор</i> — ідентифікатор ÑиÑтемної Ñтанції OpenSCADA, має бути змінений піÑÐ»Ñ Ð´Ð¾Ð´Ð°Ð½Ð½Ñ ÑˆÐ»Ñхом Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð· переліку доÑтупних;</li> <li> <i>Ім'Ñ</i> — ім'Ñ ÑиÑтемної Ñтанції OpenSCADA;</li> <li> <i>Живий</i> — ознака наÑвноÑÑ‚Ñ– зв'Ñзку з резервною Ñтанцією;</li> <li> <i>Рівень</i> — рівень віддаленої Ñтанції у Ñхемі резервуваннÑ;</li> <li> <i>Лічильник</i> — лічильник запитів до резервної Ñтанції або Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ, у випадку відÑутноÑÑ‚Ñ– зв'Ñзку.</li></ul></li> <li> <i>Перехід до конфігурації переліку віддалених Ñтанцій</i> — команда Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ на Ñторінку конфігурації віддалених OpenSCADA Ñтанцій у підÑиÑтемі "ТранÑпорти".</li></ul></li> <li> <span id="ConfigTr" title="#ConfigTr">Вкладка "Переклади" міÑтить елементи менеджеру централізованого перекладу текÑтових повідомлень</span> Ñтанції (РиÑ.4f) та активуєтьÑÑ Ð¿Ñ€Ð¸ включені багатомовного режиму вÑтановленнÑм базової мови текÑтових змінний:</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Більше дізнатиÑÑ Ð¿Ñ€Ð¾ деталі та Ñпецифіку ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð±Ð°Ð³Ð°Ñ‚Ð¾Ð¼Ð¾Ð²Ð½Ð¸Ñ… проєктів ви можете у відповідному "<a href="Create_multi_language_project.html" title="Special:MyLanguage/Documents/How to/Create multi language project">Як Виконати</a>". <ul><li> <i>СтатуÑ</i> — поточний ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´Ñƒ повідомлень проєкту, де можливе:</li></ul> <dl><dd><ul><li> "ОДÐОМОВÐИЙ, лише викориÑтовувати вже багатомовні БД із Ñ—Ñ… модифікацією";</li> <li> "БÐГÐТОМОВÐИЙ, ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¸Ñ… БД Ñк багатомовні із вказаною базовою мовою '{мова}'";</li> <li> "БÐГÐТОМОВÐИЙ-ДИÐÐМІЧÐИЙ, та динамічний переклад".</li></ul></dd></dl> <ul><li> <i>Базова мова - перелік локалей</i> — вмикає підтримку багатомовноÑÑ‚Ñ– текÑтових змінних у конфігураційних БД через Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ñ— мови та переліку вÑÑ–Ñ… локалей (на кшталт "uk_UA.UTF-8") проєкту (опціонально) поділених ';'. Далі, Ð´Ð»Ñ Ñ‚ÐµÐºÑтових змінних на небазовій мові у таблицÑÑ… БД будуть ÑтворюватиÑÑ Ð¾ÐºÑ€ÐµÐ¼Ñ– Ñтовпчики. Під текÑтовими змінними маютьÑÑ Ð½Ð° увазі вÑÑ– текÑтові Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ, Ñкі може бути перекладено на іншу мову. ЧиÑла та інші Ñлужбові Ñимволи до Ñ—Ñ… переліку не належать Ñ– не перекладаютьÑÑ. Повний перелік локалей не Ñ” обов'Ñзковою чаÑтиною та переважно викориÑтовуєтьÑÑ Ñƒ перетворені коду мови у повну локаль Ð´Ð»Ñ ÑиÑтемних функцій та у переліках Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»Ñ–.</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ви можете ввеÑти тут іншу мову окрім ÐнглійÑька(en), але майте на увазі, що вÑÑ– Ñтандартні бібліотеки OpenSCADA Ñформовано Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ñ— мови ÐнглійÑька(en), тож інша базова мова пÑуватиме ці БД при зміні!</dd></dl> <ul><li> <i>, динамічний переклад</i> — запланований Ñтан динамічного перекладу текÑтових повідомлень. Динамічний переклад текÑтових повідомлень викликає Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ ÐºÐµÑˆÑƒ перекладів текÑтових повідомлень та запити з БД перекладів чаÑтин OpenSCADA Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¸Ñ… мов. Механізм переважно призначено Ð´Ð»Ñ Ð±Ð°Ð³Ð°Ñ‚Ð¾Ð¼Ð¾Ð²Ð½Ð¸Ñ… динамічних кориÑтувацьких інтерфейÑів, коли кориÑтувач програми має влаÑну-переважну мову та кориÑтувачів у програми багато, Ñк правило це кінцеві кориÑтувачі-оператори.</li> <li> <i>Ð’Ð²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ€Ð°</i> — Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´Ð°Ð¼Ð¸, що призводить до повного Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ… повідомлень, що однак не призводить до Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ð½Ð¾Ð³Ð¾ індекÑу повідомлень у зв'Ñзку із забороною Ð¿ÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð¸Ð·ÐºÐ¸ об'єктів під Ñ‡Ð°Ñ Ñ—Ñ… виконаннÑ. Ð”Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð½Ð¾Ð³Ð¾ індекÑу повідомлень потрібно зберегти менеджер у ввімкненому режимі та повніÑÑ‚ÑŽ перезапуÑтити OpenSCADA. У процеÑÑ– наÑтупного запуÑку ÑформуєтьÑÑ Ð¿Ð¾Ð²Ð½Ð¸Ð¹ Ñ–Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ.</li> <li> <i>Мови контролю</i> — перелік оброблюваних мов, поділені Ñимволом ';'. Якщо Ð´Ð»Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ñ— мови у джерелі приÑутні переклади то Ñтовпчик мови буде Ñ—Ñ… міÑтити, інакше буде порожнім.</li> <li> <i>Фільтр джерел</i> — фільтр джерел Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ менеджеру деÑкими БД, джерело має проÑто міÑтити такий підрÑдок.</li> <li> <i>, перевірка/виправленнÑ</i> — увімкнути перевірку щодо однаковоÑÑ‚Ñ– перекладу базового Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ різних джерелах та Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾: розповÑÑŽÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´Ñƒ на порожні джерела, Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½ÑŒ базових повідомлень. Та окремий-другий прапорець щодо Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ”Ð´Ð½Ð°Ð½Ð½Ñм базових повідомлень Ñк переклади, оÑкільки Ñ†Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð¼Ð¾Ð¶Ðµ бути дещо помилковою у Ñкладних оточеннÑÑ….</li> <li> <i>, пропуÑк</i> — пропуÑтити визначену кількіÑÑ‚ÑŒ елементів таблиці від початку, кориÑно Ð´Ð»Ñ Ð´ÑƒÐ¶Ðµ великих проєктів Ñкі обмежено у чаÑÑ– повного Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–.</li> <li> <i>ПовідомленнÑ</i> — безпоÑередньо Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ зі Ñтовпчиками: базова мова, контрольовані мови перекладу, джерела повідомленнÑ. Ð”Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— доÑтупні Ñтовпчики мов, зміни Ñких будуть вноÑитиÑÑ Ð´Ð¾ джерел повідомленнÑ.</li></ul></dd></dl> <ul><li> Вкладка "Задачі" міÑтить таблицю з переліком задач, відкритих різними компонентами OpenSCADA (РиÑ.4d). З таблиці можна отримати різну інформацію по задачах, а також призначити викориÑтані задачами процеÑори, на багатопроцеÑорних ÑиÑтемах, та вÑтановити фазу виклику задачі.</li> <li> Вкладка "ÐалагодженнÑ" міÑтить елементи контролю за налагодженнÑм (РиÑ.4e) та активуєтьÑÑ Ð¿Ñ€Ð¸ виборі Ñ€Ñ–Ð²Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ "ÐÐ°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ (0)" або при викориÑтані лічильників об'єктів.</li></ul> <p>Ð”Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— полів цієї Ñторінки можуть бути потрібні права привілейованого кориÑтувача. Отримати такі права можна, долучивши вашого кориÑтувача до групи ÑуперкориÑтувача "root" або увійти до Ñтанції від ім'Ñ ÑуперкориÑтувача "root". </p><p>Треба відзначити ще один важливий момент! ÐŸÐ¾Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ñ–Ð² вÑÑ–Ñ… об'єктів OpenSCADA недозволені Ð´Ð»Ñ Ð¿Ñ€Ñмого Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñкільки вони Ñ” ключем Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… об'єктів у БД. Однак змінити ідентифікатор об'єкту можливо за допомогою команди перенеÑÐµÐ½Ð½Ñ Ñ‚Ð° наÑтупної вÑтавки об'єкту (Cut->Paste) у конфігураторі. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:872px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_st_uk.png"><img class="thumbimage" height="700" src="files/QTCfg_sys_st_uk.png" width="870" /></a> <div class="thumbcaption">РиÑ. 4a. Вкладка "СтанціÑ" кореневої Ñторінки конфігурації Ñтанції.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:752px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_sub_uk.png"><img class="thumbimage" height="448" src="files/QTCfg_sys_sub_uk.png" width="750" /></a> <div class="thumbcaption">РиÑ. 4b. Вкладка "ПідÑиÑтеми" кореневої Ñторінки конфігурації Ñтанції.</div></div></div></div> <p>Задача обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÑ…Ð°Ð½Ñ–Ð·Ð¼Ñƒ Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿ÑƒÑкаєтьÑÑ Ð·Ð°Ð²Ð¶Ð´Ð¸ та виконуєтьÑÑ Ð· періодичніÑÑ‚ÑŽ, що вÑтановлено у відповідному конфігураційному полі. Реальна робота зі здійÑÐ½ÐµÐ½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑÑ Ð¿Ñ€Ð¸ наÑвноÑÑ‚Ñ– хоча-б однієї резервної Ñтанції у переліку Ñтанцій та передбачає: </p> <ul><li> Контроль за з'єднаннÑм зі зовнішніми ÑтанціÑми. У процеÑÑ– контролю здійÑнюютьÑÑ Ð·Ð°Ð¿Ð¸Ñ‚Ð¸ до віддалених Ñтанцій за оновленнÑм інформації про них та перевірки зв'Ñзку. У випадку втрати зв'Ñзку зі Ñтанцією повтор Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ неї здійÑнюєтьÑÑ Ñ‡ÐµÑ€ÐµÐ· проміжок чаÑу, що вказаний у конфігураційному полі інтервалу чаÑу Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·'єднаннÑ. У полі "Живий" Ñтанції відображаєтьÑÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¹ Ñтан зв'Ñзку. У полі "Лічильник" предÑтавлено кількіÑÑ‚ÑŒ запитів, здійÑнених до віддаленої Ñтанції або ж чаÑ, що залишивÑÑ Ð´Ð»Ñ Ð·Ð´Ñ–Ð¹ÑÐ½ÐµÐ½Ð½Ñ Ð½Ð°Ñтупної Ñпроби з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ñ– втраченою Ñтанцією.</li> <li> Локальне Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±'єктів резервуваннÑ. ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð´Ñ–Ð¹ÑнюєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до Ñ€Ñ–Ð²Ð½Ñ Ñтанцій та перевагам Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±'єктів резервований підÑиÑтем: контролерів, архіваторів повідомлень.</li> <li> Виклик функції Ñинхронізації даних Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… об'єктів резервованих підÑиÑтем, що працюють у режимі Ñинхронізації даних із зовнішніх Ñтанцій.</li></ul> <p>Ð ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑ”Ñ‚ÑŒÑÑ Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²ÑƒÐ²Ð°Ñ‚Ð¸ таким чином щоб БД резервних Ñтанцій зберігалиÑÑ Ð¾Ð´Ð½Ð°ÐºÐ¾Ð²Ð¸Ð¼Ð¸, що надалі дозволить безболіÑно копіювати Ñ—Ñ…, при відновленні, на будь Ñку Ñтанцію та, відповідно, у резервній копії можна зберігати тільки один набір БД. При цьому, налаштуваннÑ, Ñпецифічні до окремої Ñтанції, будуть зберігатиÑÑ Ñƒ конфігураційному файлі та можна буде легко конфігурувати та мінÑти потрібну Ñтанцію через вибір відповідного конфігураційного файлу. </p><p>ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑÑ Ð· Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¸Ñ… Ñтанцій до переліку Ñтанцій OpenSCADA на вкладці "ПідÑиÑтема" підÑиÑтеми "ТранÑпорти" (РиÑ.4.3b). Причому додавати тут потрібно не лише резервні Ñтанції до поточної, але й Ñаму цю поточну Ñтанцію з Ñ—Ñ— зовнішньою адреÑою, тобто Ñвоєрідна петлÑ. Ðадалі ці Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÑƒÐ´ÑƒÑ‚ÑŒ збережені до загальної БД резервованої ÑиÑтеми та Ñама БД з цього моменту буде викориÑтовуватиÑÑ Ð¿Ñ€Ð¸ Ñтворені вÑÑ–Ñ… резервних Ñтанцій. Відповідно, важливо на цьому етапі внеÑти вÑÑ– потрібні зміни до загальної БД довкола проєкту в цілому! </p><p>Далі, на конкретній Ñтанції з копією загальної БД, налаштовуємо Ñ—Ñ— Ñпецифічні параметри у вкладці "РезервуваннÑ" головної Ñторінки (риÑ.4c), Ñкі будуть збережені у конфігураційному файлі. </p><p>ПіÑÐ»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вÑÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð´Ñ–Ð¹ÑнюєтьÑÑ Ñƒ вкладці "РезервуваннÑ" відповідної підÑиÑтеми — "Збір даних" (РиÑ.4.5b) або "Ðрхіви" (РиÑ.4.6b). Якщо вÑтановити параметр "Передача локальних первинних команд" (РиÑ.4c) то Ñ†Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ, Ñк Ñ– будь Ñка інша загального характеру, може здійÑнюватиÑÑ Ð½Ð° одній з Ñтанцій, а внеÑенні зміни потраплÑÑ‚ÑŒ на вÑÑ– резервні, звіÑно Ñкщо вони будуть доÑтупні. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:740px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_redundancy_uk.png"><img class="thumbimage" height="585" src="files/QTCfg_sys_redundancy_uk.png" width="738" /></a> <div class="thumbcaption">РиÑ. 4c. Вкладка "РезервуваннÑ" кореневої Ñторінки конфігурації Ñтанції.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1103px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_tasks_uk.png"><img class="thumbimage" height="621" src="files/QTCfg_sys_tasks_uk.png" width="1101" /></a> <div class="thumbcaption">РиÑ. 4d. Вкладка "Задачі" кореневої Ñторінки конфігурації Ñтанції.</div></div></div></div> <p>Ð”Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… оÑобливоÑтей роботи OpenSCADA може знадобитиÑÑ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— додаткових-налагоджувальних повідомлень, що здійÑнюєтьÑÑ Ð²ÑтановленнÑм мінімального Ñ€Ñ–Ð²Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ, у вкладці "СтанціÑ", у "ÐÐ°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ (0)". Ð’ результаті цього з'ÑвитьÑÑ Ð²ÐºÐ»Ð°Ð´ÐºÐ° "ÐалагодженнÑ" (РиÑ.4e) де доÑтупні лічильники об'єктів Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ за витоками, а також Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð· переліком категорій налагоджувальних повідомлень, що надходÑÑ‚ÑŒ. У таблиці категорій можна обрати тільки Ñ‚Ñ– джерела налагоджувальних повідомлень, Ñкі потрібні, тим Ñамим не перевантажуючи підÑиÑтему виводу та Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ, а також не знижуючи Ñильно продуктивноÑÑ‚Ñ– програми в цілому. Можна обирати категорії вищих рівнів, безпоÑередньо до кореневої категорії підÑиÑтеми, що вимкне детальне Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð° увімкне генерацію вÑÑ–Ñ… повідомлень за рівнем або підÑиÑтемою. Ð”Ð»Ñ Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸Ñ… повідомлень треба перейти до підÑиÑтеми "Ðрхіви" (РиÑ. 4.6c), Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ передбачено кнопку "ПереглÑд повідомлень". Обраний режим Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° перелік категорій Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ бути збережений у конфігураційному файлі Ñтандартним чином та при наÑтупному Ñтарті режим Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²ÑƒÑ”Ñ‚ÑŒÑÑ Ð¾Ð´Ñ€Ð°Ð·Ñƒ, що важливо у першу чергу Ð´Ð»Ñ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÑ–Ð² об'єктів. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:880px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_debug_uk.png"><img class="thumbimage" height="696" src="files/QTCfg_sys_debug_uk.png" width="878" /></a> <div class="thumbcaption">РиÑ. 4e. Вкладка "ÐалагодженнÑ" кореневої Ñторінки конфігурації Ñтанції.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1277px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_transl_uk.png"><img class="thumbimage" height="877" src="files/QTCfg_sys_transl_uk.png" width="1275" /></a> <div class="thumbcaption">РиÑ. 4f. Вкладка "Переклади" кореневої Ñторінки конфігурації Ñтанції.</div></div></div></div> <p>При розглÑді Ñторінок конфігурації модульних підÑиÑтем буде опиÑано загальні Ð´Ð»Ñ Ð²ÑÑ–Ñ… модулів влаÑтивоÑÑ‚Ñ–. Однак треба відзначити, що кожний модуль може надавати Ñк додаткові вкладки, так Ñ– окремі Ð¿Ð¾Ð»Ñ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— влаÑних оÑобливоÑтей Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñторінок, об'єкти Ñких уÑпадковуютьÑÑ Ð¼Ð¾Ð´ÑƒÐ»Ñми. З оÑобливоÑÑ‚Ñми та доповненнÑми модулів можна ознайомитиÑÑ Ñƒ окремій <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules" title="Special:MyLanguage/Modules">документації на них</a>. </p> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.94.22"><span class="mw-headline-number">4.1</span> <span id="CfgDB" title="#CfgDB">ПідÑиÑтема "БД"</span></span></h3> <p>ПідÑиÑтема Ñ” модульною та міÑтить ієрархію об'єктів, зображену на риÑунку 1.4. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми передбачено кореневу Ñторінку підÑиÑтеми "БД", що міÑтить вкладку "ПідÑиÑтема" та "Модулі". Вкладка "ПідÑиÑтема" (РиÑ.4.1a) наразі міÑтить лише конфігураційне поле вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу Ð¶Ð¸Ñ‚Ñ‚Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸Ñ… таблиць, у Ñекундах. Вкладка "Модулі" (РиÑ.4.1b) міÑтить перелік модулів підÑиÑтеми "БД", що доÑтупні на Ñтанції. </p><p>Ð”Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— полів Ñторінок цієї підÑиÑтеми можуть бути потрібні права привілейованого кориÑтувача або Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð²Ð°ÑˆÐ¾Ð³Ð¾ кориÑтувача до групи "БД". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:682px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_subsys_uk.png"><img class="thumbimage" height="408" src="files/QTCfg_subsys_db_subsys_uk.png" width="680" /></a> <div class="thumbcaption">РиÑ. 4.1a. Вкладка "ПідÑиÑтема" кореневої Ñторінки підÑиÑтеми "БД".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:683px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_uk.png"><img class="thumbimage" height="402" src="files/QTCfg_subsys_db_mod_uk.png" width="681" /></a> <div class="thumbcaption">РиÑ. 4.1b. Вкладка "Модулі" кореневої Ñторінки підÑиÑтеми "БД".</div></div></div></div> <p>Кожний модуль підÑиÑтеми "БД" надає конфігураційну Ñторінку з вкладками "БД" та "Модуль". Вкладка "БД" (РиÑ.4.1c) міÑтить перелік об'єктів БД, зареєÑтрованих у модулі та ознаку повного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð‘Ð” при виконанні команди видаленнÑ. У контекÑтному меню переліку БД кориÑтувачу надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° переходу до потрібної БД. У вкладці "Модуль" міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ модуль підÑиÑтеми "БД" у ÑкоÑÑ‚Ñ– інформаційних полей кожного Ð¼Ð¾Ð´ÑƒÐ»Ñ (РиÑ.4.1d): </p> <ul><li> <i>Модуль</i> — ідентифікатор модулÑ.</li> <li> <i>Ім'Ñ</i> — ім'Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ.</li> <li> <i>Тип</i> — тип модулÑ, ідентифікатор підÑиÑтеми до Ñкої модуль відноÑитьÑÑ.</li> <li> <i>Джерело</i> — поділювана бібліотека або <b>*bd_{ModId}</b>, Ð´Ð»Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ, що характеризує джерело цього модулÑ.</li> <li> <i>ВерÑÑ–Ñ</i> — верÑÑ–Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ.</li> <li> <i>Ðвтор</i> — автор модулÑ.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ.</li> <li> <i>ЛіцензіÑ</i> — ліцензійна угода розповÑÑŽÐ´Ð¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ.</li></ul> <p><span id="DBFeat" title="#DBFeat">Модулі підÑиÑтеми "БД" міÑÑ‚ÑÑ‚ÑŒ також Ñпецифічне інформаційне поле "ВлаÑтивоÑÑ‚Ñ–"</span> з ключовими Ñловами підтримуваних влаÑтивоÑтей: </p> <ul><li> <i>LIST</i> — перелік таблиць-контейнерів у БД-Ñховищі;</li> <li> <i>GET</i>, <i>SEEK</i>, <i>SET</i>, <i>DEL</i> — відповідні запити запиÑів даних OpenSCADA;</li> <li> <i>STRUCT</i> — Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñтруктури полів БД у відображенні на типи даних OpenSCADA;</li> <li> <i>PRELOAD</i> — попереднє Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñів даних OpenSCADA за SEEK-запиту, груповим SQL SELECT запитом;</li> <li> <i>SQL</i> — SQL-запити;</li> <li> <i>FIX</i> — виправленнÑ-зміна Ñтруктури Ñховища відповідно до Ñтруктури запиÑів даних OpenSCADA;</li> <li> <i>TR</i> — Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… перекладу Ñтруктури запиÑу OpenSCADA;</li> <li> <i>ERR</i> — перевірена обробка та реєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð½Ð° кшталт RO-режиму, Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° подібне.</li></ul> <p>Ð”Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— OpenSCADA, модуль реалізації Ñховища має надавати щонайменш наÑтупні влаÑтивоÑÑ‚Ñ–: <b>GET</b>, <b>SEEK</b>, <b>SET</b>, <b>DEL</b>. Та щоб бути багатомовним Ñховищем має також надавати влаÑтивіÑÑ‚ÑŒ <b>TR</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:628px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_uk.png"><img class="thumbimage" height="406" src="files/QTCfg_subsys_db_mod_db_uk.png" width="626" /></a> <div class="thumbcaption">РиÑ. 4.1c. Вкладка "БД" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "БД".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:765px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_module_uk.png"><img class="thumbimage" height="536" src="files/QTCfg_subsys_db_mod_module_uk.png" width="763" /></a> <div class="thumbcaption">РиÑ. 4.1d. Вкладка "Модуль" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "БД".</div></div></div></div> <p>Кожний об'єкт БД міÑтить влаÑну Ñторінку конфігурації з вкладками "База даних", "Таблиці" та "SQL", у випадку підтримки SQL-запитів. Крім оÑновних операцій можна виконувати ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ð¼Ñ–Ñту БД Ñтандартною функцією ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єктів у конфігураторі. ÐžÐ¿ÐµÑ€Ð°Ñ†Ñ–Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ð¼Ñ–Ñту БД передбачає ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¾Ñ— БД у БД призначеннÑ, при цьому вміÑÑ‚ БД Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ очищуєтьÑÑ Ð¿ÐµÑ€ÐµÐ´ операцією копіюваннÑ. ÐšÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ð¼Ñ–Ñту БД здійÑнюєтьÑÑ Ð¿Ñ€Ð¸ умові Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¾Ð±Ð¾Ñ… БД, інакше буде виконуватиÑÑ Ð¿Ñ€Ð¾Ñте ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту БД! </p><p>Вкладка "База даних" (РиÑ.4.1e) міÑтить оÑновні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту БД, у Ñкладі: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ–, що характеризують Ñтан об'єкту БД: <ul><li> <i>Ввімкнено</i> — Ñтан "Ввімкнено", об'єкту БД. Ð”Ð»Ñ Ð¼ÐµÑ€ÐµÐ¶ÐµÐ²Ð¸Ñ… БД цей Ñтан передбачає Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ СУБД, відповідно й відображає факт наÑвноÑÑ‚Ñ– Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° Ñке, за вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ "Вмикати", періодично відновлюєтьÑÑ.</li> <li> <i>ÐаÑвні таблиці</i> — перелік таблиць, Ñкі міÑтить БД. КонтекÑтним меню цієї влаÑтивоÑÑ‚Ñ– надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ фізичного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÑŒ з БД.</li> <li> <i>Завантажити програму з цієї БД</i> — команда Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð· даної БД. Може викориÑтовуватиÑÑ Ð¿Ñ€Ð¸ перенеÑенні даних у БД між ÑтанціÑми. Ðаприклад, можна зберегти ділÑнку однієї Ñтанції до екÑпортної БД, фізично перенеÑти БД на іншу Ñтанцію, підключити Ñ—Ñ— у цій підÑиÑтемі та викликати дану команду.</li></ul></li> <li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—: <ul><li> <i>Ідентифікатор</i> — міÑтить інформацію про ідентифікатор об'єкту БД.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ Ð¾Ð±'єкту БД.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ñ‚Ð° Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð±'єкту БД та Ñамої БД у програмі.</li> <li> <i>ÐдреÑа</i> — адреÑа БД у Ñпецифічному Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ БД (модулÑ) форматі. ÐžÐ¿Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ запиÑу адреÑи БД Ñк правило доÑтупний у підказці цього полÑ, що Ñпливає.</li> <li> <i>Кодова Ñторінка</i> — вказує на кодову Ñторінку, у Ñкій зберігаютьÑÑ Ñ‚Ð° надаютьÑÑ Ñ‚ÐµÐºÑтові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð‘Ð”. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð´Ð¾Ð²Ð¾Ñ— Ñторінки БД у зв'Ñзці із внутрішнім кодуваннÑм Ñтанції викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð·Ð¾Ñ€Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑтових повідомлень при обміні між Ñтанцією та БД.</li> <li> <i>Вмикати</i> — вказує на Ñтан "Ввімкнено", у Ñкий переводити БД при завантажені.</li> <li> <i>Пріоритет у переліку</i> — пріоритет БД [0...99] у загальному переліку баз даних викориÑтовуваних у завантаженні, кориÑно Ð´Ð»Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐº розташованих у декількох базах даних Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ñ–Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚Ð½Ð¸Ñ… — викориÑтовуваних.</li> <li> <i>Ð—Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ—: піÑÐ»Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ, Ñекунд</i> — Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ— піÑÐ»Ñ Ñ—Ñ— відкриттÑ.</li> <li> <i>Ð—Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ—: піÑÐ»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ, Ñекунд</i> — Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ— піÑÐ»Ñ Ð¾Ñтаннього запиту. Якщо Ñ‡Ð°Ñ Ð¼ÐµÐ½ÑˆÐµ за SERV_TASK_PER (10), тоді Ð´Ð»Ñ Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ð¹ БД буде відкрито незалежний потік-задачу з визначеним наÑтупним параметром пріоритетом, інакше Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±ÑƒÐ´Ðµ здійÑнюватиÑÑ ÑервіÑною задачею.</li> <li> <i>Ð—Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ—: пріоритет окремої задачі</i> — пріоритет незалежного потоку-задачі, відкритої за попереднього чаÑу менше за SERV_TASK_PER (10).</li></ul></li></ul> <p>Вкладка "Таблиці" (РиÑ.4.1f) міÑтить перелік відкритих таблиць. При нормальній роботі програми Ñ†Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° порожнÑ, оÑкільки піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ з таблицÑми програма Ñ—Ñ… закриває. ÐаÑвніÑÑ‚ÑŒ відкритих таблиць говорить про те, що програма зараз з таблицÑми працює або таблиці відкриті кориÑтувачем Ð´Ð»Ñ Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ Ñ—Ñ… вміÑту. У контекÑтному меню переліку відкритих таблиць можна відкрити таблицю Ð´Ð»Ñ Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ (команда "Додати"), закрити відкриту таблицю (команда "Видалити") та перейти до Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ Ñ—Ñ— вміÑту. </p><p>Вкладка "SQL" (РиÑ.4.1g) доÑтупна тільки Ð´Ð»Ñ Ð±Ð°Ð· даних, що підтримують SQL-запити, та міÑтить поле вводу запиту, кнопку надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ та таблицю з результатом запиту. Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ð¼ транзакції запиту передбачено окреме конфігураційне поле. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:742px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_db_uk.png"><img class="thumbimage" height="688" src="files/QTCfg_subsys_db_mod_db_db_uk.png" width="740" /></a> <div class="thumbcaption">РиÑ. 4.1e. Вкладка "База даних" об'єкту БД Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "БД".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:707px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_tbl_uk.png"><img class="thumbimage" height="648" src="files/QTCfg_subsys_db_mod_db_tbl_uk.png" width="705" /></a> <div class="thumbcaption">РиÑ. 4.1f. Вкладка "Таблиці" об'єкту БД Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "БД".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1113px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_sql_uk.png"><img class="thumbimage" height="812" src="files/QTCfg_subsys_db_mod_db_sql_uk.png" width="1111" /></a> <div class="thumbcaption">РиÑ. 4.1g. Вкладка "SQL" об'єкту БД Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "БД".</div></div></div></div> <p>Сторінка Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¼Ñ–Ñту таблиці міÑтить тільки одну вкладку "ТаблицÑ". Вкладка "ТаблицÑ" (РиÑ.4.1h) міÑтить поле назви таблиці та таблицю зі зміÑтом. Таблицею вміÑту надаютьÑÑ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—: </p> <ul><li> Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¼Ñ–Ñту клітинок таблиці;</li> <li> Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу (Ñ€Ñдка);</li> <li> Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу (Ñ€Ñдка).</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1118px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_tbl_tbl_uk.png"><img class="thumbimage" height="812" src="files/QTCfg_subsys_db_mod_db_tbl_tbl_uk.png" width="1116" /></a> <div class="thumbcaption">РиÑ. 4.1h. Вкладка "ТаблицÑ" таблиці БД Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "БД".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B5.D0.B7.D0.BF.D0.B5.D0.BA.D0.B0.22"><span class="mw-headline-number">4.2</span> <span id="CfgSecurity" title="#CfgSecurity">ПідÑиÑтема "Безпека"</span></span></h3> <p>ПідÑиÑтема не Ñ” модульною. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми передбачено кореневу Ñторінку підÑиÑтеми "Безпека", Ñка міÑтить вкладку "КориÑтувачі та групи кориÑтувачів". Вкладка "КориÑтувачі та групи кориÑтувачів" (РиÑ.4.2a) міÑтить переліки кориÑтувачів та груп кориÑтувачів. КориÑтувач у групі "Security" або з правами привілейованого кориÑтувача може додати, видалити кориÑтувача або групу кориÑтувачів. Ð’ÑÑ– інші кориÑтувачі можуть переходити до Ñторінок кориÑтувача або груп кориÑтувачів та змінювати низку перÑональних параметрів на влаÑній Ñторінці кориÑтувача. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:630px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_sec_uk.png"><img class="thumbimage" height="545" src="files/QTCfg_subsys_sec_uk.png" width="628" /></a> <div class="thumbcaption">РиÑ. 4.2a. Вкладка "КориÑтувачі та групи кориÑтувачів" кореневої Ñторінки підÑиÑтеми "Безпека".</div></div></div></div> <p>Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— кориÑтувача надаєтьÑÑ Ñторінка, що міÑтить тільки вкладку "КориÑтувач" (РиÑ.4.2b). Вкладка міÑтить конфігураційні дані профілю кориÑтувач, Ñкі може змінювати Ñам кориÑтувач, кориÑтувач у групі "Security" або привілейований кориÑтувач: </p> <ul><li> <i>Ім'Ñ</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ім'Ñ (ідентифікатор) кориÑтувача.</li> <li> <i>Повне ім'Ñ</i> — вказує на повне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача.</li> <li> <i>ОпиÑ</i> — Ð¾Ð¿Ð¸Ñ Ñ‚Ð° довільна Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ кориÑтувача.</li> <li> <i>Пароль</i> — поле Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ Ð¿Ð°Ñ€Ð¾Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача. Завжди відображає "********".</li> <li> <i>Мова</i> — мова кориÑтувача Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑту динамічних повідомлень та Ñинтезу мови кориÑтувацького інтерфейÑу. Порожньо Ð´Ð»Ñ ÑиÑтемної мови.</li> <li> <i>Ð—Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</i> — вказує Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача. Ð—Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ бути завантажено або вивантажено.</li> <li> <i>Групи</i> — Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð· переліком груп кориÑтувачів та ознакою приналежноÑÑ‚Ñ– кориÑтувача до відповідної групи.</li> <li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… кориÑтувача, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð².</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:778px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_sec_user_uk.png"><img class="thumbimage" height="736" src="files/QTCfg_subsys_sec_user_uk.png" width="776" /></a> <div class="thumbcaption">РиÑ. 4.2b. Вкладка "КориÑтувач" Ñторінки кориÑтувача підÑиÑтеми "Безпека".</div></div></div></div> <p>Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— групи кориÑтувачів надаєтьÑÑ Ñторінка, що міÑтить тільки вкладку "Група" (РиÑ.4.2c). Вкладка міÑтить конфігураційні дані профілю групи кориÑтувачів, Ñкі може змінити тільки привілейований кориÑтувач: </p> <ul><li> <i>Ім'Ñ</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ім'Ñ (ідентифікатор) групи кориÑтувачів.</li> <li> <i>Повне ім'Ñ</i> — вказує на повне ім'Ñ Ð³Ñ€ÑƒÐ¿Ð¸ кориÑтувачів.</li> <li> <i>ОпиÑ</i> — Ð¾Ð¿Ð¸Ñ Ñ‚Ð° довільна Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ групу кориÑтувачів.</li> <li> <i>КориÑтувачі</i> — перелік кориÑтувачів, включених до даної групи. За допомогою контекÑтного меню переліку можна додати або видалити кориÑтувача у групі.</li> <li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… групи кориÑтувачів, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð².</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:778px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_sec_grp_uk.png"><img class="thumbimage" height="565" src="files/QTCfg_subsys_sec_grp_uk.png" width="776" /></a> <div class="thumbcaption">РиÑ. 4.2c. Вкладка "Група" Ñторінки групи кориÑтувачів підÑиÑтеми "Безпека".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.B8.22"><span class="mw-headline-number">4.3</span> <span id="Transports" title="#Transports">ПідÑиÑтема "ТранÑпорти"</span></span></h3> <p>ПідÑиÑтема Ñ” модульною та міÑтить ієрархію об'єктів, зображену на риÑунку 1.6. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми передбачено кореневу Ñторінку підÑиÑтеми "ТранÑпорти", Ñка міÑтить вкладки "ПідÑиÑтема" та "Модулі". </p><p>Вкладка "ПідÑиÑтема" (РиÑ.4.3a) міÑтить таблицю конфігурації зовнішніх, Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ—, OpenSCADA Ñтанцій. Зовнішні Ñтанції можуть бути ÑиÑтемними, кориÑтувацькими або одночаÑно, що обираєтьÑÑ Ñƒ відповідному Ñтовпчику. СиÑтемні зовнішні Ñтанції доÑтупні тільки привілейованому кориÑтувачу та викориÑтовуютьÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°Ð¼Ð¸ ÑиÑтемного призначеннÑ, наприклад, механізмом горизонтального Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° модулем <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQ.DAQGate</a>. КориÑтувацькі зовнішні Ñтанції прив'Ñзано до кориÑтувача, Ñкий Ñ—Ñ… Ñтворював, тобто перелік кориÑтувацьких зовнішніх Ñтанцій індивідуальний Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ кориÑтувача. КориÑтувацькі зовнішні Ñтанції викориÑтовуютьÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°Ð¼Ð¸ графічного інтерфейÑу, наприклад: <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">UI.QTCfg</a>, <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">UI.WebCfgD</a> та <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">UI.Vision</a>. У таблиці зовнішніх Ñтанцій можливе Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ñ‚Ð° Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñів про Ñтанції, а також Ñ—Ñ… модифікаціÑ. Кожний Ð·Ð°Ð¿Ð¸Ñ Ð¼Ñ–Ñтить полÑ: </p> <ul><li> <i>Ідентифікатор</i> — ідентифікатор зовнішньої Ñтанції.</li> <li> <i>Ім'Ñ</i> — ім'Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ñ— Ñтанції.</li> <li> <i>ТранÑпорт</i> — Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ транÑпорту або транÑпорту безпоÑередньо із переліку мережевих транÑпортів, вихідних транÑпортів прÑмо та вхідних транÑпортів доÑтупних до ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ñоційованих вихідних підключень.</li> <li> <i>ÐдреÑа</i> — додаткова адреÑа до попереднього Ð¿Ð¾Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувана при Ñтворені відÑутніх або автоматичних транÑпортів, та Ñк ІД віддаленого ініціативного Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… транÑпортів. ÐдреÑа зовнішніх Ñтанцій через вихідне Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ” Ñпецифічною до Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "ТранÑпорти" обраного у попередньому полі.</li> <li> <i>КориÑтувач</i> — ім'Ñ/ідентифікатор кориÑтувача віддаленої Ñтанції, від ім'Ñ Ñкого здійÑнювати підключеннÑ.</li> <li> <i>Пароль</i> — пароль кориÑтувача віддаленої Ñтанції.</li> <li> <i>Режим</i> — режим хоÑту: "КориÑтувацький", "СиÑтемний", "КориÑтувацький та СиÑтемний".</li> <li> <i>Рівень піднÑÑ‚Ñ‚Ñ</i> — рівень піднÑÑ‚Ñ‚Ñ Ñ…Ð¾Ñтів вказаного хоÑту Ð´Ð»Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð².</li></ul> <p>Вкладка "Модулі" (РиÑ.4.1b) міÑтить перелік модулів підÑиÑтеми "ТранÑпорти" та ідентична до вÑÑ–Ñ… модульних підÑиÑтем. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:941px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_sub_uk.png"><img class="thumbimage" height="451" src="files/QTCfg_subsys_tr_sub_uk.png" width="939" /></a> <div class="thumbcaption">РиÑ. 4.3a. Вкладка "ПідÑиÑтема" кореневої Ñторінки підÑиÑтеми "ТранÑпорти".</div></div></div></div> <p>Кожний модуль підÑиÑтеми "ТранÑпорти" надає конфігураційну Ñторінку з вкладками "ТранÑпорти" та "Модуль". </p><p>Вкладка "ТранÑпорти" (РиÑ.4.3b) міÑтить перелік вхідних та вихідних транÑпортів, зареєÑтрованих модулем. У контекÑтному меню переліків транÑпортів кориÑтувачу надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° переходу до потрібного транÑпорту. Вихідні транÑпорти також надають функцію чаÑу життÑ, Ñка передбачає Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ñ€Ð°Ð½Ñпортів за неактивніÑÑ‚ÑŽ. Ð’Ñтановіть це поле у 0 Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— функції! </p><p>У вкладці "Модуль" міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ модуль підÑиÑтеми "ТранÑпорти" (РиÑ.4.1d), Ñклад Ñкої ідентичний до вÑÑ–Ñ… модулів. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:678px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_mod_tr_uk.png"><img class="thumbimage" height="560" src="files/QTCfg_subsys_tr_mod_tr_uk.png" width="676" /></a> <div class="thumbcaption">РиÑ. 4.3b. Вкладка "ТранÑпорти" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "ТранÑпорти".</div></div></div></div> <p>Кожний транÑпорт міÑтить влаÑні конфігураційні діалоги у вкладці "ТранÑпорт" Ñ– "Додаткове". Вкладка "ТранÑпорт" міÑтить оÑновні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ñпорту. <span id="TransportIn" title="#TransportIn">Вхідний транÑпорт</span> (РиÑ.4.3c) міÑтить: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ–, що характеризують Ñтан транÑпорту: <ul><li> <i>СтатуÑ</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ поточний Ñтан транÑпорту та ÑтатиÑтика його роботи. БільшіÑÑ‚ÑŒ модулів транÑпортів надають розширену діагноÑтику у цьому полі при включені <a href="#Config">режиму налаштуваннÑ</a>.</li> <li> <i>ПідключеннÑ</i> — оперативний Ñтан/команда транÑпорту.</li> <li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… транÑпорту, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð².</li> <li> <i>Ðктивні підключеннÑ</i> — перелік активних та актуальних підключень вхідного транÑпорту.</li></ul></li> <li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—: <ul><li> <i>Ідентифікатор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ідентифікатор транÑпорту.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ Ñ‚Ñ€Ð°Ð½Ñпорту.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ñ‚Ñ€Ð°Ð½Ñпорту та його призначеннÑ.</li> <li> <i>ÐдреÑа</i> — адреÑа транÑпорту у Ñпецифічному Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ транÑпорту (модулÑ) форматі. ÐžÐ¿Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ запиÑу адреÑи транÑпорту, Ñк правило, доÑтупний у Ñпливаючій підказці цього полÑ.</li> <li> <i>ТранÑпортний протокол</i> — вказує на модулі транÑпортного протоколу (підÑиÑтема "ТранÑпортні протоколи"), Ñкі мають працювати у зв'Ñзці з даним вхідним транÑпортом. Тобто отримані неÑтруктуровані дані цей модуль буде ÑпрÑмовувати на Ñтруктуризацію та обробку вказаним модулÑм транÑпортного протоколу.</li> <li> <i>ПідключатиÑÑ</i> — вказує на Ñтан/команду "ПідключеннÑ" у Ñкий переводити транÑпорт при завантажені.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:858px;"><a class="image" href="http://oscada.org/wiki/File:Sockets_in_uk.png"><img class="thumbimage" height="1210" src="files/Sockets_in_uk.png" width="856" /></a> <div class="thumbcaption">РиÑ. 4.3c. Вкладка "ТранÑпорт" Ñ– "Додаткове" Ñторінки вхідного транÑпорту Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "ТранÑпорти".</div></div></div></div> <p><span id="TransportOut" title="#TransportOut">Вихідний транÑпорт</span> (РиÑ.4.3d) міÑтить: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ–, що характеризують Ñтан транÑпорту: <ul><li> <i>СтатуÑ</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ поточний Ñтан транÑпорту та ÑтатиÑтика його роботи. БільшіÑÑ‚ÑŒ модулів транÑпортів надають розширену діагноÑтику у цьому полі при включені <a href="#Config">режиму налаштуваннÑ</a>.</li> <li> <i>ПідключеннÑ</i> — оперативний Ñтан/команда транÑпорту. Враховуючи мережеву природу транÑпортів, цей Ñтан чаÑто передбачає Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ віддаленого мережевого вузла та відповідно й відображає факт наÑвноÑÑ‚Ñ– підключеннÑ. Ð”Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… транÑпортів немає потреби у обов'Ñзковому вÑтановлені цього Ñтану кориÑтувачем оÑкільки він викориÑтовуєтьÑÑ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾ÑŽ ÑутніÑÑ‚ÑŽ протоколів обміну, чаÑто джерелами даних, Ñкі попередньо намагаютьÑÑ Ñ‚Ñ€Ð°Ð½Ñпорт підключити, відтак вÑтановивши Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÐ¾Ð³Ð¾ обміну, більш того, транÑпорт може цією ÑутніÑÑ‚ÑŽ й відключатиÑÑ.</li> <li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… транÑпорту, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð².</li></ul></li> <li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—: <ul><li> <i>Ідентифікатор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ідентифікатор транÑпорту.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ Ñ‚Ñ€Ð°Ð½Ñпорту.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ñ‚Ñ€Ð°Ð½Ñпорту та його призначеннÑ.</li> <li> <i>ÐдреÑа</i> — адреÑа транÑпорту у Ñпецифічному Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ транÑпорту (модулÑ) форматі. ÐžÐ¿Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ запиÑу адреÑи транÑпорту, Ñк правило, доÑтупний за Ñпливаючою підказкою цього полÑ.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:840px;"><a class="image" href="http://oscada.org/wiki/File:Sockets_out_uk.png"><img class="thumbimage" height="940" src="files/Sockets_out_uk.png" width="838" /></a> <div class="thumbcaption">РиÑ. 4.3d. Вкладка "ТранÑпорт" Ñ– "Додаткове" Ñторінки вихідного транÑпорту Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "ТранÑпорти".</div></div></div></div> <p>Вкладка "Додаткове" обох вхідного Ñ– вихідного транÑпортів міÑтить Ñпецифічні параметри типу транÑпорту та Ñпецифічні до протоколу кориÑтувацькі параметри. Також тут може бути Ñкинуто уÑÑ– додаткові параметри до типових значень та очищено Ñпецифічні до протоколу кориÑтувацькі параметри. </p><p>Вихідний транÑпорт додатково надає вкладку Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького запиту через даний транÑпорт (РиÑ.4.3e). Вкладку призначено Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð²'Ñзку та протоколів обміну, та вона міÑтить: </p> <ul><li> <i>ЧаÑ</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ чаÑ, витрачений на запит та Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ–.</li> <li> <i>Режим</i> — вказує режим даних, з переліку: "Бінарний", "ТекÑÑ‚(LF)", "ТекÑÑ‚(CR)", "ТекÑÑ‚(CR/LF)"; у Ñкому буде формуватиÑÑ Ð·Ð°Ð¿Ð¸Ñ‚ та надаватиÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´ÑŒ. У бінарному режимі дані запиÑуютьÑÑ Ð¿Ð°Ñ€Ð°Ð¼Ð¸ чиÑел у шіÑтнадцÑтковому чиÑленні, тобто байтами, поділеними пробілами.</li> <li> <i>Очікувати таймаут</i> — ознака Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð°Ð¹Ð¼Ð°ÑƒÑ‚Ñƒ при отриманні відповіді. Багато ÑиÑтем при відповіді на різних протоколах (наприклад, HTTP) можуть надÑилати дані відповіді декількома шматками. Без цієї ознаки буде отримано та відображено тільки перший шматок. При вÑтановлені ознаки буде здійÑнено Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑÑ–Ñ… шматків відповіді, безпоÑередньо до відÑутноÑÑ‚Ñ– даних протÑгом таймауту Ð´Ð¾Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ñпорту. </li> <li> <i>Розмір вхідного буферу, байт</i> — контролює розмір вхідного буфера або вимикає Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ (0) взагалі — тільки запиÑ.</li> <li> <i>ÐадіÑлати</i> — команда надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ.</li> <li> <i>Запит</i> — міÑтить дані запиту у обраному режимі предÑтавленнÑ.</li> <li> <i>Відповідь</i> — надає дані відповіді у обраному режимі предÑтавленнÑ.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:783px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_mod_tr_otr_req_uk.png"><img class="thumbimage" height="713" src="files/QTCfg_subsys_tr_mod_tr_otr_req_uk.png" width="781" /></a> <div class="thumbcaption">РиÑ. 4.3e. Вкладка "Запит" Ñторінки вихідного транÑпорту Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "ТранÑпорти".</div></div></div></div> <p><span id="TrDiagnostic" title="#TrDiagnostic">Вхідний та вихідний транÑпорти також міÑÑ‚ÑÑ‚ÑŒ вкладку "Лог Ð’Ð’"</span> (РиÑ.4.3f). Вкладка надаєтьÑÑ Ð´Ð»Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ контролю, ÑпоÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚Ð° Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ñ€Ð°Ñ„Ñ–ÐºÑƒ через транÑпорти Ñ– включає поле логу щодо довжини, Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÑƒ, тип, Ñ‡Ð°Ñ Ð°Ð³Ñ€ÐµÐ³Ð°Ñ†Ñ–Ñ— Ñ– Ñам текÑтовий проÑÑ‚Ñ–Ñ€. Ð”Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð»Ð¾Ð³Ñƒ можете поле довжини логу вÑтановити у нуль (0) та -1 Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу до файлу. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1053px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_mod_tr_log_uk.png"><img class="thumbimage" height="764" src="files/QTCfg_subsys_tr_mod_tr_log_uk.png" width="1051" /></a> <div class="thumbcaption">РиÑ. 4.3f. Вкладка "Лог Ð’Ð’" Ñторінки вхідного транÑпорту Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "ТранÑпорти".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.BD.D1.96_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D0.B8.22"><span class="mw-headline-number">4.4</span> ПідÑиÑтема "ТранÑпортні протоколи"</span></h3> <p>ПідÑиÑтема Ñ” модульною. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми передбачено кореневу Ñторінку підÑиÑтеми "ТранÑпортні протоколи", що міÑтить вкладку "Модулі". Вкладка "Модулі" (РиÑ.4.1b) міÑтить перелік модулів підÑиÑтеми "ТранÑпортні протоколи" та ідентична Ð´Ð»Ñ Ð²ÑÑ–Ñ… модульних підÑиÑтем. </p><p>Кожний модуль підÑиÑтеми "ТранÑпортні протоколи" надає конфігураційну Ñторінку з вкладкою "Модуль". У вкладці "Модуль" міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ модулі підÑиÑтеми "ТранÑпортні протоколи" (РиÑ.4.1d), Ñклад Ñкої ідентичний Ð´Ð»Ñ Ð²ÑÑ–Ñ… модулів. </p> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.97.D0.B1.D1.96.D1.80_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85.22"><span class="mw-headline-number">4.5</span> <span id="CfgDAQ" title="#CfgDAQ">ПідÑиÑтема "Збір даних"</span></span></h3> <p>ПідÑиÑтема Ñ” модульною та міÑтить ієрархію об'єктів зображену на риÑунку 1.3. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми передбачено кореневу Ñторінку підÑиÑтеми "Збір даних", що міÑтить вкладки: "РезервуваннÑ", "Бібліотеки шаблонів" та "Модулі". </p><p>Ð”Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу на модифікацію об'єктів цієї підÑиÑтеми потрібні права кориÑтувача у групі "DAQ" або права привілейованого кориÑтувача. </p><p>Об'єктом Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´ÑиÑтеми "Збір Даних" виÑтупає об'єкт контролеру у межах Ñкого Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… виконує функції: </p> <ul><li> <b>Ð ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÑ…Ð°Ð½Ñ–Ð·Ð¼Ñƒ збору даних</b>. Зазвичай Ñ†Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ñ€ÐµÐ°Ð»Ñ–Ð·ÑƒÑ”Ñ‚ÑŒÑÑ Ð±ÐµÐ· Ñпеціальних механізмів та шлÑхом проÑтого запуÑку паралельних резервних Ñтанцій з однаковою конфігурацією та працюючих незалежно. Однак у випадку Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñтанцією функції ПЛК така поведінка недопуÑтима з причини одночаÑної видачі керуючих дій та відÑутноÑÑ‚Ñ– Ñинхронізації даних обчиÑлювачів.</li> <li> <b>КомпенÑÐ°Ñ†Ñ–Ñ Ð²Ñ‚Ñ€Ð°Ñ‚Ð¸ даних на Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ñтою вузла</b> за рахунок архіву резервного. Передбачено два механізми компенÑації. Перший та оÑновний механізм здійÑнює Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ñ–Ð»Ñнок архіву з резервної Ñтанції під Ñ‡Ð°Ñ Ð·Ð°Ð¿ÑƒÑку Ñтанції в цілому або окремих об'єктів контролерів, а також Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ñ‚Ñ€Ð¸Ð²Ð°Ð»Ð¾Ñ— відÑутноÑÑ‚Ñ– зв'Ñзку. ДілÑнка архіву запитуєтьÑÑ Ð· моменту оÑтаннього запиÑу до локального архіву та по поточний чаÑ. Глибина запиту при цьому обмежуєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñм граничного чаÑу у конфігурації резервуваннÑ. Другий, доповнюючий механізм, здійÑнює Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ "дірок" у архіві значень на момент фактичного запиту кориÑтувача до цих даних. Такий підхід, з одного боку, дозволÑÑ” здійÑнити прогнозовану за чаÑом Ñинхронізацію при Ñтарті, а з іншого фактично виключає втрату даних при умові роботи хоча-б однієї Ñтанції протÑгом вÑього робочого чаÑу.</li> <li> <b>Розподіл Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ñ– збору даних між вузлами</b>. При Ñтворені Ñкладних розподілених ÑиÑтем може виÑвитиÑÑ Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¸Ð¼ Ð¿Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ð½Ð¾Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° оптимізації загальної продуктивноÑÑ‚Ñ– SCADA ÑиÑтеми. З урахуваннÑм таких задач механізм Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡Ð°Ñ” Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð´Ð°Ñ‡ збору даних окремих джерел (контролерів OpenSCADA) тільки на одній Ñтанції. При цьому Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñ–Ð½ÑˆÐ¸Ñ… Ñтанцій переходÑÑ‚ÑŒ у режим Ñинхронізації даних зі Ñтанцією що виконуєтьÑÑ. У випадку втрати зв'Ñзку зі Ñтанцією що виконуєтьÑÑ Ð·Ð°Ð¿ÑƒÑкаєтьÑÑ Ð·Ð°Ð´Ð°Ñ‡Ð° локального збору даних. Передбачено також можливіÑÑ‚ÑŒ оптимального розподілу Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð´Ð°Ñ‡ збору даних групи об'єктів контролерів між ÑтанціÑми.</li> <li> <b>ÐžÐ¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° зовнішні джерела даних</b> за рахунок запиту (обміну) даних у зовнішнього джерела тільки одним вузлом. Ðа практиці чаÑто зуÑтрічаютьÑÑ Ð²Ð¸Ñоко-навантажені джерела даних або інтерфейÑи доÑтупу до джерел даних, Ð´Ð»Ñ Ñких навіть збір даних однією Ñтанцією може бути проблемою та потребує Ð·Ð½Ð¸Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€Ñ–Ð¾Ð´Ð¸Ñ‡Ð½Ð¾ÑÑ‚Ñ– запиту, тобто ÑкоÑÑ‚Ñ– даних. Механізм резервуваннÑ, крім розподілу Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ñ– ÑтанціÑми за опиÑаною вище Ñхемою, дозволÑÑ” знÑти додаткове Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° джерело даних та його інтерфейÑи тем Ñамим підвищивши ÑкіÑÑ‚ÑŒ даних. Ð—Ð°Ð¿Ð¸Ñ Ð´Ð¾ атрибутів резервного об'єкту контролера призводить до відправки запиту модифікації на оÑновний, тобто — Ð·Ð°Ð¿Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· оÑновний.</li> <li> <b>ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð´ÐµÑкої відмінноÑÑ‚Ñ– даних на різних вузлах</b>, пов'Ñзану з незбігом моментів чаÑу при незалежному зборі даних окремими вузлами, шлÑхом Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… у Ñтанції з активним об'єктом контролеру. У ÑиÑтемах виÑокої звітноÑÑ‚Ñ– з резервуваннÑм має бути виключено або зведено до мінімуму Ñ€Ð¾Ð·Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñƒ даних на різних ÑтанціÑÑ…, що передбачає реальний збір даних однією Ñтанцією та Ñинхронізацію з цими даними інших Ñтанцій.</li></ul> <p>Вкладка "РезервуваннÑ" (РиÑ.4.5a) доÑтупна лише Ñкщо у резерві вказано хоча-б одну ÑÑ‚Ð°Ð½Ñ†Ñ–Ñ (РиÑ.4c) та міÑтить конфігурацію Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ» даних підÑиÑтеми "Збір даних", у Ñкладі налаштувань: </p> <ul><li> <i>Глибина Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… при запуÑку</i> — вказує на макÑимальну глибину архівних даних Ð´Ð»Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð· архіву віддаленої Ñтанції при запуÑку, у годинах (0-12).</li> <li> <i>Контролери</i> — міÑтить таблицю з переліком об'єктів контролерів, доÑтупних Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ, та поточний Ñ—Ñ… Ñтан: <ul><li> <i>Контролер</i> — повний ідентифікатор об'єкту контролеру;</li> <li> <i>Ім'Ñ</i> — ім'Ñ Ð¾Ð±'єкту контролера;</li> <li> <i>Запущено</i> — ознака Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролеру локальною Ñтанцією;</li> <li> <i>РезервуваннÑ</i> — режим Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролера, може бути обрано з переліку: <ul><li> "Виключено" — повніÑÑ‚ÑŽ незалежна робота об'єкту контролера.</li> <li> "ÐÑиметричне" — повне Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð· доÑтупною конфігурацією об'єкта контролера віддаленої Ñтанції та без Ñпроб Ñ—Ñ— узагальнювати.</li> <li> "Тільки порушеннÑ" — фактична робота без резервуваннÑ, але з пригніченнÑм порушень від резервного об'єкту контролера з метою Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð»ÑŒÐ½Ð¸Ñ… повідомлень про порушеннÑ.</li></ul></li> <li> <i>Ð£Ð¿Ð¾Ð´Ð¾Ð±Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ</i> — ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑƒÐ¿Ð¾Ð´Ð¾Ð±Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° вказаній Ñтанції; зарезервовані Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·ÑƒÑŽÑ‚ÑŒ на: <ul><li> <b><ВиÑокий рівень></b> — Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° Ñтанції з найвищим рівнем.</li> <li> <b><Ðизький рівень></b> — Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° Ñтанції з найнижчим рівнем.</li> <li> <b><Оптимально></b> — Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð°Ð¹Ð¼ÐµÐ½Ñˆ навантаженої Ñтанції — Ñтанції Ñка виконує найменшу кількіÑÑ‚ÑŒ об'єктів контролерів.</li></ul></li> <li> <i>Віддалений</i> — ознака, що вказує на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±'єкта контролера віддаленою Ñтанцією та роботу локальної Ñтанції у режимі Ñинхронізації даних з віддаленою.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:955px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_red_uk.png"><img class="thumbimage" height="615" src="files/QTCfg_subsys_daq_red_uk.png" width="953" /></a> <div class="thumbcaption">РиÑ. 4.5a. Вкладка "РезервуваннÑ" підÑиÑтеми "Збір даних".</div></div></div></div> <p>Вкладка "<span id="DAQTmpl" title="#DAQTmpl">Бібліотеки шаблонів</span>" (РиÑ.4.5b) міÑтить перелік бібліотек шаблонів Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² цієї підÑиÑтеми. У контекÑтному меню переліку бібліотек шаблонів кориÑтувачу надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° переходу до потрібної бібліотеки. Вкладка "Модулі" (РиÑ.4.1c) міÑтить перелік модулів підÑиÑтеми "ТранÑпорти" та ідентична Ð´Ð»Ñ Ð²ÑÑ–Ñ… модульних підÑиÑтем. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:686px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_uk.png"><img class="thumbimage" height="405" src="files/QTCfg_subsys_daq_tmpl_uk.png" width="684" /></a> <div class="thumbcaption">РиÑ. 4.5b. Вкладка "Бібліотеки шаблонів" підÑиÑтеми "Збір даних".</div></div></div></div> <p>Кожна бібліотека шаблонів підÑиÑтеми "Збір даних" надає конфігураційну Ñторінку з вкладками "Бібліотека" та "Шаблони параметрів". Вкладка "Бібліотека" (РиÑ.4.5d) міÑтить оÑновні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ у Ñкладі: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ–, що характеризують Ñтан бібліотеки:</li></ul> <dl><dd><ul><li> <i>ДоÑтупний</i> — Ñтан бібліотеки "ДоÑтупний".</li> <li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… бібліотеки та Ñ—Ñ— шаблонів, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð².</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Об'єкт вÑе ще підтримує Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð°Ð´Ð»Ð¸ÑˆÐºÐ¾Ð²Ð¾Ñ— адреÑи Ñховку із таблицею до того чаÑу Ñк ви перейменуєте Ñ—Ñ— у Ñтандартну форму "<b>tmplib_{ObjID}</b>".</dd></dl> <ul><li> <i>Дата модифікації</i> — дата та Ñ‡Ð°Ñ Ð¾Ñтанньої модифікації об'єкту.</li></ul></dd></dl> <ul><li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—:</li></ul> <dl><dd><ul><li> <i>Ідентифікатор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ідентифікатор бібліотеки.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ та Ñ—Ñ— призначеннÑ.</li></ul></dd></dl> <p>Вкладка "Шаблони параметрів" (РиÑ.4.5d) міÑтить перелік шаблонів у бібліотеці. У контекÑтному меню переліку кориÑтувачу надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° переходу до потрібного шаблону. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:779px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_lib_uk.png"><img class="thumbimage" height="600" src="files/QTCfg_subsys_daq_tmpl_lib_uk.png" width="777" /></a> <div class="thumbcaption">РиÑ. 4.5c. ОÑновна вкладка конфігурації бібліотеки шаблонів підÑиÑтеми "Збір даних".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:826px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_ls_uk.png"><img class="thumbimage" height="509" src="files/QTCfg_subsys_daq_tmpl_ls_uk.png" width="824" /></a> <div class="thumbcaption">РиÑ. 4.5d. Вкладка переліку шаблонів у бібліотеці шаблонів підÑиÑтеми "Збір даних".</div></div></div></div> <p>Кожний шаблон бібліотеки шаблонів надає конфігураційну Ñторінку з вкладками "Шаблон" та "Ð’Ð’". Вкладка "Шаблон" (РиÑ.4.5e) міÑтить оÑновні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ у Ñкладі: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ–, що характеризують Ñтан шаблону: <ul><li> <i>ДоÑтупний</i> — Ñтан шаблону "ДоÑтупний".</li> <li> <i>ВикориÑтано</i> — кількіÑÑ‚ÑŒ викориÑÑ‚Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ. ДозволÑÑ” визначити факт викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ð°, Ñк наÑлідок, можливіÑÑ‚ÑŒ Ñтруктурних змін шаблону.</li> <li> <i>Дата модифікації</i> — дата та Ñ‡Ð°Ñ Ð¾Ñтанньої модифікації об'єкту.</li></ul></li> <li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—: <ul><li> <i>Ідентифікатор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ідентифікатор шаблону.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ та його призначеннÑ.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:880px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_tmpl_main_uk.png"><img class="thumbimage" height="685" src="files/QTCfg_subsys_daq_tmpl_tmpl_main_uk.png" width="878" /></a> <div class="thumbcaption">РиÑ. 4.5e. Головна вкладка конфігурації шаблону параметрів підÑиÑтеми "Збір даних".</div></div></div></div> <p>Вкладка "Ð’Ð’" (РиÑ.4.5f) міÑтить конфігурацію атрибутів (Вхід-Вихід) шаблонів та текÑÑ‚ програми шаблону на мові кориÑтувацького Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA, наприклад, "JavaLikeCalc.JavaScript". Ознака "Перекладати програму" вказує на Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚Ð° переклад текÑта програми Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— мови (людÑької) окремо, що уÑкладнює ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚Ð¼Ð° однаковим Ð´Ð»Ñ <a href="#Config">багатомовних конфігурацій</a>. Цю ознаку загалом впроваджено Ð´Ð»Ñ ÑуміÑноÑÑ‚Ñ– зі Ñтарими верÑÑ–Ñми OpenSCADA, не рекомендовано Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° наразі практикуєтьÑÑ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´ конкретних текÑтових повідомлень у текÑÑ‚Ñ– програми, через функцію <a href="User_API.html#JavaLikeCalc" title="Special:MyLanguage/Documents/User API">tr()</a>. </p><p>У таблиці атрибутів шаблону кориÑтувач може, за поÑередництвом контекÑтного меню: додати, вÑтавити, видалити, переÑунути нагору або донизу Ð·Ð°Ð¿Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ, а також відредагувати Ð¿Ð¾Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ: </p> <ul><li> <i>Ідентифікатор</i> — ідентифікатор атрибуту.</li> <li> <i>Ім'Ñ</i> — ім'Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ.</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ð Ñдки ім'Ñ Ð¿Ñ–ÑÐ»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ опрацьовуютьÑÑ Ñк допомога.</dd></dl> <ul><li> <i>Тип</i> — Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ з переліку: "Реальний", "Цілий", "Логічний", "Ð Ñдок", "Ð Ñдок (переклад)", "ТекÑÑ‚", "ТекÑÑ‚ (переклад)", "Об'єкт", "Вибір цілих чиÑел", "Вибір реальних чиÑел", "Вибір Ñ€Ñдків".</li> <li> <i>Режим</i> — Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ з переліку: "Вхід", "Вихід". Зазвичай викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð°Ð¿Ñ€Ñмку передачі даних за поÑередництвом зв'Ñзку. Тобто Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "Вхід" дані за зв'Ñзком будуть тільки отримуватиÑÑ, а Ð´Ð»Ñ "Вихід" також будуть передаватиÑÑ, у випадку модифікації.</li> <li> <i>Ðтрибут</i> — режим атрибуту параметра реалізованого на оÑнові шаблону, з переліку: "Ðе атрибут", "Тільки Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ", "Повний доÑтуп". Ð”Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² шаблону у Ñких це поле вÑтановлено буде ÑтворюватиÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¹ атрибут у параметрі контролеру цієї підÑиÑтеми.</li> <li> <i>КонфігураціÑ</i> — режим конфігурації атрибуту у вкладці конфігурації шаблону параметра контролеру цієї підÑиÑтеми, з переліку: "Змінна", "КонÑтанта", "Зв'Ñзок". У режимах "КонÑтанта" та "Зв'Ñзок" у вкладці конфігурації шаблону будуть додані ці атрибути Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñтанти або Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ зв'Ñзку параметру.</li> <li> <i>ЗначеннÑ</i> — Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ по замовченню або шаблон поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð´Ð¾Ñтупу за поÑиланнÑм: <ul><li> Формат шаблону поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ від компоненту, Ñкий його викориÑтовує. Загальний формат зв'Ñзків запиÑуєтьÑÑ Ñƒ виглÑді "<b>{Parameter}|{attribute}</b>". Поле <i>Parameter</i> — вказує ім'Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ, Ñк контейнеру атрибутів. Ðтрибути з однаковим значеннÑм <i>Parameter</i> будуть групуватиÑÑ Ñ‚Ð° дозволÑÑ‚ÑŒ призначатиÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñм тільки контейнеру атрибутів, а окремі атрибути будуть пов'Ñзані з атрибутами контейнеру відповідно до Ð¿Ð¾Ð»Ñ <i>{attribute}</i>.</li> <li> Ð”Ð»Ñ Ð²Ð¸Ð±Ñ–Ñ€Ð½Ð¸Ñ… типів це поле також може міÑтити перелік значень, у другому Ñ€Ñдку, та перелік назв, у третьому Ñ€Ñдку, з поділом елементів Ñимволом ";".</li></ul></li></ul> <p>З ÑинтакÑиÑом мови програми шаблону можна ознайомитиÑÑ Ñƒ документації модулÑ, що надає інтерпретатор обраної мови. Ðаприклад, типовою мовою кориÑтувацького Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA Ñ” <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc.JavaScript</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:967px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_tmpl_io_uk.png"><img class="thumbimage" height="718" src="files/QTCfg_subsys_daq_tmpl_tmpl_io_uk.png" width="965" /></a> <div class="thumbcaption">РиÑ. 4.5f. Вкладка конфігурації атрибутів та програми шаблону підÑиÑтеми "Збір даних".</div></div></div></div> <p>Кожний модуль підÑиÑтеми "Збір даних" надає конфігураційну Ñторінку з вкладками "Контролери" Ñ– "Модуль". Вкладка "Контролери" (РиÑ.4.5g) міÑтить поле кількоÑÑ‚Ñ– із детальною кількіÑÑ‚ÑŽ об'єктів контролерів зі ÑтатиÑтикою щодо них: виконуєтьÑÑ, увімкнено Ñ– у помилці за кодами помилок; Ñк Ñ– перелік об'єктів контролерів, зареєÑтрованих у модулі. У контекÑтному меню переліку кориÑтувачу надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° переходу до потрібного об'єкту контролеру. У вкладці "Модуль" міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ модуль підÑиÑтеми "Збір даних" (РиÑ.4.1d), Ñклад Ñкої ідентичний до вÑÑ–Ñ… модулів. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:765px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_uk.png"><img class="thumbimage" height="481" src="files/QTCfg_subsys_daq_mod_cntr_uk.png" width="763" /></a> <div class="thumbcaption">РиÑ. 4.5g. Вкладка "Контролери" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "Збір даних".</div></div></div></div> <p>Кожний об'єкт контролеру міÑтить влаÑну Ñторінку конфігурації з вкладками "Контролер", "Параметри" та "ДіагноÑтика". </p><p>Вкладка "Контролер" (РиÑ.4.5h) міÑтить оÑновні налаштуваннÑ. Склад цих налаштувань може дещо відрізнÑтиÑÑ Ð²Ñ–Ð´ одного Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ†Ñ–Ñ”Ñ— підÑиÑтеми до іншого, про що можна дізнатиÑÑ Ñƒ влаÑній документації модулів. У ÑкоÑÑ‚Ñ– прикладу розглÑнемо Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролеру Ð¼Ð¾Ð´ÑƒÐ»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÐµÑ€Ð° логічного Ñ€Ñ–Ð²Ð½Ñ <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">DAQ.LogicLev</a>: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ–, що характеризують Ñтан об'єкту контролера та Ñамого контролеру:</li></ul> <dl><dd><ul><li> <i>СтатуÑ</i> — вказує на ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ð±'єкту контролера та Ñамого контролеру. У нашому випадку контролер виконуєтьÑÑ, поточний Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñкладає 1.6 міліÑекунди та макÑимальний 2.2 міліÑекунди.</li> <li> <i>Ввімкнено</i> — Ñтан об'єкту контролера "Ввімкнено". Ввімкнений об'єкт контролеру надає можливіÑÑ‚ÑŒ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² та Ñ—Ñ… конфігурації.</li> <li> <i>ВиконуєтьÑÑ</i> — Ñтан об'єкту контролера "ВиконуєтьÑÑ". Об'єкт контролеру що виконуєтьÑÑ Ð·Ð´Ñ–Ð¹Ñнює фізичний збір даних та/або включає механізми доÑтупу до цих даних.</li></ul> <dl><dd><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> ДеÑкі типи джерел даних надають можливіÑÑ‚ÑŒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿ÐµÐ²Ð½Ð¾Ñ— чаÑтини функції переходу до Ñтану <i>Ввімкнено</i> — гарÑче Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¸Ñ… даних при ручному запуÑку та що ви можете бачити у вигулькній підказці до цього полÑ.</dd></dl> <ul><li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… об'єкту контролера та його параметрів, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð². Параметри різних типів зберігаютьÑÑ Ñƒ різних таблицÑÑ… із влаÑною Ñтруктурою Ñ– уніфікованою назвою "{ModId}{TypeId}_{CntrId}", Ñка може бути Ñпецифічною Ð´Ð»Ñ Ð´ÐµÑких модулів.</li> <li> <i>Дата модифікації</i> — дата та Ñ‡Ð°Ñ Ð¾Ñтанньої модифікації об'єкту.</li></ul></dd></dl> <ul><li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—:</li></ul> <dl><dd><ul><li> <i>Ідентифікатор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ідентифікатор об'єкту контролера.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÐµÑ€Ñƒ.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÐµÑ€Ñƒ та його призначеннÑ.</li> <li> <i>Вмикати</i> — вказує на Ñтан "Ввімкнено" у Ñкий переводити об'єкт контролеру при запуÑку програми.</li> <li> <i>ЗапуÑкати</i> — вказує на Ñтан "ВиконуєтьÑÑ" у Ñкий переводити об'єкт контролеру при запуÑку програми.</li> <li> <i>ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ñ‡Ð¸ÑленнÑ</i> — визначає періодичний або за розкладом характер обчиÑленнÑ. У нашому прикладі це періодичне Ñекундне обчиÑÐ»ÐµÐ½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ.</li> <li> <i>Рівень пріоритету задачі Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…</i> — вÑтановлює пріоритет задачі збору даних цього контролеру. ВикориÑтовуєтьÑÑ Ð¿Ñ€Ð¸ плануванні задач операційною ÑиÑтемою. У випадку наÑвноÑÑ‚Ñ– доÑтупу це поле включає Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð´Ð°Ñ‡Ñ– контролеру у режимі реального чаÑу та за визначеним пріоритетом інакше модифікує параметр "nice" задачі.</li></ul></dd></dl> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:783px;"><a class="image" href="http://oscada.org/wiki/File:LogicLev_cntr_uk.png"><img class="thumbimage" height="619" src="files/LogicLev_cntr_uk.png" width="781" /></a> <div class="thumbcaption">РиÑ. 4.5h. Головна вкладка конфігурації об'єкту контролеру підÑиÑтеми "Збір даних".</div></div></div></div> <p>Вкладка "Параметри" (РиÑ.4.5i) міÑтить перелік параметрів у об'єкті контролеру, надає вибір типу Ñтворюваних по замовченню параметрів, а також інформацію про загальну кількіÑÑ‚ÑŒ та кількіÑÑ‚ÑŒ включених параметрів. У контекÑтному меню переліку параметрів кориÑтувачу надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° переходу до потрібного параметру. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:688px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_uk.png"><img class="thumbimage" height="642" src="files/QTCfg_subsys_daq_mod_cntr_prm_uk.png" width="686" /></a> <div class="thumbcaption">РиÑ. 4.5i. Вкладка "Параметри" Ñторінки конфігурації об'єкту контролера підÑиÑтеми "Збір даних".</div></div></div></div> <p><span id="DAQDiagnostic" title="#DAQDiagnostic">Вкладка "ДіагноÑтика"</span> (РиÑ.4.5j) міÑтить форму діагноÑтичних повідомлень джерела даних. ОÑкільки багато джерел даних предÑтавлÑÑŽÑ‚ÑŒ Ñобою зовнішні приÑтрої з доÑтупом до даних за поÑередництвом мережевого обміну або ÑиÑтемної шини то можливі різні позаштатні Ñитуації при доÑтупі до даних. Вивід вÑÑ–Ñ… Ñ—Ñ… у поле "СтатуÑ" об'єкту контролера неможливий оÑкільки він відображає лише поточний Ñтан доÑтупу до даних. За допомогою діагноÑтики можна проÑлідкувати вÑÑ– нештатні Ñитуації у виглÑді повідомлень, Ñформованих даним об'єктом контролеру за визначений проміжок чаÑу та з обраним рівнем повідомленнÑ. Крім безпоÑередньо робочої діагноÑтичної інформації низка модулів джерел даних можуть надавати тут різні налагоджувальні дампи обміну, на рівні повідомлень "ÐÐ°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ (0)". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1048px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_diagn_uk.png"><img class="thumbimage" height="723" src="files/QTCfg_subsys_daq_mod_cntr_diagn_uk.png" width="1046" /></a> <div class="thumbcaption">РиÑ. 4.5j. Вкладка "ДіагноÑтика" Ñторінки конфігурації об'єкту контролера підÑиÑтеми "Збір даних".</div></div></div></div> <p>Параметри об'єктів контролерів підÑиÑтеми "Збір даних" надають конфігураційну Ñторінку з вкладками "Параметр", "Ðтрибути", "ÐрхіваціÑ", "ВключеннÑ" та "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ". </p><p>Вкладка "Параметр" (РиÑ.4.5k) міÑтить оÑновні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ Ñкладі: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ–, що характеризують Ñтан параметру: <ul><li> <i>Тип</i> — вказує тип параметру. Тип виключеного параметру може бути змінено Ñкщо доÑтупно декілька типів.</li> <li> <i>Ввімкнено</i> — Ñтан параметру "Ввімкнено". Ввімкнений параметр викориÑтовуєтьÑÑ Ð¾Ð±'єктом контролеру Ð´Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ даних.</li> <li> <i>Дата модифікації</i> — дата та Ñ‡Ð°Ñ Ð¾Ñтанньої модифікації об'єкту.</li></ul></li> <li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—: <ul><li> <i>Ідентифікатор</i> — міÑтить інформацію про ідентифікатор параметру.</li> <li> <i>Ім'Ñ</i> — Вказує ім'Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ та його призначеннÑ.</li> <li> <i>Вмикати</i> — вказує на Ñтан "Ввімкнено" у Ñкий переводити параметр при запуÑку програми.</li> <li> <i>Шаблон параметру</i> — адреÑа раніш нами розглÑнутого шаблону.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:811px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_main_uk.png"><img class="thumbimage" height="653" src="files/QTCfg_subsys_daq_mod_cntr_prm_main_uk.png" width="809" /></a> <div class="thumbcaption">РиÑ. 4.5k. Головна вкладка конфігурації параметру об'єкта контролера підÑиÑтеми "Збір даних".</div></div></div></div> <p>Вкладка "Ðтрибути" (РиÑ.4.5l) міÑтить атрибути параметру та Ñ—Ñ… Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð³Ñ–Ð´Ð½Ð¾ до конфігурації викориÑтаного шаблона та обчиÑÐ»ÐµÐ½Ð½Ñ Ð¹Ð¾Ð³Ð¾ програми. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:824px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_attr_uk.png"><img class="thumbimage" height="531" src="files/QTCfg_subsys_daq_mod_cntr_prm_attr_uk.png" width="822" /></a> <div class="thumbcaption">РиÑ. 4.5l. Вкладка "Ðтрибути" параметру об'єкта контролера підÑиÑтеми "Збір даних".</div></div></div></div> <p>Вкладка "ÐрхіваціÑ" (РиÑ.4.5m) міÑтить таблицю з атрибутами параметру у Ñ€Ñдках та архіваторами у Ñтовпчиках. КориÑтувач має можливіÑÑ‚ÑŒ вÑтановити архівацію потрібного атрибуту потрібним архіватором проÑто змінивши клітинку на перетині. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:824px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_arch_uk.png"><img class="thumbimage" height="531" src="files/QTCfg_subsys_daq_mod_cntr_prm_arch_uk.png" width="822" /></a> <div class="thumbcaption">РиÑ. 4.5m. Вкладка "ÐрхіваціÑ" параметру об'єкта контролера підÑиÑтеми "Збір даних".</div></div></div></div> <p>Вкладка "ВключеннÑ" (Fig.4.5n) міÑтить перелік параметрів ієрархічно включених до іншого параметру, надає інформацію про загальну кількіÑÑ‚ÑŒ та кількіÑÑ‚ÑŒ включених параметрів. У контекÑтному меню кориÑтувач може додати, видалити та перейти до потрібного параметру. Ð’ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² підтримуєтьÑÑ Ð±Ñ–Ð»ÑŒÑˆÑ–ÑÑ‚ÑŽ джерел даних та глибину Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾ обмежено 10 рівнÑми! </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:636px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_incl_uk.png"><img class="thumbimage" height="471" src="files/QTCfg_subsys_daq_mod_cntr_prm_incl_uk.png" width="634" /></a> <div class="thumbcaption">Fig. 4.5n. Вкладка "ВключеннÑ" параметру об'єкту контролеру підÑиÑтеми "Збір даних".</div></div></div></div> <p>Вкладка "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ" не Ñ” типовою, а приÑÑƒÑ‚Ð½Ñ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ у параметрах модулів підÑиÑтеми "Збір даних", Ñкі реалізують механізми роботи за шаблоном у контекÑÑ‚Ñ– джерела даних ними обÑлуговуваного Ð´Ð»Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ типу. До даного оглÑду цю вкладку включено Ð´Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ñ— завершеноÑÑ‚Ñ– оглÑду конфігурації шаблонів параметрів підÑиÑтеми "Збір даних" Ñк фінальний етап викориÑтаннÑ. Ð¦Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° (РиÑ.4.5o) міÑтить конфігураційні Ð¿Ð¾Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ до шаблону. У прикладі це груповий зв'Ñзок на зовнішній параметр. Цей зв'Ñзок можна вÑтановити проÑто вказавши шлÑÑ… до параметру, Ñкщо ознака "Показати атрибути" не уÑтановлена, або ж вÑтановити адреÑи окремих атрибутів, Ñкщо ознаку вÑтановлено. Ознака "(+)" у кінці адреÑи Ñигналізує про вдале зв'ÑÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° приÑутніÑÑ‚ÑŒ цільового об'єкту. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:824px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_tmpl_uk.png"><img class="thumbimage" height="531" src="files/QTCfg_subsys_daq_mod_cntr_prm_tmpl_uk.png" width="822" /></a> <div class="thumbcaption">РиÑ. 4.5o. Вкладка "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ" параметру об'єкта контролера підÑиÑтеми "Збір даних".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B8-.D0.86.D1.81.D1.82.D0.BE.D1.80.D1.96.D1.8F.22"><span class="mw-headline-number">4.6</span> <span id="CfgArch" title="#CfgArch">ПідÑиÑтема "Ðрхіви-ІÑторіÑ"</span></span></h3> <p>ПідÑиÑтема Ñ” модульною та міÑтить ієрархію об'єктів зображену на риÑунку 1.5. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми передбачено кореневу Ñторінку підÑиÑтеми "Ðрхіви-ІÑторіÑ", що міÑтить вкладки "РезервуваннÑ", "ПовідомленнÑ", "ЗначеннÑ" та "Модулі". </p><p>Ð”Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу на модифікацію об'єктів цієї підÑиÑтеми потрібні права кориÑтувача у групі "Archive" або права привілейованого кориÑтувача. </p><p>Об'єктом Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´ÑиÑтеми "Ðрхіви-ІÑторіÑ" виÑтупає об'єкт архіватору повідомлень у межах Ñкого Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… виконує функції: </p> <ul><li> <b>Ð ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÑ…Ð°Ð½Ñ–Ð·Ð¼Ñƒ архівації</b> — передбачає ÑƒÐ·Ð°Ð³Ð°Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ з резервних Ñтанцій за поÑередництвом трьох механізмів: <ul><li> у оÑновному циклі Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ð³Ð¾ архіву здійÑнюєтьÑÑ Ð·Ð°Ð¿Ð¸Ñ‚ нових повідомлень архіватору на оÑновній Ñтанції від чаÑу оÑтаннього Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ð³Ð¾ об'єкту, де оÑтаннє Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ†Ðµ оÑÑ‚Ð°Ð½Ð½Ñ Ñекунда чаÑу, що запитуєтьÑÑ Ð´Ð²Ñ–Ñ‡Ñ– щоб запобігти втраті повідомлень на цю Ñекунду чаÑу, але передбачено механізм контролю дублікатів та Ñ—Ñ… Ð¿Ñ€Ð¸Ð´ÑƒÑˆÐµÐ½Ð½Ñ Ñк безпоÑередньо піÑÐ»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ, так Ñ– Ñамим архіватором;</li> <li> Ð·Ð°Ð¿Ð¸Ñ Ð°Ð±Ð¾ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ у резервний архіватор призводить до переÑпрÑмуванню запиту запиÑу на оÑновну Ñтанцію Ñк Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ…, так Ñ– перезапиÑуваних повідомлень (також Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸ÑуютьÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾);</li> <li> Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ у оÑновний архіватор призводить до розÑилки цих повідомлень вÑім резервним ÑтанціÑм, де виключаєтьÑÑ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… запиÑів у таблиці поточних порушень — тільки Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð½Ð°Ñвних.</li></ul></li> <li> <b>КомпенÑÐ°Ñ†Ñ–Ñ Ð²Ñ‚Ñ€Ð°Ñ‚Ð¸ даних на Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ñтою вузла</b> за рахунок архіву резервного вузла. Передбачає тільки первинну Ñинхронізацію шлÑхом завантаженнÑ/Ð¿ÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ñ–Ð»Ñнок архіву з резервної Ñтанції на момент запуÑку Ñтанції загалом. ДілÑнка архіву запитуєтьÑÑ Ð· моменту оÑтаннього запиÑу у локальному архіві Ð¼Ñ–Ð½ÑƒÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ глибини примуÑового Ð¿ÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° по поточний чаÑ. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Змінені Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° глибину більш вказаної будуть втрачені на Ñтанції що запуÑкаєтьÑÑ! Процедура первинної Ñинхронізації загалом передбачає:</li></ul> <dl><dd><ol><li> запит вÑÑ–Ñ… активних порушень;</li> <li> запит повідомлень конкретного архіву на глибину, вказану параметром "Глибина примуÑового Ð¿ÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ñторії резерву при запуÑку", та по Ñ‡Ð°Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ запиту, тобто коли нові активні Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð½Ð°Ð¿ÐµÐ²Ð½Ðµ не з'ÑвлÑÑ‚ÑŒÑÑ;</li> <li> перехід у нормальний режим відÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… повідомлень та порушень через архів.</li></ol></dd></dl> <ul><li> <b>Розподіл Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð· архівації між вузлами</b>. При Ñтворені Ñкладних розподілених ÑиÑтем може виÑвитиÑÑ Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¸Ð¼ Ð¿Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ð½Ð¾Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° оптимізації загальної продуктивноÑÑ‚Ñ– ÑиÑтеми з урахуваннÑм Ñкого механізм Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡Ð°Ñ” Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ архівації окремих архіваторів тільки на одній Ñтанції. При цьому Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñ–Ð½ÑˆÐ¸Ñ… Ñтанцій переходÑÑ‚ÑŒ у режим Ñинхронізації даних з виконувальною Ñтанцією. У випадку втрати зв'Ñзку з виконувальною Ñтанцією запуÑкаєтьÑÑ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— архівації. Передбачено також можливіÑÑ‚ÑŒ оптимального розподілу Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ архівації групи архівів між ÑтанціÑми.</li> <li> <b>Ð’Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€Ð²Ð¸Ð½Ð½Ð¾ÑÑ‚Ñ– порушень</b>. Ð”Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ про порушеннÑ, негативний рівень, при запиÑу здійÑнюєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð° обробка щодо активних порушень, а Ñаме — забезпечуєтьÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ Ñтарими-оригінальними.</li></ul> <p>Ð ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñ–Ð² значень не надаєтьÑÑ Ð±ÐµÐ·Ð¿Ð¾Ñередньо через здійÑÐ½ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ процеÑу у джерелах даних та підÑиÑтемі збору даних. </p><p>Вкладка "РезервуваннÑ" (РиÑ.4.6a) доÑтупна тільки Ñкщо у резерві вказано хоча-б одну Ñтанцію (РиÑ.4c) та міÑтить конфігурацію Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñ–Ð² повідомлень підÑиÑтеми "Ðрхіви-ІÑторіÑ", у Ñкладі налаштувань: </p> <ul><li> <i>Глибина примуÑового Ð¿ÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ñторії резерву при запуÑку</i> — вказує на глибину, у добах, запиту повідомлень у резервної Ñтанції від чаÑу оÑтаннього Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ локальному архіві. Інколи може бути кориÑним Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¾Ñтанніх повідомлень Ñкщо вони потенційно можуть змінитиÑÑ-доповнитиÑÑ Ð½Ð° резервній Ñтанції при проÑтої локальної.</li> <li> <i>Ðрхіватори повідомлень</i> — міÑтить таблицю з переліком архіваторів повідомлень доÑтупних Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° поточний Ñ—Ñ… Ñтан: <ul><li> <i>Ðрхіватор</i> — повний ідентифікатор архіватору повідомлень;</li> <li> <i>Ім'Ñ</i> — ім'Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ;</li> <li> <i>ВиконуєтьÑÑ</i> — ознака Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ локальною Ñтанцією;</li> <li> <i>РезервуваннÑ</i> — режим Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ — включеннÑ;</li> <li> <i>Ð£Ð¿Ð¾Ð´Ð¾Ð±Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ</i> — ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑƒÐ¿Ð¾Ð´Ð¾Ð±Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° вказаній Ñтанції; зарезервовані Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·ÑƒÑŽÑ‚ÑŒ на: <ul><li> <b><ВиÑокий рівень></b> — Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° Ñтанції з Ñамим виÑоким рівнем.</li> <li> <b><Ðизький рівень></b> — Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° Ñтанції з Ñамим низьким рівнем.</li> <li> <b><Оптимально></b> — Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð°Ð¹Ð¼ÐµÐ½Ñˆ навантаженої Ñтанції — Ñтанції Ñка виконує найменшу кількіÑÑ‚ÑŒ об'єктів архіваторів.</li></ul></li> <li> <i>Віддалений</i> — ознака, що вказує на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ віддаленою Ñтанцією та роботу локальної Ñтанції у режимі Ñинхронізації даних з віддаленої.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:947px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_red_uk.png"><img class="thumbimage" height="474" src="files/QTCfg_subsys_arch_red_uk.png" width="945" /></a> <div class="thumbcaption">РиÑ. 4.6a. Вкладка "РезервуваннÑ" підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Вкладка "ПовідомленнÑ" (РиÑ.4.6b) міÑтить конфігурацію архіву повідомлень та форму запиту повідомлень з нього. </p><p>Конфігурацію архіву повідомлень предÑтавлено полÑми: </p> <ul><li> <i>Розмір буферу, період архівації</i> — вказує розмір проÑтору оперативної пам'ÑÑ‚Ñ–, зарезервованої на проміжний буфер повідомлень. ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· буферу запитуютьÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду та архівуютьÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ повідомлень із визначеною у Ñекундах періодичніÑÑ‚ÑŽ.</li> <li> <i>Діб автоматичного Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½ÑŒ</i> — піÑÐ»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ терміну Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð²Ð²Ð°Ð¶Ð°ÑŽÑ‚ÑŒÑÑ Ð·Ð°Ð±ÑƒÑ‚Ð¸Ð¼Ð¸ та неактуальними, відтак видалÑÑŽÑ‚ÑŒÑÑ Ñ–Ð· таблиці активних порушень. Ðуль вимикає автоматичне очищеннÑ.</li></ul> <p>Форма запиту повідомлень міÑтить конфігураційні Ð¿Ð¾Ð»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ та таблицю результату. Конфігураційні Ð¿Ð¾Ð»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ: </p> <ul><li> <i>ЧаÑ, глибина Ñ– рівень</i> — вказує чаÑ, глибину Ñ– мінімальний рівень повідомлень (більш або рівний) запиту.</li> <li> <i>Шаблон категорії</i> — вказує категорію запитуваних повідомлень. У категорії можна вказувати елементи вибірки за шаблоном, а Ñаме Ñимволи "*" — Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ Ñкого підрÑдка та "?" — Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ Ñкого Ñимволу, а також регулÑрний вираз заключений між Ñимволами '/' (/mod_(System|LogicLev)/).</li> <li> <i>Ðрхіватори</i> — Вказує архіватори повідомлень, поділені Ñимволом ';', Ð´Ð»Ñ Ñких оброблÑти запит. Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñутнє то запит буде оброблено Ð´Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ñƒ та вÑÑ–Ñ… архіваторів. Якщо вказано "<buffer>" то запит буде оброблено Ð´Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ñƒ повідомлень.</li></ul> <p>Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ міÑтить Ñ€Ñдки повідомлень у Ñтовпчиках: </p> <ul><li> <i>ЧаÑ</i>, <i>мкÑ</i> — повна дата та Ñ‡Ð°Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ, а також мікроÑекундна чаÑтина, окремо.</li> <li> <i>КатегоріÑ</i> — ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ.</li> <li> <i>Рівень</i> — рівень повідомленнÑ.</li> <li> <i>ПовідомленнÑ</i> — безпоÑередньо текÑÑ‚ повідомленнÑ.</li></ul> <p>Ð”Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ порушень, піÑÐ»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– з'ÑвлÑєтьÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ° Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— таблиці щодо видимих порушень, що кориÑно Ð´Ð»Ñ ÑервіÑних функцій. Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ‚Ð°ÐºÐ¾Ð¶ доповнюєтьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ "Видалити" Ð´Ð»Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ñ… порушень. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:969px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mess_uk.png"><img class="thumbimage" height="779" src="files/QTCfg_subsys_arch_mess_uk.png" width="967" /></a> <div class="thumbcaption">РиÑ. 4.6b. Вкладка "ПовідомленнÑ" підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Вкладка "ЗначеннÑ" (РиÑ.4.6c) міÑтить загальну конфігурацію Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ та перелік архівів значень. У контекÑтному меню переліку значень кориÑтувачу надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° переходу до потрібного архіву. Загальну конфігурацію Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€ÐµÐ´Ñтавлено полÑми: </p> <ul><li> <i>Період Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…</i> — вказує на періодичніÑÑ‚ÑŒ задачі активного архівуваннÑ, у міліÑекундах. МакÑимальна Ð´ÐµÑ‚Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð°Ð±Ð¾ мінімальний період активних архівів фактично визначаєтьÑÑ Ñ†Ð¸Ð¼ значеннÑм.</li> <li> <i>Рівень пріоритету задачі Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…</i> — вÑтановлює пріоритет задачі активного архівуваннÑ. ВикориÑтовуєтьÑÑ Ð¿Ñ€Ð¸ плануванні задач операційною ÑиÑтемою. У випадку наÑвноÑÑ‚Ñ– доÑтупу це поле включає Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð´Ð°Ñ‡Ñ– архівації у режимі реального чаÑу та з визначеним пріоритетом інакше модифікує параметр "nice" задачі.</li> <li> <i>ПримуÑово вÑтановлювати мітку чаÑу у поточний чаÑ</i> — мітка чаÑу отриманих при активній архівації значень примуÑово вÑтановлюєтьÑÑ Ñƒ поточний чаÑ, замінюючи Ñ‡Ð°Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° даних.</li> <li> <i>Режим Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ID атрибуту автоматично Ñтворюваних архівів</i> — режим Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ñƒ при обранні Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ вкладці "ÐрхівуваннÑ" DAQ-параметрів.</li> <li> <i>КількіÑÑ‚ÑŒ</i> — деталізована кількіÑÑ‚ÑŒ архівів значень із загальною ÑтатиÑтикою щодо них: увімкнено, без джерела (паÑивне), помилка (відÑутнє джерело), втрачене (порожнє Ñховище), подвійних поÑилань.</li> <li> <i>Ðрхіви значень</i> — Ñам перелік архівів значень.</li> <li> <i>Видалити уÑе ...</i> — групові операції Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÑƒÑього без джерела - паÑивні, із помилкою джерела - джерело відÑутнє, втрачені архіви - Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ Ñховище, подвійних поÑилань.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:875px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_val_uk.png"><img class="thumbimage" height="724" src="files/QTCfg_subsys_arch_val_uk.png" width="873" /></a> <div class="thumbcaption">РиÑ. 4.6c. Вкладка "ЗначеннÑ" підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Вкладка "Модулі" (РиÑ.4.1b) міÑтить перелік модулів підÑиÑтеми "Ðрхіви-ІÑторіÑ" та ідентична Ð´Ð»Ñ Ð²ÑÑ–Ñ… модульних підÑиÑтем. </p><p>Ðрхів значень підÑиÑтеми "Ðрхіви-ІÑторіÑ" надає конфігураційну Ñторінку з вкладками "Ðрхів", "Ðрхіватори" та "ЗначеннÑ". </p><p>Вкладка "Ðрхів" (РиÑ.4.6d) міÑтить оÑновні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ у Ñкладі: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ– що характеризують Ñтан архіву: <ul><li> <i>ВиконуєтьÑÑ</i> — Ñтан архіву "ВиконуєтьÑÑ". Ðрхів що виконуєтьÑÑ Ð·Ð±Ð¸Ñ€Ð°Ñ” дані у буфер та обÑлуговуєтьÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸.</li> <li> <i>Початок та кінець буферу</i> — дата та Ñ‡Ð°Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ та ÐºÑ–Ð½Ñ†Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ у буфері.</li> <li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… архіву, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð².</li></ul></li> <li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—: <ul><li> <i>Ідентифікатор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ідентифікатор архіву.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ та його призначеннÑ.</li> <li> <i>ЗапуÑкати</i> — вказує на Ñтан "ВиконуєтьÑÑ" у Ñкий переводити архів при запуÑку програми.</li> <li> <i>Джерело</i> — вказує на тип та адреÑу джерела. Тип джерела визначаєтьÑÑ Ð· переліку: "ПаÑивний", "DAQ Ðтрибут" або "Ðктивний DAQ Ðтрибут (ЗÐСТÐРІЛЕ)". ПаÑивний архів не має аÑоційованого джерела значень, а дані до такого архіву передаютьÑÑ Ð´Ð¶ÐµÑ€ÐµÐ»Ð¾Ð¼ ÑамоÑтійно, наприклад, з кориÑтувацьких обчиÑлювальних процедур за поÑередництвом внутрішньої мови програмуваннÑ. Типи з атрибутом параметру у полі адреÑи вказують на атрибут параметра підÑиÑтеми "Збір даних" Ñк джерело. ОÑновний атрибут параметру ÑпрÑмовує дані до архіву ÑамоÑтійно з влаÑним періодом збору даних. Ðктивний атрибут параметру опитуєтьÑÑ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñм Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— підÑиÑтеми. Ð’ÑÑ– джерела реальних даних працюють у оÑновному режимі Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñкільки отримані дані одразу поміщаютьÑÑ Ð´Ð¾ атрибуту параметра, інколи за міткою чаÑу джерела. ОбчиÑлювачі (<a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">DAQ.JavaLikeCalc</a>, <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">DAQ.LogicLev</a>, <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">DAQ.BlockCalc</a>, <a href="Modules/Siemens.html" title="Special:MyLanguage/Modules/Siemens">DAQ.Siemens</a>, <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">DAQ.OPC_UA</a>) також працюють зараз у оÑновному режимі Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° раніше викориÑтовували активний режим архівації оÑкільки дані у атрибуті параметру оновлювалиÑÑ Ð»Ð¸ÑˆÐµ при Ñ—Ñ… безпоÑередньому запиті та бралиÑÑ Ñ–Ð· контекÑту обчиÑленнÑ. У випадку з джерелами реальних даних, Ñ€Ñ–Ð·Ð½Ð¸Ñ†Ñ Ð¼Ñ–Ð¶ активним та оÑновним режимом Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑÑ Ñ‚Ð¸Ð¼, що у оÑновному режимі джерело може поміщати дані до архіву за міткою чаÑу, а у активному режимі мітка чаÑу завжди вÑтановлюєтьÑÑ Ñƒ поточний ÑиÑтемний чаÑ.</li> <li> <i>Режим об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…</i> — вÑтановлює режим об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… при запиÑу з буферу виÑокої роздільної здатноÑÑ‚Ñ– (наприклад, 1 Ñекунда) у архіватор низької роздільної здатноÑÑ‚Ñ– (наприклад, 1 хвилина), коли у одну точку архіватора потраплÑÑ” декілька значень з буферу (наприклад, 60). Реалізовано режими: "Ковзне Ñереднє", "Один", "Мінімум" та "МакÑимум".</li> <li> <i>Тип значень</i> — вказує на тип значень, що зберігаютьÑÑ Ñƒ архіві, з переліку: "Логічний", "Цілий", "Реальний", "Ð Ñдок", "Ціле16", "Ціле32", "Ціле64", "Реальне(Float)" та "Реальне(Double).</li> <li> <i>Період буферу</i> — вказує на періодичніÑÑ‚ÑŒ значень у буфері архіву, у Ñекундах.</li> <li> <i>Розмір буферу</i> — вказує розмірніÑÑ‚ÑŒ або глибину буферу архіву, у одиницÑÑ…. РозмірніÑÑ‚ÑŒ автоматично вÑтановлюєтьÑÑ Ð· розрахунку на 60 Ñек періодичноÑÑ‚Ñ– задачі архівуваннÑ, із залишком.</li> <li> <i>ЖорÑтка Ñітка чаÑу буферу</i> — вказує на режим буферу. Режим жорÑткої Ñітки передбачає Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼'ÑÑ‚Ñ– під кожне значеннÑ, але без мітки чаÑу. Такий режим виключає можливіÑÑ‚ÑŒ Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñуміжно-однакових значень, але заощаджує на зберіганні мітки чаÑу. Інакше буфер працює у режимі Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ у мітці чаÑу та підтримує Ð¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð½Ñ Ñуміжно-однакових значень.</li> <li> <i>ВиÑока роздільна здатніÑÑ‚ÑŒ чаÑу буферу</i> — вказує на можливіÑÑ‚ÑŒ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ з періодичніÑÑ‚ÑŽ та роздільною здатніÑÑ‚ÑŽ до 1 мікроÑекунди, інакше Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ зберігатиÑÑ Ð· періодичніÑÑ‚ÑŽ та роздільною здатніÑÑ‚ÑŽ до 1 Ñекунди.</li> <li> <i>Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ…Ñ–Ð´Ð½Ð¸Ñ… точок оÑтаннім значеннÑм</i> — прохідні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ð°Ð¶Ð½Ð¾ заповнюютьÑÑ EVAL однак інколи періодичніÑÑ‚ÑŒ значень джерела більше за періодичніÑÑ‚ÑŒ цього архіву та це нормально.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:890px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_va_arch_uk.png"><img class="thumbimage" height="720" src="files/QTCfg_subsys_arch_va_arch_uk.png" width="888" /></a> <div class="thumbcaption">РиÑ. 4.6d. ОÑновна вкладка конфігурації архіву значень підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Вкладка "Ðрхіватори" (РиÑ.4.6e) міÑтить таблицю з конфігурацією процеÑу обробки даного архіву доÑтупними архіваторами. У Ñ€Ñдках розташовано доÑтупні архіватори, а у Ñтовпчиках параметри: </p> <ul><li> <i>Ðрхіватор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ адреÑу архіватора.</li> <li> <i>ВиконуєтьÑÑ</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ Ñтан "ВиконуєтьÑÑ" архіватору.</li> <li> <i>Обробка</i> — ознака обробки даного архіву архіватором. Поле доÑтупно Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— кориÑтувачем.</li> <li> <i>Період</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ періодичніÑÑ‚ÑŒ архіватору, у Ñекундах.</li> <li> <i>Початок</i> — дата та Ñ‡Ð°Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ даних архіву у архіваторі.</li> <li> <i>Кінець</i> — дата та Ñ‡Ð°Ñ ÐºÑ–Ð½Ñ†Ñ Ð´Ð°Ð½Ð¸Ñ… архіву у архіваторі.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:865px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_va_arcs_uk.png"><img class="thumbimage" height="621" src="files/QTCfg_subsys_arch_va_arcs_uk.png" width="863" /></a> <div class="thumbcaption">РиÑ. 4.6e. Вкладка "Ðрхіватори" архіву значень підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Вкладка "ЗначеннÑ" (РиÑ.4.6f) міÑтить запит значень у архіві та результат у виглÑді таблиці значень або Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ñ€ÐµÐ½Ð´Ñƒ. Запит значень міÑить полÑ: </p> <ul><li> <i>ЧаÑ</i> — вказує дату та Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ. МіÑтить два полÑ: поле дата+Ñ‡Ð°Ñ Ñ‚Ð° мікроÑекунди.</li> <li> <i>Глибина</i> — вказує глибину запиту.</li> <li> <i>Ðрхіватор</i> — вказує архіватор значень Ð´Ð»Ñ Ñкого оброблÑти запит. Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñутнє то запит буде оброблено Ð´Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ñƒ та вÑÑ–Ñ… архіваторів. Якщо вказано "<buffer>", то запит буде оброблено тільки Ð´Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ñƒ архіву.</li> <li> <i>Показати графік</i> — вказує на необхідніÑÑ‚ÑŒ предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… архіву у виглÑді графіку (тренду) інакше результат надаєтьÑÑ Ñƒ таблиці, що міÑтить тільки Ñ‡Ð°Ñ Ñ‚Ð° значеннÑ. У випадку вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÑ”Ñ‚ÑŒÑÑ Ñ‚Ð° відображаєтьÑÑ Ð³Ñ€Ð°Ñ„Ñ–Ðº, крім того з'ÑвлÑÑŽÑ‚ÑŒÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ– конфігураційні Ð¿Ð¾Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½ÑŒ: <ul><li> <i>Розмір зображеннÑ</i> — вказує ширину та виÑоту Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‰Ð¾ формуєтьÑÑ, у пікÑелÑÑ….</li> <li> <i>Шкала значеннÑ</i> — вказує нижню та верхню границю шкали значень. Якщо обидва Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñтановлено у 0 або дорівнюють то шкала буде визначатиÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ у залежноÑÑ‚Ñ– від значень.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:969px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_va_vals_uk.png"><img class="thumbimage" height="686" src="files/QTCfg_subsys_arch_va_vals_uk.png" width="967" /></a> <div class="thumbcaption">РиÑ. 4.6f. Вкладка "ЗначеннÑ" архіву значень підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Кожний модуль підÑиÑтеми "Ðрхіви-ІÑторіÑ" надає конфігураційну Ñторінку з вкладками "Ðрхіватори" та "Модуль". Вкладка "Ðрхіватори" (РиÑ.4.6g) міÑтить переліки архіваторів повідомлень та значень, зареєÑтрованих у модулі. У контекÑтному меню переліків кориÑтувачу надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ доданнÑ, Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° переходу до потрібного архіватору. Ðа вкладці "Модуль" міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ модуль підÑиÑтеми "Ðрхіви-ІÑторіÑ" (РиÑ.4.1d), Ñклад Ñкої ідентичний Ð´Ð»Ñ Ð²ÑÑ–Ñ… модулів. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:697px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_arcs_uk.png"><img class="thumbimage" height="457" src="files/QTCfg_subsys_arch_mod_arcs_uk.png" width="695" /></a> <div class="thumbcaption">РиÑ. 4.6g. Вкладка "Ðрхіватори" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Ðрхіватори повідомлень міÑÑ‚ÑÑ‚ÑŒ влаÑну Ñторінку конфігурації з вкладками "Ðрхіватор" та "ПовідомленнÑ". </p><p>Вкладка "Ðрхіватор" (РиÑ.4.6h) міÑтить оÑновні налаштуваннÑ. Склад цих налаштувань може дещо відрізнÑтиÑÑ Ð²Ñ–Ð´ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð´Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ†Ñ–Ñ”Ñ— підÑиÑтеми про що можна дізнатиÑÑ Ñƒ влаÑній документації модулів. У ÑкоÑÑ‚Ñ– прикладу розглÑнемо Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ повідомлень у модулі Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° файлову ÑиÑтему <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Arch.FSArch</a>: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ– що характеризують Ñтан архіватору: <ul><li> <i>ВиконуєтьÑÑ</i> — Ñтан архіватору "ВиконуєтьÑÑ". Ðрхіватор що виконуєтьÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÑÑ” буфер архіву повідомлень та поміщає його дані до Ñвого Ñховища, а також обÑлуговує запити на доÑтуп до даних у цьому Ñховищі.</li> <li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… архіватору, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð².</li> <li> <i>Кінець та початок архіватору</i> — дата та Ñ‡Ð°Ñ ÐºÑ–Ð½Ñ†Ñ Ñ‚Ð° початку значень даних у Ñховищі архіватору.</li> <li> <i>Загальний розмір файлів архіватору</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ загальний розмір файлів архіватору з даними.</li> <li> <i>Ð§Ð°Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ</i> — поточний та макÑимальний чаÑ, витрачений на Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… архіву повідомлень.</li></ul></li> <li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—: <ul><li> <i>Ідентифікатор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ідентифікатор архіватору.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ та його призначеннÑ.</li> <li> <i>ЗапуÑкати</i> — вказує на Ñтан "ВиконуєтьÑÑ" у Ñкий переводити архіватор при запуÑку програми.</li> <li> <i>Категорії повідомлень</i> — перелік категорій повідомлень, поділених Ñимволом ';'. ПовідомленнÑ, що потрапили під шаблони або регулÑрні вирази категорій, будуть оброблÑтиÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼. У категорії можна вказати елементи вибірки за шаблоном, а Ñаме Ñимволи '*' — Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ Ñкого підрÑдка та '?' — Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ Ñкого Ñимволу, а також регулÑрний вираз, включений між Ñимволами '/' (/mod_(System|LogicLev)/).</li> <li> <i>Рівень повідомлень</i> — вказує на рівень повідомлень архіватору. ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· рівнем більш або рівним вказаному оброблÑÑŽÑ‚ÑŒÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ — берутьÑÑ Ð· буферу.</li> <li> <i>ÐдреÑа</i> — адреÑа Ñховища у Ñпецифічному Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ архіватору (модулÑ) форматі. ÐžÐ¿Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ запиÑу адреÑи архіватору Ñк правило доÑтупний у Ñпливаючій підказці цього полÑ. У прикладі це відноÑний шлÑÑ… до теки Ñховища.</li></ul></li> <li> Розділ "Додаткові опції" — Ñпеціалізований Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð» з вміÑтом Ñкого можна ознайомитиÑÑ Ñƒ документації на модуль.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:807px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_uk.png"><img class="thumbimage" height="671" src="files/QTCfg_subsys_arch_mod_ma_main_uk.png" width="805" /></a> <div class="thumbcaption">РиÑ. 4.6h. Головна вкладка конфігурації архіватору повідомлень підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Вкладка "ПовідомленнÑ" (РиÑ.4.6i) міÑтить форму запиту повідомлень з архіву даного архіватору: </p> <ul><li> <i>ЧаÑ, глибина Ñ– рівень</i> — вказує дату Ñ– чаÑ, глибину та мінімальний рівень повідомлень (більш або рівний) запиту.</li> <li> <i>Шаблон категорії</i> — вказує категорію запитаних повідомлень. У категорії можна вказувати елементи вибірки за шаблоном, а Ñаме Ñимволи '*' — Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ Ñкого підрÑдка та '?' — Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ Ñкого Ñимволу, а також регулÑрний вираз, заключений між Ñимволами '/' (/mod_(System|LogicLev)/).</li></ul> <p>Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ міÑтить Ñ€Ñдки повідомлень у Ñтовпчиках: </p> <ul><li> <i>ЧаÑ</i>, <i>мкÑ</i> — повна дата та Ñ‡Ð°Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ, а також мікроÑекундна чаÑтина, окремо.</li> <li> <i>КатегоріÑ</i> — ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ.</li> <li> <i>Рівень</i> — рівень повідомленнÑ.</li> <li> <i>ПовідомленнÑ</i> — безпоÑередньо текÑÑ‚ повідомленнÑ.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:969px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_mess_uk.png"><img class="thumbimage" height="686" src="files/QTCfg_subsys_arch_mod_ma_mess_uk.png" width="967" /></a> <div class="thumbcaption">РиÑ. 4.6i. Вкладка запиту повідомлень "ПовідомленнÑ" архіватору повідомлень підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Ðрхіватори значень міÑÑ‚ÑÑ‚ÑŒ влаÑну Ñторінку конфігурації з вкладками "Ðрхіватор" та "Ðрхіви". </p><p>Вкладка "Ðрхіватор" (РиÑ.4.6j) міÑтить оÑновні налаштуваннÑ. Склад цих налаштувань може дещо відрізнÑтиÑÑ Ð²Ñ–Ð´ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð´Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ†Ñ–Ñ”Ñ— підÑиÑтеми про що можна дізнатиÑÑ Ñƒ влаÑній документації модулів. У ÑкоÑÑ‚Ñ– прикладу розглÑнемо Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ значень у модулі Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° файлову ÑиÑтему <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Arch.FSArch</a>: </p> <ul><li> Розділ "Стан" — міÑтить влаÑтивоÑÑ‚Ñ– що характеризують Ñтан архіватору: <ul><li> <i>ВиконуєтьÑÑ</i> — Ñтан архіватору "ВиконуєтьÑÑ". Ðрхіватор що виконуєтьÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð»ÑÑ” буфери архівів значень та поміщає Ñ—Ñ… дані до Ñвого Ñховища, а також обÑлуговує запити на доÑтуп до даних у цьому Ñховищі.</li> <li> <i>Ð§Ð°Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ</i> — поточний та макÑимальний чаÑ, витрачений на Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… буферів архівів. ПеріодичніÑÑ‚ÑŒ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑÑ Ñƒ полі "Період архівуваннÑ" розділу "КонфігураціÑ" цієї вкладки.</li> <li> <i>Сховище</i> — Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… архіватору, з відÑтеженнÑм наÑвноÑÑ‚Ñ– даних у різних Ñховищах та наданнÑм поÑлідовного Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ‚Ñ–Ð².</li> <li> <i>Загальний розмір файлів архіватору</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ загальний розмір файлів архіватору з даними.</li></ul></li> <li> Розділ "КонфігураціÑ" — безпоÑередньо міÑтить Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—: <ul><li> <i>Ідентифікатор</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ідентифікатор архіватору.</li> <li> <i>Ім'Ñ</i> — вказує ім'Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ.</li> <li> <i>ОпиÑ</i> — короткий Ð¾Ð¿Ð¸Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ та його призначеннÑ.</li> <li> <i>ЗапуÑкати</i> — вказує на Ñтан "ВиконуєтьÑÑ" у Ñкий переводити архіватор при запуÑку програми.</li> <li> <i>ÐдреÑа</i> — адреÑа Ñховища у Ñпецифічному Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ архіватору (модулÑ) форматі. ÐžÐ¿Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ запиÑу адреÑи архіватору Ñк правило доÑтупний у Ñпливаючій підказці цього полÑ. У прикладі це відноÑний шлÑÑ… до теки Ñховища.</li> <li> <i>Період значень</i> — вказує періодичніÑÑ‚ÑŒ значень, Ñкі міÑÑ‚ÑÑ‚ÑŒÑÑ Ñƒ Ñховищі архіватору, у Ñекундах.</li> <li> <i>Період архівуваннÑ</i> — вказує періодичніÑÑ‚ÑŒ задачі Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… буферів архівів, у Ñекундах. Розмір буферів архівів, у чаÑовому виразі, має бути не менше, а краще дещо більше, періодичноÑÑ‚Ñ– задачі архівуваннÑ. Ð’Ñтановіть нульовий період Ð´Ð»Ñ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ у обробці буферу — тільки прÑмий запиÑ.</li> <li> <i>Пріоритет обраннÑ</i> — пріоритет Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° "Ð’ÑÑ–". Ð’Ñтановіть у нуль Ð´Ð»Ñ Ð¿Ð¾Ð²Ð½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð· вибору.</li></ul></li> <li> Розділ "Додаткові опції" — Ñпеціалізований Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð» з вміÑтом Ñкого можна ознайомитиÑÑ Ñƒ документації на модуль.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:782px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_va_main_uk.png"><img class="thumbimage" height="671" src="files/QTCfg_subsys_arch_mod_va_main_uk.png" width="780" /></a> <div class="thumbcaption">РиÑ. 4.6j. Головна вкладка конфігурації архіватору значень підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <p>Вкладка "Ðрхіви" (РиÑ.4.6k) міÑтить таблицю з інформацією про архіви, що оброблÑÑŽÑ‚ÑŒÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼. Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñƒ Ñ€Ñдках міÑтить архіви, а у Ñтовпчиках інформацію: </p> <ul><li> <i>Ðрхів</i> — ім'Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ.</li> <li> <i>Період, Ñекунд</i> — періодичніÑÑ‚ÑŒ архіву.</li> <li> <i>Розмір буферу</i> — розмір буферу, у одиницÑÑ….</li> <li> <i>ОÑтаннє Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð±ÑƒÑ„ÐµÑ€Ñƒ</i> — дата та Ñ‡Ð°Ñ Ð¾Ñтаннього Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… з буферу.</li> <li> <i>Розмір файлів</i> — Ñпецифічне до Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Arch.FSArch</a> поле з інформацією про Ñумарний розмір файлів Ñховища архіватору Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ.</li></ul> <p>У випадку з модулем <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Arch.FSArch</a> у цій вкладці ще міÑтитьÑÑ Ñ„Ð¾Ñ€Ð¼Ð° екÑпорту даних архіватору. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:929px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_va_archs_uk.png"><img class="thumbimage" height="532" src="files/QTCfg_subsys_arch_mod_va_archs_uk.png" width="927" /></a> <div class="thumbcaption">РиÑ. 4.6k. Вкладка "Ðрхіви" архіватору значень підÑиÑтеми "Ðрхіви-ІÑторіÑ".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.9A.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.86.D1.8C.D0.BA.D1.96_.D1.96.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B8.22"><span class="mw-headline-number">4.7</span> ПідÑиÑтема "КориÑтувацькі інтерфейÑи"</span></h3> <p>ПідÑиÑтема Ñ” модульною. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми передбачено кореневу Ñторінку підÑиÑтеми "КориÑтувацькі інтерфейÑи", Ñка міÑтить вкладку "ПідÑиÑтема" та вкладку "Модулі". Вкладка "ПідÑиÑтема" (РиÑ.4.7a) наразі міÑтить лише конфігураційне поле вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ñƒ підÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ ÑинтакÑиÑу коду. Вкладка "Модулі" (РиÑ.4.1b) міÑтить перелік модулів підÑиÑтеми "Спеціальні" та ідентична Ð´Ð»Ñ Ð²ÑÑ–Ñ… модульних підÑиÑтем. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:685px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_ui_uk.png"><img class="thumbimage" height="404" src="files/QTCfg_subsys_ui_uk.png" width="683" /></a> <div class="thumbcaption">Fig. 4.7a. Вкладка "ПідÑиÑтема" кореневої Ñторінки "КориÑтувацькі інтерфейÑи".</div></div></div></div> <p>Кожний модуль підÑиÑтеми "КориÑтувацькі інтерфейÑи" надає конфігураційну Ñторінку з вкладками "КориÑтувацький інтерфейÑ" та "Модуль". Вкладка "КориÑтувацький інтерфейÑ" (РиÑ.4.7b) надає параметр Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ за Ñтаном "ВиконуєтьÑÑ" модулÑ, а також розділи конфігурації, Ñпеціалізовані Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð² цієї підÑиÑтеми. У вкладці "Модуль" міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ модуль підÑиÑтеми "КориÑтувацькі інтерфейÑи" (РиÑ.4.1d), Ñклад Ñкої ідентичний Ð´Ð»Ñ Ð²ÑÑ–Ñ… модулів. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:842px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_ui_mod_uk.png"><img class="thumbimage" height="544" src="files/QTCfg_subsys_ui_mod_uk.png" width="840" /></a> <div class="thumbcaption">РиÑ. 4.7b. Вкладка "КориÑтувацький інтерфейÑ" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "КориÑтувацькі інтерфейÑи".</div></div></div></div> <p>У зв'Ñзку з тим, що більшіÑÑ‚ÑŒ модулів цієї підÑиÑтеми Ñ” графічними інтерфейÑами то вони Ñамі можуть надавати розвинутий Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ, Ñк то модуль <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">UI.Vision</a>, а інформацію про Ñпецифіку Ñ—Ñ… конфігурації можна знайти у влаÑній документації цих модулів. </p> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.BF.D0.B5.D1.86.D1.96.D0.B0.D0.BB.D1.8C.D0.BD.D1.96.22"><span class="mw-headline-number">4.8</span> ПідÑиÑтема "Спеціальні"</span></h3> <p>ПідÑиÑтема Ñ” модульною. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми передбачено кореневу Ñторінку підÑиÑтеми "Спеціальні", що міÑтить вкладку "Модулі". Вкладка "Модулі" (РиÑ.4.1b) міÑтить перелік модулів підÑиÑтеми "Спеціальні" та ідентична Ð´Ð»Ñ Ð²ÑÑ–Ñ… модульних підÑиÑтем. </p><p>Кожний модуль підÑиÑтеми "Спеціальні" надає конфігураційну Ñторінку з вкладками "Спеціальний" та "Модуль". Вкладка "Спеціальний" (РиÑ.4.8) надає параметр Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ за Ñтаном "ВиконуєтьÑÑ" модулÑ, а також розділи конфігурації, Ñпеціалізовані Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð² цієї підÑиÑтеми. У вкладці "Модуль" міÑтитьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ модуль підÑиÑтеми "Спеціальні" (РиÑ.4.1d), Ñклад Ñкої ідентичний Ð´Ð»Ñ Ð²ÑÑ–Ñ… модулів. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:684px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_spec_mod_uk.png"><img class="thumbimage" height="490" src="files/QTCfg_subsys_spec_mod_uk.png" width="682" /></a> <div class="thumbcaption">РиÑ. 4.8. Вкладка "Спеціальний" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "Спеціальні".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.94.D0.B8.D1.81.D0.BF.D0.B5.D1.82.D1.87.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.96.D0.B2.22"><span class="mw-headline-number">4.9</span> <span id="CfgModSched" title="#CfgModSched">ПідÑиÑтема "ДиÑпетчер модулів"</span></span></h3> <p>ПідÑиÑтема не Ñ” модульною. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— підÑиÑтеми "ДиÑпетчер модулів" передбачено Ñторінку підÑиÑтеми, що міÑтить вкладку "ПідÑиÑтема". Вкладка "ПідÑиÑтема" (РиÑ.4.9) міÑтить оÑновні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´ÑиÑтеми у Ñкладі: </p> <ul><li> <i>ШлÑÑ… до поділюваних бібліотек(модулів)</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÐ¸ з модулÑми OpenSCADA. Ð’ÑтановлюєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <i>ModDir</i> конфігураційного файлу Ñтанції.</li> <li> <i>Заборонені модулі</i> — перелік модулів, поділений Ñимволом ';', заборонених до автоматичного Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° оновленнÑ. Ð’ÑтановлюєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <i>ModDeny</i> розділу підÑиÑтеми "sub_ModSched" конфігураційного файлу Ñтанції. Перелік заборонених модулів має більший пріоритет ніж дозволених.</li> <li> <i>Дозволені модулі</i> — перелік модулів, поділених Ñимволом ';', дозволених до автоматичного Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° оновленнÑ. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ '*' викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»Ñƒ вÑÑ–Ñ… модулів. Ð’ÑтановлюєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <i>ModAllow</i> розділу підÑиÑтеми "sub_ModSched" конфігураційного файлу Ñтанції.</li> <li> <i>Період перевірки модулів</i> — вказує на період перевірки модулів на факт Ñ—Ñ… оновленнÑ, у Ñекундах. Модулі, дозволені до автоматичного Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° оновленнÑ, будуть автоматично оновлені.</li> <li> <i>Перевірити модулі зараз</i> — команда виконати перевірку модулів на факт Ñ—Ñ… оновленнÑ. Модулі, допуÑтимі Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° оновленнÑ, будуть автоматично оновлені.</li> <li> <i>Поділювані бібліотеки (модулі)</i> — Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð· переліком поділюваних бібліотек з модулÑми, що виÑвлені OpenSCADA. У Ñ€Ñдках розташовано модулі, а у Ñтовпчиках інформацію про них: <ul><li> <i>Джерело</i> — джерело модулÑ(ів), Ñке або поділювана бібліотека або вбудований код.</li> <li> <i>ЧаÑ</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ дату та Ñ‡Ð°Ñ Ð¾Ñтанньої модифікації файлу поділюваної бібліотеки.</li> <li> <i>Модулі</i> — Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ перелік модулів у поділюваній бібліотеці.</li> <li> <i>Ввімкнено</i> — Ñтан "Ввімкнено" поділюваної бібліотеки. Привілейованим кориÑтувачам надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŒ ручного включеннÑ/Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð´Ñ–Ð»ÑŽÐ²Ð°Ð½Ð¸Ñ… бібліотек шлÑхом зміни цього полÑ.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1070px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_modshed_uk.png"><img class="thumbimage" height="624" src="files/QTCfg_subsys_modshed_uk.png" width="1068" /></a> <div class="thumbcaption">РиÑ. 4.9. Головна вкладка конфігурації підÑиÑтеми "ДиÑпетчер модулів".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D0.B9.D0.BD.D0.B8.D0.B9_.D0.A4.D0.B0.D0.B9.D0.BB_.D1.82.D0.B0_.D0.BF.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D0.B8_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.BD.D0.BE.D0.B3.D0.BE_.D1.80.D1.8F.D0.B4.D0.BA.D1.83"><span class="mw-headline-number">4.10</span> <span id="CfgFilePrm" title="#CfgFilePrm">Конфігураційний Файл та параметри командного Ñ€Ñдку</span></span></h3> <p>Конфігураційний Файл OpenSCADA призначено Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð¾Ñновної конфігурації Ñтанції OpenSCADA. Лише у Конфігураційному Файлі та через параметри командного Ñ€Ñдка можна вказати чаÑтину ключових параметрів Ñтанції, тому знайомÑтво зі Ñтруктурою Конфігураційного Файлу необхідне фахівцÑм, що розгортають Ñпецифічні Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð½Ð° оÑнові OpenSCADA. Більше інформації із запуÑку та Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ OpenSCADA може бути знайдено у Ñекції "<a href="#Startup">ЗапуÑк та виконаннÑ</a>". </p> <div class="mw-collapsible mw-collapsed"> <p>Структурно Конфігураційний Файл організовано на розширювальній мові розмітки текÑту XML. Відповідно вимагаєтьÑÑ Ñуворе Ð´Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» ÑинтакÑиÑу XML. Показовий приклад Конфігураційного Файлу OpenSCADA з прикладами конфігурації більшоÑÑ‚Ñ– компонентів OpenSCADA, наведено ... </p> <div class="mw-collapsible-content mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp"><?xml version='1.0' encoding='UTF-8' ?></span> <span class="nt"><OpenSCADA></span> <span class="c"><!--</span> <span class="c"> This is the OpenSCADA configuration file.</span> <span class="c"> --></span> <span class="nt"><station</span> <span class="na">id=</span><span class="s">"SimulatorStation"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> Description of the internal parameters of the station.</span> <span class="c"> The station is the OpenSCADA program.</span> <span class="c"> --></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StName"</span><span class="nt">></span>AGLKS<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"WorkDB"</span><span class="nt">></span>SQLite.GenDB<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"LogTarget"</span><span class="nt">></span>10<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"LangBase"</span><span class="nt">></span>en_US.UTF-8;uk_UA.UTF-8;ru_RU.UTF-8<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SaveAtExit"</span><span class="nt">></span>0<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SavePeriod"</span><span class="nt">></span>0<span class="nt"></prm></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_BD"</span><span class="nt">></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"DB"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">ID=</span><span class="s">"GenDB"</span> <span class="na">TYPE=</span><span class="s">"SQLite"</span> <span class="na">NAME=</span><span class="s">"Generic DB"</span> <span class="na">NAME_uk=</span><span class="s">"ОÑновна БД"</span> <span class="na">NAME_ru=</span><span class="s">"ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð‘Ð”"</span> <span class="na">ADDR=</span><span class="s">"St.db"</span> <span class="na">CODEPAGE=</span><span class="s">"UTF-8"</span> <span class="nt">/></span> <span class="nt"></tbl></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Security"</span><span class="nt">></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"Security_user"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"roman"</span> <span class="na">DESCR=</span><span class="s">"Roman Savochenko"</span> <span class="na">PASS=</span><span class="s">"$1$roman$wleNCf/uyA84cGpBn5QuG."</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"root"</span> <span class="na">DESCR=</span><span class="s">"Administrator (superuser)!!!"</span> <span class="na">DESCR_uk=</span><span class="s">"Супер кориÑтувач"</span> <span class="na">DESCR_ru=</span><span class="s">"Супер пользователь"</span> <span class="na">PASS=</span><span class="s">"$1$root$lCn57dP9yzkCIAyrwJ24r1"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"test"</span> <span class="na">DESCR=</span><span class="s">"Test user"</span> <span class="na">PASS=</span><span class="s">"$1$test$pi/xDtU5WFVRqYS6BMU8X/"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"user"</span> <span class="na">DESCR=</span><span class="s">"Simple user"</span> <span class="na">DESCR_uk=</span><span class="s">"Звичайний кориÑтувач"</span> <span class="na">DESCR_ru=</span><span class="s">"ПроÑтой пользователь"</span> <span class="na">PASS=</span><span class="s">"$1$user$k8sntSoh7jhsc6lwspjsU."</span> <span class="nt">/></span> <span class="nt"></tbl></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"Security_grp"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Archive"</span> <span class="na">DESCR=</span><span class="s">"Archives-History"</span> <span class="na">DESCR_uk=</span><span class="s">"Ðрхіви-ІÑторіÑ"</span> <span class="na">DESCR_ru=</span><span class="s">"Ðрхивы-ИÑториÑ"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"BD"</span> <span class="na">DESCR=</span><span class="s">"Databases"</span> <span class="na">DESCR_uk=</span><span class="s">"Бази даних"</span> <span class="na">DESCR_ru=</span><span class="s">"Базы данных"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"DAQ"</span> <span class="na">DESCR=</span><span class="s">"Data acquisition"</span> <span class="na">DESCR_uk=</span><span class="s">"Збір даних"</span> <span class="na">DESCR_ru=</span><span class="s">"Сбор данных"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"ModSched"</span> <span class="na">DESCR=</span><span class="s">"Modules scheduler"</span> <span class="na">DESCR_uk=</span><span class="s">"ДиÑпетчер модулів"</span> <span class="na">DESCR_ru=</span><span class="s">"ДиÑпетчер модулей"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Protocol"</span> <span class="na">DESCR=</span><span class="s">"Transport protocols"</span> <span class="na">DESCR_uk=</span><span class="s">"ТранÑпортні протоколи"</span> <span class="na">DESCR_ru=</span><span class="s">"ТранÑпортные протоколы"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Security"</span> <span class="na">DESCR=</span><span class="s">"Security"</span> <span class="na">DESCR_uk=</span><span class="s">"Безпека"</span> <span class="na">DESCR_ru=</span><span class="s">"БезопаÑноÑÑ‚ÑŒ"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Special"</span> <span class="na">DESCR=</span><span class="s">"Specials"</span> <span class="na">DESCR_uk=</span><span class="s">"Спеціальні"</span> <span class="na">DESCR_ru=</span><span class="s">"Специальные"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Transport"</span> <span class="na">DESCR=</span><span class="s">"Transports"</span> <span class="na">DESCR_uk=</span><span class="s">"ТранÑпорти"</span> <span class="na">DESCR_ru=</span><span class="s">"ТранÑпорты"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"UI"</span> <span class="na">DESCR=</span><span class="s">"User Interfaces"</span> <span class="na">DESCR_uk=</span><span class="s">"ІнтерфейÑи кориÑтувача"</span> <span class="na">DESCR_ru=</span><span class="s">"ИнтерфейÑÑ‹ пользователÑ"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"root"</span> <span class="na">DESCR=</span><span class="s">"Administartors group"</span> <span class="na">DESCR_uk=</span><span class="s">"Група адмініÑтраторів"</span> <span class="na">DESCR_ru=</span><span class="s">"Группа админиÑтраторов"</span> <span class="na">USERS=</span><span class="s">"roman;"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"users"</span> <span class="na">DESCR=</span><span class="s">"Users group"</span> <span class="na">DESCR_uk=</span><span class="s">"Група кориÑтувачів"</span> <span class="na">DESCR_ru=</span><span class="s">"Группа пользователей"</span> <span class="na">USERS=</span><span class="s">"test;user;"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"ITW"</span> <span class="na">DESCR=</span><span class="s">"IT worker"</span> <span class="na">DESCR_uk=</span><span class="s">"Робітник IT"</span> <span class="na">DESCR_ru=</span><span class="s">"Работник IT"</span> <span class="na">LONGDESCR=</span><span class="s">"Information Technology or service worker."</span> <span class="na">LONGDESCR_uk=</span><span class="s">"Робітник Інформаційних Технологій та ÑервіÑу."</span> <span class="na">LONGDESCR_ru=</span><span class="s">"Работник Информационных Технологий и ÑервиÑа."</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"op"</span> <span class="na">DESCR=</span><span class="s">"Operator"</span> <span class="na">DESCR_uk=</span><span class="s">"Оператор"</span> <span class="na">DESCR_ru=</span><span class="s">"Оператор"</span> <span class="nt">/></span> <span class="nt"></tbl></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_ModSched"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ModAllow"</span><span class="nt">></span>*<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ModDeny"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ChkPer"</span><span class="nt">></span>0<span class="nt"></prm></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Transport"</span><span class="nt">></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"ExtTansp"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">OP_USER=</span><span class="s">"roman"</span> <span class="na">ID=</span><span class="s">"loop"</span> <span class="na">NAME=</span><span class="s">"Loop"</span> <span class="na">NAME_uk=</span><span class="s">"ПетлÑ"</span> <span class="na">NAME_ru=</span><span class="s">"ПетлÑ"</span> <span class="na">TRANSP=</span><span class="s">"Sockets"</span> <span class="na">ADDR=</span><span class="s">"TCP:localhost:10005"</span> <span class="na">USER=</span><span class="s">"roman"</span> <span class="na">PASS=</span><span class="s">"roman"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">OP_USER=</span><span class="s">"*"</span> <span class="na">ID=</span><span class="s">"loop"</span> <span class="na">NAME=</span><span class="s">"Loop"</span> <span class="na">NAME_uk=</span><span class="s">"ПетлÑ"</span> <span class="na">NAME_ru=</span><span class="s">"ПетлÑ"</span> <span class="na">TRANSP=</span><span class="s">"Sockets"</span> <span class="na">ADDR=</span><span class="s">"TCP:localhost:10005"</span> <span class="na">USER=</span><span class="s">"roman"</span> <span class="na">PASS=</span><span class="s">"roman"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">OP_USER=</span><span class="s">"roman"</span> <span class="na">ID=</span><span class="s">"loopSSL"</span> <span class="na">NAME=</span><span class="s">"Loop SSL"</span> <span class="na">NAME_uk=</span><span class="s">"ÐŸÐµÑ‚Ð»Ñ SSL"</span> <span class="na">NAME_ru=</span><span class="s">"ÐŸÐµÑ‚Ð»Ñ SSL"</span> <span class="na">TRANSP=</span><span class="s">"SSL"</span> <span class="na">ADDR=</span><span class="s">"localhost:10045"</span> <span class="na">USER=</span><span class="s">"roman"</span> <span class="na">PASS=</span><span class="s">"roman"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">OP_USER=</span><span class="s">"*"</span> <span class="na">ID=</span><span class="s">"loopSSL"</span> <span class="na">NAME=</span><span class="s">"Loop SSL"</span> <span class="na">NAME_uk=</span><span class="s">"ÐŸÐµÑ‚Ð»Ñ SSL"</span> <span class="na">NAME_ru=</span><span class="s">"ÐŸÐµÑ‚Ð»Ñ SSL"</span> <span class="na">TRANSP=</span><span class="s">"SSL"</span> <span class="na">ADDR=</span><span class="s">"localhost:10045"</span> <span class="na">USER=</span><span class="s">"roman"</span> <span class="na">PASS=</span><span class="s">"roman"</span> <span class="nt">/></span> <span class="nt"></tbl></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"Transport_in"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">ID=</span><span class="s">"Self"</span> <span class="na">MODULE=</span><span class="s">"Sockets"</span> <span class="na">NAME=</span><span class="s">"Self system"</span> <span class="na">DESCRIPT=</span><span class="s">"Main transport of OpenSCADA self protocol."</span> <span class="na">DESCRIPT_uk=</span><span class="s">"ОÑновний транÑпорт влаÑного протоколу OpenSCADA."</span> <span class="na">DESCRIPT_ru=</span><span class="s">"ОÑновной транÑпорт ÑобÑтвенного протокола OpenSCADA."</span> <span class="na">ADDR=</span><span class="s">"TCP::10005:1"</span> <span class="na">PROT=</span><span class="s">"SelfSystem"</span> <span class="na">START=</span><span class="s">"1"</span><span class="nt">></span> <span class="nt"><A_PRMS></span><span class="ni">&amp;</span>lt;prms MaxQueue="10" MaxClients="20" MaxClientsPerHost="5" BufLen="5" KeepAliveReqs="0" KeepAliveTm="60" /<span class="ni">&amp;</span>gt;<span class="nt"></A_PRMS></span> <span class="nt"></fld></span> <span class="nt"><fld</span> <span class="na">ID=</span><span class="s">"WEB_1"</span> <span class="na">MODULE=</span><span class="s">"Sockets"</span> <span class="na">NAME=</span><span class="s">"WEB 1"</span> <span class="na">DESCRIPT=</span><span class="s">"Main transport of the WEB interfaces."</span> <span class="na">DESCRIPT_uk=</span><span class="s">"ОÑновний транÑпорт WEB інтерфейÑів."</span> <span class="na">DESCRIPT_ru=</span><span class="s">"ОÑновной транÑпорт WEB интерфейÑов."</span> <span class="na">ADDR=</span><span class="s">"TCP::10002:0"</span> <span class="na">PROT=</span><span class="s">"HTTP"</span> <span class="na">START=</span><span class="s">"1"</span><span class="nt">></span> <span class="nt"><A_PRMS></span><span class="ni">&amp;</span>lt;prms MaxQueue="10" MaxClients="100" MaxClientsPerHost="25" BufLen="5" KeepAliveReqs="0" KeepAliveTm="5" /<span class="ni">&amp;</span>gt;<span class="nt"></A_PRMS></span> <span class="nt"></fld></span> <span class="nt"><fld</span> <span class="na">ID=</span><span class="s">"WEB_2"</span> <span class="na">MODULE=</span><span class="s">"Sockets"</span> <span class="na">NAME=</span><span class="s">"WEB 2"</span> <span class="na">DESCRIPT=</span><span class="s">"Reserve transport of the WEB interfaces."</span> <span class="na">DESCRIPT_uk=</span><span class="s">"Резервний транÑпорт WEB інтерфейÑів."</span> <span class="na">DESCRIPT_ru=</span><span class="s">"Резервный транÑпорт WEB интерфейÑов."</span> <span class="na">ADDR=</span><span class="s">"TCP::10004:0"</span> <span class="na">PROT=</span><span class="s">"HTTP"</span> <span class="na">START=</span><span class="s">"1"</span><span class="nt">></span> <span class="nt"><A_PRMS></span><span class="ni">&amp;</span>lt;prms MaxQueue="10" MaxClients="100" MaxClientsPerHost="25" BufLen="5" KeepAliveReqs="0" KeepAliveTm="5" /<span class="ni">&amp;</span>gt;<span class="nt"></A_PRMS></span> <span class="nt"></fld></span> <span class="nt"></tbl></span> <span class="c"><!--</span> <span class="c"> <tbl id="Transport_out"></span> <span class="c"> <fld</span> <span class="c"> ID="testModBus"</span> <span class="c"> MODULE="Sockets"</span> <span class="c"> NAME="Test ModBus"</span> <span class="c"> NAME_uk="ТеÑÑ‚ ModBus"</span> <span class="c"> NAME_ru="ТеÑÑ‚ ModBus"</span> <span class="c"> DESCRIPT="ModBus protocol exchange test."</span> <span class="c"> DESCRIPT_uk="ТеÑÑ‚ обміну за протоколом ModBus."</span> <span class="c"> DESCRIPT_ru="ТеÑÑ‚ обмена по протоколу ModBus."</span> <span class="c"> ADDR="TCP:localhost:10502"</span> <span class="c"> START="1"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_DAQ"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="tmplib"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" DB="tmplib_test2"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="tmplib_test2"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR=""</span> <span class="c"> PROGRAM="JavaLikeCalc.JavaScript&amp;#010;cnt=5*i;"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="tmplib_test2_io"></span> <span class="c"> <fld TMPL_ID="test2" ID="i" NAME="I" NAME_uk="I" NAME_ru="I" TYPE="4" FLAGS="160" VALUE="" POS="0"/></span> <span class="c"> <fld TMPL_ID="test2" ID="cnt" NAME="Cnt" NAME_uk="Cnt" NAME_ru="Cnt" TYPE="4" FLAGS="32" VALUE="" POS="0"/></span> <span class="c"> </tbl>--></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_LogicLev"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld</span> <span class="c"> ID="test2"</span> <span class="c"> NAME="Test 2"</span> <span class="c"> NAME_uk="ТеÑÑ‚ 2"</span> <span class="c"> NAME_ru="ТеÑÑ‚ 2"</span> <span class="c"> DESCR=""</span> <span class="c"> ENABLE="1"</span> <span class="c"> START="1"</span> <span class="c"> PRM_BD="test2prm"</span> <span class="c"> PERIOD="1000"</span> <span class="c"> PRIOR="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR=""</span> <span class="c"> EN="1" MODE="2" PRM="test2.test2"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_System"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld</span> <span class="c"> ID="dataOS"</span> <span class="c"> NAME="OS data"</span> <span class="c"> NAME_uk="Дані ОС"</span> <span class="c"> NAME_ru="Даные ОС"</span> <span class="c"> DESCR="Data of services and subsystems of OS."</span> <span class="c"> DESCR_uk="Дані ÑервіÑів та підÑиÑтем ОС."</span> <span class="c"> DESCR_ru="Данные ÑервиÑов и подÑиÑтем ОС."</span> <span class="c"> ENABLE="1"</span> <span class="c"> START="1"</span> <span class="c"> AUTO_FILL="0"</span> <span class="c"> PRM_BD="DataOSprm"</span> <span class="c"> PERIOD="1000"</span> <span class="c"> PRIOR="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="DataOSprm"></span> <span class="c"> <fld SHIFR="CPU" NAME="CPU load" NAME_uk="ÐÐ°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ CPU" NAME_ru="Ðагрузка CPU" DESCR=""</span> <span class="c"> EN="1" TYPE="CPU" SUBT="gen"/></span> <span class="c"> <fld SHIFR="MEM" NAME="Memory" NAME_uk="Пам'ÑÑ‚ÑŒ" NAME_ru="ПамÑÑ‚ÑŒ" DESCR="" EN="1" TYPE="MEM"/></span> <span class="c"> </tbl></span> <span class="c"> --></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_DiamondBoards"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="Athena" NAME="Athena board" NAME_uk="Плата Athena" NAME_ru="Плата Athena" DESCR=""</span> <span class="c"> ENABLE="1" START="0" BOARD="25" PRM_BD_A="AthenaAnPrm" PRM_BD_D="AthenaDigPrm" ADDR="640" INT="5"</span> <span class="c"> DIO_CFG="0" ADMODE="0" ADRANGE="0" ADPOLAR="0" ADGAIN="0" ADCONVRATE="1000"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="AthenaAnPrm"></span> <span class="c"> <fld SHIFR="ai0" NAME="AI 0" NAME_uk="AI 0" NAME_ru="AI 0" DESCR="" EN="0" TYPE="0" CNL="0" GAIN="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="AthenaDigPrm"></span> <span class="c"> <fld SHIFR="di0" NAME="DI 0" NAME_uk="DI 0" NAME_ru="DI 0" DESCR="" EN="0" TYPE="0" PORT="0" CNL="0"/></span> <span class="c"> </tbl></span> <span class="c"> --></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_BlockCalc"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="Model" NAME="Model" NAME_uk="Модель" NAME_ru="Модель" DESCR=""</span> <span class="c"> ENABLE="1" START="1" PRM_BD="Model_prm" BLOCK_SH="Model_blcks" PERIOD="1000" PRIOR="0" PER_DB="0" ITER="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Model_blcks"></span> <span class="c"> <fld ID="Klap" NAME="Klapan" NAME_uk="Клапан" NAME_ru="Клапан" DESCR=""</span> <span class="c"> FUNC="DAQ.JavaLikeCalc.lib_techApp.klap" EN="1" PROC="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Model_blcks_io"></span> <span class="c"> <fld BLK_ID="Klap" ID="l_kl1" TLNK="0" LNK="" VAL="50"/></span> <span class="c"> <fld BLK_ID="Klap" ID="l_kl2" TLNK="0" LNK="" VAL="20"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Model_prm"></span> <span class="c"> <fld SHIFR="l_kl" NAME="Klap level" NAME_uk="ÐŸÐ¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ð¿Ð°Ð½Ñƒ" NAME_ru="Положение клапана" DESCR=""</span> <span class="c"> EN="1" IO="Klap.l_kl1"/></span> <span class="c"> </tbl></span> <span class="c"> --></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_JavaLikeCalc"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="CalcTest" NAME="Calculation test" NAME_uk="ТеÑÑ‚ обчиÑленнÑ" NAME_ru="ТеÑÑ‚ вычиÑлениÑ" DESCR=""</span> <span class="c"> ENABLE="1" START="1" PRM_BD="CalcTest_prm" FUNC="TemplFunc.d_alarm" SCHEDULE="1" PRIOR="0" ITER="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="CalcTest_val"></span> <span class="c"> <fld ID="in" VAL="0"/></span> <span class="c"> <fld ID="alrm" VAL=""/></span> <span class="c"> <fld ID="alrm_md" VAL="1"/></span> <span class="c"> <fld ID="alrm_mess" VAL="Error present."/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="CalcTest_prm"></span> <span class="c"> <fld SHIFR="alrm" NAME="Alarm" NAME_uk="ÐваріÑ" NAME_ru="ÐвариÑ" DESCR="" EN="1" FLD="alrm"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="lib"></span> <span class="c"> <fld ID="TemplFunc" NAME="" DESCR="" DB="lib_TemplFunc"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="lib_TemplFunc"></span> <span class="c"> <fld ID="d_alarm" NAME="Digit alarm" NAME_uk="ÐÐ²Ð°Ñ€Ñ–Ñ Ð·Ð° диÑкретним" NAME_ru="ÐÐ²Ð°Ñ€Ð¸Ñ Ð¿Ð¾ диÑкретному" DESCR=""</span> <span class="c"> FORMULA="alrm=(in==alrm_md)?&amp;quot;1:&amp;quot;+alrm_mess:&amp;quot;0&amp;quot;;"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="lib_TemplFunc_io"></span> <span class="c"> <fld F_ID="d_alarm" ID="in" NAME="Input" NAME_uk="Вхід" NAME_ru="Вход" TYPE="3" MODE="0" DEF="" HIDE="0" POS="0"/></span> <span class="c"> <fld F_ID="d_alarm" ID="alrm" NAME="Alarm" NAME_uk="ÐваріÑ" NAME_ru="ÐвариÑ" TYPE="0" MODE="1" DEF="" HIDE="0" POS="1"/></span> <span class="c"> <fld F_ID="d_alarm" ID="alrm_md" NAME="Alarm mode" NAME_uk="Режим аварії" NAME_ru="Режим аварии"</span> <span class="c"> TYPE="3" MODE="0" DEF="" HIDE="0" POS="2"/></span> <span class="c"> <fld F_ID="d_alarm" ID="alrm_mess" NAME="Alarm message" NAME_uk="ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð°Ð²Ð°Ñ€Ñ–Ñ—" NAME_ru="Сообщение аварии"</span> <span class="c"> TYPE="0" MODE="0" DEF="" HIDE="0" POS="3"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_Siemens"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1000" PRIOR="0" CIF_DEV="0" ADDR="5" ASINC_WR="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" TMPL="S7.ai_man"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_SNMP"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR=""</span> <span class="c"> ENABLE="1" START="1" PRM_BD="test2prm" PERIOD="1000" PRIOR="0" ADDR="localhost" COMM="public" PATTR_LIM="20"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" OID_LS="system"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_ModBus"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1000" PRIOR="0" TRANSP="Sockets" ADDR="exlar.diya.org" NODE="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1"</span> <span class="c"> ATTR_LS="321:0:tst:Test"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_DAQGate"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1000" PRIOR="0" SYNCPER="60" STATIONS="loop" CNTRPRM="System.AutoDA"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_DCON"</span><span class="nt">></span> <span class="c"><!--<tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1" PRIOR="0" ADDR="" REQ_TRY="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" MOD_TP="0"</span> <span class="c"> MOD_ADDR="1" CRC_CTRL="1"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_ICP_DAS"</span><span class="nt">></span> <span class="c"><!--<tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1" PRIOR="0" BUS="1" BAUD="115200" LP_PRMS="" REQ_TRY="3"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1"</span> <span class="c"> MOD_TP="552985" MOD_ADDR="0" MOD_SLOT="1" MOD_PRMS="0"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_OPC_UA"</span><span class="nt">></span> <span class="c"><!--<tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" SCHEDULE="1" PRIOR="0" SYNCPER="60" ADDR="" EndPoint="opc.tcp://localhost:4841" SecPolicy="None"</span> <span class="c"> SecMessMode="1" Cert="" PvKey="" AttrsLimit="100"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" ND_LS=""/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_SoundCard"</span><span class="nt">></span> <span class="c"><!--<tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" CARD="" SMPL_RATE="8000" SMPL_TYPE="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" CHANNEL="0"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Archive"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"MessBufSize"</span><span class="nt">></span>1000<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"MessPeriod"</span><span class="nt">></span>5<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ValPeriod"</span><span class="nt">></span>1000<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ValPriority"</span><span class="nt">></span>10<span class="nt"></prm></span> <span class="c"><!--</span> <span class="c"> <tbl id="Archive_mess_proc"></span> <span class="c"> <fld</span> <span class="c"> ID="StatErrors"</span> <span class="c"> MODUL="FSArch"</span> <span class="c"> NAME="Errors"</span> <span class="c"> NAME_uk="Помилки"</span> <span class="c"> NAME_ru="Ошибки"</span> <span class="c"> DESCR="Archive of local errors"</span> <span class="c"> DESCR_uk="Ðрхів локальних помилок"</span> <span class="c"> DESCR_ru="Ðрхив локальных ощибок"</span> <span class="c"> START="1"</span> <span class="c"> CATEG="/DemoStation*"</span> <span class="c"> LEVEL="4"</span> <span class="c"> ADDR="ARCHIVES/MESS/stError/"/></span> <span class="c"> <fld</span> <span class="c"> ID="NetRequsts"</span> <span class="c"> MODUL="FSArch"</span> <span class="c"> NAME="Network requests"</span> <span class="c"> NAME_uk="Мережеві запити"</span> <span class="c"> NAME_ru="Сетевые запроÑÑ‹"</span> <span class="c"> DESCR="Requests to the server via Sockets transport."</span> <span class="c"> DESCR_uk="Запити до Ñервера через транÑпорт Sockets."</span> <span class="c"> DESCR_ru="ЗапроÑÑ‹ к Ñерверу через транÑпорт Sockets."</span> <span class="c"> START="1"</span> <span class="c"> CATEG="/DemoStation/Transport/Sockets*"</span> <span class="c"> LEVEL="1"</span> <span class="c"> ADDR="ARCHIVES/MESS/Net/"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Archive_val_proc"></span> <span class="c"> <fld</span> <span class="c"> ID="1h"</span> <span class="c"> MODUL="FSArch"</span> <span class="c"> NAME="1hour"</span> <span class="c"> NAME_uk="1година"</span> <span class="c"> NAME_ru="1чаÑ"</span> <span class="c"> DESCR="Averaging at hour"</span> <span class="c"> DESCR_uk="УÑÐµÑ€ÐµÐ´Ð½ÐµÐ½Ð½Ñ Ð·Ð° годину"</span> <span class="c"> DESCR_ru="УÑреднение за чаÑ"</span> <span class="c"> START="1"</span> <span class="c"> ADDR="ARCHIVES/VAL/1h/"</span> <span class="c"> V_PER="360"</span> <span class="c"> A_PER="60"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Archive_val"></span> <span class="c"> <fld</span> <span class="c"> ID="test1"</span> <span class="c"> NAME="Test 1"</span> <span class="c"> NAME_uk="ТеÑÑ‚ 1"</span> <span class="c"> NAME_ru="ТеÑÑ‚ 1"</span> <span class="c"> DESCR="Test 1"</span> <span class="c"> DESCR_uk="ТеÑÑ‚ 1"</span> <span class="c"> DESCR_ru="ТеÑÑ‚ 1"</span> <span class="c"> START="1"</span> <span class="c"> VTYPE="1"</span> <span class="c"> BPER="1"</span> <span class="c"> BSIZE="200"</span> <span class="c"> BHGRD="1"</span> <span class="c"> BHRES="0"</span> <span class="c"> SrcMode="0"</span> <span class="c"> Source=""</span> <span class="c"> ArchS=""/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Protocol"</span><span class="nt">></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_UI"</span><span class="nt">></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_QTStarter"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StartMod"</span><span class="nt">></span>QTCfg<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"CloseToTray"</span><span class="nt">></span>0<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Style"</span><span class="nt">></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Palette"</span><span class="nt">></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StyleSheets"</span><span class="nt">></prm></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"LookFeel"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Typical TDE"</span> <span class="na">STYLE=</span><span class="s">""</span> <span class="na">STL_SHTS=</span><span class="s">""</span><span class="nt">></span> <span class="nt"><PALETTE></span>#000000, #dddfe4, #ffffff, #ffffff, #555555, #c7c7c7, #000000, #ffffff, #000000, #ffffff, #efefef, #000000, #678db2, #ffffff, #0000ee, #52188b #808080, #dddfe4, #ffffff, #ffffff, #555555, #c7c7c7, #c7c7c7, #ffffff, #808080, #ffffff, #efefef, #000000, #567594, #ffffff, #0000ee, #52188b #000000, #dddfe4, #ffffff, #ffffff, #555555, #c7c7c7, #000000, #ffffff, #000000, #ffffff, #efefef, #000000, #678db2, #ffffff, #0000ee, #52188b<span class="nt"></PALETTE></span> <span class="nt"></fld></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Blue Slate"</span> <span class="na">STYLE=</span><span class="s">""</span> <span class="na">STL_SHTS=</span><span class="s">""</span><span class="nt">></span> <span class="nt"><PALETTE></span>#000000, #9db9c8, #f6fcff, #c9dae3, #4e5c64, #697b85, #000000, #bfe2f4, #000000, #c3c3c3, #9db9c8, #000000, #558097, #ffffff, #0000ee, #52188b, #b4b4b4, #000000, #ffffdc, #000000 #808080, #9db9c8, #f6fcff, #b5d5e6, #4e5c64, #697b85, #808080, #bfe2f4, #808080, #c3c3c3, #9db9c8, #000000, #558097, #808080, #0000ee, #52188b, #b4b4b4, #000000, #ffffdc, #000000 #000000, #9db9c8, #f6fcff, #b5d5e6, #4e5c64, #697b85, #000000, #bfe2f4, #000000, #c3c3c3, #9db9c8, #000000, #558097, #ffffff, #0000ee, #52188b, #b4b4b4, #000000, #ffffdc, #000000<span class="nt"></PALETTE></span> <span class="nt"></fld></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Blue Darkness"</span> <span class="na">STYLE=</span><span class="s">""</span> <span class="na">STL_SHTS=</span><span class="s">""</span><span class="nt">></span> <span class="nt"><PALETTE></span>#ffffff, #426794, #5788c3, #4871a2, #162231, #37567b, #dcdcdc, #5788c3, #ffffff, #002a4e, #426794, #000000, #5cb3ff, #000000, #00ffff, #c0c0ff #555555, #426794, #5788c3, #4871a2, #162231, #37567b, #37567b, #5788c3, #555555, #002a4e, #426794, #000000, #4c95d4, #ffffff, #00ffff, #c0c0ff #ffffff, #426794, #5788c3, #4871a2, #162231, #37567b, #dcdcdc, #5788c3, #ffffff, #002a4e, #426794, #000000, #5cb3ff, #000000, #00ffff, #c0c0ff<span class="nt"></PALETTE></span> <span class="nt"></fld></span> <span class="nt"></tbl></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_QTCfg"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StartUser"</span><span class="nt">></span>roman<span class="nt"></prm></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_Vision"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StartUser"</span><span class="nt">></span>roman<span class="nt"></prm></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_WebCfg"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SessTimeLife"</span><span class="nt">></span>20<span class="nt"></prm></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_VCAEngine"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="LIB"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR=""</span> <span class="c"> DB_TBL="wlib_test2" ICO="" USER="root" GRP="UI" PERMIT="436"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="wlib_test2"></span> <span class="c"> <fld ID="test2" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_PER="-1"</span> <span class="c"> USER="root" GRP="UI" PERMIT="436"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="wlib_test2_io"></span> <span class="c"> <fld IDW="test2" ID="name" IO_VAL="Test 2" IO_VAL_uk="ТеÑÑ‚ 2" IO_VAL_ru="ТеÑÑ‚ 2" SELF_FLG="" CFG_TMPL="" CFG_VAL=""/></span> <span class="c"> <fld IDW="test2" ID="dscr" IO_VAL="Test of the module 2" IO_VAL_uk="ТеÑÑ‚ Ð¼Ð¾Ð´ÑƒÐ»Ñ 2" IO_VAL_ru="ТеÑÑ‚ Ð¼Ð¾Ð´ÑƒÐ»Ñ 2" SELF_FLG="" CFG_TMPL="" CFG_VAL=""/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="PRJ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" DB_TBL="prj_test2" ICO="" USER="root" GRP="UI" PERMIT="436"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="prj_test2"></span> <span class="c"> <fld OWNER="/test2" ID="pg1" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_PER="-1" USER="root" GRP="UI" PERMIT="436" FLGS="1"/></span> <span class="c"> <fld OWNER="/test2/pg1" ID="pg2" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_PER="-1" USER="root" GRP="UI" PERMIT="436" FLGS="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="prj_test2_incl"></span> <span class="c"> <fld IDW="/prj_test2/pg_pg1" ID="wdg1" PARENT="/wlb_originals/wdg_Box"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Special"</span><span class="nt">></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_SystemTests"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Param"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"5"</span> <span class="na">name=</span><span class="s">"LogicLev.experiment.F3"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"XML"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">file=</span><span class="s">"/etc/oscada.xml"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Mess"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">arhtor=</span><span class="s">"DBArch.test3"</span> <span class="na">depth=</span><span class="s">"10"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SOAttach"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"20"</span> <span class="na">name=</span><span class="s">"../../lib/openscada/daq_LogicLev.so"</span> <span class="na">mode=</span><span class="s">"0"</span> <span class="na">full=</span><span class="s">"1"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Val"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">name=</span><span class="s">"LogicLev.experiment.F3.var"</span> <span class="na">arch_len=</span><span class="s">"5"</span> <span class="na">arch_per=</span><span class="s">"1000000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Val"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">name=</span><span class="s">"System.AutoDA.CPULoad.load"</span> <span class="na">arch_len=</span><span class="s">"10"</span> <span class="na">arch_per=</span><span class="s">"1000000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"MySQL"</span> <span class="na">addr=</span><span class="s">"server.diya.org;roman;123456;oscadaTest"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"DBF"</span> <span class="na">addr=</span><span class="s">"./DATA/DBF"</span> <span class="na">table=</span><span class="s">"test.dbf"</span> <span class="na">size=</span><span class="s">"1000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"SQLite"</span> <span class="na">addr=</span><span class="s">"./DATA/test.db"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"FireBird"</span> <span class="na">addr=</span><span class="s">"server.diya.org:/var/tmp/test.fdb;roman;123456"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"TCP:127.0.0.1:10001"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UDP:127.0.0.1:10001"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UNIX:./oscada"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UDP:127.0.0.1:daytime"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SysContrLang"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">path=</span><span class="s">"/Archive/FSArch/mess_StatErrors/%2fprm%2fst"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ValBuf"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"5"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Archive"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"30"</span> <span class="na">arch=</span><span class="s">"test1"</span> <span class="na">period=</span><span class="s">"1000000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Base64Code"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="nt">/></span> <span class="nt"></node></span> <span class="nt"></node></span> <span class="nt"></station></span> <span class="nt"></OpenSCADA></span> </pre></div> </div> <p>Детально розглÑнемо Ñтруктуру конфігураційного файлу. Один конфігураційний файл може міÑтити конфігурацію декількох Ñтанцій у ÑекціÑÑ… <i><station id="SimulatorStation"/></i>. Ðтрибутом "id" вказуєтьÑÑ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ Ñтанції — ÐºÐ»Ð°Ñ Ñтанції. ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ñ–Ñ”Ñ— або іншої Ñекції Ñтанції вказуєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ командного Ñ€Ñдку <i>--station=SimulatorStation</i>, при виклику. Ð¡ÐµÐºÑ†Ñ–Ñ Ñтанції безпоÑередньо міÑтить параметри Ñтанції та Ñекції підÑиÑтем. Параметри конфігурації Ñекції запиÑуютьÑÑ Ñƒ виглÑді <i><prm id="StName">AGLKS</prm></i>, де атрибутом "id" вказуєтьÑÑ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€ параметру, а у тілі тегу "prm" вказуєтьÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ "AGLKS". Перелік доÑтупних параметрів та Ñ—Ñ… Ð¾Ð¿Ð¸Ñ Ð´Ð»Ñ Ñтанції та вÑÑ–Ñ… інших Ñекцій можна отримати у конÑолі, за поÑередництвом виклику OpenSCADA з параметром <i>--help</i>. </p><p>Секції підÑиÑтем <i><node id="sub_DAQ" /></i> міÑÑ‚ÑÑ‚ÑŒ: параметри підÑиÑтеми, Ñекції модулів та Ñекції таблиць Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… баз даних у конфігураційному файлі. Секції модулів <i><node id="mod_DiamondBoards" /></i> міÑÑ‚ÑÑ‚ÑŒ індивідуальні параметри модулів та Ñекції таблиць Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… баз даних у конфігураційному файлі. </p><p>Типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð¿Ñ†Ñ–Ð¹ командного Ñ€Ñдка Ñ– загальні параметри ви можете передати через змінні Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñƒ формі "OSCADA_{OPT}={VAL}" піÑÐ»Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾ÑŽ оточеннÑOSCADA_CMD_EN, на кшталт — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">OSCADA_CMD_EN=1 OSCADA_log=0 OSCADA_limObjDscr_SZ=1000 OSCADA_sub_UI_mod_QTStarter_Style=Fusion ./openscada_AGLKS</span>. Тобто ви можете приготувати індивідуальне типове Ñередовище Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ OpenSCADA Ð´Ð»Ñ Ð²Ð°ÑˆÐ¾Ñ— ÑиÑтеми загалом у файлі теки <b>/etc/profile.d/</b> або Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ кориÑтувача у файлі <b>{USER-HOME}/.profile</b>. </p><p>Секції таблиць Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… баз даних призначено Ð´Ð»Ñ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ конфігураційному файлі запиÑів таблиць БД Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ñ–Ð² OpenSCADA. РозглÑнемо таблицю вхідних транÑпортів "Transport_in" підÑиÑтеми "ТранÑпорти" <i><node id="sub_Transport"></i> з наведеного вище прикладу конфігураційного. Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–Ñтить три запиÑи з полÑми: ID, MODULE, NAME, DESCRIPT, ADDR, PROT, START. ПіÑÐ»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð· такою Ñекцією та взагалі без БД у підÑиÑтемі "ТранÑпорти" Ð¼Ð¾Ð´ÑƒÐ»Ñ "Sockets" з'ÑвлÑÑ‚ÑŒÑÑ Ñ‚Ñ€Ð¸ вхідних транÑпорти. Формати Ñтруктур таблиць оÑновних компонентів включено до демонÑтраційних конфігураційних файлів — моделі технологічних процеÑів. За деталÑми Ñтруктур таблиць БД звертайтеÑÑ Ð´Ð¾ документації відповідних модулів або проÑто збережіть потрібний об'єкт до конфігураційного файлу. </p> <div class="mw-collapsible mw-collapsed"> <p>Результат Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada_AGLKS --help</span> ... </p> <pre class="mw-collapsible-content" style="white-space: pre-wrap;"> *************************************************************************** ********** OpenSCADA v0.9+r2535 (Linux-4.9.0-0.bpo.5-amd64). ********* *************************************************************************** =========================================================================== ======================== ОÑновні опції ==================================== =========================================================================== -h, --help Цей текÑÑ‚ допомоги за опціÑми командного Ñ€Ñдку та параметрами конфігураційного файлу програми. --projName=<ім'Ñ> Ім'Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ OpenSCADA Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ. Ð”Ð»Ñ Ñ‚Ð°ÐºÐ¾Ñ— операції також викориÑтовуєтьÑÑ Ð·Ð¼Ñ–Ð½Ð½Ð° Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ "OSCADA_ProjName" та ім'Ñ Ð±Ñ–Ð½Ð°Ñ€Ð½Ð¾Ñ— програми "openscada_{ProjName}". --projUserDir={тека} Тека кориÑтувацьких проєктів OpenSCADA (доÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу), по замовченню "~/.openscada". --projLock={per} ВикориÑтовувати Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñ–Ð² ÑтвореннÑм файлу "lock" у теці проєкту та його Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð· періодом <per>, по замовченню включено та період Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ <per> Ñкладає 60 Ñекунд. Ð”Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð²Ñтановити період Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ <per> у нуль. --lang=<LANG> Мова Ñтанції, у виглÑді "uk_UA.UTF-8". --config=<файл> Конфігураційний файл Ñтанції. --station=<ід> Ідентифікатор Ñтанції. --statName=<ім'Ñ> Ім'Ñ Ñтанції. --modDir=<path> Теки модулів, поділені ';', та можуть міÑтити у кінці шаблон файлів. --messLev=<рівень> Рівень оброблюваних повідомлень (0-7). --log=<напрÑмок> СпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ до, за бітовим полем: 0x1 - ÑиÑтемний логер (syslogd); 0x2 - Ñтандартний вихід (stdout); 0x4 - Ñтандартний вихід помилок (stderr); 0x8 - архів повідомлень. --consoleCharSet={CharSet} ПримуÑово вÑтановити кодовий набір Ñимволів конÑолі у <CharSet>, по замовченню він ÑиÑтемний. --demon, --daemon ЗапуÑк у режимі демона. --pidFile=<file> файл Ð´Ð»Ñ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ ID процеÑу програми тут. --noCoreDump Запобігати Ñтворенню передÑмертних дампів - не знімати це обмеженнÑ. --permCrtFiles={права} Права Ñтворюваних OpenSCADA файлів, по замовченню це 0755 (RWXRW_RW_). ------ Параметри Ñтанції 'AGLKS(SimulatorStation)' у конфігураційному файлі -------- StName <ім'Ñ> Ім'Ñ Ñтанції. WorkDB <Тип.Ім'Ñ> Робоча БД (ім'Ñ Ñ‚Ð° тип). WorkDir <шлÑÑ…> Робоча тека. ModDir <path> Теки модулів, поділені ';', та можуть міÑтити у кінці шаблон файлів. IcoDir <path> Тека іконок. DocDir <path> Тека документів. MessLev <рівень> Рівень оброблюваних повідомлень (0-7). SelDebCats <перелік> Перелік категорій налагодженнÑ, поділено ';'. LogTarget <напрÑмок> СпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ до, за бітовим полем: 0x1 - ÑиÑтемний логер (syslogd); 0x2 - Ñтандартний вихід (stdout); 0x4 - Ñтандартний вихід помилок (stderr); 0x8 - архів повідомлень. Lang <мова> Мова-локаль Ñтанції, у виглÑді "uk_UA.UTF-8". LangBase <мова> Базова мова та перелік вÑÑ–Ñ… локалей (на кшталт "uk_UA.UTF-8") проєкту (опціонально) поділених ';', Ð´Ð»Ñ Ð±Ð°Ð³Ð°Ñ‚Ð¾Ð¼Ð¾Ð²Ð½Ð¾Ð³Ð¾ режиму. Lang2CodeBase <мова> Базова мова Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´Ñƒ текÑтових змінних, два Ñимволи. MainCPUs <перелік> ОÑновний перелік викориÑтаних процеÑорів, поділено ':'. TaskInvPhs <n> КількіÑÑ‚ÑŒ фаз виклику задач, 1 Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ„Ð°Ð·ÑƒÐ²Ð°Ð½Ð½Ñ. ClockRT <0|1> Ð’Ñтановити викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° годиннику у REALTIME (інакше MONOTONIC), дещо проблематичне при модифікації ÑиÑтемного годинника. SaveAtExit <0|1> Зберігати програму при виході. SavePeriod <Ñекунд> Період Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸, 0 Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ. ModifCalc <0|1> Ð’Ñтановлювати модифікацію Ð´Ð»Ñ Ð¾Ð±Ñ‡Ð¸Ñлювальних об'єктів. RdStLevel <рів> Рівень Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— Ñтанції. RdTaskPer <Ñекунд> Період виклику задачі обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ. RdRestConnTm <Ñекунд> Ð§Ð°Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· "мертвою" резервною Ñтанцією. RdStList <перелік> Перелік резервних Ñтанції, поділено Ñимволом ';' (st1;st2). RdPrimCmdTr <0|1> Ð’ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ñ€Ð°Ð½ÑлÑції первинних команд до резервних Ñтанцій. Глобальні конфігуровані ліміти: limObjID_SZ [*20..50] Розмір ІД об'єктів OpenSCADA. УВÐГÐ! Великий розмір може викликати помилку розміру ключа на БД Ñхожих на MySQL! Змініть це лише одноразово перед викориÑтаннÑм на БД із фікÑованим типом "char({N})"! limObjNm_SZ [*100...200] Розмір ÐÐЗВИ об'єктів OpenSCADA. УВÐГÐ! Змініть це лише одноразово перед викориÑтаннÑм на БД із фікÑованим типом "char({N})"! limObjDscr_SZ [300...*1000...1000000] Розмір ОПИСУ об'єктів OpenSCADA. limArchID_SZ [*50...90] Розмір ІД об'єктів архіву значень. УВÐГÐ! Лише збільшуйте його, інакше можете отримати проблеми у Archive.FSArch! Змініть це лише одноразово перед викориÑтаннÑм на БД із фікÑованим типом "char({N})"! limUserFile_SZ [1MB...*10MB...1000MB] ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ файлів на Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ñƒ проÑторі кориÑтувача та розміру чаÑтин передачі великих файлів. limUserIts_N [1000...*1000000...1000000000] ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° кількіÑÑ‚ÑŒ Ñтворюваних кориÑтувацьких елементів, на кшталт елементів маÑивів. limCacheIts_N [*100...100000] ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° кількіÑÑ‚ÑŒ елементів у кешу. limCacheIts_TM [10...*60...1000] ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° Ñ‡Ð°Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² у кешу, Ñекунд. Глобальні конфігуровані параметри: prmStrBuf_SZ [1000...*10000...1000000] Довжина Ñтрокових буферів, не Ñтроковий клаÑ. prmWait_DL [0.001...*0.1...1] Ð§Ð°Ñ ÐºÐ²Ð°Ð½Ñ‚Ñƒ циклів очікуваннÑ, Ñекунд. prmWait_TM [*5...10] Розмір Ñтандартного таймаута очікуваннÑ, Ñекунд. prmInterf_TM [*7...15] Ð§Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ°ÐºÑ†Ñ–Ñ— інтерфейÑу, Ñекунд. prmServTask_PER [1...*10...120] Період ÑервіÑного завданнÑ, Ñекунд. ========================= Опції підÑиÑтеми "БД" ========================= ---------- Параметри Ñекції '/sub_BD/' конфігураційного файлу ---------- TblLifeTime <Ñекунд> Ð§Ð°Ñ Ð¶Ð¸Ñ‚Ñ‚Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸Ñ… таблиць (по замовченню 600 Ñекунд). ======================== Опції підÑиÑтеми "Безпеки" ===================== ======================= Опції підÑиÑтеми "ТранÑпорти" =================== ======================= Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <Transport:Sockets> ============================= --getaddrinfo[=<on>] ВикориÑтати getaddrinfo() Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… адреÑ. ========================== Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <Transport:Serial> ========================== ------ Параметри модульної Ñекції '/sub_Transport/mod_Serial/' конфігураційного файлу ------ OutLifeTime <Ñекунд> Ð§Ð°Ñ Ð¶Ð¸Ñ‚Ñ‚Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ транÑпорту (по замовченню 0 Ñекунд), 0 - Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ—. ======================= Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <Transport:SSL> ============================= --getaddrinfo[=<on>] ВикориÑтати getaddrinfo() Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… адреÑ. =============== Опції підÑиÑтеми "ТранÑпортні Протоколи" ================ ======================= Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <Protocol:HTTP> ============================= ------ Параметри модульної Ñекції '/sub_Protocol/mod_HTTP/' конфігураційного файлу ------ AuthTime <хвил> Ð§Ð°Ñ Ð¶Ð¸Ñ‚Ñ‚Ñ ÑеанÑу аутентифікації, хвилин (по замовченню 10). ==================== Опції підÑиÑтеми "Збір даних" ====================== ---------- Параметри Ñекції '/sub_DAQ/' конфігураційного файлу ---------- RdRestDtTm <год> Глибина чаÑу Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… архіву з резервної Ñтанції, під Ñ‡Ð°Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ, у годинах. ====================== Опції підÑиÑтеми "Ðрхіви-ІÑторіÑ" ======================== ---------- Параметри Ñекції '/sub_Archive/' конфігураційного файлу ---------- MessBufSize <од.> Розмір буферу повідомлень. MessPeriod <Ñекунд> Період Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ. ClrAlrmDays <діб> Діб автоматичного Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½ÑŒ. ValPeriod <мÑекунд> Період активного Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ. ValPriority <рівень> Рівень пріоритету задачі активного Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ. RdRestDtOverTm <днів> Глибина примуÑового Ð¿ÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ñторії резерву при запуÑку, у днÑÑ…. ======================= Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <Archive:FSArch> ============================= --noArchLimit Вимкнути Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° кількіÑÑ‚ÑŒ файлів. ВикориÑтовуйте Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ переглÑду архівів, не Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸. ====================== Опції підÑиÑтеми "Спеціальні" ==================== ========================== Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <Special:SystemTests> ========================== ------ Параметри модульної Ñекції '/sub_Special/mod_SystemTests/' конфігураційного файлу ------ *** Загальні опції вÑÑ–Ñ… теÑтів *** id ідентифікатор теÑту; on прапор Ð²Ð²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ‚ÐµÑту; per період повтору, Ñекунд. *** Опції теÑтів *** 1) Param ТеÑÑ‚ DAQ параметрів. Вичитує атрибути та конфігураційні Ð¿Ð¾Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ. 1:name ÐдреÑа DAQ параметру 2) XML ТеÑÑ‚ розбору XML файлу. Розбирає та відображає Ñтруктуру вказаного файлу. 1:file XML файл 3) Mess ТеÑÑ‚ архіву повідомлень. Періодично вичитує нові Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· архіву, Ð´Ð»Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ архіватору. 1:arhtor Ðрхіватор 2:categ Шаблон категорії Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ 3:depth Глибина повідомлень, Ñекунд 4) SOAttach ТеÑÑ‚ підключеннÑ/Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð². 1:name ШлÑÑ… до Ð¼Ð¾Ð´ÑƒÐ»Ñ 2:mode Режим (1-підключити;-1-виключити;0-змінити) 3:full Повне Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ (на Ñтарті) 5) Val ТеÑÑ‚ значень атрибуту параметра. Виконує періодичне Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñтаннього Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ атрибуту, а також Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ на потрібну глибину. 1:name ШлÑÑ… до атрибуту параметру 2:arch_len Глибина Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ñ… значень, Ñекунд 3:arch_per Глибина Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ñ… значень, микроÑекунды 6) DB Повний теÑÑ‚ БД. Виконує: - ÑтвореннÑ/Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð‘Ð”; - ÑтвореннÑ/Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–; - ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ð½Ð¸ запиÑів (Ñ€Ñдків) визначеною Ñтруктурою; - Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð¼Ð½Ð¾Ð¶Ð¸Ð½Ð¸ запиÑів; - Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ‚Ð° перевірка значень множини запиÑів; - Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñтруктури запиÑу та таблиці; - Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñів; - закриттÑ/Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–; - закриттÑ/Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð‘Ð”. 1:type Тип БД 2:addr ÐдреÑа БД 3:table Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð‘Ð” 4:size КількіÑÑ‚ÑŒ запиÑів 7) TrOut ТеÑÑ‚ вихідних та/або вхідних транÑпортів. Виконує теÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ транÑпорту шлÑхом надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ до вказаного вхідного транÑпорту. 1:addr ÐдреÑа 2:type Модуль транÑпорту 3:req ТекÑÑ‚ запиту 8) SysContrLang ТеÑÑ‚ мови контролю програми. Виконує запит елементів мови за поÑередництвом повного шлÑху. Повний шлÑÑ… до елемента мови має виглÑд </Archive/%2fbd%2fm_per>. Повний шлÑÑ… ÑкладаєтьÑÑ Ð· двох вкладених шлÑхів. Перший </Archive/> це шлÑÑ… до вузла дерева контролю. Другий </bd/m_per> це шлÑÑ… до конкретного елемента вузла. 1:path ШлÑÑ… до елементу мови 9) ValBuf ТеÑти буферу значень. МіÑтить 13 теÑтів вÑÑ–Ñ… аÑпектів буферу значень (підÑиÑтема "Ðрхіви"). 10) Archive ТеÑÑ‚ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ архіві значень. МіÑтить 7(8) теÑтів архіватора значень на перевірку коректноÑÑ‚Ñ– Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñлідовного механізму упакуваннÑ. 1:arch Ðрхів значень 2:period Період значень, микроÑекунды 3:archtor Ðрхіватор 11) Base64Code ТеÑти ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚Ð¼Ð¾Ð¼ Mime Base64. ================= Опції підÑиÑтеми "ІнтерфейÑи кориÑтувачів" ============ ---------- Параметри Ñекції '/sub_UI/' конфігураційного файлу ---------- FontSnthHglCode <шрифт> Шрифт викориÑтаний у підÑвітлені ÑинтакÑиÑу коду, по замовченню "monospace". ======================== Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <UI:Vision> ============================ ------ Параметри модульної Ñекції '/sub_UI/mod_Vision/' конфігураційного файлу ------ StartUser <кориÑÑ‚> Стартовий, безпарольний, кориÑтувач. UserPass <пароль> Пароль кориÑтувача Ð´Ð»Ñ Ð½ÐµÐ»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ запуÑку. RunPrjs <перелік> Перелік проєктів Ñкі мають запуÑкатиÑÑ Ð¿Ñ€Ð¸ Ñтарті модулÑ. ExitLstRunPrjCls <0|1> Вихід при закритті оÑтаннього проєкту що виконуєтьÑÑ (по замовченню = 1). CachePgLife <години> Ð§Ð°Ñ Ð¶Ð¸Ñ‚Ñ‚Ñ Ñторінок у кешу (по замовченню 1). CachePgSz <кільк.> МакÑимальна кількіÑÑ‚ÑŒ Ñторінок у кешу (по замовченю 10). VCAstation <id> Ð¡Ñ‚Ð°Ð½Ñ†Ñ–Ñ Ð· рушієм СВК ('.' - локальна). RestoreTime <Ñекунди> Ð§Ð°Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ. ========================= Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <UI:QTStarter> =========================== --QtInNotMainThread ЗапуÑкати Qt у окремому потоці від оÑновного. --showWin=<0,1,2> Режим Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–ÐºÐ¾Ð½, початковий та від Ñкого дозволений до зміни: 0-типове вікно, 1-макÑимізоване вікно, 2-повний екран. --simulRightMKeyTm=<tm> ЧаÑ, у Ñекундах, ÑимулÑції правої клавіші миші та контекÑтного меню через ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð»Ñ–Ð²Ð¾Ñ— клавіші протÑгом цього чаÑу - більше за нуль. ------ Ðалагоджувані параметри Qt, командного Ñ€Ñдка -- --noX11 Запобігати запуÑку Qt, переважно Ð´Ð»Ñ Ñ‡Ð¸Ñтої конÑолі. --sync ÐŸÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñƒ Ñинхронний режим X11 Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ. --widgetcount Друк налагоджувальних повідомлень при виході, у кількоÑÑ‚Ñ– віджетів залишених невидаленими та макÑимальну Ñ—Ñ… кількіÑÑ‚ÑŒ. ------ Параметри Qt, командного Ñ€Ñдку ------------- --qws Робити цю програму Ñервером із Qt Ð´Ð»Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Linux. --style=<ім'Ñ> Ð’Ñтановити GUI Ñтиль у ім'Ñ (windows, platinum, plastique, ...). --stylesheet=<шлÑÑ…> Ð’Ñтановити таблицю Ñтилів із файлу за шлÑхом. --session=<ім'Ñ> Відновити із попереднього ÑеанÑу з вказаним ім'Ñм. --reverse Ð’Ñтановити напрÑмок Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ Qt::RightToLeft. --graphicssystem=<ім'Ñ> Ð’Ñтановити механізм рендерінгу Ð´Ð»Ñ ÐµÐºÑ€Ð°Ð½Ð½Ð¸Ñ… віджетів та QPixmaps (raster, opengl). --display=<ім'Ñ> Ð’Ñтановити X екран (типово у $DISPLAY). --geometry=<геом> Ð’Ñтановити клієнтÑьку геометрію першого відображуваного вікна. ------ Параметри модульної Ñекції '/sub_UI/mod_QTStarter/' конфігураційного файлу ------ StartMod <модулі> Перелік модулів що запуÑкаютьÑÑ, розділених ';'. CloseToTray <0|1> Закривати вÑÑ– вікна або запуÑкати без Qt модулів до ÑиÑтемного лотку. SessCntr [0...*3] Контроль-перезапуÑк ÑеанÑів: 0-Ñкщо виконуєтьÑÑ, 1-завжди, 2-негайно, 3-ніколи. Style <ім'Ñ> GUI Ñтиль Qt. Font <шрифт> Загальний шрифт Qt. Palette <кольори> ДвадцÑÑ‚ÑŒ кольорів палітри поділених Ñимволом ',' у трьох Ñ€Ñдках Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ñ—, вимкненої та неактивної груп. StyleSheets <CSS> Правила таблиці каÑкадних Ñтилів (CSS). ======================= Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <UI:QTCfg> ============================= ------ Параметри модульної Ñекції '/sub_UI/mod_QTCfg/' конфігураційного файлу ------ StartPath <шлÑÑ…> ШлÑÑ… первинної Ñторінки конфігуратору. StartUser <кориÑÑ‚> Стартовий кориÑтувач, без паролю. ======================== Опції Ð¼Ð¾Ð´ÑƒÐ»Ñ <UI:WebVision> ============================ ------ Параметри модульної Ñекції '/sub_UI/mod_WebVision/' конфігураційного файлу ------ SessTimeLife <хвил> Ð§Ð°Ñ Ð¶Ð¸Ñ‚Ñ‚Ñ ÑеанÑів у хвилинах (по замовченню 10). SessLimit <кільк.> МакÑимальна кількіÑÑ‚ÑŒ ÑеанÑів (по замовченю 5). CachePgLife <години> Ð§Ð°Ñ Ð¶Ð¸Ñ‚Ñ‚Ñ Ñторінок у кешу (по замовченю 1). CachePgSz <кільк.> МакÑимальна кількіÑÑ‚ÑŒ Ñторінок у кешу (по замовченю 10). PNGCompLev <рів.> Рівень ÑтиÑÐ½ÐµÐ½Ð½Ñ [-1..9] Ñтворюваних PNG-файлів. ImgResize <0|1> Зміна розміру раÑтрових зображень на боці Ñерверу. ================ Опції підÑиÑтеми "Планувальник модулів" ================== --modPath=<шлÑÑ…> Теки модулів, поділені ';', та можуть міÑтити у кінці шаблон файлів. ---------- Параметри Ñекції '/sub_ModSched/' конфігураційного файлу ---------- ModPath <шлÑÑ…> Теки модулів, поділені ';', та можуть міÑтити у кінці шаблон файлів. Це Ñинонім параметру Ñ€Ñ–Ð²Ð½Ñ Ñтанції "ModDir". ModAllow <перелік> Перелік поділюваних бібліотек дозволених Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ завантаженнÑ, Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ (bd_DBF.so;daq_JavaLikeCalc.so). ВикориÑтовувати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ '*' Ð´Ð»Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»Ñƒ вÑÑ–Ñ… модулів. ModDeny <перелік> Перелік поділюваних бібліотек заборонених Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ завантаженнÑ, Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ (bd_DBF.so;daq_JavaLikeCalc.so). ChkPer <Ñекунд> Період пошуку нових поділюваних бібліотек(модулів), 0 - Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ. </pre> </div> <h2><span class="mw-headline" id=".D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA_.D1.82.D0.B0_.D0.B2.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">5</span> <span id="Startup" title="#Startup">ЗапуÑк та виконаннÑ</span></span></h2> <p>OpenSCADA від початку Ñ” програмою Ñка може бути запущена з конÑолі або терміналі, набравши <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada</span>. У такий ÑпоÑіб програма запуÑтитьÑÑ Ð· повідомленнÑми Ñ—Ñ— дій у цю конÑоль та блокуваннÑм конÑолі на очікуванні дій кориÑтувача, що Ñ” типовим режимом запуÑку у конÑолі-терміналі та може викориÑтовуватиÑÑ Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ– контролю результату дій Ñ– помилок. Окрім типового режиму передбачено також ще три режими, Ñкі визначаютьÑÑ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡ÐµÑŽ <a href="#CfgFilePrm">параметрів до команди запуÑку</a>: </p> <ol><li> Режим Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¸ за параметрами командного Ñ€Ñдку — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada --help</span>.</li> <li> Режим демону — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada --demon</span>, фонового або ÑервіÑного виконаннÑ. Передбачає від'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ конÑолі запуÑку та фонове виконаннÑ, тобто візуально програма наче одразу завершуєтьÑÑ, конÑоль звільнÑєтьÑÑ Ñ‚Ð° блокуютьÑÑ Ð²ÑÑ– модулі локального графічного інтерфейÑу на кшталт Qt. ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку та Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ у режимі обÑÐ»ÑƒÐ³Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ ÑервіÑів на кшталт: Ñерверу SCADA, Ñередовища Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐŸÐ›Ðš, Ñерверу візуалізації, Ñерверу WEB-інтерфейÑів. Зазвичай Ñ†Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° поміщаєтьÑÑ Ð´Ð¾ файлів опиÑу-Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÑервіÑу операційної ÑиÑтеми та декілька готових наразі поÑтачаютьÑÑ Ñ€Ð°Ð·Ð¾Ð¼ з OpenSCADA.</li> <li> Режим Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ ÑервіÑу-демону — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada --noX11</span>, по Ñуті Ñ” звичайним режимом з повідомленнÑми про дії у конÑолі, але із запобіганнÑм запуÑку модулів локального графічного інтерфейÑу, що неможливо у чиÑтій конÑолі та недоÑтупним X-Ñервером.</li></ol> <p>OpenSCADA Ñ” модульною та має модулі локальних графічних інтерфейÑів, а відтак може запуÑкатиÑÑ Ñƒ графічному інтерфейÑÑ–, що відбуваєтьÑÑ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно при типовому запуÑку з конÑолі та за наÑвноÑÑ‚Ñ– доÑтупного X-Ñерверу. Ð”Ð»Ñ Ð·Ð°Ð¿ÑƒÑку виключно у та з графічного інтерфейÑу команда типового запуÑку може та викориÑтовуєтьÑÑ: у конфігурації іконок-Ñрликів, запуÑку програм (також автоматичного) з Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñередовища — робочого Ñтолу (DE). Сам модуль запуÑку локального графічного Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ передбачати декілька режимів про що можна дізнатиÑÑ Ð· документації на цей модуль, Ñким наразі Ñ” <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a> та Ñкий передбачає режими: </p> <ul><li> оÑновний режим Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ OpenSCADA із: <ul><li> відкриттÑм визначених модулів Qt;</li> <li> відкриттÑм влаÑного діалогового вікна пуÑкачу (РиÑ.5a);</li> <li> запуÑком-згортаннÑм до ÑиÑтемного лотка (РиÑ.5b) — фактично Ñ” режимом фонового виконаннÑ, але з доÑтупом із графічного Ñередовища.</li></ul></li> <li> режим ініціюючого запуÑку (РиÑ.5c) — Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñƒ оÑновний режим Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ OpenSCADA.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:427px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_dialog_uk.png"><img class="thumbimage" height="670" src="files/QTStarter_dialog_uk.png" width="425" /></a> <div class="thumbcaption">РиÑ.5a. Діалогове вікно пуÑкачу Ð¼Ð¾Ð´ÑƒÐ»Ñ QTStarter.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:340px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_systray_uk.png"><img class="thumbimage" height="174" src="files/QTStarter_systray_uk.png" width="338" /></a> <div class="thumbcaption">РиÑ.5b. Проєкт "ÐГЛКС", запущений або згорнутий до ÑиÑтемного лотка.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:298px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_selectProj_uk.png"><img class="thumbimage" height="514" src="files/QTStarter_selectProj_uk.png" width="296" /></a> <div class="thumbcaption">РиÑ.5c. Діалогове вікно пуÑкачу Ð¼Ð¾Ð´ÑƒÐ»Ñ QTStarter у режимі ініціюючого запуÑку — Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ.</div></div></div></div> <p>ПроÑтий запуÑк Ñ” малокориÑним, незручним та передбачає викориÑÑ‚Ð°Ð½Ð½Ñ Ñ– роботу лише з однією конфігурацією, це — <a href="#Config">конфігураційний файл</a> <i>{sysconfdir}/oscada.xml</i>, Ñк первинне Ñховище конфігурації. Ð”Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– вибору конфігурації при запуÑку програми передбачено <a href="#CfgFilePrm">параметр командного Ñ€Ñдка <i>--config</i></a> та зміна робочої теки програми перед запуÑком або <a href="#CfgFilePrm">параметром "WorkDir" цього конфігураційного файлу</a>, що може бути викориÑтано та виключно викориÑтовувалоÑÑ OpenSCADA до верÑÑ–Ñ— 0.9 через ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¾Ð³Ð¾ Ñценарію командного Ñ€Ñдку (Shell) Ð´Ð»Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¾Ñ— конфігурації. У верÑÑ–Ñ— OpenSCADA 0.9 додано понÑÑ‚Ñ‚Ñ "Проєкту OpenSCADA", Ñке Ñпочатку реалізовувалоÑÑ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ð¼ Ñценарієм командного Ñ€Ñдку <b>openscada_start</b>, а потім було інтегровано до Ñдра OpenSCADA та Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð·Ð°Ð¿ÑƒÑку локального графічного інтерфейÑу. </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D1.94.D0.BA.D1.82.D0.B8_OpenSCADA"><span class="mw-headline-number">5.1</span> <span id="Projects" title="#Projects">Проєкти OpenSCADA</span></span></h3> <p>У OpenSCADA 0.9 було визначено, впроваджено та оÑтаточно Ñформовано ÑутніÑÑ‚ÑŒ проєкту OpenSCADA, Ñк окреме міÑце (тека) з конфігурацією та вÑіма даними окремого проєкту-Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ SCADA-ÑиÑтеми — об'єкт технологічного процеÑу, ПЛК, Ñервер візуалізації, Ñервер Web та інше. </p><p>Дані окремого проєкту-теки зазвичай передбачають: </p> <ul><li> Ñам конфігураційний файл ("oscada.xml");</li> <li> файли БД проєкту та бібліотек (тека "LibsDB") у режимі повного доÑтупу та/або поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ;</li> <li> архіви повідомлень та значень на файлову ÑиÑтему (тека "ARCHIVES");</li> <li> Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° медіа-дані (тека "icons");</li> <li> Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ (тека "docs");</li> <li> Ñпецифічні файли конфігурації, реÑурÑи модулів OpenSCADA та внутрішніх процедур проєкту.</li></ul> <p>Ðазва теки проєкту дорівнює назві проєкту та розташовуєтьÑÑ Ñƒ робочій теці OpenSCADA. Робоча тека OpenSCADA поділÑєтьÑÑ Ð½Ð° ÑиÑтемну ("{datadir}/openscada", де "datadir" зазвичай — "/usr/share"), Ñка звичайному-непривілейованому кориÑтувачеві доÑтупна лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ, та кориÑтувацька ("{HOME}/.openscada"), Ñка, за потреби, ÑтворюєтьÑÑ Ñƒ домашній теці кориÑтувача. До ÑиÑтемної робочої теки зазвичай поміщаютьÑÑ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾-вÑтановлені проєкти та бібліотеки OpenSCADA, Ñкі вÑтановлюютьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¼Ð¸ пакетами диÑтрибутиву Linux. Відтак, Ð´Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð½Ð¾Ñ†Ñ–Ð½Ð½Ð¾Ñ— роботи, проєкти та бібліотеки з ÑиÑтемної робочої теки копіюютьÑÑ Ð´Ð¾ кориÑтувацької, що менеджер проєктів здійÑнює автоматично. </p><p>Першим механізмом реалізації ÑутноÑÑ‚Ñ– проєкту Ñтав Ñценарії командного Ñ€Ñдку <b>openscada_start</b>, Ñкий вÑе ще надаєтьÑÑ Ð´Ð»Ñ ÑуміÑноÑÑ‚Ñ–, передбачає та визначив наÑтупні функції та вимоги: </p> <dl><dd>1. Ð’Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ файлу, теки з даними та ім'Ñ Ð·Ð° вказаною назвою проєкту, де назву проєкту можна вказати: <ul><li> параметром командного Ñ€Ñдку "--ProjName={Ім'ÑПроєкту}";</li> <li> змінною Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ "OSCADA_ProjName={Ім'ÑПроєкту}";</li> <li> ім'Ñм Ñимвольного поÑÐ¸Ð»Ð°Ð½Ð½Ñ <b>openscada_{Ім'ÑПроєкту}</b> на <b>openscada_start</b>.</li></ul></dd> <dd>2. ЗапуÑк OpenSCADA через виклик первинного бінарного файлу <b>openscada</b> та з параметрами командного Ñ€Ñдка визначеного проєкту.</dd> <dd>3. Перевірку коректноÑÑ‚Ñ– Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ та генерацію звіту про некоректне Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñƒ випадку наÑвноÑÑ‚Ñ– файлу передÑмертного дампу пам'ÑÑ‚Ñ– у теці проєкту та налагоджувача "gdb".</dd> <dd>4. Перевірку та Ð·Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ Ð±Ð°Ð³Ð°Ñ‚Ð¾Ñ€Ð°Ð·Ð¾Ð²Ð¾Ð¼Ñƒ запуÑку одного й того-ж проєкту, що Ñ” небезпечним Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ…, архівів та загальної ÑтабільноÑÑ‚Ñ– роботи програми.</dd> <dd>5. Ð¤Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ñ–Ð°Ð»Ð¾Ð³Ñ–Ð² Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð° ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ проєкту, Ñкщо не вказано потрібного Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку, у одній з програм діалогового типу: dialog, kdialog, zenity або Xdialog.</dd> <dd>6. CÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… проєктів за шаблоном конфігурації робочої Ñтанції, що передбачає: <ul><li> ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚ÐµÐºÐ¸ проєкту;</li> <li> ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ конфігураційного файлу "oscada_start.xml" у "oscada.xml" теки проєкту;</li> <li> ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° локальну копію теки бібліотек (Ñка, за потреби, копіюєтьÑÑ Ñ–Ð· зони "Тільки Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ");</li> <li> ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚ÐµÐº архівів на файлову ÑиÑтему "ARCHIVES/MESS" Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ та "ARCHIVES/VAL" Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ;</li> <li> ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° робочій Ñтільниці файлу запуÑку проєкту OpenSCADA з графічного Ñередовища (іконки-Ñрлику), шлÑхом ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ "openscada_{ÐазваПроєкту}.desktop" за шаблоном файлу "openscada.desktop".</li></ul></dd></dl> <p>З метою уніфікації та Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾ÑÑ‚Ñ–, та за доÑвідом екÑплуатації <b>openscada_start</b>, ÑутніÑÑ‚ÑŒ проєкту пізніше було інтегровано до Ñдра OpenSCADA Ñ– Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð·Ð°Ð¿ÑƒÑку локального графічного інтерфейÑу <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a>. Відтак, Ñдро OpenSCADA, а Ñаме первинний бінарний файл <b>openscada</b>, передбачає Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ файлу, теки з даними та ім'Ñ Ð·Ð° вказаною назвою проєкту Ñ– Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° цю конфігурацію згідно до пунктів 1, 2 та 4 вище-перелічених функцій менеджеру проєкту. Ð¤Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² інтерфейÑу Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð° ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… проєктів, пункт 5, здійÑнює модуль запуÑку локального графічного інтерфейÑу <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a> (РиÑ.5a,5c). Пункти 3 та 6 винеÑено у окремий Ñценарії командного Ñ€Ñдку <b>openscada-proj</b> через ÑпецифічніÑÑ‚ÑŒ цих операцій до програмної платформи, а відтак Ñ– необхідніÑÑ‚ÑŒ у проÑтій адаптації до цієї Ñпецифіки. </p><p>Відтак, наразі OpenSCADA можна запуÑтити Ñк у режимі демону-ÑервіÑу, так Ñ– графічного інтерфейÑу проÑто вказавши ім'Ñ Ñ‡Ð¸Ð½Ð½Ð¾Ð³Ð¾ проєкту чотирма ÑпоÑобами: </p> <ol><li> параметром командного Ñ€Ñдку — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada --projName={Ім'ÑПроєкту}</span>;</li> <li> змінною Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ â€” <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">OSCADA_ProjName={Ім'ÑПроєкту} openscada</span>;</li> <li> ім'Ñм Ñимвольного поÑÐ¸Ð»Ð°Ð½Ð½Ñ â€” <b>openscada_{Ім'ÑПроєкту}</b> на <b>openscada</b>.</li> <li> вибором наÑвного проєкту з переліку локального графічного інтерфейÑу <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a>, Ñкий надаєтьÑÑ Ð·Ð° проÑтим викликом первинного бінарного файлу <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada</span> — ініціюючий режим (РиÑ.5c), та Ñкщо не вказано графічних модулів Qt автоматичного запуÑку — режим Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ OpenSCADA (РиÑ.5a).</li></ol> <p>Створити новий проєкт можна з локального графічного інтерфейÑу <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a> (РиÑ.5c) та через Ñценарій командного Ñ€Ñдку менеджеру проєктів <b>openscada-proj</b>, Ñкий влаÑне Ñ– викликаєтьÑÑ Ð· локального графічного інтерфейÑу. </p> <div class="mw-collapsible mw-collapsed"> <p>Результат Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada-proj</span> ... </p> <pre class="mw-collapsible-content" style="white-space: pre-wrap;"> The project management script of OpenSCADA mostly designed to call from OpenSCADA itself, but it also can be used independently. The script is mostly software platform specific and it is related now for Linux. openscada-proj list openscada-proj proc|create|remove|snapshot|crash|cores|update {ProjName} Commands: list - list of the accessible projects; proc - performing of the RO project copying to WR, creating desktop link, processing core dumps; create - creating new project or copying the RO project to WR, creating desktop link; remove - removing the project; snapshot|crash|cores - creating the hot crash snapshot to the running project, where the 'crash' variant to call from OpenSCADA, the 'cores' variant to call from 'proc' for processing the core-files; update - updating from 0.8.0 LTS. Arguments: ProjName - project name; Environment variables: dPrj - directory of projects OpenSCADA, can be RO; dPrjUser - directory of projects OpenSCADA of the user, WR; dSysCfg - directory of system configuration; dData - directory of system data. openscada-proj backup|backupRestore {ProjName} [{BackupName}] openscada-proj backupList {ProjName} Commands: backup - backup the project <ProjName> under the name <BackupName>, or with the current date at missing; backupRestore - restore the project <ProjName> from the backup name <BackupName>, or from the last one at missing; backupList - list of backups of the project <ProjName>. Arguments: ProjName - project name; BackupName - name of the backup archive. Environment variables: OSCD_TAR_ComprPrg - TAR compression program, by default gzip; OSCD_TAR_Args - TAR extra arguments, by default "--exclude=lock --exclude=ARCHIVES"; OSCD_BackLim - Backups limit, by default 10. </pre> </div> <p>Загалом Ñценарій командного Ñ€Ñдку менеджеру проєктів <b>openscada-proj</b> передбачає функції та команди довкола проєктів: </p> <ul><li> <i>list</i> — перелік доÑтупних проєктів;</li> <li> <i>proc</i> — здійÑÐ½ÐµÐ½Ð½Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ RO проєкту у RW, ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ–ÐºÐ¾Ð½ÐºÐ¸-Ñрлика на робочій Ñтільниці, Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ Ð·Ð²Ñ–Ñ‚Ñ–Ð² про падіннÑ;</li> <li> <i>create</i> — ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ проєкту або ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ RO проєкту у WR, ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ–ÐºÐ¾Ð½ÐºÐ¸-Ñрлика на робочій Ñтільниці;</li> <li> <i>remove</i> — Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ–Ñнуючого проєкту;</li> <li> <i>snapshot|crash|cores</i> — ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ "гарÑчого" аварійного зрізу до виконуваного проєкту, де варіант "crash" Ð´Ð»Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ із OpenSCADA, варіант "cores" Ð´Ð»Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ із "proc" Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ core-файлів.</li></ul> <p>Додатково Ñценарій командного Ñ€Ñдку міÑтить команди менеджеру резервного ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñ–Ð²: </p> <ul><li> <i>backup</i> — резервне ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ проєкту <i>ProjName</i> до <i>BackupName</i>, або на поточну дату за відÑутноÑÑ‚Ñ–;</li> <li> <i>backupRestore</i> — Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ проєкту <i>ProjName</i> із резервної копії з вказаною назвою <i>BackupName</i>, або із оÑтанньої за відÑутноÑÑ‚Ñ–;</li> <li> <i>backupList</i> — перелік резервних копій проєкту <i>ProjName</i>.</li></ul> <p>Резервне ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð³Ð°Ð»Ð¾Ð¼ здійÑнюєтьÑÑ Ñƒ робочій теці OpenSCADA порÑд із теками Ñамих проєктів, Ð´Ð»Ñ Ñких ÑтворюютьÑÑ Ñ„Ð°Ð¹Ð»Ð¸ запакованих тек із назвою <b>{ProjName}_{BackupName}.backup</b>, наприклад — "Boiler_2020-06-24_20.09.backup". По замовченню теки проєктів ÑтиÑкаютьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ "gzip", Ñку можна змінити вÑтановленнÑм змінної Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ "OSCD_TAR_ComprPrg". ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° резервні файли вÑтановлено у 10 та ви можете його змінити змінною Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ "OSCD_BackLim". Також ви можете додати Ñпецифічних аргументів до архіватору TAR змінною Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ "OSCD_TAR_Args", Ñка по замовченню вÑтановлена у "--exclude=lock --exclude=ARCHIVES" Ð·Ð°Ð´Ð»Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ "lock" та теки "ARCHIVES" із резервного копіюваннÑ. Ð ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° здійÑнювати із зовні, наприклад, за вÑтановленим розкладом із CRON, окрім того, що здійÑнювати це вручну із графічного інтерфейÑу менеджеру проєктів (РиÑ.5a). </p> <h3><span class="mw-headline" id=".D0.92.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D0.BD.D0.BD.D1.8F_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D1.94.D0.BA.D1.82.D1.83_OpenSCADA_.D1.83_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D0.BE.D1.80.D1.96_.D1.81.D0.B5.D1.80.D0.B2.D1.96.D1.81.D1.83-.D1.84.D0.BE.D0.BD.D1.96"><span class="mw-headline-number">5.2</span> <span id="Service" title="#Service">Ð’Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ проєкту OpenSCADA у проÑторі ÑервіÑу-фоні</span></span></h3> <p>ÐžÑ€Ð³Ð°Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ OpenSCADA у окремій теці робить проÑтим запуÑк готових проєктів у проÑторі ÑервіÑу — Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñƒ фоні, а також подальше Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° Ñупровід цього проєкту без прÑмого віддаленого контролю. Фактично, ви можете розроблÑти проєкт локально, тримаючи його теку у кориÑтувацькій робочій теці (типово "{HOME}/.openscada"), а Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку у проÑторі ÑервіÑу лише копіювати або пакувати, передавати на віддалений робочий приÑтрій та розпаковувати у ÑиÑтемну робочу теку (типово "/usr/share/openscada"). </p><p>СервіÑне-фонове Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ в Linux обÑлуговуєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¼ чином Ñформованим Ñценарієм-Ñкриптом, Ñкий розташовуєтьÑÑ Ð² теці "/etc/ini.d" та має бути окремим на кожен проєкт OpenSCADA що запуÑкаєтьÑÑ Ñƒ ÑервіÑному проÑторі. Ð”Ð»Ñ ÑÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð° Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¾ÑÑ‚Ñ– займатиÑÑ ÑтвореннÑм влаÑних Ñценаріїв OpenSCADA надає відповідні Ð´Ð»Ñ Ñтандартних випадків-профілів та Ñкі зазвичай поÑтачаютьÑÑ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ <b>openscada-server</b> Ñ– <b>openscada-plc</b> (<b>openscada-lts-server</b> Ñ– <b>openscada-lts-plc</b> Ð´Ð»Ñ LTS). </p><p>Відтак, Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку у проÑторі ÑервіÑу Ñкажімо бібліотечного проєкту "ÐГЛКС" ми: </p> <ul><li> вÑтановлюємо пакет <b>openscada-model-aglks</b> (<b>openscada-lts-model-aglks</b> Ð´Ð»Ñ LTS)та <b>openscada-server</b> (<b>openscada-lts-server</b> Ð´Ð»Ñ LTS), Ñкщо Ñ—Ñ… ще не вÑтановлено та це не Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ <a href="How_to_Live_disk.html" title="Special:MyLanguage/Documents/How to/Live disk">Живого ДиÑку</a> або <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Automation_Linux_distributive" title="Special:MyLanguage/Sub-projects/Automation Linux distributive">Linux Ðвтоматизації</a> від вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ ДиÑку;</li> <li> запуÑкаємо проєкт "ÐГЛКС" Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¹Ð¾Ð³Ð¾ теки у кориÑтувацькій робочій теці;</li> <li> копіюємо теку проєкту "ÐГЛКС" до ÑиÑтемної робочої теки із перейменуваннÑм у "server", попередньо зупинивши фонове Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ "server" та видаливши його теку проєкту; наприклад, наÑтупним чином із конÑолі:</li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 30pt"><pre><span class="c"># ПідключитиÑÑ Ð²Ñ–Ð´ ÑуперкориÑтувача</span> su - <span class="c"># ... Ð´Ð»Ñ Ð¶Ð¸Ð²Ð¾Ð³Ð¾ диÑку та деÑких інших оточень Linux</span> sudo bash <span class="c"># Зупинити Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ñ— конфігурації Ñерверу та видалити його теку</span> systemctl stop openscada-server.service <span class="c"># Ð´Ð»Ñ SystemD</span> service openscada-server stop <span class="c"># Ð´Ð»Ñ SysVinit</span> rm -R /usr/share/openscada/server <span class="c"># ... Ð´Ð»Ñ LTS</span> systemctl stop openscada-lts-server.service <span class="c"># Ð´Ð»Ñ SystemD</span> service openscada-lts-server stop <span class="c"># Ð´Ð»Ñ SysVinit</span> rm -R /usr/share/openscada/server <span class="c"># Скопіювати проєкт "ÐГЛКС" із домашньої теки кориÑтувача "{HOME}" з перейменуваннÑм у "server"</span> cp -R <span class="o">{</span>HOME<span class="o">}</span>/.openscada/AGLKS /usr/share/openscada/server <span class="c"># ЗапуÑтити Ñервер вже з проєктом "ÐГЛКС"</span> systemctl start openscada-server.service <span class="c"># Ð´Ð»Ñ SystemD</span> service openscada-server start <span class="c"># Ð´Ð»Ñ SysVinit</span> <span class="c"># ... Ð´Ð»Ñ LTS</span> systemctl start openscada-lts-server.service <span class="c"># Ð´Ð»Ñ SystemD</span> service openscada-lts-server start <span class="c"># Ð´Ð»Ñ SysVinit</span> </pre></div> <p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Зауважте, що локально ви можете не копіювати теку проєкту цілком, а лише вÑтановити на неї Ñимволічне поÑиланнÑ, але ви отримаєте ризик подвійного Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ на Ñпільну теку та дані, що призводить до аварійного Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ й обох! </p><p>ВідмінніÑÑ‚ÑŒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ у Ñередовищі ÑервіÑу-фону від кориÑтувацького Ñередовища робочої Ñтільниці влаÑне одна, звіÑно крім відÑутноÑÑ‚Ñ– локального графічного інтерфейÑу, це — відÑутніÑÑ‚ÑŒ у фоні Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»Ñ–, тобто мова інтерфейÑу там буде ÐнглійÑька. Та що можна проÑто виправити зміною або доданнÑм <a href="#CfgFilePrm">конфігураційного параметру</a> <b><prm id="Lang">uk_UA.UTF-8</prm></b> до Ñекції-тегу "station" файлу <b>oscada.xml</b> фонового проєкту. </p><p><br /> </p> <h2><span class="mw-headline" id=".D0.9F.D0.BE.D1.81.D0.B8.D0.BB.D0.B0.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">6</span> ПоÑиланнÑ</span></h2> <ul><li> <a class="external" href="http://oscada.org/wiki/File:Oscada_struct_uk.odg" title="File:Oscada struct uk.odg">Діаграма: Блокова Ñхема OpenSCADA.</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_subsys_daq_str_uk.odg" title="File:Oscada subsys daq str uk.odg">Діаграма: Ієрархічна Ñтруктура підÑиÑтеми "Збір даних".</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_subsys_db_str_uk.odg" title="File:Oscada subsys db str uk.odg">Діаграма: Ієрархічна Ñтруктура підÑиÑтеми "БД".</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_subsys_arch_str_uk.odg" title="File:Oscada subsys arch str uk.odg">Діаграма: Ієрархічна Ñтруктура підÑиÑтеми "Ðрхіви".</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_subsys_tr_str_uk.odg" title="File:Oscada subsys tr str uk.odg">Діаграма: Ієрархічна Ñтруктура підÑиÑтеми "ТранÑпорти" та "Протоколи".</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Scada_uk.odg" title="File:Scada uk.odg">Діаграма: Ієрархічна SCADA-ÑиÑтема.</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_use_set_uk.odg" title="File:Oscada use set uk.odg">Діаграма: Ðабір викориÑÑ‚Ð°Ð½Ð½Ñ OpenSCADA.</a></li></ul> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Documents/Program_manual/uk">Documents/Program_manual/uk</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">March 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3012</td></tr></table></body> </html>