Ovladač pro komunikaci Modbus (modul MbDrv řídicího systému REX) Uživatelská příručka



Podobné dokumenty
Uživatelská příručka

Ovladač pro komunikaci s PLC Siemens (modul S7Drv řídicího systému REX) Uživatelská příručka

Ovladač pro bezdrátové snímače začleněné do řízení v realném čase (modul VMonDrv) Uživatelská příručka

Ovladač HlsDrv systému REX Uživatelská příručka

Ovladač DbDrv systému REX Uživatelská příručka

Uživatelská příručka

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Uživatelská příručka

UŽIVATELSKÝ MANUÁL. pro 485COM FW 2.x (MODBUS)

OPC server systému REXYGEN. Uživatelská příručka

Komunikační protokol MODBUS RTU v displejích TDS

Program GazSMS návod k použití

Ovladač NidDrv systému REX pro DAQ nástroje firmy National Instruments. Uživatelská příručka

Vložení expiračního kódu do spojů ALCOMA

Vložení expiračního kódu do spojů ALCOMA

Komunikační protokol MODBUS RTU v displejích TDS

APS Administrator.GS

OPC server pro RWP80. MC Control s.r.o. 20. února 2007

Uživatelský modul. DF1 Ethernet

Uživatelská příručka

4.2. Odhlásit se Šifrování hesla Sepnutí výstupních relé Antipassback Zobrazení všech dat...

Program GazSMS návod k použití

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

SEMESTRÁLNÍ PROJEKT Y38PRO

Popis programu EnicomD

Program pro tvorbu technických výpočtů. VIKLAN - Výpočty. Uživatelská příručka. pro seznámení se základními možnostmi programu. Ing.

MIDAM Verze 1.1. Hlavní okno :

Zpravodaj. Uživatelská příručka. Verze

Reliance. Komunikační driver Johnson Controls verze 1.5.4

TMU. USB teploměr. teploměr s rozhraním USB. měření teplot od -55 C do +125 C. 26. května 2006 w w w. p a p o u c h. c o m

Jazz pro Účetní (export) Příručka uživatele

PROGRAMOVATELNÉ AUTOMATY FATEK

APS Control Panel. Ovládací panel systému APS mini Plus pro SW balík APS Administrator. Uživatelská příručka

QTREE-DUMX4 Vícekanálový multiplexer pro připojení měřidel Mitutoyo na USB port PC Uživatelská příručka. Řízení jakosti podle norem ISO 9000

Ing. Michal Martin. Spojení PLC CLICK s NA-9289

MIDAM Simulátor Verze 1.5

IPFW. Aplikace pro ovládání placeného připojení k Internetu. verze 1.1

Komunikační driver Sauter EY2400. Reliance. Komunikační driver SAUTER EY2400 verze 2.4.3

1. Úvod. 2. CryptoPlus jak začít. 2.1 HW a SW předpoklady. 2.2 Licenční ujednání a omezení. 2.3 Jazyková podpora. Požadavky na HW.

Ovladač CanDrv systému REX Uživatelská příručka

Návod k instalaci, provozu a údržbě brány MODBUS. Návod k instalaci, provozu a údržbě. Brána Modbus

NÁVOD NA INSTALACI KARTY PCTV DELUXE

Rozhraní Ethernet. KERN & Sohn GmbH Ziegelei 1 D Balingen info@kernsohn.com. Stránka 2. KMB-A01/ FTB-A09/ ITB-A17-IA-cz-0710

Registrátor teploty a vlhkosti vzduchu a ovlhčení listů

Uživatelský manuál. KNXgw232

Průvodce instalací modulu Offline VetShop verze 3.4

Komunikační protokol MODBUS RTU v senzoru vlhkosti a teploty THT

Aplikace. Hlásič SMS

B Series Waterproof Model. IP Kamera. Uživatelský manuál

POZOR!!! INSTALACE POD WINDOWS 200 / XP / VISTA PROBÍHÁ VE DVOU ETAPÁCH A JE NUTNÉ DOKON

P D S - 5 P. Psychologický diagnostický systém. Instalační manuál. Popis instalace a odinstalace programu Popis instalace USB driverů

plussystem Příručka k instalaci systému

Připojení systémů CNC 8x9 DUAL do sítí pomocí protokolu TCP/IP (Platí od verze panelu 40.31)

INSTALACE ČTEČKY ČIPOVÝCH KARET GEMALTO IDBRIDGE CT30 A K30

2.1.2 V následujícím dialogovém okně zvolte Instalovat ze seznamu či daného umístění. stiskněte tlačítko Další

BRICSCAD V15. Licencování

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze

FIREMNÍ CERTIFIKÁT V APLIKACI PŘÍMÝ KANÁL NÁVOD PRO KLIENTY

Modbus RTU v DA2RS. kompletní popis protokolu. 13. března 2018 w w w. p a p o u c h. c o m

Systém elektronické evidence návštěvnosti TDL500

BALISTICKÝ MĚŘICÍ SYSTÉM

Instalace programu ProGEO

Návod pro připojení telefonu Sony Ericsson P900 jako modem přes datový kabel a pro Windows 2000/XP

MBus Explorer MULTI. Uživatelský manuál V. 1.1

SB485. Převodník rozhraní USB na linku RS485 nebo RS422. s galvanickým oddělením. Převodník SB485. RS485 nebo RS422 USB. přepínače PWR TXD RXD

LAN adaptér. Návod k použití

OBSAH... 2 ÚVOD... 3 TYPY INSTALACE... 4

Dell UltraSharp U2518D/U2518DX/U2518DR Dell Display Manager Uživatelská příručka

