<?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>Modules/SystemTests - OpenSCADAWiki</title>
<meta content="MediaWiki 1.26.4" name="generator" />
<link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" />
<link href="../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="en">Modules/SystemTests</h1>
		</div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="en"><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><span class="mw-pt-languages-ui mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">English</span>&nbsp;• ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/SystemTests.html" title="Модули/Системные тесты (100% translated)">mRussian</a>&nbsp;• ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../uk/Modules/SystemTests.html" title="Модулі/Системні тести (100% translated)">Українська</a></div></div>
<table class="wikitable">

<tr>
<th> Module </th>
<th> Name </th>
<th> Version </th>
<th> License </th>
<th> Source </th>
<th> Languages </th>
<th> Platforms </th>
<th> Type </th>
<th> Author </th>
<th> Description
</th></tr>

<tr>
<td> <a href="../Modules/SystemTests.html" title="Special:MyLanguage/Modules/SystemTests">SystemTests</a> </td>
<td> OpenSCADA and its modules' tests
</td>
<td> 1.8 </td>
<td> GPL2 </td>
<td> spec_SystemTests.so </td>
<td> en,uk,ru,de </td>
<td> x86,x86_64,ARM
</td>
<td> Special </td>
<td> Roman Savochenko<br />Maxim Lysenko (2010) — the page initial translation </td>
<td> Provides the group of tests to OpenSCADA and its modules.
</td></tr></table>
<p>The module contains a set of tests designed to test various subsystems and components of OpenSCADA. The tests are performed as functions of the user API, so they can run as a single time, in the "Execute" tab of the page object function, and from the user procedures, passing the necessary arguments to them.
</p><p>To address the functions of the library you can use the static call address <b>Special.FLibComplex1.{Func}()</b> or dynamic <b>SYS.Special.FLibComplex1["{Func}"].call()</b>, <b>SYS.Special.FLibComplex1.{Func}()</b>. Where <i>Func</i> — identifier of the function in the library.
</p><p>In addition to the usual mechanisms of user API execution, an autonomous mechanism is provided. This mechanism is represented by a separate task, performed with the period of one second, and which calls the functions of tests accordingly to the settings in the configuration file.
</p><p>Configuration fields of the tests are placed in the module "SystemTests" section of the subsystem "Special". Format of the configuration fields is <b>&lt;prm id="Test Id" on="1" per="10" /&gt;</b><br />
Where:
</p>
<ul><li> <i>id</i> — test identifier;</li>
<li> <i>on</i> — sign "Test is enabled";</li>
<li> <i>per</i> — repetition period of the test (seconds).</li></ul>
<p>In addition to the basic attributes, the reflection of the input parameters of tests' functions on the same attributes name of the tag "prm" is performed. For example, the attribute "name" of the function "Param" you can specify in the tag "prm".
</p><p>It is possible to define many "prm" tags for one or several tests with the same or different parameters, thus specifying for a separate run of the test with the specified parameters. Here is an example of a description of all available tests:
</p>
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp">&lt;?xml version="1.0" encoding="UTF-8" ?&gt;</span>
<span class="nt">&lt;OpenSCADA&gt;</span>
    <span class="nt">&lt;station</span> <span class="na">id=</span><span class="s">"DemoStation"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;node</span> <span class="na">id=</span><span class="s">"sub_Special"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;node</span> <span class="na">id=</span><span class="s">"mod_SystemTests"</span><span class="nt">&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"Param"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"5"</span> <span class="na">name=</span><span class="s">"LogicLev.experiment.F3"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"XML"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">file=</span><span class="s">"/etc/oscada.xml"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"Mess"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">categ=</span><span class="s">""</span> <span class="na">arhtor=</span><span class="s">"DBArch.test3"</span> <span class="na">depth=</span><span class="s">"10"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"SOAttach"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"20"</span> <span class="na">name=</span><span class="s">"../../lib/openscada/daq_LogicLev.so"</span> <span class="na">mode=</span><span class="s">"0"</span> <span class="na">full=</span><span class="s">"1"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"Val"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">name=</span><span class="s">"LogicLev.experiment.F3.var"</span> <span class="na">arch_len=</span><span class="s">"5"</span> <span class="na">arch_per=</span><span class="s">"1000000"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"Val"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">name=</span><span class="s">"System.AutoDA.CPULoad.load"</span> <span class="na">arch_len=</span><span class="s">"10"</span> <span class="na">arch_per=</span><span class="s">"1000000"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"MySQL"</span> <span class="na">addr=</span><span class="s">"server.diya.org;roman;123456;oscadaTest"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"DBF"</span> <span class="na">addr=</span><span class="s">"./DATA/DBF"</span> <span class="na">table=</span><span class="s">"test.dbf"</span> <span class="na">size=</span><span class="s">"1000"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"SQLite"</span> <span class="na">addr=</span><span class="s">"./DATA/test.db"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"FireBird"</span> <span class="na">addr=</span><span class="s">"server.diya.org:/var/tmp/test.fdb;roman;123456"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"TCP:127.0.0.1:10001"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UDP:127.0.0.1:10001"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UNIX:./oscada"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UDP:127.0.0.1:daytime"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"SysContrLang"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">path=</span><span class="s">"/Archive/FSArch/mess_StatErrors/%2fprm%2fst"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"ValBuf"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"5"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"Archive"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"30"</span> <span class="na">arch=</span><span class="s">"test1"</span> <span class="na">period=</span><span class="s">"1000000"</span><span class="nt">/&gt;</span>
                <span class="nt">&lt;prm</span> <span class="na">id=</span><span class="s">"Base64Code"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span><span class="nt">/&gt;</span>
            <span class="nt">&lt;/node&gt;</span>
        <span class="nt">&lt;/node&gt;</span>
  <span class="nt">&lt;/station&gt;</span>
