<?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>Модули/Vision - 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="ru">Модули/Vision</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="ru"><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-Modules%2FVision&action=page&filter=&language=ru" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/Vision" title="Modules/Vision">Modules/Vision</a> and the translation is 87% 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/Modules/Vision.html" title="Modules/Vision (100% translated)">English</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../uk/Modules/Vision.html" title="Модулі/Vision (100% translated)">УкраїнÑька</a></div></div> <table class="wikitable"> <tr> <th> Модуль </th> <th> Ð˜Ð¼Ñ </th> <th> ВерÑÐ¸Ñ </th> <th> Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ </th> <th> ИÑточник </th> <th> Языки </th> <th> Платформы </th> <th> Тип </th> <th> Ðвтор </th></tr> <tr> <td> <a href="../Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Vision</a> </td> <td> Рабочий пользовательÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ (Qt) </td> <td> 9.4 </td> <td> GPL2 </td> <td> ui_Vision.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> ПользовательÑкие интерфейÑÑ‹ </td> <td> Роман Савоченко<br /> <font size="-2"><i>МакÑим ЛыÑенко (2007-2012), КÑÐµÐ½Ð¸Ñ Ð¯ÑˆÐ¸Ð½Ð° (2007-2008)</i></font> </td></tr> <tr> <th colspan="9"> ОпиÑание </th></tr> <tr> <td colspan="9"> Рабочий пользовательÑкий интерфейÑ, оÑнованный на библиотеке Qt — внешний Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ðº движку СВУ. <ul><li> <b>ÐžÐ±Ñ‰Ð°Ñ Ñ‚Ñ€ÑƒÐ´Ð¾Ñ‘Ð¼ÐºÐ¾ÑÑ‚ÑŒ:</b> > 50 <span title="человеко-дней, 1ЧД — 10 чаÑов">ЧД<sup style="color: blue">[!]</sup></span></li> <li> <b>СпонÑировано, завершение Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼Ð¸Ñ‚Ð¸Ð²Ð° ElFigure на 0.3 <span title="человеко-дней, 1ЧД — 10 чаÑов">ЧД<sup style="color: blue">[!]</sup></span>:</b> ООО "СВІТоВИР"</li></ul> </td></tr></table> <p>Модуль предоÑтавлÑет в OpenSCADA механизм конечной визуализации Ñреды визуализации и ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (СВУ). Модуль оÑнован на многоплатформенной библиотеке <a class="external text" href="http://qt.io" rel="nofollow noreferrer noopener" target="_blank">Qt</a> графичеÑкого пользовательÑкого интерфейÑа (GUI), изначально Ñозданного фирмой <a class="external text" href="http://www.trolltech.com" rel="nofollow noreferrer noopener" target="_blank">TrollTech</a>. Ð’ Ñвоей работе модуль иÑпользует данные движка СВУ — модуль <a href="../Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">VCAEngine</a>. </p><p>Среда визуализации и ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (СВУ) ÑвлÑетÑÑ Ð½ÐµÐ¾Ñ‚ÑŠÐµÐ¼Ð»ÐµÐ¼Ð¾Ð¹ ÑоÑтавлÑющей SCADA ÑиÑтемы. Она применÑетÑÑ Ð½Ð° клиентÑких ÑтанциÑÑ… Ñ Ñ†ÐµÐ»ÑŒÑŽ доÑтупного предоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ об объекте ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ выдачи управлÑющих воздейÑтвий на объект. Ð’ различных практичеÑких ÑитуациÑÑ… и уÑловиÑÑ… могут применÑÑ‚ÑŒÑÑ Ð¡Ð’Ð£, поÑтроенные на различных принципах визуализации. Ðапример, Ñто могут быть библиотеки виджетов Qt, GTK+, wxWidgets или гипертекÑтовые механизмы на оÑнове технологий HTML, XHTML, XML, CSS и JavaScript или Ñторонние Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸, реализованные на различных Ñзыках Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Java, Python и Ñ‚.д. Любой из Ñтих принципов имеет Ñвои преимущеÑтва и недоÑтатки, ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… может Ñтать непреодолимым препÑÑ‚Ñтвием в возможноÑти иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¡Ð’Ð£ в том или ином практичеÑком Ñлучае. Ðапример, технологии вроде библиотеки Qt позволÑÑŽÑ‚ Ñоздавать выÑокопроизводительные СВУ, что неÑомненно важно Ð´Ð»Ñ Ñтанций оператора ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑким процеÑÑом (ТП). Однако, необходимоÑÑ‚ÑŒ инÑталлÑции данного клиентÑкого ПО может Ñделать его иÑпользование невозможным в отдельных ÑитуациÑÑ…. С другой Ñтороны, Web-технологии не требуют инÑталлÑции на клиентÑкие ÑиÑтемы и ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€ÐµÐ´ÐµÐ»ÑŒÐ½Ð¾ многоплатформенными (доÑтаточно указать ÑÑылку на Web-Ñервер в любом Web-браузере), что наиболее важно Ð´Ð»Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… инженерных и админиÑтративных Ñтанций. С другой Ñтороны, производительноÑÑ‚ÑŒ и надёжноÑÑ‚ÑŒ таких интерфейÑов ниже, что практичеÑки иÑключает их иÑпользование на ÑтанциÑÑ… оператора ТП. </p><p>OpenSCADA имеет предельно гибкую архитектуру, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет Ñоздавать внешние интерфейÑÑ‹, в том чиÑле и пользовательÑкие, на любой оÑнове и вкуÑ. Ðапример, Ñреда конфигурации OpenSCADA доÑтупна как на Qt-библиотеке, так и на Web-оÑнове. </p><p>Ð’ тоже времÑ, незавиÑимое Ñоздание реализаций СВУ на различной оÑнове может повлечь за Ñобой невозможноÑÑ‚ÑŒ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… конфигурации одной СВУ в другой. Что неудобно и ограничено Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкой Ñтороны, а также накладно в плане реализации и поÑледующей поддержки. </p><p>С целью Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ Ñтих проблем, а также ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð² кратчайшие Ñроки полного Ñпектра различных типов СВУ, оÑнован <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/VCA" title="Special:MyLanguage/Sub-projects/VCA">проект ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ†ÐµÐ¿Ñ†Ð¸Ð¸ СВУ</a>. Результатом Ñтого проекта и Ñтал данный модуль непоÑредÑтвенной визуализации (на оÑнове библиотеки Qt), модуль непоÑредÑтвенной визуализации <a href="../Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">WebVision</a> и движок СВУ <a href="../Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">VCAEngine</a>. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.9D.D0.B0.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B5"><span class="tocnumber">1</span> <span class="toctext">Ðазначение</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.98.D0.BD.D1.81.D1.82.D1.80.D1.83.D0.BC.D0.B5.D0.BD.D1.82_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D1.84.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B0_.D0.A1.D0.92.D0.A3"><span class="tocnumber">2</span> <span class="toctext">ИнÑтрумент графичеÑкого Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа СВУ</span></a> <ul> <li class="toclevel-2 tocsection-3"><a href="#.D0.A1.D1.82.D0.B8.D0.BB.D0.B8"><span class="tocnumber">2.1</span> <span class="toctext">Стили</span></a></li> <li class="toclevel-2 tocsection-4"><a href="#.D0.A1.D0.B2.D1.8F.D0.B7.D1.8B.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D0.B8.D0.BA.D0.BE.D0.B9"><span class="tocnumber">2.2</span> <span class="toctext">СвÑзывание Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÐ¾Ð¹</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#Visual_editing"><span class="tocnumber">2.3</span> <span class="toctext">Visual editing</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-6"><a href="#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.BE.D0.B2_.D0.A1.D0.92.D0.A3"><span class="tocnumber">3</span> <span class="toctext"><span>ИÑполнение интерфейÑов СВУ</span></span></a></li> <li class="toclevel-1 tocsection-7"><a href="#.D0.9F.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B1.D0.B0.D0.B7.D0.BE.D0.B2.D1.8B.D1.85_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2_.28.D0.BF.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2.D0.BE.D0.B2.29"><span class="tocnumber">4</span> <span class="toctext"><span>ПредÑтавление базовых Ñлементов (примитивов)</span></span></a> <ul> <li class="toclevel-2 tocsection-8"><a href="#.D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.BD.D0.BE.D0.B9_.D1.84.D0.B8.D0.B3.D1.83.D1.80.D1.8B_.28ElFigure.29"><span class="tocnumber">4.1</span> <span class="toctext"><span>Примитив Ñлементарной фигуры (ElFigure)</span></span></a></li> <li class="toclevel-2 tocsection-9"><a href="#.D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.B0_.28Text.29"><span class="tocnumber">4.2</span> <span class="toctext">Примитив текÑта (Text)</span></a></li> <li class="toclevel-2 tocsection-10"><a href="#.D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0_.D1.84.D0.BE.D1.80.D0.BC.D1.8B_.28FormEl.29"><span class="tocnumber">4.3</span> <span class="toctext">Примитив Ñлемента формы (FormEl)</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#Primitive_of_the_displaying_the_media-materials_.28Media.29"><span class="tocnumber">4.4</span> <span class="toctext">Primitive of the displaying the media-materials (Media)</span></a></li> <li class="toclevel-2 tocsection-12"><a href="#.D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D0.BF.D0.BE.D1.81.D1.82.D1.80.D0.BE.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B4.D0.B8.D0.B0.D0.B3.D1.80.D0.B0.D0.BC.D0.BC_.28Diagram.29"><span class="tocnumber">4.5</span> <span class="toctext">Примитив поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð³Ñ€Ð°Ð¼Ð¼ (Diagram)</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#.D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.84.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D0.B0_.28Protocol.29"><span class="tocnumber">4.6</span> <span class="toctext">Примитив Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° (Protocol)</span></a></li> <li class="toclevel-2 tocsection-14"><a href="#.D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.84.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BE.D1.82.D1.87.D1.91.D1.82.D0.BD.D0.BE.D0.B9_.D0.B4.D0.BE.D0.BA.D1.83.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.86.D0.B8.D0.B8_.28Document.29"><span class="tocnumber">4.7</span> <span class="toctext">Примитив Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ документации (Document)</span></a></li> <li class="toclevel-2 tocsection-15"><a href="#.D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D0.BA.D0.BE.D0.BD.D1.82.D0.B5.D0.B9.D0.BD.D0.B5.D1.80.D0.B0_.28Box.29"><span class="tocnumber">4.8</span> <span class="toctext"><span>Примитив контейнера (Box)</span></span></a></li> </ul> </li> <li class="toclevel-1 tocsection-16"><a href="#.D0.92.D0.B5.D0.BA.D1.82.D0.BE.D1.80.D0.BD.D1.8B.D0.B9_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80"><span class="tocnumber">5</span> <span class="toctext"><span>Векторный графичеÑкий редактор</span></span></a> <ul> <li class="toclevel-2 tocsection-17"><a href="#.D0.9D.D0.B0.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_2"><span class="tocnumber">5.1</span> <span class="toctext">Ðазначение</span></a></li> <li class="toclevel-2 tocsection-18"><a href="#.D0.9F.D1.80.D0.B8.D0.BD.D1.86.D0.B8.D0.BF.D1.8B_.D0.B8_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D1.80.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.B0.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80.D0.B0"><span class="tocnumber">5.2</span> <span class="toctext">Принципы и функции разработанного графичеÑкого редактора</span></a></li> <li class="toclevel-2 tocsection-19"><a href="#.D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D1.8B.D0.B5_.D0.BF.D1.80.D0.B8.D0.BD.D1.86.D0.B8.D0.BF.D1.8B_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_.D0.B2_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.BC_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80.D0.B5"><span class="tocnumber">5.3</span> <span class="toctext">ОÑновные принципы работы в графичеÑком редакторе</span></a></li> <li class="toclevel-2 tocsection-20"><a href="#.D0.9A.D0.BE.D0.BD.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.BD.D0.BE.D0.B5_.D0.BC.D0.B5.D0.BD.D1.8E_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80.D0.B0"><span class="tocnumber">5.4</span> <span class="toctext">КонтекÑтное меню графичеÑкого редактора</span></a></li> <li class="toclevel-2 tocsection-21"><a href="#.D0.94.D0.B8.D0.B0.D0.BB.D0.BE.D0.B3_.D1.81.D0.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.BD.D0.BE.D0.B9_.D1.84.D0.B8.D0.B3.D1.83.D1.80.D1.8B"><span class="tocnumber">5.5</span> <span class="toctext">Диалог ÑвойÑтв Ñлементарной фигуры</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-22"><a href="#General_module_configuration"><span class="tocnumber">6</span> <span class="toctext"><span>General module configuration</span></span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.9D.D0.B0.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B5"><span class="mw-headline-number">1</span> Ðазначение</span></h2> <p>Данный модуль непоÑредÑтвенной визуализации СВУ предназначен Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñов СВУ в Ñреде графичеÑкой библиотеки Qt. Модуль СВУ, в оÑновном, обеÑпечивает: </p><p>ПеречиÑлим возможноÑти, которые Ñможет и обеÑпечивает СВУ, поÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ Ð½Ð° оÑнове данного проекта: </p> <ul><li> три ÑƒÑ€Ð¾Ð²Ð½Ñ ÑложноÑти в формировании интерфейÑа визуализации, позволÑющие органично оÑваивать и применÑÑ‚ÑŒ инÑтрументарий по принципу — от проÑтого к Ñложному:</li></ul> <dl><dd><ol><li> формирование из шаблонных кадров, путём Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÐ¸ и без графичеÑкой конфигурации;</li> <li> графичеÑкое формирование новых кадров, путём иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ñ‹Ñ… Ñлементов визуализации из библиотеки — мнемоÑхемы;</li> <li> формирование, в библиотеке, новых: кадров, шаблонных кадров и Ñлементов отображениÑ.</li></ol></dd></dl> <ul><li> поÑтроение интерфейÑов визуализации практичеÑки любой ÑложноÑти (ограниченную "диÑкретноÑтью" функций примитивов), Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ð¾Ñ‚ проÑÑ‚Ñ‹Ñ… интерфейÑов мониторинга и, Ð·Ð°ÐºÐ°Ð½Ñ‡Ð¸Ð²Ð°Ñ Ð¿Ð¾Ð»Ð½Ð¾Ñ†ÐµÐ½Ð½Ñ‹Ð¼Ð¸ иерархичеÑкими интерфейÑами, иÑпользуемыми в SCADA ÑиÑтемах;</li> <li> предоÑтавление различных ÑпоÑобов Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ конфигурации пользовательÑкого интерфейÑа, оÑнованных на различных интерфейÑах графичеÑкого предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (Qt, Web, ...), или-же поÑредÑтвом Ñтандартного интерфейÑа ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ OpenSCADA;</li> <li> поÑтроение и ÐºÐ¾Ñ€Ñ€ÐµÐºÑ†Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа, уÑтановка и Ñмена динамики в процеÑÑе иÑполнениÑ;</li> <li> поÑтроение, на уровне пользователÑ, новых шаблонных кадров и формирование Ñпециализированных, под облаÑÑ‚ÑŒ применениÑ, библиотек кадров (например, включение кадров параметров, графиков и других Ñлементов Ñ ÑƒÐ²Ñзкой их друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼), ÑоглаÑно идее вторичного иÑпользованиÑ, Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸Ñ Ð¸ ÑовершенÑтвованиÑ;</li> <li> поÑтроение новых пользовательÑких Ñлементов визуализации и формирование Ñпециализированных, под облаÑÑ‚ÑŒ применениÑ, библиотек кадров, ÑоглаÑно идее вторичного иÑпользованиÑ, Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸Ñ Ð¸ ÑовершенÑтвованиÑ;</li> <li> опиÑание логики новых шаблонных кадров и пользовательÑких Ñлементов визуализации как проÑтыми ÑвÑзÑми, так и лаконичным, полноценным Ñзыком пользовательÑкого программированиÑ;</li> <li> возможноÑÑ‚ÑŒ включение, в пользовательÑкие Ñлементы визуализации, функций (или кадров вычиÑÐ»ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹) объектной модели OpenSCADA, практичеÑки ÑвÑÐ·Ñ‹Ð²Ð°Ñ Ð¿Ñ€ÐµÐ´Ñтавление Ñ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚Ð¼Ð¾Ð¼ вычиÑлениÑ; например, Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð¸Ñ€ÑƒÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÑƒ моделей аппаратов ТП, Ð´Ð»Ñ Ð¿Ð¾Ñледующего визуального поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ ТП;</li> <li> разделение данных пользовательÑких интерфейÑов и интерфейÑов предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтих данных, позволÑющее Ñтроить Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² одной Ñреде, а иÑполнÑÑ‚ÑŒ во многих других (Qt, Web, ...);</li> <li> возможноÑÑ‚ÑŒ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº иÑполнÑющемуÑÑ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñу Ð´Ð»Ñ Ð½Ð°Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð¸ коррекции дейÑтвий; например, при обучении операторов и ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð·Ð° его дейÑтвиÑми в реальном времени;</li> <li> визуальное поÑтроение различных Ñхем Ñ Ð½Ð°Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ логичеÑких ÑвÑзей и поÑледующим централизованным иÑполнением в фоне — визуальное поÑтроение и иÑполнение математичеÑких моделей, логичеÑких Ñхем, релейных Ñхем и иного;</li> <li> предоÑтавление, в OpenSCADA, функций объектного API; может иÑпользоватьÑÑ Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑвойÑтвами интерфейÑа визуализации из пользовательÑких процедур;</li> <li> поÑтроение Ñерверов длÑ: кадров, Ñлементов визуализации и проектов интерфейÑов визуализации; Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñтью обÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтвенных клиентÑких Ñоединений;</li> <li> проÑÑ‚Ð°Ñ Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñких Ñтанций на различной оÑнове (Qt, Web, ...), Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸ÐµÐ¼ к центральному Ñерверу;</li> <li> полноценный механизм Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ð¾Ñ‡Ð¸Ð¹ между пользователÑми, позволÑющий Ñоздавать и иÑполнÑÑ‚ÑŒ проекты Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ правами доÑтупа к его компонентам;</li> <li> гибкое формирование правил Ñигнализаций и уведомлениÑ, Ñ ÑƒÑ‡Ñ‘Ñ‚Ð¾Ð¼ и поддержкой различных ÑпоÑобов уведомлениÑ;</li> <li> поддержка пользовательÑкого Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ð»Ð¸Ñ‚Ñ€Ñ‹ и шрифтовых предпочтений интерфейÑа визуализации, в ÑтилÑÑ…;</li> <li> поддержка пользовательÑкого Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ñ€Ñ‚ Ñобытий под различное оборудование ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ пользовательÑкие предпочтениÑ;</li> <li> поддержка профилей пользователей, позволÑÑŽÑ‰Ð°Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑÑ‚ÑŒ различные ÑвойÑтва интерфейÑа визуализации (Ñ†Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ð³Ð°Ð¼Ð¼Ð°, шрифтовые оÑобенноÑти, предпочтительные карты Ñобытий);</li> <li> гибкое хранение и раÑпроÑтранение библиотек виджетов, кадров и проектов интерфейÑов визуализации в БД, поддерживаемых OpenSCADA; практичеÑки, пользователю нужно только зарегиÑтрировать полученную БД Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸.</li></ul> <p><br /> </p> <h2><span class="mw-headline" id=".D0.98.D0.BD.D1.81.D1.82.D1.80.D1.83.D0.BC.D0.B5.D0.BD.D1.82_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D1.84.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B0_.D0.A1.D0.92.D0.A3"><span class="mw-headline-number">2</span> ИнÑтрумент графичеÑкого Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа СВУ</span></h2> <p>Разработка интерфейÑа СВУ выполнÑетÑÑ Ð² одном окне, реализующем многодокументный Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ (MDI) (риÑ.2.a). Данный подход позволÑет одновременно открывать неÑколько кадров различных размеров. ИÑпользованы Ñледующие механизмы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¾Ð¹: панели инÑтрументов, пункты меню и контекÑтное меню. БольшинÑтво дейÑтвий дублируютÑÑ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸ механизмами, что позволÑет быÑтро найти инÑтрумент удобным ÑпоÑобом. Ðавигационные интерфейÑÑ‹ реализованы приÑоединÑемыми окнами. ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð°Ð½ÐµÐ»ÐµÐ¹ инÑтрументов и приÑоединÑемых окон ÑохранÑетÑÑ Ð¿Ñ€Ð¸ выходе и воÑÑтанавливаетÑÑ Ð¿Ñ€Ð¸ Ñтарте, что позволÑет наÑтраивать Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð´ ÑебÑ. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1007px;"><a class="image" href="http://oscada.org/wiki/File:Vision_win_ru.png"><img class="thumbimage" height="582" src="../files/Vision_win_ru.png" width="1005" /></a> <div class="thumbcaption">РиÑ.2.a. Окно разработки интерфейÑов СВУ.</div></div></div></div> <p>Access to major components of the VCA is made by attached windows, in the Figure 2.a these windows are shown on the left side. These windows contain: </p> <ul><li> Tree of the widgets libraries. Using the navigator you can quickly find the needed widget or library and to do with them necessary operations. The following operations are implemented: add, delete, copy, call for settings of the widgets and libraries, cleaning and call for visual editing of the widget. For flexible control, the context menu is supported with the following items: <ul><li> "New library" — creation of the new library.</li> <li> "Add visual item" — adding of the visual element to the library-widget.</li> <li> "... from the Library" — submenu of adding of the visual element from other libraries to the library-widget.</li> <li> "Delete visual item" — deleting of the visual element from the library.</li> <li> "Clear visual item changes" — clearing of the visual element with the inheritance of modified properties or setting them by default.</li> <li> "Lower down visual item changes" — lowering down of the visual element changes to the parent, that will be used by other inheritances.</li> <li> "Properties of the visual item" — call for configuration of the visual element.</li> <li> "Edit visual item" — call visual editing of the element.</li> <li> "Copy visual item" — copy of the visual element, at the time of paste.</li> <li> "Cut visual item" — cut-move of the visual element, at the time of paste.</li> <li> "Paste visual item" — paste of the visual element.</li> <li> "Load from DB" — uploading data of the visual element from the database.</li> <li> "Save to DB" — saving data of the visual element to the database.</li> <li> "Manual on ..." — call manual on the selected library.</li> <li> "Refresh libraries" — rereading of the configuration and composition of the libraries from the data model.</li></ul></li> <li> Tree of the projects pages. Provides the mechanism for "Drag and drop" for creation of the user frames based on the libraries elements. For flexible control, the context menu is supported with the following items: <ul><li> "Run project" — starting up of the chosen project execution.</li> <li> "New project" — creation of the new project.</li> <li> "Add visual item" — adding of the visual element to the project-page.</li> <li> "... from the Library" — submenu of adding of the visual element from other libraries to the project-page.</li> <li> "Delete visual item" — deleting of the visual element from the project-page.</li> <li> "Clear visual item changes" — clearing of the visual element with the inheritance of modified properties or setting them by default.</li> <li> "Lower down visual item changes" — lowering down of the visual element changes to the parent, that will be used by other inheritances.</li> <li> "Properties of the visual item" — call for configuration of the visual element.</li> <li> "Edit visual item" — call visual editing of the element.</li> <li> "Copy visual item" — copy of the visual element, at the time of paste.</li> <li> "Cut visual item" — cut-move of the visual element, at the time of paste.</li> <li> "Paste visual item" — paste of the visual element.</li> <li> "Load from DB" — uploading data of the visual element from the database.</li> <li> "Save to DB" — saving data of the visual element to the database.</li> <li> "Refresh projects" — rereading of the configuration and composition of the projects from the data model.</li></ul></li> <li> Control panel of the widget attributes;</li> <li> Control panel of the widget links.</li></ul> <p>Ð’ оÑновном проÑтранÑтве рабочего окна размещаютÑÑ Ð¾ÐºÐ½Ð° Ñтраниц проектов, кадров библиотек виджетов, пользовательÑких Ñлементов и Ñлементов примитивов на момент их визуального редактированиÑ. </p><p>Ðаверху рабочего окна ÑодержитÑÑ Ð¼ÐµÐ½ÑŽ. Ð’ меню размещены вÑе инÑтрументы, необходимые Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ интерфейÑов СВУ. Меню имеет Ñледующую Ñтруктуру: </p> <ul><li> "Файл" — Общие операции. <ul><li> "Загрузить из БД" — загрузка данных визуального Ñлемента из БД.</li> <li> "Принудительно загрузить из БД" — Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° данных визуального Ñлемента из БД, не только когда изменено.</li> <li> "Сохранить в БД" — Ñохранение данных визуального Ñлемента в БД.</li> <li> "Принудительно Ñохранить в БД" — принудительное Ñохранение данных визуального Ñлемента в БД, не только когда изменено.</li> <li> "Закрыть" — закрытие окна редактора.</li> <li> "Выход" — выход из программы.</li></ul></li> <li> "Редактирование" — Операции Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ… Ñлементов. <ul><li> "Отменить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñлемента" — оÑущеÑтвление отмены(отката) поÑледних изменений визуального Ñлемента.</li> <li> "Повторить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñлемента" — оÑущеÑтвление повтора изменений визуального Ñлемента.</li> <li> "Копировать визуальный Ñлемент" — копирование визуального Ñлемента, в момент вÑтавки.</li> <li> "Вырезать визуальный Ñлемент" — вырезание-перемещение визуального Ñлемента, в момент вÑтавки.</li> <li> "Ð’Ñтавить визуальный Ñлемент" — вÑтавка визуального Ñлемента.</li></ul></li> <li> "Проект" — Операции над проектами. <ul><li> "ЗапуÑтить проект" — запуÑк иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ проекта.</li> <li> "Ðовый проект" — Ñоздание нового проекта.</li> <li> "Добавить визуальный Ñлемент" — добавление визуального Ñлемента в проект.</li> <li> "Удалить визуальный Ñлемент" — удаление визуального Ñлемента из проекта.</li> <li> "ОчиÑтить визуальный Ñлемент" — очиÑтка визуального Ñлемента Ñ Ð½Ð°Ñледованием изменённых ÑвойÑтв или уÑтановкой их по умолчанию.</li> <li> "ОпуÑтить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñлемента" — опуÑкание изменений визуального Ñлемента к его родителю, которые будут иÑпользованы другими наÑледующими.</li> <li> "СвойÑтва визуального Ñлемента" — вызов конфигурации визуального Ñлемента.</li> <li> "Редактировать визуальный Ñлемент" — вызов визуального Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлемента.</li></ul></li> <li> "Виджет" — Операции над виджетами и библиотеками виджетов. <ul><li> "ÐÐ¾Ð²Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°" — Ñоздание новой библиотеки.</li> <li> "Добавить визуальный Ñлемент" — добавление визуального Ñлемента в библиотеку.</li> <li> "Удалить визуальный Ñлемент" — удаление визуального Ñлемента из библиотеки.</li> <li> "ОчиÑтить визуальный Ñлемент" — очиÑтка визуального Ñлемента Ñ Ð½Ð°Ñледованием изменённых ÑвойÑтв или уÑтановкой их по умолчанию.</li> <li> "ОпуÑтить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñлемента" — опуÑкание изменений визуального Ñлемента к его родителю, которые будут иÑпользованы другими наÑледующими.</li> <li> "СвойÑтва визуального Ñлемента" — вызов конфигурации визуального Ñлемента.</li> <li> "Редактировать визуальный Ñлемент" — вызов визуального Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлемента.</li> <li> "Вид" — управление раÑположением визуальных Ñлементов на кадрах. <ul><li> "ПоднÑÑ‚ÑŒ" — поднÑтие виджета выше.</li> <li> "ОпуÑтить" — опуÑкание виджета ниже.</li> <li> "ПоднÑÑ‚ÑŒ наверх" — поднÑтие виджета на Ñамый верх.</li> <li> "ОпуÑтить вниз" — опуÑкание виджета на Ñамый низ.</li> <li> "ВыравнÑÑ‚ÑŒ Ñлева" — выравнивание виджета Ñлева.</li> <li> "ВыровнÑÑ‚ÑŒ в центре вертикально" — выравнивание виджета вертикально в центре.</li> <li> "ВыровнÑÑ‚ÑŒ Ñправа" — выравнивание виджета Ñправа.</li> <li> "ВыровнÑÑ‚ÑŒ Ñверху" — выравнивание виджета Ñверху.</li> <li> "ВыровнÑÑ‚ÑŒ в центре горизонтально" — выравнивание виджета горизонтально в центре.</li> <li> "ВыровнÑÑ‚ÑŒ Ñнизу" — выравнивание виджета Ñнизу.</li></ul></li> <li> "Библиотека: {Ð˜Ð¼Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸}" — пункты меню доÑтупа к кадрам-виджетам, ÑодержащимÑÑ Ð² библиотеке.</li></ul></li> <li> "Окно" — Управление MDI окнами. <ul><li> "Закрыть" — закрытие активное окно.</li> <li> "Закрыть вÑе" — закрытие вÑех окон.</li> <li> "Уложить" — укладка вÑех окон Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ видимоÑти.</li> <li> "КаÑкадировать" — раÑположение вÑех окон каÑкадом.</li> <li> "Следующее" — Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ Ñледующего окна.</li> <li> "Предыдущее" — Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ окна.</li> <li> "Виджет: {Ð˜Ð¼Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð°}" — пункты активации конкретного окна.</li></ul></li> <li> "Вид" — Управление видимоÑтью рабочего окна и панелей на нём. <ul><li> "ВеÑÑŒ Ñкран" — развертывание рабочего окна на веÑÑŒ Ñкран.</li> <li> "Панель визуальных Ñлементов" — панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ Ñлементами.</li> <li> "Функции Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð¾Ð²" — панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ñположением виджетов на кадре.</li> <li> "ИнÑтрументы Ñлементарных фигуры" — Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ инÑтрументов Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼Ð¸Ñ‚Ð¸Ð²Ð° Ñлементарной фигуры ("ElFigure").</li> <li> "Проекты" — пришвартованное окно ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´ÐµÑ€ÐµÐ²Ð¾Ð¼ проектов.</li> <li> "Виджеты" — пришвартованное окно ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´ÐµÑ€ÐµÐ²Ð¾Ð¼ библиотек виджетов.</li> <li> "Ðтрибуты" — пришвартованное окно диÑпетчера атрибутов.</li> <li> "СвÑзи" — пришвартованное окно диÑпетчера ÑвÑзей.</li> <li> "Библиотека: {Ð˜Ð¼Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸}" — управление видимоÑтью панелей библиотек виджетов.</li></ul></li> <li> "Помощь" — Помощь по OpenSCADA и Ñтому модулю. <ul><li> "Про" — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ данный модуль.</li> <li> "Про Qt" — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ библиотеке Qt, иÑпользуемой модулем.</li> <li> "РуководÑтво на 'Vision'" — вызов руководÑтва на Ñтот модуль.</li> <li> "РуководÑтво на 'VCAEngine'" — вызов руководÑтва на движок Ñреды визуализации и управлениÑ.</li> <li> "РуководÑтво на 'OpenSCADA 0.9.0'" — вызов руководÑтва на OpenSCADA в целом.</li> <li> "РуководÑтво на ..." — вызов руководÑтва на выбранную библиотеку.</li> <li> "Что Ñто" — Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñлементов интерфейÑа окна.</li></ul></li> <li> "QTStarter" — Пункт меню, Ñозданный модулем запуÑка модулей библиотеки Qt. Содержит кнопки запуÑка UI модулей OpenSCADA, оÑнованных на библиотеке Qt. С помощью Ñтого пункта можно открыть неÑколько ÑкземплÑров окон данного Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¸Ð»Ð¸ других модулей.</li></ul> <p>Сверху, под меню, или по Ñторонам раÑполагаютÑÑ Ð¿Ð°Ð½ÐµÐ»Ð¸ инÑтрументов. Панели могут быть Ñкрыты или раÑположены, что управлÑетÑÑ Ð² пункте меню "Вид". ПредуÑмотрены Ñледующие панели инÑтрументов: </p> <ul><li> "Панель визуальных Ñлементов" — Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ Ñлементами: <ul><li> "ЗапуÑк иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ Ñлемента" — производит запуÑк проекта на иÑполнение и активацию выбранной Ñтраницы проекта.</li> <li> "Загрузить данные Ñлемента из БД" — выполнÑет загрузку данных выбранного(Ñ‹Ñ…) Ñлемента из БД.</li> <li> "Сохранить данные Ñлемента в БД" — выполнÑет Ñохранение данных выбранного(Ñ‹Ñ…) Ñлемента в БД.</li> <li> "Ðовый проект" — Ñоздание нового проекта.</li> <li> "ÐÐ¾Ð²Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° виджетов" — Ñоздание новой библиотеки виджетов.</li> <li> "Добавить визуальный Ñлемент" — добавление визуального Ñлемента.</li> <li> "Удалить визуальный Ñлемент" — удаление визуального Ñлемента.</li> <li> "СвойÑтва визуального Ñлемента" — вызов конфигурации визуального Ñлемента.</li> <li> "Редактировать визуальный Ñлемент" — вызов визуального Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлемента.</li> <li> "Отменить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñлемента" — оÑущеÑтвление отмены(отката) поÑледних изменений визуального Ñлемента.</li> <li> "Повторить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñлемента" — оÑущеÑтвление повтора изменений визуального Ñлемента.</li> <li> "Копировать визуальный Ñлемент" — копирование визуального Ñлемента, в момент вÑтавки.</li> <li> "Вырезать визуальный Ñлемент" — вырезание-перемещение визуального Ñлемента, в момент вÑтавки.</li> <li> "Ð’Ñтавить визуальный Ñлемент" — вÑтавка визуального Ñлемента.</li></ul></li> <li> "Функции Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð¾Ð²" — Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ñположением виджетов на кадре: <ul><li> "ПоднÑÑ‚ÑŒ" — поднÑтие виджета выше.</li> <li> "ОпуÑтить" — опуÑкание виджета ниже.</li> <li> "ПоднÑÑ‚ÑŒ наверх" — поднÑтие виджета на Ñамый верх.</li> <li> "ОпуÑтить вниз" — опуÑкание виджета на Ñамый низ.</li> <li> "ВыравнÑÑ‚ÑŒ Ñлева" — выравнивание виджета Ñлева.</li> <li> "ВыровнÑÑ‚ÑŒ в центре вертикально" — выравнивание виджета вертикально в центре.</li> <li> "ВыровнÑÑ‚ÑŒ Ñправа" — выравнивание виджета Ñправа.</li> <li> "ВыровнÑÑ‚ÑŒ Ñверху" — выравнивание виджета Ñверху.</li> <li> "ВыровнÑÑ‚ÑŒ в центре горизонтально" — выравнивание виджета горизонтально в центре.</li> <li> "ВыровнÑÑ‚ÑŒ Ñнизу" — выравнивание виджета Ñнизу.</li></ul></li> <li> "ИнÑтрументы Ñлементарных фигуры" — Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ инÑтрументов Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼Ð¸Ñ‚Ð¸Ð²Ð° Ñлементарной фигуры ("ElFigure"): <ul><li> "Возврат курÑора" — возврат к курÑору Ð´Ð»Ñ Ð´ÐµÐ¹Ñтвий над фигурами на виджете.</li> <li> "Добавить линию" — добавление линии к Ñлементарной фигуре.</li> <li> "Добавить дугу" — добавление дуги к Ñлементарной фигуре.</li> <li> "Добавить кривую Безье" — добавление кривой Безье к Ñлементарной фигуре.</li> <li> "ПривÑзки" — включение привÑзок у Ñлементарной фигуры.</li></ul></li> <li> "Библиотека: {Ð˜Ð¼Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸}" — Содержимое панели завиÑит от Ñодержимого библиотеки и включает кнопки вызова Ñлементов библиотеки.</li></ul> <p>Внизу окна разработки СВУ раÑполагаетÑÑ Ñтрока ÑтатуÑа. С правой Ñтороны Ñтроки ÑтатуÑа размещаютÑÑ Ð¸Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ñ‹ визуального маÑштаба редактируемого кадра, режима Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° Ñлементов, режима текущей Ñтанции движка СВУ и пользователÑ, от имени которого ведётÑÑ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° интерфейÑа СВУ. По двойному клику на индикаторе Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñменить, Ð²Ð²ÐµÐ´Ñ Ð½Ð¾Ð²Ð¾Ðµ Ð¸Ð¼Ñ Ð¸ пароль пользователÑ. Ð’ главное поле Ñтроки ÑтатуÑа выводÑÑ‚ÑÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ информационные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸. </p><p>Ð”Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв визуальных Ñлементов предуÑмотрено два диалога. Первый диалог позволÑет редактировать ÑвойÑтва контейнеров визуальных Ñлементов (риÑ.2.b) — библиотек виджетов и проектов. Второй диалог Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв Ñамих визуальных Ñлементов (риÑ.2.d). ИзменениÑ, внеÑённые в диалогах, Ñразу-же попадают в движок СВУ. Ð”Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñтих Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² БД, или воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð· БД, необходимо воÑпользоватьÑÑ ÑоответÑтвующими инÑтрументами главного окна разработки. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:712px;"><a class="image" href="http://oscada.org/wiki/File:Vision_wlbpg.png"><img class="thumbimage" height="635" src="../../en/files/Vision_wlbpg.png" width="710" /></a> <div class="thumbcaption">РиÑ.2.b. Диалог Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв контейнеров визуальных Ñлементов.</div></div></div></div> <p>With the help of the main tab of that dialog you can obtain: </p> <ul><li> State of the elements' container, that is: "Enabled", storage of the container (with tracking the availability of the data in different storages and providing the sequentially removing duplicates), usage counter, date and time of the last modification.</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> The objects still support of specifying the spare storage addresses with tables before you rename the table in the standard form "<b>wlb_{ObjID}</b>" for the widget libraries and "<b>prj_{ObjID}</b>" for the projects.</dd></dl> <ul><li> Identifier, name and description of the container.</li> <li> For the project:</li></ul> <dl><dd><ul><li> user, group of users and the access for: user, users' group and all other;</li> <li> period of the project calculating in the execution.</li></ul></dd></dl> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:883px;"><a class="image" href="http://oscada.org/wiki/File:Vision_wlbpg_diag_ru.png"><img class="thumbimage" height="394" src="../files/Vision_wlbpg_diag_ru.png" width="881" /></a> <div class="thumbcaption">РиÑ.2.Ñ. Вкладка "ДиагноÑтика" проекта.</div></div></div></div> <p>Ð’ Ñтой вкладке вы можете, Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑтичеÑких Ñообщений: выбрать времÑ, оÑвежить к текущему времени и выбрать размер-глубину. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:616px;"><a class="image" href="http://oscada.org/wiki/File:Vision_wdg.png"><img class="thumbimage" height="789" src="../../en/files/Vision_wdg.png" width="614" /></a> <div class="thumbcaption">РиÑ.2.d. Диалог Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв визуальных Ñлементов.</div></div></div></div> <p>With the help of the main tab of that dialog you can obtain: </p> <ul><li> State of the element; for information: "Enabled", counter of the use, date of the last modification, state of the calculation procedure; for control: icon, "Enabled", the page type (for pages), parent element.</li> <li> Identifier, root, path, name and description of the element.</li> <li> Periodic processing in milliseconds — for common control of the periodic processing of any element including ones who have not any calculation procedure, but that value can be used in the cascade for child elements. There reserved the special values: <ul><li> <b>0</b> — you want periodic processing with the session period;</li> <li> <b>-1</b> — you want to use processing period of the parent widget/page/project in the cascade;</li> <li> <b>-2</b> — for disable the periodic processing in whole.</li></ul></li></ul> <p>Диалог Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв контейнеров визуальных Ñлементов Ñодержит две вкладки: вкладку конфигурации оÑновных параметров (риÑ.2.b) и вкладку конфигурации реÑурÑов контейнеров (риÑ.2.e). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:544px;"><a class="image" href="http://oscada.org/wiki/File:Vision_wlbpg_mime_ru.png"><img class="thumbimage" height="632" src="../files/Vision_wlbpg_mime_ru.png" width="542" /></a> <div class="thumbcaption">РиÑ.2.e. Вкладка Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÑурÑов контейнера визуальных Ñлементов.</div></div></div></div> <p>Dialogue of editing the properties of the visual elements contains four tabs: configuration tab of the main parameters (Fig.2.b), tab of the element attributes (Fig.2.f), tab of the element processing (Fig.2.g) and tab of the element links (Fig.2.h). At different levels of the visual elements hierarchy some tabs can be available, but some are not. <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> The attribute name's rows in the "Processing" tab after the first one treat as help. </p><p>ТекÑтовые Ð¿Ð¾Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² поддерживают подÑветку ÑинтакÑиÑа, правила которой передаютÑÑ Ð² виде регулÑрных выражений из интерфейÑа ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ могут быть вÑтроены в значение текÑта как комментарий в <a href="../../en/API.html#SnthHgl" title="Special:MyLanguage/Documents/API">XML-теге "SnthHgl"</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:658px;"><a class="image" href="http://oscada.org/wiki/File:Vision_wdg_attr_ru.png"><img class="thumbimage" height="553" src="../files/Vision_wdg_attr_ru.png" width="656" /></a> <div class="thumbcaption">РиÑ.2.f. Вкладка атрибутов диалога Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв визуального Ñлемента.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:755px;"><a class="image" href="http://oscada.org/wiki/File:Vision_wdg_prc_ru.png"><img class="thumbimage" height="664" src="../files/Vision_wdg_prc_ru.png" width="753" /></a> <div class="thumbcaption">РиÑ.2.g. Вкладка обработки диалога Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв визуального Ñлемента.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:683px;"><a class="image" href="http://oscada.org/wiki/File:Vision_wdg_lnk_ru.png"><img class="thumbimage" height="578" src="../files/Vision_wdg_lnk_ru.png" width="681" /></a> <div class="thumbcaption">РиÑ.2.h. Вкладка ÑвÑзей диалога Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв визуального Ñлемента.</div></div></div></div> <h3><span class="mw-headline" id=".D0.A1.D1.82.D0.B8.D0.BB.D0.B8"><span class="mw-headline-number">2.1</span> Стили</span></h3> <p>ИзвеÑтно, что человек может иметь индивидуальные оÑобенноÑти воÑприÑÑ‚Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкой информации. ЕÑли Ñти оÑобенноÑти не учитывать то можно получить неприÑтие и отторжение Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ðº интерфейÑу ВУ. Такое неприÑтие и отторжение может привеÑти к фатальным ошибкам при управлении ТП, а также травмировать человека поÑтоÑнной работой Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñом. Ð’ SCADA ÑиÑтемах принÑÑ‚Ñ‹ ÑоглашениÑ, которые регламентируют Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ Ñозданию унифицированного интерфейÑа ВУ, нормально воÑпринимаемого большинÑтвом людей. При Ñтом, практичеÑки отÑутÑтвует учёт оÑобенноÑтей людей Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ отклонениÑми. </p><p>С целью учеÑÑ‚ÑŒ Ñто обÑтоÑтельÑтво, и предоÑтавить возможноÑÑ‚ÑŒ централизованно и проÑто изменÑÑ‚ÑŒ визуальные ÑвойÑтва интерфейÑа, проектом реализуетÑÑ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ€ Ñтилей интерфейÑа визуализации. </p><p>Пользователем может быть Ñоздано множеÑтво Ñтилей, каждый из которых будет хранить цветовые, шрифтовые и другие ÑвойÑтва Ñлементов кадра. ПроÑÑ‚Ð°Ñ Ñмена ÑÑ‚Ð¸Ð»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ быÑтро преобразить Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð’Ð£, а возможноÑÑ‚ÑŒ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ ÑÑ‚Ð¸Ð»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ учеÑÑ‚ÑŒ его оÑобенноÑти. </p><p>Ð”Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ Ñтой возможноÑти, при Ñоздании кадров, необходимо Ð´Ð»Ñ ÑвойÑтв цвета, шрифта и других уÑтановить параметр "КонфигурациÑ" (таблицы во вкладке "Обработка") в значение "Из ÑтилÑ". Рв параметре "Конфигурационный шаблон" указать идентификатор Ð¿Ð¾Ð»Ñ ÑтилÑ. Далее, Ñто поле автоматичеÑки поÑвитÑÑ Ð² менеджере Ñтилей и его можно будет там менÑÑ‚ÑŒ. Менеджер Ñтилей доÑтупен на Ñтранице конфигурации проекта во вкладке "Стили". Ðа Ñтой вкладке можно Ñтили Ñоздавать, удалÑÑ‚ÑŒ и изменÑÑ‚ÑŒ, удалÑÑ‚ÑŒ их полÑ. </p> <div class="center"><div class="floatnone"><a class="image" href="http://oscada.org/wiki/File:Vision_prj_stl.png"><img alt="Vision prj stl.png" height="603" src="../../en/files/Vision_prj_stl.png" width="418" /></a></div></div> <p>In general, the styles are available from the project level. At the level of the widget libraries you can only define the style fields for the widgets. At the project level, at the choice of style, it is started the work with styles, which includes access to the fields of styles instead of direct attribute values. In fact, this means that when reading or writing a widget attribute these operations will be carried out with the corresponding field of the chosen style. The configuration field "Write to style in the execution context" allows of dynamic changing the style fields in the execution context by writing to the proper attributes, but that can be done in wrong, so that is why the field is disabled by default. </p><p>When starting a project, the project-style will be used. The user can choose a style from the list of available styles of the running project. The user-selected style will be saved and used in next time the project is launched. </p><p><br /> </p> <h3><span class="mw-headline" id=".D0.A1.D0.B2.D1.8F.D0.B7.D1.8B.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D0.B8.D0.BA.D0.BE.D0.B9"><span class="mw-headline-number">2.2</span> СвÑзывание Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÐ¾Ð¹</span></h3> <p>Ð”Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ актуальных данных, должны иÑпользоватьÑÑ Ð´Ð°Ð½Ð½Ñ‹Ðµ подÑиÑтемы "Сбор данных (DAQ)". Природа Ñтих данных ÑледующаÑ: </p> <ol><li> параметры, Ñодержащие некоторое количеÑтво атрибутов;</li> <li> атрибуты параметра могут предоÑтавлÑÑ‚ÑŒ данные пÑти типов: ЛогичеÑкий, Целый, ВещеÑтвенный, Строковый и Объект;</li> <li> атрибуты параметра могут иметь архив (иÑторию);</li> <li> атрибуты параметра могут быть на чтение, запиÑÑŒ и Ñ Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ доÑтупом.</li></ol> <p>Ð£Ñ‡Ð¸Ñ‚Ñ‹Ð²Ð°Ñ Ð¿ÐµÑ€Ð²Ñ‹Ð¹ пункт, нужно обеÑпечить возможноÑÑ‚ÑŒ группового Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑÑылки. Ð”Ð»Ñ Ñтого иÑпользуем <a href="../DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">концепцию логичеÑкого уровнÑ</a>. </p><p>СвÑзи обеÑпечивают прозрачное преобразование типов и не требуют Ñпециальной конфигурации. </p><p>Ð”Ð»Ñ ÑƒÐ´Ð¾Ð²Ð»ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти доÑтупа к архивам ÑвÑзи выполнÑÑŽÑ‚ проверку типа атрибута и, в Ñлучае Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº "ÐдреÑу", в значение помещаетÑÑ Ð°Ð´Ñ€ÐµÑ ÑвÑзи. </p><p>Ð’ терминах СВУ, динамичеÑкие ÑвÑзи и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÐ¸ ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð´Ð½Ð¸Ð¼ процеÑÑом, Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ которого предуÑматриваетÑÑ Ð²ÐºÐ»Ð°Ð´ÐºÐ° "Обработка" виджетов (риÑ.2.f). Вкладка Ñодержит таблицу конфигурации ÑвойÑтв атрибутов и текÑÑ‚ процедуры вычиÑÐ»ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð°. </p><p>Кроме полей конфигурации атрибутов, в таблице предуÑматриваетÑÑ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ° "Обработка", Ð´Ð»Ñ Ð¸Ð·Ð±Ð¸Ñ€Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² в вычиÑлительной процедуре виджета, и колонки "КонфигурациÑ", "Конфигурационный шаблон" Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ ÑвÑзей. </p><p>Колонка "КонфигурациÑ" позволÑет указать тип ÑвÑзи атрибута виджета: </p> <ul><li> <i>ПоÑтоÑннаÑ</i> — во вкладке ÑвÑзей виджета поÑвлÑетÑÑ Ð¿Ð¾Ð»Ðµ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑтоÑнной, например, оÑобого цвета или заголовка шаблонных кадров.</li> <li> <i>Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь</i> — ÑвÑзь Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÐ¾Ð¹ только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ.</li> <li> <i>Ð’Ñ‹Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь</i> — ÑвÑзь Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÐ¾Ð¹ только Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи.</li> <li> <i>ÐŸÐ¾Ð»Ð½Ð°Ñ ÑвÑзь</i> — Ð¿Ð¾Ð»Ð½Ð°Ñ ÑвÑзь Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÐ¾Ð¹, чтение и запиÑÑŒ.</li> <li> <i>Из ÑтилÑ</i> — брать значение из ÑÑ‚Ð¸Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°.</li></ul> <p>Колонка "Конфигурационный шаблон" позволÑет ÑвÑзать группы динамичеÑких атрибутов. Ðапример, Ñто могут быть разные типы параметров подÑиÑтемы "DAQ" и другие виджеты интерфейÑа. При корректном формировании Ñтого Ð¿Ð¾Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÐµÑ‚ механизм автоматичеÑкого Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð², при указании только параметра подÑиÑтемы "DAQ" или виджета интерфейÑа, что упрощает и уÑкорÑет процеÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸. Значение Ñтой колонки имеет Ñледующий формат: </p> <ul><li> <i>Ð”Ð»Ñ Ð¿Ð¾ÑтоÑнной:</i> прÑмое значение атрибута.</li> <li> <i>Ð”Ð»Ñ ÑвÑзи:</i> "<b>{параметр}|{идентификатор}</b>", где: <ul><li> <i>параметр</i> — группа атрибутов;</li> <li> <i>идентификатор</i> — идентификатор атрибута; именно значение в Ñтом поле ÑопоÑтавлÑетÑÑ Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ параметров DAQ поÑле ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð¾Ð¹ ÑвÑзи, при автоматичеÑком ÑвÑзывании;</li></ul></li> <li> <i>Ð”Ð»Ñ ÑтилÑ:</i> идентификатор-Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ ÑтилÑ.</li></ul> <p>УÑтановка ÑвÑзей может быть неÑкольких типов, который определÑетÑÑ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом: </p> <ul><li> <i>val:</i> — ПрÑÐ¼Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· механизм ÑвÑзей. Ðапример, ÑвÑзь "val:100" загружает значение 100 в атрибут виджета. ЧаÑто иÑпользуетÑÑ Ð² Ñлучае отÑутÑÑ‚Ð²Ð¸Ñ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð¹ точки ÑвÑзи, Ñ Ñ†ÐµÐ»ÑŒÑŽ прÑмой уÑтановки значениÑ.</li> <li> <i>prm:</i> — СвÑзь на атрибут параметра или параметр, в целом, Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ атрибутов подÑиÑтемы "Сбор данных". Ðапример, ÑвÑзь "prm:/LogicLev/experiment/Pi/var" оÑущеÑтвлÑет доÑтуп атрибута виджета к атрибуту параметра подÑиÑтемы "Сбор данных". Знак "(+)", в конце адреÑа, указывает на уÑпешную линковку и приÑутÑтвие целевого объекта. Ð”Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² объектного типа допуÑтим иерархичеÑкий доÑтуп к конкретному ÑвойÑтву объекта, путём ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÐµÐ³Ð¾ пути через Ñимвол '#', например: "prm:/LogicLev/experiment/Pi/var#pr1/pr2".</li> <li> <i>wdg:</i> — СвÑзь на атрибут другого виджета или виджет, в целом, Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ атрибутов. Ðапример, ÑвÑзь "wdg:/ses_AGLKS/pg_so/pg_1/pg_ggraph/pg_1/a_bordColor" оÑущеÑтвлÑет доÑтуп атрибута одного виджета к атрибуту другого. ПоддерживаютÑÑ ÐºÐ°Ðº абÑолютные, так и отноÑительные пути ÑвÑзей. Точкой отÑчёта адреÑа абÑолютной ÑвÑзи выÑтупает объект ÐºÐ¾Ñ€Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ "VCAEngine", а значит — первым Ñлементом абÑолютного адреÑа ÑвлÑетÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ ÑеанÑа или проекта. Первый Ñлемент, на Ñтороне ÑеанÑа, опуÑкаетÑÑ, поÑтому ÑвÑзи, уÑтановленные в проекте, там работают. ОтноÑительные ÑвÑзи берут отÑчёт от виджета, где ÑвÑзь указана. Специальным Ñлементом отноÑительной ÑвÑзи ÑвлÑетÑÑ Ñлемент вышеÑтоÑщего узла "..".</li> <li> <i>arh:</i> — ОÑобый тип ÑвÑзи, доÑтупный только Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ атрибута типа "ÐдреÑ", который позволÑет подключитьÑÑ Ð¿Ñ€Ñмо к архиву значений ("arh:CPU_load"). Может быть полезен Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð° в качеÑтве иÑточника данных примитива "Диаграмма".</li></ul> <p>Обработка ÑвÑзей проиÑходит Ñ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¸Ñ‡Ð½Ð¾Ñтью вычиÑÐ»ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð°, в порÑдке: </p> <ul><li> получение данных входных ÑвÑзей;</li> <li> выполнение вычиÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹ виджета;</li> <li> передача значений по выходным ÑвÑзÑм.</li></ul> <p>Ðа риÑунке 2.g предÑтавлена вкладка ÑвÑзей Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñтью группового и индивидуального назначением атрибутов. </p><p>При размещении виджета в контейнер виджетов вÑе ÑвÑзи иÑходного виджета добавлÑÑŽÑ‚ÑÑ Ð² ÑпиÑок результирующих ÑвÑзей контейнера виджетов, однако, только на глубину в один уровень вложениÑ. </p><p>Из вышеÑказанного видно, что ÑвÑзи уÑтанавливаютÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼ в процеÑÑе конфигурации интерфейÑа. Однако, Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ°Ð´Ñ€Ð¾Ð² общего Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ предоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´ÐµÑ‚Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… данных разных иÑточников одного типа, необходим механизм <span id="DynLink" title="#DynLink">динамичеÑкой уÑтановки ÑвÑзей</span>. Такой механизм предуÑматриваетÑÑ: </p> <ul><li> резервированием ключевого идентификатора "<b><page></b>" Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ атрибутов ÑвÑзей у кадров общего назначениÑ;</li> <li> динамичеÑким назначением ÑвÑзей Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ "<b><page></b>", в процеÑÑе Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÐºÐ°Ð´Ñ€Ð° общего Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñигналом от другого виджета.</li></ul> <p>РаÑÑмотрим пример, когда имеетÑÑ ÐºÐ°Ð´Ñ€ общего Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "Панель ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¼" и множеÑтво "Графиков" на разных кадрах. "Панель ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¼" имеет ÑвÑзи Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸: </p> <ul><li> tSek -> "<page>|tSek"</li> <li> tSize -> "<page>|tSize"</li> <li> trcPer -> "<page>|trcPer"</li> <li> valArch -> "<page>|valArch"</li></ul> <p>При Ñтом, каждый виджет "График" имеет атрибуты "tSek", "tSize", "trcPer" и "valArch". При вызове Ñигнала Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ "Панели ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¼" из любого виджета "График", проиÑходит ÑвÑÐ·Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² "Панели ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¼" Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ виджета "График", ÑоглаÑно шаблону. Как результат, вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð° "Панели ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¼" будут отражатьÑÑ Ð½Ð° графике, поÑредÑтвом Ñтих ÑвÑзей. </p><p>ЕÑли у виджета "График" приÑутÑтвуют внешние ÑвÑзи на параметры подÑиÑтемы "Сбор данных", ÑвÑзи "Панели ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¼" будут уÑтанавливатьÑÑ Ð½Ð° внешний иÑточник. Кроме того, еÑли у "Панели ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¼" будут заÑвлены ÑвÑзи на атрибуты, отÑутÑтвующие непоÑредÑтвенно у виджета "График", то будет производитÑÑ Ð¿Ð¾Ð¸Ñк Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ñ‚Ð°ÐºÐ¸Ñ… атрибутов у внешнего иÑточника — первого на который уÑтановлена прÑÐ¼Ð°Ñ ÑвÑзь, выполнÑÑ, тем Ñамым, дополнение недоÑтающих ÑвÑзей. </p><p>Ð”Ð»Ñ Ð½Ð°Ð³Ð»Ñдного Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñтого механизма приведена таблица. </p><p><b>Таблица.</b> Механизм динамичеÑкой линковки. </p> <table class="wikitable"> <tr> <th> Ðтрибуты "Панели ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¼" (шаблон динамичеÑкой ÑвÑзи) </th> <th> Ðтрибуты "Графика" </th> <th> Ðтрибуты внешнего "Параметра" </th> <th> Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ ÑвÑзь или значение ÑвÑзующегоÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° </th></tr> <tr> <td> tSek (<page>|tSek) </td> <td> tSek </td> <td> - </td> <td> "График".tSek </td></tr> <tr> <td> tSize (<page>|tSize) </td> <td> tSize </td> <td> - </td> <td> "График".tSize </td></tr> <tr> <td> trcPer (<page>|trcPer) </td> <td> trcPer </td> <td> - </td> <td> "График".trcPer </td></tr> <tr> <td> valArch (<page>|valArch) </td> <td> valArch </td> <td> - </td> <td> "График".valArch </td></tr> <tr> <td> var (<page>|var) </td> <td> var </td> <td> var </td> <td> "Параметр".var </td></tr> <tr> <td> ed (<page>|ed) </td> <td> - </td> <td> ed </td> <td> "Параметр".ed </td></tr> <tr> <td> max (<page>|max) </td> <td> - </td> <td> - </td> <td> EVAL </td></tr> <tr> <td> min (<page>|min) </td> <td> - </td> <td> - </td> <td> EVAL </td></tr></table> <p><br /> </p> <h3><span class="mw-headline" id="Visual_editing"><span class="mw-headline-number">2.3</span> Visual editing</span></h3> <p>Visual editing of opened frames in main space of the working window is performed mostly for <a href="#PrimBox">the Box primitive</a> or by inner specific editing for not container primitives like to <a href="#PrimElFigure">ElFigure</a>, entry to which performed at twice mouse click. </p><p>For any frames in the visual editor available only visually changing the geometry, what you can do by placing the mouse cursor to right and/or bottom edges of the frame and next move the edge whether by mouse, holding the left button, or by keyboard, pressing the arrow keys — the arrow keys clicking cause of the corresponding size changing at 5 pixels on 1x scale and holding the Shift key you get 1 pixel. You can also change the frame scaling in the same way but holding the key Ctrl or toggling of the size mode on the status panel right. </p><p>Visual editing of <a href="#PrimBox">the Box primitive</a> means of the children widgets APPENDING, REMOVING, MOVING, GEOMETRY CHANGING, SCALE CHANGING and PROPERTIES EDITING. </p><p>Only for the widgets APPENDING you need no other widgets selection on the frame, just select needed widget from the library on the toolbar, or drag and drop from the tree of the widgets libraries, and place that in a mouse position by clicking the left mouse button. To cancel the add operation from the library on the toolbar, click the right mouse button. </p><p>For other operations you need to select an available child widget or a group of them, so let's see all features of the selection: </p> <ul><li> SINGLE SELECTION — performed by single click the left mouse button above child widget, next click puts down the selection to widget under the previous one and up to this frame itself, unselecting child widgets. That is the widget stack transition at the fact.</li> <li> SELECTION BY WINDOW — performs the group selection of the child widgets by drawing a window around those widgets, starting the window from the left mouse button press on any unselected frame space and finishing on the button release.</li> <li> ADDITIVE SELECTION — you can append some child widgets to the selection holding the Shift key and performing whether single selection or by window. In the case of the single selection, the widget stack transition is turned off here, and instead triggering of the top widgets selection is actually turned on!</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> The selection is saved at the keyboard focus loss when pressing the left mouse button on the selection for return. </p><p>For REMOVING the selected widget or group of them you can press whether the toolbar or context menu button "Delete visual item", or the Ctrl+D key shortcut. </p><p>As a combination of the APPENDING and REMOVING there for the selected widget or group of them you can copy/cut by the corresponding toolbar or context menu button or by the keyboard shortcut Ctrl+C/X and next unselect all and paste by the corresponding toolbar or context menu button or by the keyboard shortcut Ctrl+V. </p><p>For MOVING you can the selected widget or group of them drag, by pressing the left mouse button on the selected area, move the mouse to need position and drop, by releasing the mouse button; or can use for that the arrow keys — the arrow keys clicking cause of the corresponding position coordinate changing at 5 pixels on 1x scale and holding the Shift key you get 1 pixel. </p><p>For the GEOMETRY CHANGING of the selected widget or group of them you can point the mouse cursor to a green dot of the selection representation and next move the dot whether by mouse, holding the left button, or by keyboard, pressing the arrow keys — the arrow keys clicking cause of the corresponding size changing at 5 pixels on 1x scale and holding the Shift key you get 1 pixel. You can perform the SCALE CHANGING of the selection in the same way but holding the key Ctrl or toggling of the size mode on the status panel right. The coordinates of individual widgets in the selection change according to the ratio of their position in this selection! </p><p>The PROPERTIES EDITING of the selected widget or group of them is not a graphical operation mostly and performed in the control panel of the widget attributes, but the child widgets selection is very useful as allows you to select a group widgets for next them properties editing in general. </p> <h2><span class="mw-headline" id=".D0.98.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.BE.D0.B2_.D0.A1.D0.92.D0.A3"><span class="mw-headline-number">3</span> <span id="RunTime" title="#RunTime">ИÑполнение интерфейÑов СВУ</span></span></h2> <p>ИÑполнение интерфейÑа СВУ заключаетÑÑ Ð² запуÑке нового ÑеанÑа проекта или подключении к ÑущеÑтвующему, на уровне движка СВУ. Далее, модуль непоÑредÑтвенной визуализации отражает и управлÑет данными ÑеанÑа. Главное окно режима иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¸Ð¼ÐµÐµÑ‚ вид, предÑтавленный на риÑунке 3. </p><p>Реализовано обновление Ñодержимого открытых Ñтраниц интерфейÑа визуализации Ñ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¸Ñ‡Ð½Ð¾Ñтью иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ ÑеанÑа проекта визуализации. Ð’ процеÑÑе Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÑетÑÑ: </p> <ul><li> Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñƒ модели ÑпиÑка открытых Ñтраниц, Ñ Ð¿Ñ€Ð¸Ð·Ð½Ð°ÐºÐ¾Ð¼ модификации Ñтраницы, и проверка ÑоответÑÑ‚Ð²Ð¸Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¾ открытых Ñтраниц Ñтому ÑпиÑку;</li> <li> Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð²ÐµÑ‚Ð²Ð¸ данных модифицированных Ñтраниц;</li> <li> обновление Ñодержимого модифицированных Ñтраниц и их виджетов в ÑоответÑтвии Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ измененными данными.</li></ul> <p>По закрытию окна "ИÑполнениÑ" производитÑÑ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ðµ ÑеанÑа проекта в модели данных, еÑли ÑÐµÐ°Ð½Ñ Ð½Ðµ фоновый и Ñто было поÑледнее подключение. </p><p>Механизм запроÑа только изменённых данных оÑнован на абÑолютном Ñчётчике иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑеÑÑии. При внеÑении реальных изменений в атрибуты виджетов выполнÑетÑÑ Ð·Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтого Ñчётчика, что и позволÑет идентифицировать изменённые атрибуты. Такой подход позволÑет повыÑить производительноÑÑ‚ÑŒ и уменьшить трафик, в Ñлучае доÑтупа к движку СВУ через Ñеть. </p><p>ИерархичеÑки, модулем предуÑматриваетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñтраниц проекта как на главном окне иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (риÑ.3), так и Ð²ÐºÐ»Ð°Ð´Ñ‹Ð²Ð°Ñ Ð²Ð½ÑƒÑ‚Ñ€ÑŒ виджетов контейнеров, а также путем Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ñ… окон поверх оÑновного. </p><p>При разворачивании главного окна иÑполнениÑ, или переходе в полноÑкранный режим, выполнÑетÑÑ Ð¼Ð°Ñштабирование Ñодержимого Ñтраницы интерфейÑа СВУ, заполнÑÑ Ð²ÑÑ‘ проÑтранÑтво окна и, позволÑÑ, тем Ñамым, иÑполнÑÑ‚ÑŒ проекты, разработанные на одном разрешении Ñкрана, на разных разрешениÑÑ…. </p><p>Главное окно ÑоÑтоит из меню (Ñверху) Ñтроки ÑтатуÑа (Ñнизу) и иÑполнÑемого Ñодержимого ÑеанÑа между ними. Меню, в режиме иÑполнениÑ, позиционируетÑÑ ÐºÐ°Ðº инÑтрумент админиÑтратора OpenSCADA, Ñодержащий общеÑиÑтемные функции, и доÑтупно только привилегированным пользователÑм, ÑоÑтоÑщим в группе "root". Меню имеет Ñледующую Ñтруктуру: </p> <ul><li> "Файл" — Общие операции. <ul><li> "Печать" — печать: <ul><li> "Страница" — Ñтраницу пользовательÑкого интерфейÑа;</li> <li> "Диаграмма" — диаграмму на пользовательÑком интерфейÑе;</li> <li> "Документ" — документ на пользовательÑком интерфейÑе.</li></ul></li> <li> "ÐкÑпорт" — ÑкÑпорт: <ul><li> "Страница" — Ñтраницу пользовательÑкого интерфейÑа, в изображение;</li> <li> "Диаграмма" — диаграмму на пользовательÑком интерфейÑе, в изображение и CSV;</li> <li> "Документ" — документ на пользовательÑком интерфейÑе, в HTML и CSV Ð´Ð»Ñ ÑкÑпортных таблиц;</li> <li> "Таблица" — таблица вида "Таблица" примитива "FormEl" на пользовательÑком интерфейÑе, в CSV.</li></ul></li> <li> "Закрыть" — закрыть окно редактора.</li> <li> "Выход" — выход из программы.</li></ul></li> <li> "Ðарушение" — ÐšÐ²Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ð¹: <ul><li> "Уровень нарушениÑ" — вÑе нарушениÑ;</li> <li> "Свет" — уведомление Ñветом;</li> <li> "Гудок" — уведомление гудком;</li> <li> "Звук/речь" — уведомление звуком/речью.</li></ul></li> <li> "Вид" — Параметры Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑеанÑа проекта. <ul><li> "ВеÑÑŒ Ñкран" — переключатель полноÑкранного режима иÑполнениÑ.</li></ul></li> <li> "Помощь" — Помощь по проекту СВУ, Ñтому модулю и OpenSCADA. <ul><li> "Про" — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ данный модуль.</li> <li> "Про Qt" — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ библиотеке Qt, иÑпользуемой модулем.</li> <li> "РуководÑтво проекта '{ИмÑ}'" — вызов руководÑтва на проект визуализации — файл Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ идентификатора проекта СВУ.</li> <li> "РуководÑтво на 'Vision'" — вызов руководÑтва на Ñтот модуль.</li> <li> "РуководÑтво на 'OpenSCADA 0.9.0'" — вызов руководÑтва на OpenSCADA в целом.</li></ul></li> <li> "QTStarter" — Пункт меню, Ñозданный модулем запуÑка модулей библиотеки Qt. Содержит кнопки запуÑка UI модулей OpenSCADA, оÑнованных на библиотеке Qt. С помощью Ñтого пункта можно открыть неÑколько ÑкземплÑров окон данного Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¸Ð»Ð¸ других модулей. Ð’ Ñлучае Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ð¼ иÑполнениÑ, Ñто меню позволÑет открыть окно разработки из иÑполнениÑ, повторным вызовом данного модулÑ.</li></ul> <p>On the status line locates: </p> <ul><li> On the right side: <ul><li> the clock, in the full-screen mode;</li> <li> the current VCA engine station;</li> <li> the current user, on whose behalf the VCA interface is executed — by a double-clicking this user can be changed, typing of the new username and password;</li> <li> the current interface style, which can be changed by a double-clicking.</li> <li> the panel with buttons: <ul><li> alarms quietance — by a click the violations can be quieted completely or just the desired type of the notification;</li> <li> export and print — calls by a click for the dialog of exporting and printing the default element or selected from the menu, where the export for: <ul><li> "Page" — page of the user interface, to image;</li> <li> "Diagram" — diagram on the user interface, to image and CSV;</li> <li> "Document" — document on the user interface, to HTML and CSV for exporting tables;</li> <li> "Table" — table of the "Table" view of the primitive "FormEl" on the user interface, to CSV and only for export.</li></ul></li> <li> manual on the VCA-project — calls by a click the manual on the visualization project for the file "<b>{ProjVCA_ID}.[pdf|html|odt]</b>" in <a href="../Program_manual.html#Config" title="Special:MyLanguage/Documents/Program manual">the document folder</a> or specified in the <a href="#SpecAttrs">"prjDoc" attribute</a>.</li></ul></li> <li> panel of user statuses and actions when specified in the <a href="#SpecAttrs">"statLine" attribute</a>; mouse clicking left, right and double forms events to the main interface page.</li></ul></li> <li> In the main field of the status line various messages and assistance messages are displayed.</li></ul> <p>Режим иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (Runtime) в значительной Ñтепени поддерживает многоÑзычноÑÑ‚ÑŒ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð·Ð°Ð²Ð¸Ñит от Ñзыка выбранного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ окна иÑполнениÑ, Ñ‚.е. еÑли вы измените Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ‚Ð¾ получите Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° другом Ñзыке Ñтого пользователÑ. Ðта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ÑÑ <a href="../Program_manual.html#ConfigTr" title="Special:MyLanguage/Documents/Program manual">динамичеÑким переводом Ñообщений OpenSCADA</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:Vision_run_ru.png"><img class="thumbimage" height="768" src="../files/Vision_run_ru.png" width="1037" /></a> <div class="thumbcaption">РиÑ.3. Главное окно режима иÑполнениÑ.</div></div></div></div> <h2><span class="mw-headline" id=".D0.9F.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B1.D0.B0.D0.B7.D0.BE.D0.B2.D1.8B.D1.85_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2_.28.D0.BF.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2.D0.BE.D0.B2.29"><span class="mw-headline-number">4</span> <span id="Primitives" title="#Primitives">ПредÑтавление базовых Ñлементов (примитивов)</span></span></h2> <p>Данной верÑией Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ‹ не вÑе образы примитивов, заложенные проектом. Ð’ целом, проектом заложены примитивы: </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ðаименование </th> <th> Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ </th></tr> <tr> <td> ElFigure </td> <td> ÐÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð½Ð°Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð° </td> <td> <p>Примитив ÑвлÑетÑÑ Ð¾Ñновой отриÑовки Ñлементарных графичеÑких фигур Ñо вÑевозможной комбинацией их в одном объекте. ПредуÑматриваетÑÑ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° Ñледующих Ñлементарных фигур: </p> <ul><li> ЛиниÑ.</li> <li> Дуга.</li> <li> ÐšÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ.</li> <li> Заливка замкнутого проÑтранÑтва.<br /></li></ul> <p>Ð”Ð»Ñ Ð²Ñех фигур, ÑодержащихÑÑ Ð² виджете, уÑтанавливаютÑÑ ÐµÐ´Ð¸Ð½Ñ‹Ðµ ÑвойÑтва толщины, цвета и Ñ‚.д., также, предуÑматриваетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð²Ñ‹ÑˆÐµÐ¿ÐµÑ€ÐµÑ‡Ð¸Ñленных атрибутов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ фигуры отдельно и их динамизациÑ. </p> </td></tr> <tr> <td> FormEl </td> <td> Ðлемент формы </td> <td> <p>Включает поддержку Ñтандартных компонентов формы: </p> <ul><li> Редактирование Ñтроки.</li> <li> Редактирование текÑта.</li> <li> Флажок.</li> <li> Кнопка.</li> <li> Выбор из ÑпиÑка.</li> <li> СпиÑок.</li> <li> Дерево.</li> <li> Таблица.</li> <li> Слайдер.</li> <li> Строка прокрутки. </li></ul> </td></tr> <tr> <td> Text </td> <td> ТекÑÑ‚ </td> <td> Ðлемент текÑта-метка. ХарактеризуетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼ шрифта, цветом, ориентацией и выравниванием. ПредуÑматриваетÑÑ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° аргументов. </td></tr> <tr> <td> Media </td> <td> Медиа </td> <td> Ðлемент Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ€Ð°Ñтровых и векторных изображений различных форматов, Ð¿Ñ€Ð¾Ð¸Ð³Ñ€Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… изображений, проигрывание аудио-фрагментов и проÑмотр видео-фрагментов. </td></tr> <tr> <td> Diagram </td> <td> Диаграмма </td> <td> Ðлемент диаграммы Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ возможноÑти Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½ÐµÑкольких потоков в реальном времени длÑ: трендов (временных графиков), чаÑтотного Ñпектра, XY диаграмм. </td></tr> <tr> <td> Protocol </td> <td> Протокол </td> <td> Ðлемент протокола — визуализатор Ñообщений программы, Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ неÑкольких режимов работы. </td></tr> <tr> <td> Document </td> <td> Документ </td> <td> Ðлемент Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð¾Ð², журналов и другой документации на оÑнове доÑтупных данных. </td></tr> <tr> <td> Box </td> <td> Контейнер </td> <td> Содержит механизм размещениÑ-Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… виджетов Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ…, более Ñложных, виджетов и Ñтраниц конечной визуализации. </td></tr> <tr> <td> Function, <span style="color: red">в планах</span> </td> <td> Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ API объектной модели OpenSCADA </td> <td> Ðевизуальный виджет, на Ñтороне иÑполнениÑ, позволÑющий включать вычиÑлительные функции объектной модели OpenSCADA в СВУ. </td></tr></table> <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> Ð”Ð»Ñ Ð²Ñех реализованных примитивов, кроме "FormEl", Ñтот модуль поддерживает уÑловную генерацию Ñобытий от манипулÑтора мыши по прозрачноÑти указанного пикÑелÑ, боле Ð½ÑƒÐ»Ñ â€” не Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ð¾ÑÑ‚ÑŒ. </p><p><span id="SpecAttrs" title="#SpecAttrs">The visualizer module provides and uses set of specific attributes</span> of the generic means, the information of which is given in the table. These attributes are automatically created by the visualizer in their absence and during the first run, or created by the user in the frame of the specified area, as needed. </p> <table class="wikitable"> <tr> <th> Identifier (area) </th> <th> Name </th> <th> Appointment </th></tr> <tr> <td> runWin (main page) </td> <td> Window of the execution </td> <td> <p>Setting the mode of the main window execution: </p> <ul><li> "Original size (0)".</li> <li> "Maximize (1)".</li> <li> "Full screen (2)". </li></ul> </td></tr> <tr> <td> keepAspectRatio (main page) </td> <td> Keep aspect ratio on scale </td> <td> Keep aspect ratio of the pages on scale. </td></tr> <tr> <td> stBarNoShow (main page) </td> <td> Do not show the status bar </td> <td> Hide the status bar of the main window. </td></tr> <tr> <td> winPosCntrSave (main page) </td> <td> Control and save for position of the windows </td> <td> Enabling the windows position control and save. </td></tr> <tr> <td> notify{N}, notifyVisVision{N} (page) </td> <td> Notification: type {N} </td> <td> <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> Create manually with the type "Text"! <p>Specifies a notifier and a procedure of the notification resource obtaining and the same notification, accordingly to the <a href="../Modules/VCAEngine.html#Alarms" title="Special:MyLanguage/Modules/VCAEngine">"Signalling (Alarms)" conception</a>. The notification performed in such priority — <b>notifyVisVision{N}</b> > <b>{Qt|Phonon}</b> > <b>notify{N}</b>. That is the <b>notifyVisVision{N}</b> is most priority, it overrides the <b>{Qt|Phonon}</b> notification and there you can implement very not ordinary notifications. </p> </td></tr> <tr> <td> statLine (main page) </td> <td> Status line items </td> <td> <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> Create manually with the type "Text"! <p>Text field with description of the status line item in the string form "<b>{Id}:{Label}:{ToolTip}:{Color}:{Img}</b>", where: </p> <ul><li> "Id" — identifier, uses also to form events from the widget "stIt_{Id}".</li> <li> "Label" — visual label of the status element.</li> <li> "ToolTip" — context help about the element.</li> <li> "Color" — label color.</li> <li> "Img" — image of the status element, instead the label.</li></ul> </td></tr> <tr> <td> userSetVis (main page) </td> <td> Setting the user </td> <td> <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> Create manually with the type "String"! <p>Change the user or call a dialog to select it. Variants of the value: </p> <ul><li> "*" — call for a selecting dialog of the user; </li> <li> "$" — change the user to the default one;</li> <li> "{user}[:{password}]" — direct change to <i>user</i> with <i>password</i>; for empty password, the user is changed only if its permission is lesser or equal and that is the local visualisation; a useful example of changing to the "user" after one minute inactivity:</li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 20pt"><pre><span class="k">if</span><span class="p">((</span><span class="nx">SYS</span><span class="p">.</span><span class="nx">time</span><span class="p">()</span><span class="o">-</span><span class="k">this</span><span class="p">.</span><span class="nx">ownerSess</span><span class="p">().</span><span class="nx">userActTm</span><span class="p">())</span> <span class="o"><</span> <span class="mi">60</span><span class="p">)</span><span class="nx">userSetVis</span> <span class="o">=</span> <span class="s2">""</span><span class="p">;</span> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">ownerSess</span><span class="p">().</span><span class="nx">reqUser</span><span class="p">()</span> <span class="o">!=</span> <span class="s2">"user"</span><span class="p">)</span> <span class="nx">userSetVis</span> <span class="o">=</span> <span class="s2">"user:user"</span><span class="p">;</span> </pre></div> </td></tr> <tr> <td> prjDoc (main page) </td> <td> Project document </td> <td> <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> Create manually with the type "String"! <p>Specifying the project documentation of call from the status line's button with a possibility of disabling-concealing the button at empty value. The documentation specified in view "<b>{OffLine}|{OnLineOpenSCADAWiki}</b>", for example for the <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Model_AGLKS" title="Special:MyLanguage/Using/Model AGLKS">AGLCS project</a> — "AGLCS|Using/Model_AGLKS". </p> </td></tr> <tr> <td> vs_background (the views "Line edit", "Text edit", "Combo box", "List", "Tree", "Table" of the primitive "FormEl") </td> <td> Custom background </td> <td> <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> Create manually with the type "String"! <p>Specifies for the custom background in the form <b>{color}-{transp} {image}</b>. </p> </td></tr> <tr> <td> vs_border (the views "Line edit", "Text edit", "Combo box", "List", "Tree", "Table" of the primitive "FormEl") </td> <td> Custom border </td> <td> <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> Create manually with the type "String"! <p>Specifies for the custom border in the standard CSS-form <b>{wdth}px {style} {color}</b>. </p> </td></tr> <tr> <td> vs_winTitle (the view "Box") </td> <td> Window title </td> <td> <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> Create manually with the type "String"! <p>Dynamic window title value. </p> </td></tr></table> <p>РаÑÑмотрим реализацию каждого примитива более детально. </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.BD.D0.BE.D0.B9_.D1.84.D0.B8.D0.B3.D1.83.D1.80.D1.8B_.28ElFigure.29"><span class="mw-headline-number">4.1</span> <span id="PrimElFigure" title="#PrimElFigure">Примитив Ñлементарной фигуры (ElFigure)</span></span></h3> <p>Реализована поддержка Ñлементарных фигур: линиÑ, ÑллиптичеÑÐºÐ°Ñ Ð´ÑƒÐ³Ð°, ÐºÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ и заливка замкнутых контуров цветом и изображением. Ð”Ð»Ñ Ñлементарных фигур реализованы Ñледующие операции: </p> <ul><li> Ñоздание/удаление фигур;</li> <li> копирование фигур;</li> <li> перемещение и изменение размеров фигур Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ манипулÑтора мыши и клавиатуры;</li> <li> возможноÑÑ‚ÑŒ ÑвÑÐ·Ñ‹Ð²Ð°Ð½Ð¸Ñ Ñлементарных фигур друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼, Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ Ð±Ð¾Ð»ÐµÐµ Ñложные, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… доÑтупны вÑе ÑвойÑтва иÑходных Ñлементарных фигур;</li> <li> возможноÑÑ‚ÑŒ одновременного Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð½ÐµÑкольких фигур;</li> <li> заливка замкнутого контура цветом и изображением;</li> <li> Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñобытий клавиш мыши в момент клика на залитые контура;</li> <li> маÑштабирование;</li> <li> транÑформациÑ: поворот и отражение.</li></ul> <p>Ðа риÑунке предÑтавлена чаÑÑ‚ÑŒ Ñкрана Ñ ÐºÐ°Ð´Ñ€Ð¾Ð¼, Ñодержащим Ñлементарные фигуры. </p> <div class="center"><div class="floatnone"><a class="image" href="http://oscada.org/wiki/File:Vision_elfig_new.png"><img alt="Vision elfig new.png" height="298" src="../../en/files/Vision_elfig_new.png" width="299" /></a></div></div> <p>Про внутренний графичеÑкий редактор на модуле Vision вы можете в деталÑÑ… почитать в ÑоответÑтвующей Ñекции "<a href="../Modules/Vision.html#ElFigure" title="Special:MyLanguage/Modules/Vision">Векторный графичеÑкий редактор</a>", а тут опишем только полезные Ñоветы. </p><p>Фигуры, лежащие в оÑнове данного виджета, Ñодержат точки(Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð¸ конечнаÑ), которые могут ÑтыковатьÑÑ Ñ ÑоответÑтвующими точками других фигур, и точки, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ которых изменÑетÑÑ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ Ñ„Ð¸Ð³ÑƒÑ€Ñ‹. </p><p>Добавить фигуру можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ манипулÑтора мыши: </p> <ol><li> Выбрать желаемую фигуру из контекÑтного меню. </li> <li> Задать, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ левой кнопки мыши, начальную и конечную точки (Ð´Ð»Ñ Ð»Ð¸Ð½Ð¸Ð¸, при удерживании клавиши SHIFT проиÑходит Ð¾Ñ€Ñ‚Ð¾Ð³Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ ÐµÑ‘ отриÑовка).</li></ol> <p>Удалить фигуру(Ñ‹) можно путём Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ "Del", Ð¸Ð¼ÐµÑ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½ÑƒÑŽ(ые) фигуру(Ñ‹). </p><p>Скопировать фигуру(Ñ‹) можно путём Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ð¸ клавиш "Ctrl"+"C", Ð¸Ð¼ÐµÑ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½ÑƒÑŽ(ые) фигуру(Ñ‹). </p><p>Передвинуть/изменить габариты фигуры можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ манипулÑтора мыши или клавиатуры: </p> <ol><li> Выделить фигуру, клацнув по ней левой кнопкой мыши.</li> <li> Перетащить (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ мыши или управлÑющих клавиш) фигуру или одну из её контрольных точек в желаемое меÑто и отпуÑтить кнопку мыши(клавишу).</li></ol> <p>ПредуÑмотрена возможноÑÑ‚ÑŒ перемещений неÑкольких выделенных фигур, выбранных при помощи ÑƒÐ´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ "Ctrl" (работает при отключенной кнопке "ПривÑзки") либо мышью. </p><p>СвÑзать фигуры друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ можно Ñледующим образом: </p> <ol><li> Ðажать кнопку "ПривÑзки".</li> <li> Выделить одну из фигур и перемеÑтить её начальную или конечную точку к желаемой начальной или конечной точке другой фигуры так, чтобы она попадала в поÑвившуюÑÑ Ð¾ÐºÑ€ÑƒÐ¶Ð½Ð¾ÑÑ‚ÑŒ. СвÑзанные фигуры перемещаютÑÑ Ñ‚Ð°ÐºÐ¶Ðµ как и отдельные — Ð¾Ð±Ñ‰Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° перемещаетÑÑ Ð´Ð»Ñ Ð²Ñех фигур, к которым она отноÑитÑÑ, где приоритет отдаетÑÑ Ð´ÑƒÐ³Ðµ и две дуги не могут быть Ñоединены непоÑредÑтвенно друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼.</li></ol> <p>Залить замкнутый контур из фигур можно Ñледующим образом: </p> <ol><li> Ðажать кнопку "ПривÑзки".</li> <li> Создать замкнутый контур.</li> <li> Два раза клацнуть мышкой внутри его.</li></ol> <p>Удалить заливку замкнутого контура можно: </p> <ul><li> из контекÑтного меню, клацнув правой кнопкой манипулÑтора мыши по заливке;</li> <li> разорвав контур заливки;</li> <li> двойным кликом манипулÑтора мыши по уже залитому контуру.</li></ul> <p>Поворачивание фигуры оÑущеÑтвлÑетÑÑ Ð²Ð¾ÐºÑ€ÑƒÐ³ центра виджета, а отражение вокруг вертикальной центральной оÑи-линии. </p><p><br /> </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.B0_.28Text.29"><span class="mw-headline-number">4.2</span> Примитив текÑта (Text)</span></h3> <p>Реализована поддержка Ñлемента текÑта Ñо ÑвойÑтвами: </p> <ul><li> Шрифт Ñо ÑвойÑтвами: типа-клаÑÑа, размера, уÑилениÑ, наклонноÑти, Ð¿Ð¾Ð´Ñ‡Ñ‘Ñ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¸ перечёркиваниÑ. </li> <li> Цвет текÑта.</li> <li> ÐžÑ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñ‚ÐµÐºÑта. </li> <li> ÐвтоматичеÑкий Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð¿Ð¾ Ñловам. </li> <li> Выравнивание текÑта по горизонтали и вертикали, Ñо вÑеми вариантами.</li> <li> Отображение фона в виде цвета и изображениÑ.</li> <li> Отображение бордюра вокруг текÑта Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ цветом, шириной и Ñтилем.</li> <li> Отображение HTML.</li> <li> Дополнение текÑта аргументами различного типа и ÑвойÑтв.</li></ul> <p>Ðа риÑунке предÑтавлена чаÑÑ‚ÑŒ Ñкрана Ñ ÐºÐ°Ð´Ñ€Ð¾Ð¼, Ñодержащим примеры текÑта Ñ Ð¸Ñпользованием различных параметров. </p> <div class="center"><div class="floatnone"><a class="image" href="http://oscada.org/wiki/File:Vision_run_txt_ru.png"><img alt="Vision run txt ru.png" height="111" src="../files/Vision_run_txt_ru.png" width="160" /></a></div></div> <p><br /> </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0_.D1.84.D0.BE.D1.80.D0.BC.D1.8B_.28FormEl.29"><span class="mw-headline-number">4.3</span> Примитив Ñлемента формы (FormEl)</span></h3> <p>Реализована поддержка Ñлементов формы на кадрах СВУ Ñ Ð·Ð°Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ð¼Ð¸ ÑвойÑтва, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ñледующие типы: </p> <ul><li> <i>Редактор Ñтроки</i> — ПредÑтавлено Ñледующими видами: "ТекÑÑ‚", "Combo", "Целое", "ВещеÑтвенное", "ВремÑ", "Дата", "Ð’Ñ€ÐµÐ¼Ñ Ð¸ Дата". Ð’Ñе виды редактора Ñтроки поддерживают подтверждение ввода.</li> <li> <i>Редактор текÑта</i> — ПредÑтавлÑет редактор плоÑкого текÑта Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸ÐµÐ¼ или отказом от ввода.</li> <li> <i>Поле флажка</i> — ПредоÑтавлÑет поле бинарного флажка.</li> <li> <i>Кнопка</i> — ПредоÑтавлÑет кнопку Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ цвета кнопки, Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² кнопке и режимов: <ul><li> Ñтандартный;</li> <li> переключаемый;</li> <li> вызов меню;</li> <li> вызов загрузки файла;</li> <li> вызов ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°.</li></ul></li> <li> <i>Выбор из ÑпиÑка</i> — ПредоÑтавлÑет поле выбора Ñлемента Ñо ÑпиÑка указанных Ñлементов.</li> <li> <i>СпиÑок</i> — ПредоÑтавлÑет поле ÑпиÑка Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÐµÐ¼ за текущим Ñлементом.</li> <li> <i>Дерево</i> — ПредоÑтавлÑет Ñлемент дерева Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñтью выбора Ñлементов.</li> <li> <i>Таблица</i> — ПредоÑтавлÑет Ñлемент таблицы Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñтью выбора Ñчеек, Ñтрок или колонок, а также Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñодержимого Ñчейки.</li> <li> <i>Слайдер</i> — Ðлемент Ñлайдера.</li> <li> <i>ПрогреÑ-бар</i> — ПолоÑка прогреÑÑ-бара.</li> <li> <i>Пароль</i> — Скрытый ввод паролÑ.</li></ul> <p>Реализованы режимы "Включен" и "Ðктивен", а также передача изменений и Ñобытий в модель данных СВУ — движок. Режим "Ðктивный" приводит к уÑтановке курÑора активноÑти Ð´Ð»Ñ Ð½ÐµÐ¿ÑƒÑтого фона и дополнительных уÑловий различных видов "Text", "Media" и "Box": </p> <ul><li> <i>Text</i> — не пуÑтой текÑÑ‚;</li> <li> <i>Media</i> — не пуÑтой иÑточник изображениÑ.</li></ul> <p>Ðа риÑунке предÑтавлена чаÑÑ‚ÑŒ Ñкрана Ñ ÐºÐ°Ð´Ñ€Ð¾Ð¼, Ñодержащим вышеперечиÑленные Ñлементы формы. </p> <div class="center"><div class="floatnone"><a class="image" href="http://oscada.org/wiki/File:Vision_run_formel_ru.png"><img alt="Vision run formel ru.png" height="254" src="../files/Vision_run_formel_ru.png" width="447" /></a></div></div> <p><br /> </p> <h3><span class="mw-headline" id="Primitive_of_the_displaying_the_media-materials_.28Media.29"><span class="mw-headline-number">4.4</span> Primitive of the displaying the media-materials (Media)</span></h3> <p>Support of the element of the displaying of the media-materials with the following properties is provided: </p> <ul><li> Indication of the media data source: images or video-material.</li> <li> Review of the images of most well-known formats with the possibility of fitting in the widget size and keeping aspect ratio here.</li> <li> Playback of the simple animated images and video formats with the possibility to control the playback speed.</li> <li> Playback of the full-formatted video and audio by Qt or <a class="extiw" href="https://en.wikipedia.org/wiki/Phonon" title="wikipedia:Phonon">Phonon</a>.</li> <li> Displaying the background as the color and image.</li> <li> Displaying the border along the perimeter of the widget, with the specified color, width and style.</li> <li> Formation of the active areas and generating the events when they are activated.</li></ul> <p>Ðа риÑунке предÑтавлена чаÑÑ‚ÑŒ Ñкрана Ñ ÐºÐ°Ð´Ñ€Ð¾Ð¼, Ñодержащим примеры проÑмотра/Ð¿Ñ€Ð¾Ð¸Ð³Ñ€Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÐ´Ð¸Ð°-данных. </p> <div class="center"><div class="floatnone"><a class="image" href="http://oscada.org/wiki/File:Vision_run_media.png"><img alt="Vision run media.png" height="205" src="../../en/files/Vision_run_media.png" width="232" /></a></div></div> <p><br /> </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D0.BF.D0.BE.D1.81.D1.82.D1.80.D0.BE.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B4.D0.B8.D0.B0.D0.B3.D1.80.D0.B0.D0.BC.D0.BC_.28Diagram.29"><span class="mw-headline-number">4.5</span> Примитив поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð³Ñ€Ð°Ð¼Ð¼ (Diagram)</span></h3> <p>Реализована поддержка Ñлемента поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð³Ñ€Ð°Ð¼Ð¼ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² "График", "Спектр" и "XY", Ñо ÑвойÑтвами: </p> <ul><li> Общие ÑвойÑтва типов диаграммы "График", "Спектр" и "XY": <ul><li> возможноÑÑ‚ÑŒ выбора архиватора, буфера архива или вÑех данных, при работе Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ð¼Ð¸ данными;</li> <li> Ð°Ð´Ð°Ð¿Ñ‚Ð°Ñ†Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ° параметра к реальным значениÑм данных путём подÑтройки шкалы, в Ñлучае отÑутÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ñмо указанного диапазона значений;</li> <li> управление маÑштабом шкалы значений путём увеличениÑ, ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð¸ ÑмещениÑ;</li> <li> широкий диапазон маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ адаптации шкалы времени Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑким приведением запрашиваемых данных к качеÑтву доÑтаточному Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ, или нужному Ð´Ð»Ñ ÑкÑпорта — указанием предельного количеÑтва измерений в пикÑеле;</li> <li> отображение размерной Ñетки и маркеров по горизонтали и вертикали Ñ Ð°Ð´Ð°Ð¿Ñ‚Ð°Ñ†Ð¸ÐµÐ¹ к диапазону отображениÑ;</li> <li> ÑледÑщий режим за текущим временем путём периодичеÑкого Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ ÑÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ диаграммы к текущему времени — времени поÑледних данных в буфере архива;</li> <li> горизонтальный Ñлайдинг/Ñкольжение Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ мышь;</li> <li> маÑштабирование учаÑтка обрамлённого окном, мышью.</li></ul></li> <li> СвойÑтва типа диаграммы "График": <ul><li> поÑтроение графиков до 100 параметров на одной диаграмме в процентной шкале и возможноÑтью Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ñ… параметров в ÑобÑтвенной шкале;</li> <li> поÑтроение графика длÑ: текущих, архивных и пользовательÑких данных;</li> <li> Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ буфера Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ… значений;</li> <li> поддержка активного режима Ñ ÐºÑƒÑ€Ñором и получением значений под курÑором;</li> <li> возможноÑÑ‚ÑŒ поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² как в линейной, так и логарифмичеÑкой шкале значений.</li></ul></li> <li> СвойÑтва типа диаграммы "Спектр": <ul><li> поÑтроение графиков чаÑтотного Ñпектра параметров до 100 на одной диаграмме в процентной шкале и возможноÑтью Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ñ… параметров в ÑобÑтвенной шкале;</li> <li> поÑтроение графика длÑ: архивных и пользовательÑких данных;</li> <li> поддержка активного режима Ñ ÐºÑƒÑ€Ñором и получением значений под курÑором.</li></ul></li> <li> СвойÑтва типа диаграммы "XY": <ul><li> поÑтроение XY графиков параметров до 50 на одной диаграмме в процентной шкале и возможноÑтью Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ñ… параметров в ÑобÑтвенной шкале;</li> <li> поÑтроение графика длÑ: текущих, архивных и пользовательÑких данных;</li> <li> Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ буфера Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ… значений;</li> <li> параметры раÑпределÑÑŽÑ‚ÑÑ Ð¿Ð°Ñ€Ð°Ð¼Ð¸ на график, где чётные по оÑи Y (0,2,4...) и нечётные по оÑи X (1,3,5...);</li> <li> возможноÑÑ‚ÑŒ поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² как в линейной, так и логарифмичеÑкой шкале значений.</li></ul></li></ul> <p>Модулем визуализатора предоÑтавлÑетÑÑ Ð¸ иÑпользуетÑÑ Ñ€Ñд ÑпецифичеÑких атрибутов данного примитива, Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ которых приведена в таблице. </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ð˜Ð¼Ñ </th> <th> Ðазначение </th></tr> <tr> <td> sclWin </td> <td> МаÑштабирование учаÑтка обрамлённого окном, мышью </td> <td> ЛогичеÑкий тип атрибута, Ñоздаваемый пользователем вручную, в Ñлучае надобноÑти. Ð”Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "иÑтина" включаетÑÑ Ñ€ÐµÐ¶Ð¸Ð¼ маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÑ‡Ð°Ñтка тренда обрамлённого окном Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ мыши. </td></tr></table> <p>Ðа риÑунке предÑтавлена чаÑÑ‚ÑŒ Ñкрана Ñ ÐºÐ°Ð´Ñ€Ð¾Ð¼, Ñодержащим примеры диаграмм: "График", "Спектр" и "XY". </p> <div class="center"><div class="floatnone"><a class="image" href="http://oscada.org/wiki/File:Vision_run_diag.png"><img alt="Vision run diag.png" height="447" src="../../en/files/Vision_run_diag.png" width="347" /></a></div></div> <p><br /> </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.84.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D0.B0_.28Protocol.29"><span class="mw-headline-number">4.6</span> Примитив Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° (Protocol)</span></h3> <p>Реализована поддержка Ñлемента Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° Ñо ÑвойÑтвами: </p> <ul><li> Формирование протокола из архива Ñообщений за указанное Ð²Ñ€ÐµÐ¼Ñ Ð¸ глубину.</li> <li> Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… из указанных архиваторов Ñообщений.</li> <li> Выборка данных из архивов по уровню важноÑти и шаблону категории Ñообщений.</li> <li> Поддержка режима ÑÐ»ÐµÐ¶ÐµÐ½Ð¸Ñ Ð·Ð° поÑвлением Ñообщений в архиве Ñообщений.</li></ul> <p>Ðа риÑунке предÑтавлена чаÑÑ‚ÑŒ Ñкрана Ñ ÐºÐ°Ð´Ñ€Ð¾Ð¼, Ñодержащим пример протокола. </p> <div class="center"><div class="floatnone"><a class="image" href="http://oscada.org/wiki/File:Vision_prot_ru.png"><img alt="Vision prot ru.png" height="241" src="../files/Vision_prot_ru.png" width="741" /></a></div></div> <p><br /> </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D1.84.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BE.D1.82.D1.87.D1.91.D1.82.D0.BD.D0.BE.D0.B9_.D0.B4.D0.BE.D0.BA.D1.83.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.86.D0.B8.D0.B8_.28Document.29"><span class="mw-headline-number">4.7</span> Примитив Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ документации (Document)</span></h3> <p>Реализована поддержка Ñлемента Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ документации Ñо ÑвойÑтвами: </p> <ul><li> Гибкое формирование Ñтруктуры документа на оÑнове Ñзыка гипертекÑтовой разметки, что предоÑтавлÑет поддержку широких возможноÑтей Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð².</li> <li> Формирование документов по команде или раÑпиÑанию, что необходимо Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ документации в архив, Ñ Ð¿Ð¾Ñледующим проÑмотром архива.</li> <li> Формирование документов в режиме реального времени, Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ñ… полноÑтью динамичеÑки и на оÑнове архивов за указанное времÑ.</li> <li> ИÑпользование атрибутов виджета Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ в документ значений и адреÑов на архивы, что позволÑет иÑпользовать виджет документа как шаблон, при формировании отчётов Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ входными данными.</li></ul> <p>Ð’ оÑнове любого документа лежит XHTML-шаблон. XHTML-шаблон Ñто тег "body" WEB-Ñтраницы, Ñодержащий Ñтатику документа в Ñтандарте XHTML 1.0, и Ñлементы иÑполнÑемых инÑтрукций на одном из Ñзыков пользовательÑкого Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSCADA в виде <b><?dp {procedure} ?></b>. Результирующий документ формируетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€ и вÑтавки их результата в документ. </p><p>ИÑточником значений иÑполнÑемых инÑтрукций ÑвлÑÑŽÑ‚ÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ виджета Ñтого примитива, а также вÑе механизмы Ñзыка пользовательÑкого программированиÑ. Ðтрибуты могут добавлÑÑ‚ÑŒÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼ и линковатьÑÑ Ð½Ð° реальные атрибуты параметров или-же ÑвлÑÑ‚ÑŒÑÑ Ð°Ð²Ñ‚Ð¾Ð½Ð¾Ð¼Ð½Ñ‹Ð¼Ð¸, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… будут формироватьÑÑ Ð² Ñкрипте виджета. Ð’ Ñлучае Ñо Ñлинкованными атрибутами могут извлекатьÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð· иÑтории, архива. </p><p>Ðа риÑунке предÑтавлен кадр, Ñодержащий пример документа. </p> <div class="center"><div class="floatnone"><a class="image" href="http://oscada.org/wiki/File:Vision_doc_ru.png"><img alt="Vision doc ru.png" height="580" src="../files/Vision_doc_ru.png" width="900" /></a></div></div> <p><br /> </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2_.D0.BA.D0.BE.D0.BD.D1.82.D0.B5.D0.B9.D0.BD.D0.B5.D1.80.D0.B0_.28Box.29"><span class="mw-headline-number">4.8</span> <span id="PrimBox" title="#PrimBox">Примитив контейнера (Box)</span></span></h3> <p>Реализована поддержка примитива контейнера, по ÑовмеÑтительÑтву выполнÑющего роль Ñтраниц проектов. Данный примитив ÑвлÑетÑÑ ÐµÐ´Ð¸Ð½Ñтвенным Ñлементом-контейнером, который может включать в ÑÐµÐ±Ñ ÑÑылки на кадры из библиотеки, Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€ÑƒÑ Ñ‚ÐµÐ¼ Ñамым пользовательÑкие Ñлементы нужной конфигурации. Примитив реализует предуÑмотренные проектом ÑвойÑтва. ПеречиÑлим, по пунктам, ÑвойÑтва данного примитива: </p> <ul><li> <i>Контейнер</i> — ПозволÑет формировать нужные объекты путём группировки базовых в рамках данного примитива.</li> <li> <i>Страница</i> — Ðлементы, поÑтроенные на данном примитиве, могут выполнÑÑ‚ÑŒ роль Ñтраницы пользовательÑкого интерфейÑа.</li> <li> <i>Контейнер Ñтраниц</i> — СвойÑтво замещениÑ, в процеÑÑе иÑполнениÑ, ÑобÑтвенного Ñодержимого другой Ñтраницей. ИÑпользуетÑÑ Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ñ€ÐµÐ¹Ð¼Ð¾Ð² на Ñтраницах пользовательÑкого интерфейÑа. Ðапример, Ð³Ð»Ð°Ð²Ð½Ð°Ñ Ñтраница типовой SCADA-ÑиÑтемы Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸ Ñигнализации ÑтроитÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ таким образом.</li> <li> <i>Фон</i> — Поддерживает возможноÑÑ‚ÑŒ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñ„Ð¾Ð½Ð° в виде цвета и изображениÑ.</li> <li> <i>Бордюр</i> — Поддерживает возможноÑÑ‚ÑŒ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð±Ð¾Ñ€Ð´ÑŽÑ€Ð° Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ цветом, толщиной и Ñтилем.</li></ul> <p><br /> Пример Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ð´Ñ€Ð°, оÑнованного на данном примитиве, приведен на риÑунке 2.a, а на риÑунке 3 изображена Ñтраница, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ Ñтраниц, поÑтроенный на оÑнове данного примитива. </p> <h2><span class="mw-headline" id=".D0.92.D0.B5.D0.BA.D1.82.D0.BE.D1.80.D0.BD.D1.8B.D0.B9_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80"><span class="mw-headline-number">5</span> <span id="ElFigure" title="#ElFigure">Векторный графичеÑкий редактор</span></span></h2> <h3><span class="mw-headline" id=".D0.9D.D0.B0.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_2"><span class="mw-headline-number">5.1</span> Ðазначение</span></h3> <p>Ðаличие ÑобÑтвенного векторного графичеÑкого редактора ÑвлÑетÑÑ Ð½ÐµÐ¾Ñ‚ÑŠÐµÐ¼Ð»ÐµÐ¼Ð¾Ð¹ чаÑтью уважающей ÑÐµÐ±Ñ SCADA ÑиÑтемы. Опыт показывает, что наиболее информативной формой предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑких процеÑÑов ÑвлÑÑŽÑ‚ÑÑ Ð¼Ð½ÐµÐ¼Ð¾Ñхемы — ÑовокупноÑÑ‚ÑŒ Ñигнальных уÑтройÑтв, изображений Ð¾Ð±Ð¾Ñ€ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ внутренних ÑвÑзей контролируемого объекта, выполнÑемые на перÑональном компьютере. Ð”Ð»Ñ Ð¸Ñ… ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ иÑпользовать любой из ÑущеÑтвующих графичеÑких редакторов. Однако, полученные таким образом мнемоÑхемы ÑвлÑÑŽÑ‚ÑÑ ÑтатичеÑкими и не отражают динамику Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñтик процеÑÑа, а Ñледовательно, они неадекватны и неудобны Ð´Ð»Ñ Ð²Ð¾ÑприÑтиÑ. Таким образом, одной из задач, ÑтоÑщих перед разработчиками SCADA ÑиÑтем, ÑвлÑетÑÑ Ñоздание графичеÑкого редактора Ð´Ð»Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð², характериÑтики которых могут быть динамичеÑки изменены. </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BD.D1.86.D0.B8.D0.BF.D1.8B_.D0.B8_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D1.80.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.B0.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80.D0.B0"><span class="mw-headline-number">5.2</span> Принципы и функции разработанного графичеÑкого редактора</span></h3> <p>ОÑновой опиÑываемого редактора ÑвлÑÑŽÑ‚ÑÑ Ñ‚Ñ€Ð¸ графичеÑких примитива: линиÑ, дуга и ÐºÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ. К динамичеÑки изменÑющимÑÑ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñтикам Ñтих примитивов отноÑÑÑ‚ÑÑ: </p> <ul><li> Координаты контрольных точек, которые иÑпользуютÑÑ Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹ линии, дуги или кривой Безье. При Ñтом, Ð»Ð¸Ð½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ — 2 контрольные точки, дуга — 5 контрольных точек, ÐºÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ — 4 (риÑ.5.2.a).</li> <li> Ширина линии.</li> <li> Ширина бордюра (границы).</li> <li> Цвет бордюра (границы).</li> <li> Стиль линии (ÑплошнаÑ, пунктирнаÑ, точечнаÑ).</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:402px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigCntrPoints.png"><img class="thumbimage" height="150" src="../../en/files/Vision_ElFigCntrPoints.png" width="400" /></a> <div class="thumbcaption">РиÑ.5.2.a. Контрольные точки линии, дуги и кривой Безье.</div></div></div></div> <p>Примеры примитивов, различного цвета, толщины, Ñтилей, Ñ Ð±Ð¾Ñ€Ð´ÑŽÑ€Ð°Ð¼Ð¸ и без них, приведены на риÑунке 5.2.b. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:402px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigExamples.png"><img class="thumbimage" height="150" src="../../en/files/Vision_ElFigExamples.png" width="400" /></a> <div class="thumbcaption">РиÑ.5.2.b. Примеры примитивов, Ñлева направо: линиÑ, дуга и ÐºÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ.</div></div></div></div> <p>ПредуÑмотрена возможноÑÑ‚ÑŒ ÑвÑзи различных графичеÑких примитивов, Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñложных графичеÑких объектов. ЕÑли ÑвÑзанные примитивы образуют замкнутый контур, то он может быть залит цветом и изображением (риÑ.5.2.c). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:252px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigFills.png"><img class="thumbimage" height="150" src="../../en/files/Vision_ElFigFills.png" width="250" /></a> <div class="thumbcaption">РиÑ.5.2.c. Заливки замкнутого контура цветом и изображением.</div></div></div></div> <p>ГрафичеÑкий редактор позволÑет маÑштабировать и поворачивать фигуры (риÑ.5.2.d) — примитивы и Ñложные графичеÑкие объекты. </p><p>К возможноÑÑ‚Ñм редактора также отноÑÑÑ‚ÑÑ: выделение, перемещение, копирование и удаление фигур. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:302px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigScaleRotate.png"><img class="thumbimage" height="150" src="../../en/files/Vision_ElFigScaleRotate.png" width="300" /></a> <div class="thumbcaption">РиÑ.5.2.d. МаÑштабирование и поворот фигур.</div></div></div></div> <h3><span class="mw-headline" id=".D0.9E.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D1.8B.D0.B5_.D0.BF.D1.80.D0.B8.D0.BD.D1.86.D0.B8.D0.BF.D1.8B_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_.D0.B2_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.BC_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80.D0.B5"><span class="mw-headline-number">5.3</span> ОÑновные принципы работы в графичеÑком редакторе</span></h3> <p>Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы приÑтупить к работе Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким редактором, поÑле запуÑка проекта OpenSCADA, необходимо вызвать "Рабочий пользовательÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ (Qt)". Во вкладке "Виджеты" ÑодержитÑÑ Ð¿ÐµÑ€ÐµÑ‡ÐµÐ½ÑŒ ÑущеÑтвующих графичеÑких библиотек и принадлежащих им Ñлементов. </p><p>Предположим, что нам необходимо добавить графичеÑкий Ñлемент в одну из ÑущеÑтвующих библиотек. Ð”Ð»Ñ Ñтого выделим Ð¸Ð¼Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ и нажмем кнопку (<a class="image" href="http://oscada.org/wiki/File:Vision_ElFigCreate.png"><img alt="Vision ElFigCreate.png" height="36" src="../../en/files/Vision_ElFigCreate.png" width="32" /></a>) на панели инÑтрументов. Ð’ поÑвившееÑÑ Ð¾ÐºÐ½Ð¾ введем идентификатор и Ð¸Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ графичеÑкого Ñлемента. ПоÑле чего перейдем к Ñтому Ñлементу и нажмем кнопку (<a class="image" href="http://oscada.org/wiki/File:Vision_ElFigEdit.png"><img alt="Vision ElFigEdit.png" height="23" src="../../en/files/Vision_ElFigEdit.png" width="25" /></a>). Справа поÑвитÑÑ Ð¿Ð¾Ð»Ðµ Ð´Ð»Ñ Ñ€Ð¸ÑованиÑ. С помощью двойного щелчка мышью по Ñтому полю, либо при помощи контекÑтного меню, войдем в режим Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ â€” режим графичеÑкого редактора, позволÑющий оÑущеÑтвлÑÑ‚ÑŒ вÑе предуÑмотренные манипулÑции Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð°Ð¼Ð¸. Ð’ тот момент, когда Ñозданный нами графичеÑкий Ñлемент находитÑÑ Ð² фокуÑе, вкладка "Ðтрибуты" приобретет вид, предÑтавленный на риÑунке 5.3.a. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:366px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigAttrs_ru.png"><img class="thumbimage" height="493" src="../files/Vision_ElFigAttrs_ru.png" width="364" /></a> <div class="thumbcaption">РиÑ.5.3.a. Ðтрибуты Ñлементарной фигуры.</div></div></div></div> <p>С помощью мыши, или Ð¿Ð¾Ð»Ñ "ГеометриÑ" вкладки "Ðтрибуты", зададим размеры Ð¿Ð¾Ð»Ñ Ð´Ð»Ñ Ñ€Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ маÑштабные коÑффициенты. </p><p>ВоÑпользовавшиÑÑŒ полем "ЛиниÑ" вкладки "Ðтрибуты", зададим ширину, цвет, Ñтиль линий, которыми будем риÑовать. С помощью Ð¿Ð¾Ð»Ñ "Граница", зададим ширину и цвет бордюра. Поле "Заполнение" позволÑет задать цвет и изображение заливки. "СпиÑок Ñлементов" Ñодержит перечень примитивов, иÑпользуемых при Ñоздании графичеÑкого объекта. Ðлементы вÑех полей вкладки "Ðтрибуты" могут динамичеÑки изменÑÑ‚ÑŒÑÑ Ð² процедурах пользователÑ. </p><p>ГрафичеÑкие примитивы могут быть изображены Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ мышки или заданы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑпиÑка графичеÑких примитивов ("СпиÑок Ñлементов"). Ð’ первом Ñлучае, координаты контрольных точек Ñоздаваемого примитива вычиÑлÑÑŽÑ‚ÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки, а ширина, цвет, Ñтиль линии, ширина и цвет бордюра уÑтанавливаютÑÑ Ð¿Ð¾ умолчанию, из вкладки "Ðтрибуты". Во втором Ñлучае, примитив необходимо опиÑать в "СпиÑке Ñлементов" Ñледующим образом: </p> <dl><dd><i>line:(x1|y1):(x2|y2):width:color:border_width:border_color:style</i> <b>(1)</b></dd> <dd><i>arc:(x1|y1):(x2|y2):(x3|y3):(x4|y4):(x5|y5):width:color:border_width:border_color:style</i> <b>(2)</b> </dd> <dd><i>bezier:(x1|y1):(x2|y2):(x3|y3):(x4|y4):width:color:border_width:border_color:style,</i> <b>(3)</b></dd></dl> <p>Где: </p> <dl><dd><i>(x1|y1)</i> — координаты первой контрольной точки примитива;</dd> <dd><i>(x2|y2)</i> — координаты второй контрольной точки примитива;</dd> <dd><i>(x3|y3)</i> — координаты третьей контрольной точки примитива;</dd> <dd><i>(x4|y4)</i> — координаты четвертой контрольной точки примитива;</dd> <dd><i>(x5|y5)</i> — координаты пÑтой контрольной точки примитива;</dd> <dd><i>width</i> — ширина линии, которой будет нариÑован примитив;</dd> <dd><i>color</i> — цвет линии, которой будет нариÑован примитив;</dd> <dd><i>border_width</i> — ширина бордюра;</dd> <dd><i>border_color</i> — цвет бордюра;</dd> <dd><i>style</i> — Ñтиль линии ("0" — ÑплошнаÑ, "1" — пунктир, "2" — точечнаÑ).</dd></dl> <p>При Ñтом, приоритетными ÑвлÑÑŽÑ‚ÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹, цвета, ÑÑ‚Ð¸Ð»Ñ Ð»Ð¸Ð½Ð¸Ð¸, ширины и цвета бордюра, заданные в ÑпиÑке Ñлементов. ЕÑли необходимо иÑпользовать какие-либо характериÑтики, уÑтанавливаемые полÑми "ЛиниÑ" или "Граница" вкладки "Ðтрибуты", то, при опиÑании примитива, их Ñледует пропуÑтить. Ðапример, мы хотим Ñоздать линию Ñ: шириной 3, краÑного цвета, Ñплошную и без бордюра. При Ñтом, в поле "ЛиниÑ" заданы: ширина линии 3, черный цвет и Ñплошной Ñтиль; в поле "Граница" заданы: ширина бордюра 5, зеленый цвет. Тогда опиÑание примитива в ÑпиÑке Ñлементов должно выглÑдеть Ñледующим образом: </p> <dl><dd><i>line:(x1|y1):(x2|y2)::red:0::</i> <b>(4)</b></dd></dl> <p>Формы запиÑи (1) - (4) задают ÑтатичеÑкие характериÑтики примитивов, которые не могут быть изменены программно. Ð”Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑких характериÑтик необходимо иÑпользовать форму запиÑи: </p> <dl><dd><i>line:1:2:w1:c1:w2:c2:s1</i> <b>(5)</b></dd></dl> <p>Тогда, в окно "Ðтрибуты", добавÑÑ‚ÑÑ Ð¿Ð¾Ð»Ñ: Точка 1 (<i>1</i>), Точка 2 (<i>2</i>), Ширина 1 (<i>w1</i>), Ширина 2 (<i>w2</i>), Цвет 1 (<i>c1</i>), Цвет 2 (<i>c2</i>), Стиль 1 (<i>s1</i>) (риÑ.5.3.b). Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтих полей можно изменÑÑ‚ÑŒ программно, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñзыка пользовательÑкого Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSCADA. Очевидно, что при желании, динамичеÑкими могут быть объÑвлены не вÑе ÑвойÑтва примитива, а одно или неÑколько, кроме того, одно динамичеÑкое ÑвойÑтво может быть иÑпользовано многократно. </p><p>Редактирование координат контрольных точек оÑущеÑтвлÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ мыши либо путем их Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² cпиÑке Ñлементов, Ð´Ð»Ñ ÑтатичеÑких точек; или прÑмо во вкладке "Ðтрибуты", Ð¸Ð¼ÐµÑ Ð² наличии динамичеÑкие точки ("Точка 1", ...). Редактирование других характериÑтик оÑущеÑтвлÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñодержимого полей "ЛиниÑ", "Граница", "Заполнение" на вкладке "Ðтрибуты" или в ÑпиÑке Ñлементов. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:368px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigDynAttrs_ru.png"><img class="thumbimage" height="482" src="../files/Vision_ElFigDynAttrs_ru.png" width="366" /></a> <div class="thumbcaption">РиÑ.5.3.b. ДинамичеÑкие атрибуты Ñлементарной фигуры.</div></div></div></div> <p>ПредуÑмотрены возможноÑти: </p> <ul><li> выделениÑ: <ul><li> щелчком левой кнопки мыши по фигуре;</li> <li> ÑовмеÑтного Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼Ð¸Ñ‚Ð¸Ð²Ð¾Ð² — левой кнопкой мыши + Ð½Ð°Ð¶Ð°Ñ‚Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° "Ctrl", при выключенной кнопке "ПривÑзки";</li> <li> ÑовмеÑтного Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð¼ÐºÐ¾Ð¹, риÑуемой Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ нажатой левой кнопки мыши.</li></ul></li> <li> перемещение, клавиатурой/мышью,</li> <li> копирование и вÑтавка — "Ctrl"+"C", "Ctrl"+"V" или из контекÑтного меню;</li> <li> удаление — "Del".</li></ul> <p>Ð”Ð»Ñ ÑвÑзи примитивов друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ необходимо: </p> <ol><li> Ðажать кнопку "ПривÑзки".</li> <li> Выделить одну из фигур и перемеÑтить её начальную или конечную точку к желаемой начальной или конечной точке другой фигуры так, чтобы она попадала в поÑвившуюÑÑ Ð¾ÐºÑ€ÑƒÐ¶Ð½Ð¾ÑÑ‚ÑŒ.</li></ol> <p>Ð”Ð»Ñ Ð·Ð°Ð»Ð¸Ð²ÐºÐ¸ замкнутого контура необходимо два раза кликнуть мышей внутри него либо Ñледующим образом задать заливку в ÑпиÑке Ñлементов: </p> <dl><dd><i>fill:(x1:y1):(x2:y2):...:(xn:yn):color:image</i> — Ñтатика;</dd> <dd><i>fill:1:2:3:...:c1:i1</i> — динамика.</dd></dl> <p>Где: </p> <dl><dd><i>(x1:y1):(x2:y2):...:(xn:yn)</i> — координаты начальных и конечных точек примитивов, образующих замкнутый контур;</dd> <dd><i>color</i> — цвет заливки;</dd> <dd><i>image</i> — изображение заливки.</dd></dl> <p>При Ñтом, приоритетными ÑвлÑÑŽÑ‚ÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ†Ð²ÐµÑ‚Ð° и Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð»Ð¸Ð²ÐºÐ¸, заданные в ÑпиÑке Ñлементов. ЕÑли необходимо иÑпользовать характериÑтики, уÑтанавливаемые полем "Заполнение" вкладки "Ðтрибуты", то, при опиÑании примитива, их Ñледует опуÑтить. </p><p>Ð”Ð»Ñ Ð¼Ð°ÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð¸Ð³ÑƒÑ€ необходимо, в поле "ГеометриÑ", задать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¼Ð°Ñштаба по оÑÑм "X" и "Y". Кроме того, ÑущеÑтвует возможноÑÑ‚ÑŒ визуально увеличить/уменьшить изображение не менÑÑ Ð¼Ð°Ñштаб. Ð”Ð»Ñ Ñтого, необходимо выйти из режима редактированиÑ, щелкнуть правой кнопкой мыши по полю виджета, в поÑвившемÑÑ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтном меню выбрать пункт "Увеличить (+10%)"/"Уменьшить (-10%)" либо покрутить колеÑико мышки, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ð¿Ñ€Ð¸ Ñтом нажатой клавишу "Ctrl". Выход из режима Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑущеÑтвлÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ¸ "Esc" либо Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ контекÑтного меню виджета. </p><p>СущеÑтвует возможноÑÑ‚ÑŒ поворачивать Ñодержимое виджета, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ Ñледует, в окне "Ðтрибуты", задать "Угол поворота" от -360 до 360. </p><p>ГрафичеÑкий редактор поддерживает прозрачноÑÑ‚ÑŒ цвета, задаваемую Ñледующим образом: <b>{color}-{t}</b>, где <i>color</i> — цвет, а <i>t</i> — прозрачноÑÑ‚ÑŒ от 0 (полноÑтью прозрачный) до 255 (непрозрачный). </p> <h3><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.BD.D0.BE.D0.B5_.D0.BC.D0.B5.D0.BD.D1.8E_.D0.B3.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80.D0.B0"><span class="mw-headline-number">5.4</span> КонтекÑтное меню графичеÑкого редактора</span></h3> <p>ПредуÑмотрено контекÑтное меню, вызываемое щелчком правой кнопки мыши в облаÑти редактируемого виджета. Ð’ завиÑимоÑти от того, какой объект находитÑÑ Ð¿Ð¾Ð´ указателем мыши, контекÑтное меню может принимать неÑколько различный вид. Ðиже, на риÑунке 5.4, приведены примеры контекÑтного меню. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:842px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigPopup_ru.png"><img class="thumbimage" height="393" src="../files/Vision_ElFigPopup_ru.png" width="840" /></a> <div class="thumbcaption">РиÑ.5.4. КонтекÑтное меню Ð´Ð»Ñ Ð»Ð¸Ð½Ð¸Ð¹ (линиÑ, дуга, ÐºÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ) и Ð´Ð»Ñ Ð·Ð°Ð»Ð¸Ð²ÐºÐ¸, Ñлева направо.</div></div></div></div> <p>КонтекÑтное меню включает Ñледующие Ñекции (Ñверху вниз): </p> <ul><li> риÑование: <ul><li> выбор фигуры Ð´Ð»Ñ Ñ€Ð¸ÑованиÑ;</li> <li> выбор режима "ПривÑзки";</li> <li> возврат в режим выбора — "КурÑор".</li></ul></li> <li> отмена/повтор изменений;</li> <li> копирование и вÑтавка выбранных фигур, в рамках одного виджета;</li> <li> поднÑтие и опуÑкание выбранных фигур по оÑи "Z";</li> <li> управление атрибутами примитивов: Ñделать ÑтатичеÑкими или динамичеÑкими;</li> <li> вызов диалога ÑвойÑтв Ñлементарной фигуры;</li> <li> выход из режима редактированиÑ.</li></ul> <h3><span class="mw-headline" id=".D0.94.D0.B8.D0.B0.D0.BB.D0.BE.D0.B3_.D1.81.D0.B2.D0.BE.D0.B9.D1.81.D1.82.D0.B2_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.BD.D0.BE.D0.B9_.D1.84.D0.B8.D0.B3.D1.83.D1.80.D1.8B"><span class="mw-headline-number">5.5</span> Диалог ÑвойÑтв Ñлементарной фигуры</span></h3> <p>Диалог, варианты которого предÑтавлены на риÑунках 5.5.a, 5.5.b, 5.5.c, реализован Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ и удобного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑвойÑтвами фигур(Ñ‹). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:834px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigDlgLine_ru.png"><img class="thumbimage" height="338" src="../files/Vision_ElFigDlgLine_ru.png" width="832" /></a> <div class="thumbcaption">РиÑ.5.5.a. Диалог ÑвойÑтв Ñлементарной фигуры Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð¹ линии (линиÑ, дуга или ÐºÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ).</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:967px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigDlgLines_ru.png"><img class="thumbimage" height="328" src="../files/Vision_ElFigDlgLines_ru.png" width="965" /></a> <div class="thumbcaption">РиÑ.5.5.b. Диалог ÑвойÑтв Ñлементарной фигуры Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ выбранных линий.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:481px;"><a class="image" href="http://oscada.org/wiki/File:Vision_ElFigDlgFill_ru.png"><img class="thumbimage" height="190" src="../files/Vision_ElFigDlgFill_ru.png" width="479" /></a> <div class="thumbcaption">РиÑ.5.5.c. Диалог ÑвойÑтв Ñлементарной фигуры Ð´Ð»Ñ Ð·Ð°Ð»Ð¸Ð²ÐºÐ¸.</div></div></div></div> <p>Как видно из риÑунков выше, диалог может иметь три различных формы, завиÑимо от объекта Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ вызываетÑÑ. Ð’ заголовке диалога перечиÑлены номера фигур, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… он вызван. Ðти номера ÑоответÑтвуют позиции фигуры в ÑпиÑке Ñлементов, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñверху. </p><p>ЕÑли диалог вызван Ð´Ð»Ñ Ð¾Ð´Ð¸Ð½Ð¾Ñ‡Ð½Ð¾Ð¹ фигуры (линиÑ, дуга или ÐºÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ), то в нем ÑущеÑтвует возможноÑÑ‚ÑŒ редактировать координаты точек фигуры (риÑ.5.5.a). ЕÑли точка Ñоединена Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ другой фигуры или фигур, и включен режим "ПривÑзки", то введенные координаты будут применены ко вÑем фигурам, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñта точка общаÑ, а заливки, в которых учаÑтвует фигура, будут ÑоответÑтвенно перериÑованы. </p><p>ЕÑли-же диалог вызван Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ выбранных фигур (риÑ.5.5.b), то ÑвойÑтва (атрибуты), указанные в диалоге, будут применены ко вÑем фигурам, перечиÑленным в заголовке диалога. При вызове диалога, в полÑÑ… ÑвойÑтв будут отображатьÑÑ Ð´Ð°Ð½Ð½Ñ‹Ðµ той фигуры из группы выбранных, отноÑительно которой было вызвано контекÑтное меню. СущеÑтвует возможноÑÑ‚ÑŒ включать/иÑключать отдельные ÑвойÑтва диалога. Ð”Ð»Ñ Ñтого предуÑмотрена кнопка (<a class="image" href="http://oscada.org/wiki/File:Vision_disableButton.png"><img alt="Vision disableButton.png" height="28" src="../../en/files/Vision_disableButton.png" width="32" /></a>). Ð’ Ñлучае иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… ÑвойÑтв они не будут обрабатыватьÑÑ Ð¿Ñ€Ð¸ подтверждении диалога (кнопка "ПринÑÑ‚ÑŒ"). При подтверждении диалога, вÑе указанные данные Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ‹Ñ… ÑвойÑтв будут применены Ð´Ð»Ñ Ð²Ñей группы фигур. </p><p>Диалог ÑвойÑтв заливки (риÑ.5.5.c) позволÑет управлÑÑ‚ÑŒ ÑвойÑтвами отдельной заливки. </p><p>При выборе флажка Ñправа от ÑвойÑтва оно (ÑвойÑтво), поÑле Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°, уÑтанавливаетÑÑ Ð² значение по умолчанию, которое указано во вкладке "Ðтрибуты". Кнопки "Дин/Стат" делают ÑоответÑтвующие ÑвойÑтва динамичеÑкими либо ÑтатичеÑкими. </p> <h2><span class="mw-headline" id="General_module_configuration"><span class="mw-headline-number">6</span> <span id="Cfg" title="#Cfg">General module configuration</span></span></h2> <p>To set up own behavior in non-obvious situations, the module provides the ability to configure individual parameters through the control interface of OpenSCADA (Fig.6). </p> <ul><li> Module state: "Running", number of individual displays in the library of Qt and main widows list.</li> <li> Exit when closing the last running project — useful for solutions that are immediately launched on the project interface.</li> <li> Reset widget styles to common — required for some widget styles like "gtk" in some specific widgets in run mode, like buttons for the background color and images.</li> <li> Lifetime and maximum number of the cached pages. The visualiser provides acceleration of the user interface placing previously opened pages into the cache, to control the storage time and maximum number of the pages in which this properties are intended. Indication of the zero value in general excludes cleaning the cache.</li> <li> The link to the configuration page of the external OpenSCADA stations and the station of the VCA-engine of the remote OpenSCADA, where reserved the special items: <ul><li> "<Local>" — the current local station;</li> <li> "<Select>" — use for querying the station together user and password at the module generic call, useful at presence of many control stations and for opening several of them simultaneously.</li></ul></li> <li> Starting user — points on behalf of what user to open the module window without requiring the password, for local station. For remote station it is points to an user different from the typical one, pointed into the host configuration.</li> <li> User password (remote station) — password of the user different from the typical one, pointed into the host configuration.</li> <li> Connection recovery time, in seconds (remote station) — indicates the time that the lost remote connection is restored.</li> <li> List of the projects for launch, separated by symbol ';', for their automatic execution with the launch of the module. To provide the possibility to indicate the opening of the window of the project execution on the desired display of many display systems, the recording format of the project "PrjName-1" is provided, where 1 — the number of the target display. To connect to the background or another open session use "<b>ses_ {SesID}</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> The display selection function is possible for non-virtual and non-duplicate desktops, that is, when using xinerma or NVidia in the appropriate mode. Technically, the Qt-function <i>screen()</i> should return various display widget objects by their numbers.</dd></dl> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:921px;"><a class="image" href="http://oscada.org/wiki/File:Vision_cfg.png"><img class="thumbimage" height="568" src="../../en/files/Vision_cfg.png" width="919" /></a> <div class="thumbcaption">РиÑ.6. Страница конфигурации модулÑ.</div></div></div></div> </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/Modules/Vision/ru">Modules/Vision/ru</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body> </html>