Differences
This shows you the differences between two versions of the page.
en:mervis-ide:30-communication-protocols:10-sscp [2017/06/19 14:48] m.chlupac [Základní charakteristiky] |
en:mervis-ide:30-communication-protocols:10-sscp [2017/11/22 10:56] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== SSCP protocol ====== | ||
- | |||
- | Mervis controllers support full configuration and communication via SSCP protocol. Detail description of this protocol is available in: {{: | ||
- | |||
- | ===== 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. | ||
- | * 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 jinicializaci 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 " | ||
- | |||
- | ===== 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í). | ||
- | |||