APS Administrator.OP

Uživatelská příručka pro ředitele škol

APS Key.Reader. Program pro komunikaci s moduly systému APS Key. Uživatelská příručka

Semestrální projekt do předmětu SPS

Ovladač EtcDrv systému REXYGEN Uživatelská příručka

Motorola Phone Tools. Začínáme

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

PU054 Sweex 2 Port USB 2.0 & 2 Port FireWire PC Card. Na kartě Sweex 2 Port USB 2.0 & 2 Port FireWire PC Card naleznete následující připojení:

Komunikace MODBUS pro převodníky AIM600, AIM615. UINT16 Bezznaménkový celočíselný datový typ o velikosti 16bitů rozsah 0 až 65535

Jazz EDI GI Příručka uživatele

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

Konfigurace PPPoE připojení v OS Microsoft Windows 98, ME

Dell S2419H/S2419HN/S2419NX/ S2719H/S2719HN/S2719NX Dell Display Manager Uživatelská příručka

Reliance 3 design OBSAH

STRUč Ná Př íruč KA pro Windows Vista

ZMODO NVR KIT. Instalační příručka

Návod pro připojení telefonu Nokia 6230 přes infračervený port pro Windows XP instalace programu PC Suite - GPRS

Velký křízovkářský slovník 4.0 (VKS) Instalace programu

GTS internet DSL. Návod nastavení modemu a spuštění služby. (platné pro Zyxel Prestige 870HN-53b)

OBSAH ÚVOD... 3 PŘIPOJENÍ SÍŤOVÉHO MODULU... 3 INSTALACE SÍŤOVÉHO MODULU... 3 PŘÍKLADY SÍŤOVÉHO PŘIPOJENÍ... 6 ZMĚNA IP ADRESY...

KP KP KP DIAGNOSTIKA KOTLŮ KP

NÁVOD NA INSTALACI KARTY PCTV USB2

Data Transfer Software

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

IFTER-EQU Instalační manuál

Svolávací systém Uživatelský manuál

PROPOJENÍ EASY-OPC SERVER A MICROSOFT EXCEL

NAPOJENÍ ZAŘÍZENÍ S KOMUNIKACÍ BELIMO MP-BUS NA SÍŤ AUTOMATŮ MICROPEL

GTS internet DSL. Návod nastavení modemu a spuštění služby. (platné pro Zyxel Prestige VMG1312-B30B)

Plugin TIS pro SketchUp. Návod k použití

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Transkript:

www.rexcontrols.cz www.contlab.eu www.pidlab.com Ovladač pro komunikaci Modbus (modul MbDrv řídicího systému REX) Uživatelská příručka REX Controls s.r.o. Verze 2.10.7 (revize 2) Plzeň 18.9.2015

Obsah 1 Ovladač MbDrv a systém REX 2 1.1 Úvod....................................... 2 1.2 Požadavky na systém.............................. 2 1.3 Instalace ovladače............................... 3 1.4 Instalace ovladače na cílovém zařízení.................... 3 1.4.1 Zařízení s Windows........................... 3 1.4.2 Zařízení s Windows CE........................ 3 1.4.3 Zařízení s Linuxem........................... 3 2 Zařazení ovladače do projektu aplikace 5 2.1 Přidání ovladače MbDrv do projektu...................... 5 2.2 Připojení vstupů a výstupů do řídicího algoritmu.............. 7 3 Konfigurace ovladače 9 3.1 Konfigurační dialogové okno.......................... 9 3.1.1 Konfigurace globálních parametrů sériová linka.......... 9 3.1.2 Konfigurace globálních parametrů TCP/IP............ 11 3.1.3 Zobrazení zkonfigurovaných signálů.................. 11 3.1.4 Ovládací tlačítka............................ 12 3.1.5 Konfigurace vstupů a výstupů..................... 13 3.2 Speciální signály................................ 14 3.3 Konfigurace zařízení Slave........................... 15 4 Poznámky k implementaci 17 5 Co dělat při problémech 20 Literatura 22 1

Kapitola 1 Ovladač MbDrv a systém REX 1.1 Úvod V této příručce je popsáno používání ovladače MbDrv pro připojení technických prostředků využívajících protokol Modbus [1] k řídicímu systému REX pro Windows, Windows CE a Phar Lap ETS. Je podporována varianta RTU pro sériovou linku RS232 nebo RS485 a varianta pro TCP/IP. Ovladač byl vyvinut firmou REX Controls. Ovladač umožňuje získávat vstupy a nastavovat výstupy a to jak v režimu Master tak i Slave. MbDrv jsou ve skutečnosti čtyři ovladače pro režim Master po sériové lince, režim Slave po sériové lince, režim Master po TCP/IP, režim Slave po TCP/IP. Protože všechny tyto ovladače mají společné součásti, instalují se vždy všechny najednou. 1.2 Požadavky na systém Obecně lze říci, že pro použití ovladače MbDrv musí být dodrženy minimální požadavky nutné k provozování řídicího systému REX. Pro konfiguraci ovladače postačuje běžný počítač PC (případně v průmyslovém provedení). Pro provozování ovladače na cílovém zařízení zabere ovladač MbDrv ve variantě RTU jeden sériový port, který používá pro komunikaci se vzdáleným zařízením. Ve variantě TCP/IP je vyžadován TCP/IP stack (tj. obvykle ethernethová karta pro připojení do LAN popř. modem, WiFi a pod.) Aby bylo možno ovladač využívat, musí být na vývojovém (konfiguračním) počítači a na cílovém zařízení (počítači) nainstalováno programové vybavení: Vývojový počítač Operační systém jeden ze systémů: Windows 2000, XP, Vista nebo 7 Řídicí systém REX verze pro operační systémy Windows Cílové zařízení 2

