<?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="ru">Модули/FLibSYS</h1>
		</div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="ru"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&amp;group=page-Modules%2FFLibSYS&amp;action=page&amp;filter=&amp;language=ru" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/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;• ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span>&nbsp;• ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../uk/Modules/FLibSYS.html" title="Модулі/FLibSYS (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/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> Предоставляет библиотеку системных функций среды пользовательского программирования.
</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.9E.D0.B1.D1.89.D0.B5.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8"><span class="tocnumber">1</span> <span class="toctext">Общесистемные функции</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="#SYS:_.D0.92.D1.8B.D0.B7.D0.BE.D0.B2_.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.D0.BE.D0.B4.2F.D0.92.D1.8B.D0.B2.D0.BE.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.D1.8A.D0.B5.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.D1.80.D0.BE.D1.81_.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.A3.D0.B7.D0.B5.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.D1.80.D0.BE.D1.81_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B0_.D1.83.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.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.D0.B8.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_.D1.81.D0.BE_.D0.B2.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.B5.D0.BC"><span class="tocnumber">2</span> <span class="toctext">Функции работы со временем</span></a>
<ul>
<li class="toclevel-2 tocsection-9"><a href="#Time:_.D0.94.D0.B0.D1.82.D0.B0_.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_.D0.B8_.D0.B2.D1.80.D0.B5.D0.BC.D1.8F_.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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0_.D0.B2.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.B8_.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.A1.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B2.D0.BE_.D0.B2.D1.80.D0.B5.D0.BC.D1.8F_.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="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B8.D1.82.D1.8C_.D0.BF.D0.BE.D0.B4.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.28strSubstr.29"><span class="tocnumber">2.5</span> <span class="toctext"><span>Строка: Получить подстроку (strSubstr)</span></span></a></li>
<li class="toclevel-2 tocsection-14"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.92.D1.81.D1.82.D0.B0.D0.B2.D0.B8.D1.82.D1.8C_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B2_.D0.B4.D1.80.D1.83.D0.B3.D1.83.D1.8E_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.28strInsert.29"><span class="tocnumber">2.6</span> <span class="toctext"><span>Строка: Вставить строку в другую строку (strInsert)</span></span></a></li>
<li class="toclevel-2 tocsection-15"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.97.D0.B0.D0.BC.D0.B5.D0.BD.D0.B8.D1.82.D1.8C_.D1.87.D0.B0.D1.81.D1.82.D1.8C_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8_.D0.B4.D1.80.D1.83.D0.B3.D0.BE.D0.B9_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.BE.D0.B9_.28strReplace.29"><span class="tocnumber">2.7</span> <span class="toctext"><span>Строка: Заменить часть строки другой строкой (strReplace)</span></span></a></li>
<li class="toclevel-2 tocsection-16"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A0.D0.B0.D0.B7.D0.BE.D0.B1.D1.80.D0.B0.D1.82.D1.8C_.D0.BF.D0.BE_.D1.80.D0.B0.D0.B7.D0.B4.D0.B5.D0.BB.D0.B8.D1.82.D0.B5.D0.BB.D1.8E_.28strParse.29"><span class="tocnumber">2.8</span> <span class="toctext"><span>Строка: Разобрать по разделителю (strParse)</span></span></a></li>
<li class="toclevel-2 tocsection-17"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A0.D0.B0.D0.B7.D0.BE.D0.B1.D1.80.D0.B0.D1.82.D1.8C_.D0.BF.D1.83.D1.82.D1.8C_.28strParsePath.29"><span class="tocnumber">2.9</span> <span class="toctext"><span>Строка: Разобрать путь (strParsePath)</span></span></a></li>
<li class="toclevel-2 tocsection-18"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.9F.D1.83.D1.82.D1.8C_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D1.81_.D1.80.D0.B0.D0.B7.D0.B4.D0.B5.D0.BB.D0.B8.D1.82.D0.B5.D0.BB.D0.B5.D0.BC_.28strPath2Sep.29"><span class="tocnumber">2.10</span> <span class="toctext"><span>Строка: Путь в строку с разделителем (strPath2Sep)</span></span></a></li>
<li class="toclevel-2 tocsection-19"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D1.82.D1.8C_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B2_HTML_.28strEnc2HTML.29"><span class="tocnumber">2.11</span> <span class="toctext"><span>Строка: Кодировать строку в HTML (strEnc2HTML)</span></span></a></li>
<li class="toclevel-2 tocsection-20"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D1.82.D1.8C_.D1.82.D0.B5.D0.BA.D1.81.D1.82_.D0.B2_.D0.B1.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B9_.D0.B2.D0.B8.D0.B4_.28strEnc2Bin.29"><span class="tocnumber">2.12</span> <span class="toctext"><span>Строка: Кодировать текст в бинарный вид (strEnc2Bin)</span></span></a></li>
<li class="toclevel-2 tocsection-21"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.94.D0.B5.D0.BA.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D1.82.D1.8C_.D1.82.D0.B5.D0.BA.D1.81.D1.82_.D0.B8.D0.B7_.D0.B1.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B2.D0.B8.D0.B4.D0.B0_.28strDec4Bin.29"><span class="tocnumber">2.13</span> <span class="toctext"><span>Строка: Декодировать текст из бинарного вида (strDec4Bin)</span></span></a></li>
<li class="toclevel-2 tocsection-22"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.92.D0.B5.D1.89.D0.B5.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D0.BE.D0.B5_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.28real2str.29"><span class="tocnumber">2.14</span> <span class="toctext"><span>Строка: Вещественное в строку (real2str)</span></span></a></li>
<li class="toclevel-2 tocsection-23"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A6.D0.B5.D0.BB.D0.BE.D0.B5_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.28int2str.29"><span class="tocnumber">2.15</span> <span class="toctext"><span>Строка: Целое в строку (int2str)</span></span></a></li>
<li class="toclevel-2 tocsection-24"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0_.D0.B2_.D0.B2.D0.B5.D1.89.D0.B5.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D0.BE.D0.B5_.28str2real.29"><span class="tocnumber">2.16</span> <span class="toctext"><span>Строка: Строка в вещественное (str2real)</span></span></a></li>
<li class="toclevel-2 tocsection-25"><a href="#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B2_.D1.86.D0.B5.D0.BB.D0.BE.D0.B5_.28str2int.29"><span class="tocnumber">2.17</span> <span class="toctext"><span>Строка: Строку в целое (str2int)</span></span></a></li>
<li class="toclevel-2 tocsection-26"><a href="#.D0.A6.D0.B8.D0.BA.D0.BB.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_.D0.98.D0.B7.D0.B1.D1.8B.D1.82.D0.BE.D1.87.D0.BD.D1.8B.D0.B9_.D0.9A.D0.BE.D0.B4_.28CRC.29"><span class="tocnumber">2.18</span> <span class="toctext"><span>Циклический Избыточный Код (CRC)</span></span></a></li>
<li class="toclevel-2 tocsection-27"><a href="#.D0.A1.D0.BB.D0.B5.D0.BF.D0.BE.D0.BA_.D1.81.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D1.8F_5_.28MD5.29"><span class="tocnumber">2.19</span> <span class="toctext"><span>Слепок сообщения 5 (MD5)</span></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-28"><a href="#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_.D1.81_.D0.B2.D0.B5.D1.89.D0.B5.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D1.8B.D0.BC"><span class="tocnumber">3</span> <span class="toctext">Функции работы с вещественным</span></a>
<ul>
<li class="toclevel-2 tocsection-29"><a href="#Float:_.D0.A0.D0.B0.D0.B7.D0.B4.D0.B5.D0.BB.D0.B8.D1.82.D1.8C_.D0.BD.D0.B0_.D1.81.D0.BB.D0.BE.D0.B2.D0.B0_.28floatSplitWord.29"><span class="tocnumber">3.1</span> <span class="toctext"><span>Float: Разделить на слова (floatSplitWord)</span></span></a></li>
<li class="toclevel-2 tocsection-30"><a href="#Float:_.D0.9E.D0.B1.D1.8A.D0.B5.D0.B4.D0.B8.D0.BD.D0.B8.D1.82.D1.8C_.D1.81.D0.BB.D0.BE.D0.B2.D0.B0_.28floatMergeWord.29"><span class="tocnumber">3.2</span> <span class="toctext"><span>Float: Объединить слова (floatMergeWord)</span></span></a></li>
<li class="toclevel-2 tocsection-31"><a href="#Float:_.D0.98.D0.B7.D0.B2.D0.BB.D0.B5.D1.87.D1.8C_.28floatExtract.29"><span class="tocnumber">3.3</span> <span class="toctext"><span>Float: Извлечь (floatExtract)</span></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-32"><a href="#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D0.B0.D1.80.D1.85.D0.B8.D0.B2.D0.BE.D0.B2"><span class="tocnumber">4</span> <span class="toctext">Функции архивов</span></a>
<ul>
<li class="toclevel-2 tocsection-33"><a href="#Mess:_.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B8.D1.82.D1.8C_.28messGet.29"><span class="tocnumber">4.1</span> <span class="toctext"><span>Mess: Получить (messGet)</span></span></a></li>
<li class="toclevel-2 tocsection-34"><a href="#Mess:_.D0.9F.D0.BE.D0.BC.D0.B5.D1.81.D1.82.D0.B8.D1.82.D1.8C_.28messPut.29"><span class="tocnumber">4.2</span> <span class="toctext"><span>Mess: Поместить (messPut)</span></span></a></li>
<li class="toclevel-2 tocsection-35"><a href="#Val:_.D0.90.D1.80.D1.85.D0.B8.D0.B2_.28vArh.29"><span class="tocnumber">4.3</span> <span class="toctext"><span>Val: Архив (vArh)</span></span></a>
<ul>
<li class="toclevel-3 tocsection-36"><a href="#.D0.9E.D0.B1.D1.8A.D0.B5.D0.BA.D1.82_VArchObj"><span class="tocnumber">4.3.1</span> <span class="toctext">Объект VArchObj</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-37"><a href="#Val:_.D0.91.D1.83.D1.84.D0.B5.D1.80_.D0.B0.D1.80.D1.85.D0.B8.D0.B2.D0.B0_.28vArhBuf.29"><span class="tocnumber">4.4</span> <span class="toctext"><span>Val: Буфер архива (vArhBuf)</span></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-38"><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">5</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.9E.D0.B1.D1.89.D0.B5.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8"><span class="mw-headline-number">1</span> Общесистемные функции</span></h2>
<h3><span class="mw-headline" id="SYS:_.D0.92.D1.8B.D0.B7.D0.BE.D0.B2_.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.D0.BE.D0.B4.2F.D0.92.D1.8B.D0.B2.D0.BE.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.D1.8A.D0.B5.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> "char", "int8", "schar", "signed char", "integer*1";</li>
<li> "int16", "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.D1.80.D0.BE.D1.81_.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.A3.D0.B7.D0.B5.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.D1.80.D0.BE.D1.81_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B0_.D1.83.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.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.D0.B8.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_.D1.81.D0.BE_.D0.B2.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.B5.D0.BC"><span class="mw-headline-number">2</span> Функции работы со временем</span></h2>
<h3><span class="mw-headline" id="Time:_.D0.94.D0.B0.D1.82.D0.B0_.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_.D0.B8_.D0.B2.D1.80.D0.B5.D0.BC.D1.8F_.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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0_.D0.B2.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.B8_.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.A1.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B2.D0.BE_.D0.B2.D1.80.D0.B5.D0.BC.D1.8F_.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><span class="o">&lt;</span><span class="err">/pre&gt;</span>

