<?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%2FRegulation+elements&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/Regulation_elements" title="Libs/Regulation elements">Libs/Regulation elements</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_Regulation_elements.html" title="Libs/Regulation elements (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_Regulation_elements.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></tr> <tr> <td> <a href="Libs_Regulation_elements.html" title="Special:MyLanguage/Libs/Regulation elements">Библиотека Ñлементов регулированиÑ</a> </td> <td> 1.0 </td> <td> GPLv2 </td> <td> 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.JavaLikeCalc.regEl </td> <td> en, uk, ru </td> <td> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a> </td> <td> Библиотека Ñлементов Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð»Ð¾Ñ‡Ð½Ñ‹Ñ… Ñхем Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">DAQ.BlockCalc</a>. <ul><li> <b>ОÑновано:</b> Январь 2010</li> <li> <b>СпонÑировано:</b> <a class="external text" href="http://diyaorg.dp.ua" rel="nofollow noreferrer noopener" target="_blank">ООО "ДІЯ"</a></li> <li> <b>Изначально Ñоздано:</b> в <a class="external text" href="http://wiki.oscada.org/Using/APIFunctionLibs/LibRegEl" rel="nofollow noreferrer noopener" target="_blank">Ñтарой Wiki</a></li> <li> <b>ИÑпользовано:</b> <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Kramatorsk_Ball_Mills" title="Special:MyLanguage/Using/Kramatorsk Ball Mills">СÐУ шаровых барабанных мельниц</a>, <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Kramatorsk_Water" title="Special:MyLanguage/Using/Kramatorsk Water">СÐУ ФоÑфатированиÑ, ÐÐ¼Ð¼Ð¸Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Гидразина</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="Program_manual.html#DAQTmpl" title="Special:MyLanguage/Documents/Program manual">DAQ-шаблоны</a> поÑле раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð¸Ñ… концепции на предмет внутренних ÑÑылок (+) и раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">DAQ.BlockCalc</a> до иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ DAQ-шаблонов.</dd></dl> </td></tr></table> <p>Библиотека ÑоздаётÑÑ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ различных алгоритмов ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¸ она может быть иÑпользована в программированных логичеÑких контроллерах (PLC) оÑнованных на OpenSCADA Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ñхем ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð² модуле <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">DAQ.BlockCalc</a>. Библиотека не ÑвлÑетÑÑ ÑтатичеÑкой, а ÑтроитÑÑ Ð½Ð° оÑнове Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc</a>, позволÑющего Ñоздавать вычиÑÐ»ÐµÐ½Ð¸Ñ Ð½Ð° Java-подобном Ñзыке. ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ и их параметров доÑтупны на Ñзыках: ÐнглийÑкий, УкраинÑкий и mRussian. </p><p>Ð”Ð»Ñ Ð°Ð´Ñ€ÐµÑации к функции Ñтой библиотеки можно иÑпользовать ÑтатичеÑкий Ð°Ð´Ñ€ÐµÑ Ð²Ñ‹Ð·Ð¾Ð²Ð° <b>DAQ.JavaLikeCalc.lib_regEl.{Func}()</b> или динамичеÑкий <b>SYS.DAQ.JavaLikeCalc["lib_regEl"]["{Func}"].call()</b>, <b>SYS.DAQ.JavaLikeCalc["lib_regEl"].{Func}()</b>. Где <i>{Func}</i> — идентификатор функции в библиотеке. </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> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1"><a href="#.D0.9F.D0.98.D0.94_.D1.83.D0.BD.D0.B8.D1.84.D0.B8.D1.86.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D1.8B.D0.B9_.28pidUnif.29"><span class="tocnumber">1</span> <span class="toctext">ПИД унифицированный (pidUnif)</span></a></li> <li class="toclevel-1"><a href="#.D0.9F.D0.98.D0.94_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_.28pidUnifD.29"><span class="tocnumber">2</span> <span class="toctext">ПИД динамичеÑкий (pidUnifD)</span></a></li> <li class="toclevel-1"><a href="#.D0.9F.D0.98.D0.94_.D0.B8.D0.BC.D0.BF.D1.83.D0.BB.D1.8C.D1.81.D0.BD.D1.8B.D0.B9_.28pidImp.29"><span class="tocnumber">3</span> <span class="toctext">ПИД импульÑный (pidImp)</span></a></li> </ul> </div> <p><br /> </p> <table class="wikitable"> <tr> <td> <span id="pidUnif" title="#pidUnif"><h3><span class="mw-headline" id=".D0.9F.D0.98.D0.94_.D1.83.D0.BD.D0.B8.D1.84.D0.B8.D1.86.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D1.8B.D0.B9_.28pidUnif.29"><span class="mw-headline-number">1</span> ПИД унифицированный (<a href="Libs_Regulation_elements.html#pidUnif" title="Special:MyLanguage/Libs/Regulation elements">pidUnif</a>)</span></h3></span> </td> <td> 1.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> <p>Совмещённый-унифицированный аналоговый и импульÑный ПИД-регулÑтор. Ð’ оÑнове регулÑтора лежит Ñдро Ñтандартного аналогового ПИД-регулÑтора из библиотеки "<a href="Modules/FLibComplex1.html#PID" title="Special:MyLanguage/Modules/FLibComplex1">FLibComplex1</a>" и Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¨Ð˜Ðœ Ð´Ð»Ñ Ð¸Ð¼Ð¿ÑƒÐ»ÑŒÑной чаÑти. </p><p><b><u>Параметры</u></b><br /> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Параметр </th> <th> Тип </th> <th> Режим </th> <th> Скрытый </th> <th> По умолчанию </th></tr> <tr> <td> var </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> sp </td> <td> Задание </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> max </td> <td> Шкала: макÑимум </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 100 </td></tr> <tr> <td> min </td> <td> Шкала: минимум </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> manIn </td> <td> Ручной ввод </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> out </td> <td> Выход, % </td> <td> ВещеÑтв. </td> <td> Возврат </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQup </td> <td> ИмпульÑный выход вверх </td> <td> Логич. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQdwn </td> <td> Имп. выход вниз </td> <td> Логич. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> analog </td> <td> Ðналоговый </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> auto </td> <td> Ðвтомат </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> casc </td> <td> КаÑкад </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Kp </td> <td> Kп </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Ti </td> <td> Tи, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 1000 </td></tr> <tr> <td> Kd </td> <td> Кп производной </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Td </td> <td> Tд, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Tzd </td> <td> T задержки дифференциала, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> TImpPer </td> <td> T период импульÑа, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 5000 </td></tr> <tr> <td> TImpMin </td> <td> T Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° импульÑа, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 500 </td></tr> <tr> <td> KImpRfact </td> <td> Рейтинг фактор импульÑа </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Hup </td> <td> ВерхнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° выхода, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 100 </td></tr> <tr> <td> Hdwn </td> <td> ÐижнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° выхода, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Zi </td> <td> ÐечувÑтвительноÑÑ‚ÑŒ, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> followSp </td> <td> Следить заданием за переменной в ручном </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> K1 </td> <td> КоÑффициент входа 1 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in1 </td> <td> Вход 1 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K2 </td> <td> КоÑффициент входа 2 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in2 </td> <td> Вход 2 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K3 </td> <td> КоÑффициент входа 3 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in3 </td> <td> Вход 3 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K4 </td> <td> КоÑффициент входа 4 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in4 </td> <td> Вход 4 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impAnOut </td> <td> Ðналоговое положение импульÑного регулÑтора </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impAnImit </td> <td> Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQupTm </td> <td> ИмпульÑный выход вверх удерж. Ð´Ð»Ñ GUI </td> <td> Целый </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQdwnTm </td> <td> Имп. выход вниз удерж. Ð´Ð»Ñ GUI </td> <td> Целый </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> f_frq </td> <td> ЧаÑтота вычиÑлениÑ, Гц </td> <td> Целый </td> <td> Вход </td> <td> true </td> <td> 1 </td></tr> <tr> <td> f_start </td> <td> Первый запуÑк </td> <td> Логич. </td> <td> Вход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> f_stop </td> <td> ПоÑледний запуÑк </td> <td> Логич. </td> <td> Вход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> int </td> <td> Ðакопление интеграла </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> dif </td> <td> Ðакопление производной </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> lag </td> <td> Ðакопление задержки </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> impLag </td> <td> Ð’Ñ€ÐµÐ¼Ñ ÑƒÐ´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð¸Ð¼Ð¿ÑƒÐ»ÑŒÑа </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> perLag </td> <td> Ð’Ñ€ÐµÐ¼Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ нового импульÑа </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr></table> <p><b><u>Структура</u></b><br /> <a class="image" href="http://oscada.org/wiki/File:RegEls_pid_unif.png"><img alt="RegEls pid unif.png" height="446" src="../en/files/RegEls_pid_unif.png" width="744" /></a> </p> <table class="wikitable"> <tr> <td> <span id="pidUnifD" title="#pidUnifD"><h3><span class="mw-headline" id=".D0.9F.D0.98.D0.94_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_.28pidUnifD.29"><span class="mw-headline-number">2</span> ПИД динамичеÑкий (<a href="Libs_Regulation_elements.html#pidUnifD" title="Special:MyLanguage/Libs/Regulation elements">pidUnifD</a>)</span></h3></span> </td> <td> 1.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> <p>ПолноÑтью идентичный <a href="#pidUnif">унифицированному ПИД-регулÑтору</a>, но реализованный динамичеÑки на <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc</a>. ДинамичеÑÐºÐ°Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет легко адаптировать регулÑтор под нужные требованиÑ, проÑто отредактировав его. </p><p><b><u>Параметры</u></b><br /> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Параметр </th> <th> Тип </th> <th> Режим </th> <th> Скрытый </th> <th> По умолчанию </th></tr> <tr> <td> var </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> sp </td> <td> Задание </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> max </td> <td> Шкала: макÑимум </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 100 </td></tr> <tr> <td> min </td> <td> Шкала: минимум </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> manIn </td> <td> Ручной ввод </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> out </td> <td> Выход, % </td> <td> ВещеÑтв. </td> <td> Возврат </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQup </td> <td> ИмпульÑный выход вверх </td> <td> Логич. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQdwn </td> <td> Имп. выход вниз </td> <td> Логич. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> analog </td> <td> Ðналоговый </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> auto </td> <td> Ðвтомат </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> casc </td> <td> КаÑкад </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Kp </td> <td> Kп </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Ti </td> <td> Tи, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 1000 </td></tr> <tr> <td> Kd </td> <td> Кп производной </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Td </td> <td> Tд, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Tzd </td> <td> T задержки дифференциала, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> TImpPer </td> <td> T период импульÑа, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 5000 </td></tr> <tr> <td> TImpMin </td> <td> T Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° импульÑа, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 500 </td></tr> <tr> <td> KImpRfact </td> <td> Рейтинг фактор импульÑа </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Hup </td> <td> ВерхнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° выхода, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 100 </td></tr> <tr> <td> Hdwn </td> <td> ÐижнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° выхода, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Zi </td> <td> ÐечувÑтвительноÑÑ‚ÑŒ, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> followSp </td> <td> Следить заданием за переменной в ручном </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> K1 </td> <td> КоÑффициент входа 1 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in1 </td> <td> Вход 1 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K2 </td> <td> КоÑффициент входа 2 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in2 </td> <td> Вход 2 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K3 </td> <td> КоÑффициент входа 3 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in3 </td> <td> Вход 3 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K4 </td> <td> КоÑффициент входа 4 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in4 </td> <td> Вход 4 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> QO </td> <td> Открытое ÑоÑтоÑние иÑполнительного механизма </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> QZ </td> <td> Закрытое ÑоÑтоÑние иÑполнительного механизма </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impAnOut </td> <td> Ðналоговое положение импульÑного регулÑтора </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> -1 </td></tr> <tr> <td> impAnImit </td> <td> Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> -1 </td></tr> <tr> <td> impQupTm </td> <td> ИмпульÑный выход вверх удерж. Ð´Ð»Ñ GUI </td> <td> Логич. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQdwnTm </td> <td> Имп. выход вниз удерж. Ð´Ð»Ñ GUI </td> <td> Логич. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> f_frq </td> <td> ЧаÑтота вычиÑлениÑ, Гц </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> true </td> <td> 1 </td></tr> <tr> <td> f_start </td> <td> Первый запуÑк </td> <td> Логич. </td> <td> Вход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> f_stop </td> <td> ПоÑледний запуÑк </td> <td> Логич. </td> <td> Вход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> impLag </td> <td> Ð’Ñ€ÐµÐ¼Ñ ÑƒÐ´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð¸Ð¼Ð¿ÑƒÐ»ÑŒÑа </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> perLag </td> <td> Ð’Ñ€ÐµÐ¼Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ нового импульÑа </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> integ </td> <td> Ðакопление интеграла </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> difer </td> <td> Ðакопление производной </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> dlag </td> <td> Ðакопление задержки производной </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr></table> <p><b><u>Структура</u></b><br /> <a class="image" href="http://oscada.org/wiki/File:RegEls_pid_unif.png"><img alt="RegEls pid unif.png" height="446" src="../en/files/RegEls_pid_unif.png" width="744" /></a> </p> <table class="wikitable"> <tr> <td> <span id="pidImp" title="#pidImp"><h3><span class="mw-headline" id=".D0.9F.D0.98.D0.94_.D0.B8.D0.BC.D0.BF.D1.83.D0.BB.D1.8C.D1.81.D0.BD.D1.8B.D0.B9_.28pidImp.29"><span class="mw-headline-number">3</span> ПИД импульÑный (<a href="Libs_Regulation_elements.html#pidImp" title="Special:MyLanguage/Libs/Regulation elements">pidImp</a>)</span></h3></span> </td> <td> 1.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> <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></tr> <tr> <td> var </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> sp </td> <td> Задание </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> max </td> <td> Шкала: макÑимум </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 100 </td></tr> <tr> <td> min </td> <td> Шкала: минимум </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> manIn </td> <td> Ручной ввод </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> out </td> <td> Выход, % </td> <td> ВещеÑтв. </td> <td> Возврат </td> <td> false </td> <td> 0 </td></tr> <tr> <td> outPID </td> <td> Выход ПИД </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQup </td> <td> ИмпульÑный выход вверх </td> <td> Логич. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQdwn </td> <td> Имп. выход вниз </td> <td> Логич. </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> auto </td> <td> Ðвтомат </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> casc </td> <td> КаÑкад </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Kp </td> <td> Kп </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Ki </td> <td> Кп интеграла </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Ti </td> <td> Tи, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 1000 </td></tr> <tr> <td> Kd </td> <td> Кп производной </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Td </td> <td> Tд, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Tzd </td> <td> T задержки дифференциала, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> TImpPer </td> <td> T период импульÑа, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 5000 </td></tr> <tr> <td> TImpMin </td> <td> T Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° импульÑа, миллиÑекунд </td> <td> Целый </td> <td> Вход </td> <td> false </td> <td> 500 </td></tr> <tr> <td> KImpRfact </td> <td> Рейтинг фактор импульÑа </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> Hup </td> <td> ВерхнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° выхода, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 100 </td></tr> <tr> <td> Hdwn </td> <td> ÐижнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° выхода, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> Zi </td> <td> ÐечувÑтвительноÑÑ‚ÑŒ, % </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> followSp </td> <td> Следить заданием за переменной в ручном </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 1 </td></tr> <tr> <td> K1 </td> <td> КоÑффициент входа 1 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in1 </td> <td> Вход 1 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K2 </td> <td> КоÑффициент входа 2 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in2 </td> <td> Вход 2 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K3 </td> <td> КоÑффициент входа 3 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in3 </td> <td> Вход 3 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> K4 </td> <td> КоÑффициент входа 4 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> in4 </td> <td> Вход 4 </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impAnOut </td> <td> Ðналоговое положение импульÑного регулÑтора </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impAnImit </td> <td> Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ </td> <td> Логич. </td> <td> Вход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQupTm </td> <td> ИмпульÑный выход вверх удерж. Ð´Ð»Ñ GUI </td> <td> Целый </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> impQdwnTm </td> <td> Имп. выход вниз удерж. Ð´Ð»Ñ GUI </td> <td> Целый </td> <td> Выход </td> <td> false </td> <td> 0 </td></tr> <tr> <td> f_frq </td> <td> ЧаÑтота вычиÑлениÑ, Гц </td> <td> ВещеÑтв. </td> <td> Вход </td> <td> true </td> <td> 1 </td></tr> <tr> <td> f_start </td> <td> Первый запуÑк </td> <td> Логич. </td> <td> Вход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> f_stop </td> <td> ПоÑледний запуÑк </td> <td> Логич. </td> <td> Вход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> impLag </td> <td> Ð’Ñ€ÐµÐ¼Ñ ÑƒÐ´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð¸Ð¼Ð¿ÑƒÐ»ÑŒÑа </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> perLag </td> <td> Ð’Ñ€ÐµÐ¼Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ нового импульÑа </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> integ </td> <td> Ðакопление интеграла </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> difer </td> <td> Ðакопление производной </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> dlag </td> <td> Ðакопление задержки производной </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> err1 </td> <td> Ошибка шаг назад </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr> <tr> <td> err2 </td> <td> Ошибка два шага назад </td> <td> ВещеÑтв. </td> <td> Выход </td> <td> true </td> <td> 0 </td></tr></table> <p><b><u>Структура</u></b><br /> <a class="image" href="http://oscada.org/wiki/File:RegEls_pid_imp.png"><img alt="RegEls pid imp.png" height="462" src="../en/files/RegEls_pid_imp.png" width="821" /></a> </p> </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/Regulation_elements/ru">Libs/Regulation_elements/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>