Řídicí systém REX verze pro zvolené cílové zařízení s jedním z podporovaných operačních systémů: Windows 2000/XP/Vista/7, Windows CE, Phar Lap ETS nebo linux V případě, že vývojový počítač je přímo cílovým zařízením (řídicí systém REX bude provozován v jedné z variant Windows), instaluje se pouze jedna kopie řídicího systému REX. 1.3 Instalace ovladače Ovladač MbDrv se instaluje jako součást instalace řídicího systému REX. Pro nainstalování ovladače je nutné v instalačním programu systému REX zaškrtnout volbu Ovladač protokolu Modbus Master i Slave. Po typické instalaci se řídicí systém REX nainstaluje do cílového adresáře C:\Program Files\REX Controls\REX_<version>, kde <version> označuje verzi systému REX. Po úspěšné instalaci se do cílového adresáře zkopírují soubory: MbDrv_H.dll Konfigurační část ovladače MbDrv. MbDrv_T.dll Cílová část ovladače MbDrv spouštěná exekutivou RexCore. Tato verze se používá pokud na cílovém zařízení běží operační systém Windows 2000/XP/Vista/7. Pro jinou cílovou platformu je na ni třeba nainstalovat příslušnou verzi systému REX. DOC\CZECH\MbDrv_CZ.pdf Tato uživatelská příručka. 1.4 Instalace ovladače na cílovém zařízení 1.4.1 Zařízení s Windows Část ovladače pro cílové zařízení, která se používá pro běh REX Modbus Master nebo Slave na Windows XP, Vista, 7 nebo 8, je součástí instalace Vývojových nástrojů řídicího systému REX, který již byl zmíněn výše. 1.4.2 Zařízení s Windows CE Část ovladače pro cílové zařízení, která se používá pro běh REX Modbus Master nebo Slave na zařízeních s Windows CE je součástí instalačního balíčku (soubor.cab) runtime jádra systému REX. 1.4.3 Zařízení s Linuxem Pokud na cílovém zařízení dosud není instalováno runtime jádro RexCore systému REX, nejdříve jej nainstalujte podle návodu v příručce Začínáme se systémem REX [2]. 3

Pro umožnění komunikace Modbus v řídicím systému REX je potřeba nainstalovat ovladač. To se provede z příkazové řádky pomocí příkazu Debian: sudo apt-get install rex-mbdrvt OpenWrt: opkg install rex-mbdrvt 4

Kapitola 2 Zařazení ovladače do projektu aplikace Zařazení ovladače do projektu aplikace spočívá v přidání ovladače do hlavního souboru projektu a z připojení vstupů a výstupů ovladače v řídicích algoritmech. 2.1 Přidání ovladače MbDrv do projektu Přidání ovladače MbDrv do hlavního souboru projektu je znázorněno na obr. 2.1. Obrázek znázorňuje přidání ovladače v roli Master po sériové lince. Přidání ovladače v jiné roli má jen jiné jméno třídy (viz dále). Modules Drivers Archives prev next MbDrv prev next MBM prev next SimDrv prev next SIM QTask Level0 Level1 prev Task1 next prev Task2 next Level2 Level3 EXEC Obrázek 2.1: Příklad zařazení ovladače MbDrv do projektu aplikace Pro zařazení ovladače do projektu slouží dva zvýrazněné bloky. Nejprve je na výstup Modules bloku exekutivy EXEC připojen blok typu MODULE s názvem MbDrv, který nemá žádné další parametry. 5

Druhý blok MBM typu IODRV, připojený na výstup Drivers exekutivy má dva parametry: classname jméno třídy ovladače, které se pro tento ovladač zadává: MbmDrv pro režim Master po sériové lince MbsDrv pro režim Slave po sériové lince MtmDrv pro režim Master po TCP/IP MtsDrv pro režim Slave po TCP/IP POZOR! Jméno rozlišuje velká a malá písmena! cfgname jméno konfiguračního souboru ovladače. Vytváření konfiguračního souboru je popsáno v kapitole 3. Doporučeno je zadávat jej ve tvaru <jméno_třídy>.rio, kde přípona.rio (Rex Input Output) byla zavedena pro tento účel. Jménem tohoto bloku, na obr. 2.1 zadaným jako MBM, začínají názvy všech vstupních a výstupních signálů připojených k tomuto ovladači. Právě popsané parametry bloku IODRV se konfigurují v programu RexDraw v dialogovém okně, jak je patrno z obr. 2.2 a). Konfigurační dialog ovladače MbDrv, popsaný v kapitole 3, se aktivuje po stisku tlačítka Special Edit. a) b) Obrázek 2.2: Konfigurace parametrů ovladače V programovém systému Matlab Simulink se parametry bloku IODRV zadávají v parametrickém dialogu znázorněném na obrázku 2.2 b). Poslední parametr slouží k volání konfiguračního dialogu ovladače přímo z prostředí programu Matlab Simulink. Pokud při editaci parametrů je invertováno zaškrtnutí tohoto parametru, bude po stisku tlačítek OK nebo Apply zavolán konfigurační dialog ovladače MbDrv, popsaný v kap. 3. 6