<span class="o">===</span> <span class="p">{{</span><span class="nx">Anch</span><span class="o">|</span><span class="nx">tmCron</span><span class="o">|</span><span class="nx">Time</span><span class="o">:</span> <span class="nx">Планировать</span> <span class="nx">время</span> <span class="nx">по</span> <span class="nx">CRON</span> <span class="p">(</span><span class="nx">tmCron</span><span class="p">)}}</span> <span class="o">===</span>
<span class="s1">''</span><span class="nx">Описание</span><span class="o">:</span><span class="s1">''</span> <span class="nx">Планирование</span> <span class="nx">времени</span> <span class="nx">по</span> <span class="nx">стандарту</span> <span class="nx">CRON</span><span class="p">,</span> <span class="nx">возвращая</span> <span class="nx">спланированное</span> <span class="nx">время</span> <span class="nx">начиная</span> <span class="nx">от</span> <span class="nx">базового</span> <span class="nx">времени</span> <span class="s1">''</span><span class="nx">base</span><span class="s1">''</span> <span class="nx">или</span> <span class="nx">от</span> <span class="nx">текущего</span> <span class="nx">если</span> <span class="nx">базовое</span> <span class="nx">не</span> <span class="nx">указано</span><span class="p">.</span><span class="o">&lt;</span><span class="nx">br</span><span class="o">/&gt;</span>
<span class="s1">''</span><span class="nx">Параметры</span><span class="o">:</span><span class="s1">''</span>
<span class="p">{</span><span class="o">|</span> <span class="kr">class</span><span class="o">=</span><span class="s2">"wikitable"</span>
<span class="o">|-</span>
<span class="o">!</span> <span class="nx">Идентификатор</span> <span class="o">!!</span> <span class="nx">Параметр</span> <span class="o">!!</span> <span class="nx">Тип</span> <span class="o">!!</span> <span class="nx">Режим</span> <span class="o">!!</span> <span class="nx">По</span> <span class="nx">умолчанию</span>
<span class="o">|-</span>
<span class="o">|</span> <span class="nx">res</span> <span class="o">||</span> <span class="nx">Результат</span><span class="p">,</span> <span class="nx">секунды</span> <span class="o">||</span> <span class="nx">Целый</span> <span class="o">||</span> <span class="nx">Возврат</span> <span class="o">||</span> <span class="mi">0</span>
<span class="o">|-</span>
<span class="o">|</span> <span class="nx">str</span> <span class="o">||</span> <span class="nx">CRON</span> <span class="o">||</span> <span class="nx">Строка</span> <span class="o">||</span> <span class="nx">Вход</span> <span class="o">||</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span> 
<span class="o">|-</span>
<span class="o">|</span> <span class="nx">base</span> <span class="o">||</span> <span class="nx">Базовое</span> <span class="nx">время</span><span class="p">,</span> <span class="nx">секунды</span> <span class="o">||</span> <span class="nx">Целый</span> <span class="o">||</span> <span class="nx">Вход</span> <span class="o">||</span> <span class="mi">0</span>
<span class="o">|</span><span class="p">}</span>

