Protokol COMLI (COMmunication LInk) je používán v zařízeních SattCon švédské firmy ALFA LAVAL. Komunikace v sítích s těmito zařízeními je vždy typu Master – Slave. Specifikou je, že síť může mít více Masterů, přičemž jeden Slave může být podřízen několika Masterům. Z tohoto důvodu je v systému MORSE protokol implementován tak, že RADIOMASTER odpovídá vždy na adresu RADIOSLAVE, který poslal dotaz.
Důležité | |
---|---|
Od verze Setru 9.0.17.0 je názvosloví sjednoceno podle schématu: PLC Master - CU RADIOSLAVE ... CU RADIOMASTER - Slave PLC CU (radiomodem) připojený přes SCC k PLC Master je nazýván
RADIOSLAVE(RS) Starší Setr používá opačné označení, tedy: ( PLC Master - CU RADIOMASTER ... CU RADIOSLAVE - Slave PLC ) |
Fyzická vrstva protokolu COMLI-MORSE používá typicky rozhraní RS232.
Všechny typy zpráv protokolu COMLI se dají charakterizovat touto strukturou:
| STX/8 | ADR1/8 | ADR2/8 | STAMP/8 | DATA/8xN | ETX/8 | BCC/8 |
kde:
STX | začátek paketu 0x02 |
ADR1 | první byte adresy (destination) |
ADR2 | druhý byte adresy (destination) adresa je ve formátu ASCII/HEX, tzn. může být v rozsahu 0x0-FF, resp. jednotlivé byty 0x30-0x39 (číslice 0-9) a 0x41-0x46 (písmena A-F). Překladem ADR1 a ADR2 do formátu hex se získá 1 byte adresy ADR. |
STAMP | rozlišení, zda zpráva je posílaná poprvé anebo opakovaně. (Hodnota 0x31, resp. 0x32) |
DATA | řada N bytů vlastních dat, N = 2 nebo více |
ETX | konec dat 0x03 |
BCC | kontrolní byte (XOR přes všechny byty zprávy kromě STX) |
Adresace:
RADIOSLAVE odesílá data na adresu, která se vytvoří tak, že nejnižší byte vlastní adresy (na přísl. nódu) se přepíše bytem vytvořeným z ADR1 a ADR2.
RADIOMASTER vyplňuje na ADR1 a ADR2 vždy 0x00. V síti MORSE jsou data doručena vždy na adresu, z které přišel dotaz.
a) SattCon ->
Radiomodem
Kontrola, zda první byte v paketu je STX, předposlední ETX, velikost paketu větší než 8 bytů a zda souhlasí BCC. Není-li některá z podmínek splněna je paket zahozen.
V případě stanice RM, kontrola, zda jsou očekávána data. RM smí vyslat data jen jako odpověď na žádost. Neočekávaný paket je zahozen.
Vyslání dat na MORSE kanál. MORSE kanálem se přenáší jen DATA (viz Formát dat) na konci doplněná o STAMP (STX, ADR1, ADR2, ETX, BCC se nepřenáší)
Zprávy jsou v MORSE kanálu přenášeny typem paketu USER DATA.
b) Radiomodem ->
SattCon
V případě, že velikost došlého paketu z MORSE kanálu je menší než 3 byte (nejmenší možný paket) je paket zahozen.
přijatým datům z MORSE kanálu je doplněno na příslušné pozice STX, ADR1, ADR2, ETX. (STAMP přesunut z konce dat na správné místo). Dopočítáno BCC.
Paket odeslán do SC kanálu.
Z uvedeného je zřejmé, že MORSE kanálem jsou přenášena pouze užitečná data a stamp, zabezpečená algoritmy systému MORSE, na SC kanálu jsou data zabezpečena algoritmy protokolu COMLI.
Na lince Radiomodem-SattCon není používán žádný handshake – ani sw (pomocí ACK či jiných znaků v linkové vrstvě protokolu) ani hw (je používáno pouze 3 vodičové propojení – RXD, TXD, GND). V případě přeplnění fronty paketů na odeslání do MORSE kanálu (4 pakety) není možnost informovat SattCon a proto jsou případné další přicházející pakety zahozeny.
RS232 \|/....\|/ RS232 MASTER PLC ----- CU RADIOSLAVE | | CU RADIOMASTER ----- SLAVE PLC COMLI 01 07 COMLI
Master PLC ----> RS 01 0230 3731 3035 3030 3030 3200 0003 02 RS 01 ----> RM 07 3035 3030 3030 3200 0031 RM 07 ----> Slave PLC 0230 3731 3035 3030 3030 3200 0003 02
Data se posílají ve formátu – data + STAMP. Protokol Comli si STAMP z konce dat umístí na čtvrtý byte v paketu.
Odpověď musí následovat po dotazu se zpožděním menším než je parametr (l)ink timeout. Na jeden dotaz může být vyslána pouze jedna odpověď.
Slave PLC ----> RM 07 0230 3032 3235 3031 3030 3203 05 RM 07 ----> RS 01 3235 3031 3030 3232 RS 01 ----> Master PLC 0230 3032 3235 3031 3030 3203 05
COMLI parameters: PLC Master - CU RADIOSLAVE ... CU RADIOMASTER - Slave PLC (m)ode:RADIOMASTER (wired to slave) intercharacter tx (d)elay:OFF (l)ink timeout:1000ms tc (t)imeout:3000ms (S)erver comli address (4ABB); 0-off:0 Server (P)ing base:0 Server (H)ysteresis base:0 Server (N)um of addresses:0 (q)uit >>
(m) | režim protokolu
POZOR – Setr starší než 9.0.17.0 používá opačné označení ! |
(d) | intercharacter tx (d)elay – Některá zařízení SattCon vyžadují posílání paketu z CU byte po bytu. Intercharacter tx delay zapíná a vypíná mezeru mezi vysíláním jednotlivých bytů z Radiomodemu.
|
(l) | (l)ink timeout – Doba, do které musí Slave odpovědět RM na dotaz. Pokud RM pošle dotaz na Slave a link timeout je 0 ms, Slave pošle odpověď ale RM na ni nečeká. Je potřeba ho mít nastavený větší než 0 ms. |
(t) | tc (t) timeout – PLC Master posílá dotazy na Slave a nečeká na odpověď. Pokud je síť velká, Master by síť zahltil opakovanými dotazy, proto je potřeba nastavit tc timeout. TC timeout je čas (ms), po který paket putuje sítí a Slave zpracovává došlý dotaz od Mastera. CU RADIOSLAVE po tuto dobu opakované dotazy od Master PLC zahazuje. Po vypršení času zadaného tc timeoutem CU RS přijme další dotaz od Mastera PLC. |
(S) | Tento a další parametry přísluší ke speciálnímu zákaznickému menu, deaktivuje se vložením hodnoty nula |