<span class="nt">&lt;/OpenSCADA&gt;</span>
</pre></div>
<div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#Parameter_.28Param.29"><span class="tocnumber">1</span> <span class="toctext">Parameter (Param)</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#XML_parsing_.28XML.29"><span class="tocnumber">2</span> <span class="toctext">XML parsing (XML)</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#Messages_.28Mess.29"><span class="tocnumber">3</span> <span class="toctext">Messages (Mess)</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#Attaching_SO_.28SOAttach.29"><span class="tocnumber">4</span> <span class="toctext">Attaching SO (SOAttach)</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="#Parameter_attribute_.28Val.29"><span class="tocnumber">5</span> <span class="toctext">Parameter attribute (Val)</span></a></li>
<li class="toclevel-1 tocsection-6"><a href="#DB_test_.28DB.29"><span class="tocnumber">6</span> <span class="toctext">DB test (DB)</span></a></li>
<li class="toclevel-1 tocsection-7"><a href="#Transport_.28TrOut.29"><span class="tocnumber">7</span> <span class="toctext">Transport (TrOut)</span></a></li>
<li class="toclevel-1 tocsection-8"><a href="#Control_language_of_the_program_.28SysContrLang.29"><span class="tocnumber">8</span> <span class="toctext">Control language of the program (SysContrLang)</span></a></li>
<li class="toclevel-1 tocsection-9"><a href="#Value_buffer_.28ValBuf.29"><span class="tocnumber">9</span> <span class="toctext">Value buffer (ValBuf)</span></a></li>
<li class="toclevel-1 tocsection-10"><a href="#Value_archive_.28Archive.29"><span class="tocnumber">10</span> <span class="toctext">Value archive (Archive)</span></a></li>
<li class="toclevel-1 tocsection-11"><a href="#Base64_encoding_.28Base64Code.29"><span class="tocnumber">11</span> <span class="toctext">Base64 encoding (Base64Code)</span></a></li>
</ul>
</div>