<span class="o">===</span> <span class="p">{{</span><span class="nx">Anch</span><span class="o">|</span><span class="nx">tmSleep</span><span class="o">|</span><span class="nx">Time</span><span class="o">:</span> <span class="nx">сон</span> <span class="p">(</span><span class="nx">tmSleep</span><span class="p">)}}</span> <span class="o">===</span>
<span class="s1">''</span><span class="nx">Описание</span><span class="o">:</span><span class="s1">''</span> <span class="nx">Короткий</span> <span class="nx">сон</span> <span class="nx">от</span> <span class="nx">наносекунд</span> <span class="nx">и</span> <span class="nx">до</span> <span class="nx">STD_INTERF_TM</span> <span class="p">(</span><span class="mi">5</span> <span class="nx">секунд</span><span class="p">).</span><span class="o">&lt;</span><span class="nx">br</span><span class="o">/&gt;</span>
<span class="s1">''</span><span class="nx">Параметры</span><span class="o">:</span><span class="s1">''</span>
<span class="p">{</span><span class="o">|</span> <span class="kr">class</span><span class="o">=</span><span class="s2">"wikitable"</span>
<span class="o">|-</span>
<span class="o">!</span> <span class="nx">Идентификатор</span> <span class="o">!!</span> <span class="nx">Параметр</span> <span class="o">!!</span> <span class="nx">Тип</span> <span class="o">!!</span> <span class="nx">Режим</span> <span class="o">!!</span> <span class="nx">По</span> <span class="nx">умолчанию</span>
<span class="o">|-</span>
<span class="o">|</span> <span class="nx">res</span> <span class="o">||</span> <span class="nx">Результат</span> <span class="o">||</span> <span class="nx">Целый</span> <span class="o">||</span> <span class="nx">Возврат</span> <span class="o">||</span> <span class="mi">0</span> 
<span class="o">|-</span>
<span class="o">|</span> <span class="nx">tm</span> <span class="o">||</span> <span class="nx">Время</span><span class="p">,</span> <span class="nx">секунды</span> <span class="o">||</span> <span class="nx">Вещественный</span> <span class="o">||</span> <span class="nx">Вход</span> <span class="o">||</span> <span class="mi">0</span> 
<span class="o">|</span><span class="p">}</span>