2.2 Připojení vstupů a výstupů do řídicího algoritmu Vstupy a výstupy z ovladačů se připojují do souborů s příponou.mdl jednotlivých úloh. V hlavním souboru projektu jsou soubory úloh uvedeny pouze odkazem v blocích typu QTASK nebo TASK připojovaných na výstupy QTask, Level0,..., Level3 exekutivy. Pro připojení vstupů a výstupů z ovladače MbDrv do řídicího systému REX lze použít bloky, znázorněné na obr. 2.3. [MTM IN] val0 val1 val2 val3 MTM INQUAD val0 val1 val2 val3 MTM OUTQUAD val0 val1 val2 val3 val4 val5 val6 val7 val0 val1 val2 val3 val4 val5 val6 val7 MTM INOCT MTM OUTOCT [MTM OUT] val0 val1 val2 val3 val4 val5 val6 val7 val8 val9 val10 val11 val12 val13 val14 val15 val0 val1 val2 val3 val4 val5 val6 val7 val8 val9 val10 val11 val12 val13 val14 val15 MTM INHEXD MTM OUTHEXD Obrázek 2.3: Příklady použití vstupně-výstupních bloků s ovladačem MbDrv Blok typu From sloužící pro připojení jednoho vstupu má parametr Goto tag roven MBM IN, blok typu Goto používaný pro připojení jednoho výstupu má hodnotu parametru Tag (v programu RexDraw parametru GotoTag) rovnu MBM OUT. Ostatní bloky mají přímo na začátku svého jména prefix MBM následovaný dvěma znaky _ (podtržítko). Přesněji řečeno, daný vstupně výstupní blok je považován systémem REX za blok připojený k ovladači MbDrv, pokud jeho jméno (či, v případě bloků typu From a Goto, parametry Goto tag a Tag) začíná jménem bloku typu IODRV popisujícího daný ovladač (na obr. 2.1 to byl právě blok MBM). Začátek jména vstupního nebo výstupního bloku je od zbytku jména vždy oddělen dvěma znaky _. Zbytek jména vstupně výstupního bloku je uživatelským jménem signálu, zadávaným v konfiguraci ovladače, popsané v následující kapitole. Kdyby byl např. blok MBM z obr. 2.1 přejmenován na XY, začínala by jména všech vstupně výstupních bloků připojených k ovladači MbDrv znaky XY. Z praktických dů- 7

vodů je však rozumnější volit prefix mnemotechnicky blízký názvu ovladače. Použití bloků From a Goto pro vstup a výstup jednoho signálu do/z řídicího algoritmu umožňuje snadno přecházet ze simulační verze algoritmu testované v systému Matlab Simulink do systému reálného času REX. V systému Simulink je možno k blokům From a Goto přiřadit protikusy, kterými bude připojen simulační model procesu, po otestování může být model procesu z projektu odstraněn. Při překladu modelu nahradí díky zavedené a právě popsané konvenci systém REX zbylé bloky From a Goto vstupními a výstupními bloky. Protože ovladač umožňuje pod jedním symbolickým jménem získávat několik vstupů či nastavovat několik výstupů, lze s výhodou používat bloky čtyřnásobných, osminásobných a šestnáctinásobných vstupů a výstupů (INQUAD, OUTQUAD, INOCT, OUTOCT a INHEXD, OUTHEXD), viz obr. 2.3. Výhodou takového užití je zvýšení rychlosti a částečně i přehlednosti algoritmů. Přechod od simulační verze je však v takovém případě trochu pracnější. Podrobný popis vícenásobných vstupů a výstupů lze nalézt v příručce [3]. 8

Kapitola 3 Konfigurace ovladače V této kapitole je popsána konfigurace jednotlivých vstupních a výstupních hodnot připojených zařízení, tj. symbolické pojmenování a připojení jednotlivých vstupů a výstupů na stanice a adresy v protokolu Modbus. Obecný popis konfiguračního dialogového okna a postup při konfiguraci jednotlivých typů vstupů a výstupů je popsán v této kapitole. 3.1 Konfigurační dialogové okno Konfigurační dialogové okno znázorněné na obr. 3.1 je obsaženo v souboru MbDrv_H.dll a aktivuje se v programu RexDraw stisknutím tlačítka Special Edit v parametrickém dialogu bloku typu IODRV s parametry ovladače MbDrv (viz kap. 2). Při vytváření konfigurace řídicího systému z editoru programu Matlab Simulink lze aktivovat konfigurační okno přímo z parametrického dialogu bloku typu IODRV, postupem popsaným v sekci 2.1, viz obr. 2.2. 3.1.1 Konfigurace globálních parametrů sériová linka V levé horní části dialogu jsou v rámečku s názvem Bus parameters parametry platné pro všechny signály resp. pro celou komunikační linku. Jsou to: Port Jméno sériové linky použité pro komunikaci. Na Windows je to obvykle COM1: nebo COM2:. Poznamenejme, že ve Windows CE je dvojtečka za názvem sériového portu povinná, jinak se port nepodaří otevřít. Porty s číslem vyšším než 9 se musí zapisovat např. \\.\COM12:. V Linuxu se sériové linky označují např. /dev/ttys1 nebo /dev/ttyusb0. Baud rate Přenosová rychlost v bitech za sekundu. Všechny zařízení na jedné lince musí mít nastavenou stejnou přenosovou rychlost. Parity Parita, kontrolní mechanismus při přenosu dat. Všechna zařízení na jedné lince musí mít nastavenou stejnou paritu. 9

