Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 0 additions & 47 deletions bindings/protocols/modbus/index.html

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the changes to remove those terms intentional?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't remove any term, just updated the names to not include the "has", but maybe the tool does additional magic

Original file line number Diff line number Diff line change
Expand Up @@ -144,35 +144,6 @@ <h3>URL terms</h3>
<tbody>
<!-- Generate forms terms from the ontology-->


<tr>
<td><code>modv:address</code></td>
<td>Specifies the starting address of the Modbus operations</td>
<td>required</td>
<td><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></td>

<tr>



<tr>
<td><code>modv:unitID</code></td>
<td>The Unit ID is usually not needed for ModbusTCP, since the IP-address works as unique identifier, but for compability reasons still often included</td>
<td>required</td>
<td><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></td>

<tr>



<tr>
<td><code>modv:quantity</code></td>
<td>Specifies the amount of either registers or coils to be read or written to</td>
<td>optional</td>
<td><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></td>

<tr>

</tbody>
</table>
</section>
Expand All @@ -190,24 +161,6 @@ <h3>Form terms</h3>
<tbody>
<!-- Generate forms terms from the ontology-->

<tr>
<td><code>modv:pollingTime</code></td>
<td>Modbus TCP maximum polling rate. The Modbus specification does not define a maximum or minimum allowed polling rate, however specific implementations might introduce such limits. Defined as integer of milliseconds.</td>
<td>optional</td>
<td><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></td>

<tr>


<tr>
<td><code>modv:timeout</code></td>
<td>Modbus response maximum waiting time. Defines how much time the runtime should wait until it receives a reply from the device.</td>
<td>optional</td>
<td><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></td>

<tr>


