<?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-Libs%2FPrescriptions&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/Libs/Prescriptions" title="Libs/Prescriptions">Libs/Prescriptions</a> and the translation is 100% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../en/Libs_Prescriptions.html" title="Libs/Prescriptions (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/Libs_Prescriptions.html" title="Бібліотеки/Рецепти (100% translated)">УкраїнÑька</a></div></div> <table class="wikitable"> <tr> <th> Ðазвание </th> <th> ВерÑÐ¸Ñ </th> <th> Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ </th> <th> ИÑточник </th> <th> Языки </th> <th> Ðвтор </th> <th> Иконка </th> <th> ОпиÑание </th></tr> <tr> <td> <a href="Libs_Prescriptions.html" title="Special:MyLanguage/Libs/Prescriptions">Рецепты</a> </td> <td> 1.1, 1.1 </td> <td> GPLv2 </td> <td> <p>OscadaLibs.db (<a class="external text" href="http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/OscadaLibs.sql" rel="nofollow noreferrer noopener" target="_blank">SQL</a>, <a class="external" href="http://oscada.org/wiki/File:OscadaLibs.db.gz" title="File:OscadaLibs.db.gz">GZip</a>) > DAQ.tmplb_PrescrTempl<br /> vcaBase.db (<a class="external text" href="http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/vcaBase.sql" rel="nofollow noreferrer noopener" target="_blank">SQL</a>, <a class="external" href="http://oscada.org/wiki/File:VcaBase.db.gz" title="File:VcaBase.db.gz">GZip</a>) > VCA.wlb_prescr </p> </td> <td> en, uk, ru </td> <td> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a> </td> <td> <a class="image" href="http://oscada.org/wiki/File:LibPrescriptions.png"><img alt="LibPrescriptions.png" height="64" src="../en/files/LibPrescriptions.png" width="64" /></a> </td> <td> Библиотека Ñлементов Ñценариев технологичеÑких процеÑÑов — рецептов. <ul><li> <b>ОÑновано:</b> СентÑбрь 2011</li> <li> <b>СпонÑировано:</b> ВаÑилий Григорьев, <a class="external text" href="http://e-beam.ru" rel="nofollow noreferrer noopener" target="_blank">Ð›Ð°Ð±Ð¾Ñ€Ð°Ñ‚Ð¾Ñ€Ð¸Ñ Ð’Ð°ÐºÑƒÑƒÐ¼Ð½Ñ‹Ñ… Технологий</a></li> <li> <b>СпонÑировано, на предмет шаблонизации контроллера:</b> Магомед, <a class="external text" href="https://www.savtech.ru" rel="nofollow noreferrer noopener" target="_blank">SAVTECH</a></li> <li> <b>Изначально Ñоздано, Ð´Ð»Ñ ÐºÐ°Ð´Ñ€Ð¾Ð²:</b> в <a class="external text" href="http://wiki.oscada.org/Using/GraphicElementsLibraries/MainElements" rel="nofollow noreferrer noopener" target="_blank">Ñтарой Wiki</a></li> <li> <b>ИÑпользовано:</b> <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Vacuum_processing_unit" title="Special:MyLanguage/Using/Vacuum processing unit">ÐÐ²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÑиÑтема ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð°ÐºÑƒÑƒÐ¼Ð½Ð¾Ð¹ технологичеÑкой уÑтановкой</a></li> <li> <b><a href="../en/To_do.html" title="Special:MyLanguage/Works/To do">Задачи (To Do)</a>:</b></li></ul> <dl><dd>- перевеÑти Ñлементы <a href="#GraphPart">графичеÑкой чаÑти</a> на полную работу через <a href="#manager">менеджер рецептов</a>, Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти удалённого разнеÑÐµÐ½Ð¸Ñ Ñ‡Ð°Ñтей.</dd></dl> </td></tr></table> <p>Библиотека ÑоздаётÑÑ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñреды иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñценариев технологичеÑких процеÑÑов — рецептов, и кадров пользовательÑкого интерфейÑа около него, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ <a href="#prescrEdit">кадр ÑозданиÑ/Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð¾Ð²</a> и два кадра ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ отчётноÑти — "<a href="#prescrRun">Рецепт — иÑполнение</a>" и "<a href="#prescrRunSimple">Рецепт — иÑполнение, проÑтой</a>". СтроитÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° на оÑнове <a href="Modules/VCAEngine.html#WidgetPrimitives" title="Special:MyLanguage/Modules/VCAEngine">примитивов виджетов</a> и Ñзыка внутреннего Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc</a>, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð² и команд. </p><p>ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ñлементов и их параметров доÑтупны на Ñзыках: ÐнглийÑкий, УкраинÑкий и mRussian. Их иÑходный код напиÑан в Ñзыко(человечеÑкий)-незавиÑимом режиме Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð¼ функции перевода <i>tr()</i> и перевод Ñтих Ñообщений также доÑтупен ÐнглийÑким, УкраинÑким и mRussian. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.9A.D0.BE.D0.BD.D1.86.D0.B5.D0.BF.D1.86.D0.B8.D1.8F"><span class="tocnumber">1</span> <span class="toctext"><span>КонцепциÑ</span></span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.A7.D0.B0.D1.81.D1.82.D1.8C_.D0.BE.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B8_.D0.B8_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F"><span class="tocnumber">2</span> <span class="toctext">ЧаÑÑ‚ÑŒ обработки и иÑполнениÑ</span></a> <ul> <li class="toclevel-2"><a href="#.D0.9C.D0.B5.D0.BD.D0.B5.D0.B4.D0.B6.D0.B5.D1.80_.D1.80.D0.B5.D1.86.D0.B5.D0.BF.D1.82.D0.BE.D0.B2_.28manager.29"><span class="tocnumber">2.1</span> <span class="toctext">Менеджер рецептов (manager)</span></a></li> <li class="toclevel-2 tocsection-3"><a href="#.D0.A8.D0.B0.D0.B1.D0.BB.D0.BE.D0.BD.D1.8B_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4"><span class="tocnumber">2.2</span> <span class="toctext"><span>Шаблоны команд</span></span></a> <ul> <li class="toclevel-3"><a href="#.D0.9A.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.B0_.E2.80.94_.D0.A2.D0.B0.D0.B9.D0.BC.D0.B5.D1.80_.28timer.29"><span class="tocnumber">2.2.1</span> <span class="toctext">Команда — Таймер (timer)</span></a></li> <li class="toclevel-3"><a href="#.D0.9A.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.B0_.E2.80.94_.D0.A4.D0.BE.D0.BD.D0.BE.D0.B2.D1.8B.D0.B9_.D1.82.D0.B0.D0.B9.D0.BC.D0.B5.D1.80_.28timer.29"><span class="tocnumber">2.2.2</span> <span class="toctext">Команда — Фоновый таймер (timer)</span></a></li> </ul> </li> </ul> </li> <li class="toclevel-1 tocsection-4"><a href="#.D0.93.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B0.D1.8F_.D1.87.D0.B0.D1.81.D1.82.D1.8C"><span class="tocnumber">3</span> <span class="toctext"><span>ГрафичеÑÐºÐ°Ñ Ñ‡Ð°ÑÑ‚ÑŒ</span></span></a> <ul> <li class="toclevel-2"><a href="#.D0.A0.D0.B5.D1.86.D0.B5.D0.BF.D1.82_.E2.80.94_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.28prescrEdit.29"><span class="tocnumber">3.1</span> <span class="toctext">Рецепт — редактирование (prescrEdit)</span></a></li> <li class="toclevel-2"><a href="#.D0.A0.D0.B5.D1.86.D0.B5.D0.BF.D1.82_.E2.80.94_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.28prescrRun.29"><span class="tocnumber">3.2</span> <span class="toctext">Рецепт — иÑполнение (prescrRun)</span></a></li> <li class="toclevel-2"><a href="#.D0.A0.D0.B5.D1.86.D0.B5.D0.BF.D1.82_.E2.80.94_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5.2C_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B9_.28prescrRunSimple.29"><span class="tocnumber">3.3</span> <span class="toctext">Рецепт — иÑполнение, проÑтой (prescrRunSimple)</span></a></li> </ul> </li> </ul> </div> <h2><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.86.D0.B5.D0.BF.D1.86.D0.B8.D1.8F"><span class="mw-headline-number">1</span> <span id="Conception" title="#Conception">КонцепциÑ</span></span></h2> <p>Сценарий технологичеÑких операций — рецепт, предÑтавлÑет Ñобой поÑледовательный вызов блока функций — команды, принимающие до пÑти аргументов и возвращающие Ñтроку результата Ñ ÐºÐ¾Ð´Ð¾Ð¼ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð² начале: "Работа (0)", "Завершен (>0)" и "Ошибка (<0)". Вызов команды шага оÑущеÑтвлÑетÑÑ Ñ†Ð¸ÐºÐ»Ð¸Ñ‡ÐµÑки, пока возвращаетÑÑ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚ "Работа (0)". Переход к Ñледующему шагу оÑущеÑтвлÑетÑÑ Ð² Ñлучае результата "Завершен (>0)" и команды "ПропуÑк (2)". Ð’ Ñлучае ошибки, результат "Ошибка (<0)", выполнение рецепта прерываетÑÑ. </p><p>ПоÑледовательноÑÑ‚ÑŒ команд, пользователем конечного интерфейÑа, формируютÑÑ Ð½Ð° <a href="#prescrEdit">кадре ÑозданиÑ/редактированиÑ</a> и оÑущеÑтвлÑетÑÑ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒ их иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° кадре "<a href="#prescrRun">Рецепт — иÑполнение</a>" и "<a href="#prescrRunSimple">Рецепт — иÑполнение, проÑтой</a>", при Ñтом, данные рецептов ÑохранÑÑŽÑ‚ÑÑ Ð² таблице БД програм-рецептов. Таблица рецептов-программ помещаетÑÑ Ð² одну из БД, доÑтупных в конкретной конфигурации OpenSCADA, например, на данный момент Ñ‚Ð°ÐºÐ°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° помещаетÑÑ Ð² БД Ñтой библиотеки как "<b>PrescrProgs = (<u>name</u>, prgTxt)</b>", где: </p> <ul><li> <i>name</i> — Ð¸Ð¼Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°-программы;</li> <li> <i>prgTxt</i> — текÑÑ‚ программы в виде XML-дерева.</li></ul> <p>XML-дерево рецепта-программы начинаетÑÑ Ñ Ñ‚ÐµÐ³Ð°-контейнера "prg", который Ñодержит конечные теги команд "com" Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸: </p> <ul><li> <i>id</i> — идентификатор-имÑ-тип команды в оÑнове шага;</li> <li> <i>name</i> — перÑональное название шага, может отÑутÑтвовать;</li> <li> <i>descr</i> — перÑональное опиÑание шага, берётÑÑ Ð¸Ð· ÑоответÑтвующего Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ и может отÑутÑтвовать;</li> <li> <i>backgrnd</i> — признак иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑˆÐ°Ð³Ð° в фоне, или поÑледовательной группой шагов Ñ Ñтим признаком;</li> <li> <i>arg{N}</i> — определённые пользователем Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² от 1 до 5.</li></ul> <p>Ðапример, Ð´Ð»Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ñ Ñ‡ÐµÑ‚Ñ‹Ñ€ÑŒÐ¼Ñ ÑˆÐ°Ð³Ð°Ð¼Ð¸ получим: </p> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 20pt;"><pre><span class="nt"><prg></span> <span class="nt"><com</span> <span class="na">arg1=</span><span class="s">"10"</span> <span class="na">id=</span><span class="s">"Таймер"</span> <span class="nt">/></span> <span class="nt"><com</span> <span class="na">arg1=</span><span class="s">"10"</span> <span class="na">id=</span><span class="s">"Вакуум"</span> <span class="nt">/></span> <span class="nt"><com</span> <span class="na">arg1=</span><span class="s">"20"</span> <span class="na">id=</span><span class="s">"Таймер"</span> <span class="nt">/></span> <span class="nt"><com</span> <span class="na">arg1=</span><span class="s">"34"</span> <span class="na">id=</span><span class="s">"Включить катушки"</span> <span class="nt">/></span> <span class="nt"></prg></span> </pre></div> <p>ВычиÑление рецепта оÑущеÑтвлÑетÑÑ Ñ‡ÐµÑ€ÐµÐ· параметр <a href="#manager">менеджера рецептов</a>, который поддерживает два ÑпоÑоба иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ рецепта: </p> <ul><li> <b>команда-параметр</b> — размещённые в виде параметров контроллера <a href="DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">логичеÑкого уровнÑ</a> и Ñ ÑƒÑ‡Ñ‘Ñ‚Ð¾Ð¼ их контекÑта, еÑли в менеджере рецептов указан логичеÑкий контроллер;</li> <li> <b>команда-макроÑ</b> — непоÑредÑтвенно в объекте менеджера рецептов по командам, хранимым в таблице "PrescrComs".</li></ul> <p><b><u>Режим иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ "команда-параметр"</u></b><br /> Команды-параметры логичеÑкого ÑƒÑ€Ð¾Ð²Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€ÑƒÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñтом SCADA-ÑиÑтемы под реализуемую прикладную облаÑÑ‚ÑŒ в виде <a href="Program_manual.html#DAQTmpl" title="Special:MyLanguage/Documents/Program manual">шаблонов параметров подÑиÑтемы "Сбор данных"</a>, которые затем иÑпользуютÑÑ Ð² логичеÑком контроллере рецептов, Ñ Ñ€Ñдом обÑзательных, Ñлужебных и внутренних атрибутов: </p> <ul><li> <i>rez</i> — команда: результат иÑполнениÑ; команда должна возвращать Ñтроку вида "<b>{rezCode}:{TextMess}</b>", где <i>rezCode</i> имеет ÑоÑтоÑниÑ: <ul><li> <b><0</b> — ошибка;</li> <li> <b>=0</b> — иÑполнение;</li> <li> <b>>0</b> — иÑполнение завершено;</li> <li> <b>=10</b> — иÑполнение в фоне Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ обновлÑÑ‚ÑŒ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¸ÑполнениÑ.</li></ul></li> <li> <i>run</i> — команда: иÑполнение;</li> <li> <i>pause</i> — команда: пауза, может быть приоÑтановлена от ÑÐµÐ±Ñ ÑƒÑтановкой Ñтого атрибута в TRUE;</li> <li> <i>start</i> — рецепт: запуÑк;</li> <li> <i>stop</i> — рецепт: корректное завершение;</li> <li> <i>error</i> — рецепт: завершение по ошибке;</li> <li> <i>abort</i> — рецепт: прерывание иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼;</li> <li> <i>arg{1...5}</i> — аргументы 1...5, в имени аргумента возможно указание минимальной и макÑимальной границы чиÑлового Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° в виде "<b>{имÑ}|{мин}|{макÑ}</b>".</li></ul> <p>ОÑобенноÑтью иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´-параметров ÑвлÑетÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимое их иÑполнение и возможноÑÑ‚ÑŒ оÑтавить иÑполнение Ñ€Ñда команд в фоне, например, регулÑторы. Ðти команды, также, можно прÑмо подключать к иÑточнику данных Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑвÑзей, или даже реализовывать их обоих в одном шаблоне-параметре. </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><u>Режим Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ "команда-макроÑ" (Ñтарый)</u></b><br /> Команды-макроÑÑ‹, которые пользователь может выбирать при формировании рецепта-программы, формируютÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñтом SCADA-ÑиÑтемы под реализуемую прикладную облаÑÑ‚ÑŒ, путём Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ команд в OpenSCADA. Таблица команд помещаетÑÑ Ð² одну из БД, доÑтупных в конкретной конфигурации OpenSCADA, например, на данный момент Ñ‚Ð°ÐºÐ°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° помещаетÑÑ Ð² БД Ñтой библиотеки как "<b>PrescrComs = (<u>name</u>, proc, arg1, arg2, arg3, arg4, arg5)</b>", где: </p> <ul><li> <i>name</i> — Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹;</li> <li> <i>proc</i> — текÑÑ‚ процедуры команды, в первой Ñтроке Ñодержит Ð¸Ð¼Ñ Ñзыка программы, на данный момент Ñто "JavaLikeCalc.JavaScript", и текÑÑ‚ программы непоÑредÑтвенно за Ñзыком; в процедуре команды доÑтупны Ñледующие контекÑтные параметры: <ul><li> <i>rez</i> — результат Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹, по умолчанию возвращает "Работа" ("0:Ожидание ÑÐµÐ¹Ñ‡Ð°Ñ ...");</li> <li> <i>f_start</i> — признак первого запуÑка процедуры;</li> <li> <i>f_frq</i> — чаÑтота периодичеÑких вызовов процедуры;</li> <li> <i>arg{1...5}</i> — значение аргумента 1...5;</li> <li> <i>tmp{1...10}</i> — значение временного параметра (контекÑÑ‚ вычиÑлениÑ) 1...10;</li></ul></li></ul> <dl><dd><dl><dd>Пример текÑта программы Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ "Таймер", не завиÑÑщей от прикладной облаÑти:</dd></dl></dd></dl> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 40pt;"><pre><span class="nx">JavaLikeCalc</span><span class="p">.</span><span class="nx">JavaScript</span> <span class="k">if</span><span class="p">(</span><span class="nx">f_start</span><span class="p">)</span> <span class="nx">tmp1</span> <span class="o">=</span> <span class="nx">arg1</span><span class="p">;</span> <span class="kd">var</span> <span class="nx">curTm</span> <span class="o">=</span> <span class="nx">tmp1</span><span class="p">.</span><span class="nx">toReal</span><span class="p">();</span> <span class="k">if</span><span class="p">(</span><span class="nx">curTm</span> <span class="o"><=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> <span class="nx">rez</span> <span class="o">=</span> <span class="s2">"1:Ð’Ñ€ÐµÐ¼Ñ Ð¸Ñтекло Ð´Ð»Ñ "</span><span class="o">+</span><span class="nx">arg1</span><span class="o">+</span><span class="s2">"Ñ"</span><span class="p">;</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span> <span class="nx">curTm</span> <span class="o">-=</span> <span class="mi">1</span><span class="o">/</span><span class="nx">f_frq</span><span class="p">;</span> <span class="nx">tmp1</span> <span class="o">=</span> <span class="nx">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nx">curTm</span><span class="p">);</span> <span class="nx">rez</span> <span class="o">=</span> <span class="s2">"0:Ожидание ÑÐµÐ¹Ñ‡Ð°Ñ "</span><span class="o">+</span><span class="nx">curTm</span><span class="o">+</span><span class="s2">"Ñ"</span><span class="p">;</span> </pre></div> <ul><li> <i>arg{1...5}</i> — метка аргумента 1...5, только аргументы Ñ Ð¼ÐµÑ‚ÐºÐ¾Ð¹ будут отображатьÑÑ Ð¿Ñ€Ð¸ редактировании шага рецепта; в метке возможно указание минимальной и макÑимальной границы чиÑлового Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° в виде "<b>{имÑ}|{мин}|{макÑ}</b>".</li></ul> <p>Ð”Ð»Ñ Ñпециальных целей зарезервировано неÑколько имён команд: </p> <ul><li> "Error" — вызываетÑÑ Ð¿Ð¾Ñле Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ при выполнении шага рецепта;</li> <li> "Stop" — вызываетÑÑ Ð¿Ñ€Ð¸ оÑтанове рецепта, при нормальном завершении рецепта и принудительном оÑтанове пользователем.</li></ul> <h2><span class="mw-headline" id=".D0.A7.D0.B0.D1.81.D1.82.D1.8C_.D0.BE.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B8_.D0.B8_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">2</span> ЧаÑÑ‚ÑŒ обработки и иÑполнениÑ</span></h2> <p>Раздел Ñодержит <a href="Program_manual.html#DAQTmpl" title="Special:MyLanguage/Documents/Program manual">DAQ-шаблоны менеджера рецептов</a> и команд режима "команда-шаблон", которые предназначены к подключению в контроллере логичеÑкого уровнÑ, путём ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑоответÑтвенно параметров менеджера рецептов и команд, доÑтупных Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° пользователем, которые и будут оÑущеÑтвлÑÑ‚ÑŒ там вÑÑŽ роботу Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°Ð¼Ð¸-програмами на предмет их обработки и иÑполнениÑ. </p><p>Ð”Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñти библиотеки к проекту Ñтанции OpenSCADA Ð’Ñ‹ можете получить файл БД как: </p> <ul><li> такой что поÑтавлÑетÑÑ Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ñ‹Ð¼ и ÑоответÑтвующим пакетом диÑтрибутива Linux вроде "openscada-libdb-main", "openscada-LibDB.Main";</li> <li> наиболее актуальный и непоÑредÑтвенно полученный из <a class="external text" href="http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/OscadaLibs.sql" rel="nofollow noreferrer noopener" target="_blank">Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ subversion</a>, преобразованный в файл БД SQLite путём:</li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 15px"><pre>wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/OscadaLibs.sql sqlite3 -init OscadaLibs.sql OscadaLibs.db .exit </pre></div> <ul><li> загрузка <a class="external" href="http://oscada.org/wiki/File:OscadaLibs.db.gz" title="File:OscadaLibs.db.gz">прикреплённого тут</a>.</li></ul> <p>Ðтот загруженный файл Ð’Ñ‹ далее можете размеÑтить в каталоге проекта Ñтанции и Ñоздать объект базы данных Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð‘Ð” "SQLite", зарегиÑтрировав файл базы данных в конфигурации. </p><p><br /> </p> <table class="wikitable"> <tr> <td> <span id="manager" title="#manager"><h3><span class="mw-headline" id=".D0.9C.D0.B5.D0.BD.D0.B5.D0.B4.D0.B6.D0.B5.D1.80_.D1.80.D0.B5.D1.86.D0.B5.D0.BF.D1.82.D0.BE.D0.B2_.28manager.29"><span class="mw-headline-number">2.1</span> Менеджер рецептов (<a href="Libs_Prescriptions.html#manager" title="Special:MyLanguage/Libs/Prescriptions">manager</a>)</span></h3></span> </td> <td> 2.2 </td> <td> GPLv2 </td> <td> * </td> <td> en, uk, ru </td> <td> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a> </td></tr></table> <div class="floatright"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptionsManagerOp_ru.png" title="Результат и оперативные наÑтройки."><img alt="Результат и оперативные наÑтройки." height="650" src="files/LibsPrescriptionsManagerOp_ru.png" width="446" /></a></div> <p>ОÑновной, предÑтавительÑкий и унифицированный шаблон менеджера и контроллера рецептов, их обработки и прÑмого иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² режиме "команда-макроÑ". Шаблон формирует Ñтруктуру параметра менеджера рецептов, который может быть легко подключен ко вÑем кадрам Ñтой библиотеки. </p><p>ПредÑтавительÑкой Ñтруктурой менеджера рецептов ÑвлÑетÑÑ: </p> <ul><li> "БД: Ð˜Ð¼Ñ Ð‘Ð” Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°Ð¼Ð¸" — БД, вроде "SQLite.vcaBase", где хранÑÑ‚ÑÑ Ð¸Ð»Ð¸ должны хранитьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ рецептов-программ.</li> <li> "БД: Таблица Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸" — название таблицы рецептов-программ, типично "PrescrProgs".</li> <li> "СпиÑок команд (<b>comLs</b>)" — перечень команд доÑтупных Ð´Ð»Ñ Ð¸ÑпользованиÑ.</li> <li> "Ð˜Ð¼Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ программы (<b>prog</b>)" — ÑоÑтоÑние и уÑтановка Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ программы в обработке менеджером.</li> <li> "Режим (<b>mode</b>)", "Текущий режим (<b>curMode</b>)" — уÑтановка и текущий режим менеджера, иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ рецепта-программы: Завершение(-2); Ошибка(-1); Стоп(0); ИÑполнение(1); Пауза(2); ПропуÑтить команду(3);</li> <li> "Ð’Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка (<b>startTm</b>)" — Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка в Ñекундах.</li> <li> "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°-шаг (<b>curCom</b>)" — Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°.</li> <li> "Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° (<b>work</b>)" — Ð°ÐºÑ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¸ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ Ð½Ð° данный момент программа в объекте.</li></ul> <p><b><u>Функции</u></b><br /> </p> <ul><li> Формирует "СпиÑок команд (<b>comLs</b>)", доÑтупных Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² пользовательÑких рецептах-программах.</li> <li> Обрабатывает "Ð˜Ð¼Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ программы (<b>prog</b>)", Ñмена которой приводит к загрузке её поÑледовательноÑти команд в Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° (<b>work</b>)" или Ñозданию новой программы.</li> <li> ИÑполнÑет программу в "Ð˜Ð¼Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ программы (<b>prog</b>)" поÑле Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ "ИÑполнение(1)" в "Режим (<b>mode</b>)" и отмечает Ñтот процеÑÑ Ð²: "Текущий режим (<b>curMode</b>)", "Ð’Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка (<b>startTm</b>)", "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°-шаг (<b>curCom</b>)" и "Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° (<b>work</b>)".</li> <li> Генерирует ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹Ñтвий в течении иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° на предмет:</li></ul> <dl><dd> КÐТЕГОРИЯ: определÑет идентификатор пользовательÑкого рецепта-программы <i>ProgNM</i> в формате "<b>uprg{ProgNM}</b>", где: <ul><li> "uprg*" — типовой шаблон-признак пользовательÑкого рецепта-программы, который может быть непоÑредÑтвенно иÑпользован в фильтре категории Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñто пользовательÑких рецептов-программ;</li> <li> <i>ProgNM</i> — Ð¸Ð¼Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°-программы.</li></ul></dd> <dd> ТЕКСТ: опиÑание дейÑÑ‚Ð²Ð¸Ñ Ð² формате "<b>{ActDescr} "{ProgNM}" : {StartTm} : {ActTm}</b>", где: <ul><li> <i>ActDescr</i> — опиÑание дейÑтвиÑ:</li></ul> <dl><dd><ul><li> "Текущий узел отÑутÑтвует";</li> <li> "Прерванный пользователем ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹";</li> <li> "Прерванный ошибкой ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹";</li> <li> "УÑпешный ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹".</li></ul></dd></dl> <ul><li> <i>ProgNM</i> — Ð¸Ð¼Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°-программы;</li> <li> <i>StartTm</i> — Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка рецепта-программы, в формате "2020-03-14 16:05:01";</li> <li> <i>ActTm</i> — Ð²Ñ€ÐµÐ¼Ñ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°-программы, в формате "2020-03-14 16:05:52".</li></ul></dd></dl> <p><b><u>Ð’Ð’ шаблона</u></b><br /> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ð˜Ð¼Ñ </th> <th> Тип </th> <th> Режим </th> <th> Ðтрибут </th> <th> ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ </th> <th> Значение </th></tr> <tr> <td> dbDB </td> <td> БД: Ð˜Ð¼Ñ Ð‘Ð” Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°Ð¼Ð¸ </td> <td> Строка </td> <td> Вход </td> <td> Только чтение </td> <td> КонÑтанта </td> <td> </td></tr> <tr> <td> dbComs </td> <td> БД: Таблица Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ </td> <td> Строка </td> <td> Вход </td> <td> Ðе атрибут </td> <td> КонÑтанта </td> <td> PrescrComs </td></tr> <tr> <td> dbProgs </td> <td> БД: Таблица Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ </td> <td> Строка </td> <td> Вход </td> <td> Только чтение </td> <td> КонÑтанта </td> <td> PrescrProgs </td></tr> <tr> <td> comsCntr </td> <td> Контроллер команд, <p><пуÑто> - Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ в таблице,<br /> '*' - Ñтот параметр контроллер </p> </td> <td> Строка </td> <td> Вход </td> <td> Ðе атрибут </td> <td> КонÑтанта </td> <td> * </td></tr> <tr> <td> mode </td> <td> Режим </td> <td> Выбор целых чиÑел </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> -2 <p>-2;-1;0;1;2;3 Завершение;Ошибка;Стоп;ИÑполнение;Пауза;ПропуÑтить команду </p> </td></tr> <tr> <td> curMode </td> <td> Текущий режим </td> <td> Выбор целых чиÑел </td> <td> Вход </td> <td> Только чтение </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> -2 <p>-2;-1;0;1;2;3 Завершение;Ошибка;Стоп;ИÑполнение;Пауза;ПропуÑтить команду </p> </td></tr> <tr> <td> prog </td> <td> Ð˜Ð¼Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ программы </td> <td> Строка </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> startTm </td> <td> Ð’Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка, Ñекунды </td> <td> Целый </td> <td> Вход </td> <td> Только чтение </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> curCom </td> <td> Ð¢ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°-шаг </td> <td> Строка </td> <td> Вход </td> <td> Только чтение </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> work </td> <td> Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° </td> <td> Объект </td> <td> Вход </td> <td> Только чтение </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> comLs </td> <td> СпиÑок команд </td> <td> Объект </td> <td> Вход </td> <td> Только чтение </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> clcCnt </td> <td> Счётчик циклов </td> <td> Целый </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> this </td> <td> Объект </td> <td> Объект </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> f_err </td> <td> Ошибка функции </td> <td> Строка </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> f_frq </td> <td> ЧаÑтота обÑчёта функции, Гц </td> <td> ВещеÑтвенный </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 1000 </td></tr> <tr> <td> f_start </td> <td> Флаг запуÑка функции </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> f_stop </td> <td> Флаг оÑтанова функции </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td>0 </td></tr></table> <div class="floatright"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptionsManagerCfg_ru.png" title="КонфигурациÑ."><img alt="КонфигурациÑ." height="271" src="files/LibsPrescriptionsManagerCfg_ru.png" width="442" /></a></div> <p><b><u>ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ иÑпользование</u></b><br /> </p> <dl><dd>1. Создать и запуÑтить объект <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">логичеÑкого контроллера</a> Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼Ð¸ ÑвойÑтвами планированиÑ. <ul><li>[<b>JavaLikeCalc</b>] или непоÑредÑтвенно объект <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc контроллера</a>.</li></ul></dd> <dd>2. Создать объект <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">логичеÑкого параметра</a> и выбрать Ñтот шаблон Ð´Ð»Ñ Ð½ÐµÐ³Ð¾. Включить параметр. <ul><li>[<b>JavaLikeCalc</b>] или выбрать Ñтот шаблон Ð´Ð»Ñ <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc контроллера</a>; включить контроллер; Ñоздать параметр "manager" Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¿Ñ€ÐµÐ·ÐµÐ½Ñ‚Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ñ… атрибутов:</li></ul></dd></dl> <pre style="white-space: pre-wrap; margin-left: 40pt;"> dbDB dbProgs comLs prog mode curMode startTm curCom work </pre> <dl><dd>3. Во вкладке "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" объекта логичеÑкого параметра, или контроллера Ð´Ð»Ñ [JavaLikeCalc], вы должны уÑтановить: <dl><dd><ul><li> <i>БД: Ð˜Ð¼Ñ Ð‘Ð” Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°Ð¼Ð¸</i> — в БД, вроде "SQLite.vcaBase", где хранÑÑ‚ÑÑ Ð¸Ð»Ð¸ должны хранитьÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ рецептов-программ. ПуÑтое значение не разрешено и вызовет ошибку!</li> <li> <i>БД: Таблица Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸</i> — в название таблицы рецептов-программ, по умолчанию Ñто "PrescrProgs".</li> <li> <i>Контроллер команд</i> — оÑтавить в значении по умолчанию "*" Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð»ÐµÑ€Ð° параметров также Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´. Ð’Ñ‹ должны изменить Ñто поле в Ñлучае иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° контроллера менеджера в отдельном от команд логичеÑком контроллере!</li></ul></dd></dl> <ul><li> [<b>JavaLikeCalc</b>] или и дополнительно:</li></ul> <dl><dd><ul><li> <i>Контроллер команд</i> — изменить Ñто поле в отдельный логичеÑкий контроллер Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´!</li></ul></dd></dl> <ul><li> [<b>Команда-макроÑ</b>] или и дополнительно:</li></ul> <dl><dd><ul><li> <i>БД: Таблица Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸</i> — в название таблицы команд, по умолчанию Ñто "PrescrComs".</li> <li> <i>Контроллер команд</i> — уÑтановить <b><пуÑто></b>.</li></ul></dd></dl></dd> <dd>4. РазмеÑтить необходимые <a href="#LogicLevCommands">параметры команд</a> вмеÑте Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ менеджера. <ul><li> [<b>Команда-макроÑ</b>] или подготовить необходимые команды в "БД: Таблица Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸" ÑоглаÑно <a href="#Conception">концепции</a>; пуÑÑ‚Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° команд должна быть Ñоздана автоматичеÑки поÑле запуÑка объекта параметра, или контроллера Ð´Ð»Ñ [JavaLikeCalc]!</li></ul></dd> <dd>5. РЕЗУЛЬТÐТ: ЗапуÑтив объект контроллера (где Ñоздан Ñтот параметр) должны получить оперативные данные во вкладке "Ðтрибуты", длÑ: перечень доÑтупных команд, текущий режим, Ñ€Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°, Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°-шаг и Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка. <ul><li> [<b>JavaLikeCalc</b>] или непоÑредÑтвенно объект контроллера <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc</a>.</li></ul></dd> <dd>6. Ð’ процеÑÑе работы, через вкладку оперативных данных "Ðтрибуты", кроме Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð°, можно оÑущеÑтвлÑÑ‚ÑŒ оперативную наÑтройку и контроль на предмет: <ul><li> <i>Ð˜Ð¼Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ программы</i> — уÑтановка Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ программы в обработке менеджером;</li> <li> <i>Режим</i> — уÑтановка режима менеджера, иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ рецепта-программы: Завершение(-2); Ошибка(-1); Стоп(0); ИÑполнение(1); Пауза(2); ПропуÑтить команду(3).</li></ul></dd></dl> <h3><span class="mw-headline" id=".D0.A8.D0.B0.D0.B1.D0.BB.D0.BE.D0.BD.D1.8B_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4"><span class="mw-headline-number">2.2</span> <span id="LogicLevCommands" title="#LogicLevCommands">Шаблоны команд</span></span></h3> <table class="wikitable"> <tr> <td> <span id="timer" title="#timer"><h4><span class="mw-headline" id=".D0.9A.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.B0_.E2.80.94_.D0.A2.D0.B0.D0.B9.D0.BC.D0.B5.D1.80_.28timer.29"><span class="mw-headline-number">2.2.1</span> Команда — Таймер (<a href="Libs_Prescriptions.html#timer" title="Special:MyLanguage/Libs/Prescriptions">timer</a>)</span></h4></span> </td> <td> 2.0 </td> <td> GPLv2 </td> <td> * </td> <td> en, uk, ru </td> <td> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a> </td></tr></table> <div class="floatright"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptionsTimer_ru.png" title="Результат и оперативные наÑтройки."><img alt="Результат и оперативные наÑтройки." height="435" src="files/LibsPrescriptionsTimer_ru.png" width="332" /></a></div> <p>Шаблон команды типового таймера рецепта. Таймер разработан только Ð´Ð»Ñ ÑƒÐ´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ между другими дейÑтвенными шагами и Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð°, Ñ‚.е. он Ñодержит только один атрибут, Ñто "ВремÑ" в Ñекундах. </p><p><b><u>Ð’Ð’ шаблона</u></b><br /> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ð˜Ð¼Ñ </th> <th> Тип </th> <th> Режим </th> <th> Ðтрибут </th> <th> ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ </th> <th> Значение </th></tr> <tr> <td> start </td> <td> Рецепт: Ñтарт </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> stop </td> <td> Рецепт: Ñтоп </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> error </td> <td> Рецепт: ошибка </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> abort </td> <td> Рецепт: прерывание </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> run </td> <td> Команда: иÑполнение </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> pause </td> <td> Команда: пауза </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> rez </td> <td> Команда: результат </td> <td> Строка </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 1 </td></tr> <tr> <td> arg1 </td> <td> ВремÑ, Ñекунд </td> <td> ВещеÑтвенный </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> tmp1 </td> <td> Временный 1 </td> <td> ВещеÑтвенный </td> <td> Выход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> f_stop </td> <td> Флаг оÑтанова функции </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> f_frq </td> <td> ЧаÑтота обÑчёта функции, Гц </td> <td> ВещеÑтвенный </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 1000 </td></tr> <tr> <td> f_err </td> <td> Ошибка функции </td> <td> Строка </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> f_start </td> <td> Флаг запуÑка функции </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr></table> <p><b><u>ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ иÑпользование</u></b><br /> </p> <dl><dd>1. Создать и запуÑтить объект <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">логичеÑкого контроллера</a> Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼Ð¸ ÑвойÑтвами планированиÑ, или иÑпользовать Ñозданный Ð´Ð»Ñ <a href="#manager">менеджера рецепта</a>.</dd> <dd>2. Создать объект <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">логичеÑкого параметра</a> и выбрать Ñтот шаблон Ð´Ð»Ñ Ð½ÐµÐ³Ð¾. Включить параметр.</dd> <dd>5. РЕЗУЛЬТÐТ: ЗапуÑтив должны получить оперативные данные во вкладке "Ðтрибуты" Ð´Ð»Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð° команды.</dd> <dd>6. Ð’ процеÑÑе работы, через вкладку оперативных данных "Ðтрибуты", кроме Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð°, можно оÑущеÑтвлÑÑ‚ÑŒ оперативную наÑтройку и контроль на предмет <a href="#Conception">репрезентативных атрибутов команд рецепта</a> и дополнительных: <ul><li> <i>ВремÑ</i> — уÑтановка времени таймера, в Ñекундах.</li></ul></dd></dl> <p><br /> </p> <table class="wikitable"> <tr> <td> <span id="timer" title="#timer"><h4><span class="mw-headline" id=".D0.9A.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.B0_.E2.80.94_.D0.A4.D0.BE.D0.BD.D0.BE.D0.B2.D1.8B.D0.B9_.D1.82.D0.B0.D0.B9.D0.BC.D0.B5.D1.80_.28timer.29"><span class="mw-headline-number">2.2.2</span> Команда — Фоновый таймер (<a href="Libs_Prescriptions.html#timer" title="Special:MyLanguage/Libs/Prescriptions">timer</a>)</span></h4></span> </td> <td> 2.0 </td> <td> GPLv2 </td> <td> * </td> <td> en, uk, ru </td> <td> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a> </td></tr></table> <div class="floatright"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptionsBackTimer_ru.png" title="Результат и оперативные наÑтройки."><img alt="Результат и оперативные наÑтройки." height="436" src="files/LibsPrescriptionsBackTimer_ru.png" width="334" /></a></div> <p>Шаблон команды фонового таймера рецепта. Таймер разработан только Ð´Ð»Ñ ÑƒÐ´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ в фоне Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð°, Ñ‚.е. он Ñодержит только один атрибут, Ñто "ВремÑ" в Ñекундах. </p><p><b><u>Ð’Ð’ шаблона</u></b><br /> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ð˜Ð¼Ñ </th> <th> Тип </th> <th> Режим </th> <th> Ðтрибут </th> <th> ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ </th> <th> Значение </th></tr> <tr> <td> start </td> <td> Рецепт: Ñтарт </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> stop </td> <td> Рецепт: Ñтоп </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> error </td> <td> Рецепт: ошибка </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> abort </td> <td> Рецепт: прерывание </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> run </td> <td> Команда: иÑполнение </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> pause </td> <td> Команда: пауза </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> rez </td> <td> Команда: результат </td> <td> Строка </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 1 </td></tr> <tr> <td> arg1 </td> <td> ВремÑ, Ñекунд </td> <td> ВещеÑтвенный </td> <td> Вход </td> <td> Полный доÑтуп </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> </td></tr> <tr> <td> tmp1 </td> <td> Временный 1 </td> <td> ВещеÑтвенный </td> <td> Выход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> f_stop </td> <td> Флаг оÑтанова функции </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> f_frq </td> <td> ЧаÑтота обÑчёта функции, Гц </td> <td> ВещеÑтвенный </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 1000 </td></tr> <tr> <td> f_err </td> <td> Ошибка функции </td> <td> Строка </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr> <tr> <td> f_start </td> <td> Флаг запуÑка функции </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> Ðе атрибут </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> 0 </td></tr></table> <p><b><u>ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ иÑпользование</u></b><br /> </p> <dl><dd>1. Создать и запуÑтить объект <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">логичеÑкого контроллера</a> Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼Ð¸ ÑвойÑтвами планированиÑ, или иÑпользовать Ñозданный Ð´Ð»Ñ <a href="#manager">менеджера рецепта</a>.</dd> <dd>2. Создать объект <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">логичеÑкого параметра</a> и выбрать Ñтот шаблон Ð´Ð»Ñ Ð½ÐµÐ³Ð¾. Включить параметр.</dd> <dd>5. РЕЗУЛЬТÐТ: ЗапуÑтив должны получить оперативные данные во вкладке "Ðтрибуты" Ð´Ð»Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð° команды.</dd> <dd>6. Ð’ процеÑÑе работы, через вкладку оперативных данных "Ðтрибуты", кроме Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð°, можно оÑущеÑтвлÑÑ‚ÑŒ оперативную наÑтройку и контроль на предмет <a href="#Conception">репрезентативных атрибутов команд рецепта</a> и дополнительных: <ul><li> <i>ВремÑ</i> — уÑтановка времени таймера, в Ñекундах.</li></ul></dd></dl> <h2><span class="mw-headline" id=".D0.93.D1.80.D0.B0.D1.84.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B0.D1.8F_.D1.87.D0.B0.D1.81.D1.82.D1.8C"><span class="mw-headline-number">3</span> <span id="GraphPart" title="#GraphPart">ГрафичеÑÐºÐ°Ñ Ñ‡Ð°ÑÑ‚ÑŒ</span></span></h2> <p>Содержит Ñлементы-кадры рецептов конечного типа и Ñлементы-виджеты, которые предназначены Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² разделе мнемоÑхем (вид отображениÑ) дерева Ñтраниц проекта, поÑтроенного по <a href="Libs_Main_graphical_elements.html#RootPgSo" title="Special:MyLanguage/Libs/Main graphical elements">концепции объектов Ñигнализации корневой Ñтраницы "RootPgSo"</a> и Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð½Ð° других комплекÑных кадрах. Однако, Ñлементы-кадры могут быть размещены как отдельные ÑущноÑти или в ÑоÑтаве ÑобÑтвенной концепции ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтраницами, но тут нужно учитывать, что кадры чаÑто ÑÑылаютÑÑ Ð¸ вызывают <a href="Libs_Main_graphical_elements.html#doc_panel" title="Special:MyLanguage/Libs/Main graphical elements">панель документов</a>! </p><p>Ð”Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñти библиотеки к проекту Ñтанции OpenSCADA Ð’Ñ‹ можете получить файл БД как: </p> <ul><li> такой что поÑтавлÑетÑÑ Ñ Ð³Ð¾Ñ‚Ð¾Ð²Ñ‹Ð¼ и ÑоответÑтвующим пакетом диÑтрибутива Linux вроде "openscada-libdb-vca", "openscada-LibDB.VCA";</li> <li> наиболее актуальный и непоÑредÑтвенно полученный из <a class="external text" href="http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/vcaBase.sql" rel="nofollow noreferrer noopener" target="_blank">репозиторию subversion</a>, преобразованный в файл БД SQLite путём:</li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 15px"><pre>wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/vcaBase.sql sqlite3 -init vcaBase.sql vcaBase.db .exit </pre></div> <ul><li> загрузка <a class="external" href="http://oscada.org/wiki/File:VcaBase.db.gz" title="File:VcaBase.db.gz">прикреплённого тут</a>.</li></ul> <p>Ðтот полученный файл Ð’Ñ‹ далее можете размеÑтить в каталоге проекта Ñтанции и Ñоздать объект базы данных Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð‘Ð” "SQLite", зарегиÑтрировав файл базы данных в конфигурации. </p><p><br /> </p> <table class="wikitable"> <tr> <td> <span id="prescrEdit" title="#prescrEdit"><h3><span class="mw-headline" id=".D0.A0.D0.B5.D1.86.D0.B5.D0.BF.D1.82_.E2.80.94_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.28prescrEdit.29"><span class="mw-headline-number">3.1</span> Рецепт — редактирование (<a href="Libs_Prescriptions.html#prescrEdit" title="Special:MyLanguage/Libs/Prescriptions">prescrEdit</a>)</span></h3></span> </td> <td> 1.3 </td> <td> GPLv2 </td> <td> * </td> <td> en, uk, ru </td> <td> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a> </td></tr></table> <p>Кадр, предÑтавленный на риÑунке 3.1, ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из группы кадров работы Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°Ð¼Ð¸, который Ñлужит Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð¾Ð²-программ. Кадр, в целом, иÑпользует и предÑтавлÑет предÑтавительÑкую Ñтруктуру <a href="#manager">менеджера рецептов</a>. </p><p>Кадр Ñодержит, Ñлева на право: </p> <ul><li> "Библиотека" — библиотека Ñо ÑпиÑком программ и Ñлементами ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¾Ð¹.</li> <li> "Программа" — ÑпиÑок шагов-команд выбранного в библиотеке рецепта-программы Ñ Ñлементами управлениÑ.</li> <li> "Команда" — поле Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ шага рецепта в ÑоÑтаве выбора команды и уÑтановки имени, опиÑаниÑ, флага фонового иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ значений доÑтупных атрибутов, а также кнопки ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:902px;"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptions_prescrEditD_ru.png"><img class="thumbimage" height="600" src="files/LibsPrescriptions_prescrEditD_ru.png" width="900" /></a> <div class="thumbcaption">РиÑ.3.1a. Кадр "Рецепт — редактирование" в режиме разработки.</div></div></div></div> <p><b><u>ИÑпользование — разработка</u></b><br /> Кадр предназначен Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€Ð¾Ð»Ð¸ Ñтраницы, а, Ñледовательно, он должен непоÑредÑтвенно помещатьÑÑ Ð² дерево проекта. К кадру может быть подключен один параметр <a href="#manager">менеджера рецептов</a>, путём уÑтановки ÑвÑзей. </p><p><b><u>ИÑпользование — иÑполнение</u></b><br /> Ð’ режиме иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒ может добавлÑÑ‚ÑŒ новые рецепты-программы, удалÑÑ‚ÑŒ, копировать и ÑкÑпортировать ÑущеÑтвующие, а также импортировать рецепты других Ñтанций OpenSCADA. Ð’ выбранном рецепте-программе пользователь может выполнить: добавление или вÑтавку нового шага, удаление или изменение Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ шага. Ð”Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ шага рецепта-программы пользователь может уÑтановить команду и ввеÑти имÑ, опиÑание, флаг фонового иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупных аргументов выбранной команды, поÑле чего Ñохранить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑˆÐ°Ð³Ð°. </p><p>Операции удаление ÑопровождаютÑÑ Ð¿Ð¾Ñвлением <a href="Libs_Main_graphical_elements.html#accept" title="Special:MyLanguage/Libs/Main graphical elements">диалога-окна подтверждениÑ</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:902px;"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptions_prescrEditR_ru.png"><img class="thumbimage" height="639" src="files/LibsPrescriptions_prescrEditR_ru.png" width="900" /></a> <div class="thumbcaption">РиÑ.3.1b. Кадр "Рецепт — редактирование" в режиме иÑполнениÑ.</div></div></div></div> <p><b><u>СвойÑтва ÑвÑÐ·Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¸ конфигурации</u></b><br /> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ð˜Ð¼Ñ </th> <th> Тип </th> <th> ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ </th> <th> Конфигурационный шаблон </th></tr> <tr> <td> dbDB </td> <td> БД: База данных </td> <td> Строка </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|dbDB </td></tr> <tr> <td> dbProgs </td> <td> БД: Таблица программ </td> <td> Строка </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|dbProgs </td></tr> <tr> <td> prExtComLs </td> <td> СпиÑок доÑтупных команд рецепта </td> <td> Объект </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|comLs </td></tr></table> <p><br /> </p> <table class="wikitable"> <tr> <td> <span id="prescrRun" title="#prescrRun"><h3><span class="mw-headline" id=".D0.A0.D0.B5.D1.86.D0.B5.D0.BF.D1.82_.E2.80.94_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.28prescrRun.29"><span class="mw-headline-number">3.2</span> Рецепт — иÑполнение (<a href="Libs_Prescriptions.html#prescrRun" title="Special:MyLanguage/Libs/Prescriptions">prescrRun</a>)</span></h3></span> </td> <td> 1.3 </td> <td> GPLv2 </td> <td> * </td> <td> en, uk, ru </td> <td> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a> </td></tr></table> <p>Кадр, предÑтавленный на риÑунке 3.2, ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из группы кадров работы Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°Ð¼Ð¸, который Ñлужит Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¸ Ð½Ð°Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð·Ð° иÑполнением программ-рецептов, ранее Ñформированных в кадре "<a href="#prescrEdit">Рецепт — редактирование</a>". Кадр, в целом, иÑпользует и предÑтавлÑет предÑтавительÑкую Ñтруктуру <a href="#manager">менеджера рецептов</a>. Дополнительно к Ñтому полноформатному кадру иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð¾Ð², предуÑмотрен упрощённый — "<a href="#prescrRunSimple">Рецепт — иÑполнение, проÑтой</a>", который позволÑет компактно управлÑÑ‚ÑŒ и отÑлеживать иÑполнение рецептов в ÑоÑтаве других кадров технологичеÑкого процеÑÑа. </p><p>Кадр Ñодержит, Ñлева на право: </p> <ul><li> "ЗапуÑк/оÑтанов/пропуÑк" — две кнопки запуÑка и оÑтанова выбранной программы, а также кнопка пропуÑка Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ шага.</li> <li> "Библиотека" — библиотека Ñо ÑпиÑком программ.</li> <li> "Программа" — документ ÑпиÑка шагов-команд, выбранного в библиотеке рецепта-программы. При иÑполнении в Ñтом поле отÑлеживаетÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐµ ÑоÑтоÑние иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑƒÑ‚Ñ‘Ð¼ ÑоответÑтвующей подÑветки шагов.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:902px;"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptions_prescrRunD_ru.png"><img class="thumbimage" height="600" src="files/LibsPrescriptions_prescrRunD_ru.png" width="900" /></a> <div class="thumbcaption">РиÑ.3.2a. Кадр "Рецепт — иÑполнение" в режиме разработки.</div></div></div></div> <p><b><u>ИÑпользование — разработка</u></b><br /> Кадр предназначен Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€Ð¾Ð»Ð¸ Ñтраницы, а, Ñледовательно, он должен непоÑредÑтвенно помещатьÑÑ Ð² дерево проекта. К кадру может быть подключен один параметр <a href="#manager">менеджера рецептов</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>По завершению рецепта-программы проиÑходит Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ <a href="#manager">менеджером рецептов</a> Ñообщений Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ ÑеанÑа, а также архивирование документа ÑеанÑа. Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ ÑеанÑа могут быть иÑпользованы или проÑто Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра иÑтории ÑеанÑов, или-же Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑпиÑка ÑеанÑов, например, в <a href="Libs_Main_graphical_elements.html#grpGraph" title="Special:MyLanguage/Libs/Main graphical elements">группе графиков</a> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° к иÑтории на Ð²Ñ€ÐµÐ¼Ñ ÑеанÑа. По умолчанию <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/VCA#Document" title="Special:MyLanguage/Sub-projects/VCA">архив отчётов</a> наÑтроен на глубину 10 документов, что вы можете изменить уÑтановкой атрибута "Размер архиву (n)" виджета документа. </p><p><b><u>ИÑпользование — иÑполнение</u></b><br /> Ð’ режиме иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒ может выбрать нужный рецепт-программу и запуÑтить его на иÑполнение, поÑле чего отÑлеживать процеÑÑ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ перейти к другим кадрам. ИÑполнÑемую программу пользователь может приоÑтановить путём Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ "Пауза" в меÑте кнопки "ЗапуÑк" или прервать путём Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ "ОÑтанов". Кроме Ñтого, пользователь может пропуÑтит иÑполнение текущего шага, нажав кнопку "ПропуÑтить". Также пользователь может переÑмотреть или раÑпечатать отчёты ранее иÑполнÑемых рецептов Ñтого полноформатного кадра, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ нужно нажать левой клавишей мыши на поле документа и полиÑтать по архиву иÑполнÑемых рецептов, на поÑвившейÑÑ Ñправа <a href="Libs_Main_graphical_elements.html#doc_panel" title="Special:MyLanguage/Libs/Main graphical elements">панели навигации</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:902px;"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptions_prescrRunR_ru.png"><img class="thumbimage" height="639" src="files/LibsPrescriptions_prescrRunR_ru.png" width="900" /></a> <div class="thumbcaption">РиÑ.3.2b. Кадр "Рецепт — иÑполнение" в режиме иÑполнениÑ.</div></div></div></div> <p><b><u>СвойÑтва ÑвÑÐ·Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¸ конфигурации</u></b><br /> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ð˜Ð¼Ñ </th> <th> Тип </th> <th> ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ </th> <th> Конфигурационный шаблон </th></tr> <tr> <td> dbDB </td> <td> БД: База данных </td> <td> Строка </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|dbDB </td></tr> <tr> <td> dbProgs </td> <td> БД: Таблица программ </td> <td> Строка </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|dbProgs </td></tr> <tr> <td> prExtCurCom </td> <td> Контроллер: Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|curCom </td></tr> <tr> <td> prExtMode </td> <td> Контроллер: режим </td> <td> Целый </td> <td> ÐŸÐ¾Ð»Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|mode </td></tr> <tr> <td> prExtProg </td> <td> Контроллер: программа </td> <td> Строка </td> <td> ÐŸÐ¾Ð»Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|prog </td></tr> <tr> <td> prExtStartTm </td> <td> Контроллер: Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка </td> <td> Целый </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|startTm </td></tr> <tr> <td> prExtWork </td> <td> Контроллер: Ñ€Ð°Ð±Ð¾Ñ‡Ð°Ñ </td> <td> Объект </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|work </td></tr></table> <p><br /> </p> <table class="wikitable"> <tr> <td> <span id="prescrRunSimple" title="#prescrRunSimple"><h3><span class="mw-headline" id=".D0.A0.D0.B5.D1.86.D0.B5.D0.BF.D1.82_.E2.80.94_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5.2C_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B9_.28prescrRunSimple.29"><span class="mw-headline-number">3.3</span> Рецепт — иÑполнение, проÑтой (<a href="Libs_Prescriptions.html#prescrRunSimple" title="Special:MyLanguage/Libs/Prescriptions">prescrRunSimple</a>)</span></h3></span> </td> <td> 1.3 </td> <td> GPLv2 </td> <td> * </td> <td> en, uk, ru </td> <td> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a> </td></tr></table> <p>Виджет, предÑтавленный на риÑунке 3.3, Ñто упрощённый вариант кадра "<a href="#prescrRun">Рецепт — иÑполнение</a>", который разработан Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ°Ðº виджет мнемоÑхем и он в оÑновном и работает дополнением кадра "<a href="#prescrRun">Рецепт — иÑполнение</a>". Кадр, в целом, иÑпользует и предÑтавлÑет предÑтавительÑкую Ñтруктуру <a href="#manager">менеджера рецептов</a>. </p><p>Виджет Ñодержит, Ñлева направа и вниз: </p> <ul><li> "ЗапуÑк/оÑтанов/пропуÑк" — две кнопки запуÑка и оÑтанова выбранной программы, а также кнопка пропуÑка иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ шага.</li> <li> "Библиотека" — кнопка Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рецепта-программы и вызова <a href="Libs_Main_graphical_elements.html#treeSelect" title="Special:MyLanguage/Libs/Main graphical elements">диалога выбора программы в дереве</a>.</li> <li> "Программа" — документ Ñо Ñтроками активных на текущий момент команд.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:552px;"><a class="image" href="http://oscada.org/wiki/File:LibsPrescriptions_prescrRunSimple_ru.png"><img class="thumbimage" height="195" src="files/LibsPrescriptions_prescrRunSimple_ru.png" width="550" /></a> <div class="thumbcaption">РиÑ.3.3. Кадр "Рецепт — иÑполнение, проÑтой" в режиме разработки и иÑполнениÑ.</div></div></div></div> <p><b><u>ИÑпользование — разработка</u></b><br /> Ðтот виджет может быть иÑпользован разработчиком при Ñоздании мнемоÑхем Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼ активноÑти иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð¾Ð² и быÑтрого ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð½Ð¸Ð¼Ð¸. Ð”Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ добавить данный виджет на мнемоÑхему, подÑтроить горизонтальный, вертикальный размер маÑштабом и подключит один параметр <a href="#manager">менеджера рецептов</a>, путём уÑтановки ÑвÑзей. </p><p><b><u>ИÑпользование — иÑполнение</u></b><br /> Ð’ режиме иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒ может выбрать нужный рецепт-программу, в <a href="Libs_Main_graphical_elements.html#treeSelect" title="Special:MyLanguage/Libs/Main graphical elements">диалоге выбора программы в дереве</a> который поÑвлÑетÑÑ Ð¿Ñ€Ð¸ нажатии кнопки рецепта, и запуÑтить его на иÑполнение, поÑле чего отÑлеживать процеÑÑ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ перейти к другим кадрам. ИÑполнÑемую программу пользователь может приоÑтановить путём Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ "Пауза" в меÑте кнопки "ЗапуÑк" или прервать путём Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸ "ОÑтанов". Кроме Ñтого, пользователь может пропуÑтит иÑполнение текущего шага, нажав кнопку "ПропуÑтить". </p><p><b><u>СвойÑтва ÑвÑÐ·Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¸ конфигурации</u></b><br /> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Ð˜Ð¼Ñ </th> <th> Тип </th> <th> ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ </th> <th> Конфигурационный шаблон </th></tr> <tr> <td> dbDB </td> <td> БД: База данных </td> <td> Строка </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|dbDB </td></tr> <tr> <td> dbProgs </td> <td> БД: Таблица программ </td> <td> Строка </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|dbProgs </td></tr> <tr> <td> prExtCurCom </td> <td> Контроллер: Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° </td> <td> Строка </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|curCom </td></tr> <tr> <td> prExtMode </td> <td> Контроллер: режим </td> <td> Целый </td> <td> ÐŸÐ¾Ð»Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|mode </td></tr> <tr> <td> prExtProg </td> <td> Контроллер: программа </td> <td> Строка </td> <td> ÐŸÐ¾Ð»Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|prog </td></tr> <tr> <td> prExtStartTm </td> <td> Контроллер: Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка </td> <td> Целый </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|startTm </td></tr> <tr> <td> prExtWork </td> <td> Контроллер: Ñ€Ð°Ð±Ð¾Ñ‡Ð°Ñ </td> <td> Объект </td> <td> Ð’Ñ…Ð¾Ð´Ð½Ð°Ñ ÑвÑзь </td> <td> Controller|work </td></tr></table> </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/Libs/Prescriptions/ru">Libs/Prescriptions/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>