<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Arduino from Modbus rtu to Modbus tcp</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/936192f110/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Runtime/thread/936192f110/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Runtime/thread/936192f110/</id><updated>2020-02-27T16:49:28.014000Z</updated><subtitle>Recent posts to Arduino from Modbus rtu to Modbus tcp</subtitle><entry><title>Arduino from Modbus rtu to Modbus tcp</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/936192f110/?limit=25#8547" rel="alternate"/><published>2020-02-27T16:49:28.014000Z</published><updated>2020-02-27T16:49:28.014000Z</updated><author><name>fleaplc</name><uri>https://forge.codesys.com/u/fleaplc/</uri></author><id>https://forge.codesys.com9e36ef7786898c9f8f985af8cfc2cbd589a14d41</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;look at this &lt;a class="" href="http://www.fleaplc.it/en/tutorials/29-arduino" rel="nofollow"&gt;http://www.fleaplc.it/en/tutorials/29-arduino&lt;/a&gt; it should help you&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Arduino from Modbus rtu to Modbus tcp</title><link href="https://forge.codesys.com/forge/talk/Runtime/thread/936192f110/?limit=25#935f" rel="alternate"/><published>2020-02-27T16:49:26.972000Z</published><updated>2020-02-27T16:49:26.972000Z</updated><author><name>alverman</name><uri>https://forge.codesys.com/u/alverman/</uri></author><id>https://forge.codesys.comba720fa91ff91798902a0a4e51a46e7db258ab4a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Goodmorning everyone,&lt;br/&gt;
So far I used the attached code that uses the modbus rtu protocol but now for various reasons I have to move on modbus tcp.&lt;br/&gt;
The structure of the code I used would like to keep it as it is.&lt;br/&gt;
Can you tell me a modbus tcp library for arduino and point me a method to apply it to the code?&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;\#&lt;span class="k"&gt;include&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nv"&gt;Controllino&lt;/span&gt;.&lt;span class="nv"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;  &lt;span class="cm"&gt;/* Usage of CONTROLLINO library allows you to use CONTROLLINO_xx aliases in your sketch. */&lt;/span&gt;
\#&lt;span class="k"&gt;include&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nv"&gt;ModbusRtu&lt;/span&gt;.&lt;span class="nv"&gt;h&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
\#&lt;span class="nv"&gt;define&lt;/span&gt; &lt;span class="nv"&gt;ID&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="nv"&gt;Modbus&lt;/span&gt; &lt;span class="nv"&gt;slave&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;ID&lt;/span&gt;, &lt;span class="mi"&gt;0&lt;/span&gt;, &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // this is slave ID and RS-232 or USB-FTDI&lt;/span&gt;
&lt;span class="nv"&gt;int8_t&lt;/span&gt; &lt;span class="nv"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;data&lt;/span&gt; &lt;span class="nv"&gt;array&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;modbus&lt;/span&gt; &lt;span class="nv"&gt;network&lt;/span&gt; &lt;span class="nv"&gt;sharing&lt;/span&gt;
&lt;span class="nv"&gt;uint16_t&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;9&lt;/span&gt;]&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;void&lt;/span&gt; &lt;span class="nv"&gt;setup&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt; {
  &lt;span class="nv"&gt;io_setup&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;; // I/O settings&lt;/span&gt;
  &lt;span class="nv"&gt;slave&lt;/span&gt;.&lt;span class="nv"&gt;begin&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="mi"&gt;38400&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
}
&lt;span class="nv"&gt;void&lt;/span&gt; &lt;span class="k"&gt;loop&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt; {
  &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;poll&lt;/span&gt; &lt;span class="nv"&gt;messages&lt;/span&gt;
  &lt;span class="nv"&gt;state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;slave&lt;/span&gt;.&lt;span class="nv"&gt;poll&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;, &lt;span class="mi"&gt;9&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;io_poll&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
} 
&lt;span class="nv"&gt;void&lt;/span&gt; &lt;span class="nv"&gt;io_setup&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt; {
  &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;Set&lt;/span&gt; &lt;span class="nv"&gt;digital&lt;/span&gt; &lt;span class="nv"&gt;out&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R0&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal &lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R1&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R2&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R3&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R4&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R5&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R6&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R7&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R8&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_R9&lt;/span&gt;, &lt;span class="nv"&gt;OUTPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;; // next to the digital output screw terminal&lt;/span&gt;
  &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;Set&lt;/span&gt; &lt;span class="nv"&gt;analog&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;used&lt;/span&gt; &lt;span class="nv"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;digital&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A0&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A1&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A2&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A3&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A4&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A5&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A6&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A7&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A8&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
  &lt;span class="nv"&gt;pinMode&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A9&lt;/span&gt;, &lt;span class="nv"&gt;INPUT&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;  // next to the analog input screw terminal&lt;/span&gt;
}
&lt;span class="nv"&gt;void&lt;/span&gt; &lt;span class="nv"&gt;io_poll&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt; {
  &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;get&lt;/span&gt; &lt;span class="nv"&gt;analog&lt;/span&gt; &lt;span class="nv"&gt;inputs&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;]
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;0&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A0&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;1&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A1&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;2&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A2&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;3&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A3&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;4&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A4&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;5&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A5&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;6&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A6&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;7&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A7&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;8&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A8&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;9&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_A9&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;10&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_IN0&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nv"&gt;bitWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;], &lt;span class="mi"&gt;11&lt;/span&gt;, &lt;span class="nv"&gt;digitalRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;CONTROLLINO_IN1&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;digital&lt;/span&gt; &lt;span class="nv"&gt;outputs&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;]
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R0&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R1&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R2&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R3&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R4&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;4&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R5&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R6&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R7&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R8&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;8&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;digitalWrite&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;CONTROLLINO_R9&lt;/span&gt;, &lt;span class="nv"&gt;bitRead&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;], &lt;span class="mi"&gt;9&lt;/span&gt; &lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;diagnose&lt;/span&gt; &lt;span class="nv"&gt;communication&lt;/span&gt;
  &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;6&lt;/span&gt;] &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;slave&lt;/span&gt;.&lt;span class="nv"&gt;getInCnt&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;7&lt;/span&gt;] &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;slave&lt;/span&gt;.&lt;span class="nv"&gt;getOutCnt&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
  &lt;span class="nv"&gt;au16data&lt;/span&gt;[&lt;span class="mi"&gt;8&lt;/span&gt;] &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;slave&lt;/span&gt;.&lt;span class="nv"&gt;getErrCnt&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
}
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry></feed>