Obrázek 3.1: Konfigurační dialog vstupů a výstupů Sync. time Synchronizační čas. Protokol Modbus definuje konec rámce jako klid na lince po dobu potřebnou k vyslání tří znaků. Pokud je tento parametr 0, pak je synchronizační mezera podle normy. V opačném případě je to zadané číslo (v sekundách). Timeout Maximální doba v sekundách, kterou se čeká na odpověď stanice Slave. Pokud stanice do této doby neodpoví, považuje se za nefunkční. Čas se počítá do přijetí prvního znaku, takže není nutno přidávat čas na přijetí celého telegramu. V režimu Slave ovladač odpovídá vždy okamžitě po přijetí telegramu a tento parametr nemá význam. Doporučujeme nenastavovat timeout příliš velký zejména pokud se komunikuje s více stanicemi Slave. V případě nefunkční stanice se totiž musí čekat na odpověď po celou dobu timeout a po tuto dobu není možné přenášet data do/z ostatních stanic Slave. Reconnect Perioda v sekundách. S touto periodou jsou testovány nefunkční stanice, jestli už fungují. 10

3.1.2 Konfigurace globálních parametrů TCP/IP V případě použití TCP/IP varianty jsou to parametry: Name Jméno konfigurace pro lepší přehled uživatele. Interně se nijak nepoužívá. Local port port/adresa TCP protokolu. V případě stanice Slave je nutno nastavit port na kterém poslouchá. Pro Modbus je implicitní (tzv. well known port) 502. V případě Master obvykle nastavíme 0 a TCP/IP stack vybere nějaký volný. Local IP lokální IP adresa adaptéru (ethernetové zásuvky), který chceme použít pro spojení. Obvykle nastavujeme 0.0.0.0 a TCP/IP stack vybere sám vhodný adaptér podle směrovací tabulky a v případě Slave poslouchá na všech adaptérech. Timeout Maximální doba v sekundách, kterou se čeká na odpověď stanice Slave. Pokud stanice do této doby neodpoví, považuje se za nefunkční. Čas se počítá do přijetí celého paketu, takže je nutno přidat čas na přijetí celého. V režimu Slave ovladač odpovídá vždy okamžitě po přijetí telegramu a tento parametr nemá význam. V případě nefunkční stanice se po dobu čekání na odpověď komunikuje s ostatními stanicemi po jiných soketech, takže v tomto případě není nastavení timeoutu tak kritické. Reconnect Perioda v sekundách. S touto periodou jsou testovány nefunkční stanice, jestli už fungují. 3.1.3 Zobrazení zkonfigurovaných signálů V dolní části dialogového okna (obr. 3.1) jsou v tabulkové formě zobrazeny zkonfigurované signály. Každý řádek odpovídá jednomu nebo několika signálům, jimž je přiřazen jeden symbolický název (viz sekci 3.1.5). Signálem budeme v dalším textu rozumět jeden signál nebo skupinu několika signálů, která odpovídá jedinému řádku v této tabulce. V případě většího počtu řádků než se vejde do vymezeného prostoru se v pravé části objeví posouvací pruh (scroll bar), pomocí kterého lze standardním způsobem pro Windows zobrazovat požadovanou část seznamu signálů. Jednotlivé sloupce tabulky mají následující význam: Name Jméno signálu, které musí být zadáno jednoznačně. Slave Adresa zařízení Slave. Na jedné lince může být až 32 zařízení Slave (při použití opakovačů i více). Každé takové zařízení má pro rozlišení svoji adresu. Tato adresa je právě v tomto sloupci. Může nabývat hodnot 0 až 254, 255 je vyhrazeno pro broadcast. V případě varianty TCP/IP je zde jméno stanice Slave (viz dále). V případě stanice Slave je zde její vlastní adresa. POZOR není podpořena situace, že by se ovladač tvářil jako více stanic Slave a adresa musí být všude stejná. Address Adresa objektu v zařízení. Všechny přenášené objekty (hodnoty) mají v rámci připojeného zařízení přiděleno identifikační číslo adresu. Adresa může nabývat hodnot 0 až 65535. 11

Type Typ signálu, např. Reg (registr slave zařízení) nebo BinOut (logický výstup). Všechny typy signálů včetně jejich zadávání jsou popsány v sekci 3.1.5. Flags Příznaky. Zde je shluk písmen, přičemž každé písmeno odpovídá nějaké vlastnosti, kterou signál má. Mohou se zde objevit písmena: R... signál lze číst systémem REX, tj. může být užit jako vstup W... signál lze zapisovat systémem REX, tj. může být užit jako výstup I... signálu je nastavena počáteční hodnota při inicializaci ovladače S... signál je celé číslo se znaménkem (Modbus standardně předpokládá registry šestnáctibitové bez znaménka) a... příznak Swap words (viz níže) b... příznak Swap bytes (viz níže) P... příznak Passive (viz níže) J... příznak Join next (viz níže) m... příznak Multi command (viz níže) Count Počet hodnot. Jak už bylo uvedeno, jednomu signálu může odpovídat více hodnot, které se pak přečtou/zapíšou všechny najednou blokem pro vícenásobný vstup/výstup. Toto číslo udává, kolik hodnot se má číst/zapisovat. Hodnota nemusí odpovídat počtu vývodů na bloku. Nepoužité vývody se pak neaktualizují. Period Perioda aktualizace v sekundách. Pokud je zde 0, aktualizuje se signál s periodou zadanou v bloku IODRV příslušejícím driveru a konfiguračnímu souboru. 3.1.4 Ovládací tlačítka V dialogu jsou umístěny dvě skupiny ovládacích tlačítek. V první skupině jsou tlačítka s globálním významem: OK Ukončení editace signálů a uložení konfiguračního souboru. Cancel Ukončení editace signálů bez uložení konfiguračního souboru, takže všechny provedené změny od posledního uložení konfiguračního souboru se nenávratně ztratí. Druhá skupina obsahuje tlačítka pro manipulaci se signály: AddItem Vložení nového signálu. Signály jsou zobrazeny v abecedním pořadí. SetItem Změní označenému signálu parametry. Při označení signálu v seznamu se jeho parametry přenesou do editačních polí, kde je lze měnit. Změny provedené v editačních polích se projeví až po stisknutí tohoto tlačítka. DelItem Odstraní označený signál ze seznamu signálů. 12

