This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits 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 a0e1ceb3e Site checkin for project PLC4X: Jenkins Tools
a0e1ceb3e is described below
commit a0e1ceb3ef80465dc451944b9dd18d26e381f5fa
Author: jenkins <[email protected]>
AuthorDate: Sun Aug 16 14:28:01 2026 +0000
Site checkin for project PLC4X: Jenkins Tools
---
plc4x/pre-release/users/protocols/ctrlx.html | 46 ++-
plc4x/pre-release/users/protocols/index.html | 418 ++++++++++++++-------------
search-index.js | 2 +-
3 files changed, 254 insertions(+), 212 deletions(-)
diff --git a/plc4x/pre-release/users/protocols/ctrlx.html
b/plc4x/pre-release/users/protocols/ctrlx.html
index 92bf5bf13..bfcc447b6 100644
--- a/plc4x/pre-release/users/protocols/ctrlx.html
+++ b/plc4x/pre-release/users/protocols/ctrlx.html
@@ -483,9 +483,10 @@
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
-This driver is unfinished and not usable yet. Only browsing and pinging work
at all; there
-is no tag address syntax, so reading and writing are not available. This page
describes the current
-state for anyone continuing the work - it is not linked from the navigation.
+This driver is unfinished and not usable yet. Discovery and pinging are the
only things
+that work; there is no tag address syntax, so reading and writing are not
available, and the browse
+implementation does not work yet either. This page describes the current state
for anyone
+continuing the work - it is not linked from the navigation.
</td>
</tr>
</table>
@@ -512,26 +513,38 @@ HTTPS, rather than over an industrial fieldbus
protocol.</p>
</thead>
<tbody>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>browse</code></p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>ping</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
-<p>Enumerates the device’s Data Layer nodes. This is the driver’s
main capability.</p>
+<p>Checks that the device is reachable and the credentials are accepted.</p>
</div></div></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>ping</code></p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>discover</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
-<p>Checks that the device is reachable and the credentials are accepted.</p>
+<p>Locates ctrlX CORE devices on the local network.</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>browse</code></p></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
+<p><strong>Does not work yet.</strong> The connection carries an
implementation that is meant to enumerate the
+device’s Data Layer nodes, and it is the furthest along of the
unfinished operations, but it does
+not produce usable results.</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>read</code> / <code>write</code> /
<code>subscribe</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
-<p><strong>Not implemented.</strong> The connection reports these as supported
in its metadata, but the
-corresponding request builders return <code>null</code>, so attempting one
fails. Use <code>browse</code> for now.</p>
+<p><strong>Not implemented.</strong> The corresponding request builders return
<code>null</code>, so attempting one fails.</p>
</div></div></td>
</tr>
</tbody>
</table>
+<div class="paragraph">
+<p>The connection reports all four of these as unsupported in its metadata, so
a caller that checks
+<code>getMetadata()</code> before deciding what to do gets an honest answer
rather than being sent into a
+request that cannot succeed.</p>
+</div>
</div>
</div>
<div class="sect1">
@@ -579,9 +592,22 @@ object that is not a username/password pair is rejected as
well.
<div class="sect1">
<h2 id="_browsing"><a class="anchor" href="#_browsing"></a>Browsing</h2>
<div class="sectionbody">
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Browsing does not work yet. What follows describes how the existing
implementation is meant
+to be used, for whoever picks the work up.
+</td>
+</tr>
+</table>
+</div>
<div class="paragraph">
<p>Browse queries are glob patterns matched against the Data Layer node paths,
not tag addresses.
-<code>**</code> matches everything and is the simplest way to see what a
device exposes:</p>
+<code>**</code> matches everything and is intended as the simplest way to see
what a device exposes:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/plc4x/pre-release/users/protocols/index.html
b/plc4x/pre-release/users/protocols/index.html
index 2cdf2420b..56818076a 100644
--- a/plc4x/pre-release/users/protocols/index.html
+++ b/plc4x/pre-release/users/protocols/index.html
@@ -477,6 +477,11 @@
<h1 class="page">Current language support for protocols</h1>
<div id="preamble">
<div class="sectionbody">
+<div class="paragraph">
+<p>The tables below list the drivers that actually ship with each language
implementation.
+A protocol only appears as supported where a driver exists and is registered
with that
+implementation’s driver manager - a protocol specification on its own is
not enough.</p>
+</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 16.6666%;">
@@ -522,18 +527,26 @@
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock">CBus</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CAN
(raw)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">CANopen</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">CBus</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
@@ -542,7 +555,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
@@ -557,7 +570,7 @@
<td class="tableblock halign-left valign-top"><p
class="tableblock">EtherNet/IP</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
@@ -573,8 +586,8 @@
<td class="tableblock halign-left valign-top"><p
class="tableblock">Firmata</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
@@ -588,7 +601,7 @@
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">KNXnet/IP</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
@@ -605,7 +618,7 @@
<td class="tableblock halign-left valign-top"><p
class="tableblock">OPC-UA</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
@@ -619,7 +632,7 @@
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PLC4X
(Proxy-Protocol)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
@@ -637,15 +650,15 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">S7</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Simulated</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
@@ -654,7 +667,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
@@ -674,264 +687,255 @@
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Legend:</p>
-<p class="tableblock">- <span class="icon green"><i class="fa
fa-check"></i></span> Implemented and fully supported
-- <span class="icon yellow"><i class="fa fa-exclamation"></i></span> Work in
progress
-- <span class="icon red"><i class="fa fa-check"></i></span> Not implemented yet
-- <span class="icon red"><i class="fa fa-question"></i></span> Unsure</p></td>
+<p class="tableblock">- <span class="icon green"><i class="fa
fa-check"></i></span> Implemented and usable
+- <span class="icon yellow"><i class="fa fa-exclamation"></i></span> Partially
implemented - see the notes below
+- <span class="icon red"><i class="fa fa-times"></i></span> Not
implemented</p></td>
</tr>
</tbody>
</table>
+<div class="paragraph">
+<p>Notes on the partially implemented drivers:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>AB-Ethernet</strong> (Java) reads and offers polled subscriptions;
there is no write support.</p>
+</li>
+<li>
+<p><strong>BACnet/IP</strong> passively receives broadcast traffic and exposes
it as subscriptions. It does not read or write properties.</p>
+</li>
+<li>
+<p><strong>CAN (raw)</strong> (Java) writes and subscribes; there is no read
support.</p>
+</li>
+<li>
+<p><strong>CBus</strong> (Java) is a skeleton that connects but implements no
operations. The Go driver is the complete one.</p>
+</li>
+<li>
+<p><strong>ctrlX</strong> (Java) discovers devices and answers pings. Its
read, write and subscribe builders are not implemented, and although the
connection carries browse code, browsing does not work yet.</p>
+</li>
+<li>
+<p><strong>Firmata</strong> (Java) writes and subscribes; there is no read
support.</p>
+</li>
+<li>
+<p><strong>KNXnet/IP</strong> (C#) is the only driver in plc4net and has not
kept pace with the other implementations.</p>
+</li>
+<li>
+<p><strong>Open-Protocol</strong> (Java) is a skeleton that connects but
implements no operations.</p>
+</li>
+<li>
+<p><strong>Profinet</strong> (Java) browses, discovers and subscribes to
cyclic data; it has no read or write support. Both the <code>profinet</code>
and the newer <code>profinet-ng</code> driver behave this way.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p><strong>DF1</strong> has a protocol specification in the repository, and
plc4go additionally ships the generated
+message model for it, but no language implementation has a driver: there is
nothing that can open a
+DF1 connection. DF1 command messages also appear inside the AB-Ethernet model,
which is where that
+protocol is actually used today.</p>
+</div>
</div>
</div>
<div class="sect1">
<h2 id="_features"><a class="anchor" href="#_features"></a>Features</h2>
<div class="sectionbody">
<div class="paragraph">
-<p>The following table contains a list of operations and the protocols that
support them:</p>
+<p>The table below lists which operations each driver actually implements. It
describes <strong>plc4j</strong>,
+because that is the most complete implementation; the other languages support
a subset. An
+operation is listed as supported where the driver implements it - drivers
report their own
+metadata inconsistently, so this table follows the code rather than the
metadata.</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
-<col style="width: 10%;">
-<col style="width: 10%;">
-<col style="width: 10%;">
-<col style="width: 10%;">
-<col style="width: 10%;">
-<col style="width: 10%;">
-<col style="width: 10%;">
-<col style="width: 10%;">
-<col style="width: 10%;">
-<col style="width: 10%;">
+<col style="width: 14.2857%;">
+<col style="width: 14.2857%;">
+<col style="width: 14.2857%;">
+<col style="width: 14.2857%;">
+<col style="width: 14.2857%;">
+<col style="width: 14.2857%;">
+<col style="width: 14.2858%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Protocol</th>
-<th class="tableblock halign-left valign-top">Auto-Discover</th>
+<th class="tableblock halign-left valign-top">Discovery</th>
<th class="tableblock halign-left valign-top">Browse</th>
-<th class="tableblock halign-left valign-top">Read Single Address Value</th>
-<th class="tableblock halign-left valign-top">Read Multiple Address Values</th>
-<th class="tableblock halign-left valign-top">Write Single Address Value</th>
-<th class="tableblock halign-left valign-top">Write Multiple Address Value</th>
-<th class="tableblock halign-left valign-top">Subscribe to Value changes</th>
-<th class="tableblock halign-left valign-top">Subscribe to PLC
Events/Alarms</th>
-<th class="tableblock halign-left valign-top">Publish Values</th>
+<th class="tableblock halign-left valign-top">Read</th>
+<th class="tableblock halign-left valign-top">Write</th>
+<th class="tableblock halign-left valign-top">Subscribe</th>
+<th class="tableblock halign-left valign-top">Ping</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">AB-Ethernet</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">ADS
/AMS</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">BACnet/IP</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock">CBus</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CAN
(raw)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">CANopen</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock">DF1</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">CBus</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">ctrlX</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">EtherNet/IP</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">EtherNet/IP - Logix</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Firmata</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">IEC-60870</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">KNXnet/IP</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Modbus
(TCP/RTU/ASCII)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">OPC-UA</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Open-Protocol (Torque-Tools)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PLC4X
(Proxy-Protocol)</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Profinet</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">S7</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Simulated</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SLMP
(MELSEC)</p></td>
@@ -939,23 +943,17 @@
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">UMAS</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-times"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon yellow"><i class="fa fa-exclamation"></i></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon green"><i class="fa fa-check"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><span
class="icon red"><i class="fa fa-question"></i></span></p></td>
</tr>
</tbody>
</table>
@@ -966,13 +964,31 @@
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Legend:</p>
-<p class="tableblock">- <span class="icon green"><i class="fa
fa-check"></i></span> Implemented and fully supported
-- <span class="icon yellow"><i class="fa fa-exclamation"></i></span>
Implemented and supported by simulation
-- <span class="icon red"><i class="fa fa-check"></i></span> Not implemented yet
-- <span class="icon red"><i class="fa fa-question"></i></span> Unsure</p></td>
+<p class="tableblock">- <span class="icon green"><i class="fa
fa-check"></i></span> Implemented by the driver
+- <span class="icon yellow"><i class="fa fa-exclamation"></i></span> Emulated:
the protocol has no native support, so PLC4X provides it
+- <span class="icon red"><i class="fa fa-times"></i></span> Not
implemented</p></td>
</tr>
</tbody>
</table>
+<div class="paragraph">
+<p>Protocols such as Modbus have no notion of a subscription - a client has to
poll. Drivers for those
+protocols extend <code>PollingSubscriptionConnectionBase</code>, which turns a
subscription request into a
+polling loop and emits change events from it, so application code can use the
same subscription API
+everywhere. This is what the yellow subscription entries above mean; the
traffic on the wire is
+still a sequence of reads. AB-Ethernet, EtherNet/IP (including Logix), Modbus,
SLMP and UMAS work
+this way.</p>
+</div>
+<div class="paragraph">
+<p>The Logix driver reuses the EtherNet/IP connection, so it supports the same
operations, but it does
+not expose device discovery. S7 discovery uses PROFINET DCP and needs the
optional pcap4j runtime
+(and libpcap on the host) to be installed.</p>
+</div>
+<div class="paragraph">
+<p>A read or write request always carries a set of tags, so there is no
separate "single value" and
+"multiple values" support: a driver that can read can read any number of tags
in one request. How
+efficiently it does so differs - some drivers split a request into several PLC
requests and merge
+the responses.</p>
+</div>
</div>
</div>
</article>
diff --git a/search-index.js b/search-index.js
index 763bfeb85..568a2cb8f 100644
--- a/search-index.js
+++ b/search-index.js
@@ -1 +1 @@
-antoraSearch.initSearch(lunr,
{"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1",[0,68.524]],["name/1",[1,1.482]],["text/1",[]],["component/1",[2,0.399]],["title/2-1",[3,34.33,4,29.841]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[5,43.394]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[6,12.025,7,12.723,8,9.568,9,16.188,10,15.491,11,20.832,12,26.129,13,12.057]],["name/2-3",[]],["text/2-3",[]],["
[...]
\ No newline at end of file
+antoraSearch.initSearch(lunr,
{"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1",[0,68.524]],["name/1",[1,1.482]],["text/1",[]],["component/1",[2,0.399]],["title/2-1",[3,34.33,4,29.841]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[5,43.394]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[6,12.025,7,12.723,8,9.549,9,16.188,10,15.491,11,20.832,12,25.715,13,12.088]],["name/2-3",[]],["text/2-3",[]],["
[...]
\ No newline at end of file