<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.iplog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Z033</id>
		<title>IPLOG - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.iplog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Z033"/>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/wiki/Special:Contributions/Z033"/>
		<updated>2026-04-03T19:28:37Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Slave_Mode&amp;diff=1078</id>
		<title>Slave Mode</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Slave_Mode&amp;diff=1078"/>
				<updated>2025-07-16T09:10:41Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Slave MODE ===&lt;br /&gt;
MODBUS SLAVE contains 4 mapping arrays each with 9999 entries. The arrays are:&lt;br /&gt;
* Coils (0xxxxx) - cells of type BOOL&lt;br /&gt;
&lt;br /&gt;
* Discretes Input (1xxxxx) - cells of type BOOL&lt;br /&gt;
&lt;br /&gt;
* Holding Registers (4xxxxx) - cells of type WORD&lt;br /&gt;
&lt;br /&gt;
* Input Registers (3xxxxx) - cells of type WORD&lt;br /&gt;
Lines 1..9999 correspond to the MODBUS address offset.&lt;br /&gt;
&lt;br /&gt;
The default value for all cells in the arrays is '''NULL'''.&lt;br /&gt;
&lt;br /&gt;
===== Reading values from arrays =====&lt;br /&gt;
Use the ''MODBUS_GET_COIL'', ''MODBUS_GET_DISCRETE'', ''MODBUS_GET_HOLDING'', ''MODBUS_GET_INPUT'', ''MODBUS_GET2_HOLDING'' or ''MODBUS_GET2_INPUT'' function block to locally read array values.&lt;br /&gt;
&lt;br /&gt;
For remote reading of array values, use the standard MODBUS function via TCP connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;NOTE: If you try to read a NULL value, the INVALID VALUE error is returned.&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Write the values to the arrays =====&lt;br /&gt;
Use the ''MODBUS_SET_COIL'', ''MODBUS_SET_DISCRETE'', ''MODBUS_SET_HOLDING'', ''MODBUS_SET_INPUT, MODBUS_SET2_HOLDING or MODBUS_SET2_INPUT'' function block to locally write array values.&lt;br /&gt;
&lt;br /&gt;
Remote values can be writen to Coils and Holding arrays. For write, use standard MODBUS functions via TCP connection.&lt;br /&gt;
&lt;br /&gt;
===== Application =====&lt;br /&gt;
MODBUS TCP SLAVE is useful if you need to provide a state of your own inputs for remote devices. For example, the switch on/off state of the button is provided for another device.&lt;br /&gt;
&lt;br /&gt;
Similarly, if you need to set the status of the local relay from another device.&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_COIL =====&lt;br /&gt;
Reads the appropriate COIL value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_DISCRETE =====&lt;br /&gt;
Reads the appropriate DISCRETE value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_HOLDING =====&lt;br /&gt;
Reads the appropriate HOLDING register value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET2_HOLDING =====&lt;br /&gt;
Reads the two appropriate HOLDING registers value from the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET_INPUT =====&lt;br /&gt;
Reads the appropriate INPUT register value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET2_INPUT =====&lt;br /&gt;
Reads the two appropriate INPUT registers value from the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_SET_COIL =====&lt;br /&gt;
Writes the appropriate COIL value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_COILS =====&lt;br /&gt;
Writes the appropriate COILS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
&lt;br /&gt;
'''Always OfsAddrStart must be less than OfsAddrEnd.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrEnd&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to vrite&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Err&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Err_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_COILS_ALL =====&lt;br /&gt;
Write all COILS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETE =====&lt;br /&gt;
Writes the appropriate DISCRETE value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error_Codes|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETES =====&lt;br /&gt;
Writes the appropriate DISCRETES value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrEnd&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETES_ALL =====&lt;br /&gt;
Write all DISCRETES value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|val to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDING =====&lt;br /&gt;
Writes the appropriate HOLDING register value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDINGS =====&lt;br /&gt;
Writes the appropriate HOLDINGS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStop&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop(1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDINGS_ALL =====&lt;br /&gt;
Write all HOLDINGS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET2_HOLDING =====&lt;br /&gt;
Writes the two appropriate HOLDING registers value to the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_SET_INPUT =====&lt;br /&gt;
Writes the appropriate INPUT register value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_INPUTS =====&lt;br /&gt;
Writes the appropriate INPUTS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStop&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_INPUTS_ALL =====&lt;br /&gt;
Write all INPUTS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET2_INPUT =====&lt;br /&gt;
Writes the two appropriate INPUT registers value to the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_SLAVE =====&lt;br /&gt;
This function block starts listening TCP MODBUS slave deamon on the appropriate port.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|Listening TCP port (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (1-247) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Error_Codes&amp;diff=1077</id>
		<title>Error Codes</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Error_Codes&amp;diff=1077"/>
				<updated>2025-07-16T09:06:56Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Error codes ==&lt;br /&gt;
=== STANDARD ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x0&lt;br /&gt;
|ERROR_OK&lt;br /&gt;
|No error&lt;br /&gt;
|-&lt;br /&gt;
|0x100&lt;br /&gt;
|ERROR_STD_UNDEFINED_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x101&lt;br /&gt;
|ERROR_STD_OPERATION_NOT_PERMITTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x102&lt;br /&gt;
|ERROR_STD_NO_SUCH_FILE_OR_DIRECTORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x103&lt;br /&gt;
|ERROR_STD_NO_SUCH_PROCESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x104&lt;br /&gt;
|ERROR_STD_INTERRUPTED_SYSTEM_CALL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x105&lt;br /&gt;
|ERROR_STD_IO_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x107&lt;br /&gt;
|ERROR_STD_ARGUMENT_LIST_TOO_LONG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x108&lt;br /&gt;
|ERROR_STD_EXEC_FORMAT_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x109&lt;br /&gt;
|ERROR_STD_BAD_FILE_NUMBER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x10A&lt;br /&gt;
|ERROR_STD_NO_CHILD_PROCESSES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x10B&lt;br /&gt;
|ERROR_STD_TRY_AGAIN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x10C&lt;br /&gt;
|ERROR_STD_OUT_OF_MEMORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x10D&lt;br /&gt;
|ERROR_STD_PERMISSION_DENIED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x10E&lt;br /&gt;
|ERROR_STD_BAD_ADDRESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x10F&lt;br /&gt;
|ERROR_STD_BLOCK_DEVICE_REQUIRED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x110&lt;br /&gt;
|ERROR_STD_DEVICE_OR_RESOURCE_BUSY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x111&lt;br /&gt;
|ERROR_STD_FILE_EXISTS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x112&lt;br /&gt;
|ERROR_STD_CROSS_DEVICE_LINK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x113&lt;br /&gt;
|ERROR_STD_NO_SUCH_DEVICE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x114&lt;br /&gt;
|ERROR_STD_NOT_A_DIRECTORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x115&lt;br /&gt;
|ERROR_STD_IS_A_DIRECTORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x116&lt;br /&gt;
|ERROR_STD_INVALID_ARGUMENT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x117&lt;br /&gt;
|ERROR_STD_FILE_TABLE_OVERFLOW&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x118&lt;br /&gt;
|ERROR_STD_TOO_MANY_OPEN_FILES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x119&lt;br /&gt;
|ERROR_STD_NOT_A_TYPEWRITER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x11A&lt;br /&gt;
|ERROR_STD_TEXT_FILE_BUSY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x11B&lt;br /&gt;
|ERROR_STD_FILE_TOO_LARGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x11C&lt;br /&gt;
|ERROR_STD_NO_SPACE_LEFT_ON_DEVICE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x11D&lt;br /&gt;
|ERROR_STD_ILLEGAL_SEEK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x11E&lt;br /&gt;
|ERROR_STD_READ_ONLY_FILE_SYSTEM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x11F&lt;br /&gt;
|ERROR_STD_TOO_MANY_LINKS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x120&lt;br /&gt;
|ERROR_STD_BROKEN_PIPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |math software &lt;br /&gt;
|-&lt;br /&gt;
|0x121&lt;br /&gt;
|ERROR_STD_MATH_ARGUMENT_OUT_OF_DOMAIN_OF_FUNC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x122&lt;br /&gt;
|ERROR_STD_MATH_RESULT_NOT_REPRESENTABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |non-blocking and interrupt i/o &lt;br /&gt;
|-&lt;br /&gt;
|0x123&lt;br /&gt;
|ERROR_STD_RESOURCE_TEMPORARILY_UNAVAILABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x124&lt;br /&gt;
|ERROR_STD_OPERATION_NOW_IN_PROGRESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x125&lt;br /&gt;
|ERROR_STD_OPERATION_ALREADY_IN_PROGRESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |ipc/network software -- argument errors &lt;br /&gt;
|-&lt;br /&gt;
|0x126&lt;br /&gt;
|ERROR_STD_SOCKET_OPERATION_ON_NON_SOCKET&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x127&lt;br /&gt;
|ERROR_STD_DESTINATION_ADDRESS_REQUIRED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x128&lt;br /&gt;
|ERROR_STD_MESSAGE_TOO_LONG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x129&lt;br /&gt;
|ERROR_STD_PROTOCOL_WRONG_TYPE_FOR_SOCKET&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x12A&lt;br /&gt;
|ERROR_STD_PROTOCOL_NOT_AVAILABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x12B&lt;br /&gt;
|ERROR_STD_PROTOCOL_NOT_SUPPORTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x12C&lt;br /&gt;
|ERROR_STD_SOCKET_TYPE_NOT_SUPPORTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x12D&lt;br /&gt;
|ERROR_STD_OPERATION_NOT_SUPPORTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x12E&lt;br /&gt;
|ERROR_STD_PROTOCOL_FAMILY_NOT_SUPPORTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x12F&lt;br /&gt;
|ERROR_STD_ADDRESS_FAMILY_NOT_SUPPORTED_BY_PROTOCOL_FAMILY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x130&lt;br /&gt;
|ERROR_STD_ADDRESS_ALREADY_IN_USE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x131&lt;br /&gt;
|ERROR_STD_CANT_ASSIGN_REQUESTED_ADDRESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |ipc/network software -- operational errors &lt;br /&gt;
|-&lt;br /&gt;
|0x132&lt;br /&gt;
|ERROR_STD_NETWORK_IS_DOWN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x133&lt;br /&gt;
|ERROR_STD_NETWORK_IS_UNREACHABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x134&lt;br /&gt;
|ERROR_STD_NETWORK_DROPPED_CONNECTION_ON_RESET&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x135&lt;br /&gt;
|ERROR_STD_SOFTWARE_CAUSED_CONNECTION_ABORT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x136&lt;br /&gt;
|ERROR_STD_CONNECTION_RESET_BY_PEER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x137&lt;br /&gt;
|ERROR_STD_NO_BUFFER_SPACE_AVAILABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x138&lt;br /&gt;
|ERROR_STD_SOCKET_IS_ALREADY_CONNECTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x139&lt;br /&gt;
|ERROR_STD_SOCKET_IS_NOT_CONNECTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x13A&lt;br /&gt;
|ERROR_STD_CANT_SEND_AFTER_SOCKET_SHUTDOWN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x13B&lt;br /&gt;
|ERROR_STD_TOO_MANY_REFERENCES_CANT_SPLICE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x13C&lt;br /&gt;
|ERROR_STD_OPERATION_TIMED_OUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x13D&lt;br /&gt;
|ERROR_STD_CONNECTION_REFUSED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x13E&lt;br /&gt;
|ERROR_STD_TOO_MANY_LEVELS_OF_SYMBOLIC_LINKS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x13F&lt;br /&gt;
|ERROR_STD_FILE_NAME_TOO_LONG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |should be rearranged &lt;br /&gt;
|-&lt;br /&gt;
|0x140&lt;br /&gt;
|ERROR_STD_HOST_IS_DOWN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x141&lt;br /&gt;
|ERROR_STD_NO_ROUTE_TO_HOST&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x142&lt;br /&gt;
|ERROR_STD_DIRECTORY_NOT_EMPTY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |quotas &amp;amp; mush &lt;br /&gt;
|-&lt;br /&gt;
|0x143&lt;br /&gt;
|ERROR_STD_TOO_MANY_PROCESSES&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x144&lt;br /&gt;
|ERROR_STD_TOO_MANY_USERS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x145&lt;br /&gt;
|ERROR_STD_DISC_QUOTA_EXCEEDED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |Network File System &lt;br /&gt;
|-&lt;br /&gt;
|0x146&lt;br /&gt;
|ERROR_STD_STALE_NFS_FILE_HANDLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |others.. &lt;br /&gt;
|-&lt;br /&gt;
|0x150&lt;br /&gt;
|ERROR_STD_CORRUPTED_SHARED_LIBRARY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x151&lt;br /&gt;
|ERROR_STD_SECTION_CORRUPTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x152&lt;br /&gt;
|ERROR_STD_LINK_OVERFLOW&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x153&lt;br /&gt;
|ERROR_STD_EXEC_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x154&lt;br /&gt;
|ERROR_STD_ILLEGAL_BYTE_SEQUENCE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x155&lt;br /&gt;
|ERROR_STD_INTERRUPTED_SYSTEM_CALL_SHOULD_BE_RESTARTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x156&lt;br /&gt;
|ERROR_STD_STREAMS_PIPE_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x157&lt;br /&gt;
|ERROR_STD_TOO_MANY_USERS_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x158&lt;br /&gt;
|ERROR_STD_SOCKET_OPERATION_ON_NON_SOCKET_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x159&lt;br /&gt;
|ERROR_STD_DESTINATION_ADDRESS_REQUIRED_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15A&lt;br /&gt;
|ERROR_STD_MESSAGE_TOO_LONG_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15B&lt;br /&gt;
|ERROR_STD_PROTOCOL_WRONG_TYPE_FOR_SOCKET_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15C&lt;br /&gt;
|ERROR_STD_PROTOCOL_NOT_AVAILABLE_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15D&lt;br /&gt;
|ERROR_STD_PROTOCOL_NOT_SUPPORTED_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15E&lt;br /&gt;
|ERROR_STD_SOCKET_TYPE_NOT_SUPPORTED_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F&lt;br /&gt;
|ERROR_STD_OPERATION_NOT_SUPPORTED_ON_TRANSPORT_ENDPOINT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x160&lt;br /&gt;
|ERROR_STD_PROTOCOL_FAMILY_NOT_SUPPORTED_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x161&lt;br /&gt;
|ERROR_STD_ADDRESS_FAMILY_NOT_SUPPORTED_BY_PROTOCOL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x162&lt;br /&gt;
|ERROR_STD_ADDRESS_ALREADY_IN_USE_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x163&lt;br /&gt;
|ERROR_STD_CANNOT_ASSIGN_REQUESTED_ADDRESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x164&lt;br /&gt;
|ERROR_STD_NETWORK_IS_DOWN_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x165&lt;br /&gt;
|ERROR_STD_NETWORK_IS_UNREACHABLE_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x166&lt;br /&gt;
|ERROR_STD_NETWORK_DROPPED_CONNECTION_BECAUSE_OF_RESET&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x167&lt;br /&gt;
|ERROR_STD_SOFTWARE_CAUSED_CONNECTION_ABORT_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x168&lt;br /&gt;
|ERROR_STD_CONNECTION_RESET_BY_PEER_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x169&lt;br /&gt;
|ERROR_STD_NO_BUFFER_SPACE_AVAILABLE_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x16A&lt;br /&gt;
|ERROR_STD_TRANSPORT_ENDPOINT_IS_ALREADY_CONNECTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x16B&lt;br /&gt;
|ERROR_STD_TRANSPORT_ENDPOINT_IS_NOT_CONNECTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x16C&lt;br /&gt;
|ERROR_STD_CANNOT_SEND_AFTER_TRANSPORT_ENDPOINT_SHUTDOWN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x16D&lt;br /&gt;
|ERROR_STD_TOO_MANY_REFERENCES_CANNOT_SPLICE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x16E&lt;br /&gt;
|ERROR_STD_CONNECTION_TIMED_OUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x16F&lt;br /&gt;
|ERROR_STD_CONNECTION_REFUSED_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x170&lt;br /&gt;
|ERROR_STD_HOST_IS_DOWN_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x171&lt;br /&gt;
|ERROR_STD_NO_ROUTE_TO_HOST_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x172&lt;br /&gt;
|ERROR_STD_OPERATION_ALREADY_IN_PROGRESS_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x173&lt;br /&gt;
|ERROR_STD_OPERATION_NOW_IN_PROGRESS_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x174&lt;br /&gt;
|ERROR_STD_STALE_NFS_FILE_HANDLE_2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x175&lt;br /&gt;
|ERROR_STD_STRUCTURE_NEEDS_CLEANING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x176&lt;br /&gt;
|ERROR_STD_NOT_A_XENIX_NAMED_TYPE_FILE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x177&lt;br /&gt;
|ERROR_STD_NO_XENIX_SEMAPHORES_AVAILABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x178&lt;br /&gt;
|ERROR_STD_IS_A_NAMED_TYPE_FILE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x179&lt;br /&gt;
|ERROR_STD_REMOTE_IO_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x17A&lt;br /&gt;
|ERROR_STD_QUOTA_EXCEEDED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x17B&lt;br /&gt;
|ERROR_STD_NO_MEDIUM_FOUND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x17C&lt;br /&gt;
|ERROR_STD_WRONG_MEDIUM_TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x17D&lt;br /&gt;
|ERROR_STD_OPERATION_CANCELED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x17E&lt;br /&gt;
|ERROR_STD_REQUIRED_KEY_NOT_AVAILABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x17F&lt;br /&gt;
|ERROR_STD_KEY_HAS_EXPIRED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x180&lt;br /&gt;
|ERROR_STD_KEY_HAS_BEEN_REVOKED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x181&lt;br /&gt;
|ERROR_STD_KEY_WAS_REJECTED_BY_SERVICE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |for robust mutexes &lt;br /&gt;
|-&lt;br /&gt;
|0x182&lt;br /&gt;
|ERROR_STD_OWNER_DIED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x183&lt;br /&gt;
|ERROR_STD_STATE_NOT_RECOVERABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |for portable filenames &lt;br /&gt;
|-&lt;br /&gt;
|0x184&lt;br /&gt;
|ERROR_STD_ILLEGAL_FILENAME&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== GENERAL ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x201&lt;br /&gt;
|ERROR_BASE_EMPTY_FILE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x202&lt;br /&gt;
|ERROR_BASE_INVALID_CONTENT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x203&lt;br /&gt;
|ERROR_BASE_UNKNOWN_CMD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x204&lt;br /&gt;
|ERROR_BASE_NOT_IMPLEMENTED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== MOBUS ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1001&lt;br /&gt;
|ERROR_MODBUS_INVALID_BUS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1002&lt;br /&gt;
|ERROR_MODBUS_INVALID_REGISTER&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1003&lt;br /&gt;
|ERROR_MODBUS_INVALID_UNIT_ID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1011&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_ILLEGAL_FUNCTION&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1012&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1013&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1014&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_SLAVE_OR_SERVER_FAILURE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1015&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_ACKNOWLEDGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1016&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_SLAVE_OR_SERVER_BUSY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1017&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_NEGATIVE_ACKNOWLEDGE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1018&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_MEMORY_PARITY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1019&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_GATEWAY_PATH&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x101A&lt;br /&gt;
|ERROR_MODBUS_EXCEPTION_GATEWAY_TARGET&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1021&lt;br /&gt;
|ERROR_MODBUS_EMBBADCRC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1022&lt;br /&gt;
|ERROR_MODBUS_EMBBADDATA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1023&lt;br /&gt;
|ERROR_MODBUS_EMBBADEXC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1024&lt;br /&gt;
|ERROR_MODBUS_EMBUNKEXC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1025&lt;br /&gt;
|ERROR_MODBUS_EMBMDATA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1026&lt;br /&gt;
|ERROR_MODBUS_EMBBADSLAVE&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== EMAIL ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1100&lt;br /&gt;
|ERROR_EMAIL_UNDEFINED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1110&lt;br /&gt;
|ERROR_EMAIL_CURL_UNDEFINED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1111&lt;br /&gt;
|ERROR_EMAIL_CURL_SEND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1112&lt;br /&gt;
|ERROR_EMAIL_CURL_LOGIN_DENIED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1120&lt;br /&gt;
|ERROR_EMAIL_SMTP&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1121&lt;br /&gt;
|ERROR_EMAIL_SMTP530&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1122&lt;br /&gt;
|ERROR_EMAIL_SMTP553&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== LORA ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1200&lt;br /&gt;
|ERROR_LORA_UNDEFINED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1201&lt;br /&gt;
|ERROR_LORA_INVALID_HEXSTRING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1202&lt;br /&gt;
|ERROR_LORA_WRONG_LENGTH_HEXSTRING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1203&lt;br /&gt;
|ERROR_LORA_JOIN_DENIED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1210&lt;br /&gt;
|ERROR_LORA_DRIVER_INTERNAL_FAIL&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== SNMP ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1300&lt;br /&gt;
|ERROR_SNMP_UNDEFINED&lt;br /&gt;
|Unknown internal SNMP error&lt;br /&gt;
|-&lt;br /&gt;
|0x1301&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_TOOBIG&lt;br /&gt;
|The agent could not place the results of the requested SNMP operation in a single SNMP message.&lt;br /&gt;
|-&lt;br /&gt;
|0x1302&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_NOSUCHNAME&lt;br /&gt;
|The requested SNMP operation identified an unknown variable.&lt;br /&gt;
|-&lt;br /&gt;
|0x1303&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_BADVALUE&lt;br /&gt;
|The requested SNMP operation tried to change a variable but it specified either a syntax or value error.&lt;br /&gt;
|-&lt;br /&gt;
|0x1304&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_READONLY&lt;br /&gt;
|The requested SNMP operation tried to change a variable that was not allowed to change, according to the community profile of the variable.&lt;br /&gt;
|-&lt;br /&gt;
|0x1305&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_GENERR&lt;br /&gt;
|An error other than one of those listed here occurred during the requested SNMP operation.&lt;br /&gt;
|-&lt;br /&gt;
|0x1306&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_NOACCESS&lt;br /&gt;
|The specified SNMP variable is not accessible.&lt;br /&gt;
|-&lt;br /&gt;
|0x1307&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_WRONGTYPE&lt;br /&gt;
|The value specifies a type that is inconsistent with the type required for the variable.&lt;br /&gt;
|-&lt;br /&gt;
|0x1308&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_WRONGLENGTH&lt;br /&gt;
|The value specifies a length that is inconsistent with the length required for the variable.&lt;br /&gt;
|-&lt;br /&gt;
|0x1309&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_WRONGENCODING&lt;br /&gt;
|The value contains an Abstract Syntax Notation One (ASN.1) encoding that is inconsistent with the ASN.1 tag of the field.&lt;br /&gt;
|-&lt;br /&gt;
|0x130A&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_WRONGVALUE&lt;br /&gt;
|The value cannot be assigned to the variable.&lt;br /&gt;
|-&lt;br /&gt;
|0x130B&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_NOCREATION&lt;br /&gt;
|The variable does not exist, and the agent cannot create it.&lt;br /&gt;
|-&lt;br /&gt;
|0x130C&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_INCONSISTENTVALUE&lt;br /&gt;
|The value is inconsistent with values of other managed objects.&lt;br /&gt;
|-&lt;br /&gt;
|0x130D&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE&lt;br /&gt;
|Assigning the value to the variable requires allocation of resources that are currently unavailable.&lt;br /&gt;
|-&lt;br /&gt;
|0x130E&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_COMMITFAILED&lt;br /&gt;
|No validation errors occurred, but no variables were updated.&lt;br /&gt;
|-&lt;br /&gt;
|0x130F&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_UNDOFAILED&lt;br /&gt;
|No validation errors occurred. Some variables were updated because it was not possible to undo their assignment.&lt;br /&gt;
|-&lt;br /&gt;
|0x1310&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_AUTHORIZATIONERROR&lt;br /&gt;
|An authorization error occurred.&lt;br /&gt;
|-&lt;br /&gt;
|0x1311&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_NOTWRITABLE&lt;br /&gt;
|The variable exists but the agent cannot modify it.&lt;br /&gt;
|-&lt;br /&gt;
|0x1312&lt;br /&gt;
|ERROR_SNMP_ERRORSTATUS_INCONSISTENTNAME&lt;br /&gt;
|The variable does not exist; the agent cannot create it because the named object instance is inconsistent with the values of other managed objects.&lt;br /&gt;
|-&lt;br /&gt;
|0x1320&lt;br /&gt;
|ERROR_SNMP_GENERR&lt;br /&gt;
|Generic error&lt;br /&gt;
|-&lt;br /&gt;
|0x1321&lt;br /&gt;
|ERROR_SNMP_BAD_LOCPORT&lt;br /&gt;
|Invalid local port&lt;br /&gt;
|-&lt;br /&gt;
|0x1322&lt;br /&gt;
|ERROR_SNMP_BAD_ADDRESS&lt;br /&gt;
|Unknown host&lt;br /&gt;
|-&lt;br /&gt;
|0x1323&lt;br /&gt;
|ERROR_SNMP_BAD_SESSION&lt;br /&gt;
|Unknown session&lt;br /&gt;
|-&lt;br /&gt;
|0x1324&lt;br /&gt;
|ERROR_SNMP_TOO_LONG&lt;br /&gt;
|Too long&lt;br /&gt;
|-&lt;br /&gt;
|0x1325&lt;br /&gt;
|ERROR_SNMP_NO_SOCKET&lt;br /&gt;
|No socket&lt;br /&gt;
|-&lt;br /&gt;
|0x1326&lt;br /&gt;
|ERROR_SNMP_V2_IN_V1&lt;br /&gt;
|Cannot send V2 PDU on V1 session&lt;br /&gt;
|-&lt;br /&gt;
|0x1327&lt;br /&gt;
|ERROR_SNMP_V1_IN_V2&lt;br /&gt;
|Cannot send V1 PDU on V2 session&lt;br /&gt;
|-&lt;br /&gt;
|0x1328&lt;br /&gt;
|ERROR_SNMP_BAD_REPEATERS&lt;br /&gt;
|Bad value for non-repeaters&lt;br /&gt;
|-&lt;br /&gt;
|0x1329&lt;br /&gt;
|ERROR_SNMP_BAD_REPETITIONS&lt;br /&gt;
|Bad value for max-repetitions&lt;br /&gt;
|-&lt;br /&gt;
|0x132A&lt;br /&gt;
|ERROR_SNMP_BAD_ASN1_BUILD&lt;br /&gt;
|Error building ASN.1 representation&lt;br /&gt;
|-&lt;br /&gt;
|0x132B&lt;br /&gt;
|ERROR_SNMP_BAD_SENDTO&lt;br /&gt;
|Failure in sendto&lt;br /&gt;
|-&lt;br /&gt;
|0x132C&lt;br /&gt;
|ERROR_SNMP_BAD_PARSE&lt;br /&gt;
|Bad parse of ASN.1 type&lt;br /&gt;
|-&lt;br /&gt;
|0x132D&lt;br /&gt;
|ERROR_SNMP_BAD_VERSION&lt;br /&gt;
|Bad version specified&lt;br /&gt;
|-&lt;br /&gt;
|0x132E&lt;br /&gt;
|ERROR_SNMP_BAD_SRC_PARTY&lt;br /&gt;
|Bad source party specified&lt;br /&gt;
|-&lt;br /&gt;
|0x132F&lt;br /&gt;
|ERROR_SNMP_BAD_DST_PARTY&lt;br /&gt;
|Bad destination party specified&lt;br /&gt;
|-&lt;br /&gt;
|0x1330&lt;br /&gt;
|ERROR_SNMP_BAD_CONTEXT&lt;br /&gt;
|Bad context specified&lt;br /&gt;
|-&lt;br /&gt;
|0x1331&lt;br /&gt;
|ERROR_SNMP_BAD_COMMUNITY&lt;br /&gt;
|Bad community specified&lt;br /&gt;
|-&lt;br /&gt;
|0x1332&lt;br /&gt;
|ERROR_SNMP_NOAUTH_DESPRIV&lt;br /&gt;
|Cannot send noAuthPriv&lt;br /&gt;
|-&lt;br /&gt;
|0x1333&lt;br /&gt;
|ERROR_SNMP_BAD_ACL&lt;br /&gt;
|Bad ACL definition&lt;br /&gt;
|-&lt;br /&gt;
|0x1334&lt;br /&gt;
|ERROR_SNMP_BAD_PARTY&lt;br /&gt;
|Bad Party definition&lt;br /&gt;
|-&lt;br /&gt;
|0x1335&lt;br /&gt;
|ERROR_SNMP_ABORT&lt;br /&gt;
|Session abort failure&lt;br /&gt;
|-&lt;br /&gt;
|0x1336&lt;br /&gt;
|ERROR_SNMP_UNKNOWN_PDU&lt;br /&gt;
|Unknown PDU type&lt;br /&gt;
|-&lt;br /&gt;
|0x1337&lt;br /&gt;
|ERROR_SNMP_TIMEOUT&lt;br /&gt;
|Timeout&lt;br /&gt;
|-&lt;br /&gt;
|0x1338&lt;br /&gt;
|ERROR_SNMP_BAD_RECVFROM&lt;br /&gt;
|Failure in recvfrom&lt;br /&gt;
|-&lt;br /&gt;
|0x1339&lt;br /&gt;
|ERROR_SNMP_BAD_ENG_ID&lt;br /&gt;
|Unable to determine contextEngineID&lt;br /&gt;
|-&lt;br /&gt;
|0x133A&lt;br /&gt;
|ERROR_SNMP_BAD_SEC_NAME&lt;br /&gt;
|No securityName specified&lt;br /&gt;
|-&lt;br /&gt;
|0x133B&lt;br /&gt;
|ERROR_SNMP_BAD_SEC_LEVEL&lt;br /&gt;
|Unable to determine securityLevel&lt;br /&gt;
|-&lt;br /&gt;
|0x133C&lt;br /&gt;
|ERROR_SNMP_ASN_PARSE_ERR&lt;br /&gt;
|ASN.1 parse error in message&lt;br /&gt;
|-&lt;br /&gt;
|0x133D&lt;br /&gt;
|ERROR_SNMP_UNKNOWN_SEC_MODEL&lt;br /&gt;
|Unknown security model in message&lt;br /&gt;
|-&lt;br /&gt;
|0x133E&lt;br /&gt;
|ERROR_SNMP_INVALID_MSG&lt;br /&gt;
|Invalid message (e.g. msgFlags)&lt;br /&gt;
|-&lt;br /&gt;
|0x133F&lt;br /&gt;
|ERROR_SNMP_UNKNOWN_ENG_ID&lt;br /&gt;
|Unknown engine ID (Network is unreachable)&lt;br /&gt;
|-&lt;br /&gt;
|0x1340&lt;br /&gt;
|ERROR_SNMP_UNKNOWN_USER_NAME&lt;br /&gt;
|Unknown user name&lt;br /&gt;
|-&lt;br /&gt;
|0x1341&lt;br /&gt;
|ERROR_SNMP_UNSUPPORTED_SEC_LEVEL&lt;br /&gt;
|Unsupported security level&lt;br /&gt;
|-&lt;br /&gt;
|0x1342&lt;br /&gt;
|ERROR_SNMP_AUTHENTICATION_FAILURE&lt;br /&gt;
|Authentication failure (incorrect password, community or key)&lt;br /&gt;
|-&lt;br /&gt;
|0x1343&lt;br /&gt;
|ERROR_SNMP_NOT_IN_TIME_WINDOW&lt;br /&gt;
|Not in time window&lt;br /&gt;
|-&lt;br /&gt;
|0x1344&lt;br /&gt;
|ERROR_SNMP_DECRYPTION_ERR&lt;br /&gt;
|Decryption error&lt;br /&gt;
|-&lt;br /&gt;
|0x1345&lt;br /&gt;
|ERROR_SNMP_SC_GENERAL_FAILURE&lt;br /&gt;
|SCAPI general failure&lt;br /&gt;
|-&lt;br /&gt;
|0x1346&lt;br /&gt;
|ERROR_SNMP_SC_NOT_CONFIGURED&lt;br /&gt;
|SCAPI sub-system not configured&lt;br /&gt;
|-&lt;br /&gt;
|0x1347&lt;br /&gt;
|ERROR_SNMP_KT_NOT_AVAILABLE&lt;br /&gt;
|Key tools not available&lt;br /&gt;
|-&lt;br /&gt;
|0x1348&lt;br /&gt;
|ERROR_SNMP_UNKNOWN_REPORT&lt;br /&gt;
|Unknown Report message&lt;br /&gt;
|-&lt;br /&gt;
|0x1349&lt;br /&gt;
|ERROR_SNMP_USM_GENERICERROR&lt;br /&gt;
|USM generic error&lt;br /&gt;
|-&lt;br /&gt;
|0x134A&lt;br /&gt;
|ERROR_SNMP_USM_UNKNOWNSECURITYNAME&lt;br /&gt;
|USM unknown security name (no such user exists)&lt;br /&gt;
|-&lt;br /&gt;
|0x134B&lt;br /&gt;
|ERROR_SNMP_USM_UNSUPPORTEDSECURITYLEVEL&lt;br /&gt;
|USM unsupported security level (this user has not been configured for that level of security)&lt;br /&gt;
|-&lt;br /&gt;
|0x134C&lt;br /&gt;
|ERROR_SNMP_USM_ENCRYPTIONERROR&lt;br /&gt;
|USM encryption error&lt;br /&gt;
|-&lt;br /&gt;
|0x134D&lt;br /&gt;
|ERROR_SNMP_USM_AUTHENTICATIONFAILURE&lt;br /&gt;
|USM authentication failure (incorrect password or key)&lt;br /&gt;
|-&lt;br /&gt;
|0x134E&lt;br /&gt;
|ERROR_SNMP_USM_PARSEERROR&lt;br /&gt;
|USM parse error&lt;br /&gt;
|-&lt;br /&gt;
|0x134F&lt;br /&gt;
|ERROR_SNMP_USM_UNKNOWNENGINEID&lt;br /&gt;
|USM unknown engineID&lt;br /&gt;
|-&lt;br /&gt;
|0x1350&lt;br /&gt;
|ERROR_SNMP_USM_NOTINTIMEWINDOW&lt;br /&gt;
|USM not in time window&lt;br /&gt;
|-&lt;br /&gt;
|0x1351&lt;br /&gt;
|ERROR_SNMP_USM_DECRYPTIONERROR&lt;br /&gt;
|USM decryption error&lt;br /&gt;
|-&lt;br /&gt;
|0x1352&lt;br /&gt;
|ERROR_SNMP_NOMIB&lt;br /&gt;
|MIB not initialized&lt;br /&gt;
|-&lt;br /&gt;
|0x1353&lt;br /&gt;
|ERROR_SNMP_RANGE&lt;br /&gt;
|Value out of range&lt;br /&gt;
|-&lt;br /&gt;
|0x1354&lt;br /&gt;
|ERROR_SNMP_MAX_SUBID&lt;br /&gt;
|Sub-id out of range&lt;br /&gt;
|-&lt;br /&gt;
|0x1355&lt;br /&gt;
|ERROR_SNMP_BAD_SUBID&lt;br /&gt;
|Bad sub-id in object identifier&lt;br /&gt;
|-&lt;br /&gt;
|0x1356&lt;br /&gt;
|ERROR_SNMP_LONG_OID&lt;br /&gt;
|Object identifier too long&lt;br /&gt;
|-&lt;br /&gt;
|0x1357&lt;br /&gt;
|ERROR_SNMP_BAD_NAME&lt;br /&gt;
|Bad value name&lt;br /&gt;
|-&lt;br /&gt;
|0x1358&lt;br /&gt;
|ERROR_SNMP_VALUE&lt;br /&gt;
|Bad value notation&lt;br /&gt;
|-&lt;br /&gt;
|0x1359&lt;br /&gt;
|ERROR_SNMP_UNKNOWN_OBJID&lt;br /&gt;
|Unknown Object Identifier&lt;br /&gt;
|-&lt;br /&gt;
|0x135A&lt;br /&gt;
|ERROR_SNMP_NULL_PDU&lt;br /&gt;
|No PDU in snmp_send&lt;br /&gt;
|-&lt;br /&gt;
|0x135B&lt;br /&gt;
|ERROR_SNMP_NO_VARS&lt;br /&gt;
|Missing variables in PDU&lt;br /&gt;
|-&lt;br /&gt;
|0x135C&lt;br /&gt;
|ERROR_SNMP_VAR_TYPE&lt;br /&gt;
|Bad variable type&lt;br /&gt;
|-&lt;br /&gt;
|0x135D&lt;br /&gt;
|ERROR_SNMP_MALLOC&lt;br /&gt;
|Out of memory (malloc failure)&lt;br /&gt;
|-&lt;br /&gt;
|0x135E&lt;br /&gt;
|ERROR_SNMP_KRB5&lt;br /&gt;
|Kerberos related error&lt;br /&gt;
|-&lt;br /&gt;
|0x135F&lt;br /&gt;
|ERROR_SNMP_PROTOCOL&lt;br /&gt;
|Protocol error&lt;br /&gt;
|-&lt;br /&gt;
|0x1360&lt;br /&gt;
|ERROR_SNMP_OID_NONINCREASING&lt;br /&gt;
|OID not increasing&lt;br /&gt;
|-&lt;br /&gt;
|0x1361&lt;br /&gt;
|ERROR_SNMP_JUST_A_CONTEXT_PROBE&lt;br /&gt;
|Context probe&lt;br /&gt;
|-&lt;br /&gt;
|0x1362&lt;br /&gt;
|ERROR_SNMP_TRANSPORT_NO_CONFIG&lt;br /&gt;
|Configuration data found but the transport can't be configured&lt;br /&gt;
|-&lt;br /&gt;
|0x1363&lt;br /&gt;
|ERROR_SNMP_TRANSPORT_CONFIG_ERROR&lt;br /&gt;
|Transport configuration failed&lt;br /&gt;
|-&lt;br /&gt;
|0x1370&lt;br /&gt;
|ERROR_SNMP_NO_RESPONSE_TIMEOUT&lt;br /&gt;
|No response from the agent.&lt;br /&gt;
|-&lt;br /&gt;
|0x1380&lt;br /&gt;
|ERROR_SNMP_INVALID_AUTH&lt;br /&gt;
|Invalid SNMP authentication protocol, allowed values are MD5, SHA&lt;br /&gt;
|-&lt;br /&gt;
|0x1381&lt;br /&gt;
|ERROR_SNMP_INVALID_PRIV&lt;br /&gt;
|Invalid SNMP privacy protocol, allowed values are DES, AES&lt;br /&gt;
|-&lt;br /&gt;
|0x1382&lt;br /&gt;
|ERROR_SNMP_AUTH_PASS_IS_TOO_SHORT&lt;br /&gt;
|The authentication password must be at least 8 characters long.&lt;br /&gt;
|-&lt;br /&gt;
|0x1383&lt;br /&gt;
|ERROR_SNMP_PRIV_PASS_IS_TOO_SHORT&lt;br /&gt;
|The privacy password must be at least 8 characters long.&lt;br /&gt;
|}&lt;br /&gt;
=== ONVIF ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1400&lt;br /&gt;
|ERROR_ONVIF_UNDEFINED&lt;br /&gt;
|Unknown internal ONVIF error&lt;br /&gt;
|-&lt;br /&gt;
|0x1401&lt;br /&gt;
|ERROR_ONVIF_CONNECT_FAILURE&lt;br /&gt;
|Connection cannot be established&lt;br /&gt;
|-&lt;br /&gt;
|0x1402&lt;br /&gt;
|ERROR_ONVIF_AUTH_FAILED&lt;br /&gt;
|Authentification failed&lt;br /&gt;
|-&lt;br /&gt;
|0x1404&lt;br /&gt;
|ERROR_ONVIF_NO_HTTPS&lt;br /&gt;
|No https support&lt;br /&gt;
|-&lt;br /&gt;
|0x1405&lt;br /&gt;
|ERROR_ONVIF_RECV_TIMEOUT&lt;br /&gt;
|Reply reception timeout&lt;br /&gt;
|-&lt;br /&gt;
|0x1408&lt;br /&gt;
|ERROR_ONVIF_PARSE_FAILED&lt;br /&gt;
|Reply parse failed&lt;br /&gt;
|-&lt;br /&gt;
|0x140A&lt;br /&gt;
|ERROR_ONVIF_HTTP_RESPONSE_ERROR&lt;br /&gt;
|HTTP response error&lt;br /&gt;
|-&lt;br /&gt;
|0x140B&lt;br /&gt;
|ERROR_ONVIF_DEVICE_INIT_FAILED&lt;br /&gt;
|ONVIF device initializiation failed&lt;br /&gt;
|-&lt;br /&gt;
|0x140C&lt;br /&gt;
|ERROR_ONVIF_SUBSCRIPTION_FAILED&lt;br /&gt;
|Event subscription failed&lt;br /&gt;
|-&lt;br /&gt;
|0x140F&lt;br /&gt;
|ERROR_ONVIF_PROFILE_NOT_FOUND&lt;br /&gt;
|Given profile not found&lt;br /&gt;
|-&lt;br /&gt;
|0x1411&lt;br /&gt;
|ERROR_ONVIF_RELAY_NOT_FOUND&lt;br /&gt;
|Given relay not found&lt;br /&gt;
|-&lt;br /&gt;
|0x1412&lt;br /&gt;
|ERROR_ONVIF_PRESET_NOT_FOUND&lt;br /&gt;
|Given preset not found&lt;br /&gt;
|-&lt;br /&gt;
|0x1415&lt;br /&gt;
|ERROR_ONVIF_NO_SERVER_NOTIFICATION_SUPPORT&lt;br /&gt;
|ONVIF device does not support server notification method&lt;br /&gt;
|-&lt;br /&gt;
|0x1416&lt;br /&gt;
|ERROR_ONVIF_NO_PULL_MESSAGE_SUPPORT&lt;br /&gt;
|ONVIF device does not support event pulling method&lt;br /&gt;
|-&lt;br /&gt;
|0x141E&lt;br /&gt;
|ERROR_ONVIF_TIMEOUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x141F&lt;br /&gt;
|ERROR_ONVIF_DAEMON_RUNNING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1431&lt;br /&gt;
|ERROR_ONVIF_CACHE_FULL&lt;br /&gt;
|Device cache full (allow 16 devices)&lt;br /&gt;
|-&lt;br /&gt;
|0x1432&lt;br /&gt;
|ERROR_ONVIF_ID_NONE&lt;br /&gt;
|Given ONVIF ID is invalid&lt;br /&gt;
|-&lt;br /&gt;
|0x1433&lt;br /&gt;
|ERROR_ONVIF_ID_NOT_INITIALIZED&lt;br /&gt;
|Given ONVIF ID has no assigned data&lt;br /&gt;
|-&lt;br /&gt;
|0x1434&lt;br /&gt;
|ERROR_ONVIF_PARAM_NOT_IN_PAIRS&lt;br /&gt;
|Given params are not properly paired&lt;br /&gt;
|}&lt;br /&gt;
=== RCT ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x15FF&lt;br /&gt;
|ERROR_RCT_PARAMETER_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15FE&lt;br /&gt;
|ERROR_RCT_TCP_CONNECTION_ERROR_TIMEOUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15FD&lt;br /&gt;
|ERROR_RCT_TCP_CONNECTION_ERROR_REFUSED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15FC&lt;br /&gt;
|ERROR_RCT_TCP_CONNECTION_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15FB&lt;br /&gt;
|ERROR_RCT_TCP_SEND_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15FA&lt;br /&gt;
|ERROR_RCT_TCP_RECEIVE_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F9&lt;br /&gt;
|ERROR_RCT_TCP_NO_ROUTE_TO_HOST&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F8&lt;br /&gt;
|ERROR_RCT_TCP_UNKNOWN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F7&lt;br /&gt;
|ERROR_RCT_RCT_CRC_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F6&lt;br /&gt;
|ERROR_RCT_RCT_TX_DATA_CONVERTING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F5&lt;br /&gt;
|ERROR_RCT_RCT_RX_DATA_CONVERTING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F4&lt;br /&gt;
|ERROR_RCT_RCT_UNKNOWN_DATA_TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F3&lt;br /&gt;
|ERROR_RCT_RCT_UNKNOWN_FRAME&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F2&lt;br /&gt;
|ERROR_RCT_RCT_NO_DATA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x15F1&lt;br /&gt;
|ERROR_RCT_RCT_UNKNOWN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x159C&lt;br /&gt;
|ERROR_RCT_UNKNOWN_ERROR&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== PELCO ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1601&lt;br /&gt;
|ERROR_PELCO_ADDRESS_INVALID&lt;br /&gt;
|Pelco device index out of range&lt;br /&gt;
|-&lt;br /&gt;
|0x1602&lt;br /&gt;
|ERROR_PELCO_PRESET_INDEX_INVALID&lt;br /&gt;
|Pelco preset index out of range&lt;br /&gt;
|-&lt;br /&gt;
|0x1603&lt;br /&gt;
|ERROR_PELCO_WRITING_COMMAND_FAILED&lt;br /&gt;
|Error when writing to serial port&lt;br /&gt;
|-&lt;br /&gt;
|0x1604&lt;br /&gt;
|ERROR_PELCO_READING_REPLY_FAILED&lt;br /&gt;
|No reply from device in timeout&lt;br /&gt;
|-&lt;br /&gt;
|0x1605&lt;br /&gt;
|ERROR_PELCO_INVALID_BAUDRATE&lt;br /&gt;
|Invalid baudrate&lt;br /&gt;
|-&lt;br /&gt;
|0x1606&lt;br /&gt;
|ERROR_PELCO_CANNOT_OPEN_SERIAL_PORT&lt;br /&gt;
|Cannot open serial port&lt;br /&gt;
|-&lt;br /&gt;
|0x1607&lt;br /&gt;
|ERROR_PELCO_UNKNOWN_BUS_USED&lt;br /&gt;
|Unknown RS485 bus&lt;br /&gt;
|}&lt;br /&gt;
=== VALERT ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1701&lt;br /&gt;
|ERROR_VALERT_MESSAGE_INVALID&lt;br /&gt;
|invalid VALERT message&lt;br /&gt;
|-&lt;br /&gt;
|0x1702&lt;br /&gt;
|ERROR_VALERT_NO_BUS_SPECIFIED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1703&lt;br /&gt;
|ERROR_VALERT_CANNOT_OPEN_SERIAL_PORT&lt;br /&gt;
|Cannot open serial port.&lt;br /&gt;
|}&lt;br /&gt;
=== MOBOTIX ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1801&lt;br /&gt;
|ERROR_MOBOTIX_UNSUPPORTED_PROTOCOL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1802&lt;br /&gt;
|ERROR_MOBOTIX_FAILED_TO_INITIALIZE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1803&lt;br /&gt;
|ERROR_MOBOTIX_URL_MALFORMED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1804&lt;br /&gt;
|ERROR_MOBOTIX_A_FEATURE_OR_OPTIONS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1805&lt;br /&gt;
|ERROR_MOBOTIX_COULDNT_RESOLVE_PROXY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1806&lt;br /&gt;
|ERROR_MOBOTIX_COULDNT_RESOLVE_HOST&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1807&lt;br /&gt;
|ERROR_MOBOTIX_FAILED_TO_CONNECT_TO_HOST&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1808&lt;br /&gt;
|ERROR_MOBOTIX_A_PROBLEM_WAS_DETECTED_IN_THE_HTTP_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1809&lt;br /&gt;
|ERROR_MOBOTIX_HTTP_PAGE_NOT_RETRIEVED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x180A&lt;br /&gt;
|ERROR_MOBOTIX_WRITE_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x180B&lt;br /&gt;
|ERROR_MOBOTIX_UPLOAD_FAILED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x180C&lt;br /&gt;
|ERROR_MOBOTIX_READ_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x180D&lt;br /&gt;
|ERROR_MOBOTIX_OUT_OF_MEMORY&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x180E&lt;br /&gt;
|ERROR_MOBOTIX_OPERATION_TIMEOUT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x180F&lt;br /&gt;
|ERROR_MOBOTIX_HTTP_RANGE_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1810&lt;br /&gt;
|ERROR_MOBOTIX_HTTP_POST_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1811&lt;br /&gt;
|ERROR_MOBOTIX_TLS_SSL_CONNECTION_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1812&lt;br /&gt;
|ERROR_MOBOTIX_ABORTED_BY_CALLBACK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1813&lt;br /&gt;
|ERROR_MOBOTIX_INTERCASE_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1814&lt;br /&gt;
|ERROR_MOBOTIX_TOO_MANY_REDIRECTION&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1815&lt;br /&gt;
|ERROR_MOBOTIX_UNKNOUWN_OPTIONS_SPECIFIED_TO_LIBCURL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1816&lt;br /&gt;
|ERROR_MOBOTIX_THE_SERVER_DID_NOT_REPLY_ANYTHING&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1817&lt;br /&gt;
|ERROR_MOBOTIX_FAILED_SENDING_NETWORK_DATA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1818&lt;br /&gt;
|ERROR_MOBOTIX_USER_NAME_PASS_OR_SIMILAR_WAS_NOT_ACCEPTED&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x1819&lt;br /&gt;
|ERROR_MOBOTIX_RESOURCE_REFERENCED_IN_THE_URL_DOES_NOT_EXIST&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x181A&lt;br /&gt;
|ERROR_MOBOTIX_NO_CONNECTION_AVAILABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x181B&lt;br /&gt;
|ERROR_MOBOTIX_AUTHENTIC_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x181C&lt;br /&gt;
|ERROR_MOBOTIX_SYNTAX_JSON_PROTOCOL_ERROR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x18FE&lt;br /&gt;
|ERROR_MOBOTIX_UNKNOWN_ERROR_MX_SMART_PROTOCOL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|0x18FF&lt;br /&gt;
|ERROR_MOBOTIX_UNKNOWN_ERROR&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== KEYENCE ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x1901&lt;br /&gt;
|ERROR_KEYENCE_PARAMETER_ERROR&lt;br /&gt;
|One or more parameter are invalid or missing.&lt;br /&gt;
|-&lt;br /&gt;
|0x1902&lt;br /&gt;
|ERROR_KEYENCE_TCP_CONNECTION_ERROR_TIMEOUT&lt;br /&gt;
|Connection timeout.&lt;br /&gt;
|-&lt;br /&gt;
|0x1903&lt;br /&gt;
|ERROR_KEYENCE_TCP_CONNECTION_ERROR_REFUSED&lt;br /&gt;
|Connection refused&lt;br /&gt;
|-&lt;br /&gt;
|0x1904&lt;br /&gt;
|ERROR_KEYENCE_TCP_CONNECTION_ERROR&lt;br /&gt;
|Connection error.&lt;br /&gt;
|-&lt;br /&gt;
|0x1905&lt;br /&gt;
|ERROR_KEYENCE_TCP_SEND_ERROR&lt;br /&gt;
|Error with sendig.&lt;br /&gt;
|-&lt;br /&gt;
|0x1906&lt;br /&gt;
|ERROR_KEYENCE_TCP_RECEIVE_ERROR&lt;br /&gt;
|Error with receiving.&lt;br /&gt;
|-&lt;br /&gt;
|0x1907&lt;br /&gt;
|ERROR_KEYENCE_TCP_NO_ROUTE_TO_HOST&lt;br /&gt;
|No route to host.&lt;br /&gt;
|-&lt;br /&gt;
|0x1908&lt;br /&gt;
|ERROR_KEYENCE_TCP_UNKNOWN&lt;br /&gt;
|TCP error unknown.&lt;br /&gt;
|-&lt;br /&gt;
|0x1909&lt;br /&gt;
|ERROR_KEYENCE_KEYENCE_COMMUNICATION&lt;br /&gt;
|Error with keyence.&lt;br /&gt;
|-&lt;br /&gt;
|0x190A&lt;br /&gt;
|ERROR_KEYENCE_KEYENCE_BANK_OUT_OF_RANGE&lt;br /&gt;
|Bank out of range.&lt;br /&gt;
|-&lt;br /&gt;
|0x190B&lt;br /&gt;
|ERROR_KEYENCE_KEYENCE_TUNE&lt;br /&gt;
|Tune error.&lt;br /&gt;
|-&lt;br /&gt;
|0x190C&lt;br /&gt;
|ERROR_KEYENCE_KEYENCE_BANK_ERROR&lt;br /&gt;
|Bank error.&lt;br /&gt;
|-&lt;br /&gt;
|0x190D&lt;br /&gt;
|ERROR_KEYENCE_KEYENCE_READ_ERROR&lt;br /&gt;
|Read error.&lt;br /&gt;
|-&lt;br /&gt;
|0x190E&lt;br /&gt;
|ERROR_KEYENCE_KEYENCE_READ_TIMEOUT&lt;br /&gt;
|Read time out.&lt;br /&gt;
|-&lt;br /&gt;
|0x190F&lt;br /&gt;
|ERROR_KEYENCE_KEYENCE_UNKNOWN&lt;br /&gt;
|Keyence unknown error.&lt;br /&gt;
|-&lt;br /&gt;
|0x1964&lt;br /&gt;
|ERROR_KEYENCE_UNKNOWN&lt;br /&gt;
|Keyence unknown error.&lt;br /&gt;
|-&lt;br /&gt;
|0x1965&lt;br /&gt;
|ERROR_KEYENCE_ERROR&lt;br /&gt;
|Keyence error.&lt;br /&gt;
|}&lt;br /&gt;
=== BACNET ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x2002&lt;br /&gt;
|ERROR_BACNET_daemon_TCP_CONNECTION_ERROR_TIMEOUT_ERROR&lt;br /&gt;
|TCP connection timeout error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2003&lt;br /&gt;
|ERROR_BACNET_daemon_TCP_CONNECTION_ERROR_REFUSED_ERROR&lt;br /&gt;
|TCP connection refused error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2004&lt;br /&gt;
|ERROR_BACNET_daemon_TCP_CONNECTION_ERROR&lt;br /&gt;
|TCP connection error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2005&lt;br /&gt;
|ERROR_BACNET_daemon_TCP_SEND_ERROR&lt;br /&gt;
|TCP send error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2006&lt;br /&gt;
|ERROR_BACNET_daemon_TCP_RECEIVE_ERROR&lt;br /&gt;
|TCP receive error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2007&lt;br /&gt;
|ERROR_BACNET_daemon_TCP_NO_ROUTE_TO_HOST_ERROR&lt;br /&gt;
|TCP no route to host.&lt;br /&gt;
|-&lt;br /&gt;
|0x2008&lt;br /&gt;
|ERROR_BACNET_daemon_TCP_UNKNOWN_ERROR&lt;br /&gt;
|TCP unknown error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2009&lt;br /&gt;
|ERROR_BACNET_daemon_BACNET_NO_DATA_TO_SEND_ERROR&lt;br /&gt;
|No tx data.&lt;br /&gt;
|-&lt;br /&gt;
|0x200A&lt;br /&gt;
|ERROR_BACNET_daemon_BACNET_NO_RX_DATA_ERROR&lt;br /&gt;
|No rx data.&lt;br /&gt;
|-&lt;br /&gt;
|0x200B&lt;br /&gt;
|ERROR_BACNET_daemon_BACNET_PROTOCOL_ERROR&lt;br /&gt;
|Protocol error.&lt;br /&gt;
|-&lt;br /&gt;
|0x200C&lt;br /&gt;
|ERROR_BACNET_daemon_BACNET_INIT&lt;br /&gt;
|Bacnet init.&lt;br /&gt;
|-&lt;br /&gt;
|0x200D&lt;br /&gt;
|ERROR_BACNET_daemon_BACNET_RUN&lt;br /&gt;
|Bacnet run.&lt;br /&gt;
|-&lt;br /&gt;
|0x200E&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_DEVICE_NOT_EXIST&lt;br /&gt;
|Device not exist.&lt;br /&gt;
|-&lt;br /&gt;
|0x200F&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_SERVICE_NOT_EXIST&lt;br /&gt;
|Service not exist.&lt;br /&gt;
|-&lt;br /&gt;
|0x2010&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_SERVICE_ID_NOT_EXIST&lt;br /&gt;
|Service ID not exist.&lt;br /&gt;
|-&lt;br /&gt;
|0x2011&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_CMD_INVALID&lt;br /&gt;
|Command invalid.&lt;br /&gt;
|-&lt;br /&gt;
|0x2012&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_WAITING_FOR_DEVICES&lt;br /&gt;
|Waiting for devices.&lt;br /&gt;
|-&lt;br /&gt;
|0x2013&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_PROPERTY_NOT_SUPPORTED&lt;br /&gt;
|Property not supported.&lt;br /&gt;
|-&lt;br /&gt;
|0x2014&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_SERVICE_MODE_ERROR&lt;br /&gt;
|Service mode error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2015&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_DEVICE_OR_SERVICE_NOT_EXIST&lt;br /&gt;
|Device or service error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2016&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_INTERNAL_ERROR&lt;br /&gt;
|Internal error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2017&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_SERVICE_WRITE&lt;br /&gt;
|Service write error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2018&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_SERVICE_TIMEOUT&lt;br /&gt;
|Service timeout.&lt;br /&gt;
|-&lt;br /&gt;
|0x2019&lt;br /&gt;
|ERROR_BACNET_daemon_PROTOCOL_UNKNOWN_ERROR&lt;br /&gt;
|Daemon unknown error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2020&lt;br /&gt;
|ERROR_BLOCK_BACNET_START_RS485_MISSING_SOME_PARAMETER&lt;br /&gt;
|Missing some parameters.&lt;br /&gt;
|-&lt;br /&gt;
|0x2021&lt;br /&gt;
|ERROR_BLOCK_BACNET_START_IP_MISSING_SOME_PARAMETER&lt;br /&gt;
|Missing some parameters.&lt;br /&gt;
|-&lt;br /&gt;
|0x20F0&lt;br /&gt;
|ERROR_BACNET_daemon_START_ERROR&lt;br /&gt;
|Daemon not started.&lt;br /&gt;
|-&lt;br /&gt;
|0x20F1&lt;br /&gt;
|ERROR_BACNET_daemon_INST_ID&lt;br /&gt;
|Daemon instance ID is wrong.&lt;br /&gt;
|}&lt;br /&gt;
=== BACNET PROTOCOL ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x2101&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_OTHER_ERROR&lt;br /&gt;
|Bacnet other error.&lt;br /&gt;
|-&lt;br /&gt;
|0x2102&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_DEVICE_BUSSY_ERROR&lt;br /&gt;
|Device busy&lt;br /&gt;
|-&lt;br /&gt;
|0x2103&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_DEVICE_CONFIGURATION_IN_PROGRESS_ERROR&lt;br /&gt;
|Configuration in progress error&lt;br /&gt;
|-&lt;br /&gt;
|0x2104&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_DEVICE_OPERATIONAL_PROBLEM_ERROR&lt;br /&gt;
|Operational problem.&lt;br /&gt;
|-&lt;br /&gt;
|0x2105&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_OBJECT_DYNAMIC_CREATION_NOT_SUPPORTED_ERROR&lt;br /&gt;
|Dynamic creation not supported&lt;br /&gt;
|-&lt;br /&gt;
|0x2106&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_OBJECT_NO_OBJECTS_OF_SPECIFIED_TYPE_ERROR&lt;br /&gt;
|No object of specified type.&lt;br /&gt;
|-&lt;br /&gt;
|0x2107&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_OBJECT_OBJECT_DELETION_NOT_PERMITTED_ERROR&lt;br /&gt;
|Object deletion not supported.&lt;br /&gt;
|-&lt;br /&gt;
|0x2108&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_OBJECT_OBJECT_IDENTIFIER_ALREADY_EXISTS_ERROR&lt;br /&gt;
|Identifier already exist.&lt;br /&gt;
|-&lt;br /&gt;
|0x2109&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_OBJECT_READ_ACCESS_DENIED_ERROR&lt;br /&gt;
|Read access denied.&lt;br /&gt;
|-&lt;br /&gt;
|0x210A&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_OBJECT_UNKNOWN_OBJECT_ERROR&lt;br /&gt;
|Unknown object.&lt;br /&gt;
|-&lt;br /&gt;
|0x210B&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_OBJECT_UNSUPPORTED_OBJECT_TYPE_ERROR&lt;br /&gt;
|unsupported object type.&lt;br /&gt;
|-&lt;br /&gt;
|0x210C&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_CHARACTER_SET_NOT_SUPPORTED_ERROR&lt;br /&gt;
|Property character set not supported.&lt;br /&gt;
|-&lt;br /&gt;
|0x210D&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_DATATYPE_NOT_SUPPORTED_ERROR&lt;br /&gt;
|Property data type not supported.&lt;br /&gt;
|-&lt;br /&gt;
|0x210E&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_INCONSISTENT_SELECTION_CRITERION_ERROR&lt;br /&gt;
|Property inconsistent selection criterion.&lt;br /&gt;
|-&lt;br /&gt;
|0x210F&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_INVALID_ARRAY_INDEX_ERROR&lt;br /&gt;
|Property invalid array type.&lt;br /&gt;
|-&lt;br /&gt;
|0x2110&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_INVALID_DATA_TYPE_ERROR&lt;br /&gt;
|Property invalid data type.&lt;br /&gt;
|-&lt;br /&gt;
|0x2111&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_NOT_COV_PROPERTY_ERROR&lt;br /&gt;
|Property not COV.&lt;br /&gt;
|-&lt;br /&gt;
|0x2112&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED_ERROR&lt;br /&gt;
|Property optional functionality not supported.&lt;br /&gt;
|-&lt;br /&gt;
|0x2113&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_PROPERTY_IS_NOT_AN_ARRAY_ERROR&lt;br /&gt;
|Property is not an array.&lt;br /&gt;
|-&lt;br /&gt;
|0x2114&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_READ_ACCESS_DENIED_ERROR&lt;br /&gt;
|Read access denied.&lt;br /&gt;
|-&lt;br /&gt;
|0x2115&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_UNKNOWN_PROPERTY_ERROR&lt;br /&gt;
|Property unknown property.&lt;br /&gt;
|-&lt;br /&gt;
|0x2116&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_VALUE_OUT_OF_RANGE_ERROR&lt;br /&gt;
|Property value out of range.&lt;br /&gt;
|-&lt;br /&gt;
|0x2117&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_PROPERTY_WRITE_ACCESS_DENIED_ERROR&lt;br /&gt;
|Property write access denied.&lt;br /&gt;
|-&lt;br /&gt;
|0x2118&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_RESOURCES_NO_SPACE_FOR_OBJECT_ERROR&lt;br /&gt;
|No space for object.&lt;br /&gt;
|-&lt;br /&gt;
|0x2119&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_RESOURCES_NO_SPACE_TO_ADD_LIST_ELEMENT_ERROR&lt;br /&gt;
|No space to add list element.&lt;br /&gt;
|-&lt;br /&gt;
|0x211A&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_RESOURCES_NO_SPACE_TO_WRITE_PROPERTY_ERROR&lt;br /&gt;
|No space to write property.&lt;br /&gt;
|-&lt;br /&gt;
|0x211B&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_COV_SUBSCRIPTION_FAILED_ERROR&lt;br /&gt;
|Service COV subscription failed.&lt;br /&gt;
|-&lt;br /&gt;
|0x211C&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_DUPLICATE_NAME_ERROR&lt;br /&gt;
|Service duplicate name.&lt;br /&gt;
|-&lt;br /&gt;
|0x211D&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_DUPLICATE_OBJECT_ID_ERROR&lt;br /&gt;
|Service duplicate object ID.&lt;br /&gt;
|-&lt;br /&gt;
|0x211E&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_FILE_ACCESS_DENIED_ERROR&lt;br /&gt;
|Service file access denied.&lt;br /&gt;
|-&lt;br /&gt;
|0x211F&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_INCONSISTENT_PARAMETERS_ERROR&lt;br /&gt;
|Service inconsistent.&lt;br /&gt;
|-&lt;br /&gt;
|0x2120&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_INVALID_CONFIGURATION_DATA_ERROR&lt;br /&gt;
|Service invalid configuration data.&lt;br /&gt;
|-&lt;br /&gt;
|0x2121&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_INVALID_FILE_ACCESS_METHOD_ERROR&lt;br /&gt;
|Service invalid file access method.&lt;br /&gt;
|-&lt;br /&gt;
|0x2122&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_INVALID_FILE_START_POSITION_ERROR&lt;br /&gt;
|Service invalid file start possition.&lt;br /&gt;
|-&lt;br /&gt;
|0x2123&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_INVALID_PARAMETER_DATA_TYPE_ERROR&lt;br /&gt;
|Service invalid parameter data type.&lt;br /&gt;
|-&lt;br /&gt;
|0x2124&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_INVALID_TIME_STAMP_ERROR&lt;br /&gt;
|Service invalid time stamp.&lt;br /&gt;
|-&lt;br /&gt;
|0x2125&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_MISSING_REQUIRED_PARAMETER_ERROR&lt;br /&gt;
|Service missing required parameter.&lt;br /&gt;
|-&lt;br /&gt;
|0x2126&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED_ERROR&lt;br /&gt;
|Service optional functionality not supported.&lt;br /&gt;
|-&lt;br /&gt;
|0x2127&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_PROPERTY_IS_NOT_A_LIST_ERROR&lt;br /&gt;
|Service property is not a list.&lt;br /&gt;
|-&lt;br /&gt;
|0x2128&lt;br /&gt;
|ERROR_BACNET_PROTOCOL_SERVICES_SERVICE_REQUEST_DENIED_ERROR&lt;br /&gt;
|Service request denied.&lt;br /&gt;
|}&lt;br /&gt;
=== RUN_ASYNC ERRORS ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Error code&lt;br /&gt;
!Short name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x2201&lt;br /&gt;
|ERROR_RUN_ASYNC_INVALID_MISSING_CMD&lt;br /&gt;
|Missing input command&lt;br /&gt;
|-&lt;br /&gt;
|0x2202&lt;br /&gt;
|ERROR_RUN_ASYNC_INVALID_EXPIRED_TIMEOUT_OR_KILLED&lt;br /&gt;
|The execution of the command exceeded the maximum time limit or was terminated by the operating system&lt;br /&gt;
|-&lt;br /&gt;
|0x2203&lt;br /&gt;
|ERROR_RUN_ASYNC_INVALID_OUTPUT_OVERFLOW&lt;br /&gt;
|The last line of the stdout or stderr output is longer than 255 characters.&lt;br /&gt;
|-&lt;br /&gt;
|0x2200&lt;br /&gt;
|ERROR_RUN_ASYNC_INTERNAL_ERROR&lt;br /&gt;
|Unexpected internal error.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Slave_Mode&amp;diff=1076</id>
		<title>Slave Mode</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Slave_Mode&amp;diff=1076"/>
				<updated>2025-07-16T03:58:14Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: Created page with &amp;quot;=== Slave MODE === MODBUS SLAVE contains 4 mapping arrays each with 9999 entries. The arrays are: * Coils (0xxxxx) - cells of type BOOL  * Discretes Input (1xxxxx) - cells of...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Slave MODE ===&lt;br /&gt;
MODBUS SLAVE contains 4 mapping arrays each with 9999 entries. The arrays are:&lt;br /&gt;
* Coils (0xxxxx) - cells of type BOOL&lt;br /&gt;
&lt;br /&gt;
* Discretes Input (1xxxxx) - cells of type BOOL&lt;br /&gt;
&lt;br /&gt;
* Holding Registers (4xxxxx) - cells of type WORD&lt;br /&gt;
&lt;br /&gt;
* Input Registers (3xxxxx) - cells of type WORD&lt;br /&gt;
Lines 1..9999 correspond to the MODBUS address offset.&lt;br /&gt;
&lt;br /&gt;
The default value for all cells in the arrays is '''NULL'''.&lt;br /&gt;
&lt;br /&gt;
===== Reading values from arrays =====&lt;br /&gt;
Use the ''MODBUS_GET_COIL'', ''MODBUS_GET_DISCRETE'', ''MODBUS_GET_HOLDING'', ''MODBUS_GET_INPUT'', ''MODBUS_GET2_HOLDING'' or ''MODBUS_GET2_INPUT'' function block to locally read array values.&lt;br /&gt;
&lt;br /&gt;
For remote reading of array values, use the standard MODBUS function via TCP connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;NOTE: If you try to read a NULL value, the INVALID VALUE error is returned.&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Write the values to the arrays =====&lt;br /&gt;
Use the ''MODBUS_SET_COIL'', ''MODBUS_SET_DISCRETE'', ''MODBUS_SET_HOLDING'', ''MODBUS_SET_INPUT, MODBUS_SET2_HOLDING or MODBUS_SET2_INPUT'' function block to locally write array values.&lt;br /&gt;
&lt;br /&gt;
Remote values can be writen to Coils and Holding arrays. For write, use standard MODBUS functions via TCP connection.&lt;br /&gt;
&lt;br /&gt;
===== Application =====&lt;br /&gt;
MODBUS TCP SLAVE is useful if you need to provide a state of your own inputs for remote devices. For example, the switch on/off state of the button is provided for another device.&lt;br /&gt;
&lt;br /&gt;
Similarly, if you need to set the status of the local relay from another device.&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_COIL =====&lt;br /&gt;
Reads the appropriate COIL value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_DISCRETE =====&lt;br /&gt;
Reads the appropriate DISCRETE value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_HOLDING =====&lt;br /&gt;
Reads the appropriate HOLDING register value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET2_HOLDING =====&lt;br /&gt;
Reads the two appropriate HOLDING registers value from the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET_INPUT =====&lt;br /&gt;
Reads the appropriate INPUT register value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET2_INPUT =====&lt;br /&gt;
Reads the two appropriate INPUT registers value from the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_SET_COIL =====&lt;br /&gt;
Writes the appropriate COIL value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_COILS =====&lt;br /&gt;
Writes the appropriate COILS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
&lt;br /&gt;
'''Always OfsAddrStart must be less than OfsAddrEnd.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrEnd&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to vrite&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Err&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Err_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_COILS_ALL =====&lt;br /&gt;
Write all COILS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETE =====&lt;br /&gt;
Writes the appropriate DISCRETE value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETES =====&lt;br /&gt;
Writes the appropriate DISCRETES value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrEnd&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETES_ALL =====&lt;br /&gt;
Write all DISCRETES value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|val to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDING =====&lt;br /&gt;
Writes the appropriate HOLDING register value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDINGS =====&lt;br /&gt;
Writes the appropriate HOLDINGS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStop&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop(1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDINGS_ALL =====&lt;br /&gt;
Write all HOLDINGS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET2_HOLDING =====&lt;br /&gt;
Writes the two appropriate HOLDING registers value to the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_SET_INPUT =====&lt;br /&gt;
Writes the appropriate INPUT register value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_INPUTS =====&lt;br /&gt;
Writes the appropriate INPUTS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStop&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_INPUTS_ALL =====&lt;br /&gt;
Write all INPUTS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET2_INPUT =====&lt;br /&gt;
Writes the two appropriate INPUT registers value to the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_SLAVE =====&lt;br /&gt;
This function block starts listening TCP MODBUS slave deamon on the appropriate port.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|Listening TCP port (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (1-247) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Libraries_for_IEC_61131-3&amp;diff=1075</id>
		<title>Libraries for IEC 61131-3</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Libraries_for_IEC_61131-3&amp;diff=1075"/>
				<updated>2025-07-16T03:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: /* List of Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Standard IEC 61131-3 library ===&lt;br /&gt;
Documentation to standard ilbrary is on http://www.gebautomation.com/help/index.jsp?topic=%2Fcom.gebautomation.help%2Fhtml%2Ftech%2Fstdlib.html .&lt;br /&gt;
&lt;br /&gt;
Functions and function blcoks from standard library works properly also in Simulator.&lt;br /&gt;
&lt;br /&gt;
=== Metel IEC 61131-3 libraries ===&lt;br /&gt;
To show Metel libraries in IDE, must be select project device to &amp;quot;iplog_gama&amp;quot; and build it.&lt;br /&gt;
&lt;br /&gt;
Only some functions and function blocks from Metel libraries will works in Simulator.&lt;br /&gt;
&lt;br /&gt;
==== Asynchronous operations ====&lt;br /&gt;
Some long-time operations (reading from MODBUS) can not be done in one logic cycle.&lt;br /&gt;
&lt;br /&gt;
To solve that, use all asynchronous function blocks in Metel libraries this general interface:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|EXEC&lt;br /&gt;
|bool r_edge&lt;br /&gt;
|&lt;br /&gt;
|rising edge starts new operation&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|BUSY&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates that operation is pending&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates some error occurs&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|identifies occured error by [[Error Codes|unique code]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|VALID&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates success operation and valid output&lt;br /&gt;
|}&lt;br /&gt;
== List of Libraries ==&lt;br /&gt;
{{ycgu-cooltable-3&lt;br /&gt;
|title-left='''Libraries for METEL IEC 61131-3 IDE'''&lt;br /&gt;
|title-center='''Utility for METEL IEC 61131-3 IDE'''&lt;br /&gt;
|title-right='''Error codes'''&lt;br /&gt;
|content-left=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Master Mode | Modbus MASTER Mode]]&lt;br /&gt;
* [[Slave Mode | Modbus SLAVE Mode]]&lt;br /&gt;
* [[Blocks IPWatchdog | IPWatchdog]]&lt;br /&gt;
* [[Blocks Dataloger | Dataloger]]&lt;br /&gt;
* [[Block Program | Program]]&lt;br /&gt;
* [[Block Audio | Audio]] &lt;br /&gt;
* [[Block E-mail | E-mail]]&lt;br /&gt;
* [[GeViSoft | GeViSoft]] &lt;br /&gt;
* [[SMS | SMS]]&lt;br /&gt;
* [[SNMP | SNMP]]&lt;br /&gt;
* [[TCP | TCP]]&lt;br /&gt;
* [[Scripting | Scripting]]&lt;br /&gt;
* [[Onvif | Onvif]]&lt;br /&gt;
* [[LORA | LORA]]&lt;br /&gt;
* [[GSM | GSM]]&lt;br /&gt;
* [[Exchnge | Exchange]]&lt;br /&gt;
* [[Debug | Debug]]&lt;br /&gt;
* [[DALI | DALI]]&lt;br /&gt;
* [[Cast | Cast]]&lt;br /&gt;
* [[PelcoP/D | Pelco P/D]]&lt;br /&gt;
* [[VALert | V-Alert]]&lt;br /&gt;
* [[Keyence | Keyence]]&lt;br /&gt;
* [[Mobotix | Mobotix]]&lt;br /&gt;
&lt;br /&gt;
|content-center=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Blocks Generators | Generators]]&lt;br /&gt;
* [[Blocks Hexstrings | Hexstrings]]&lt;br /&gt;
* [[Blocks Bit_Operations | Bit Operations]]&lt;br /&gt;
&lt;br /&gt;
|content-right=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Error Codes | Error Codes for Asynchronous Operations]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Blocks_MODBUS_TCP&amp;diff=1074</id>
		<title>Blocks MODBUS TCP</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Blocks_MODBUS_TCP&amp;diff=1074"/>
				<updated>2025-07-16T03:55:39Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Slave MODE ===&lt;br /&gt;
MODBUS SLAVE contains 4 mapping arrays each with 9999 entries. The arrays are:&lt;br /&gt;
* Coils (0xxxxx) - cells of type BOOL&lt;br /&gt;
&lt;br /&gt;
* Discretes Input (1xxxxx) - cells of type BOOL&lt;br /&gt;
&lt;br /&gt;
* Holding Registers (4xxxxx) - cells of type WORD&lt;br /&gt;
&lt;br /&gt;
* Input Registers (3xxxxx) - cells of type WORD&lt;br /&gt;
Lines 1..9999 correspond to the MODBUS address offset.&lt;br /&gt;
&lt;br /&gt;
The default value for all cells in the arrays is '''NULL'''.&lt;br /&gt;
&lt;br /&gt;
===== Reading values from arrays =====&lt;br /&gt;
Use the ''MODBUS_GET_COIL'', ''MODBUS_GET_DISCRETE'', ''MODBUS_GET_HOLDING'', ''MODBUS_GET_INPUT'', ''MODBUS_GET2_HOLDING'' or ''MODBUS_GET2_INPUT'' function block to locally read array values.&lt;br /&gt;
&lt;br /&gt;
For remote reading of array values, use the standard MODBUS function via TCP connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;NOTE: If you try to read a NULL value, the INVALID VALUE error is returned.&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Write the values to the arrays =====&lt;br /&gt;
Use the ''MODBUS_SET_COIL'', ''MODBUS_SET_DISCRETE'', ''MODBUS_SET_HOLDING'', ''MODBUS_SET_INPUT, MODBUS_SET2_HOLDING or MODBUS_SET2_INPUT'' function block to locally write array values.&lt;br /&gt;
&lt;br /&gt;
Remote values can be writen to Coils and Holding arrays. For write, use standard MODBUS functions via TCP connection.&lt;br /&gt;
&lt;br /&gt;
===== Application =====&lt;br /&gt;
MODBUS TCP SLAVE is useful if you need to provide a state of your own inputs for remote devices. For example, the switch on/off state of the button is provided for another device.&lt;br /&gt;
&lt;br /&gt;
Similarly, if you need to set the status of the local relay from another device.&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_COIL =====&lt;br /&gt;
Reads the appropriate COIL value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_DISCRETE =====&lt;br /&gt;
Reads the appropriate DISCRETE value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_GET_HOLDING =====&lt;br /&gt;
Reads the appropriate HOLDING register value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET2_HOLDING =====&lt;br /&gt;
Reads the two appropriate HOLDING registers value from the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET_INPUT =====&lt;br /&gt;
Reads the appropriate INPUT register value from the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_GET2_INPUT =====&lt;br /&gt;
Reads the two appropriate INPUT registers value from the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|return value&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|R_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|W_TRIG&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|for future use - not implemented&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_SET_COIL =====&lt;br /&gt;
Writes the appropriate COIL value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_COILS =====&lt;br /&gt;
Writes the appropriate COILS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
&lt;br /&gt;
'''Always OfsAddrStart must be less than OfsAddrEnd.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrEnd&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to vrite&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Err&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Err_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_COILS_ALL =====&lt;br /&gt;
Write all COILS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETE =====&lt;br /&gt;
Writes the appropriate DISCRETE value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETES =====&lt;br /&gt;
Writes the appropriate DISCRETES value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrEnd&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_DISCRETES_ALL =====&lt;br /&gt;
Write all DISCRETES value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|val to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDING =====&lt;br /&gt;
Writes the appropriate HOLDING register value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDINGS =====&lt;br /&gt;
Writes the appropriate HOLDINGS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStop&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop(1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_HOLDINGS_ALL =====&lt;br /&gt;
Write all HOLDINGS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET2_HOLDING =====&lt;br /&gt;
Writes the two appropriate HOLDING registers value to the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_SET_INPUT =====&lt;br /&gt;
Writes the appropriate INPUT register value to the internal modbus table of values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_INPUTS =====&lt;br /&gt;
Writes the appropriate INPUTS value to the internal modbus table of values. In the range OfsAddrStart to OfsAddrEnd.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStart&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address start (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAddrStop&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|address stop (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET_INPUTS_ALL =====&lt;br /&gt;
Write all INPUTS value cross all registers 1 - 9999.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_SET2_INPUT =====&lt;br /&gt;
Writes the two appropriate INPUT registers value to the internal modbus table of values (lower register with higher weight).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_SLAVE =====&lt;br /&gt;
This function block starts listening TCP MODBUS slave deamon on the appropriate port.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|Listening TCP port (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (1-247) (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|F = No error, T = occur any error &lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|Error ID - see [[Error codes for IEC 61131-3 libraries|Error table]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Master_Mode&amp;diff=1073</id>
		<title>Master Mode</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Master_Mode&amp;diff=1073"/>
				<updated>2025-07-16T03:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: Created page with &amp;quot;=== Master MODE ===  ==== RTU ====  ===== MODBUS_RTU_CFG ===== Set bus parameters {| class=&amp;quot;wikitable&amp;quot; |- |in |Bus |string | |path to bus device (BUS1 = &amp;quot;/dev/ttyS3&amp;quot; or BUS2 =...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Master MODE ===&lt;br /&gt;
&lt;br /&gt;
==== RTU ====&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_CFG =====&lt;br /&gt;
Set bus parameters&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (BUS1 = &amp;quot;/dev/ttyS3&amp;quot; or BUS2 = &amp;quot;/dev/ttyS2&amp;quot;) &lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Baud&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|standard baudrates from 150 to 115200 (allowed speeds: 150, 300, 600, 1200, 1800, 2400, 4800, 7200, 9600, 14400, 19200, 38400, 57600, 115200, 1000000)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Parity&lt;br /&gt;
|string[1]&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;N&amp;quot; = none, &amp;quot;E&amp;quot; = even, &amp;quot;O&amp;quot; = odd&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Databit&lt;br /&gt;
|USINT&lt;br /&gt;
|&lt;br /&gt;
|Databits (5,6,7,8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Stopbit&lt;br /&gt;
|USINT&lt;br /&gt;
|&lt;br /&gt;
|Stopbits (1,2)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates some error occurs (0 = OK)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|WORD&lt;br /&gt;
|&lt;br /&gt;
|identifies occured error by unique code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_STATS =====&lt;br /&gt;
The block provides statistical information on the responses from the slave that do not arrive on time. This is useful when debugging timeouts.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|path to bus device (BUS1 = &amp;quot;/dev/ttyS3&amp;quot; or BUS2 = &amp;quot;/dev/ttyS2&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|TIMEOUT_CNT&lt;br /&gt;
|UDINT&lt;br /&gt;
|A counter of responses that do not arrive within the time limit.&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|FLUSH_CNT&lt;br /&gt;
|UDINT&lt;br /&gt;
|A counter of responses that arrive after a timeout.&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|DBG_TEXT&lt;br /&gt;
|string[255]&lt;br /&gt;
|String of the last flushed data.&lt;br /&gt;
|}&lt;br /&gt;
Example of usage:&lt;br /&gt;
&lt;br /&gt;
[[File:Modbus rtu stats usage.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_COIL =====&lt;br /&gt;
Reads one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_COIL_8 =====&lt;br /&gt;
Reads up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_DISCRETE =====&lt;br /&gt;
Read one discrete input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_DISCRETE_8 =====&lt;br /&gt;
Read up to 8 discrete input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_HOLDING =====&lt;br /&gt;
Reads one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_HOLDING_8 =====&lt;br /&gt;
Reads up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R2_HOLDING =====&lt;br /&gt;
Reads two holding registers as 32bit number (lower register with higher weight)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_INPUT =====&lt;br /&gt;
Reads one input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_INPUT_8 =====&lt;br /&gt;
Reads up to 8 input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R2_INPUT =====&lt;br /&gt;
Reads two input registers as 32bit number (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_COIL =====&lt;br /&gt;
Writes value to one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_COIL_8 =====&lt;br /&gt;
Writes value to up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_HOLDING =====&lt;br /&gt;
Writes value to one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_HOLDING_8 =====&lt;br /&gt;
Writes value to up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W2_HOLDING =====&lt;br /&gt;
Writes value to two holding registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== TCP ====&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_COIL =====&lt;br /&gt;
Reads one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_COIL_8 =====&lt;br /&gt;
Reads up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_DISCRETE =====&lt;br /&gt;
Read one discrete input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_DISCRETE_8 =====&lt;br /&gt;
Read up to 8 discrete input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_HOLDING =====&lt;br /&gt;
Reads one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R_HOLDING_8 =====&lt;br /&gt;
Reads up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R2_HOLDING =====&lt;br /&gt;
Reads two holding registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R_INPUT =====&lt;br /&gt;
Reads one input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R_INPUT_8 =====&lt;br /&gt;
Reads up to 8 input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R2_INPUT =====&lt;br /&gt;
Reads two input registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_W_COIL =====&lt;br /&gt;
Writes value to one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_W_COIL_8 =====&lt;br /&gt;
Writes value to up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_W_HOLDING =====&lt;br /&gt;
Writes value to one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_W_HOLDING_8 =====&lt;br /&gt;
Writes value to up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_W2_HOLDING =====&lt;br /&gt;
Writes value to two holding registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Libraries_for_IEC_61131-3&amp;diff=1072</id>
		<title>Libraries for IEC 61131-3</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Libraries_for_IEC_61131-3&amp;diff=1072"/>
				<updated>2025-07-16T03:53:15Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: /* List of Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Standard IEC 61131-3 library ===&lt;br /&gt;
Documentation to standard ilbrary is on http://www.gebautomation.com/help/index.jsp?topic=%2Fcom.gebautomation.help%2Fhtml%2Ftech%2Fstdlib.html .&lt;br /&gt;
&lt;br /&gt;
Functions and function blcoks from standard library works properly also in Simulator.&lt;br /&gt;
&lt;br /&gt;
=== Metel IEC 61131-3 libraries ===&lt;br /&gt;
To show Metel libraries in IDE, must be select project device to &amp;quot;iplog_gama&amp;quot; and build it.&lt;br /&gt;
&lt;br /&gt;
Only some functions and function blocks from Metel libraries will works in Simulator.&lt;br /&gt;
&lt;br /&gt;
==== Asynchronous operations ====&lt;br /&gt;
Some long-time operations (reading from MODBUS) can not be done in one logic cycle.&lt;br /&gt;
&lt;br /&gt;
To solve that, use all asynchronous function blocks in Metel libraries this general interface:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|EXEC&lt;br /&gt;
|bool r_edge&lt;br /&gt;
|&lt;br /&gt;
|rising edge starts new operation&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|BUSY&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates that operation is pending&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates some error occurs&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|identifies occured error by [[Error Codes|unique code]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|VALID&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates success operation and valid output&lt;br /&gt;
|}&lt;br /&gt;
== List of Libraries ==&lt;br /&gt;
{{ycgu-cooltable-3&lt;br /&gt;
|title-left='''Libraries for METEL IEC 61131-3 IDE'''&lt;br /&gt;
|title-center='''Utility for METEL IEC 61131-3 IDE'''&lt;br /&gt;
|title-right='''Error codes'''&lt;br /&gt;
|content-left=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Master Mode | Modbus MASTER Mode]]&lt;br /&gt;
* [[Blocks MODBUS TCP | MODBUS TCP]]&lt;br /&gt;
* [[Blocks MODBUS Slave | MODBUS Slave]]&lt;br /&gt;
* [[Blocks IPWatchdog | IPWatchdog]]&lt;br /&gt;
* [[Blocks Dataloger | Dataloger]]&lt;br /&gt;
* [[Block Program | Program]]&lt;br /&gt;
* [[Block Audio | Audio]] &lt;br /&gt;
* [[Block E-mail | E-mail]]&lt;br /&gt;
* [[GeViSoft | GeViSoft]] &lt;br /&gt;
* [[SMS | SMS]]&lt;br /&gt;
* [[SNMP | SNMP]]&lt;br /&gt;
* [[TCP | TCP]]&lt;br /&gt;
* [[Scripting | Scripting]]&lt;br /&gt;
* [[Onvif | Onvif]]&lt;br /&gt;
* [[LORA | LORA]]&lt;br /&gt;
* [[GSM | GSM]]&lt;br /&gt;
* [[Exchnge | Exchange]]&lt;br /&gt;
* [[Debug | Debug]]&lt;br /&gt;
* [[DALI | DALI]]&lt;br /&gt;
* [[Cast | Cast]]&lt;br /&gt;
* [[PelcoP/D | Pelco P/D]]&lt;br /&gt;
* [[VALert | V-Alert]]&lt;br /&gt;
* [[Keyence | Keyence]]&lt;br /&gt;
* [[Mobotix | Mobotix]]&lt;br /&gt;
&lt;br /&gt;
|content-center=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Blocks Generators | Generators]]&lt;br /&gt;
* [[Blocks Hexstrings | Hexstrings]]&lt;br /&gt;
* [[Blocks Bit_Operations | Bit Operations]]&lt;br /&gt;
&lt;br /&gt;
|content-right=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Error Codes | Error Codes for Asynchronous Operations]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Libraries_for_IEC_61131-3&amp;diff=1071</id>
		<title>Libraries for IEC 61131-3</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Libraries_for_IEC_61131-3&amp;diff=1071"/>
				<updated>2025-07-16T03:51:19Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: /* List of Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Standard IEC 61131-3 library ===&lt;br /&gt;
Documentation to standard ilbrary is on http://www.gebautomation.com/help/index.jsp?topic=%2Fcom.gebautomation.help%2Fhtml%2Ftech%2Fstdlib.html .&lt;br /&gt;
&lt;br /&gt;
Functions and function blcoks from standard library works properly also in Simulator.&lt;br /&gt;
&lt;br /&gt;
=== Metel IEC 61131-3 libraries ===&lt;br /&gt;
To show Metel libraries in IDE, must be select project device to &amp;quot;iplog_gama&amp;quot; and build it.&lt;br /&gt;
&lt;br /&gt;
Only some functions and function blocks from Metel libraries will works in Simulator.&lt;br /&gt;
&lt;br /&gt;
==== Asynchronous operations ====&lt;br /&gt;
Some long-time operations (reading from MODBUS) can not be done in one logic cycle.&lt;br /&gt;
&lt;br /&gt;
To solve that, use all asynchronous function blocks in Metel libraries this general interface:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|EXEC&lt;br /&gt;
|bool r_edge&lt;br /&gt;
|&lt;br /&gt;
|rising edge starts new operation&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|BUSY&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates that operation is pending&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates some error occurs&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|identifies occured error by [[Error Codes|unique code]]&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|VALID&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates success operation and valid output&lt;br /&gt;
|}&lt;br /&gt;
== List of Libraries ==&lt;br /&gt;
{{ycgu-cooltable-3&lt;br /&gt;
|title-left='''Libraries for METEL IEC 61131-3 IDE'''&lt;br /&gt;
|title-center='''Utility for METEL IEC 61131-3 IDE'''&lt;br /&gt;
|title-right='''Error codes'''&lt;br /&gt;
|content-left=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Blocks MODBUS RTU | Modbus MASTER Mode]]&lt;br /&gt;
* [[Blocks MODBUS TCP | MODBUS TCP]]&lt;br /&gt;
* [[Blocks MODBUS Slave | MODBUS Slave]]&lt;br /&gt;
* [[Blocks IPWatchdog | IPWatchdog]]&lt;br /&gt;
* [[Blocks Dataloger | Dataloger]]&lt;br /&gt;
* [[Block Program | Program]]&lt;br /&gt;
* [[Block Audio | Audio]] &lt;br /&gt;
* [[Block E-mail | E-mail]]&lt;br /&gt;
* [[GeViSoft | GeViSoft]] &lt;br /&gt;
* [[SMS | SMS]]&lt;br /&gt;
* [[SNMP | SNMP]]&lt;br /&gt;
* [[TCP | TCP]]&lt;br /&gt;
* [[Scripting | Scripting]]&lt;br /&gt;
* [[Onvif | Onvif]]&lt;br /&gt;
* [[LORA | LORA]]&lt;br /&gt;
* [[GSM | GSM]]&lt;br /&gt;
* [[Exchnge | Exchange]]&lt;br /&gt;
* [[Debug | Debug]]&lt;br /&gt;
* [[DALI | DALI]]&lt;br /&gt;
* [[Cast | Cast]]&lt;br /&gt;
* [[PelcoP/D | Pelco P/D]]&lt;br /&gt;
* [[VALert | V-Alert]]&lt;br /&gt;
* [[Keyence | Keyence]]&lt;br /&gt;
* [[Mobotix | Mobotix]]&lt;br /&gt;
&lt;br /&gt;
|content-center=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Blocks Generators | Generators]]&lt;br /&gt;
* [[Blocks Hexstrings | Hexstrings]]&lt;br /&gt;
* [[Blocks Bit_Operations | Bit Operations]]&lt;br /&gt;
&lt;br /&gt;
|content-right=&lt;br /&gt;
''' '''&lt;br /&gt;
* [[Error Codes | Error Codes for Asynchronous Operations]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Blocks_MODBUS_RTU&amp;diff=1070</id>
		<title>Blocks MODBUS RTU</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Blocks_MODBUS_RTU&amp;diff=1070"/>
				<updated>2025-07-16T03:49:52Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Master MODE ===&lt;br /&gt;
&lt;br /&gt;
==== RTU ====&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_CFG =====&lt;br /&gt;
Set bus parameters&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (BUS1 = &amp;quot;/dev/ttyS3&amp;quot; or BUS2 = &amp;quot;/dev/ttyS2&amp;quot;) &lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Baud&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|standard baudrates from 150 to 115200 (allowed speeds: 150, 300, 600, 1200, 1800, 2400, 4800, 7200, 9600, 14400, 19200, 38400, 57600, 115200, 1000000)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Parity&lt;br /&gt;
|string[1]&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;N&amp;quot; = none, &amp;quot;E&amp;quot; = even, &amp;quot;O&amp;quot; = odd&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Databit&lt;br /&gt;
|USINT&lt;br /&gt;
|&lt;br /&gt;
|Databits (5,6,7,8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Stopbit&lt;br /&gt;
|USINT&lt;br /&gt;
|&lt;br /&gt;
|Stopbits (1,2)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates some error occurs (0 = OK)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|WORD&lt;br /&gt;
|&lt;br /&gt;
|identifies occured error by unique code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_STATS =====&lt;br /&gt;
The block provides statistical information on the responses from the slave that do not arrive on time. This is useful when debugging timeouts.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|path to bus device (BUS1 = &amp;quot;/dev/ttyS3&amp;quot; or BUS2 = &amp;quot;/dev/ttyS2&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|TIMEOUT_CNT&lt;br /&gt;
|UDINT&lt;br /&gt;
|A counter of responses that do not arrive within the time limit.&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|FLUSH_CNT&lt;br /&gt;
|UDINT&lt;br /&gt;
|A counter of responses that arrive after a timeout.&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|DBG_TEXT&lt;br /&gt;
|string[255]&lt;br /&gt;
|String of the last flushed data.&lt;br /&gt;
|}&lt;br /&gt;
Example of usage:&lt;br /&gt;
&lt;br /&gt;
[[File:Modbus rtu stats usage.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_COIL =====&lt;br /&gt;
Reads one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_COIL_8 =====&lt;br /&gt;
Reads up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_DISCRETE =====&lt;br /&gt;
Read one discrete input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_DISCRETE_8 =====&lt;br /&gt;
Read up to 8 discrete input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_HOLDING =====&lt;br /&gt;
Reads one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_HOLDING_8 =====&lt;br /&gt;
Reads up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R2_HOLDING =====&lt;br /&gt;
Reads two holding registers as 32bit number (lower register with higher weight)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_INPUT =====&lt;br /&gt;
Reads one input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_INPUT_8 =====&lt;br /&gt;
Reads up to 8 input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R2_INPUT =====&lt;br /&gt;
Reads two input registers as 32bit number (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_COIL =====&lt;br /&gt;
Writes value to one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_COIL_8 =====&lt;br /&gt;
Writes value to up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_HOLDING =====&lt;br /&gt;
Writes value to one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_HOLDING_8 =====&lt;br /&gt;
Writes value to up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W2_HOLDING =====&lt;br /&gt;
Writes value to two holding registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== TCP ====&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_COIL =====&lt;br /&gt;
Reads one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_COIL_8 =====&lt;br /&gt;
Reads up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_DISCRETE =====&lt;br /&gt;
Read one discrete input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_DISCRETE_8 =====&lt;br /&gt;
Read up to 8 discrete input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_R_HOLDING =====&lt;br /&gt;
Reads one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R_HOLDING_8 =====&lt;br /&gt;
Reads up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R2_HOLDING =====&lt;br /&gt;
Reads two holding registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R_INPUT =====&lt;br /&gt;
Reads one input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R_INPUT_8 =====&lt;br /&gt;
Reads up to 8 input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_R2_INPUT =====&lt;br /&gt;
Reads two input registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_W_COIL =====&lt;br /&gt;
Writes value to one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_W_COIL_8 =====&lt;br /&gt;
Writes value to up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_W_HOLDING =====&lt;br /&gt;
Writes value to one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
===== MODBUS_TCP_W_HOLDING_8 =====&lt;br /&gt;
Writes value to up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_TCP_W2_HOLDING =====&lt;br /&gt;
Writes value to two holding registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|IP&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|IP address of slave device (syntax: &amp;quot;aaa.bbb.ccc.ddd&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Port&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|TCP port of slave device (default: 502)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|Device bus address (default: 1)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 1s)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=File:Modbus_rtu_stats_usage.jpg&amp;diff=1069</id>
		<title>File:Modbus rtu stats usage.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=File:Modbus_rtu_stats_usage.jpg&amp;diff=1069"/>
				<updated>2025-07-16T03:48:35Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Blocks_MODBUS_RTU&amp;diff=1068</id>
		<title>Blocks MODBUS RTU</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Blocks_MODBUS_RTU&amp;diff=1068"/>
				<updated>2025-07-16T03:39:42Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: /* Back to Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Modbus library ==&lt;br /&gt;
&lt;br /&gt;
=== Master MODE ===&lt;br /&gt;
&lt;br /&gt;
==== RTU ====&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_CFG =====&lt;br /&gt;
Set bus parameters&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (BUS1 = &amp;quot;/dev/ttyS3&amp;quot; or BUS2 = &amp;quot;/dev/ttyS2&amp;quot;) &lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Baud&lt;br /&gt;
|int&lt;br /&gt;
|&lt;br /&gt;
|standard baudrates from 150 to 115200 (allowed speeds: 150, 300, 600, 1200, 1800, 2400, 4800, 7200, 9600, 14400, 19200, 38400, 57600, 115200, 1000000)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Parity&lt;br /&gt;
|string[1]&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;N&amp;quot; = none, &amp;quot;E&amp;quot; = even, &amp;quot;O&amp;quot; = odd&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Databit&lt;br /&gt;
|USINT&lt;br /&gt;
|&lt;br /&gt;
|Databits (5,6,7,8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Stopbit&lt;br /&gt;
|USINT&lt;br /&gt;
|&lt;br /&gt;
|Stopbits (1,2)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|indicates some error occurs (0 = OK)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|ERR_ID&lt;br /&gt;
|WORD&lt;br /&gt;
|&lt;br /&gt;
|identifies occured error by unique code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_STATS =====&lt;br /&gt;
The block provides statistical information on the responses from the slave that do not arrive on time. This is useful when debugging timeouts.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|path to bus device (BUS1 = &amp;quot;/dev/ttyS3&amp;quot; or BUS2 = &amp;quot;/dev/ttyS2&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|TIMEOUT_CNT&lt;br /&gt;
|UDINT&lt;br /&gt;
|A counter of responses that do not arrive within the time limit.&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|FLUSH_CNT&lt;br /&gt;
|UDINT&lt;br /&gt;
|A counter of responses that arrive after a timeout.&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|DBG_TEXT&lt;br /&gt;
|string[255]&lt;br /&gt;
|String of the last flushed data.&lt;br /&gt;
|}&lt;br /&gt;
Example of usage:&lt;br /&gt;
&lt;br /&gt;
[[File:Modbus rtu stats usage.jpg]]&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_COIL =====&lt;br /&gt;
Reads one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_COIL_8 =====&lt;br /&gt;
Reads up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_DISCRETE =====&lt;br /&gt;
Read one discrete input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_DISCRETE_8 =====&lt;br /&gt;
Read up to 8 discrete input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_HOLDING =====&lt;br /&gt;
Reads one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_HOLDING_8 =====&lt;br /&gt;
Reads up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R2_HOLDING =====&lt;br /&gt;
Reads two holding registers as 32bit number (lower register with higher weight)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_INPUT =====&lt;br /&gt;
Reads one input register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R_INPUT_8 =====&lt;br /&gt;
Reads up to 8 input registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to read (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 1st register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 4th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 5th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 6th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 7th register&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|readed value of 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_R2_INPUT =====&lt;br /&gt;
Reads two input registers as 32bit number (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|out&lt;br /&gt;
|Q&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|readed value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_COIL =====&lt;br /&gt;
Writes value to one coil register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_COIL_8 =====&lt;br /&gt;
Writes value to up to 8 coil registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_HOLDING =====&lt;br /&gt;
Writes value to one holding register&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W_HOLDING_8 =====&lt;br /&gt;
Writes value to up to 8 holding registers&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Count&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|number of registers to write (1-8)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL1&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 1st register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL2&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 2nd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL3&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 3rd register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL4&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 4th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL5&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 5th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL6&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 6th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL7&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 7th register&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL8&lt;br /&gt;
|bool&lt;br /&gt;
|&lt;br /&gt;
|value to write to 8th register&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== MODBUS_RTU_W2_HOLDING =====&lt;br /&gt;
Writes value to two holding registers (lower register with higher weight)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[#Asynchronous operations|Asynchronous interface]] - internal implementation&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Bus&lt;br /&gt;
|string&lt;br /&gt;
|&lt;br /&gt;
|path to bus device (/dev/ttyS0)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|UnitID&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|device bus address (0-247)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|OfsAdr&lt;br /&gt;
|word&lt;br /&gt;
|&lt;br /&gt;
|register address (1-9999)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|Timeout&lt;br /&gt;
|byte&lt;br /&gt;
|&lt;br /&gt;
|timeout in seconds (default: 250ms)&lt;br /&gt;
|-&lt;br /&gt;
|in&lt;br /&gt;
|VAL&lt;br /&gt;
|dword&lt;br /&gt;
|&lt;br /&gt;
|value to write&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=IO-EXT&amp;diff=1067</id>
		<title>IO-EXT</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=IO-EXT&amp;diff=1067"/>
				<updated>2024-09-12T08:51:59Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If IO modules are connected to the IPLOG unit, it is not necessary to  control their inputs/outputs via modbus registers, but directly via variables. The modules must be connected to the IPLOG-GAMA via the BUS bus A+ connected to A+ and B- to B-.&amp;lt;br&amp;gt;&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
== Configuration from linux ==&lt;br /&gt;
For automatic adding variables for external metel IO modules, edit the file &amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=root@iplog:~# vi /etc/init.metel/io-ext-device&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
Edit or add a line depending on which IO modules are connected. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ExtBusConfig.png|frameless]]&amp;lt;blockquote&amp;gt;description:&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;ex:       0 2 1 ai8.1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
FW, BUS, MODBUD ID &amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Revision number fw. If set to 0, &lt;br /&gt;
then it is selected automatically&lt;br /&gt;
&lt;br /&gt;
'''default 0'''&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|bus number&lt;br /&gt;
0 = disable this device&lt;br /&gt;
&lt;br /&gt;
1 = BUS1&lt;br /&gt;
&lt;br /&gt;
2 = BUS2&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|modbus device id number&lt;br /&gt;
|-&lt;br /&gt;
|ai8.1&lt;br /&gt;
|Device name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Press the ESC key to exit edit mode. Now press the &amp;quot;:&amp;quot; key and type wq and enter the command. This should close and save the file. Restart the IPLOG using the reboot command, and variables for the IO module will be available after the reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;After you change configuration io module and bus use /etc/init.metel/io-ext restart for change all parameters. If is connected IO modules, then automatically change baudrate.&amp;lt;blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Configuration from web ==&lt;br /&gt;
is just being prepared!&lt;br /&gt;
&lt;br /&gt;
== OLD VERSION ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If IO modules are connected to the IPLOG unit, it is not necessary to  control their inputs/outputs via modbus registers, but directly via variables. The modules must be connected to the IPLOG-GAMA via the BUS bus A+ connected to A+ and B- to B-.&amp;lt;br&amp;gt;&lt;br /&gt;
Log in to the IPLOG unit via putty and write the command&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=root@iplog:~# vi /etc/init.metel/io-ext&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the file, uncomment/delete the # character on lines: 42,44,46&amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text= # START_COMMEXT1=1&lt;br /&gt;
# echo ext1            &amp;gt; /sys/kernel/metel-io-dev/add_bus&lt;br /&gt;
# echo 1,bi8.1_if05    &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Edit or add a line depending on which IO modules are connected. The module name must match the list below.&amp;lt;br&amp;gt;&lt;br /&gt;
Echo X is meaning '''Modbus ID Address''' of the module.&amp;lt;br&amp;gt;&lt;br /&gt;
Example with connected modules AI8.1-01 (Modbus ID 1) and BI8.1-05 (Modbus ID 2) modules.&amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text= START_COMMEXT1=1&lt;br /&gt;
echo ext1            &amp;gt; /sys/kernel/metel-io-dev/add_bus&lt;br /&gt;
echo 1,ai8.1         &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
echo 2,bi8.1_if05    &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
}}&lt;br /&gt;
Press the ESC key to exit edit mode. Now press the &amp;quot;:&amp;quot; key and type wq and enter the command. This should close and save the file. Restart the IPLOG using the reboot command, and variables for the IO module will be available after the reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
=== List of supported devices ===&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=ai8.1&lt;br /&gt;
ao8.1&lt;br /&gt;
bi8.1&lt;br /&gt;
bi8.1_if05&lt;br /&gt;
bi8.1_if12&lt;br /&gt;
bi8.1_if15&lt;br /&gt;
bm-mppt-6&lt;br /&gt;
di8.1&lt;br /&gt;
di8.1_if05&lt;br /&gt;
di8.1_if11&lt;br /&gt;
di8.1_if12&lt;br /&gt;
di8.1_if15&lt;br /&gt;
h2o&lt;br /&gt;
re8.1&lt;br /&gt;
re8.1_if12&lt;br /&gt;
re8.1_if15&lt;br /&gt;
re8.2&lt;br /&gt;
re8.2_if05&lt;br /&gt;
t2&lt;br /&gt;
th2&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=IO-EXT&amp;diff=1066</id>
		<title>IO-EXT</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=IO-EXT&amp;diff=1066"/>
				<updated>2024-09-12T08:46:57Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If IO modules are connected to the IPLOG unit, it is not necessary to  control their inputs/outputs via modbus registers, but directly via variables. The modules must be connected to the IPLOG-GAMA via the BUS bus A+ connected to A+ and B- to B-.&amp;lt;br&amp;gt;&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
== Configuration from linux ==&lt;br /&gt;
For automatic adding variables for external metel IO modules, edit the file &amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=root@iplog:~# vi /etc/init.metel/io-ext-device&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
Edit or add a line depending on which IO modules are connected. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ExtBusConfig.png|frameless]]&amp;lt;blockquote&amp;gt;description:&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;ex:       0 2 1 ai8.1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Revision number fw. If set to 0, &lt;br /&gt;
then it is selected automatically&lt;br /&gt;
&lt;br /&gt;
'''default 0'''&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|bus number&lt;br /&gt;
0 = disable this device&lt;br /&gt;
&lt;br /&gt;
1 = BUS1&lt;br /&gt;
&lt;br /&gt;
2 = BUS2&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|modbus device id number&lt;br /&gt;
|-&lt;br /&gt;
|ai8.1&lt;br /&gt;
|Device name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Press the ESC key to exit edit mode. Now press the &amp;quot;:&amp;quot; key and type wq and enter the command. This should close and save the file. Restart the IPLOG using the reboot command, and variables for the IO module will be available after the reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;After you change configuration io module and bus use /etc/init.metel/io-ext restart for change all parameters. If is connected IO modules, then automatically change baudrate.&amp;lt;blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Configuration from web ==&lt;br /&gt;
is just being prepared!&lt;br /&gt;
&lt;br /&gt;
== OLD VERSION ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If IO modules are connected to the IPLOG unit, it is not necessary to  control their inputs/outputs via modbus registers, but directly via variables. The modules must be connected to the IPLOG-GAMA via the BUS bus A+ connected to A+ and B- to B-.&amp;lt;br&amp;gt;&lt;br /&gt;
Log in to the IPLOG unit via putty and write the command&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=root@iplog:~# vi /etc/init.metel/io-ext&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the file, uncomment/delete the # character on lines: 42,44,46&amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text= # START_COMMEXT1=1&lt;br /&gt;
# echo ext1            &amp;gt; /sys/kernel/metel-io-dev/add_bus&lt;br /&gt;
# echo 1,bi8.1_if05    &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Edit or add a line depending on which IO modules are connected. The module name must match the list below.&amp;lt;br&amp;gt;&lt;br /&gt;
Echo X is meaning '''Modbus ID Address''' of the module.&amp;lt;br&amp;gt;&lt;br /&gt;
Example with connected modules AI8.1-01 (Modbus ID 1) and BI8.1-05 (Modbus ID 2) modules.&amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text= START_COMMEXT1=1&lt;br /&gt;
echo ext1            &amp;gt; /sys/kernel/metel-io-dev/add_bus&lt;br /&gt;
echo 1,ai8.1         &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
echo 2,bi8.1_if05    &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
}}&lt;br /&gt;
Press the ESC key to exit edit mode. Now press the &amp;quot;:&amp;quot; key and type wq and enter the command. This should close and save the file. Restart the IPLOG using the reboot command, and variables for the IO module will be available after the reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
=== List of supported devices ===&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=ai8.1&lt;br /&gt;
ao8.1&lt;br /&gt;
bi8.1&lt;br /&gt;
bi8.1_if05&lt;br /&gt;
bi8.1_if12&lt;br /&gt;
bi8.1_if15&lt;br /&gt;
bm-mppt-6&lt;br /&gt;
di8.1&lt;br /&gt;
di8.1_if05&lt;br /&gt;
di8.1_if11&lt;br /&gt;
di8.1_if12&lt;br /&gt;
di8.1_if15&lt;br /&gt;
h2o&lt;br /&gt;
re8.1&lt;br /&gt;
re8.1_if12&lt;br /&gt;
re8.1_if15&lt;br /&gt;
re8.2&lt;br /&gt;
re8.2_if05&lt;br /&gt;
t2&lt;br /&gt;
th2&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=IO-EXT&amp;diff=1065</id>
		<title>IO-EXT</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=IO-EXT&amp;diff=1065"/>
				<updated>2024-09-12T08:24:11Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If IO modules are connected to the IPLOG unit, it is not necessary to  control their inputs/outputs via modbus registers, but directly via variables. The modules must be connected to the IPLOG-GAMA via the BUS bus A+ connected to A+ and B- to B-.&amp;lt;br&amp;gt;&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
== Configuration from linux ==&lt;br /&gt;
For automatic adding variables for external metel IO modules, edit the file &amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=root@iplog:~# vi /etc/init.metel/io-ext-device&lt;br /&gt;
}}&lt;br /&gt;
[[File:ExtBusConfig.png|frameless]]&amp;lt;blockquote&amp;gt;description:&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;ex:       0 2 1 ai8.1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Revision number fw. If set to 0, &lt;br /&gt;
then it is selected automatically&lt;br /&gt;
&lt;br /&gt;
'''default 0'''&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|bus number&lt;br /&gt;
0 = disable this device&lt;br /&gt;
&lt;br /&gt;
1 = BUS1&lt;br /&gt;
&lt;br /&gt;
2 = BUS2&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|modbus device id number&lt;br /&gt;
|-&lt;br /&gt;
|ai8.1&lt;br /&gt;
|Device name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;After you change configuration io module and bus use /etc/init.metel/io-ext restart for change all parameters. If is connected IO modules, then automatically change baudrate.&amp;lt;blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Configuration from web ==&lt;br /&gt;
is just being prepared!&lt;br /&gt;
&lt;br /&gt;
== OLD VERSION ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If IO modules are connected to the IPLOG unit, it is not necessary to  control their inputs/outputs via modbus registers, but directly via variables. The modules must be connected to the IPLOG-GAMA via the BUS bus A+ connected to A+ and B- to B-.&amp;lt;br&amp;gt;&lt;br /&gt;
Log in to the IPLOG unit via putty and write the command&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=root@iplog:~# vi /etc/init.metel/io-ext&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the file, uncomment/delete the # character on lines: 42,44,46&amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text= # START_COMMEXT1=1&lt;br /&gt;
# echo ext1            &amp;gt; /sys/kernel/metel-io-dev/add_bus&lt;br /&gt;
# echo 1,bi8.1_if05    &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Edit or add a line depending on which IO modules are connected. The module name must match the list below.&amp;lt;br&amp;gt;&lt;br /&gt;
Echo X is meaning '''Modbus ID Address''' of the module.&amp;lt;br&amp;gt;&lt;br /&gt;
Example with connected modules AI8.1-01 (Modbus ID 1) and BI8.1-05 (Modbus ID 2) modules.&amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text= START_COMMEXT1=1&lt;br /&gt;
echo ext1            &amp;gt; /sys/kernel/metel-io-dev/add_bus&lt;br /&gt;
echo 1,ai8.1         &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
echo 2,bi8.1_if05    &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
}}&lt;br /&gt;
Press the ESC key to exit edit mode. Now press the &amp;quot;:&amp;quot; key and type wq and enter the command. This should close and save the file. Restart the IPLOG using the reboot command, and variables for the IO module will be available after the reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
=== List of supported devices ===&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=ai8.1&lt;br /&gt;
ao8.1&lt;br /&gt;
bi8.1&lt;br /&gt;
bi8.1_if05&lt;br /&gt;
bi8.1_if12&lt;br /&gt;
bi8.1_if15&lt;br /&gt;
bm-mppt-6&lt;br /&gt;
di8.1&lt;br /&gt;
di8.1_if05&lt;br /&gt;
di8.1_if11&lt;br /&gt;
di8.1_if12&lt;br /&gt;
di8.1_if15&lt;br /&gt;
h2o&lt;br /&gt;
re8.1&lt;br /&gt;
re8.1_if12&lt;br /&gt;
re8.1_if15&lt;br /&gt;
re8.2&lt;br /&gt;
re8.2_if05&lt;br /&gt;
t2&lt;br /&gt;
th2&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=IO-EXT&amp;diff=1064</id>
		<title>IO-EXT</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=IO-EXT&amp;diff=1064"/>
				<updated>2024-09-12T08:21:50Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If IO modules are connected to the IPLOG unit, it is not necessary to  control their inputs/outputs via modbus registers, but directly via variables. The modules must be connected to the IPLOG-GAMA via the BUS bus A+ connected to A+ and B- to B-.&amp;lt;br&amp;gt;&lt;br /&gt;
For automatic adding variables for external metel IO modules, edit the file &amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=root@iplog:~# vi /etc/init.metel/io-ext-device&lt;br /&gt;
}}&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
== Configuration from lynux ==&lt;br /&gt;
# go to /etc/init.metel/&lt;br /&gt;
# edit file '''io-ext-device'''&lt;br /&gt;
[[File:ExtBusConfig.png|frameless]]&amp;lt;blockquote&amp;gt;description:&amp;lt;/blockquote&amp;gt;&amp;lt;blockquote&amp;gt;ex:       0 2 1 ai8.1&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Revision number fw. If set to 0, &lt;br /&gt;
then it is selected automatically&lt;br /&gt;
&lt;br /&gt;
'''default 0'''&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|bus number&lt;br /&gt;
0 = disable this device&lt;br /&gt;
&lt;br /&gt;
1 = BUS1&lt;br /&gt;
&lt;br /&gt;
2 = BUS2&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|modbus device id number&lt;br /&gt;
|-&lt;br /&gt;
|ai8.1&lt;br /&gt;
|Device name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;After you change configuration io module and bus use /etc/init.metel/io-ext restart for change all parameters. If is connected IO modules, then automatically change baudrate.&amp;lt;blockquote&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== Configuration from web ==&lt;br /&gt;
is just being prepared!&lt;br /&gt;
&lt;br /&gt;
== OLD VERSION ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If IO modules are connected to the IPLOG unit, it is not necessary to  control their inputs/outputs via modbus registers, but directly via variables. The modules must be connected to the IPLOG-GAMA via the BUS bus A+ connected to A+ and B- to B-.&amp;lt;br&amp;gt;&lt;br /&gt;
Log in to the IPLOG unit via putty and write the command&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=root@iplog:~# vi /etc/init.metel/io-ext&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Press the &amp;quot;i&amp;quot; key to enter the edit mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the file, uncomment/delete the # character on lines: 42,44,46&amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text= # START_COMMEXT1=1&lt;br /&gt;
# echo ext1            &amp;gt; /sys/kernel/metel-io-dev/add_bus&lt;br /&gt;
# echo 1,bi8.1_if05    &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Edit or add a line depending on which IO modules are connected. The module name must match the list below.&amp;lt;br&amp;gt;&lt;br /&gt;
Echo X is meaning '''Modbus ID Address''' of the module.&amp;lt;br&amp;gt;&lt;br /&gt;
Example with connected modules AI8.1-01 (Modbus ID 1) and BI8.1-05 (Modbus ID 2) modules.&amp;lt;br&amp;gt;&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text= START_COMMEXT1=1&lt;br /&gt;
echo ext1            &amp;gt; /sys/kernel/metel-io-dev/add_bus&lt;br /&gt;
echo 1,ai8.1         &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
echo 2,bi8.1_if05    &amp;gt; /sys/kernel/metel-io-dev/ext1/add_dev&lt;br /&gt;
}}&lt;br /&gt;
Press the ESC key to exit edit mode. Now press the &amp;quot;:&amp;quot; key and type wq and enter the command. This should close and save the file. Restart the IPLOG using the reboot command, and variables for the IO module will be available after the reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
=== List of supported devices ===&lt;br /&gt;
{{NotePre&lt;br /&gt;
|text=ai8.1&lt;br /&gt;
ao8.1&lt;br /&gt;
bi8.1&lt;br /&gt;
bi8.1_if05&lt;br /&gt;
bi8.1_if12&lt;br /&gt;
bi8.1_if15&lt;br /&gt;
bm-mppt-6&lt;br /&gt;
di8.1&lt;br /&gt;
di8.1_if05&lt;br /&gt;
di8.1_if11&lt;br /&gt;
di8.1_if12&lt;br /&gt;
di8.1_if15&lt;br /&gt;
h2o&lt;br /&gt;
re8.1&lt;br /&gt;
re8.1_if12&lt;br /&gt;
re8.1_if15&lt;br /&gt;
re8.2&lt;br /&gt;
re8.2_if05&lt;br /&gt;
t2&lt;br /&gt;
th2&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1063</id>
		<title>GRAFANA</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1063"/>
				<updated>2024-06-20T09:24:01Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Grafana?==&lt;br /&gt;
Grafana is the open source analytics and monitoring solution for every database, analytics platform for all your metrics.&lt;br /&gt;
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.&lt;br /&gt;
&lt;br /&gt;
[https://grafana.com/grafana/ Home Page]&lt;br /&gt;
&lt;br /&gt;
'''Installation manual''' &amp;lt;br&amp;gt;&lt;br /&gt;
[[Media:201908-Grafana CZ.pdf|Manual CZ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Media:201908-Grafana EN.pdf|Manual EN]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Media:201908-Grafana PL.pdf|Manual PL]]&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1062</id>
		<title>GRAFANA</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1062"/>
				<updated>2024-06-20T09:23:34Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Grafana?==&lt;br /&gt;
Grafana is the open source analytics and monitoring solution for every database, analytics platform for all your metrics.&lt;br /&gt;
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.&lt;br /&gt;
&lt;br /&gt;
[https://grafana.com/grafana/ Home Page]&lt;br /&gt;
&lt;br /&gt;
'''Manual''' &amp;lt;br&amp;gt;&lt;br /&gt;
[[Media:201908-Grafana CZ.pdf|Manual CZ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Media:201908-Grafana EN.pdf|Manual EN]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Media:201908-Grafana PL.pdf|Manual PL]]&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=File:201908-Grafana_PL.pdf&amp;diff=1061</id>
		<title>File:201908-Grafana PL.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=File:201908-Grafana_PL.pdf&amp;diff=1061"/>
				<updated>2024-06-20T09:22:29Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=File:201908-Grafana_EN.pdf&amp;diff=1060</id>
		<title>File:201908-Grafana EN.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=File:201908-Grafana_EN.pdf&amp;diff=1060"/>
				<updated>2024-06-20T09:22:16Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1059</id>
		<title>GRAFANA</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1059"/>
				<updated>2024-06-20T09:21:52Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Grafana?==&lt;br /&gt;
Grafana is the open source analytics and monitoring solution for every database, analytics platform for all your metrics.&lt;br /&gt;
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.&lt;br /&gt;
&lt;br /&gt;
[https://grafana.com/grafana/ Home Page]&lt;br /&gt;
&lt;br /&gt;
'''Download:''' [[Media:201908-Grafana CZ.pdf|Manual CZ]]&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1058</id>
		<title>GRAFANA</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1058"/>
				<updated>2024-06-20T09:21:30Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Grafana?==&lt;br /&gt;
Grafana is the open source analytics and monitoring solution for every database, analytics platform for all your metrics.&lt;br /&gt;
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.&lt;br /&gt;
&lt;br /&gt;
[https://grafana.com/grafana/ Home Page]&lt;br /&gt;
&lt;br /&gt;
'''Download:''' [[Media:201908-Grafana CZ.pdf|grafana]]&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1057</id>
		<title>GRAFANA</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1057"/>
				<updated>2024-06-20T09:19:39Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Grafana?==&lt;br /&gt;
Grafana is the open source analytics and monitoring solution for every database, analytics platform for all your metrics.&lt;br /&gt;
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.&lt;br /&gt;
&lt;br /&gt;
[https://grafana.com/grafana/ Home Page]&lt;br /&gt;
&lt;br /&gt;
'''Download:''' [[File:201908-Grafana CZ.pdf|grafana]]&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1056</id>
		<title>GRAFANA</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1056"/>
				<updated>2024-06-20T09:17:43Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Grafana?==&lt;br /&gt;
Grafana is the open source analytics and monitoring solution for every database, analytics platform for all your metrics.&lt;br /&gt;
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.&lt;br /&gt;
&lt;br /&gt;
[https://grafana.com/grafana/ Home Page]&lt;br /&gt;
&lt;br /&gt;
'''Download:''' [[File:201908-Grafana CZ.pdf]]&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1055</id>
		<title>GRAFANA</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1055"/>
				<updated>2024-06-20T09:15:37Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: /* What is Grafana? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Grafana?==&lt;br /&gt;
Grafana is the open source analytics and monitoring solution for every database, analytics platform for all your metrics.&lt;br /&gt;
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.&lt;br /&gt;
&lt;br /&gt;
[https://grafana.com/grafana/ Home Page]&lt;br /&gt;
&lt;br /&gt;
'''Download:''' {{[[https://wiki.iplog.eu/images/0/09/201908-Grafana_CZ.pdf|Ke stažení CZ]]}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1054</id>
		<title>GRAFANA</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=GRAFANA&amp;diff=1054"/>
				<updated>2024-06-20T09:12:38Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Grafana?==&lt;br /&gt;
Grafana is the open source analytics and monitoring solution for every database, analytics platform for all your metrics.&lt;br /&gt;
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.&lt;br /&gt;
&lt;br /&gt;
[https://grafana.com/grafana/ Home Page]&lt;br /&gt;
&lt;br /&gt;
'''Download:''' {{201908-Grafana_CZ.pdf}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=File:201908-Grafana_CZ.pdf&amp;diff=1053</id>
		<title>File:201908-Grafana CZ.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=File:201908-Grafana_CZ.pdf&amp;diff=1053"/>
				<updated>2024-06-20T09:11:40Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1052</id>
		<title>Ethernet throughput measurement</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1052"/>
				<updated>2023-01-26T08:30:28Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows one way to display the data flow on an ethernet port in a grafana application.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&amp;lt;br&amp;gt;&lt;br /&gt;
The following packages must be installed to run this application successfully:&amp;lt;br&amp;gt;&lt;br /&gt;
metel-datalogger&amp;lt;br&amp;gt;&lt;br /&gt;
metel-ntpd-server-internet&amp;lt;br&amp;gt;&lt;br /&gt;
grafana&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example from Grafana&amp;lt;br&amp;gt; ===&lt;br /&gt;
[[File:Grafana eth.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Download Program for IEC 61131-3&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''[[File:Program IEC.zip]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Download json for Dashboard in Grafana&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''[[File:Eth Speed-1674655098082.zip]]'''&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1051</id>
		<title>Ethernet throughput measurement</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1051"/>
				<updated>2023-01-26T08:30:11Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows one way to display the data flow on an ethernet port in a grafana application.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&amp;lt;br&amp;gt;&lt;br /&gt;
The following packages must be installed to run this application successfully:&amp;lt;br&amp;gt;&lt;br /&gt;
metel-datalogger&amp;lt;br&amp;gt;&lt;br /&gt;
metel-ntpd-server-internet&amp;lt;br&amp;gt;&lt;br /&gt;
grafana&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example from Grafana&amp;lt;br&amp;gt; ===&lt;br /&gt;
[[File:Grafana eth.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Download Program for IEC 61131-3&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''[[File:Program IEC.zip]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Download json for Dashboard in Grafana&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Eth Speed-1674655098082.zip]]'''&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=File:Eth_Speed-1674655098082.zip&amp;diff=1050</id>
		<title>File:Eth Speed-1674655098082.zip</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=File:Eth_Speed-1674655098082.zip&amp;diff=1050"/>
				<updated>2023-01-26T08:29:31Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Json for grafana&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1049</id>
		<title>Ethernet throughput measurement</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1049"/>
				<updated>2023-01-26T08:26:57Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows one way to display the data flow on an ethernet port in a grafana application.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&amp;lt;br&amp;gt;&lt;br /&gt;
The following packages must be installed to run this application successfully:&amp;lt;br&amp;gt;&lt;br /&gt;
metel-datalogger&amp;lt;br&amp;gt;&lt;br /&gt;
metel-ntpd-server-internet&amp;lt;br&amp;gt;&lt;br /&gt;
grafana&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example from Grafana&amp;lt;br&amp;gt; ===&lt;br /&gt;
[[File:Grafana eth.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Download Program for IEC 61131-3&lt;br /&gt;
[[File:Program IEC.zip]]&lt;br /&gt;
Download json for Dashboard in Grafana&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=File:Program_IEC.zip&amp;diff=1048</id>
		<title>File:Program IEC.zip</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=File:Program_IEC.zip&amp;diff=1048"/>
				<updated>2023-01-26T08:26:44Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Program&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1047</id>
		<title>Ethernet throughput measurement</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1047"/>
				<updated>2023-01-25T14:02:52Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows one way to display the data flow on an ethernet port in a grafana application.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&amp;lt;br&amp;gt;&lt;br /&gt;
The following packages must be installed to run this application successfully:&amp;lt;br&amp;gt;&lt;br /&gt;
metel-datalogger&amp;lt;br&amp;gt;&lt;br /&gt;
metel-ntpd-server-internet&amp;lt;br&amp;gt;&lt;br /&gt;
grafana&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example from Grafana&amp;lt;br&amp;gt; ===&lt;br /&gt;
[[File:Grafana eth.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Download Program for IEC 61131-3&lt;br /&gt;
&lt;br /&gt;
Download json for Dashboard in Grafana&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=File:Grafana_eth.png&amp;diff=1046</id>
		<title>File:Grafana eth.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=File:Grafana_eth.png&amp;diff=1046"/>
				<updated>2023-01-25T13:54:27Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1045</id>
		<title>Ethernet throughput measurement</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Ethernet_throughput_measurement&amp;diff=1045"/>
				<updated>2023-01-25T13:50:48Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: Created page with &amp;quot;This example shows one way to display the data flow on an ethernet port in a grafana application.  '''Note:'''&amp;lt;br&amp;gt; The following packages must be installed to run this applica...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows one way to display the data flow on an ethernet port in a grafana application.&lt;br /&gt;
&lt;br /&gt;
'''Note:'''&amp;lt;br&amp;gt;&lt;br /&gt;
The following packages must be installed to run this application successfully:&amp;lt;br&amp;gt;&lt;br /&gt;
metel-datalogger&amp;lt;br&amp;gt;&lt;br /&gt;
metel-ntpd-server-internet&amp;lt;br&amp;gt;&lt;br /&gt;
grafana&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Configuration&amp;diff=1044</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Configuration&amp;diff=1044"/>
				<updated>2023-01-25T13:41:29Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ycgu-cooltable-3&lt;br /&gt;
|title-left='''General'''&lt;br /&gt;
|title-center=&lt;br /&gt;
|title-right=&lt;br /&gt;
|content-left=&lt;br /&gt;
'''IPLOG-GAMA Tutorials'''&lt;br /&gt;
* [[QuickStart | QuickStart]]&lt;br /&gt;
* [[Firmware_Upgrade | Firmware Upgrade]]&lt;br /&gt;
* [[Reset_to_factory | Reset to Factory Default]]&lt;br /&gt;
* [[Backup_and_restore | Backup and Restore]]&lt;br /&gt;
* [[Recovery_mode | Recovery Mode]]&lt;br /&gt;
* [[MetelVPN_Support | MetelVPN Support]]&lt;br /&gt;
* [[OpenVPN | OpenVPN]]&lt;br /&gt;
* [[PIN_Check | PIN Check]]&lt;br /&gt;
* [[GPRS_Data | GPRS Data (IPLOG-G2)]]&lt;br /&gt;
* [[LTE_Data | LTE Data (IPLOG-G3)]]&lt;br /&gt;
* [[Users_Passwords | Users / Passwords]]&lt;br /&gt;
* [[NTPD | NTPD (Network Time Protokol)]]&lt;br /&gt;
* [[GRAFANA | GRAFANA]]&lt;br /&gt;
* [[Mobile_APP | Mobile APP for Android and iOS]]&lt;br /&gt;
* [[IO-EXT | Adding Variables for IO Modules]]&lt;br /&gt;
* [[Offline_OPKG | Installation Packages in Offline]]&lt;br /&gt;
* [[How_to_mount_usb_drive | How to Mount USB Drive]]&lt;br /&gt;
* [[Wifi_Dongle | USB Wi-Fi Dongle Configuration ]]&lt;br /&gt;
* [[1wire | Configuration 1-wire Temperature Sensors ]]&lt;br /&gt;
* [[Cron | Cron Configuration ]]&lt;br /&gt;
|content-center=&lt;br /&gt;
&lt;br /&gt;
'''MODBUS registers'''&lt;br /&gt;
&lt;br /&gt;
* [[Buses | Buses ]]&lt;br /&gt;
&lt;br /&gt;
IO Modules&lt;br /&gt;
* [[AI4.1 | AI4.1 ]]&lt;br /&gt;
* [[AI8.1 | AI8.1 ]]&lt;br /&gt;
* [[AO8.1 | AO8.1 ]]&lt;br /&gt;
* [[BI8.1 | BI8.1 ]]&lt;br /&gt;
* [[BO8.1 | BO8.1 ]]&lt;br /&gt;
* [[DI8.1 | DI8.1 ]]&lt;br /&gt;
* [[PP8.1 | PP8.1 ]]&lt;br /&gt;
* [[RE8.1 | RE8.1 ]]&lt;br /&gt;
* [[RE8.2 | RE8.2 ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IF Modules&lt;br /&gt;
* [[IF-05 | IF-05]]&lt;br /&gt;
* [[IF-11 | IF-11]]&lt;br /&gt;
* [[IF-12 | IF-12]]&lt;br /&gt;
* [[IF-14 | IF-14G]]&lt;br /&gt;
* [[IF-15 | IF-15(G)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|content-right=&lt;br /&gt;
'''Management tools'''&lt;br /&gt;
* [[Console_SSH | Console SSH (TCP/IP or USB)]]&lt;br /&gt;
* [[SIMULand.v4 | SIMULand.v4]]&lt;br /&gt;
* [[MIB_files | MIB Files]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Programming'''&lt;br /&gt;
* [[METEL_IEC_61131-3_IDE| METEL IEC 61131-3 IDE Basic Overview]]&lt;br /&gt;
* [[METEL IEC 61131-3 IDE Getting Started | METEL IEC 61131-3 IDE Getting Started]]&lt;br /&gt;
* [[Libraries for IEC 61131-3 | METEL IEC 61131-3 IDE Block Library]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES - METEL IEC 61131-3 IDE'''&lt;br /&gt;
* [[Temperature and Humidity control | Temperature and Humidity Control ]]&lt;br /&gt;
* [[Switch Digital Inputs Reading | Switch Digital Inputs Reading ]]&lt;br /&gt;
* [[Sending and Receiving SMS | Sending and Receiving SMS ]]&lt;br /&gt;
* [[Ethernet throughput measurement | Ethernet throughput measurement ]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Cron&amp;diff=1043</id>
		<title>Cron</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Cron&amp;diff=1043"/>
				<updated>2022-01-20T11:48:41Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: Created page with &amp;quot;=== Operation === If '''crond''' run, it evaluates its configuration in '''/var/spool/cron/crontabs/root''' at each minute at :00 seconds.  To start/stop/restart '''crond''' a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Operation ===&lt;br /&gt;
If '''crond''' run, it evaluates its configuration in '''/var/spool/cron/crontabs/root''' at each minute at :00 seconds.&lt;br /&gt;
&lt;br /&gt;
To start/stop/restart '''crond''' and rewrite configuration (on start) from /'''etc/crontabs/root''' you can use startscript:&lt;br /&gt;
 /etc/init.d/S??crond (start|stop|restart)&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
&lt;br /&gt;
==== Temporary ====&lt;br /&gt;
 vi /var/spool/cron/crontabs/root&lt;br /&gt;
or&lt;br /&gt;
 crontab -l #list&lt;br /&gt;
 crontab -e #edit&lt;br /&gt;
 crontab -r #delete&lt;br /&gt;
&lt;br /&gt;
==== Permanent ====&lt;br /&gt;
 vi /etc/crontabs/root&lt;br /&gt;
or&lt;br /&gt;
 crontab -c /etc/crontabs -l #list&lt;br /&gt;
 crontab -c /etc/crontabs -e #edit&lt;br /&gt;
 crontab -c /etc/crontabs -r #delete&lt;br /&gt;
and reload&lt;br /&gt;
 /etc/init.d/S??crond restart&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
 * * * * * /path/to/command/to/run&lt;br /&gt;
https://crontab.guru/&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=Configuration&amp;diff=1042</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=Configuration&amp;diff=1042"/>
				<updated>2022-01-20T11:48:09Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ycgu-cooltable-3&lt;br /&gt;
|title-left='''General'''&lt;br /&gt;
|title-center=&lt;br /&gt;
|title-right=&lt;br /&gt;
|content-left=&lt;br /&gt;
'''IPLOG-GAMA Tutorials'''&lt;br /&gt;
* [[QuickStart | QuickStart]]&lt;br /&gt;
* [[Firmware_Upgrade | Firmware Upgrade]]&lt;br /&gt;
* [[Reset_to_factory | Reset to Factory Default]]&lt;br /&gt;
* [[Backup_and_restore | Backup and Restore]]&lt;br /&gt;
* [[Recovery_mode | Recovery Mode]]&lt;br /&gt;
* [[MetelVPN_Support | MetelVPN Support]]&lt;br /&gt;
* [[OpenVPN | OpenVPN]]&lt;br /&gt;
* [[PIN_Check | PIN Check]]&lt;br /&gt;
* [[GPRS_Data | GPRS Data (IPLOG-G2)]]&lt;br /&gt;
* [[LTE_Data | LTE Data (IPLOG-G3)]]&lt;br /&gt;
* [[Users_Passwords | Users / Passwords]]&lt;br /&gt;
* [[NTPD | NTPD (Network Time Protokol)]]&lt;br /&gt;
* [[GRAFANA | GRAFANA]]&lt;br /&gt;
* [[Mobile_APP | Mobile APP for Android and iOS]]&lt;br /&gt;
* [[IO-EXT | Adding Variables for IO Modules]]&lt;br /&gt;
* [[Offline_OPKG | Installation Packages in Offline]]&lt;br /&gt;
* [[How_to_mount_usb_drive | How to Mount USB Drive]]&lt;br /&gt;
* [[Wifi_Dongle | USB Wi-Fi Dongle Configuration ]]&lt;br /&gt;
* [[1wire | Configuration 1-wire Temperature Sensors ]]&lt;br /&gt;
* [[Cron | Cron Configuration ]]&lt;br /&gt;
|content-center=&lt;br /&gt;
&lt;br /&gt;
'''MODBUS registers'''&lt;br /&gt;
&lt;br /&gt;
* [[Buses | Buses ]]&lt;br /&gt;
&lt;br /&gt;
IO Modules&lt;br /&gt;
* [[AI4.1 | AI4.1 ]]&lt;br /&gt;
* [[AI8.1 | AI8.1 ]]&lt;br /&gt;
* [[AO8.1 | AO8.1 ]]&lt;br /&gt;
* [[BI8.1 | BI8.1 ]]&lt;br /&gt;
* [[BO8.1 | BO8.1 ]]&lt;br /&gt;
* [[DI8.1 | DI8.1 ]]&lt;br /&gt;
* [[PP8.1 | PP8.1 ]]&lt;br /&gt;
* [[RE8.1 | RE8.1 ]]&lt;br /&gt;
* [[RE8.2 | RE8.2 ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IF Modules&lt;br /&gt;
* [[IF-05 | IF-05]]&lt;br /&gt;
* [[IF-11 | IF-11]]&lt;br /&gt;
* [[IF-12 | IF-12]]&lt;br /&gt;
* [[IF-14 | IF-14G]]&lt;br /&gt;
* [[IF-15 | IF-15(G)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|content-right=&lt;br /&gt;
'''Management tools'''&lt;br /&gt;
* [[Console_SSH | Console SSH (TCP/IP or USB)]]&lt;br /&gt;
* [[SIMULand.v4 | SIMULand.v4]]&lt;br /&gt;
* [[MIB_files | MIB Files]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Programming'''&lt;br /&gt;
* [[METEL_IEC_61131-3_IDE| METEL IEC 61131-3 IDE Basic Overview]]&lt;br /&gt;
* [[METEL IEC 61131-3 IDE Getting Started | METEL IEC 61131-3 IDE Getting Started]]&lt;br /&gt;
* [[Libraries for IEC 61131-3 | METEL IEC 61131-3 IDE Block Library]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES - METEL IEC 61131-3 IDE'''&lt;br /&gt;
* [[Temperature and Humidity control | Temperature and Humidity Control ]]&lt;br /&gt;
* [[Switch Digital Inputs Reading | Switch Digital Inputs Reading ]]&lt;br /&gt;
* [[Sending and Receiving SMS | Sending and Receiving SMS ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1011</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1011"/>
				<updated>2021-07-23T06:51:17Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
Note: Command '''&amp;quot;opkg list&amp;quot;''' display all available packages.&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows list of actual connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used for creating variables for IEC 61131-3&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices. Column Addr is empty, because we have not yet defined which sensors we will use. &lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
Configuration that we want to use all connected sensors. Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Display config list.&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
&lt;br /&gt;
==== Connecting New Device(s) ====&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602&lt;br /&gt;
 Total 12 devices&lt;br /&gt;
In the list is one new device, without Addr. For add this sensor to config list we use next command.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add 28.EED777911602}}&lt;br /&gt;
Check that the sensor has been added to the config list.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature config}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602         12&lt;br /&gt;
&lt;br /&gt;
=== 4. Creates variables for IEC 61131-3 ===&lt;br /&gt;
If you have define all sensors or you did some changes, it is neccesary create actual list of varibales for one wire sensors.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature update_iec}}&lt;br /&gt;
Example of updating proccess&lt;br /&gt;
 Stopping metel-1wire-temperatured: OK&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
 Stopping IEC 61131-3&lt;br /&gt;
 Starting IEC 61131-3&lt;br /&gt;
Now are variables available for programming in Metel IEC 61131-3 program.&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1010</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1010"/>
				<updated>2021-07-23T06:49:03Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
Note: Command '''&amp;quot;opkg list&amp;quot;''' display all available packages.&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices. Column Addr is empty, because we have not yet defined which sensors we will use. &lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
Configuration that we want to use all connected sensors. Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Display config list.&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
&lt;br /&gt;
==== Connecting New Device(s) ====&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602&lt;br /&gt;
 Total 12 devices&lt;br /&gt;
In the list is one new device, without Addr. For add this sensor to config list we use next command.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add 28.EED777911602}}&lt;br /&gt;
Check that the sensor has been added to the config list.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature config}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602         12&lt;br /&gt;
&lt;br /&gt;
=== 4. Creates variables for IEC 61131-3 ===&lt;br /&gt;
If you have define all sensors or you did some changes, it is neccesary create actual list of varibales for one wire sensors.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature update_iec}}&lt;br /&gt;
Example of updating proccess&lt;br /&gt;
 Stopping metel-1wire-temperatured: OK&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
 Stopping IEC 61131-3&lt;br /&gt;
 Starting IEC 61131-3&lt;br /&gt;
Now are variables available for programming in Metel IEC 61131-3 program.&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1009</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1009"/>
				<updated>2021-07-23T06:47:46Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
Note: Command &amp;quot;opkg list&amp;quot; display all available packages.&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices. Column Addr is empty, because we have not yet defined which sensors we will use. &lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
Configuration that we want to use all connected sensors. Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Display config list.&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
&lt;br /&gt;
==== Connecting New Device(s) ====&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602&lt;br /&gt;
 Total 12 devices&lt;br /&gt;
In the list is one new device, without Addr. For add this sensor to config list we use next command.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add 28.EED777911602}}&lt;br /&gt;
Check that the sensor has been added to the config list.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature config}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602         12&lt;br /&gt;
&lt;br /&gt;
=== 4. Creates variables for IEC 61131-3 ===&lt;br /&gt;
If you have define all sensors or you did some changes, it is neccesary create actual list of varibales for one wire sensors.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature update_iec}}&lt;br /&gt;
Example of updating proccess&lt;br /&gt;
 Stopping metel-1wire-temperatured: OK&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
 Stopping IEC 61131-3&lt;br /&gt;
 Starting IEC 61131-3&lt;br /&gt;
Now are variables available for programming in Metel IEC 61131-3 program.&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1008</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1008"/>
				<updated>2021-07-23T06:44:44Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices. Column Addr is empty, because we have not yet defined which sensors we will use. &lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
Configuration that we want to use all connected sensors. Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Display config list.&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
&lt;br /&gt;
==== Connecting New Device(s) ====&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602&lt;br /&gt;
 Total 12 devices&lt;br /&gt;
In the list is one new device, without Addr. For add this sensor to config list we use next command.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add 28.EED777911602}}&lt;br /&gt;
Check that the sensor has been added to the config list.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature config}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602         12&lt;br /&gt;
&lt;br /&gt;
=== 4. Creating variables for IEC 61131-3 ===&lt;br /&gt;
If you have define all sensors or you did some changes, it is neccesary create actual list of varibales for one wire sensors.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature update_iec}}&lt;br /&gt;
Example of updating proccess&lt;br /&gt;
 Stopping metel-1wire-temperatured: OK&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
 Stopping IEC 61131-3&lt;br /&gt;
 Starting IEC 61131-3&lt;br /&gt;
Now are variables available for programming in Metel IEC 61131-3 program.&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1007</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1007"/>
				<updated>2021-07-23T06:41:09Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices. Column Addr is empty, because we have not yet defined which sensors we will use. &lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
Configuration that we want to use all connected sensors. Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Display config list.&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
&lt;br /&gt;
==== Connecting New Device(s) ====&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602&lt;br /&gt;
 Total 12 devices&lt;br /&gt;
In the list is one new device, without Addr. For add this sensor to config list we use next command.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add 28.EED777911602}}&lt;br /&gt;
Check that the sensor has been added to the config list.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature config}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602         12&lt;br /&gt;
&lt;br /&gt;
==== Creating variables for IEC 61131-3 ====&lt;br /&gt;
If you have define all sensors or you did some changes, it is neccesary create actual list of varibales for one wire sensors.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature update_iec}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1006</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1006"/>
				<updated>2021-07-23T06:39:16Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices. Column Addr is empty, because we have not yet defined which sensors we will use. &lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
Configuration that we want to use all connected sensors. Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Display config list.&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
&lt;br /&gt;
==== Connecting New Device(s) ====&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602&lt;br /&gt;
 Total 12 devices&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add 28.EED777911602}}&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature config}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602         12&lt;br /&gt;
&lt;br /&gt;
==== Creating variables for IEC 61131-3 ====&lt;br /&gt;
If you have define all sensors or you did some changes, it is neccesary create actual list of varibales for one wire sensors.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature update_iec}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1005</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1005"/>
				<updated>2021-07-23T06:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices. Column Addr is empty, because we have not yet defined which sensors we will use. &lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
Configuration that we want to use all connected sensors. &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
&lt;br /&gt;
==== Connecting New Device(s) ====&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602&lt;br /&gt;
 Total 12 devices&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add 28.EED777911602}}&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature config}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602         12&lt;br /&gt;
&lt;br /&gt;
==== Creating variables for IEC 61131-3 ====&lt;br /&gt;
If you have define all sensors or you did some changes, it is neccesary create actual list of varibales for one wire sensors.&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature update_iec}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1004</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1004"/>
				<updated>2021-07-23T06:32:31Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
&lt;br /&gt;
==== Connecting New Device(s) ====&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602&lt;br /&gt;
 Total 12 devices&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add 28.EED777911602}}&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature config}}&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;br /&gt;
 28.EED777911602         12&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1003</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1003"/>
				<updated>2021-07-23T06:27:55Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;br /&gt;
Example of list with all connected devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702&lt;br /&gt;
 28.2341E00A0000&lt;br /&gt;
 28.2BFD77911702&lt;br /&gt;
 28.40C577911602&lt;br /&gt;
 28.6FDFDE0A0000&lt;br /&gt;
 28.7325DF0A0000&lt;br /&gt;
 28.73F877910E02&lt;br /&gt;
 28.7B1CDF0A0000&lt;br /&gt;
 28.87D5DE0A0000&lt;br /&gt;
 28.C94D0F020000&lt;br /&gt;
 28.EB9277910C02&lt;br /&gt;
 Total 11 devices&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature add all}}&lt;br /&gt;
Command which add all devices without Addr to config list. Config list is used for creating variables for Metel IEC 61131-3&lt;br /&gt;
{{NotePre|text= metel-1wire-temperature config}}&lt;br /&gt;
Example of config list with all configurated devices&lt;br /&gt;
 Id                      Addr&lt;br /&gt;
 28.202877911702         1&lt;br /&gt;
 28.2341E00A0000         2&lt;br /&gt;
 28.2BFD77911702         3&lt;br /&gt;
 28.40C577911602         4&lt;br /&gt;
 28.6FDFDE0A0000         5&lt;br /&gt;
 28.7325DF0A0000         6&lt;br /&gt;
 28.73F877910E02         7&lt;br /&gt;
 28.7B1CDF0A0000         8&lt;br /&gt;
 28.87D5DE0A0000         9&lt;br /&gt;
 28.C94D0F020000         10&lt;br /&gt;
 28.EB9277910C02         11&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1002</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1002"/>
				<updated>2021-07-23T06:20:12Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 Usage: metel-1wire-temperature &amp;lt;command&amp;gt;&lt;br /&gt;
 Commands:&lt;br /&gt;
  help           - Shows commands&lt;br /&gt;
  list           - Shows actual list of connected devices&lt;br /&gt;
  config         - Shows list with sensors which are used&lt;br /&gt;
  add {&amp;lt;id&amp;gt;|all} - Add one or all devices into config list&lt;br /&gt;
  del {&amp;lt;id&amp;gt;|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec     - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1001</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1001"/>
				<updated>2021-07-23T06:19:25Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-12014) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/metel-1wire-temperature_0.0.2-12014_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 commands:&lt;br /&gt;
  help&lt;br /&gt;
  list - Shows actual list of connected devices&lt;br /&gt;
  config - Shows list with sensors which are used&lt;br /&gt;
  add {id|all} - Add one or all devices into config list&lt;br /&gt;
  del {id|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1000</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=1000"/>
				<updated>2021-07-23T04:24:20Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-11980.203140748) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg-debug/base/metel-1wire-temperature_0.0.2-11980.203140748_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 commands:&lt;br /&gt;
  help&lt;br /&gt;
  list - Shows actual list of connected devices&lt;br /&gt;
  config - Shows list with sensors which are used&lt;br /&gt;
  add {id|all} - Add one or all devices into config list&lt;br /&gt;
  del {id|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec - Updates the list of IEC variables depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	<entry>
		<id>http://wiki.iplog.eu/index.php?title=1wire&amp;diff=999</id>
		<title>1wire</title>
		<link rel="alternate" type="text/html" href="http://wiki.iplog.eu/index.php?title=1wire&amp;diff=999"/>
				<updated>2021-07-23T04:24:01Z</updated>
		
		<summary type="html">&lt;p&gt;Z033: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Configuration 1-WIRE Temperature Sensors ===&lt;br /&gt;
IF-07G allow connect 1-wire temperature sensors. For easy configuration and using variables in Metel IEC 61131-3 is prepared small application which is possible control from CLI for example putty.&lt;br /&gt;
=== 1. Update List of Available Packages ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg update&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Update Process:&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/base/Packages.gz.&lt;br /&gt;
 Updated source 'base'.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg/firmware/Packages.gz.&lt;br /&gt;
 Updated source 'firmware'.&lt;br /&gt;
&lt;br /&gt;
=== 2. Install metel-1wire-temperature Package ===&lt;br /&gt;
{{NotePre|text= root@iplog:~# opkg install metel-1wire-temperature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Example of Package Installing: &lt;br /&gt;
 Installing metel-1wire-temperature (0.0.2-11980.203140748) on root.&lt;br /&gt;
 Downloading http://www.iplog.eu/opkg-debug/base/metel-1wire-temperature_0.0.2-11980.203140748_all.ipk.&lt;br /&gt;
 Configuring metel-1wire-temperature.&lt;br /&gt;
 Starting metel-1wire-temperatured: OK&lt;br /&gt;
&lt;br /&gt;
=== 3. Available Commands for metel-1wire-temperature Package ===&lt;br /&gt;
Display help &lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature help }}&lt;br /&gt;
 commands:&lt;br /&gt;
  help&lt;br /&gt;
  list - Shows actual list of connected devices&lt;br /&gt;
  config - Shows list with sensors which are used&lt;br /&gt;
  add {id|all} - Add one or all devices into config list&lt;br /&gt;
  del {id|all} - Delete one or all sensors from config list&lt;br /&gt;
  update_iec - Updates the list of variables IEC depending on the config list&lt;br /&gt;
{{NotePre|text= root@iplog:~# metel-1wire-temperature list}}&lt;/div&gt;</summary>
		<author><name>Z033</name></author>	</entry>

	</feed>