<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html class="client-nojs" dir="ltr" lang="en"> <head> <meta charset="UTF-8" /> <title>Документы/БыÑтрый Ñтарт - OpenSCADAWiki</title> <meta content="MediaWiki 1.26.4" name="generator" /> <link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" /> <link href="../en/files/doc.css" rel="stylesheet" /></head> <body><div class="floatright"><a href="index.html"><img alt="OpenSCADA" src="../en/files/index.png" /></a></div><div id="mw_header"> <div class="mw-indicators"> </div> <h1 id="firstHeading" lang="ru">Документы/БыÑтрый Ñтарт</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-Documents%2FQuick+start&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/Documents/Quick_start" title="Documents/Quick start">Documents/Quick start</a> and the translation is 99% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../en/Quick_start.html" title="Documents/Quick start (100% translated)">English</a> • ‎<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/Quick_start.html" title="Документи/Швидкий Ñтарт (100% translated)">УкраїнÑька</a></div></div> <div style="float:right; border:1px solid gray; width:300px; padding:2px; margin-left: 10pt; margin-bottom: 10pt;"> <ul><li> <b>Ðвтор:</b> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a><br /> <font size="-2"><i>МакÑим ЛыÑенко (2010-2012)</i></font></li> <li> <b>Видео-дополнениÑ:</b> <ul><li> <a class="external text" href="http://ftp.oscada.org/OpenSCADA/0.8.0/doc/ru/QuickStart.mkv" rel="nofollow noreferrer noopener" target="_blank">Официальное дополнение OpenSCADA 0.8.0 LTS (уÑтарелое)</a>, <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a>, 2012</li> <li> <a class="external text" href="https://www.youtube.com/playlist?list=PLIE6cVnMQoAkVccU9mGMIPNYVVug-LVau" rel="nofollow noreferrer noopener" target="_blank">Видео "Как (How to) ..." от Ð¡ÐµÑ€Ð³ÐµÑ ÐšÐ°Ñ€Ð¿ÐµÑˆÐ°</a>, Сергей Карпеш, 2018</li></ul></li> <li> <b>Изначально Ñоздано:</b> в <a class="external text" href="http://wiki.oscada.org/Doc/QuickStart" rel="nofollow noreferrer noopener" target="_blank">Ñтарой Wiki</a></li> <li> <b>Целиком отревизировано:</b> 12.01.7532/11.03.2024</li></ul> </div> <p>OpenSCADA ÑвлÑетÑÑ Ð¿Ñ€ÐµÐ´ÐµÐ»ÑŒÐ½Ð¾ модульной, гибкой и многофункциональной SCADA-ÑиÑтемой. Как ÑледÑтвие, первое знакомÑтво Ñ OpenSCADA может быть доÑтаточно Ñложным, по причине малых шанÑов ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ опыта пользователÑ, или полного его отÑутÑтвиÑ, Ñ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ð°Ð¼Ð¸ работы в OpenSCADA. Однако, в значительной Ñтепени, Ñто только первое впечатление, поÑкольку вÑÑ Ð¼Ð¾Ñ‰ÑŒ OpenSCADA оказываетÑÑ Ð² руках Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ от Ð¸Ð·Ð¾Ð±Ð¸Ð»Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ пользователь может раÑтерÑÑ‚ÑŒÑÑ, и ему могут понадобитьÑÑ Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ уÑÐ¸Ð»Ð¸Ñ Ð´Ð»Ñ Ð¾Ñ‚Ð±Ð¾Ñ€Ð° функций, нужных в решении его задачи. </p><p>По Ñтой причине, и Ð´Ð»Ñ Ð½Ð°Ð³Ð»Ñдного предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ‰ÐµÐ¹ концепции работы в OpenSCADA, Ñоздан данный документ. Документ на примерах, и в доÑтаточно краткой и наглÑдной форме, предÑтавлÑет путь от уÑтановки и запуÑка OpenSCADA до ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñлементов пользовательÑкого интерфейÑа. Ð’ качеÑтве целевой помощи в конфигурации, реализации и Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ñ‹Ñ… задач около OpenSCADA, также могут быть иÑпользованы документы <a href="FAQ.html" title="Special:MyLanguage/Documents/FAQ">ЧаÑтые вопроÑÑ‹</a> и "<a href="How_to.html" title="Special:MyLanguage/Documents/How to">Как (How to) ...</a>". </p><p>Документ предназначен Ð´Ð»Ñ OpenSCADA верÑии 0.9 и выше. ЕÑли-же Ð²Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑует Ñтот документ Ð´Ð»Ñ Ñ€Ð°Ð½Ð½Ð¸Ñ… верÑий тогда вы можете его получить из документации, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸Ð´Ñ‘Ñ‚ Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ той верÑии OpenSCADA, или из <a class="external text" href="http://wiki.oscada.org/Doc/QuickStart" rel="nofollow noreferrer noopener" target="_blank">Ñтого документа Ñтарой Wiki</a>. </p><p>Документ не Ñодержит детального опиÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ†ÐµÐ¿Ñ†Ð¸Ð¸ и Ð¿Ð¾Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð² детали OpenSCADA, а предоÑтавлÑет ÑÑылки на документы, Ñодержащие такую информацию, и в первую очередь Ñто <a href="Program_manual.html" title="Special:MyLanguage/Documents/Program manual">РуководÑтво по программе</a>. </p><p>Документ ÑтроитÑÑ Ñинхронно Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ примеров на подключении к демонÑтрационной базе данных (БД) <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Model_AGLKS" title="Special:MyLanguage/Using/Model AGLKS">модели "ÐГЛКС"</a> в роли иÑточника данных — ПЛК. Следовательно, пользователь должен получить диÑтрибутив OpenSCADA Ñ Ñтой БД, о чём детальнее в разделе <a href="#Installation">УÑтановка</a>! </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.A2.D0.B5.D1.80.D0.BC.D0.B8.D0.BD.D1.8B.2C_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B8_.D0.B0.D0.B1.D0.B1.D1.80.D0.B5.D0.B2.D0.B8.D0.B0.D1.82.D1.83.D1.80.D1.8B"><span class="tocnumber">1</span> <span class="toctext">Термины, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ аббревиатуры</span></a> <ul> <li class="toclevel-2"><a href="#.D0.A2.D0.B5.D1.80.D0.BC.D0.B8.D0.BD.D1.8B_.D0.B8_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F"><span class="tocnumber">1.1</span> <span class="toctext">Термины и определениÑ</span></a></li> <li class="toclevel-2"><a href="#Used_abbreviations"><span class="tocnumber">1.2</span> <span class="toctext">Used abbreviations</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-2"><a href="#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_OpenSCADA"><span class="tocnumber">2</span> <span class="toctext"><span>УÑтановка OpenSCADA</span></span></a> <ul> <li class="toclevel-2"><a href="#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_OpenSCADA_.D0.B8.D0.B7_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D1.8B.D1.85_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2"><span class="tocnumber">2.1</span> <span class="toctext"><span>УÑтановка OpenSCADA из готовых пакетов</span></span></a> <ul> <li class="toclevel-3"><a href="#.D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.80.D0.B5.D0.BF.D0.BE.D0.B7.D0.B8.D1.82.D0.BE.D1.80.D0.B8.D1.8F_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2_.D0.B8_.D1.83.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_OpenSCADA_.D0.B8.D0.B7_.D0.BD.D0.B5.D0.B3.D0.BE"><span class="tocnumber">2.1.1</span> <span class="toctext"><span>Добавление Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð² и уÑтановка OpenSCADA из него</span></span></a></li> <li class="toclevel-3"><a href="#.D0.A0.D1.83.D1.87.D0.BD.D0.B0.D1.8F_.D1.83.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2_OpenSCADA"><span class="tocnumber">2.1.2</span> <span class="toctext">Ð ÑƒÑ‡Ð½Ð°Ñ ÑƒÑтановка пакетов OpenSCADA</span></a></li> </ul> </li> <li class="toclevel-2"><a href="#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0-.D1.81.D0.B1.D0.BE.D1.80.D0.BA.D0.B0_.D0.B8.D0.B7_.D0.B8.D1.81.D1.85.D0.BE.D0.B4.D0.BD.D1.8B.D1.85_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.BE.D0.B2"><span class="tocnumber">2.2</span> <span class="toctext">УÑтановка-Ñборка из иÑходных текÑтов</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-3"><a href="#.D0.9F.D0.B5.D1.80.D0.B2.D0.B8.D1.87.D0.BD.D0.B0.D1.8F_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.B8_.D0.B7.D0.B0.D0.BF.D1.83.D1.81.D0.BA"><span class="tocnumber">3</span> <span class="toctext">ÐŸÐµÑ€Ð²Ð¸Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ запуÑк</span></a> <ul> <li class="toclevel-2 tocsection-4"><a href="#.D0.9E.D0.B1.D1.89.D0.B8.D0.B9_.D0.BE.D0.B1.D0.B7.D0.BE.D1.80"><span class="tocnumber">3.1</span> <span class="toctext">Общий обзор</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#.D0.A4.D0.BE.D0.BD.D0.BE.D0.B2.D0.BE.D0.B5_.D0.B8_.D1.83.D0.B4.D0.B0.D0.BB.D1.91.D0.BD.D0.BD.D0.BE.D0.B5_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.E2.80.94_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.2C_.D1.81.D1.80.D0.B5.D0.B4.D0.B0_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D0.9F.D0.9B.D0.9A_.D0.B8_.D1.83.D0.B4.D0.B0.D0.BB.D1.91.D0.BD.D0.BD.D0.B0.D1.8F_.D1.80.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0"><span class="tocnumber">3.2</span> <span class="toctext"><span>Фоновое и удалённое выполнение — Ñервер, Ñреда иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐŸÐ›Ðš и ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°</span></span></a></li> <li class="toclevel-2 tocsection-6"><a href="#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.BE.D0.B1.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0"><span class="tocnumber">3.3</span> <span class="toctext"><span>Создание ÑобÑтвенного проекта</span></span></a> <ul> <li class="toclevel-3 tocsection-7"><a href="#.D0.9F.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.83.D0.B4.D0.B0.D0.BB.D1.91.D0.BD.D0.BD.D1.8B.D1.85_.D0.B8_.D1.84.D0.BE.D0.BD.D0.BE.D0.B2.D1.8B.D1.85_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B9"><span class="tocnumber">3.3.1</span> <span class="toctext"><span>Подключение и иÑпользование удалённых и фоновых конфигураций</span></span></a></li> <li class="toclevel-3 tocsection-8"><a href="#.D0.9F.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D1.8B.D1.85_.D0.B1.D0.B8.D0.B1.D0.BB.D0.B8.D0.BE.D1.82.D0.B5.D0.BA_OpenSCADA"><span class="tocnumber">3.3.2</span> <span class="toctext">Подключение Ñтандартных библиотек OpenSCADA</span></a></li> </ul> </li> </ul> </li> <li class="toclevel-1 tocsection-9"><a href="#.D0.A0.D0.B0.D0.B1.D0.BE.D1.82.D0.B0_.D1.81_.D0.B8.D1.81.D1.82.D0.BE.D1.87.D0.BD.D0.B8.D0.BA.D0.B0.D0.BC.D0.B8_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85"><span class="tocnumber">4</span> <span class="toctext">Работа Ñ Ð¸Ñточниками данных</span></a> <ul> <li class="toclevel-2 tocsection-10"><a href="#.D0.A1.D0.B1.D0.BE.D1.80_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.B0.D0.BF.D0.BF.D0.B0.D1.80.D0.B0.D1.82.D0.B0_.D0.A2.D0.9F"><span class="tocnumber">4.1</span> <span class="toctext">Сбор данных аппарата ТП</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#.D0.9E.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D0.BF.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.A2.D0.9F"><span class="tocnumber">4.2</span> <span class="toctext"><span>Обработка полученных данных ТП</span></span></a></li> <li class="toclevel-2 tocsection-12"><a href="#.D0.9A.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D1.8B.D0.B9_.D0.BE.D0.B1.D1.8A.D0.B5.D0.BA.D1.82-.D1.82.D0.B5.D0.B3_.D1.81.D0.B8.D0.B3.D0.BD.D0.B0.D0.BB.D0.B0"><span class="tocnumber">4.3</span> <span class="toctext">КомплекÑный объект-тег Ñигнала</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D1.8B.D1.85_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_OpenSCADA_.E2.80.94_.D1.88.D0.BB.D1.8E.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5"><span class="tocnumber">4.4</span> <span class="toctext">Получение готовых данных OpenSCADA — шлюзование</span></a></li> <li class="toclevel-2 tocsection-14"><a href="#.D0.90.D1.80.D1.85.D0.B8.D0.B2.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5-.D0.B8.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.A2.D0.9F"><span class="tocnumber">4.5</span> <span class="toctext">Ðрхивирование-иÑÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… ТП</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-15"><a href="#.D0.A4.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B2.D0.B8.D0.B7.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F"><span class="tocnumber">5</span> <span class="toctext">Формирование визуального предÑтавлениÑ</span></a> <ul> <li class="toclevel-2 tocsection-16"><a href="#.D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.88.D0.B0.D0.B1.D0.BB.D0.BE.D0.BD.D0.BD.D0.BE.D0.B9_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B_.D0.B8_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D0.B8.D0.BA.D0.B8"><span class="tocnumber">5.1</span> <span class="toctext">Добавление шаблонной Ñтраницы и подключение динамики</span></a></li> <li class="toclevel-2 tocsection-17"><a href="#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BA.D0.B0.D0.B4.D1.80.D0.B0_.E2.80.94_.D0.BC.D0.BD.D0.B5.D0.BC.D0.BE.D1.81.D1.85.D0.B5.D0.BC.D1.8B"><span class="tocnumber">5.2</span> <span class="toctext">Создание нового кадра — мнемоÑхемы</span></a></li> <li class="toclevel-2 tocsection-18"><a href="#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0"><span class="tocnumber">5.3</span> <span class="toctext">Создание нового комплекÑного Ñлемента</span></a> <ul> <li class="toclevel-3 tocsection-19"><a href="#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B2.D0.B8.D0.B4.D0.B6.D0.B5.D1.82.D0.B0_.22.D0.92.D0.BE.D0.B7.D0.B4.D1.83.D1.88.D0.BD.D1.8B.D0.B9_.D1.85.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.22_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D0.B5_.D0.BF.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2.D0.B0_.22.D0.AD.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.BD.D0.B0.D1.8F_.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.22"><span class="tocnumber">5.3.1</span> <span class="toctext">Создание виджета "Воздушный холодильник" на оÑнове примитива "ÐÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð½Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð°"</span></a></li> <li class="toclevel-3 tocsection-20"><a href="#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D1.84.D0.B8.D0.BD.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE-.D1.81.D0.BA.D0.BE.D0.BC.D0.BF.D0.BE.D0.BD.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B2.D0.B8.D0.B4.D0.B6.D0.B5.D1.82.D0.B0_.22.D0.A5.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.22_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D0.B5_.D0.BF.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2.D0.B0_.22.D0.93.D1.80.D1.83.D0.BF.D0.BF.D0.B0_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2.22"><span class="tocnumber">5.3.2</span> <span class="toctext"><span>Создание финального-Ñкомпонованного виджета "Холодильник" на оÑнове примитива "Группа Ñлементов"</span></span></a></li> <li class="toclevel-3 tocsection-21"><a href="#.D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0_.D0.BD.D0.B0_.D0.BC.D0.BD.D0.B5.D0.BC.D0.BE.D1.81.D1.85.D0.B5.D0.BC.D1.83"><span class="tocnumber">5.3.3</span> <span class="toctext">Добавление комплекÑного Ñлемента на мнемоÑхему</span></a></li> </ul> </li> </ul> </li> <li class="toclevel-1 tocsection-22"><a href="#.D0.92.D1.8B.D0.B2.D0.BE.D0.B4"><span class="tocnumber">6</span> <span class="toctext">Вывод</span></a></li> <li class="toclevel-1 tocsection-23"><a href="#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"><span class="tocnumber">7</span> <span class="toctext">СÑылки</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.A2.D0.B5.D1.80.D0.BC.D0.B8.D0.BD.D1.8B.2C_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B8_.D0.B0.D0.B1.D0.B1.D1.80.D0.B5.D0.B2.D0.B8.D0.B0.D1.82.D1.83.D1.80.D1.8B"><span class="mw-headline-number">1</span> Термины, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ аббревиатуры</span></h2> <h3><span class="mw-headline" id=".D0.A2.D0.B5.D1.80.D0.BC.D0.B8.D0.BD.D1.8B_.D0.B8_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">1.1</span> Термины и определениÑ</span></h3> <ul><li> <i>Qt</i> — инÑтрументарий разработки ПО Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ которого в чаÑтноÑти Ñозданы модули QTStarter (пуÑкатель модулей OpenSCADA на библиотеке Qt), QTCfg (графичеÑкий конфигуратор OpenSCADA) и Vision (редактор и иÑполнитель рабочих пользовательÑких интерфейÑов СВУ). Может вÑтречатьÑÑ Ð² виде <i>QT</i>, что ÑвлÑетÑÑ Ñ€Ð°Ð½Ð½ÐµÐ¹ запиÑью, иÑпользованной разработчиками OpenSCADA Ð´Ð»Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ Qt.</li> <li> <i>Блокировка</i> — уÑÐ»Ð¾Ð²Ð½Ð°Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° технологичеÑкого параметра по преодолению которой выполнÑÑŽÑ‚ÑÑ Ð¿Ñ€ÐµÐ´ÑƒÑмотренные алгоритмом дейÑÑ‚Ð²Ð¸Ñ Ð¸Ð· предотвращению аварии. Ð’ некоторых режимах ТП (пуÑк), в ÑоответÑтвии Ñ Ñ€ÐµÐ³Ð»Ð°Ð¼ÐµÐ½Ñ‚Ð¾Ð¼, может быть необходимо отключение блокировки — деблокирование.</li> <li> <i>Виджет СВУ</i> — Ñлемент визуализации СВУ.</li> <li> <i>Деблокирование</i> — процеÑÑ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ¸ на Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ ТП в режимах, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… в регламенте предуÑмотрена Ð´Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ. Деблокирование технологичеÑких параметров ÑвлÑетÑÑ Ñтрого отчётной операцией и должно производитÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¼ перÑоналом в ÑоответÑтвующем порÑдке!</li> <li> <i>Кадр СВУ</i> — производный Ñлемент визуализации, ÑоÑтоÑщий из базовых Ñлементов и ÑпоÑобный выполнÑÑ‚ÑŒ функции Ñтраницы проекта СВУ.</li> <li> <i>ÐšÐ²Ð¸Ñ‚Ð°Ñ†Ð¸Ñ (от quietance)</i> — процеÑÑ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ñ„Ð°ÐºÑ‚Ð° того, что оперативный перÑонал обратил внимание на нарушение в работе ТП. Обычно Ñтот процеÑÑ Ð¿Ð¾Ð´Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ²Ð°ÐµÑ‚ принÑтие мер оператором Ð´Ð»Ñ ÑƒÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð¸ нажатие ÑоответÑтвующей кнопки Ð¿Ñ€ÐµÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñигнализации.</li> <li> <i>КомплекÑный параметр-тег или объект-тег Ñигнала</i> — детализированный Ñигнал иÑточника данных как иÑчерпывающий параметр-тег, который Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ обычно Ñодержит: <ul><li> значение Ñигнала в инженерной-реальной единице измерениÑ;</li> <li> название единицы измерениÑ;</li> <li> шкала-диапазон физичеÑкого Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñигнала — Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð¸ макÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ‹;</li> <li> границы Ñигнализации — обычно Ñто верхнÑÑ Ð¸ нижнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ‹ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ и аварийной Ñигнализации;</li> <li> параметры фильтра;</li> <li> параметры оÑобенноÑтей шкалы, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾ÑтоверноÑти, формата предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ другое.</li></ul></li> <li> <i>Модель данных</i> — Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸ Ñтруктурирование данных ТП или другого объекта автоматизации в Ñлое иÑточника данных SCADA, протокола обмена или ПЛК. По умолчанию имеетÑÑ Ð² ввиду <a href="Program_manual.html#DAQ" title="Special:MyLanguage/Documents/Program manual">Ñлой иÑточника данных OpenSCADA</a> Ñо Ñтруктурой "Объект контролера"->"Параметр, уровень 1"->...->"Параметр, уровень N"->"Ðтрибут Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ - Ñигнал".</li> <li> <i>Общее Хранилище</i> — первичное хранилище OpenSCADA (указываемое ранее как "*.*" и поÑле неÑвно "<gen>"), которое разработано Ð´Ð»Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ Файла и <a href="Program_manual.html#Config" title="Special:MyLanguage/Documents/Program manual">рабочей Базы Данных</a> в одно хранилище общих данных OpenSCADA. Где Конфигурационный Файл первичный Ð´Ð»Ñ ÑƒÐ¶Ðµ приÑутÑтвующих там данных, Ñ‚.е. их изменениÑ, а вÑÑ‘ новое ÑоздаётÑÑ Ð² Базе Данных.</li> <li> <i>Проект</i> — термин имеет много значений и, в завиÑимоÑти от контекÑта, может определÑÑ‚ÑŒ: <ul><li> <i>Проект (программа) OpenSCADA</i> — Ñвободное программное обеÑпечение, документацию которого вы в данный момент читаете.</li> <li> <a href="Program_manual.html#Projects" title="Special:MyLanguage/Documents/Program manual">Определённый набор-каталог Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸ÐµÐ¹ и данными</a>, которые ÑоздаютÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼ OpenSCADA, где ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑохранÑетÑÑ Ð² конфигурационном файле (обÑзательно) и одном или неÑкольких файлах БД (необÑзательно и может быть в Ñети). Ðапример — демонÑтрационный проект, модель ТП "ÐГЛКС". Т.е., автором проекта выÑтупает пользователь программы — инженер-разработчик или программиÑÑ‚ SCADA ÑиÑтемы.</li> <li> <i><a href="Modules/VCAEngine.html#Project" title="Special:MyLanguage/Modules/VCAEngine">Проект СВУ</a></i> — ÑоÑÑ‚Ð°Ð²Ð½Ð°Ñ Ñреды визуализации и ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ (СВУ), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑоздаётÑÑ Ð² модуле <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">UI.VCAEngine</a> через <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">UI.Vision</a> и ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñодержит набор кадров СВУ.</li></ul></li> <li> <i>Сигнал (отноÑительно иÑточника данных)</i> — Ñлемент иÑточника данных в виде измеренного или вычиÑленного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкого параметра или датчика-ÑенÑора. ПредÑтавлÑет из Ñебе ÑкалÑÑ€ диÑкретного, целого или реального типов, который чаÑто кодируетÑÑ Ð¼Ð°Ñштабированием шкалы параметра в размерноÑÑ‚ÑŒ целого. Сигнал Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ чаÑто проÑто индекÑируетÑÑ Ð¸Ð»Ð¸ кодируетÑÑ Ð¿Ð¾ адреÑу его Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² карте протоколу обмера и оÑмыÑленное название он получает в модели данных SCADA.</li> <li> <i>СигнализациÑ</i> — процеÑÑ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ перÑонала о нарушении технологичеÑкого процеÑÑа или работы Ð¾Ð±Ð¾Ñ€ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸. СпоÑобы Ñигнализации могут быть различных типов воздейÑÑ‚Ð²Ð¸Ñ Ð½Ð° органы чувÑтв человека Ñ Ñ†ÐµÐ»ÑŒÑŽ Ð¿Ñ€Ð¸Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ. ЧаÑто предуÑматриваютÑÑ Ñледующие типы Ñигнализации: <ul><li> <i>Ð¡Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ ÑигнализациÑ</i> — обычно оÑущеÑтвлÑетÑÑ Ð¿Ð¾ÑредÑтвом Ñмены цвета графичеÑкого объекта (миганием) Ð´Ð»Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑŽÑ‰Ð¸Ñ… Ñобытий и уÑтановкой Ñтатичных аварийных цветов (краÑный и жёлтый) Ð´Ð»Ñ Ñквитированных-подтверждённых Ñобытий.</li> <li> <i>ЗвуковаÑ</i> — оÑущеÑтвлÑетÑÑ Ð²Ñ‹Ð´Ð°Ñ‡ÐµÐ¹ звукового Ñигнала в момент Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ ÑобытиÑ. Тип звукового Ñигнала может быть как монотонным, так и Ñинтезированным речевым Ñообщением Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹ о нарушении.</li></ul></li> <li> <i>УÑтавка Ñигнализации</i> — уÑÐ»Ð¾Ð²Ð½Ð°Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкого параметра, преодоление которой ÑчитаетÑÑ Ð½ÐµÑˆÑ‚Ð°Ñ‚Ð½Ð¾Ð¹ Ñитуацией. Обычно предуÑматриваютÑÑ Ñледующие границы: <ul><li> <i>ВерхнÑÑ Ð¸ нижнÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ñ‹Ðµ границы</i> — границы аварийных значений технологичеÑкого параметра.</li> <li> <i>ВерхнÑÑ Ð¸ нижнÑÑ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ границы</i> — границы Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ â€” регламентные границы о выходе технологичеÑкого параметра за рабочий диапазон.</li> <li> <i>Отказ</i> — признак выхода Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° за аппаратные границы технологичеÑкого оборудованиÑ. Обычно характеризует отказ датчика, обрыв канала ÑвÑзи Ñ Ð´Ð°Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¼ или ПЛК.</li></ul></li></ul> <h3><span class="mw-headline" id="Used_abbreviations"><span class="mw-headline-number">1.2</span> Used abbreviations</span></h3> <ul><li> API — Application Programming Interface of OpenSCADA modules or extensions on internal language of OpenSCADA — <a href="User_API.html" title="Special:MyLanguage/Documents/User API">User API</a>.</li> <li> AWP — Automated Work Place. Usually it is system unit of computer system, display, mouse "manipulator" sometimes with keyboard, and other peripheral equipment, which serves to visualise data of the technological process, as well as issuance of control actions on TP.</li> <li> DAQ — Data Acquisition.</li> <li> DB — Database.</li> <li> <a href="Modules/DCON.html" title="Special:MyLanguage/Modules/DCON">DCON</a> — name of one of the communication protocols used in industry.</li> <li> EVAL — Error VALue, used in dynamic data and the <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">internal language</a> for specifying a specific value-sign of the data missing or error, which is different one for different value types, but they are transparently converted one to other. As a useful synonym to <b>EVAL</b> in the <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">internal language</a> is currently used <b>null</b>.</li> <li> FS — File System.</li> <li> GPL — General Public License under the conditions of which OpenSCADA distributed and may be used.</li> <li> GUI — Graphical User Interface.</li> <li> HMI — Human-Machine Interface.</li> <li> HTTP — HyperText Transfer Protocol.</li> <li> MOD — Matching to Object Device. Number of devices or PLC modules to whose being directly connected signals from sensors of TP for followed converting from analog to digital form and back. The conversion performs with goal of following processing of the technological parameters in PLC.</li> <li> <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a> — Modicon BUS is a serial communications protocol, in the variants RTU and ASCII, originally published by <a class="extiw" href="https://en.wikipedia.org/wiki/Programmable_logic_controller#Invention_and_early_development" title="wikipedia:Programmable logic controller">Modicon</a> in 1979 for use with its PLCs. Later it was expanded to work over TCP-IP and this variant was named ModBus/TCP.</li> <li> OS — Operation System.</li> <li> PLC — Programmable Logic Controller.</li> <li> QT — look for QT in the list of terms, it is not an acronym.</li> <li> SCADA — Supervisory Control and Data Acquisition.</li> <li> SO — Signal Object. Letters in the abbreviation have been rearranged to eliminate confusion with the abbreviation OS (see above)</li> <li> TP — Technological Process. Whole complex of technological equipment of the technological process.</li> <li> TUI — Terminal(Text) User Interface.</li> <li> UI — User Interface.</li> <li> VCA — Visual Control Area.</li></ul> <h2><span class="mw-headline" id=".D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_OpenSCADA"><span class="mw-headline-number">2</span> <span id="Installation" title="#Installation">УÑтановка OpenSCADA</span></span></h2> <p>УÑтановку OpenSCADA, в целом, можно оÑущеÑтвить Ð´Ð²ÑƒÐ¼Ñ ÑпоÑобами. Первый и проÑтой ÑпоÑоб — Ñто получить готовые пакеты Ð´Ð»Ñ Ð¸Ñпользуемого диÑтрибутива ОС Linux. Второй — Ñобрать OpenSCADA из иÑходных текÑтов. </p><p>Процедура уÑтановки Ñильно завиÑит от иÑпользуемого диÑтрибутива Linux и иÑчерпывающе её опиÑать в данном руководÑтве не предÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ‹Ð¼. ПоÑтому может понадобитьÑÑ Ð³Ð»ÑƒÐ±Ð¾ÐºÐ¾Ðµ знакомÑтво Ñ Ð¼ÐµÑ…Ð°Ð½Ð¸Ð·Ð¼Ð°Ð¼Ð¸ уÑтановки ПО выбранного диÑтрибутива Linux из его документации. Ð’ Ñлучае отÑутÑÑ‚Ð²Ð¸Ñ Ñƒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ‚Ð°ÐºÐ¸Ñ… знаний, умений и предпочтений к какому либо диÑтрибутиву Linux, наÑтоÑтельно рекомендуетÑÑ Ð²Ñ‹Ð±Ð¸Ñ€Ð°Ñ‚ÑŒ его по критерию Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ пакетов OpenSCADA и даже Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð², что обеÑпечит проÑтейшую и беÑпроблемную уÑтановку. </p><p>ЕÑли у Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÑ‚ затруднение уÑтановка не только OpenSCADA, но и диÑтрибутива Linux, то, на первое времÑ, он может воÑпользоватьÑÑ "живым" диÑтрибутивом Linux Ñ ÑƒÑтановленной и готовой Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ и Ð¸Ð·ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´ÐµÐ¼Ð¾Ð½Ñтрацией и полноценной OpenSCADA. ЕÑли его уÑтроит такое окружение быÑтрой доÑтупноÑти то он может оÑтановить Ñвой выбор на нём и уÑтановить. Ðа данный момент доÑтупны "живые" Ñборки на оÑнове диÑтрибутива Debian и ALTLinux (уÑтаревшее) в виде гибридных CD/DVD/USB-образов, на Ñтранице: <a class="external free" href="http://oscada.org/ru/glavnaja/zagruzit" rel="nofollow noreferrer noopener" target="_blank">http://oscada.org/ru/glavnaja/zagruzit</a>. Детальнее Ñмотрите в документе "<a href="How_to_Live_disk.html" title="Special:MyLanguage/Documents/How to/Live disk">Как Ñоздать Живой диÑк</a>". </p> <h3><span class="mw-headline" id=".D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_OpenSCADA_.D0.B8.D0.B7_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D1.8B.D1.85_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2"><span class="mw-headline-number">2.1</span> <span id="ReadyPacks" title="#ReadyPacks">УÑтановка OpenSCADA из готовых пакетов</span></span></h3> <p>УÑтановка из готовых пакетов, в Ñвою очередь, может оÑущеÑтвлÑÑ‚ÑŒÑÑ Ð´Ð²ÑƒÐ¼Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð°Ð¼Ð¸. Первый — проÑтейший, когда пакеты OpenSCADA уже приÑутÑтвуют в <a class="external text" href="http://oscada.org/ru/glavnaja/zagruzit/" rel="nofollow noreferrer noopener" target="_blank">ÑобÑтвенных репозиториÑÑ… пакетов OpenSCADA</a> или официальных, дополнительных репозиториÑÑ… иÑпользуемого диÑтрибутива ОС Linux. УÑтановка таких пакетов Ñто Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð·Ð°Ð¿ÑƒÑка типовой программы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ диÑтрибутива Ñ Ð¿Ð¾Ñледующим выбором пакетов OpenSCADA. Кроме проÑтой уÑтановки, репозитрий пакетов в целом позволÑет проÑто Ñодержать операционную ÑиÑтему обновленной, безопаÑной и актуальной! Второй ÑпоÑоб подразумевает получение пакетов OpenSCADA и уÑтановку их вручную. </p><p>Проверить наличие пакетов OpenSCADA в репозиториÑÑ… диÑтрибутивов Linux или OpenSCADA, а также загрузить пакеты OpenSCADA Ð´Ð»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ð¹ уÑтановки, можно на <a class="external text" href="http://oscada.org/ru/glavnaja/zagruzit/" rel="nofollow noreferrer noopener" target="_blank">Ñтранице загрузки официального Ñайта OpenSCADA</a>. ЗдеÑÑŒ Ð’Ñ‹ также можете получить конфигурацию Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ² пакетов OpenSCADA к пакетному менеджеру вашего диÑтрибутива Linux. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Загружать пакеты и подключать репозитории пакетов нужно непоÑредÑтвенно Ð´Ð»Ñ Ð²ÐµÑ€Ñии иÑпользуемого диÑтрибутива иначе, при уÑтановке, могут возникнут неразрешимые проблемы Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚Ñми. </p> <h4><span class="mw-headline" id=".D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.80.D0.B5.D0.BF.D0.BE.D0.B7.D0.B8.D1.82.D0.BE.D1.80.D0.B8.D1.8F_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2_.D0.B8_.D1.83.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_OpenSCADA_.D0.B8.D0.B7_.D0.BD.D0.B5.D0.B3.D0.BE"><span class="mw-headline-number">2.1.1</span> <span id="ReadyPacksRepo" title="#ReadyPacksRepo">Добавление Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð² и уÑтановка OpenSCADA из него</span></span></h4> <p>Репозитории Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ предоÑтавлÑÑŽÑ‚ÑÑ Ñамим проектом OpenSCADA, ÑÐ»ÑƒÐ¶ÐµÐ±Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… обычно раÑполагаетÑÑ Ñ€Ñдом Ñ Ñамими пакетами и обновлÑетÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки при Ñборке, Ñ‚.е. Ñти репозитории ÑвлÑÑŽÑ‚ÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ Ñвежими и предпочтительными. Ð¥Ð¾Ñ‚Ñ Ð¿Ð°ÐºÐµÑ‚Ñ‹ OpenSCADA вÑÑ‘ ещё можно вÑтретить в репозиториÑÑ… таких диÑтрибутивов ОС Linux: <a class="external text" href="http://www.altlinux.ru" rel="nofollow noreferrer noopener" target="_blank">ALTLinux</a> и диÑтрибутивах, оÑнованных на пакетной базе <a class="external text" href="http://fedoraproject.org" rel="nofollow noreferrer noopener" target="_blank">Fedora</a>, но они там, Ñкорее вÑего, будут Ñтарые, поÑкольку Ñборка в репозитории диÑтрибутивов разработчиками ÑÐµÐ¹Ñ‡Ð°Ñ Ð½Ðµ практикуетÑÑ! </p><p>ÐдреÑа репозиториев и конфигурацию менеджера репозиториев Ð’Ñ‹ можете получить на той-же Ñтранице загрузки OpenSCADA (<a class="external free" href="http://oscada.org/ru/glavnaja/zagruzit/" rel="nofollow noreferrer noopener" target="_blank">http://oscada.org/ru/glavnaja/zagruzit/</a>) или в примерах ниже. </p><p>При уÑтановке из Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð²Ñ‹Ð±Ð¸Ñ€Ð°ÐµÐ¼ только пакет Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸ÐµÐ¹ проекта OpenSCADA или моделью. Ð’ÑÑ‘ оÑтальное, ÑоглаÑно завиÑимоÑтей, будет выбрано и уÑтановлено автоматичеÑки. Обычно предуÑматриваютÑÑ Ñледующие пакеты такого рода: </p> <ul><li> <b>openscada-model-aglks</b>, <b>openscada-model-boiler</b> — проекты динамичеÑких моделей технологичеÑких процеÑÑов, которые по ÑовмеÑтительÑтву выполнÑÑŽÑ‚ функцию демонÑтрации OpenSCADA;</li> <li> <b>openscada-vis-station</b> — шаблонный проект SCADA Ñтанции, обычно — запуÑк в графичеÑком интерфейÑе и без Web;</li> <li> <b>openscada-server</b> — шаблонный проект Ñервера SCADA, запуÑкаемого в фоновом режиме — режим демона;</li> <li> <b>openscada-plc</b> — шаблонный проект ПЛК, запуÑкаемого в фоновом режиме — режим демона;</li> <li> <b>openscada</b> — типоваÑ-Ð¿Ð¾Ð»Ð½Ð°Ñ ÑƒÑтановка OpenSCADA.</li></ul> <p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ð’ Ñлучае Ñ <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Automation_Linux_distributive" title="Special:MyLanguage/Sub-projects/Automation Linux distributive">Linux ДиÑтрибутивом Ðвтоматизации</a> и пакетами верÑии продолжительной поддержки (LTS), к оÑновному названию пакетов добавлÑетÑÑ ÑÑƒÑ„Ñ„Ð¸ÐºÑ "-lts" — "openscada-lts", поÑкольку репозиторий один и он Ñодержит пакеты обоих ветвей, Рабочей и LTS. </p><p>УÑтановка-обновление из Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ñтым, но Ñпецифичным Ð´Ð»Ñ Ð´Ð¸Ñтрибутива Linux, оконного менеджера или отдельной программы работы Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñми и пакетами, поÑтому отошлём Ñ‡Ð¸Ñ‚Ð°Ñ‚ÐµÐ»Ñ Ðº ÑоответÑтвующей документации на диÑтрибутив или программу, которые он иÑпользует. ЗдеÑÑŒ-же вкратце раÑÑмотрим добавление Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¸ уÑтановку OpenSCADA Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ типовых инÑтрументов командной Ñтроки: </p><p><b><span id="ReadyPacksRepoDeb" title="#ReadyPacksRepoDeb">Репозитории пакетов, оÑнованные на менеджере APT (Debian, Ubuntu, ALTLinux)</span></b> — добавлÑÑŽÑ‚ÑÑ Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ загруженного файла "openscada.list" в директорию "/etc/apt/sources.list.d" или редактированием файла /etc/apt/sources.list, вÑтавкой одной Ñтроки:<br /> <i>Debian (LTS и Work, <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Automation_Linux_distributive#Debian" title="Special:MyLanguage/Sub-projects/Automation Linux distributive">репозиторий Linux автоматизації</a>):</i> "deb <a class="external free" href="http://ftp.oscada.org/Debian/12/openscada" rel="nofollow noreferrer noopener" target="_blank">http://ftp.oscada.org/Debian/12/openscada</a> ./"<br /> <i>Ubuntu (LTS):</i> "deb <a class="external free" href="http://ftp.oscada.org/OpenSCADA/LTS/Ubuntu/22.04" rel="nofollow noreferrer noopener" target="_blank">http://ftp.oscada.org/OpenSCADA/LTS/Ubuntu/22.04</a> ./"<br /> <i>Ubuntu (Work):</i> "deb <a class="external free" href="http://ftp.oscada.org/OpenSCADA/Work/Ubuntu/22.04" rel="nofollow noreferrer noopener" target="_blank">http://ftp.oscada.org/OpenSCADA/Work/Ubuntu/22.04</a> ./"<br /> УÑтановка: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>apt-get update apt-get install openscada-model-aglks </pre></div> <p><i>ALTLinux (LTS и Work, <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Automation_Linux_distributive#ALTLinux" title="Special:MyLanguage/Sub-projects/Automation Linux distributive">репозиторий Linux автоматизації</a>):</i> "rpm <a class="external free" href="http://ftp.oscada.org/ALTLinux/7" rel="nofollow noreferrer noopener" target="_blank">http://ftp.oscada.org/ALTLinux/7</a> openscada main"<br /> УÑтановка: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>apt-get update apt-get install openscada-Model.AGLKS </pre></div> <p>Добавление ключа проверки подпиÑи (подлинноÑти) Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¸ пакетов в нём (необÑзательно и иÑпользуетÑÑ Ð½Ðµ во вÑех репозиториÑÑ…): </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>wget -O - http://ftp.oscada.org/Misc/pkgSignKey <span class="p">|</span> sudo apt-key add - </pre></div> <p><b><span id="ReadyPacksRepoRH" title="#ReadyPacksRepoRH">Репозитории пакетов, оÑнованные на менеджере пакетов YUM (RedHat, Fedora, CentOs)</span></b> — добавлÑÑŽÑ‚ÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¾Ð¹ или Ñозданием файла /etc/yum.repos.d/openscada.repo Ñ Ñодержимым: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="k">[openscada]</span> <span class="na">name</span><span class="o">=</span><span class="s">OpenSCADA</span> <span class="c1">#CentoOs (LTS)</span> <span class="na">baseurl</span><span class="o">=</span><span class="s">http://ftp.oscada.org/OpenSCADA/LTS/CentOs/7</span> <span class="c1">#CentoOs (Work)</span> <span class="c1">#baseurl=http://ftp.oscada.org/OpenSCADA/Work/CentOs/6</span> <span class="c1">#Fedora (Work)</span> <span class="c1">#baseurl=http://ftp.oscada.org/OpenSCADA/Work/Fedora/12</span> <span class="na">enabled</span><span class="o">=</span><span class="s">1</span> <span class="na">gpgcheck</span><span class="o">=</span><span class="s">1</span> <span class="na">repo_gpgcheck</span><span class="o">=</span><span class="s">1</span> <span class="na">gpgkey</span><span class="o">=</span><span class="s">http://ftp.oscada.org/Misc/pkgSignKey</span> </pre></div> <p>УÑтановка: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>yum install openscada-Model.AGLKS </pre></div> <p><b>Репозитории пакетов SuSE YaST</b> — добавлÑÑŽÑ‚ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>zypper ar -f http://ftp.oscada.org/OpenSCADA/LTS/SuSE/15 OpenSCADA </pre></div> <p>УÑтановка: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>zypper in openscada-Model.AGLKS </pre></div> <h4><span class="mw-headline" id=".D0.A0.D1.83.D1.87.D0.BD.D0.B0.D1.8F_.D1.83.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2_OpenSCADA"><span class="mw-headline-number">2.1.2</span> Ð ÑƒÑ‡Ð½Ð°Ñ ÑƒÑтановка пакетов OpenSCADA</span></h4> <p>Ð”Ð»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ð¹ уÑтановки пакетов OpenSCADA их нужно загрузить из официального Ñайта или другого иÑточника. Загрузить обычно можно два набора пакетов. </p><p>Первый набор предÑтавлен двенадцатью пакетами: </p> <ul><li> <b>openscada</b> — пакет Ñо вÑеми файлами нужными Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка OpenSCADA в полном объёме, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð²Ñе модули;</li> <li> <b>openscada-server</b> — Ñодержит завиÑимоÑти, файл ÑÑ†ÐµÐ½Ð°Ñ€Ð¸Ñ Ð¸ конфигурацию проекта Ñервера Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка OpenSCADA в режиме ÑервиÑа-демона;</li> <li> <b>openscada-plc</b> — Ñодержит завиÑимоÑти, файл ÑценариÑ, конфигурацию проекта ПЛК Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка OpenSCADA в режиме ÑервиÑа-демона;</li> <li> <b>openscada-libdb-main</b> — оÑновные библиотеки OpenSCADA Ð´Ð»Ñ Ñбора данных и другого в БД SQLite;</li> <li> <b>openscada-libdb-vca</b> — библиотеки визуальных компонетов в БД SQLite;</li> <li> <b>openscada-model-aglks</b> — БД и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑкой модели реального времени "ÐГЛКС" (Демо: EN,UK,RU);</li> <li> <b>openscada-model-boiler</b> — БД и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑкой модели реального времени "Котёл" (EN,UK,RU);</li> <li> <b>openscada-doc-en</b> — offline Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ OpenSCADA английÑким ÐЗыком;</li> <li> <b>openscada-doc-uk</b> — offline Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ OpenSCADA украинÑкой мовой-речью;</li> <li> <b>openscada-doc-ru</b> — offline Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ OpenSCADA mRussian ÐЗыком;</li> <li> <b>openscada-dev</b> — пакет разработки из ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… модулей OpenSCADA;</li> <li> <b>openscada-dbg</b> — пакет отладки Ñ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð¹ информацией бинарных файлов Ð´Ð»Ñ <a href="How_to_Crash_report.html" title="Special:MyLanguage/Documents/How to/Crash report">отчёта</a> и поиÑка ошибок в программе.</li></ul> <p>Второй набор предÑтавлен порÑдка пÑтьюдеÑÑтью пакетами Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ модулей OpenSCADA по пакетам: </p> <ul><li> <b>openscada-core</b> — Ñодержит Ñдро OpenSCADA, базовую конфигурацию и иÑполнÑємые файлы;</li> <li> <b>openscada-db-*</b> — модули подÑиÑтемы "БД";</li> <li> <b>openscada-daq-*</b> — модули подÑиÑтемы "Сбор Данных";</li> <li> <b>openscada-arh-*</b> — модули подÑиÑтемы "Ðрхивы-ИÑториÑ";</li> <li> <b>openscada-tr-* </b> — модули подÑиÑтемы "ТранÑпорты";</li> <li> <b>openscada-prot-* </b> — модули подÑиÑтемы "ТранÑпортные протоколы";</li> <li> <b>openscada-ui-* </b> — модули подÑиÑтемы "ПользовательÑкие интерфейÑÑ‹";</li> <li> <b>openscada-spec-* </b> — модули подÑиÑтемы "Специальные";</li> <li> <b>openscada</b> — виртуальный пакет Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚Ñми Ð´Ð»Ñ ÑƒÑтановки типовой конфигурации OpenSCADA;</li> <li> <b>openscada-server</b> — Ñодержит завиÑимоÑти, файл ÑÑ†ÐµÐ½Ð°Ñ€Ð¸Ñ Ð¸ конфигурацию проекта Ñервера Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка OpenSCADA в режиме ÑервиÑа-демона;</li> <li> <b>openscada-plc</b> — Ñодержит завиÑимоÑти, файл ÑценариÑ, конфигурацию проекта ПЛК Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка OpenSCADA в режиме ÑервиÑа-демона;</li> <li> <b>openscada-vis-station</b> — виртуальный пакет Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚Ñми Ð´Ð»Ñ ÑƒÑтановки типовой конфигурации OpenSCADA как Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ SCADA-ÑтанциÑ;</li> <li> <b>openscada-libdb-main</b> — оÑновные библиотеки OpenSCADA Ð´Ð»Ñ Ñбора данных и другого в БД SQLite;</li> <li> <b>openscada-libdb-vca</b> — библиотеки визуальных компонетов в БД SQLite;</li> <li> <b>openscada-model-aglks</b> — БД и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑкой модели реального времени "ÐГЛКС" (Демо: EN,UK,RU);</li> <li> <b>openscada-model-boiler</b> — БД и ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑкой модели реального времени "Котёл" (EN,UK,RU);</li> <li> <b>openscada-doc-en</b> — offline Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ OpenSCADA английÑким ÐЗыком;</li> <li> <b>openscada-doc-uk</b> — offline Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ OpenSCADA украинÑкой мовой-речью;</li> <li> <b>openscada-doc-ru</b> — offline Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ OpenSCADA mRussian ÐЗыком;</li> <li> <b>openscada-dev</b> — пакет разработки из ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… модулей OpenSCADA;</li> <li> <b>openscada-dbg</b> — пакет отладки Ñ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð¾Ð¹ информацией бинарных файлов Ð´Ð»Ñ <a href="How_to_Crash_report.html" title="Special:MyLanguage/Documents/How to/Crash report">отчёта</a> и поиÑка ошибок в программе.</li></ul> <p>Первый набор пакетов больше предназначен Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñтой-ручной уÑтановки поÑкольку Ñодержит только двенадцÑÑ‚ÑŒ пакетов. Второй набор предназначен Ð´Ð»Ñ Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² репозиторий диÑтрибутива Linux и поÑледующей уÑтановки их Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ пакетного менеджера, оÑущеÑтвлÑющего автоматичеÑкое разрешение завиÑимоÑтей, а также позволÑет уÑтановить только нужные компоненты OpenSCADA, тем Ñамым Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð¸Ñ€ÑƒÑ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐµ окружение. </p><p>Ручную уÑтановку DEB-пакетов первого набора можно оÑущеÑтвить командой, предварительно Ñменив рабочую директорию на директорию Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>dpkg -i openscada-libdb.main_0.9.0-1_all.deb openscada-libdb.vca_0.9.0-1_all.deb openscada-model.aglks_0.9.0-1_all openscada_0.9.0-1_i386.deb </pre></div> <p>Ручную уÑтановку RPM-пакетов первого набора можно оÑущеÑтвить командой, предварительно Ñменив рабочую директорию на директорию Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>rpm -i openscada-LibDB.Main-0.9.0-alt1.noarch.rpm openscada-LibDB.VCA-0.9.0-alt1.noarch.rpm openscada-Model.AGLKS-0.9.0-alt1.i586.rpm openscada-0.9.0-alt1.i586.rpm </pre></div> <p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ð’ процеÑÑе Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑƒÑтановки могут возникнуть ошибки, ÑвÑзанные Ñ Ð½ÐµÑƒÐ´Ð¾Ð²Ð»ÐµÑ‚Ð²Ð¾Ñ€Ñ‘Ð½Ð½Ñ‹Ð¼Ð¸ завиÑимоÑÑ‚Ñми. При ручной уÑтановке из пакетов удовлетворÑÑ‚ÑŒ их нужно будет вручную, подобно уÑтановке пакетов OpenSCADA, или через менеджер пакетов диÑтрибутива Linux. Случаи Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼ завиÑимоÑти могут быть даже при уÑтановке через пакетный менеджер, еÑли иÑпользуетÑÑ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ð¹ OpenSCADA, который не ÑоответÑтвует диÑтрибутиву Linux или его верÑии, или-же не подключены оÑновные репозитории пакетов Ñамого диÑтрибутива. Ð’ пакетном менеджере APT, Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼ внешних завиÑимоÑтей, которые возникли при ручной уÑтановке OpenSCADA, можно иÑпользовать команду: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>apt-get install -f </pre></div> <h3><span class="mw-headline" id=".D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0-.D1.81.D0.B1.D0.BE.D1.80.D0.BA.D0.B0_.D0.B8.D0.B7_.D0.B8.D1.81.D1.85.D0.BE.D0.B4.D0.BD.D1.8B.D1.85_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.BE.D0.B2"><span class="mw-headline-number">2.2</span> УÑтановка-Ñборка из иÑходных текÑтов</span></h3> <p>ЕÑли отÑутÑтвует возможноÑÑ‚ÑŒ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ñ‹Ñ… пакетов OpenSCADA Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ диÑтрибутива, то оÑтаётÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ вариант Ñборки OpenSCADA из иÑходных текÑтов. Ðтот процеÑÑ Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ð¾ опиÑан в документе "<a href="../en/How_to_Build_from_source.html" title="Special:MyLanguage/Documents/How to/Build from source">Как Ñобрать из иÑходных текÑтов</a>". </p> <h2><span class="mw-headline" id=".D0.9F.D0.B5.D1.80.D0.B2.D0.B8.D1.87.D0.BD.D0.B0.D1.8F_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.B8_.D0.B7.D0.B0.D0.BF.D1.83.D1.81.D0.BA"><span class="mw-headline-number">3</span> ÐŸÐµÑ€Ð²Ð¸Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ запуÑк</span></h2> <p>Ð”Ð»Ñ Ð½Ð°ÑˆÐ¸Ñ… оÑновных задач Ñ OpenSCADA, в рамках Ñтого документа, нужно уÑтановить пакет Ñ Ð‘Ð” модели "ÐГЛКС" — <b>openscada-model-aglks</b>, про что можно детально узнать из предыдущего раздела. Конечно, еÑли вы иÑпользуете <a href="How_to_Live_disk.html" title="Special:MyLanguage/Documents/How to/Live disk">Живой ДиÑк</a> то у Ð²Ð°Ñ Ð²ÑÑ‘ нужное уже еÑÑ‚ÑŒ. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ðе раÑÑматривайте тут уÑтановку-Ñборку OpenSCADA из иÑходных текÑтов поÑкольку требование квалификационного ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ, Ð´Ð»Ñ Ñтой задачи, значительно выше ÑƒÑ€Ð¾Ð²Ð½Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð° в целом и тут неизбежно будут неÑоответÑÑ‚Ð²Ð¸Ñ Ñ Ñ€ÑƒÐºÐ¾Ð²Ð¾Ð´Ñтвом, ввиду крайне вероÑтных различий в иÑходной конфигурации. </p><p>УÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð‘Ð” модели "ÐГЛКС" не нуждаетÑÑ Ð² предварительной наÑтройке. ЕÑли-же нужно выполнить оÑобую наÑтройку, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ñ‚Ð»Ð¸Ñ‡Ð°ÐµÑ‚ÑÑ Ð¾Ñ‚ базовой, то воÑпользуйтеÑÑŒ <a href="Program_manual.html#Config" title="Special:MyLanguage/Documents/Program manual">руководÑтвом по программе</a>. Ð’ процеÑÑе чего Вам может понадобитьÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ типовые учётные запиÑи и пароли OpenSCADA (не имеют Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ðº учётным запиÑÑм ОС), Ñ…Ð¾Ñ‚Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ и ново-Ñозданные конфигурации запуÑкаютÑÑ Ð¾Ñ‚ привилегированного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ вы можете легко изменить любую из них: </p> <ul><li> Суперпользователь (root), пароль — "openscada".</li> <li> Пользователь (user), пароль — "user".</li> <li> Пример отдельного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (roman), пароль — "roman".</li></ul> <p>ДемонÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ OpenSCADA на оÑнове БД модели "ÐГЛКС" Ñто не тоже, что обычно предоÑтавлÑÑŽÑ‚ коммерчеÑкие производители ПО Ñ Ñ†ÐµÐ»ÑŒÑŽ продемонÑтрировать возможноÑти, но иÑключить или уÑложнить нормальную работу путём Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹. ДемонÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ OpenSCADA, Ñто полно-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°, предоÑтавлÑÑŽÑ‰Ð°Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ñ‹ реализации и наÑтройки различных компонентов. Ðа оÑнове БД модели "ÐГЛКС" и других моделей OpenSCADA можно Ñоздавать ÑобÑтвенные проекты, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿Ñ€ÐµÐ´Ð¾Ñтавленные наработки. Ðо поÑле Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ опыта лучше новые проекты Ñоздавать Ñ Ñ‡Ð¸Ñтой конфигурации Ñо Ñтандартными библиотеками OpenSCADA, про что далее будет отмечено; и Ñто чтобы не замуÑоривать проект ненужными там компонентами чем ÑƒÐ²ÐµÐ»Ð¸Ñ‡Ð¸Ð²Ð°Ñ Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº реÑурÑам и непредÑказуемоÑÑ‚ÑŒ во Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ð»Ð³Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ ÑкÑплуатации! </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> ДинамичеÑÐºÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ компреÑÑорной Ñтанции на 6 газовых компреÑÑоров, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð»ÐµÐ¶Ð¸Ñ‚ в оÑнове демонÑтрационной БД, требует заметных реÑурÑов, а именно — процеÑÑора Ñ Ñ‡Ð°Ñтотой более 1 ГГц (x86) и памÑти до 200 МБ. Данные вычиÑлительные реÑурÑÑ‹ требуютÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно Ð´Ð»Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑкой модели и не ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±Ñ‰Ð¸Ð¼ показателем реÑурÑоёмкоÑти программы в конечных задачах! Ð¢Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº памÑти, наоборот, ÑвлÑÑŽÑ‚ÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ñ‹Ð¼ показателем Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкой Ñтанции ÐÐ Ðœ похожей ÑложноÑти. </p><p>Общий процеÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ SCADA-ÑиÑтемы Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ верхнего ÑƒÑ€Ð¾Ð²Ð½Ñ â€” ÐÐ Ðœ оператора, можно уÑловно разделить на два Ñтапа: </p> <ul><li> ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸Ñточника данных, Ñоздание базы данных (БД) параметров Ñтих иÑточников, Ñоздание вычиÑлительных логичеÑких параметров и наÑтройка иÑтории.</li> <li> Формирование визуального предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… ТП, путём ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа оператора в виде: мнемоÑхем, групп графиков, групп контуров, документов и другое.</li></ul> <p>Итак, нашей конечной целью и целью Ñтого документа ÑвлÑетÑÑ Ð¿Ð¾Ñтроение полноценной конфигурации локальной SCADA-Ñтанции, объединённую Ñ Ñервером, и Ñ ÑмулÑцией иÑточника данных на оÑнове Ñтой демонÑтрационной БД (РиÑ.3). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:461px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_SimpleStationAndServer_ru.png"><img class="thumbimage" height="477" src="files/QuickStart_SimpleStationAndServer_ru.png" width="459" /></a> <div class="thumbcaption">РиÑ. 3. ПроÑтое объединённое подключение Ñтанции и Ñервера SCADA Ñ Ð¸Ñточником данных в демонÑтрационной БД.</div></div></div></div> <p>По ходу, мы ознакомимÑÑ Ñ Ñ‚Ð°ÐºÐ¸Ð¼Ð¸ важными ролÑми OpenSCADA как: Ñервер Ñбора, архивации, визуализации; Ñреда иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐŸÐ›Ðš и ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°. Ðо перед Ñтим мы оÑмотрим OpenSCADA и её возможноÑти в целом. </p> <h3><span class="mw-headline" id=".D0.9E.D0.B1.D1.89.D0.B8.D0.B9_.D0.BE.D0.B1.D0.B7.D0.BE.D1.80"><span class="mw-headline-number">3.1</span> Общий обзор</span></h3> <p>ЗапуÑтить локальное иÑполнение OpenSCADA Ñ Ð‘Ð” модели "ÐГЛКС" можно из меню Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ Ñтола в разделе "Графика", пункт "Модель "ÐГЛКС" на открытой SCADA ÑиÑтеме" Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð½Ð¾Ð¹ иконкой (РиÑ.3.1.1). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1026px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_demenu_oscada_ru.png"><img class="thumbimage" height="768" src="files/QuickStart_demenu_oscada_ru.png" width="1024" /></a> <div class="thumbcaption">РиÑ. 3.1.1. Пункт меню Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ Ñтола Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ запуÑка демонÑтрации OpenSCADA.</div></div></div></div> <p>Локальный запуÑк также можно оÑущеÑтвить из конÑоли, командой: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>openscada_AGLKS </pre></div> <p>ПоÑле запуÑка мы получим окно графичеÑкого конфигуратора OpenSCADA — <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">QTCfg</a> (РиÑ.3.1.2) Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¾Ð¹ корневой Ñтраницей. ДемонÑÑ‚Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ð‘Ð” Ñпециально наÑтроена так, чтобы первым при запуÑке поÑвлÑлоÑÑŒ окно конфигуратора. Ð’ дальнейшем можно открыть окно разработки графичеÑких интерфейÑов пользователÑ, а также запуÑтить проект пользовательÑкого интерфейÑа на иÑполнение. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:741px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_QTCfg_root.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_QTCfg_root.png" width="739" /></a> <div class="thumbcaption">РиÑ. 3.1.2. Программный конфигуратор OpenSCADA — QTCfg, ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница.</div></div></div></div> <p>Программный конфигуратор OpenSCADA ÑвлÑетÑÑ Ð¾Ñновным и доÑтаточным ÑредÑтвом Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ любого компонента OpenSCADA. Как и многие компоненты OpenSCADA, конфигуратор реализован в виде модулÑ. Кроме конфигуратора QTCfg доÑтупны и другие конфигураторы, выполнÑющие те же функции, но реализованные на оÑнове других технологий. Ðапример, таковыми ÑвлÑÑŽÑ‚ÑÑ Web-конфигураторы: <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">WebCfgD</a> и <a href="Modules/WebCfg.html" title="Special:MyLanguage/Modules/WebCfg">WebCfg</a>. </p><p>Ð’Ñе дейÑÑ‚Ð²Ð¸Ñ Ð² дальнейшем мы будем раÑÑматривать только в конфигураторе QTCfg, Ñ…Ð¾Ñ‚Ñ Ð¸Ñ… можно будет выполнить и в других конфигураторах. </p><p>Структуру интерфейÑа окна конфигуратора можно детально раÑÑмотреть по <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">ÑÑылке</a>. Ð”Ð»Ñ Ð½Ð°Ñ ÑÐµÐ¹Ñ‡Ð°Ñ Ð±Ð¾Ð»ÐµÐµ важно раÑÑмотреть вÑе доÑтупные графичеÑкие интерфейÑÑ‹ OpenSCADA, поÑтому нажмём предпоÑледнюю Ñверху иконку на панели инÑтрументов, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ñ‚ÐºÑ€Ð¾ÐµÑ‚ окно разработки пользовательÑкого интерфейÑа (РиÑ.3.1.3). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:897px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Vision_dev_ru.png"><img class="thumbimage" height="621" src="files/QuickStart_Vision_dev_ru.png" width="895" /></a> <div class="thumbcaption">РиÑ. 3.1.3. Окно разработки пользовательÑкого интерфейÑа.</div></div></div></div> <p>Далее можем запуÑтить проект "ÐГЛКС" на иÑполнение, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ выбираем его в перечне проектов и запуÑкаем, Ð½Ð°Ð¶Ð¸Ð¼Ð°Ñ Ð½Ð° первую Ñлева иконку на панели инÑтрументов, или в контекÑтном меню. Ð’ результате чего получим окно интерфейÑа конечного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ â€” оператора (РиÑ.3.1.4). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1026px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Vision_run_ru.png"><img class="thumbimage" height="719" src="files/QuickStart_Vision_run_ru.png" width="1024" /></a> <div class="thumbcaption">РиÑ. 3.1.4. Окно конечного интерфейÑа Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° "AGLKS".</div></div></div></div> <p>ПоÑтроение и иÑполнение пользовательÑких интерфейÑов оÑущеÑтвлÑетÑÑ <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">модулем Vision</a> подÑиÑтемы "ПользовательÑкие интерфейÑÑ‹". Кроме Ñтого Ð¼Ð¾Ð´ÑƒÐ»Ñ ÐµÑ‰Ñ‘ доÑтупны иные модули визуализации, например, OpenSCADA предоÑтавлÑет <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">модуль WebVision</a>, который позволÑет иÑполнÑÑ‚ÑŒ проекты разработанные в интерфейÑе Ð¼Ð¾Ð´ÑƒÐ»Ñ Vision, но поÑредÑтвом Web-технологий и Ñтандартного Web-браузера. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> For accessing the Web-interfaces of need host on the Figure 3 you can sequentially try such URL: <a class="external free" href="http://localhost:10002" rel="nofollow noreferrer noopener" target="_blank">http://localhost:10002</a>, <a class="external free" href="http://localhost:10003" rel="nofollow noreferrer noopener" target="_blank">http://localhost:10003</a>, <a class="external free" href="http://localhost:10004" rel="nofollow noreferrer noopener" target="_blank">http://localhost:10004</a>. </p><p>Ð’Ñе дейÑÑ‚Ð²Ð¸Ñ Ð² дальнейшем будем раÑÑматривать только в интерфейÑе Ð¼Ð¾Ð´ÑƒÐ»Ñ Vision. </p><p>Таким образом мы запуÑтили демонÑтрацию OpenSCADA и познакомилиÑÑŒ Ñ Ð¾Ñновным набором инÑтрументов. Ð’ дальнейшем будем их иÑпользовать в конфигурации OpenSCADA Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ верхнего ÑƒÑ€Ð¾Ð²Ð½Ñ â€” ÐÐ Ðœ оператора и других задач. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Закроем программу через ÑоответÑтвующий пункт меню "Файл", что нужно Ñделать обÑзательно иначе её дальнейший фоновый запуÑк не Ñможет открыть портов уже занÑÑ‚Ñ‹Ñ… Ñтой программой. </p> <h3><span class="mw-headline" id=".D0.A4.D0.BE.D0.BD.D0.BE.D0.B2.D0.BE.D0.B5_.D0.B8_.D1.83.D0.B4.D0.B0.D0.BB.D1.91.D0.BD.D0.BD.D0.BE.D0.B5_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.E2.80.94_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.2C_.D1.81.D1.80.D0.B5.D0.B4.D0.B0_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D0.9F.D0.9B.D0.9A_.D0.B8_.D1.83.D0.B4.D0.B0.D0.BB.D1.91.D0.BD.D0.BD.D0.B0.D1.8F_.D1.80.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0"><span class="mw-headline-number">3.2</span> <span id="Demon" title="#Demon">Фоновое и удалённое выполнение — Ñервер, Ñреда иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐŸÐ›Ðš и ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°</span></span></h3> <p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ð’Ñе конÑольные операции можете выполнить в конÑольном терминале, например, программа "konsole" в окружении Живого ДиÑка из диалога запуÑка по Alt+F2. И каталог "{HOME}" тут Ñто "<b>/home/user</b>". </p><p>ÐžÑ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° OpenSCADA в отдельном каталоге делает проÑтым запуÑк готовых проектов в проÑтранÑтве ÑервиÑа — иÑполнение в фоне, а также дальнейшее обновление и Ñопровождение Ñтого проекта без прÑмого удаленного контролÑ. ФактичеÑки, вы можете разрабатывать проект локально, держа его каталог в пользовательÑком рабочем каталоге (типично "{HOME}/.openscada"), а Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка в проÑтранÑтве ÑервиÑа только копировать или паковать, передавать на удалённое рабочее уÑтройÑтво и раÑпаковывать в ÑиÑтемный рабочий каталог (типично "/usr/share/openscada"). </p><p>СервиÑное-фоновое иÑполнение программ в Linux обÑлуживаетÑÑ ÑоответÑтвующим образом Ñформированным Ñценарием-Ñкриптом, который размещаетÑÑ Ð² каталоге "/etc/ini.d" и должен быть отдельным на каждый проект OpenSCADA, который запуÑкаетÑÑ Ð² ÑервиÑном проÑтранÑтве. Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð¸Ñ Ð¸ иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾Ñти заниматьÑÑ Ñозданием ÑобÑтвенных Ñценариев, OpenSCADA предоÑтавлÑет ÑоответÑтвующие Ð´Ð»Ñ Ñтандартных Ñлучаев-профилей и которые обычно поÑтавлÑÑŽÑ‚ÑÑ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ <b>openscada-server</b> и <b>openscada-plc</b> (<b>openscada-lts-server</b> и <b>openscada-lts-plc</b> Ð´Ð»Ñ LTS). </p><p>Therefore, to launch <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Model_AGLKS" title="Special:MyLanguage/Using/Model AGLKS">the AGLKS library project</a> in the service space, we: </p> <ul><li> install the packages <b>openscada-model-aglks</b> (<b>openscada-lts-model-aglks</b> for LTS) and <b>openscada-server</b> (<b>openscada-lts-server</b> for LTS), if they were not installed yet and that is not environments of the <a href="How_to_Live_disk.html" title="Special:MyLanguage/Documents/How to/Live disk">Live Disk</a> or the <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Automation_Linux_distributive" title="Special:MyLanguage/Sub-projects/Automation Linux distributive">Linux Automation</a> from the Disk installation;</li> <li> start the project "AGLKS", for getting its folder in the user's work folder;</li> <li> copy the project "AGLKS" folder to the system work folder also renaming to "server", previously stop the background execution of the project "server" and remove its project folder; for example, in that way from the console:</li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 30pt"><pre><span class="c"># Connect from the superuser</span> su - <span class="c"># ... for the live disk and some other Linux environments</span> sudo bash <span class="c"># Stop down of execution of the previous server configuration and remove its folder</span> systemctl stop openscada-server.service <span class="c"># for SystemD</span> service openscada-server stop <span class="c"># for SysVinit</span> rm -R /usr/share/openscada/server <span class="c"># ... for LTS</span> systemctl stop openscada-lts-server.service <span class="c"># for SystemD</span> service openscada-lts-server stop <span class="c"># for SysVinit</span> rm -R /usr/share/openscada/server <span class="c"># Copy the project "AGLKS" from the user home folder "{HOME}" also renaming to "server"</span> cp -R <span class="o">{</span>HOME<span class="o">}</span>/.openscada/AGLKS /usr/share/openscada/server <span class="c"># Start the server already in the project "AGLKS"</span> systemctl start openscada-server.service <span class="c"># for SystemD</span> service openscada-server start <span class="c"># for SysVinit</span> <span class="c"># ... for LTS</span> systemctl start openscada-lts-server.service <span class="c"># for SystemD</span> service openscada-lts-server start <span class="c"># for SysVinit</span> </pre></div> <p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Отметьте, что локально вы можете не копировать каталог проекта целиком, а только уÑтановить на него ÑимволичеÑкую ÑÑылку, но вы получите риÑк двойного иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° на общий каталог и данные, что приводит к аварийному завершению одного иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ их обоих! </p><p>Отличие иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° в Ñреде ÑервиÑа-фона от пользовательÑкой Ñреды рабочего Ñтола ÑобÑтвенно одно, еÑтеÑтвенно кроме отÑутÑÑ‚Ð²Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ графичеÑкого интерфейÑа, Ñто — отÑутÑтвие в фоне Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸, Ñ‚.е. Ñзык интерфейÑа там будет ÐнглийÑкий. И что можно проÑто иÑправить Ñменой или добавлением <a href="#CfgFilePrm">конфигурационного параметра</a> <b><prm id="Lang">ru_RU.UTF-8</prm></b> в Ñекции-теге "station" файла <b>oscada.xml</b> фонового проекта. </p><p><br /> Таким образом вы получите демонÑтрационную БД (проект "ÐГЛКС"), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÐµÑ‚ в фоне, что однако мы не увидим пока не попробуем подключитьÑÑ Ðº Ñтой конфигурации, про что ниже. Теперь, при каждом запуÑке компьютера, она будет таким образом запуÑкатьÑÑ Ð¸ работать в фоне. Ð’ целом, именно так оÑущеÑтвлÑетÑÑ Ð·Ð°Ð¿ÑƒÑк и выполнение Ñерверных конфигураций, <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Embedding_and_PLC" title="Special:MyLanguage/Sub-projects/Embedding and PLC">окружений ПЛК и одноплатных ПК</a> вроде <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Raspberry_Pi" title="Special:MyLanguage/Using/Raspberry Pi">RaspberyPi</a>. </p><p>ЕÑли у Ð²Ð°Ñ Ð²Ñе-же возникли проблемы при работе Ñ ÐºÐ¾Ð½Ñолью-терминалом или вы Ñознательно хотите фонового иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² графичеÑком окружении — так называемого "запуÑка или Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð² ÑиÑтемный лоток", тогда на Ñтой Ñтадии вы можете Ñнова запуÑтить демонÑтрационную конфигурацию, как опиÑано в начале Ñтого раздела (РиÑ.3.1.1), уÑтановить параметр <b>Сворачивать или запуÑкать в ÑиÑтемный лоток</b> <a href="Modules/QTStarter.html#Cfg" title="Special:MyLanguage/Modules/QTStarter">Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.QTStarter</a> и закрыть окно конфигуратора, чтобы проект модели ÐГЛКС ÑвернулÑÑ Ð² ÑиÑтемный лоток. </p> <h3><span class="mw-headline" id=".D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.BE.D0.B1.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0"><span class="mw-headline-number">3.3</span> <span id="UserPrjCrt" title="#UserPrjCrt">Создание ÑобÑтвенного проекта</span></span></h3> <p>Ð’ окне менеджера проектов OpenSCADA (РиÑ.3.3) Ñоздадим наш ÑобÑтвенный проект, который можно вызвать из меню Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ Ñтола в разделе "Графика" общим пунктом "ÐžÑ‚ÐºÑ€Ñ‹Ñ‚Ð°Ñ SCADA-ÑиÑтема" Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð½Ð¾Ð¹ иконкой (РиÑ.3.1.1) или командой из конÑоли-терминала: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>openscada </pre></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:802px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ProjManager_ru.png"><img class="thumbimage" height="509" src="files/QuickStart_ProjManager_ru.png" width="800" /></a> <div class="thumbcaption">РиÑ. 3.3. Окно менеджера проектов OpenSCADA.</div></div></div></div> <p>Ð’ Ñтом окне мы также можем проверить фоновое иÑполнение Ñерверной и демонÑтрационной конфигураций. </p><p>Рименно, нажмём ÑоответÑтвующую кнопку <b>Создать-обновить проект</b> и введём название нового проекта — <b>Start</b>. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> When you want to check yourself for some problems or other reasons, you may download <a class="external text" href="http://ftp.oscada.org/OpenSCADA/Projects/Start_QuickStart.backup" rel="nofollow noreferrer noopener" target="_blank">backup</a> of the already ready OpenSCADA "Start" project and restore it by context menu in the same window Figure 3.3. You have to place the backup file in directory of OpenSCADA user projects — "~/.openscada/", like to from the console-terminal: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>wget http://ftp.oscada.org/OpenSCADA/Projects/Start_QuickStart.backup -P ~/.openscada/ </pre></div> <h4><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.83.D0.B4.D0.B0.D0.BB.D1.91.D0.BD.D0.BD.D1.8B.D1.85_.D0.B8_.D1.84.D0.BE.D0.BD.D0.BE.D0.B2.D1.8B.D1.85_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B9"><span class="mw-headline-number">3.3.1</span> <span id="RemConUse" title="#RemConUse">Подключение и иÑпользование удалённых и фоновых конфигураций</span></span></h4> <p>Теперь мы можем попробовать удалённо подключитьÑÑ Ðº фоновому демонÑтрационному проекту, поÑмотреть на его конфигурацию и запуÑтить демонÑтрационный проект на локальное иÑполнение из Ñервера визуализации. </p><p>Ðа Ñтранице "ТранÑпорты" (РиÑ.3.3.1.1) в режиме <b>ПользовательÑкий и СиÑтемный</b> Ñоздадим подключение к нашей фоновой демонÑтрации "AGLKS" как Ñтанции OpenSCADA. Укажем там транÑпорт <b>Сокеты</b>, Ð°Ð´Ñ€ÐµÑ <b>localhost</b>, Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ <b>root</b> и пароль <b>openscada</b>. ПоÑле Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´ÐµÑ€ÐµÐ²Ð° навигации конфигуратора командой контекÑтного меню мы должны получить новый корневой пункт Ñтого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ Ñможем контролировать удалённую-фоновую Ñтанцию Ñ Ñтого конфигуратора. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> ЕÑли пункт удалённой Ñтанции поÑвилÑÑ, но отображает отÑутÑтвие подключениÑ, то вы допуÑтили ошибку в конфигурации выше или ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð°Ñ ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Ð½Ðµ доÑтупна, что, в нашем Ñлучае, может означать только то, что она не работает в фоне, а значит вернитеÑÑŒ к <a href="#Demon">ÑоответÑтвующему разделу</a> и повторите операции в нём. </p><p>ЕÑли вÑÑ‘ работает, то Ñохраним Ñту конфигурацию, нажав вторую иконку Ñлева на панели инÑтрументов наверху, поÑкольку мы ещё воÑпользуемÑÑ ÐµÑŽ Ð´Ð»Ñ Ð¿Ñ€Ñмого ÑˆÐ»ÑŽÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² Ñбора данных из демонÑтрационного проекта, как ПЛК. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:815px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_TrRemStationsAndBrowse.png"><img class="thumbimage" height="623" src="../en/files/QuickStart_TrRemStationsAndBrowse.png" width="813" /></a> <div class="thumbcaption">РиÑ. 3.3.1.1. Страница "ТранÑпорты" внешних хоÑтов OpenSCADA и обзор дерева OpenSCADA удалённой-фоновой Ñтанции.</div></div></div></div> <p>Ðа Ñтранице конфигурации визуализатора UI.Vision (РиÑ.3.3.1.2) выберем: </p> <ul><li> Ñтанцию движка СВУ — "<b>AGLKS</b>";</li> <li> Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð·Ð°Ð¿ÑƒÑка — <b>оÑтавим пуÑтым</b>;</li> <li> пароль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñтой удалённой Ñтанции — <b>оÑтавим пуÑтым</b>;</li> <li> проект(и) автоматичеÑкого иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ â€” также <b>оÑтавим пуÑтым</b>, поÑкольку мы хотим увидеть возможноÑÑ‚ÑŒ удалённой разработки.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:918px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_RemoteVisionCfg.png"><img class="thumbimage" height="601" src="../en/files/QuickStart_RemoteVisionCfg.png" width="916" /></a> <div class="thumbcaption">РиÑ. 3.3.1.2. Страница конфигурации визуализатора UI.Vision.</div></div></div></div> <p>ПоÑледующий запуÑк Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.Vision, второй иконкой Ñ ÐºÐ¾Ð½Ñ†Ð° на панели инÑтрументов наверху, должен привеÑти Ñреду визуальной разработки к уÑтановке Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ Ñервером визуализации фонового демонÑтрационного проекта. Где вы можете оÑущеÑтвлÑÑ‚ÑŒ удалённую разработку (РиÑ.3.3.1.3) и запуÑкать проекты Ñ Ñтого Ñервера визуализации на иÑполнение (РиÑ.3.3.1.4). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:888px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_RemoteVisionDev_ru.png"><img class="thumbimage" height="628" src="files/QuickStart_RemoteVisionDev_ru.png" width="886" /></a> <div class="thumbcaption">РиÑ. 3.3.1.3. Ðкран удалённой разработки UI.Vision Ð´Ð»Ñ Ñервера визуализации "ÐГЛКС".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1026px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_RemoteVisionRun_ru.png"><img class="thumbimage" height="719" src="files/QuickStart_RemoteVisionRun_ru.png" width="1024" /></a> <div class="thumbcaption">РиÑ. 3.3.1.4. Ðкран удалённого иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ UI.Vision Ð´Ð»Ñ Ñервера визуализации "ÐГЛКС".</div></div></div></div> <p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ðту конфигурацию удалённого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº Ñерверу визуализации ÑохранÑÑ‚ÑŒ не нужно и поле конфигурации "Ð¡Ñ‚Ð°Ð½Ñ†Ð¸Ñ Ð´Ð²Ð¸Ð¶ÐºÐ° СВУ" (РиÑ.3.3.1.2) нужно вернуть в "<b><Локально></b>", а Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñтанции уÑтановить в "<b>root</b>" — поÑле чого <b>Ñохранить</b>. </p><p>ВозможноÑÑ‚ÑŒ удалённого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ разработки иногда ÑвлÑетÑÑ ÐµÐ´Ð¸Ð½Ñтвенным ÑпоÑобом оÑущеÑтвить разработку или корректировку не только Ð´Ð»Ñ Ñерверных конфигураций иÑключительно Ñ WEB-интерфейÑом, но и Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¹ Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾ÑŽ визуализацией, когда Ñамо окружение локальной визуализации непригодное или ограниченное Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñреды разработки Ð¼Ð¾Ð´ÑƒÐ»Ñ UI.Vision, например, таких как Ñмартфоны, планшеты и другие мобильные уÑтройÑтва Ñ Ð¼Ð°Ð»Ñ‹Ð¼ Ñкраном, иÑключительно ÑенÑорным вводом (<a class="external" href="http://oscada.org/wiki/Sub-projects/Adaption_to_Android" title="Sub-projects/Adaption to Android">Android</a>) или ограничениÑми, вроде невозможноÑти Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÑиÑтемной виртуальной клавиатуры (<a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Nokia_Linux" title="Special:MyLanguage/Using/Nokia Linux">Nokia N9</a>). И Ñту удалённую разработку в оÑновном можно оÑущеÑтвлÑÑ‚ÑŒ в процеÑÑе иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° — горÑÑ‡Ð°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°, что оÑобенно актуально Ð´Ð»Ñ Web-интерфейÑов и локальных интерфейÑов, которые запуÑкаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в окне иÑполнениÑ. Что каÑаетÑÑ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¹ конфигурации, то на один локальный конфигуратор, как центр админиÑтрированиÑ, можно Ñобрать вÑе удалённые Ñтанции в Ñети Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ñтанции в Ñкрытых ÑетÑÑ… Ñтанций первого ÑƒÑ€Ð¾Ð²Ð½Ñ "поднÑÑ‚ÑŒ" которые можно аргументом "Уровень поднÑтиÑ" (РиÑ.3.3.1.1). </p> <h4><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D1.8B.D1.85_.D0.B1.D0.B8.D0.B1.D0.BB.D0.B8.D0.BE.D1.82.D0.B5.D0.BA_OpenSCADA"><span class="mw-headline-number">3.3.2</span> Подключение Ñтандартных библиотек OpenSCADA</span></h4> <p>Ðово-Ñозданный проект OpenSCADA не Ñодержит никакой ÑпецифичеÑкой конфигурации, фактичеÑки ÑвлÑетÑÑ Ð¿ÑƒÑтым и предуÑматривает Ñоздание пользователем новой конфигурации в локальном файле БД SQLite "St.db", который раÑполагаетÑÑ Ð² ÑобÑтвенном каталоге проекта Ñ Ñ‚Ð°ÐºÐ¸Ð¼-же названием. Создавать Ñложный проект SCADA-ÑиÑтемы проще Ñ Ð¸Ñпользованием <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Libs" title="Special:MyLanguage/Libs">библиотек функций API объектной модели OpenSCADA и библиотек графичеÑких Ñлементов</a>, а также других библиотек OpenSCADA. Ð”Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº OpenSCADA нужно файлы БД, где они хранÑÑ‚ÑÑ: подключить — добавить в объекте Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð‘Ð” "SQLite" (РиÑ.3.3.2.1), уÑтановить-выбрать <b>адреÑ</b> и указать кодировку БД в "<b>UTF-8</b>" (РиÑ.3.3.2.2). <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> ПоÑле чего, или в Ñлучае Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ ÑƒÐ¶Ðµ запиÑей БД библиотек, необходимые из них нужно активировать, про что читайте далее. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1162px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_SQLite_add_ru.png"><img class="thumbimage" height="532" src="files/QuickStart_SQLite_add_ru.png" width="1160" /></a> <div class="thumbcaption">РиÑ. 3.3.2.1. Добавление объекта БД "SQLite".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:705px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_SQLite_obj_ru.png"><img class="thumbimage" height="688" src="files/QuickStart_SQLite_obj_ru.png" width="703" /></a> <div class="thumbcaption">РиÑ. 3.3.2.2. Объект БД "SQLite" библиотеки OpenSCADA.</div></div></div></div> <p>ДиÑтрибутивы OpenSCADA поÑтавлÑÑŽÑ‚ÑÑ Ñ Ñ€Ñдом библиотек в виде файлов БД "SQLite" (таблица 3.3.2), которые, при запуÑке-Ñоздании пользовательÑкого проекта, помещаютÑÑ Ð² каталоге "LibsDB/". СоглаÑно Ñтому перечню в объекте Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð‘Ð” "SQLite" добавлÑем или иÑпользуем готовые запиÑи нужных библиотек, <b>уÑтанавливаем им флаг "Включать"</b> и <b>ÑохранÑем</b>. Далее, Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ Ñодержимого библиотек, можно включить БД и нажать кнопку "Загрузить программу Ñ Ñтой БД", однако при загрузке Ñ€Ñд новых объектов не включитÑÑ, поÑтому проще <b>завершить новый проект и запуÑтить</b> его опÑÑ‚ÑŒ. </p><p><b>Таблица 3.3.2.</b> Библиотеки OpenSCADA в ÑоÑтаве диÑтрибутива. </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ð˜Ð¼Ñ </th> <th> ÐÐ´Ñ€ÐµÑ </th> <th> Язык/кодировка </th> <th> ОпиÑание </th></tr> <tr> <td> OscadaLibs </td> <td> Библиотеки OpenSCADA </td> <td> LibsDB/OscadaLibs.db </td> <td> EN,UK,RU/UTF-8 </td> <td> Библиотеки иÑточников данных, Ñлужб и обработки. </td></tr> <tr> <td> vcaBase </td> <td> СВУ: Главные библиотеки </td> <td> LibsDB/vcaBase.db </td> <td> EN,UK,RU/UTF-8 </td> <td> Библиотеки графичеÑких Ñлементов OpenSCADA Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">UI.VCAEngine</a>. </td></tr> <tr> <td> vcaTest </td> <td> СВУ: ТеÑÑ‚Ñ‹ </td> <td> LibsDB/vcaTest.db </td> <td> EN,UK,RU/UTF-8 </td> <td> Библиотека теÑтов графичеÑких Ñлементов. </td></tr> <tr> <td> vcaElectroEls </td> <td> СВУ: Библиотека Ñлектро-Ñлементов мнемоÑхем пользовательÑкого интерфейÑа </td> <td> LibsDB/vcaElectroEls.db </td> <td> EN,UK,RU/UTF-8 </td> <td> ПредоÑтавлÑет библиотеку мнемоничеÑких Ñлементов интерфейÑа Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÑлектричеÑких подÑтанций и Ñтанций генерации Ñлектрики. </td></tr></table> <p>Ð’ результате Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº OpenSCADA вы получите окружение, готовое Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ñточников данных, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ñ… иÑтории и Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа ÑобÑтвенного проекта SCADA-ÑиÑтемы. </p> <h2><span class="mw-headline" id=".D0.A0.D0.B0.D0.B1.D0.BE.D1.82.D0.B0_.D1.81_.D0.B8.D1.81.D1.82.D0.BE.D1.87.D0.BD.D0.B8.D0.BA.D0.B0.D0.BC.D0.B8_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85"><span class="mw-headline-number">4</span> Работа Ñ Ð¸Ñточниками данных</span></h2> <p>ОÑновной функцией любой SCADA-ÑиÑтемы ÑвлÑетÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð° Ñ Ð¸Ñточниками данных реального времени, а именно Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… логичеÑких контроллеров (ПЛК) и проÑÑ‚Ñ‹Ñ… модулей УСО. Детальнее ознакомитьÑÑ Ñ Ñтим вопроÑом можно в <a href="DAQ.html" title="Special:MyLanguage/Documents/DAQ">документе "Сбор данных в OpenSCADA"</a>. </p><p>Поддержка того или иного иÑточника данных завиÑит от протокола или API, по которому иÑточник предоÑтавлÑет Ñвои данные, и Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð°-API Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "Сбор данных" в OpenSCADA или его реализации DAQ-Шаблоном на <a href="DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">ЛогичеÑком Уровне</a>. Общий перечень модулей подÑиÑтемы "Сбор данных" и документацию по ним можно получить по <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules" title="Special:MyLanguage/Modules">ÑÑылке</a> и общий перечень DAQ-Шаблонов можно получить по <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Libs/Generic_list" title="Special:MyLanguage/Libs/Generic list">ÑÑылке</a>. </p><p>Данные, полученные из иÑточников, впоÑледÑтвии обрабатываютÑÑ, архивируютÑÑ Ð¸ иÑпользуютÑÑ Ð´Ð»Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ ТП. </p> <h3><span class="mw-headline" id=".D0.A1.D0.B1.D0.BE.D1.80_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.B0.D0.BF.D0.BF.D0.B0.D1.80.D0.B0.D1.82.D0.B0_.D0.A2.D0.9F"><span class="mw-headline-number">4.1</span> Сбор данных аппарата ТП</span></h3> <p>Ð’ качеÑтве примера раÑÑмотрим и Ñоздадим Ñбор данных Ð´Ð»Ñ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚Ð° воздушного холодильника. Ð¤Ð¾Ð½Ð¾Ð²Ð°Ñ Ð´ÐµÐ¼Ð¾Ð½ÑÑ‚Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ð‘Ð”, как ПЛК и иÑточник данных, Ñодержит модель реального времени ТП компреÑÑорной Ñтанции из шеÑти компреÑÑоров. Данные Ð´Ð»Ñ Ð´Ð²ÑƒÑ… аппаратов воздушных холодильников AT101_1 и AT101_2 компреÑÑорной Ñтанции KM101 доÑтупны по протоколу ModBus/TCP на порту 10502 (Ñтандартно Ñто порт 502 при наличии доÑтупа его открыть). </p><p>Создадим объект контроллера Ð´Ð»Ñ Ñбора по протоколу ModBus/TCP и получим Ñти данные. Тем Ñамым фактичеÑки реализуем задачу Ñбора реальных данных поÑкольку наша ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ отличатьÑÑ Ð¾Ñ‚ работы Ñ Ð½Ð°ÑтоÑщим внешним уÑтройÑтвом только его адреÑом и адреÑами региÑтров ModBus, а также Ñто может быть другой физичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ â€” вариант протокола ModBus. Ðто подключение также ÑвлÑетÑÑ Ñрким примером возможноÑти реализации Ñреды иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ñточника данных (ПЛК) на оÑнове OpenSCADA. </p><p>Ð”Ð»Ñ Ñбора данных по протоколу ModBus в OpenSCADA приÑутÑтвует <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">модуль "ModBus"</a> подÑиÑтемы "Сбор данных". Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ объекта контроллера в конфигураторе откроем Ñтраницу Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus "Start"->"Сбор данных"->"Модуль"->"ModBus" и в контекÑтном меню пункта "ModBus" нажмём "Добавить" (риc.4.1.1). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:700px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_add_ru.png"><img class="thumbimage" height="596" src="files/QuickStart_ModBUS_add_ru.png" width="698" /></a> <div class="thumbcaption">РиÑ. 4.1.1. Добавление объекта контроллера в модуле "ModBus" подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Ð’ результате поÑвитÑÑ Ð¾ÐºÐ½Ð¾ диалога (РиÑ.4.1.2) Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ ввеÑти идентификатор и название нового объекта контроллера. Идентификаторы объектов OpenSCADA ограничены размером в 20 Ñимволов и их рекомендуетÑÑ Ð²Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ñимволами английÑкого алфавита и цифрами. Кроме того, начинать идентификатор желательно Ñ Ð±ÑƒÐºÐ²Ñ‹, что упроÑтит его иÑпользование во внутренних процедурах. ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² OpenSCADA ограничены размером в 50 Ñимволов и которые могут быть любыми. Ðазвание обычно иÑпользуютÑÑ Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸ еÑли оно пуÑтое, то будет иÑпользоватьÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€. Ð’ поÑледÑтвии название мы можем поменÑÑ‚ÑŒ в конфигурации объекта, но идентификатор невозможно изменÑÑ‚ÑŒ прÑмо; однако объект можно вырезать (Ctrl+X) и затем вÑтавить (Ctrl+V), тем Ñамым переименовав его. СоглаÑно замечаниÑм ранее введём идентификатор CM101, название "KM 101" — "<b>CM101 (KM 101)</b>". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:410px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_enter_idnm_ru.png"><img class="thumbimage" height="249" src="files/QuickStart_enter_idnm_ru.png" width="408" /></a> <div class="thumbcaption">РиÑ. 4.1.2. Диалог ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° и Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ объекта.</div></div></div></div> <p>ПоÑле Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ñƒ Ð½Ð°Ñ Ð¿Ð¾ÑвитÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚ нового контроллера. Выберем его в конфигураторе и ознакомимÑÑ Ñ Ð½Ð°Ñтройками (РиÑ.4.1.3). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:752px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_cntr.png"><img class="thumbimage" height="677" src="../en/files/QuickStart_ModBUS_cntr.png" width="750" /></a> <div class="thumbcaption">РиÑ. 4.1.3. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° наÑтройки объекта контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <p>ÐаÑтройки объекта контроллера как правило Ñпецифичны Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… типов иÑточников данных и протоколов. Детально ознакомитьÑÑ Ñ Ð½Ð°Ñтройками объекта контроллера <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus</a> можно по <a href="Modules/ModBus.html#DAQ" title="Special:MyLanguage/Modules/ModBus">ÑÑылке</a>. Мы же раÑÑмотрим общие и ключевые наÑтройки Ñтого модулÑ. </p><p>Перед конфигурацией ÑвÑзи Ñо Ñвоим контроллером необходимо из документации на Ñтот контроллер выÑÑнить наÑтройки его Ñетевых интерфейÑов и протоколов, а также, в Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ModBus, получить таблицу Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… и внутренних Ñигналов контроллера на номера региÑтров ModBus — карту региÑтров. </p><p>С помощью Ñтраницы объекта контроллера в разделе "СоÑтоÑние" можно в первую очередь оценить текущее ÑоÑтоÑние объекта контроллера и реальное ÑоÑтоÑние ÑвÑзи Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑким контроллером, а также оперативно их менÑÑ‚ÑŒ. Так, поле "СтатуÑ" Ñодержит код ошибки и текÑтовое опиÑание текущего ÑоÑтоÑÐ½Ð¸Ñ ÑвÑзи Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð»ÐµÑ€Ð¾Ð¼. Ð’ нашем Ñлучае объект контроллера выключен. Мы можем его включить и запуÑтить, уÑтановив флажки напротив ÑоответÑтвующих полей. Включенный объект контролера инициализирует параметры, запущенный же ещё запуÑкает задачу Ñбора (отдельный поток на объект контроллера) и предоÑтавлÑет возможноÑÑ‚ÑŒ передавать данные в контроллер через атрибуты параметров. Поле "Хранилище" указывает в каком хранилище ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ объекта. ÐÐ°Ñ ÑƒÑтроит хранение в Общем Хранилище, Ñ‚.е. <b>оÑтавим по умолчанию</b>. </p><p>Ð’ разделе "КонфигурациÑ" непоÑредÑтвенно ÑодержитÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° контроллера. УÑтановим Ñледующие из них, оÑтавив вÑе оÑтальные без изменениÑ: </p> <ul><li> "Включать" и "ЗапуÑкать" указывают в какое ÑоÑтоÑние переводить объект контроллера при запуÑке программы — <b>уÑтановим оба полÑ</b>.</li> <li> "Планирование Ñбора" Ñодержит конфигурацию планировщика Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка задачи Ñбора данных. Получить опиÑание формата конфигурации данного Ð¿Ð¾Ð»Ñ Ð¼Ð¾Ð¶Ð½Ð¾ из вÑплывающей подÑказки. Одиночное чиÑло указывает на периодичноÑÑ‚ÑŒ запуÑка, в Ñекундах — укажем <b>одну Ñекунду</b>.</li> <li> "ModBus протокол" указывает на вариант протокола ModBus. Возможны варианты протокола "TCP", "RTU" и "ASCII". Ðа данный момент Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑует вариант <b>TCP/IP</b>, поÑтому оÑтавим как еÑÑ‚ÑŒ. Варианты протоколов "RTU" и "ASCII" нужно уÑтанавливать в Ñлучае ÑвÑзи Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð»ÐµÑ€Ð¾Ð¼ поÑредÑтвом поÑледовательных интерфейÑов, чаÑто Ñто "RS-485".</li> <li> "ÐÐ´Ñ€ÐµÑ Ñ‚Ñ€Ð°Ð½Ñпорта" указывает на иÑходÑщий транÑпорт <a href="Program_manual.html#Transports" title="Special:MyLanguage/Documents/Program manual">подÑиÑтемы "ТранÑпорты"</a>, который иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð»ÐµÑ€Ð¾Ð¼. Ð’ Ñлучае Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð¼ "TCP" нам нужен транÑпорт в <a href="Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">модуле Sockets</a>, а в Ñлучае вариантов "RTU", "ASCII" и поÑледовательного интерфейÑа нам нужен транÑпорт в <a href="Modules/Serial.html" title="Special:MyLanguage/Modules/Serial">модуле Serial</a>. Ðа Ñоздании иÑходÑщего транÑпорта в "Sockets" и "Serial" детальнее оÑтановимÑÑ Ð½Ð¸Ð¶Ðµ.</li> <li> "Узел назначениÑ" указывает на узел иÑточника данных или контроллера в Ñети ModBus. Ð’ нашем Ñлучае Ñто должно быть <b>1</b>.</li> <li> "ОбъединÑÑ‚ÑŒ фрагменты данных" включает объединение неÑмежных фрагментов региÑтров в один блок запроÑа до указанного макÑимального количеÑтва байтов вмеÑто генерации отдельных запроÑов, чем позволÑет уменьшить общее Ð²Ñ€ÐµÐ¼Ñ Ñбора — <b>уÑтановим Ñту опцию</b>.</li></ul> <p>Сохраним наши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² хранилище, нажав вторую Ñлева иконку на панели инÑтрументов. </p><p>Теперь, таким образом как и объект контроллера Ñоздадим выходной транÑпорт в модуле "Sockets" ("Start"->"ТранÑпорты"->"Сокеты") поÑредÑтвом контекÑтного меню (РиÑ.4.1.4) и назовём транÑпорт так, как и объект контроллера "<b>CM101 (KM 101)</b>". Обратите внимание, что в поле "Тип Ñлемента" диалога ввода идентификатора и Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ (РиÑ.4.1.2) нужно выбрать "<b>Выходной транÑпорт</b>"! </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:726px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Sockets_add_ru.png"><img class="thumbimage" height="511" src="files/QuickStart_Sockets_add_ru.png" width="724" /></a> <div class="thumbcaption">РиÑ. 4.1.4. Добавление выходного транÑпорта в модуле "Sockets" подÑиÑтемы "ТранÑпорты".</div></div></div></div> <p>Страница конфигурации полученного выходного транÑпорта приведена на риÑунке 4.1.5. Ðта Ñтраница также Ñодержит раздел ÑоÑтоÑÐ½Ð¸Ñ Ð¸ оперативного управлениÑ. Ð’ поле "СтатуÑ" ÑодержитÑÑ Ñ‚ÐµÐºÑтовое опиÑание текущего ÑоÑтоÑÐ½Ð¸Ñ Ñ‚Ñ€Ð°Ð½Ñпорта. Мы можем подключить его уÑтановив флажок напротив ÑоответÑтвующего полÑ. Поле "Хранилище" указывает в каком хранилище ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° — <b>Ð½Ð°Ñ ÑƒÑтроит "Общее Хранилище"</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:785px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Sockets_tr.png"><img class="thumbimage" height="528" src="../en/files/QuickStart_Sockets_tr.png" width="783" /></a> <div class="thumbcaption">РиÑ. 4.1.5. Страница конфигурации выходного транÑпорта Ð¼Ð¾Ð´ÑƒÐ»Ñ "Sockets" подÑиÑтемы "ТранÑпорты".</div></div></div></div> <p>Ð’ разделе "КонфигурациÑ" непоÑредÑтвенно ÑодержитÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° транÑпорта, уÑтановим Ñледующие из них: </p> <ul><li> "ÐдреÑ" указывает на: тип (необÑзательно), Ð°Ð´Ñ€ÐµÑ Ð¸ режим ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¹ Ñтанцией. ОзнакомитьÑÑ Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¾Ð¼ запиÑи можно из вÑплывающей подÑказки — <b>уÑтановим Ñто поле в значение "TCP:localhost:10502"</b>.</li></ul> <p>ТранÑпорты других типов ÑоздаютÑÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð¾ раÑÑмотренному Ð´Ð»Ñ "Sockets" методу, а ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸Ñ… отличаетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ только форматом запиÑи адреÑа и таймаутов. Ð’ Ñлучае Ñ Ñ‚Ñ€Ð°Ð½Ñпортом Ð¼Ð¾Ð´ÑƒÐ»Ñ "Serial" в адреÑе указываетÑÑ: путь к поÑледовательному уÑтройÑтву, ÑкороÑÑ‚ÑŒ и формат. Ð”Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚ÐµÑ€Ð¾Ð² <i>USB->Serial,Modem</i> Ñтот Ð°Ð´Ñ€ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ узнать из операционной ÑиÑтемы, например, конÑольной командой <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">dmesg</span> Ñразу поÑле его подключениÑ. </p><p>Сохраним объект транÑпорта и вернёмÑÑ Ðº конфигурационному полю "ÐÐ´Ñ€ÐµÑ Ñ‚Ñ€Ð°Ð½Ñпорта" объекта контроллера, где <b>выберем Ð°Ð´Ñ€ÐµÑ "Sockets.CM101"</b>. Ðа данный момент OpenSCADA поддерживает, Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² контроллеров большинÑтва типов иÑточников данных, определение вÑех параметров непоÑредÑтвенно в поле "ÐÐ´Ñ€ÐµÑ Ñ‚Ñ€Ð°Ð½Ñпорта" и без необходимоÑти отдельного ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² транÑпортов. Т.е. определение в поле "Sockets.CM101:localhost:10502" автоматичеÑки ÑоздаÑÑ‚ CM101 в выходных транÑпортах Sockets Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ñ‹Ð¼ адреÑом. </p><p>Ðа Ñтом наÑтройка объекта контроллера закончена, <b>включим его, уÑтановив флаг "Включен"</b>. Следующим Ñтапом ÑвлÑетÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ выбор тех данных, которые нужно опрашивать из контроллера. Ðта наÑтройка производитÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° контроллера. Параметр позволÑет опиÑать перечень данных, получаемых у контролера и передать их в окружение OpenSCADA — модель данных. </p><p>Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ параметра откроем Ñтраницу нашего объекта контроллера и в контекÑтном меню пункта "KM 101" <b>нажмём "Добавить"</b> — назовём "<b>AT101_1 (AT 101_1)</b>". </p><p>Страница конфигурации полученного параметра приведена на риÑунке 4.1.6. Ðта Ñтраница Ñодержит раздел ÑоÑтоÑÐ½Ð¸Ñ Ð¸ оперативного управлениÑ. Ð’ поле "Тип" ÑодержитÑÑ Ñ‚Ð¸Ð¿ параметра, в нашем Ñлучае Ñто "<b>Стандартный</b>". <b>Параметр мы включаем</b> уÑтановив флажок напротив ÑоответÑтвующего полÑ. Включенный параметр учаÑтвует в процеÑÑе обмена Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð»ÐµÑ€Ð¾Ð¼. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:634px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_prm_ru.png"><img class="thumbimage" height="673" src="files/QuickStart_ModBUS_prm_ru.png" width="632" /></a> <div class="thumbcaption">РиÑ. 4.1.6. Страница конфигурации параметра контроллера "ModBUS".</div></div></div></div> <p>Ð’ разделе "КонфигурациÑ" непоÑредÑтвенно ÑодержитÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°. УÑтановим Ñледующие из них, оÑтавив вÑе оÑтальные без изменениÑ: </p> <ul><li> "Включать" указывает на необходимоÑÑ‚ÑŒ перевода объекта в режим "Включен" при запуÑке программы — <b>уÑтановим Ñто поле</b>.</li> <li> "Перечень атрибутов" Ñодержит конфигурацию атрибутов параметра отноÑительно к региÑтрами и битами ModBus, ознакомитьÑÑ Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¾Ð¼ запиÑи можно из вÑплывающей подÑказки — уÑтановим Ñодержимое Ñтого текÑтового Ð¿Ð¾Ð»Ñ Ð²:</li></ul> <pre> R:100:r:Ti:T вход R:101:r:To:T выход R:102:rw:Cw:ПроизводительноÑÑ‚ÑŒ </pre> <p>Таким же образом <b>Ñоздадим, или Ñкопируем из AT101_1</b>, второй параметр "<b>AT101_2 (AT 101_2)</b>". Перечень атрибутов Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ уÑтановим в: </p> <pre> R:103:r:Ti:T вход R:104:r:To:T выход R:105:rw:Cw:ПроизводительноÑÑ‚ÑŒ </pre> <p><b>Сохраним оба</b> параметра. Теперь мы можем запуÑтить наш объект контроллера Ð´Ð»Ñ Ð¾ÑущеÑÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ñбора, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ вернёмÑÑ Ð½Ð° его Ñтраницу и в разделе "СоÑтоÑние" <b>уÑтановим флажок "ВыполнÑетÑÑ"</b>. ЕÑли мы ничего не пропуÑтили, то обмен уÑпешно запуÑтитÑÑ Ð¸ в поле "СтатуÑ" мы получим подобное предÑтавленному на риÑунке 4.1.7. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:752px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_cntr_st.png"><img class="thumbimage" height="682" src="../en/files/QuickStart_ModBUS_cntr_st.png" width="750" /></a> <div class="thumbcaption">РиÑ. 4.1.7. Страница объекта контроллера при уÑпешном обмене Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑким контроллером.</div></div></div></div> <p>Ð’ Ñлучае уÑпешного обмена Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑким контроллером мы также получим опиÑанные данные контроллера в инфраÑтруктуре OpenSCADA — модели данных. Увидеть Ñти данные можно во вкладке "Ðтрибуты" наших параметров AT101_1 (РиÑ.4.1.8) и AT101_2. ПоÑкольку Ñбор производитÑÑ Ñ€ÐµÐ³ÑƒÐ»Ñрно и Ñ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¸Ñ‡Ð½Ð¾Ñтью в Ñекунду, то мы можем наблюдать их изменение Ð½Ð°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑƒ "Обновить текущую Ñтраницу" на панели инÑтрументов. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:630px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBUS_prm_attr_ru.png"><img class="thumbimage" height="508" src="files/QuickStart_ModBUS_prm_attr_ru.png" width="628" /></a> <div class="thumbcaption">РиÑ. 4.1.8. Страница опиÑанных атрибутов параметра AT101_1.</div></div></div></div> <p>Ðа Ñтом ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñбора данных ÑчитаетÑÑ Ð·Ð°ÐºÐ¾Ð½Ñ‡ÐµÐ½Ð½Ð¾Ð¹. </p> <h3><span class="mw-headline" id=".D0.9E.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D0.BF.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.A2.D0.9F"><span class="mw-headline-number">4.2</span> <span id="DataProc" title="#DataProc">Обработка полученных данных ТП</span></span></h3> <p>ЧаÑто вÑтречаетÑÑ ÑитуациÑ, когда иÑходные данные, полученные из иÑточника данных, ÑвлÑÑŽÑ‚ÑÑ "Ñырыми", Ñ‚.е. неготовыми или неудобными Ð´Ð»Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ предÑтавлениÑ, поÑтому необходимо выполнить Ñту подготовку. Ð’ нашем примере мы получили данные, которые поÑтупают в коде от шкалы внутри контроллера и наша задача — выполнить раÑчёт реальных значений из полученных данных. Обработку данных в OpenSCADA можно делать как непоÑредÑтвенно при визуализации, так и в подÑиÑтеме Сбор Данных. Однако Ñмешивание процеÑÑа визуализации и обработки входных данных вноÑит путаницу в конфигурацию, не позволÑет веÑти иÑторию реальных данных, делает полученные образы визуализации мало пригодными Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ увеличивает нагрузку на поток визуализации, чем уменьшает общую её отзывчивоÑÑ‚ÑŒ. СоответÑтвенно, выполним подготовку данных в подÑиÑтеме Сбор Данных. </p><p>ВычиÑÐ»ÐµÐ½Ð¸Ñ Ð² подÑиÑтеме Сбор Данных Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ñ… данных в оÑновном выполнÑÑŽÑ‚ÑÑ Ð¿Ð¾ÑредÑтвом Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкого ÑƒÑ€Ð¾Ð²Ð½Ñ <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">LogicLev</a> и шаблонов параметров подÑиÑтемы Сбор Данных. Модуль ModBus ÑвлÑетÑÑ Ñ‚ÐµÐ¼ Ñлучаем, когда такое вычиÑление можно Ñделать прÑмо в нём, что мы ниже увидим. Детальнее ознакомитьÑÑ Ñ ÐºÐ¾Ð½Ñ†ÐµÐ¿Ñ†Ð¸ÐµÐ¹ ЛогичеÑкого Ð£Ñ€Ð¾Ð²Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð¾ по <a href="DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">ÑÑылке</a>. </p><p>Ð”Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ‡Ð¸Ñлений, в модуле ЛогичеÑкого Ð£Ñ€Ð¾Ð²Ð½Ñ Ð½ÑƒÐ¶Ð½Ð¾ предварительно Ñоздать библиотеку шаблонов нашего проекта и шаблон параметра подÑиÑтемы Сбор Данных в ней. Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ шаблонов откроем Ñтраницу подÑиÑтемы Сбор Данных и, поÑредÑтвом контекÑтного меню, Ñоздадим объект библиотеки шаблонов <b>start (ЗапуÑк)</b>. Страница конфигурации полученного объекта библиотеки шаблона (РиÑ.4.2.1) Ñодержит раздел ÑоÑтоÑÐ½Ð¸Ñ Ð¸ оперативного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ "СоÑтоÑние" и раздел наÑтроек "КонфигурациÑ" в котором ÑодержатÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ типовые Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ и которые оÑтавим неизменными. Ð’ целом мы имеем: </p> <ul><li> Раздел "СоÑтоÑние": <ul><li> Ñделать библиотеку доÑтупной — <b>уÑтановив флажок</b> напротив ÑоответÑтвующего полÑ;</li> <li> указать хранилище — <b>оÑтавим "Общее Хранилище" проекта</b>;</li> <li> можем проконтролировать дату поÑледней модификации.</li></ul></li> <li> <b>Сохранить</b> объект.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:674px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_TmplLib.png"><img class="thumbimage" height="480" src="../en/files/QuickStart_TmplLib.png" width="672" /></a> <div class="thumbcaption">РиÑ. 4.2.1. Страница конфигурации объекта библиотеки шаблонов.</div></div></div></div> <p>Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° откроем Ñтраницу ново-Ñозданной библиотеки шаблонов "Start"->"Сбор Данных"->"Библиотека шаблонов"->"ЗапуÑк" и, поÑредÑтвом контекÑтного меню, Ñоздадим объект шаблона <b>airCooler (Воздушный холодильник)</b>. Страница конфигурации полученного объекта шаблона (РиÑ.4.2.2) Ñодержит раздел ÑоÑтоÑÐ½Ð¸Ñ Ð¸ оперативного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ "СоÑтоÑние" и раздел наÑтроек "КонфигурациÑ" в котором ÑодержатÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ типовые Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ и которые <b>оÑтавим неизменными</b>. Ð’ целом мы имеем: </p> <ul><li> Раздел "СоÑтоÑние": <ul><li> Ñделать шаблон доÑтупным — <b>уÑтановить флажок</b> напротив ÑоответÑтвующего полÑ, доÑтупные шаблоны могут подключатьÑÑ Ðº параметрам Ñбора данных и параметры будут выполнÑÑ‚ÑŒ вычиÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñтому шаблону;</li> <li> можем проконтролировать чиÑло объектов, которые иÑпользуют данный шаблон Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸ÑлениÑ;</li> <li> можем проконтролировать дату поÑледней модификации.</li></ul></li> <li> <b>Сохранить</b> объект.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:734px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Tmpl_gen_ru.png"><img class="thumbimage" height="511" src="files/QuickStart_Tmpl_gen_ru.png" width="732" /></a> <div class="thumbcaption">РиÑ. 4.2.2. Страница конфигурации объекта шаблона.</div></div></div></div> <p>ОÑÐ½Ð¾Ð²Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ формирование шаблона параметра Ñбора данных оÑущеÑтвлÑетÑÑ Ð²Ð¾ вкладке "Ð’Ð’" (РиÑ.4.2.3) шаблона. Детальное опиÑание процеÑÑа Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° можно получить по <a href="Program_manual.html#CfgDAQ" title="Special:MyLanguage/Documents/Program manual">ÑÑылке</a>. </p><p>Ð’ шаблоне Ñоздадим два ÑвойÑтва Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð¾Ð² ("TiCod", "ToCod"), два Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð¾Ð² результата ("Ti", "To") и один прозрачный ("Cw"). СвойÑтвам "TiCod", "ToCod" и "Cw" уÑтановим флаг "КонфигурациÑ" в <b>СвÑзь</b>, что позволит подвÑзывать к ним "Ñырой" иÑточник. УÑтановим флаг "Ðтрибут" Ð´Ð»Ñ Ð’Ð’ "Ti" и "To" в <b>Только чтение</b>, "Cw" в <b>Полный доÑтуп</b> — Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ñ€Ñ‘Ñ… атрибутов в параметре Ñбора данных: два только на чтение и один на полный доÑтуп. </p><p>УÑтановим Ñзык программы в <b>JavaLikeCalc.JavaScript</b> и программу в: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">Ti</span> <span class="o">=</span> <span class="mi">150</span><span class="o">*</span><span class="nx">TiCod</span><span class="o">/</span><span class="mi">65536</span><span class="p">;</span> <span class="nx">To</span> <span class="o">=</span> <span class="mi">100</span><span class="o">*</span><span class="nx">ToCod</span><span class="o">/</span><span class="mi">65536</span><span class="p">;</span> </pre></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1033px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Tmpl_io_ru.png"><img class="thumbimage" height="646" src="files/QuickStart_Tmpl_io_ru.png" width="1031" /></a> <div class="thumbcaption">РиÑ. 4.2.3. Вкладка "Ð’Ð’" Ñтраницы конфигурации объекта шаблона.</div></div></div></div> <p><b>Cохраним полученный шаблон</b> и уÑтановим <b>флаг доÑтупноÑти</b> (РиÑ.4.2.2). </p><p>Теперь Ñоздадим объект контроллера и параметры в модуле "LogicLev" подÑиÑтемы "Сбор данных". Объект контроллера "LogicLev" и его параметры ÑоздаютÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ‡Ð½Ð¾ ранее Ñозданным в модуле "ModBus", на Ñтранице "Start"->"Сбор Данных"->"Модуль"->"ЛогичеÑкий уровень". <b>Ðазовём их идентично объектам Ð¼Ð¾Ð´ÑƒÐ»Ñ "ModBus"</b>. </p><p>Объект контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev (РиÑ.4.2.4) не имеет ÑпецифичеÑких наÑтроек и уÑтановленные по умолчанию можно не трогать, кроме Ð¿Ð¾Ð»Ñ "Планирование вычиÑлениÑ", которое уÑтановим в <b>1 (одну) Ñекунду</b>. Перед добавлением параметров нужно включить объект контроллера — <b>уÑтановим флаг "Включен"</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:674px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_cntr.png"><img class="thumbimage" height="595" src="../en/files/QuickStart_LogicLev_cntr.png" width="672" /></a> <div class="thumbcaption">РиÑ. 4.2.4. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° наÑтройки объекта контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev.</div></div></div></div> <p>Параметр объекта контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev (РиÑ.4.2.5) из ÑпецифичеÑких наÑтроек имеет "Тип", где нужно уÑтановить "<b>ЛогичеÑкий</b>", а в поле "Шаблон параметра" <b>выбрать Ð°Ð´Ñ€ÐµÑ Ñозданного нами шаблона</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:835px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_ru.png"><img class="thumbimage" height="531" src="files/QuickStart_LogicLev_prm_ru.png" width="833" /></a> <div class="thumbcaption">РиÑ. 4.2.5. Страница конфигурации параметра объекта контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev.</div></div></div></div> <p>Кроме базовой конфигурации параметра нужно Ñконфигурировать и подключенный шаблон (РиÑ.4.2.6). Вкладка конфигурации шаблона поÑвлÑетÑÑ Ð² режиме параметра "Включен". Включить параметр можно включив предварительно объект контроллера. Флаг "Показать атрибуты" позволÑет уÑтанавливать отдельно каждую ÑвÑзь (РиÑ.4.2.7). ПоÑкольку в шаблоне мы предуÑмотрительно опиÑали формат ÑвÑзей в виде "Параметр|Ti", то вÑе три ÑвÑзи мы можем уÑтановить проÑто указав Ð°Ð´Ñ€ÐµÑ Ðº параметру в объекте контроллера "ModBus". Укажем-выберем Ð°Ð´Ñ€ÐµÑ <b>ModBus.CM101.AT101_1</b> и <b>ModBus.CM101.AT101_2</b> в ÑоответÑтвующих параметрах. </p><p>Ðужно отметить, что вÑе Ð¿Ð¾Ð»Ñ Ð²Ð²Ð¾Ð´Ð° адреÑов объектов в OpenSCADA Ñнабжены механизмом набора адреÑа. Данный механизм подразумевает поÑлементный выбор, в процеÑÑе которого проиÑходит движение в глубь. Ðапример, в начале набора адреÑа "ModBus.CM101.AT101_1" мы будем иметь возможноÑÑ‚ÑŒ выбора типа иÑточника данных, Ñреди которых будет "ModBus". Выбрав который в перечень доÑтупных Ñлементов Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° добавÑÑ‚ÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus где будет "ModBus.CM101"; выбор Ñлемента "ModBus.CM101" добавит параметры контроллера и Ñ‚.д. до конечного Ñлемента ÑоглаÑно <a href="Program_manual.html#DAQ" title="Special:MyLanguage/Documents/Program manual">иерархии объектов</a>. Ð”Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти возврата на уровни выше, ÑпиÑок выбора Ñодержит Ñлементы вÑех вышеÑтоÑщих уровней от текущего Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ð´Ñ€ÐµÑа. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:835px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_tmpl_ru.png"><img class="thumbimage" height="531" src="files/QuickStart_LogicLev_prm_tmpl_ru.png" width="833" /></a> <div class="thumbcaption">РиÑ. 4.2.6. Вкладка "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" Ñтраницы параметра контроллера LogicLev.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:835px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_tmpl_attr_ru.png"><img class="thumbimage" height="531" src="files/QuickStart_LogicLev_prm_tmpl_attr_ru.png" width="833" /></a> <div class="thumbcaption">РиÑ. 4.2.7. Вкладка "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" Ñтраницы параметра контроллера LogicLev Ñ Ñ€Ð°Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð¾Ð¼ ÑвÑзей.</div></div></div></div> <p><b>Сохраним Ñозданные объекты</b> контроллера и параметров, поÑле чего запуÑтим объект контроллера на иÑполнение, <b>уÑтановив флаг "ВыполнÑетÑÑ"</b> в разделе "СоÑтоÑние". ЕÑли мы ничего не пропуÑтили, то вычиÑление уÑпешно запуÑтитÑÑ Ð¸ в поле "СтатуÑ" мы получим похожее на риÑунке 4.2.8. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:679px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_cntr_st.png"><img class="thumbimage" height="601" src="../en/files/QuickStart_LogicLev_cntr_st.png" width="677" /></a> <div class="thumbcaption">РиÑ. 4.2.8. Страница объекта контроллера при уÑпешном его вычиÑлении в модуле LogicLev.</div></div></div></div> <p>Ð’ Ñлучае уÑпешной обработки кода шаблона в параметрах мы получим обработанные данные в инфраÑтруктуре (модели данных) OpenSCADA. Увидеть Ñти данные можно на вкладке "Ðтрибуты" наших параметров AT101_1 (РиÑ.4.2.9) и AT101_2. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:840px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_attr_ru.png"><img class="thumbimage" height="526" src="files/QuickStart_LogicLev_prm_attr_ru.png" width="838" /></a> <div class="thumbcaption">РиÑ. 4.2.9. Страница атрибутов параметра AT101_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev.</div></div></div></div> <p>Ðа Ñтом конфигурацию обработки данных Ñчитаем законченной. </p> <h3><span class="mw-headline" id=".D0.9A.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D1.8B.D0.B9_.D0.BE.D0.B1.D1.8A.D0.B5.D0.BA.D1.82-.D1.82.D0.B5.D0.B3_.D1.81.D0.B8.D0.B3.D0.BD.D0.B0.D0.BB.D0.B0"><span class="mw-headline-number">4.3</span> КомплекÑный объект-тег Ñигнала</span></h3> <p>Ð’ предыдущих разделах был опиÑан механизм Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ñточника данных по объекту аппарата — "Воздушный холодильник", который предуÑматривает объединение вÑех Ñигналов в одном объекте параметра иÑточника данных. Однако, более раÑпроÑтранённым подходом крупной автоматизации ÑвлÑетÑÑ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ объекта параметра вокруг отдельного Ñигнала, например — "Температура на выходе холодильника AT101_1 (TE1314_1)", которые чаÑто называютÑÑ Ñ‚ÐµÐ³Ð°Ð¼Ð¸. </p><p>Создание объекта параметра вокруг Ñигнала позволÑет формализовать его опиÑание до шаблонов аналоговых и диÑкретных Ñигналов, включив в них вÑÑŽ необходимую обработку, Ñигнализацию и другую характерную информацию. Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñтой конфигурации типизированных аналоговых и диÑкретных Ñигналов, в библиотеках OpenSCADA предуÑмотрены шаблоны параметров и многие образы визуального предÑтавление адаптированны к работе и ÑвÑзыванию Ñ Ñ‚Ð°ÐºÐ¸Ð¼Ð¸ параметрами прÑмо, без детализации по атрибутам. </p><p>Moreover, unified templates are provided with the possibility of deep processing of input signals by defining in the field "Input processing procedure" for a procedure on the internal language <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc</a>. And even more, in this procedure it is possible to expand the template data model of the parameter with auxiliary dynamic attributes, actually "hanging" on it the elements of the device object, starting from its main signal; that is without creating additional templates for this. Like this for appending an attribute for setting input manually: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="k">if</span><span class="p">(</span><span class="nx">ctx</span><span class="p">.</span><span class="nx">f_start</span> <span class="o">==</span> <span class="kc">null</span><span class="p">)</span> <span class="p">{</span> <span class="nx">ctx</span><span class="p">.</span><span class="nx">f_start</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span> <span class="k">this</span><span class="p">.</span><span class="nx">attrAdd</span><span class="p">(</span><span class="s2">"setIn"</span><span class="p">,</span> <span class="s2">"Input set"</span><span class="p">,</span> <span class="s2">"real"</span><span class="p">);</span> <span class="k">this</span><span class="p">.</span><span class="nx">setIn</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> <span class="p">}</span> <span class="k">in</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">setIn</span><span class="p">.</span><span class="nx">get</span><span class="p">();</span> </pre></div> <p>Обычно, Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° на оÑнове шаблона, иÑпользуетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ логичеÑкого ÑƒÑ€Ð¾Ð²Ð½Ñ <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">LogicLev</a>, как Ñто было опиÑано в предыдущем разделе. Однако Ñ€Ñд модулей, в том чиÑле и <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a>, предоÑтавлÑÑŽÑ‚ возможноÑÑ‚ÑŒ Ñразу Ñоздавать логичеÑкие параметры, на оÑнове шаблона. Добавим новые параметры, открыв в конфигураторе Ñтраницу нашего, ранее Ñозданного, объекта контроллера "ModBus" и в контекÑтном меню пункта "КМ 101" <b>нажмём "Добавить"</b>. </p><p>Ðазовём аналоговый параметр <b>TE1314_1 (TE1314_1)</b>, (РиÑ.4.3.1). Тип параметра <b>уÑтановим в "ЛогичеÑкий"</b>, шаблон параметра <b>выберем "base.anUnif"</b>, опиÑание <b>уÑтановим в "Температура на выходе AT101_1"</b>, <b>уÑтановим флажки "Включать" и "Включен"</b>. Далее нам нужно наÑтроить: </p> <ul><li> Шаблон параметра в поÑвившейÑÑ Ð²ÐºÐ»Ð°Ð´ÐºÐµ "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" (РиÑ.4.3.2): <ul><li> поле "Вход" уÑтанавливаем в значение адреÑа ModBus-региÑтра Ñтого параметра — "<b>R:101</b>";</li> <li> поле "МакÑимум шкалы модулÑ" уÑтанавливаем в значение — <b>65535</b>, что ÑоответÑтвует 100 °C.</li></ul></li> <li> Вкладка "Ðтрибуты" (РиÑ.4.3.3): <ul><li> "Ед. измерениÑ" уÑтанавливаем в — "<b>град. С</b>";</li> <li> "Шкала: минимум" в — <b>0</b>;</li> <li> "Шкала: макÑимум" в — <b>100</b>;</li> <li> "Граница верхнÑÑ Ð°Ð²." в — <b>40</b>;</li> <li> "Граница верхнÑÑ Ð¿Ñ€ÐµÐ´." в — <b>30</b>.</li></ul></li> <li> <b>Сохраним</b> объект.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:719px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmAn_ru.png"><img class="thumbimage" height="531" src="files/QuickStart_ModBus_prmAn_ru.png" width="717" /></a> <div class="thumbcaption">РиÑ. 4.3.1. Страница логичеÑкого параметра TE1314_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:740px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmAn_tmpl_ru.png"><img class="thumbimage" height="579" src="files/QuickStart_ModBus_prmAn_tmpl_ru.png" width="738" /></a> <div class="thumbcaption">РиÑ. 4.3.2. Вкладка "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" Ñтраницы параметра "TE1314_1" Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:721px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmAn_attr_ru.png"><img class="thumbimage" height="843" src="files/QuickStart_ModBus_prmAn_attr_ru.png" width="719" /></a> <div class="thumbcaption">РиÑ. 4.3.3. Вкладка "Ðтрибуты" параметра TE1314_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <p>ДиÑкретный параметр назовём — <b>CB102 (КШ102)</b>. Тип параметра уÑтановим в "<b>ЛогичеÑкий</b>", шаблон параметра выберем "<b>base.digitBlockUnif</b>", <b>уÑтановим флажки "Включать" и "Включен"</b>. Далее нам нужно наÑтроить: </p> <ul><li> Шаблон параметра в поÑвившейÑÑ Ð²ÐºÐ»Ð°Ð´ÐºÐµ "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" (РиÑ.4.3.4): <ul><li> поле "Команда 'Открыть'" уÑтанавливаем в значение адреÑа ModBus-бита Ñтого параметра — "<b>C:100:rw</b>";</li> <li> поле "СоÑтоÑние 'Открыт'" уÑтанавливаем в значение адреÑа ModBus-бита — "<b>C:101</b>";</li> <li> поле "СоÑтоÑние 'Закрыт'" уÑтанавливаем в значение адреÑа ModBus-бита — "<b>C:102</b>";</li> <li> поле "Ð’Ñ€ÐµÐ¼Ñ ÑƒÐ´ÐµÑ€Ð¶. команды" уÑтанавливаем в — <b>0</b>, поÑкольку команда не импульÑнаÑ.</li></ul></li> <li> Вкладка "Ðтрибуты" (РиÑ.4.3.5) — удоÑтоверÑемÑÑ Ð² доÑтупноÑти команды и ÑоÑтоÑний.</li> <li> <b>Сохраним</b> объект.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:721px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmDig_tmpl_ru.png"><img class="thumbimage" height="462" src="files/QuickStart_ModBus_prmDig_tmpl_ru.png" width="719" /></a> <div class="thumbcaption">РиÑ. 4.3.4. Вкладка "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" параметра CB102 Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:721px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ModBus_prmDig_attr_ru.png"><img class="thumbimage" height="488" src="files/QuickStart_ModBus_prmDig_attr_ru.png" width="719" /></a> <div class="thumbcaption">РиÑ. 4.3.5. Вкладка "Ðтрибуты" параметра CB102 Ð¼Ð¾Ð´ÑƒÐ»Ñ ModBus.</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D1.8B.D1.85_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_OpenSCADA_.E2.80.94_.D1.88.D0.BB.D1.8E.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5"><span class="mw-headline-number">4.4</span> Получение готовых данных OpenSCADA — шлюзование</span></h3> <p>ОзнакомившиÑÑŒ Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ñ‹Ð¼Ð¸ механизмами Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…, опиÑанными в предыдущих разделах, вы должны уже предÑтавлÑÑ‚ÑŒ общий объём работ Ñ Ð¸Ñ… Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸ обработки, Ñ‚.е. — формализацию и получение Ñтих данных в модели данных SCADA-ÑиÑтемы. ЕÑли Ñюда добавить задачу Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтих данных на уровне ПЛК — модель данных ПЛК Ñвободно программируемых ПЛК, и преобразование их в модель данных протокола обмена, то вы должны заметить тут тройное преобразование данных. Что каÑаетÑÑ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² модель данных протокола — ÑериализациÑ, то Ñто определÑетÑÑ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑкими ÑвойÑтвами каналов ÑвÑзи и оÑущеÑтвлÑетÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки, а вот формирование модели данных ПЛК и модели данных SCADA-ÑиÑтемы оÑущеÑтвлÑетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñтом ПЛК и SCADA-ÑиÑтемы ÑоответÑтвенно. Причём, Ñта работа имеет много общего, оÑобенно еÑли оÑущеÑтвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ человеком или организацией, а ÑоответÑтвенно должны быть механизмы её унификации. </p><p>Ð’ Ñлучае разного проиÑÑ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÐŸÐ›Ðš и SCADA, большей унификации чем Ñлой протокола обмена доÑтичь Ñложно. С другой Ñтороны, глубокую унификацию моделей данных ПЛК и SCADA можно вÑтретить у производителей одновременно ПЛК и SCADA, что однако только укреплÑет их монопольное положение и фактичеÑки нивелирует преимущеÑтва унификации через общую ÑтоимоÑÑ‚ÑŒ решениÑ. </p><p>OpenSCADA предуÑматривает возможноÑÑ‚ÑŒ такой унификации через добавление родÑтвенноÑти Ñ ÐŸÐ›Ðš. И такую родÑтвенноÑÑ‚ÑŒ можно обеÑпечить только Ð´Ð»Ñ ÐŸÐ›Ðš, которые ÑвлÑÑŽÑ‚ÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ñтью открытыми, на них уÑтановлено открытое-Ñвободное ПО, а ÑоответÑтвенно можно уÑтановить и <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Embedding_and_PLC" title="Special:MyLanguage/Sub-projects/Embedding and PLC">OpenSCADA в роли Ñреды иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐŸÐ›Ðš</a>. Как Ñреда иÑполнениÑ, OpenSCADA может предоÑтавлÑÑ‚ÑŒ данные ПЛК и Ñтандартными протоколами, как ModBus, но, Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñтих данных прÑмо и без оÑущеÑÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°ÐºÐ¸Ñ… либо дейÑтвий над ними, на Ñтороне SCADA-ÑиÑтемы предуÑмотрен модуль "<a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a>", который фактичеÑки объединÑет модели. Т.е., программиÑÑ‚ ПЛК, который по ÑовмеÑтительÑтву ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñтом SCADA, формирует модель данных ПЛК, а на уровне SCADA-ÑиÑтемы она иÑпользуетÑÑ ÑƒÐ¶Ðµ как готоваÑ, чем полноÑтью убираетÑÑ ÑÑ‚Ð°Ð´Ð¸Ñ Ð¸ работы Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ, обработки и Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ данных SCADA-ÑиÑтемы. Более того: </p> <ul><li> иÑключаютÑÑ Ñ€Ð°Ñхождение в моделÑÑ… данных ПЛК и SCADA при их изменении;</li> <li> данные конфигурации логично и иÑключительно ÑохранÑÑŽÑ‚ÑÑ Ð½Ð° ПЛК, которого они каÑаютÑÑ;</li> <li> Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð¸ другие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€ÑƒÑŽÑ‚ÑÑ Ð½Ð° первоиÑточнике — ПЛК, а ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ вмешательÑтва — дейÑÑ‚Ð²Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð°, попадают и на ПЛК;</li> <li> предуÑматриваетÑÑ Ð¼ÐµÑ…Ð°Ð½Ð¸Ð·Ð¼ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð¾Ð²-иÑтории на ПЛК как полноÑтью, так и как чаÑÑ‚ÑŒ компенÑации потери ÑвÑзи Ñо SCADA, оÑобенно Ð´Ð»Ñ Ð¿Ð»Ð¾Ñ…Ð¾Ð¹ и беÑпроводной ÑвÑзи.</li></ul> <p>С целью демонÑтрации и ознакомлениÑ, Ñоздадим тут объект контролера Ð¼Ð¾Ð´ÑƒÐ»Ñ "DAQGate" Ð´Ð»Ñ ÑˆÐ»ÑŽÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… нашего виртуального ПЛК. СоздаётÑÑ Ð¾Ð½ идентично к ранее Ñозданным объектам контролера в модуле ModBus и LogicLev на Ñтранице "Start"->"Сбор Данных"->"Модуль"->"Шлюз иÑточников данных" и назовём его "<b>AGLKS</b>". </p><p>Объект контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQGate (РиÑ.4.4.1) имеет Ñледующие ÑпецифичеÑкие наÑтройки, которые мы должны оÑущеÑтвить: </p> <ul><li> "Ð£Ð´Ð°Ð»Ñ‘Ð½Ð½Ð°Ñ ÑтанциÑ" — <b>выберем ранее Ñозданное подключение</b> удалённой Ñтанции "AGLKS".</li> <li> <b>Включим</b> объект контролера.</li> <li> "Перечень удалённых объектов контроллеров и параметров" — в поле "Дерево параметров" выберем "<b>LogicLev.gen</b>", а затем пункт "<b><<Добавить текущий>></b>" вверху Ñтого ÑпиÑка.</li> <li> <b>ЗапуÑтим</b> иÑполнение объекта контроллера.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:881px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_DAQGate_cntr.png"><img class="thumbimage" height="808" src="../en/files/QuickStart_DAQGate_cntr.png" width="879" /></a> <div class="thumbcaption">РиÑ. 4.4.1. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° наÑтройки объекта контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQGate.</div></div></div></div> <p>ЕÑли вÑÑ‘ Ñделано правильно то автоматичеÑки ÑоздадутÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ выбранного контроллера и мы Ñможем поÑмотреть на данные в них на вкладке "Ðтрибуты" (РиÑ.4.4.2). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:735px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_DAQGate_prm_attr_ru.png"><img class="thumbimage" height="846" src="files/QuickStart_DAQGate_prm_attr_ru.png" width="733" /></a> <div class="thumbcaption">РиÑ. 4.4.2. Вкладка "Ðтрибуты" параметра Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQGate.</div></div></div></div> <h3><span class="mw-headline" id=".D0.90.D1.80.D1.85.D0.B8.D0.B2.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5-.D0.B8.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.A2.D0.9F"><span class="mw-headline-number">4.5</span> Ðрхивирование-иÑÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… ТП</span></h3> <p>Полученные выше данные ÑчитаютÑÑ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼Ð¸, Ñ‚.е. таковыми, которые периодичеÑки обновлÑÑŽÑ‚ÑÑ Ð¸ характеризуют значение параметра ТП на наÑтоÑщий момент времени. При Ñтом, ранее Ñчитанные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ€ÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¸ перезапиÑи их текущим, Ñ‚.е. отÑутÑтвует их иÑториÑ. Во многих-же задачах требуетÑÑ Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ архива-иÑтории прочитанных значений параметров ТП, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ в OpenSCADA предуÑмотрена подÑиÑтема "<a href="Program_manual.html#Arch" title="Special:MyLanguage/Documents/Program manual">Ðрхивы-ИÑториÑ</a>" где нам нужно Ñоздать архиваторы значений и Ñообщений, Ð´Ð»Ñ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ð¹, и указать наши параметры Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñ… значений там. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> ЕÑли не Ñоздать архиваторов и не подключить наших параметров на архивирование ими, то на графиках вы не получите иÑтории более его общей ширины, а также потерÑете накопленное при переключении, а в отчётных документах не получите иÑтории вообще. </p><p>Ðачнём Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ†Ð¸Ð¸ значений, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ нужно Ñоздать хотÑ-бы один архиватор Ð´Ð»Ñ Ð½ÑƒÐ¶Ð½Ð¾Ð³Ð¾ типа хранилища и периодичноÑтью значений. Вообще, OpenSCADA Ñодержит два Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ†Ð¸Ð¸ — на файловую ÑиÑтему "<a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">FSArch</a>" и на базу данных "<a href="Modules/DBArch.html" title="Special:MyLanguage/Modules/DBArch">DBArch</a>". Тут мы раÑÑмотрим только модуль архивации на файловую ÑиÑтему, как наиболее универÑальный и Ñффективный. Что каÑаетÑÑ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¸Ñ‡Ð½Ð¾Ñти значений Ð´Ð»Ñ "качеÑтвенного" архиватора, то её в оÑновном нужно выбирать по периодичноÑти значений Ñамого медленного иÑточника данных в нашей ÑиÑтеме, который у Ð½Ð°Ñ Ð¾Ð´Ð¸Ð½ и периодичноÑÑ‚ÑŒ мы ему указали 1 Ñекунда. Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð° значений откроем Ñтраницу Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ "Start"->"Ðрхивы-ИÑториÑ"->"Модуль"->"Ðрхиватор на файловую ÑиÑтему" и поÑредÑтвом контекÑтного меню Ñоздадим объект архиватора значений "<b>1s</b>". Обратите внимание на значение Ð¿Ð¾Ð»Ñ "Тип Ñлемента" диалога ÑозданиÑ, которое должно быть "<b>Ðрхиватор значений</b>"! Страница конфигурации полученного объекта архиватора значений (РиÑ.4.5.1) Ñодержит раздел ÑоÑтоÑÐ½Ð¸Ñ Ð¸ оперативного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ "СоÑтоÑние", раздел наÑтроек "КонфигурациÑ" и раздел ÑпецифичеÑких наÑтроек архиватора Ñтого Ð¼Ð¾Ð´ÑƒÐ»Ñ "Дополнительные опции". Ð’ целом мы имеем: </p> <ul><li> Раздел "СоÑтоÑние":</li></ul> <dl><dd><ul><li> запуÑтить архиватор на иÑполнение — <b>уÑтановим</b> флажок напротив ÑоответÑтвующего полÑ, только выполнÑющийÑÑ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€ оÑущеÑтвлÑет архивирование;</li></ul> <dl><dd><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> УÑтановить в поÑледнюю очередь и поÑле Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñего Ñтого ÑпиÑка.</dd></dl> <ul><li> можем проконтролировать текущее и макÑимальное Ð²Ñ€ÐµÐ¼Ñ ÑеанÑа архивированиÑ;</li> <li> указать хранилище — <b>оÑтавим "Общее Хранилище" проекта</b>;</li> <li> можем проконтролировать общий размер файлов архива Ñтого архиватора.</li></ul></dd></dl> <ul><li> Раздел "КонфигурациÑ":</li></ul> <dl><dd><ul><li> уÑтановить запуÑк архиватора при запуÑке программы — <b>уÑтановим</b> флажок напротив ÑоответÑтвующего полÑ;</li> <li> уÑтановить Ð°Ð´Ñ€ÐµÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð¸ Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ архива — "<b>ARCHIVES/VAL/1s</b>", что ÑтавитÑÑ Ð¿Ð¾ умолчанию;</li> <li> уÑтановить период значений — <b>1 (одна)</b> Ñекунда;</li> <li> уÑтановить период Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ â€” <b>60</b> Ñекунд, по умолчанию и обычно одинаков Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð¾Ð² Ñ Ð»ÑŽÐ±Ð¾Ð¹ периодичноÑтью значений.</li></ul></dd></dl> <ul><li> <b>Сохранить</b> объект.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:767px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ArchVal_1s.png"><img class="thumbimage" height="730" src="../en/files/QuickStart_ArchVal_1s.png" width="765" /></a> <div class="thumbcaption">РиÑ. 4.5.1. ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð° значений "1s" на файловую ÑиÑтему.</div></div></div></div> <p>Одного "качеÑтвенного" архиватора уже доÑтаточно Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтва задач, но еÑли вы планируете Ñтроить графики-тренды значений и отчётные документы на большую глубину (Ñутки, недели, меÑÑца) то нужно Ñоздать ещё пару архиваторов Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ периодичноÑтью значений. Иначе поÑтроение графиков и документов будет продолжительным и/или будет обрезатьÑÑ Ð¿Ð¾ лимитам времени иÑполнениÑ! Обычно, в качеÑтве таких дополнительных архиваторов ÑоздаютÑÑ, и вы должны их Ñоздать идентично инÑтрукции Ð´Ð»Ñ "качеÑтвенного" архиватора выше: </p> <ul><li> Минутный — идентификатор "<b>1m</b>", Ð°Ð´Ñ€ÐµÑ "<b>ARCHIVES/VAL/1m</b>" и период значений <b>60</b> Ñекунд.</li> <li> ЧаÑовой — идентификатор "<b>1h</b>", Ð°Ð´Ñ€ÐµÑ "<b>ARCHIVES/VAL/1h</b>" и период значений <b>3600</b> Ñекунд.</li></ul> <p>ÐовоÑозданные проекты OpenSCADA уже Ñодержат шаблоны таких Ñтандартных архиваторов, поÑтому вы можете проÑто включить нужные. </p><p>Ð”Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² "Ti" и "To" параметров AT101_1 и AT101_2 в ранее Ñозданном объекте контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev, доÑтаточно на вкладке "ÐрхивациÑ" Ñтраницы параметров <b>выбрать</b> какие атрибуты архивировать и какими архиваторами (РиÑ.4.5.2). Выберем архивацию атрибутов "Ti" и "To" ранее Ñозданными архиваторами <b>FSArch.1s</b>, <b>FSArch.1m</b>, <b>FSArch.1h</b>. Тоже Ñамое Ñделаем Ð´Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° "var" аналогового параметра ModBus.CM101.TE1314_1 и "com" диÑкретного параметра ModBus.CM101.CB102. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:836px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_LogicLev_prm_arh_ru.png"><img class="thumbimage" height="497" src="files/QuickStart_LogicLev_prm_arh_ru.png" width="834" /></a> <div class="thumbcaption">РиÑ. 4.5.2. Вкладка "ÐрхивациÑ" параметра AT101_1 Ð¼Ð¾Ð´ÑƒÐ»Ñ LogicLev.</div></div></div></div> <p>Ð’ результате Ñтой операции будут автоматичеÑки Ñозданы объекты архивов Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ñ… атрибутов. Пример объекта архива Ð´Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° "Ti" параметра AT101_1 предÑтавлен на риÑунке 4.5.3. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:864px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Arh_gen.png"><img class="thumbimage" height="721" src="../en/files/QuickStart_Arh_gen.png" width="862" /></a> <div class="thumbcaption">РиÑ. 4.5.3. Страница объекта архива атрибута "Ti" параметра AT101_1.</div></div></div></div> <p>Обычно наÑтройки архива менÑÑ‚ÑŒ не нужно, однако, еÑли потребуетÑÑ Ð¾ÑÐ¾Ð±Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ, то её можно Ñделать на указанной выше Ñтранице. Чаще может понадобитьÑÑ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ информации об архиве. Ðапример, узнать размер архива как по времени, так и на ноÑителе, а также взглÑнуть на график параметра (РиÑ.4.5.4). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:987px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_Arh_tr_ru.png"><img class="thumbimage" height="631" src="files/QuickStart_Arh_tr_ru.png" width="985" /></a> <div class="thumbcaption">РиÑ. 4.5.4. Вкладка "ЗначениÑ" Ñтраницы объекта архива атрибута "Ti" параметра AT101_1.</div></div></div></div> <p>Объекты контроллеров, как и отдельные шаблоны параметров, могут формировать ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ нештатных ÑитуациÑÑ…, например — шаблоны комплекÑных Ñигналов-тегов генерируют ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ выходе Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð° одну из границ. Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ характера имеют ÑпецифичеÑкую категорию и именуютÑÑ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñми. </p><p>Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ OpenSCADA предварительно попадают в буфер Ñообщений, который и выÑтупает первичным архивом. Однако буфер имеет ограничение и хранитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в оперативной памÑти, Ñ‚.е. терÑетÑÑ Ð¿Ñ€Ð¸ перезапуÑке программы. Роль ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñообщений на том или ином хранилище выполнÑÑŽÑ‚ архиваторы Ñообщений, как архиваторы значений Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹. </p><p>СоответÑтвенно Ñоздадим архиватор Ñообщений Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ†Ð¸Ð¸ нарушений, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ откроем Ñтраницу Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ "Start"->"Ðрхивы-ИÑториÑ"->"Модуль"->"Ðрхиватор на файловую ÑиÑтему" и поÑредÑтвом контекÑтного меню <b>Ñоздадим</b> объект архиватора Ñообщений <b>alarms (ÐарушениÑ)</b>. Обратите внимание на значение Ð¿Ð¾Ð»Ñ "Тип Ñлемента" диалога ÑозданиÑ, которое должно быть "<b>Ðрхиватор Ñообщений</b>"! Страница конфигурации полученного объекта архиватора значений (РиÑ.4.5.5) Ñодержит раздел ÑоÑтоÑÐ½Ð¸Ñ Ð¸ оперативного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ "СоÑтоÑние", раздел наÑтроек "КонфигурациÑ" и раздел ÑпецифичеÑких наÑтроек архиватора Ñтого Ð¼Ð¾Ð´ÑƒÐ»Ñ "Дополнительные опции". Ð’ целом мы имеем: </p> <ul><li> Раздел "СоÑтоÑние":</li></ul> <dl><dd><ul><li> запуÑтить архиватор на иÑполнение — <b>уÑтановим</b> флажок напротив ÑоответÑтвующего полÑ, только выполнÑющийÑÑ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€ оÑущеÑтвлÑет архивирование; </li></ul> <dl><dd><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> УÑтановить в поÑледнюю очередь и поÑле Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñего Ñтого ÑпиÑка.</dd></dl> <ul><li> указать хранилище — <b>оÑтавим "Общее Хранилище" проекта</b>;</li> <li> можем проконтролировать Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ и поÑледнего ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² архиве Ñтого архиватора;</li> <li> можем проконтролировать общий размер файлов архива Ñтого архиватора;</li> <li> можем проконтролировать текущее и макÑимальное Ð²Ñ€ÐµÐ¼Ñ ÑеанÑа архивированиÑ.</li></ul></dd></dl> <ul><li> Раздел "КонфигурациÑ":</li></ul> <dl><dd><ul><li> уÑтановить запуÑк архиватора при запуÑке программы — <b>уÑтановим</b> флажок напротив ÑоответÑтвующего полÑ;</li> <li> уÑтановить категорию Ñообщений, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ð·ÑƒÐµÑ‚ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ â€” "<b>al*</b>";</li> <li> уÑтановить уровень архивируемых нарушений — "<b>Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ (1[X])</b>";</li> <li> уÑтановить Ð°Ð´Ñ€ÐµÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð¸ Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ архива — "<b>ARCHIVES/MESS/alarms</b>", что ÑтавитÑÑ Ð¿Ð¾ умолчанию;</li></ul></dd></dl> <ul><li> <b>Сохранить</b> объект.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:773px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ArchMess_alarms.png"><img class="thumbimage" height="762" src="../en/files/QuickStart_ArchMess_alarms.png" width="771" /></a> <div class="thumbcaption">РиÑ. 4.5.5. ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð° Ñообщений "alarms" на файловую ÑиÑтему.</div></div></div></div> <p>Таким-же образом можно Ñоздать архиваторы Ñообщений другого характера, например — дейÑÑ‚Ð²Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð°. Ð”Ð»Ñ Ñ‡ÐµÐ³Ð¾ доÑтаточно определить категорию Ñтих Ñообщений и Ñформировать Ð´Ð»Ñ Ð½Ð¸Ñ… шаблон или правило регулÑрного выражениÑ. Ð’Ñ‹ можете получить Ñтандартные категории и их шаблоны, или правила регулÑрного выражениÑ, на <a href="Program_manual.html#ArchMess" title="Special:MyLanguage/Documents/Program manual">Ñтранице архивации Ñообщений</a> или можете изучить реальные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° <a href="Program_manual.html#CfgArch" title="Special:MyLanguage/Documents/Program manual">главной Ñтранице подÑиÑтемы "Ðрхивы-ИÑториÑ"</a>, получить оттуда информацию об их категории и наÑтроить шаблон, или правило регулÑрного выражениÑ. Можно даже Ñоздать архиватор Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñех Ñообщений программы, но делать Ñтого не рекомендуетÑÑ Ð²Ð²Ð¸Ð´Ñƒ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… архивов и долгого доÑтупа к ним потом. </p><p>ÐовоÑозданные проекты OpenSCADA уже Ñодержат шаблоны таких Ñтандартных архиваторов, поÑтому вы можете проÑто включить нужные. </p> <h2><span class="mw-headline" id=".D0.A4.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B2.D0.B8.D0.B7.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">5</span> Формирование визуального предÑтавлениÑ</span></h2> <p>Формирование визуального предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ выполнÑÑ‚ÑŒÑÑ Ð½Ð° трёх уровнÑÑ… ÑложноÑти и пользователь может выбрать любой из них в завиÑимоÑти от требований задачи, ÑƒÑ€Ð¾Ð²Ð½Ñ Ñвоих знаний и Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ñ‹Ð¼Ð¸ образами и шаблонами. </p><p>ПЕРВЫЙ УРОВЕÐЬ требует минимальной квалификации пользователÑ, но подразумевает наличие библиотек шаблонных кадров, нужных Ð´Ð»Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ задачи. Ð’ рамках первого ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŽ доÑтаточно знать, как подключить динамику к Ñтраницам шаблонных кадров и как добавить новые Ñтраницы шаблонных кадров. </p><p>ВТОРОЙ УРОВЕÐЬ предуÑматривает дополнительную ÑпоÑобноÑÑ‚ÑŒ — Ñоздавать новые кадры на оÑнове готовых-комплекÑных Ñлементов путём проÑтого их Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² облаÑти кадра. Ð”Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñтого квалификационного уровнÑ, пользователю понадобÑÑ‚ÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ комплекÑных Ñлементов, нужных Ð´Ð»Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ задачи. </p><p>ТРЕТИЙ УРОВЕÐЬ предуÑматривает владение вÑеми инÑтрументами Ñреды разработки визуальных интерфейÑов OpenSCADA, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ñоздание новых комплекÑных Ñлементов и разработку интерфейÑов Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² проекте. </p><p>Ð’Ñе дейÑÑ‚Ð²Ð¸Ñ Ð½Ð°Ð´ интерфейÑом визуализации будем выполнÑÑ‚ÑŒ в окружении <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Ð¼Ð¾Ð´ÑƒÐ»Ñ Vision</a> подÑиÑтемы "ПользовательÑкие интерфейÑÑ‹". Ð”Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¾ÐºÐ½Ð° интерфейÑа Vision нажмём вторую иконку Ñправа панели инÑтрументов конфигуратора. Ð’ результате получим окно, ранее предÑтавленное на риÑунке 3.3.1.3. </p><p>ИнтерфейÑÑ‹ пользователÑ-оператора в OpenSCADA реализуютÑÑ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°Ð¼Ð¸ визуализации. Ð’ библиотеке <a href="Libs_Main_graphical_elements.html" title="Special:MyLanguage/Libs/Main graphical elements">оÑновных Ñлементов пользовательÑкого интерфейÑа</a> приÑутÑтвует шаблон типового проекта визуализации, оÑнованного на концепции объектов Ñигнализации и видов отображениÑ. Пользователь может начать Ñоздавать Ñвою концепцию интерфейÑа визуализации, в виде нового проекта, а может иÑпользовать указанный шаблон. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Ð”Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ новой концепции проекта визуализации потребуютÑÑ Ð·Ð½Ð°Ð½Ð¸Ñ Ñ‚Ñ€ÐµÑ‚ÑŒÐµÐ³Ð¾ ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¸ значительные уÑилиÑ, что находитÑÑ Ð·Ð° рамками раÑÑÐ¼Ð¾Ñ‚Ñ€ÐµÐ½Ð¸Ñ Ñтого документа. ПоÑтому будем раÑÑматривать Ñоздание интерфейÑа визуализации на оÑнове доÑтупного шаблонного проекта. </p><p>Скопируем проект "Группы Ñигнализации (шаблон)", <b>нажав Ñначала кнопку "Копировать визуальный Ñлемент"</b> на нём, а затем <b>кнопку "Ð’Ñтавить визуальный Ñлемент"</b> (РиÑ.5.1). Ð’ диалоге назовём наш новый проект <b>start (Старт)</b> и в ÑпиÑке проектов получим пункт нашего нового проекта (РиÑ.5.1). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1092px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_newPrj.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_ui_newPrj.png" width="1090" /></a> <div class="thumbcaption">РиÑ. 5.1. Копирование шаблонного проекта в новый.</div></div></div></div> <p>Перед иÑпользованием и Ñохранением нового проекта (РиÑ.5.3) нужно <b>изменить его хранилище на "Общее Хранилище"</b>, что мы можем Ñделать на главной Ñтранице диалога ÑвойÑтв визуального Ñлемента, вызываемого по кнопке "СвойÑтва визуального Ñлемента" (РиÑ.5.2). ПоÑле чего <b>Ñохраним</b> наш новый проект нажав третью кнопку Ñлева панели инÑтрументов. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:701px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_props.png"><img class="thumbimage" height="624" src="../en/files/QuickStart_ui_props.png" width="699" /></a> <div class="thumbcaption">РиÑ. 5.2. СвойÑтва нового проекта на оÑнове шаблонного.</div></div></div></div> <p>Шаблонный проект (РиÑ.5.3) Ñодержит две ветви — "Панели управлениÑ" и "ÐšÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница". Ветвь "Панели управлениÑ" Ñодержит набор кадров типовых панелей ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ Ñпециализированных кадров. Ветвь "ÐšÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница", Ñ ÐºÐ¾Ñ€Ð½ÐµÐ²Ð¾Ð¹ Ñтраницей в оÑнове, Ñодержит подветви объектов Ñигнализации "Группа 1", "Группа 2" и отдельную ветвь Ñводных графиков "Сводные графики". Подветви объектов Ñигнализации "Группа {n}" имеют цифровой идентификатор и могут раÑширÑÑ‚ÑŒÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ вплоть до Ñтольких, Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñкольких помеÑÑ‚ÑÑ‚ÑÑ Ð½Ð°Ð²ÐµÑ€Ñ…Ñƒ в два Ñ€Ñда. ПриÑутÑтвие подветви "Группа {n}" отражаетÑÑ Ð½Ð° активации ÑоответÑтвующей кнопки объекта Ñигнализации корневой Ñтраницы, что позволÑет на них переключатьÑÑ. ÐšÐ°Ð¶Ð´Ð°Ñ Ð¿Ð¾Ð´Ð²ÐµÑ‚Ð²ÑŒ "Группа {n}" Ñодержит контейнеры или шаблоны видов отображениÑ, обычно: "МнемоÑхемы", "Группы графиков", "Группы контуров", "Группы обзорных кадров" и "Документы". Ðаличие Ñтраниц в контейнерах отображений включает возможноÑÑ‚ÑŒ выбора Ñтого Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑоответÑтвующего объекта Ñигнализации корневой Ñтраницы. Детальнее ознакомитьÑÑ Ñо Ñтруктурой корневой Ñтраницы можно по <a href="Libs_Main_graphical_elements.html#RootPgSo" title="Special:MyLanguage/Libs/Main graphical elements">ÑÑылке</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1035px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_so_ru.png"><img class="thumbimage" height="800" src="files/QuickStart_ui_so_ru.png" width="1033" /></a> <div class="thumbcaption">РиÑ. 5.3. Шаблонный проект на оÑнове концепции объектов Ñигнализации.</div></div></div></div> <h3><span class="mw-headline" id=".D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.88.D0.B0.D0.B1.D0.BB.D0.BE.D0.BD.D0.BD.D0.BE.D0.B9_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B_.D0.B8_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D0.B8.D0.BA.D0.B8"><span class="mw-headline-number">5.1</span> Добавление шаблонной Ñтраницы и подключение динамики</span></h3> <p>РаÑÑмотрим задачу первого ÑƒÑ€Ð¾Ð²Ð½Ñ ÑложноÑти, когда к уже разработанной концепции интерфейÑа нужно подключить динамику шаблонной Ñтраницы. ПонÑтие "Шаблон Ñтраницы" подразумевает Ñтраницу, на оÑнове которой и путём наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ ÑоздаватьÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑтво конечных Ñтраниц визуализации Ñ Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¼ перечнем динамики. Примером таких Ñтраниц ÑвлÑÑŽÑ‚ÑÑ: "<a href="Libs_Main_graphical_elements.html#grpGraph" title="Special:MyLanguage/Libs/Main graphical elements">Группа графиков</a>", "<a href="Libs_Main_graphical_elements.html#grpCadr" title="Special:MyLanguage/Libs/Main graphical elements">Группа контуров</a>", "<a href="Libs_Main_graphical_elements.html#ViewCadr" title="Special:MyLanguage/Libs/Main graphical elements">Группа обзорных кадров</a>" и "<a href="Libs_Main_graphical_elements.html#ResultGraph" title="Special:MyLanguage/Libs/Main graphical elements">Сводные графики</a>". Ðа РиÑ.5.1.1 предÑтавлена ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð°Ñ Ñтраница "Группа графиков" в дереве нашего проекта "Старт". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1099px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_grah_tmpl_ru.png"><img class="thumbimage" height="712" src="files/QuickStart_ui_grah_tmpl_ru.png" width="1097" /></a> <div class="thumbcaption">РиÑ. 5.1.1. Ð¨Ð°Ð±Ð»Ð¾Ð½Ð½Ð°Ñ Ñтраница "Группа графиков".</div></div></div></div> <p>Ð¨Ð°Ð±Ð»Ð¾Ð½Ð½Ð°Ñ Ñтраница "Группа графиков" предоÑтавлÑет возможноÑÑ‚ÑŒ подключить до воÑьми Ñигналов одновременного их Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° графике. Ðлементы Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñверху автоматичеÑки ÑкрываютÑÑ Ð´Ð»Ñ Ð½ÐµÑƒÑтановленных ÑвÑзей. </p><p>Создадим новую группу графиков в шаблонном контейнере "Группа графиков" первой группы корневой Ñтраницы. Ð”Ð»Ñ Ñтого в контекÑтном меню пункта "Группа графиков" <b>выберем пункт меню "Добавить визуальный Ñлемент"</b> (РиÑ.5.1.2), делее введём идентификатор "2" и название "Графики 2" — <b>2 (Графики 2)</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1087px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_grah_add.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_ui_grah_add.png" width="1085" /></a> <div class="thumbcaption">РиÑ. 5.1.2. Добавление группы графиков "Графики 2".</div></div></div></div> <p>ПоÑле Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð° имени будет Ñоздана Ð½Ð¾Ð²Ð°Ñ Ñтраница, однако Ð´Ð»Ñ ÐµÑ‘ активации нам понадобитÑÑ ÐµÑ‘ включить. Включить Ñтраницу можно в диалоге Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв Ñтраницы (РиÑ.5.1.3). Открыть Ñту Ñтраницу можно поÑредÑтвом <b>выбора пункта меню "СвойÑтва визуального Ñлемента"</b> в контекÑтном меню только что Ñозданной Ñтраницы. Создать Ñтраницу в логичеÑком контейнере на оÑнове шаблона можно и проÑтым копированием шаблона в Ñамого ÑебÑ, а также копированием другой Ñтраницы Ñтого контейнера, но уже и Ñо ÑвÑзÑми. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:610px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_el_prop.png"><img class="thumbimage" height="615" src="../en/files/QuickStart_ui_el_prop.png" width="608" /></a> <div class="thumbcaption">РиÑ. 5.1.3. Диалог Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв визуального Ñлемента.</div></div></div></div> <p>ПоÑле Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñтраницы можно приÑтупать к уÑтановке ÑвÑзей на Ñозданные ранее параметры контроллеров. Ð”Ð»Ñ Ñтого, не Ð¿Ð¾ÐºÐ¸Ð´Ð°Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð° Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв только что Ñозданной Ñтраницы (РиÑ.5.1.3), перейдём на вкладку "СвÑзи" (РиÑ.5.1.4). Ðа Ñтой вкладке мы увидим дерево Ñ Ñлементами "el1" ... "el8". Развернув любой из Ñлементов мы увидим ветвь "Parameter" и именно в ней мы должны указать или выбрать Ð°Ð´Ñ€ÐµÑ Ð½Ð°ÑˆÐ¸Ñ… атрибутов "Ti" и "To". Итого заполним четыре Ñлемента и в процеÑÑе Ñтого чаÑÑ‚ÑŒ ÑвойÑтв нужно указывать поÑтоÑнными: </p> <ul><li> "name" — "<b>val:AT101_1 Ti</b>";</li> <li> "ed" — "<b>val:град.С</b>";</li> <li> "max" — "<b>val:150</b>" (Ð´Ð»Ñ Ti) и <b>val:100</b> (Ð´Ð»Ñ To);</li> <li> "min" — "<b>val:0</b>".</li></ul> <p>ЕÑли в шаблоне параметра контроллера заранее предуÑмотреть наличие атрибутов, указанных нами поÑтоÑнными, то можно будет указывать только параметр и атрибуты раÑÑтавÑÑ‚ÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки. Ðто мы можем увидеть привÑзав Ñозданный нами ранее комплекÑный объект-тег аналогового Ñигнала ModBus.CM101.TE1314_1. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:610px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_el_prop_lnk_ru.png"><img class="thumbimage" height="728" src="files/QuickStart_ui_el_prop_lnk_ru.png" width="608" /></a> <div class="thumbcaption">РиÑ. 5.1.4. Вкладка "СвÑзи" диалога Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв визуального Ñлемента.</div></div></div></div> <p>Закончив ввод ÑвÑзей можем проверить, что получилоÑÑŒ в результате наших уÑилий, Ð´Ð»Ñ Ñтого закроем окно диалога ÑвойÑтв и запуÑтим наш проект "Старт" на иÑполнение — про кнопку запуÑка мы помним из первых разделов. Затем выберем графики и переключимÑÑ Ð½Ð° вторую Ñтраницу. При безошибочной конфигурации мы должны увидеть подобное изображённому на риÑунке 5.1.5. Заметьте, что Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° комплекÑного объекта-тега Ñ ÑƒÑтановленными границами нарушений, выход Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð° границы отмечаетÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ñ‹Ð¼ цветом. Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ что-бы увидеть выход за границу Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚Ðµ уÑтановить значение производительноÑти вентилÑтора в 100 (РиÑ.4.2.9). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1026px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_grph_ru.png"><img class="thumbimage" height="670" src="files/QuickStart_ui_run_grph_ru.png" width="1024" /></a> <div class="thumbcaption">РиÑ. 5.1.5. Группа графиков Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸ÐµÐ¼ четырёх Ñигналов и одним параметром объекта-тега.</div></div></div></div> <h3><span class="mw-headline" id=".D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BA.D0.B0.D0.B4.D1.80.D0.B0_.E2.80.94_.D0.BC.D0.BD.D0.B5.D0.BC.D0.BE.D1.81.D1.85.D0.B5.D0.BC.D1.8B"><span class="mw-headline-number">5.2</span> Создание нового кадра — мнемоÑхемы</span></h3> <p>Поднимем планку и Ñоздадим новый кадр, куда помеÑтим базовые Ñлементы Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ параметров наших контроллеров. Такие кадры обычно называютÑÑ Ð¼Ð½ÐµÐ¼Ð¾Ñхемами и кроме Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÐ¸, и даже в первую очередь, Ñодержат ÑтатичеÑкое изображение технологичеÑкого процеÑÑа в мнемоничеÑком предÑтавлении. Мы же не будем акцентировать тут внимание на Ñоздание Ñтатики, а добавим Ñлементы динамики и подключим к ней параметры наших контроллеров. Ðу и помеÑтим Ñозданный кадр в дерево нашего проекта. </p><p>Ðовые кадры, предназначенные впоÑледÑтвии Ð´Ð»Ñ Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² проект, принÑто Ñоздавать и изменÑÑ‚ÑŒ в библиотеке виджетов. Создадим новую библиотеку виджетов выбрав вертикальную вкладку "Виджет" и в контекÑтном меню окна библиотек виджетов <b>выберем пункт меню "ÐÐ¾Ð²Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°"</b> (РиÑ.5.2.1). Ð’ диалоге ввода имени укажем — <b>CM101 (KM 101)</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:758px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_wlib_add.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_ui_wlib_add.png" width="756" /></a> <div class="thumbcaption">РиÑ. 5.2.1. Добавление новой библиотеки виджетов.</div></div></div></div> <p>Далее добавлÑем новый кадр, выбрав пункт меню "... из Библиотеки"->"Библиотека: originals"->"Группа Ñлементов" (РиÑ.5.2.2) в контекÑтном меню Ñозданной библиотеки "KM 101". Ð’ диалоге ввода Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÑƒÐºÐ°Ð¶ÐµÐ¼ <b>AT101 (AT 101)</b>. Ð’ оÑнове любого кадра и Ñтраницы должен лежать Ñлемент "Группа Ñлементов (Box)" поÑтому мы его и выбрали. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:835px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_w_add.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_ui_w_add.png" width="833" /></a> <div class="thumbcaption">РиÑ. 5.2.2. Добавление нового кадра.</div></div></div></div> <p>Сразу поÑле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кадра нужно уÑтановить его базовые ÑвойÑтва, характерные Ð´Ð»Ñ ÐºÐ°Ð´Ñ€Ð° мнемоÑхемы. СвойÑтва или атрибуты любого визуального Ñлемента можно указать в панели инÑтрументов "Ðтрибуты", предварительно выбрав нужный визуальный Ñлемент. Выберем Ñозданный кадр "AT 101" и уÑтановим Ñледующие ÑвойÑтва: </p> <ul><li> "ГеометриÑ: ширина" — <b>900</b>;</li> <li> "ГеометриÑ: выÑота" — <b>600</b>;</li> <li> "Страница: группа" — "<b>so</b>", Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÐºÐ°Ð´Ñ€Ð° в контейнер мнемоÑхем при иÑполнении;</li> <li> "Фон: цвет" — "<b>#5A5A5A</b>";</li> <li> "Граница: ширина" — <b>1</b>;</li> <li> "Граница: цвет" — "<b>black</b>".</li></ul> <p>Ð’ результате получим пуÑтой кадр (РиÑ.5.2.3), готовый Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñлементов на него. Ð”Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкого Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ проÑмотра вида кадра необходимо <b>выбрать пункт "Редактировать визуальный Ñлемент"</b> в контекÑтном меню кадра. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1056px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_w_viewa_ru.png"><img class="thumbimage" height="763" src="files/QuickStart_ui_w_viewa_ru.png" width="1054" /></a> <div class="thumbcaption">РиÑ. 5.2.3. Вид нового кадра и уÑтановленных атрибутов мнемоÑхемы.</div></div></div></div> <p>Теперь, на кадр добавим Ñлементы Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ параметра Ð´Ð»Ñ Ð½Ð°ÑˆÐ¸Ñ… четырёх Ñигналов и параметра комплекÑного объекта-тега ModBus.CM101.TE1314_1. Ð”Ð»Ñ Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñлемента Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ Ñигнала на мнемоÑхему нужно её выбрать, а затем, в меню окна, выбрать пункт меню "Виджет"->"Библиотека: Main"->"Отображение аналогового"; поÑле чего поÑвитÑÑ ÐºÑƒÑ€Ñор Ñ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð¼ Ñтого Ñлемента, который нужно подвеÑти в желаемую облаÑÑ‚ÑŒ мнемоÑхемы и нажать левую кнопку мыши. Ð’ момент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑвитÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³ Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñом имени нового Ñлемента. Подобным образом добавлÑÑ‚ÑŒ будем пÑÑ‚ÑŒ Ñлементов, которые назовём: <b>A1_Ti</b>, <b>A1_To</b>, <b>A2_Ti</b>, <b>A2_To</b> и <b>TE1314_1</b>. </p><p>Таким-же образом добавим Ñлемент крана комплекÑного объекта-тега диÑкретного параметра ModBus.CM101.CB102, Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ иÑпользуем библиотечный Ñлемент "Виджет"->"Библиотека: mnEls"->"Кран шаровый" и назовём его <b>CB102</b>. </p><p>Ð”Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑпиÑка текущих нарушений, на мнемоÑхему помеÑтим Ñлемент протокола из библиотеки примитивов "Виджет"->"Библиотека: originals"->"Протокол" и назовём его <b>Protocol</b>. Ð’ инÑпекторе атрибутов уÑтановим ÑвойÑтва протокола: </p> <ul><li> "ГеометриÑ: ширина" — <b>500</b>;</li> <li> "ГеометриÑ: выÑота" — <b>250</b>;</li> <li> "Показать колонки" — "<b>tm;lev;mess</b>";</li> <li> "Уровень" — <b>-1</b>, отображение текущих нарушений любого уровнÑ;</li> <li> "Размер, Ñекунд" — <b>0</b>, отображать Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð½Ð° любую глубину;</li> <li> "Период ÑлежениÑ, Ñекунд" — <b>1</b>.</li></ul> <p>Добавленные Ñлементы можно раÑположить по желанию проÑто выделÑÑ Ð¸ перетаÑÐºÐ¸Ð²Ð°Ñ Ð¼Ñ‹ÑˆÑŒÑŽ. Таким-же образом можно изменить их размер. ПроÑтое изменение размера вызовет изменение только геометрии контейнера виджета, что чаÑто не нужно. Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° вÑего Ñодержимого виджета его нужно маÑштабировать, что оÑущеÑтвлÑетÑÑ ÑƒÐ´ÐµÑ€Ð¶Ð°Ð½Ð¸ÐµÐ¼ клавиши "Ctrl" при изменении размера или переключением ÑоÑтоÑÐ½Ð¸Ñ "Изм. размера" на "МаÑштаб" в Ñтроке ÑтатуÑа. </p><p>ПоÑле Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñех манипулÑций у Ð½Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° получитьÑÑ Ð¼Ð½ÐµÐ¼Ð¾Ñхема Ñ Ð²Ð¸Ð´Ð¾Ð¼ похожим на риÑунок 5.2.4. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1056px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_mn_ru.png"><img class="thumbimage" height="763" src="files/QuickStart_ui_mn_ru.png" width="1054" /></a> <div class="thumbcaption">РиÑ. 5.2.4. Вид мнемоÑхемы Ñ Ñ€Ñдом Ñлементов.</div></div></div></div> <p>Ðа Ñтом процедуру ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð½ÐµÐ¼Ð¾Ñхемы будем Ñчитать законченной. Сохраним новую библиотеку виджетов "KM 101" и приÑтупим к Ñтапу Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð½Ð°ÑˆÐµÐ¹ мнемоÑхемы в дереве проекта "Старт". </p><p>ПомеÑтим нашу мнемоÑхему в ветвь "Старт"->"ÐšÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница"->"Группа 1"->"МнемоÑхемы" путём выбора пункта меню "... из Библиотеки"->"Библиотека: CM101"->"AT 101" в контекÑтном меню пункта Ñтраницы проекта "МнемоÑхемы". Идентификатор новой мнемоÑхемы уÑтановим в "2" при Ñтом поле имени оÑтавим пуÑтым — <b>2</b>. </p><p>Далее нужно произвеÑти уже знакомую нам по предыдущей главе операцию, а именно — уÑтановку ÑвÑзей на ранее Ñозданные параметры контроллеров. Ð”Ð»Ñ Ñтого откроем вкладку "СвÑзи" (РиÑ.5.2.5) диалога Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв мнемоÑхемы, где мы увидим дерево Ñ Ñлементами "A1_Ti", "A1_To", "A2_Ti" и "A2_To". Развернув любой из Ñлементов мы увидим ветку "Parameter" в которой мы должны указать или выбрать Ð°Ð´Ñ€ÐµÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ "pVal" наших атрибутов "Ti" и "To" ÑоответÑтвенно. Ð’ процеÑÑе заполнении Ñлементов чаÑÑ‚ÑŒ ÑвойÑтв нужно указывать поÑтоÑнными: </p> <ul><li> "pName" — "<b>val:AT101_1 Ti</b>".</li></ul> <p>Как и в Ñлучае Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð¹ графиков в предыдущем разделе, Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑных параметров объекта-тега ModBus.CM101.TE1314_1 и ModBus.CM101.CB102 можно указать только параметр и атрибуты раÑÑтавÑÑ‚ÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:516px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_mn_lnk_ru.png"><img class="thumbimage" height="864" src="files/QuickStart_ui_mn_lnk_ru.png" width="514" /></a> <div class="thumbcaption">РиÑ. 5.2.5. Вкладка "СвÑзи" диалога Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв мнемоÑхемы.</div></div></div></div> <p>Теперь можем Ñохранить нашу мнемоÑхему и поглÑдеть на результат. Ð”Ð»Ñ Ñтого закроем окно диалога ÑвойÑтв и запуÑтим наш проект "Старт" на иÑполнение. Затем кнопками перелиÑÑ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð¸Ð¼ÑÑ Ð½Ð° нашу мнемоÑхему и в Ñлучае безошибочной конфигурации мы должны увидеть подобное риÑунку 5.2.6. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_mn_ru.png"><img class="thumbimage" height="761" src="files/QuickStart_ui_run_mn_ru.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 5.2.6. МнемоÑхема Ñ Ñ‡ÐµÑ‚Ñ‹Ñ€ÑŒÐ¼Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ Ñигналами, комплекÑными параметрами объекта-тега и протоколом.</div></div></div></div> <p>Заметьте, что выход Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑного параметра объекта-тега за границы нарушений отмечаетÑÑ Ð¼Ð¸Ð³Ð°Ð½Ð¸ÐµÐ¼ через аварийный цвет длÑ: параметра, объекта Ñигнализации и жёлтого кружочка внизу. Кроме Ð¼Ð¸Ð³Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ нарушении оÑущеÑтвлÑетÑÑ Ð¼Ð¾Ð½Ð¾Ñ‚Ð¾Ð½Ð½Ð°Ñ ÑÐ¸Ð³Ð½Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ (чаÑто на бузер) и Ñинтез речи Ñ Ð¿Ñ€Ð¾Ð³Ð¾Ð²Ð¾Ñ€Ð¾Ð¼ позиции параметра указанной в поле ÑвÑзи "spName" (РиÑ.5.2.5) еÑли доÑтупен ÑоответÑтвующий Ñинтезатор речи. При активации нарушениÑ, Ñправа и Ñправа-внизу активируютÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸ Ñ Ð¸Ð½Ð´Ð¸ÐºÐ°Ñ†Ð¸ÐµÐ¹ типа уведомлениÑ, а по нажатию на них оÑущеÑтвлÑетÑÑ ÐºÐ²Ð¸Ñ‚Ð°Ñ†Ð¸Ñ ÑоответÑтвующего типа уведомлениÑ. По нажатию на мигающий жёлтый круг Ñправа-внизу "квитируютÑÑ"-замалчиваютÑÑ Ð²Ñе уведомлениÑ. Факт приÑутÑÑ‚Ð²Ð¸Ñ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ отображаетÑÑ Ð·Ð°Ð¿Ð¸Ñью в протоколе, который мы добавили. Чтобы увидеть выход за границу Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚Ðµ уÑтановить значение производительноÑти вентилÑтора в 100 (РиÑ.4.2.9). Детальнее про концепцию работы Ñ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñми можно почитать в документе "<a href="How_to_Violations.html" title="Special:MyLanguage/Documents/How to/Violations, alarms and notifications">Как Ñформировать нарушениÑ, Ñигнализацию и уведомлениÑ</a>". </p><p>ИÑторию нарушений можем поÑмотреть в документе "Протокол нарушений", который доÑтупен при выборе вида "Документ" (РиÑ.5.2.7). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_docAlarms_ru.png"><img class="thumbimage" height="761" src="files/QuickStart_ui_run_docAlarms_ru.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 5.2.7. Документ "Протокол нарушений".</div></div></div></div> <p>ДиÑкретный комплекÑный параметр объекта-тега ModBus.CM101.CB102, предÑтавленный нами в виде шарового крана, ÑвлÑетÑÑ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ð¼. Т.е. его можно выбрать, получив панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñправа (РиÑ.5.2.6), а также передать команды (открыть или закрыть). Команды можно передавать Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ через контекÑтное меню. Ð’Ñе дейÑÑ‚Ð²Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° по управлÑющим воздейÑтвиÑм протоколируютÑÑ Ð¸ документ протокола можно поÑмотреть при выборе вида "Документ" (РиÑ.5.2.8). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_docOperator_ru.png"><img class="thumbimage" height="761" src="files/QuickStart_ui_run_docOperator_ru.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 5.2.8. Документ "Протокол вмешательÑтв".</div></div></div></div> <h3><span class="mw-headline" id=".D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0"><span class="mw-headline-number">5.3</span> Создание нового комплекÑного Ñлемента</span></h3> <p>ПриÑтупим к раÑÑмотрению задачи третьего ÑƒÑ€Ð¾Ð²Ð½Ñ ÑложноÑти, а именно к Ñозданию комплекÑного Ñлемента. Создание комплекÑного Ñлемента, включающего в ÑÐµÐ±Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸ÑŽ различных базовых примитивов, может оÑущеÑтвлÑÑ‚ÑŒÑÑ Ð² неÑколько Ñтапов. Ð’ качеÑтве примера раÑÑмотрим задачу, ÑоÑтоÑщую из двух Ñтапов: </p> <ul><li> Ñоздание виджета "Воздушный холодильник" на оÑнове примитива "ÐÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð½Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð°";</li> <li> Ñоздание финального-Ñкомпонованного виджета "Холодильник" на оÑнове примитива "Группа Ñлементов".</li></ul> <h4><span class="mw-headline" id=".D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B2.D0.B8.D0.B4.D0.B6.D0.B5.D1.82.D0.B0_.22.D0.92.D0.BE.D0.B7.D0.B4.D1.83.D1.88.D0.BD.D1.8B.D0.B9_.D1.85.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.22_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D0.B5_.D0.BF.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2.D0.B0_.22.D0.AD.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0.D1.80.D0.BD.D0.B0.D1.8F_.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.22"><span class="mw-headline-number">5.3.1</span> Создание виджета "Воздушный холодильник" на оÑнове примитива "ÐÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð½Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð°"</span></h4> <p>Виджет будем Ñоздавать в ранее нами Ñозданной библиотеке "КМ 101". Ð”Ð»Ñ Ñтого кликаем правой кнопкой манипулÑтора "мышь" по пункту Ñтой библиотеке и выбираем пункт меню "... из Библиотеки"->"Библиотека: originals"->"ÐÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð½Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð°" как Ñто показано на риÑунке 5.3.1.1 и называем новый елемент <b>air_cooler (Воздушный холодильник)</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:940px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_addElFig.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_addElFig.png" width="938" /></a> <div class="thumbcaption">РиÑ. 5.3.1.1. Добавление виджета в библиотеку "KM 101" на оÑнове примитива "ÐÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð½Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð°".</div></div></div></div> <p>ПоÑле Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑвитÑÑ Ð½Ð¾Ð²Ñ‹Ð¹ виджет Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ "Воздушный холодильник", выберем его в ÑпиÑке виджетов библиотеки "KM 101" и откроем Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑредÑтвом контекÑтного меню нового Ñлемента (РиÑ.5.3.1.2). Ð’ инÑпекторе атрибутов уÑтановим ÑвойÑтва: </p> <ul><li> "ГеометриÑ: ширина" — <b>200</b>;</li> <li> "ГеометриÑ: выÑота" — <b>200</b>;</li> <li> "Заполнение: цвет" — "<b>lightgrey</b>", цвет можно задавать как Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <a class="external text" href="http://www.w3.org/TR/SVG/types.html#ColorKeywords" rel="nofollow noreferrer noopener" target="_blank">названий цветов</a>, так и в формате #RRGGBB (#RRGGBB-AAA).</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1056px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ElFigWH_ru.png"><img class="thumbimage" height="763" src="files/QuickStart_ElFigWH_ru.png" width="1054" /></a> <div class="thumbcaption">РиÑ. 5.3.1.2. ÐŸÐµÑ€Ð²Ð¸Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð°.</div></div></div></div> <p>Теперь изобразим визуальное предÑтавление виджета, что можно оÑущеÑтвить Ð´Ð²ÑƒÐ¼Ñ ÑпоÑобами: </p> <ul><li> нариÑовать желаемое изображение манипулÑтором "мышь", иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ "Линию", "Дугу", "Кривую Безье" и "Заливку"; ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ "Панель Ñлементарных фигур" поÑвитÑÑ Ð¿Ð¾Ñле входа в режим редактированиÑ-риÑованиÑ; вход в Ñтот режим оÑущеÑтвлÑетÑÑ ÐºÐ°Ðº показано на риÑунке 5.3.1.3 либо двойным нажатием левой кнопки манипулÑтора "мышь" на теле виджета;</li> <li> вручную заполнить поле "СпиÑок Ñлементов", Ð²Ð²ÐµÐ´Ñ Ð¿ÐµÑ€ÐµÑ‡ÐµÐ½ÑŒ необходимых Ñлементов и координат точек.</li></ul> <p>Дополнительную информацию о редакторе можно получить <a href="Modules/Vision.html#ElFigure" title="Special:MyLanguage/Modules/Vision">здеÑÑŒ</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1056px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_goElFigEdit_ru.png"><img class="thumbimage" height="763" src="files/QuickStart_goElFigEdit_ru.png" width="1054" /></a> <div class="thumbcaption">РиÑ. 5.3.1.3. Вход в режим риÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð°, оÑнованного на примитиве "ÐÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð½Ð°Ñ Ñ„Ð¸Ð³ÑƒÑ€Ð°".</div></div></div></div> <p>Ð’ нашем примере воÑпользуемÑÑ Ð²Ñ‚Ð¾Ñ€Ñ‹Ð¼ ÑпоÑобом, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ в поле "СпиÑок Ñлементов" инÑпектора атрибутов введем нижеприведенный перечень и нажмем "Ctrl"+"Enter": </p> <pre> line:(20|80):(100|20) line:(100|20):(180|80) line:(180|80):(100|140) line:(100|140):(20|80) line:(100|20):(100|140) line:(20|80):(180|80) line:(50|165):(100|140) line:(100|140):(150|165) line:(150|165):(50|165) fill:(20|80):(100|20):(180|80):(100|140) fill:(50|165):(100|140):(150|165) </pre> <p>Ð’Ñе точки указаны ÑтатичеÑки так как не предуÑматриваетÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸ Ñмена координат в режиме иÑполнениÑ, а вÑе оÑтальные параметры оÑтавлены по умолчанию. Ð’ÑледÑтвие Ñтого, наш виджет примет вид на риÑунке 5.3.1.4. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ElFigFillCl_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_ElFigFillCl_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.1.4. Изображение, ÑоответÑтвующее "СпиÑку Ñлементов" виджета.</div></div></div></div> <p>Создадим иконку нашего виджета, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±ÑƒÐ´ÐµÑ‚ видна в дереве виджетов библиотеки "KM 101" (РиÑ.5.3.1.5). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ElFigPic_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_ElFigPic_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.1.5. Создание иконки виджета.</div></div></div></div> <p>Ðа Ñтом процеÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ виджета можно Ñчитать завершенным. Перейдем к Ñтапу компоновки и ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰ÐµÐ³Ð¾ виджета. </p> <h4><span class="mw-headline" id=".D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D1.84.D0.B8.D0.BD.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE-.D1.81.D0.BA.D0.BE.D0.BC.D0.BF.D0.BE.D0.BD.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B2.D0.B8.D0.B4.D0.B6.D0.B5.D1.82.D0.B0_.22.D0.A5.D0.BE.D0.BB.D0.BE.D0.B4.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.22_.D0.BD.D0.B0_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D0.B5_.D0.BF.D1.80.D0.B8.D0.BC.D0.B8.D1.82.D0.B8.D0.B2.D0.B0_.22.D0.93.D1.80.D1.83.D0.BF.D0.BF.D0.B0_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2.22"><span class="mw-headline-number">5.3.2</span> <span id="ComplexWdg" title="#ComplexWdg">Создание финального-Ñкомпонованного виджета "Холодильник" на оÑнове примитива "Группа Ñлементов"</span></span></h4> <p>Финальный виджет будем Ñоздавать в библиотеке "KM 101" Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ кликаем правой кнопкой манипулÑтора "мышь" по Ñтой библиотеке и выбираем примитив "Группа Ñлементов" как Ñто показано на риÑунке 5.3.2.1. Ðазовём новый Ñлемент — <b>elCooler (Холодильник)</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_addBox_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_addBox_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.1. Добавление виджета в библиотеку "KM 101" на оÑнове примитива "Группа Ñлементов".</div></div></div></div> <p>ПоÑле Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑвитÑÑ Ð½Ð¾Ð²Ñ‹Ð¹ виджет Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ "Холодильник". Выберем его в ÑпиÑке виджетов библиотеки "KM 101" и откроем Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ. Ð’ инÑпекторе атрибутов уÑтановим ÑвойÑтва: </p> <ul><li> "ГеометриÑ: ширина" — <b>250</b>;</li> <li> "ГеометриÑ: выÑота" — <b>200</b>.</li></ul> <p>Возьмём ранее Ñозданный Ñлемент "Воздушный холодильник" и перетащим его — нажмём на нем левую кнопку манипулÑтора "мышь" и перемеÑтим курÑор до облаÑти только что Ñозданного виджета, где отпуÑтим кнопку (РиÑ.5.3.2.2). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_air_coolerDrag_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_air_coolerDrag_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.2. ПеретаÑкивание (Drag&Drop) виджета "Воздушный холодильник" в виджет-контейнер "Холодильник".</div></div></div></div> <p>Ð’ результате поÑвитÑÑ Ð¾ÐºÐ½Ð¾ диалога Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ ввеÑти идентификатор и Ð¸Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ виджета. Идентификатор и Ð¸Ð¼Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть заданы произвольно, мы введём идентификатор <b>air_cooler</b>, а Ð¸Ð¼Ñ Ð¾Ñтавим пуÑтым и оно унаÑледуетÑÑ Ð¾Ñ‚ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ â€” Ñлемента "Воздушный холодильник". Таким образом, только что Ñозданный виджет внутри контейнера "Холодильник" унаÑледует Ñлемент "Воздушный холодильник". ПоÑле Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð° идентификатора и имени, виджет "Воздушный холодильник" добавитÑÑ Ð² нашем виджете-контейнере "Холодильник" (РиÑ.5.3.2.3). Ð’ инÑпекторе атрибутов уÑтановим Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ ÑвойÑтва: </p> <ul><li> "ГеометриÑ: x" — <b>25</b>;</li> <li> "ГеометриÑ: y" — <b>0</b>.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_air_coolerDrop_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_air_coolerDrop_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.3. Добавление унаÑледованного виджета "Воздушный холодильник".</div></div></div></div> <p>Далее развернем пункт меню библиотеки "Ðлементы мнемоÑхемы", найдем там Ñлемент "ВентилÑтор 2" и перетащим его на виджет-контейнер. Ðтот Ñлемент будет динамичеÑки отображать интенÑивноÑÑ‚ÑŒ работы воздушного холодильника. Ð”Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ виджета введём идентификатор <b>cooler2</b> и Ð¸Ð¼Ñ Ñнова оÑтавим пуÑтым, поÑле чего виджет "ВентилÑтор 2" добавитÑÑ Ð² наш виджет-контейнер "Холодильник". Таким образом, только что Ñозданный виджет внутри контейнера "Холодильник" унаÑледует Ñлемент библиотеки "Ðлементы мнемоÑхемы" — "ВентилÑтор 2". Ð’ инÑпекторе атрибутов уÑтановим ÑвойÑтва: </p> <ul><li> "ГеометриÑ: x" — <b>75</b>;</li> <li> "ГеометриÑ: y" — <b>30</b>;</li> <li> "ГеометриÑ: z" — <b>10</b>, поднÑÑ‚ÑŒ Ñлемент над вÑеми можно из панели "Функции видимоÑти виджетов";</li> <li> "Цвет1" — "<b>#FFFF00-200</b>", добавили альфа канал — прозрачноÑÑ‚ÑŒ 200 ("0" - полноÑтью прозрачный, "255" - полноÑтью непрозрачный), риÑунок 5.3.2.4;</li> <li> "Цвет2" — "<b>#FF0000-200</b>", добавили альфа канал — прозрачноÑÑ‚ÑŒ 200.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_cooler2AlphaChange_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_cooler2AlphaChange_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.4. Изменение прозрачноÑти цвета Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ñледованного виджета "ВентилÑтор 2".</div></div></div></div> <p>Теперь в виджете-контейнере "Холодильник" добавим два текÑтовых Ð¿Ð¾Ð»Ñ Ð¾Ñнованных на примитиве "ТекÑÑ‚" Ñ Ñ†ÐµÐ»ÑŒÑŽ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð¹ и выходной температур потока. Ð”Ð»Ñ Ñтого выделим виджет "Холодильник" и на панели визуальных Ñлементов библиотеки "KM 101" выберем пункт меню примитива "ТекÑÑ‚" как Ñто показано на риÑунке 5.3.2.5. Ð”Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ текÑтового Ð¿Ð¾Ð»Ñ Ð²Ð²ÐµÐ´ÐµÐ¼ идентификатор <b>Ti</b> и в инÑпекторе атрибутов уÑтановим ÑвойÑтва: </p> <ul><li> "ГеометриÑ: x" — <b>5</b>.</li> <li> "ГеометриÑ: y" — <b>20</b>.</li> <li> "ГеометриÑ: ширина" — <b>70</b>.</li> <li> "ГеометриÑ: выÑота" — <b>35</b>.</li> <li> "Выравнивание" — "<b>Ð’ центре</b>".</li> <li> "Шрифт" — "<b>Arial 14 1</b>", изменение шрифта можно оÑущеÑтвлÑÑ‚ÑŒ в диалоге, который открываетÑÑ Ð¿Ð¾ нажатию на ключик у поле Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (РиÑ.5.3.2.7).</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Шрифт Arial может отÑутÑтвовать в диалоге, поÑтому выберете тот, который вам нравитÑÑ.</dd></dl> <ul><li> "ТекÑÑ‚" (РиÑ.5.3.2.8):</li></ul> <pre style="margin-left: 20px;"> %1 град.C </pre> <ul><li> "КоличеÑтво аргументов" — <b>1</b> (РиÑ.5.3.2.9): <ul><li> "Ðргумент 0: тип" — "<b>ВещеÑтвенный</b>";</li> <li> "Ðргумент 0: значение" — <b>300.25</b>, задано лишь Ð´Ð»Ñ Ð½Ð°Ð³Ð»ÑдноÑти и в режиме иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð½Ð¾ будет заменено реальным значением входной температуры;</li> <li> "Ðргумент 0: конфигурациÑ" — "<b>3;f;2</b>".</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_BoxAddText_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_BoxAddText_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.5. Добавление нового Ñлемента, оÑнованного на примитиве "ТекÑÑ‚".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_textGeom_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_textGeom_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.6. Указание геометрии виджета "Ti".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_tetxFontChange_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_tetxFontChange_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.7. Изменение размера шрифта Ð´Ð»Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð° "Ti".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_textArgAdd_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_textArgAdd_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.8. Изменение Ð¿Ð¾Ð»Ñ "ТекÑÑ‚" и указание Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° Ð´Ð»Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð° "Ti".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_textArgConf_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_textArgConf_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.9. ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° виджета "Ti".</div></div></div></div> <p>Теперь, Ñ Ñ†ÐµÐ»ÑŒÑŽ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ виджета Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ температуры, Ñкопируем виджет "Ti", вÑтавим Ñкопированный виджет и укажем ему идентификатор <b>To</b> (РиÑ.5.3.2.10). Ð’ инÑпекторе атрибутов уÑтановим ÑвойÑтва: </p> <ul><li> "ГеометриÑ: x" — <b>175</b>;</li> <li> "ГеометриÑ: y" — <b>20</b>.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ToGeom_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_ToGeom_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.10. Виджет "To".</div></div></div></div> <p>Теперь добавим виджет оÑнованный на примитиве "Ðлемент формы" (РиÑ.5.3.2.11), который будем иÑпользовать Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° заданий производительноÑти холодильника. Укажем идентификатор <b>cw</b> (РиÑ.5.3.2.12) и в инÑпекторе атрибутов уÑтановим ÑвойÑтва: </p> <ul><li> "Ðктивный" — <b>true</b>;</li> <li> "ГеометриÑ: x" — <b>60</b>;</li> <li> "ГеометриÑ: y" — <b>158</b>;</li> <li> "ГеометриÑ: ширина" — <b>60</b>;</li> <li> "ГеометриÑ: выÑота" — <b>40</b>;</li> <li> "ГеометриÑ: z" — <b>10</b>, поднÑÑ‚ÑŒ Ñлемент над вÑеми можно из панели "Функции видимоÑти виджетов";</li> <li> "Тип Ñлемента" — "<b>Combo Box</b>";</li> <li> "Шрифт" — "<b>Arial 14 1</b>";</li> <li> "Значение" — <b>200</b>;</li> <li> "КонфигурациÑ":</li></ul> <pre style="margin-left: 20px;"> 0 50 100 150 200 </pre> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_addFormEl_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_addFormEl_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.11. Добавление виджета, оÑнованного на примитиве "Ðлемент формы".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_comboParams_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_comboParams_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.12. Заполнение параметров ComboBox "cw".</div></div></div></div> <p>Ð”Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ñ‹ Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти холодильника добавим ещё один виджет оÑнованный на примитиве "ТекÑÑ‚". Делаем туже процедуру, что и Ð´Ð»Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð° "Ti". Укажем идентификатор <b>dimension</b> (РиÑ.5.3.2.13) и в инÑпекторе атрибутов уÑтановим ÑвойÑтва: </p> <ul><li> "ГеометриÑ: x" — <b>125</b>;</li> <li> "ГеометриÑ: y" — <b>168</b>;</li> <li> "ГеометриÑ: ширина" — <b>80</b>;</li> <li> "ГеометриÑ: выÑота" — <b>20</b>;</li> <li> "Выравнивание" — "<b>Ð’ центре</b>";</li> <li> "Шрифт" — "<b>Arial 14 1</b>";</li> <li> "ТекÑÑ‚" — "<b>об./мин.</b>".</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:933px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_addDimension_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_addDimension_ru.png" width="931" /></a> <div class="thumbcaption">РиÑ. 5.3.2.13. Добавление виджета "dimension" оÑнованного на примитиве "ТекÑÑ‚" и изменение его параметров.</div></div></div></div> <p>Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð»Ð¾Ð³Ð¸ÐºÐ¸ обработки виджета "Холодильник", откроем диалог Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв Ñтого визуального Ñлемента и перейдём на вкладку "Обработка". Ðа Ñтой вкладке мы увидим дерево атрибутов виджета и поле текÑта программы обработки атрибутов. Ð”Ð»Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð½Ð°ÑˆÐµÐ¹ задачи нужно добавить три атрибута: Ti, To, Cw (РиÑ.5.3.2.14); Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ нужно развернуть корневой Ñлемент ".", выбрать любой Ñлемент внутри него и <b>нажать кнопку "Добавить атрибут"</b> внизу. </p><p>Далее <b>включим в обработку</b> атрибут <b>value</b> комбобокÑа "cw" как Ñто показано на риÑунке 5.3.2.15. Ðналогично включим в обработку атрибут <b>arg0val</b> Ð´Ð»Ñ Ti и To, а также атрибут <b>speed</b> Ñлемента "cooler2". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:810px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_elCoolerAtrrAdd.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_elCoolerAtrrAdd.png" width="808" /></a> <div class="thumbcaption">РиÑ. 5.3.2.14. Добавление трех атрибутов Ñлемента "Холодильник" библиотеки "KM 101".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:810px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_cwValueProc.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_cwValueProc.png" width="808" /></a> <div class="thumbcaption">РиÑ. 5.3.2.15. Включение в обработку атрибута "value" комбобокÑа "cw".</div></div></div></div> <p>Ð’ завершении уÑтановим Ñзык пользовательÑкого Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ "JavaLikeCalc.JavaScript" и напишем Ñаму Ñту программу обработки виджета: </p> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">Ti_arg0val</span> <span class="o">=</span> <span class="nx">Ti</span><span class="p">;</span> <span class="nx">To_arg0val</span> <span class="o">=</span> <span class="nx">To</span><span class="p">;</span> <span class="k">for</span><span class="p">(</span><span class="nx">ev_rez</span> <span class="o">=</span> <span class="s2">""</span><span class="p">,</span> <span class="nx">off</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="p">(</span><span class="nx">ev_wrk</span><span class="o">=</span><span class="nx">event</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="s2">"\n"</span><span class="p">,</span><span class="nx">off</span><span class="p">)).</span><span class="nx">length</span><span class="p">;</span> <span class="p">)</span> <span class="k">if</span><span class="p">(</span><span class="nx">ev_wrk</span> <span class="o">==</span> <span class="s2">"ws_CombChange:/cw"</span><span class="p">)</span> <span class="nx">Cw</span> <span class="o">=</span> <span class="nx">cw_value</span><span class="p">;</span> <span class="k">else</span> <span class="nx">ev_rez</span> <span class="o">+=</span> <span class="nx">ev_wrk</span><span class="o">+</span><span class="s2">"\n"</span><span class="p">;</span> <span class="nx">event</span> <span class="o">=</span> <span class="nx">ev_rez</span><span class="p">;</span> <span class="nx">cw_value</span> <span class="o">=</span> <span class="nx">Cw</span><span class="p">;</span> <span class="nx">cooler2_speed</span> <span class="o">=</span> <span class="nx">Cw</span><span class="o">/</span><span class="mi">5</span><span class="p">;</span> </pre></div> <p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Помещение или редактирование программы виджета не приводит к непоÑредÑтвенной её компилÑции, Ñ‚.е. не будет Ñообщений об ошибках в программе еÑли они имеют меÑто быть. Ðто ÑвÑзано Ñ Ñ‚ÐµÐ¼, что непоÑредÑтвенное иÑполнение программы, а значит и её компилÑциÑ, оÑущеÑтвлÑетÑÑ Ð² окружении иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ в момент запуÑка проекта визуализации на иÑполнение. При Ñтом вÑе ошибки, возникшие при компилÑции, выводÑÑ‚ÑÑ Ð² виде Ñообщений OpenSCADA, а виджеты Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸ не иÑполнÑÑŽÑ‚ÑÑ. Детальнее про отладку пользовательÑких процедур можно почитать в документе "<a href="How_to_Debug.html" title="Special:MyLanguage/Documents/How to/Debug">Как наладить проект OpenSCADA</a>". </p><p>Processing the widget in whole and executing its program performed at any event in the life cycle of the VCA project (specified in the "Period of the calculation" field of the "Project" tab, Figure 5.2) and periodically with the widget processing period (specified in the "Periodic processing" field of the "Widget" tab, Figure 5.1.3). By default, the widget processing period is taken from top widget and it is 1000 ms, so when you want faster updating your widget, you can set "Periodic processing" to 250 ms on the "Widget" tab. </p><p>ÐŸÐ¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° "Обработка" виджета "Холодильник" библиотеки "KM 101" будет иметь вид, показанный на риÑунке 5.3.2.16. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:810px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_UserProgElCooler.png"><img class="thumbimage" height="631" src="../en/files/QuickStart_UserProgElCooler.png" width="808" /></a> <div class="thumbcaption">РиÑ. 5.3.2.16. Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° "Обработка" виджета "Холодильник" библиотеки "KM 101".</div></div></div></div> <p>Закроем диалог Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв визуального Ñлемента, Ñоздадим иконку нашего Ñлемента, закроем внутреннее окно Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ñохраним Ñто вÑÑ‘. </p><p>Ðа Ñтом разработку комплекÑного Ñлемента можно Ñчитать законченной. </p> <h4><span class="mw-headline" id=".D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.81.D0.BD.D0.BE.D0.B3.D0.BE_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0_.D0.BD.D0.B0_.D0.BC.D0.BD.D0.B5.D0.BC.D0.BE.D1.81.D1.85.D0.B5.D0.BC.D1.83"><span class="mw-headline-number">5.3.3</span> Добавление комплекÑного Ñлемента на мнемоÑхему</span></h4> <p>Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ работоÑпоÑобноÑти и оценки результатов наших уÑилий, добавим Ñозданный виджет на мнемоÑхему, разработанную в разделе 5.2. Выполним Ñту операцию Ð´Ð»Ñ Ð´Ð²ÑƒÑ… холодильников "AT101_1" и "AT101_2". </p><p>Ð”Ð»Ñ Ñтого откроем кадр мнемоÑхемы "AT 101" на редактирование, хватаем "мышью" наш комплекÑный Ñлемент и тащим на мнемоÑхему, где отпуÑкаем в нужной позиции — вводим идентификаторы <b>AT101_1</b> и <b>AT101_2</b>, ÑоответÑтвенно. Добавленные Ñлементы раÑполагаем как нам удобно. ПоÑле Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñтих манипулÑций у Ð½Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° получитьÑÑ Ð¼Ð½ÐµÐ¼Ð¾Ñхема Ñ Ð²Ð¸Ð´Ð¾Ð¼ на риÑунке 5.3.3.1. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1086px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_mn2_ru.png"><img class="thumbimage" height="657" src="files/QuickStart_ui_mn2_ru.png" width="1084" /></a> <div class="thumbcaption">РиÑ. 5.3.3.1. МнемоÑхема Ñ Ð½Ð°ÑˆÐ¸Ð¼Ð¸ комплекÑными Ñлементами.</div></div></div></div> <p>Сохраним новую мнемоÑхему и закроем её окно. Далее перейдём в проект и откроем Ñту мнемоÑхему в дереве проекта "Старт"->"ÐšÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница"->"Группа 1"->"МнемоÑхемы"->"AT 101". Как можно заметить, наши новые Ñлементы поÑвилиÑÑŒ здеÑÑŒ автоматичеÑки и нам оÑталоÑÑŒ только подключить ÑвÑзи к ним, Ð´Ð»Ñ Ñтого откроем диалог Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв мнемоÑхемы на вкладке "СвÑзи" (риÑ.5.3.3.2). Ðа Ñтой вкладке мы увидим дерево Ñ Ñлементами "AT101_1" и "AT101_2", развернув любой мы увидим ветвь "Parameter" Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ "Ti", "To" и "Cw". Таким образом, в поле "Parameter" можем проÑто указать Ð°Ð´Ñ€ÐµÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° "<b>prm:/LogicLev/CM101/AT101_1</b>" и "<b>prm:/LogicLev/CM101/AT101_2</b>", ÑоответÑтвенно, а атрибуты будут раÑÑтавлены автоматичеÑки. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:516px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_mn2_lnk_ru.png"><img class="thumbimage" height="496" src="files/QuickStart_ui_mn2_lnk_ru.png" width="514" /></a> <div class="thumbcaption">РиÑ. 5.3.3.2. Вкладка "СвÑзи" диалога Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвойÑтв мнемоÑхемы.</div></div></div></div> <p>Сохраним нашу мнемоÑхему и проверим результат, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ закроем окно диалога ÑвойÑтв, запуÑтим проект "Старт" на иÑполнение и переключимÑÑ Ð½Ð° вторую мнемоÑхему кнопками перелиÑтываниÑ. При безошибочной конфигурации должны увидеть подобное изображённому на риÑунке 5.3.3.3. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1039px;"><a class="image" href="http://oscada.org/wiki/File:QuickStart_ui_run_mn2_ru.png"><img class="thumbimage" height="761" src="files/QuickStart_ui_run_mn2_ru.png" width="1037" /></a> <div class="thumbcaption">РиÑ. 5.3.3.3. Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ð¼Ð½ÐµÐ¼Ð¾Ñхема.</div></div></div></div> <p>Ðа Ñтой мнемоÑхеме, поÑредÑтвом наших комплекÑных Ñлементов, мы можем не только наблюдать, но и управлÑÑ‚ÑŒ производительноÑтью холодильников проÑто менÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ в комбобокÑе. МенÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ÑÑ‚ÑŒ можем заметить и изменение температуры, и Ñрабатывание Ñигнализации по комплекÑному аналоговому параметру объекта-тренда. ИÑторию Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÐ¼ увидеть и иÑÑледовать на группе графиков, Ñозданной нами в разделе 5.1, и документе "Протокол нарушений", упомÑнутый в разделе 5.2. </p> <h2><span class="mw-headline" id=".D0.92.D1.8B.D0.B2.D0.BE.D0.B4"><span class="mw-headline-number">6</span> Вывод</span></h2> <p>Таким образом мы получили полноценный типовой Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкого процеÑÑа (ТП) Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ð¼ Ñбором данных в разный ÑпоÑоб и ÑоответÑтвенно получили предÑтавление и навыки работы Ñ OpenSCADA. </p><p>При поÑтроении интерфейÑа ТП мы раÑÑмотрели вÑе три ÑƒÑ€Ð¾Ð²Ð½Ñ ÑложноÑти и ÑоответÑтвенно получили предÑтавление про нужный квалификационный уровень программиÑта SCADA. </p><p>Сбор и обработку данных мы раÑÑмотрели и оÑущеÑтвили в разные ÑпоÑобы от проÑтого-типового и по отражение модели данных ПЛК, поÑтроенного на оÑнове OpenSCADA. Т.е., получено предÑтавление про иÑточники данных SCADA-ÑиÑтем и доÑтуп к ним Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñетевых интерфейÑов и протоколов обмена, поддержку которых реализуют ÑоответÑтвующие модули OpenSCADA. </p><p>И конечно, мы раÑÑмотрели методы раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ (диÑтрибуции) OpenSCADA, ÑпоÑобы её уÑтановки и Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾Ð³Ð¾ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñ‚Ð°ÐºÐ¸Ñ… как: Ñервера SCADA, ПЛК OpenSCADA и рабочего меÑта оператора (ÐÐ Ðœ). </p><p>Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ OpenSCADA Ñтим документом не ограничиваетÑÑ Ð¸ в разрешении ÑпецифичеÑких вопроÑов вы должны иÑпользовать <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Home" title="Special:MyLanguage/Home">вÑÑŽ доÑтупную документацию</a> и примеры демонÑтрационных конфигураций-моделей OpenSCADA, пользуÑÑÑŒ тем Ñамым преимущеÑтвами "открытых иÑходных текÑтов (OpenSource)". Отдельно тут нужно ещё раз отметить "<a href="Program_manual.html" title="Special:MyLanguage/Documents/Program manual">РуководÑтво по программе</a>", "<a href="How_to.html" title="Special:MyLanguage/Documents/How to">Как (How to) ...</a>" и "<a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Model_AGLKS" title="Special:MyLanguage/Using/Model AGLKS">ДинамичеÑкую модель реального времени ÐГЛКС</a>", как наиболее полные иÑточники информации про OpenSCADA. </p> <h2><span class="mw-headline" id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"><span class="mw-headline-number">7</span> СÑылки</span></h2> <ul><li> <a class="external" href="http://oscada.org/wiki/File:QuickStart_SimpleStationAndServer_ru.odg" title="File:QuickStart SimpleStationAndServer ru.odg">Диаграмма: ПроÑтое объединённое подключение Ñтанции и Ñервера SCADA Ñ Ð¸Ñточником данных в демонÑтрационной БД.</a></li></ul> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Documents/Quick_start/ru">Documents/Quick_start/ru</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">March 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3012</td></tr></table></body> </html>