This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/plc4x-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 8668552 Site checkin for project PLC4X: Jenkins Tools
8668552 is described below
commit 8668552766c2cb0e062435cab6d55c7c2e40d821
Author: jenkins <[email protected]>
AuthorDate: Fri Jul 17 13:09:12 2020 +0000
Site checkin for project PLC4X: Jenkins Tools
---
users/integrations/apache-iotdb.html | 54 +++++++++++++++++++++++++++++++++++-
users/protocols/modbus.html | 8 +++---
2 files changed, 57 insertions(+), 5 deletions(-)
diff --git a/users/integrations/apache-iotdb.html
b/users/integrations/apache-iotdb.html
index 383c8e1..ab57786 100644
--- a/users/integrations/apache-iotdb.html
+++ b/users/integrations/apache-iotdb.html
@@ -268,7 +268,59 @@
<div class="sect1">
<h2 id="apache_iotdb_incubating">Apache IotDB (Incubating)</h2>
<div class="sectionbody">
-
+<div class="paragraph">
+<p>Apache IoTDB (incubating) is database for storing time serie data.
+Therefore, it can be a good solution for managing the data which is collected
by PLC4x.</p>
+</div>
+<div class="sect2">
+<h3 id="data_model_concept">Data Model (Concept)</h3>
+<div class="paragraph">
+<p>Given a PLC address and some fields, we can consider the PLC as a
<code>device</code> in IoTDB, and each field
+as a <code>measurement</code> in IoTDB. A couple of PLCs form a <code>storage
group</code>.</p>
+</div>
+<div class="paragraph">
+<p>For example, there is a virtual storage group <code>mi</code>, and a PLC
<code>d1</code>, which has one field <code>RANDOM/foo:Integer</code>.
+Then, in IoTDB, we can get a time series like <code>root.mi.d1.foo</code> (or
<code>root.mi.d1.RANDOM_foo_Integer</code>, as you like).
+Then, we can write data into IoTDB using JDBC with SQL or native API called
session API.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="example">Example</h3>
+<div class="paragraph">
+<p><a
href="https://github.com/apache/plc4x/tree/develop/plc4j/examples/hello-integration-iotdb"
class="bare">https://github.com/apache/plc4x/tree/develop/plc4j/examples/hello-integration-iotdb</a>
shows an example
+to collect data using PLC4x and then writing data to IoTDB.</p>
+</div>
+<div class="paragraph">
+<p>To run the java example, some arguments are needed:</p>
+</div>
+<div class="paragraph">
+<p>e.g., <code>java -jar …​.. --connection-string
simulated://127.0.0.1 --field-address RANDOM/foo:Integer --polling-interval
1000 --iotdb-address 127.0.0.1:6667 --iotdb-user-name root
--iotdb-user-password root --iotdb-sg mi --iotdb-device d1 --iotdb-datatype
INT32 --use-jdbc false</code></p>
+</div>
+<div class="paragraph">
+<p>Then PLC4x will collect data from a simulated PLC device, which generate
random integer per 1 second.
+IoTDB’s address is 127.0.0.1 and the port is 6667. The data will be
stored in device <code>root.m1.d1</code>, and the measurement name is
RANDOM_foo_Integer.</p>
+</div>
+<div class="paragraph">
+<p>If you are using IoTDB v0.10.0 with the default configuration, and do not
manually create the above time series, then IoTDB will consider the data as
float.
+So, after running the program a few secondes, you can query the data using
IoTDB’s command line: <code>select * from root.mi.d1;</code></p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>+-----------------------------+-----------------------------+
+| Time|root.mi.d1.RANDOM_foo_Integer|
++-----------------------------+-----------------------------+
+|2020-07-16T20:01:39.216+08:00| -1.34242598E9|
+|2020-07-16T20:01:40.150+08:00| -9.4141104E7|
+|2020-07-16T20:01:41.154+08:00| 1.40969664E9|
+|2020-07-16T20:01:42.155+08:00| 9.5824531E8|
+|2020-07-16T20:01:43.157+08:00| -4.207406E7|
++-----------------------------+-----------------------------+</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The detailed usage about IoTDB can be found <a
href="https://iotdb.apache.org/UserGuide/Master/Client/Programming%20-%20Native%20API.html"
class="bare">https://iotdb.apache.org/UserGuide/Master/Client/Programming%20-%20Native%20API.html</a></p>
+</div>
+</div>
</div>
</div>
</main>
diff --git a/users/protocols/modbus.html b/users/protocols/modbus.html
index 3a2c84d..789c79f 100644
--- a/users/protocols/modbus.html
+++ b/users/protocols/modbus.html
@@ -456,7 +456,7 @@
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Discrete
Input</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
-<p><code>discrete-input:{start-address}</code> or
<code>discrete-input:{start-address}[{count}]</code></p>
+<p><code>discrete-input:{start-address}</code> or
<code>discrete-input:{start-address}[{count}]</code> or
<code>1{start-address}</code> or <code>1{start-address}[{count}]</code> or
<code>1x{start-address}</code> or <code>1x{start-address}[{count}]</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Read-only
Boolean input value, usually representing a binary input to the PLC</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
@@ -464,7 +464,7 @@
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Input
Register</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
-<p><code>input-register:{start-address}</code> or
<code>input-register:{start-address}[{count}]</code></p>
+<p><code>input-register:{start-address}</code> or
<code>input-register:{start-address}[{count}]</code> or
<code>3{start-address}</code> or <code>3{start-address}[{count}]</code> or
<code>3x{start-address}</code> or <code>3x{start-address}[{count}]</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Read-only
Short input value, usually representing an analog input to the PLC</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
@@ -472,7 +472,7 @@
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Coil</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
-<p><code>coil:{start-address}</code> or
<code>coil:{start-address}[{count}]</code></p>
+<p><code>coil:{start-address}</code> or
<code>coil:{start-address}[{count}]</code> or <code>0{start-address}</code> or
<code>0{start-address}[{count}]</code> or <code>0x{start-address}</code> or
<code>0x{start-address}[{count}]</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Read/Write
Boolean value, usually representing a binary output from the PLC</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
@@ -480,7 +480,7 @@
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Holding
Register</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
-<p><code>holding-register:{start-address}</code> or
<code>holding-register:{start-address}[{count}]</code></p>
+<p><code>holding-register:{start-address}</code> or
<code>holding-register:{start-address}[{count}]</code> or
<code>4{start-address}</code> or <code>4{start-address}[{count}]</code> or
<code>4x{start-address}</code> or <code>4x{start-address}[{count}]</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Read/Write
Short value, usually representing an analog output from the PLC</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>