SSCP protokol

Regulátory systému Mervis umožňují základní komunikaci a správu prostřednictvím protokolu SSCP. Kompletní popis technických detailů tohoto protokolu je dostupný v souboru: SSCP description.

  • Protokol specifikován především na aplikační úrovni
    • V PLC je nyní implementován přenos po TCP a seriové lince. Částečně pak po UDP pro účely autodetekce a přenosu konfigurace.
  • Jednoduchá struktura přenosového rámce.
    • Bezpečně lze vypočítat délku rámce z hlavičky.
    • Pro různé fyzické vrstvy lze přidat hlavičky a patičky, vnitřní struktura zůstává stejná.
    • Každý rámec (kromě broadcastových) s sebou nese informaci o adrese cílového zařízení (8 bit slave ID). Pouze PLC s odpovídajícím ID na rámec odpovídá.
  • Využití pro veškerou komunikaci s PLC
    • Přenos statistik a nastavení, detekce PLC, přenos hodnot, vzdálené ladění PLC programu.
  • Umožňuje vyjednání délky přenosových bufferů mezi jednotlivými stranami
  • Vyžaduje při inicializaci komunikace ověření.
  • Podpora Mervis Proxy.
  • Protokol je verzován. Novější verze vždy podporuje i předchozí funkce, ale je silně doporučeno nevyužívat funkce označené jako „zastaralé“.
  • 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 se zaručenou atomicitou.
  • Každá proměnná je identifikována komunikačním ID.
  • 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í).
  • K dispozici je SDK s .NET knihovnami. Lze stáhnout zde.