<?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>Модули/FLibComplex1 - 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">Модули/FLibComplex1</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="ru"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&group=page-Modules%2FFLibComplex1&action=page&filter=&language=ru" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/FLibComplex1" title="Modules/FLibComplex1">Modules/FLibComplex1</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/Modules/FLibComplex1.html" title="Modules/FLibComplex1 (100% translated)">English</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../uk/Modules/FLibComplex1.html" title="Модулі/FLibComplex1 (100% translated)">УкраїнÑька</a></div></div> <table class="wikitable"> <tr> <th> Модуль </th> <th> Ð˜Ð¼Ñ </th> <th> ВерÑÐ¸Ñ </th> <th> Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ </th> <th> ИÑточник </th> <th> Языки </th> <th> Платформы </th> <th> Тип </th> <th> Ðвтор </th> <th> ОпиÑание </th></tr> <tr> <td> <a href="../Modules/FLibComplex1.html" title="Special:MyLanguage/Modules/FLibComplex1">FLibComplex1</a> </td> <td> Функции Complex1 </td> <td> 1.2 </td> <td> GPL2 </td> <td> spec_FLibComplex1.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> Специальные </td> <td> Роман Савоченко </td> <td> ПредоÑтавлÑет библиотеку функций ÑовмеÑтимых Ñо SCADA Complex1 фирмы ÐИП "ДІЯ". </td></tr></table> <p>Модуль предоÑтавлÑет в OpenSCADA ÑтатичеÑкую библиотеку функций ÑовмеÑтимоÑти Ñо SCADA Complex1 фирмы ÐИП "DIYA". Ðти функции иÑпользовалиÑÑŒ в Complex1 в виде алгоблоков Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ÑиÑтемных вычиÑлений на оÑнове виртуального контроллера. ПредоÑтавление библиотеки Ñтих функций позволÑет выполнÑÑ‚ÑŒ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð²Ñ‹Ñ‡Ð¸Ñлительных алгоритмов из Complex1. </p><p>Ð”Ð»Ñ Ð°Ð´Ñ€ÐµÑации к функциÑм Ñтой библиотеки можно иÑпользовать ÑтатичеÑкий Ð°Ð´Ñ€ÐµÑ Ð²Ñ‹Ð·Ð¾Ð²Ð° <b>Special.FLibComplex1.{Func}()</b> или динамичеÑкий <b>SYS.Special.FLibComplex1["{Func}"].call()</b>, <b>SYS.Special.FLibComplex1.{Func}()</b>. Где <i>{Func}</i> — идентификатор функции в библиотеке. </p><p>Ðиже приведено опиÑание каждой функции библиотеки. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.A1.D0.B8.D0.B3.D0.BD.D0.B0.D0.BB_.28alarm.29"><span class="tocnumber">1</span> <span class="toctext">Сигнал (alarm)</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.A3.D1.81.D0.BB.D0.BE.D0.B2.D0.B8.D0.B5_.27.3C.27_.28cond_lt.29"><span class="tocnumber">2</span> <span class="toctext">УÑловие '<' (cond_lt)</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#.D0.A3.D1.81.D0.BB.D0.BE.D0.B2.D0.B8.D0.B5_.27.3E.27_.28cond_gt.29"><span class="tocnumber">3</span> <span class="toctext">УÑловие '>' (cond_gt)</span></a></li> <li class="toclevel-1 tocsection-4"><a href="#.D0.9F.D0.BE.D0.BB.D0.BD.D0.BE.D0.B5_.D1.83.D1.81.D0.BB.D0.BE.D0.B2.D0.B8.D0.B5_.28cond_full.29"><span class="tocnumber">4</span> <span class="toctext">Полное уÑловие (cond_full)</span></a></li> <li class="toclevel-1 tocsection-5"><a href="#.D0.94.D0.B8.D1.81.D0.BA.D1.80.D0.B5.D1.82.D0.BD.D1.8B.D0.B9_.D0.B1.D0.BB.D0.BE.D0.BA_.28digitBlock.29"><span class="tocnumber">5</span> <span class="toctext">ДиÑкретный блок (digitBlock)</span></a></li> <li class="toclevel-1 tocsection-6"><a href="#.D0.94.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.28div.29"><span class="tocnumber">6</span> <span class="toctext">Деление (div)</span></a></li> <li class="toclevel-1 tocsection-7"><a href="#.D0.AD.D0.BA.D1.81.D0.BF.D0.BE.D0.BD.D0.B5.D0.BD.D1.82.D0.B0_.28exp.29"><span class="tocnumber">7</span> <span class="toctext">ÐкÑпонента (exp)</span></a></li> <li class="toclevel-1 tocsection-8"><a href="#.D0.A0.D0.B0.D1.81.D1.85.D0.BE.D0.B4_.28flow.29"><span class="tocnumber">8</span> <span class="toctext">РаÑход (flow)</span></a></li> <li class="toclevel-1 tocsection-9"><a href="#.D0.98.D1.82.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80_.28increment.29"><span class="tocnumber">9</span> <span class="toctext">Итератор (increment)</span></a></li> <li class="toclevel-1 tocsection-10"><a href="#.D0.97.D0.B0.D0.B4.D0.B5.D1.80.D0.B6.D0.BA.D0.B0_.28lag.29"><span class="tocnumber">10</span> <span class="toctext">Задержка (lag)</span></a></li> <li class="toclevel-1 tocsection-11"><a href="#.D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B5_.D1.83.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.28mult.29"><span class="tocnumber">11</span> <span class="toctext">ПроÑтое умножение (mult)</span></a></li> <li class="toclevel-1 tocsection-12"><a href="#.D0.A3.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8_.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.28multDiv.29"><span class="tocnumber">12</span> <span class="toctext">Умножение и деление (multDiv)</span></a></li> <li class="toclevel-1 tocsection-13"><a href="#.D0.9F.D0.98.D0.94_.D1.80.D0.B5.D0.B3.D1.83.D0.BB.D1.8F.D1.82.D0.BE.D1.80_.28pid.29"><span class="tocnumber">13</span> <span class="toctext"><span>ПИД регулÑтор (pid)</span></span></a></li> <li class="toclevel-1 tocsection-14"><a href="#.D0.A1.D1.82.D0.B5.D0.BF.D0.B5.D0.BD.D1.8C_.28pow.29"><span class="tocnumber">14</span> <span class="toctext">Степень (pow)</span></a></li> <li class="toclevel-1 tocsection-15"><a href="#.D0.92.D1.8B.D0.B1.D0.BE.D1.80_.28select.29"><span class="tocnumber">15</span> <span class="toctext">Выбор (select)</span></a></li> <li class="toclevel-1 tocsection-16"><a href="#.D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B9_.D1.81.D1.83.D0.BC.D0.BC.D0.B0.D1.82.D0.BE.D1.80_.28sum.29"><span class="tocnumber">16</span> <span class="toctext">ПроÑтой Ñумматор (sum)</span></a></li> <li class="toclevel-1 tocsection-17"><a href="#.D0.A1.D1.83.D0.BC.D0.BC.D0.B0_.D1.81_.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5.D0.BC_.28sum_div.29"><span class="tocnumber">17</span> <span class="toctext">Сумма Ñ Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ (sum_div)</span></a></li> <li class="toclevel-1 tocsection-18"><a href="#.D0.A1.D1.83.D0.BC.D0.BC.D0.B0_.D0.B8_.D1.83.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.28sum_mult.29"><span class="tocnumber">18</span> <span class="toctext">Сумма и умножение (sum_mult)</span></a></li> <li class="toclevel-1 tocsection-19"><a href="#API_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F"><span class="tocnumber">19</span> <span class="toctext">API пользовательÑкого программированиÑ</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.A1.D0.B8.D0.B3.D0.BD.D0.B0.D0.BB_.28alarm.29"><span class="mw-headline-number">1</span> Сигнал (alarm)</span></h2> <p><i>ОпиÑание:</i> УÑтановка признака Ñигнализации в Ñлучае выхода Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ за указанную границу.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = if(val>max || val<min) true; else false;</pre> <h2><span class="mw-headline" id=".D0.A3.D1.81.D0.BB.D0.BE.D0.B2.D0.B8.D0.B5_.27.3C.27_.28cond_lt.29"><span class="mw-headline-number">2</span> УÑловие '<' (cond_lt)</span></h2> <p><i>ОпиÑание:</i> ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ ÑоглаÑно уÑловию "меньше".<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = if(in1<(in2_1*in2_2*in2_3*in2_4)) in3_1*in3_2*in3_3*in3_4; else in4_1*in4_2*in4_3*in4_4;</pre> <h2><span class="mw-headline" id=".D0.A3.D1.81.D0.BB.D0.BE.D0.B2.D0.B8.D0.B5_.27.3E.27_.28cond_gt.29"><span class="mw-headline-number">3</span> УÑловие '>' (cond_gt)</span></h2> <p><i>ОпиÑание:</i> ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ ÑоглаÑно уÑловию "больше".<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = if(in1>(in2_1*in2_2*in2_3*in2_4)) in3_1*in3_2*in3_3*in3_4; else in4_1*in4_2*in4_3*in4_4;</pre> <h2><span class="mw-headline" id=".D0.9F.D0.BE.D0.BB.D0.BD.D0.BE.D0.B5_.D1.83.D1.81.D0.BB.D0.BE.D0.B2.D0.B8.D0.B5_.28cond_full.29"><span class="mw-headline-number">4</span> Полное уÑловие (cond_full)</span></h2> <p><i>ОпиÑание:</i> ÐŸÐ¾Ð»Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° уÑÐ»Ð¾Ð²Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ, меньше и равно.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = if(in1<(in2_1*in2_2*in2_3*in2_4)) in3_1*in3_2*in3_3*in3_4; else if( in1>(in4_1*in4_2*in4_3*in4_4) in5_1*in5_2*in5_3*in5_4; else in6_1*in6_2*in6_3*in6_4;</pre> <h2><span class="mw-headline" id=".D0.94.D0.B8.D1.81.D0.BA.D1.80.D0.B5.D1.82.D0.BD.D1.8B.D0.B9_.D0.B1.D0.BB.D0.BE.D0.BA_.28digitBlock.29"><span class="mw-headline-number">5</span> ДиÑкретный блок (digitBlock)</span></h2> <p><i>ОпиÑание:</i> Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ñодержит алгоритм ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñборками диÑкретных Ñигналов Ð´Ð»Ñ Ð·Ð°Ð´Ð²Ð¸Ð¶ÐµÐº и наÑоÑов, Ñодержащих: признаки "Открыт", "Закрыт" и команды "Открыть", "Закрыть", "Стоп". Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ работу Ñ Ð¸Ð¼Ð¿ÑƒÐ»ÑŒÑными командами, Ñ‚.е. может Ñнимать Ñигнал через указанный промежуток времени.<br /> <i>Параметры:</i> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Параметр </th> <th> Тип </th> <th> Режим </th></tr> <tr> <td> cmdOpen </td> <td> Команда "Открыть" </td> <td> ЛогичеÑкий </td> <td> Выход </td></tr> <tr> <td> cmdClose </td> <td> Команда "Закрыть" </td> <td> ЛогичеÑкий </td> <td> Выход </td></tr> <tr> <td> cmdStop </td> <td> Команда "Стоп" </td> <td> ЛогичеÑкий </td> <td> Выход </td></tr> <tr> <td> stOpen </td> <td> СотоÑние "Открыт" </td> <td> ЛогичеÑкий </td> <td> Вход </td></tr> <tr> <td> stClose </td> <td> СоÑтоÑние "Закрыт" </td> <td> ЛогичеÑкий </td> <td> Вход </td></tr> <tr> <td> tCmd </td> <td> Ð§Ð°Ñ ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸, Ñекунд </td> <td> Целый </td> <td> Вход </td></tr> <tr> <td> frq </td> <td> ЧаÑтота обчиÑленнÑ, Гц </td> <td> Целый </td> <td> Вход </td></tr></table> <h2><span class="mw-headline" id=".D0.94.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.28div.29"><span class="mw-headline-number">6</span> Деление (div)</span></h2> <p><i>ОпиÑание:</i> Производит деление Ñборок переменных.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = (in1_1*in1_2*in1_3*in1_4*in1_5 + in2_1*in2_2*in2_3*in2_4*in2_5 + in3) / (in4_1*in4_2*in4_3*in4_4*in4_5 + in5_1*in5_2*in5_3*in5_4*in5_5 + in6);</pre> <h2><span class="mw-headline" id=".D0.AD.D0.BA.D1.81.D0.BF.D0.BE.D0.BD.D0.B5.D0.BD.D1.82.D0.B0_.28exp.29"><span class="mw-headline-number">7</span> ÐкÑпонента (exp)</span></h2> <p><i>ОпиÑание:</i> ВычиÑление ÑкÑпоненты над группой переменных.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = exp (in1_1*in1_2*in1_3*in1_4*in1_5 + (in2_1*in2_2*in2_3*in2_4*in2_5+in3) / (in4_1*in4_2*in4_3*in4_4*in4_5+in5) )</pre> <h2><span class="mw-headline" id=".D0.A0.D0.B0.D1.81.D1.85.D0.BE.D0.B4_.28flow.29"><span class="mw-headline-number">8</span> РаÑход (flow)</span></h2> <p><i>ОпиÑание:</i> ВычиÑление раÑхода газа.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> f = K1*((K3+K4*x)^K2);</pre> <h2><span class="mw-headline" id=".D0.98.D1.82.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80_.28increment.29"><span class="mw-headline-number">9</span> Итератор (increment)</span></h2> <p><i>ОпиÑание:</i> Итерационное вычиÑление Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ приращениÑ, коÑффициент Ð¿Ñ€Ð¸Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… направлений различный.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = if( in1 > in2 ) in2 + in3*(in1-in2); else in2 - in4*(in2-in1);</pre> <h2><span class="mw-headline" id=".D0.97.D0.B0.D0.B4.D0.B5.D1.80.D0.B6.D0.BA.D0.B0_.28lag.29"><span class="mw-headline-number">10</span> Задержка (lag)</span></h2> <p><i>ОпиÑание:</i> Задержка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹, практичеÑки Ñто фильтр без привÑзки ко времени.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> y = y - Klag*( y - x );</pre> <h2><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B5_.D1.83.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.28mult.29"><span class="mw-headline-number">11</span> ПроÑтое умножение (mult)</span></h2> <p><i>ОпиÑание:</i> ПроÑтое умножение Ñ Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = (in1_1*in1_2*in1_3*in1_4*in1_5*in1_6)/ (in2_1*in2_2*in2_3*in2_4);</pre> <h2><span class="mw-headline" id=".D0.A3.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8_.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.28multDiv.29"><span class="mw-headline-number">12</span> Умножение и деление (multDiv)</span></h2> <p><i>ОпиÑание:</i> Разветвленное умножение и деление.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = in1_1*in1_2*in1_3*in1_4*in1_5* (in2_1*in2_2*in2_3*in2_4*in2_5+(in3_1*in3_2*in3_3*in3_4*in3_5)/ (in4_1*in4_2*in4_3*in4_4*in4_5));</pre> <h2><span class="mw-headline" id=".D0.9F.D0.98.D0.94_.D1.80.D0.B5.D0.B3.D1.83.D0.BB.D1.8F.D1.82.D0.BE.D1.80_.28pid.29"><span class="mw-headline-number">13</span> <span id="PID" title="#PID">ПИД регулÑтор (pid)</span></span></h2> <p><i>ОпиÑание:</i> Пропорционально-интегрально-дифференциальный регулÑтор.<br /> <i>Параметры:</i> </p> <table class="wikitable"> <tr> <th> Идентификатор </th> <th> Параметр </th> <th> Тип </th> <th> Режим </th> <th> По умолчанию </th></tr> <tr> <td> var </td> <td> ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> sp </td> <td> Задание </td> <td> ВещеÑтвен. </td> <td> Выход </td> <td> 0 </td></tr> <tr> <td> max </td> <td> МакÑимум шкалы </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 100 </td></tr> <tr> <td> min </td> <td> Минимум шкалы </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> manIn </td> <td> Ручной ввод, % </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> out </td> <td> Выход, % </td> <td> ВещеÑтвен. </td> <td> Возврат </td> <td> 0 </td></tr> <tr> <td> auto </td> <td> Режим Ðвтомат </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> casc </td> <td> Режим КаÑкад </td> <td> ЛогичеÑкий </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> Kp </td> <td> Kп </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 1 </td></tr> <tr> <td> Ti </td> <td> Ти, миллиÑекунды </td> <td> Целый </td> <td> Вход </td> <td> 1000 </td></tr> <tr> <td> Kd </td> <td> Kд </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 1 </td></tr> <tr> <td> Td </td> <td> Тд, миллиÑекунды </td> <td> Целый </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> Tzd </td> <td> Тд задержка, миллиÑекунды </td> <td> Целый </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> Hup </td> <td> ВерхнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° выхода, % </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 100 </td></tr> <tr> <td> Hdwn </td> <td> ÐижнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° выхода, % </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> Zi </td> <td> ÐечувÑтвительноÑÑ‚ÑŒ, % </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 1 </td></tr> <tr> <td> followSp </td> <td> Следить задание за переменной в ручном режиме </td> <td>ЛогичеÑкий </td> <td> Вход </td> <td> 1 </td></tr> <tr> <td> K1 </td> <td> К входа 1 </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> in1 </td> <td> Вход 1 </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> K2 </td> <td> К входа 2 </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> in2 </td> <td> Вход 2 </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> K3 </td> <td> К входа 3 </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> in3 </td> <td> Вход 3 </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> K4 </td> <td> К входа 4 </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> in4 </td> <td> Вход 4 </td> <td> ВещеÑтвен. </td> <td> Вход </td> <td> 0 </td></tr> <tr> <td> f_frq </td> <td> ЧаÑтота вычиÑлениÑ, Гц </td> <td> ВещеÑтвенный </td> <td> Вход </td> <td> 1 </td></tr></table> <p><i>Структура:</i><br /> <a class="image" href="http://oscada.org/wiki/File:FLibComplex1_PID.png"><img alt="FLibComplex1 PID.png" height="319" src="../../en/files/FLibComplex1_PID.png" width="800" /></a> </p> <h2><span class="mw-headline" id=".D0.A1.D1.82.D0.B5.D0.BF.D0.B5.D0.BD.D1.8C_.28pow.29"><span class="mw-headline-number">14</span> Степень (pow)</span></h2> <p><i>ОпиÑание:</i> Возведение в Ñтепень.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = (in1_1*in1_2*in1_3*in1_4*in1_5)^ (in2_1*in2_2*in2_3*in2_4*in2_5 + (in3_1*in3_2*in3_3*in3_4*in3_5)/ (in4_1*in4_2*in4_3*in4_4*in4_5));</pre> <h2><span class="mw-headline" id=".D0.92.D1.8B.D0.B1.D0.BE.D1.80_.28select.29"><span class="mw-headline-number">15</span> Выбор (select)</span></h2> <p><i>ОпиÑание:</i> Выбор одного из четырёх вариантов.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = if(sel = 1) in1_1*in1_2*in1_3*in1_4; if(sel = 2) in2_1*in2_2*in2_3*in2_4; if(sel = 3) in3_1*in3_2*in3_3*in3_4; if(sel = 4) in4_1*in4_2*in4_3*in4_4;</pre> <h2><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B9_.D1.81.D1.83.D0.BC.D0.BC.D0.B0.D1.82.D0.BE.D1.80_.28sum.29"><span class="mw-headline-number">16</span> ПроÑтой Ñумматор (sum)</span></h2> <p><i>ОпиÑание:</i> ПроÑтое Ñуммирование Ñ ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = in1_1*in1_2+in2_1*in2_2+in3_1*in3_2+in4_1*in4_2 + in5_1*in5_2+in6_1*in6_2+in7_1*in7_2+in8_1*in8_2;</pre> <h2><span class="mw-headline" id=".D0.A1.D1.83.D0.BC.D0.BC.D0.B0_.D1.81_.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5.D0.BC_.28sum_div.29"><span class="mw-headline-number">17</span> Сумма Ñ Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ (sum_div)</span></h2> <p><i>ОпиÑание:</i> Суммирование Ñ Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ группы значений.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = in1_1*in1_2*(in1_3+in1_4/in1_5) + in2_1*in2_2*(in2_3+in2_4/in2_5) + in3_1*in3_2*(in3_3+in3_4/in3_5) + in4_1*in4_2*(in4_3+in4_4/in4_5);</pre> <h2><span class="mw-headline" id=".D0.A1.D1.83.D0.BC.D0.BC.D0.B0_.D0.B8_.D1.83.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.28sum_mult.29"><span class="mw-headline-number">18</span> Сумма и умножение (sum_mult)</span></h2> <p><i>ОпиÑание:</i> Сумма Ñ ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ группы значений.<br /> <i>Формула:</i> </p> <pre style="white-space: pre-wrap;"> out = in1_1*in1_2*(in1_3*in1_4+in1_5) + in2_1*in2_2*(in2_3*in2_4+in2_5) + in3_1*in3_2*(in3_3*in3_4+in3_5) + in4_1*in4_2*(in4_3*in4_4+in4_5);</pre> <h2><span class="mw-headline" id="API_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">19</span> API пользовательÑкого программированиÑ</span></h2> <p>Модуль, как объект, предоÑтавлÑÑŽÑ‚ функции пользовательÑкого программированиÑ. </p><p><b>Объект "Библиотека функций" (SYS.Special.FLibComplex1)</b> </p> <ul><li> <i>ElTp {funcID}(ElTp prm1, ...)</i> — вызов функции библиотеки <i>{funcID}</i>. Возвращает результат вызываемой функции.</li></ul> <p><b>Объект "ПользовательÑÐºÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ" (SYS.Special.FLibComplex1["funcID"])</b> </p> <ul><li> <i>ElTp call(ElTp prm1, ...)</i> — вызов данной функции Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ <i><prm{N}></i>. Возвращает результат вызываемой функции.</li></ul> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Modules/FLibComplex1/ru">Modules/FLibComplex1/ru</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body> </html>