MODBUS příklady

https//www.racom.eu/cz/support/prot/mod-ex-1009/index.html

Verze pro tisk

Protokol MODBUS pro MORSE

Příklady pro 10.0.9.0

verze 10.0.9.0

7. prosince 2007

1. Úvod

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.

2. Transparentní režim

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.

3. Cache režim

3.1. Odeslání paketu Slave -> Radiomaster -> Radioslave

    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
>>

3.2. Komunikace při složitější konfiguraci paměti cache

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“.

3.3. Modbus a MTF

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

4. Paketový režim

4.1. Radiomaster -> Slave

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

4.2. Radioslave <- Radiomaster <- Slave

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

4.3. Radiomaster + více Slave

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

5. Synchronizace času

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

6. Historie

Platí pro verzi sw 10.0.9.0 z 9.10.2007.

©  2024 RACOM s.r.o. All Rights Reserved.