Tento dokument popisuje protokol DB-Net® firmy AMiT® s.r.o.
Copyright © 2000, AMiT ® s.r.o. Chlumova 17, 130 00 PRAHA 3, Česká republika
tel.: +420 2 2278 1516, +420 2 2278 2074, +420 2 2278 0100
fax: +420 2 2278 2297
E-mail: amit@amit.cz
Kollárova 6a, 612 00 BRNO, Česká republika
tel.: +420 5 4121 7220, +420 5 4921 0403
fax.: +420 5 4921 0403
E-mail: amitbo@amit.cz
Starobělská 13, 700 30 OSTRAVA, Česká republika
tel.: +420 69 6708 300
fax.: +420 69 6708 300
E-mail: amitova@amit.cz
WWW: http://www.amit.cz
Veškerá práva vyhrazena. Tento dokument může být kopírován a rozšiřován za následujících podmínek:
AMiT je registrovaná ochranná známka. V publikaci použité názvy produktů, firem apod. mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků
Db-Net je asynchronní síťový komunikační protokol implementovaný na lince RS485 (spojení více stanic do sítě) nebo na lince RS232 (spojení typu bod-bod) resp. RS422.
Protokol je obecně síťový, tj. umožňuje spojit více stanic navzájem do sítě.
Použitá topologie vychází z definice linky RS485, tedy jde topologii typu sběrnice (BUS).
Linka RS232 (RS422) je v tomto uspořádání považována jenom za speciální případ sítě tvořené dvěma stanicemi.
Přenos dat probíhá metodou žádost-odpověď (REQUEST-ANSWER).
Tedy stanice s oprávněním vysílat vyšle rámec s požadavkem a očekává odpověď od protistanice. Kterákoliv stanice jež právě nemá token (viz dále) může kdykoliv obdržet žádost, kterou musí zpracovat a vyslat neprodleně odpověď.
Přístup stanic na sběrnici je řízen metodou předávání tokenu v logickém kruhu (TOKEN-RING), protokol je tzv. multimaster-multislave.
Tedy jednotlivé stanice si mezi sebou předávají token. Stanice která má token může začít vysílat žádost na přenos dat - stává se master (řídí celou síť). Po zpracování svých komunikačních požadavků předá token dál - stane se slave (pouze odpovídá na žádosti).
Zjednodušený schematický příklad řízení TOKEN-RING a přenosu datREQUEST-ANSWER
Rámec | Token | Žádost | Odpověď | Žádost | Odpověď | Token | Token | Žádost | Odpověď | Token |
pro st. 1 | pro st. 0 | od st. 0 | pro st. 2 | od st. 2 | pro st. 2 | pro st. 0 | pro st. 2 | od st. 2 | pro st. 1 | |
Master je | stanice 0 | stanice 1 | stanice 2 | stanice 0 |
Formát jednoho znaku je : 8 bitů, sudá parita, 1 stop bit.
Komunikační rychlost je volitelná ze čtyř rychlostí : 9 600, 19 200, 38 400 a 57 600 Bd.
Každá stanice má číslo (je jednoznačně určena číslem) v rozsahu 0÷31. Na jedné síti stanic musí být zabezpečeno jednoznačné očíslování připojených stanic.
Jsou definovány tři druhy časů:
Rychlost (Bd) | T syn (ms) |
9 600 | 3,438 |
19 200 | 1,719 |
38 400 | 0,859 |
57 600 | 0,573 |
Každý rámec začíná klidem na lince po dobu T syn , tzn, že rámce jsou od sebe odděleny zmíněným klidem v trvání T syn . Jakákoliv
mezera mezi znaky delší jak T syn způsobí, že stanice tuto mezeru chápe jako začátek nového rámce a předchozí přijímaný obsah zpracuje.
Protokol definuje tři typy rámců:
+ | + | + | ||||
T syn | 0x10 | DA | SA | FCB | FCS | 0x16 |
Slouží k výzvě nebo potvrzení bez dat (výzva ke zjištění stavu jiné stanice, potvrzení zápisu dat).
+ | + | + | +... | ...+ | |||||||
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | FCB | ...DATA... | FCS | 0x16 |
Slouží k přenosu dat a má proměnlivou délku.
T syn | 0xDC | DA | SA |
Slouží k předávání tokenu.
Jednotlivé části znamenají:
D7 | D6 | D5÷D4 | D3÷D0 | |
Rámec výzvy | 0 | 1 | 00 | Typ žádosti: 0101 - (5) žádost o zápis dat 1001 - (9) dotaz na stav stanice 1101 - (13) žádost o čtení dat 1110 - (14) žádost o čtení identifikace |
Rámec odpovědi | 0 | 0 | Stav stanice: 00 - (0) pasivní 01 - (1) aktivní, nepřipravená 10 - (2) aktivní, připravená 11 - (3) aktivní, má token | Stav odpovědi: 0000 - (0) OK 0001 - (1) chyba přenosu 0010 - (2) špatné parametry 0011 - (3) špatná funkce 1000 - (8) OK - odpověď od aplikace |
Délka dlouhého rámce je přenášena jedním znakem, maximální hodnota tedy může být 255. DA, SA a FCB z toho zabírají 3 znaky. V nejhorším případě (viz dále) je potřeba dalších 12 znaků pro další specifikaci dat, takže na vlastní přenášené hodnoty zbývá 255-3-12=240 znaků. Pro zjednodušení implementace protokolu Db-Net definuje maximální délku přenášených dat na jeden rámec na 240 znaků.
Po odeslání žádosti čeká master na odpověď od slave maximálně dobu T sl . Pokud odpověď nepřijde, považuje se adresovaný slave za nepřipojený. V některých případech se však žádost ještě jednou opakuje (viz dále).
Pozn:
Pole DA a SA se týkají vždy konkrétního rámce. V rámci žádosti je DA dotazovaný slave a SA master,v rámci odpovědi je to naopak: DA je master a SA je dotazovaný slave.
Následuje popis možných výměn dat typu výzva-odpověď:
Tento druh výměny dat probíhá pouze a jenom na úrovni síťové vrstvy a slouží aktivní stanici pro udržování Lifelistu (viz dále).
T syn | 0x10 | DA | SA | 0x4 9 | FCS | 0x16 |
Odpověď - krátký rámec. Odpovídající (slave) typicky nastavuje typ odpovědi0, ale master musí umět zpracovat všechny typy odpovědi.
T syn | 0x10 | DA | SA | 00 SS xxxx b | FCS | 0x16 |
Tento druh výměny dat je výjimečný v tom, že žádost je tvořena krátkým rámce a odpověď rámcem dlouhým. Kromě toho žádost o čtení systémové identifikace zpracovává přímo síťová vrstva bez jakékoliv interakce s aplikací.
T syn | 0x10 | DA | SA | 0x4 E | FCS | 0x16 |
Odpověď - dlouhý rámec, typ odpovědi 8. V datové části je 3x32 znaků textově systémová identifikace.
T syn | 0x68 | 0x63 | 0x63 | 0x68 | DA | SA | 00ss 1000 b | 32 znaků ID0 | 32 znaků ID1 |
32 znaků ID2 | FCS | 0x16 |
Typ žádosti v FCB je 13. První znak v DATA žádosti je číslo funkce.
Typ odpovědi v FCB je 8. První znak v DATA odpovědi je číslo funkce zvětšené o 128.
T syn | 0x68 | 0x04 | 0x04 | 0x68 | DA | SA | 0x4D | 0x00 | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 128 a 3x32 znaků textově aplikační identifikace.
T syn | 0x68 | 0x64 | 0x64 | 0x68 | DA | SA | 00ss 1000 b | 0x80 | 32 znaků ID0 | 32 znaků ID1 | 32 znaků ID2 | FCS | 0x16 |
Typ žádosti v FCB je 13. První znak v DATA žádosti je číslo funkce. Následující znak určuje typ čtených dat - rozlišuje se datový typ (integer, long, float) a logický typ (jednoduchá proměnná, jeden prvek matice, výřez matice).
Typ odpovědi v FCB je 8. První znak v DATA odpovědi je číslo funkce zvětšené o 128.
Každá proměnná je určená svojím 16-ti bitovým číslem - WID em. U maticových proměnných se dále udává číslo řádku Row a číslo sloupce Col a oba se indexují od 0. Výřezem matice se rozumí čtvercová souvislá oblast matice začínající na určeném řádku Row a sloupci Col obsahující určený počet řádků nRw a sloupců nCl . Při přenosu výřezu se hodnoty přenáší od nižších řádků (sloupců) k vyšším řádkům (sloupcům) a přenáší se po řádcích.
Datový typ integer je celočíselná 16-ti bitová hodnota a přenáší se na 2 znacích. Datový typ long je celočíselná 32-bitová hodnota a přenáší se na 4 znacích. Datový typ float je desetinná hodnota ve formátu IEEE na 32-bitech a přenáší se na 4 znacích.
T syn | 0x68 | 0x07 | 0x07 | 0x68 | DA | SA | 0x4D | 0x01 | 0x00 | 2 znaky WID | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a čtená hodnota na 2 znacích.
T syn | 0x68 | 0x06 | 0x06 | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 2 znaky hodnota integer | FCS | 0x16 |
T syn | 0x68 | 0x07 | 0x07 | 0x68 | DA | SA | 0x4D | 0x01 | 0x01 | 2 znaky WID | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a čtená hodnota na 4 znacích.
T syn | 0x68 | 0x08 | 0x08 | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 4 znaky hodnota long | FCS | 0x16 |
T syn | 0x68 | 0x07 | 0x07 | 0x68 | DA | SA | 0x4D | 0x01 | 0x02 | 2 znaky WID | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a čtená hodnota na 4 znacích.
T syn | 0x68 | 0x08 | 0x08 | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 4 znaky hodnota float | FCS | 0x16 |
T syn | 0x68 | 0x0B | 0x0B | 0x68 | DA | SA | 0x4D | 0x01 | 0x10 | 2 znaky WID | 2 znaky Row | 2 znaky Col | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a čtená hodnota na 2 znacích.
T syn | 0x68 | 0x06 | 0x06 | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 2 znaky hodnota integer | FCS | 0x16 |
T syn | 0x68 | 0x0B | 0x0B | 0x68 | DA | SA | 0x4D | 0x01 | 0x11 | 2 znaky WID | 2 znaky Row | 2 znaky Col | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a čtená hodnota na 4 znacích.
T syn | 0x68 | 0x08 | 0x08 | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 4 znaky hodnota long | FCS | 0x16 |
T syn | 0x68 | 0x0B | 0x0B | 0x68 | DA | SA | 0x4D | 0x01 | 0x12 | 2 znaky WID | 2 znaky Row | 2 znaky Col | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a čtená hodnota na 4 znacích.
T syn | 0x68 | 0x08 | 0x08 | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 4 znaky hodnota float | FCS | 0x16 |
T syn | 0x68 | 0x0F | 0x0F | 0x68 | DA | SA | 0x4D | 0x01 | 0x20 | 2 znaky WID |
2 znaky Row | 2 znaky Col | 2 znaky nRw | 2 znaky nCl | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a (počet řádků x počet sloupců) hodnot každá na 2 znacích.
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 2 x nRw x nCl znaků nRw x nCl hodnot integer | FCS | 0x16 |
T syn | 0x68 | 0x0F | 0x0F | 0x68 | DA | SA | 0x4D | 0x01 | 0x21 | 2 znaky WID | 2 znaky Row | 2 znaky Col | 2 znaky nRw | 2 znaky nCl | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a (počet řádků x počet sloupců)hodnot, každá na 4 znacích.
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 4 x nRw x nCl znaků nRw x nCl hodnot long | FCS | 0x16 |
T syn | 0x68 | 0x0F | 0x0F | 0x68 | DA | SA | 0x4D | 0x01 | 0x22 | 2 znaky WID | 2 znaky Row | 2 znaky Col | 2 znaky nRw | 2 znaky nCl | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 129 a (počet řádků x počet sloupců)hodnot, každá na 4 znacích.
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 00ss 1000 b | 0x81 | 4 x nRw x nCl znaků nRw x nCl hodnot float | FCS | 0x16 |
Typ žádosti v FCB je 5. První znak v DATA žádosti je číslo funkce. Následující znak určuje typ čtených dat - rozlišuje se datový typ (integer, long, float) a logický typ (jednoduchá proměnná, jeden prvek matice, výřez matice). Dále následují případné další údaje a nakonec DATA obsahují zapisovanou hodnotu.
Odpověď je vždy krátký rámec, typ odpovědi v FCB je 0.
Každá proměnná je určená svojím 16-ti bitovým číslem - WID em. U maticových proměnných se dále udává číslo řádku Row a číslo sloupce Col a oba se indexují od 0. Výřezem matice se rozumí čtvercová souvislá oblast matice začínající na určeném řádku Row a sloupci Col obsahující určený počet řádků nRw a sloupců nCl . Při přenosu výřezu se hodnoty přenáší od nižších řádků (sloupců) k vyšším řádkům (sloupcům) a přenáší se po řádcích.
Datový typ integer je celočíselná 16-ti bitová hodnota a přenáší se na 2 znacích. Datový typ long je celočíselná 32-bitová hodnota a přenáší se na 4 znacích. Datový typ float je desetinná hodnota ve formátu IEEE na 32-bitech a přenáší se na 4 znacích.
T syn | 0x68 | 0x09 | 0x09 | 0x68 | DA | SA | 0x45 | 0x02 | 0x00 | 2 znaky WID | 2 znaky hodnota integer | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
T syn | 0x68 | 0x0B | 0x0B | 0x68 | DA | SA | 0x45 | 0x02 | 0x01 | 2 znaky WID | 4 znaky hodnota long | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
T syn | 0x68 | 0x0B | 0x0B | 0x68 | DA | SA | 0x45 | 0x02 | 0x02 | 2 znaky WID | 4 znaky hodnota float | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
T syn | 0x68 | 0x0D | 0x0D | 0x68 | DA | SA | 0x45 | 0x02 | 0x10 | 2 znaky WID | 2 znaky Row | 2 znaky Col |
2 znaky hodnota integer | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
T syn | 0x68 | 0x0F | 0x0F | 0x68 | DA | SA | 0x45 | 0x02 | 0x11 | 2 znaky WID | 2 znaky Row | 2 znaky Col | 4 znaky hodnota long | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
T syn | 0x68 | 0x0F | 0x0F | 0x68 | DA | SA | 0x45 | 0x02 | 0x12 | 2 znaky WID | 2 znaky Row | 2 znaky Col | 4 znaky hodnota float | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 0x45 | 0x02 | 0x20 | 2 znaky WID | 2 znaky Row | 2 znaky Col | 2 znaky nRw | 2 znaky nCl | 2 x nRw x nCl znaků nRw x nCl hodnot integer | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 0x45 | 0x02 | 0x21 | 2 znaky WID | 2 znaky Row | 2 znaky Col | 2 znaky nRw | 2 znaky nCl | 4 x nRw x nCl znaků nRw x nCl hodnot integer | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 0x45 | 0x02 | 0x22 | 2 znaky WID | 2 znaky Row | 2 znaky Col | 2 znaky nRw | 2 znaky nCl | 4 x nRw x nCl znaků nRw x nCl hodnot integer | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
Typ žádosti v FCB je 13. První znak v DATA žádosti je číslo funkce. Následuje určení segmentu Segment a ofsetu Offset adresy, ze které se má číst a požadovaný počet čtených bajtů Count .
Typ odpovědi v FCB je 8. První znak v DATA odpovědi je číslo funkce zvětšené o 128.
Hodnoty se přenáší od nižších adres k vyšším adresám.
T syn | 0x68 | 0x0A | 0x0A | 0x68 | DA | SA | 0x4D | 0x03 | 2 znaky Offset | 2 znaky Segment | 2 znaky Count | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 131 a Count znaků přečtených dat.
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 00ss 1000 b | 0x83 | Count znaků čtený blok dat | FCS | 0x16 |
Typ žádosti v FCB je 5. První znak v DATA žádosti je číslo funkce. Následuje určení segmentu Segment a ofsetu Offset , kam se má zapsat a požadovaný počet zapisovaných bajtů Count . Nakonec DATA obsahují zapisovaný blok paměti.
Odpověď je vždy krátký rámec, typ odpovědi v FCB je 0.
Hodnoty se přenáší od nižších adres k vyšším adresám.
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 0x45 | 0x04 | 2 znaky Offset | 2 znaky Segment | 2 znaky Count | Count znaků zapisovaný blok dat | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
Typ žádosti v FCB je 13. První znak v DATA žádosti je číslo funkce. Následuje určení adresy portu Port , ze které se má číst a požadovaný počet čtených bajtů Count .
Typ odpovědi v FCB je 8. První znak v DATA odpovědi je číslo funkce zvětšené o 128.
Hodnoty se přenáší od nižších adres k vyšším adresám.
T syn | 0x68 | 0x08 | 0x08 | 0x68 | DA | SA | 0x4D | 0x05 | 2 znaky Port | 2 znaky Count | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 133 a Count znaků přečtených dat.
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 00ss 1000 b | 0x85 | Count znaků čtený blok dat | FCS | 0x16 |
Typ žádosti v FCB je 5. První znak v DATA žádosti je číslo funkce. Následuje určení adresy portu Port , kam se má zapsat a požadovaný počet zapisovaných bajtů Count . Nakonec DATA obsahují zapisovaný blok paměti.
Odpověď je vždy krátký rámec, typ odpovědi v FCB je 0.
Hodnoty se přenáší od nižších adres k vyšším adresám.
T syn | 0x68 | LEN | LEN | 0x68 | DA | SA | 0x45 | 0x06 | 2 znaky Port | 2 znaky Count | Count znaků zapisovaný blok dat | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
Typ žádosti v FCB je 5. První znak v DATA žádosti je číslo funkce. Následuje zapisované datum a čas v Db-Net formátu.
Odpověď je vždy krátký rámec, typ odpovědi v FCB je 0.
Datum a čas v Db-Net formátu se udržuje jako jedna hodnota a sice jako počet sekund od 1.1.1980 0:00:00 (půlnoci). Ukládá se jako 32-bitová beznaménková hodnota, tzn. maximální datum a čas, jež jde vyjádřit, je 7.2.2116 6:28:15.
T syn | 0x68 | 0x08 | 0x08 | 0x68 | DA | SA | 0x45 | 0x07 | 4 znaky zapisované datum a čas | FCS | 0x16 |
Odpověď - krátký rámec.
T syn | 0x10 | DA | SA | 00ss 0000 b | FCS | 0x16 |
Typ žádosti v FCB je 13. První znak v DATA žádosti je číslo funkce.
Typ odpovědi v FCB je 8. První znak v DATA odpovědi je číslo funkce zvětšené o 128.
Datum a čas v Db-Net formátu se udržuje jako jedna hodnota a sice jako počet sekund od 1.1.1980 0:00:00 (půlnoci). Ukládá se jako 32-bitová beznaménková hodnota, tzn. že maximální datum a čas, jež jde vyjádřit, je 7.2.2116 6:28:15.
T syn | 0x68 | 0x04 | 0x04 | 0x68 | DA | SA | 0x4D | 0x08 | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 136 a 4 znaky přečteného data a času.
T syn | 0x68 | 0x08 | 0x08 | 0x68 | DA | SA | 00ss 1000 b | 0x88 | 4 znaky čtené datum a čas | FCS | 0x16 |
Pomocí rámců pro čtení paměti jsou implementovány některé další funkce.
Funkce je implementováno od verze NOS 3.18 včetně.
Žádost je standardní žádost na čtení paměti.
Proměnnou jejíž informace se čtou lze zadat buď WIDem (pole Segment je 0xFFFE, pole Offset obsahuje WID) nebo pořadovým číslem (pole Segment je 0xFFFD, pole Offset obsahuje pořadové číslo proměnné v databázi, indexováno od 0). Čte se 26 bajtů.
Odpověď je standardní odpověď na čtení paměti, kdy přečtená data obsahují informace o proměnné ve formátu:
T syn | 0x68 | 0x0A | 0x0A | 0x68 | DA | SA | 0x4D | 0x03 | 2 znaky WID | 2 znaky 0xFFFE |
2 znaky 26 | FCS | 0x16 |
Žádost podle pořadového čísla - dlouhý rámec, funkce 3, segment 0xFFFD, délka čtených dat 26.
T syn | 0x68 | 0x0A | 0x0A | 0x68 | DA | SA | 0x4D | 0x03 | 2 znaky Index | 2 znaky 0xFFFD | 2 znaky 26 | FCS | 0x16 |
Odpověď - dlouhý rámec, funkce 131 a 26 znaků přečtených dat.
T syn | 0x68 | 0x1E | 0x1E | 0x68 | DA | SA | 00ss 1000 b | 0x83 | 2 znaky Ver | 1 znak Type | 1 znak Station | 2 znaky Rows |
2 znaky Cols | 2 znaky WID | 2 znaky Index | 14 znaků Name | FCS | 0x16 |
Pokud je v žádosti zadán neexistující WID nebo příliš vysoké pořadové číslo proměnné, stanice odpoví krátkým rámcem s FCB s chybou 2 - špatné parametry.
Pokud je služba použita s verzi NOS nižší než 3.18, je vráceno 26 bajtů s náhodným obsahem.
Pasivní stanice je taková stanice na síti Db-Net, která nikdy nemůže být masterem, tj. nikdy nepřijme token a nikdy neřídí provoz na síti.
Pasivní stanice pouze poslouchá provoz na síti a jestliže rozpozná rámec žádosti pro sebe, neprodleně odpoví.
Minimální požadavky na pasivní stanici jsou:
Pokud stanice nepotřebuje sama od sebe číst nebo zapisovat data z/do jiné stanice, je nanejvýš vhodné aby byla pasivní. Aktivní stanice i když nepřenáší žádná data, obecně snižuje šířku použitelného pásma pro přenos dat.
Aktivní stanice je taková stanice na síti Db-Net, která může být master, tj. přijímá a odevzdává token a účastní se řízení provozu sítě (jak bude popsáno dále).
Pro další popis budeme pod pojmem "cizí" stanice rozumět jakoukoliv jinou stanici připojenou na síť DB-Net.
Lifelist je tabulka, ve které se aktivní stanice udržuje přehled o aktuálních stavech všech možných stanic na síti (tedy o stanicích 0÷31), včetně sebe sama. Kromě stavů posílaných v FCB (pasivní, aktivní nepřipravená, aktivní připravená, aktivní zapojená) se do Lifelistu ukládá i stav "odpojená", který znamená, že stanice daného čísla není k síti připojena (neodpovídá).
Při práci se s Lifelistem pracuje cyklicky, tj. při dosažení jeho konce (čísla 31) se přechází zpět na začátek (číslo 0).
Průběh komunikace za normálního provozu (stanice je aktivní zapojená) probíhá následovně:
Je-li na síti jediná aktivní stanice, probíhá normální provoz stejně jako v předchozím bodě. Pouze při předávání tokenu, pokud stanice zjistí, že existuje sama aktivní na síti, reaguje odlišně:
Aktivní stanice při své inicializaci a připojování na síť nejprve "poslouchá" provoz na síti. Podle následujícího popisu se chová jestliže:
Podle stejného popisu se taktéž chová stanice jestliže:
V takovém případě stanice převezme řízení sítě sama.
Aktivní stanice při své inicializaci a připojování na síť nejprve "poslouchá" provoz na síti.
Chybami v normálním provozu rozumíme okamžik, kdy aktivní stanice je ve fázi vyřizování svých požadavků a místo očekávané odpovědi přijde jiný rámec bez chyby - tedy přijde rámec s platným FCS, DA, SA i ostatními poli, ale není to očekávaná odpověď. Může jít o:
V těchto případech stanice označí svoji probíhající žádost za ukončenou s chybou a okamžitě přejde do stavu 1 normálního přenosu - tedy bude čekat, až ji přijde další regulární token.
Pokud přijde:
pak stanice označí svoji probíhající žádost za ukončenou s chybou, sestaví odpověď a odešle ji, a okamžitě přejde do stavu 1 normálního provozu - tedy bude čekat, až ji přijde další regulární token.
Konečně pokud přijde:
tak stanice označí svoji probíhající žádost za ukončenou s chybou a přejde ihned do bodu 2 normálního provozu - tedy začne dále zpracovávat svoje požadavky na výměnu dat.
Pokud kdykoliv stanice zjistí, že v platném rámci výzvy nebo odpovědi je odesílatel (pole SA) shodné s jejím číslem (tedy na síti jsou připojeny dvě stanice stejného čísla) přejde neprodleně do stavu "poslechu sítě" podle odstavce "zapojení aktivní stanice".
Ve většině případů to bude mít za následek, že druhá ze stanic stejného čísla se k síti nikdy nepřipojí, což je jediné správné řešení.
Dokument : DBNet101.htm - validita html
Verze dokumentu : 1.01 - 1.02
Autor : D.Křivský - Jaroslav Valter
Datum vytvoření : 12.6.2000 - 16.12.2007
Datum revize : Revize 1.9.2000