<?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="uk">Модулі/FLibComplex1</h1>
		</div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="uk"><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-Modules%2FFLibComplex1&amp;action=page&amp;filter=&amp;language=uk" 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>&nbsp;• ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/FLibComplex1.html" title="Модули/FLibComplex1 (100% translated)">mRussian</a>&nbsp;• ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">Українська</span></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.D0.BC.D0.BE.D0.B2.D0.B0_.27.3C.27_.28cond_lt.29"><span class="tocnumber">2</span> <span class="toctext">Умова '&lt;' (cond_lt)</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#.D0.A3.D0.BC.D0.BE.D0.B2.D0.B0_.27.3E.27_.28cond_gt.29"><span class="tocnumber">3</span> <span class="toctext">Умова '&gt;' (cond_gt)</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#.D0.9F.D0.BE.D0.B2.D0.BD.D0.B0_.D1.83.D0.BC.D0.BE.D0.B2.D0.B0_.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.D0.B8.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.D1.96.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_.28div.29"><span class="tocnumber">6</span> <span class="toctext">Ділення (div)</span></a></li>
<li class="toclevel-1 tocsection-7"><a href="#.D0.95.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.92.D0.B8.D1.82.D1.80.D0.B0.D1.82.D0.B8_.28flow.29"><span class="tocnumber">8</span> <span class="toctext">Витрати (flow)</span></a></li>
<li class="toclevel-1 tocsection-9"><a href="#.D0.86.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.D1.82.D1.80.D0.B8.D0.BC.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.B5_.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D1.8F_.28mult.29"><span class="tocnumber">11</span> <span class="toctext">Просте множення (mult)</span></a></li>
<li class="toclevel-1 tocsection-12"><a href="#.D0.9C.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D1.8F_.D1.82.D0.B0_.D0.B4.D1.96.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_.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.86.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.D1.83.D0.BF.D1.96.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.D0.B8.D0.B1.D1.96.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.B8.D0.B9_.D1.81.D1.83.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.B0_.D1.82.D0.B0_.D0.B4.D1.96.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_.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.B0_.D1.82.D0.B0_.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D1.8F_.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.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.86.D1.8C.D0.BA.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.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&gt;max || val&lt;min) true; else false;</pre>
<h2><span class="mw-headline" id=".D0.A3.D0.BC.D0.BE.D0.B2.D0.B0_.27.3C.27_.28cond_lt.29"><span class="mw-headline-number">2</span> Умова '&lt;' (cond_lt)</span></h2>
<p><i>Опис:</i> Операція розгалуження відповідно до умови "менше".<br />
<i>Формула:</i> 
</p>
<pre style="white-space: pre-wrap;">
out = if(in1&lt;(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.D0.BC.D0.BE.D0.B2.D0.B0_.27.3E.27_.28cond_gt.29"><span class="mw-headline-number">3</span> Умова '&gt;' (cond_gt)</span></h2>
<p><i>Опис:</i> Операція розгалуження відповідно до умови "більше".<br />
<i>Формула:</i>
</p>
<pre style="white-space: pre-wrap;">
out = if(in1&gt;(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.B2.D0.BD.D0.B0_.D1.83.D0.BC.D0.BE.D0.B2.D0.B0_.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&lt;(in2_1*in2_2*in2_3*in2_4)) in3_1*in3_2*in3_3*in3_4;
      else if( in1&gt;(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.D0.B8.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.D1.96.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_.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.95.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.92.D0.B8.D1.82.D1.80.D0.B0.D1.82.D0.B8_.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.86.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 &gt; in2 ) in2 + in3*(in1-in2); 
      else in2 - in4*(in2-in1);</pre>
<h2><span class="mw-headline" id=".D0.97.D0.B0.D1.82.D1.80.D0.B8.D0.BC.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.B5_.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D1.8F_.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.9C.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D1.8F_.D1.82.D0.B0_.D0.B4.D1.96.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_.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.86.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> Ручний ввід,&nbsp;% </td>
<td> Реальний </td>
<td> Вхід </td>
<td> 0
</td></tr>
<tr>
<td> out </td>
<td> Вихід,&nbsp;% </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> Верхня границя виходу,&nbsp;% </td>
<td> Реальний </td>
<td> Вхід </td>
<td> 100
</td></tr>
<tr>
<td> Hdwn </td>
<td> Нижня границя виходу,&nbsp;% </td>
<td> Реальний </td>
<td> Вхід </td>
<td> 0
</td></tr>
<tr>
<td> Zi </td>
<td> Нечутливість,&nbsp;% </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.D1.83.D0.BF.D1.96.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.D0.B8.D0.B1.D1.96.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.B8.D0.B9_.D1.81.D1.83.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.B0_.D1.82.D0.B0_.D0.B4.D1.96.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_.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.B0_.D1.82.D0.B0_.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D1.8F_.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.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.86.D1.8C.D0.BA.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.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>&lt;prm{N}&gt;</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/uk">Modules/FLibComplex1/uk</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>