<span class="o">==</span> <span class="nx">Функции</span> <span class="nx">работы</span> <span class="nx">со</span> <span class="nx">строками</span> <span class="o">==</span>
<span class="o">===</span> <span class="p">{{</span><span class="nx">Anch</span><span class="o">|</span><span class="nx">strSize</span><span class="o">|</span><span class="nx">Строка</span><span class="o">:</span> <span class="nx">Получить</span> <span class="nx">размер</span> <span class="p">(</span><span class="nx">strSize</span><span class="p">)}}</span> <span class="o">===</span>
<span class="s1">''</span><span class="nx">Описание</span><span class="o">:</span><span class="s1">''</span> <span class="nx">Получение</span> <span class="nx">размера</span> <span class="nx">строки</span><span class="p">.</span><span class="o">&lt;</span><span class="nx">br</span><span class="o">/&gt;</span>
<span class="s1">''</span><span class="nx">Параметры</span><span class="o">:</span><span class="s1">''</span>
<span class="p">{</span><span class="o">|</span> <span class="kr">class</span><span class="o">=</span><span class="s2">"wikitable"</span>
<span class="o">|-</span>
<span class="o">!</span> <span class="nx">Идентификатор</span> <span class="o">!!</span> <span class="nx">Параметр</span> <span class="o">!!</span> <span class="nx">Тип</span> <span class="o">!!</span> <span class="nx">Режим</span> <span class="o">!!</span> <span class="nx">По</span> <span class="nx">умолчанию</span>
<span class="o">|-</span>
<span class="o">|</span> <span class="nx">rez</span> <span class="o">||</span> <span class="nx">Результат</span> <span class="o">||</span> <span class="nx">Целый</span> <span class="o">||</span> <span class="nx">Возврат</span> <span class="o">||</span>
<span class="o">|-</span>
<span class="o">|</span> <span class="nx">str</span> <span class="o">||</span> <span class="nx">Строка</span> <span class="o">||</span> <span class="nx">Строка</span> <span class="o">||</span> <span class="nx">Вход</span> <span class="o">||</span>
<span class="o">|</span><span class="p">}</span>
<span class="s1">''</span><span class="nx">Пример</span><span class="o">:</span><span class="s1">''</span>
<span class="o">&lt;</span><span class="nx">syntaxhighlight</span> <span class="nx">lang</span><span class="o">=</span><span class="s2">"JS"</span><span class="o">&gt;</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">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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B8.D1.82.D1.8C_.D0.BF.D0.BE.D0.B4.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.28strSubstr.29"><span class="mw-headline-number">2.5</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.92.D1.81.D1.82.D0.B0.D0.B2.D0.B8.D1.82.D1.8C_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B2_.D0.B4.D1.80.D1.83.D0.B3.D1.83.D1.8E_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.28strInsert.29"><span class="mw-headline-number">2.6</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.97.D0.B0.D0.BC.D0.B5.D0.BD.D0.B8.D1.82.D1.8C_.D1.87.D0.B0.D1.81.D1.82.D1.8C_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8_.D0.B4.D1.80.D1.83.D0.B3.D0.BE.D0.B9_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.BE.D0.B9_.28strReplace.29"><span class="mw-headline-number">2.7</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A0.D0.B0.D0.B7.D0.BE.D0.B1.D1.80.D0.B0.D1.82.D1.8C_.D0.BF.D0.BE_.D1.80.D0.B0.D0.B7.D0.B4.D0.B5.D0.BB.D0.B8.D1.82.D0.B5.D0.BB.D1.8E_.28strParse.29"><span class="mw-headline-number">2.8</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A0.D0.B0.D0.B7.D0.BE.D0.B1.D1.80.D0.B0.D1.82.D1.8C_.D0.BF.D1.83.D1.82.D1.8C_.28strParsePath.29"><span class="mw-headline-number">2.9</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.9F.D1.83.D1.82.D1.8C_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D1.81_.D1.80.D0.B0.D0.B7.D0.B4.D0.B5.D0.BB.D0.B8.D1.82.D0.B5.D0.BB.D0.B5.D0.BC_.28strPath2Sep.29"><span class="mw-headline-number">2.10</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D1.82.D1.8C_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B2_HTML_.28strEnc2HTML.29"><span class="mw-headline-number">2.11</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D1.82.D1.8C_.D1.82.D0.B5.D0.BA.D1.81.D1.82_.D0.B2_.D0.B1.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B9_.D0.B2.D0.B8.D0.B4_.28strEnc2Bin.29"><span class="mw-headline-number">2.12</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.94.D0.B5.D0.BA.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D1.82.D1.8C_.D1.82.D0.B5.D0.BA.D1.81.D1.82_.D0.B8.D0.B7_.D0.B1.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B2.D0.B8.D0.B4.D0.B0_.28strDec4Bin.29"><span class="mw-headline-number">2.13</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.92.D0.B5.D1.89.D0.B5.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D0.BE.D0.B5_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.28real2str.29"><span class="mw-headline-number">2.14</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A6.D0.B5.D0.BB.D0.BE.D0.B5_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.28int2str.29"><span class="mw-headline-number">2.15</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0_.D0.B2_.D0.B2.D0.B5.D1.89.D0.B5.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D0.BE.D0.B5_.28str2real.29"><span class="mw-headline-number">2.16</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.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0:_.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B2_.D1.86.D0.B5.D0.BB.D0.BE.D0.B5_.28str2int.29"><span class="mw-headline-number">2.17</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.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_.D0.98.D0.B7.D0.B1.D1.8B.D1.82.D0.BE.D1.87.D0.BD.D1.8B.D0.B9_.D0.9A.D0.BE.D0.B4_.28CRC.29"><span class="mw-headline-number">2.18</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.A1.D0.BB.D0.B5.D0.BF.D0.BE.D0.BA_.D1.81.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D1.8F_5_.28MD5.29"><span class="mw-headline-number">2.19</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.D0.B8.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B_.D1.81_.D0.B2.D0.B5.D1.89.D0.B5.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D1.8B.D0.BC"><span class="mw-headline-number">3</span> Функции работы с вещественным</span></h2>
<h3><span class="mw-headline" id="Float:_.D0.A0.D0.B0.D0.B7.D0.B4.D0.B5.D0.BB.D0.B8.D1.82.D1.8C_.D0.BD.D0.B0_.D1.81.D0.BB.D0.BE.D0.B2.D0.B0_.28floatSplitWord.29"><span class="mw-headline-number">3.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.9E.D0.B1.D1.8A.D0.B5.D0.B4.D0.B8.D0.BD.D0.B8.D1.82.D1.8C_.D1.81.D0.BB.D0.BE.D0.B2.D0.B0_.28floatMergeWord.29"><span class="mw-headline-number">3.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.98.D0.B7.D0.B2.D0.BB.D0.B5.D1.87.D1.8C_.28floatExtract.29"><span class="mw-headline-number">3.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.D0.B8.D0.B8_.D0.B0.D1.80.D1.85.D0.B8.D0.B2.D0.BE.D0.B2"><span class="mw-headline-number">4</span> Функции архивов</span></h2>
<h3><span class="mw-headline" id="Mess:_.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B8.D1.82.D1.8C_.28messGet.29"><span class="mw-headline-number">4.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.9F.D0.BE.D0.BC.D0.B5.D1.81.D1.82.D0.B8.D1.82.D1.8C_.28messPut.29"><span class="mw-headline-number">4.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.D0.B8.D0.B2_.28vArh.29"><span class="mw-headline-number">4.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.D1.8A.D0.B5.D0.BA.D1.82_VArchObj"><span class="mw-headline-number">4.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>.<br /></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.D0.B8.D0.B2.D0.B0_.28vArhBuf.29"><span class="mw-headline-number">4.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.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">5</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/ru">Modules/FLibSYS/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>