MoveUp Posune označený signál v seznamu signálů nahoru. MoveDown Posune označený signál v seznamu signálů dolů. Slave tlačítko je aktivní jen pro Master přes TCP/IP. V tomto případě je pro stanice Slave potřeba nastavit více parametrů a je proto použit zvláštní dialog. Podrobnější popis je v kapitole 3.3. Import import konfigurací ze systému VARIO 3.1.5 Konfigurace vstupů a výstupů Ostatní prvky dialogu (tj. v rámečku Items) z obr. 3.1 slouží pro konfiguraci vstupních a výstupních signálů. Jsou to tyto políčka: Name Jméno signálu, které musí být zadáno jednoznačné. Slave address Adresa zařízení Slave. Může nabývat hodnot 0 až 255, ale 255 je vyhrazeno pro broadcast. V případě varianty TCP/IP je zde jméno stanice Slave (viz dále). V případě stanice Slave je zde její vlastní adresa. POZOR není podpořena situace, že by se ovladač tvářil jako více stanic Slave a adresa musí být všude stejná. Item address Adresa objektu v zařízení Slave. Může nabývat hodnot 0 až 65535. Item type Typ signálu. Může být (názvy vycházejí ze specifikace Modbus): Input logický vstup, Coil logický výstup, Register(16bit) celé číslo v rozsahu 0... 65535, Register(32bit) celé číslo v rozsahu 0... 4294967296, Register(float) číslo v pohyblivé čárce s velikostí 4 bajty Register(double) číslo v pohyblivé čárce s velikostí 8 bajtů Count Počet hodnot, které signál zpracovává najednou. Readable Políčko se zaškrtne, pokud chceme dovolit čtení hodnoty z algoritmu řídicího systému REX. Writable Políčko se zaškrtne, pokud chceme dovolit zápis hodnoty z algoritmu systému REX. Initial value Zde se napíše počáteční hodnota, pokud ji chceme nastavit do zařízení Slave při inicializaci driveru MbDrv, tj. dříve, než se začne provádět algoritmus systému REX. Pokud je hodnot více než jedna, musí být v hranatých závorkách a jednotlivá čísla oddělena mezerou. Refresh rate Perioda aktualizace v sekundách. Pokud je zde 0, aktualizuje se signál s periodou zadanou v bloku IODRV příslušejícím driveru a konfiguračnímu souboru. 13

Swap word Modbus nepodporuje 32bitová čísla, ale je přirozeným rozšířením považovat dvě po sobě následující 16bitová čísla za jedno 32bitové. Podle architektury procesoru se může přenášet významnějších 16bitů v registru s nižší nebo vyšší adresou. Pokud se tedy 16bitová čísla přenášejí dobře a 32bitová čísla nějak divně, tak může pomoci toto pole zaškrtnout. Stejné pravidlo platí pro desetinná čísla, protože ty se také přenášejí ve 2 (float) nebo 4 (double) po sobě následujících 16bitových registrech. Swap byte Modbus požaduje přenášet 16bitové registry tak, že nejdříve je v telegramu významnější byte a jako druhý méně významný byte (tzv. big endian formát). Občas se vyskytuje implementace, která má pořadí obráceně (v little endian formátu). Pak se místo čísla 1 zobrazuje 256 a podobně. Pak je potřeba zatrhnout tento příznak. Passive Políčko se zaškrtne, pokud nechceme hodnotu přímo přenášet. Někdy může být výhodné přenášet prostředky Modbus velké pole registrů (maximum je 125) a do úlohy v systému REXje přenášet (pojmenovávat) po jednom nebo nějakých menších celcích. V takovém případě zaškrtneme v kratších položkách políčko Passive, a nadefinujeme ještě jedno delší pole, které nebude mít zatrženo Passive a bude se adresami překrývat s pasivními položkami. Políčko má význam jen v režimu Master. Join next Políčko se zaškrtne, pokud chceme použít příkaz současného čtení a zápisu. Pole se zaškrtne u položky, která se má přečíst, přičemž následující položka v konfiguraci (o řádku níže) musí být zapisovatelná a zapíše se v rámci jednoho příkazu. Multi command Políčko se zaškrtne, pokud chceme použít příkaz pro zápis více registrů i když jde jen o jeden registr. Možnost byla zařazena poté, co se objevila zařízení, která podporují jen omezenou množinu funkcí protokolu Modbus. Signed Políčko se zaškrtne, pokud chceme pracovat se zápornými čísly. 3.2 Speciální signály V některých speciálních případech se ukazuje jako užitečné/nutné mít přístup k stavovým nebo konfiguračním proměnným driveru. Vlastní ovladač má tyto speciální signály: ErrorFrame kolikrát došlo k přijetí nekorektního rámce ErrorTimeout kolikrát došlo k timeoutu při čekání na odpověď ErrorData kolikrát přišel korektní rámec, ale s nečekanými daty nebo chybovým kódem ErrorReset hodnotou 1 dojde k vynulování výše uvedených počítadel chyb Dále ke každému signálu lze přidat za jméno speciální text, který značí, že se nečte vlastní hodnota, ale atribut. Texty jsou následující (všechny začínají dvěma znaky _ (podtržítko)): 14

