https//www.racom.eu/cz/support/protocols_docum/bc261__modbus.html
1. ÚVOD
Protokol MODBUS ve standardní podobě obsahuje jednoho Mastera a skupinu Slave
spojených sítí RS485. Slave může být max. 255 (jednobajtová adresa). Master
cyklicky obvolává jednotlivé Slave a čte z nich data. Do toho Master podle potřeby
vkládá povely pro Slave. Každý povel od Mastera je povinně potvrzen nebo obsahuje
odpověď s daty odpovídajícími funkci rámce. Master nemá svoji vlastní adresu.
Síť Modbus se sběrnicí RS485:
master PLC slave PLC
______
| | ___
| PLC |--------------+ | | addresses:
|______| +-------------------|___| 01
| ___
| RS485 | |
+-------------------|___| 02
| ___
| | |
+-------------------|___| 03
|
Na dalším schematu je síť Modbus propojená rádiovou sítí MORSE. Slave PLC jsou
připojeny jednotlivě nebo po skupinách k MORSE CU (communication unit, modem,
rádio), které místně zastupují funkci Master PLC:
master Radioslave Radiomaster slave
PLC CU CU PLC
______ \|/........... \|/
| |RS232 _|_ : _|_ ___ slave
| PLC |-----| | : | | RS485 | | addresses:
|______| |___| : |___|-----+---|___| (0):01
(m)ode:Radioslave :(m):Radiomaster| ___
(f)irst: 691122FF : 69112201 | | |
Modbus (a)ddress:FF : +---|___| (1):02
:
:..... \|/
: _|_ ___
: | | RS485 | | (0):03
: |___|----+----|___|
: 69112203 | ___
: | | |
: +----|___| (1):04
:..... \|/
_|_ ___
| | RS232 | |
|___|---------|___| (0):05
69112205
period net (t)x TO (p)eriod
mirror (t)imeout
Sběrnice Modbusu je přerušena vloženou rádiovou sítí, která zprostředkovává spojení
ve třech dále popsaných režimech. Radioslave (RS) a Radiomaster (RM) jsou CU s
protokolem Modbus.
Radioslave má adresu Modbus shodnou s dolním byte svojí MORSE adresy. Dolní byte
adresy CU Radiomaster je shodný s jednou z adres připojených slave PLC, pro
směrování ostatních PLC se použije funkce "multiaddressing" v menu (N)odes (e)dit.
Znaky v závorkách jako (p)eriod se označují parametry protokolu, uveden je také
příklad adres.
Protokol MODBUS pro MORSE může pracovat ve třech režimech
- transparent, cache a packet:
Transparentní režim.
Všechny pakety, které přijdou z připojeného Master PLC do CU Radioslave jsou ihned
vysílány sítí MORSE k příslušné vzdálené CU Radiomaster a předány do Slave PLC.
Paket musí obsahovat v prvním byte adresu Slave, ve druhém číslo funkce Modbus, pak
data a nakonec kontrolní součet. Paket projde protokolem i sítí MORSE beze změny.
Zpráva od Slave PLC je akceptována pouze jako odpověď na dotaz a je odeslána na
adresu tazatele. Režim je vhodný jen pro malé sítě s delším intervalem dotazů
Master - Slave.
Cache režim.
CU Radiomaster dotazuje připojené PLC Slave v krátkém intervalu "(p)eriod" a
získaná data ukládá do své paměti cache. Teprve když dojde ke změně dat v této
paměti, je odeslán paket sítí MORSE do CU Radioslave. Ta udržuje ve své paměti data
od všech PLC Slave připojených přes MORSE síť. Na dotaz, který je prováděn s
krátkou periodou, pak předá data do PLC Master. Přenos povelů od Mastera do Slave,
který je méně častý, probíhá v transparentním režimu.
Režim cache přenáší sítí MORSE pouze změny dat (+ refresh v delším časovém
intervalu), proto je vhodný pro větší sítě. Slave může vysílat pouze jako odpověď
na přijatý povel, přímá vzájemná komunikace Slave - Slave není možná.
Packet režim.
V paketovém režimu je zachována periodická komunikace master slave na drátových
linkách RS485 nebo RS232, to je Master PLC Radioslave, Radiomaster Slave
PLC. Při této komunikaci je přenášen pouze krátký descriptor a teprve při nové
informaci se přenáší celý datový buffer. Na základě informací z datového bufferu
pak CU vygeneruje paket MORSE, který je odeslán sítí MORSE k cílové CU.
Takto se stírá rozdíl master - slave. PLC Slave může odeslat zprávu bez výzvy a to
i pro jiného PLC Slave.
Režimy Transparent a Cache nebo také Transparent a Packet mohou pracovat
současně. Režim Transparent bývá v těchto případech využíván pro servisní zásahy do
PLC. Všechny režimy vyžadují, aby Master dovedl počkat na odezvu povelu od Slave
delší čas (sekundy).
2. Formát dat
Přehled funkcí Modbusu pro čtení a zápis z různých částí paměti PLC.
Podrobnější popis v článku "Formát rámce MODBUS pro MORSE".
function/8 jednotka PLC
(hex) number/16
čtení | |
| Bin |
02 1bit | Bin |-> fyzický výstup
0F --> bits | OUT |->
|___________|->
| Analog |
04 1word | |
03 words | Registers |
17 words | |
|___________|
Přehled formátů funkcí Modbus (č.funkce, směr přenosu informace, název funkce,
velikost jednotky num je 1 nebo 16 bit):
Master-Slave DOTAZ od Mastera | ODPOVĚĎ od Slave
|
01 B_out
|adr/8| fce/8| start/16| 0xFF00| crc/16| =set 1 bit ON
|adr/8| fce/8| start/16| 0xFF00 |crc/16|
|adr/8| fce/8| start/16| 0x0000| crc/16| =set 1 bit OFF
|adr/8| fce/8| start/16| 0x0000 |crc/16|
06 --> H_Reg
|adr/8| fce/8| start/16| data/16| crc/16| =write 1 word
|adr/8| fce/8| start/16| data/16|crc/16|
0F --> B_out 01
|adr/8| fce/8| start/16| num/16| cnt/8| data/8*cnt| crc/16|
|adr/8| fce/8| start/16| num/16 |crc/16|
10 --> H_Reg 16
|adr/8| fce/8| start/16| num/16| cnt/8| data/16*num|crc/16|
|adr/8| fce/8| start/16| num/16 |crc/16|
17 H_Reg 16 16
|a/8 | f/8| rst/16| rno/16| wst/16| wno/16| wcnt/8| wdata/8*cnt |crc/16|
|adr/8| fce/8|cnt/8| data/cnt*8 |crc/16|
odpověď na chybný povel Err
|adr/8| 0x80+fce /8| excode/8| crc/16|
adr,a - adresa automatu na sběrnici Modbus
fce,f - funkce, kterou automat vykoná po přijetí rámce
start - počáteční adresa dat (výstupu), která budou zpracována
num - počet wordů(f03,04,10,17) nebo bitů(f01,02,0F) pro čtení nebo zápis
cnt - počet byte nutných pro přenos požadovaných dat
data - stavy čtených nebo zapisovaných registrů
crc - zabezpečovací slovo
rst - počátek čteného úseku
rno - délka čteného úseku
wst - počátek zapisovaného úseku
wno - délka zapisovaného úseku
wcnt - počet byte nutných pro přenos zapisovaných dat
wdata - zapisovaná data
excode - číslo výjimky, specifikuje chybu
1 - chybné číslo funkce
2 - chybná adresa dat
3 - chybný obsah dat
5 - potvrzené přijetí povelu, jehož provedení je pomalé
6 - odmítnutí, Slave je zaměstnán výkonem pomalého povelu
Příklad komunikace:
15:28:06.780 tx 8 | S00
0403 1000 0001 809F
15:28:06.784 rx;i 7 | S00
0403 0200 0074 44
04 - dotazovaná adres
03 - čtení z Holding registru
1000 - od adresy 1000
0001 - číst 1 word
809F - crc
04 - odpovídající adresa
03 - čtení z Holding registru
02 - přečteny 2 byte
0000 - obsah čtených byte
7444 - crc
3. Implementace v MORSE
Režim modemu se nastavuje v menu SPe0t:
MODBUS parameters:
(m)ode:RADIOSLAVE (a)utomaster:OFF
(c)ache:OFF (p)acket:OFF (t)rans:ON
(M)aster (S)lave
(A)utomaster
(C)ache
(P)acket
(T)rans
(s)ervices (O)ld menu (sw ver =< 5.74)
(q)uit
>>
Modem jako RADIOSLAVE:
slave parameters:
Modbus (a)ddress:FFh
(r)epeat discard:0
d(e)vice type:PLC
(q)uit
>>
Radioslave vystupuje v síti MORSE pod adresou, která má poslední byte shodný s
položkou "Modbus (a)ddress:", například 691122FF.
Komunikace na lince s PLC Master je řízena z Mastera. V případě, že PLC Master
nedovede čekat na odpověď od Slave přes MORSE síť a vysílá stále opakované povely,
je možno parametrem "(r)epeat discard:" nastavit počet opakovaných dotazů, které
budou zahozeny, než bude Radislave reagovat na další z nich. Toto je opatření proti
zahlcení rádiové sítě.
Modem jako RADIOMASTER:
master parameters:
(f)irst:691122FFh (s)econd:00000000h destination
d(e)vice type:PLC
Modbus slave addr: (0):3h (1):4h (2):0h (3):0h
(a)ddress mask:FFh
(p)eriod:20*10 ms
(t)imeout:10*100 ms
(q)uit
>>
Radiomaster vystupuje v síti MORSE pod adresou, jejíž poslední byte je shodný s
jednou z "Modbus slave addr:", například 69112203. Zprávy pro další z nich přijímá
pomocí funkce Multiaddressing (v menu Ne). Adresa příslušného Radioslave je uvedena
v položce "(f)irst:". Pokud je v položce "(s)econd:" zapsána nenulová adresa, jsou
na ni odesílány kopie zpráv od Slave, ne však hlášení vysílaná s periodou "mirror".
Komunikace na lince RS485 (nebo na RS232 pro jediného Slave) probíhá s periodou
"(p)eriod:" (zde 200 ms), na odpověď se čeká max. po dobu "(t)imeout:". Převod
adres MORSE Modbus se provádí pomocí masky "(a)ddress mask:", která má nejvíce
8 bitů.
3.1 TRANSPARENTNÍ REŽIM
transparent parameters:
CRC (a)uto:OFF
check (f)unction:ON
check a(d)dress:ON
check (C)RC:ON
(q)uit
>>
V transparentním režimu jsou sítí přenášena všechna data z Mastera do Slave.
Používá se pro přenos výkonných povelů od Mastera v režimu Cache. Pro obousměrný
přenos je transparentní režim vhodný pouze pro velmi malé sítě s pomalým cyklem
obvolávání. Pro zamezení přenosu rušivých paketů používáme v RM kontroly:
check (f)unction:ON - funkce musí být jedou z řady 1,2,3,4,5,6,F,10,17,1E
check a(d)dress:ON - adresa musí být jednou z adres v menu SPe0tM0,1,2,3,
tedy jednou z adres připojených Slave PLC
check (C)RC:ON - správnost crc pro směr MORSE -> Modbus
V CU Radioslave používáme kontroly (f)untion a (C)RC. Kontrola adresy se nepoužívá.
Je ji možno použít jen v případě, že stanic Slave není víc než 4. Pak tyto adresy
můžeme zapsat v Radioslave do menu SPe0tM0,1,2,3 a funkce "check a(d)dress:" je
použije pro kontrolu adres.
Funkce "CRC (a)uto:" použitá v CU Radiomaster doplní crc k paketům procházejícím z
MORSE do Modbusu. Používá se jen pro testovací účely.
Radiomaster po odeslání paketu do Slave očekává max. po dobu SPe0tMt (=timeout)
odpověď od Slave, kterou pak pošle sítí MORSE do Radioslave.
3.2 PAKETOVÝ REŽIM
V paketovém režimu jsou v každém PLC i v modemech vytvořeny dva paměťové buffery
pro přenos dat Slave->Radiomaster (host to net, H2N) a opačně (net to host, N2H).
Délka bufferů je min. 250 byte (max. délka rámce Modbusu), max. 1600 byte (max.
délka paketu MORSE).
Radiomaster se periodicky ptá každého Slave na obsah prvního wordu bufferu H2N
zvaného deskriptor. Pokud je nenulový, je z něj zjištěna délka pseudorámce
připraveného v H2N a ten je v další komunikaci přenesen do Radiomastera. Pak je
deskriptor smazán, což indikuje pro Slave možnost přenosu dalšího rámce.
Přenos z Radiomastera(RM) do Slave probíhá tak, že RM přečte deskriptor N2Hdesc v
PLC Slave a je-li nulový, zapíše do N2H svůj pseudorámec. Slave po jeho zpracování
zapíše do N2Hdesc nulový word na znamení, že buffer N2H je opět k dispozici.
Pseudorámce H2Nfr a N2Hfr mají hlavičku délky 6 byte, data a crc. Hlavička obsahuje
potřebné údaje pro vytvoření MORSE paketu a jeho odeslání do Radioslave nebo jiného
Radiomastera.
Struktura bufferů:
H2N:
| H2Ndesc/16 | H2Nfr/modbusMRU |
N2H:
| N2Hdesc/16 | N2Hfr/modbusMTU |
popis položek:
H2Ndesc -
znamená "host to net descriptor", a obsahuje potřebné informace pro přesun paketu
přes Modbus. Shodný formát má i N2Hdesc (net to host descriptor):
H2Ndesc: |ret/1|rep/1|No/2|res/1|rxsize/11|
N2Hdesc: |ret/1|rep/1|No/2|res/1|txsize/11|
ret - 0 - user pseudorámec,
1 - retranslačni pseudorámec (vyhrazeno pro potřeby Racomu)
rep - repeat bit
No - číslo paketu
res - rezerva, musí být nula
rxsize,txsize - velikost pseudorámce včetne adresy a typu v bajtech
H2Nfr - user pseudorámec
N2Hfr - user pseudorámec
modbusMRU - Maximum Receive Unit
modbusMTU - Maximum Transmit Unit
Adresy jednotlivých bloků paměti (H2N, N2H), jsou v modemu volně konfigurovatelné
podle potřeb připojeného zařízení. Pseudorámec obsahuje vlastní paket, určený pro
transfer do/ze sítě. Uvnitř pseudorámce je ukryta hlavička obsahující síťové
informace. Hlavička je v bufferu umístěna na následující pozici za descriptorem.
Struktura hlavičky a dat:
User pseudorámec:
| T/8 | D/1 | R/4 | N/3 | A/32 | data |
T - typ paketu
D - bit DTE, je-li 0, je vysílající DCE, A je adresa source.
naopak je-li 1, je vysílající DTE, A je adresa destination.
R - rezervováno, musí být nula
N - síťové číslo (přenáší se po síti).
A - adresa v síti
data - vlastní data pseudorámce
Radiomaster, který obsluhuje několik (max.4) Slave, používá Multiaddressing. Tím je
stanoveno, že pakety ze sítě MORSE, určené pro některého z jeho Slave, jsou
Radiomasterem akceptovány a z jeho user portu odcházejí do SCC s Modbusem.
Modbus adresy Slave jsou vytvořeny z MORSE adres maskováním, použije se poslední
byte adresy. V parametrech zapíšeme masku FF do položky "SPe0tMa".
Paketový režim dovoluje také překlad adres mezi MORSE a Modbusem pomocí Art tabulky
určené parametrem "SPe0tPA". Art tabulka musí obsahovat adresy všech Slave
připojených k Radiomasterovi. Například RM 69112205 má připojeny Slave 01 a 02:
dest: gw:
69112205 00000001
69112206 00000002
Převod tabulkou Art zapneme v Radiomasterovi parametrem "SPe0tA1".
Multiaddressing zapneme: "Ne1MLn", "Ne1l1", "Tl1p6 n5".
3.3 CACHE REŽIM
Režim CACHE [keš, kešovací] se používá pro sběr dat z většího počtu PLC Slave.
Doplňuje se Transparentním režimem pro přenos (méně častých) povelů ve směru
Master -> Slave.
V režimu cachejsou podobně jako v paketovém vytvořeny v PLC a v modemech shodné
paměťové prostory - cache. Přenos dat Slave -> RM probíhá na linkovém vedení s
krátkou periodou "SPe0tMp" volenou v oblasti 50 až 100ms. Tím se udržuje v RM
aktuální obraz stavu připojených Slave. Pokud v tomto obrazu nejsou změny, je
odesílán rádiem do RS v intervalech "SPe0tCt". Nastane-li v cache RM změna, je
zpráva pro RS odeslána okamžitě. Takto se v cache RS udržují aktuální obrazy cache
všech připojených Slave s minimálním zatížením rádiové sítě. PLC Master pak čte
tuto cache v RS stejně, jako by četl stavy všech Slave přes síť Modbus.
Při sledování stavu cache pamětí je přenášen po lince celý obsah cache (v paketovém
režimu se přenáší jen deskriptor). Obvolávání je řízeno Radiomasterem nebo PLC
Masterem (stejně jako v paketovém režimu). Přenos informací probíhá jen směrem
Slave -> Master (v paketovém režimu oběma směry i mezi Slave navzájem).
Paměťové bloky pro funkci cache definujeme shodně v RS a RM pomocí tabulky Art
"SPe0tCc". Definovat lze max. 4 cache. Položky dest a gw obsahují pořadové číslo
cache, číslo funkce Modbus, horní a dolní okraj paměťového bloku. Příklad:
>>
ART No 1:
items: 2
default gw: 00000000 (0.0.0.0 )
dest: gw:
00000003 00150010 (0.0.0.3 0.21.0.16 )
00010004 00210020 (0.1.0.4 0.33.0.32 )
>>
cache číslo 0000 pro funkci 0003 od adresy 0010 do adresy 0015 (5 wordů),
cache číslo 0001 pro funkci 0004 od adresy 0020 do adresy 0021 (1 word).
Radiomaster vysílá pravidelná hlášení pro RS v intervalu Net timeout "SPe0tCt",
kromě toho vysílá také aktuální zprávy o změnách. Radioslave sleduje, jestli se
každý RM ozval alespoň jednou za čas "SPe0tCr". Pokud ne, je tento RM vyřazen z
obvolávacího cyklu Mastera do té doby, než se RM opět ozve (po odstranění závady).
Cache v RS jsou uspořádány podle adres Modbusu. Pokud adresy nezačínají od jedné,
lze nevyužitou oblast paměti pro Slave (0 až N-1) vynechat pomocí adres offsetu,
parametr "SPe0tCf". Počet bloků cache pak lze přizpůsobit celkovému počtu Slave v
síti parametrem "SPe0tCu".
RS rozpoznává jednotlivá Slave PLC pro jejich zařazení do cache podle MORSE adres,
ze kterých přišla zpráva. Pokud je potřebné rozlišovat PLC podle adres Modbus, je
to možno nastavit typem adresy v parametru "SPe0tCy".
Pro ladění je užitečná funkce Modbus monitor. Je přístupná z menu "mp0M" a podává
informace o cache v RS nebo RM.
Modbus monitor:
St(a)tion cache (d)ump
(q)uit
>>
Volbou "a" dostaneme výpis definovaných cache. V příkladu je vyhrazeno 10 bloků, z
nich pouze adresa 05 je aktivní a zbývá jí 37 sec platného času.
>>
Station activity in Modbus cache:
/1 /2 /3 /4 /5 /6 /7 /8 /9 /A /B /C /D /E /F /10
0 0 0 0 0 37 0 0 0 0 0
>>
Volbou "d5" získáme výpis cache 05 (délka cache podle definice v tabulce Art):
>>
cache data at position 5:
/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /A /B /C /D /E /F ASCII:
00000000 10 0A 09 06 69 11 22 FF BB BB ....i."...
3.4 SYNCHRONIZACE ČASU
Synchronizace mezi modemy sítě MORSE se ovládá z menu "Ue" a lze na ni navázat
přenosem času přes protokol Modbus. Synchronizace může být nastavena mezi PLC
Master a RS nebo RM a Slave PLC. Platí pouze pro prvního Slave, který je připojen k
RM parametrem "SPe0tM0". Přenos časové informace může probíhat směrem Master ->
RS, RM -> Slave nebo opačně. Čas je s nastavenou periodou zapisován na vybranou
adresu v RS nebo v PLC Slave nebo je z ní čten.
Formát časového údaje:
| gmtsec/32 | R/1 | ts/1 | R/4 | msec/10 | sec/8 | min/8 | hour/8 | day/8 |
| month/8 | year/8 |
gmtsec - aktuální čas, je použit GMT udávaný v sekundách od 1.1.1970
(Unix time)
msec - milisekundy v právě probíhající sekundě.
ts - timesavings, přepínač letní/zimní čas (1 - letní, 0 - zimní čas)
Z výše uvedených položek jsou generovány další, které obsahují lokální čas včetně
korekce časové zóny:
sec - aktuální sekunda
min - minuty
hour - hodiny (0 - 23)
mday - den v měsíci (1 - 31)
mon - měsíc (0 - 11)
year - rok (údaj je ve tvaru letopočet - 1900)
R - rezerved
3.5 FUNKCE WATCHDOG
PLC Slave nemá možnost zjistit, jestli nebyla přerušena komunikace s Radiomasterem.
Proto je zde možnost nastavit v Radiomasterovi funkci Watchdog, která zapisuje v
pravidelných intervalech určené slovo na vybranou adresu do PLC Slave. Vše se
nastavuje v menu "SPe0ts". PLC pak může pravidelně číst a mazat tento záznam a
udržovat tak informaci o existenci spojení.
3.6 TYPY PAKETU
Krátký popis typů paketů na uživatelském rozhraní.
|U/1|B/1|R/1|subt/5|
U - link security bit - 1 označuje zabezpečený přenos
B - broadcast (multicast) bit - 1 označuje broadcastový paket
R - rezerva
subt - subtype - nabývá těchto základních hodnot:
subt=0x09 - USER DATA - uživatelská data
Základní typ paketu pro přenos dat od zdroje (source) do cíle destination). V
kombinaci s nastaveným bitem U=1 vznikne nejčastější typ paketu 0x89, to je
zabezpečený uživatelský paket.
subt=0x0A - PROT DATA
Tento typ dat je určen pro řízení toku dat v uživatelském protokolu. Zpracování
obou uvedených typů paketů v síti MORSE je stejné. Pakety jsou odesílány na adresu
destination podle routingu a priorit nastavených na zúčastněných adresách.V případě
ztráty paketu je chybové hlášení doručeno k původnímu odesílateli. Paket, který
nese toto chybové hlášení, se však také může ztratit, tentokrát již bez další
zprávy.
subt=0x0C - PACK ERROR REPORT - paket s chybovou zprávou
Zpráva o chybách v sítí MORSE. První word je Error Number (číslo chyby), další část
zprávy obsahuje podrobnější informace o chybě v síti. Generování těchto zpráv je
možno zapnout nebo vypnout pro celou síť.
Dále jsou uvedena některá čísla chyb:
1 - PACKET_NOT_CONFIRMED - paket není potvrzen
2 - STORE_TIMEOUT - vyčerpán store timeout
3 - NO_CHANNEL_ASSIGNED - není přiřazen kanál
4 - ACCESS_TIMEOUT_ERROR - vyčerpán access timeout
6 - WRONG_PACKET_FORMAT - špatný formát paketu
7 - DEST_PROT_MISSING - chybí protokol na adrese destination
8 - WRONG_PATH - špatná cesta
9 - WIRE_LINK_FAIL - chyba na drátové lince
subt=0x10 - SERVICE REQUEST - servisní požadavek
Požadavek o službu MORSE.
subt=0x12 - SERVICE REPORT - servisní zpráva
Zpráva služby MORSE.
3.7 PŘÍKLADY
Příklady pro transparentní, paketový a cache režim jsou uvedeny v samostatném
článku "MODBUS příklady".
Příklady paketového režimu jsou obsaženy také ve starším popisu "MODBUS 574".
4. PARAMETRY PROTOKOLU MODBUS
MODBUS parameters:
(m)ode:RADIOMASTER (a)utomaster:OFF
(c)ache:ON (p)acket:OFF (t)rans:OFF
(M)aster (S)lave
(A)utomaster
(C)ache
(P)acket
(T)rans
(s)ervices (O)ld menu (sw ver =< 5.74)
(q)uit
>>
(m)ode:RADIOMASTER/RADIOSLAVE - pozice modemu v síti
(a)utomaster:OFF - Radioslave může mít zapnutou funkci automaster, pak
přebírá funkci Radiomaster při přerušení komunikace na RS458
(c)ache:ON (p)acket:OFF (t)rans:OFF - volba režimů
Další parametry jsou rozděleny do podmenu:
Parametry pro stanici Radiomaster:
>>(M)aster
master parameters:
(f)irst:691122FFh (s)econd:00000000h destination
d(e)vice type:PLC
Modbus slave addr: (0):5h (1):0h (2):0h (3):0h
(a)ddress mask:FFh
(p)eriod:10*10 ms
(t)imeout:20*100 ms
(q)uit
>>
(f)irst:691122FFh - adresa Radioslave v MORSE síti,
00000000 = zprávy jsou posílány zpět
(s)econd:00000000h - je-li adresa nenulová, pak jsou na ni posílány kopie
spontánních zpráv, ne však zprávy od "SPe0tCt"
d(e)vice type:PLC - volba mezi připojeným obecným PLC nebo technologickou
jednotkou SEP
Modbus slave addr: (0):5h (1):0h (2):0h (3):0h
- seznam stanic Slave zahrnutých do obvolávacího cyklu
(a)ddress mask:FFh - maskovaná část adresy MORSE se použije jako adresa
Modbus
(p)eriod:100ms - perioda pro obvolávání stanic Slave
(t)imeout:2000ms - max. doba čekání na odpověď
Parametry pro stanici Radioslave:
>>(S)lave
slave parameters:
Modbus (a)ddress:FFh
(r)epeat discard:0
d(e)vice type:PLC
(q)uit
>>
Modbus (a)ddress:FFh - adresa stanice Radioslave v síti Modbus, 01 až FF
(r)epeat discard:0 - počet repeatů od master PLC, které se zahodí, než se další
odešle do rádiové sítě. Používá se pro Master PLC, které
neumí počkat na odpověď.
d(e)vice type:PLC - volba mezi připojeným obecným PLC nebo technologickou
jednotkou SEP
Parametry pro režim Automaster:
>>(A)utomaster
Modbus automaster:
t(i)meout:0s
master mode after switching:
(c)ache:ON (p)acket:OFF (t)rans:OFF
(q)uit
>>
t(i)meout:0s - po této době klidu na RS485 převezme Slave ze zapnutým
parametrem (a)utomaster úlohu Mastera a pokračuje v režimu určeném
následujícími parametry (c)ache:ON (p)acket:OFF (t)rans:OFF.
Po obnovení aktivity původního Mastera se vrátí do úlohy Slave.
Parametry pro režim Cache:
>>(C)ache
cache parameters:
(c)ache table No:1
# ART dest: gw:
# nnnnffff hhhhllll
# No Fce high low addr
# BEWARE! IF YOU CHANGE CONTENT OF THE TABLE,
# YOU SHOULD RESTART (INIT) THIS PROTOCOL!
radioslave only:
net (r)x TO - Mirror:30s
adr o(f)fset:0 n(u)mber:0 net addresses
address. t(y)pe: MORSE
(s)imulator:OFF
radiomaster only:
net (t)x TO - mirror:30s
(e)rr. report:NONE err. (a)dr:0h err. (m)ask:0000h
(o)ld cache menu (since sw.630)
(q)uit
>>
(c)ache table No:1 - číslo tabulky Art, která definuje prostor pro cache
radioslave only:
net (r)x TO - Mirror:70s - timeout, po který RS čeká na zprávu od RM. Pokud
nepřijde, vyřadí jej Master PLC z obvolávacího cyklu.
adr o(f)fset:0 - adresový posun v cache (pokud adresy nezačínají od 1)
n(u)mber:0 - max. početSlave PLC
address. t(y)pe: MORSE - určuje, zda pozice v cache se určuje podle adresy MORSE
nebo Modbus
(s)imulator:OFF - pro servisní účely
radiomaster only:
net (t)x TO - mirror:30s - perioda hlášení do RS, pokud nenastala změna v cache
(e)rr. report: - zpráva pro RS o ztrátě komunikace na lince RS485
NONE - zpráva není podávána, pokračují hlášení v intervalu "SPe0tCt"
SILENT - při ztrátě komunikace na RS485 skončí i pravidelné hlášení v
intervalu "SPe0tCt"
DATMOLUX - speciální zákaznický režim
MASK - při ztrátě komunikace na RS485 je vysílána k Masterovi
dosavadní zpráva upravená tak, že na vybraný word (a) zprávy
jsou operací OR přidány stanovené bity (m)
err. (a)dr:0h -adresa wordu od počátku bloku cash paměti
err. (m)ask:0000h - word, který je přidán (OR) k vybranému wordu paměti cash
Parametry pro paketový režim:
>>(P)acket
packet parameters:
(A)RT table No.:0
(N)2H buffer:2000 (H)2N buffer:1000
Warning: Both addresses should be nonzero.
(q)uit
>>
(A)RT table No.:4 - volba Art tabulky pro převod adres MORSE na adr. Modbus
(N)2H buffer:2000 - Net to Host, to je MORSE Net do Modbusu
(H)2N buffer:1000 - Host to Net, to je Modbus do MORSE Net
- adresy v paměti, na kterých začíná příslušný buffer pro
ukládání dat posílaných Modbusem v paketovém režimu. Tyto adresy musí být
zvoleny shodně u všech účastníků sítě Modbus.
Pojem Net zde představuje navazující síť MORSE představovanou Radiomasterem, Host
je připojené PLC Slave.
Parametry pro transparentní režim:
>>T
transparent parameters:
CRC (a)uto:OFF
check (f)unction:ON
check a(d)dress:ON
check (C)RC:ON
(q)uit
>>
CRC (a)uto:OFF - pouze pro testování, RM doplní CRC k paketu přijatému od RS
check (f)unction:ON - kontrola, zda číslo funkce je jednou z funkcí Modbus
check a(d)dress:ON - pro RM, kontrola, zda adresa je obsažena v "SPe0tM0,1,2,3"
check (C)RC:ON - kontrola správnosti CRC v paketu Modbus
Parametry v servisním menu:
>>(s)ervices
Modbus services:
(t)ime sync:ON (m)ode:SENDER (p)eriod:10s
time (a)ddr:3000h time sync (b)it:0000h
(d)ebug addr:69000011h
radiomaster only:
(w)dog bit:0000h wd(o)g addr:0000h wdog p(e)riod:0s
(q)uit
>>
(t)ime sync:ON - zapnutí funkce přenosu časového údaje mezi Masterem
a Slavem definovaným ve "slave addresses (0)"
(m)ode:SENDER - Radiomaster nebo Radioslave může být zvolen jako SENDER
(vysílá čas) nebo RECEIVER (přijímá)
(p)eriod:10s - perioda předávání časového údaje se definuje
pouze v Radiomasterovi
time (a)ddress :3000h - adresa pro ukládání času, Master i Slave
time sync (b)it:0000h - zákaznická funkce
(d)ebug address:69000011h - adresa pro ladicí účely; všechny user pakety,
které přišly do CU, se odesílají na tuto adresu, ke které je připojen
např. Setr nebo async.linka, vložení nenulové hodnoty změní chování CU
z DTE na DCE (v režimu Packet začne zapisovat do (N)2H bufferu)
(w)dog bit:0000h - periodicky zapisované slovo do "slave addresses (0)"
wd(o)g address:0000h - adresa zápisu do Holding Registers ve Slave (0)
wdog p(e)riod:0s - perioda zápisu
Parametry pro watchdog se vkládají pouze do Radiomastera, poskytují pro
PLC Slave možnost kontroly, zda trvá spojení s Radiomasterem.
5. HISTORIE
Tento popis platí pro verzi sw 657 ze 4.3.2004.
Cache menu pro verze do sw 630 je obsaženo v "SPe0tCo".
Menu pro verze do sw 574 je v "SPe0tO".
Popis pro sw 574 (20.5.2002) s podrobnějším výkladem a s příklady paketového režimu
je v článku "MODBUS 574".