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