This is an old revision of the document!
SSCP protocol
Mervis controllers support full configuration and communication via SSCP protocol. Detail description of this protocol is available in: 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.
- 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.
Přenos hodnot proměnných
- Protokol podporuje přenos dlouhých bloků paměti. Pokud se hodnota proměnné nevejde do vyjednaných bufferů, přenese se pomocí stavového přenosu delších dat.
- Každá proměnná je identifikována komunikačním ID. ID se může měnit (vývojové prostředí ho změní) v případě, že u proměnné dojde ke změně typu nebo jména.
- Přenos hodnot je implementován jako přenos paměťové oblasti, kde je proměnná uložena. Lze definovat offset od začátku hodnoty proměnné a její délku. To je vhodné pro případy, kdy se například mění pouze jedno číslo ve složitější struktuře (pole, struktura, funkční blok).
- Je nutné znát layout paměti. Ten se řídí standardními pravidly o zarovnávání proměnných dle paměťové náročnosti typu (1-8 bajtové zarovnání).