Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:mervis-ide:30-communication-protocols:10-sscp [2017/06/13 18:21]
m.chlupac created
en:mervis-ide:30-communication-protocols:10-sscp [2017/11/22 10:56] (current)
Line 1: Line 1:
 ====== SSCP protocol ====== ====== SSCP protocol ======
  
 +Mervis controllers support full configuration and communication via SSCP protocol. Detail description of this protocol is available in: {{:cs:mervis-ide:sharkprotocolspecification_user_2017_05_30.pdf|SSCP description}}.
  
 +===== Basic features =====
 +
 +  * Protocol is defined on application layer
 +      * TCP and serial bus implementations are currently available. UDP is used for autodetection and configuration.
 +  * Simple structure of communicated data packets
 +      * Easy to calculate packet size from header.
 +      * Extra headers and suffixes can be added for different communication layers - inner structure stays untouched.
 +      * Each data packet (except broadcast packets) carries information about destination address (8 bit slave ID). Only controller with that address is expected to respond.
 +  * SSCP can be used for any and all communication tasks
 +      * Communication of statistics, configuration, PLC detection, communication of values, remote debugging etc.
 +  * Communication buffer size can be negotiated by client
 +  * Client authentication is required.
 +  * [[en:mervis-proxy:00-start|Mervis Proxy]] support.
 +  * Protocol versioning is supported. Newer version is backward compatible with previous version but usage of deprecated and obsolote methods is not recommended.
 +
 +===== Communication of Values =====
 +
 +  * SSCP protocol supports long memory blocks. If the size of the buffer is not sufficient - multiple reads can be made and atomicity of the operation is guaranteed.
 +  * Every variable is identified by its communication ID.
 +  * Value is communicated as a block of memory. Offset and length can be used to read part of the larger data structure (array, struct, function block, ...)
 +      * Memory data layout follows standard rules of data alignment (1-8 bytes)
 +
 +===== .NET SDK =====
 +
 +  * There is a SDK with .NET libraries. You can download it {{ :en:mervis-ide:30-communication-protocols:netsscpsdk.zip |here}}.
  • © Energocentrum Plus, s.r.o. 2017 - 2024