<?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&amp;group=page-Libs%2FRegulation+elements&amp;action=page&amp;filter=&amp;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>&nbsp;• ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span>&nbsp;• ‎<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>) &gt; 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> Выход,&nbsp;% </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> Верхняя граница выхода,&nbsp;% </td>
<td> Веществ. </td>
<td> Вход </td>
<td> false </td>
<td> 100
</td></tr>
<tr>
<td> Hdwn </td>
<td> Нижняя граница выхода,&nbsp;% </td>
<td> Веществ. </td>
<td> Вход </td>
<td> false </td>
<td> 0
</td></tr>
<tr>
<td> Zi </td>
<td> Нечувствительность,&nbsp;% </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> Выход,&nbsp;% </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> Верхняя граница выхода,&nbsp;% </td>
<td> Веществ. </td>
<td> Вход </td>
<td> false </td>
<td> 100
</td></tr>
<tr>
<td> Hdwn </td>
<td> Нижняя граница выхода,&nbsp;% </td>
<td> Веществ. </td>
<td> Вход </td>
<td> false </td>
<td> 0
</td></tr>
<tr>
<td> Zi </td>
<td> Нечувствительность,&nbsp;% </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> Выход,&nbsp;% </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> Верхняя граница выхода,&nbsp;% </td>
<td> Веществ. </td>
<td> Вход </td>
<td> false </td>
<td> 100
</td></tr>
<tr>
<td> Hdwn </td>
<td> Нижняя граница выхода,&nbsp;% </td>
<td> Веществ. </td>
<td> Вход </td>
<td> false </td>
<td> 0
</td></tr>
<tr>
<td> Zi </td>
<td> Нечувствительность,&nbsp;% </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>