Difference between revisions of "Protocols - Overview"

From Serious Documentation
Jump to: navigation, search
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<onlyinclude>A ''protocol'' describes the packetization and method for moving data back and forth across that physical layer.  SHIP supports three protocols, though not all protocols are supported across all available physical layers on a SIM:
+
<onlyinclude>A {{Protocol}} describes the packetization and method for moving data back and forth across that physical layer.  SHIP supports three protocols, though not all protocols are supported across all available physical layers on a SIM:
* the new {{Protocol|Raw}} starting in SHIP v5.0.126 {{v5}}
+
* the new {{Protocol|Raw}} starting in SHIP v5.0.126
* the {{Protocol|Modbus}}, including {{Protocol|Modbus|RTU and ASCII}}, {{Protocol|Modbus|Master and Slave}}
+
* the {{Protocol|Modbus}}, including RTU and ASCII, Master and Slave
* the upcoming {{Protocol|SHIPBridge}} in SHIP v5.0.200 {{v5}}</onlyinclude>
+
* the upcoming {{Protocol|SHIPBridge}} in SHIP v5.0.200</onlyinclude>
  
=== {{Protocol|Raw|Raw Protocol}} ===
+
== {{Protocol|Raw|Raw Protocol}} ==
The {{Protocol|Raw}} was made available starting in SHIP v5.0.126 {{v5}}, and enables simple movement of the following data types:
+
See the {{Protocol|Raw}} page for detailed information, and [[AN0504_-_The_Raw_Communications_Protocol|AN0504 - The Raw Communications Protocol]]  for a video application note
* Boolean (as Byte 0x00 or 0x01)
 
* Byte
 
* Short (16-bit)
 
* Integer (32-bit)
 
* Float (single precision, 32-bit)
 
* String (null terminated)
 
  
 +
The {{Protocol|Raw}} was made available starting in SHIP v5.0.126, and enables simple movement of the following data types:
 +
* {{DataType|Boolean}} (as Byte 0x00 or !0x01)
 +
* {{DataType|Byte}}
 +
* {{DataType|Short}} (16-bit)
 +
* {{DataType|Integer}} (32-bit)
 +
* {{DataType|Float}} (single precision, 32-bit)
 +
* {{DataType|String}} (null terminated)
 
There is no packetization, framing, or checksums/CRC calculations performed on the data.  The protocol, therefore, is very simple to interpret and generate on an attached device, however is susceptible to errors and misalignment over time and should only be used in some applications.
 
There is no packetization, framing, or checksums/CRC calculations performed on the data.  The protocol, therefore, is very simple to interpret and generate on an attached device, however is susceptible to errors and misalignment over time and should only be used in some applications.
  
'''Resources:'''
+
== The {{Protocol|Modbus|Modbus Protocol}}==
* {{Protocol|Raw}} detailed description
+
Visit the  {{Protocol|Modbus|Modbus documentation page}} for more Modbus resources, technical information, and software.
* [[AN0504_-_The_Raw_Communications_Protocol|AN0504 - The Raw Communications Protocol]] (video application note)
 
  
=== {{Protocol|Modbus|Modbus Protocol}}===
+
In all SHIP Modbus protocols, the following [[SHIP:Data_Types|data types]] are supported:
=== {{Protocol|Bridge|Bridge Protocol}} ===
+
* {{DataType|Boolean}}
 +
* {{DataType|Byte}}{{†}} via the Daniel Extension
 +
* {{DataType|Short}}
 +
* {{DataType|Integer}}{{†}} via the Daniel Extension
 +
* {{DataType|Float}}{{†}} via the Daniel Extension
 +
* {{DataType|String}}{{†}} via a custom Function
 +
{{†}} Starting with SHIP v5.0.126
 +
 
 +
Note that all values are transported as <ext>http://en.wikipedia.org/wiki/Endianness::big Endian</ext>, however all values within [[SHIP:Sail|the SHIP Sail scripting and virtual machine environment]] are <ext>http://en.wikipedia.org/wiki/Endianness::little Endian</ext>, regardless of the underlying MCU on the [[SIMs|SIM]].
 +
 
 +
The following four {{Protocol|Modbus}} sub-protocols are supported:
 +
* Master RTU
 +
* Master ASCII
 +
* Slave RTU
 +
* Slave ASCII
 +
 
 +
== {{Protocol|SHIPBridge|Bridge Protocol}} ==
 +
See the  {{Protocol|SHIPBridge|Bridge Protocol}} documentation page for more resources, technical information, and software.
 +
 
 +
[[Category:Protocols|!]]

Latest revision as of 17:31, 16 November 2016

A Protocol describes the packetization and method for moving data back and forth across that physical layer. SHIP supports three protocols, though not all protocols are supported across all available physical layers on a SIM:

Raw Protocol

See the Raw protocol page for detailed information, and AN0504 - The Raw Communications Protocol  for a video application note

The Raw protocol was made available starting in SHIP v5.0.126, and enables simple movement of the following data types:

There is no packetization, framing, or checksums/CRC calculations performed on the data. The protocol, therefore, is very simple to interpret and generate on an attached device, however is susceptible to errors and misalignment over time and should only be used in some applications.

The Modbus Protocol

Visit the  Modbus documentation page for more Modbus resources, technical information, and software.

In all SHIP Modbus protocols, the following data types are supported:

Starting with SHIP v5.0.126

Note that all values are transported as big Endian, however all values within the SHIP Sail scripting and virtual machine environment are little Endian, regardless of the underlying MCU on the SIM.

The following four Modbus protocol sub-protocols are supported:

  • Master RTU
  • Master ASCII
  • Slave RTU
  • Slave ASCII

Bridge Protocol

See the  Bridge Protocol documentation page for more resources, technical information, and software.