<tr>
<td><code>modv:zeroBasedAddressing</code></td>
<td>Modbus implementations can differ in the way addressing works, as the first coil/register can be either referred to as True or False.</td>
Expand Down
14 changes: 7 additions & 7 deletions bindings/protocols/modbus/ontology.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,13 @@ <h2>Introduction</h2>
<section><h4>Request</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#Request</code></p><span>A Request message is sent by a client device to a server device. The comunication client/server stats only with a request sent by the client.</span><table class="def"><tbody><tr><td>Sub-class of</td><td><code><a href="#a-modbus-message">A Modbus Message</a></code></td></tr></tbody></table></section>
<section><h4>Response</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#Response</code></p><span>A Response message is sent by a server device to client device in return to a client's query.</span><table class="def"><tbody><tr><td>Sub-class of</td><td><code><a href="#a-modbus-message">A Modbus Message</a></code></td></tr><tr><td>Super-class of</td><td><code><a href="#exception-response">Exception response</a></code><br><code><a href="#normal-response">Normal response</a></code></td></tr></tbody></table></section>
<section><h4>Exception code</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#ResponseCode</code></p><span>For an Exception Response, the server returns an exception code as data response field. Exception code defines the server condition that caused the exception as well as the reason of the error.</span><table class="def"><tbody><tr><td>Sub-class of</td><td><code><a href="#data-field">Data Field</a></code></td></tr><tr><td>Enumeration members</td><td><code><a href="#illegal-function">ILLEGAL FUNCTION</a></code><br><code><a href="#illegal-data-address">ILLEGAL DATA ADDRESS</a></code><br><code><a href="#illegal-data-value">ILLEGAL DATA VALUE</a></code><br><code><a href="#slavedevice-failure">SLAVEDEVICE FAILURE</a></code><br><code><a href="#acknowledge">ACKNOWLEDGE</a></code><br><code><a href="#slavedevice-buisy">SLAVEDEVICE BUISY</a></code></td></tr></tbody></table></section></section><section><h3>Object Properties</h3><section><h4>hasEntity</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasEntity</code></p><span>A registry type to let the runtime automatically detect the right function code</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="#entity">Entity</a></code></td></tr></tbody></table></section>
<section><h4>hasFunction</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasFunction</code></p><span>Function Code sent by the master in every request. Specifying the desired interaction.</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#normal-response">Normal response</a></code><br><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="#function">Function</a></code></td></tr></tbody></table></section></section><section><h3>Datatype Properties</h3><section><h4>hasAddress</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasAddress</code></p><span>Specifies the starting address of the Modbus operations</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>hasCodeNumber</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasCodeNumber</code></p><span>Specifies the Modbus function/exception code number</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#exception-function">Exception function</a></code><br><code><a href="#function">Function</a></code><br><code><a href="#exception-code">Exception code</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>hasPollingTime</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasPollingTime</code></p><span>Modbus TCP maximum polling rate. The Modbus specification does not define a maximum or minimum allowed polling rate, however specific implementations might introduce such limits. Defined as integer of milliseconds.</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>hasQuantity</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasQuantity</code></p><span>Specifies the amount of either registers or coils to be read or written to</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>hasTimeout</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasTimeout</code></p><span>Modbus response maximum waiting time. Defines how much time the runtime should wait until it receives a reply from the device.</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>hasUnitID</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasUnitID</code></p><span>The Unit ID is usually not needed for ModbusTCP, since the IP-address works as unique identifier, but for compability reasons still often included</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>hasZeroBasedAddressingFlag</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasZeroBasedAddressingFlag</code></p><span>Modbus implementations can differ in the way addressing works, as the first coil/register can be either referred to as True or False.</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#entity">Entity</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#boolean">boolean</a></code></td></tr></tbody></table></section></section><section><h3>Named Individuals</h3><section><h4>Coil</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#Coil</code></p><span>Represent a modbus coil register. These entities can be read or written</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#entity">Entity</a></code></td></tr></tbody></table></section>
<section><h4>hasFunction</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasFunction</code></p><span>Function Code sent by the master in every request. Specifying the desired interaction.</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#normal-response">Normal response</a></code><br><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="#function">Function</a></code></td></tr></tbody></table></section></section><section><h3>Datatype Properties</h3><section><h4>address</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#address</code></p><span>Specifies the starting address of the Modbus operations</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>codeNumber</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#codeNumber</code></p><span>Specifies the Modbus function/exception code number</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#exception-function">Exception function</a></code><br><code><a href="#function">Function</a></code><br><code><a href="#exception-code">Exception code</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>hasZeroBasedAddressingFlag</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#hasZeroBasedAddressingFlag</code></p><span>Modbus implementations can differ in the way addressing works, as the first coil/register can be either referred to as True or False.</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#entity">Entity</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#boolean">boolean</a></code></td></tr></tbody></table></section>
<section><h4>pollingTime</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#pollingTime</code></p><span>Modbus TCP maximum polling rate. The Modbus specification does not define a maximum or minimum allowed polling rate, however specific implementations might introduce such limits. Defined as integer of milliseconds.</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>quantity</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#quantity</code></p><span>Specifies the amount of either registers or coils to be read or written to</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>timeout</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#timeout</code></p><span>Modbus response maximum waiting time. Defines how much time the runtime should wait until it receives a reply from the device.</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section>
<section><h4>unitID</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#unitID</code></p><span>The Unit ID is usually not needed for ModbusTCP, since the IP-address works as unique identifier, but for compability reasons still often included</span><table class="def"><tbody><tr><td>Domain</td><td><code><a href="#request">Request</a></code></td></tr><tr><td>Range</td><td><code><a href="http://www.w3.org/2001/XMLSchema#integer">integer</a></code></td></tr></tbody></table></section></section><section><h3>Named Individuals</h3><section><h4>Coil</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#Coil</code></p><span>Represent a modbus coil register. These entities can be read or written</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#entity">Entity</a></code></td></tr></tbody></table></section>
<section><h4>Discrete Input</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#DiscreteInput</code></p><span>Represent a modbus discrete input. These entities can only be read</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#entity">Entity</a></code></td></tr></tbody></table></section>
<section><h4>Holding Register</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#HoldingRegister</code></p><span>Represent a modbus holding register. These entities can be read or written</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#entity">Entity</a></code></td></tr></tbody></table></section>
<section><h4>Input Register</h4><p>IRI: <code>https://www.w3.org/2019/wot/modbus#InputRegister</code></p><span>Represent a modbus input register. These entities can only be read</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#entity">Entity</a></code></td></tr></tbody></table></section>
Expand Down
24 changes: 12 additions & 12 deletions bindings/protocols/modbus/ontology.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -129,54 +129,54 @@ binding:assignment rdf:type owl:AnnotationProperty .
#################################################################