ReadEnable WriteEnable Address Slave Fresh Period Send konfigurační parametr Readable konfigurační parametr Writable konfigurační parametr Item address konfigurační parametr Slave address čas, který uplynul od poslední aktualizace v sekundách konfigurační parametr Refresh rate příznak, že signál čeká na zapsání do zařízení Slave Atribut Fresh lze pouze číst systémem REX, ostatní lze číst i zapisovat. Pozor atribut Fresh se aktualizuje i při neúspěšném pokusu o čtení/zápis. V takovém případě má pak vlastní hodnota kvalitu BAD nebo UNCERTAIN. Případě režimu Slavese atribut Fresh aktualizuje u víceprvkových položek, pokud Masterpřistoupil ke kterékoliv z nich. Pokud tedy chceme například zjistit, kdy byla naposledy přečtena hodnota MBM IN, použijeme blok From s parametrem MBM IN Fresh Dále existuje speciální implicitní signál, který se jmenuje stejně jako Slave (resp. jeho adresa). Pokud například použijeme blok From s parametrem MBM 3, tak hodnota bude stav spojení se zařízení Slave na adrese 3 (hodnota TRUE odpovídá stavu Slave připojen ). 3.3 Konfigurace zařízení Slave V případě, že ovladač konfigurujeme jako Master přes TCP/IP, musíme pomocí tlačítka Slave nastavit parametry jednotlivých slave stanic. Po stisku tohoto tlačítka se objeví dialogové okno jako na obr. 3.2. Obrázek 3.2: Konfigurační dialog stanic Slave 15

Ve spodní části je tabulka s již nastavenými stanicemi Slave, v horní části jsou zadávací pole a tlačítka. Výběrem/označením řádky v tabulce se hodnoty přesunou do editačních polí a je možné je upravit. Význam jednotlivých polí je následující: Name Název stanice, který musí být zadán jednoznačně. IP IP adresa stanice Slave. Port port (TCP adresa) stanice Slave. Implicitní port pro Modbus je 502, který je předvyplněn. Max requests maximální počet požadavků (Modbus telegramů), které mohou být ve frontě ke zpracování. Zejména malá zařízení (s malou operační pamětí) mají omezenou velikost bufferu pro TCP/IP stack. Stanice Master se nesmí dostat do stavu, že vyslala více požadavků pro danou stanici Slave, ze které nemá dosud odpověď. Pokud by to mělo nastat, musí se další požadavek pozdržet. Subaddress další adresní pole, které může nabývat hodnot číslo 1 až 255, přičemž 255 je broadcast. Často se subadresa nevyužívá a používá se 255 (je to zavedeno hlavně kvůli koncentrátorům, NAT routerům, apod.). Add tlačítko pro přidání další slave stanice (s parametry, které jsou aktuálně v zadávacích polích). Set tlačítko pro nastavení parametrů aktuálně vybrané stanice Slave (nastaví se parametry, které jsou aktuálně v zadávacích polích). Del tlačítko pro vyřazení aktuálně vybrané stanice Slave. OK tlačítko pro návrat do hlavního dialogu. Tlačítko Cancel zde není, protože vzhledem k interní implementaci návrat bez uložení změn není možný. 16

Kapitola 4 Poznámky k implementaci V této kapitole jsou soustředěny poznatky, které vznikly z dosavadních zkušeností. Některé položky v konfiguraci jsou často nesprávně pochopeny, ale podrobný popis výše by zhoršoval čitelnost textu. Proto jsou tyto postřehy uvedeny ve zvláštní kapitole. Je zde také podrobně popsán způsob přenosu hodnot. Parametr Sync. time ponechte nastaven na 0. Existují totiž zařízení, která mají pomalý procesor a nesprávně detekují začátek paketu. Projevuje se to tak, že Slave neodpovídá vůbec nebo jen někdy, ačkoliv vše je nastaveno správně. Pouze v těchto případech zvětšete synchronizační mezeru. Parametr Timeout se měří od konce dotazu do konce odpovědi, ale čas potřebný k vyslání telegramu se k timeoutu přičítá. Telegram Modbus je 10 až 16 bajtů plus přenášené hodnoty. Maximální délka telegramu je 256 bajtů. Parametr Reconnect je důležitý, jen pokud je na lince více stanic Slave a potřebujeme, aby i při výpadku jedné stanice ostatní komunikovaly nezměněnou rychlostí. Pokud totiž stanice neodpovídá, trvá cyklus dotaz - odpověď (odpověď nepřijde, tj. doba je určena timeoutem) mnohem déle a po dobu tohoto cyklu nemůže komunikovat jiná stanice. Komunikace s neživou stanicí proběhne jen jednou za dobu Reconnect, takže čím větší je tato doba, tím méně jsou ostatní stanice bržděny. Na druhou stranu při opětovném zprovoznění neživé stanice trvá až dobu Reconnect, než systém REX zjistí její zprovoznění a začne si s ní vyměňovat data. Protokol Modbus umožňuje přenášet jen 16-bitové registry nebo několik 16-bitových registrů jdoucích za sebou. Toho se využívá při typu Register (32bit) a Register (float), které oba představují dva po sobě následující 16-bitové registry. Pokud tedy použijeme adresu 100 pro Registr(float), nemůžeme již použít adresu 101, protože je zabraná tímto float registrem. Doporučuje se používat jen signály pouze pro čtení nebo pouze pro zápis. Pokud je třeba jeden registr číst i zapisovat, je lépe použít dva signály se stejnou adresou nebo použít přepínání směru z algoritmu. Použít signál pro čtení i zápis se používá v případě užití výstupního bloku s výstupem skutečně zapsané hodnoty. 17

