<?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>Модулі/FLibSYS - 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">Модулі/FLibSYS</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%2FFLibSYS&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/FLibSYS" title="Modules/FLibSYS">Modules/FLibSYS</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/FLibSYS.html" title="Modules/FLibSYS (100% translated)">English</a>&nbsp;• ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/FLibSYS.html" title="Модули/FLibSYS (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/FLibSYS.html" title="Special:MyLanguage/Modules/FLibSYS">FLibSYS</a> </td>
<td> Системні функції
</td>
<td> 1.8 </td>
<td> GPL2 </td>
<td> spec_FLibSYS.so </td>
<td> en,uk,ru,de </td>
<td> x86,x86_64,ARM
</td>
<td> Спеціальні </td>
<td> Роман Савоченко </td>
<td> Надає бібліотеку системних функцій середовища програмування користувача OpenSCADA.
</td></tr></table>
<div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#.D0.97.D0.B0.D0.B3.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.BD.D1.96_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97"><span class="tocnumber">1</span> <span class="toctext">Загальносистемні функції</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="#SYS:_.D0.92.D0.B8.D0.BA.D0.BB.D0.B8.D0.BA_.28sysCall.29"><span class="tocnumber">1.1</span> <span class="toctext"><span>SYS: Виклик (sysCall)</span></span></a></li>
<li class="toclevel-2 tocsection-3"><a href="#SYS:_.D0.92.D0.B2.D1.96.D0.B4.2F.D0.92.D0.B8.D0.B2.D1.96.D0.B4_.28IO.29"><span class="tocnumber">1.2</span> <span class="toctext"><span>SYS: Ввід/Вивід (IO)</span></span></a>
<ul>
<li class="toclevel-3 tocsection-4"><a href="#IO_.D0.BE.D0.B1.27.D1.94.D0.BA.D1.82"><span class="tocnumber">1.2.1</span> <span class="toctext">IO об'єкт</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-5"><a href="#DB:_SQL_.D0.B7.D0.B0.D0.BF.D0.B8.D1.82_.28dbReqSQL.29"><span class="tocnumber">1.3</span> <span class="toctext"><span>DB: SQL запит (dbReqSQL)</span></span></a></li>
<li class="toclevel-2 tocsection-6"><a href="#XML:_.D0.92.D1.83.D0.B7.D0.BE.D0.BB_.28xmlNode.29"><span class="tocnumber">1.4</span> <span class="toctext"><span>XML: Вузол (xmlNode)</span></span></a></li>
<li class="toclevel-2 tocsection-7"><a href="#XML:_.D0.97.D0.B0.D0.BF.D0.B8.D1.82_.D1.96.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.83_.D0.BA.D0.B5.D1.80.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.28xmlCntrReq.29"><span class="tocnumber">1.5</span> <span class="toctext"><span>XML: Запит інтерфейсу керування (xmlCntrReq)</span></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-8"><a href="#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97_.D1.80.D0.BE.D0.B1.D0.BE.D1.82.D0.B8_.D0.B7_.D1.87.D0.B0.D1.81.D0.BE.D0.BC"><span class="tocnumber">2</span> <span class="toctext">Функції роботи з часом</span></a>
<ul>
<li class="toclevel-2 tocsection-9"><a href="#Time:_.D0.A7.D0.B0.D1.81_.28tmTime.29"><span class="tocnumber">2.1</span> <span class="toctext"><span>Time: Час (tmTime)</span></span></a></li>
<li class="toclevel-2 tocsection-10"><a href="#Time:_.D0.94.D0.B0.D1.82.D0.B0_.D1.82.D0.B0_.D1.87.D0.B0.D1.81_.28tmDate.29"><span class="tocnumber">2.2</span> <span class="toctext"><span>Time: Дата та час (tmDate)</span></span></a></li>
<li class="toclevel-2 tocsection-11"><a href="#Time:_.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA_.D1.87.D0.B0.D1.81.D1.83_.28tmFStr.29"><span class="tocnumber">2.3</span> <span class="toctext"><span>Time: Рядок часу (tmFStr)</span></span></a></li>
<li class="toclevel-2 tocsection-12"><a href="#Time:_.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_.D1.87.D0.B0.D1.81_.28tmStrPTime.29"><span class="tocnumber">2.4</span> <span class="toctext"><span>Time: Рядок у час (tmStrPTime)</span></span></a></li>
<li class="toclevel-2 tocsection-13"><a href="#Time:_.D0.9F.D0.BB.D0.B0.D0.BD.D1.83.D0.B2.D0.B0.D1.82.D0.B8_.D1.87.D0.B0.D1.81_.D0.B7.D0.B0_CRON_.28tmCron.29"><span class="tocnumber">2.5</span> <span class="toctext"><span>Time: Планувати час за CRON (tmCron)</span></span></a></li>
<li class="toclevel-2 tocsection-14"><a href="#Time:_.D1.81.D0.BE.D0.BD_.28tmSleep.29"><span class="tocnumber">2.6</span> <span class="toctext"><span>Time: сон (tmSleep)</span></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-15"><a href="#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97_.D1.80.D0.BE.D0.B1.D0.BE.D1.82.D0.B8_.D0.B7_.D1.80.D1.8F.D0.B4.D0.BA.D0.B0.D0.BC.D0.B8"><span class="tocnumber">3</span> <span class="toctext">Функції роботи з рядками</span></a>
<ul>
<li class="toclevel-2 tocsection-16"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.9E.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D1.82.D0.B8_.D1.80.D0.BE.D0.B7.D0.BC.D1.96.D1.80_.28strSize.29"><span class="tocnumber">3.1</span> <span class="toctext"><span>Рядок: Отримати розмір (strSize)</span></span></a></li>
<li class="toclevel-2 tocsection-17"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.9E.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D1.82.D0.B8_.D1.87.D0.B0.D1.81.D1.82.D0.B8.D0.BD.D1.83_.D1.80.D1.8F.D0.B4.D0.BA.D0.B0_.28strSubstr.29"><span class="tocnumber">3.2</span> <span class="toctext"><span>Рядок: Отримати частину рядка (strSubstr)</span></span></a></li>
<li class="toclevel-2 tocsection-18"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.92.D1.81.D1.82.D0.B0.D0.B2.D0.B8.D1.82.D0.B8_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_.D1.96.D0.BD.D1.88.D0.B8.D0.B9_.28strInsert.29"><span class="tocnumber">3.3</span> <span class="toctext"><span>Рядок: Вставити рядок у інший (strInsert)</span></span></a></li>
<li class="toclevel-2 tocsection-19"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.97.D0.B0.D0.BC.D1.96.D0.BD.D0.B8.D1.82.D0.B8_.D1.87.D0.B0.D1.81.D1.82.D0.B8.D0.BD.D1.83_.D1.80.D1.8F.D0.B4.D0.BA.D0.B0_.D1.96.D0.BD.D1.88.D0.B8.D0.BC_.28strReplace.29"><span class="tocnumber">3.4</span> <span class="toctext"><span>Рядок: Замінити частину рядка іншим (strReplace)</span></span></a></li>
<li class="toclevel-2 tocsection-20"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D0.BE.D0.B7.D1.96.D0.B1.D1.80.D0.B0.D1.82.D0.B8_.D0.B7.D0.B0_.D1.80.D0.BE.D0.B7.D0.B4.D1.96.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.D0.BE.D0.BC_.28strParse.29"><span class="tocnumber">3.5</span> <span class="toctext"><span>Рядок: Розібрати за роздільником (strParse)</span></span></a></li>
<li class="toclevel-2 tocsection-21"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D0.BE.D0.B7.D1.96.D0.B1.D1.80.D0.B0.D1.82.D0.B8_.D1.88.D0.BB.D1.8F.D1.85_.28strParsePath.29"><span class="tocnumber">3.6</span> <span class="toctext"><span>Рядок: Розібрати шлях (strParsePath)</span></span></a></li>
<li class="toclevel-2 tocsection-22"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A8.D0.BB.D1.8F.D1.85_.D1.83_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B7_.D1.80.D0.BE.D0.B7.D0.B4.D1.96.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.D0.BE.D0.BC_.28strPath2Sep.29"><span class="tocnumber">3.7</span> <span class="toctext"><span>Рядок: Шлях у рядок з роздільником (strPath2Sep)</span></span></a></li>
<li class="toclevel-2 tocsection-23"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.9A.D0.BE.D0.B4.D1.83.D0.B2.D0.B0.D1.82.D0.B8_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_HTML_.28strEnc2HTML.29"><span class="tocnumber">3.8</span> <span class="toctext"><span>Рядок: Кодувати рядок у HTML (strEnc2HTML)</span></span></a></li>
<li class="toclevel-2 tocsection-24"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.9A.D0.BE.D0.B4.D1.83.D0.B2.D0.B0.D1.82.D0.B8_.D1.82.D0.B5.D0.BA.D1.81.D1.82_.D1.83_.D0.B1.D1.96.D0.BD.D0.B0.D1.80.D0.BD.D0.B8.D0.B9_.D0.B2.D0.B8.D0.B3.D0.BB.D1.8F.D0.B4_.28strEnc2Bin.29"><span class="tocnumber">3.9</span> <span class="toctext"><span>Рядок: Кодувати текст у бінарний вигляд (strEnc2Bin)</span></span></a></li>
<li class="toclevel-2 tocsection-25"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.94.D0.B5.D0.BA.D0.BE.D0.B4.D1.83.D0.B2.D0.B0.D1.82.D0.B8_.D1.82.D0.B5.D0.BA.D1.81.D1.82_.D0.B7_.D0.B1.D1.96.D0.BD.D0.B0.D1.80.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B2.D0.B8.D0.B3.D0.BB.D1.8F.D0.B4.D1.83_.28strDec4Bin.29"><span class="tocnumber">3.10</span> <span class="toctext"><span>Рядок: Декодувати текст з бінарного вигляду (strDec4Bin)</span></span></a></li>
<li class="toclevel-2 tocsection-26"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.B5_.D1.83_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.28real2str.29"><span class="tocnumber">3.11</span> <span class="toctext"><span>Рядок: Реальне у рядок (real2str)</span></span></a></li>
<li class="toclevel-2 tocsection-27"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A6.D1.96.D0.BB.D0.B5_.D1.83_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.28int2str.29"><span class="tocnumber">3.12</span> <span class="toctext"><span>Рядок: Ціле у рядок (int2str)</span></span></a></li>
<li class="toclevel-2 tocsection-28"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_.D1.80.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.B5_.28str2real.29"><span class="tocnumber">3.13</span> <span class="toctext"><span>Рядок: Рядок у реальне (str2real)</span></span></a></li>
<li class="toclevel-2 tocsection-29"><a href="#.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_.D1.86.D1.96.D0.BB.D0.B5_.28str2int.29"><span class="tocnumber">3.14</span> <span class="toctext"><span>Рядок: Рядок у ціле (str2int)</span></span></a></li>
<li class="toclevel-2 tocsection-30"><a href="#.D0.A6.D0.B8.D0.BA.D0.BB.D1.96.D1.87.D0.BD.D0.B8.D0.B9_.D0.9D.D0.B0.D0.B4.D0.BC.D1.96.D1.80.D0.BD.D0.B8.D0.B9_.D0.9A.D0.BE.D0.B4_.28CRC.29"><span class="tocnumber">3.15</span> <span class="toctext"><span>Циклічний Надмірний Код (CRC)</span></span></a></li>
<li class="toclevel-2 tocsection-31"><a href="#.D0.97.D0.BB.D1.96.D0.BF.D0.BE.D0.BA_.D0.BF.D0.BE.D0.B2.D1.96.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_5_.28MD5.29"><span class="tocnumber">3.16</span> <span class="toctext"><span>Зліпок повідомлення 5 (MD5)</span></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-32"><a href="#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97_.D1.80.D0.BE.D0.B1.D0.BE.D1.82.D0.B8_.D0.B7_.D1.80.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.B8.D0.BC"><span class="tocnumber">4</span> <span class="toctext">Функції роботи з реальним</span></a>
<ul>
<li class="toclevel-2 tocsection-33"><a href="#Float:_.D0.9F.D0.BE.D0.B4.D1.96.D0.BB.D0.B8.D1.82.D0.B8_.D0.BD.D0.B0_.D1.81.D0.BB.D0.BE.D0.B2.D0.B0_.28floatSplitWord.29"><span class="tocnumber">4.1</span> <span class="toctext"><span>Float: Поділити на слова (floatSplitWord)</span></span></a></li>
<li class="toclevel-2 tocsection-34"><a href="#Float:_.D0.9F.D0.BE.D1.94.D0.B4.D0.BD.D0.B0.D1.82.D0.B8_.D1.81.D0.BB.D0.BE.D0.B2.D0.B0_.28floatMergeWord.29"><span class="tocnumber">4.2</span> <span class="toctext"><span>Float: Поєднати слова (floatMergeWord)</span></span></a></li>
<li class="toclevel-2 tocsection-35"><a href="#Float:_.D0.92.D0.B8.D0.BB.D1.83.D1.87.D0.B8.D1.82.D0.B8_.28floatExtract.29"><span class="tocnumber">4.3</span> <span class="toctext"><span>Float: Вилучити (floatExtract)</span></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-36"><a href="#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.96.D0.B2"><span class="tocnumber">5</span> <span class="toctext">Функції архівів</span></a>
<ul>
<li class="toclevel-2 tocsection-37"><a href="#Mess:_.D0.9E.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D0.BD.D0.BD.D1.8F_.28messGet.29"><span class="tocnumber">5.1</span> <span class="toctext"><span>Mess: Отримання (messGet)</span></span></a></li>
<li class="toclevel-2 tocsection-38"><a href="#Mess:_.D0.A0.D0.BE.D0.B7.D0.BC.D1.96.D1.81.D1.82.D0.B8.D1.82.D0.B8_.28messPut.29"><span class="tocnumber">5.2</span> <span class="toctext"><span>Mess: Розмістити (messPut)</span></span></a></li>
<li class="toclevel-2 tocsection-39"><a href="#Val:_.D0.90.D1.80.D1.85.D1.96.D0.B2_.28vArh.29"><span class="tocnumber">5.3</span> <span class="toctext"><span>Val: Архів (vArh)</span></span></a>
<ul>
<li class="toclevel-3 tocsection-40"><a href="#.D0.9E.D0.B1.27.D1.94.D0.BA.D1.82_VArchObj"><span class="tocnumber">5.3.1</span> <span class="toctext">Об'єкт VArchObj</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-41"><a href="#Val:_.D0.91.D1.83.D1.84.D0.B5.D1.80_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83_.28vArhBuf.29"><span class="tocnumber">5.4</span> <span class="toctext"><span>Val: Буфер архіву (vArhBuf)</span></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-42"><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">6</span> <span class="toctext">API користувацького програмування</span></a></li>
</ul>
</div>

