Protokol DF1 pro MORSE je určen pro komunikaci s PLC Allen-Bradley.
Podporuje verzi protokolu Full-Duplex. Podle jednobajtové adresy, obsažené
v rámci Allen-Bradley, odesílá pakety MORSE na příslušnou adresu v síti.
Používá kontrolní součet BCC nebo CRC.
Používané názvy:
PLC Master - CU RADIOSLAVE ... CU RADIOMASTER - Slave PLC
Formát rámce, který přichází z PLC:
|DLE/8|STX/8|DST/8|SRC/8|CMD/8|STS/8|TNS/16|data/length|DLE/8|ETX/8|BCC/8|
Tento rámec je přenášen sítí MORSE v tomto tvaru:
|CMD/8|STS/8|TNS/16|data/length|
Obsah položek (hexadecimálně):
DLE/8 |
10 návěští |
STX/8 |
02 start text |
DST/8 |
01 cílová adresa |
SRC/8 |
02 zdrojová adresa |
|CMD/8|STS/8|TNS/16|data/length| |
sekvence sestavená v PLC |
ETX/8 |
03 end text |
BCC/8 nebo CRC/16 |
kontrolní součet |
Cílová adresa MORSE (destination) je vytvořena z položky DST,
zdrojová adresa MORSE (source) z položky SRC a naopak.
Pro kontrolní součet je možno zvolit jednu z možností:
-
BCC/8
– block check character (jednodušší) -
CRC/16
– cyclic redundancy check (dokonalejší
kontrola)
Topologie spoje:
AB Master <-linka-> RADIOSLAVE <-vzduch-> RADIOMASTER <-linka-> AB Slave
Formát rámce, který přichází z PLC:
AB Master -> RADIOSLAVE: Zpráva:
|DLE/8|SOH/8|STN/8|DLE/8|STX/8|DST/8|SRC/8|CMD/8|STS/8|TNS/16| |escaped data/length|DLE/8|ETX/8|BCC/8-CRC/16|
AB Master <- RADIOSLAVE: Ack:
|DLE/8|ACK/8|
Obsah položek (hexadecimálně):
DLE/8 |
10 návěští |
SOH/8 |
01 |
STN/8 | |
DLE/8 |
10 návěští |
STX/8 |
02 start text |
DST/8 |
01 cílová adresa |
SRC/8 |
02 zdrojová adresa |
|CMD/8|STS/8|TNS/16|data/length| |
sekvence sestavená v PLC |
DLE/8 |
10 návěští |
ETX/8 |
03 end text |
BCC/8 nebo CRC/16 |
kontrolní součet |
Cílová adresa MORSE (destination) je vytvořena z položky DST,
zdrojová adresa MORSE (source) z položky SRC a naopak.
Pro kontrolní součet je možno zvolit jednu z možností:
-
BCC/8
– block check character (jednodušší) -
CRC/16
– cyclic redundancy check (dokonalejší
kontrola)
Příklad komunikace protokolem DF1 v režimu FULL DUPLEX mezi
dvěma PLC Allen-Bradley s adresami 00 a 03, které jsou připojeny k MORSE
CU s adresami xxxxxx00
a
xxxxxx03
.
13:33:33.058 rx;i 60 | S00 1002 0300 0B00 7E00 0000 5402 2006 2401 07E9 0000 0380 827F 0080 E943 0100 8D91 1300 0000 0000 E070 7200 F643 E070 7200 F643 A302 2002 2401 1003 15C6 13:33:33.065 tx 2 | S00 1006 13:33:33.252 tx 44 | S00 1002 0003 4B00 7E00 0000 D400 0000 3D7F 0080 827F 0080 E943 0100 8D91 1300 E070 7200 E070 7200 0000 1003 0FC9 13:33:33.267 rx;i 2 | S00 1006 13:33:33.299 rx;i 39 | S00 1002 0300 0A00 7F00 0000 3D7F 7F00 4C08 910B 546F 5472 616E 7370 6F72 7400 2800 1010 0010 03B6 99 13:33:33.304 tx 2 | S00 1006 13:33:33.482 tx 56 | S00 1002 0003 4A00 7F00 0000 827F 7F00 CC00 0000 C300 0A1A 0200 0300 0400 0500 0600 0700 0800 0000 0000 0000 0000 0000 0000 0000 0000 1003 854D 13:33:33.500 rx;i 2 | S00 1006 13:33:33.540 rx;i 39 | S00 1002 0300 0B00 8F00 0000 4E02 2006 2401 07E9 E943 0100 8D91 1300 0200 2002 2401 1010 0010 03A3 C4 13:33:33.545 tx 2 | S00 1006 13:33:33.720 tx 28 | S00 1002 0003 4B00 8F00 0000 CE00 0000 E943 0100 8D91 1300 0000 1003 B56A 13:33:33.731 rx;i 2 | S00 1006
V následujícím příkladu neúspěšné komunikace je sekvence dodávaná z
PLC nahrazena znaky AAAA.
>> 06:22:58.798 tx 9 | S00 1002 0E0D AAAA 1003 91 06:22:58.813 rx;i 2 | S00 1015 06:22:58.814 tx 9 | S00 1002 0E0D AAAA 1003 91 06:22:58.829 rx;i 2 | S00 1015
Komunikační jednotka CU (rádiový modem) vyslala data
1002 0E0D AAAA 1003 91
do PLC a dostala
odpověď
1015 = NAK
(nerozumím)
Proto
je vysílání dat opakováno, v tomto příkladu se stejným výsledkem.
Ve druhém příkladu je linka RS232 rozpojena:
>> 06:23:21.694 tx 9 | S00 1002 0E0D AAAA 1003 91 06:23:22.694 tx 2 | S00 1005
Zde nedostává CU žádnou odpověď, proto po uplynutí timeoutu 1000ms
vysílá dotaz
1005 = ENQ (opakuj odpověď)
Logická návaznost komunikace je popsána v dokumentaci PLC
Allen-Bradley. Zde uvedeme jen zjednodušený výpis pro první
orientaci:
-
Vysílač (PLC nebo protokol DF1 pro MORSE) po odeslání dat
dostane odpověď:-
ACK 1006 ->
komunikace ukončena -
NAK 1015 ->
opakuje data -
nic, timeout vypršel ->
vyšleENQ
1005
-
-
Přijímač dostane zprávu:
-
data OK ->
odpovíACK
1006 -
data nesrozumitelná ->
odpovíNAK
1015 -
ENQ 1005 ->
zopakuje poslední hlášení
ACK
neboNAK
-
ALLEN-BRADLEY DF1 parameters: PLC Master - CU RADIOSLAVE ... CU RADIOMASTER - Slave PLC (m) mode:FULL-DUPLEX (t):1000ms (r):1 (b) bcv:0 (l) glue tim:0ms (g) glue:1 (x) accept glue:1 (u) pull:1 (e) eot:0 (n) bcast w2n:0 (w) bcast n2w:0 (d) dupl:0 (s) transparent:1 (q)uit >>
(m) mode:FULL-DUPLEX |
f-FULL-DUPLEX – vzduchem se přenáší veškerá komunikace s-HALF-DUPLEX – RADIOSLAVE m-HALF-DUPLEX – RADIOMASTER |
(t) |
timeout linkové vrstvy |
(r) |
počet opakování na linkové vrstvě |
(b) |
volba kontrolního součtu (0-BCC, 1-CRC) |
(l) glue tim:0ms |
čas jak dlouho poslouchá na drátech a slepuje rámce než je |
(g) glue:0 |
1 – ON – zapnuté slepování paketů ze směru dráty -> |
(x) accept glue:0 |
1 – ON – akceptuje „slepené“ pakety ze směru vzduch -> |
(u) pull:0 |
1 – ON – pull pakety od AB Mastera se vysílají do |
(e) eot:0 |
1 – ON – pakety EOT od AB Slave se vysílají do vzduchu |
(n) bcast w2n:0 |
1 – ON – broadcast z drátů do vzduchu se vysílá |
(w) bcast n2w:0 |
1 – ON – broadcast ze vzduchu do drátů se zpracovává |
(d) dupl:0 |
1 – ON – zapnuta kontrola zdvojených paketů |
(s) transparent:0 |
1 – ON – vysílají se všechny pakety vzduchem, včetně ACK a |