Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
cs:mervis-ide:30-communication-protocols:10-sscp [2017/06/14 10:23] m.chlupac |
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 | + | Regulátory systému Mervis umožňují základní komunikaci a správu prostřednictvím protokolu SSCP. Kompletní |
- | Základní charakteristiky: | + | ===== Základní charakteristiky |
- | * ethernet | + | * Protokol specifikován především na aplikační úrovni |
- | * každé zařízení | + | * 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 | ||
+ | * 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 [[: | ||
+ | * 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 " | ||
+ | ===== 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 {{ : |