<?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%2FFAQ&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/FAQ" title="Documents/FAQ">Documents/FAQ</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/FAQ.html" title="Documents/FAQ (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../ru/FAQ.html" title="Документы/ЧаÑто задаваемые вопроÑÑ‹ (91% translated)">mRussian</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">УкраїнÑька</span></div></div> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.9F.D0.BE.D0.BB.D1.96.D1.82.D0.B8.D1.87.D0.BD.D1.96_.D1.82.D0.B0_.D0.BA.D0.BE.D0.BD.D1.86.D0.B5.D0.BF.D1.82.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D1.96"><span class="tocnumber">1</span> <span class="toctext">Політичні та концептуальні</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.90.D1.80.D1.85.D1.96.D1.82.D0.B5.D0.BA.D1.82.D1.83.D1.80.D0.BD.D1.96.2C_.D0.B2.D0.B8.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D0.B0.D0.BD.D0.BD.D1.8F_.D1.82.D0.B0_.D0.BA.D0.BE.D1.80.D0.BE.D1.82.D0.BA.D1.96_.22.D0.AF.D0.BA_.D0.B2.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D1.82.D0.B8_....22"><span class="tocnumber">2</span> <span class="toctext">Ðрхітектурні, викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ð° короткі "Як виконати ..."</span></a> <ul> <li class="toclevel-2 tocsection-3"><a href="#.D0.AF.D0.B4.D1.80.D0.BE_OpenSCADA"><span class="tocnumber">2.1</span> <span class="toctext"><span>Ядро OpenSCADA</span></span></a></li> <li class="toclevel-2 tocsection-4"><a href="#.D0.91.D0.94"><span class="tocnumber">2.2</span> <span class="toctext">БД</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#.D0.A4.D1.96.D0.B7.D0.B8.D1.87.D0.BD.D0.B8.D0.B9_.D1.82.D0.B0_.D0.BB.D0.BE.D0.B3.D1.96.D1.87.D0.BD.D0.B8.D0.B9-.D0.B2.D1.96.D1.80.D1.82.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D0.B8.D0.B9_.D0.B7.D0.B1.D1.96.D1.80_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85"><span class="tocnumber">2.3</span> <span class="toctext">Фізичний та логічний-віртуальний збір даних</span></a></li> <li class="toclevel-2 tocsection-6"><a href="#.D0.90.D1.80.D1.85.D1.96.D0.B2.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F-.D1.96.D1.81.D1.82.D0.BE.D1.80.D1.96.D1.8F_.D1.82.D0.B0_.D0.9F.D0.BE.D1.80.D1.83.D1.88.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">2.4</span> <span class="toctext">ÐрхівуваннÑ-Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ Ñ‚Ð° ПорушеннÑ</span></a></li> <li class="toclevel-2 tocsection-7"><a href="#.D0.86.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81_.D0.BA.D1.96.D0.BD.D1.86.D0.B5.D0.B2.D0.BE.D0.B3.D0.BE_.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">2.5</span> <span class="toctext">Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÑ–Ð½Ñ†ÐµÐ²Ð¾Ð³Ð¾ кориÑтувача</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-8"><a href="#.D0.9F.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC.D0.B8_.28.D0.B0.D0.BA.D1.82.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D1.96.2C_.D0.BE.D1.82.D0.BE.D1.87.D0.B5.D0.BD.D0.BD.D1.8F.2C_.D0.B2.D0.B8.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.BE.29"><span class="tocnumber">3</span> <span class="toctext"><span>Проблеми</span> (актуальні, оточеннÑ, виправлено)</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.9F.D0.BE.D0.BB.D1.96.D1.82.D0.B8.D1.87.D0.BD.D1.96_.D1.82.D0.B0_.D0.BA.D0.BE.D0.BD.D1.86.D0.B5.D0.BF.D1.82.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D1.96"><span class="mw-headline-number">1</span> Політичні та концептуальні</span></h2> <p><b>Q:</b> OpenSCADA незрозуміла та Ñкладна у ÑприйнÑÑ‚Ñ–. Чому так та чи Ñ” інÑтрукції швидкого Ñтарту та проÑунутого "Як виконати ..."?<br /> <b>Re:</b> OpenSCADA детально опиÑано, гранично Ñтруктуровано та формалізовано. Однак Ð²Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð½ÐµÐ·Ñ€Ð¾Ð·ÑƒÐ¼Ñ–Ð»Ð¾ÑÑ‚Ñ– та ÑкладноÑÑ‚Ñ– очікувані. ВиходÑчи з цілей проєкту, програма Ñ” гранично модульною, що означає наÑвніÑÑ‚ÑŒ великої кількоÑÑ‚Ñ– варіантів конфігурації та викориÑтаннÑ. З одного боку це уÑкладнює ÑприйнÑÑ‚Ñ‚Ñ, але з іншого — підвищує шанÑи "охопленнÑ" Ñаме вашого Ñпеціалізованого завданнÑ. Окрім того, треба завжди пам'Ñтати, що Ñкладне та незрозуміле вÑе невідоме, Ñке дійÑно зовÑім необов'Ñзково Ñ” таким. І цей пÑихологічний бар'єр треба переборювати при вивченні будь чого нового. ПоÑібник зі швидкого Ñтарту Ñ–Ñнує та доÑтупний <a href="Quick_start.html" title="Special:MyLanguage/Documents/Quick start">тут</a>, розширений "Як виконати ..." також <a href="How_to.html" title="Special:MyLanguage/Documents/How to">тут</a>. </p><p><b>Q:</b> Чи працює OpenSCADA у операційній ÑиÑтемі QNX, FreeBSD, MS Windows?<br /> <b>Re:</b> OpenSCADA розроблÑєтьÑÑ Ð·Ð° принципами багатоплатформноÑÑ‚Ñ–, базуючиÑÑŒ на визнаному Ñвітовому Ñтандарті POSIX та багатоплатформених бібліотеках. Однак, у зв'Ñзку з обмеженіÑÑ‚ÑŽ реÑурÑів та інтереÑами автора Ñ– розробників, проєкт ведетьÑÑ Ð»Ð¸ÑˆÐµ у ОС Linux. Подальша Ð°Ð´Ð°Ð¿Ñ‚Ð°Ñ†Ñ–Ñ Ð´Ð¾ інших платформ запланована піÑÐ»Ñ Ð²Ð¸Ð¿ÑƒÑку верÑÑ–Ñ— 1.0 та наразі OpenSCADA працює на апаратних платформах x86, x86_64, ARM та програмній платформі Android. Підтримка тієї або іншої платформи буде залежати від зацікавленоÑÑ‚Ñ– Ñпільноти та наÑвноÑÑ‚Ñ– окремого мантейнера Ð´Ð»Ñ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ð½Ð¾-програмної платформи. </p><p><b>Q:</b> Чи можна керувати OpenSCADA за допомогою звичайного WEB-браузера?<br /> <b>Re:</b> Так, це можливо. Ð”Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA із WEB-браузера Ñтворено модулі <a href="Modules/WebCfg.html" title="Special:MyLanguage/Modules/WebCfg">UI.WebCfg</a> та <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">UI.WebCfgD</a>; Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñів оператору Ñтворено модуль <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">UI.WebVision</a> та Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацьких HTML Ñторінок Ñтворено модуль <a href="Modules/WebUser.html" title="Special:MyLanguage/Modules/WebUser">UI.WebUser</a>. Які викликаютьÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ <a href="Modules/HTTP.html" title="Special:MyLanguage/Modules/HTTP">Protocol.HTTP</a>, підÑиÑтеми "ТранÑпортні Протоколи". </p><p><b>Q:</b> Чи допуÑкає програма доданнÑ/видаленнÑ/Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð² на ходу (без зупинки)?<br /> <b>Re:</b> Цю можливіÑÑ‚ÑŒ передбачено програмою та вона забезпечуєтьÑÑ Ð¿Ñ–Ð´ÑиÑтемою "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñми". Фактично, Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð² може відбуватиÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾, піÑÐ»Ñ Ð²Ð¸ÑÐ²Ð»ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— верÑÑ–Ñ— модулÑ. </p> <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.BD.D1.96.2C_.D0.B2.D0.B8.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D0.B0.D0.BD.D0.BD.D1.8F_.D1.82.D0.B0_.D0.BA.D0.BE.D1.80.D0.BE.D1.82.D0.BA.D1.96_.22.D0.AF.D0.BA_.D0.B2.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D1.82.D0.B8_....22"><span class="mw-headline-number">2</span> Ðрхітектурні, викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ð° короткі "Як виконати ..."</span></h2> <h3><span class="mw-headline" id=".D0.AF.D0.B4.D1.80.D0.BE_OpenSCADA"><span class="mw-headline-number">2.1</span> <span id="UsingCore" title="#UsingCore">Ядро OpenSCADA</span></span></h3> <p><b>Q:</b> Яким чином реалізуєтьÑÑ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ° багатьох мов? Чи можу Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ локалізацію на рідну мову?<br /> <b>Re:</b> Багатомовна підтримка реалізована ґрунтуючиÑÑŒ на Ñтандарті інтернаціоналізації I18N. Та файли інтернаціоналізації модулів відокремлено від файлу інтернаціоналізації Ñдра програми, що забезпечує повноцінну підтримку незалежного розповÑÑŽÐ´Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° розробки модулів до OpenSCADA. Переклад програми загалом та модулів зокрема може бути виконано незалежно від наÑвноÑÑ‚Ñ– Ñ—Ñ… вихідних текÑтів. Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´Ñƒ доÑтатньо отримати *.po або *.pot файли потрібного компоненту та у звичайному текÑтовому редакторі, або Ñпеціалізованій програмі, виконати переклад повідомлень у файлах з англійÑької на потрібну мову. Ðктуальні файли ви можете отримати з <a class="external text" href="http://oscada.org/svn/trunk/OpenSCADA" rel="nofollow noreferrer noopener" target="_blank">репозиторію вихідних текÑтів проєкту</a> у теці "src/po" Ñдра програми та теках "src/moduls/{subsys}/{module}/po" модулів, а по завершенню запропонувати результати нового перекладу до Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñƒ репозиторії вихідних текÑтів, напиÑавши до <a class="external text" href="http://oscada.org/ua/forum/topics/proekt-1/" rel="nofollow noreferrer noopener" target="_blank">форуму проєкту</a> або прÑмо <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">автору та головному розробнику проєкту</a>. PO-файли не викориÑтовуютьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾ÑŽ безпоÑередньо, тому Ð´Ð»Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñ— перевірки результату перекладу та Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶ÐµÑ‚Ðµ ÑкориÑтатиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">msgfmt -vo [openscada|oscd_{ModId}].mo {lang}.po</span> Ñ– розташувати отриманий MO-файл <b>[openscada|oscd_{ModId}].mo</b> до теки "/usr/share/locale/{lang}/LC_MESSAGES" актуальної інÑталÑції OpenSCADA Ð´Ð»Ñ Ð¼Ð¾Ð²Ð¸ <i>lang</i>. </p><p><b>Q:</b> Чи можу Ñ Ñтворити Ñвій влаÑний модуль Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ Ñкої підÑиÑтеми?<br /> <b>Re:</b> Так, звіÑно. Ð”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¸ в цьому Ñтворено <a href="API.html" title="Special:MyLanguage/Documents/API">документ</a>, де практично повніÑÑ‚ÑŽ опиÑано архітектуру Ñдра, його функції та API модулів різних підÑиÑтем. Додатково Ñтворено <a href="How_to_Create_module.html" title="Special:MyLanguage/Documents/How to/Create module">поÑібник по Ñтворенню модулів до OpenSCADA</a> та Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— підÑиÑтеми Ñтворено модуль-шаблон, взÑвши за оÑнову Ñкий можна швидко Ñтворити влаÑний модуль. </p><p><b>Q:</b> Як забезпечуєтьÑÑ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð» доÑтупу?<br /> <b>Re:</b> ВикориÑтовуєтьÑÑ Ñхема безпеки подібна до UNIX ОС. Так, потрібні компоненти мають влаÑника, входÑÑ‚ÑŒ до груп та міÑÑ‚ÑÑ‚ÑŒ тріаду доÑтупу "rwxrwxrwx". Крім того цей механізм безпеки втілено у <a href="API.html#CntrNode" title="Special:MyLanguage/Documents/API">інтерфейÑÑ– ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA</a>, Ñкий Ñвоєю чергою пронизує вÑÑŽ програму. </p><p><b>Q:</b> Яким чином в OpenSCADA можна реалізовувати через-модульні зв'Ñзки?<br /> <b>Re:</b> Через-модульні зв'Ñзки можуть бути наÑтупних типів: </p> <ul><li> Стандартний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð¾Ñтупу — здійÑнюєтьÑÑ Ð·Ð° допомогою віртуального інтерфейÑу модульних підÑиÑтем.</li> <li> Розширений Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð¾Ñтупу — передбачає екÑпорт функції зовнішнього інтерфейÑу, модулем екÑпортером, та наÑтупне Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÐµÑ€Ð° до цих функцій за допомогою функцій "<a href="API.html#TModule" title="Special:MyLanguage/Documents/API">TModule::modFunc()</a>".</li> <li> Функції кориÑтувача — будь Ñкий компонент програми може реєÑтрувати влаÑні функції кориÑтувача ("<a href="API.html#TCntrNode" title="Special:MyLanguage/Documents/API">TCntrNode::objFuncCall()</a>"), Ñкі надалі можуть бути викориÑтані в оточенні кориÑтувацького Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA.</li></ul> <p><b>Q:</b> Як зібрати OpenSCADA з вихідних текÑтів?<br /> <b>Re:</b> Збірка будь Ñкого програмного проєкту з вихідних текÑтів, на ÑиÑтемній мові на кшталт C/C++ та ÑкладніÑÑ‚ÑŽ вище Ñереднього, Ñ” нетривіальним завданнÑм, оÑобливо Ð´Ð»Ñ Ñпецифічних оточень та оточень до Ñких ще не здійÑнено адаптацію. Ð”Ð»Ñ Ð²Ð¸Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° відповідна підготовка та попередній доÑвід збірки. Якщо Ñ” можливіÑÑ‚ÑŒ отримати OpenSCADA зібраною та у виглÑді готових пакунків під ваше оточеннÑ, то обов'Ñзково ÑкориÑтайтеÑÑ Ð½ÐµÑŽ! Якщо ж немає пакунків під ваше Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ ви Ñвідомо бажаєте зібрати програму з вихідних текÑтів під адаптоване Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð¾Ð´Ñ– ÑкориÑтайтеÑÑ <a href="How_to_Build_from_source.html" title="Special:MyLanguage/Documents/How to/Build from source">поÑібником Ð´Ð»Ñ Ð·Ð±Ñ–Ñ€ÐºÐ¸ з вихідних текÑтів</a>. ÐÐ´Ð°Ð¿Ñ‚Ð°Ñ†Ñ–Ñ Ð´Ð¾ збірки та роботи у інших оточеннÑÑ… Ñ” значно більш нетривіальним завданнÑм, оÑобливо до оточень дуже далеких від POSIX або понÑÑ‚Ñ‚Ñ Ð¼Ñ–Ð¶Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¾Ð²Ð¾Ñ— ÑуміÑноÑÑ‚Ñ– загалом, Ñ” окремим під-проєктом OpenSCADA та передбачає тривалий Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° кшталт <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Adaption_to_Android" title="Special:MyLanguage/Sub-projects/Adaption to Android">адаптації до Android</a>, тому не треба Ñ—Ñ— плутати із проÑтою збіркою під адаптоване оточеннÑ! </p> <h3><span class="mw-headline" id=".D0.91.D0.94"><span class="mw-headline-number">2.2</span> БД</span></h3> <p><b>Q:</b> Чи можу Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані безпоÑередньо з БД?<br /> <b>Re:</b> Так, ви можете. Ð”Ð»Ñ Ð±Ð°Ð· даних (БД), що підтримують SQL, ви можете викориÑтати <a href="User_API.html#SYS.BD" title="Special:MyLanguage/Documents/User API">функцію SQLReq()</a> до відповідної БД. Загалом та Ð´Ð»Ñ Ð½Ðµ SQL баз даних можете викориÑтати API доÑтупу до прошарку баз даних OpenSCADA у функціÑÑ… таблиці БД <a href="User_API.html#SYS.BD" title="Special:MyLanguage/Documents/User API">fieldStruct(), fieldSeek(), fieldGet(), fieldSet(), fieldDel()</a>. </p> <h3><span class="mw-headline" id=".D0.A4.D1.96.D0.B7.D0.B8.D1.87.D0.BD.D0.B8.D0.B9_.D1.82.D0.B0_.D0.BB.D0.BE.D0.B3.D1.96.D1.87.D0.BD.D0.B8.D0.B9-.D0.B2.D1.96.D1.80.D1.82.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D0.B8.D0.B9_.D0.B7.D0.B1.D1.96.D1.80_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85"><span class="mw-headline-number">2.3</span> Фізичний та логічний-віртуальний збір даних</span></h3> <p><b>Q:</b> Де Ñ– Ñк виконувати додаткову логічну обробку атрибутів параметрів, включаючи логічне зв'ÑÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ одному об'єкті?<br /> <b>Re:</b> Будь Ñка математична обробка атрибутів параметрів може виконуватиÑÑ Ñƒ обчиÑлювальних об'єктах контролеру (модулÑÑ… підÑиÑтемі "Збір даних"), наприклад, у блоковому обчиÑлювальному контролері (<a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">DAQ.BlockCalc</a>) та об'єкті контролеру ґрунтованому на Java-подібній мові (<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/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">UI.VCAEngine</a>). Щодо збору даних в цілому дивітьÑÑ Ñƒ <a href="DAQ.html" title="Special:MyLanguage/Documents/DAQ">документі</a>. </p><p><b>Q:</b> Де перевірÑÑŽÑ‚ÑŒÑÑ ÑˆÐºÐ°Ð»Ð¸ параметрів та різні уÑтавки Ñигналізації?<br /> <b>Re:</b> Перевірка шкал та уÑтавок може реалізовуватиÑÑ Ñамим контролером, з Ñигналізацією через відповідні атрибути параметрів, а також на логічному рівні параметрів, Ð´Ð»Ñ "Ñирих" джерел даних. Крім того, даний аналіз може здійÑнюватиÑÑ Ð±ÐµÐ·Ð¿Ð¾Ñередньо в Ñередовищі візуалізації та ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ (СВУ). </p><p><b>Q:</b> Чи можу Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ (прочитати та запиÑати) Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ параметру збору даних, наприклад, з процедури кориÑтувацького інтерфейÑу?<br /> <b>Re:</b> ОÑновним інтерфейÑом обміну значеннÑми параметрів збору даних з елементами або атрибутами відповідної чаÑтини OpenSCADA Ñ” Ñтатичне зв'ÑзуваннÑ, Ñке Ñ” найшвидшим. Однак Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¼Ð¾Ð²Ð° та динамічна об'єктна модель вузлів OpenSCADA дозволÑÑ” вам здійÑнювати динамічний доÑтуп до об'єктів атрибутів параметрів збору даних, наприклад, ви можете отримати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ <a href="User_API.html#SYS.DAQ" title="Special:MyLanguage/Documents/User API">функцією get()</a>. </p><p><b>Q:</b> Як Ñ Ð¼Ð¾Ð¶Ñƒ зберегти-відновити модифіковані дані на логічному рівні?<br /> <b>Re:</b> ДійÑно, інколи може знадобитиÑÑ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚Ð° потім відновленнÑ, переважно при перезапуÑку, деÑких модифікованих динамічних даних на кшталт лічильників пробігу обладнаннÑ. Ð’ цілому, обробку такого роду джерел даних та Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ñ‚Ñ€ÐµÐ±Ð° здійÑнювати на <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Logical_level" title="Special:MyLanguage/Sub-projects/Logical level">логічному рівні</a> підÑиÑтеми "Збір даних", а реалізувати Ñ—Ñ— можна багатьма ÑпоÑобами, що передбачають Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… на деÑкому Ñховищі та подальше Ñ—Ñ… відновленнÑ, однак більш відомі ÑпоÑоби це: </p> <ul><li> Періодичне, або при завершені, Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑту параметрів шаблону за допомогою запиту кориÑтувацького API OpenSCADA через <a href="User_API.html#SYS" title="Special:MyLanguage/Documents/User API">cntrReq()</a>, де "force" Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÑƒÑового Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… параметрів:</li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">SYS</span><span class="p">.</span><span class="nx">cntrReq</span><span class="p">(</span><span class="nx">SYS</span><span class="p">.</span><span class="nx">XMLNode</span><span class="p">(</span><span class="s2">"save"</span><span class="p">).</span><span class="nx">setAttr</span><span class="p">(</span><span class="s2">"path"</span><span class="p">,</span><span class="k">this</span><span class="p">.</span><span class="nx">nodePath</span><span class="p">()</span><span class="o">+</span><span class="s2">"/%2fobj"</span><span class="p">).</span><span class="nx">setAttr</span><span class="p">(</span><span class="s2">"force"</span><span class="p">,</span><span class="s2">"1"</span><span class="p">));</span> </pre></div> <ul><li> Якщо атрибут шаблону з лічильником архівуєтьÑÑ, тоді при Ñтарті параметру можете отримати оÑтаннє Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð· цього архіву, наприклад, так:</li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="k">if</span><span class="p">(</span><span class="nx">f_start</span><span class="p">)</span> <span class="nx">prevArchRestore</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">prevArchRestore</span> <span class="o">&&</span> <span class="p">(</span><span class="nx">archEnd</span><span class="o">=</span><span class="k">this</span><span class="p">.</span><span class="nx">cntr</span><span class="p">.</span><span class="nx">arch</span><span class="p">().</span><span class="nx">end</span><span class="p">(</span><span class="s2">"FSArch.1s"</span><span class="p">)))</span> <span class="p">{</span> <span class="nx">SYS</span><span class="p">.</span><span class="nx">messInfo</span><span class="p">(</span><span class="s2">"testArch"</span><span class="p">,</span> <span class="s2">"val="</span><span class="o">+</span><span class="k">this</span><span class="p">.</span><span class="nx">cntr</span><span class="p">.</span><span class="nx">arch</span><span class="p">().</span><span class="nx">getVal</span><span class="p">(</span><span class="nx">archEnd</span><span class="p">)</span><span class="o">+</span><span class="s2">"; "</span> <span class="s2">"val1="</span><span class="o">+</span><span class="k">this</span><span class="p">.</span><span class="nx">cntr</span><span class="p">.</span><span class="nx">arch</span><span class="p">().</span><span class="nx">getVal</span><span class="p">(</span><span class="nx">archEnd</span><span class="p">,</span><span class="kc">false</span><span class="p">,</span><span class="s2">"FSArch.1s"</span><span class="p">)</span><span class="o">+</span><span class="s2">"; "</span> <span class="s2">"val2="</span><span class="o">+</span><span class="k">this</span><span class="p">.</span><span class="nx">cntr</span><span class="p">.</span><span class="nx">get</span><span class="p">(</span><span class="nx">archEnd</span><span class="o">/</span><span class="mi">1000000</span><span class="p">,</span><span class="nx">archEnd</span><span class="o">%</span><span class="mi">1000000</span><span class="p">));</span> <span class="nx">cntr</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">cntr</span><span class="p">.</span><span class="nx">arch</span><span class="p">().</span><span class="nx">getVal</span><span class="p">(</span><span class="nx">archEnd</span><span class="p">);</span> <span class="nx">prevArchRestore</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span> <span class="p">}</span> </pre></div> <ul><li> Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñпеціальної таблиці БД та запиÑ/Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ†Ð¸Ñ… даних прÑмо у цю таблицю за поÑередництвом SQL-запитів через <a href="User_API.html#DB" title="Special:MyLanguage/Documents/User API">SQLReq()</a>.</li></ul> <p><b>Q:</b> Чи можна, та Ñким чином, реалізуєтьÑÑ Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð²?<br /> <b>Re:</b> Як Ñ– будь Ñка поÑÑ‚-обробка, Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² здійÑнюєтьÑÑ <a href="DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">логічним рівнем</a> шлÑхом ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ параметра, що реалізує можливіÑÑ‚ÑŒ у одному параметрі опиÑувати декілька типових давачів, Ñкі будуть мати влаÑні атрибути значень. Результуючє Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð°Ð²Ð°Ñ‡Ñ–Ð² буде поміщатиÑÑ Ð´Ð¾ узагальнювального атрибуту значеннÑ. </p> <h3><span class="mw-headline" id=".D0.90.D1.80.D1.85.D1.96.D0.B2.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F-.D1.96.D1.81.D1.82.D0.BE.D1.80.D1.96.D1.8F_.D1.82.D0.B0_.D0.9F.D0.BE.D1.80.D1.83.D1.88.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">2.4</span> ÐрхівуваннÑ-Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ Ñ‚Ð° ПорушеннÑ</span></h3> <p><b>Q:</b> Яким чином визначаєтьÑÑ Ñ†Ð¸ÐºÐ»Ñ–Ñ‡Ð½Ñ–ÑÑ‚ÑŒ архівації значень?<br /> <b>Re:</b> ÐÑ€Ñ…Ñ–Ð²Ð°Ñ†Ñ–Ñ Ñ” незалежним від контролерів та Ñ—Ñ… параметрів завданнÑм, та виконуєтьÑÑ Ð²Ð¾Ð½Ð° модульною підÑиÑтемою "<a href="Program_manual.html#CfgArch" title="Special:MyLanguage/Documents/Program manual">Ðрхіви-ІÑторіÑ</a>". Що та Ñк архівувати визначаєтьÑÑ Ð¾ÑобиÑто Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ атрибута параметру. Передбачено два режими архівації: паÑивний та активний. ПаÑивна Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ†Ñ–Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ”Ñ‚ÑŒÑÑ Ñ†Ð¸ÐºÐ»Ñ–Ñ‡Ð½Ñ–ÑÑ‚ÑŽ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… контролером — циклом Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð·Ð±Ð¾Ñ€Ñƒ даних. Ðктивна Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ†Ñ–Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÑƒÑ”Ñ‚ÑŒÑÑ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñм підÑиÑтеми архівації та незалежно від циклу та ÑпоÑобу збору даних модулем "DAQ". </p><p><b>Q:</b> У процеÑÑ– розробки-Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñƒ мене залишаютьÑÑ Ð½ÐµÐ²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ñ– активні порушеннÑ. Що з ними робити?<br /> <b>Re:</b> Так, враховуючи, що Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð´Ð¾ таблиці активних порушень чаÑто потраплÑÑŽÑ‚ÑŒ-формуютьÑÑ ÐºÐ¾Ñ€Ð¸Ñтувацькими процедурами, то "залипаннÑ" Ñ—Ñ… там може траплÑтиÑÑ. Відповідно, ви можете проÑто перезапуÑтити проєкт OpenSCADA або видалити-знÑти такі Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ñƒ <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mess_uk.png" title="File:QTCfg subsys arch mess uk.png">головній вкладці "ПовідомленнÑ" Ñторінки підÑиÑтеми "Ðрхіви-ІÑторіÑ"</a>: обираєте рівень порушень "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ (1[X]), ПОРУШЕÐÐЯ", вÑтановлюєте розмір у 0, піÑÐ»Ñ Ñ‡Ð¾Ð³Ð¾ у таблиці повідомлень мають бути вÑÑ– актуальні порушеннÑ, окремі з Ñких можна прибрати через контекÑтне меню, а вÑе видиме кнопкою під таблицею; Ð´Ð»Ñ Ð²ÐµÐ»Ð¸ÐºÐ¾Ñ— групи порушень, та не вÑÑ–Ñ…, можете виÑтавити Ñ—Ñ… чіткі характериÑтики чаÑу, Ñ€Ñ–Ð²Ð½Ñ Ñ‚Ð° категорії, щоб побачити у таблиці, а відповідно "знÑти" гуртом вÑÑ– потрібні. </p><p><b>Q:</b> Чи можлива робота з потоковими даними?<br /> <b>Re:</b> Потоковий та пакетний збір даних працює у зв'Ñзці з архівом та його буфером. Тобто джерело, отримавши пакет/блок даних, безпоÑередньо поміщає його до архіву атрибута параметра, або ж бере пакет з буферу, при потоковому виводі. </p><p><b>Q:</b> Чи можу Ñ Ð·Ð´Ñ–Ð¹Ñнити екÑпорт архівних даних (Ñ–Ñторії) у інший формат, Ñкажемо — CSV, Excel?<br /> <b>Re:</b> Загалом, екÑпортувати архівні дані можете та тут Ñ” три оÑобливоÑÑ‚Ñ–, а Ñаме: міÑце, формати та режим екÑпорту. ОÑкільки кінцевим кориÑтувачем, Ð´Ð»Ñ Ñкого ці дані формуютьÑÑ, Ñ” кориÑтувач кінцевого інтерфейÑу візуалізації — оператор, то вбудована Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ ÐµÐºÑпорту надаєтьÑÑ <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">цими інтерфейÑами</a> Ð´Ð»Ñ Ð´Ð°Ð½Ð¸Ñ… примітивів <a href="Modules/VCAEngine.html#Diagram" title="Special:MyLanguage/Modules/VCAEngine">діаграми</a> та <a href="Modules/VCAEngine.html#Document" title="Special:MyLanguage/Modules/VCAEngine">документу</a>, де можна здійÑнити екÑпорт у CSV, файл Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° HTML. Щодо інших форматів даних, оÑобливо закритих та одноплатформених на кшталт Excel, то екÑпорт у них може бути реалізовано <a href="User_API.html" title="Special:MyLanguage/Documents/User API">кориÑтувацькою процедурою</a> через загальний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— кориÑтувача Ñк прÑмим формуваннÑм, Ñкщо формат проÑтий, так Ñ– викликом зовнішньої утиліти перетвореннÑ, Ñкщо вона доÑтупна. ЕкÑпорт загалом може здійÑнюватиÑÑ Ñƒ двох режимах: інтерактивному та потоковому. Саме інтерактивний режим вбудовано у Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та він передбачає Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ñ–Ð°Ð¿Ð°Ð·Ð¾Ð½Ñƒ та ÑкоÑÑ‚Ñ– даних (даних примітивів), Ñк обмежувальних факторів доцільного чаÑу Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— операції. Потоковий режим передбачає фонове, можливо навіть разом з оÑновними процеÑами, здійÑÐ½ÐµÐ½Ð½Ñ ÐµÐºÑпорту Ñк поточних даних так Ñ– даних локальних архівів та чаÑто викориÑтовуєтьÑÑ Ð´Ð»Ñ ÐµÐºÑпорту у таблицю БД з потрібною Ñтруктурою. ЕкÑпорт із Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ñ€Ð¾Ð±ÐºÐ¸, Ñк Ñ– потоковий режим, вбудованими функціÑми не передбачаєтьÑÑ, окрім екÑпериментальних на кшталт екÑпорту у WAV. Це, за потреби, може бути реалізовано <a href="Libs_Service_procedures.html" title="Special:MyLanguage/Libs/Service procedures">ÑервіÑною процедурою</a> або чаÑтиною коду оÑновного процеÑу Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð²Ð¾Ð³Ð¾ режиму. </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.BA.D1.96.D0.BD.D1.86.D0.B5.D0.B2.D0.BE.D0.B3.D0.BE_.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">2.5</span> Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÑ–Ð½Ñ†ÐµÐ²Ð¾Ð³Ð¾ кориÑтувача</span></h3> <p><b>Q:</b> Яким чином здійÑнюєтьÑÑ ÑÐ¸Ð³Ð½Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð¼Ð¾Ð²Ð¾ÑŽ та що треба Ð´Ð»Ñ Ñ—Ñ— функціюваннÑ?<br /> <b>Re:</b> Ð¡Ð¸Ð³Ð½Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð¼Ð¾Ð²Ð¾ÑŽ, Ñк Ñ– інші методи Ñигналізації, Ñ” елементом підÑиÑтеми "ІнтерфейÑи кориÑтувача" та здійÑнюєтьÑÑ Ñƒ модулÑÑ… Ñередовища візуалізації та ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ (СВУ), а Ñаме у рушії СВУ <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">UI.VCAEngine</a> та візуалізаторах <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">UI.Vision</a> Ñ– <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">UI.WebVision</a>. Зазвичай, Ð´Ð»Ñ Ñинтезу мови необхідний відповідний Ñинтезатор з підтримкою потрібної мови, на кшталт <b>RHVoice</b>, <b>festival</b>, <b>espeak</b>. Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ñинтезованого звуку вам не потрібно Ñпецифічних заÑобів у типовому оточені. Ðле, Ð´Ð»Ñ Ñпецифічних оточень, потрібна програма <b>play</b>, що типово міÑтитьÑÑ Ñƒ пакеті <b>sox</b> та Ð´Ð»Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñтей дивітьÑÑ Ñƒ <a href="Modules/VCAEngine.html#Alarms" title="Special:MyLanguage/Modules/VCAEngine">відповідних процедурах зовнішніх методів ÑповіщеннÑ</a>. </p><p><b>Q:</b> Як Ñ Ð¼Ð¾Ð¶Ñƒ швидко та коректно змінити ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін екрану візуального інтерфейÑу кориÑтувача на інше, наприклад, на 16:9?<br /> <b>Re:</b> Так, оÑновний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ñ€Ð¸Ñтувача OpenSCADA, заÑнований на концепції об'єктів Ñигналізації та Ñ—Ñ— <a href="Libs_Main_graphical_elements.html#RootPgSo" title="Special:MyLanguage/Libs/Main graphical elements">кореневій Ñторінці</a>, приÑтоÑовано та розроблено до ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін 4:3. Ð”Ð»Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… проєктів СВУ заплановано реалізацію відповідних Ñтилів на різні ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін однак мнемоÑхеми мають залишатиÑÑ Ð½ÐµÐ·Ð¼Ñ–Ð½Ð½Ð¸Ð¼Ð¸. Відтак, Ð´Ð»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ñ—, швидкої та коректної зміни ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін наразі маєте виконати наÑтупне у дереві проєкту СВУ: </p> <ul><li> Ð’Ñтановити, або помножити оригінальне, атрибут "ГеометріÑ: x маÑштаб" (geomX) у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (16/9)/(4/3) = 1.333, длÑ: <ul><li> <a href="Libs_Main_graphical_elements.html#RootPgSo" title="Special:MyLanguage/Libs/Main graphical elements">кореневої Ñторінки</a>;</li> <li> вÑÑ–Ñ… шаблонних Ñторінок на кшталт "<a href="Libs_Main_graphical_elements.html#grpGraph" title="Special:MyLanguage/Libs/Main graphical elements">Групи графіків</a>", лише у Ñторінок, викориÑтаних Ñк шаблони;</li> <li> вÑÑ–Ñ… Ñторінок документів та панелей керуваннÑ, індивідуально.</li></ul></li> <li> Через те, що Ñторінки мнемоÑхем рідко допуÑкають зміну оригінального ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін, з причини викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¸Ñ… фігур на кшталт кола та квадратів, ми вимушені розроблÑти ці кадри від початку та у розмірі [900*1.333 x 550] = [1199 x 550].</li></ul> <p><b>Q:</b> Як Ñ Ð¼Ð¾Ð¶Ñƒ підключити візуалізатор UI.Vision до віддаленого Ñерверу візуалізації або до ПЛК з цією функцією?<br /> <b>Re:</b> Так, ви можете Ñтворювати Ñервери візуалізації та ПЛК, заÑновані на модулі <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">UI.VCAEngine</a>, зі вÑіма даними СВУ проєктів візуалізації кориÑтувачів на них та очевидно зі вÑтановленою там OpenSCADA. Ðадалі ви можете підключатиÑÑ Ð´Ð¾ цих віддалених Ñерверів візуалізації та ПЛК за допомогою Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">UI.Vision</a> Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— розробки та візуалізації віддалених проєктів візуалізації кориÑтувача. Детальну інÑтрукцію можете отримати у розділі "<a href="Quick_start.html#RemConUse" title="Special:MyLanguage/Documents/Quick start">ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° викориÑÑ‚Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¸Ñ… та фонових конфігурацій</a>" <a href="Quick_start.html" title="Special:MyLanguage/Documents/Quick start">поÑібника зі Швидкого Старту</a> та тут ви отримаєте коротку інÑтрукцію. Ð¦Ñ ÐºÐ¾Ñ€Ð¾Ñ‚ÐºÐ° інÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ Ñ‚Ð°ÐºÐ¾Ð¶ кориÑна Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾Ð³Ð¾ контролю Ñерверів візуалізації та ПЛК! Ð”Ð»Ñ Ð·Ð´Ñ–Ð¹ÑÐ½ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ маєте на клієнтÑькій Ñтанції дотримуватиÑÑ Ð½Ð°Ñтупної процедури з модулем UI.Vision та з будь Ñкою конфігурацією включно з порожньою: </p> <ul><li> Створити Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ візуального Ñерверу або ПЛК, Ñк Ñтанції OpenSCADA, на <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_sub_uk.png" title="File:QTCfg subsys tr sub uk.png">Ñторінці транÑпортів</a> будь Ñкого конфігуратору OpenSCADA у режимі "СиÑтемний". Якщо також вÑтановите режим "КориÑтувацький", то піÑÐ»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´ÐµÑ€ÐµÐ²Ð° навігації зможете контролювати віддалену Ñтанцію з цього конфігуратору та кориÑтувача.</li> <li> Обрати на <a class="external" href="http://oscada.org/wiki/File:Vision_cfg.png" title="File:Vision cfg.png">Ñторінці візуалізатору</a> будь Ñкого конфігуратору OpenSCADA: нове підключеннÑ, кориÑтувача запуÑку, пароль кориÑтувача цієї віддаленої Ñтанції та проєкту(ів) Ð´Ð»Ñ Ñ—Ñ… автоматичного виконаннÑ, інакше отримаєте режим розробки. ÐаÑтупний запуÑк Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.Vision має призвеÑти до вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ віддаленого Ñерверу візуалізації або ПЛК з розробкою або виконаннÑм Ñ—Ñ… проєктів. Ð”Ð»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ Ñтанції разом із кориÑтувачем та паролем при загальному виклику Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð²Ð¸ можете обрати підключеннÑ-Ñтанцію "<Вибір>", кориÑно за наÑвноÑÑ‚Ñ– багато Ñтанцій ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ñ… з них одночаÑно.</li></ul> <p><b>Q:</b> Як Ñ Ð¼Ð¾Ð¶Ñƒ автоматично запуÑтити OpenSCADA з відповідним оперативним інтерфейÑом кориÑтувача — проєктом диÑпетчерÑького контролю?<br /> <b>Re:</b> ЗвіÑно, піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу розробки маєте забезпечити запуÑк програми разом із запуÑком операційної ÑиÑтеми та повно-екранне Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚ÑƒÑŽÑ‡Ð¾Ð³Ð¾ оперативного інтерфейÑу кориÑтувача. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ маєте дотримуватиÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¸: </p> <ul><li> Забезпечте Ñпецифічні до ÑиÑтеми заходи запуÑку Ñамої OpenSCADA з вашим проєктом. Тут маєте попередньо Ñтворити або знайти іконку робочого Ñтолу вашого проєкту у OpenSCADA з <a href="Program_manual.html#Projects" title="Special:MyLanguage/Documents/Program manual">менеджеру проєктів OpenSCADA</a> та Ñкопіювати або розташувати Ñ—Ñ— у теці або переліку програм, що запуÑкаютьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ вашим оточеннÑм робочої Ñтільниці. Деталі дивітьÑÑ Ñƒ документації на відповідне Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ñ— Ñтільниці.</li> <li> Оберіть запуÑк Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">UI.Vision</a> із загальним запуÑком OpenSCADA, у <a href="Modules/QTStarter.html#Cfg" title="Special:MyLanguage/Modules/QTStarter">полі "Модулі Qt Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку" Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.QTStarter</a> з будь Ñкого конфігуратору OpenSCADA.</li> <li> Оберіть Ваш проєкт СВУ Ð´Ð»Ñ Ð¹Ð¾Ð³Ð¾ автоматичного виконаннÑ, у <a href="Modules/Vision.html#Cfg" title="Special:MyLanguage/Modules/Vision">полі "Перелік проєктів Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку" Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.Vision</a> з будь Ñкого конфігуратору OpenSCADA. Тут ми також рекомендуємо вÑтановити Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ кориÑтувача, відмінного від ÑиÑтемного, звіÑно із правами на цей проєкт.</li></ul> <p><b>Q:</b> Чи можу Ñ Ð¿Ñ–Ð´Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ñ‚Ð¸ мій проєкт під дещо Ñпецифічне Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð½Ñ (брендінг)?<br /> <b>Re:</b> БільшіÑÑ‚ÑŒ візуального Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð½Ñ (брендінгу) кінцевого кориÑтувача розташовано у <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">кінцевому інтерфейÑÑ– СВУ кориÑтувача</a>, але ви можете також забажати підлаштувати Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ñтавки, іконки та подібне: </p> <ul><li> іконка праворуч нагорі кадру "<a href="Libs_Main_graphical_elements.html#RootPgSo" title="Special:MyLanguage/Libs/Main graphical elements">Коренева Ñторінка (СО)</a>" — проÑто завантажте ваше Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð¾ <a class="external" href="http://oscada.org/wiki/File:Vision_wlbpg_mime_uk.png" title="File:Vision wlbpg mime uk.png">реÑурÑів проєкту</a> Ñк "logo", бажано у розмірі <b>110x55</b> пікÑелів (2x1);</li> <li> іконка вікна-Ñторінки проєкту при виконанні — проÑто завантажте вашу <a class="external" href="http://oscada.org/wiki/File:Vision_wlbpg_uk.png" title="File:Vision wlbpg uk.png">іконку проєкту</a>, бажано у розмірі <b>128x128</b> пікÑелів, або очиÑÑ‚Ñ–Ñ‚ÑŒ це Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ñ— іконки проєкту (дивітьÑÑ Ð½Ð¸Ð¶Ñ‡Ðµ) Ñка може бути перекладена — залежна від мови поточного інтерфейÑу;</li> <li> <a class="external" href="http://oscada.org/wiki/File:QTStarter_splash_uk.png" title="File:QTStarter splash uk.png">Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñтартової заÑтавки</a> проєкту — підготуйте предÑтавницьке зображеннÑ, бажано у розмірі <b>600x300</b>, та розташуйте його до <a href="Program_manual.html#Config" title="Special:MyLanguage/Documents/Program manual">теки іконок проєкту</a> із назвою "<b>{ProjectID}_splash.[png|gif|jpg|jpeg]</b>" Ð´Ð»Ñ Ð·Ð°Ñтавки запуÑку та виходу Ñ– "<b>{ProjectID}_splash_exit.[png|gif|jpg|jpeg]</b>" Ð´Ð»Ñ Ð·Ð°Ñтавки виходу;</li> <li> Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ñ— іконки проєкту Ð´Ð»Ñ <a class="external" href="http://oscada.org/wiki/File:QTCfg_listelem.png" title="File:QTCfg listelem.png">дерева навігації конфігураторів OpenSCADA</a> — підготуйте предÑтавницьке зображеннÑ, бажано у розмірі <b>128x128</b>, та розташуйте його до <a href="Program_manual.html#Config" title="Special:MyLanguage/Documents/Program manual">теки іконок проєкту</a> із назвою "<b>{ProjectName}.[png|gif|jpg|jpeg]</b>", де <i>ProjectName</i> може бути або Ñпецифічним до мови або на Базовій Мові Ð´Ð»Ñ Ð²ÑÑ–Ñ… випадків або навіть обидві Ñкщо ваш проєкт Ñ” <a href="Create_multi_language_project.html" title="Special:MyLanguage/Documents/How to/Create multi language project">багатомовним</a>.</li></ul> <p><b>Q:</b> Оперативний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ запуÑкаєтьÑÑ Ð½Ð° веÑÑŒ екран та Ñ Ð½Ðµ можу його закрити Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу до ÑиÑтемного Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ñ— Ñтільниці!<br /> <b>Re:</b> ЗвіÑно, OpenSCADA захищає ÑиÑтему контролю від Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ð° непривілейованого доÑтупу до ÑиÑтемного Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ñ— Ñтільниці. Відтак, Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу до ÑиÑтемного Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ñ— Ñтільниці ви маєте бути привілейованим кориÑтувачем, змінити кориÑтувача інтерфейÑу на Ñвій обліковий Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð° у глобальному меню, що виникло, здійÑнити потрібне: вимкнути повно-екранний режим, закрити або вийти з програми. Якщо глобальне меню не з'ÑвлÑєтьÑÑ Ñ‚Ð¾ маєте проблемне Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ð³Ð¾ проÑтору, Ñк то Unity, Ñке "відриває" меню вікна; відтак, попередньо вимкніть цю функцію оточеннÑ! </p><p><b>Q:</b> Я можу легко підключати аналогові Ñигнали Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ трендів примітивом <a href="Modules/VCAEngine.html#Diagram" title="Special:MyLanguage/Modules/VCAEngine">Діаграма</a>, але викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚ÑƒÑ‚ диÑкретних-логічних Ñигналів не Ñ” таким очевидним...<br /> <b>Re:</b> Так, примітив <a href="Modules/VCAEngine.html#Diagram" title="Special:MyLanguage/Modules/VCAEngine">Діаграма</a> розроблено переважно Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¸Ñ… Ñигналів, але можете також викориÑтовувати тут диÑкретні-логічні Ñигнали Ñк аналогові із двома Ñтанами [0,1], тож Ñ—Ñ… натуральна шкала це [0...1] Ñ– Ñкщо підключите один Ñигнал у автоматичній-натуральній шкалі, то отримаєте його на веÑÑŒ екран, із заповненими Ñтрічками Ð´Ð»Ñ Ñтану ПРÐВДР(TRUE). Ðле це не дуже зручно та ви не зможете поєднувати його із іншими аналоговими або диÑкретними-логічними Ñигналами навіть у напівпрозорому кольорі, тож маєте вручну визначити шкалу Ð´Ð»Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñтрічки диÑкретного-логічного Ñигналу у потрібній чаÑтині екрану. ДеÑкі приклади шкал: </p> <ul><li> <b>[0...5]</b> — ділите екран по вертикалі на п'ÑÑ‚ÑŒ Ñтрічок та відображаєте Ñигнал унизу;</li> <li> <b>[-4...1]</b> — ділите екран по вертикалі на п'ÑÑ‚ÑŒ Ñтрічок та відображаєте Ñигнал нагорі;</li> <li> <b>[-2...3]</b> — ділите екран по вертикалі на п'ÑÑ‚ÑŒ Ñтрічок та відображаєте Ñигнал уцентрі;</li> <li> <b>[0...10]</b> — ділите екран по вертикалі на деÑÑÑ‚ÑŒ Ñтрічок та відображаєте Ñигнал унизу.</li></ul> <p><b>Q:</b> Я маю дуже навантажену ÑиÑтему із багатьма процеÑами OpenSCADA, Ñкі працюють через Web Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñ‚Ð° Ñ Ð±Ð°Ð¶Ð°ÑŽ зменшити Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° Ñервер Ñ– приÑкорити вÑÑ– ці інтерфейÑи.<br /> <b>Re:</b> Так, типово інтерфейÑи OpenSCADA Ñтворено Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð° деÑкої доÑтатньо швидкої періодичноÑÑ‚Ñ– перенеÑеннÑ-Ð¶Ð¸Ñ‚Ñ‚Ñ (100 мÑ) Ñка переважно підходить Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¸Ñ… локальних Qt-інтерфейÑів <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.Vision</a> із виÑокою реактивніÑÑ‚ÑŽ, та на доÑтатньо швидких мережах при функціюванні із Ñервером візуалізації. Ðле наразі можете підлаштувати ваш Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ð´Ð¾ÑÑÐ³Ð½ÐµÐ½Ð½Ñ Ð·Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñƒ рази: </p> <ul><li> першим та очевидним кроком Ñ” Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð¿ÐµÑ€Ñ–Ð¾Ð´Ð¸Ñ‡Ð½Ð¾ÑÑ‚Ñ– перенеÑеннÑ-Ð¶Ð¸Ñ‚Ñ‚Ñ Ð² <a class="external" href="http://oscada.org/wiki/File:Vision_wlbpg_uk.png" title="File:Vision wlbpg uk.png">конфігурації Проєкту СВУ</a>, де можете вÑтановити "Період обчиÑленнÑ" у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾ 500 Ð¼Ñ Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¸Ñ… локальних Qt-інтерфейÑів <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.Vision</a> та до 1000 Ð¼Ñ Ð´Ð»Ñ Ð½ÐµÑˆÐ²Ð¸Ð´ÐºÐ¸Ñ… Web-інтерфейÑів <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.WebVision</a>;</li> <li> другим кроком Ñ” вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€Ñ–Ð¾Ð´Ñƒ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¸Ñ… даних залежно від того, що ви вважаєте доÑтатньо чаÑтим, або вимкнути періодичне Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð·Ð°Ð³Ð°Ð»Ñ– вÑтановленнÑм періодичноÑÑ‚Ñ– у -2; та здійÑнити це Ð´Ð»Ñ <a href="Libs_Main_graphical_elements.html#RootPgSo" title="Special:MyLanguage/Libs/Main graphical elements">головної-кореневої Ñторінки</a> у <a class="external" href="http://oscada.org/wiki/File:Vision_wdg_uk.png" title="File:Vision wdg uk.png">конфігурації Віджету</a> дерева вашого проєкту; те Ñаме можете здійÑнити Ð´Ð»Ñ Ð²ÑÑ–Ñ… панелей розташованих у групі "Панелі ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ (control)" логічної Ñтруктури проєкту від головної-кореневої Ñторінки, вÑтановивши потрібну періодичніÑÑ‚ÑŒ Ð´Ð»Ñ Ñамої групи;</li> <li> третім кроком Ñ” Ð·Ð°Ð³Ð»Ð¸Ð±Ð»ÐµÐ½Ð½Ñ Ñƒ адаптацію ваших віджетів-кадрів Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð½Ð° великих періодичноÑÑ‚ÑÑ… без втрати реактивноÑÑ‚Ñ– на кшталт вже адаптованих у Ñтандартній бібліотеці Ñк <a href="Libs_Main_graphical_elements.html#RootPgSo" title="Special:MyLanguage/Libs/Main graphical elements">оÑновна-коренева Ñторінка</a> та <a href="Libs_Main_graphical_elements.html#anShow" title="Special:MyLanguage/Libs/Main graphical elements">Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾</a>; та Ñ†Ñ Ð°Ð´Ð°Ð¿Ñ‚Ð°Ñ†Ñ–Ñ Ð¿ÐµÑ€ÐµÐ²Ð°Ð¶Ð½Ð¾ передбачає: <ul><li> надÑÐ¸Ð»Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацьких подій за потреби у швидкому оновлені у наÑтупному циклі Ð¶Ð¸Ñ‚Ñ‚Ñ Ð¿Ñ–ÑÐ»Ñ Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð´Ñ–Ð¹;</li> <li> контроль періодичноÑÑ‚Ñ– Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ узалежнено від Ñитуаційної активноÑÑ‚Ñ– на кшталт Ð±Ð»Ð¸Ð¼Ð°Ð½Ð½Ñ ÐºÑƒÑ€Ñору Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð° кольорів Ñигналізації.</li></ul></li></ul> <h2><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC.D0.B8_.28.D0.B0.D0.BA.D1.82.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D1.96.2C_.D0.BE.D1.82.D0.BE.D1.87.D0.B5.D0.BD.D0.BD.D1.8F.2C_.D0.B2.D0.B8.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.BE.29"><span class="mw-headline-number">3</span> <span id="Problems" title="#Problems">Проблеми</span> (<a class="external text" href="http://oscada.org/ua/forum/zbirnii-forum/?tx_mmforum_pi1%5Baction%5D=list_prefix&tx_mmforum_pi1%5Blist_prefix%5D%5Bprfx%5D=BugConfirmed" rel="nofollow noreferrer noopener" target="_blank">актуальні</a>, <a class="external text" href="http://oscada.org/ua/forum/zbirnii-forum/?tx_mmforum_pi1%5Baction%5D=list_prefix&tx_mmforum_pi1%5Blist_prefix%5D%5Bprfx%5D=BugEnvironment" rel="nofollow noreferrer noopener" target="_blank">оточеннÑ</a>, <a class="external text" href="http://oscada.org/ua/forum/zbirnii-forum/?tx_mmforum_pi1%5Baction%5D=list_prefix&tx_mmforum_pi1%5Blist_prefix%5D%5Bprfx%5D=BugFixed" rel="nofollow noreferrer noopener" target="_blank">виправлено</a>)</span></h2> <p><b>Q:</b> Чому Ñ Ð²Ñ‚Ñ€Ð°Ñ‚Ð¸Ð² дробову чаÑтину у вÑÑ–Ñ… завантажених значеннÑÑ… реального типу?<br /> <b>Re:</b> Ви викориÑтовуєте локаль, відмінну від "C" або загальної ÐнглійÑької, та вÑтановлюєте Ñ—Ñ— прÑмо, змінною Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ "LC_NUMERIC" або Ñ—Ñ— загальним варіантом "LC_ALL", що призводить до викориÑÑ‚Ð°Ð½Ð½Ñ Ñƒ функціÑÑ… на кшталт atof() та sprintf() Ñимволу роздільника дробової чаÑтини відмінного від "." (крапка), чаÑто це "," (кома). </p> <dl><dd> <b>!></b> Тобто, ніколи не вÑтановлюйте змінних Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ "LC_NUMERIC" та "LC_ALL" прÑмо оÑкільки вони перевизначають коректне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ "LC_NUMERIC" у "C", в Ñередині! Ð”Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ мови програми викориÑтовуйте тільки змінні "LANG" та "LANGUAGE", Ñких завжди доÑтатньо.</dd> <dd> <b>+></b> Ðаразі проблему повніÑÑ‚ÑŽ виключено, через перевірку та Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ "LC_ALL"!</dd></dl> <p><b>Q:</b> "Ðемає доÑтупу Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ñ‚Ð¸ÐºÐ¸ реального чаÑу Ð´Ð»Ñ '****'. Створено звичайну нитку!"<br /> <b>Re:</b> Таке Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ OpenSCADA формує при Ñпробі вÑтановити Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ-Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð¿Ð¾Ð»Ñ–Ñ‚Ð¸ÐºÐ¸ реального чаÑу, за пріоритетом більше 0, у випадку запуÑку від звичайного кориÑтувача. </p> <dl><dd> <b>+></b> Потенційно такі права можна надати шлÑхом Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ "/etc/security/limits.conf" наÑтупним чином:</dd></dl> <pre style="white-space: pre;"> user hard nice -20 user soft nice -15 user hard rtprio 99 user soft rtprio 90 </pre> <p><b>Q:</b> Я ÑпоÑтерігаю відÑутніÑÑ‚ÑŒ вÑÑ–Ñ… текÑтових міток на графіках (примітив "Діаграма") інтерфейÑів Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">UI.WebVision</a>. Чому так?<br /> <b>Re:</b> Такий результат можливий на інтерфейÑах, побудованих на бібліотеці GD, та Ñкщо Ñама Ñ†Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ° зібрана без викориÑÑ‚Ð°Ð½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ FontConfig. Ðа цей Ñ‡Ð°Ñ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ модуль <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">UI.WebVision</a> викориÑтовує цю бібліотеку Ð´Ð»Ñ Ð²Ð¸ÐºÐ»ÑŽÑ‡Ð½Ð¾Ñ— побудови примітивів "Елементарна Фігура" та "Діаграма". </p> <dl><dd> <b>+></b> Відтак, Ð´Ð»Ñ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— проблеми маєте вÑтановити коректний пакет-збірку бібліотеки або ÑклаÑти бібліотеку ÑамоÑтійно з FontConfig. Ðаразі відомо один випадок такого Ñорту проблеми з пакетом "libgd2-noxpm" Ñтарих верÑій диÑтрибутиву Linux Debian, де Ви маєте вÑтановити коректний пакет "libgd2-xpm".</dd></dl> <p><b>Q:</b> Я ÑпоÑтерігаю відÑутніÑÑ‚ÑŒ SVG-зображень у інтерфейÑах Qt. Чому так?<br /> <b>Re:</b> Як правило це вказує на відÑутніÑÑ‚ÑŒ у ÑиÑтемі Qt-Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð´Ð»Ñ SVG-графіки, наприклад, пакет "libqt5svg5" у Linux диÑтрибутивах на оÑнові Debian. </p> <dl><dd> <b>+></b> Ð’Ñтановіть пакет або безпоÑередньо Qt-втулок підтримки SVG-графіки.</dd></dl> </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/FAQ/uk">Documents/FAQ/uk</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body> </html>