<?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%2FQuick+start&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/Quick_start" title="Documents/Quick start">Documents/Quick start</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/Quick_start.html" title="Documents/Quick start (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../ru/Quick_start.html" title="Документы/БыÑтрый Ñтарт (99% 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><br /> <font size="-2"><i>МакÑим ЛиÑенко (2010-2012)</i></font></li> <li> <b>Відео-доповненнÑ:</b> <ul><li> <a class="external text" href="http://ftp.oscada.org/OpenSCADA/0.8.0/doc/ru/QuickStart.mkv" rel="nofollow noreferrer noopener" target="_blank">Офіційне Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ OpenSCADA 0.8.0 LTS</a> (заÑтаріле, <a class="image" href="http://oscada.org/wiki/File:MRu.png"><img alt="MRu.png" height="13" src="../en/files/MRu.png" width="21" /></a>), <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a>, 2012</li> <li> <a class="external text" href="https://www.youtube.com/playlist?list=PLIE6cVnMQoAkVccU9mGMIPNYVVug-LVau" rel="nofollow noreferrer noopener" target="_blank">Відео "Як (How to) ..." від Сергію Карпешу</a> (<a class="image" href="http://oscada.org/wiki/File:MRu.png"><img alt="MRu.png" height="13" src="../en/files/MRu.png" width="21" /></a>), Сергій Карпеш, 2018</li></ul></li> <li> <b>Початково Ñтворено:</b> у <a class="external text" href="http://wiki.oscada.org/HomePageEn/Doc/QuickStart" rel="nofollow noreferrer noopener" target="_blank">Ñтарій Wiki</a></li> <li> <b>Цілковито переглÑнуто:</b> 12.01.7532/12.03.2024</li></ul> </div> <p>OpenSCADA Ñ” гранично модульною, гнучкою та багатофункційною SCADA-ÑиÑтемою. Як наÑлідок, перше знайомÑтво з OpenSCADA може бути доÑтатньо Ñкладним з причини малих шанÑів ÑÐ¿Ñ–Ð²Ð¿Ð°Ð´Ñ–Ð½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ доÑвіду кориÑтувача з підходами OpenSCADA або повної відÑутноÑÑ‚Ñ– такого доÑвіду. Значним чином, однак, це лише перше Ð²Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¾Ñкільки вÑÑ Ð¿Ð¾Ñ‚ÑƒÐ¶Ð½Ñ–ÑÑ‚ÑŒ OpenSCADA опинÑєтьÑÑ Ð² руках кориÑтувача Ñ– від Ñ€Ð¾Ð·Ð¼Ð°Ñ—Ñ‚Ñ‚Ñ Ñкої він може розгубитиÑÑ Ñ‚Ð° йому можуть знадобитиÑÑ Ð·Ð½Ð°Ñ‡Ð½Ñ– зуÑÐ¸Ð»Ð»Ñ Ð´Ð»Ñ Ð²Ñ–Ð´Ð±Ð¾Ñ€Ñƒ потрібних у вирішені його Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹. </p><p>З цієї причини, та Ð´Ð»Ñ Ð½Ð°Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾Ñ— концепції викориÑÑ‚Ð°Ð½Ð½Ñ OpenSCADA, Ñтворено цей документ. Документ на прикладах, та у доÑтатньо короткій Ñ– наочній формі, надає шлÑÑ… від вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° запуÑку OpenSCADA до ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² кориÑтувацького інтерфейÑу. У ÑкоÑÑ‚Ñ– цільової допомоги в конфігурації, реалізації та вирішені типових завдань довкола OpenSCADA, також може бути викориÑтано документи <a href="FAQ.html" title="Special:MyLanguage/Documents/FAQ">ЧаÑÑ‚Ñ– питаннÑ</a> та "<a href="How_to.html" title="Special:MyLanguage/Documents/How to">Як (How to) ...</a>". </p><p>Документ призначено Ð´Ð»Ñ OpenSCADA верÑÑ–Ñ— 0.9 Ñ– вище. Якщо-ж Ð²Ð°Ñ Ñ†Ñ–ÐºÐ°Ð²Ð¸Ñ‚ÑŒ цей документ Ð´Ð»Ñ Ñ€Ð°Ð½Ð½Ñ–Ñ… верÑій, то можете його отримати із документації що їде з пакетами тієї верÑÑ–Ñ— OpenSCADA або із <a class="external text" href="http://wiki.oscada.org/HomePageEn/Doc/QuickStart" rel="nofollow noreferrer noopener" target="_blank">цього документу Ñтарої Wiki</a>. </p><p>Документ не міÑтить детального опиÑу концепції Ñ– Ð·Ð°Ð³Ð»Ð¸Ð±Ð»ÐµÐ½Ð½Ñ Ñƒ деталі OpenSCADA, а надає поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° інші документи, що міÑÑ‚ÑÑ‚ÑŒ таку інформацію, та в першу чергу це <a href="Program_manual.html" title="Special:MyLanguage/Documents/Program manual">ПоÑібник по програмі</a>. </p><p>Документ будуєтьÑÑ Ñинхронно з реалізацією прикладів на підключені до демонÑтраційної бази даних (БД) <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Model_AGLKS" title="Special:MyLanguage/Using/Model AGLKS">моделі "ÐГЛКС"</a> у ролі джерела даних — ПЛК. Відповідно, кориÑтувач має отримати диÑтрибутив OpenSCADA з цією БД, про що детальніше у розділі <a href="#Installation">Ð’ÑтановленнÑ</a>! </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.A2.D0.B5.D1.80.D0.BC.D1.96.D0.BD.D0.B8.2C_.D0.B2.D0.B8.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.D1.82.D0.B0_.D0.B0.D0.B1.D1.80.D0.B5.D0.B2.D1.96.D0.B0.D1.82.D1.83.D1.80.D0.B8"><span class="tocnumber">1</span> <span class="toctext">Терміни, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° абревіатури</span></a> <ul> <li class="toclevel-2"><a href="#.D0.A2.D0.B5.D1.80.D0.BC.D1.96.D0.BD.D0.B8_.D1.82.D0.B0_.D0.B2.D0.B8.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">1.1</span> <span class="toctext">Терміни та визначеннÑ</span></a></li> <li class="toclevel-2"><a href="#.D0.92.D0.B6.D0.B8.D0.B2.D0.B0.D0.BD.D1.96_.D1.81.D0.BA.D0.BE.D1.80.D0.BE.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">1.2</span> <span class="toctext">Вживані ÑкороченнÑ</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-2"><a href="#.D0.92.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_OpenSCADA"><span class="tocnumber">2</span> <span class="toctext"><span>Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA</span></span></a> <ul> <li class="toclevel-2"><a href="#.D0.92.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_OpenSCADA_.D0.B7_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.B8.D1.85_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D1.96.D0.B2"><span class="tocnumber">2.1</span> <span class="toctext"><span>Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA з готових пакетів</span></span></a> <ul> <li class="toclevel-3"><a href="#.D0.94.D0.BE.D0.B4.D0.B0.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D1.80.D0.B5.D0.BF.D0.BE.D0.B7.D0.B8.D1.82.D0.BE.D1.80.D1.96.D1.8E_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D1.96.D0.B2_.D1.96_.D0.B2.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_OpenSCADA_.D0.B7_.D0.BD.D1.8C.D0.BE.D0.B3.D0.BE"><span class="tocnumber">2.1.1</span> <span class="toctext"><span>Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ñ–ÑŽ пакетів Ñ– вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA з нього</span></span></a></li> <li class="toclevel-3"><a href="#.D0.A0.D1.83.D1.87.D0.BD.D0.B5_.D0.B2.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D1.96.D0.B2_OpenSCADA"><span class="tocnumber">2.1.2</span> <span class="toctext">Ручне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÐµÑ‚Ñ–Ð² OpenSCADA</span></a></li> </ul> </li> <li class="toclevel-2"><a href="#.D0.92.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F-.D1.81.D0.BA.D0.BB.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D1.8F_.D0.B7_.D0.B2.D0.B8.D1.85.D1.96.D0.B4.D0.BD.D0.B8.D1.85_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D1.96.D0.B2"><span class="tocnumber">2.2</span> <span class="toctext">Ð’ÑтановленнÑ-ÑÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ Ð· вихідних текÑтів</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-3"><a href="#.D0.9F.D0.B5.D1.80.D0.B2.D0.B8.D0.BD.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_.D1.82.D0.B0_.D0.B7.D0.B0.D0.BF.D1.83.D1.81.D0.BA"><span class="tocnumber">3</span> <span class="toctext">Первинна ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ‚Ð° запуÑк</span></a> <ul> <li class="toclevel-2 tocsection-4"><a href="#.D0.97.D0.B0.D0.B3.D0.B0.D0.BB.D1.8C.D0.BD.D0.B8.D0.B9_.D0.BE.D0.B3.D0.BB.D1.8F.D0.B4"><span class="tocnumber">3.1</span> <span class="toctext">Загальний оглÑд</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#.D0.A4.D0.BE.D0.BD.D0.BE.D0.B2.D0.B5_.D1.82.D0.B0_.D0.B2.D1.96.D0.B4.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B5_.D0.B2.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D0.BD.D0.BD.D1.8F_.E2.80.94_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.2C_.D1.81.D0.B5.D1.80.D0.B5.D0.B4.D0.BE.D0.B2.D0.B8.D1.89.D0.B5_.D0.B2.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D0.BD.D0.BD.D1.8F_.D0.9F.D0.9B.D0.9A_.D1.82.D0.B0_.D0.B2.D1.96.D0.B4.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B0_.D1.80.D0.BE.D0.B7.D1.80.D0.BE.D0.B1.D0.BA.D0.B0"><span class="tocnumber">3.2</span> <span class="toctext"><span>Фонове та віддалене Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ â€” Ñервер, Ñередовище Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐŸÐ›Ðš та віддалена розробка</span></span></a></li> <li class="toclevel-2 tocsection-6"><a href="#.D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D0.B2.D0.BB.D0.B0.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D1.94.D0.BA.D1.82.D1.83"><span class="tocnumber">3.3</span> <span class="toctext"><span>Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ð»Ð°Ñного проєкту</span></span></a> <ul> <li class="toclevel-3 tocsection-7"><a href="#.D0.9F.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.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_.D0.B2.D1.96.D0.B4.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B8.D1.85_.D1.96_.D1.84.D0.BE.D0.BD.D0.BE.D0.B2.D0.B8.D1.85_.D0.BA.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D0.B9"><span class="tocnumber">3.3.1</span> <span class="toctext"><span>ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° викориÑÑ‚Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¸Ñ… Ñ– фонових конфігурацій</span></span></a></li> <li class="toclevel-3 tocsection-8"><a href="#.D0.9F.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.D1.81.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D0.B8.D1.85_.D0.B1.D1.96.D0.B1.D0.BB.D1.96.D0.BE.D1.82.D0.B5.D0.BA_OpenSCADA"><span class="tocnumber">3.3.2</span> <span class="toctext">ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñтандартних бібліотек OpenSCADA</span></a></li> </ul> </li> </ul> </li> <li class="toclevel-1 tocsection-9"><a href="#.D0.A0.D0.BE.D0.B1.D0.BE.D1.82.D0.B0_.D0.B7_.D0.B4.D0.B6.D0.B5.D1.80.D0.B5.D0.BB.D0.B0.D0.BC.D0.B8_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85"><span class="tocnumber">4</span> <span class="toctext">Робота з джерелами даних</span></a> <ul> <li class="toclevel-2 tocsection-10"><a href="#.D0.97.D0.B1.D1.96.D1.80_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85_.D0.B0.D0.BF.D0.B0.D1.80.D0.B0.D1.82.D1.83_.D0.A2.D0.9F"><span class="tocnumber">4.1</span> <span class="toctext">Збір даних апарату ТП</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#.D0.9E.D0.B1.D1.80.D0.BE.D0.B1.D0.BA.D0.B0_.D0.BE.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D0.BD.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85_.D0.A2.D0.9F"><span class="tocnumber">4.2</span> <span class="toctext"><span>Обробка отриманих даних ТП</span></span></a></li> <li class="toclevel-2 tocsection-12"><a href="#.D0.9A.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.B8.D0.B9_.D0.BE.D0.B1.27.D1.94.D0.BA.D1.82-.D1.82.D0.B5.D0.B3_.D1.81.D0.B8.D0.B3.D0.BD.D0.B0.D0.BB.D1.83"><span class="tocnumber">4.3</span> <span class="toctext">КомплекÑний об'єкт-тег Ñигналу</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#.D0.9E.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D0.BD.D0.BD.D1.8F_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85_OpenSCADA_.E2.80.94_.D1.88.D0.BB.D1.8E.D0.B7.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F"><span class="tocnumber">4.4</span> <span class="toctext">ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ð¸Ñ… даних OpenSCADA — шлюзуваннÑ</span></a></li> <li class="toclevel-2 tocsection-14"><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_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85_.D0.A2.D0.9F"><span class="tocnumber">4.5</span> <span class="toctext">ÐрхівуваннÑ-Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ Ð´Ð°Ð½Ð¸Ñ… ТП</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-15"><a href="#.D0.A4.D0.BE.D1.80.D0.BC.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D0.B2.D1.96.D0.B7.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">5</span> <span class="toctext">Ð¤Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑтавленнÑ</span></a> <ul> <li class="toclevel-2 tocsection-16"><a href="#.D0.94.D0.BE.D0.B4.D0.B0.D0.BD.D0.BD.D1.8F_.D1.88.D0.B0.D0.B1.D0.BB.D0.BE.D0.BD.D0.BD.D0.BE.D1.97_.D1.81.D1.82.D0.BE.D1.80.D1.96.D0.BD.D0.BA.D0.B8_.D1.82.D0.B0_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D1.96.D0.BA.D0.B8"><span class="tocnumber">5.1</span> <span class="toctext">Ð”Ð¾Ð´Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¾Ñ— Ñторінки та Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–ÐºÐ¸</span></a></li> <li class="toclevel-2 tocsection-17"><a href="#.D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BA.D0.B0.D0.B4.D1.80.D1.83_.E2.80.94_.D0.BC.D0.BD.D0.B5.D0.BC.D0.BE.D1.81.D1.85.D0.B5.D0.BC.D0.B8"><span class="tocnumber">5.2</span> <span class="toctext">Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кадру — мнемоÑхеми</span></a></li> <li class="toclevel-2 tocsection-18"><a href="#.D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B5.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0"><span class="tocnumber">5.3</span> <span class="toctext">Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ комплекÑного елемента</span></a> <ul> <li class="toclevel-3 tocsection-19"><a href="#.D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D0.B2.D1.96.D0.B4.D0.B6.D0.B5.D1.82.D1.83_.22.D0.9F.D0.BE.D0.B2.D1.96.D1.82.D1.80.D1.8F.D0.BD.D0.B8.D0.B9_.D1.85.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.22_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D1.96_.D0.BF.D1.80.D0.B8.D0.BC.D1.96.D1.82.D0.B8.D0.B2.D0.B0_.22.D0.95.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.BD.D0.B0_.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.22"><span class="tocnumber">5.3.1</span> <span class="toctext">Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ "ПовітрÑний холодильник" на оÑнові примітива "Елементарна фігура"</span></a></li> <li class="toclevel-3 tocsection-20"><a href="#.D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D1.84.D1.96.D0.BD.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE-.D1.81.D0.BA.D0.BE.D0.BC.D0.BF.D0.BE.D0.BD.D0.BE.D0.B2.D0.B0.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B2.D1.96.D0.B4.D0.B6.D0.B5.D1.82.D1.83_.22.D0.A5.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.22_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D1.96_.D0.BF.D1.80.D0.B8.D0.BC.D1.96.D1.82.D0.B8.D0.B2.D1.83_.22.D0.93.D1.80.D1.83.D0.BF.D0.B0_.D0.B5.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D1.96.D0.B2.22"><span class="tocnumber">5.3.2</span> <span class="toctext"><span>Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ñ–Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾-Ñкомпонованого віджету "Холодильник" на оÑнові примітиву "Група елементів"</span></span></a></li> <li class="toclevel-3 tocsection-21"><a href="#.D0.94.D0.BE.D0.B4.D0.B0.D0.BD.D0.BD.D1.8F_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B5.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D1.83_.D0.BD.D0.B0_.D0.BC.D0.BD.D0.B5.D0.BC.D0.BE.D1.81.D1.85.D0.B5.D0.BC.D1.83"><span class="tocnumber">5.3.3</span> <span class="toctext">Ð”Ð¾Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑного елементу на мнемоÑхему</span></a></li> </ul> </li> </ul> </li> <li class="toclevel-1 tocsection-22"><a href="#.D0.92.D0.B8.D1.81.D0.BD.D0.BE.D0.B2.D0.BE.D0.BA"><span class="tocnumber">6</span> <span class="toctext">ВиÑновок</span></a></li> <li class="toclevel-1 tocsection-23"><a href="#.D0.9F.D0.BE.D1.81.D0.B8.D0.BB.D0.B0.D0.BD.D0.BD.D1.8F"><span class="tocnumber">7</span> <span class="toctext">ПоÑиланнÑ</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.A2.D0.B5.D1.80.D0.BC.D1.96.D0.BD.D0.B8.2C_.D0.B2.D0.B8.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.D1.82.D0.B0_.D0.B0.D0.B1.D1.80.D0.B5.D0.B2.D1.96.D0.B0.D1.82.D1.83.D1.80.D0.B8"><span class="mw-headline-number">1</span> Терміни, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° абревіатури</span></h2> <h3><span class="mw-headline" id=".D0.A2.D0.B5.D1.80.D0.BC.D1.96.D0.BD.D0.B8_.D1.82.D0.B0_.D0.B2.D0.B8.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">1.1</span> Терміни та визначеннÑ</span></h3> <ul><li> <i>Qt</i> — інÑтрументарій розробки ПЗ за допомогою Ñкого зокрема Ñтворено модулі QTStarter (пуÑкач модулів OpenSCADA на бібліотеці Qt), QTCfg (графічний конфігуратор OpenSCADA) Ñ– Vision (редактор та виконавець робочих кориÑтувацьких інтерфейÑів СВУ). Може зуÑтрічатиÑÑ Ñƒ виглÑді <i>QT</i>, що Ñ” раннім запиÑом, викориÑтаним розробниками OpenSCADA Ð´Ð»Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Qt.</li> <li> <i>БлокуваннÑ</i> — умовна Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ параметру за Ð¿Ð¾Ð´Ð¾Ð»Ð°Ð½Ð½Ñ Ñкої здійÑнюютьÑÑ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡ÐµÐ½Ñ– алгоритмом дії із Ð·Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ Ð°Ð²Ð°Ñ€Ñ–Ñ—. У деÑких режимах ТП (пуÑк), відповідно до регламенту, може знадобитиÑÑ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ â€” деблокуваннÑ.</li> <li> <i>Віджет СВУ</i> — елемент візуалізації СВУ.</li> <li> <i>ДеблокуваннÑ</i> — Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñ‡Ð°Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ ТП у певних режимах, Ð´Ð»Ñ Ñких у регламенті передбачена дана операціÑ. Ð”ÐµÐ±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¸Ñ… параметрів Ñ” Ñуворо звітною операцією Ñ– вона має відбуватиÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¸Ð¼ перÑоналом у відповідному порÑдку!</li> <li> <i>Загальний Сховок</i> — первинний Ñховок OpenSCADA (вказуваний раніше Ñк "*.*" Ñ– потім неÑвно "<gen>"), Ñкий розроблено Ð´Ð»Ñ ÐºÐ¾Ð¼Ð±Ñ–Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ Файлу Ñ– <a href="Program_manual.html#Config" title="Special:MyLanguage/Documents/Program manual">робочої Бази Даних</a> у один Ñховок загальних даних OpenSCADA. Де Конфігураційний Файл Ñ” первинним Ð´Ð»Ñ Ð²Ð¶Ðµ наÑвних там даних, тобто Ñ—Ñ… зміни, а вÑе нове ÑтворюєтьÑÑ Ñƒ Базі Даних.</li> <li> <i>Кадр СВУ</i> — похідний елемент візуалізації, Ñкий ÑкладаєтьÑÑ Ñ–Ð· базових елементів Ñ– Ñпроможний виконувати функції Ñторінки проєкту СВУ.</li> <li> <i>ÐšÐ²Ñ–Ñ‚Ð°Ñ†Ñ–Ñ (від quietance)</i> — Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°ÐºÑ‚Ñƒ того, що оперативний перÑонал звернув увагу на Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ñƒ роботі ТП. Зазвичай цей Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡Ð°Ñ” Ð²Ð¶Ð¸Ð²Ð°Ð½Ð½Ñ Ð·Ð°Ñ…Ð¾Ð´Ñ–Ð² оператором Ð´Ð»Ñ ÑƒÑÑƒÐ½ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ñ– натиÑÐºÐ°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñ— кнопки Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð½Ñ Ñигналізації.</li> <li> <i>КомплекÑний параметр-тег або об'єкт-тег Ñигналу</i> — деталізований Ñигнал джерела даних Ñк вичерпний параметр-тег, що Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ зазвичай міÑтить: <ul><li> Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñигналу у інженерній-реальній одиниці виміру;</li> <li> назва одиниці виміру;</li> <li> шкала-діапазон фізичної зміни Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñигналу — мінімальна та макÑимальна границі;</li> <li> границі Ñигналізації — зазвичай це Ð²ÐµÑ€Ñ…Ð½Ñ Ñ– Ð½Ð¸Ð¶Ð½Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ– Ð´Ð»Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¾Ñ— Ñ– аварійної Ñигналізації;</li> <li> параметри фільтру;</li> <li> параметри оÑобливоÑтей шкали, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾ÑтовірноÑÑ‚Ñ–, формату предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ– інше.</li></ul></li> <li> <i>Модель даних</i> — Ð¾Ñ€Ð³Ð°Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ Ñ– ÑÑ‚Ñ€ÑƒÐºÑ‚ÑƒÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… ТП або іншого об'єкту автоматизації у шарі джерела даних SCADA, протоколу обміну або ПЛК. По замовченню маєтьÑÑ Ð½Ð° увазі <a href="Program_manual.html#DAQ" title="Special:MyLanguage/Documents/Program manual">шар джерела даних OpenSCADA</a> зі Ñтруктурою "Об'єкт контролеру"->"Параметр, рівень 1"->...->"Параметр, рівень N"->"Ðтрибут Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ - Ñигнал".</li> <li> <i>Проєкт</i> — термін має багато значень Ñ–, залежно від контекÑту, може визначати: <ul><li> <i>Проєкт (програма) OpenSCADA</i> — вільне програмне забезпеченнÑ, документацію Ñкого ви наразі читаєте.</li> <li> <a href="Program_manual.html#Projects" title="Special:MyLanguage/Documents/Program manual">Визначений набір-тека з конфігурацією Ñ– даними</a>, Ñкі ÑтворюютьÑÑ ÐºÐ¾Ñ€Ð¸Ñтувачем OpenSCADA, де ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ”Ñ‚ÑŒÑÑ Ñƒ конфігураційному файлі (обов'Ñзково) Ñ– одному або декількох файлах БД (необов'Ñзково Ñ– може бути у мережі). Ðаприклад — демонÑтраційний проєкт, модель ТП "ÐГЛКС". Тобто, автором проєкту виÑтупає кориÑтувач програми — інженер-розробник або програміÑÑ‚ SCADA ÑиÑтеми.</li> <li> <i><a href="Modules/VCAEngine.html#Project" title="Special:MyLanguage/Modules/VCAEngine">Проєкт СВУ</a></i> — Ñкладова Ñередовища візуалізації Ñ– ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ (СВУ), Ñтворювана у модулі <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> Ñ– що міÑтить набір кадрів СВУ.</li></ul></li> <li> <i>Сигнал (ÑтоÑовно джерела даних)</i> — елемент джерела даних у виглÑді вимірÑного або вирахуваного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ параметра або датчику-ÑенÑору. ПредÑтавлÑÑ” із Ñебе ÑкалÑÑ€ диÑкретного, цілого або реального типів, Ñкий чаÑто кодуєтьÑÑ Ð¼Ð°ÑштабуваннÑм шкали параметру у розмірніÑÑ‚ÑŒ цілого. Сигнал Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— чаÑто проÑто індекÑуєтьÑÑ Ð°Ð±Ð¾ кодуєтьÑÑ Ð·Ð° адреÑою його Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ карті протоколу обміну та оÑмиÑлену назву він набуває у моделі даних SCADA.</li> <li> <i>СигналізаціÑ</i> — Ð¿Ñ€Ð¾Ñ†ÐµÑ ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ перÑоналу про Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ процеÑу або роботи Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ñ–Ñ—. СпоÑоби Ñигналізації можуть бути різних типів впливу на органи відчуттів людини з метою Ð¿Ñ€Ð¸Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ ÑƒÐ²Ð°Ð³Ð¸. ЧаÑто передбачаютьÑÑ Ð½Ð°Ñтупні типи Ñигналізації: <ul><li> <i>Світлова ÑигналізаціÑ</i> — зазвичай здійÑнюєтьÑÑ Ð·Ð° поÑередництвом зміни кольору графічного об'єкта (блиманнÑ) Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ–Ð¹, що виникли, Ñ– вÑтановленнÑм Ñтатичних аварійних кольорів (червоний та жовтий) Ð´Ð»Ñ "Ñквітованих"-підтверджених повідомлень.</li> <li> <i>Звукова</i> — здійÑнюєтьÑÑ Ð²Ð¸Ð´Ð°Ñ‡ÐµÑŽ звукового Ñигналу на момент Ð²Ð¸Ð½Ð¸ÐºÐ½ÐµÐ½Ð½Ñ Ð¿Ð¾Ð´Ñ–Ñ—. Тип звукового Ñигналу може бути Ñк монотонним, так Ñ– Ñинтезованим мовним повідомленнÑм з інформацією про порушеннÑ.</li></ul></li> <li> <i>УÑтавка Ñигналізації</i> — умовна Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ параметру, Ð¿Ð¾Ð´Ð¾Ð»Ð°Ð½Ð½Ñ Ñкої вважаєтьÑÑ Ð½ÐµÑˆÑ‚Ð°Ñ‚Ð½Ð¾ÑŽ Ñитуацією. Зазвичай передбачаютьÑÑ Ð½Ð°Ñтупні границі: <ul><li> <i>Ð’ÐµÑ€Ñ…Ð½Ñ Ñ– Ð½Ð¸Ð¶Ð½Ñ Ð°Ð²Ð°Ñ€Ñ–Ð¹Ð½Ñ– границі</i> — границі аварійних значень технологічного параметру.</li> <li> <i>Ð’ÐµÑ€Ñ…Ð½Ñ Ñ– Ð½Ð¸Ð¶Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÑƒÐ²Ð°Ð»ÑŒÐ½Ñ– границі</i> — границі Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ â€” регламентні границі про вихід технологічного параметру за робочий діапазон.</li> <li> <i>Відмова</i> — ознака виходу Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ за апаратні границі технологічного обладнаннÑ. Зазвичай характеризує відмову датчика, обрив каналу зв'Ñзку з датчиком або ПЛК.</li></ul></li></ul> <h3><span class="mw-headline" id=".D0.92.D0.B6.D0.B8.D0.B2.D0.B0.D0.BD.D1.96_.D1.81.D0.BA.D0.BE.D1.80.D0.BE.D1.87.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">1.2</span> Вживані ÑкороченнÑ</span></h3> <ul><li> API (<i>англ.</i> Application Programming Interface) — Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÑ–Ð² (модулів OpenSCADA) або розширень на внутрішній мові OpenSCADA — <a href="User_API.html" title="Special:MyLanguage/Documents/User API">API кориÑтувача</a>.</li> <li> AWP (<i>англ.</i> Automated Work Place) — див. ÐÐ Ðœ.</li> <li> MOD (<i>англ.</i> Matching to Object Device) — див. ПУО.</li> <li> DAQ (<i>англ.</i> Data Acquisition) — збір даних.</li> <li> DB (<i>англ.</i> Data Base) — див. БД.</li> <li> <a href="Modules/DCON.html" title="Special:MyLanguage/Modules/DCON">DCON</a> — Ð½Ð°Ð¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ з комунікаційних протоколів, Ñкий викориÑтовуєтьÑÑ Ñƒ промиÑловоÑÑ‚Ñ–.</li> <li> EVAL — (<i>англ.</i> Error VALue) — Помилкове ЗначеннÑ, викориÑтовуєтьÑÑ Ñƒ динамічних даних Ñ– <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">внутрішній мові</a> Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñпеціального значеннÑ-ознаки відÑутноÑÑ‚Ñ– або помилковоÑÑ‚Ñ– даних, Ñке різне Ð´Ð»Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… типів значень, але Ñке прозоро перетворюютьÑÑ Ð¾Ð´Ð½Ðµ в інше. У ÑкоÑÑ‚Ñ– зручного Ñиноніму до <b>EVAL</b> у <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">внутрішній мові</a> наразі викориÑтовуєтьÑÑ <b>null</b>.</li> <li> GPL (<i>англ.</i> General Public License) — відкрита ліцензійна угода (ліцензіÑ) за умовами Ñкої розповÑюджуєтьÑÑ Ñ– може викориÑтовуватиÑÑ OpenSCADA.</li> <li> GUI (<i>англ.</i> Graphical User Interface) — графічний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ñ€Ð¸Ñтувача.</li> <li> HMI (<i>англ.</i> Human-Machine Interface) — людино-машинний інтерфейÑ.</li> <li> HTTP (<i>англ.</i> HyperText Transfer Protocol — "протокол передачі гіпертекÑту") — протокол прикладного Ñ€Ñ–Ð²Ð½Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ñ– даних, чаÑтіш за вÑе у виглÑді гіпертекÑтових документів.</li> <li> <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a> — Modicon BUS, це поÑлідовний комунікаційний протокол в варіантах RTU Ñ– ASCII, початково опублікований <a class="extiw" href="https://en.wikipedia.org/wiki/Programmable_logic_controller#Invention_and_early_development" title="wikipedia:Programmable logic controller">Modicon</a> у 1979 Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð· влаÑними ПЛК. Пізніше розширений Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ поверх TCP-IP та цей варіант отримав назву ModBus/TCP.</li> <li> PLC (<i>англ.</i> Programmable Logic Controller) — див. ПЛК.</li> <li> QT — див. QT у переліку термінів, не Ñ” ÑкороченнÑм.</li> <li> SCADA (<i>англ.</i> Supervisory Control And Data Acquisition) — диÑпетчерÑький контроль Ñ– збір даних.</li> <li> TP (<i>англ.</i> Technological Process) — див. ТП.</li> <li> TUI (<i>англ.</i> Terminal(Text) User Interface) — термінальний (текÑтовий) Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ñ€Ð¸Ñтувача.</li> <li> UI (<i>англ.</i> User Interface) — Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ñ€Ð¸Ñтувача.</li> <li> VCA (<i>англ.</i> Visual Control Area) — див. СВУ.</li></ul> <p><br /> </p> <ul><li> ÐÐ Ðœ — Ðвтоматизоване Робоче МіÑце. Зазвичай предÑтавлÑÑ” Ñобою ÑиÑтемний блок обчиÑлювальної ÑиÑтеми, диÑплей, маніпулÑтор "миші" інколи з клавіатурою та інше периферійне обладнаннÑ, Ñке Ñлугує Ð´Ð»Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… технологічного процеÑу, а також видачі керуючих дій на ТП.</li> <li> БД — База Даних.</li> <li> ОС — Операційна СиÑтема.</li> <li> ПЛК — Програмований Логічний Контролер.</li> <li> ПЗ — Програмне ЗабезпеченнÑ.</li> <li> ПУО — ПриÑтрій Ð£Ð·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð· Об'єктом. Ðизка приÑтроїв або модулів ПЛК до Ñких безпоÑередньо підключаютьÑÑ Ñигнали з датчиків ТП Ð´Ð»Ñ Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÐ¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ–Ð· аналогового у цифровий виглÑд Ñ– назад. ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð´Ñ–Ð¹ÑнюєтьÑÑ Ð· метою подальшої обробки значень технологічних параметрів у ПЛК.</li> <li> СВУ — Середовище Візуалізації Ñ– УправліннÑ.</li> <li> СО — Об'єкт Сигналізації. Літери у абревіатурі переÑтавлено Ð·Ð°Ð´Ð»Ñ ÑƒÑÑƒÐ½ÐµÐ½Ð½Ñ Ð¿Ð»ÑƒÑ‚Ð°Ð½Ð¸Ð½Ð¸ із ÑкороченнÑм ОС (див. вище).</li> <li> ТП — Технологічний ПроцеÑ. ВеÑÑŒ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ‡Ð¾Ð³Ð¾ процеÑу.</li> <li> ФС — файлова СиÑтема.</li></ul> <h2><span class="mw-headline" id=".D0.92.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_OpenSCADA"><span class="mw-headline-number">2</span> <span id="Installation" title="#Installation">Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA</span></span></h2> <p>Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA загалом можна здійÑнити двома ÑпоÑобами. Перший та проÑтий ÑпоÑіб, це отримати готові пакети Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтаного диÑтрибутиву ОС Linux. Другий — ÑклаÑти OpenSCADA з вихідних текÑтів. </p><p>Процедура вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñильно залежить від викориÑтаного диÑтрибутиву Linux Ñ– вичерпно Ñ—Ñ— опиÑати у даному поÑібнику не Ñ” можливим. Тому може знадобитиÑÑ Ð³Ð»Ð¸Ð±Ð¾ÐºÐµ знайомÑтво з механізмами вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐŸÐ— обраного диÑтрибутиву Linux в його документації. За відÑутноÑÑ‚Ñ– у кориÑтувача таких знань, умінь Ñ– ÑхильноÑÑ‚Ñ– до конкретного диÑтрибутиву Linux, наполегливо рекомендуєтьÑÑ Ð¾Ð±Ð¸Ñ€Ð°Ñ‚Ð¸ його за критерієм наÑвноÑÑ‚Ñ– до нього пакетів OpenSCADA Ñ– навіть репозиторію пакетів, що забезпечить найпроÑтіше та безпроблемне вÑтановленнÑ. </p><p>Якщо у кориÑтувача викликає Ñкладнощі вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ðµ тільки OpenSCADA, але й диÑтрибутиву Linux, то, на перший чаÑ, він може ÑкориÑтатиÑÑ "живим" диÑтрибутивом Linux із вÑтановленою та готовою до роботи Ñ– Ð²Ð¸Ð²Ñ‡ÐµÐ½Ð½Ñ Ð´ÐµÐ¼Ð¾Ð½Ñтрацією та повноцінною OpenSCADA. Якщо його влаштує таке Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñ— доÑтупноÑÑ‚Ñ–, то він може зупинити Ñвій вибір на ньому Ñ– вÑтановити. Ðа цей Ñ‡Ð°Ñ Ð´Ð¾Ñтупні "живі" збірки на оÑнові диÑтрибутиву Debian Ñ– ALTLinux (заÑтаріле) у виглÑді гібридних CD/DVD/USB-штампів на Ñторінці: <a class="external free" href="http://oscada.org/ua/golovna/zavantazhiti/" rel="nofollow noreferrer noopener" target="_blank">http://oscada.org/ua/golovna/zavantazhiti/</a>. Детальніше дивітьÑÑ Ñƒ документі "<a href="How_to_Live_disk.html" title="Special:MyLanguage/Documents/How to/Live disk">Як Ñтворити Живий диÑк</a>". </p> <h3><span class="mw-headline" id=".D0.92.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_OpenSCADA_.D0.B7_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.B8.D1.85_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D1.96.D0.B2"><span class="mw-headline-number">2.1</span> <span id="ReadyPacks" title="#ReadyPacks">Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA з готових пакетів</span></span></h3> <p>Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð· готових пакетів Ñвоєю чергою може здійÑнюватиÑÑ Ð´Ð²Ð¾Ð¼Ð° методами. Перший — проÑтіший, коли пакети OpenSCADA вже приÑутні у <a class="external text" href="http://oscada.org/ua/golovna/zavantazhiti/" rel="nofollow noreferrer noopener" target="_blank">влаÑних репозиторіÑÑ… пакетів OpenSCADA</a> або офіційних — додаткових репозиторіÑÑ… викориÑтаного диÑтрибутиву ОС Linux. Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð°ÐºÐ¸Ñ… пакетів Ñ” лише питаннÑм запуÑку типової програми ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ диÑтрибутиву з подальшим вибором пакетів OpenSCADA. Окрім проÑтого вÑтановленнÑ, репозиторій пакетів загалом дозволÑÑ” проÑто утримувати операційну ÑиÑтему оновленою, безпечною та актуальною! Другий ÑпоÑіб передбачає Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÐµÑ‚Ñ–Ð² OpenSCADA Ñ– вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ—Ñ… вручну. </p><p>Перевірити наÑвніÑÑ‚ÑŒ пакетів OpenSCADA у репозиторіÑÑ… диÑтрибутивів Linux або OpenSCADA, а також завантажити пакети OpenSCADA Ð´Ð»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ð³Ð¾ вÑтановленнÑ, можна на <a class="external text" href="http://oscada.org/ua/golovna/zavantazhiti/" rel="nofollow noreferrer noopener" target="_blank">Ñторінці Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¾Ñ„Ñ–Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ Ñайту OpenSCADA</a>. Тут також можна отримати конфігурацію Ð´Ð»Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ñ–Ñ—Ð² пакетів OpenSCADA до пакетного менеджеру вашого диÑтрибутиву Linux. </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> <h4><span class="mw-headline" id=".D0.94.D0.BE.D0.B4.D0.B0.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D1.80.D0.B5.D0.BF.D0.BE.D0.B7.D0.B8.D1.82.D0.BE.D1.80.D1.96.D1.8E_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D1.96.D0.B2_.D1.96_.D0.B2.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_OpenSCADA_.D0.B7_.D0.BD.D1.8C.D0.BE.D0.B3.D0.BE"><span class="mw-headline-number">2.1.1</span> <span id="ReadyPacksRepo" title="#ReadyPacksRepo">Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ñ–ÑŽ пакетів Ñ– вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA з нього</span></span></h4> <p>Репозиторії з пакетами надаютьÑÑ Ñамим проєктом OpenSCADA, Ñлужбова Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ñких зазвичай розташовуєтьÑÑ Ð¿Ð¾Ñ€Ñд з Ñамими пакетами Ñ– оновлюєтьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ при Ñкладанні, тобто ці репозиторії Ñ” найбільш Ñвіжими Ñ– найліпшими. Хоча пакети OpenSCADA вÑе ще можна зуÑтріти у репозиторіÑÑ… таких диÑтрибутивів ОС Linux: <a class="external text" href="http://www.altlinux.ru" rel="nofollow noreferrer noopener" target="_blank">ALTLinux</a> Ñ– диÑтрибутивах, заÑнованих на пакетній базі <a class="external text" href="http://fedoraproject.org" rel="nofollow noreferrer noopener" target="_blank">Fedora</a>, але вони там Ñкоріше за вÑе будуть Ñтарі, оÑкільки ÑÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ Ð´Ð¾ репозиторіїв диÑтрибутивів розробниками наразі не практикуєтьÑÑ! </p><p>ÐдреÑи репозиторіїв Ñ– конфігурацію менеджеру репозиторіїв можете отримати на тій Ñамій Ñторінці Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ OpenSCADA (<a class="external free" href="http://oscada.org/ua/golovna/zavantazhiti/" rel="nofollow noreferrer noopener" target="_blank">http://oscada.org/ua/golovna/zavantazhiti/</a>) або в прикладах нижче. </p><p>При вÑтановлені з репозиторію обираємо тільки пакет з конфігурацією проєкту OpenSCADA або моделлю. Решту буде обрано та вÑтановлено автоматично згідно до залежноÑтей. Зазвичай передбачаютьÑÑ Ð½Ð°Ñтупні пакети такого роду: </p> <ul><li> <b>openscada-model-aglks</b>, <b>openscada-model-boiler</b> — проєкти динамічних моделей технологічних процеÑів, Ñкі за ÑуміÑництвом виконують функцію демонÑтрації OpenSCADA;</li> <li> <b>openscada-vis-station</b> — шаблонний проєкт SCADA-Ñтанції, зазвичай запуÑк у графічному інтерфейÑÑ– та без Web;</li> <li> <b>openscada-server</b> — шаблонний проєкт SCADA-Ñерверу, що запуÑкаєтьÑÑ Ñƒ фоновому режимі — режим демону;</li> <li> <b>openscada-plc</b> — шаблонний проєкт ПЛК, що запуÑкаєтьÑÑ Ñƒ фоновому режимі — режим демону;</li> <li> <b>openscada</b> — типове-повне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA.</li></ul> <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> У випадку із <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> Ñ– пакетами верÑÑ–Ñ— тривалої підтримки (LTS), до оÑновної назви пакетів додаєтьÑÑ ÑÑƒÑ„Ñ–ÐºÑ "-lts" — "openscada-lts", оÑкільки репозиторій один Ñ– він міÑтить пакети обох гілок: Робочої Ñ– LTS. </p><p>Ð’ÑтановленнÑ-Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð· репозиторію Ñ” проÑтим, але Ñпецифічним до диÑтрибутиву Linux, віконного менеджеру або окремої програми роботи з репозиторіÑми Ñ– пакетами, тому відішлемо читача до відповідної документації на диÑтрибутив або програму, Ñкі він викориÑтовує. Тут-же коротко розглÑнемо Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ñ–ÑŽ Ñ– вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ OpenSCADA за допомогою типових інÑтрументів командного Ñ€Ñдку: </p><p><b><span id="ReadyPacksRepoDeb" title="#ReadyPacksRepoDeb">Репозиторії пакетів оÑновані на менеджері APT (Debian, Ubuntu, ALTLinux)</span></b> — додаютьÑÑ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñм завантаженого файлу "openscada.list" до теки "/etc/apt/sources.list.d" або редагуваннÑм файлу /etc/apt/sources.list вÑтавкою одного Ñ€Ñдка:<br /> <i>Debian (LTS Ñ– Work, <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Automation_Linux_distributive#Debian" title="Special:MyLanguage/Sub-projects/Automation Linux distributive">репозиторій Linux автоматизації</a>):</i> "deb <a class="external free" href="http://ftp.oscada.org/Debian/12/openscada" rel="nofollow noreferrer noopener" target="_blank">http://ftp.oscada.org/Debian/12/openscada</a> ./"<br /> <i>Ubuntu (LTS):</i> "deb <a class="external free" href="http://ftp.oscada.org/OpenSCADA/LTS/Ubuntu/22.04" rel="nofollow noreferrer noopener" target="_blank">http://ftp.oscada.org/OpenSCADA/LTS/Ubuntu/22.04</a> ./"<br /> <i>Ubuntu (Work):</i> "deb <a class="external free" href="http://ftp.oscada.org/OpenSCADA/Work/Ubuntu/22.04" rel="nofollow noreferrer noopener" target="_blank">http://ftp.oscada.org/OpenSCADA/Work/Ubuntu/22.04</a> ./"<br /> Ð’ÑтановленнÑ: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>apt-get update apt-get install openscada-model-aglks </pre></div> <p><i>ALTLinux (LTS Ñ– Work, <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Automation_Linux_distributive#ALTLinux" title="Special:MyLanguage/Sub-projects/Automation Linux distributive">репозиторій Linux автоматизації</a>):</i> "rpm <a class="external free" href="http://ftp.oscada.org/ALTLinux/7" rel="nofollow noreferrer noopener" target="_blank">http://ftp.oscada.org/ALTLinux/7</a> openscada main"<br /> Ð’ÑтановленнÑ: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>apt-get update apt-get install openscada-Model.AGLKS </pre></div> <p>Ð”Ð¾Ð´Ð°Ð½Ð½Ñ ÐºÐ»ÑŽÑ‡Ð° перевірки підпиÑу (дійÑноÑÑ‚Ñ–) репозиторію та пакетів у ньому (необов'Ñзково Ñ– викориÑтовуєтьÑÑ Ð½Ðµ у вÑÑ–Ñ… репозиторіÑÑ…): </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>wget -P /etc/apt/trusted.gpg.d http://ftp.oscada.org/Misc/openscada-archive-keyring.asc <span class="c"># або на Ñтарих Debian ÑиÑтемах</span> wget -O - http://ftp.oscada.org/Misc/pkgSignKey <span class="p">|</span> sudo apt-key add - </pre></div> <p><b><span id="ReadyPacksRepoRH" title="#ReadyPacksRepoRH">Репозиторії пакетів оÑновані на менеджері пакетів YUM (RedHat, Fedora, CentOs)</span></b> — додаютьÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñм або ÑтвореннÑм файлу /etc/yum.repos.d/openscada.repo з вміÑтом: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="k">[openscada]</span> <span class="na">name</span><span class="o">=</span><span class="s">OpenSCADA</span> <span class="c1">#CentoOs (LTS)</span> <span class="na">baseurl</span><span class="o">=</span><span class="s">http://ftp.oscada.org/OpenSCADA/LTS/CentOs/7</span> <span class="c1">#CentoOs (Work)</span> <span class="c1">#baseurl=http://ftp.oscada.org/OpenSCADA/Work/CentOs/6</span> <span class="c1">#Fedora (Work)</span> <span class="c1">#baseurl=http://ftp.oscada.org/OpenSCADA/Work/Fedora/12</span> <span class="na">enabled</span><span class="o">=</span><span class="s">1</span> <span class="na">gpgcheck</span><span class="o">=</span><span class="s">1</span> <span class="na">repo_gpgcheck</span><span class="o">=</span><span class="s">1</span> <span class="na">gpgkey</span><span class="o">=</span><span class="s">http://ftp.oscada.org/Misc/pkgSignKey</span> </pre></div> <p>Ð’ÑтановленнÑ: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>yum install openscada-Model.AGLKS </pre></div> <p><b>Репозиторії пакетів SuSE YaST</b> — додаютьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>zypper ar -f http://ftp.oscada.org/OpenSCADA/LTS/SuSE/15 OpenSCADA </pre></div> <p>Ð’ÑтановленнÑ: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>zypper in openscada-Model.AGLKS </pre></div> <h4><span class="mw-headline" id=".D0.A0.D1.83.D1.87.D0.BD.D0.B5_.D0.B2.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D1.96.D0.B2_OpenSCADA"><span class="mw-headline-number">2.1.2</span> Ручне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÐµÑ‚Ñ–Ð² OpenSCADA</span></h4> <p>Ð”Ð»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ð³Ð¾ вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÐµÑ‚Ñ–Ð² OpenSCADA Ñ—Ñ… треба завантажити з офіційного Ñайту або іншого джерела. Завантажити зазвичай можна два набори пакетів. </p><p>Перший набір предÑтавлено дванадцÑтьма пакетами: </p> <ul><li> <b>openscada</b> — пакет зі вÑіма файлами потрібними Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку OpenSCADA у повному об'ємі, включаючи вÑÑ– модулі;</li> <li> <b>openscada-server</b> — міÑтить залежноÑÑ‚Ñ–, файл Ñценарію Ñ– конфігурацію проєкту Ñервера Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку OpenSCADA у режимі ÑервіÑу-демону;</li> <li> <b>openscada-plc</b> — міÑтить залежноÑÑ‚Ñ–, файл Ñценарію, конфігурацію проєкту ПЛК Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку OpenSCADA у режимі ÑервіÑу-демона;</li> <li> <b>openscada-libdb-main</b> — оÑновні бібліотеки OpenSCADA Ð´Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ даних та іншого у БД SQLite;</li> <li> <b>openscada-libdb-vca</b> — бібліотеки візуальних компонентів у БД SQLite;</li> <li> <b>openscada-model-aglks</b> — БД та ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ñ— моделі реального чаÑу "ÐГЛКС" (Демо: EN,UK,RU);</li> <li> <b>openscada-model-boiler</b> — БД та ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ñ— моделі реального чаÑу "Котел" (EN,UK,RU);</li> <li> <b>openscada-doc-en</b> — позамережева Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ OpenSCADA англійÑькою мовою;</li> <li> <b>openscada-doc-uk</b> — позамережева Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ OpenSCADA українÑькою мовою;</li> <li> <b>openscada-doc-ru</b> — позамережева Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ OpenSCADA mRussia плеÑкачем;</li> <li> <b>openscada-dev</b> — пакет розробки зі ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ñ… модулів OpenSCADA;</li> <li> <b>openscada-dbg</b> — пакет Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ–Ð· налагоджувальною інформацією бінарних файлів Ð´Ð»Ñ <a href="How_to_Crash_report.html" title="Special:MyLanguage/Documents/How to/Crash report">звіту</a> Ñ– пошуку помилок у програмі.</li></ul> <p>Другий набір предÑтавлено Ð±Ñ–Ð»Ñ Ð¿'ÑтдеÑÑтьма пакетами з виокремленнÑм модулів OpenSCADA по пакетам: </p> <ul><li> <b>openscada-core</b> — міÑтить Ñдро OpenSCADA, базову конфігурацію Ñ– виконувальні файли;</li> <li> <b>openscada-db-*</b> — модулі підÑиÑтеми "БД";</li> <li> <b>openscada-daq-*</b> — модулі підÑиÑтеми "Збір Даних";</li> <li> <b>openscada-arh-*</b> — модулі підÑиÑтеми "Ðрхіви-ІÑторіÑ";</li> <li> <b>openscada-tr-* </b> — модулі підÑиÑтеми "ТранÑпорти";</li> <li> <b>openscada-prot-* </b> — модулі підÑиÑтеми "ТранÑпортні протоколи";</li> <li> <b>openscada-ui-* </b> — модулі підÑиÑтеми "КориÑтувацькі інтерфейÑи";</li> <li> <b>openscada-spec-* </b> — модулі підÑиÑтеми "Спеціальні";</li> <li> <b>openscada</b> — віртуальний пакет із залежноÑÑ‚Ñми Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ñ— конфігурації OpenSCADA;</li> <li> <b>openscada-server</b> — міÑтить залежноÑÑ‚Ñ–, файл Ñценарію та конфігурацію проєкту Ñервера Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку OpenSCADA у режимі ÑервіÑу-демону;</li> <li> <b>openscada-plc</b> — міÑтить залежноÑÑ‚Ñ–, файл Ñценарію, конфігурацію проєкту ПЛК Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку OpenSCADA у режимі ÑервіÑу-демона;</li> <li> <b>openscada-vis-station</b> — віртуальний пакет із залежноÑÑ‚Ñми Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ñ— конфігурації OpenSCADA Ñк візуальна SCADA-ÑтанціÑ;</li> <li> <b>openscada-libdb-main</b> — оÑновні бібліотеки OpenSCADA Ð´Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ даних та іншого у БД SQLite;</li> <li> <b>openscada-libdb-vca</b> — бібліотеки візуальних компонентів у БД SQLite;</li> <li> <b>openscada-model-aglks</b> — БД та ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ñ— моделі реального чаÑу "ÐГЛКС" (Демо: EN,UK,RU);</li> <li> <b>openscada-model-boiler</b> — БД та ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ñ— моделі реального чаÑу "Котел" (EN,UK,RU);</li> <li> <b>openscada-doc-en</b> — позамережева Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ OpenSCADA англійÑькою мовою;</li> <li> <b>openscada-doc-uk</b> — позамережева Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ OpenSCADA українÑькою мовою;</li> <li> <b>openscada-doc-ru</b> — позамережева Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ OpenSCADA mRussia плеÑкачем;</li> <li> <b>openscada-dev</b> — пакет розробки зі ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ñ… модулів OpenSCADA;</li> <li> <b>openscada-dbg</b> — пакет Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ–Ð· налагоджувальною інформацією бінарних файлів Ð´Ð»Ñ <a href="How_to_Crash_report.html" title="Special:MyLanguage/Documents/How to/Crash report">звіту</a> Ñ– пошуку помилок у програмі.</li></ul> <p>Перший набір пакетів більш призначено Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñтого-ручного вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ñкільки він міÑтить лише дванадцÑÑ‚ÑŒ пакетів. Другий набір призначено Ð´Ð»Ñ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ репозиторії диÑтрибутиву Linux Ñ– подальшого вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ—Ñ… за допомогою пакетного менеджеру, Ñкий здійÑнює автоматичне розв'ÑÐ·Ð°Ð½Ð½Ñ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾Ñтей, а також дозволÑÑ” вÑтановити лише необхідні компоненти OpenSCADA тим Ñамим оптимізуючи робоче оточеннÑ. </p><p>Ручне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ DEB-пакетів першого набору можна здійÑнити командою, попередньо змінивши робочу директорію на директорію з пакетами: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>dpkg -i openscada-libdb.main_0.9.0-1_all.deb openscada-libdb.vca_0.9.0-1_all.deb openscada-model.aglks_0.9.0-1_all openscada_0.9.0-1_i386.deb </pre></div> <p>Ручне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ RPM-пакетів першого набору можна здійÑнити командою, попередньо змінивши робочу директорію на директорію з пакетами: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>rpm -i openscada-LibDB.Main-0.9.0-alt1.noarch.rpm openscada-LibDB.VCA-0.9.0-alt1.noarch.rpm openscada-Model.AGLKS-0.9.0-alt1.i586.rpm openscada-0.9.0-alt1.i586.rpm </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> У процеÑÑ– Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ виникнути помилки, пов'Ñзані з незадоволеними залежноÑÑ‚Ñми. При ручному вÑтановлені із пакетів, задовольнÑти Ñ—Ñ… треба буде вручну подібно до вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÐµÑ‚Ñ–Ð² OpenSCADA або через менеджер пакетів диÑтрибутиву Linux. Випадки наÑвноÑÑ‚Ñ– проблем залежноÑтей можуть бути навіть при вÑтановлені через пакетний менеджер, Ñкщо викориÑтовуєтьÑÑ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ñ–Ð¹ OpenSCADA, Ñкий не відповідає диÑтрибутиву Linux або його верÑÑ–Ñ—, або-ж не підключено оÑновні репозиторії пакетів Ñамого диÑтрибутиву. У пакетному менеджері APT можна викориÑтовувати команду Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ розв'ÑÐ·Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼ зовнішніх залежноÑтей, Ñкі виникли при ручному вÑтановлені OpenSCADA: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>apt-get install -f </pre></div> <h3><span class="mw-headline" id=".D0.92.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F-.D1.81.D0.BA.D0.BB.D0.B0.D0.B4.D0.B0.D0.BD.D0.BD.D1.8F_.D0.B7_.D0.B2.D0.B8.D1.85.D1.96.D0.B4.D0.BD.D0.B8.D1.85_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D1.96.D0.B2"><span class="mw-headline-number">2.2</span> Ð’ÑтановленнÑ-ÑÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ Ð· вихідних текÑтів</span></h3> <p>Якщо відÑÑƒÑ‚Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚ÑŒ отримати готові пакети OpenSCADA Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ диÑтрибутиву, то залишаєтьÑÑ Ð»Ð¸ÑˆÐµ варіант ÑÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ OpenSCADA з вихідних текÑтів. Цей Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ð¾ опиÑано у документі "<a href="How_to_Build_from_source.html" title="Special:MyLanguage/Documents/How to/Build from source">Як ÑклаÑти з вихідних текÑтів</a>". </p> <h2><span class="mw-headline" id=".D0.9F.D0.B5.D1.80.D0.B2.D0.B8.D0.BD.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_.D1.82.D0.B0_.D0.B7.D0.B0.D0.BF.D1.83.D1.81.D0.BA"><span class="mw-headline-number">3</span> Первинна ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ‚Ð° запуÑк</span></h2> <p>У наших оÑновних завданнÑÑ… з OpenSCADA у межах цього документу, треба вÑтановити пакет з БД моделі "ÐГЛКС" — <b>openscada-model-aglks</b>, про що можна детально дізнатиÑÑ Ð· попереднього розділу. ЗвіÑно, Ñкщо ви викориÑтовуєте <a href="How_to_Live_disk.html" title="Special:MyLanguage/Documents/How to/Live disk">Живий ДиÑк</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> Ðе розглÑдайте тут вÑтановленнÑ-ÑÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ OpenSCADA з вихідних текÑтів, оÑкільки вимоги кваліфікаційного Ñ€Ñ–Ð²Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡Ð½Ð¾ вище за рівень документа загалом та тут неминуче будуть невідповідноÑÑ‚Ñ– з поÑібником через дуже ймовірні відмінноÑÑ‚Ñ– у початковій конфігурації. </p><p>Ð’Ñтановлена БД моделі "ÐГЛКС" не потребує попереднього налаштуваннÑ. Якщо-ж потрібно здійÑнити оÑобливе налаштуваннÑ, Ñке відрізнÑєтьÑÑ Ð²Ñ–Ð´ базового, то ÑкориÑтайтеÑÑ <a href="Program_manual.html#Config" title="Special:MyLanguage/Documents/Program manual">ПоÑібником по програмі</a>. У процеÑÑ– чого вам може знадобитиÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ типові облікові запиÑи Ñ– паролі OpenSCADA (не мають ÑтоÑунку до облікових запиÑів ОС), хоча моделі та новоÑтворені конфігурації запуÑкаютьÑÑ Ð²Ñ–Ð´ привілейованого кориÑтувача Ñ– ви можете легко змінити будь Ñкий з них: </p> <ul><li> СуперкориÑтувач (root), пароль — "openscada".</li> <li> КориÑтувач (user), пароль — "user".</li> <li> Приклад окремого кориÑтувача (roman), пароль — "roman".</li></ul> <p>ДемонÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ OpenSCADA на оÑнові БД моделі "ÐГЛКС", це не те Ñаме, що зазвичай надають комерційні виробники ПЗ з метою продемонÑтрувати можливоÑÑ‚Ñ–, але виключити або уÑкладнити нормальне викориÑÑ‚Ð°Ð½Ð½Ñ ÑˆÐ»Ñхом Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹. ДемонÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ OpenSCADA, це повнофункційна програма, Ñка надає приклади реалізації та Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ñ–Ð·Ð½Ð¾Ð¼Ð°Ð½Ñ–Ñ‚Ð½Ð¸Ñ… компонентів. Ðа оÑнові БД моделі "ÐГЛКС" та інших моделей OpenSCADA можна Ñтворювати влаÑні проєкти, викориÑтовуючи надані напрацюваннÑ. Ðле піÑÐ»Ñ Ð½Ð°Ð±ÑƒÑ‚Ñ‚Ñ Ð¿ÐµÐ²Ð½Ð¾Ð³Ð¾ доÑвіду краще нові проєкти Ñтворювати із чиÑтої конфігурації зі Ñтандартними бібліотеками OpenSCADA, про що далі буде зазначено; Ñ– це щоб не захаращувати проєкт непотрібними там компонентами чим збільшуючи вимоги до реÑурÑів Ñ– непередбачуваніÑÑ‚ÑŒ під Ñ‡Ð°Ñ Ð´Ð¾Ð²Ð³Ð¾Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð¾Ð²Ð¾Ñ— екÑплуатації! </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> Динамічна модель компреÑорної Ñтанції на 6 газових компреÑорів, Ñка лежить у оÑнові демонÑтраційної БД, потребує помітних реÑурÑів, а Ñаме — процеÑору з чаÑтотою більше 1 ГГц (x86) та пам'ÑÑ‚Ñ– до 200 МБ. Зазначені обчиÑлювальні реÑурÑи необхідні безпоÑередньо Ð´Ð»Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ñ— моделі та не Ñ” загальним показником реÑурÑоємноÑÑ‚Ñ– програми у кінцевих завданнÑÑ…! Вимоги до пам'ÑÑ‚Ñ–, натоміÑÑ‚ÑŒ, Ñ” типовим показником Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ð¾Ñ— Ñтанції ÐÐ Ðœ близької ÑкладноÑÑ‚Ñ–. </p><p>Загальний Ð¿Ñ€Ð¾Ñ†ÐµÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— SCADA-ÑиÑтеми Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ верхнього Ñ€Ñ–Ð²Ð½Ñ â€” ÐÐ Ðœ оператора, можна умовно поділити на два етапи: </p> <ul><li> ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° даних, ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð±Ð°Ð·Ð¸ даних (БД) параметрів цих джерел, ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±Ñ‡Ð¸Ñлювальних-логічних параметрів та Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñторії.</li> <li> Ð¤Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… ТП шлÑхом ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñу оператору у виглÑді: мнемоÑхем, груп графіків, груп контурів, документів та інше.</li></ul> <p>Відтак, нашою кінцевою метою та метою цього документу Ñ” побудова повноцінної конфігурації локальної SCADA-Ñтанції, поєднану із Ñервером та з емулÑцією джерела даних на оÑнові цієї демонÑтраційної БД (РиÑ.3). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:461px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_SimpleStationAndServer_uk.png"><img class="thumbimage" height="477" src="files/QuickStart_SimpleStationAndServer_uk.png" width="459" /></a> <div class="thumbcaption">РиÑ. 3. ПроÑте поєднане Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñтанції та SCADA-Ñерверу з джерелом даних у демонÑтраційній БД.</div></div></div></div> <p>Заразом ми ознайомимоÑÑ Ð· такими важливими ролÑми OpenSCADA, Ñк: Ñервер збору, архівації, візуалізації; Ñередовище Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐŸÐ›Ðš Ñ– віддалена розробка. Та перед цим ми оглÑнемо OpenSCADA та Ñ—Ñ— можливоÑÑ‚Ñ– загалом. </p> <h3><span class="mw-headline" id=".D0.97.D0.B0.D0.B3.D0.B0.D0.BB.D1.8C.D0.BD.D0.B8.D0.B9_.D0.BE.D0.B3.D0.BB.D1.8F.D0.B4"><span class="mw-headline-number">3.1</span> Загальний оглÑд</span></h3> <p>ЗапуÑтити локальне Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ OpenSCADA з БД моделі "ÐГЛКС" можна у меню Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ñ— Ñтільниці в розділі "Графіка", пункт "Модель "ÐГЛКС" на відкритій SCADA ÑиÑтемі" з характерною іконкою (РиÑ.3.1.1). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1026px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_demenu_oscada_uk.png"><img class="thumbimage" height="768" src="files/QuickStart_demenu_oscada_uk.png" width="1024" /></a> <div class="thumbcaption">РиÑ. 3.1.1. Пункт меню Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ñ— Ñтільниці Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ запуÑку демонÑтрації OpenSCADA.</div></div></div></div> <p>Локальний запуÑк також можна здійÑнити з конÑолі, командою: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>openscada_AGLKS </pre></div> <p>ПіÑÐ»Ñ Ð·Ð°Ð¿ÑƒÑку ми отримаємо вікно графічного конфігуратору OpenSCADA — <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">QTCfg</a> (РиÑ.3.1.2) з відкритою кореневою Ñторінкою. ДемонÑтраційна БД Ñпеціально налаштована так, щоб першим при запуÑку з'ÑвлÑлоÑÑ Ð²Ñ–ÐºÐ½Ð¾ конфігуратору надалі можна відкрити вікно розробки графічних інтерфейÑів кориÑтувача, а також запуÑтити проєкт кориÑтувацького інтерфейÑу на виконаннÑ. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:748px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_QTCfg_root_uk.png"><img class="thumbimage" height="629" src="files/QuickStart_QTCfg_root_uk.png" width="746" /></a> <div class="thumbcaption">РиÑ. 3.1.2. Програмний конфігуратор OpenSCADA — QTCfg, коренева Ñторінка.</div></div></div></div> <p>Програмний конфігуратор OpenSCADA Ñ” оÑновним та доÑтатнім заÑобом Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— будь Ñкого компоненту OpenSCADA. Як Ñ– багато компонентів OpenSCADA, конфігуратор реалізовано у виглÑді модулÑ. Крім конфігуратору QTCfg доÑтупні й інші конфігуратори, що виконують Ñ‚Ñ–-ж функції, але реалізовані на оÑнові інших технологій. Ðаприклад, такими Ñ” Web-конфігуратори: <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">WebCfgD</a> та <a href="Modules/WebCfg.html" title="Special:MyLanguage/Modules/WebCfg">WebCfg</a>. </p><p>Ð’ÑÑ– дії надалі будемо розглÑдати лише у конфігураторі QTCfg, хоча Ñ—Ñ… можна буде виконати Ñ– в інших конфігураторах. </p><p>Структуру інтерфейÑу вікна конфігуратору можна детально розглÑнути за <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">поÑиланнÑм</a>. Ð”Ð»Ñ Ð½Ð°Ñ Ð·Ð°Ñ€Ð°Ð· важливішим Ñ” розглÑнути вÑÑ– доÑтупні графічні інтерфейÑи OpenSCADA, тому натиÑнемо передоÑтанню нагорі іконку на панелі інÑтрументів, Ñка відкриє вікно розробки кориÑтувацького інтерфейÑу (РиÑ.3.1.3). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:923px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Vision_dev_uk.png"><img class="thumbimage" height="680" src="files/QuickStart_Vision_dev_uk.png" width="921" /></a> <div class="thumbcaption">РиÑ. 3.1.3. Вікно розробки кориÑтувацького інтерфейÑу.</div></div></div></div> <p>Далі можемо запуÑтити проєкт "ÐГЛКС" на виконаннÑ, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ обираємо його у переліку проєктів та запуÑкаємо, натиÑкаючи першу ліворуч іконку на панелі інÑтрументів, або у контекÑтному меню. Ð’ результаті чого отримаємо вікно кінцевого інтерфейÑу кориÑтувача — оператору (РиÑ.3.1.4). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Vision_run_uk.png"><img class="thumbimage" height="759" src="files/QuickStart_Vision_run_uk.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 3.1.4. Вікно кінцевого інтерфейÑу кориÑтувача проєкту "AGLKS".</div></div></div></div> <p>Побудова та Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацьких інтерфейÑів здійÑнюєтьÑÑ <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">модулем Vision</a> підÑиÑтеми "КориÑтувацькі інтерфейÑи". Крім цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ‰Ðµ доÑтупні інші модулі візуалізації, наприклад, OpenSCADA надає <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">модуль WebVision</a>, Ñкий дозволÑÑ” виконувати проєкти розроблені у інтерфейÑÑ– Ð¼Ð¾Ð´ÑƒÐ»Ñ Vision, але за поÑередництвом Web-технологій та Ñтандартного Web-браузеру. </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> Ð”Ð»Ñ Ð´Ð¾Ñтупу до Web-інтерфейÑів необхідних хоÑтів на риÑунку 3 ви можете поÑлідовно Ñпробувати адреÑи: <a class="external free" href="http://localhost:10002" rel="nofollow noreferrer noopener" target="_blank">http://localhost:10002</a>, <a class="external free" href="http://localhost:10003" rel="nofollow noreferrer noopener" target="_blank">http://localhost:10003</a>, <a class="external free" href="http://localhost:10004" rel="nofollow noreferrer noopener" target="_blank">http://localhost:10004</a>. </p><p>Ð’ÑÑ– подальші дії надалі розглÑдатимемо лише у інтерфейÑÑ– Ð¼Ð¾Ð´ÑƒÐ»Ñ Vision. </p><p>Таким чином ми запуÑтили демонÑтрацію OpenSCADA та ознайомилиÑÑ Ñ–Ð· оÑновним набором інÑтрументів. Ðадалі будемо Ñ—Ñ… викориÑтовувати у конфігурації OpenSCADA Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ верхнього Ñ€Ñ–Ð²Ð½Ñ â€” ÐÐ Ðœ оператора та інших завдань. </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> <h3><span class="mw-headline" id=".D0.A4.D0.BE.D0.BD.D0.BE.D0.B2.D0.B5_.D1.82.D0.B0_.D0.B2.D1.96.D0.B4.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B5_.D0.B2.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D0.BD.D0.BD.D1.8F_.E2.80.94_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.2C_.D1.81.D0.B5.D1.80.D0.B5.D0.B4.D0.BE.D0.B2.D0.B8.D1.89.D0.B5_.D0.B2.D0.B8.D0.BA.D0.BE.D0.BD.D0.B0.D0.BD.D0.BD.D1.8F_.D0.9F.D0.9B.D0.9A_.D1.82.D0.B0_.D0.B2.D1.96.D0.B4.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B0_.D1.80.D0.BE.D0.B7.D1.80.D0.BE.D0.B1.D0.BA.D0.B0"><span class="mw-headline-number">3.2</span> <span id="Demon" title="#Demon">Фонове та віддалене Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ â€” Ñервер, Ñередовище Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐŸÐ›Ðš та віддалена розробка</span></span></h3> <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> Ð’ÑÑ– конÑольні операції можете виконати у конÑольному терміналі, наприклад, програма "konsole" у оточенні Живого ДиÑку з діалогу запуÑку за Alt+F2. Та тека "{HOME}" тут, це "<b>/home/user</b>". </p><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 /> Таким чином ви отримаєте демонÑтраційну БД (проєкт "ÐГЛКС"), Ñка працює у фоні, що однак ми не побачимо поки не Ñпробуємо підключитиÑÑŒ до цієї конфігурації, щодо чого нижче. Тепер, при кожному запуÑку комп'ютеру, вона буде таким чином запуÑкатиÑÑ Ñ– працюватиме у фоні. Загалом, Ñаме так здійÑнюєтьÑÑ Ð·Ð°Ð¿ÑƒÑк та Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñерверних конфігурацій, <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Embedding_and_PLC" title="Special:MyLanguage/Sub-projects/Embedding and PLC">оточень ПЛК та одноплатних ПК</a> на кшталт <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Raspberry_Pi" title="Special:MyLanguage/Using/Raspberry Pi">RaspberyPi</a>. </p><p>Якщо у Ð²Ð°Ñ Ð²Ñе-ж виникли проблеми із конÑоллю-терміналом або ви Ñвідомо бажаєте фонового Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñƒ графічному оточені — так званого "запуÑку або Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñƒ ÑиÑтемний лоток", тоді на цій Ñтадії ви можете знову запуÑтити демонÑтраційну конфігурацію, Ñк опиÑано на початку цього розділу (РиÑ.3.1.1), вÑтановити параметр <b>Згортати або запуÑкати у ÑиÑтемний лоток</b> <a href="Modules/QTStarter.html#Cfg" title="Special:MyLanguage/Modules/QTStarter">Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.QTStarter</a> та закрити вікно конфігуратору щоб проєкт моделі ÐГЛКС згорнувÑÑ Ð´Ð¾ ÑиÑтемного лотку. </p> <h3><span class="mw-headline" id=".D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D0.B2.D0.BB.D0.B0.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D1.94.D0.BA.D1.82.D1.83"><span class="mw-headline-number">3.3</span> <span id="UserPrjCrt" title="#UserPrjCrt">Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ð»Ð°Ñного проєкту</span></span></h3> <p>У вікні менеджеру проєктів OpenSCADA (РиÑ.3.3) Ñтворимо наш влаÑний проєкт, Ñкий можна викликати з меню Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‡Ð¾Ñ— Ñтільниці у розділі "Графіка" загальним пунктом "Відкрита SCADA-ÑиÑтема" з характерною іконкою (РиÑ.3.1.1) або командою з конÑолі-терміналу: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>openscada </pre></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:742px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ProjManager_uk.png"><img class="thumbimage" height="509" src="files/QuickStart_ProjManager_uk.png" width="740" /></a> <div class="thumbcaption">РиÑ. 3.3. Вікно менеджеру проєктів OpenSCADA.</div></div></div></div> <p>У цьому вікні ми також можемо перевірити фонове Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñерверної та демонÑтраційної конфігурацій. </p><p>Відтак, натиÑнемо відповідну кнопку <b>Створити-оновити проєкт</b> та введемо назву нового проєкту — <b>Start</b>. </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> Якщо ви бажаєте перевірити Ñебе щодо певних проблем або з інших причин, то можете завантажити <a class="external text" href="http://ftp.oscada.org/OpenSCADA/Projects/Start_QuickStart_uk.backup" rel="nofollow noreferrer noopener" target="_blank">резервну копію</a> вже готового OpenSCADA проєкту "Start" Ñ– відновити його із контекÑтного меню того Ñамого вікна на риÑунку 3.3. Ви маєте розташувати файл резервної копії у каталозі кориÑтувацьких проєктів OpenSCADA — "~/.openscada/", на кшталт із конÑолі-терміналу: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>wget http://ftp.oscada.org/OpenSCADA/Projects/Start_QuickStart_uk.backup -P ~/.openscada/ </pre></div> <h4><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.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_.D0.B2.D1.96.D0.B4.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B8.D1.85_.D1.96_.D1.84.D0.BE.D0.BD.D0.BE.D0.B2.D0.B8.D1.85_.D0.BA.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D0.B9"><span class="mw-headline-number">3.3.1</span> <span id="RemConUse" title="#RemConUse">ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° викориÑÑ‚Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¸Ñ… Ñ– фонових конфігурацій</span></span></h4> <p>Тепер можемо Ñпробувати віддалено підключитиÑÑ Ð´Ð¾ фонового демонÑтраційного проєкту, подивитиÑÑ Ð½Ð° його конфігурацію та запуÑтити демонÑтраційний проєкт на локальне Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ–Ð· Ñерверу візуалізації. </p><p>Ðа Ñторінці "ТранÑпорти" (РиÑ.3.3.1.1) у режимі <b>КориÑтувацький та СиÑтемний</b> Ñтворимо Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ нашої фонової демонÑтрації "AGLKS" Ñк Ñтанції OpenSCADA. Вкажемо там транÑпорт <b>Сокети</b>, адреÑу <b>localhost</b>, кориÑтувача <b>root</b> та пароль <b>openscada</b>. ПіÑÐ»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´ÐµÑ€ÐµÐ²Ð° навігації конфігуратора, командою у контекÑтному меню, ми маємо отримати новий кореневий пункт цього Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° зможемо контролювати віддалену-фонову Ñтанцію з цього конфігуратору. </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> Якщо пункт віддаленої Ñтанції з'ÑвивÑÑ, але відображає відÑутніÑÑ‚ÑŒ підключеннÑ, то ви припуÑтилиÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ у конфігурації вище або віддалена ÑÑ‚Ð°Ð½Ñ†Ñ–Ñ Ð½ÐµÐ´Ð¾Ñтупна, що в нашому випадку може означати лише те, що вона не працює в фоні, а відтак повернітьÑÑ Ð´Ð¾ <a href="#Demon">відповідного розділу</a> та повторіть операції у ньому. </p><p>Якщо вÑе працює, то збережемо цю конфігурацію натиÑнувши другу іконку ліворуч на панелі інÑтрументів нагорі, оÑкільки ми ще ÑкориÑтаємоÑÑ Ð½ÐµÑŽ Ð´Ð»Ñ Ð¿Ñ€Ñмого ÑˆÐ»ÑŽÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² збору даних із демонÑтраційного проєкту, Ñк ПЛК. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:810px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_TrRemStationsAndBrowse_uk.png"><img class="thumbimage" height="593" src="files/QuickStart_TrRemStationsAndBrowse_uk.png" width="808" /></a> <div class="thumbcaption">РиÑ. 3.3.1.1. Сторінка "ТранÑпорти" зовнішніх хоÑтів OpenSCADA та оглÑд дерева OpenSCADA віддаленої-фонової Ñтанції.</div></div></div></div> <p>Ðа Ñторінці конфігурації візуалізатору UI.Vision (РиÑ.3.3.1.2) оберемо: </p> <ul><li> Ñтанцію Ñ€ÑƒÑˆÑ–Ñ Ð¡Ð’Ð£ — "<b>AGLKS</b>";</li> <li> кориÑтувача запуÑку — <b>залишимо порожнім</b>;</li> <li> пароль кориÑтувача цієї віддаленої Ñтанції — <b>залишимо порожнім</b>;</li> <li> проєкт(и) автоматичного Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ â€” також <b>залишимо порожнім</b>, оÑкільки ми бажаємо побачити можливіÑÑ‚ÑŒ віддаленої розробки.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:986px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_RemoteVisionCfg_uk.png"><img class="thumbimage" height="598" src="files/QuickStart_RemoteVisionCfg_uk.png" width="984" /></a> <div class="thumbcaption">РиÑ. 3.3.1.2. Сторінка конфігурації візуалізатору UI.Vision.</div></div></div></div> <p>ÐаÑтупний запуÑк Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.Vision, другою іконкою з ÐºÑ–Ð½Ñ†Ñ Ð½Ð° панелі інÑтрументів нагорі, має призвеÑти Ñередовище візуальної розробки до вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð· Ñервером візуалізації фонового демонÑтраційного проєкту. Де ви можете здійÑнювати віддалену розробку (РиÑ.3.3.1.3) та запуÑкати проєкти з цього Ñерверу візуалізації на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ (РиÑ.3.3.1.4). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:970px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_RemoteVisionDev_uk.png"><img class="thumbimage" height="631" src="files/QuickStart_RemoteVisionDev_uk.png" width="968" /></a> <div class="thumbcaption">РиÑ. 3.3.1.3. Екран віддаленої розробки UI.Vision Ð´Ð»Ñ Ñерверу візуалізації "ÐГЛКС".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_RemoteVisionRun_uk.png"><img class="thumbimage" height="759" src="files/QuickStart_RemoteVisionRun_uk.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 3.3.1.4. Екран віддаленого Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ UI.Vision Ð´Ð»Ñ Ñерверу візуалізації "ÐГЛКС".</div></div></div></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> Цю конфігурацію віддаленого Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ Ñерверу візуалізації зберігати не потрібно та поле конфігурації "Ð¡Ñ‚Ð°Ð½Ñ†Ñ–Ñ Ñ€ÑƒÑˆÑ–Ñ Ð¡Ð’Ð£" (РиÑ.3.3.1.3) необхідно повернути у "<b><Локально></b>", а кориÑтувача Ñтанції вÑтановити у "<b>root</b>" — піÑÐ»Ñ Ñ‡Ð¾Ð³Ð¾ <b>зберегти</b>. </p><p>МожливіÑÑ‚ÑŒ віддаленого Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð° розробки інколи Ñ” єдиним ÑпоÑобом здійÑнити розробку або ÐºÐ¾Ñ€Ð¸Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ тільки Ð´Ð»Ñ Ñерверних конфігурацій виключно з WEB-інтерфейÑом, але Ñ– Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹ з локальною візуалізацією, коли Ñаме Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ñ— візуалізації непридатне або обмежене Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñередовища розробки Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.Vision, наприклад, таких Ñк Ñмартфони, планшети та інші мобільні приÑтрої з малим екраном, виключно ÑенÑорним вводом (<a class="external" href="http://oscada.org/wiki/Sub-projects/Adaption_to_Android" title="Sub-projects/Adaption to Android">Android</a>) або обмеженнÑми на кшталт неможливоÑÑ‚Ñ– Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÑиÑтемної віртуальної клавіатури (<a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Nokia_Linux" title="Special:MyLanguage/Using/Nokia Linux">Nokia N9</a>). Та цю віддалену розробку можна переважно здійÑнювати у процеÑÑ– Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ — гарÑча розробка, що оÑобливо актуально Ð´Ð»Ñ Web-інтерфейÑів Ñ– локальних інтерфейÑів Ñкі запуÑкаютьÑÑ Ð»Ð¸ÑˆÐµ у вікні виконаннÑ. Щодо віддаленої конфігурації, то на один локальний конфігуратор, Ñк центр адмініÑтруваннÑ, можна зібрати вÑÑ– віддалені Ñтанції у мережі включно зі ÑтанціÑми у прихованих мережах Ñтанцій першого рівнÑ, "піднÑти" Ñкі можна аргументом "Рівень піднÑÑ‚Ñ‚Ñ" (РиÑ.3.3.1.1). </p> <h4><span class="mw-headline" id=".D0.9F.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.D1.81.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D0.B8.D1.85_.D0.B1.D1.96.D0.B1.D0.BB.D1.96.D0.BE.D1.82.D0.B5.D0.BA_OpenSCADA"><span class="mw-headline-number">3.3.2</span> ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñтандартних бібліотек OpenSCADA</span></h4> <p>Ðово-Ñтворений проєкт OpenSCADA не міÑтить жодної Ñпецифічної конфігурації, фактично Ñ” порожнім та передбачає ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувачем нової конфігурації у локальному файлі БД SQLite "St.db", що розташовуєтьÑÑ Ñƒ влаÑній теці проєкту з такою-ж назвою. Створювати Ñкладний проєкт SCADA-ÑиÑтеми проÑтіше з викориÑтаннÑм <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Libs" title="Special:MyLanguage/Libs">бібліотек функцій API об'єктної моделі OpenSCADA та бібліотек графічних елементів</a>, а також інших бібліотек OpenSCADA. Ð”Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐº OpenSCADA необхідно файли БД, де зберігаютьÑÑ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸: підключити — додати у об'єкті Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð‘Ð” "SQLite" (РиÑ.3.3.2.1), вÑтановити-обрати <b>адреÑу</b> та вказати ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð‘Ð” в "<b>UTF-8</b>" (РиÑ.3.3.2.2). <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> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1167px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_SQLite_add_uk.png"><img class="thumbimage" height="593" src="files/QuickStart_SQLite_add_uk.png" width="1165" /></a> <div class="thumbcaption">РиÑ. 3.3.2.1. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð¾Ð±'єкту БД "SQLite".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:705px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_SQLite_obj_uk.png"><img class="thumbimage" height="688" src="files/QuickStart_SQLite_obj_uk.png" width="703" /></a> <div class="thumbcaption">РиÑ. 3.3.2.2. Об'єкт БД "SQLite" бібліотеки OpenSCADA.</div></div></div></div> <p>ДиÑтрибутиви OpenSCADA поÑтачаютьÑÑ Ð· низкою бібліотек у виглÑді файлів БД "SQLite" (Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ 3.3.2), Ñкі, при запуÑку-Ñтворені кориÑтувацького проєкту, розташовуютьÑÑ Ñƒ теці "LibsDB/". Згідно цього переліку у об'єкті Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð‘Ð” "SQLite" додаємо або викориÑтовуємо готові запиÑи потрібних бібліотек, <b>вÑтановлюємо їм ознаку "Вмикати"</b> та <b>зберігаємо</b>. Далі, Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¼Ñ–Ñту бібліотек, можна включити БД та натиÑнути кнопку "Завантажити програму з цієї БД", однак низка нових об'єктів при завантажені не вмикаютьÑÑ, тому проÑтіше <b>завершити новий проєкт та запуÑтити його</b> знову. </p><p><b>Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ 3.3.2.</b> Бібліотеки OpenSCADA у Ñкладі диÑтрибутиву. </p> <table class="wikitable"> <tr> <th> Ідентифікатор </th> <th> Ім'Ñ </th> <th> ÐдреÑа </th> <th> Мова/ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ </th> <th> ÐžÐ¿Ð¸Ñ </th></tr> <tr> <td> OscadaLibs </td> <td> Бібліотеки OpenSCADA </td> <td> LibsDB/OscadaLibs.db </td> <td> EN,UK,RU/UTF-8 </td> <td> Бібліотеки джерел даних, Ñлужб та обробки. </td></tr> <tr> <td> vcaBase </td> <td> СВУ: Головні бібліотеки </td> <td> LibsDB/vcaBase.db </td> <td> EN,UK,RU/UTF-8 </td> <td> Бібліотеки графічних елементів OpenSCADA Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">UI.VCAEngine</a>. </td></tr> <tr> <td> vcaTest </td> <td> СВУ: ТеÑти </td> <td> LibsDB/vcaTest.db </td> <td> EN,UK,RU/UTF-8 </td> <td> Бібліотека теÑтів графічних елементів. </td></tr> <tr> <td> vcaElectroEls </td> <td> СВУ: Бібліотека електро-елементів мнемоÑхем кориÑтувацького інтерфейÑу </td> <td> LibsDB/vcaElectroEls.db </td> <td> EN,UK,RU/UTF-8 </td> <td> Ðадає бібліотеку мнемонічних елементів інтерфейÑу кориÑтувача електричних підÑтанцій та Ñтанцій генерації електрики. </td></tr></table> <p>Ð’ результаті Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐº OpenSCADA ви отримаєте оточеннÑ, готове Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ» даних, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ—Ñ… Ñ–Ñторії та Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñу влаÑного проєкту SCADA-ÑиÑтеми. </p> <h2><span class="mw-headline" id=".D0.A0.D0.BE.D0.B1.D0.BE.D1.82.D0.B0_.D0.B7_.D0.B4.D0.B6.D0.B5.D1.80.D0.B5.D0.BB.D0.B0.D0.BC.D0.B8_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85"><span class="mw-headline-number">4</span> Робота з джерелами даних</span></h2> <p>ОÑновною функцією будь Ñкої SCADA-ÑиÑтеми Ñ” робота з джерелами даних реального чаÑу, а Ñаме — Ð¾Ð¿Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¾Ð²Ð°Ð½Ð¸Ñ… логічних контролерів (ПЛК) та проÑтих модулів ПУО. Детальніше ознайомитиÑÑ Ð· цим питаннÑм можна у <a href="DAQ.html" title="Special:MyLanguage/Documents/DAQ">документі "Збір даних у OpenSCADA"</a>. </p><p>Підтримка того або іншого джерела даних залежить від протоколу або API, за Ñким джерело надає Ñвої дані, та наÑвноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñƒ-API Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ñ–Ð´ÑиÑтеми "Збір даних" у OpenSCADA або його реалізації DAQ-Шаблоном на <a href="DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">Логічному Рівні</a>. Загальний перелік модулів підÑиÑтеми "Збір даних" та документацію по ним можна отримати за <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules" title="Special:MyLanguage/Modules">поÑиланнÑм</a> та загальний перелік DAQ-Шаблонів можна отримати за <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Libs/Generic_list" title="Special:MyLanguage/Libs/Generic list">поÑиланнÑм</a>. </p><p>Дані, отримані з джерел, надалі оброблÑÑŽÑ‚ÑŒÑÑ, архівуютьÑÑ Ñ‚Ð° викориÑтовуютьÑÑ Ð´Ð»Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ ТП. </p> <h3><span class="mw-headline" id=".D0.97.D0.B1.D1.96.D1.80_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85_.D0.B0.D0.BF.D0.B0.D1.80.D0.B0.D1.82.D1.83_.D0.A2.D0.9F"><span class="mw-headline-number">4.1</span> Збір даних апарату ТП</span></h3> <p>У ÑкоÑÑ‚Ñ– прикладу розглÑнемо та Ñтворимо збір даних Ð´Ð»Ñ Ð°Ð¿Ð°Ñ€Ð°Ñ‚Ñƒ повітрÑного охолоджувача. Фонова демонÑтраційна БД, Ñк ПЛК та джерело даних, міÑтить модель реального чаÑу ТП компреÑорної Ñтанції з шеÑти компреÑорів. Дані Ð´Ð»Ñ Ð´Ð²Ð¾Ñ… апаратів повітрÑних холодильників AT101_1 Ñ– AT101_2 компреÑорної Ñтанції KM101 доÑтупні за протоколом ModBus/TCP на порту 10502 (Ñтандартно це порт 502 за наÑвноÑÑ‚Ñ– доÑтупу його відкриттÑ). </p><p>Створимо об'єкт контролеру Ð´Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ за протоколом ModBus/TCP та отримаємо ці дані. Тим Ñамим фактично реалізуємо Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð·Ð±Ð¾Ñ€Ñƒ реальних даних оÑкільки наша ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð±ÑƒÐ´Ðµ відрізнÑтиÑÑ Ð²Ñ–Ð´ роботи зі Ñправжнім зовнішнім приÑтроєм лише його адреÑою та адреÑами регіÑтрів ModBus, а також це може бути інший фізичний Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð²Ð·Ð°Ñ”Ð¼Ð¾Ð´Ñ–Ñ— — варіант протоколу ModBus. Це Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚Ð°ÐºÐ¾Ð¶ Ñ” ÑÑкравим прикладом можливоÑÑ‚Ñ– реалізації Ñередовища Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° даних (ПЛК) на оÑнові OpenSCADA. </p><p>Ð”Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ даних за протоколом ModBus у OpenSCADA наÑвний <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">модуль "ModBus"</a> підÑиÑтеми "Збір даних". Ð”Ð»Ñ Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ об'єкту контролера у конфігураторі відкриємо Ñторінку Ð¼Ð¾Ð´ÑƒÐ»Ñ "ModBus" "Start"->"Збір даних"->"Модуль"->"ModBus" та у <b>контекÑтному меню пунктe "ModBus" натиÑнемо "Додати"</b> (риc.4.1.1). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:730px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_add_uk.png"><img class="thumbimage" height="589" src="files/QuickStart_ModBUS_add_uk.png" width="728" /></a> <div class="thumbcaption">РиÑ. 4.1.1. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролера у модулі "ModBus" підÑиÑтеми "Збір даних".</div></div></div></div> <p>У результаті з'ÑвитьÑÑ Ð²Ñ–ÐºÐ½Ð¾ діалогу (РиÑ.4.1.2) з пропозицією ввеÑти ідентифікатор та назву нового об'єкту контролера. Ідентифікатори об'єктів OpenSCADA обмежено розміром у 20 Ñимволів та Ñ—Ñ… рекомендуєтьÑÑ Ð²Ð²Ð¾Ð´Ð¸Ñ‚Ð¸ Ñимволами англійÑького алфавіту Ñ– цифрами. Крім того, починати ідентифікатор бажано з літери, що ÑпроÑтить його викориÑÑ‚Ð°Ð½Ð½Ñ Ñƒ внутрішніх процедурах. Ðазви об'єктів OpenSCADA обмежено розміром у 50 Ñимволів та Ñкі можуть бути будь Ñкими. Ðазва зазвичай викориÑтовуютьÑÑ Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ– Ñкщо вона порожнÑ, то буде викориÑтано ідентифікатор. Ðадалі назву ми можемо змінити у конфігурації об'єкта, але ідентифікатор неможливо змінити прÑмо; хоча об'єкт можна вирізати (Ctrl+X) та потім вÑтавити (Ctrl+V) тим Ñамим перейменувавши його. Згідно до зауважень раніше, введемо ідентифікатор CM101, назву "KM 101" — "<b>CM101 (KM 101)</b>". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:410px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_enter_idnm_uk.png"><img class="thumbimage" height="249" src="files/QuickStart_enter_idnm_uk.png" width="408" /></a> <div class="thumbcaption">РиÑ. 4.1.2. Діалог Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ñƒ та назви нового об'єкту.</div></div></div></div> <p>ПіÑÐ»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ñƒ Ð½Ð°Ñ Ð·'ÑвитьÑÑ Ð¾Ð±'єкт нового контролера. Оберемо його у конфігураторі та ознайомимоÑÑ Ð· налаштуваннÑми (РиÑ.4.1.3). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:797px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_cntr_uk.png"><img class="thumbimage" height="683" src="files/QuickStart_ModBUS_cntr_uk.png" width="795" /></a> <div class="thumbcaption">РиÑ. 4.1.3. Головна вкладка Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролера Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <p>ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролеру Ñк правило Ñпецифічні Ð´Ð»Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… типів джерел даних та протоколів. Детально ознайомитиÑÑ Ð· налаштуваннÑми об'єкту контролера <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus</a> можна за <a href="Modules/ModBus.html#DAQ" title="Special:MyLanguage/Modules/ModBus">поÑиланнÑм</a>. Ми ж розглÑнемо загальні та ключеві Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ модулÑ. </p><p>Перед конфігурацією зв'Ñзку зі Ñвоїм контролером треба з документації на цей контролер з'ÑÑувати Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¹Ð¾Ð³Ð¾ мережевих інтерфейÑів та протоколів, а також, у випадку викориÑÑ‚Ð°Ð½Ð½Ñ ModBus, отримати таблицю Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… та внутрішніх Ñигналів контролеру на номери регіÑтрів ModBus — мапу регіÑтрів. </p><p>За допомогою Ñторінки об'єкту контролеру у розділі "Стан" можна в першу чергу оцінити поточний Ñтан об'єкту контролера та реальний Ñтан зв'Ñзку з фізичним контролером, а також оперативно Ñ—Ñ… мінÑти. Так, поле "СтатуÑ" міÑтить код помилки та текÑтовий Ð¾Ð¿Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ñтану зв'Ñзку з контролером. У нашому випадку об'єкт контролеру вимкнено. Ми можемо його увімкнути та запуÑтити, вÑтановивши ознаки навпроти відповідних полів. Ввімкнений об'єкт контролеру ініціює параметри, запущений же ще запуÑкає Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð·Ð±Ð¾Ñ€Ñƒ (окремий потік на об'єкт контролеру) та надає можливіÑÑ‚ÑŒ передавати дані у контролер через атрибути параметрів. Поле "Сховище" вказує у Ñкому Ñховку зберігаєтьÑÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð°Ð½Ð¾Ð³Ð¾ об'єкту. ÐÐ°Ñ Ð²Ð»Ð°ÑˆÑ‚ÑƒÑ” Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñƒ Загальному Сховку, тобто <b>залишимо по замовченню</b>. </p><p>У розділі "КонфігураціÑ" безпоÑередньо міÑтитьÑÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð¾Ð±'єкту контролера. Ð’Ñтановимо наÑтупні з них, залишивши вÑе інше без змін: </p> <ul><li> "Вмикати" та "ЗапуÑкати" вказують у Ñкий Ñтан переводити об'єкт контролеру при запуÑку програми — <b>вÑтановимо обидва полÑ</b>.</li> <li> "ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð±Ð¾Ñ€Ñƒ" міÑтить конфігурацію планувальника Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð·Ð±Ð¾Ñ€Ñƒ даних. Отримати Ð¾Ð¿Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ конфігурації даного Ð¿Ð¾Ð»Ñ Ð¼Ð¾Ð¶Ð½Ð° зі Ñпливаючої підказки. Одне чиÑло вказує на періодичніÑÑ‚ÑŒ запуÑку, в Ñекундах — <b>вкажемо одну Ñекунду</b>.</li> <li> "ModBus протокол" вказує на варіант протоколу ModBus. Можливі варіанти протоколу "TCP", "RTU" та "ASCII". Ðаразі Ð½Ð°Ñ Ñ†Ñ–ÐºÐ°Ð²Ð¸Ñ‚ÑŒ варіант <b>TCP</b>, тому залишимо Ñк Ñ”. Варіанти протоколів "RTU" та "ASCII" треба вÑтановлювати у випадку зв'Ñзку з контролером за поÑередництвом поÑлідовних інтерфейÑів, чаÑто це "RS-485".</li> <li> "ÐдреÑа транÑпорту" вказує на вихідний транÑпорт <a href="Program_manual.html#Transports" title="Special:MyLanguage/Documents/Program manual">підÑиÑтеми "ТранÑпорти"</a>, Ñкий викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· контролером. У випадку з варіантом "TCP" нам потрібен транÑпорт у <a href="Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">модулі Sockets</a>, а у випадку варіантів "RTU", "ASCII" та поÑлідовного інтерфейÑу нам потрібен транÑпорт у <a href="Modules/Serial.html" title="Special:MyLanguage/Modules/Serial">модулі Serial</a>. Ðа Ñтворені вихідного транÑпорту у "Sockets" та "Serial" детальніше зупинимоÑÑ Ð½Ð¸Ð¶Ñ‡Ðµ.</li> <li> "Вузол призначеннÑ" вказує на вузол джерела даних або контролера у мережі ModBus. У нашому випадку це має бути <b>1</b>.</li> <li> "Об'єднувати фрагменти даних" включає об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð½ÐµÑуміжних фрагментів регіÑтрів у один блок запиту до визначеної макÑимальної кількоÑÑ‚Ñ– байтів заміÑÑ‚ÑŒ генерації окремих запитів, чим дозволÑÑ” зменшити загальний Ñ‡Ð°Ñ Ð·Ð±Ð¾Ñ€Ñƒ — <b>вÑтановимо цю опцію</b>.</li></ul> <p>Збережемо наші зміни у Ñховищі, натиÑнувши другу ліворуч іконку на панелі інÑтрументів. </p><p>Тепер, таким чином Ñк Ñ– об'єкт контролеру Ñтворимо вихідний транÑпорт у модулі "Sockets" ("Start"->"ТранÑпорти"->"Сокети") за поÑередництвом контекÑтного меню (РиÑ.4.1.4) та назвемо транÑпорт так, Ñк Ñ– об'єкт контролеру "<b>CM101 (KM 101)</b>". Зверніть увагу, що у полі "Тип елементу" діалогу вводу ідентифікатору та назви (РиÑ.4.1.2) треба обрати "<b>Вихідний транÑпорт</b>"! </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:795px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Sockets_add_uk.png"><img class="thumbimage" height="705" src="files/QuickStart_Sockets_add_uk.png" width="793" /></a> <div class="thumbcaption">РиÑ. 4.1.4. Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¾Ð³Ð¾ транÑпорту у модулі "Sockets" підÑиÑтеми "ТранÑпорти".</div></div></div></div> <p>Сторінку конфігурації отриманого вихідного транÑпорту наведено на риÑунку 4.1.5. Ð¦Ñ Ñторінка також міÑтить розділ Ñтану та оперативного управліннÑ. У полі "СтатуÑ" міÑтитьÑÑ Ñ‚ÐµÐºÑтовий Ð¾Ð¿Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ñтану транÑпорту. Ми можемо підключити його вÑтановивши ознаку навпроти відповідного полÑ. Поле "Сховище" вказує Ñховок конфігурації об'єкту — <b>Ð½Ð°Ñ Ð²Ð»Ð°ÑˆÑ‚ÑƒÑ” "Загальне Сховище"</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:712px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Sockets_tr_uk.png"><img class="thumbimage" height="545" src="files/QuickStart_Sockets_tr_uk.png" width="710" /></a> <div class="thumbcaption">РиÑ. 4.1.5. Сторінка конфігурації вихідного транÑпорту Ð¼Ð¾Ð´ÑƒÐ»Ñ "Sockets" підÑиÑтеми "ТранÑпорти".</div></div></div></div> <p>У розділі "КонфігураціÑ" безпоÑередньо міÑтитьÑÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð¾Ð±'єкту транÑпорту, вÑтановимо наÑтупні: </p> <ul><li> "ÐдреÑа" вказує на: тип (необов'Ñзково), адреÑу та режим Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð· віддаленою Ñтанцією. ОзнайомитиÑÑ Ð· форматом запиÑу можна із Ñпливаючої підказки — <b>вÑтановимо це поле у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "localhost:10502"</b>.</li></ul> <p>ТранÑпорти інших типів ÑтворюютьÑÑ Ð¿Ð¾Ð´Ñ–Ð±Ð½Ð¾ до розглÑнутому Ð´Ð»Ñ "Sockets" методу, а ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ—Ñ… відрізнÑєтьÑÑ Ð·Ð°Ð·Ð²Ð¸Ñ‡Ð°Ð¹ лише форматом запиÑу адреÑи та таймаутів у вкладці "Додаткове". У випадку із транÑпортом Ð¼Ð¾Ð´ÑƒÐ»Ñ "Serial" у адреÑÑ– вказуєтьÑÑ: шлÑÑ… до поÑлідовного приÑтрою, швидкіÑÑ‚ÑŒ та формат. Ð”Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚ÐµÑ€Ñ–Ð² <i>USB->Serial,Modem</i> цю адреÑу можна дізнатиÑÑ Ð· операційної ÑиÑтеми, наприклад, конÑольною командою <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">dmesg</span> одразу піÑÐ»Ñ Ð¹Ð¾Ð³Ð¾ підключеннÑ. </p><p>Збережемо об'єкт транÑпорту та повернемоÑÑ Ð´Ð¾ конфігураційного Ð¿Ð¾Ð»Ñ "ÐдреÑа транÑпорту" об'єкта контролера, де <b>оберемо адреÑу "Sockets.CM101"</b>. Ðаразі OpenSCADA підтримує, Ð´Ð»Ñ Ð¾Ð±'єктів контролерів більшоÑÑ‚Ñ– типів джерел даних, Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… параметрів безпоÑередньо у полі "ÐдреÑа транÑпорту" та без необхідноÑÑ‚Ñ– окремого ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±'єктів транÑпортів. Тобто Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ полі "Sockets.CM101:localhost:10502" автоматично Ñтворить CM101 у вихідних транÑпортах Sockets із зазначеною адреÑою. </p><p>Ðа цьому Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролера закінчено, <b>включимо його вÑтановивши ознаку "Ввімкнено"</b>. ÐаÑтупним етапом Ñ” ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ‚Ð° Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð¸Ñ… даних, Ñкі необхідно опитувати з контролера. Це Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð´Ñ–Ð¹ÑнюєтьÑÑ ÑˆÐ»Ñхом ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ контролера. Параметр дозволÑÑ” опиÑати перелік даних, що отримуютьÑÑ Ñƒ контролера та передати Ñ—Ñ… у Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ OpenSCADA — модель даних. </p><p>Ð”Ð»Ñ Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ параметру відкриємо Ñторінку нашого об'єкту контролера та у контекÑтному меню пункту "KM 101" <b>натиÑнемо "Додати"</b> — назвемо "<b>AT101_1 (AT 101_1)</b>". </p><p>Сторінку конфігурації отриманого параметра приведено на риÑунку 4.1.6. Ð¦Ñ Ñторінка міÑтить розділ Ñтану та оперативного управліннÑ. У полі "Тип" міÑтитьÑÑ Ñ‚Ð¸Ð¿ параметру, у нашому випадку це "<b>Стандартний</b>". <b>Параметр ми вмикаємо</b> вÑтановивши ознаку навпроти відповідного полÑ. Ввімкнений параметр приймає учаÑÑ‚ÑŒ у процеÑÑ– обміну з контролером. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:678px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_prm_uk.png"><img class="thumbimage" height="648" src="files/QuickStart_ModBUS_prm_uk.png" width="676" /></a> <div class="thumbcaption">РиÑ. 4.1.6. Сторінка конфігурації параметру контролера "ModBUS".</div></div></div></div> <p>У розділі "КонфігураціÑ" безпоÑередньо міÑтитьÑÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ. Ð’Ñтановимо наÑтупні з них залишивши вÑÑ– інші без змін: </p> <ul><li> "Вмикати" вказує на необхідніÑÑ‚ÑŒ Ð¿ÐµÑ€ÐµÐ²ÐµÐ´ÐµÐ½Ð½Ñ Ð¾Ð±'єкту в режим "Ввімкнений" при запуÑку програми — <b>вÑтановимо це поле</b>.</li> <li> "Перелік атрибутів" міÑтить конфігурацію атрибутів параметру відноÑно до регіÑтрів та бітів ModBus, ознайомитиÑÑ Ð· форматом запиÑу можна зі Ñпливаючої підказки — вÑтановимо вміÑÑ‚ цього текÑтового Ð¿Ð¾Ð»Ñ Ñƒ:</li></ul> <pre> R:100:r:Ti:T вхід R:101:r:To:T вихід R:102:rw:Cw:ПродуктивніÑÑ‚ÑŒ </pre> <p>Таким-же чином <b>Ñтворимо, або Ñкопіюємо з AT101_1</b>, другий параметр "<b>AT101_2 (AT 101_2)</b>". Перелік атрибутів Ð´Ð»Ñ Ð½ÑŒÐ¾Ð³Ð¾ вÑтановимо у: </p> <pre> R:103:r:Ti:T вхід R:104:r:To:T вихід R:105:rw:Cw:ПродуктивніÑÑ‚ÑŒ </pre> <p><b>Збережемо обидва</b> параметри. Тепер ми можемо запуÑтити наш об'єкт контролера Ð´Ð»Ñ Ð·Ð´Ñ–Ð¹ÑÐ½ÐµÐ½Ð½Ñ Ð·Ð±Ð¾Ñ€Ñƒ, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ повернемоÑÑ Ð½Ð° його Ñторінку та у розділі "Стан" <b>вÑтановимо ознаку "ВиконуєтьÑÑ"</b>. Якщо ми нічого не пропуÑтили, то обмін уÑпішно запуÑтитьÑÑ Ñ‚Ð° у полі "СтатуÑ" ми отримаємо подібне предÑтавленому на риÑунку 4.1.7. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:797px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_cntr_st_uk.png"><img class="thumbimage" height="683" src="files/QuickStart_ModBUS_cntr_st_uk.png" width="795" /></a> <div class="thumbcaption">РиÑ. 4.1.7. Сторінка об'єкту контролера при уÑпішному обміні з фізичним контролером.</div></div></div></div> <p>У випадку вдалого обміну з фізичним контролером ми також отримаємо опиÑані дані контролеру у інфраÑтруктурі OpenSCADA — моделі даних. Побачити ці дані можна у вкладці "Ðтрибути" наших параметрів AT101_1 (РиÑ.4.1.8) та AT101_2. ОÑкільки збір здійÑнюєтьÑÑ Ñ€ÐµÐ³ÑƒÐ»Ñрно та з періодичніÑÑ‚ÑŽ у Ñекунду, то ми можемо ÑпоÑтерігати Ñ—Ñ… зміну натиÑкаючи кнопку "Поновити поточну Ñторінку" на панелі інÑтрументів. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:678px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_prm_attr_uk.png"><img class="thumbimage" height="482" src="files/QuickStart_ModBUS_prm_attr_uk.png" width="676" /></a> <div class="thumbcaption">РиÑ. 4.1.8. Сторінка опиÑу атрибутів параметру AT101_1.</div></div></div></div> <p>Ðа цьому ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð·Ð±Ð¾Ñ€Ñƒ даних вважаєтьÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¾ÑŽ. </p> <h3><span class="mw-headline" id=".D0.9E.D0.B1.D1.80.D0.BE.D0.B1.D0.BA.D0.B0_.D0.BE.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D0.BD.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85_.D0.A2.D0.9F"><span class="mw-headline-number">4.2</span> <span id="DataProc" title="#DataProc">Обробка отриманих даних ТП</span></span></h3> <p>ЧаÑто зуÑтрічаєтьÑÑ ÑитуаціÑ, коли вихідні дані, отримані із джерела даних, Ñ” "Ñирими", тобто неготовими або незручними Ð´Ð»Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑтавленнÑ, тому потрібно здійÑнити цю підготовку. У нашому прикладі ми отримали дані, Ñкі надходÑÑ‚ÑŒ у коді від шкали вÑередині контролеру Ñ– наше Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ â€” здійÑнити обрахунок реальних значень з отриманих даних. Обробку даних у OpenSCADA можна здійÑнювати Ñк безпоÑередньо при візуалізації, так Ñ– у підÑиÑтемі Збір Даних. Однак Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу візуалізації Ñ– обробки вхідних даних вноÑить плутанину у конфігурацію, не дозволÑÑ” веÑти Ñ–Ñторію реальних даних, робить отримані образи візуалізації мало придатними Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ð° збільшує Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° потік візуалізації, чим зменшує Ñ—Ñ— загальну реакцію. Відповідно, здійÑнимо підготовку даних у підÑиÑтемі Збір Даних. </p><p>ОбчиÑÐ»ÐµÐ½Ð½Ñ Ñƒ підÑиÑтемі Збір Даних Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¸Ñ… даних переважно виконуютьÑÑ Ð·Ð° поÑередництвом Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ€Ñ–Ð²Ð½Ñ <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">LogicLev</a> та шаблонів параметрів підÑиÑтеми Збір Даних. Модуль <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a> Ñ” тим випадком, коли таке обчиÑÐ»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° виконати безпоÑередньо у ньому, що ми нижче побачимо. Детальніше ознайомитиÑÑ Ð· концепцією Логічного Ð Ñ–Ð²Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° за <a href="DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">поÑиланнÑм</a>. </p><p>Ð”Ð»Ñ Ð·Ð´Ñ–Ð¹ÑÐ½ÐµÐ½Ð½Ñ Ð¾Ð±Ñ‡Ð¸Ñлень, у модулі Логічного Ð Ñ–Ð²Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾ потрібно Ñтворити бібліотеку шаблонів нашого проєкту та шаблон параметру підÑиÑтеми Збір Даних у ній. Ð”Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ шаблонів відкриємо Ñторінку підÑиÑтеми Збір Даних та, за поÑередництвом контекÑтного меню, <b>Ñтворимо</b> об'єкт бібліотеки шаблонів <b>start (ЗапуÑк)</b>. Сторінка конфігурації отриманого об'єкту бібліотеки шаблону (РиÑ.4.2.1) міÑтить розділ Ñтану та оперативного ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ "Стан" Ñ– розділ налаштувань "КонфігураціÑ" у Ñкому міÑÑ‚ÑÑ‚ÑŒÑÑ Ð»Ð¸ÑˆÐµ типові Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— та Ñкі залишимо незмінними. Загалом ми маємо: </p> <ul><li> Розділ "Стан": <ul><li> позначити бібліотеку доÑтупною — <b>вÑтановлюємо ознаку</b> навпроти відповідного полÑ;</li> <li> вказати Ñховище — <b>залишимо "Загальне Сховище" проєкту</b>;</li> <li> можемо проконтролювати дату оÑтанньої модифікації шаблону.</li></ul></li> <li> <b>Зберегти</b> об'єкт.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:678px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_TmplLib_uk.png"><img class="thumbimage" height="482" src="files/QuickStart_TmplLib_uk.png" width="676" /></a> <div class="thumbcaption">РиÑ. 4.2.1. Сторінка конфігурації об'єкта бібліотеки шаблонів.</div></div></div></div> <p>Ð”Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ, відкриємо Ñторінку ново-Ñтвореної бібліотеки шаблонів "Start"->"Збір Даних"->"Бібліотека шаблонів"->"ЗапуÑк" та, за поÑередництвом контекÑтного меню, <b>Ñтворимо</b> об'єкт шаблону <b>airCooler (ПовітрÑний холодильник)</b>. Сторінка конфігурації отриманого об'єкту шаблона (РиÑ.4.2.2) міÑтить розділ Ñтану та оперативного ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ "Стан" Ñ– розділ налаштувань "КонфігураціÑ", у Ñкому міÑÑ‚ÑÑ‚ÑŒÑÑ Ð»Ð¸ÑˆÐµ типові Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— та Ñкі залишимо незмінними. Загалом ми маємо: </p> <ul><li> Розділ "Стан": <ul><li> позначити шаблон доÑтупним — <b>вÑтановити ознаку</b> навпроти відповідного полÑ, доÑтупні шаблони можуть підключатиÑÑ Ð´Ð¾ параметрів збору даних Ñ– параметри будуть здійÑнювати обчиÑÐ»ÐµÐ½Ð½Ñ Ð·Ð° цим шаблоном;</li> <li> можемо проконтролювати кількіÑÑ‚ÑŒ об'єктів, Ñкі викориÑтовують даний шаблон Ð´Ð»Ñ Ð¾Ð±Ñ‡Ð¸ÑленнÑ;</li> <li> можемо проконтролювати дату оÑтанньої модифікації.</li></ul></li> <li> <b>Зберегти</b> об'єкт.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:773px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Tmpl_gen_uk.png"><img class="thumbimage" height="488" src="files/QuickStart_Tmpl_gen_uk.png" width="771" /></a> <div class="thumbcaption">РиÑ. 4.2.2. Сторінка конфігурації об'єкту шаблона.</div></div></div></div> <p>ОÑновна ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñ‚Ð° Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ параметра збору даних здійÑнюєтьÑÑ Ñƒ вкладці "Ð’Ð’" (РиÑ.4.2.3) шаблону. Детальний Ð¾Ð¿Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ можна отримати за <a href="Program_manual.html#CfgDAQ" title="Special:MyLanguage/Documents/Program manual">поÑиланнÑм</a>. </p><p>У шаблоні Ñтворимо два Ð’Ð’ Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ñ–Ð² ("TiCod", "ToCod"), два Ð´Ð»Ñ Ð²Ð¸Ñ…Ð¾Ð´Ñ–Ð² результату ("Ti","To") Ñ– один прозорий ("Cw"). Ð”Ð»Ñ Ð’Ð’ "TiCod", "ToCod" Ñ– "Cw" вÑтановимо ознаку "КонфігураціÑ" у <b>Зв'Ñзок</b>, що дозволить підв'Ñзувати до них "Ñирі" джерела. Ð’Ñтановимо ознаку "Ðтрибут" Ð´Ð»Ñ Ð’Ð’ "Ti" Ñ– "To" у <b>Тільки читаннÑ</b>, Ð´Ð»Ñ "Cw" у <b>Повний доÑтуп</b> — Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ñ€ÑŒÐ¾Ñ… атрибутів у параметрі збору даних: два лише на Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ– один на повний доÑтуп. </p><p>Ð’Ñтановимо мову програми у <b>JavaLikeCalc.JavaScript</b> Ñ– програму у: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">Ti</span> <span class="o">=</span> <span class="mi">150</span><span class="o">*</span><span class="nx">TiCod</span><span class="o">/</span><span class="mi">65536</span><span class="p">;</span> <span class="nx">To</span> <span class="o">=</span> <span class="mi">100</span><span class="o">*</span><span class="nx">ToCod</span><span class="o">/</span><span class="mi">65536</span><span class="p">;</span> </pre></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:885px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Tmpl_io_uk.png"><img class="thumbimage" height="619" src="files/QuickStart_Tmpl_io_uk.png" width="883" /></a> <div class="thumbcaption">РиÑ. 4.2.3. Вкладка "Ð’Ð’" Ñторінки конфігурації об'єкту шаблону.</div></div></div></div> <p><b>Збережемо отриманий шаблон</b> та вÑтановимо <b>ознаку доÑтупноÑÑ‚Ñ–</b> (РиÑ.4.2.2). </p><p>Тепер Ñтворимо об'єкт контролера та параметри у модулі LogicLev підÑиÑтеми Збір Даних. Об'єкт контролера LogicLev та його параметри ÑтворюютьÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾ раніше Ñтвореним у модулі ModBus на Ñторінці "Start"->"Збір Даних"->"Модуль"->"Логічний рівень". Ðазвемо Ñ—Ñ… <b>ідентично до об'єктів Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus</b>. </p><p>Об'єкт контролера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev (РиÑ.4.2.4) не має Ñпецифічних налаштувань та вÑтановлені по замовченню можна не чіпати, окрім Ð¿Ð¾Ð»Ñ "ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ñ‡Ð¸ÑленнÑ", Ñке вÑтановимо у <b>1 (одну) Ñекунду</b>. Перед доданнÑм параметрів треба увімкнути об'єкт контролера — <b>вÑтановимо ознаку "Ввімкнено"</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:678px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_cntr_uk.png"><img class="thumbimage" height="598" src="files/QuickStart_LogicLev_cntr_uk.png" width="676" /></a> <div class="thumbcaption">РиÑ. 4.2.4. Головна вкладка Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev.</div></div></div></div> <p>Параметр об'єкту контролера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev (РиÑ.4.2.5) із Ñпецифічних налаштувань має "Тип", де необхідно вÑтановити "<b>Логічний</b>", Ñ– <b>обрати адреÑу Ñтвореного нами шаблону</b> у полі "Шаблон параметру". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:793px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_uk.png"><img class="thumbimage" height="517" src="files/QuickStart_LogicLev_prm_uk.png" width="791" /></a> <div class="thumbcaption">РиÑ. 4.2.5. Сторінка конфігурації параметру об'єкта контролера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev.</div></div></div></div> <p>Крім базової конфігурації параметру треба Ñконфігурувати й підключений шаблон (РиÑ.4.2.6). Вкладка конфігурації шаблону з'ÑвлÑєтьÑÑ Ñƒ режимі параметру "Ввімкнено". Увімкнути параметр можна увімкнувши попередньо об'єкт контролеру. Ознака "Показати атрибути" дозволÑÑ” вÑтановлювати окремо кожний зв'Ñзок (РиÑ.4.2.7). ОÑкільки у шаблоні ми завбачливо опиÑали формат зв'Ñзків у виглÑді "Параметр|Ti", то вÑÑ– три зв'Ñзки можемо вÑтановити проÑто вказавши адреÑу до параметру у об'єкті контролеру ModBus. Вкажемо-оберемо адреÑу "<b>ModBus.CM101.AT101_1</b>" Ñ– "<b>ModBus.CM101.AT101_2</b>" у відповідних параметрах. </p><p>Треба відзначити, що вÑÑ– Ð¿Ð¾Ð»Ñ Ð²Ð²Ð¾Ð´Ñƒ Ð°Ð´Ñ€ÐµÑ Ð¾Ð±'єктів у OpenSCADA мають механізм набору адреÑи. Даний механізм передбачає поелементний вибір, у процеÑÑ– Ñкого відбуваєтьÑÑ Ñ€ÑƒÑ… у глиб. Ðаприклад, на початку набору адреÑи "ModBus.CM101.AT101_1" ми матимемо можливіÑÑ‚ÑŒ Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ джерела даних, Ñеред Ñких буде "ModBus"; обравши Ñкий до переліку доÑтупних елементів Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ð´ÑƒÑ‚ÑŒÑÑ Ð¾Ð±'єкти контролеру Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus де буде "ModBus.CM101"; Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñƒ "ModBus.CM101" додаÑÑ‚ÑŒ параметри контролеру Ñ– так далі до кінцевого елементу згідно <a href="Program_manual.html#DAQ" title="Special:MyLanguage/Documents/Program manual">ієрархії об'єктів</a>. Ð”Ð»Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð½Ð° рівні вище, перелік вибору міÑтить елементи уÑÑ–Ñ… вищеÑтоÑщих рівнів від поточного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:793px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_tmpl_uk.png"><img class="thumbimage" height="517" src="files/QuickStart_LogicLev_prm_tmpl_uk.png" width="791" /></a> <div class="thumbcaption">РиÑ. 4.2.6. Вкладка "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ" Ñторінки параметра контролера LogicLev.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:793px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_tmpl_attr_uk.png"><img class="thumbimage" height="517" src="files/QuickStart_LogicLev_prm_tmpl_attr_uk.png" width="791" /></a> <div class="thumbcaption">РиÑ. 4.2.7. Вкладка "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ" Ñторінки параметра контролера LogicLev із розгорнутими зв'Ñзками.</div></div></div></div> <p><b>Збережемо Ñтворені об'єкти</b> контролеру та параметрів, піÑÐ»Ñ Ñ‡Ð¾Ð³Ð¾ запуÑтимо об'єкт контролера на виконаннÑ, <b>вÑтановивши ознаку "ВиконуєтьÑÑ"</b> у розділі "Стан". Якщо ми нічого не пропуÑтили, то обчиÑÐ»ÐµÐ½Ð½Ñ ÑƒÑпішно запуÑтитьÑÑ Ñ‚Ð° у полі "СтатуÑ" отримуємо Ñхоже на риÑунку 4.2.8. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:690px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_cntr_st_uk.png"><img class="thumbimage" height="602" src="files/QuickStart_LogicLev_cntr_st_uk.png" width="688" /></a> <div class="thumbcaption">РиÑ. 4.2.8. Сторінка об'єкту контролера при уÑпішному його обчиÑлені у модулі LogicLev.</div></div></div></div> <p>У випадку уÑпішної обробки коду шаблона в параметрах ми отримаємо оброблені дані у інфраÑтруктурі (моделі даних) OpenSCADA. Побачити ці дані можна у вкладці "Ðтрибути" наших параметрів AT101_1 (РиÑ.4.2.9) Ñ– AT101_2. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:686px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_attr_uk.png"><img class="thumbimage" height="480" src="files/QuickStart_LogicLev_prm_attr_uk.png" width="684" /></a> <div class="thumbcaption">РиÑ. 4.2.9. Сторінка атрибутів параметру AT101_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev.</div></div></div></div> <p>Ðа цьому конфігурацію обробки даних вважаємо закінченою. </p> <h3><span class="mw-headline" id=".D0.9A.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.B8.D0.B9_.D0.BE.D0.B1.27.D1.94.D0.BA.D1.82-.D1.82.D0.B5.D0.B3_.D1.81.D0.B8.D0.B3.D0.BD.D0.B0.D0.BB.D1.83"><span class="mw-headline-number">4.3</span> КомплекÑний об'єкт-тег Ñигналу</span></h3> <p>У попередніх розділах було опиÑано механізм Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° даних за об'єктом апарату — "ПовітрÑний охолоджувач", Ñкий передбачає об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²ÑÑ–Ñ… Ñигналів у одному об'єкті параметру джерела даних. Однак, більш розповÑюдженим підходом великої автоматизації Ñ” Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту параметру довкола окремого Ñигналу, наприклад — "Температура на виході холодильника AT101_1 (TE1314_1)", Ñкі чаÑто називаютьÑÑ Ñ‚ÐµÐ³Ð°Ð¼Ð¸. </p><p>Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±'єкту параметру довкола Ñигналу дозволÑÑ” формалізувати його Ð¾Ð¿Ð¸Ñ Ð´Ð¾ шаблонів аналогових Ñ– диÑкретних Ñигналів, включивши до них вÑÑŽ потрібну обробку, Ñигналізацію та іншу характерну інформацію. Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñтої конфігурації типізованих аналогових Ñ– диÑкретних Ñигналів, у бібліотеках OpenSCADA передбачено шаблони параметрів та багато образів візуального предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ð´Ð°Ð¿Ñ‚Ð¾Ð²Ð°Ð½Ð¾ до роботи Ñ– зв'ÑÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ð· такими параметрами прÑмо, без деталізації за атрибутами. </p><p>Більш того, уніфіковані шаблони наділÑÑŽÑ‚ÑŒÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–ÑÑ‚ÑŽ глибокого Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… Ñигналів через Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ полі "Вхідна процедура обробки" процедури на внутрішній мові <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc</a>. І ще більше, у цій процедурі можна розширити шаблонну модель даних параметру допоміжними динамічними атрибутами, фактично "навіÑити" на нього елементи об'єкту приÑтрою, відштовхуючиÑÑ Ð²Ñ–Ð´ головного його Ñигналу; тобто не Ñтворюючи Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ додаткових шаблонів. Ðа кшталт такого Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ…Ð¾Ð´Ñƒ вручну: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="k">if</span><span class="p">(</span><span class="nx">ctx</span><span class="p">.</span><span class="nx">f_start</span> <span class="o">==</span> <span class="kc">null</span><span class="p">)</span> <span class="p">{</span> <span class="nx">ctx</span><span class="p">.</span><span class="nx">f_start</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span> <span class="k">this</span><span class="p">.</span><span class="nx">attrAdd</span><span class="p">(</span><span class="s2">"setIn"</span><span class="p">,</span> <span class="s2">"Input set"</span><span class="p">,</span> <span class="s2">"real"</span><span class="p">);</span> <span class="k">this</span><span class="p">.</span><span class="nx">setIn</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> <span class="p">}</span> <span class="k">in</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">setIn</span><span class="p">.</span><span class="nx">get</span><span class="p">();</span> </pre></div> <p>Зазвичай, Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ на оÑнові шаблону, викориÑтовуєтьÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ логічного Ñ€Ñ–Ð²Ð½Ñ <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">LogicLev</a>, Ñк це було опиÑано у попередньому розділі. Однак, низка модулів, у тому чиÑлі Ñ– <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a>, надають можливіÑÑ‚ÑŒ одразу Ñтворювати логічні параметри на оÑнові шаблону. Додамо нові параметри, відкривши у конфігураторі Ñторінку нашого раніше Ñтвореного об'єкту контролера ModBus та у контекÑтному меню пункту "КМ 101" <b>натиÑнемо "Додати"</b>. </p><p>Ðазвемо аналоговий параметр — <b>TE1314_1 (TE1314_1)</b> (РиÑ.4.3.1). Тип параметру <b>вÑтановимо у "Логічний"</b>, шаблон параметру <b>оберемо "base.anUnif"</b>, Ð¾Ð¿Ð¸Ñ <b>вÑтановимо у "Температура на виході AT101_1"</b>, <b>вÑтановимо ознаки "Вмикати" Ñ– "Ввімкнено"</b>. Далі нам необхідно налаштувати: </p> <ul><li> Шаблон параметру у вкладці "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°", Ñка з'ÑвилаÑÑ (РиÑ.4.3.2): <ul><li> поле "Вхід" вÑтановлюємо у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи ModBus-регіÑтру цього параметру — "<b>R:101</b>";</li> <li> поле "МакÑимум шкали модулÑ" вÑтановлюємо у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ â€” <b>65535</b>, що відповідає 100 °C.</li></ul></li> <li> Вкладка "Ðтрибути" (РиÑ.4.3.3): <ul><li> "ÐžÐ´Ð¸Ð½Ð¸Ñ†Ñ Ð²Ð¸Ð¼Ñ–Ñ€Ñƒ" вÑтановлюємо у — "<b>град. С</b>";</li> <li> "Шкала: мінімум" у — <b>0</b>;</li> <li> "Шкала: макÑимум" у — <b>100</b>;</li> <li> "Ð“Ñ€Ð°Ð½Ð¸Ñ†Ñ Ð²ÐµÑ€Ñ…Ð½Ñ Ð°Ð²Ð°Ñ€Ñ–Ð¹Ð½Ð°" у — <b>40</b>;</li> <li> "Ð“Ñ€Ð°Ð½Ð¸Ñ†Ñ Ð²ÐµÑ€Ñ…Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÑƒÐ²." у — <b>30</b>.</li></ul></li> <li> <b>Збережемо</b> об'єкт.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:703px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmAn_uk.png"><img class="thumbimage" height="529" src="files/QuickStart_ModBus_prmAn_uk.png" width="701" /></a> <div class="thumbcaption">РиÑ. 4.3.1. Сторінка логічного параметру TE1314_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ "ModBus".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:703px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmAn_tmpl_uk.png"><img class="thumbimage" height="559" src="files/QuickStart_ModBus_prmAn_tmpl_uk.png" width="701" /></a> <div class="thumbcaption">РиÑ. 4.3.2. Вкладка "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ" Ñторінки параметру TE1314_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:703px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmAn_attr_uk.png"><img class="thumbimage" height="814" src="files/QuickStart_ModBus_prmAn_attr_uk.png" width="701" /></a> <div class="thumbcaption">РиÑ. 4.3.3. Вкладка "Ðтрибути" Ñторінки параметру TE1314_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <p>ДиÑкретний параметр назвемо — <b>CB102 (КК102)</b>. Тип параметру <b>вÑтановимо у "Логічний"</b>, шаблон параметру <b>оберемо "base.digitBlockUnif"</b>, <b>вÑтановимо ознаки "Вмикати" Ñ– "Ввімкнено"</b>. Далі нам треба налаштувати: </p> <ul><li> Шаблон параметру у вкладці "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ", Ñка з'ÑвилаÑÑ (РиÑ.4.3.4): <ul><li> поле "Команда 'Відкрити'" вÑтановлюємо у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи ModBus-біту цього параметру — "<b>C:100:rw</b>";</li> <li> поле "Стан 'Відкрито'" вÑтановлюємо у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи ModBus-біту — "<b>C:101</b>";</li> <li> поле "Стан 'Закрито'" вÑтановлюємо у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи ModBus-біту — "<b>C:102</b>";</li> <li> поле "Ð§Ð°Ñ ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸" вÑтановлюємо у — <b>0</b>, оÑкільки команда не імпульÑна.</li></ul></li> <li> Вкладка "Ðтрибути" (риÑ.4.3.5) — упевнюємоÑÑ Ñƒ доÑтупноÑÑ‚Ñ– команди та Ñтанів.</li> <li> <b>Збережемо</b> об'єкт.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:723px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmDig_tmpl_uk.png"><img class="thumbimage" height="517" src="files/QuickStart_ModBus_prmDig_tmpl_uk.png" width="721" /></a> <div class="thumbcaption">РиÑ. 4.3.4. Вкладка "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ" Ñторінки параметру CB102 Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:723px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmDig_attr_uk.png"><img class="thumbimage" height="517" src="files/QuickStart_ModBus_prmDig_attr_uk.png" width="721" /></a> <div class="thumbcaption">РиÑ. 4.3.5. Вкладка "Ðтрибути" Ñторінки параметру CB102 Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <h3><span class="mw-headline" id=".D0.9E.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D0.BD.D0.BD.D1.8F_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85_OpenSCADA_.E2.80.94_.D1.88.D0.BB.D1.8E.D0.B7.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">4.4</span> ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ð¸Ñ… даних OpenSCADA — шлюзуваннÑ</span></h3> <p>ОзнайомившиÑÑŒ з типовими механізмами Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…, опиÑаними у попередніх розділах, ви маєте вже уÑвлÑти загальний об'єм робіт з Ñ—Ñ… Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ‚Ð° обробки, тобто — формалізацію та Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ†Ð¸Ñ… даних у моделі даних SCADA-ÑиÑтеми. Якщо Ñюди додати Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†Ð¸Ñ… даних на рівні ПЛК — модель даних вільно програмованих ПЛК, та Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ—Ñ… у модель даних протоколу обміну, то ви маєте помітити тут потрійне Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…. СтоÑовно Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ модель даних протоколу — ÑеріалізаціÑ, то це визначаєтьÑÑ Ñ„Ñ–Ð·Ð¸Ñ‡Ð½Ð¸Ð¼Ð¸ влаÑтивоÑÑ‚Ñми каналів зв'Ñзку Ñ– здійÑнюєтьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾, а оÑÑŒ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ– даних ПЛК та моделі даних SCADA-ÑиÑтеми здійÑнюєтьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ñ–Ñтом ПЛК та SCADA-ÑиÑтеми відповідно. Причому, ці Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ багато Ñпільного, оÑобливо Ñкщо здійÑнюєтьÑÑ Ð¾Ð´Ð½Ñ–Ñ”ÑŽ людиною або організацією, а відтак мають бути механізми Ñ—Ñ— уніфікації. </p><p>У випадку різного Ð¿Ð¾Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ ÐŸÐ›Ðš Ñ– SCADA, більшої уніфікації, ніж шар протоколу обміну, доÑÑгти Ñкладно. З іншого боку, глибоку уніфікацію моделей даних ПЛК Ñ– SCADA можна зуÑтріти у виробників одночаÑно ПЛК Ñ– SCADA, що однак лише зміцнює Ñ—Ñ… монопольний Ñтан та фактично нівелює переваги уніфікації через загальну вартіÑÑ‚ÑŒ рішеннÑ. </p><p>OpenSCADA передбачає можливіÑÑ‚ÑŒ такої уніфікації через Ð´Ð¾Ð´Ð°Ð½Ð½Ñ ÑпорідненоÑÑ‚Ñ– з ПЛК. Та таку ÑпорідненіÑÑ‚ÑŒ можна забезпечити лише Ð´Ð»Ñ ÐŸÐ›Ðš, Ñкі Ñ” цілком відкритими, на них вÑтановлено відкрите-вільне ПЗ, а відтак можна вÑтановити Ñ– <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Embedding_and_PLC" title="Special:MyLanguage/Sub-projects/Embedding and PLC">OpenSCADA у ролі Ñередовища Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐŸÐ›Ðš</a>. Як Ñередовище виконаннÑ, OpenSCADA може надавати дані ПЛК Ñ– Ñтандартними протоколами, Ñк то ModBus, та, Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ†Ð¸Ñ… даних прÑмо Ñ– без здійÑÐ½ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑŒ Ñких дій над ними на боці SCADA-ÑиÑтеми, передбачено модуль <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a>, Ñкий фактично об'єднує моделі. Тобто, програміÑÑ‚ ПЛК, Ñкий за ÑуміÑництвом Ñ” програміÑтом SCADA, формує модель даних ПЛК, а на рівні SCADA-ÑиÑтеми вона викориÑтовуєтьÑÑ Ð²Ð¶Ðµ Ñк готова, чим цілком прибираєтьÑÑ ÑÑ‚Ð°Ð´Ñ–Ñ Ñ‚Ð° роботи з отриманнÑ, обробки та Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ– даних SCADA-ÑиÑтеми. Більш того: </p> <ul><li> виключаєтьÑÑ Ñ€Ð¾Ð·Ð±Ñ–Ð¶Ð½Ñ–ÑÑ‚ÑŒ у моделÑÑ… даних ПЛК та SCADA при Ñ—Ñ… зміні;</li> <li> дані конфігурації логічно та виключно зберігаютьÑÑ Ð½Ð° ПЛК, Ñкого вони ÑтоÑуютьÑÑ;</li> <li> Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ñ‚Ð° інші Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÑŽÑ‚ÑŒÑÑ Ð½Ð° першоджерелі — ПЛК, а Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ–Ð· Ð²Ñ‚Ñ€ÑƒÑ‡Ð°Ð½Ð½Ñ â€” дії оператору, потраплÑÑŽÑ‚ÑŒ Ñ– на ПЛК;</li> <li> передбачаєтьÑÑ Ð¼ÐµÑ…Ð°Ð½Ñ–Ð·Ð¼ Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñ–Ð²-Ñ–Ñторії на ПЛК Ñк повніÑÑ‚ÑŽ, так Ñ– Ñк чаÑтка компенÑації втрати зв'Ñзку зі SCADA, оÑобливо Ð´Ð»Ñ Ð¿Ð¾Ð³Ð°Ð½Ð¾Ð³Ð¾ та бездротового зв'Ñзку.</li></ul> <p>З метою демонÑтрації Ñ– ознайомленнÑ, Ñтворимо тут об'єкт контролеру Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQGate Ð´Ð»Ñ ÑˆÐ»ÑŽÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… нашого віртуального ПЛК. СтворюєтьÑÑ Ð²Ñ–Ð½ ідентично до раніше Ñтворених об'єктів контролеру у модулі ModBus та LogicLev на Ñторінці "Start"->"Збір Даних"->"Модуль"->"Шлюз джерел даних" Ñ– назвемо його "<b>AGLKS</b>". </p><p>Об'єкт контролеру Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQGate (РиÑ.4.4.1) має наÑтупні Ñпецифічні налаштуваннÑ, Ñкі ми маємо здійÑнити: </p> <ul><li> "Віддалена ÑтанціÑ" — <b>оберемо раніше Ñтворене підключеннÑ</b> віддаленої Ñтанції "AGLKS".</li> <li> <b>Ввімкнемо</b> об'єкт контролера.</li> <li> "Перелік віддалених об'єктів контролерів та параметрів" — у полі "Дерево параметрів" оберемо "<b>LogicLev.gen</b>", а потім пункт "<b><<Додати поточний>></b>" нагорі цього переліку.</li> <li> <b>ЗапуÑтимо</b> Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролера.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:810px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_DAQGate_cntr_uk.png"><img class="thumbimage" height="821" src="files/QuickStart_DAQGate_cntr_uk.png" width="808" /></a> <div class="thumbcaption">РиÑ. 4.4.1. Головна вкладка Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкту контролера Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQGate.</div></div></div></div> <p>Якщо вÑе здійÑнено правильно, то автоматично ÑтворÑÑ‚ÑŒÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¸ обраного контролера Ñ– ми зможемо поглÑнути на дані по них у вкладці "Ðтрибути" (РиÑ.4.4.2). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:688px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_DAQGate_prm_attr_uk.png"><img class="thumbimage" height="821" src="files/QuickStart_DAQGate_prm_attr_uk.png" width="686" /></a> <div class="thumbcaption">РиÑ. 4.4.2. Вкладка "Ðтрибути" Ñторінки параметру Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQGate.</div></div></div></div> <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_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85_.D0.A2.D0.9F"><span class="mw-headline-number">4.5</span> ÐрхівуваннÑ-Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ Ð´Ð°Ð½Ð¸Ñ… ТП</span></h3> <p>Отримані раніше дані вважаютьÑÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ð¼Ð¸, тобто такими, Ñкі періодично оновлюютьÑÑ Ñ‚Ð° характеризують Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ ТП на поточний момент чаÑу. При цьому, раніше зчитані Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ‚Ñ€Ð°Ñ‡Ð°ÑŽÑ‚ÑŒÑÑ Ð¿Ñ€Ð¸ перезапиÑу Ñ—Ñ… поточним, тобто відÑÑƒÑ‚Ð½Ñ Ñ—Ñ… Ñ–ÑторіÑ. У багатьох-же завданнÑÑ… потрібне Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ-Ñ–Ñторії прочитаних значень параметрів ТП, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ у OpenSCADA передбачена підÑиÑтема "<a href="Program_manual.html#Arch" title="Special:MyLanguage/Documents/Program manual">Ðрхіви-ІÑторіÑ</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 міÑтить два модулі архівації — на файлову ÑиÑтему <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">FSArch</a> Ñ– на базу даних <a href="Modules/DBArch.html" title="Special:MyLanguage/Modules/DBArch">DBArch</a>. Тут ми розглÑнемо лише модуль архівації на файлову ÑиÑтему, Ñк найбільш універÑальний та ефективний. СтоÑовно періодичноÑÑ‚Ñ– значень Ð´Ð»Ñ "ÑкіÑного" архіватору, то Ñ—Ñ— переважно необхідно обирати за періодичніÑÑ‚ÑŽ значень Ñамого повільного джерела даних у нашій ÑиÑтемі, Ñке у Ð½Ð°Ñ Ð¾Ð´Ð½Ðµ Ñ– періодичніÑÑ‚ÑŒ ми йому вказали 1 Ñекунда. Ð”Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ значень відкриємо Ñторінку Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ "Start"->"Ðрхіви-ІÑторіÑ"->"Модуль"->"Ðрхіватор на файлову ÑиÑтему" та за поÑередництва контекÑтного меню Ñтворимо об'єкт архіватору значень "<b>1s</b>". Зверніть увагу на Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ "Тип елементу" діалогу ÑтвореннÑ, Ñке має бути "<b>Ðрхіватор значень</b>"! Сторінка конфігурації отриманого об'єкта архіватору значень (РиÑ.4.5.1) міÑтить розділ Ñтану Ñ– оперативного ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ "Стан", розділ налаштувань "КонфігураціÑ" та розділ Ñпецифічних налаштувань архіватору цього Ð¼Ð¾Ð´ÑƒÐ»Ñ "Додаткові опції". Загалом ми маємо: </p> <ul><li> Розділ "Стан":</li></ul> <dl><dd><ul><li> запуÑтити архіватор на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ â€” <b>вÑтановимо</b> ознаку навпроти відповідного полÑ, лише виконуваний архіватор здійÑнює архівуваннÑ;</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> можемо проконтролювати поточний Ñ– макÑимальний Ñ‡Ð°Ñ ÑеанÑу архівуваннÑ;</li> <li> вказати Ñховище — <b>залишимо "Загальне Сховище" проєкту</b>;</li> <li> можемо проконтролювати загальний розмір файлів архіву цього архіватору.</li></ul></dd></dl> <ul><li> Розділ "КонфігураціÑ":</li></ul> <dl><dd><ul><li> вÑтановити запуÑк архіватору при запуÑку програми — <b>вÑтановимо</b> ознаку навпроти відповідного полÑ;</li> <li> вÑтановити адреÑу теки з файлами архіву — "<b>ARCHIVES/VAL/1s</b>", що ÑтавитьÑÑ Ð¿Ð¾ замовченню;</li> <li> вÑтановити період значень — <b>1 (одна)</b> Ñекунда;</li> <li> вÑтановити період Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ â€” <b>60</b> Ñекунд, по замовченню Ñ– зазвичай однакове Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñ–Ð² з будь Ñкою періодичніÑÑ‚ÑŽ значень.</li></ul></dd></dl> <ul><li> <b>Зберегти</b> об'єкт.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:806px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ArchVal_1s_uk.png"><img class="thumbimage" height="744" src="files/QuickStart_ArchVal_1s_uk.png" width="804" /></a> <div class="thumbcaption">РиÑ. 4.5.1. ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ значень "1s" на файлову ÑиÑтему.</div></div></div></div> <p>Одного "ÑкіÑного" архіватору вже доÑтатньо Ð´Ð»Ñ Ð±Ñ–Ð»ÑŒÑˆÐ¾ÑÑ‚Ñ– завдань, але Ñкщо плануєтьÑÑ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð° графіків-трендів значень Ñ– звітної документації на велику глибину (доби, тижні, міÑÑці), то потрібно Ñтворити ще пару архіваторів з більшою періодичніÑÑ‚ÑŽ значень, інакше побудова буде тривалою та/або буде обрізатиÑÑ Ð·Ð° лімітами чаÑу виконаннÑ! Зазвичай, у ÑкоÑÑ‚Ñ– таких додаткових архіваторів ÑтворюютьÑÑ, Ñ– ви маєте Ñ—Ñ… Ñтворити ідентично інÑтрукції Ð´Ð»Ñ "ÑкіÑного" архіватора вище: </p> <ul><li> Хвилинний — ідентифікатор "<b>1m</b>", адреÑа "<b>ARCHIVES/VAL/1m</b>" Ñ– період значень <b>60</b> Ñекунд.</li> <li> Годинний — ідентифікатор "<b>1h</b>", адреÑа "<b>ARCHIVES/VAL/1h</b>" Ñ– період значень <b>3600</b> Ñекунд.</li></ul> <p>ÐовоÑтворені проєкти OpenSCADA вже міÑÑ‚ÑÑ‚ÑŒ шаблони таких Ñтандартних архіваторів, тому ви можете проÑто увімкнути потрібні. </p><p>Ð”Ð»Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ–Ð² "Ti" Ñ– "To" параметрів AT101_1 Ñ– AT101_2 у раніше Ñтвореному об'єкті контролеру Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev, доÑтатньо у вкладці "ÐрхіваціÑ" Ñторінки параметрів <b>обрати</b> Ñкі Ñаме атрибути архівувати та Ñкими архіваторами (РиÑ.4.5.2). Оберемо архівацію атрибутів "Ti" Ñ– "To" раніше Ñтвореними архіваторами <b>FSArch.1s</b>, <b>FSArch.1m</b>, <b>FSArch.1h</b>. Те Ñаме виконаємо Ð´Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ "var" аналогового параметру ModBus.CM101.TE1314_1 та "com" диÑкретного параметра ModBus.CM101.CB102. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:823px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_arh_uk.png"><img class="thumbimage" height="475" src="files/QuickStart_LogicLev_prm_arh_uk.png" width="821" /></a> <div class="thumbcaption">РиÑ. 4.5.2. Вкладка "ÐрхіваціÑ" параметру AT101_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev.</div></div></div></div> <p>У результаті цієї операції буде автоматично Ñтворено об'єкти архівів Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¸Ñ… атрибутів. Приклад об'єкту архіву Ð´Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñƒ "Ti" параметру AT101_1 наведено на риÑунку 4.5.3. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:911px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Arh_gen_uk.png"><img class="thumbimage" height="724" src="files/QuickStart_Arh_gen_uk.png" width="909" /></a> <div class="thumbcaption">РиÑ. 4.5.3. Сторінка об'єкта архіву атрибуту "Ti" параметру AT101_1.</div></div></div></div> <p>Зазвичай, Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ змінювати нема потреби, однак, Ñкщо буде необхідна оÑоблива конфігураціÑ, то Ñ—Ñ— можна здійÑнити на вказаній вище Ñторінці. ЧаÑтіше може знадобитиÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— про архів. Ðаприклад, дізнатиÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€ архіву Ñк за чаÑом, так Ñ– на ноÑÑ–Ñ—, а також поглÑнути на графік параметру (РиÑ.4.5.4). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1000px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Arh_tr_uk.png"><img class="thumbimage" height="661" src="files/QuickStart_Arh_tr_uk.png" width="998" /></a> <div class="thumbcaption">РиÑ. 4.5.4. Вкладка "ЗначеннÑ" Ñторінки об'єкта архіву атрибута "Ti" параметра AT101_1.</div></div></div></div> <p>Об'єкти контролерів, Ñк Ñ– окремі шаблони параметрів, можуть формувати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ нештатні Ñитуації, наприклад — шаблони комплекÑних Ñигналів-тегів генерують Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸ вихід Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° одну з границь. ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ характеру мають Ñпецифічну категорію та називаютьÑÑ Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñми. </p><p>ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ OpenSCADA попередньо потраплÑÑŽÑ‚ÑŒ до буферу повідомлень, Ñкий Ñ– виÑтупає первинним архівом. Однак буфер має Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ– зберігаєтьÑÑ Ð»Ð¸ÑˆÐµ у оперативній пам'ÑÑ‚Ñ–, тобто втрачаєтьÑÑ Ð¿Ñ€Ð¸ перевантажені програми. Роль Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ на тому або іншому Ñховищі виконують архіватори повідомлень, Ñк Ñ– архіватори значень Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ. </p><p>Відповідним чином Ñ– Ñтворимо архіватор повідомлень Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ†Ñ–Ñ— порушень, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ відкриємо Ñторінку Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ "Start"->"Ðрхіви-ІÑторіÑ"->"Модуль"->"Ðрхіватор на файлову ÑиÑтему" Ñ– за поÑередництвом контекÑтного меню <b>Ñтворимо</b> об'єкт архіватору повідомлень <b>alarms (ПорушеннÑ)</b>. Зверніть увагу на Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ "Тип елементу" діалогу ÑтвореннÑ, Ñке має бути "<b>Ðрхіватор повідомлень</b>"! Сторінка конфігурації отриманого об'єкта архіватору значень (РиÑ.4.5.5) міÑтить розділ Ñтану Ñ– оперативного ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ "Стан", розділ налаштувань "КонфігураціÑ" та розділ Ñпецифічних налаштувань архіватору цього Ð¼Ð¾Ð´ÑƒÐ»Ñ "Додаткові опції". Загалом ми маємо: </p> <ul><li> Розділ "Стан":</li></ul> <dl><dd><ul><li> запуÑтити архіватор на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ â€” <b>вÑтановимо</b> ознаку навпроти відповідного полÑ, лише виконуваний архіватор здійÑнює архівуваннÑ;</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> вказати Ñховище — <b>залишимо "Загальне Сховище" проєкту</b>;</li> <li> можемо проконтролювати Ñ‡Ð°Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ та оÑтаннього Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ архіві цього архіватору;</li> <li> можемо проконтролювати загальний розмір файлів архіву цього архіватору;</li> <li> можемо проконтролювати поточний Ñ– макÑимальний Ñ‡Ð°Ñ ÑеанÑу архівуваннÑ.</li></ul></dd></dl> <ul><li> Розділ "КонфігураціÑ":</li></ul> <dl><dd><ul><li> вÑтановити запуÑк архіватору при запуÑку програми — <b>вÑтановимо</b> ознаку навпроти відповідного полÑ;</li> <li> вÑтановити категорію повідомлень, Ñка характеризує Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ â€” "<b>al*</b>";</li> <li> вÑтановити рівень архівованих порушень — "<b>Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ (1[X])</b>";</li> <li> вÑтановити адреÑу теки з файлами архіву — "<b>ARCHIVES/MESS/alarms</b>", що ÑтавитьÑÑ Ð¿Ð¾ замовченню;</li></ul></dd></dl> <ul><li> <b>Зберегти</b> об'єкт.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:842px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ArchMess_alarms_uk.png"><img class="thumbimage" height="769" src="files/QuickStart_ArchMess_alarms_uk.png" width="840" /></a> <div class="thumbcaption">РиÑ. 4.5.5. ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñƒ повідомлень "alarms" на файлову ÑиÑтему.</div></div></div></div> <p>Таким Ñаме чином можна Ñтворити архіватори повідомлень іншого характеру, наприклад — дії оператору. Ð”Ð»Ñ Ñ‡Ð¾Ð³Ð¾ доÑтатньо визначити категорію цих повідомлень та Ñформувати Ð´Ð»Ñ Ð½Ð¸Ñ… шаблон або правило регулÑрного виразу. Ви можете отримати Ñтандартні категорії Ñ– Ñ—Ñ… шаблони, або правила регулÑрного виразу, на <a href="Program_manual.html#ArchMess" title="Special:MyLanguage/Documents/Program manual">Ñторінці архівації повідомлень</a>; або можете вивчити реальні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° <a href="Program_manual.html#CfgArch" title="Special:MyLanguage/Documents/Program manual">головній Ñторінці підÑиÑтеми "Ðрхіви-ІÑторіÑ"</a>, отримати звідти інформацію про Ñ—Ñ… категорії Ñ– налаштувати шаблон або правило регулÑрного виразу. Можна навіть Ñтворити архіватор Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑÑ–Ñ… повідомлень програми, але здійÑнювати це не рекомендуєтьÑÑ Ñ‡ÐµÑ€ÐµÐ· Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… архівів Ñ– тривалого доÑтупу до них надалі. </p><p>ÐовоÑтворені проєкти OpenSCADA вже міÑÑ‚ÑÑ‚ÑŒ шаблони таких Ñтандартних архіваторів, тому ви можете проÑто увімкнути необхідні. </p> <h2><span class="mw-headline" id=".D0.A4.D0.BE.D1.80.D0.BC.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D0.B2.D1.96.D0.B7.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">5</span> Ð¤Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑтавленнÑ</span></h2> <p>Ð¤Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ здійÑнюватиÑÑ Ð½Ð° трьох рівнÑÑ… ÑкладноÑÑ‚Ñ– Ñ– кориÑтувач може обрати будь Ñкий з них залежно від вимог завданнÑ, Ñ€Ñ–Ð²Ð½Ñ Ñвоїх знань Ñ– наÑвноÑÑ‚Ñ– бібліотек з готовими образами та шаблонами. </p><p>ПЕРШИЙ РІВЕÐЬ вимагає мінімальної кваліфікації кориÑтувача, але передбачає наÑвніÑÑ‚ÑŒ бібліотек шаблонних кадрів, потрібних Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð¹Ð¾Ð³Ð¾ завданнÑ. У межах першого Ñ€Ñ–Ð²Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувачу доÑтатньо знати Ñк підключити динаміку до Ñторінок шаблонних кадрів Ñ– Ñк додати нові Ñторінки шаблонних кадрів. </p><p>ДРУГИЙ РІВЕÐЬ передбачає додаткову навичку — Ñтворювати нові кадри на оÑнові готових-комплекÑних елементів шлÑхом проÑтого Ñ—Ñ… Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ облаÑÑ‚Ñ– кадру. Ð”Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ кваліфікаційного рівнÑ, кориÑтувачу знадоблÑÑ‚ÑŒÑÑ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ комплекÑних елементів, необхідні Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð¹Ð¾Ð³Ð¾ завданнÑ. </p><p>ТРЕТІЙ РІВЕÐЬ передбачає Ð²Ð¾Ð»Ð¾Ð´Ñ–Ð½Ð½Ñ Ð²Ñіма інÑтрументами Ñередовища розробки візуальних інтерфейÑів OpenSCADA, включно зі ÑтвореннÑм нових комплекÑних елементів Ñ– розробку інтерфейÑів кориÑтувача у проєкті. </p><p>Ð’ÑÑ– дії із інтерфейÑом візуалізації будемо виконувати у оточені <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Ð¼Ð¾Ð´ÑƒÐ»Ñ Vision</a> підÑиÑтеми "КориÑтувацькі інтерфейÑи". Ð”Ð»Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð²Ñ–ÐºÐ½Ð° інтерфейÑу Vision натиÑнемо другу іконку праворуч панелі інÑтрументів конфігуратору. У результаті отримаємо вікно, раніше предÑтавлене на риÑунку 3.3.1.3. </p><p>ІнтерфейÑи кориÑтувача-оператора у OpenSCADA реалізуютьÑÑ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ð°Ð¼Ð¸ візуалізації. У бібліотеці <a href="Libs_Main_graphical_elements.html" title="Special:MyLanguage/Libs/Main graphical elements">оÑновних елементів кориÑтувацького інтерфейÑу</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>Скопіюємо проєкт "Групи Ñигналізації (шаблон)" <b>натиÑнувши Ñпочатку кнопку "Копіювати візуальний елемент"</b> на ньому Ñ– потім <b>кнопку "Ð’Ñтавити візуальний елемент"</b> (РиÑ.5.1). У діалозі назвемо наш новий проєкт <b>start (Старт)</b> та у переліку проєктів отримаємо пункт нашого нового проєкту (РиÑ.5.1). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1082px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_newPrj_uk.png"><img class="thumbimage" height="631" src="files/QuickStart_ui_newPrj_uk.png" width="1080" /></a> <div class="thumbcaption">РиÑ. 5.1. ÐšÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¾Ð³Ð¾ проєкту у новий.</div></div></div></div> <p>Перед викориÑтаннÑм Ñ– збереженнÑм нового проєкту (РиÑ.5.3) необхідно <b>змінити його Ñховище на "Загальне Сховище"</b>, що ми можемо здійÑнити на головній Ñторінці діалогу влаÑтивоÑтей візуального елементу, Ñкий викликаєтьÑÑ Ð·Ð° кнопкою "ВлаÑтивоÑÑ‚Ñ– візуального елементу" (РиÑ.5.2). ПіÑÐ»Ñ Ñ‡Ð¾Ð³Ð¾ <b>збережемо</b> наш новий проєкт натиÑнувши третю кнопку ліворуч панелі інÑтрументів. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:763px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_props_uk.png"><img class="thumbimage" height="618" src="files/QuickStart_ui_props_uk.png" width="761" /></a> <div class="thumbcaption">РиÑ. 5.2. ВлаÑтивоÑÑ‚Ñ– нового проєкту на оÑнові шаблонного.</div></div></div></div> <p>Шаблонний проєкт (РиÑ.5.3) міÑтить дві гілки — "Панелі управліннÑ" Ñ– "Коренева Ñторінка". Гілка "Панелі управліннÑ" міÑтить набір кадрів типових панелей ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ñ‚Ð° Ñпеціалізованих кадрів. Гілка "Коренева Ñторінка", з кореневою Ñторінкою у оÑнові, міÑтить підгілки об'єктів Ñигналізації "Група 1", "Група 2" Ñ– окрему гілку зведених графіків "Зведені графіки". Підгілки об'єктів Ñигналізації "Група {n}" мають цифровий ідентифікатор та можуть розширÑтиÑÑ Ð´Ð¾Ð´Ð°Ð½Ð½Ñм впритул до Ñтількох, назви Ñкількох поміÑÑ‚ÑÑ‚ÑŒÑÑ Ð½Ð°Ð³Ð¾Ñ€Ñ– у два Ñ€Ñди. ПриÑутніÑÑ‚ÑŒ підгілки "Група {n}" відбиваєтьÑÑ Ð½Ð° активації відповідної кнопки об'єкта Ñигналізації кореневої Ñторінки, що дозволÑÑ” на них перемикатиÑÑ. Кожна підгілка "Група {n}" міÑтить контейнери або шаблони видів відображеннÑ, зазвичай: "МнемоÑхеми", "Групи графіків", "Групи контурів", "Групи оглÑдових кадрів" Ñ– "Документи". ÐаÑвніÑÑ‚ÑŒ Ñторінок у контейнерах відображень вмикає можливіÑÑ‚ÑŒ Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ об'єкта Ñигналізації кореневої Ñторінки. Детальніше ознайомитиÑÑ Ð·Ñ– Ñтруктурою кореневої Ñторінки можна за <a href="Libs_Main_graphical_elements.html#RootPgSo" title="Special:MyLanguage/Libs/Main graphical elements">поÑиланнÑм</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1050px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_so_uk.png"><img class="thumbimage" height="802" src="files/QuickStart_ui_so_uk.png" width="1048" /></a> <div class="thumbcaption">РиÑ. 5.3. Шаблонний проєкт на оÑнові концепції об'єктів Ñигналізації.</div></div></div></div> <h3><span class="mw-headline" id=".D0.94.D0.BE.D0.B4.D0.B0.D0.BD.D0.BD.D1.8F_.D1.88.D0.B0.D0.B1.D0.BB.D0.BE.D0.BD.D0.BD.D0.BE.D1.97_.D1.81.D1.82.D0.BE.D1.80.D1.96.D0.BD.D0.BA.D0.B8_.D1.82.D0.B0_.D0.BF.D1.96.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.BD.D1.8F_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D1.96.D0.BA.D0.B8"><span class="mw-headline-number">5.1</span> Ð”Ð¾Ð´Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð¾Ñ— Ñторінки та Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–ÐºÐ¸</span></h3> <p>РозглÑнемо Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ Ñ€Ñ–Ð²Ð½Ñ ÑкладноÑÑ‚Ñ–, коли до вже розробленої концепції інтерфейÑу необхідно підключити динаміку шаблонної Ñторінки. ПонÑÑ‚Ñ‚Ñ "Шаблон Ñторінки" передбачає Ñторінку, на оÑнові Ñкої та шлÑхом наÑÐ»Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ðµ ÑтворюватиÑÑ Ð±Ð°Ð³Ð°Ñ‚Ð¾ кінцевих Ñторінок візуалізації з індивідуальним переліком динаміки. Прикладом таких Ñторінок Ñ”: "<a href="Libs_Main_graphical_elements.html#grpGraph" title="Special:MyLanguage/Libs/Main graphical elements">Група графіків</a>", "<a href="Libs_Main_graphical_elements.html#grpCadr" title="Special:MyLanguage/Libs/Main graphical elements">Група контурів</a>", "<a href="Libs_Main_graphical_elements.html#ViewCadr" title="Special:MyLanguage/Libs/Main graphical elements">Група оглÑдових кадрів</a>" Ñ– "<a href="Libs_Main_graphical_elements.html#ResultGraph" title="Special:MyLanguage/Libs/Main graphical elements">Зведені графіки</a>". Ðа РиÑ.5.1.1 предÑтавлено шаблонну Ñторінку "Група графіків" у дереві нашого проєкту "Старт". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1050px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_grah_tmpl_uk.png"><img class="thumbimage" height="707" src="files/QuickStart_ui_grah_tmpl_uk.png" width="1048" /></a> <div class="thumbcaption">РиÑ. 5.1.1. Шаблонна Ñторінка "Група графіків".</div></div></div></div> <p>Шаблонна Ñторінка "Група графіків" надає можливіÑÑ‚ÑŒ підключити до воÑьми Ñигналів одночаÑного Ñ—Ñ… Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° графіку. Елементи Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð°Ð³Ð¾Ñ€Ñ– автоматично приховуютьÑÑ Ð´Ð»Ñ Ð½ÐµÐ²Ñтановлених зв'Ñзків. </p><p>Створимо нову групу графіків у шаблонному контейнері "Група графіків" першої групи кореневої Ñторінки. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ у контекÑтному меню пункту "Група графіків" <b>оберемо пункт меню "Додати візуальний елемент"</b> (РиÑ.5.1.2), потім введемо ідентифікатор "2" та назву "Графіки 2" — <b>2 (Графіки 2)</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1082px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_grah_add_uk.png"><img class="thumbimage" height="631" src="files/QuickStart_ui_grah_add_uk.png" width="1080" /></a> <div class="thumbcaption">РиÑ. 5.1.2. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð³Ñ€ÑƒÐ¿Ð¸ графіків "Графіки 2".</div></div></div></div> <p>ПіÑÐ»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð²Ð²Ð¾Ð´Ñƒ назви буде Ñтворено нову Ñторінку, однак Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ— нам знадобитьÑÑ Ñ—Ñ— увімкнути. Увімкнути Ñторінку можна у діалозі Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей Ñторінки (РиÑ.5.1.3). Відкрити цю Ñторінку можна шлÑхом <b>Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð¿ÑƒÐ½ÐºÑ‚Ñƒ меню "ВлаÑтивоÑÑ‚Ñ– візуального елементу"</b> у контекÑтному меню щойно Ñтвореної Ñторінки. Створити Ñторінку у логічному контейнері на оÑнові шаблону можна й звичайним копіюваннÑм шаблону у Ñамого Ñебе, а також копіюваннÑм іншої Ñторінки цього контейнеру, але вже й зі зв'Ñзками. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:665px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_el_prop_uk.png"><img class="thumbimage" height="626" src="files/QuickStart_ui_el_prop_uk.png" width="663" /></a> <div class="thumbcaption">РиÑ. 5.1.3. Діалог Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей візуального елементу.</div></div></div></div> <p>ПіÑÐ»Ñ Ð²Ð²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñторінки можна приÑтупати до вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð²'Ñзків на Ñтворені раніше параметри контролерів. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾, не покидаючи діалогу Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей щойно Ñтвореної Ñторінки (РиÑ.5.1.3), перейдемо до вкладки "Зв'Ñзки" (РиÑ.5.1.4). Ðа цій вкладці ми побачимо дерево з елементами "el1" ... "el8". Розгорнувши будь Ñкий з елементів ми побачимо гілку "Parameter" Ñ– Ñаме у ній ми маємо вказати або обрати адреÑу наших атрибутів "Ti" Ñ– "To". Загалом заповнимо чотири елементи Ñ– під Ñ‡Ð°Ñ Ñ†ÑŒÐ¾Ð³Ð¾ чаÑтину влаÑтивоÑтей необхідно вказувати поÑтійними: </p> <ul><li> "name" — "<b>val:AT101_1 Ti</b>";</li> <li> "ed" — "<b>val:град.С</b>";</li> <li> "max" — "<b>val:150</b>" (Ð´Ð»Ñ Ti) Ñ– "<b>val:100</b>" (Ð´Ð»Ñ To);</li> <li> "min" — "<b>val:0</b>".</li></ul> <p>Якщо у шаблоні параметру контролера заздалегідь передбачити наÑвніÑÑ‚ÑŒ атрибутів, вказаних нами поÑтійними, то можна буде вказувати лише параметр Ñ– атрибути розÑтавлÑÑ‚ÑŒÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾. Це можемо побачити прив'Ñзавши Ñтворений нами раніше комплекÑний об'єкт-тег аналогового Ñигналу ModBus.CM101.TE1314_1. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:595px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_el_prop_lnk_uk.png"><img class="thumbimage" height="726" src="files/QuickStart_ui_el_prop_lnk_uk.png" width="593" /></a> <div class="thumbcaption">РиÑ. 5.1.4. Вкладка "Зв'Ñзки" діалогу Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей візуального елементу.</div></div></div></div> <p>Закінчивши Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð·Ð²'Ñзків можемо перевірити результат наших зуÑиль, Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ закриємо вікно діалогу влаÑтивоÑтей Ñ– запуÑтимо наш проєкт "Старт" на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ â€” про кнопку запуÑку ми пам'Ñтаємо з перших розділів. Далі оберемо графіки та перемкнемоÑÑ Ð½Ð° другу Ñторінку. За безпомилкової конфігурації маємо побачити подібне до зображеного на риÑунку 5.1.5. Зауважте, що Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ комплекÑного об'єкту-тегу зі вÑтановленими границÑми порушень, вихід Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° границі відзначаєтьÑÑ Ð°Ð²Ð°Ñ€Ñ–Ð¹Ð½Ð¸Ð¼ кольором. Щоб побачити вихід за границю Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð²Ð¸ можете вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾ÑÑ‚Ñ– вентилÑтора у 100 (РиÑ.4.2.9). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1026px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_grph_uk.png"><img class="thumbimage" height="670" src="files/QuickStart_ui_run_grph_uk.png" width="1024" /></a> <div class="thumbcaption">РиÑ. 5.1.5. Група графіків з підключеннÑм чотирьох Ñигналів та одного параметру об'єкту-тегу.</div></div></div></div> <h3><span class="mw-headline" id=".D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BA.D0.B0.D0.B4.D1.80.D1.83_.E2.80.94_.D0.BC.D0.BD.D0.B5.D0.BC.D0.BE.D1.81.D1.85.D0.B5.D0.BC.D0.B8"><span class="mw-headline-number">5.2</span> Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кадру — мнемоÑхеми</span></h3> <p>Піднімемо планку Ñ– Ñтворимо новий кадр, де розташуємо базові елементи Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ параметрів наших контролерів. Такі кадри зазвичай називаютьÑÑ Ð¼Ð½ÐµÐ¼Ð¾Ñхемами Ñ– окрім Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–ÐºÐ¸, та навіть у першу чергу, міÑÑ‚ÑÑ‚ÑŒ Ñтатичне Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ процеÑу у мнемонічному предÑтавленні. Ми-ж не будемо акцентувати тут увагу на Ñтворені Ñтатики, а додамо елементи динаміки та підключимо до неї параметри наших контролерів. Та й розташуємо Ñтворений кадр у дереві нашого проєкту. </p><p>Ðові кадри, призначені надалі до Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ проєкті, прийнÑто Ñтворювати та змінювати у бібліотеці віджетів. Створимо нову бібліотеку віджетів обравши вертикальну вкладку "Віджет" та у контекÑтному меню вікна бібліотек віджетів <b>оберемо пункт меню "Ðова бібліотека"</b> (РиÑ.5.2.1). У діалозі вводу назви вкажемо — <b>CM101 (KM 101)</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:760px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_wlib_add_uk.png"><img class="thumbimage" height="631" src="files/QuickStart_ui_wlib_add_uk.png" width="758" /></a> <div class="thumbcaption">РиÑ. 5.2.1. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— бібліотеки віджетів.</div></div></div></div> <p>Далі додаємо новий кадр обравши пункт меню "... з Бібліотеки"->"Бібліотека: originals"->"Група елементів" (РиÑ.5.2.2) у контекÑтному меню Ñтвореної бібліотеки "KM 101". У діалозі вводу назви вкажемо <b>AT101 (AT 101)</b>. У оÑнові будь Ñкого кадру Ñ– Ñторінки має лежати елемент "Група елементів (Box)" тому ми його й обрали. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:907px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_w_add_uk.png"><img class="thumbimage" height="631" src="files/QuickStart_ui_w_add_uk.png" width="905" /></a> <div class="thumbcaption">РиÑ. 5.2.2. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кадру.</div></div></div></div> <p>Одразу піÑÐ»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кадру необхідно вÑтановити його базові влаÑтивоÑÑ‚Ñ–, характерні Ð´Ð»Ñ ÐºÐ°Ð´Ñ€Ñƒ мнемоÑхеми. ВлаÑтивоÑÑ‚Ñ– або атрибути будь Ñкого візуального елементу можна вказати у панелі інÑтрументів "Ðтрибути", попередньо обравши потрібний візуальний елемент. Оберемо Ñтворений кадр "AT 101" та вÑтановимо наÑтупні влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "ГеометріÑ: ширина" — <b>900</b>;</li> <li> "ГеометріÑ: виÑота" — <b>600</b>;</li> <li> "Сторінка: група" — "<b>so</b>", Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ ÐºÐ°Ð´Ñ€Ñƒ до контейнеру мнемоÑхем при виконанні;</li> <li> "Фон: колір" — "<b>#5A5A5A</b>";</li> <li> "ГраницÑ: ширина" — <b>1</b>;</li> <li> "ГраницÑ: колір" — "<b>black</b>".</li></ul> <p>У результаті отримаємо порожній кадр (РиÑ.5.2.3), готовий Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² на нього. Ð”Ð»Ñ Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ переглÑду виглÑду кадру треба <b>обрати пункт "Редагувати візуальний елемент"</b> у контекÑтному меню кадру. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:966px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_w_viewa_uk.png"><img class="thumbimage" height="724" src="files/QuickStart_ui_w_viewa_uk.png" width="964" /></a> <div class="thumbcaption">РиÑ. 5.2.3. ВиглÑд нового кадру Ñ– вÑтановлених атрибутів мнемоÑхеми.</div></div></div></div> <p>Тепер на кадр додамо елементи Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ аналогового параметру Ð´Ð»Ñ Ð½Ð°ÑˆÐ¸Ñ… чотирьох Ñигналів Ñ– параметру комплекÑного об'єкта-тегу ModBus.CM101.TE1314_1. Ð”Ð»Ñ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñƒ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ Ñигналу на мнемоÑхему треба Ñ—Ñ— обрати, а потім у меню вікна обрати пункт меню "Віджет"->"Бібліотека: Main"->"Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾"; піÑÐ»Ñ Ñ‡Ð¾Ð³Ð¾ з'ÑвитьÑÑ ÐºÑƒÑ€Ñор з образом цього елементу, Ñкий треба підвеÑти у бажану облаÑÑ‚ÑŒ мнемоÑхеми та натиÑнути ліву кнопку миші. У момент Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð·'ÑвитьÑÑ Ð´Ñ–Ð°Ð»Ð¾Ð³ із запитом назви нового елементу. Подібним чином додавати будемо п'ÑÑ‚ÑŒ елементів, Ñкі назвемо: <b>A1_Ti</b>, <b>A1_To</b>, <b>A2_Ti</b>, <b>A2_To</b> Ñ– <b>TE1314_1</b>. </p><p>Таким-же чином додамо елемент крану комплекÑного об'єкту-тегу диÑкретного параметра ModBus.CM101.CB102, Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñкого викориÑтаємо бібліотечний елемент "Віджет"->"Бібліотека: mnEls"->"Кран кульовий" Ñ– назвемо його <b>CB102</b>. </p><p>Ð”Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÑƒ поточних порушень, на мнемоÑхемі розташуємо елемент протоколу з бібліотеки примітивів "Віджет"->"Бібліотека: originals"->"Протокол" та назвемо його <b>Protocol</b>. У інÑпекторі атрибутів вÑтановимо влаÑтивоÑÑ‚Ñ– протоколу: </p> <ul><li> "ГеометріÑ: ширина" — <b>500</b>;</li> <li> "ГеометріÑ: виÑота" — <b>250</b>;</li> <li> "Показати колонки" — "<b>tm;lev;mess</b>";</li> <li> "Рівень" — <b>-1</b>, Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð²Ð¸Ñ… порушень будь Ñкого рівнÑ;</li> <li> "Розмір, Ñекунд" — <b>0</b>, відображати Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð½Ð° будь-Ñку глибину;</li> <li> "Період ÑтеженнÑ, Ñекунд" — <b>1</b>.</li></ul> <p>Додані елементи можна розташувати за бажаннÑм проÑто виділÑючи та переÑуваючи мишею. Таким-же чином можна змінити Ñ—Ñ… розмір. ПроÑта зміна розміру викличе зміну тільки геометрії контейнеру віджету, що чаÑто не потрібно. Ð”Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ розміру уÑього вміÑту віджета його треба маÑштабувати, що здійÑнюєтьÑÑ ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñм клавіші "Ctrl" при зміні розміру або перемиканнÑм Ñтану "Зміна розміру" на "МаÑштаб" у Ñ€Ñдку ÑтатуÑу. </p><p>ПіÑÐ»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð²ÑÑ–Ñ… маніпулÑцій маємо отримати мнемоÑхему з виглÑдом Ñхожим на риÑунок 5.2.4. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1066px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_mn_uk.png"><img class="thumbimage" height="724" src="files/QuickStart_ui_mn_uk.png" width="1064" /></a> <div class="thumbcaption">РиÑ. 5.2.4. ВиглÑд мнемоÑхеми з низкою елементів.</div></div></div></div> <p>Ðа цьому процедуру ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¼Ð½ÐµÐ¼Ð¾Ñхеми вважатимемо закінченою. Збережемо нову бібліотеку віджетів "KM 101" Ñ– приÑтупимо до етапу Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°ÑˆÐ¾Ñ— мнемоÑхеми у дереві проєкту "Старт". </p><p>Розташуємо нашу мнемоÑхему у гілці "Старт"->"Коренева Ñторінка"->"Група 1"->"МнемоÑхеми" шлÑхом Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð¿ÑƒÐ½ÐºÑ‚Ñƒ меню "... з Бібліотеки"->"Бібліотека: CM101"->"AT 101" у контекÑтному меню пункту Ñторінки проєкту "МнемоÑхеми". Ідентифікатор нової мнемоÑхеми вÑтановимо у "2" при цьому поле назву залишимо порожньою — <b>2</b>. </p><p>Далі необхідно здійÑнити вже знайому нам з попереднього розділу операцію, а Ñаме — вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð²'Ñзків на раніше Ñтворені параметри контролерів. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ відкриємо вкладку "Зв'Ñзки" (РиÑ.5.2.5) діалогу Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей мнемоÑхеми, де ми побачимо дерево з елементами "A1_Ti", "A1_To", "A2_Ti" Ñ– "A2_To". Розгорнувши будь Ñкий з елементів побачимо гілку "Parameter" у Ñкій маємо вказати або обрати адреÑу значень у елементі "pVal" наших атрибутів "Ti" Ñ– "To" відповідно. У процеÑÑ– Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² чаÑтину влаÑтивоÑтей треба вказувати поÑтійними: </p> <ul><li> "pName" — "<b>val:AT101_1 Ti</b>".</li></ul> <p>Як Ñ– у випадку з групою графіків у попередньому розділі, Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑних параметрів об'єкту-тегу ModBus.CM101.TE1314_1 Ñ– ModBus.CM101.CB102 можна вказати тільки параметр Ñ– атрибути розÑтавлÑÑ‚ÑŒÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:492px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_mn_lnk_uk.png"><img class="thumbimage" height="864" src="files/QuickStart_ui_mn_lnk_uk.png" width="490" /></a> <div class="thumbcaption">РиÑ. 5.2.5. Вкладка "Зв'Ñзки" діалогу Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей мнемоÑхеми.</div></div></div></div> <p>Тепер можемо зберегти нашу мнемоÑхему Ñ– поглÑнути на результат. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ закриємо вікно діалогу влаÑтивоÑтей Ñ– запуÑтимо наш проєкт "Старт" на виконаннÑ. Далі кнопками Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ¼ÐºÐ½ÐµÐ¼Ð¾ÑÑ Ð½Ð° нашу мнемоÑхему Ñ– у випадку безпомилкової конфігурації маємо побачити подібне до риÑунку 5.2.6. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_mn_uk.png"><img class="thumbimage" height="761" src="files/QuickStart_ui_run_mn_uk.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 5.2.6. МнемоÑхема з чотирма підключеними Ñигналами, комплекÑними параметрами об'єкту-тегу та протоколом.</div></div></div></div> <p>Зауважте, що вихід Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑного параметру об'єкта-тегу за границі порушень відзначаєтьÑÑ Ð¼Ð¸Ð³Ð¾Ñ‚Ñ–Ð½Ð½Ñм через аварійний колір длÑ: параметру, об'єкту Ñигналізації Ñ– жовтого кола внизу. Крім Ð¼Ð¸Ð³Ð¾Ñ‚Ñ–Ð½Ð½Ñ Ð¿Ñ€Ð¸ порушенні здійÑнюєтьÑÑ Ð¼Ð¾Ð½Ð¾Ñ‚Ð¾Ð½Ð½Ð° ÑÐ¸Ð³Ð½Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ (чаÑто на бузер) та Ñинтез мови з промовою позиції параметру вказаної у полі зв'Ñзку "spName" (РиÑ.5.2.5) Ñкщо доÑтупний відповідний Ñинтезатор мови. При активації порушеннÑ, праворуч та праворуч-внизу активуютьÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸ з індикацією типу повідомленнÑ, а за натиÑÐºÐ°Ð½Ð½Ñ Ð½Ð° них здійÑнюєтьÑÑ "квітаціÑ"-ÑÑ‚Ð¸ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ð³Ð¾ типу повідомленнÑ. За натиÑÐºÐ°Ð½Ð½Ñ Ð¼Ð¸Ð³Ð¾Ñ‚Ð»Ð¸Ð²Ð¾Ð³Ð¾ жовтого кола праворуч-знизу "квитуютьÑÑ"-ÑтишуютьÑÑ Ð²ÑÑ– повідомленнÑ. Факт приÑутноÑÑ‚Ñ– Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ñ‚Ð°ÐºÐ¾Ð¶ відображаєтьÑÑ Ð·Ð°Ð¿Ð¸Ñом у протоколі, Ñкий ми додали. Щоб побачити вихід за границю Ð¿Ð¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶ÐµÑ‚Ðµ вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾ÑÑ‚Ñ– вентилÑтору у 100 (РиÑ.4.2.9). Детальніше про концепцію роботи з порушеннÑми можна почитати у документі "<a href="How_to_Violations.html" title="Special:MyLanguage/Documents/How to/Violations, alarms and notifications">Як Ñформувати порушеннÑ, Ñигналізацію та ÑповіщеннÑ</a>". </p><p>ІÑторію порушень можемо переглÑнути у документі "Протокол порушень", Ñкий доÑтупний при обрані виду "Документ" (РиÑ.5.2.7). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_docAlarms_uk.png"><img class="thumbimage" height="761" src="files/QuickStart_ui_run_docAlarms_uk.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 5.2.7. Документ "Протокол порушень".</div></div></div></div> <p>ДиÑкретний комплекÑний параметр об'єкту-тегу ModBus.CM101.CB102, предÑтавлений нами у виглÑді кульового крану, Ñ” активним. Тобто його можна обрати, чим отримати панель ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¾Ñ€ÑƒÑ‡ (РиÑ.5.2.6), а також передати команди (відкрити або закрити). Команди можна передавати з панелі ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð°Ð±Ð¾ через контекÑтне меню. Ð’ÑÑ– дії оператора з керуючого впливу протоколюютьÑÑ Ñ– документ протоколу можна переглÑнути при обрані виду "Документ" (РиÑ.5.2.8). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_docOperator_uk.png"><img class="thumbimage" height="761" src="files/QuickStart_ui_run_docOperator_uk.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 5.2.8. Документ "Протокол втручань".</div></div></div></div> <h3><span class="mw-headline" id=".D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B5.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0"><span class="mw-headline-number">5.3</span> Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ комплекÑного елемента</span></h3> <p>ПриÑтупимо до розглÑду Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñ‚Ñ€ÐµÑ‚ÑŒÐ¾Ð³Ð¾ Ñ€Ñ–Ð²Ð½Ñ ÑкладноÑÑ‚Ñ–, а Ñаме до ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑного елемента. Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑного елементу, що включає в Ñебе комбінацію різних базових примітивів, може здійÑнюватиÑÑ Ñƒ декілька етапів. У ÑкоÑÑ‚Ñ– прикладу розглÑнемо завданнÑ, що ÑкладаєтьÑÑ Ð· двох етапів: </p> <ul><li> ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ "ПовітрÑний холодильник" на оÑнові примітиву "Елементарна фігура";</li> <li> ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ñ–Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾-Ñкомпонованого віджета "Холодильник" на оÑнові примітиву "Група елементів".</li></ul> <h4><span class="mw-headline" id=".D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D0.B2.D1.96.D0.B4.D0.B6.D0.B5.D1.82.D1.83_.22.D0.9F.D0.BE.D0.B2.D1.96.D1.82.D1.80.D1.8F.D0.BD.D0.B8.D0.B9_.D1.85.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.22_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D1.96_.D0.BF.D1.80.D0.B8.D0.BC.D1.96.D1.82.D0.B8.D0.B2.D0.B0_.22.D0.95.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.BD.D0.B0_.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.22"><span class="mw-headline-number">5.3.1</span> Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ "ПовітрÑний холодильник" на оÑнові примітива "Елементарна фігура"</span></h4> <p>Віджет будемо Ñтворювати у раніше нами Ñтвореній бібліотеці "КМ 101". Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ клацаємо правою кнопкою маніпулÑтору "миші" по пункту цієї бібліотеки та обираємо пункт меню "... з Бібліотеки"->"Бібліотека: originals"->"Елементарна фігура" Ñк це показано на риÑунку 5.3.1.1 Ñ– називаємо новий елемент <b>air_cooler (ПовітрÑний холодильник)</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:970px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_addElFig_uk.png"><img class="thumbimage" height="631" src="files/QuickStart_addElFig_uk.png" width="968" /></a> <div class="thumbcaption">РиÑ. 5.3.1.1. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ до бібліотеки "KM 101" на оÑнові примітиву "Елементарна фігура".</div></div></div></div> <p>ПіÑÐ»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð·'ÑвитьÑÑ Ð½Ð¾Ð²Ð¸Ð¹ віджет з назвою "ПовітрÑний холодильник", оберемо його у переліку віджетів бібліотеки "KM 101" та відкриємо Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° поÑередництвом контекÑтного меню нового елемента (РиÑ.5.3.1.2). У інÑпекторі атрибутів вÑтановимо влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "ГеометріÑ: ширина" — <b>200</b>;</li> <li> "ГеометріÑ: виÑота" — <b>200</b>;</li> <li> "ЗаповненнÑ: колір" — "<b>lightgrey</b>", колір можна задавати Ñк за допомогою <a class="external text" href="http://www.w3.org/TR/SVG/types.html#ColorKeywords" rel="nofollow noreferrer noopener" target="_blank">назв кольорів</a>, так Ñ– у форматі #RRGGBB (#RRGGBB-AAA).</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ElFigWH_uk.png"><img class="thumbimage" height="618" src="files/QuickStart_ElFigWH_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.1.2. Первинна ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ.</div></div></div></div> <p>Тепер зобразимо візуальне предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ð°, що можна здійÑнити двома ÑпоÑобами: </p> <ul><li> намалювати бажане Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ð°Ð½Ñ–Ð¿ÑƒÐ»Ñтором "миша", викориÑтовуючи "Лінію", "Дугу", "Криву Без'Ñ”" та "Заливку"; відповідна панель "Панель елементарних фігур" з'ÑвитьÑÑ Ð¿Ñ–ÑÐ»Ñ Ð²Ñ…Ð¾Ð´Ñƒ у режим редагуваннÑ-риÑуваннÑ; вхід у цей режим здійÑнюєтьÑÑ Ñк показано на риÑунку 5.3.1.3 або подвійним натиÑком лівої кнопки маніпулÑтору "миша" на тілі виджета;</li> <li> вручну заповнити поле "Перелік елементів", ввівши перелік потрібних елементів та координат точок.</li></ul> <p>Додаткову інформацію про редактор можна отримати <a href="Modules/Vision.html#ElFigure" title="Special:MyLanguage/Modules/Vision">тут</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_goElFigEdit_uk.png"><img class="thumbimage" height="618" src="files/QuickStart_goElFigEdit_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.1.3. Вхід у режим риÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ð° заÑнованого на примітиві "Елементарна фігура".</div></div></div></div> <p>У нашому прикладі ÑкориÑтаємоÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ ÑпоÑобом, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ у полі "Перелік елементів" інÑпектору атрибутів введемо нижчезазначений перелік та натиÑнемо "Ctrl"+"Enter": </p> <pre> line:(20|80):(100|20) line:(100|20):(180|80) line:(180|80):(100|140) line:(100|140):(20|80) line:(100|20):(100|140) line:(20|80):(180|80) line:(50|165):(100|140) line:(100|140):(150|165) line:(150|165):(50|165) fill:(20|80):(100|20):(180|80):(100|140) fill:(50|165):(100|140):(150|165) </pre> <p>Ð’ÑÑ– точки тут вказано Ñтатично оÑкільки не передбачено динамізації та зміни координат у режимі виконаннÑ, Ñ– вÑÑ– інші параметри залишено по замовченню. Відтак, наш віджет набуде виглÑду на риÑунку 5.3.1.4. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ElFigFillCl_uk.png"><img class="thumbimage" height="618" src="files/QuickStart_ElFigFillCl_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.1.4. ЗображеннÑ, що відповідає "Переліку елементів" віджету.</div></div></div></div> <p>Створимо іконку нашого віджета, Ñку буде видно у дереві віджетів бібліотеки "KM 101" (РиÑ.5.3.1.5). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ElFigPic_uk.png"><img class="thumbimage" height="618" src="files/QuickStart_ElFigPic_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.1.5. Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ–ÐºÐ¾Ð½ÐºÐ¸ віджета.</div></div></div></div> <p>Ðа цьому Ð¿Ñ€Ð¾Ñ†ÐµÑ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ віджета можна вважати завершеним. Перейдемо до етапу ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ñ–Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ віджету. </p> <h4><span class="mw-headline" id=".D0.A1.D1.82.D0.B2.D0.BE.D1.80.D0.B5.D0.BD.D0.BD.D1.8F_.D1.84.D1.96.D0.BD.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE-.D1.81.D0.BA.D0.BE.D0.BC.D0.BF.D0.BE.D0.BD.D0.BE.D0.B2.D0.B0.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B2.D1.96.D0.B4.D0.B6.D0.B5.D1.82.D1.83_.22.D0.A5.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.22_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D1.96_.D0.BF.D1.80.D0.B8.D0.BC.D1.96.D1.82.D0.B8.D0.B2.D1.83_.22.D0.93.D1.80.D1.83.D0.BF.D0.B0_.D0.B5.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D1.96.D0.B2.22"><span class="mw-headline-number">5.3.2</span> <span id="ComplexWdg" title="#ComplexWdg">Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ñ–Ð½Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾-Ñкомпонованого віджету "Холодильник" на оÑнові примітиву "Група елементів"</span></span></h4> <p>Фінальний віджет Ñтворюватимемо у бібліотеці "KM 101" Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ клацаємо правою кнопкою маніпулÑтору "миша" по цій бібліотеці та обираємо примітив "Група елементів" Ñк це показано на риÑунку 5.3.2.1, назвемо новий елемент — <b>elCooler (Холодильник)</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:970px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_addBox_uk.png"><img class="thumbimage" height="631" src="files/QuickStart_addBox_uk.png" width="968" /></a> <div class="thumbcaption">РиÑ. 5.3.2.1. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ до бібліотеки "KM 101" на оÑнові примітиву "Група елементів".</div></div></div></div> <p>ПіÑÐ»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð·'ÑвитьÑÑ Ð½Ð¾Ð²Ð¸Ð¹ віджет з назвою "Холодильник". Оберемо його у переліку віджетів бібліотеки "KM 101" Ñ– відкриємо Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ. У інÑпекторі атрибутів вÑтановимо влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "ГеометріÑ: ширина" — <b>250</b>;</li> <li> "ГеометріÑ: виÑота" — <b>200</b>.</li></ul> <p>Візьмемо раніше Ñтворений елемент "ПовітрÑний холодильник" та перетÑгнемо його — натиÑнемо на ньому ліву кнопку маніпулÑтору "миша" та переÑунемо курÑор до облаÑÑ‚Ñ– щойно Ñтвореного виджета, де відпуÑтимо кнопку (РиÑ.5.3.2.2). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_air_coolerDrag_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_air_coolerDrag_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.2. ПеретÑÐ³Ð½ÐµÐ½Ð½Ñ (Drag&Drop) віджету "ПовітрÑний холодильник" у віджет-контейнер "Холодильник".</div></div></div></div> <p>У результаті з'ÑвитьÑÑ Ð²Ñ–ÐºÐ½Ð¾ діалогу з пропозицією ввеÑти ідентифікатор Ñ– назву нового віджету. Ідентифікатор Ñ– назва можуть бути задані довільно, ми-ж введемо ідентифікатор <b>air_cooler</b> Ñ– назву залишимо порожньою та вона уÑпадкуєтьÑÑ Ð²Ñ–Ð´ предка — елемента "ПовітрÑний холодильник". Таким чином, щойно Ñтворений віджет вÑередині контейнеру "Холодильник" уÑпадкує елемент "ПовітрÑний холодильник". ПіÑÐ»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ñƒ Ñ– назви, віджет "ПовітрÑний холодильник" додаÑÑ‚ÑŒÑÑ Ð´Ð¾ нашого віджету-контейнеру "Холодильник" (РиÑ.5.3.2.3). У інÑпекторі атрибутів вÑтановимо Ð´Ð»Ñ Ð½ÑŒÐ¾Ð³Ð¾ влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "ГеометріÑ: x" — <b>25</b>;</li> <li> "ГеометріÑ: y" — <b>0</b>.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_air_coolerDrop_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_air_coolerDrop_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.3. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ ÑƒÑпадкованого віджету "ПовітрÑний холодильник".</div></div></div></div> <p>Далі розгорнемо пункт меню бібліотеки "Елементи мнемоÑхеми", знайдемо там елемент "ВентилÑтор 2" та перетÑгнемо його на віджет-контейнер. Цей елемент динамічно відображатиме інтенÑивніÑÑ‚ÑŒ роботи повітрÑного холодильника. Ð”Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ віджета введемо ідентифікатор <b>cooler2</b> Ñ– назву знову залишимо порожньою, піÑÐ»Ñ Ñ‡Ð¾Ð³Ð¾ віджет "ВентилÑтор 2" додаÑÑ‚ÑŒÑÑ Ð´Ð¾ нашого віджета-контейнеру "Холодильник". Таким чином, щойно Ñтворений віджет вÑередині контейнеру "Холодильник" уÑпадкує елемент бібліотеки "Елементи мнемоÑхеми" — "ВентилÑтор 2". У інÑпекторі атрибутів вÑтановимо влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "ГеометріÑ: x" — <b>75</b>;</li> <li> "ГеометріÑ: y" — <b>30</b>;</li> <li> "ГеометріÑ: z" — <b>10</b>, піднÑти елемент над вÑіма можна з панелі "Функції видимоÑÑ‚Ñ– віджетів";</li> <li> "Колір1" — "<b>#FFFF00-200</b>", додали альфа канал — прозоріÑÑ‚ÑŒ 200 ("0" — повніÑÑ‚ÑŽ прозорий, "255" — повніÑÑ‚ÑŽ непрозорий), риÑунок 5.3.2.4;</li> <li> "Колір2" — "<b>#FF0000-200</b>", додали альфа канал — прозоріÑÑ‚ÑŒ 200.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_cooler2AlphaChange_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_cooler2AlphaChange_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.4. Зміна прозороÑÑ‚Ñ– кольору Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ ÑƒÑпадкованого віджету "ВентилÑтор 2".</div></div></div></div> <p>Тепер у віджеті-контейнері "Холодильник" додамо два текÑтових Ð¿Ð¾Ð»Ñ Ð·Ð°Ñнованих на примітиві "ТекÑÑ‚" з метою Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¾Ñ— та вихідної температури потоку. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ виділимо віджет "Холодильник" та на панелі візуальних елементів бібліотеки "KM 101" оберемо пункт меню примітиву "ТекÑÑ‚" Ñк це показано на риÑунку 5.3.2.5. Ð”Ð»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ текÑтового Ð¿Ð¾Ð»Ñ Ð²Ð²ÐµÐ´ÐµÐ¼Ð¾ ідентифікатор <b>Ti</b> Ñ– у інÑпекторі атрибутів вÑтановимо влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "ГеометріÑ: x" — <b>5</b>;</li> <li> "ГеометріÑ: y" — <b>20</b>;</li> <li> "ГеометріÑ: ширина" — <b>70</b>;</li> <li> "ГеометріÑ: виÑота" — <b>35</b>;</li> <li> "ВирівнюваннÑ" — "<b>У центрі</b>";</li> <li> "Шрифт" — "<b>Arial 14 1</b>", зміну шрифту можна здійÑнити у діалозі, Ñкий відкриваєтьÑÑ Ð·Ð° натиÑком на ключик у полі Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ (РиÑ.5.3.2.7);</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> Шрифт Arial може бути відÑутнім у діалозі, тож оберіть той, що вам подобаєтьÑÑ.</dd></dl> <ul><li> "ТекÑÑ‚" (РиÑ.5.3.2.8):</li></ul> <pre style="margin-left: 20px;"> %1 град.C </pre> <ul><li> "КількіÑÑ‚ÑŒ аргументів" — <b>1</b> (РиÑ.5.3.2.9): <ul><li> "Ðргумент 0: тип" — "<b>Реальний</b>";</li> <li> "Ðргумент 0: значеннÑ" — <b>300.25</b>, задано лише Ð´Ð»Ñ Ð½Ð°Ð¾Ñ‡Ð½Ð¾ÑÑ‚Ñ– та у режимі Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð²Ð¾Ð½Ð¾ буде замінено реальним значеннÑм вхідної температури;</li> <li> "Ðргумент 0: конфігураціÑ" — "<b>3;f;2</b>".</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_BoxAddText_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_BoxAddText_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.5. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ елемента заÑнованого на примітиві "ТекÑÑ‚".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_textGeom_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_textGeom_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.6. Ð’Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ñ–Ñ— віджета "Ti".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_tetxFontChange_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_tetxFontChange_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.7. Зміна розміру шрифту Ð´Ð»Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ð° "Ti".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_textArgAdd_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_textArgAdd_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.8. Зміна Ð¿Ð¾Ð»Ñ "ТекÑÑ‚" Ñ– Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð°ÑвноÑÑ‚Ñ– аргументу у віджета "Ti".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_textArgConf_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_textArgConf_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.9. ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñƒ віджета "Ti".</div></div></div></div> <p>Тепер, з метою ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ віджета Ð´Ð»Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¾Ñ— температури, Ñкопіюємо віджет "Ti", вÑтавимо Ñкопійований віджет Ñ– вкажемо йому ідентифікатор <b>To</b> (РиÑ.5.3.2.10). У інÑпекторі атрибутів вÑтановимо влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "ГеометріÑ: x" — <b>175</b>;</li> <li> "ГеометріÑ: y" — <b>20</b>.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ToGeom_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_ToGeom_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.10. Віджет "To".</div></div></div></div> <p>Тепер додамо віджет заÑнований на примітиві "Елемент форми" (РиÑ.5.3.2.11), Ñкий будемо викориÑтовувати Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ продуктивноÑÑ‚Ñ– холодильника. Вкажемо ідентифікатор <b>cw</b> (РиÑ.5.3.2.12) Ñ– у інÑпекторі атрибутів вÑтановимо влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "Ðктивний" — <b>true</b>;</li> <li> "ГеометріÑ: x" — <b>60</b>;</li> <li> "ГеометріÑ: y" — <b>158</b>;</li> <li> "ГеометріÑ: ширина" — <b>60</b>;</li> <li> "ГеометріÑ: виÑота" — <b>40</b>;</li> <li> "ГеометріÑ: z" — <b>10</b>, піднÑти елемент над вÑіма можна з панелі "Функції видимоÑÑ‚Ñ– віджетів";</li> <li> "Тип елементу" — "<b>Combo Box</b>";</li> <li> "Шрифт" — "<b>Arial 14 1</b>";</li> <li> "ЗначеннÑ" — <b>200</b>;</li> <li> "КонфігураціÑ":</li></ul> <pre style="margin-left: 20px;"> 0 50 100 150 200 </pre> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_addFormEl_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_addFormEl_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.11. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ð° заÑнованого на примітиві "Елемент форми".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_comboParams_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_comboParams_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.12. Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² ComboBox "cw".</div></div></div></div> <p>Ð”Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ– виміру продуктивноÑÑ‚Ñ– холодильника додамо ще один віджет заÑнований на примітиві "ТекÑÑ‚". ЗдійÑнюємо ту-ж процедуру, що й Ð´Ð»Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ "Ti". Вкажемо ідентифікатор <b>dimension</b> (РиÑ.5.3.2.13) Ñ– у інÑпекторі атрибутів вÑтановимо влаÑтивоÑÑ‚Ñ–: </p> <ul><li> "ГеометріÑ: x" — <b>125</b>;</li> <li> "ГеометріÑ: y" — <b>168</b>;</li> <li> "ГеометріÑ: ширина" — <b>80</b>;</li> <li> "ГеометріÑ: виÑота" — <b>20</b>;</li> <li> "ВирівнюваннÑ" — "<b>У центрі</b>";</li> <li> "Шрифт" — "<b>Arial 14 1</b>";</li> <li> "ТекÑÑ‚" — "<b>об./хвил.</b>".</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:871px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_addDimension_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_addDimension_uk.png" width="869" /></a> <div class="thumbcaption">РиÑ. 5.3.2.13. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ "dimension" заÑнованого на примітиві "ТекÑÑ‚" Ñ– зміна його параметрів.</div></div></div></div> <p>Ð”Ð»Ñ Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð»Ð¾Ð³Ñ–ÐºÐ¸ обробки віджету "Холодильник", відкриємо діалог Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей цього візуального елемента Ñ– перейдемо до вкладки "Обробка". Ðа цій вкладці побачимо дерево атрибутів віджету Ñ– поле текÑту програми обробки атрибутів. Ð”Ð»Ñ Ð²Ð¸Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ð½Ð°ÑˆÐ¾Ð³Ð¾ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¾ додати три атрибуту: Ti, To, Cw (РиÑ.5.3.2.14); Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ треба розгорнути кореневий елемент ".", обрати будь Ñкий елемент вÑередині нього та <b>натиÑнути кнопку "Додати атрибут"</b> знизу. </p><p>Далі <b>ввімкнемо на обробку</b> атрибут <b>value</b> комбобокÑу "cw" Ñк це показано на риÑунку 5.3.2.15. Ðналогічно ввімкнемо на обробку атрибут <b>arg0val</b> Ð´Ð»Ñ Ti и To, а також атрибут <b>speed</b> елементу "cooler2". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:768px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_elCoolerAtrrAdd_uk.png"><img class="thumbimage" height="518" src="files/QuickStart_elCoolerAtrrAdd_uk.png" width="766" /></a> <div class="thumbcaption">РиÑ. 5.3.2.14. Ð”Ð¾Ð´Ð°Ð½Ð½Ñ Ñ‚Ñ€ÑŒÐ¾Ñ… атрибутів елементу "Холодильник" бібліотеки "KM 101".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:768px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_cwValueProc_uk.png"><img class="thumbimage" height="586" src="files/QuickStart_cwValueProc_uk.png" width="766" /></a> <div class="thumbcaption">РиÑ. 5.3.2.15. Ð£Ð²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð½Ð° обробку атрибуту "value" комбобокÑу "cw".</div></div></div></div> <p>Ðа Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñтановимо мову кориÑтувацького Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ "JavaLikeCalc.JavaScript" та напишемо Ñаму цю програму обробки віджета: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">Ti_arg0val</span> <span class="o">=</span> <span class="nx">Ti</span><span class="p">;</span> <span class="nx">To_arg0val</span> <span class="o">=</span> <span class="nx">To</span><span class="p">;</span> <span class="k">for</span><span class="p">(</span><span class="nx">ev_rez</span> <span class="o">=</span> <span class="s2">""</span><span class="p">,</span> <span class="nx">off</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="p">(</span><span class="nx">ev_wrk</span><span class="o">=</span><span class="nx">event</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="s2">"\n"</span><span class="p">,</span><span class="nx">off</span><span class="p">)).</span><span class="nx">length</span><span class="p">;</span> <span class="p">)</span> <span class="k">if</span><span class="p">(</span><span class="nx">ev_wrk</span> <span class="o">==</span> <span class="s2">"ws_CombChange:/cw"</span><span class="p">)</span> <span class="nx">Cw</span> <span class="o">=</span> <span class="nx">cw_value</span><span class="p">;</span> <span class="k">else</span> <span class="nx">ev_rez</span> <span class="o">+=</span> <span class="nx">ev_wrk</span><span class="o">+</span><span class="s2">"\n"</span><span class="p">;</span> <span class="nx">event</span> <span class="o">=</span> <span class="nx">ev_rez</span><span class="p">;</span> <span class="nx">cw_value</span> <span class="o">=</span> <span class="nx">Cw</span><span class="p">;</span> <span class="nx">cooler2_speed</span> <span class="o">=</span> <span class="nx">Cw</span><span class="o">/</span><span class="mi">5</span><span class="p">;</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> Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ віджету не призводить до безпоÑередньої Ñ—Ñ— компілÑції, тобто не буде повідомлень про помилки у програмі Ñкщо вони мають міÑце бути. Це пов'Ñзано з тим, що безпоÑереднє Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸, а відтак Ñ– Ñ—Ñ— компілÑціÑ, здійÑнюєтьÑÑ Ñƒ оточені Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ– в момент запуÑку проєкту візуалізації на виконаннÑ. При цьому вÑÑ– помилки, що виникли при компілÑції, виводÑÑ‚ÑŒÑÑ Ñƒ виглÑді повідомлень OpenSCADA Ñ– віджети з помилками не виконуютьÑÑ. Детальніше про Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацьких процедур можна почитати у документі "<a href="How_to_Debug.html" title="Special:MyLanguage/Documents/How to/Debug">Як налагодити проєкт OpenSCADA</a>". </p><p>ÐžÐ¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ загалом Ñ– Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¹Ð¾Ð³Ð¾ програми здійÑнюєтьÑÑ Ð·Ð° будь Ñкої події у циклі Ð¶Ð¸Ñ‚Ñ‚Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ СВУ (визначаєтьÑÑ Ð¿Ð¾Ð»ÐµÐ¼ "Період обчиÑленнÑ" вкладки "Проєкт", риÑунок 5.2) Ñ– періодично за періодом Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ (визначаєтьÑÑ Ñƒ полі "Періодичне опрацюваннÑ" вкладки "Віджет", риÑунок 5.1.3). По замовченню, період Ð¾Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¶ÐµÑ‚Ñƒ беретьÑÑ Ñ–Ð· верхнього віджету та він Ñкладає 1000 мÑ, тож, Ñкщо бажаєте швидшого Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð°ÑˆÐ¾Ð³Ð¾ віджету, то можете вÑтановити "Періодичне опрацюваннÑ" в 250 Ð¼Ñ Ñƒ вкладці "Віджет". </p><p>Отримана вкладка "Обробка" віджету "Холодильник" бібліотеки "KM 101" матиме виглÑд, показаний на риÑунку 5.3.2.16. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:768px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_UserProgElCooler_uk.png"><img class="thumbimage" height="586" src="files/QuickStart_UserProgElCooler_uk.png" width="766" /></a> <div class="thumbcaption">РиÑ. 5.3.2.16. Результуюча вкладка "Обробка" віджету "Холодильник" бібліотеки "KM 101".</div></div></div></div> <p>Закриємо діалог Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей візуального елемента, Ñтворимо іконку нашого елемента, закриємо внутрішнє вікно Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° збережемо це вÑе. </p><p>Ðа цьому розробку комплекÑного елемента можна вважати закінченою. </p> <h4><span class="mw-headline" id=".D0.94.D0.BE.D0.B4.D0.B0.D0.BD.D0.BD.D1.8F_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B5.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D1.83_.D0.BD.D0.B0_.D0.BC.D0.BD.D0.B5.D0.BC.D0.BE.D1.81.D1.85.D0.B5.D0.BC.D1.83"><span class="mw-headline-number">5.3.3</span> Ð”Ð¾Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑного елементу на мнемоÑхему</span></h4> <p>Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ працездатноÑÑ‚Ñ– та оцінки результатів наших зуÑиль, додамо Ñтворений віджет на мнемоÑхему, розроблену у розділі 5.2. Виконаємо цю операцію Ð´Ð»Ñ Ð´Ð²Ð¾Ñ… холодильників "AT101_1" Ñ– "AT101_2". </p><p>Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ відкриємо кадр мнемоÑхеми "AT 101" на редагуваннÑ, хапаємо "мишею" наш комплекÑний елемент та Ñ‚Ñгнемо на мнемоÑхему, де відпуÑкаємо у потрібній позиції — вводимо ідентифікатори <b>AT101_1</b> Ñ– <b>AT101_2</b>, відповідно. Додані елементи розташовуємо Ñк нам зручно. ПіÑÐ»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ð¸Ñ… маніпулÑцій маємо отримати мнемоÑхему з виглÑдом на риÑунку 5.3.3.1. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1090px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_mn2_uk.png"><img class="thumbimage" height="653" src="files/QuickStart_ui_mn2_uk.png" width="1088" /></a> <div class="thumbcaption">РиÑ. 5.3.3.1. МнемоÑхема з нашими комплекÑними елементами.</div></div></div></div> <p>Збережемо нову мнемоÑхему Ñ– закриємо Ñ—Ñ— вікно. Далі перейдемо до проєкту Ñ– відкриємо цю мнемоÑхему у дереві проєкту "Старт"->"Коренева Ñторінка"->"Група 1"->"МнемоÑхеми"->"AT 101". Як можна зауважити, наші нові елементи з'ÑвилиÑÑ Ñ‚ÑƒÑ‚ автоматично та нам залишилоÑÑ Ð»Ð¸ÑˆÐµ підключити зв'Ñзки до них, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ відкриємо діалог Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей мнемоÑхеми на вкладці "Зв'Ñзки" (риÑ.5.3.3.2). Ðа цій вкладці побачимо дерево з елементами "AT101_1" та "AT101_2", розгорнувши будь Ñкий побачимо гілку "Parameter" з атрибутами "Ti", "To" Ñ– "Cw". Таким чином, у полі "Parameter" можемо проÑто вказати адреÑу параметра "<b>prm:/LogicLev/CM101/AT101_1</b>" Ñ– "<b>prm:/LogicLev/CM101/AT101_2</b>", відповідно, а атрибути буде розÑтавлено автоматично. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:492px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_mn2_lnk_uk.png"><img class="thumbimage" height="504" src="files/QuickStart_ui_mn2_lnk_uk.png" width="490" /></a> <div class="thumbcaption">РиÑ. 5.3.3.2. Вкладка "Зв'Ñзки" діалогу Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей мнемоÑхеми.</div></div></div></div> <p>Збережемо нашу мнемоÑхему Ñ– перевіримо результат, Ð´Ð»Ñ Ñ‡Ð¾Ð³Ð¾ закриємо вікно діалогу влаÑтивоÑтей, запуÑтимо проєкт "Старт" на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ– перемкнемоÑÑ Ð½Ð° другу мнемоÑхему кнопками гортаннÑ. За безпомилкової конфігурації маємо побачити подібне зображеному на риÑунку 5.3.3.3. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_mn2_uk.png"><img class="thumbimage" height="761" src="files/QuickStart_ui_run_mn2_uk.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 5.3.3.3. Результуюча мнемоÑхема.</div></div></div></div> <p>Ðа цій мнемоÑхемі, за поÑередництвом наших комплекÑних елементів можемо не лише ÑпоÑтерігати, але й керувати продуктивніÑÑ‚ÑŽ холодильників проÑто змінюючи Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ комбобокÑÑ–. Змінюючи продуктивніÑÑ‚ÑŒ можемо помітити Ñ– зміну температури, Ñ– ÑÐ¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½Ð½Ñ Ñигналізації за комплекÑним аналоговим параметром об'єкту-тренду. ІÑторію змін можемо побачити та доÑлідити на групі графіків, Ñтвореній нами у розділі 5.1, та документі "Протокол порушень", згаданий у розділі 5.2. </p> <h2><span class="mw-headline" id=".D0.92.D0.B8.D1.81.D0.BD.D0.BE.D0.B2.D0.BE.D0.BA"><span class="mw-headline-number">6</span> ВиÑновок</span></h2> <p>Таким чином ми отримали повноцінний типовий Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ процеÑу (ТП) з реальним збором даних у різний ÑпоÑіб Ñ– відтак отримали уÑÐ²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° навички роботи з OpenSCADA. </p><p>При побудові інтерфейÑу ТП ми розглÑнули вÑÑ– три рівні ÑкладноÑÑ‚Ñ– Ñ– відтак отримали уÑÐ²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ потрібний кваліфікаційний рівень програміÑта SCADA. </p><p>Збір та обробку даних ми розглÑнули Ñ– здійÑнили у різні ÑпоÑоби від проÑтого-типового Ñ– до Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ– даних ПЛК, побудованого на оÑнові OpenSCADA. Тобто, отримано уÑÐ²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ джерела даних SCADA-ÑиÑтем Ñ– доÑтупу до них за допомогою мережевих інтерфейÑів та протоколів обміну, підтримку Ñких реалізують відповідні модулі OpenSCADA. </p><p>І звіÑно, ми розглÑнули методи розповÑÑŽÐ´Ð¶ÐµÐ½Ð½Ñ (диÑтрибуції) OpenSCADA, ÑпоÑоби Ñ—Ñ— вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ– Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ð³Ð¾ Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñк то: Ñерверу SCADA, ПЛК OpenSCADA Ñ– робочого міÑÑ†Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ (ÐÐ Ðœ). </p><p>Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ OpenSCADA цим документом не обмежуєтьÑÑ Ñ‚Ð° у вирішені Ñпецифічних питань маєте викориÑтовувати <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Home" title="Special:MyLanguage/Home">вÑÑŽ доÑтупну документацію</a> Ñ– приклади демонÑтраційних конфігурацій-моделей OpenSCADA, тим Ñамим кориÑтуючиÑÑŒ перевагами "відкритих вихідних текÑтів (OpenSource)". Окремо тут треба ще раз відзначити "<a href="Program_manual.html" title="Special:MyLanguage/Documents/Program manual">ПоÑібник по програмі</a>", "<a href="How_to.html" title="Special:MyLanguage/Documents/How to">Як (How to) ...</a>" Ñ– "<a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Model_AGLKS" title="Special:MyLanguage/Using/Model AGLKS">Динамічну модель реального чаÑу ÐГЛКС</a>", Ñк більш повні джерела інформації про OpenSCADA. </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">7</span> ПоÑиланнÑ</span></h2> <ul><li> <a class="external" href="http://oscada.org/wiki/File:QuickStart_SimpleStationAndServer_uk.odg" title="File:QuickStart SimpleStationAndServer uk.odg">Діаграма: ПроÑте поєднане Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñтанції Ñ– Ñерверу SCADA з джерелом даних у демонÑтраційній БД.</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/Quick_start/uk">Documents/Quick_start/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>