SSCP protocol

Mervis controllers support full configuration and communication via SSCP protocol. Detail description of this protocol is available in: SSCP description.

  • 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.
  • 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.
  • 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)
  • There is a SDK with .NET libraries. You can download it here.