Úvod
Aplikace Device tool je určena k nastavení a diagnostice produktů řady IOFireBug. Umožňuje připojit desky Engine k PC a kompletní konfiguraci – rozšiřující karty Wagon, komunikační parametry, nastavení zpracování signálů apod.
Připojení Engine
Engine jednotka je vybavena čipem FTDI, což v praxi znamená, že se v operačním systému PC přihlásí jako sériový komunikační port (COM). Ve správci zařízení operačního systému se tedy po připojení Engine objeví nový komunikační port. Jeho číslo je potřeba znát pro připojení aplikace Device tool k zařízení.
Spuštění aplikace a nastavení komunikace
Díky aplikaci Device tool lze zjistit stav jednotlivých zařízení IOFireBug, které jsou připojeny do počítače.
V levé části aplikace je seznam Engine zařízení, ke kterým se bude aplikace pokoušet připojit. (Jaké jsou možnosti připojení je popsáno v dokumentu Technický popis produktů). Pomocí tlačítek Add new, Remove a Remove all je možné přidávat a odebírat jednotlivá zařízení Engine.
Při přidávání zařízení aplikace požaduje vyplnění hlavní verze FW, linkové adresy a sériového čísla produktu. Verze FW a sériové číslo je uvedeno na štítku zařízení, linková adresa se nastavuje pomocí DIP switche, jak je popsáno v dokumentu Technický popis produktů.
Po nastavení seznamu zařízení vybereme z nabídky COM správný komunikační port a nastavíme komunikační rychlost. Deska je standardně nastavena na 115 200 Baudrate.
Pokud je vše v pořádku, odklikneme tlačítko Open, po jehož stisknutí zezelená v levém sloupečku IOFB (address: 1), kde 1 je adresa zařízení, a Communication status se změní na ONLINE.
V případě, že chceme zkontrolovat i ostatní zařízení, jednoduše jej vybereme ze seznamu.
V pravé části se pro vybrané zařízení zobrazí záložky s informacemi a nastavením.
Záložka Device control and info
Jméno, ID a verze Firmwaru jsou uloženy v zařízení Engine a po úspěšném navázání komunikace jsou zobrazeny v informační části záložky. Link adress je již zmiňovaná adresa nastavená pomocí DIP switche. Messages ok udává počet přenesených zpráv, Invalid messages je počítadlo neplatných zpráv. No response udává počet zpráv, na které nedorazila odpověď. Poslední dva případy se mohou stát, např. když zařízení odpojíme.
Device control obsahuje parametry pro nastavení knihovny IOFireBug, tedy nastavení na straně PC (v tomto případě aplikace Device tool).
Položky Device input functions a Device analog input functions jsou parametry, které se týkají zařízení Engine.
Položky pod Device control znamenají, že aplikace se v požadované periodě dotazuje desky na stav vstupů (Read inputs period), vstupních čítačů (Read input counters period), analogových vstupů (Read analog inputs period) a čítačů rotačních enkodérů (Read rotary counters period). Hodnoty jsou v milisekundách.
Device input functions jsou funkce desky. U stavu vstupů (Binary inputs function), vstupního čítače (Binary inputs counters function) i rotačního enkodéru (Rotary encoder counters function) si můžeme zvolit, zda chceme být informovaní při jakékoli změně (on change) nebo vybrat jednu z předdefinovaných period zasílání (například ON_PER_100MS). Deska od této chvíle sama od sebe, bez dotazování počítače, posílá stav požadovaných funkcí. Změnit tento požadavek můžeme kdykoli, a to i hromadně, pomocí tlačítek All on change (všechna zařízení budou informovat o všech změnách) nebo tlačítkem All disable, kdy se posílání informací ze strany desky vypne.
Device analog inputs functions je funkce pro analogové vstupy. Opět určujeme, jak často chceme být o těchto vstupech informovaní. Stejně jako v posledním případě, i nyní deska posílá informace sama od sebe.
Záložka Configuration
V záložce Configuration se provádí kompletní konfigurace desek IOFireBug.
Komunikace
Pomocí FTDI Baudrate lze nastavit přenosová rychlost USB kanálu.
RS4XX Baudrate je druhý sériový kanál, kterým můžeme desku řídit stejně jako přes USB. Možnosti zapojení linky RS-485, resp. RS-422 jsou popsány v dokumentu Technický popis produktů.
Binární vstupy
Inputs sample period je parametr v milisekundách, který určuje, jak často jednotka Engine vyhodnocuje všechny vstupy. S Inputs sample souvisí Inputs filter lenght period, což je délka filtru v bitech.
Funkci této filtrace popíšeme na následujícím příkladu:
Input sample period nastavena na 2 a Filter length na 4.
Engine vzorkuje každé dvě milisekundy stav vstupů a tyto vzorky ukládá do pole délky 4. Pokud jsou všechny 4 vzorky tohoto pole ve stejné úrovni, je tato úroveň považována za platnou. Díky tomuto filtru můžeme definovat, jakou nejmenší změnu je deska schopna zaregistrovat. Např. zákmity tedy odfiltrujeme na straně Engine jednotky, aniž bychom to později museli řešit na straně aplikačního SW v PC.
Binární výstupy
Nastavení pulsně šířkové modulace (PWM)
Zaškrtnutím PWM1234 Enable lze aktivovat pulsně šířkovou modulaci na prvních čtyřech výstupech. Dále lze nastavit pracovní kmitočet PWM v Hertzích. Maximální hodnota je 20 000 Hz a minimální 1 Hz. Podobně lze aktivovat PWM na výstupech pět a šest (PWM56 Enable), sedm a osm (PWM78 Enable). Tyto tři skupiny lze kombinovat libovolně, ovšem každý výstup jednotlivě aktivovat nelze.
Tlačítko Set actual outputs as default znamená, že deska může mít výchozí stav výstupů a / nebo PWM po zapnutí. K tomuto tématu se blíže vrátíme v kapitole popisující binární výstupy.
Analogové vstupy
Vzorkování analogových vstupů se nastaví u políčka ADC Enable (Analog Digital Converter). Maximální kmitočet použitého AD převodníku je 1 400 000 Hz. Toto je rychlost převodníku, nikoli vzorkovací kmitočet. Vzorkovací kmitočet získáme vydělením počtem bitů, který udává rozlišení snímaných vzorků, a případně počtem aktivovaných analogových vstupů. Rozlišení snímaných vzorků lze nastavit pomocí „ADC resolution“ (8 nebo 12 bitů).
Nastavení „ADC input from“ a „ADC input to“ udává, které analogové vstupy budeme využívat.
Engine umožňuje průměrování (ADC averages) snímaných vzorků a oříznutí nejnižších významových bitů (ADC right zones). Díky tomu lze provádět filtraci vstupního signálu na úrovni desky Engine (na úkor přesnosti).
ADC multiplier je násobitel, který lze nastavit na libovolné reálné číslo a násobí se s ním všechny analogové hodnoty. Lze tedy na úrovni Engine provádět převod jednotek měřených hodnot (např. metry, V, A apod.).
Pro analogové měření je potřeba u desky provést kalibraci offsetů, tedy zafixování nulové úrovně. To se provádí funkcí ADC offsets calibration. Analogové vstupy musí být připojeny k měřené veličině, která je v nulové úrovni (v optimálním případě 0 V – zem zdrojového signálu). Jakmile je tento předpoklad splněn a provede se funkce ADC offsets calibration, jednotka Engine posune nulovou hodnotu na aktuálně změřené úrovně napětí. Tím se stabilizuje měřená hodnota.
Konfigurace rozšiřujících karet
Konfigurace se provádí pomocí seznamu „Expander modules“. Tato konfigurace definuje desce Engine, které konkrétní rozšiřující karty jsou připojeny (přes rozhraní SPI), a tedy se kterými má deska komunikovat. Je možné připojit maximálně osm rozšiřujících karet ke každé desce Engine. Mezi rozšiřujícími kartami není možné nakonfigurovat typ WAGON_NONE, neboť jednotlivé karty se fyzicky propojují za sebe, a není tudíž možné pozici vynechat. Současná verze FW podporuje následující typy rozšiřujících karet:
Typ | Popis |
WAGON_NONE | Pozice není osazena |
WAGON_16 | Pozice osazená modulem Wagon 16I |
WAGON_8O | Pozice osazená modulem Wagon 8O |
WAGON_8RELAY | Prototyp desky pro spínání velkých proudů |
WAGON_16IO | Prototyp desky s 16 vstupy i výstupy v závislosti na konfiguraci |
Funkce Remove all expanders slouží k rychlému odebrání všech rozšiřujících karet.
Pro konfiguraci rozšiřující karty je nejprve nutné vybrat pozici, na které se karta nachází, poté vybrat námi zvolenou desku a zvolit Set new expander. Tím v podstatě dáváme aplikaci najevo, s jakými deskami na jakých pozicích má počítat.
Provedení změn potvrdíme tlačítkem Write config.
Záložka Inputs
V sloupečku Binary inputs data je seznam osmi vstupů (indexy od 0 do 7). V tomto seznamu se zobrazuje aktuální stav binárních vstupů za předpokladu, že jsme na záložce Device control and info nastavili správné vyčítání jejich stavu (viz kapitola Záložka Device control and info).
Ujistíme se tedy, zda je v záložce Device control and info nastaveno zasílání změn binárních vstupů, příp. dotazování v definované periodě.
V seznamu Binary inputs data se aktivuje (ON) ten vstup, který je v úrovni logické 1. V druhém sloupci vidíme seznam vstupních čítačů „In counter“ včetně jejich hodnot. Hodnoty vstupních čítačů se zvýší o 1 při náběžné i sestupné hraně logické úrovně příslušného vstupu. Pro vyčítání hodnot vstupních čítačů je opět nutné nastavit Read input counters period na záložce Device control and info. Funkce Clear counters vynuluje stav všech vstupních čítačů.
Sloupec „Analog inputs data“ zobrazuje data z AD převodníku. Pokud zapneme AD převodník na všech vstupech (záložka Configuration) a zároveň jsme aktivovali vyčítání analogových vstupů (na záložce Device control and info), můžeme sledovat měřené hodnoty. Pro rozlišení 12 bitů se hodnoty budou pohybovat od 0 do 4096. V tento okamžik je vhodné konfigurovat filtraci analogových dat na záložce Configuration.
Záložka Outputs
V záložce Outputs lze vydávat povely na binární výstupy, a to buď v logických úrovních (On/Off), nebo využít pulsně šířkovou modulaci nastavitelnou zvlášť na každém kanálu.
Ovládání binárních výstupů v logických úrovních
Pro ovládání výstupů v logických úrovních je možné v seznamu Binary outputs zaškrtnout požadovaný výstup. Při zaškrtnutí položky seznamu je na příslušný výstup vyslán povel logická 1. Tento postup platí pouze za předpokladu, že pro daný výstup není na záložce Configuration aktivována funkce PWM.
Ovládání binárních výstupů pomocí PWM
Před využitím PWM je nutné na záložce Configuration tuto funkci pro požadované výstupy aktivovat. To je nutné potvrdit tlačítkem Write config. Po korektním nastavení na záložce Configuration je možné v seznamu PWM outputs (záložka Outputs) vybrat požadovaný výstup a pomocí posuvníku nastavit požadovanou šířku pulsu (hodnotu v rozsahu 0 až 255).
Každý výstup je vybaven indikační LED diodou, na které lze ověřit vydávaný povel.
Záložka Rotary encoders
Záložka Rotary encoders souvisí se specifickým zpracováním signálů na binárních vstupech určeným pro připojení rotačních enkoderů (příp. inkrementálních čidel). Tento typ senzorů se připojuje na dva binární vstupy a předpokládá se, že jeho mechanické řešení umožňuje rozpoznat směr otáčení. To je zajištěno fázovým posunem 90° mezi těmito signály. Firmware Engine sleduje logické úrovně těchto signálů a podle rychlosti a směru otáčení aktualizuje hodnotu čítače, která odpovídá pozici rotačního enkodéru. Čítač je neznamínkové 16bitové číslo, a tudíž je na straně softwaru v PC nutné ošetřit přetečení, resp. podtečení této hodnoty.
Na záložce Rotary encoders je nejprve zobrazen seznam binárních vstupů shodný se seznamem na záložce „Inputs“. Ve druhém sloupci se nachází seznam s hodnotami čítačů pro rotační enkodéry. Rotační enkodér se připojuje v páru na dva vstupy, proto jsou v seznamu pouze čtyři. „Rotary counter [0]“ tedy odpovídá vstupům 1 a 2. Pro zapnutí této funkce se musí v záložce „Device control and info“ vyplnit „Read rotary counters period“. Pro nulování hodnot čítačů klikněte na Clear counters.