Význam příznaků Readable nebo Writable platí ve vztahu k algoritmu systému REX. To znamená, že na signál, který je readable lze připojit blok From (popř. libovolný vstupní blok). Na signál, který je writable lze připojit blok Goto (popř. libovolný výstupní blok). V případě ovladače emulujícího Modbus Master nevzniká problém, ale v případě ovladače emulujícího Modbus Slave se signály readable musí zapisovat protokolem Modbus ze stanice Master do stanice Slave. Pokud použijeme parametr Count větší než jedna, volí se pouze adresa první hodnoty a ostatní po řadě následují. Perioda aktualizace Refresh rate nemůže být menší než doba potřebná k přečtení všech hodnot, které lze číst a zapsání všech hodnot, které se změnily a lze je zapisovat. Pokud k tomu dojde, ovladač nehlásí žádnou chybu, ale perioda obnovování se prodlouží. Skutečnou periodu lze zjistit programem RexView. Toto políčko slouží pro případ, že nějaká proměnná nemusí být obsluhována stejně často jako ostatní, čímž se v důsledku zkrátí obnovovací perioda ostatních hodnot. Hodnoty se čtou/zapisují v pořadí v jakém jsou uvedeny v konfiguračním souboru, které je stejné jako pořadí, v seznamu signálů. Některé konfigurační nástroje pro Modbus používají pro registry adresy od 40001 (popřípadě od 400001 pro zařízení série 984). Je to z důvodu, že je na první pohled odlišen vstupní a stavový registr. V systému REX se vždy používá fyzická adresa od 0 (tj. je potřeba odečíst 40000 nebo 40001, popř. 400000 nebo 400001 od adresy uvedené v konfiguraci nebo dokumentaci spolupracujícího zařízení). Komunikace se po lince Modbus probíhá asynchronně k předávání dat algoritmem řídícího systému REX. Ovladač má pro všechny hodnoty mezipaměť (tzv. cache) přes kterou se všechny hodnoty předávají. Ovladač v roli Modbus Master postupně prochází všechny signály z konfiguračního souboru. Pokud je obsluha signálu blokována periodou (ještě nenastal čas pro další obsloužení) nebo odpojením stanice Slave, ve které je uložen, signál se přeskočí. V opačném případě je odeslán dotaz na čtení hodnoty (pokud je signál readable) nebo zápis hodnoty (pokud je signál writable a změnila se hodnota). Pokud nepřijde odpověď do času určeného parametrem Timeout, přejde příslušná stanice do stavu odpojena. Ovladač v roli Modbus Slave pouze čeká na dotazy stanice Modbus Master a vrací hodnoty z cache nebo cache aktualizuje. Situace je shrnuta v následující tabulce: 18

čtení zápis zápis se čtením Master přečte se hodnota z cache (získaná v minulém cyklu Modbus sběrnice) hodnota se zapíše do cache (pokud se liší od minulé hodnoty v cache, zapíše se v dalším cyklu Modbus sběrnice) přečte se hodnota z cache, pak normální zápis Slave přečte se hodnota z cache (získaná při posledním zápisu Modbus sběrnicí) hodnota se zapíše do cache (na sběrnici se aktualizuje dalším dotazem od Modbus Master) přečte se hodnota z cache, pak normální zápis v případě Modbus Slave program RexView ukazuje někdy podivné hodnoty doby trvání. Je to způsobeno tím, že algoritmus skončí, když nemá co obsluhovat a čeká na další spuštění systémem REX. Pokud jsou neustále dotazy, nikdy k dokončení nedojde. To není na závadu funkčnosti, ale je lepší snížit ovladači prioritu. 19

Kapitola 5 Co dělat při problémech V případě, že v diagnostických prostředcích systému REX, např. v programu RexView jsou neočekávané nebo nesprávné hodnoty vstupů nebo výstupů, je vhodné nejdříve ověřit jejich funkci nezávisle na systému REX. Dále je nutné překontrolovat konfiguraci. Nejčastější chyby jsou: Chyba v hardware - špatně zapojený kabel (překřížený vs. nepřekřížený, neobvyklé konektory, TTL vs. RS232 úrovně signálů, polarita signálů,... ), používá se jiný sériový kanál,... Použitý(nakonfigurovaný) sériový kanál je obsazen jiným programem Zařízení používá odlišnou mutaci protokolu Modbus (zejména pořadí bajtů ve wordu popř. ve floatu) Zařízení je pomalé a vyžaduje zvětšit Sync. time Špatná adresa Slave nebo signálu nebo příznaky readable a writable. Pozor také, pokud používáte více sériových linek pro Modbus, zda je signál ve správném konfiguračním souboru. Parametry se mohou měnit z algoritmu. Zejména při startu se mohou změnit nevhodně a pak se to již nespraví. V případě, že daný vstup funguje pomocí testovacího programu nebo uvedených testovacích příkladů správně a při shodné konfiguraci v ovladači MbDrv nefunguje, prosíme o zaslání informace o problému (nejlépe elektronickou cestou) na adresu dodavatele. Pro co nejrychlejší vyřešení problému by informace by měla obsahovat: Identifikační údaje Vaší instalace verzi, číslo sestavení (build), datum vytvoření instalace, licenční číslo. Stručný a výstižný popis problému. 20

Co možná nejvíc zjednodušenou konfiguraci řídicího systému REX, ve které se problém ještě vyskytuje (ve formátu souboru s příponou.mdl). Konfigurační soubor ovladače MbDrv. 21

Literatura [1] Modbus Application Protocol Specification V1.1b. http://www.modbus-ida.org, 2006. [2] REX Controls s.r.o.. Začínáme se systémem REX na platformě Raspberry Pi, 2013. [3] REX Controls s.r.o.. Funkční bloky systému REX Referenční příručka, 2013. Referenční číslo dokumentace: 5460 22