Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
cs:mervis-ide:30-communication-protocols:10-sscp [2017/06/13 18:21]
m.chlupac vytvořeno
cs:mervis-ide:30-communication-protocols:10-sscp [2017/11/22 10:57] (aktuální)
Řádek 1: Řádek 1:
 ====== SSCP protokol ====== ====== SSCP protokol ======
  
-Regulátory systému Mervis (a Merbon) umožňují základní komunikaci a správu prostřednictvím protokolu SSCP. Základní popis technických detailů tohoto protokolu je dostupný v souboru: {{:cs:mervis-ide:sharkprotocolspecification_user_2017_05_30.pdf|SSCP}}.+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: {{:cs:mervis-ide:sharkprotocolspecification_user_2017_05_30.pdf|SSCP description}}.
  
-Základní charakteristiky:+===== Základní charakteristiky =====
  
-  * ethernet TCP respRS485 +  * Protokol specifikován především na aplikační úrovni 
-  * každé zařízení má svoji SSCP adresu (SlaveId?+      * 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
-  * každá komunikovaná má svoji SSCP adresu (CommId) +  * Jednoduchá struktura přenosového rámce. 
-  * každá proměnná má svůj typ (Int16, UInt, …?) +      * 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 [[:cs:mervis-proxy:00-start|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é".
  
 +===== 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 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í).
 +
 +===== .NET SDK =====
 +
 +  * K dispozici je SDK s .NET knihovnami. Lze stáhnout {{ :en:mervis-ide:30-communication-protocols:netsscpsdk.zip |zde}}.
  • © Energocentrum Plus, s.r.o. 2017 - 2024