<h2><span class="mw-headline" id="Parameter_.28Param.29"><span class="mw-headline-number">1</span> Parameter (Param)</span></h2>
<p><i>Description:</i> Test of the DAQ parameters. Reads the attributes and configuration fields of the parameter.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> name </td>
<td> Address of the DAQ parameter </td>
<td> String </td>
<td> Input </td>
<td> System.AutoDA.CPULoad
</td></tr></table>
<h2><span class="mw-headline" id="XML_parsing_.28XML.29"><span class="mw-headline-number">2</span> XML parsing (XML)</span></h2>
<p><i>Description:</i> Test for XML file parsing. Disassembles and displays the structure of the specified file.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> file </td>
<td> XML file </td>
<td> String </td>
<td> Input </td>
<td>
</td></tr></table>
<h2><span class="mw-headline" id="Messages_.28Mess.29"><span class="mw-headline-number">3</span> Messages (Mess)</span></h2>
<p><i>Description:</i> Test the archive of messages. Periodically reads new messages from the archive for the specified archiver.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> arhtor </td>
<td> Archiver </td>
<td> String </td>
<td> Input </td>
<td> FSArch.StatErrors
</td></tr>
<tr>
<td> categ </td>
<td> Template of the messages category  </td>
<td> String </td>
<td> Input </td>
<td>
</td></tr>
<tr>
<td> depth </td>
<td> Messages depth, seconds </td>
<td> Integer </td>
<td> Input </td>
<td> 10
</td></tr></table>
<h2><span class="mw-headline" id="Attaching_SO_.28SOAttach.29"><span class="mw-headline-number">4</span> Attaching SO (SOAttach)</span></h2>
<p><i>Description:</i> Test the module to attach/detach.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> name </td>
<td> Path to the module </td>
<td> String </td>
<td> Input </td>
<td>
</td></tr>
<tr>
<td> mode </td>
<td> Mode (1-attach;-1-detach;0-change) </td>
<td> Integer </td>
<td> Input </td>
<td> 0
</td></tr>
<tr>
<td> full </td>
<td> Complete attach (when start) </td>
<td> Bool </td>
<td> Input </td>
<td> 1
</td></tr></table>
<h2><span class="mw-headline" id="Parameter_attribute_.28Val.29"><span class="mw-headline-number">5</span> Parameter attribute (Val)</span></h2>
<p><i>Description:</i> Test for values of the parameter attribute. Performs the periodic acquisition of the last value of the specified attribute, as well as the archive questioning to the required depth.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> name </td>
<td> Path to the parameter attribute </td>
<td> String </td>
<td> Input </td>
<td> System.AutoDA.CPULoad.load
</td></tr>
<tr>
<td> arch_len </td>
<td> Depth of getting of archive values, seconds </td>
<td> Integer </td>
<td> Input </td>
<td> 10
</td></tr>
<tr>
<td> arch_per </td>
<td> Period of getting of archive values, microseconds </td>
<td> Integer </td>
<td> Input </td>
<td> 1000000
</td></tr></table>
<h2><span class="mw-headline" id="DB_test_.28DB.29"><span class="mw-headline-number">6</span> DB test (DB)</span></h2>
<p><i>Description:</i> Complete database test. Performs:
</p>
<ul><li> create/open DB;</li>
<li> create/open table;</li>
<li> create multiple records for the determined structure;</li>
<li> update multiple records;</li>
<li> update multiple records by a request key;</li>
<li> get and check values for multiple records;</li>
<li> seek records;</li>
<li> seek records in preload;</li>
<li> modify a record and the table structure;</li>
<li> remove multiple records;</li>
<li> close/remove table;</li>
<li> close/remove DB.</li></ul>
<p><i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> type </td>
<td> DB type </td>
<td> String </td>
<td> Input </td>
<td> SQLite
</td></tr>
<tr>
<td> addr </td>
<td> DB address </td>
<td> String </td>
<td> Input </td>
<td> ./DATA/test.db
</td></tr>
<tr>
<td> table </td>
<td> DB table </td>
<td> String </td>
<td> Input </td>
<td> test
</td></tr>
<tr>
<td> size </td>
<td> Records number </td>
<td> Integer </td>
<td> Input </td>
<td> 1000
</td></tr></table>
<h2><span class="mw-headline" id="Transport_.28TrOut.29"><span class="mw-headline-number">7</span> Transport (TrOut)</span></h2>
<p><i>Description:</i> Test of the output and/or input transports. Performs testing of the original transport sending a request to the specified input transport.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> addr </td>
<td> Address </td>
<td> String </td>
<td> Input </td>
<td> TCP:127.0.0.1:10001
</td></tr>
<tr>
<td> type </td>
<td> Transport module </td>
<td> String </td>
<td> Input </td>
<td> Sockets
</td></tr>
<tr>
<td> req </td>
<td> Text of the request </td>
<td> String </td>
<td> Input </td>
<td>
</td></tr></table>
<h2><span class="mw-headline" id="Control_language_of_the_program_.28SysContrLang.29"><span class="mw-headline-number">8</span> Control language of the program (SysContrLang)</span></h2>
<p><i>Description:</i> Test of the control language of the program. Performs query of language elements through a complete path. The full path to the language element looks like "/Archive/%2fbd%2fm_per". The complete path consists of two nested paths. The first "/Archive/" is the path to the node of the control tree. The second "/bd/m_per" is the path to the specific node element.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> path </td>
<td> Path to the language element </td>
<td> String </td>
<td> Input </td>
<td> /Archive/BaseArh/mess_StatErrors/%2fprm%2fst
</td></tr></table>
<h2><span class="mw-headline" id="Value_buffer_.28ValBuf.29"><span class="mw-headline-number">9</span> Value buffer (ValBuf)</span></h2>
<p><i>Description:</i> Tests of the value buffer. Contains 13 tests of all aspects of the value buffer (the subsystem "Archives-History").<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr></table>
<h2><span class="mw-headline" id="Value_archive_.28Archive.29"><span class="mw-headline-number">10</span> Value archive (Archive)</span></h2>
<p><i>Description:</i> Test of location in the value archives. Contains 7(8) tests of the value archiver to verify the correct functioning of the sequential packing mechanism.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr>
<tr>
<td> arch </td>
<td> Value archive </td>
<td> String </td>
<td> Input </td>
<td>
</td></tr>
<tr>
<td> period </td>
<td> Period of the values, microseconds </td>
<td> Integer </td>
<td> Input </td>
<td> 1000000
</td></tr>
<tr>
<td> archtor </td>
<td> Archiver </td>
<td> String </td>
<td> Input </td>
<td>
</td></tr></table>
<h2><span class="mw-headline" id="Base64_encoding_.28Base64Code.29"><span class="mw-headline-number">11</span> Base64 encoding (Base64Code)</span></h2>
<p><i>Description:</i> Mime Base64 algorithm encoding tests.<br />
<i>Parameters:</i>
</p>
<table class="wikitable">

<tr>
<th> Identifier </th>
<th> Name </th>
<th> Type </th>
<th> Mode </th>
<th> By defaults
</th></tr>
<tr>
<td> rez </td>
<td> Result </td>
<td> String </td>
<td> Return </td>
<td>
</td></tr></table>






</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/SystemTests/en">Modules/SystemTests/en</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>