<p>Модуль надає до OpenSCADA статичну бібліотеку функцій для використання у середовищі користувацького програмування та організації неординарних алгоритмів взаємодії.
</p><p>Для адресації до функцій цієї бібліотеки можна використовувати статичну адресу виклику <b>Special.FLibSYS.{Func}()</b> або динамічну <b>SYS.Special.FLibSYS["{Func}"].call()</b>, <b>SYS.Special.FLibSYS.{Func}()</b>. Де <i>{Func}</i> — ідентифікатор функції у бібліотеці.
</p>
<h2><span class="mw-headline" id=".D0.97.D0.B0.D0.B3.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.BD.D1.96_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97"><span class="mw-headline-number">1</span> Загальносистемні функції</span></h2>
<h3><span class="mw-headline" id="SYS:_.D0.92.D0.B8.D0.BA.D0.BB.D0.B8.D0.BA_.28sysCall.29"><span class="mw-headline-number">1.1</span> <span id="sysCall" title="#sysCall">SYS: Виклик (sysCall)</span></span></h3>
<p><i>Опис:</i> Здійснює виклик консольних команд ОС. Функція відкриває широкі можливості користувачу OpenSCADA, шляхом виклику будь-яких системних програм, утиліт та скриптів, а також отримання за посередництвом них доступу до величезного об'єму системних даних. Наприклад, команда "ls -l" поверне деталізований вміст робочої теки.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> com </td>
<td> Команда </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">test</span><span class="o">=</span><span class="nx">sysCall</span><span class="p">(</span><span class="s2">"ls -l"</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Example"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"Example: "</span><span class="o">+</span><span class="nx">test</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id="SYS:_.D0.92.D0.B2.D1.96.D0.B4.2F.D0.92.D0.B8.D0.B2.D1.96.D0.B4_.28IO.29"><span class="mw-headline-number">1.2</span> <span id="IO" title="#IO">SYS: Ввід/Вивід (IO)</span></span></h3>
<p><i>Опис:</i> Ввід/Вивід у: файл, строковий потік.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Об'єкт(IO) </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> name </td>
<td> Ім'я файлу або дані (для строкового потоку) </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> accs </td>
<td> Доступ до файлу (""-строковий потік;"r[+]"-читання;"w[+]"-запис з нуля;"a[+]"-додання;...) </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> mFormat </td>
<td> Формат даних машини ('n'-сист. порядок;'b'-BigEndian;'l'-LittleEndian) </td>
<td> Ціле </td>
<td> Вхід </td>
<td> "n"
</td></tr>
<tr>
<td> enc </td>
<td> Кодування рядку у файлі/потоці </td>
<td> Логічний </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h4><span class="mw-headline" id="IO_.D0.BE.D0.B1.27.D1.94.D0.BA.D1.82"><span class="mw-headline-number">1.2.1</span> IO об'єкт</span></h4>
<p>Значення:
</p>
<ul><li> <i>valType</i> — типи значень:
<ul><li> "uchar", "unsigned char", "char", "schar", "signed char";</li>
<li> "uint8";</li>
<li> "uint16", "ushort";</li>
<li> "uint32", "uint", "ulong";</li>
<li> "uint64";</li>
<li> "int8", "integer*1";</li>
<li> "int16", "short", "integer*2";</li>
<li> "int32", "int", "long", "integer*4", "integer";</li>
<li> "int64", "integer*8";</li>
<li> "float", "float32", "single", "real*4";</li>
<li> "double", "float64", "real*8", "real";</li></ul></li>
<li> <i>accs</i> — режим доступу та тип:
<ul><li> <i> — строковий потік;</i></li>
<li> 'r[+]' — читання;</li>
<li> 'w[+]' — запис з нуля;</li>
<li> 'a[+]' — додання.</li></ul></li>
<li> <i>mFormat</i> — формат даних машини:
<ul><li> 'n' — рідний;</li>
<li> 'l' — LittleEndian;</li>
<li> 'b' — BigEndian.</li></ul></li></ul>
<p>Властивості:
</p>
<ul><li> <i>length</i> — довжина потоку;</li>
<li> <i>pos</i> (w) — позиція читання/запису потоку.</li>
<li> <i>string</i> (w) — повне значення строкового потоку;</li>
<li> <i>mFormat</i> (w) — формат даних машини;</li>
<li> <i>stringEncode</i> (w) — кодування підрядків файлу/потоку.</li></ul>
<p>Функції:
</p>
<ul><li> <i>bool open(string name = "", string accs = "", string mFormat = "n", string enc = "");</i> — відкрити новий поток для рядка або файлу <i>name</i>.</li>
<li> <i>bool close();</i> — закрити поток.</li>
<li> <i>{string|int|real|Array[int|real]} read(string valType = "char", int cnt = -1, string mFormatEnc = "n|NoEnc");</i> — читати значення типу <i>valType</i> у кількості <i>cnt</i> для формату машини або вхідного кодування рядка <i>mFormatEnc</i>.</li>
<li> <i>{int|IO} {write|wr}({string|int|real|Array} vals, string valType = "char", string mFormatEnc = "n|NoEnc", int cnt = 1);</i> — записати значення <i>vals</i> для типу <i>valType</i> для формату машини або вхідного кодування рядка <i>mFormatEnc</i>, та повтору скалярних значень у кількості <i>cnt</i>.</li></ul>
<h3><span class="mw-headline" id="DB:_SQL_.D0.B7.D0.B0.D0.BF.D0.B8.D1.82_.28dbReqSQL.29"><span class="mw-headline-number">1.3</span> <span id="dbReqSQL" title="#dbReqSQL">DB: SQL запит (dbReqSQL)</span></span></h3>
<p><i>Опис:</i> Формування SQL-запиту <i>req</i> до БД <i>addr</i>, всередині (<i>trans</i>=true), назовні (<i>trans</i>=false) або без різниці (<i>trans</i>=EVAL) до транзакції. У випадку помилки її значення поміщається до властивості "err" результату.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Об'єкт(Масив) </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> addr </td>
<td> Адреса БД, "{TypeDB}.{DB}" </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> req </td>
<td> SQL-запит </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> trans </td>
<td> Транзакція </td>
<td> Логічний </td>
<td> Вхід </td>
<td> EVAL
</td></tr></table>
<h3><span class="mw-headline" id="XML:_.D0.92.D1.83.D0.B7.D0.BE.D0.BB_.28xmlNode.29"><span class="mw-headline-number">1.4</span> <span id="xmlNode" title="#xmlNode">XML: Вузол (xmlNode)</span></span></h3>
<p><i>Опис:</i> Створення об'єкту XML вузла.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Об'єкт(XMLNodeObj) </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> name </td>
<td> Ім'я </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="c1">//Створення об'єкту "get" вузла XML.</span>
<span class="nx">req</span> <span class="o">=</span> <span class="nx">xmlNode</span><span class="p">(</span><span class="s2">"get"</span><span class="p">);</span>
<span class="c1">//Створення  об'єкту "get" вузла XML із створенням атрибутів.</span>
<span class="c1">//sub_DAQ/mod_ModBus/cntr_1/prm_1 — шлях згідно структури проекту</span>
<span class="nx">req</span> <span class="o">=</span> <span class="nx">xmlNode</span><span class="p">(</span><span class="s2">"get"</span><span class="p">).</span><span class="nx">setAttr</span><span class="p">(</span><span class="s2">"path"</span><span class="p">,</span><span class="s2">"/sub_DAQ/mod_ModBus/cntr_1/prm_1/%2fprm%2fst%2fen"</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id="XML:_.D0.97.D0.B0.D0.BF.D0.B8.D1.82_.D1.96.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.83_.D0.BA.D0.B5.D1.80.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.28xmlCntrReq.29"><span class="mw-headline-number">1.5</span> <span id="xmlCntrReq" title="#xmlCntrReq">XML: Запит інтерфейсу керування (xmlCntrReq)</span></span></h3>
<p><i>Опис:</i> Запит щодо контролю програми, за XML. Звичайний запит записується у вигляді "<b>&lt;get path="/OPath/%2felem"/&gt;</b>". За визначенням станції здійснюється запит до вказаної зовнішньої станції.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> req </td>
<td> Запит </td>
<td> Об'єкт(XMLNodeObj) </td>
<td> Вихід </td>
<td>
</td></tr>
<tr>
<td> stat </td>
<td> Станція </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<p><i>Приклад (більше прикладів дивіться для <a href="../User_API.html#SYS" title="Special:MyLanguage/Documents/User API">аналогічної внутрішньої функції SYS.cntrReq()</a>):</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="c1">//Отримання ознаки "Ввімкнений/Вимкнений" параметру "1" контролеру "1" модуля "ModBus".</span>
<span class="c1">//sub_DAQ/mod_ModBus/cntr_1/prm_1 — шлях згідно до структури проекту</span>
<span class="nx">req</span> <span class="o">=</span> <span class="nx">xmlNode</span><span class="p">(</span><span class="s2">"get"</span><span class="p">).</span><span class="nx">setAttr</span><span class="p">(</span><span class="s2">"path"</span><span class="p">,</span><span class="s2">"/sub_DAQ/mod_ModBus/cntr_1/prm_1/%2fprm%2fst%2fen"</span><span class="p">);</span>
<span class="nx">rez</span> <span class="o">=</span> <span class="nx">xmlCntrReq</span><span class="p">(</span><span class="nx">req</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"Значення: "</span><span class="o">+</span><span class="nx">req</span><span class="p">.</span><span class="nx">text</span><span class="p">());</span>

<span class="c1">//Встановлення ознаки "Ввімкнений" параметру "1" контролеру "1" модуля "ModBus".</span>
<span class="nx">req</span> <span class="o">=</span> <span class="nx">xmlNode</span><span class="p">(</span><span class="s2">"set"</span><span class="p">).</span><span class="nx">setAttr</span><span class="p">(</span><span class="s2">"path"</span><span class="p">,</span><span class="s2">"/sub_DAQ/mod_ModBus/cntr_1/prm_1/%2fprm%2fst%2fen"</span><span class="p">).</span><span class="nx">setText</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="nx">rez</span> <span class="o">=</span> <span class="nx">xmlCntrReq</span><span class="p">(</span><span class="nx">req</span><span class="p">);</span>

<span class="c1">//Встановлення ознаки "Вимкнений" параметру "1" контролеру "1" модуля "ModBus".</span>
<span class="nx">req</span> <span class="o">=</span> <span class="nx">xmlNode</span><span class="p">(</span><span class="s2">"set"</span><span class="p">).</span><span class="nx">setAttr</span><span class="p">(</span><span class="s2">"path"</span><span class="p">,</span><span class="s2">"/sub_DAQ/mod_ModBus/cntr_1/prm_1/%2fprm%2fst%2fen"</span><span class="p">).</span><span class="nx">setText</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="nx">rez</span> <span class="o">=</span> <span class="nx">xmlCntrReq</span><span class="p">(</span><span class="nx">req</span><span class="p">);</span>
</pre></div>
<h2><span class="mw-headline" id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97_.D1.80.D0.BE.D0.B1.D0.BE.D1.82.D0.B8_.D0.B7_.D1.87.D0.B0.D1.81.D0.BE.D0.BC"><span class="mw-headline-number">2</span> Функції роботи з часом</span></h2>
<h3><span class="mw-headline" id="Time:_.D0.A7.D0.B0.D1.81_.28tmTime.29"><span class="mw-headline-number">2.1</span> <span id="tmTime" title="#tmTime">Time: Час (tmTime)</span></span></h3>
<p><i>Опис:</i> Повертає абсолютний час у секундах від епохи 1.1.1970 та мікросекунди у <i>usec</i>, якщо вказано таку зміну та її значення негативне.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> sec </td>
<td> Секунди </td>
<td> Цілий </td>
<td> Повернення </td>
<td> 0
</td></tr>
<tr>
<td> usec </td>
<td> Мікросекунди </td>
<td> Цілий </td>
<td> Вихід </td>
<td> -1
</td></tr></table>
<h3><span class="mw-headline" id="Time:_.D0.94.D0.B0.D1.82.D0.B0_.D1.82.D0.B0_.D1.87.D0.B0.D1.81_.28tmDate.29"><span class="mw-headline-number">2.2</span> <span id="tmDate" title="#tmDate">Time: Дата та час (tmDate)</span></span></h3>
<p><i>Опис:</i> Повна дата та час у секундах, хвилинах, годинах та інше, виходячи з абсолютного часу в секундах від епохи 1.1.1970.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> fullsec </td>
<td> Повні секунди </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 0
</td></tr>
<tr>
<td> sec </td>
<td> Секунди [0...59] </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr>
<tr>
<td> min </td>
<td> Хвилини [0...59] </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr>
<tr>
<td> hour </td>
<td> Години [0...23] </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr>
<tr>
<td> mday </td>
<td> День місяця [1...31] </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr>
<tr>
<td> month </td>
<td> Місяць [0...11] </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr>
<tr>
<td> year </td>
<td> Рік, від 1900 </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr>
<tr>
<td> wday </td>
<td> День тижня [0...6] </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr>
<tr>
<td> yday </td>
<td> День у року [0...365] </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr>
<tr>
<td> isdst </td>
<td> Літній час </td>
<td> Цілий </td>
<td> Вихід </td>
<td> 0
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">curMin</span><span class="o">=</span><span class="nx">curHour</span><span class="o">=</span><span class="nx">curDay</span><span class="o">=</span><span class="nx">curMonth</span><span class="o">=</span><span class="nx">curYear</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="nx">tmDate</span><span class="p">(</span><span class="nx">tmTime</span><span class="p">(),</span><span class="mi">0</span><span class="p">,</span><span class="nx">curMin</span><span class="p">,</span><span class="nx">curHour</span><span class="p">,</span><span class="nx">curDay</span><span class="p">,</span><span class="nx">curMonth</span><span class="p">,</span><span class="nx">curYear</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"Поточна хвилина: "</span><span class="o">+</span><span class="nx">curMin</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"Поточна година: "</span><span class="o">+</span><span class="nx">curHour</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"Поточний день: "</span><span class="o">+</span><span class="nx">curDay</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"Поточний місяць: "</span><span class="o">+</span><span class="nx">curMonth</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"test"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"Поточний рік: "</span><span class="o">+</span><span class="nx">curYear</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id="Time:_.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA_.D1.87.D0.B0.D1.81.D1.83_.28tmFStr.29"><span class="mw-headline-number">2.3</span> <span id="tmFStr" title="#tmFStr">Time: Рядок часу (tmFStr)</span></span></h3>
<p><i>Опис:</i> Отримання часу як форматований рядок. Запис формату відповідає POSIX-функції "strftime()".<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> val </td>
<td> Рядок дати та часу </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> sec </td>
<td> Секунди </td>
<td> Ціле </td>
<td> Вхід </td>
<td> 0
</td></tr>
<tr>
<td> form </td>
<td> Формат дати та часу </td>
<td> Рядок </td>
<td> Вхід </td>
<td>&nbsp;%Y-%m-%d&nbsp;%H:%M:%S
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">test</span> <span class="o">=</span> <span class="nx">tmFStr</span><span class="p">(</span><span class="nx">SYS</span><span class="p">.</span><span class="nx">time</span><span class="p">(),</span><span class="s2">"%d %m %Y"</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"tmFStr(): "</span><span class="o">+</span><span class="nx">test</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id="Time:_.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_.D1.87.D0.B0.D1.81_.28tmStrPTime.29"><span class="mw-headline-number">2.4</span> <span id="tmStrPTime" title="#tmStrPTime">Time: Рядок у час (tmStrPTime)</span></span></h3>
<p><i>Опис:</i> Перетворення строкового представлення дати та часу, за форматом <i>form</i>, у час в секундах з 01.01.1970. Наприклад, шаблону "%Y-%m-%d&nbsp;%H:%M:%S" відповідає час "2006-08-08 11:21:55". Опис формату шаблону можна отримати із документації на POSIX-функцію "strptime()".<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> sec </td>
<td> Секунди </td>
<td> Цілий </td>
<td> Повернення </td>
<td> 0
</td></tr>
<tr>
<td> str </td>
<td> Рядок дати та часу </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> form </td>
<td> Формат дати та часу </td>
<td> Рядок </td>
<td> Вхід </td>
<td>&nbsp;%Y-%m-%d&nbsp;%H:%M:%S
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">curMin</span><span class="o">=</span><span class="nx">curHour</span><span class="o">=</span><span class="nx">curDay</span><span class="o">=</span><span class="nx">curMonth</span><span class="o">=</span><span class="nx">curYear</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
<span class="nx">tmDate</span><span class="p">(</span><span class="nx">tmTime</span><span class="p">(),</span><span class="mi">0</span><span class="p">,</span><span class="nx">curMin</span><span class="p">,</span><span class="nx">curHour</span><span class="p">,</span><span class="nx">curDay</span><span class="p">,</span><span class="nx">curMonth</span><span class="p">,</span><span class="nx">curYear</span><span class="p">);</span>
<span class="nx">test</span> <span class="o">=</span> <span class="nx">tmStrPTime</span><span class="p">(</span><span class="s2">""</span><span class="o">+</span><span class="nx">curYear</span><span class="o">+</span><span class="s2">"-"</span><span class="o">+</span><span class="p">(</span><span class="nx">curMonth</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span><span class="s2">"-"</span><span class="o">+</span><span class="nx">curDay</span><span class="o">+</span><span class="s2">" 9:0:0"</span><span class="p">,</span><span class="s2">"%Y-%m-%d %H:%M:%S"</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s2">"tmStrPTime(): "</span><span class="o">+</span><span class="nx">test</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id="Time:_.D0.9F.D0.BB.D0.B0.D0.BD.D1.83.D0.B2.D0.B0.D1.82.D0.B8_.D1.87.D0.B0.D1.81_.D0.B7.D0.B0_CRON_.28tmCron.29"><span class="mw-headline-number">2.5</span> <span id="tmCron" title="#tmCron">Time: Планувати час за CRON (tmCron)</span></span></h3>
<p><i>Опис:</i> Планування часу за стандартом CRON, повертаючи спланований час починаючи від базового часу <i>base</i> або від поточного якщо базовий не вказаний.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> res </td>
<td> Результат, секунди </td>
<td> Цілий </td>
<td> Повернення </td>
<td> 0
</td></tr>
<tr>
<td> str </td>
<td> CRON </td>
<td> Рядок </td>
<td> Вхід </td>
<td> * * * * *
</td></tr>
<tr>
<td> base </td>
<td> Базовий час, секунди </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 0
</td></tr></table>
<h3><span class="mw-headline" id="Time:_.D1.81.D0.BE.D0.BD_.28tmSleep.29"><span class="mw-headline-number">2.6</span> <span id="tmSleep" title="#tmSleep">Time: сон (tmSleep)</span></span></h3>
<p><i>Опис:</i> Короткий сон від наносекунд та до STD_INTERF_TM (5 секунд).<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> res </td>
<td> Результат </td>
<td> Цілий </td>
<td> Повернення </td>
<td> 0
</td></tr>
<tr>
<td> tm </td>
<td> Час, секунди </td>
<td> Реальний </td>
<td> Вхід </td>
<td> 0
</td></tr></table>
<h2><span class="mw-headline" id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97_.D1.80.D0.BE.D0.B1.D0.BE.D1.82.D0.B8_.D0.B7_.D1.80.D1.8F.D0.B4.D0.BA.D0.B0.D0.BC.D0.B8"><span class="mw-headline-number">3</span> Функції роботи з рядками</span></h2>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.9E.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D1.82.D0.B8_.D1.80.D0.BE.D0.B7.D0.BC.D1.96.D1.80_.28strSize.29"><span class="mw-headline-number">3.1</span> <span id="strSize" title="#strSize">Рядок: Отримати розмір (strSize)</span></span></h3>
<p><i>Опис:</i> Отримання розміру рядка.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Цілий </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> str </td>
<td> Рядок </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="s2">"ReturnString: "</span><span class="o">+</span><span class="nx">strSize</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">));</span>
</pre></div>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.9E.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D1.82.D0.B8_.D1.87.D0.B0.D1.81.D1.82.D0.B8.D0.BD.D1.83_.D1.80.D1.8F.D0.B4.D0.BA.D0.B0_.28strSubstr.29"><span class="mw-headline-number">3.2</span> <span id="strSubstr" title="#strSubstr">Рядок: Отримати частину рядка (strSubstr)</span></span></h3>
<p><i>Опис:</i> Отримання частини рядка.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> str </td>
<td> Рядок </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> pos </td>
<td> Позиція </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 0
</td></tr>
<tr>
<td> n </td>
<td> Кількість </td>
<td> Цілий </td>
<td> Вхід </td>
<td> -1
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">test</span> <span class="o">=</span> <span class="nx">strSubstr</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">strSize</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"ReturnString: "</span><span class="o">+</span><span class="nx">test</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.92.D1.81.D1.82.D0.B0.D0.B2.D0.B8.D1.82.D0.B8_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_.D1.96.D0.BD.D1.88.D0.B8.D0.B9_.28strInsert.29"><span class="mw-headline-number">3.3</span> <span id="strInsert" title="#strInsert">Рядок: Вставити рядок у інший (strInsert)</span></span></h3>
<p><i>Опис:</i> Вставка рядку до іншого рядку.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> str </td>
<td> Рядок </td>
<td> Рядок </td>
<td> Вихід </td>
<td>
</td></tr>
<tr>
<td> pos </td>
<td> Позиція </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 0
</td></tr>
<tr>
<td> ins </td>
<td> Рядок для вставки </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.97.D0.B0.D0.BC.D1.96.D0.BD.D0.B8.D1.82.D0.B8_.D1.87.D0.B0.D1.81.D1.82.D0.B8.D0.BD.D1.83_.D1.80.D1.8F.D0.B4.D0.BA.D0.B0_.D1.96.D0.BD.D1.88.D0.B8.D0.BC_.28strReplace.29"><span class="mw-headline-number">3.4</span> <span id="strReplace" title="#strReplace">Рядок: Замінити частину рядка іншим (strReplace)</span></span></h3>
<p><i>Опис:</i> Заміна частини рядку іншим рядком.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> str </td>
<td> Рядок </td>
<td> Рядок </td>
<td> Вихід </td>
<td>
</td></tr>
<tr>
<td> pos </td>
<td> Позиція </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 0
</td></tr>
<tr>
<td> n </td>
<td> Кількість </td>
<td> Цілий </td>
<td> Вхід </td>
<td> -1
</td></tr>
<tr>
<td> repl </td>
<td> Рядок для заміни </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D0.BE.D0.B7.D1.96.D0.B1.D1.80.D0.B0.D1.82.D0.B8_.D0.B7.D0.B0_.D1.80.D0.BE.D0.B7.D0.B4.D1.96.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.D0.BE.D0.BC_.28strParse.29"><span class="mw-headline-number">3.5</span> <span id="strParse" title="#strParse">Рядок: Розібрати за роздільником (strParse)</span></span></h3>
<p><i>Опис:</i> Розбір рядка за роздільником.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> str </td>
<td> Рядок </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> lev </td>
<td> Рівень </td>
<td> Цілий </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> sep </td>
<td> Роздільник </td>
<td> Рядок </td>
<td> Вхід </td>
<td> "."
</td></tr>
<tr>
<td> off </td>
<td> Зміщення </td>
<td> Цілий </td>
<td> Вихід </td>
<td>
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">ExapleString</span> <span class="o">=</span> <span class="s2">"Приклад:123"</span><span class="p">;</span>
<span class="nx">test</span> <span class="o">=</span> <span class="nx">strParse</span><span class="p">(</span><span class="nx">ExapleString</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">":"</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"strParse(): "</span><span class="o">+</span><span class="nx">test</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D0.BE.D0.B7.D1.96.D0.B1.D1.80.D0.B0.D1.82.D0.B8_.D1.88.D0.BB.D1.8F.D1.85_.28strParsePath.29"><span class="mw-headline-number">3.6</span> <span id="strParsePath" title="#strParsePath">Рядок: Розібрати шлях (strParsePath)</span></span></h3>
<p><i>Опис:</i> Розбір шляху за елементами.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> path </td>
<td> Шлях </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> lev </td>
<td> Рівень </td>
<td> Цілий </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> off </td>
<td> Зміщення </td>
<td> Цілий </td>
<td> Вихід </td>
<td>
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">test</span> <span class="o">=</span> <span class="nx">strParsePath</span><span class="p">(</span><span class="nx">path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"/"</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"strParsePath(): "</span><span class="o">+</span><span class="nx">test</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A8.D0.BB.D1.8F.D1.85_.D1.83_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B7_.D1.80.D0.BE.D0.B7.D0.B4.D1.96.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.D0.BE.D0.BC_.28strPath2Sep.29"><span class="mw-headline-number">3.7</span> <span id="strPath2Sep" title="#strPath2Sep">Рядок: Шлях у рядок з роздільником (strPath2Sep)</span></span></h3>
<p><i>Опис:</i> Перетворення шляху у рядок за роздільником.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> src </td>
<td> Джерело </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> sep </td>
<td> Роздільник </td>
<td> Рядок </td>
<td> Вхід </td>
<td> "."
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="c1">//Перетворює значення "/ses_AGLKS/pg_so" атрибута "path" у значення "ses_AGLKS.pg_so"</span>
<span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">test</span> <span class="o">=</span> <span class="nx">strPath2Sep</span><span class="p">(</span><span class="nx">path</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"path: "</span><span class="o">+</span><span class="nx">path</span><span class="p">);</span>
<span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">"strPath2Sep(): "</span><span class="o">+</span><span class="nx">test</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.9A.D0.BE.D0.B4.D1.83.D0.B2.D0.B0.D1.82.D0.B8_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_HTML_.28strEnc2HTML.29"><span class="mw-headline-number">3.8</span> <span id="strEnc2HTML" title="#strEnc2HTML">Рядок: Кодувати рядок у HTML (strEnc2HTML)</span></span></h3>
<p><i>Опис:</i> Кодування рядку для використання у вихідних HTML.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> src </td>
<td> Джерело </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.9A.D0.BE.D0.B4.D1.83.D0.B2.D0.B0.D1.82.D0.B8_.D1.82.D0.B5.D0.BA.D1.81.D1.82_.D1.83_.D0.B1.D1.96.D0.BD.D0.B0.D1.80.D0.BD.D0.B8.D0.B9_.D0.B2.D0.B8.D0.B3.D0.BB.D1.8F.D0.B4_.28strEnc2Bin.29"><span class="mw-headline-number">3.9</span> <span id="strEnc2Bin" title="#strEnc2Bin">Рядок: Кодувати текст у бінарний вигляд (strEnc2Bin)</span></span></h3>
<p><i>Опис:</i> Кодування тексту у бінарний вигляд, для формату тексту &lt;00 A0 FA DE&gt;.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> src </td>
<td> Джерело </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.94.D0.B5.D0.BA.D0.BE.D0.B4.D1.83.D0.B2.D0.B0.D1.82.D0.B8_.D1.82.D0.B5.D0.BA.D1.81.D1.82_.D0.B7_.D0.B1.D1.96.D0.BD.D0.B0.D1.80.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B2.D0.B8.D0.B3.D0.BB.D1.8F.D0.B4.D1.83_.28strDec4Bin.29"><span class="mw-headline-number">3.10</span> <span id="strDec4Bin" title="#strDec4Bin">Рядок: Декодувати текст з бінарного вигляду (strDec4Bin)</span></span></h3>
<p><i>Опис:</i> Декодування тексту з бінарного вигляду, для формату тексту &lt;00 A0 FA DE&gt;.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> src </td>
<td> Джерело </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.B5_.D1.83_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.28real2str.29"><span class="mw-headline-number">3.11</span> <span id="real2str" title="#real2str">Рядок: Реальне у рядок (real2str)</span></span></h3>
<p><i>Опис:</i> Перетворення реального значення у формат рядку.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> val </td>
<td> Значення </td>
<td> Реальне </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> prc </td>
<td> Точність </td>
<td> Ціле </td>
<td> Вхід </td>
<td> 4
</td></tr>
<tr>
<td> tp </td>
<td> Тип </td>
<td> Рядок </td>
<td> Вхід </td>
<td> "f"
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A6.D1.96.D0.BB.D0.B5_.D1.83_.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.28int2str.29"><span class="mw-headline-number">3.12</span> <span id="int2str" title="#int2str">Рядок: Ціле у рядок (int2str)</span></span></h3>
<p><i>Опис:</i> Перетворення цілого значення у формат рядку.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> val </td>
<td> Значення </td>
<td> Ціле </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> base </td>
<td> База (8, 10, 16) </td>
<td> Ціле </td>
<td> Вхід </td>
<td> 10
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_.D1.80.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.B5_.28str2real.29"><span class="mw-headline-number">3.13</span> <span id="str2real" title="#str2real">Рядок: Рядок у реальне (str2real)</span></span></h3>
<p><i>Опис:</i> Перетворення значення рядку у формат реального.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Реальне </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> val </td>
<td> Значення </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A0.D1.8F.D0.B4.D0.BE.D0.BA:_.D0.A0.D1.8F.D0.B4.D0.BE.D0.BA_.D1.83_.D1.86.D1.96.D0.BB.D0.B5_.28str2int.29"><span class="mw-headline-number">3.14</span> <span id="str2int" title="#str2int">Рядок: Рядок у ціле (str2int)</span></span></h3>
<p><i>Опис:</i> Перетворення значення рядку у формат цілого.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Ціле </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> val </td>
<td> Значення </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> base </td>
<td> Основа (2...36) </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 0
</td></tr></table>
<h3><span class="mw-headline" id=".D0.A6.D0.B8.D0.BA.D0.BB.D1.96.D1.87.D0.BD.D0.B8.D0.B9_.D0.9D.D0.B0.D0.B4.D0.BC.D1.96.D1.80.D0.BD.D0.B8.D0.B9_.D0.9A.D0.BE.D0.B4_.28CRC.29"><span class="mw-headline-number">3.15</span> <span id="CRC" title="#CRC">Циклічний Надмірний Код (CRC)</span></span></h3>
<p><i>Опис:</i> Уніфікована та повна реалізація Циклічного Надмірного Коду для ширини 1-64 біт з нормальним поліномом, початковим CRC, вхідною та вихідною послідовністю, та XOR для виходу.<br />
Також підтримується попередня нотація цієї функції, де реверсивний поліном розміщується у позиції ширини <i>width</i>!<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Цілий </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> data </td>
<td> Дані </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> width </td>
<td> Ширина </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 16
</td></tr>
<tr>
<td> poly </td>
<td> Поліном </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 32773 (0x8005)
</td></tr>
<tr>
<td> init </td>
<td> Поч. значення </td>
<td> Цілий </td>
<td> Вхід </td>
<td> -1 (0xFFFFFFFFFFFFFFFF)
</td></tr>
<tr>
<td> RefIn </td>
<td> Послідовність входу </td>
<td> Логічний </td>
<td> Вхід </td>
<td> 1
</td></tr>
<tr>
<td> RefOut </td>
<td> Послідовність виходу </td>
<td> Логічний </td>
<td> Вхід </td>
<td> 1
</td></tr>
<tr>
<td> XorOut </td>
<td> XOR для виходу </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 0
</td></tr></table>
<h3><span class="mw-headline" id=".D0.97.D0.BB.D1.96.D0.BF.D0.BE.D0.BA_.D0.BF.D0.BE.D0.B2.D1.96.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F_5_.28MD5.29"><span class="mw-headline-number">3.16</span> <span id="MD5" title="#MD5">Зліпок повідомлення 5 (MD5)</span></span></h3>
<p><i>Опис:</i> Обчислення зліпка повідомлення 5 для даних <i>data</i>.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Рядок </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> data </td>
<td> Дані </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h2><span class="mw-headline" id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97_.D1.80.D0.BE.D0.B1.D0.BE.D1.82.D0.B8_.D0.B7_.D1.80.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.B8.D0.BC"><span class="mw-headline-number">4</span> Функції роботи з реальним</span></h2>
<h3><span class="mw-headline" id="Float:_.D0.9F.D0.BE.D0.B4.D1.96.D0.BB.D0.B8.D1.82.D0.B8_.D0.BD.D0.B0_.D1.81.D0.BB.D0.BE.D0.B2.D0.B0_.28floatSplitWord.29"><span class="mw-headline-number">4.1</span> <span id="floatSplitWord" title="#floatSplitWord">Float: Поділити на слова (floatSplitWord)</span></span></h3>
<p><i>Опис:</i> Поділ значення float (4 байтів) на два слова (2 байти).<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> val </td>
<td> Значення </td>
<td> Реальне </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> w1 </td>
<td> Слово 1 </td>
<td> Цілий </td>
<td> Вихід </td>
<td>
</td></tr>
<tr>
<td> w2 </td>
<td> Слово 2 </td>
<td> Цілий </td>
<td> Вихід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id="Float:_.D0.9F.D0.BE.D1.94.D0.B4.D0.BD.D0.B0.D1.82.D0.B8_.D1.81.D0.BB.D0.BE.D0.B2.D0.B0_.28floatMergeWord.29"><span class="mw-headline-number">4.2</span> <span id="floatMergeWord" title="#floatMergeWord">Float: Поєднати слова (floatMergeWord)</span></span></h3>
<p><i>Опис:</i> Формування значення float (4 байтів) з двох слів (2 байти).<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Реальне </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> w1 </td>
<td> Слово 1 </td>
<td> Цілий </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> w2 </td>
<td> Слово 2 </td>
<td> Цілий </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id="Float:_.D0.92.D0.B8.D0.BB.D1.83.D1.87.D0.B8.D1.82.D0.B8_.28floatExtract.29"><span class="mw-headline-number">4.3</span> <span id="floatExtract" title="#floatExtract">Float: Вилучити (floatExtract)</span></span></h3>
<p><i>Опис:</i> Вилучення мантиси та експоненти з реального значення.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> magn </td>
<td> Розмір </td>
<td> Реальний </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> val </td>
<td> Значення </td>
<td> Реальний </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> exp </td>
<td> Експонента </td>
<td> Цілий </td>
<td> Вихід </td>
<td>
</td></tr></table>
<h2><span class="mw-headline" id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D1.96.D1.97_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.96.D0.B2"><span class="mw-headline-number">5</span> Функції архівів</span></h2>
<h3><span class="mw-headline" id="Mess:_.D0.9E.D1.82.D1.80.D0.B8.D0.BC.D0.B0.D0.BD.D0.BD.D1.8F_.28messGet.29"><span class="mw-headline-number">5.1</span> <span id="messGet" title="#messGet">Mess: Отримання (messGet)</span></span></h3>
<p><i>Опис:</i> Отримати повідомлення програми.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Об'єкт(Масив) </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> btm </td>
<td> Час початку, секунди </td>
<td> Ціле </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> etm </td>
<td> Час кінця, секунди </td>
<td> Ціле </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> cat </td>
<td> Категорія </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> lev </td>
<td> Рівень </td>
<td> Цілий </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> arch </td>
<td> Архіватор </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h3><span class="mw-headline" id="Mess:_.D0.A0.D0.BE.D0.B7.D0.BC.D1.96.D1.81.D1.82.D0.B8.D1.82.D0.B8_.28messPut.29"><span class="mw-headline-number">5.2</span> <span id="messPut" title="#messPut">Mess: Розмістити (messPut)</span></span></h3>
<p><i>Опис:</i> Розмістити повідомлення до програми.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> cat </td>
<td> Категорія </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> lev </td>
<td> Рівень </td>
<td> Цілий </td>
<td> Вхід </td>
<td>
</td></tr>
<tr>
<td> mess </td>
<td> Повідомлення </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">rnd_sq_gr11_lineClr</span><span class="o">=</span><span class="s2">"red"</span><span class="p">;</span>
<span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">.</span><span class="nx">messPut</span><span class="p">(</span><span class="s2">"Приклад"</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="s2">"Event: "</span><span class="o">+</span><span class="nx">rnd_sq_gr12_leniClr</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id="Val:_.D0.90.D1.80.D1.85.D1.96.D0.B2_.28vArh.29"><span class="mw-headline-number">5.3</span> <span id="vArh" title="#vArh">Val: Архів (vArh)</span></span></h3>
<p><i>Опис:</i> Отримання об'єкту архіву значень (VArchObj) через підключення до архіву за його адресою.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Ім'я </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Об'єкт(VArchObj) </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> name </td>
<td> Ім'я — адреса до атрибуту параметра з архівом (<b>DAQ.{Module}.{Cntr}.{Prm}.{Attr}</b>) або безпосередньо до архіву значень (<b>Archive.va_{ValArchive}</b>). </td>
<td> Рядок </td>
<td> Вхід </td>
<td>
</td></tr></table>
<h4><span class="mw-headline" id=".D0.9E.D0.B1.27.D1.94.D0.BA.D1.82_VArchObj"><span class="mw-headline-number">5.3.1</span> Об'єкт VArchObj</span></h4>
<p>Функції:
</p>
<ul><li> <i>bool isNull()</i> — об'єкт не ініційовано.</li>
<li> <i>int begin( int usec = 0, string archiver = "" )</i> — час початку архіву, через повернення секунд та мікросекунд <i>usec</i> для архіватору <i>archiver</i>.</li>
<li> <i>int end( int usec = 0, string archiver = "" )</i> — час закінчення архіву, через повернення секунд та мікросекунд <i>usec</i> для архіватору <i>archiver</i>.</li>
<li> <i>int period( int usec = 0, string archiver = "" )</i> — період архіву, через повернення секунд та мікросекунд <i>usec</i> для архіватору <i>archiver</i>.</li>
<li> <i>ValObj get( int sec, int usec, bool upOrd = false, string archiver = "" )</i> — значення із архіву на час <i>sec</i>:<i>usec</i> з прив'язкою до гори <i>upOrd</i> та для архіватору <i>archiver</i>. Реальний час отриманого значення встановлюється у <i>sec</i>:<i>usec</i>.</li>
<li> <i>bool set( ValObj val, int sec, int usec, string archiver = "" )</i> [<span style="color:red">доступ до підсистеми Архіви-Історія для операцій з архівом</span>] — записує значення <i>val</i> у архів на час <i>sec</i>:<i>usec</i> для архіватору <i>archiver</i>.</li>
<li> <i>bool copy( VArchObj src, int begSec, int begUSec, int endSec, int endUSec, string archiver = "" )</i> [<span style="color:red">доступ до підсистеми Архіви-Історія для операцій з архівом</span>] — копіює частину вихідного <i>src</i> архіву, або його буферу, до поточного, починаючи з <i>begSec</i>:<i>begUSec</i> та закінчуючи <i>endSec</i>:<i>endUSec</i> для архіватору <i>archiver</i>.</li>
<li> <i>ArrayObj FFT( int tm, real size, string archiver = "", int tm_usec = 0 )</i> — розкласти у ряд Фур'є за допомогою FFT алгоритму. Повертається масив амплітуд частот для вікна значень із архіву з часом початку <i>tm:tm_usec</i> (секунди:мікросекунди), глибиною у історію архіву <i>size</i> (секунд) та для архіватору <i>archiver</i>.</li></ul>
<p><i>Приклад:</i>
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="nx">using</span> <span class="nx">Special</span><span class="p">.</span><span class="nx">FLibSYS</span><span class="p">;</span>
<span class="nx">val</span> <span class="o">=</span> <span class="nx">vArh</span><span class="p">(</span><span class="nx">strPath2Sep</span><span class="p">(</span><span class="nx">addr</span><span class="p">)).</span><span class="nx">get</span><span class="p">(</span><span class="nx">time</span><span class="p">,</span><span class="nx">uTime</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="nx">archiver</span><span class="p">);</span>
<span class="k">return</span> <span class="nx">val</span><span class="p">.</span><span class="nx">isEval</span><span class="p">()</span> <span class="o">?</span> <span class="s2">"Порожньо"</span> <span class="o">:</span> <span class="nx">real2str</span><span class="p">(</span><span class="nx">val</span><span class="p">,</span><span class="nx">prec</span><span class="p">);</span>
</pre></div>
<h3><span class="mw-headline" id="Val:_.D0.91.D1.83.D1.84.D0.B5.D1.80_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83_.28vArhBuf.29"><span class="mw-headline-number">5.4</span> <span id="vArhBuf" title="#vArhBuf">Val: Буфер архіву (vArhBuf)</span></span></h3>
<p><i>Опис:</i> Отримання об'єкту буфера значень для тимчасового збереження значень та виконання проміжних операцій над кадрами даних.<br />
<i>Параметри:</i>
</p>
<table class="wikitable">

<tr>
<th> Ідентифікатор </th>
<th> Параметр </th>
<th> Тип </th>
<th> Режим </th>
<th> По замовченню
</th></tr>
<tr>
<td> rez </td>
<td> Результат </td>
<td> Об'єкт(VArchObj) </td>
<td> Повернення </td>
<td>
</td></tr>
<tr>
<td> tp </td>
<td> Тип значень архіву (0-Логічний, 1-Цілий, 4-Реальний, 5-Рядок) </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 1
</td></tr>
<tr>
<td> sz </td>
<td> Максимальний розмір буферу </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 100
</td></tr>
<tr>
<td> per </td>
<td> Період значень буферу, мікросекунди </td>
<td> Цілий </td>
<td> Вхід </td>
<td> 1000000
</td></tr>
<tr>
<td> hgrd </td>
<td> Жорстка мережа часу </td>
<td> Логічний </td>
<td> Вхід </td>
<td> 0
</td></tr>
<tr>
<td> hres </td>
<td> Висока роздільна здатність часу (мікросекунди)" </td>
<td> Логічний </td>
<td> Вхід </td>
<td> 0
</td></tr></table>
<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">6</span> API користувацького програмування</span></h2>
<p>Модуль, як об'єкт, надає функції користувацького програмування.
</p><p><b>Об'єкт "Бібліотека функцій" (SYS.Special.FLibSYS)</b>
</p>
<ul><li> <i>ElTp {funcID}(ElTp prm1, ...)</i> — виклик функції бібліотеки <i>{funcID}</i>. Повертає результат викликаної функції.</li></ul>
<p><b>Об'єкт "Користувацька функція" (SYS.Special.FLibSYS["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/FLibSYS/uk">Modules/FLibSYS/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>