Příklady testovacích konfigurací protokolu MODBUS jsou sestaveny pro lepší orientaci v režimech protokolu a jeho parametrech. Jsou vyzkoušeny pro MR400 a firmware verze 10.0.9.0.
Příklad komunikace Radioslave – Radiomaster:
Radioslave \|/ ....... \|/ Radiomaster | | S02 - 691122FF -RFC RFC- 69112205 - S03 SPe2t SPe3t (m)s (t)n (m)m (t)n (S)(f)5 (M)(d)691122FF (u)1 (0)5 (T)(f)n (p)200*10 (d)f (t)200*100 (T)(f)n (d)n
Funkcí „in“ vložíme do S02 v CU Radioslave data 0503 AAAA 0E37. Paket obsahuje v prvním byte adresu Slave, ve druhém číslo funkce Modbus, pak data AAAA a nakonec kontrolní součet. Data splňují podmínky pro kontrolu formátu funkce a adresy. Pak s prodlevou kratší než timeout „SPe3tMt“ vložíme funkcí „in“ odpověď 0503 BBBB C26B do Radiomastera:
>> Monitoring: source 691122FF|1. 12:31:03.816 rxsim 6 | S02 0503 AAAA 0E37 ...simulovaný paket ve formátu Modbus 12:31:03.817|69112205 691122FF|69112205 691122FF|R01I IN 6N89 3dat 0503 AAAA 0E37 ...je přenášen beze změny do sítě Monitoring: source 69112205|0. 12:31:03.847| |00000005 000000FF|S03I IN 6|*89 3user 0503 AAAA 0E37 12:31:03.847 tx 6 | S03 0503 AAAA 0E37 ...výstup do PLC Slave Monitoring: source 69112205|1. 12:31:05.967 rxsim 6 | S03 0503 BBBB C26B ...simulovaná odpověď od Slave 12:31:05.967| |000000FF 00000005|S03I OUT 6||89 3user 0503 BBBB C26B Monitoring: source 691122FF|2. 12:31:05.984|691122FF 69112205|691122FF 69112205|R01I OUT 6n89 3dat 0503 BBBB C26B 12:31:05.984 tx 6 | S02 0503 BBBB C26B ...výstup do PLC Master >>
Data, která vyhovují podmínkám kontroly funkce, adresy a CRC jsou přenášena protokolem Modbus beze změny. Data AAAA a BBBB zde zastupují vnitřní strukturu dotazu a odpovědi Modbus. Toto zjednodušení je možné proto, že protokol v RM kontroluje pouze adresu, číslo funkce a CRC. Tyto podmínky jsou zde splněny.
Podobný příklad monitorovaný v RM obsahuje dotaz od RS ve skutečném tvaru (dotaz na Slave 05 funkcí 03 na data od adresy 0000 v počtu 2 adresních položek). V reálném tvaru je i odpověď (od Slave 05 funkcí 03 přicházejí 04 byte s obsahem 1111 2222 a CRC).
09:57:26.649| |69112205 691122FF|S03I IN 8|*89 2usr 0 0503 0000 0002 C58F 09:57:26.649 tx 8 | S03 0503 0000 0002 C58F >> 09:57:29.194 rxsim 9 | S03 0503 0411 1122 2272 73 09:57:29.194| |691122FF 69112205|S03I OUT 9||89 2usr 0 0503 0411 1122 2272 73
Každý rámec je přenesen sítí MORSE v plném rozsahu. Proto je Transparentní režim vhodný pro jednotlivé povely odesílané z PLC Master do PLC Slave. Není vhodný pro sběr dat od Slave, který probíhá opakovaně v krátkých intervalech. Výjimkou může být malá sít s pomalým dotazovacím cyklem.
Radioslave \|/....\|/ Radiomaster Slave simulator | | S02 - 691122FF -RFC RFC- 69112205 - S03 ==== S01 - 00000001 SPe2t SPe3t SPe1t (m)s (c)n (m)m (c)n (m)s (p)n (S)(f)5 (M)(d)691122FF (S)(f)5 (u)1 (0)5 (u)1 (p)200*10 (t)200*100 (C)(A)1 (C)(A)1 (P)(a)5 (t)40 (t)30 (N)0010 (H)0020 A =Art table (N)1 (d)00000003 (w)00150010 (u)
Slave simulátor je v režimu Packet a data z „its“ zapisuje na adresu (N)2H zde 0010. Radiomaster čte data z adres 0010 až 0015 (podle Art, w) a při jejich změně a také s periodou „SPe3tCt“ (=30s) je odesílá do Radioslave.
Slave simulator 00000001:
Send packet: (N):1 (d):00000001h ...paket půjde user výstupem do Modbusu (t)ype:0009h s(o)urce:691122FFh ...tato adresa je použita simulátorem jako dst d(a)ta:.. ...data 0xAAAA (nebo 0xBBBB), paketový režim simulátoru vytvoří na adrese 0x0010 zápis ve tvaru 0008 0903 691122FF AAAA
Radiomaster 69112205:
>> 07:25:29.725 tx 8 | S03 0503 0010 0005 8588 ...dotaz na obsah cache, adresy 0010 - 0014 07:25:29.743 rx;i 15 | S03 0503 0A00 0809 0369 1122 FFAA AA8F 35 ...cache obsahuje 0x0A byte s daty 07:25:31.744 tx 8 | S03 00 0809 0369 1122 FFAA AA 0503 0010 0005 8588 ...další dotaz zjistí změněná data (..BBBB) 07:25:31.762 rx;i 15 | S03 0503 0A00 0809 0469 1122 FFBB BB35 A9 07:25:33.763| |691122FF 00000005|S03I OUT 15||89 6usr 0 0503 0A00 0809 0469 1122 FFBB BB35 A9 ...nová data jsou odeslána do RS 07:25:33.763 tx 8 | S03 0503 0010 0005 8588 ...pokračují dotazy na Slave 07:25:33.781 rx;i 15 | S03 0503 0A00 0809 0469 1122 FFBB BB35 A9 >>
Radioslave data přijímá a ukládá do své cache paměti, odkud pak posílá odpovědi na dotazy od PLC Master. Tato funkce zde není znázorněna.
Nový zápis „its“ vyvolá okamžitý přenos dat. Pokud nenastávají změny, je stav cache aktualizován s periodou „SPe3tCt“.
Cache v RM musí být naplněna daty. To znamená, že délka dotazu RM->Slave nesmí být delší, než je délka dat v PLC Slave.
Délka dotazu je určena v Art, gateway:
0x0015 - 0x0010 = 0x5 word
Délka dat v slave simulátoru:
0008 0903 691122FF BBBB
tedy 4 wordy hlavičky paketového režimu + 1 word dat z „its“.
Příklad komunikace při změně obsahu Art v RM na stav:
(d)00000003 (w)00150014 >> 08:26:43.667 tx 8 | S03 0503 0014 0001 C58A ...dotaz na 1 word od adresy 0x0014 08:26:43.681 rx;i 7 | S03 0503 02BB BB7B 07 ...odpověď obsahuje jen pátý word 0xBBBB zápisu vytvořeného v slave simulátoru 08:26:45.682| |691122FF 00000005|S03I OUT 7||89 3usr 0 0503 02BB BB7B 07 ...obsah cache je odesílán z RM do RS >>
Master Radioslave \|/....\|/ Radiomaster Slave | | PLC === S02 - 691122FF -RFC RFC- 69112205 - S03 ==== PLC 05 SPe2t SPe3t (m)s (c)n (m)m (c)n (S)(f)5 (M)(d)691122FF (u)1 (0)5 (p)200*10 (t)200*100 (C)(A)1 (C)(A)1 (t)40 (t)30
Tabulka Art shodná v RS a v RM:
>> ART No 1: items: 3 default gw: 00000000 (0.0.0.0 ) dest: gw: 00010002 00040000 (0.1.0.2 0.4.0.0 ) 00020003 00020000 (0.2.0.3 0.2.0.0 ) ...délka 2 word 00030003 00130010 (0.3.0.3 0.19.0.16 ) ...délka 3 word >>
Obsah Art:
dest 00010002 ...0001 - pořadové číslo k rozlišení položek dest ...0002 - číslo funkce Modbus, zde Read Input Status gw 00040000 ...0004 - horní okraj paměťového bloku ...0000 - začátek paměťového bloku
Funkce Modbus 02 a 03 používají různé části paměti, proto jejich adresy se mohou překrývat.
Pokud se vyskytne více oblastí paměti, které jsou čteny stejnou funkcí, je nutno je rozlišit. Zde jsou to řádky
00020003 00020000 ...délka 2 wordy (0002-0000=2) 00030003 00130010 ...délka 3 wordy (0013-0010=3)
s funkcí 03. Rozlišení je provedeno délkou přenášených dat. Zde jsou to 2 a 3 wordy. Kratší položka musí být umístěna v Art tabulce výše, delší položka níže.
Monitoring zachycuje komunikaci mezi RM a Slave PLC. Opakují se zde dotazy ve formátu Modbus a odpovědi. Každý řádek tabulky Art vytvoří jeden dotaz. Pokud dojde ke změně některého prvku dat, je odeslána MORSE sítí souhrnná zpráva do RS. Tato zpráva je sestavena z odpovědí na jednotlivé dotazy na SCC. Pokud se data nemění, je tato zpráva vysílána v pravidelných intervalech „SPe3tCt“.
>> 12:53:55.811 tx 8 | S03 0502 0000 0004 784D 12:53:55.875 rx;i 6 | S03 0502 0103 E0B9 12:53:57.876 tx 8 | S03 0503 0000 0002 C58F 12:53:57.941 rx;i 9 | S03 0503 0411 1122 2272 73 12:53:59.942 tx 8 | S03 0503 0010 0003 058A 12:54:00.008 rx;i 11 | S03 0503 06AA AABB BBCC CC12 33 12:54:02.009| |691122FF 00000005|S03I OUT 26||89 2usr 0 0502 0103 E0B9 0503 0411 1122 2272 7305 0306 AAAA BBBB CCCC 1233 >>
Druhá část monitoringu zachycuje příjem paketu na RF kanálu RS a jeho komunikaci s PLC Master na SCC2:
>> 12:56:06.032|691122FF 69112205|691122FF 69112205|R01I OUT 26n89 6dat 0 0502 0103 E0B9 0503 0411 1122 2272 7305 0306 AAAA BBBB CCCC 1233 12:56:06.228 rx;i 8 | S02 0503 0010 0003 058A 12:56:06.229 tx 11 | S02 0503 06AA AABB BBCC CC12 33 12:56:06.494 rx;i 8 | S02 0502 0000 0004 784D 12:56:06.495 tx 6 | S02 0502 0103 E0B9 12:56:06.760 rx;i 8 | S02 0503 0000 0002 C58F 12:56:06.760 tx 9 | S02 0503 0411 1122 2272 73 >>
Intervaly komunikace na SCC jsou nastaveny dlouhé pro testovací potřeby. Normální perioda je např. 200ms podle parametru „SPe3tMp“.
Komunikace s PLC Modbus a současně se zařízením, které používá MTF, zde modul ADIO.
Master Radioslave \|/....\|/ Radiomaster Slave | | PLC === S02 - 690F00FF -RFC RFC- 690F0065 - S03 ==== PLC 101 SPe2t . SPe3t (m)s (c)n . (m)m (c)n (S)(f)101 . (M)(d)690F00FF (u)10 . (0)101 (e)b ..PLC+MTD . (p)200*10 (a)105 . (t)200*100 (C)(A)1 . (C)(A)2 (t)40 . (t)30 . ART No 1: . ART No 2: dest: gw: . dest: gw: 02010003 00030000 . 00020003 00100003 00020003 00100003 . . \|/ | RFC- 690F006C - G00 ...0x6C= 108 GPe0pd (p)690F00FF (o)20 (t)30 (m)3 (M)m ...MTF format
Radioslave
v použité konfiguraci má vyhrazen tento prostor pro paměť cache:
Slave device 0000-0002 0003-0015 101 MB x test 102 MB x .... 103 MB x .... 104 MB x .... 105 MTD .... x 106 MTD .... x 107 MTD .... x 108 MTD test x 109 MTD .... x 110 MTD .... x
Parametry address
o(f)fset:101 n(u)mber:10 net addresses
definují
prostor pro 10 Slave s adresami Modbus 101 až 110.
Parametry d(e)vice
type:PLC+MTD
Sep
(a)ddress:105
stanoví, že Slave device mohou být v
obou verzích. Jsou to PLC Modbus a Morse Technology Device používající
formát MTF. Zařízení MTD jsou na adresách 105 až 110.
Tabulka Art 1 svým řádkem 02010003
00030000
pro funkci MTF typ 02 překládanou do funkce
Modbus 03 vymezuje wordy číslo 0000 až 0002 pro každého Slave. Tuto
oblast používají pouze PLC Slave s adresami 105 až 110.
Další
řádek 00020003
00100003
pro funkce Modbus 03 vymezuje wordy číslo
0003 až 000F (to je 3 až 15 dec) pro každého Slave. Tuto oblast
používají pouze PLC Slave s adresami 101 až 104.
Radiomaster
má adresu MORSE 690F0065. Poslední byte adresy 0x65 = 101 dec je
adresou připojeného PLC Slave. Prostor paměti cache je definován v
tabulce Art 2: 00020003
00100003
Tedy pro funkci Modbus 03 jsou vyhrazeny
wordy s adresami 0003 až 000F (to je 3 až 15 dec). Data z tohoto
prostoru jsou pak přenášena do cache paměti v RS.
MTD
s adresou MORSE 690F006C, tedy modul ADIO, je nastaven pro práci ve formátu MTF. V tomto formátu odesílá do CU 690F00FF zprávy, které obsahují 4 typy dat (DI, DO, AI, AO). Z nich typ 02 obsahuje hodnoty na analogových vstupech. Tento typ dat je v RS zpracován a hodnoty analogových vstupů jsou zapsány do cache v RS. PLC Master je pak může číst funkcí Modbus 03.
Překlad z MTF na funkci Modbus 03 je v tomto příkladu řešením situace, kdy Master PLC umí komunikovat pouze funkcí 03. Standardní a doporučené řešení je překlad z MTF na odpovídající funkce Modbusu, například MTF 02 na Modbus 04, viz příklad Art z popisu protokolu Modbus:
dest: gw: ...CACHE, MB <-- SEP 06010001 00080000 (6.1.0.1 0.8.0.0 ) ...read Dout 8 bit 01020002 00100008 (1.2.0.2 0.16.0.8 ) ...read Din 8 bit 07030004 000C000A (7.3.0.4 0.12.0.10) ...read Aout 2 word 02040004 00090001 (2.4.0.4 0.9.0.1 ) ...read Ain 8 word ...RULY, MB --> SEP 07070006 01020100 (7.6.0.6 1.2.1.0 ) ...write Aout 2 word 06080005 00080000 (6.8.0.5 0.8.0.0 ) ...write Dout 8 bit 0609000F 00080000 (6.9.0.15 0.8.0.0 ) ...write Dout 8 bit
Monitoring komunikace
Master PLC čte funkcí Modbus 03 paměť cache v RS. Stav paměti je změněn příchodem paketu z modulu ADIO s novou hodnotou analogového vstupu:
15:19:39.221 rx;i 8 | S02 6C03 0000 0002 CCB6 ...dotaz na cache 0x6C=108, adr.0000 15:19:39.221 tx 9 | S02 6C03 0400 0200 03A7 34 ...odpověď AI0=0002 AI1=0003 15:19:39.488 rx;i 8 | S02 6503 0003 000D 7C2B ...dotaz na cache 0x65=101, adr.0003 15:19:39.489 tx 31 | S02 6503 1A00 0122 2200 0000 0000 0000 0000 ...odpověď 0000 0000 0000 0000 0000 0000 00A4 15 15:19:40.127| |000000FF 0000006C|S02I IN 42|*8A 7usr 0 0100 4728 01C3 1000 0003 0003 0002 06C3 1000 0003 0003 0003 02C1 2000 09FD 0002 ...MTF rámec, typ 02, data AI0=09FD, AI1=0002 07C1 2000 09FF 0666 2A5B 15:19:40.266 rx;i 8 | S02 6C03 0000 0002 CCB6 ...dotaz na cache 0x6C=108, adr.0000 15:19:40.267 tx 9 | S02 6C03 0409 FD00 0255 58 ...odpověď AI0=09FD AI1=0002 15:19:40.533 rx;i 8 | S02 6503 0003 000D 7C2B ...dotaz na cache 0x65=101, adr.0003 15:19:40.533 tx 31 | S02 6503 1A00 0122 2200 0000 0000 0000 0000 ...odpověď 0000 0000 0000 0000 0000 0000 00A4 15
Příklad přenosu dat:
Radioslave \|/....\|/ Radiomaster Slave simulator | | Modbus addr 05 691122FF -RFC RFC- 69112205 - SCC3 ==== SCC1 - 691122FF SIe3uAm FMeen SIe3uB69112200 SIe1uAn SPe3t SPe1t (m)m (p)n (m)s (p)n (M)(d)691122FF (S)(f)5 (0)5 (u)1 (p)200*10 (t)100*100 (r)1 (P)(a)5 (P)(N)2000 (N)1000 (H)1000 (H)2000 (s)n
Radiomaster se s periodou „Spe3tMp“ ptá Slave na obsah jeho deskriptoru na adrese „SPe3tPH“, to je 1000.
Funkcí „its“ vyšleme z Radiomastera na vlastní adresu (tedy do SCC3) data AAAA. Data jsou vložena do bufferu N2H a pak jsou dále zachyceným postupem přenesena do bufferu ve Slave simulátoru.
PLC Slave je zde nahrazeno běžným CU (MR400) ve funkci Slave simulátor s touto konfigurací:
MORSE adresa simulátoru je použita k vytvoření adresy destination, je proto shodná s adresou Radioslave.
Simulátor má zakázáno vysílání do RFC.
Modbus adresa simulátoru je určena parametrem SPe1tPa5.
Dvojice adres (N)2H a (H)2N je standardně nastavena shodně v RM a Slave. Pro potřeby simulátoru jsou zde adresy přehozeny. Parametr „SPe1tP“ (s)imulator je zapnut.
Monitorováno v CU Radiomaster: 10:20:46.649 tx 8 | S03 0503 1000 0001 814E = Slave 5, máš pro mne data ? 10:20:46.663 rx;i 7 | S03 0503 0200 0049 84 = nemám Send packet: (N):1 (d):69112205h (t)ype:0009h s(o)urce:691122FFh = simulace adresy Radioslave d(a)ta:.. = data AAAA hexadecimálně random data (l)ength:0byte (r)epeat period:0ms + (j)itter:0ms IP (P)ing (s)tart r(e)port sto(p) (q)uit >>s 10:20:48.664 tx 8 | S03 0503 1000 0001 814E 10:20:48.678 rx;i 7 | S03 0503 0200 0049 84 10:20:50.456| |69112205 691122FF|S03I IN 2|*09 1usr 0 AAAA = prot. Radiomaster dostal data pro Slave 5 10:20:50.679 tx 8 | S03 0503 2000 0001 8E4E = Slave 5, máš volný buffer N2H ? 10:20:50.693 rx;i 7 | S03 0503 0200 0049 84 = ano 10:20:52.694 tx 19 | S03 0510 2000 0005 0A00 0809 0169 1122 FFAA AAE5 E6 = zapiš si zprávu 10:20:52.714 rx;i 8 | S03 0510 2000 0005 0A4E = zapsal jsem 10:20:54.715 tx 8 | S03 0503 1000 0001 814E = Slave 5, máš pro mne data ? 10:20:54.729 rx;i 7 | S03 0503 0200 0049 84 = nemám ... pokračují dotazy
Odeslání paketu ze Slave Modbusem do Radiomastera a dále do RF kanálu.
Protokol ve funkci RS zapisuje data přicházející ze sítě (tedy z nódu z testu „its“) do bufferu N2H. Tento parametr nastavíme na hodnotu 1000. Parametr „SPe1tPsn“ (simulator:ON) zapne bit DTE.
Povelem „its“ v Slave simulatoru vyšleme data BBBB. Ta jsou zapsána na adresu N2H=1000 ve Slave simulatoru.
Radiomaster se periodicky dotazuje na stav adresy H2N=1000. Z této adresy přijme od Slave data BBBB včetně adresy destination 691122FF. Na tuto adresu odešle data paketem MORSE. Adresa může směřovat na Radioslave (a dále na Mastera Modbusu) nebo na jiného Radiomastera.
Send packet: (N):1 (d):691122FFh = paket půjde user výstupem do Modbusu (t)ype:0009h s(o)urce:691122FFh d(a)ta:»» = data BBBB hex random data (l)ength:0byte (r)epeat period:0ms + (j)itter:0ms IP (P)ing (s)tart r(e)port sto(p) (q)uit >>s Monitorováno v CU Radiomaster: 10:23:56.059 tx 8 | S03 0503 1000 0001 814E = Slave 5, máš pro mne data ? 10:23:56.073 rx;i 7 | S03 0503 0200 0049 84 = nemám ... prot. Slave simulator dostal data pro Mastera 10:23:58.074 tx 8 | S03 0503 1000 0001 814E = Slave 5, máš pro mne data ? 10:23:58.088 rx;i 7 | S03 0503 0200 0848 42 = mám 08 byte 10:24:00.089 tx 8 | S03 0503 1001 0004 108D = pošli 4 wordy od adresy 1001 10:24:00.106 rx;i 13 | S03 0503 0809 8369 1122 FFBB BB0F B4 = posílám 8 byte 10:24:00.106| |691122FF 00000005|S03I OUT 2||09 3usr 0 BBBB = data BBBB odeslána do nódu 10:24:00.112|691122FF 69112205|691122FF 69112205|01C RFTX 2 09 3dat 0 BBBB = data BBB odeslána do RF kanálu 10:24:02.107 tx 11 | S03 0510 1000 0001 0200 0085 51 = smaž deskriptor 10:24:02.123 rx;i 8 | S03 0510 1000 0001 048D = smazal jsem deskriptor 10:24:04.124 tx 8 | S03 0503 1000 0001 814E = pokračují dotazy na Slave ... 10:24:04.138 rx;i 7 | S03 0503 0200 0049 84
CU Radiomaster může komunikovat linkou RS485 s více PLC Slave.
Radioslave \|/....\|/ Radiomaster Slave simulator | | RS485 Modbus 691122FF -RFC RFC- 69112205 - SCC3 ==== SCC1 - 691122FF 05 == SCC1 - 691122FF 06 SIe3uAm FMeen SIe3uB69112200 SIe1uAn SPe3t SPe1t (m)m (p)n (m)s (p)n (M)(d)691122FF (S)(f)5 (0)5 (u)2 (1)6 (p)200*10 (t)100*100 (r)1 (P)(a)6 (P)(N)2000 (N)1000 (H)1000 (H)2000 (s)n
RM může mít definováno několik PLC Slave, se kterými komunikuje, některým ze způsobů:
parametry SPe3tM (0)5, dále (1)6 a případně další
nebo parametry SPe3tM o(f)fset:5, n(u)mber:2 a případně více
Skupina Slave připojených přes RS485 je zde nahrazena jediným Slave simulátorem připojeným přes RS232. Pomocí parametrů „SPe1tSf5“ a „SPe1tSu2“ jsou definovány adresy Modbus 05 a 06, které simulátor zastupuje. Parametr „SPe1tPa6“ určuje adresu Modbus 06, ze které je možno odeslat paket do RM.
07:45:44.498 tx 8 | S03 0503 1000 0001 814E = dotaz na Slave 5 07:45:44.512 rx;i 7 | S03 0503 0200 0049 84 = odpověď od Slave 5 07:45:46.513 tx 8 | S03 0603 1000 0001 817D = dotaz na Slave 6 07:45:46.527 rx;i 7 | S03 0603 0200 080C 42 = dialog se Slave 6 ... 07:45:48.528 tx 8 | S03 0603 1001 0004 10BE 07:45:48.545 rx;i 13 | S03 0603 0809 8069 1122 FFCC CC54 26 07:45:48.545| |691122FF 00000006|S03I OUT 2||09 0usr 0 CCCC 07:45:48.545|691122FF 69112205|691122FF 69112206|R01I IN 2N09 0dat 0 CCCC 07:45:50.546 tx 11 | S03 0610 1000 0001 0200 0091 A1 07:45:50.562 rx;i 8 | S03 0610 1000 0001 04BE 07:45:52.563 tx 8 | S03 0503 1000 0001 814E = dotaz na Slave 5 07:45:52.577 rx;i 7 | S03 0503 0200 0049 84 07:45:54.578 tx 8 | S03 0603 1000 0001 817D = dotaz na Slave 6, pokračuje komunikace 07:45:54.592 rx;i 7 | S03 0603 0200 000D 84
Vysílání času
Předávání času od PLC Master přes RS a RM do PLC Slave
Radioslave \|/....\|/ Radiomaster Slave simulator | | Modbus addr 05 SCC2- 691122FF -RFC RFC- 69112205 - SCC3 ==== SCC1 - 69112205 SIe3uAm FMeen SIe3uB69112200 SIe1uAn SPe2t SPe3t SPe1t (m)s (t)n (m)m (p)t (m)s (t)n (S)(f)5 (M)(d)691122FF (S)(f)5 (u)1 (0)5 (u)1 (p)200*10 (t)100*100 (r)1 (T)(f)n (T)(f)n (T)(f)n (s)(t)n (s)(t)n ...synchronizace (s)(t)n (m)r ...receiver (m)s ...sender (m)r ...receiver (p)0 (p)20 ...perioda (p)0 (a)3000 (a)3000 ...adresa (a)3000 Ue(i)1 ...synchronizace v síti MORSE (c)691122FF (p)20
Monitorováno v CU Radioslave: 10:22:59.645 rxsim 21 | S02 ...funkcí "in" vložen synchronizační rámec 0510 3000 0006 0C47 3971 B102 5E00 0000 0000 009F 25 do Radioslave 10:43:13.598 tx 9 | S02 ...RS je synchronizován (čas monitoringu) 0510 3000 0006 0C0F 31 ...odpověď z RS do PLC Master Monitorováno v CU Radiomaster: 10:23:02.166 tx 21 | S03 ...RM zapisuje starý čas do PLC Slave 0510 3000 0006 0C47 396C F600 A602 170A 0D0A 6B40 1A 10:23:02.188 rx;i 9 | S03 0510 3000 0006 0C0F 31 10:23:06.994|69112205 691122FF|69112205 691122FF|R01I OUT 6n97 0dat 0 4739 71B8 03B2 ...synchronizační paket RF kanálem z RS do RM 10:43:36.149 tx 21 | S03 ...RM je synchronizován (čas monitoringu) 0510 3000 0006 0C47 3971 C800 9524 2B0A 0D0A 6B9C 14 ...synchronizační 10:43:36.171 rx;i 9 | S03 rámec je odeslán přes Modbus do Slave 0510 3000 0006 0C0F 31 10:43:40.868|69112205 691122FF|69112205 691122FF|R01I OUT 6n97 0dat 0 4739 71CC 0364 ...synchronizační cyklus se opakuje 10:43:56.181 tx 21 | S03 0510 3000 0006 0C47 3971 DC00 B538 2B0A 0D0A 6B40 8A 10:43:56.203 rx;i 9 | S03 0510 3000 0006 0C0F 31
Radioslave v režimu „receiver“ přijímá informaci o času od PLC Master. Zde je paket generován funkcí „channel send“. Složení rámce:
0510 modbus adresa 05, funkce 0x10 zápis 3000 0006 0C od adresy 0x3000 zapiš 0x0006 wordů to je 0x0C byte 4739 71B1 Unix time, sec od 1.1.1970 02 5E 0x0 letní čas, 0x25E = 606 msec 00 0000 0000 00 libovolná hodnota, 6 byte 9F 25 crc
Rámec je zapsán na adresu 3000 a podle této adresy je nastaven lokální čas modemu. Čas se objeví v hlavičce monitoringu v dalším řádku:
10:43:13.598 tx 9 | S02
Podle nastavení v menu „Ue“ probíhá synchronizace v síti
MORSE. Nejbližší synchronizační zprávou je čas přenesen do CU RM. Přenáší
se pouze Unix time a msec: 4739 71B8 03B2
Přijatý paket je v RM zapsán na adresu 3000 a je podle něj synchronizován lokální čas RM. Zbývající část časového rámce je dopočítána v RM. CU Radiomaster je v režimu „sender“ a s periodou „SPe3tsp“ = 20s odesílá synchronizační rámce na Slave. Rámec má podobný formát, jako rámec simulovaný pro RS funkcí „in“, jeho obsah však odpovídá aktuálnímu času:
0510 modbus adresa 05, funkce 0x10 zápis 3000 0006 0C od adresy 0x3000 zapiš 0x0006 wordů to je 0x0C byte 4739 71DC Unix time, sec od 1.1.1970 00 B5 0x0 letní čas, 0x0B5 = 181 msec 38 56 sec 2B 43 min 0A 10 hod 0D 13 den 0A 10+1 = 11. měsíc 6B 107+1900 = 2007 rok 40 8A crc
Těmto hodnotám odpovídá i čas v hlavičce monitoringu:
10:43:56.181 tx 21 | S03
Periody pro synchronizaci „SPe3tsp“ a „Uep“ jsou zde nastaveny krátké, v běžném provozu se používá interval několika hodin.
Zjišťování času
V CU Radioslave z předchozího příkladu změníme parametr „SPe2tsm“ na „sender“. Pak na simulovaný dotaz z PLC Master dostaneme odpověď obsahující aktuální čas:
12:01:47.831 rxsim 8 | S02 0503 3000 0006 CB4C 12:01:47.832 tx 17 | S02 0503 0C47 3984 1B03 402F 010C 0D0A 6BA4 84