### https://www.w3.org/2019/wot/modbus#hasAddress
:hasAddress rdf:type owl:DatatypeProperty ;
:address rdf:type owl:DatatypeProperty ;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my expectation would be that hasAddress, hasCodeNumber, etc are correct. In other WoT ontologies, we use the same pattern (e.g., https://www.w3.org/2019/wot/hypermedia#hasTarget).

The context file is the place, which should do the mapping from address to hasAddress, code to hasCode, etc and vice versa.

rdfs:domain :Request ;
rdfs:range xsd:integer ;
rdfs:comment "Specifies the starting address of the Modbus operations"@en ;
rdfs:label "hasAddress"@en ;
rdfs:label "address"@en ;
binding:assignment binding:required .


### https://www.w3.org/2019/wot/modbus#hasCodeNumber
:hasCodeNumber rdf:type owl:DatatypeProperty ;
:codeNumber rdf:type owl:DatatypeProperty ;
rdfs:domain :Function ,
:ResponseCode ,
:ExceptionFunction ;
rdfs:range xsd:integer ;
rdfs:comment "Specifies the Modbus function/exception code number"@en ;
rdfs:label "hasCodeNumber"@en .
rdfs:label "codeNumber"@en .


### https://www.w3.org/2019/wot/modbus#hasPollingTime
:hasPollingTime rdf:type owl:DatatypeProperty ;
:pollingTime rdf:type owl:DatatypeProperty ;
rdfs:domain :Request ;
rdfs:range xsd:integer ;
rdfs:comment "Modbus TCP maximum polling rate. The Modbus specification does not define a maximum or minimum allowed polling rate, however specific implementations might introduce such limits. Defined as integer of milliseconds." ;
rdfs:label "hasPollingTime"@en .
rdfs:label "pollingTime"@en .


### https://www.w3.org/2019/wot/modbus#hasQuantity
:hasQuantity rdf:type owl:DatatypeProperty ;
:quantity rdf:type owl:DatatypeProperty ;
rdfs:domain :Request ;
rdfs:range xsd:integer ;
rdfs:comment "Specifies the amount of either registers or coils to be read or written to"@en ;
rdfs:label "hasQuantity"@en .
rdfs:label "quantity"@en .


### https://www.w3.org/2019/wot/modbus#hasTimeout
:hasTimeout rdf:type owl:DatatypeProperty ;
:timeout rdf:type owl:DatatypeProperty ;
rdfs:domain :Request ;
rdfs:range xsd:integer ;
rdfs:comment "Modbus response maximum waiting time. Defines how much time the runtime should wait until it receives a reply from the device." ;
rdfs:label "hasTimeout"@en .
rdfs:label "timeout"@en .


### https://www.w3.org/2019/wot/modbus#hasUnitID
:hasUnitID rdf:type owl:DatatypeProperty ;
:unitID rdf:type owl:DatatypeProperty ;
rdfs:domain :Request ;
rdfs:range xsd:integer ;
rdfs:comment "The Unit ID is usually not needed for ModbusTCP, since the IP-address works as unique identifier, but for compability reasons still often included" ;
rdfs:label "hasUnitID"@en .
rdfs:label "unitID"@en .


### https://www.w3.org/2019/wot/modbus#hasZeroBasedAddressingFlag
Expand Down