FISCHERTECHNIK ROBO TX Training Lab - 505286 Bezpečnostní upozornění z návodu na sestavení: - Nezkratujte obvody propojovacích terminálů! - Nevkládejte vodiče do zásuvky! - Pravidelně kontrolujte nabíječku baterií, zda není poškozená. V případě poškození ji nepoužívejte a nechte ji ihned opravit! - Neelektrické komponenty (motory, lampy, ROBO TX kontroler nesmí být propojovány s jinými zdroj napájení, než těmi, které poskytl fischertechnik. Ujistěte se, že modely jsou propojeny jedině s vybavením označeným jako ochranná kategorie II, na nichž je symbol této kategorie. Všechny komponenty, zvláště pohyblivé části, by měly být udržovány a čištěny, jak bude nezbytné. Upozornění: Dejte si pozor, abyste se neporanili o komponenty s ostrými nebo špičatými hranami! Důležité informace o životním prostředí. Tento symbol na výrobku nebo balení značí, že vyhozením výrobku do odpadu můžete poškodit životní prostředí. Nevyhazujte žádnou část výrobku do směsného odpadu. Vezměte jej k distributorovi nebo na specializované sběrné místo. Mějte ohled na místní zákony o životním prostředí. Pokud máte jakékoliv pochybnosti, kontaktujte místní úřady zabývající se životním prostředím.
FISCHERTECHNIK ROBO Pro Software - 93296 Jak jistě víte, pro experimentování s ROBO TX kontrolerem nebo ROBO rozhraním budete potřebovat počítač. Také je třeba naninstalovat pár věcí: ROBO Pro ROBO Pro je ovládací software, pomocí nehož můžete psát programy pro ROBO TX kontroler nebo ROBO rozhraní. Program můžete nainstalovat z přiloženého CD. Tento návod také obsahuje pár tipů pro programování. USB ovladač Pro propojení ROBO TX kontroleru nebo ROBO rozhraní s počítačem je potřeba nainstalovat ovladač pro USB rozhraní. Instalace ovladače je popsána v ROBO Pro online help v kapitole 1.2. Poté, co jste nainstalovali a spustili ROBO Pro, můžete otevřít online pomoc pomocí lišty menu (Help->Help).
Instalace ROBO Pro Systémové požadavky ROBO Pro jsou následující: - IBM kompatibilní PC s procesorem Pentium II a rychlostí alespoň 500MHz, 256 MB RAM a zhruba 40 MB volného místa na hard disku. - Monitor a grafickou kartu s rozlišením alespoň 1024x768 pixelů.
- Microsoft Windows XP nebo Vista. Pochopitelně musíte nejprve zapnout počítač a počkat, dokud se operační systém (Windows) plně nenačte. ROBO TX kontroler by měl být k počítači připojen až po úspěšné instalaci . Nyní vložte do CD-ROM mechaniky CD ROBO Pro. Insatalační program na CD se spustí automaticky. - V prvním uvítacím okně (Welcome window) instalačního programu stiskněte tlačítko Next. - V druhém okně je souhlas s licenčními podmínkami (License agreements). Musíte je přijmout pomocí Yes, než se můžete pomocí Next přesunout na další okno. - Do následujícího okna (User information) prosím vložte své jméno. - V okně Instalation Type (typ instalace) si můžete vybrat mezi Express Installation nebo Custom Installation. Pomocí custom installation můžete z instalace vyloučit některé části. Pokud instalujete novější verzi ROBO Pro přes starší verzi a změnili jste některé ukázkové programy ve starší verzi, můžete je vyjmout z instalace novější verze právě pomocí custom installation. Jinak budou tyto pozměněné programy při instalaci bez varování přepsány. Pokud vyberete custom installation a kliknete na Next, objeví se další okno, v němž můžete vybrat části. - V okně Target Directory můžete vybrat cílovou složku pro instalaci, do níž bude ROBO pro nainstalován. Normálně je umístění C:\Program Files\ROBOPro. - Když kliknete na tlačítko Finish v posledním okně, instalace bude provedena. Jakmile je instalace dokončena - normálně to trvá několik sekund - program oznámí úspěšnou instalaci. Pokud nastanou problémy, zobrazí se chybová hláška, která by vám měla pomoct s řešením tohoto problému. Nyní můžete spustit ROBO Pro. Klikněte na Start a vyberte program nebo všechny programy a poté ROBO Pro. Klikněte na ROBO Pro pro spuštění programu. Online pomoc můžete spustit pomocí lišty menu (Help->Help). Pro instalaci zmíněného USB ovladače jděte do kapitoly 1.2.
ROBO TX Controller - 500995 Pro překlad manuálu byla použita anglická verze, která se v originálním manuálu pro ROBO TX kontroler nachází na stranách 20 až 35. Ilustrace s číselným označením částí výrobku se nachází na straně 3 originálního návodu. Popis obrazku ze strany 3: 1. USB konektor 2. Levé tlačítko výběru 3. 9V=vstup, připojení dobíjecích baterií 4. Displej 5. Vypínač 6. Pravé tlačítko výběru 7. 9V = vstup, DC jack socket pro nabíjecí jednotku. (+=interní) 8. EXT 2, připojení pro rozšíření 9. Výstupy M1-M4 nebo O1-O8 10. Rychlé výpočetní vstupy C1-C4 11. 9V = výstup, výstup napětí 12. Připojení kamery 13. Univerzální vstupy I1-I8 14. EXT 1, připojení pro rozšíření
ROBO TX kontroler Do tohoto ovladače lze nahrávat programy a ty poté ovládají motory, lampy nebo dokonce celé
roboty fischertechnik. To však není vše. - USB spojení a integrované rozhraní Bluetooth dovoluje snadnou a rychlou komunikaci mezi počítačem a modelem fischertechnik. - Velká RAM paměť a přídavná flash paměť může současně uložit v ROBO TX kontroleru větší množství programů. - Všechny modely ze série COMPUTING lze ovládat tímto kontrolerem. - Navíc může kontroler také komunikovat s jinými zařízeními schopnými komunikovat skrze Bluetooth nebo s dalšími maximálně osmi ROBO TX kontrolery. - Díky drážkám na pěti stranách a malým rozměrům může být ROBO TX kontroler nainstalován v systémech a modelech fischertechnik, čímž se šetří místo. Správné použití Kontroler může být použit pouze ve spojitosti s modely fischertechnik.
Bezpečností instrukce - Často kontrolujte, zda není poškozená nabíječka baterií. - Pokud naleznete poškození, nabíječku nepoužívejte, dokud nebude opravena. - Nevkládejte vodiče do zásuvky. - Nepokoušejte se nabíjet baterie, které nejsou dobíjecí! - Před nabíjením vyndejte dobíjecí baterie ze slotu na baterie! - Dobíjecí baterie nabíjejte pouze za dozoru dospělých! - Ujistěte se, že baterie zapojujete ve správné polaritě! - Nezkratujte propojovací termninály! - ROBO TX kontroler smíte používat pouze se zdrojem napájení fischertechnik jako dobíjecí baterie 35537! - Když připojujete dobíjecí baterie ke kontroleru, dávejte pozor na následující: Propojte pól plus ''9V = IN" k pólu plus (+)! Propojte pól mínus ''9V = IN" k pólu plus (-)! - Maximální pracovní teplota je 40°C!
Následující věci lze připojit k ROBO TX kontroleru Následující zařízení lze připojit nebo ovládat. Navíc lze kontroler rozšířit o přídavná zařízení. Aktuátory (s 9V=, 250mA) Elektrické motory Žárovky Bzučáky Elektromagnety Magnetické ventily (z pneumatické stavebnice) Senzory (digitální 5kΩ, digitální 10V; analogové 0-5kΩ, analogové 0-10V) Tlačítkové přepínače Magnetické senzory (kontakty) Světelné senzory (fototranzistory, fotorezistory) Tepelné senzory (NTC rezistory) Ultrazvukové senzory vzdálenosti (jen ve verzi TX Art. č. 133009 s prpojením třemi vodiči) Senzory barvy Infračervené senzory (senzory trasy) Potenciometry Magnetické enkódéry ROBO TX kontroler
Skrze rozšiřovací zástrčky lze připojit dalších až osm přídavných kontrolerů. Kamerový senzor Jakmile bude k dispozici. Rádiové spojení Pomocí Bluetooth lze provést spojení s jinými zařízeními s Bluetooth jako s počítačem, jinými ROBO TX kontrolery a mobilními telefony.
K čemu slouží jednotlivé části? Viz strana 3 originálního návodu. 1. USB konektor (kompatibilní s 1.1) Pro spojení s PC. Kabel je přiložen. 2. Levé tlačítko výběru Ovládá se pomocí něj menu na displeji. Více informací dále v manuálu. 3. 9V=vstup, připojení dobíjecích baterií Toto spojení umožňuje přenosné napájení pomocí dobíjecích baterií fischertechnik (nepřiloženo v balení) jako alternativní způsob napájení jednotky. 4. Displej Displej zobrazuje stav kontroleru, které programy byly načteny a kde se nacházíte v menu. Lze zde vybírat funkce a programy, aktivovat a deaktivovat je. Když je program spuštěný, můžete zobrazit hodnoty proměnných nebo hodnoty analogových senzorů. 5. Vypínač Zapíná a vypíná kontroler. 6. Pravé tlačítko výběru Ovládá se pomocí něj menu na displeji. Více informací dále v manuálu. 7. 9V = vstup, DC jack socket Zde se připojuje napájení pomocí Power Set nebo Energy Set (nepřiloženy v balení). U kontroleru je přiložen odpovídající kontroler. 8. EXT 2, připojení pro rozšíření Skrze toto spojení lze připojit přídavné ROBO TX kontrolery, abyste mohli zvýšit počet vstupů a výstupů. Navíc obsahuje rozhraní I²C pro budoucí rozšíření. 9. Výstupy M1-M4 nebo O1-O8 K výstupům lze připojit čtyři motory. Také lze připojit osm lamp nebo elektromagnetů, jejichž druhý pól je připojen k uzemnění. 10. Vstupy C1-C4 Rychlé výpočetní vstupy zaznamenávají pulzy až do 1kHz (1000 pulzů za sek.), například z motoru s enkódérem z ROBO TX Training Lab Construction Set. Lze je také použít jako digitální vstupy, například pro tlačítkový přepínač. 11. 9V výstup Napájí senzory, které vyžadují pracovní napětí 9V = jako senzory barvy, senzory trasy, ultrazvukové
senzory vzdálenosti a magnetické enkódéry. 12. Připojení kamery Možné připojení pro modul kamery (v době tisku návodu dosud v přípravě). 13. Univerzální vstupy I1-I8 Jedná se o vstupy využitelné k mnoha účelům. Lze je nastavit pomocí softwaru ROBO Pro pro: - Digitální senzory (tlačítkové přepínače, kontakty, fototransistory) - digitální 5kΩ - Infračervené senzory trasy - digitální 10V - Analogové senzory 0-5kΩ (NTC rezistory, fotorezistory a potenciometry) - Analogové senzory 0-10V (senzory barvy) zobrazení hodnoty v milivoltech (mV) - Ultrazvukové senzory vzdálenosti (pouze u verze TX s propojením třemi vodiči) 14. EXT 1, připojení pro rozšíření Pomocí tohoto spojení můžete připojit přídavné ROBO TX kontrolery, stejně jako k EXT 2, aby se navýšil počet vstupů a výstupů.
Instalace softwaru Software určený pro ROBO TX kontroler: ROBO Pro verze 2.0 nebo vyšší. V příručce k softwaru ROBO Pro je popsáno mimo jiné následující: - Inst-alace ROBO Pro do počítače. - Instalace USB ovladače pro ROBO TX kontroler pro operační systém Windows.
Menu nastavení Pro přehled menu se podívejte na stranu 25 originálního návodu. Pro další ilustrace také nahlížejte do manuálu. Menu detailně Pohyb pomocí tlačítek výběru - Když stisknete levé tlačítko výběru, posune se označení položky o řádek dál. Dvojím kliknutím se změní směr posunu. Ve stavovém okně má levé tlačšítko výběru funkci funkce start a stop. - Když stisknete pravé tlačítko výběru, je potvrzen předchozí výběr. Tímto způsobem se pohybujete do dalšího menu nebo aktivujete a deaktivujete jisté funkce. V další stavovém okně se můžete vždy přesunout do hlavního menu pomocí pravého tlačítka výběru. - Pokud vyberete "Back", vždy se vrátíte do předchozího menu. Nejprve musíte nastavit jazyk. Jako základní nastavení je angličtina. Změni jazyk můžete pomocí Menu/Settings/Language. Potvrďte pomocí OK. Poznámka! Symbol "/" se používá pro oddělení různých textů, které se mají mohou objevit na stejném řádku. Stavové okno (ROBO TX) - Řádek 1: Local/Online Local: Žádná výměna dat s PC (jako master*) nebo žádné spojení s master (jako extensionrozšíření*). Online: Master* si vyměňuje data s PC nebo rozšíření* je spojeno s master*. - Řádek 2: No program file loaded/loaded: název programu/started: název programu Zobrazuje, zda je načten soubor programu načten a pokud ano, tak v jakém je stavu. -Řádek 3: Master*/Extension* 1-8 Zobrazuje, pro kterou funkci byl kontroler nastaven, master* nebo extension*. Změny jsou možné v
menu "Role". * Master: kontroler, který je nastaven jako master, dostává příkazy přímo z PC a posílá je na rozšížení. Extension(rozšíření): kontroler, který je nastaven jako extension dostává příkazy pouze skrze master. - Řádek 4: Ext. Zobrazuje, které rozšíření je připojeno, například 1, 2, ...8 (zobrazuje se jedině, pokud je připojeno rozšíření). -Spodní řádek: Start/Stop Spustí nebo zastaví program. Pole Start/Stop se ukáže pouze když byl soubor programu přenesen stažení z PC do kontroleru nebo byl načten do flash paměti paměti programu. Hlavní menu (Menu) - Řádek 1: File Vede do menu výběru souboru - Řádek 2: Settings Vede do menu nastavení - Řádek 3: Info Vede k zobrazení informací. Výběr souboru (File) Pokud byly soubory programu převedeny stažením z PC do kontroleru, budou vypsané zde. Mohou být vybrány, mohou ji být dány funkce spuštění nebo mohou být smazány. R/ : soubor je v RAM. F/ : soubor je v paměti flash. Pokud je před souborem (AL) nebo (AS), pak u tohoto souboru je aktivováno Auto Load nebo Auto Start, například (AS)F/ROB3. - Clear Program Memory Výběrem této položky a potvrzením pomocí OK odstraníte program načtený do programové paměti. Programy ve flash paměti zůstanou. Nastavení (Settings) - Řádek 1: Role: Master/Extension Vede do menu Role. Zde můžete nastavit, zda bude kontrolet master nebo rozšíření. - Řádek 2: Language: German/English/... Vede do menu nastavení jazyka. - Řádek 3: Bluetooth: Vede do menu Bluetooth - Řádek 4: Restore defaults: Nastaví původní základní nastavení. Informační okénko (Info) - Řádek 1: Firmware: Zobrazí verzi formwaru*. - Řádek 2: Name: Zobrazí název zařízení, například ROBO TX 622. - Řádek 3: Bluetooth: Definuje identifikační Bluetooth kód pro zařízení (Bluetooth standard) * Firmware je operační software pro kontroler.
Role Zde můžete kontroleru přiřadit roli master nebo extension 1 až 8. Pouze vyberte a potvrďte pomocí OK. Jazyk (Language) Zde lze změnit jazyk. Vyberte a potvrďte pomocí OK. Bluetooth Pokud je vybrán jeden z řádků 1 až 5, otevře se menu, ve kterém můžete zapnout nebo vypnout určitou funkci. - Řádek 1: Bluetooth: Zde se zapíná a vypíná funkce Bluetooth. - Řádek 2: Device discoverable Pokud je tato funkce zapnuta, ostatní Bluetooth zařízení mohou identifikovat ROBO TX kontroler. - Řádek 3: Device connectable Pokud je tato funkce zapnuta, pak ROBO TX kontroler dovoluje ostatním zařízením, aby se propojila pomocí Bluetooth s kontrolerem. - Řádek 4: Paired devices Zobrazí, kolik zařízení je připojeno skrze Bluetooth s kontrolerem. - Řádek 5: Restore defaults: Obnoví původní nastavení.
Zapnutí Když připojujete kontroler poprvé k PC, musíte na PC nainstalovat ovladač pro USB rozhraní. Detaily najdete v příručce "ROBO Pro Software". 1. Připojte USB kabel k PC. 2. Zapojte napájecí jednotku do zásuvky nebo připojte baterie. 3. Zapojte malou zástrčku napájecí jednotky do 9V = IN vstupního jack socketu (7) na kontroleru (pokud je potřeba, ke kontroleru je přiložen adaptér). 4. Zapněte kontroler pomocí vypínače (5). 5. Na krátký okamžik se objeví zpráva uvítání spolu s číslem verze firmwaru. Poté se ukáže stavové okno. Toto je počáteční bod pro navigaci v menu kontroleru.
Výběr a spuštění programu 1. Nejprve musíte přesunout program stáhnutím z PC do ROBO TX kontroleru. Test spojení a přesný postup jsou popsány v příručce "ROBO Pro Software". Po stažení: 2. Program se spustí automaticky se základním nastavením. 3. Sekvence se zastaví stisknutím levého tlačítka výběru (2). Změny chování při spuštěn mohou být přiřazeny individuálně jakémukoliv programu, například Auto Start nebo Auto Load. Toto je možné v menu X/Program name Menu|Settings|File|R/Program name nebo F/Program name |...
Vypnutí Přepněte vypínač (5) na pozici OFF a poté odpojte napájecí jednotku ze zásuvky.
Rozšíření Pomocí speciálních spojení je možné připojit více ROBO TX kontrolerů nebo kameru.
Přídavné ROBO TX kontrolery Počet vstupů a výstupů se dá rozšířit pomocí dalších kontrolerů . Jsou připojeny pomocí speciálních spojení EXT 1 a EXT 2. 1. Poskytněte napájení pomocí napájecí jednotky nebo dobíjecí baterie. 2. Přidejte novému kontroleru funkci jako extension 1, 2, ... nebo 8: Menu|Settings|Role|Extension 1, 2, ... nebo 8 | OK 3. Připojte kontroler s ostatními pomocí přiloženého kabelu. Nezáleží na tom, zda pro toto spojení použijete EXT 1 nebo EXT 2. 4. Nové rozšíření se ukáže na posledním řádku stavového okna pro kontroler. Kamerový senzor V době tisku manuálu je stále v přípravě. Rozhraní I²C Toto standardní rozhraní je určeno pro budoucí rozšíření, například speciální senzory.
Spojení Bluetooth Spojení Bluetooth mezi ROBO TX kontrolerem a PC Toto Bluetooth spojení nahrazuje USB kabel pomocí bezdrátové komunikace. Díky němu může ROBO TX kontroler dostávat a vysílat informace v online módu, což znamená, že program je spuštěný na PC a probíhá neustálá výměna dat mezi PC a ROBO TX kontrolerem. Pomocí tohoto spojení můžete také stahovat programy do kontroleru a tyto programy mohou být poté nezávisle zpracovávány bez potřeby PC. Požadavky PC schopné komunikace přes Bluetooth nebo běžně dostupné USB Bluetooth zařízení s Windows kompatibilním Bluetooth radio čipem. Windows XP se service pack 2 nebo Windows Vista. Seznam otestovaných zařízení, s nimiž nebyl problém, naleznete na www.fischertechnik.de Computing - Downloads - ROBO TX Controller Zde se také nachází detailní popis instalace Bluetooth spojení mezi PC a ROBO TX kontrolerem. Pro Bluetooth profesionály není třeba dalších pokynů: ROBO TX kontroler využívá jako hlavní klíč číselnou sekvenci 1234. Informace o rozsahu Rozsah je zhruba 10 metrů a závisí na kvalitě USB Bluetooth zařízení a podmínkách prostředí (rušení z jiných zařízení, překážky). Bluetooth spojení mezi více ROBO TX kontrolery V módu stahování si může ROBO TX kontroler vyměňovat data s až sedmi dalšími ROBO TX kontrolery. Když je toto hotovo, každé zařízení sem může spojit s každým dalším účastníkem a přenášet nebo přijímat data skrze toto spojení. (Viz obrázek na straně 32 originálního návodu.) ROBO Pro obsahuje speciální programové prvky pro ustálení a ukončení spojení a pro přenášení a přijímání informací. Další informace o tomto operačním módu se dají najít pomocí online help pro software ROBO Pro verzi 2.0 a novější.
Bluetooth spojení mezi ROBO TX kontrolerem a dalšími zařízeními, například mobilním telefonem V zásadě může ROBO TX kontroler komunikovat s jinými Bluetooth zařízeními, například mobilními telefony. Pro to musí mít toto zařízení speciální komunikační software, který je adaptován na ROBO TX kontroler. Jelikož lze v této oblasti očekávat postupné změny, aktuální informace naleznete na www.fischertechnik.de - Computing - Downloads - ROBO TX Controller
Chyby Elektromagnetické interference Pokud je kontroler ovlivněn vnějšími elektromagnetickými vlivy, stále jej lze použít po konci interferencí k jeho normálnímu účelu. Je možné, že se na chvíli přeruší napájení a kontroler se restartuje. Chybové hlášky (z kontroleru nebo ROBO Pro software) Chyba Příčina
Řešení
Program version error
ROBO Pro program, který Načtěte program pomocí nejnovější chcete načíst spustit, náleží verze ROBO Pro. starší verzi firmwaru a není již kompatibilní.
Program error 1
Počet procesů v programu V záložce "Roles" v ROBO Pro ROBO Pro je vyšší, než je programu navyšte "minimum number možné maximum. of processes".
Program error 2
Minimální paměť na proces je a) V záložce "Roles" programu ROBO příliš malá. Pro navyšte "minimum memory per process (download)". b) Proměnná programu se sama nazvala nekonečnou a způsobila přeplnění paměti. Změňte program, aby nedocházelo k tomuto jevu.
Program file open failure Soubor programu nelze otevřít, Načtěte znovu soubor programu do protože byl vymazán z flash kontroleru. paměti. Program file read failure Soubor programu nelze přečíst, Soubor programu musí být protože je příliš velký a nevejde přeprogramován tak, aby vyžadoval se do programové paměti. méně paměti.
Technická data Rozměry a hmotnost 90x90x15mm 90g Paměť a procesor 8 MB RAM, 2 MB flash 32-bit ARM 9 procesor (200 MHz) programovatelný pomocí softwaru ROBO Pro nebo C kompileru (nepřiložen). Napájení (nepřiloženo) Set dobíjecích baterií (8.4 V, 1500 mAh) nebo
napájecí set (9 V, 1000 mA) Rozhraní USB 2.0 (kompatibilní s 1.1), max. 12 MB, mini-USB jack socket. Bluetooth rozhraní (2.4 GHz, dosah cca 10m). 2 rozšiřující spojení: RS 485, I²C (pouze EXT 2). Přiřazení pinů EXT 1 6 5 4 3 2 1 6: Nepřipojeno 4: RS485-B 2: Nepřipojeno
5: Nepřipojeno 3: RS485-A 1: GND
Přiřazení pinů EXT 2 6 5 4 3 2 1 6: I²C hodiny 4: RS485-B 2: 5 V DC výstup
5: I²C data 3: RS485-A 1: GND
Vstupy a výstupy signálu 8 univerzálních vstupů: digitální, analogové 0-9 V DC, analogové 0-5kΩ 4 rychlé výpočetní vstupy: digitální, frekvence až 1 kHz 4 výstupy motorů 9 V, 250 mA, volitelná rychlost, ochrana před zkratem, alternativně 8 individuálních výstupů. Displej 128x64 pixelů, monochrome
Informace o ochraně životního prostředí Nevyhazujte elektrické a elektronické komponenty této stavebnice jako motory, lampy a senzory, do směsného odpadu. Poté, co přestanou fungovat, je odevzdejte na určeném sběrném místě.
Instalace Bluetooth pro Bluetooth zařízení pod Windows XP (podobné u Windows Vista) Požadavky: Windows XP Service Pack 2 nebo novější (Počítač -> vlastnosti -> obecné)
Zapojte Bluetooth zařízení do volného USB portu. Windows automaticky začne načítat předinstalované ovladače a za chvíli oznámí, že je zařízení připraveno k použití. Poznámka: Vždy byste se měli snažit používat předinstalované Windows ovladače namísto speciálních ovladačů, které bývají přiloženy na CD u Bluetooth zařízení. Tím zajistíte, že spojení Bluetooth mezi PC a ROBO TX kontrolerem bude snadno navázáno. V tuto chvíli by se měla v ovládacích panelech objevit ikona Bluetooth zařízení, která značí, že existuje Bluetooth rozhraní:
Ikona Bluetooth zařízení by se měla ukázat i v hlavn liště Windows. Správnou instalaci můžete také potvrdit ve správci zařízení (Počítač->vlastnosti->hardware-> správce zařízení) tak, že bylo přidáno několik položek:
Když nyní dvakrát kliknete na ikonu Bluetooth zařízení, objeví se následující okno:
Nyní klikněte na "Add..." (přidat) a zaškrtněte v následujícím oknu "My device is set up and ready to be found":
PC bude hledat jakékoliv blízké Bluetooth zařízení po zhruba dvaceti sekundách by se mělo objevit zařízení "ROBO TX":
Váš počítač může najít i jiná blízká zařízení jako další PC nebo mobilní telefony, které nás zde nezajímají. ROBO TX se samo ohlásí pod tímto názvem doplněným o sériové číslo, pokud mu nepřiřadíte jiný název. Takto můžete rozlišit několik zařízení stejného typu. Nyní vyberte zařízení "ROBO TX" a klikněte na "Next". Objeví se následující okno:
Vyberte "Use the passkey found in the documentation" a vložte číselnou kombinaci 1234. Jedná se o fixní klíč zakódovaný ve firmwaru, který neposkytuje vysokou úroveň bezpečnosti (která není potřeba), ale alespoň zabraňuje někomu jinému se pomocí rádia připojit k ROBO TX. Nyní klikněte na "Next" a automaticky se objeví následující oznámení:
...a nakonec se objeví toto (nebo podobné) okno:
Zapamatujte si informaci "Outgoing COM port" (zde COM3) pro pozdější použití k propojení kontroleru s ROBOPro pomocí Bluetooth. Dokud používáte standardní Windows Bluetooth ovladač, ROBOPro automaticky rozpozná, že je ROBO TX kontroler připojen k tomuto COM portu pomocí Bluetooth a podle toho to zobrazí pod COM/USB. Naneštěstí toto nefunguje, když používáte jiné Bluetooth ovladače. V tomto případě se musíte podívat na všechny možné COM porty v ROBOPro pod COM/USB a vybrat správný (zde COM3). Tímto procesem bylo mezi PC a ROBO TX kontrolerem vytvořeno trvalé spojení. Na obou stranách byly uloženy potřebné klíče. Tento proces spojení vám umožní automaticky obnovit Bluetooth spojení mezi oběma stranami (které jsou považovány za důvěryhodné) kdykoliv později otevřením COM portu. Pokud chcete toto spojení přerušit, klikněte dvakrát na ikonu Bluetooth zařízení v Ovládacích panelech, vyberte symbol "ROBO-TX" a klikněte na "Remove" (odstranit):
1. První kroky v ROBO Pro Spusťte program ROBO Pro. Klikněte na Start, vyberte Programy a poté ROBO Pro. V této složce uvidíte následující:
Položka Uninstall vám umožní odinstalovat ROBO Pro. Pomocí Help můžete otevřít sourob s pomocí a ROBOPro otevře přímo program ROBO Pro. Pro spuštění programu vyberte ROBO Pro.
Okno obsahuje nahoře lištu s menu a lištu s nástroji s různými funkčními tlačítky. Lišta nalevo obsahuje prvky programu. Pokud nalevo vidíte dvě okna, ROBO Pro není nastaven na úroveň 1. Abyste program přizpůsobovali ROBO Pro svým vzrůstajícím znalostem, můžete jej nastavit od úrovně 1 pro začátečníky do úrovně 5 pro experty. Podívejte se do menu Level, zda je zaškrtnutá položka Level 1: Beginners. Pokud ne, přepněte na úroveň 1. ROBO Pro je konfigurován, aby byl používán jako rozhraní ROBO TX kontroleru. To vidíte díky přítomnosti tlačítka ROBO TX v nástrojové liště. V pozdějších částech návodu se dozvíte, jak přepnout na dřívější ROBO rozhraní, a na co si máte dávat pozor. Nyní můžete buď vytvořit nový soubor programu nebo otevřít již existující soubor. Až do kapitoly 3 nebudeme tvořit nové programy. Abyste se seznámili s uživatelským rozhraním, otevřete již existující ukázkový program. Klikněte v menu File na položku Open nebo použijte tlačítko Open v nástrojové liště. Ukázkové soubory naleznete ve složce C:\Program Files\ROBOPro\Sample Programs
Otevřete soubor \Level3\Motor start stop.rpp:
Zde vidíte, jak vypadá program ROBO Pro. Při programování tvoříte vývojové diagramy ovládacího programu pomocí prvků programu z okna prvků. Dokončený vývojový diagram můžete před ozkoušením zkontrolovat pomocí napojeného rozhraní fischertechnik. Nespěchejte, naučíme se v následujících kapitolách programování krok za krokem! Jelikož jste si prohlédli uživatelské rozhraní, zavřete program pomocí příkazu Close v menu File. Na dotaz, zda chcete uložit soubor, můžete dát No.
2. Rychlá zkouška hardwaru před programováním Je jasné, že rozhraní musí být připojeno k PC, abyste mohli zkoušet programy, které později vytvoříte. Ale v závislosti na rozhraní (ROBO TX Controller nebo ROBO-Interface) musíte také vyrobit a otestovat správná nastavení propojení rozhraní. To učiníme v následující kapitole. 2.1 Propojení rozhraní k PC Toto by neměl být velký problém. Spojovací kabel přiložený k rozhraní je připojen k rozhraní a k portu na PC: - S ROBO TX Controller lze použít USB port. - S ROBO Interface (položka 93293) můžete použít buď USB port nebo jeden ze sériových portů COM1 až COM4. Spojení pro tyto porty normálně naleznete na zadní straně počítače. Přesné umístění se může lišit. USB porty bývají také často na přední straně počítače. Nezapomeňte poskytnout rozhraní zdroj napájení (hlavní jednotku nebo baterii). jednotlivá spojení rozhraní jsou popsána do detailu v manuálu daného vybavení. 2.2 Získání správného spojení - nastavení rozhraní Aby spojení mezi rozhraním a PC fungovalo správně, ROBO Pro musí být nakonfigurován na právě používané rozhraní. Pro toto nastavení spusťte ROBO Pro pomocí položky ROBO pro v menu Start pod Programy a ROBO Pro. Poté klikněte na COM/USB v nástrojové liště. Objeví se následující:
Zde můžete vybrat port, stejně jako typ rozhraní.
Jakmile vyberete odpovídající nastavení, zavřete okno pomocí OK. Nyní otevřete okno testu roznraní pomocí tlačítka Test na nástrojové liště.
Zobrazí vstupy a výstupy možné v rozhraní. Zelená lišta v levé spodní části okna zobrazuje stav spojení PC a rozhraní: - Connection: Running potvrzuje správné připojení rozhraní. - Connection: Stopped značí, že spojení nebylo správně nastaveno a PC není schopen ustálit spojení s rozhraním. V tomto případě je lišta červená. Abyste byli schopni změnit nastavení rozhraní nebo spojení, musíte zavřít okno testu (pomocí X v pravém horním rohu) a vybrat jiný port nebo jiný typ rozhraní, jak bylo předtím popsáno, skrze tlačítko COM/USB v nástrojové liště. Pokud jste byli schopni nastavit sapojení mezi PC a rozhraním, jak je popsáno, a objevila se zelená lišta, můžete přeskočit následující část textu. Pokud ne, možná vám rady v následující části přijdou vhod. 2.3 Špatné spojení: žádné spojení k rozhraní?! Když se objeví zpráva Stopped, i když jste na rozhraní nastavili port správně (viz výše), měli byste zkontrolovat následující body. Pro tento účel možná budete potřebovat pár rad od počítačového experta: - Zdroj napájení: Má rozhraní odpovídající zdroj napájení? Pokud používáte jednorázové nebo dobíjecí baterie, je značná šance, že jsou vybité nebo slabé. Pokud se napětí baterie dostane pod 6 V, procesor ROBO TX kontroleru může přestat pracovat. V tomto případě displej přestane zobrazovat informace. Pokud je napětí příliš nízké, musíte vyměnit nebo dobít baterie nebo rozhraní nabíjet pomocí nabíjecí jednotky. - Byl správně nainstalován USB ovladač? Toto můžete zjistit kontrolou Správce zařízení s Ovládacích panelech, zda se tam nachází mezi spojeními (COM a LPT) položka fischertechnik USB ROBO TX Controller a funguje dobře. Pokud se tato položka neobjeví, nainstalujte USB ovladač znovu. Pokud se objeví chyba, odinstalujte ovladač (klikněte na na odpovídající položku) a nainstalujte jej znovu.
- Nedošlo ke konfliktu s jiným ovladačem zařízení na stejném portu, například modemem? Tento ovladač bude možná třeba deaktivovat (viz příručka k Windows nebo zařízení). - Pokud nemůžete ustálit spojení s rozhraním, je možné, že na viněnení rozhraní ani spojení. V takovém případě byste měli kontaktovat servis. 2.4 Vše pracuje - test rozhraní Jakmile bylo správně nastaveno rozhraní, můžete použít test rozhraní k testu ROBO TX kontroleru a k němu připojených modelů. Testovací okno zobrazí různé vstupy a výstupy kontroleru: - Univerzální vstupy I1-I8 I1-I8 jsou univerzální vstupy kontroleru ROBO TX. Zde mohou být připojeny různé typy senzorů. Nachází se zde digitální a analogové senzory. Nastavte univerzální vstupy v závislosti na typu senzoru, který chcete připojit. - Digitální senzory mohou mít stav 0 a 1 nebo ano a ne. Základně jsou ona univerzální vstupy nastaveny na vstupní typ Digital 5kOhm. Přepínače (mini tlačítka), stejně jako fototranzistory (světelné senzory) nebo magnetické senzory mohou být napojeny na tyto digitální vstupy. Můžete zkontrolovat funkci těchto vstupů připojením mini senzoru (položka 37783) k rozhraní. například k I1 (použijte na přepínači kontakty 1 a 3). Jakmile stisknete tlačítko, objeví se na displeji I1 potvrzení. Když jste připojili přepínač opačně (kontakty 1 a 2), objeví se potvrzení ihned a zmizí, když stisknete tlačítko. - Nastavení Digital 10V se používá pro infračervené senzory trasy. - Nastavení Analog 10V se používá pro senzory barvy nebo k měření napětí mezi 0 a 10 V jako například napájecí napětí baterií. Napětí je zobrazeno v mV (milivolty). - Analog 5kOhm se používá pro NTS rezistory k měření teplot a pro fotorezistory k měření jasu světla. Zde se hodnoty zobrazují v Ohmech (Ω=elektrický odpor). - Nastavení Distance se používá pro ultrazvukové senzory vzdálenosti (pro ROBO TX kontroler lze použít pouze verzi TX vzdálenostního senzoru s třípinovým propojovacím kabelem, položka 133009). - Výpočetní vstupy C1-C4 Tyto vstupy vám umožňují počítat rychlé pulzy s frekvencemi až do 1000 pulzů za sekundu. Také je můžete použít jako digitální vstupy pro tlačítka (nevhodné pro senzory trasy). Když propojíte tlačítko k tomuto vstupu, každé tlačítko (=pulz) navýší hodnotu čítače o 1. Toto vám dovoluje například nechat robota jet po určitou vzdálenost. - Výstupy motorů M1-M4 M1-M4 jsou výstupy z rozhraní. Zde jsou připojeny takzvané aktuátory. Může se jednat například o motory, elektromagnety nebo lampy. Čtyři výstupy motorů mohou být ovládány, co se týče rychlosti a směru. Rychlost je ovládána pomocí posuvníku. Můžete si vybrat hrubé rozlišení s osmi stupni rychlosti nebo jemné rozlišení s 512 stupni. Programovací prvky v úrovni 1 a 2 používají pouze hrubé rozlišení, ale od úrovně 3 vám prvky dovolí používat jemné rozlišení. Rychlost je zobrazena
vedle posuvníku číselně. Pokud chcete ozkoušet výstup, připojte motor k výstupu, například M1. - Výstupy lamp O1-O8 Každý výstup motoru může být také použit jako dvojice samostatných výstupů. Ty lze použít nejen k ovládání lamp, ale také motorů, které se musí pohybovat pouze v jednom směru (například běžící pás). Pokud chcete ozkoušet jeden z těchto výstupů, propojte jeden kontakt lampy, například O1. Propojte kontakt druhé lampy s jednou ze zemnicích přípojem na R (┴). -Rozšiřovací moduly ROBO TX kontroler připojený k PC skrze USB port (=master) může přijmout až osm dalších ROBO TX kontrolerů jako rozšíření (viz manuál k ROBO TX kontroleru). Tato tlačítka vám umožňují vybrat, které z připojených zařízení chcete ovládat pomocí testovacího okna.
3. Úroveň 1: Váš první ovládací program Po ozkoušení hardwaru se dostáváme k programování. Co vlastně programování znamená? Představte si robota připojeného k našemu rozhraní. Tento robot je ale tak hloupý, že sám nemůže nic udělat. Naštěstí jsme my chytřejší. Můžete robotovi říst, co všechno může sám dělat. Jak? Co se stalo, když jste v poslední kapitole použili tlačítko myši k nastavení výstupu motoru M1 "doleva"? Správně, zapnuli jste motor. Pokud by tento motor například řídil klepeto tohoto robota, bylo by to jako robotovi říct "Vezmi ten předmět!" Nyní ale nechceme začínat každý krok ručně, raději by to měl robot dělat automaticky. Abychom tohoto dosáhli, musíme uložit jednotlivé kroky, aby se jimi mohl robot progracovat jedním po druhém. Musíme vytvořit program, který bude ovládat robotovo chování. Technický termín pro toto je ovládací program. 3.1 Vytvoření nového programu ROBO Pro software nám dává skvělý nástroj pro návrhy těchto kontrolních programů a jejích zkoušení za pomoci připojeného rozhraní. Nebojte se, nebudete robota programovat hned. Nejprve bychom se měli seznámit s jednoduchými úkoly. Musíme vytvořit nový program. V nástrojové liště najdete položku New. Klikněte na ni a otevře se nový program.
Nyní vidíte velkou bílou podložku, na níž vložíte svůj ptvní program. Pokud vidíte nalevo dvě okna, přepněte na Level 1: Beginners v menu Level.
3.2 Prvky ovládacího programu Nyní můžeme začít tvořit první ovládací program. Učiníme tak na základě konkrétního příkladu: Popis funkce: Představte si garážová vrata, která mohou být automaticky otvírána. Možná taková máte doma. Přijedete k vratům autem a stiskem tlačítka na dálkovém ovládání se dveře, poháněné motorem, otevřou. Motor musí být spuštěný, dokud nejsou vrata zdela otevřená. Slovy se podobný kontrolní program popisuje těžko. Raději si ukážeme vývojový diagram, jaký se používá k zobrazení sekvence akcí, které budou učiněny, a podmínek, které jsou potřeba k těmto akcím. V případě našeho ovládacího systému je podmínkou akce "spuštění motoru" to, že stisknete tlačítko. Čtení ve vývojových diagramech je jednoduché. Prostě postupujte po šipkách krok za krokem! To vám ukáže přesně, jak funguje systém ovládání. Jednotlivé kroky mohou být vykonány v pořadí podle šipek, nikdy jinak. Pomocí softwaru ROBO Pro můžeme nakreslit pečlivě tento vývojový diagram a díky tomu vytvořit ovládací program pro připojený hardware (rozhraní, motory, přepínače, atd.). Software udělá zbytek. Takto to probíhá například i v továrnách. Můžeme se soustředit čistě jen na tvorbu vývojového diagramu. Dejte vývojový diagram dohromady z programovacích prvků. V ROBO Pro se dávají jednotlivé prvky dohromady tak, aby vytvořily vývojový diagram. Akce "zapnout motor" znamená pouze to: rozhraní by mělo zapnout připojený motor. Dostupné programovací prvky najdete v okně na levé straně. 3.3 Vkládání, pohyb s a modifikování programovacích prvků Nyní jen vytvořte vývojový diagram pro svá garážová vrata pomocí programovacích prvků obsažených v příslušném okně. Všechny prvky lze přetáhnout z okna prvků a vložit do okna programování. Vkládání programovacích prvků Klikněte jednou levým tlačítkem myši na vámi požadovaný prvek. Poté přesuňte myš do okna programování (velká bílá plocha) a znovu klikněte. Prvky můžete také přetahovat přidržením tlačítka myši. program vždy začíná prvkem Start. Prvek Start je kulatý obrázek se zeleným panáčkem ze semaforu. Nejlepší je tedy to zkusit s tímto prvkem: Klikněte na něj jednou levým tlačítkem myši a poté klikněte na bílou plochu.
Dalším prvkem je vstup, který se rozvětvuje dál v závislosti na stavu. Klikněte na prvkem, který vidíte na obrázku a přesuňte myš pod předtím vybraný prvek Start. Pokud je prvek vstupu jeden nebo dva body pod vývodem prvku Start, objeví se spojující čára. když znovu kliknete, rozvětvovací prvek se vloží a automaticky propojí s prvkem Start. Posun programovacích prvků a skupin Programovací prvek může být posunut na žádanou pozici po vložení, když přidržíte levé tlačítko myši. Pokud chcete posunout jako skupinu několik prvků, můžete kolem nich načrtnout rámeček, zatímco přidržíte levé tlačítko myši. Abyste tak učinili, klikněte levým tlačítkem do prázdného místa, nechte tlačítko stisknuté a použijte myš k načrtnutí rámečku, který obsáhne požadované prvky. Prvky v rámečku jsou nyní zobrazeny s červeným okrajem. Pokud pomocí myši pohnete s jedním červeně označeným prvkem, pohnout se všechny červeně označené prvky. Můžete také označit jednotlivé prvky klikáním na ně, zatímco držíte klávesu shift. Když kliknete levým tlačítkem do prázdného místa, všechny červeně označené prvky se zase zobrazí normálně. Kopírování programovacích prvků a skupin Programovací prvky a skupiny lze kopírovat dvěma způsoby. Můžete pokračovat přesně jako při přesouvání, až na to, že stisknete na klávesnici klávesu CTRL, než budete s prvky pohybovat. V tomto případě se prvky nepohnout, ale budou zkopírovány. Nicméne pomocí této funkce můžete kopírovat prvky pouze v rámci programu. Pokud chcete kopírovat prvky z jednoho programu do druhého, můžete použít přechodnou paměť. Nejprve vyberte některé prvky, jak je popsáno v předchozí části o přesunu prvků. Nyní stiskněte na klávesnici CTRL+C nebo klikněte na Copy v menu Edit. Všechny vybrané prvky budou zkopírovány do přechodné paměti. Nyní můžete otevřít jiný program a vložit prvky sem pomocí CTRL+V nebo Edit/Paste. Jakmile jsou prvky zkopírované, můžete je vložit několikrát. Pokud chcete prvky přesunout z jednoho programu do druhého a v tom prvním je nechcete zachovat, můžete též použít CTRL+X nebo Edit/Cut. Mazání prvků a funkce Undo (zpět) Mazání prvků je velmi snadné. Můžete smazat všechny červeně označené prvky (viz předchozí sekce) stiknutím klávesy Delete na vaší klávesnici. Také můžete mazat jednotlivé prvky pomocí funkce Delete. Nejprve klikněte na tlačítko na nástrojové liště a poté na prvek, který chcete smazat. Zkuste to. Smazaný prvek můžete znovu vložit. Nebo také můžete vrátit smazaný prvek pomocí funkce Undo v menu Edit. Pomocí této položky menu můžete vrátit jakékoliv změny v programu.
Editace vlastností programovacích prvků Když kliknete v programovacím okně na prvek pravým tlačítkem myši, objeví se dialogové okno, v němž můžete měnit vlastnosti prvku. - Tlačítka I1 až I8 vám dovolují vkládat, který ze vstupů rozhraní má být použit. Vstupy C1D-C4D odpovídají výpočetním vstupům, pokud je použijete jako digitální vstupy. Se vstupy M1E-M4E se seznámíme později. - Přídavné vstupy C1D-C4D a M1E-M4E jsou popsány v sekci 8.1.3. - Výběr Interface/Extension (rozhraní/rozšíření) je vysvětlen až v kapitole 7. - U Sensor type můžete vybrat senzor připojený ke vstupu. Digitální vstupy se většinou používají a tlačítkovými senzory, ale často také s fototranzistory nebo magnetickými senzory. Výběrem senzorů automaticky nastavíte požadovaný typ vstupu pro univerzální vstupy I1-I8 na ROBO TX kontroleru. - U Interchange 1/0 connections můžete změnit pozici 1 a 0 u již existujícího větvícího se prvku. Normálně je 1 dole a 0 jde napravo. Někdy je ale praktičtější mít 1 vpravo. Stiskněte Interchange 1/0 connections a 1 a 0 se vymění, jakmile zavřete pomocí OK okno. Rada: Když připojíte mini senzor jako "uzavírač" pomocí spojení 1 a 3 na přepínači, program se přesune k větvi "1", když je přepínač stlačen, jinak k větvi "0". Když připojíte mini senzor jako "otevírač" pomocí spojení 1 a 2 na přepínači, program se přesune k větvi "1", když je přepínač stlačen, jinak k větvi "0". Dalším prvkem v našich garážových vratech je prvek motoru. Vložte jej do propgramu, jako jste udělali s předchozími prvky, tentokrát pod prvek rozvětvení. Je nejlepší umístit prvek takovým způsobem, aby se automaticky připojil k prvku nad sebou. Prvek motoru dovoluje zapínat a vypínat motor, lampu nebo elektromagnet. Opět otevřete vlastnosti pro prvek motoru pravým kliknutím myši. - Můžete si vybrat výstupy rozhraní pomocí tlačítek M1 až M4. - U Image si můžete vybrat obrázek, který bude reprezentovat komponent připojený k výstupu. - Výběr Interface/Extension (rozhraní/rozšíření) je vysvětlen až v kapitole 7. - U Action můžete vybrat, jak bude výstup ovlivněn.
Můžete spustit motor ve směru doleva (proti směru hodinových ručiček) nebo doprava (po směru hodinových ručiček) nebo jej zastavit. Můžete zapnout nebo vypnout lampu. - U Speed/Intensity můžete nastavit rychlost, kterou bude motor pracovat nebo jak jasně bude svítit lamp. Možné hodnoty jsou 1 až 8. Pro náš vývojový diagrem budeme potřebovat příkaz Motor M1 doleva s rychlostí 8. 3.4 Propojování programovacích prvků Nyní již víte, jak vkládat prvky do ovládacího programu. Můžete tak pokročit s dokončením programu. Vzpomeňte si na vysvětlení fungování garážových vrat. Nechybí něco? Sice jsme stisknutím tlačítka spustili motor, ale jakmile jsou dveře otevřené, motor se musí automaticky vypnout! V praxi se toto dělá takzvaným koncovým přepínačem. Jedná se o senzor připojený ke garážovým dveřím takovým způsobem, že se spustí, v momentě, kdy motor plně otevřel dveře. Jako v případě zapnutí motoru může být tento signál použit i k vypnutí. Pro ukončovací přepínač můžeme opět použít rozvětvovací prvek. Vložte do programu další rozvětvení. Takové, které bude kontrolovat koncový přepínač na vstupu I2. Nezapomeňte kliknout levým tlačítkem na prvek a nastavit vstup na I2. Jakmile se vrata garáže otevřou a koncový přepínač byl spuštěn, motor by se měl zastavit. Toho dosáhnete pomocí prvku motoru. Začněte se stejným prvkem, který jste použili pro spuštění motoru. Když kliknete pravým tlačítkem na prvek, můžete změnit funkce prvku na Stop motor. Program je dokonce prvkem ukončení. Váš program by nyní měl vypadat jako na obrázku vpravo. Pokud jste neumístili prvky pod sebe s větší mezerou než dva body, většina vstupů a výstupů se ve vývojovém diagramu propojí pomocí šipek. Ještě ale nejsou propojené výstupy Ne (N) na dvou rozvětvovacích prvcích. Dokud nebyl stisknut přepínač na vstupu I1, program by se měl vrátit a opět čekat na přepínač. Abyste načrtli tuto linku, klikněte myší na místa v diagramu zobrazená níže.
Rada: Když je linie správně připojena ke spojení nebo jiné linii, zobrazí se to pomocí zeleného obdélníku na špičce šipky. V tomto případě musíte vytvořit spojení posunem linií nebo vymazáním a opětovním načrtnutím. Jinak nebude program plynout v tomto místě plynule.
Mazání programových linií Mazání linií funguje stejně jako mazání programovacích prvků. Jednoduše klikněte levým tlačítkem myši na linii, aby byla červeně označena. Nyní klikněte na tlačítko Delete pro smazání linie. Můžete také vybrat několik linií, když přidržíte klávesu shift a poté kliknete levým tlačítkem na další linie. Také můžete označit více linií načrtnutím rámečku kolem nich. Nyní můžete smazat všechny vybrané linie stisknutím klávesy Delete. 3.5 Zkouška vašeho prvního ovládacího programu Abyste ozkoušeli svůj první ovládací program, měli byste postavit malý model. Stačí připojit přepínač k I1 a I2 na rozhraní, stejně jako motor M1. Poznámka: Připojením rozhraní k PC a ustálení nastavení rozhraní již bylo popsáno v předchozí kapitole. Před zkouškou programu byste měli program uložit na pevný disk svého počítače. Klikněte na Save v menu File. Objeví se následující dialogové okno. Pod "Save in" vyberte složku, kam chcete uložit soubor. Zadejte dosud nezabraný název, například GARAZOVA VRATA a potvrďte levým kliknutím na "Save".
Pro otestování programu stiskněte tlačítko Start v nástrojové liště. Nejprve ROBO Pro provede test, zda jsou všechny prvky programu správně propojeny. Pokud by prvek nebyl správně propojen nebo by bylo cokoliv jiného v nepořádku, bude to označeno červeně a zobrazí se chybová hláška popisující, co je v nepořádku. Pokud jste například zapomněli propojit Ne (N) výstup z rozvětvovacího prvku, bude to vypadat následovně:
Pokud se objevila chybová hláška, musíte nejprve opravit nahlášenou chybu. Pokud tak neučiníte, program se nespustí. Poznámka: Plné vysvětlení tohoto módu je v sekci 3.7. První rozvětvovací prvek bude označen červeně. To značí, že program čeká u tohoto prvku na událost, konkrétně stisknutí tlačítka na I1, které má otevírat garážová vrata. Dokud nebyl stištěn přepínač na vstupu I1, program jde po větvi No (N) a vrací se zpět na začátek větve. Nyní stiskněte přepínač připojený ke vstupu I1 na rozhraní. Tím jste splnili podmínku pro pokračování a motor se zapne. V dalším kroku program čeká na stištění koncového spínačena vstupu I2. Jakmile spustíte koncový spínač na I2, programová větev přejde k druhému motorovému prvku a opět vypne motor. Program konečně dorazí na konec. Objeví se zpráva, že program byl ukončen. Všechno fungovalo správně? Gratulujeme! To znamená, že jste vytvořili a ozkoušeli váš první ovládací program. Pokud to nešlo správně - nevzdávejte to. Zkontrolujte všechno ještě jednou. Někde musí být skrytá chyba. Každý programátor dělá chyby a chybami se člověk učí. Hlavu vzhůru! 3.6 Další programovací prvky Pokud jste vyzkoušeli svůj první ovládací program na skutečném modelu garážových vrat, nyní budou otevřená. Jak je zavřete? Motor můžete jistě opět spustit pomocí tlačítka. My ale chceme jiné řešení, abychom se naučili něco o dalším programovacím prvku. Uložte program pod novým jménem (budeme později potřebovat současný vývojový diagram). 3.6.1 Doba prodlevy Než budete moct rozšířit vývojový diagram, musíte vymazat spojení meti "vypnout motor" a "konec programu" a přesuňte prvek konce dolů. Nyní můžete vložit nový programovací prvek mezi tyto dva prvky. Garážová vrata se automaticky zavřou po 10 sekundách. Pro tento účel můžete použít prvek Time delay. Pomocí kliknutí pravým tlačítkem myši můžete vybrat čas čekání. Vložte čas deseti sekund. Pro zavření garážových vrat musí motor jít na druhou stranu, takže doprava, po směru hodinových ručiček. Motor je poté vypnut dalším koncovým přepínačem na I3.
Dokončený vývojový diagram by měl vypadat jako ten napravo, pouze prvny budou všechny pod sebou v jednom sloupci. Jakmile nejsou ve vývojovém diagramu žádné chyby, můžete ozkoušet vylepšená garážová vrata pomocí tlačítka Start. Moto se zapne pomocí spínače na I1 a vypne pomocí spínače na I2. Takto se garážová vrata otevřou. Nyní bude program čekat deset sekund, což je námi nastavený čas. Poté se motor zapne ve druhém směru, dokud se nespustí spínač na I3. Měli byste také zkusit měnit čas prodlevy.
3.6.2 Čekání na vstup Spolu s prvkem prodlevy jsou tu další dva prvky, které na něco čekají, než programu dovolí pokračovat. Prvek Wait for Input čeká, dokud není jeden ze vstupů rozhraní v určitém stavu nebo se nějak nezměnil. Tento prvek má pět variant.
Můžete také použít kombinaci větvicích prvků, ale čekání na vstup je jednodušší a snadnější k pochopení. 3.6.3 Čítač pulzů Hodně modelů robotů fischertechnik také používá pulzní kolečka. Tato ozubená kolečka při každé otáčce čtyřikrát změní spojení spínače. S těmito pulzními kolečky můžete zapnout motor na přesně určený počet otáček, spíš než na určitou dobu. Budete potřebovat spočítat počet pulzů na vstupu rozhraní. Pro tento účetl je zde prvek Pulse counter, který čeká na uživatelem nastavený počet pulzů. V případě tohoto prvku můžete nastavit, zda jsou za pulzy považovány jakékoliv změny nebo jenom změny 0-1 nebo 1-0. S pulzními kolečky normálně čekáte na změny v jakémkoliv směru, takže rozlišení 8 kroků za otáčku získáte s 4 zuby kolečka.
3.6.4 Čítač cyklů Pomocí prvku Counter Loop můžete velmi snadno určité části programu několikrát opakovat. Zobrazený příklad má na M1 připojenou lampu, která se desetkrát rozsvítí a zhasne. Prvek čítače cyklů v době má zabudované počítadlo. Když program vstoupí do čítače vstupem =1, počítadlo je nastaveno na 1. Když program vstoupí do čítače vstupem +1, přidá se na počítadle 1. Podle toho, zda je počítadlo větší, než vámi stanovená hodnota, program opustí čítač větví Ano (J) nebo Ne (N). Výstup Ano je tak použit, když cyklus proběhl tolikrát, kolikrát jste nastavili. Pokud je třeba další průchod cyklem, program opustí čítač skrze větev Ne. Jako v případě rozvětvovacího prvku můžete vyměnit výstupy Ano a Ne skrze okno vlastností.
3.7 Online a download - jaký je rozdíl? Zatím jsme testovali naše ovládací programy v módu online. Tímto způsobem jste byli schopni sledovat postiú programu na obrazovce, protože právě aktivní prvek byl označen na obrazovce červeně. Online mód je pro pochopení programů nebo pro hledání chyb. V módu online můžete také program zastavit a opět v něm pokračovat stisknutím tlačítka Pause. Je to velmi praktické, pokud chcete prozkoumat něco ohledně svého modelu bez úplného zastavení programu. Také se hodí, když se snažíte pochopit způsob fungování programu. Pomocí tlačítka Step můžete spustit program v jednotlivých krocích, prvek po prvku. Pokaždé, když stisknete tlačítko Step, program se přesune k dalšímu prvku programu. Když spustíte prvky Time Delay nebo Wait, může programu chvíli trvat, než se přesune k dalšímu prvku. Pro váš ROBO TX kontroler můžete též použít možnost download namísto online. V módu onlinejsou programy spouštěny vaším počítačem. V tomto módu rozhraní musí být spojeno s počítačem po celou dobu běhu. Na druhou stranu, v módu downloadje program spuštěn samotným rozhraním. Váš počítač uloží program do ROBO TX kontroleru. Jakmile je toto hotovo, spojení mezi počítačem a rozhraním lze zrušit. Nyní může rozhraní spustit ovládací program nezávisle na počítači. Mód download je důležitý například při programování mobilních robotů, pro které by byl spojovací kabel mezi PC a nimi na obtíž. I tak by ale ovládací programy měly být nejprve ozkoušeny online, aby bylo snazší nalézt možné chyby. Jakmile je otestovaný, program může být stažen do ROBO TX kontroleru. Problematický USB kabel může být nahrazen Bluetooth spojením. Takovým způsobem nemá model omezený pohyb i v módu online (viz manuál k ROBO TX kontroleru). Mód online má ale oproti download výhody. Ve srovnání s rozhraním má počítač větší operační paměť a provádí výpočty rychleji. To je výhodné u větších programů. Také mohou být v průběhu ROBO TX kontroler a ROBO rozhraní ovládány současně programem.
Přehled obou módů Mód Výhoda Online
Nevýhoda
Spuštění programu lze sledovat na Počítač a rozhraní musí zůstat propojené. obrazovce. I velké programy fungují velmi rychle. Možná současná kontrola ROBO TX kontroleru a ROBO rozhraní. Podporováno dřívější inteligentní rozhraní. Možnost použití panelů. Program lze pozastavit a poté opět spustit.
Download Počítač a rozhraní lze po stažení oddělit.
Dřívejší inteligentní rozhraní není podporováno. Nelze sledovat na obrazovce průběh programu.
Použití módu download Pokud máte ROBO TX kontroler nebo ROBO rozhraní, můžete převést ovládací systém garážových vrat do rozhraní pomocí tlačítka Download. Nejprve se zobrazí dialogové okno, které vidíte vpravo. ROBO rozhraní má několik úložišť programů, RAM a dvě Flash paměti. Program v RAM je ztracen, jakmile odpojíte rozhraní od napájení nebo se vybijí baterie. Program uložený ve Flash paměti na druhou stranu, zůstane uložený v rozhraní i bez napájení po celé roky. Programy ve Flash paměti můžete pochopitelně kdykoliv přepsat. Načtení do RAM je však znatelně rychlejší a proto jej doporučujeme pro účely zkoušení. Ve Flash paměti můžete uložit více programů, napřéklad několik módu chování pro mobilního robota. Můžete vybrat, spustit a zastavit více programů pomocí displeje a tlačítek výběru na ROBO TX kontroleru. Pokud je aktivní volba Start program after download, program se spustí ihned po stažení. Abyste zastavili program, stiskněte levé tlačítko výběru na TX kontroleru. Pro mobilní roboty je ale lepší volba Start program with key on Interface. To proto, že pokud nemáte Bluetooth rozhraní, musíte před tím, že program uvede vašeho robota do pohybu, odpojit USB kabel. V tomto případě spustíte stažený program pomocí levého tlačítka výběru na TX kontroleru. Pomocí funkce Autostart na ROBO TX kontroleru se program automaticky spustí, jakmile je rozhraní napájeno. Tímto způsobem můžete například napájen rozhraní skrze adaptér s časovým spínačem a spustit program každý den ve stejnou dobu. Pak nemusíte nechávat rozhraní neustále spuštěné nebo spouštět program pomocí výběrového tlačítka pokaždé, když jej zapnete. Poznámka: Popis funkcí ROBO TX kontroleru můžete nalézt v přiloženém manuálu.
3.8 Tipy a triky Změna propojení linek Když posunete prvek, ROBO Pro se pokusí přizpůsobit správným způsobem spojovací linky. Pokud se vám nelíbí přizpůsobená linka, můžete jednoduše změnit spojovací linky tak, jak vám přijde vhodné, pomocí kliknutím levým tlačítkem myši na linku, přidržením a přetažením. Podle toho, kde je myš umístěna na lince, pohne se roh hrany linky. To je zobrazeno pomocí různých kurzorů myši: Když je myš nad vertikální linkou, můžete pohnout celou vertikální linkou přidržením levého tlačítka myši. Když je myš nad horizontální linkou, můžete pohnout celou horizontální linkou přidržením levého tlačítka myši. Když je myš nad nakloněnou spojovací linkou, je do ní při levém kliknutí vložen nový bod. Musíte přidržet levé tlačítko myši a nepouštet je, dokud není myš přesně na místě, kde chcete umístit nový bod. Když je myš umístěna poblíž koncového bodu nebo rohu spojovacích linek, můžete pohnout tímto bodem, zatímco držíte stisknuté levé tlačítko myši. Můžete pohnout pouze koncem připojené linie k jinému spojení odpovídajícího programovacího prvku. V tomto případě koncový bod propojovací linky bude napojen k této propojovací lince. Jinak se bod nepřesune. Jiný postup propojování linek Propojovat linky lze také pomocí přesunu programovacíh prvků. Když pohnete programovacím prvkem tak, že jeho vstup je jeden nebo dva body pod výstupem z jiného, vytvoří se mezi nimi spojovací linka. Toto platí také pro výstup, který je přesunut nad vstup. Poté můžete pohybovat programovacím prvkem do jeho finální pozice nebo načrtnout další linky pro zbývající vstupy a výstupy.
4. Úroveň 2: Práce s podprogramy Jakmile jste úspěšně vytvořili a otestovali váš první kontrolní program, jste připraveni na ROBO Pro Level 2. nyní v menu Level vyberte položku Level 2: subprograms. Jistě jste si hned všimli rozdílu: okno s prvky zmizelo a na jeho místě vlevo jsou dvě okna nad sebou.
Ničeho se nebojte! Okno s prvky je stále zde, jen je nyní prázdné. V úrovni 2 je více programovacích prvků, takže byste mezi nimi ztratili přehled, kdyby byly všechny v jednom okně. Z tohoto důvodu od úrovně 2 dál jsou všechny prvky seřazeny ve skupinách prvků. Prvky jsou seskupeny do skupin velmi podobně, jako jsou v počítači soubory ve složkách. Když vyberete skupinu z horního okna nalevo, ve spodním okně se vám objeví všechny prvky. Prvky z úrovně 1 najdete ve skupině Program elements/basic elements. Jelikož je okno s prvky nyní poloviční, musíte pro zobrazení prvků níže popojet s nabídkou. Nyní se ale dostane k tématu kapitoly - podprogramům. Dosavadní programy, které jsme tvořili, nebyly tak velké, abychom je nezvládli najednou, ale jistě si umíte představit, že v případě větších projektů by takto mohly vzniknout velice komplikované vývojové diagramy. Najednou by vaše pracovní plocha byla plná prvků, všude by byly spojovací linky a vy byste museli neustále posouvat obrazovkou. Jednalo by se o chaos, do kterého ale lze vnéct pořádek pomoci podprogramů.
4.1 Váš první podprogram Podprogram je velmi podobný programům, s nimiž jste se už seznámili. Abyste si je prohlédli detailněji, musíte nejprve vytvořit nový program a nový, prázdný, podprogram uvnitř tohoto programu. Abyste tak učinili, klikněte v nástrojové liště na New a poté na SP New. Objeví se okno, do kterého vložíte název podprogramu a jeho popis. Název by neměl být příliš dlouhý (cca 8 až 10 znaků), jinak by byl symbol podprogramu příliš velký. Tyto údaje však můžete později měnit. Jakmile zavřete okno New subprogram pomocí OK, objeví se se v liště podprogramů nový podprogram.
Kdykoliv můžete přepínat mezi hlavním programem a podprogramem kliknutím na název programu v liště podprogramu. Jelikož jsou oba zatím prázdné, neuvidíme mezi nimi rozdíl. Nyní chceme rozdělit systém ovládání garážových dveří z předchozí kapitoly (viz sekce 3.6) do podprogramů. Tyto programy sestávají ze čtyř funkčních jednotek: - Čekání, dokud nebude stisknuto tlačítko I1 - Otevření dveří - Čekání deset sekund - Zavření dveří Nyní chceme oddělit otevření a zavření do dvou podprogramů. Každý podprogram může být vyvolán z hlavního programu pomocí jednoduchého symbolu. Čekání na senzor I1 a desetisekundové čekání zůstává v hlavním programu, jelikož každé z nich sestává pouze z jednoho prvku. Právě jste dali dohromady nový program s podprogramem pojmenovaným Podprogram 1. Nicméně by lepšími názvy pro tyto podprogramy bylo Otevrit a Zavrit. Již existující podprogramy můžete přejmenovat výběrem podprogramu 1 skrze lištu podprogramů, pokud již není ozančený. Poté přepněte skrze lištu funkcí do okna Properties (vlastnosti) pro podprogram kliknutím na Properties. Zde můžete změnit název na Otevrit. Většina ostatních oken může být editována v úrovních Advanced (pokročilý) a Expert. Položku Symbol creration vysvětlíme později. Když kliknete na liště na Description, můžete změnit dříve vložené popisy, ačkoliv "Můj první podprogram" je vcelku trefný popis. V liště funkcí klikněte nyní na Function, abyste mohli naprogramovat funkci podprogramu. Nyní vidíte opět okno programu, do něhož jste vkládali programovací prvky v předchozí kapitole ve vašem ROBO Pro programu. Ujistěte se, že jste v liště podprogramů vybrali podprogram Otevrit.
Jste připraveni napsat váš první podprogram? Jdeme na to! Jak podprogram začíná? Dobrá otázka! Hlavní programy jste vždy začínali pomocí počátečního prvku. Podprogram začíná podobným prvkem jménem Subprogram Entry (vstup do podprogramu). Tento prvek se takto nazývá, protože skrze tento prvek se dostanete z hlavního programu do podprogramu. Zde nelze použít Start element (počáteční prvek), protože pochopitelně nezačíná žádný nový proces. Start element
Začíná nový, nezávislý proces.
Subprogram entry
Zde je ovládací program programem podprogramu.
předán
hlavním
Subprogram entry najdete v okně skupiny prvků pod Subprogram I/O. Nyní umístěte tento prvek pod vrcholem programovacího okna podprogramu Otevrit. Můžete také dát prvku Subprogram Entry jiný název, než Entry, ale to bude potřeba až později, když napíšete podprogram s více vstupy. Podprogram nyní běží identicky s částí hlavního programu, která jej otevírá. Můžete spustit motor M1 doleva (proti směru hodinových ručiček), počkat, dokud senzor na vstupu I2 není uzavřený a poté opět motor vypnout. K ukončení programu použijte Subprogram Exit. Rozdíl mezi Subprogram Exit a Stop element je stejný jako mezi Subprogram Entry a procesem Start. Stop element
Zastaví průběh nezávislého procesu.
Subprogram exit
Zde je ovládací program předán podprogramem zpět hlavnímu programu.
Kompletní podprogram by měl vypadat nějak takhle:
Ujistěte se, že jste opravdu vstoupili do podprogramu Otevrit a ne do hlavního programu. Nyní přepněte z Otevrit zpět na hlavní program.Nyní uvidíte programovací okno hlavního programu, které bude prázdné. Jako obvykle vložte Start element (nikoliv Subprogram entry!) do hlavního programu. Zařaďte přepínač na I1, který má otevřít vrata garáže. Toto také učiňte v hlavním programu. Nyní můžete vložit váš nový podprogram do hlavního programu (nebo jiného podprogramu) jako normální programovací prvek. Najdete jej ve skupině prvků nazvané Loaded programs. Pokud jste ještě neuložili soubor, bude se jmenovat unnamed1. Pokud jste načetli další soubory programů, můžete také vybrat podprogramy náležející k jiným souborům v okně výběru. Tímto způsobem je velmi jednoduché používat podprogramy z jiného souboru. Ve skupině prvků Loaded programs/unnamed1 najdete dva zelené symboly podprogramu. První s názvem hlavního programu, je symbol pro hlavní program. Ten se nepoužívá příliš často jako podprogram, takže je dokonce možné, že jste vytvořili již více programů pro různé stroje, které byly hlavními programy. Otevrit je název, který jste vložili skrze Properties. Nyní vložte symbol podprogramu stejným způsobem, jako činíte s normálními programovacími prvky, do hlavního programu. Nyní, pokud chcete, můžete ukončit váš hlavní program pomocí prvku Stop a vyzkoušet, jak funguje. Vrata budou schopná se otevřít stisknutím tlačítka na I1, ale ještě jsme nenaprogramovali zavírání. To učiníte tak, že napíšete další podprogram. Stiskněte tlačítko SP New na nástrojové liště a vložte název Zavrit do okna New subprogram. Nemusíte nutně vkládat popis, ale hodí se to, abyste později nezapomněli, k čemu program slouží.
Nyní vstupte do programu pro zavírání garážových vrat v programovacím okně pro program Zavrit. Ještě jednou, začněte pomocí Subprogram entry. Nejprve by se měl motor M1 otáčet doprava (po směru hodinových ručiček). Jakmile se uzavře koncový přepínač na I3, motor M1 by měl zastavit. Opět ukončete podprogram pomocí Subprogram exit. Nyní použijte lištu podprogramů pro přepnutí zpět na hlavní program. Pokud jste předtím zavřeli hlavní program pomoci prvku Stop, abyste jej vyzkoušeli, nyní musíte prvek Stop smazat. Po otevření by měla garážová vrata zůstat po deset sekund otevřená, než se opět zavřou. Po deseti sekundách prvku Time Delay vložte symbol podprogramu Zavrit ze skupiny prvků Loaded programs/unnamed1. Hlavní program a dva podprogramy by měly vypadat následovně: Hlavní program
Otevrit
Zavrit
Program začne prvkem Start v hlavním programu. Poté čekám, dokud senzor I1 není stištěn. To byste také mohli udělat pomocí prvku Wait for Input (viz část 8.1.9). Po stisknutí přepínače I1 hlavní program otevře podprogram Otevrit. To přepne ovládání programu na Subprogram Entry pro podprogram Otevrit. Podprogram Otevrit otevře garážová vrata a dosáhne svého Subprogram exit. V tomto době se program vrátí do hlavního programu. Poté, co podprogram skončí, hlavní program čeká po deset sekund. Poté program spustí podprogram Zavrit, který vrata zavře. Poté se ovládání vrátí z podprogramu Zavrit do hlavního programu a k prvku Stop, který program ukončí. 4.2 Knihovna podprogramů Je velice jednoduché kopírovat podprogramy z jednoho souboru do jiného: otevřete oba soubory vložíte podprogram z jednoho souboru do druhého pomocí skupiny prvků Loaded programs. Pro často používané podprogramy je nicméně postup ještě jednodušší skrze použití Library. ROBO Pro obsahuje knihovnu předpřipravených podprogramů, které můžete používat stále dokola. Stejně tak můžete vytvořit vlastní knihovnu, ve které můžete mít uložené vlastní často používané podprogramy. 4.2.1 Použití knihovny Library je základně rozdělena do dvou hlavních skupin. Ve skupině Construction kit najdete podprogramy, které můžete použít pro modely určitých stavebnic. Ve skupině General najdete podprogramy, které můžete použít pro všechny možné modely. Většina podprogramů ve skupině General však vyžaduje techniky z úrovně 3, které vysvětlíme až v příští kapitole. Každý výpočetní model, například ROBO Mobile Set má svoji vlastní podskupinu ve skupině Construction kit. Ta je někdy dále rozdělena podle modelů, které najdete v návodu na sestavení . Když vyberete Construction kit nebo jeden z modelů, připravené podprogramy pro tento modl se zobrazí v okně prvků. Pokud najedete na nějaký ze symbolů podprogramů myší, zobrazí se krátký popis. Když vložíte podprogram do vašeho programu, můžete zobrazit detailní popis vybráním podprogramu v liště podprogramů a kliknutím na Decsription v liště funkcí. Pozor: Když vložíte program z knihovny, v některých případech budou vloženy i další podprogramy, které jsou poutity tímto podprogramem. Můžete odstranit všechny tyto podprogramy výběrem funkce Undo v menu Edit. 4.2.2 Použití vaší vlastní knihovny Poté, co jste již nějakou chvíli pracovali s ROBO Pro, jistě máte nějaké podprogramy, které používáte častěji, než jiné. Abyste zabránili pokaždé hledání správného souboru, můžete si také vytvořit vlastní knihovnu podprogramů, která funguje přesně tím samým způsobem jako knihovna předdefinovaných podprogramů. Vaše vlastní knihovna sestává z jednoho nebo více ROBO Pro souborů v jedné složce. Každý soubor v této složce bude reprezentován vlastní skupinou v zobrazení výběru skupiny. Můžete specifikovat, v jaké složce byste rádi měli uloženou svoji knihovnu. Tak můžete učinit před menu File a Own library directory. Základní umístění vaší knihovny je C:/Programy/ROBOPro/Own Library. Pokud máte v počátači vlastní uživatelskou složku, je dobrým nápadem vytvořit si zde vlastní složku a v ní uložit knihovnu.
Rada: Pro snazší hledání je dobré veškeré své programy ukládat do zvláštnbí složky. Máte k nim pak snazší přístup. Organizace vaší knihovny ROBO Pro nemá žádné speciální funkce pro úpravu knihovny. Postup je ale snadný. Pokud chcete přidat podprogramy do knihovní skupiny nebo je vyjmout, musíte nejprve načíst odpovídající soubor. Tento soubor najdete ve složce, kterou jste určili za svoji knihovnu. Nyní můžete, například, načíst druhý soubor a přetáhnout podprogram ze skupiny Loaded programs do hlavního programu knihovny. V knihovně není hlavní program skutečným programem, ale spíše kolekcí všech podprogramů v knihovně. V případě knihoven není samotný hlavní program zobrazen v okně prvků. Pochopitelně můžete také mazat z knihovny podprogramy nebo je zde modifikovat. Pokud jste modifikovali soubor knihovny a uložili jste jej, pak musíte vybrat položku menu Update own library v menu File. Tím vylepšíte seznam souborů v okně skupin. 4.3 Editace symbolů podprogramů Jak jste viděli v předchozí sekci, ROBO Pro automaticky generuje symbol podprogramu pro vaše podprogramy. Můžete ale také nakreslit vlastní symboly, které jasněji řeknou, k čemu podprogramy slouží. Kvůli tomu musíte přepnout v okně podprogramů Properties z automatických na manuální symboly. Poté můžete přepnout z Properties na Symbol a editovat zde symbol podprogramu. Kreslicí funkce v skupině prvků najdete v okně pod položkou Draw. Pod Draw/Shapes najdete základní grafické prvky a textové objekty s různě velkými fonty. V jiných skupinách pod Draw najdete funkce pro změnu barvy a podobné vlastnosti vybraných prvků. Detaily, jak použít kreslicí funkce jsou v kapitole 10. Také si povšimněte funkcí v hlavním menu pod Draw. Můžete také pohybovat se spojeními v podprogramu, ale nemůžete mazat spojení nebo přidávat nová. U symbolu podprogramu je vždy jedno spojení pro každý vstup nebo výstup. Spojovací prvky jsou generovány automaticky, i když musíte přepnout na manuální generování symbolů. Jakmile opustíte okno pro editaci symbolu, budou následně upravena všechny všechna místa v hlavním programu a podprogramech, která souvisí. Uvědomte si, prosím, že pokud jste přemístili v podprogramu spojení, můžete způsobit zmatení v programu. Konce spojovacích linek nemusí již být na správných místech, což bude zobrazeno na konci spojení křížkem (viz obrázek). Obvykle stačí kamkoliv kliknout levým tlačítkem myši pro opravu spojovací linky. Linka se pak automaticky srovná. Může se ale stát v případě podprogramů s více linkami, že budete muset linku dál editovat.
4.4 Tango Zatím jste se seznamovali pouze s vcelku jednoduchými programy a nemůžete se dočkat nových programovacích prvků a možností. Než se ale v příští kapitole pustíme do proměnných a dalších složitých věcí, podíváme se, co všechno lze dělat s programovacími prvky z druhé úrovně. Jak vy, například mohl váš pohyblivý robot tančit tango? Tango je tanec na hudbu o 2/4 taktu. Základní kroky obsahují 8 kroků ve třech taktech. Pro pány je sekvence kroků následující: - Jeden pomalý krok dopředu levou nohou (1/4 taktu) - Jeden pomalý krok dopředu pravou nohou (1/4 taktu) - Nyní 4/8 "houpavý krok". Pohnete nohou jen velmi lehce, pouze abyste změnili těžiště. Nejprve přemístěte svoji váhu při 1/8 taktu na levou nohu, pak při 1/8 na pravou nohu a opět při 1/8 na levou nohu a při 1/8 na pravou nohu. Pro dokončení se na 1/8 zastavte. - Následují tři rychlé kroky: Nejprve udělejte malý krok vzad pravou nohou , abyste ji položili vedle levé nohy. Poté udělejte úkrok stranou levou nohou a nakonec dejte pravou nohu vedle levé. Tyto tři kroky také trvají každý 1/8 taktu a vše je zakončeno zastavením na 1/8. Pro ženu je sekvence kroků symetrická, což znamená, že doleva a doprava, stejně jako dopředu a dozadu má naopak. Celé se to opakuje, dokud hudba neutichne, nedostanete se k okraji místnosti nebo vás to nepřestane bavit. V posledních dvou případech byste se měli optat na radu učitele tance. Nyní se ale vrátíme k robotům. Možná již máte stavebnici Fischer pro pohyblivé roboty. Roboti v této stavebnici mají většinou dvě kola, každé s nezávislým motorem. Navádění těchto robotů probíhá stejně jako u pásových vozidel. Když pohybujete oběma koly ve stejném směru, robot jede vpřed. Když se jeden z motorů zastaví, robot zatočí.
Přirozeně můžete s těmito roboty jezdit jaké dozadu, dopředu a obloukem. Když oba motory pustíte každý v jiném směru, robot se otočí na místě. Nyní si vyzkoušíme předělat kroky tanga na otáčky motoru. Jedna čtvrtina taktu bude jednou otáčkou kola. Získáme toto: - Levé kolo o jednu otáčku dopředu (obvykle motor M2 doleva). - Pravé kolo o jednu otáčku dopředu (obvykle motor M1 doleva). Nyní přichází "houpavý krok". Přirozeně náš robot nemůže pohybovat tělem bez "nohou". Také je úkrok v třetím takto pro robota dost složitý. Proto uděláme lehký obrat doleva v druhém taktu a pak v třetím taktu uděláma drobný pohyb dopředu, abychom simulovali úkrok stranou. V druhé takto to tedy vypadá následovně: - Levé kolo o 1/2 otočky zpět (obvykle motor M2 doleva). - Pravé kolo o 1/2 otočky vpřed. - Levé kolo o 1/2 otočky dozadu. Jak na "levé dozadu", tak "pravé dopředu" se robot otočí doleva. Ve třetím taktu se stane následující: - Pravé kolo o 1/2 otočky dozadu. - 1/2 otočky jet vpřed.
- Pravé kolo dozadu a levé kolo vpřed o 1/2 otočky. Robota nejprve otočíme trochu doprava, pak popojede dopředu (ve směru doleva), pro simulaci úkroku doleva, pak do robot opět otočí dopředu. Nyní zkuste vykonat tyto kroky v ROBOPro. Způsob se bude lišit podle toho, zda používáte TX kontroler s enkódovanými motory nebo model s pulzními přepínači. Oba případy jsou popsány zvlášť dál v částech 4.4.1 a 4.4.2. 4.4.1 Ovládání motoru s pulzními přepínači Nejlepší je, když začnete s podprogramem pro jednoduché kroky. Podprogram pro první krok "Levíé kolo 1 otočka" vidíte vpravo. Obvykle je motor pro levé kolo připojen k rozhraní výstupu M2 a správný pulzní přepínač k rozhraní vstupu I2, načež proti směru hodinových ručiček je dopředu. Pro první krok zapněte motor M2 proti směru hodinových ručiček (nejvyšší rychlost) a pak čekejte 8 pulzů na vstupu I2. 8 polovičních pulzů znamená , že počítáte jak 0->1 a 1->0. Můžete vybrat prvek v okně property čítače pulzů. U mnoha modelů 8 polovičních pulzů odpovídá jedné otočce kola. To ale také může záviset na přenosu a nastavení čítačů pulzů, například 16 polovičních pulzů na otočku. Jakmile vložíte 8 pulzů, opět odpojte motor M2 a podprogram je u konce. Tento podprogram můžete nazvat například "Doleva 1/4". Pro další kroky stále ještě potřebujete následující podprogramy: - Doprava 1/4 (jako doleva 1/4 s M1 a I1 namísto M2 a I2). - Doleva 1/8R (jako doleva 1/4, ale 4 namísto 8 polovičních pulzů a dozadu, poté motor po směru hodinových ručiček). - Doprava 1/8 (jako doprava 1/4, ale 4 namísto 8 polovičních pulzů). - Doprava 1/8R (jako doprava 1/8, ale zpět, zatímco motor jde po směru hodinových ručiček). Pochopitelně nemůžete čekat 1/8 skrze čítač pulzů, protože během pauzy se žádná kola nepohybují. Namísto toho použijeme prvek delay time. Ve standardních modelech ROBO Mobile Set 4 poloviční pulzu odpovídají 0,3 sekundě. Ale v závislosti na posunu a motoru to může být u vašeho modelu jinak. Také vytvořte podprogram pro 1/8 pauzu. Podprogram obsahuje kromě vstupu a výstupu podprogramu pouze jediný programovací prvek, ale potřebujete zastavit dvakrát. Pokud pro to vytvoříte podprogram, můžete měnit snáze dobu pauzy. Nyní vám může přijít, že byste měli delay time použít pro kroky namísto čítače. Pak by nebyl problém přizpůsobit čas pauzy a čas kroku. Nevýhodou by ale bylo, že by se pravý a levý motor nikdy netočily stejně rychle a robot by proto netančil vždy stejně. Když použijete čítač pulzů, tak naopak zajistíte, že se budou obě kola pohybovat zcela stejně, i když je akumulátor vybitý nebo se jedno kolo pohybuje s většími obtížemi, než druhé. Stále ještě nám chybí podprogramy pro 1/8 kroku vpřed a 1/8 otočky na místě. Měly by fungovat stejně jako ostatní kroky, pouze ale zapnete dva motory místo jednoho. Jediná otázka je, jak to udělat pomocí pulzních přepínačů. Prosté nastavení čítačů jednoho po druhém nebude stačit. Čekání
pouze na jeden ze dvou motorů by šlo, ale pak by byly problémy, když by se oba motory netočily stejně rychle. Nejlepším řešením je spustit oba motory a poté čekat, dokud se nezmění čítač pulzů jednoho z nich. Poté ihned zastavte motor, jehož čítač pulzů se změnil a počkejte, dokud se se nezmění druhý čítač pulzů a vy můžete zastavit druhý motor. Je to však trochu komplikované, protože nevíte, zda jsou čítače pulzů na začátku otevřené nebo zavřené. Protože existují dva čítače pulzů, jsou celkem čtyři možnosti. Naštěstí ale existuje v knihovně již kompletní podprogram pro tuto funkci. Vytvořte podprogram "Dopredu 1/8" a vložte do něj podprogram "SyncStep" z knihovny ve složce "ROBO Mobile Set". Pokud nevíte, jak se to dělá, vraťte se v návodu k části 4.2. Nyní pro všechny zvědavé. Podprogram "SyncStep" je níže zobrazen a ještě si jej vysvětlíme. Lidé, kterým stačí se na podprogram podívat, aby jej pochopili, ani nemusí číst následující odstavec. Je v pořádku použít podprogram, aniž bychom věděli, jak funguje. Hlavní je, když víte, co dělá.
Podprogram se nejprve dotáže na stav obou čítačů pulzů, I1 a I2. V závislosti na tom, zda jsou I1 a I2 0 nebo 1, podprogram přeskočí na 4 různé větve programu. Větev zcela nalevo je pro případ, v němž I1 a I2 mají na začátku hodnotu 1. Podprogram musí poté čekat, dokud I1 nebo I2 nebudou mít hodnotu 0. Tak bude učiněno ve smyčce s dvěma rozvětvovacími prvky. Dokud mají I1 a I2 hodnotu 1, program se točí v kruhu. Jakmile ale jeden ze vstupů získá hodnotu 0, odpovídající motor se ihned vypne. Poté podprogram čeká pomocí prvku "Wait on input", dokud i druhý vstup není 0 a poté vypne druhý motor. Smyčka, v níž čeká na oba potřebné vstupy, je potřeba, protože nevíte, který z motorů se točí rychleji a který z čítačů pulzů se díky tomu dříve změní. Ostatní tři větve pracují stejně, ale začínají z jiného počátečního stavu a proto čekání na konečný stav je opačné, než byl stav počáteční. Například v druhé větvi zleva, na začátku I1=1 a I2=0, jak můžete snadno zjistit, když budete sledovat cestu skrze první dva větvicí prvky. Druhá větev poté čeká, až budou hodnoty I1=0 a I2=1. Pokud chcete napsat program sami, musíte velmi pečlivě sledovat, jaké jsou počáteční hodnoty čítačů pulzů v každé větvi, a na které tedy podle toho musíte čekat.
Pokud jste si již prošli něco v další kapitole o proměnných, pokuste se napsat podprogram se stejnými funkcemi pomocí proměnných. Je to jednodušší, protože můžete uložit počáteční hodnotu dvou čítačů pulzů pomocí příkazového prvku = ve dvou proměnných a potřebujete pouze jednu programovou větec, v níž můžete porovnat aktuální hodnotu vstupu s hodnotou proměnných. Zpět k tangu: účel proprogramu SyncStep spočívá v napsání podprogramu "1/8 dopředu", který jde 4 poloviční kroky dopředu. Když spustíte motory M1 a M2 a poté otevřete podprogram SyncStep, motory se opět zastaví po polovičním kroku. Poté musíte udělat tohle všechno čtyřikrát a nejlépe to funguje pomocí prvku smyčky. Pokud jste to sledovali pozorně, možná si říkáte, že není dobré, aby byly po konci podprogramu SyncStep motory vypnuty a potom hned zase zapnuty. U pomalejšího motoru je velmi krátká přestávka mezi vypnutím a zapnutím, které je potřeba, aby motory vzájemně přizpůsobily rychlost. To však motorům nevadí. Rozhraní totiž upravuje rychlost motorů pomocí neustálého vypínání a zapínání. Říká se tomu PWM (Pulse width modulation). Naopak, u rychlejšího motoru dochází k vypínání a zapínání tak rychle, že to na motoru není vůbec poznat. Nicméně v podprogramu SyncStep můžete také upustit od vypínání druhého motoru a vypnout oba motory, jakmile se dokončí smyčka. U programování mohou vždy rozdílné postupy vést ke stejnému výsledku. Vyzkoušejte, zda robot s podprogramem SyncStep opravdu jeden dopředu lépe, než když jen zapnete určitý počet pulzů na obou motorech. Poslední podprogram, který ještě budeme potřebovat, by měl obrátit robota o 4 půlkroky doprava na místě. Je zajímavé, že můžete použít zcela stejný podprogram "SyncStep" jako pro podprogram "1/8 dopředu". Podprogram "SyncStep" zastaví pouze motory a poté příkaz pro zastavení nezávisí na směru otáčení. Spustíte motor M1 ve smyčce jednoduše ve směru otáčení napravo namísto nalevo. Čítače pulzů jsou také nezávislé na směru otáčení. Je to stejné, ať se motory otáčejí doleva nebo doprava, čítače pulzů se vždy změní z 0->1 a z 1->0. Abyste vytvořili podprogram "Otočka 1/8", musíte pouze zkopírovat porprogram "1/8 dopředu" a změnit směr otáčení.
4.4.2 Ovládání motoru a kódovacími motory Možná byste měli začít s podprogramy pro jednotlivé kroky. Podprogram pro první krok "Leve kolo 1 otocka" vidíte vpravo. Normálně je motor pro levé kolo připojen k rozhraní výstupu M2 a odpovídá mu pulzní přepínač na rozhraní vstupu I1 s tím, že proti směru hodinových ručiček znamená dopředu. Pro první krok zapněte motor M2 proti směru hodinových ručiček (nejvyšší rychlost) a čekejte 75 celých pulzů na vstup C2. 75 pulzů znamená, že budete 75 krát čekat na změnu 0->1 následovanou změnou 1->0. Kódovací motory mají pokročilé ovládání motoru, které motor spustí a poté opět vypne po nastaveném počtu pulzů. Pro ukončení vyberte Action Distance v okně properties a zadejte jako Distance 75 pulzů. Tento prvek ale nemusí čekat na motor, kdy dosáhne svého cíle. Program by mohl dělat jiné věci, zatímto motor běží. Nicméně v tomto případě chceme jen počkat na chvíli, kdy motor dorazí ke svému cíli. Pro ukončení má každý výstup motoru svůj vlastní vstup "cíl dosažen". Pro motor M2 je tento vstup M2E. Mimochodem, kódovací motor potřebuje dvě spojení na TX kontroleru, výstup motoru M1 až M4 a čítací vstup C1 až C4. Kódovací motor vždy využívá čítačí vstup se stejným číslem jako má výstup motoru. Protože nelze číslo čítače nastavit v okně properties nebo pokročilém ovládání motoru. Jakmile motor dosáhne svého cíle, vymažte Action Distance, protože ovládání motoru se zastaví, právě při dosažení cíle. Motor pak již nereaguje na normální příkazy jako doleva nebo doprava. Abyste tak učinili, opět použijte advanced motor control, ale tentokrát s Action Stop. Nicméně je to nezbytné pouze pokud chcete ovládat motor pomocí normálního prvku motoru. Motor reaguje na akce v advaced motor control takém bez Action Stop. Pro další krokry potřebujete následující podprogramy: - Doprava 1/4 (jako doleva 1/4 s M1 a M1E namísto M2 a M2E) - Doleva 1/8R (jako doleva 1/4, ale s 37 namísto 75 pulzy a pozpátku, takže motor po směru hodinových ručiček) - Doprava 1/8 (jako doprava 1/4, ale s 37 namísto 75 polovičními pulzy) - Doprava 1/8R (jako doprava 1/8, ale pozpátku, takže motor po směru hodinových ručiček) Ovšemže nemůžete čekat po 1/8 pulzu pomocí čítače pulzů, protože žádné kolo se při pauze nepohybuje. Namísto toho použijeme delay time. Se standardními modely v ROBO TX Training Lab 37 pulzů odpovídá 0.3 sekundám. To se však může lišit model od modelu v závislosti na přenosu a motoru. Musíte tedy nejprve napsat podprogram pro 1/8 pauzu. Kromě vstupu a výstupu do podprogramu bude podprogram obsahovat jen jeden programovací prvek, ale musíte mít dvě pauzy. Když vytvoříte podprogram pro toto, je jednodušší změnit dobu pauzy. Nyní můžete podotknout, že můžeme také použít delay time pro kroky namísto pokročilého ovládání motoru. To by ukončilo problém s nutností adaptovat čas pauzy a čas kroku. Nevýhodou by bylo, že pravý a levý motor by se nikdy netočily stejnou rychlostí, takže robot by netančil vždy stejně. Na druhou stranu, pomocí pokročilých nastavení motoru zajistíte, že dvě kola vždy pojedou stejnou vzdálenost, i když je baterie vybitá
nebo se jedno kolo otáčí hůře, než druhé. Nyní potřebujeme podprogramy pro krok vpřed 1/8 a 1/8 obrat na místě. Pokročilé ovládání motoru také nabízí možnost ovládání dvou motorů najednou pomocí akcí Synchronous a Synchronous Distance. Akce Synchronous zajišťuje, že dva kódovací motory se otáčí přesně stejnou rychlostí. Ve výsledku se robot pohybuje skoro přesně dopředu. Nicméně zcela přesně vpřed není možné, protože kola budou vždy trochu podkluzovat. V našem případě by se měly M1 a M2 otáčet stejnou rychlostí po vzdálenost 75 pulzů. Pro to použijte akci Synchronous Distance. Pro motory se synchronním propojením není signál dosaženého cíle nastaven pro oba motory, dokud oba motory nedosáhnou cíle. Je proto výhodné počkat, dokud jeden z cílů nedosáhne signálu. Nezapomeňte na konci zastavit oba motory! Zjistěte, zda se robot opravdu pohybuje vpřed s větší přesností pomocí akce Synchronous Distance ve srovnání s ovládáním obou motorů zvlášť pomocí akce Distance. Poslední podprogram, který potřebujeme, by měl robota otočit doprava při 37 pulzech. Zde opět použijte ovládání motoru pomocí akce Synchronous Distance s oběma motory otáčejícími se v různých programech pro podprogram "Obrat 1/8": Vymyslete, jakým směrem se musí M1 a M2 otáčet, aby se model otočil přímo na místě. 4.4.3 Tango hlavní program Nyní když máte všechny podprogramy pohromadě, můžete začít s hlavním programem. Teď už to není vůbec složité. Jak hlavní program vypadá uvidíte dál. Zobrazený hlavní program opakuje kroky tanga v nekonečné smyčce. Zkuste použít počítačí smyčku pro spuštění celé sekvence tanga pětrkát za sebou. Pro tento účel zkopírujte obsah hlavního programu do nového podprogramu a přidejte vstup a výstup podprogramu. Poto můžete spustit tento podprogram pětkrát za sebou ve smyčce.
Dokončený program tanga najdete ve složce ROBOPro pod: Sample programs/Manual/Tango Encoder Motor/TangoSolo.rpp Sample programs/Manual/Tango Pulse Switch/TangoSolo.rpp Nicméně, pokud máte odpovídajícího robota, ozkoušejte jednou svůj vlastnoručně napsaný program nebo dokončený program. Nyní si možná říkáte, že to je pěkné, ale tančit by měli dva. Napsat program, který by prováděl kroky ženy není složité. Musíte pouze vyměnit levou za pravou a dopředu za dozadu. Nejprve načtěte váš program pro mužské kroky a uložte jej pod novým jménem, například TangoSoloZena.rpp. Nyní změňte podprogramy, například Vpravo 1/4 na Vlevo 1/4B. Musíme kvůli tomu změnit M2 na M1 a směr otáčení z levého na pravé. Můžete změnit název podprogramu kliknutím na záložku properties a vložit nové jméno. Jméno se také změní automaticky v hlavním programu.
Podprogram pro obrat 1/8 se nezmění. Víte, proč? Vyměňte doleva a doprava (M1 a M2 v podprogramu) a dopředu a dozadu (motor doleva/doprava) v obratu 1/8 a porovnejte změněný podprogram se změněným. Pokud máte dva pohyblivé roboty, načtěte do jednoho program TangoSolo.rpp a do druhého TangoSoloZena.rpp. Pokud máte jen jednoho robota, možná to budete chtít zkusit s někým, kdo má také robota. Při stahování byste měli určit, že program bude spuštěn skrze čidlo na rozhraní. nyní umístěte oba roboty naproti sobě jako na obrázku níže, a oba je ve stejnou chvíli zapněte pomocí čidla (TX kontroler) nebo PROG čidla (ROBO rozhraní) na obou rozhraních.
Pokud jste oba roboty spustili v přibližně stejné chvíli, budou spolu tančit chvíli tango sladěně. Nicméně, protože motory a akumulátorynejsou úplně stejné, motory se nebudou točit zcela stejně a dříve nebo později se roboti dostanou z taktu. Jak zařídit, aby v něm zůstali, se dozvíte v další kapitole. 4.5 Tango 2: Komunikace skrze BLuetooth nebo RF data link Abyste zachovali rytmus, musíte zkoordinovat pohyby obou robotů. TX kontroler má vestavený Bluetooth modul. U ROBO rozhraní je k dispozici ROBO RF data link. ROBO RF Data Link sestává ze dvou radiových modulů. Radiový modul rozhraní je jako barta vestavěn přímo do ROBO rozhraní, PC radiový modul je v červeném krytu je připojen k PC pomocí USB. Až doteď jste nejspíš používali rádiové spojení pouze k řízení vašich robotů rádiem a teda ne po kabelu. Bluetooth a RF data linka však dovedou mnohem více: dva roboti si mohou vyměňovat zprávy a komunikovat tak spolu. V úrovni 2 jsou u programovacích prvků podskupiny Send a Receive. Prvek nalevo je vysílač, prvek vpravo přijímač. Zobrazený prvek vysílače vyšle zprávu Hello do TX kontroleru nebo ROBO rozhraní (dále jen TX kontroler) pomocí rádiové zprávy číslo 1, označené FRN 1. Čídlo rádiové zprávy je něco jako telefonní číslo. Je tak nastaveno, co kterého kontroleru má být zpráva zaslána. Více zjistíte v částech 4.5.1 a 4.5.2. Přijímač vpravo pracuje jako rozvětvení. Pokud přijme zprávu Hello, program pokračuje větší Yes (Y), jinak jde do výstupu N. Přepokládejme, že prvek vysílače je vyvolán číslem 2. Vyšle poté rádiem zprávu Hello do zohraní pomocí čísla 1, protože je označen ve vysílači jako cíl. Rozhraní s číslem 1 zaznamená, že obdrželo zprávu Hello. Až se příště prvek vysílače dotáže tohoto rozhraní, zda dorazila zpráva Hello, odpověď je Yes, poté No, dokud nezachytí další zprávu Hello. Když je v tomto rozhraní prvek přijímače dotázán, zda přišla zpráva Hello, odpověď je Yes a poté opět No, dokud nedorazí další zpráva Hello. Přijímač neumí rozeznat, ze kterého rozhraní byla zpráva poslána (od úrovně 4 jsou pro tento účel skupiny přijímačů). Aby to byl schopen rozeznat, musíte posílat jiné zprávy. Zpráva je volitelné slovo, jako například Hello. Nicméně, z technických důvodů, jsou rozpoznána jen první tři písmena, takže "Hello", "Help" a "Helikoptéra" jsou všechno stejná zpráva, protože všechny začínají na "Hel". Velká a malá písmena a speciální znaky (mezera, !, ?, %, apod.) také nejsou rozpoznávány. XY! a XY? systém bude považovat za stejnou zprávu. Čísla však rozeznává, takže XY1 a XY2 jsou rozdílné zprávy. Nyní již není synchronizace dvou tančících robotů pomocí vysílače a přijímače nijak složitá. Na začátku cyklu kroku jeden roboty vyšle "Smím prosit?" a druhý robot "Jistě, smíte". Jelikož by zprávy neměly být dlouhé, budeme je nazývat SG (gentleman synchronisation - synchronizace muže) a SL (lady synchronisation - synchronizace ženy). Napravo vidíte dva podprogramy synchronizace. Levý podprogram je spuštěn robotem "mužem" pomocí rádiové zprávy číslo 1 a první vyšle SG zprávu k "ženě" s číslem 2. Poté "muž" čeká na SL zprávu od "ženy".
Napravo je okno prvku vysílače. Pod příkazem Send (poslat) najdete příkaz (zprávu) ze seznamu nebo vložte vlastní příkaz. Pod rozhraním cíle můžete vybrat, zda příkaz bude zaslán na rozhraní pomocí určitého čísla rádiové zprávy nebo na všechna rozhraní.
Nalevo vidíte okno prvku přijímače. Stejně jako u vysílače můžete vybrat příkaz (zprávu). Poté musíte dál vybrat, zda přijímač reaguje na příkazy, které byly zaslány přímo z rozhraní, tedy pomocí určitého čísla nebo příkazem zaslaným na všechna rozhraní. Můžete také vybrat oboje. Nakonec můžete vyměnit pozici spojení Yes a No, stejně jako u prvků rozvětvení. Zatím jsme mluvili o "Zprávách". V okně vysílače i přijímače a dále v úrovni 3 je nicméně použit pojem "Příkaz". Z pohledu přenosu dat je to to samé. Zda je zpráva příkazem, záleží na interpretaci a ne na druhu přenosu. V úrovni 3 budete mít se zprávami hodně práce. Například s příkazy pro ovládání motoru nebo proměnnými. V ROBOPro je termín "příkaz" obvykle použit pro zprávy. Nyní vložte do programu TangoSolo.rpp nebo TangoSoloZena.rpp jeden ze synchronizačních podprogramů, které byly popsány výše. Vyvolejte podprogramy Sync. Můžete pochopitelně napsat podprogramy takovým způsobem, že "žena" vyzve k tanci "muže". Můžete vyvolat podprogramy jako na obrázku napravo v hlavním programu kdykoliv na začátku cyklu kroku. Hotové programy najdete ve složce ROBOPro pod Sample programs/Manual/Tango Encoder Motor/ Sample programs/Manual/Tango Pulse Switch/ TangoSyncGentl.rpp TangoSyncLady.rpp Načtěte dva programy do robotů a spusťte je. S ROBO rozhraním a data linkou uvidíte, že roboti budou tančit, jen pokud "žena" začne.to proto, že "muž" nejprve vyšle zprávu SG a "žena" na tuto zprávu čeká. Pokud je "muž" spuštěn první, zpráva neodejde a "žena" bude neustále čekal. Pokud, naopak "žena" bude spuštěna první, tak už čeká na SG zprávu, když je "muž" spuštěn.Toto je pochopitelně poněkud nepraktické, zvláště když zapomenete, který robot je "muž" a který "žena". Tento problém nenastane s TX-kontrolerem, protože muž nevyšle zprávu, dokud nebylo ustáleno rádiové spojení s ženou.
Nešlo by něco podobného pro ROBO rozhraní? Vcelku jednoduše: "muž" musí opakovat výzvu k tanci, dokud mu "žena" neodpoví. Pokaždé, když se "muž" optá, chvíli čeká, zda od "ženy" přijde odpověď. V příkladu napravo "muž" poslal SG zprávu a poté ve smyčce čekal desetkrát 0.01 sekundy, takže dohromady 1/10 sekundy , zda mu "žena" odpoví. Pokud "žena" odpoví během této doby, "muž" opět pošle SG. Teď se asi sami sebe ptáte, proč nemůže muž prostě poslat SG zprávu ve smyčce a ihned zjistit, zda obdržel SL zprávu. To je proto, že přenos zprávy od "muže" k "ženě" trvá od 1/100 do 2/100 sekundy. Cesta zpět trvá stejnou dobu. I když je program v "ženě" již spuštěný, zabere 4/100 sekundy času, než dorazí odpověď. Během této doby by mohl muž poslat několik SG zpráv, které by byly všechny přeneseny k "ženě". Při první synchronizaci to nehraje roli, ale přebytečné zprávy SG zprávy by měly zůstat uložené v prvku přijímače programu ženy. Na začátku dalšího cyklu kroků by "žena" už měla mít SG zprávu bez toho, aby jí "muž" posílal další. Proto pak "ženy" nemusí již čekat na "muže". Proto by "muž" měl čekat dostatečnou dobu, než zprávu zopakuje. "Muž" by měl pochopitelně po vysílání počkat 1/10 sekundy a poté zkontrolovat, zda dostal odpověď. Čekání ve smyčce 10 krát 1/100 sekundy má nicméně tu výhodu, že "muž" může pokračovat v programu skoro ihned, jakmile od "ženy" dostane odpověď. Nyní vyzkoušejte, zda program funguje lépe, když změníte podprogram Sync v TangoSyncGentl.rpp, jak je popsáno výše. Roboti by se měli nyní vždy spustit, jakmile je spuštěn program v druhém robotu, nezávisle na tom, který robot začal první. Když necháte roboty tančit, odkud se jednomu z nich nevybije akumulátor, synchronizace není účinnější jednou za cyklus. Roboti se ve skutečnosti synchronizují na začátku každého cyklu kroku, ale během cyklu se znatelně oddálí, když se jeden z akumulátorů blíží svému limitu. Je lepší vložit po každém kroku přídavnou synchronizaci. Zde je ale jasné, že oba programy běží, takže se můžete vzdát opakování. Aby počáteční sychronizace a synchronizace kroků nebyla v nepořádku, měli byste použít dva různé podprogramy Sync1 a Sync2, které používají různé zprávy, například SH1, SL1 a SH2, SL2. Hotové programy najdeve ve složce ROBOPRo pod Sample programs/Manual/Tango Encoder Motor/ Sample programs/Manual/Tango Pulse Switch/ TangoGentl.rpp TangoLady.rpp Najdete zde TangoNachrichtenMonitor.rpp. Pokud máte třetí TX kontroler nebo třetí rozhraní s ROBO RF data link modulem, můžete spustit tento program v online módu, zatímto oba roboti tančí. Tento prohram vám ukáže na obrazovce, jaké zprávy jsou zasílány. Program využívá prvky úrovně 3 a vy zatím nepotřebujete chápat, jak funguje.
4.5.1 Nastavení rádia v Robo rozhraní Každé ROBO rozhraní má vlastní číslo pro rádiové zprávy mezi 1 a 8 a podle toho přiřazenou frekvenci. Oboje můžete nastavit v okně Info s testu rozhraní. Na následujícím obrázku najdete nastavení ROBO RF Data Lind vpravo nahoře. Všechny RF Data Link moduly, které by si spolu měly vyměňovat zprávy, musí být nastaveny na stejnou frekvenci. Frekvence je vložena jako číslo mezi 2 a 80. Můžete změnit frekvenci, pokud je v oblasti několik skupin robotů, například ve škole nebo na soutěži, aby mohli komunikovat jen správní se správnými. Všichni roboti, kteří náleží k skupině, používají stejnou frekvenci. Různé skupiny používají různé frekvence. Můžete také změnit frekvenci, když RF Data Link nefunguje správně na vámi používané frekvenci. Hodně rádiových systémů, například bezdrátové PC sítě, používá stejný rozsah frekvence (2,4 GHz) jako ROBO RF Data Link. Když je RF Data Link narušen jinými rádiovými systémy, můžete změnou frekvence vyřešit problémy. Musíte ale změnit všechny RF Data Link moduly a PC Radio Moduly, jelikož všechna zařízení ve skupině musí mít vždy stejnou frekvenci.
Všechna ROBO rozhraní s RF Data Link, která jsou nastavena na stejnou frekvenci, musí mít rozdílné číslo pro rádiové zprávy mezi 1 a 8. Číslo 0 je rezervováno pro PD modul RF Data Linku, "červenou krabičku". Proto je možné nainstalovat maximálně 8 rozhraní s rádiovými moduly a RF Data Link PC může s nimi komunikovat. Rádiové číslo je v podstatě telefonním číslem v rádiové síti. Můžete je přiřadit od 1 do 8 až osmi zařízením. Políčko Enable je skoro vždy zaškrtnuté. Nicméně můžete deaktivovat radio modul rozhraní, pokud jej nepoužíváte v modelu, a chtěli byste zachovat aktuální, aniž byste model rozebrali. Poté, co provedete všechna nastavení, můžete je uložit v rozhraní pomocí tlačítka Write to interface. Je nastaveno, že se nastavení zapíší na flash paměť. Takto jsou nastavení zachována, i když rozhraní vypnete. Pokud byste chtěli jen něco na chvíli zkusit, můžete zapsat nastavení i na dočasnou paměť. O verzi firmwaru se nemusíte starat, to je verze vnitřního ovladacího programu pro RF Data Link. ROBOPro vás vyzve k vylepšení programu, jakmile to bude nezbytné. Abyste umožnili komunikaci mezi dvěma tančícími roboty, nejprve propojte jednoho robota s USB PC rozhraním a otevřete okno testu rozhraní. Možná budete muset stisknout tlačítko COM-USB a vybrat rozhraní. V testovacím okně rozhraní přepněte na partner info a nastavte frequency 2 a radio call number 1 a uložte nastavení pomocí tlačítka Write to interface. Nyní zavřete okno testu rozhraní, připojte druhého robota s USB rozhraním a nastavte frequency 2 a radio call number 2.
Předpoklady pro rádiovou komunikaci I když se, stejně jako v případě dvou tančících robotů, vyměňují zprávy mezi dvěma rozhraními přes RF Data Link moduly, červený PC radiový modul je nezbytný. Slouží jako přepínací centrum pro všechny ostatní moduly a musí být proto připojeno k USB rozhraní PC. PC musí být zapnutý a nesmí se přepnout na mód úspory proudu nebo spánku, aby mohl být PC radio modul správně napájen. PC radio modul musí být nastaven na stejnou frekvenci jako radio moduly rozhraní. Radiové číslo PC radio modulu je nastaveno na 0 a nelze měnit. Abyste nastavili frekvenci PC radio modulu, propojte PC modul k PC USB rozhraní. Poté můžete nastavovat frekvenci přes Info Partner okna testu rozhraní stejně jako v radio modulem rozhraní. Pokud PC radio modul nemůže dosáhnout rozhraní pomocí vestavěného radio modulu, například protože frekvence ještě není správná, ukáže se při otevřeníokna testu rozhraní chybová hláška. Nicméně tato chybová hláška se týká jen faktu, že nebylo nalezeno spojení a nejsou tím pádem k dispozici žádné vstupy a výstupy. Nicméně můžete provést navzdory hlášce nastavení v okně Info. Výběr rozhraní skrze tlačítko rozhraní (COM/USB) Nejspíš jste zatím pracovali hlavně s jedním jediným ROBO rozhraním. Jakmile připojíte k PC více než jedno ROBO rozhraní přístupné přes rádio, vyvstává otázka, ke kterému rozhraní připojit ROBOPro, když začal program v módu online, probíhá stahování programu nebo je otevřené okno testu rozhraní. Když stisknete tlačítko pro výběr rozhraní (COM-USB), objeví se nejprve výběr rozhraní. Když vyberete USB a ROBOPro najde více na USB rozbočovači nebo rádiovém spojení více než jedno rozhraní, objeví se vpravo okno výběru. V tomto případě jsou PC radio modul a RF Data Link připojeny k USB rozhraní PC. PC Radio modul nalezl dvě ROBO rozhraní s RF Data Link, která mají rádiová čísla 1 a 2. Můžete v tomto okně vybrat, které ze dvou rozhraní bude použito pro budoucí operace. Vyberete jedno rozhraní a ne ROBO RF Data Link. Když vyberete, stejně jako obrázku výše, RF Data Link, ROBOPro propojí rozhraní s nejmenším rádiovým číslem, například 1. Je tu však důležitý rozdíl: když je RF Data Link správně vybrán, nastavení v Info Partner testovacím okně odkazuje na PC radio modul a ne na rozhraní radio modulu v rozhraní připojeném radiem. Můžete pak změnit, například, frekvenci obou rozhraní radio modulů a PC radio modulu rádiem, aniž byste museli propojovat rozhraní k PC pomocí USB kabelu. Kvůli tomu vyberte před tlačítko COM/USB jedno z rozhraní, změňte frekvenci pomocí okna testu rozhraní a opět jej zavřete. Když nyní stisknete tlačítko COM/USB, rozhraní se změněnou frekvencí zmizí ze seznamu, jelikož již nelze zachytit PC radio modulem. Nyní vyberte druhé rozhraní a změňte frekvenci. Když stisknete ještě jednou tlačítko COM/USB, už se pravděpodobně nezobrazí žádný další seznam s výběrem, protože PC radio modul je jedinou přístupnou jednotkou. Pokud máte stále další přímo připojená rozhraní k USB a objeví se seznam s výběrem, vyberte PC radio modul. Když budete otvírat test rozhraní, nyní se objeví zpráva, že nebylo nalezeno žádné rozhraní. Nicméně toto vás nemusí rušit, jelikož jste chtěli změnit pouze nastavení Data Link. Pokud změníte frekvenci PC radio modulu a stisknete znovu tlačítko COM/USB, PC radio mocul a obě rozhraní se opět zobrazí, protože nyní mají všechna tři stejnou frekvenci. Proč jste měnili nejprve frekvence rozhraní a až nakonec frekvenci PC modulu. Zjistěte, co by se stalo, kdybyste nejprve změnili frekvenci PC modulu.
Může se však stát, že změny se projeví až za několik sekund. Pokud seznam s výběrem neodpovídá aktuální konfiguraci, jednoduše ještě jednou stiskněte tlačítko COM/USB. Pokud nemůžete dosáhnout pomocí rádia více rozhraní, propojte je přímo k OC USB rozhraní a ovládejte nastavení RF DATA Link pro rozhraní. 4.5.2 Nastavení Bluetooth pro TX-kontroler Každý TX kontroler má vlastní rádiové číslo mezi 1 a 8, které zjistíte v okně pod nastavením Bluetooth. V programech ROBOPro se používá rádiové číslo jako telefonní číslo pro identifikaci jednotlivých kontrolerů. Nejprve musíte přihlásit všechna rozhraní do PC jako Bluetooth moduly. Návod pro TX kontroler popisuje, jak toto učinit (pro experty, kteří ro zvládnout bez návodu - hlavní kód je 1234). Abyste mohli pokračovat, váš počítač musí být buď integrované Bluetooth rozhraní nebo USB Bluetooth adaptér. Jakmile jsou všechny kontroleny přihlášeny do PC a zapnuty, otevřete ROBO Pro. Stiskněte tlačítko COM/USB a definujte jeden ROBO TX kontroler, který bude připojen pomocí USB nebo Bluetooth s ROBO Pro v online módu. Poté otevřete okno nastavení Bluetoothv ROBO Pro pomocí položky menu Edit Bluetooth nebo stiskněte tlačítko pro lištu Bluetooth. Stiskněte "Scan" pro vyplnění seznamu TX kontrolery. V závislosti na Bluetooth adaptéru, který používáte, se může stát, že názvy rozhraní se na seznamu neobjeví. V takovém případě můžete vybrat odpovídající COM rozhraní pro každé pomocí tlačítka COM/USB a poté provést test rozhraní pro zjištění, které rozhraní je které. Také musíte ručně přiřadit odpovídající COM ke každému TX kontroleru pod Set COM Port. Ve většině případů se ale tohle stane automaticky. Seznam a nalezenými TX kontrolery je vždy seřazenpodle rádiového čísla (RCN). Můžete změnit číslo výběrem řádky v seznamu a stisknem kláves nahoru a dolů. Například, když vyberete řadu pro číslo 2 a stisknete nahoru, kontroler se přesune o jednu řadu výš a je mu přiřazeno číslo 1. Kontrolet z řady 1 se posune o jednu řadu níže a je mu dáno číslo 2. Můžete také vybrat řadu, vložit rádiové číslo v textovém okně vedle tlačítka Set a poté stisknout Set. Jakmile nastavíte rádiová čísla, musíte poté určit, který kontroler převezme rádiový přenos. Je nastaveno, že to budou všechny kontrolery na seznamu. Nicméne ve školách je možné, aby se na seznamu objevily kontroledy od jiných experimentujících skupin. Pro výběr kontrolerů pro komunikaci s vaším programem zaškrtněte v seznamu začátek řádku.
Protože nahrávání několika programů na několik zařízení je zdlouhavé, ROBOPro nabízí možnost rozdělení každého TX kontroleru ROBOPro .rpp soubor v seznamu. Použijte tlačítka Assign a Clear. Stahovací okno vám nabídne možnost stažení všech těchto programů najednou. Centrální ovládání
Výměna zpráv mezi 3 a více kontrolery využívá hvězdicovou topologii. Jeden z kontrolerů se chová jako centrální ovladač, jak vidíte na obrázku výše. Aby si kontroler 2 vyměnil zprávy s kontrolerem 3, musí je poslat přes centrální ovladač. Je obvykle nedůležité, který kontroler zaujme místo centrálního. Nicméně záleží na tom v případě mobilních robotů, kteří se mohou dostat mimo dosah vysílače. Tento výběr opět učiníte přes okno Bluetooth settings. Dalším důležitým bodem, že online spojení s centrálním ovladačem je složitější a méně spolehlivé. Je to proto, že PC hraje roli centrálního ovladače pro online spojení, zatímto centrální kontroler se chová jako centrum pro některá Bluetooth spojení, ale pro jiná ne. Již bylo naznačeno, jak to funguje, ale ustálení spojení trvá déle. Kde jsou uložena nastavení? Výběr kontroleru (klikněte na začátek řádku) a alokace ROBOPro programů do kontrolerů je součástí ROBOPro programu. Při více staženích všechny programy předpokládají nastavení Bluetooth z programu, který spustil stažení. Na druhou stranu, alokace radiových čísel a TX kontrolerů není uložena v ROBOPro programu, ale na PC. Toto umožňuje snadnější výměnu ROBOPro programů s jinými.
5. Úroveň 3: Proměnné, panely a další Promyslete si přenastavení ROBO Pro na Level 3 nebo vyšší! Představte si, že objevíte v muzeu fascinující stroj a prostě ho musíte nabodobit pomocí této stavebnice. Když si ale stroj prohlížíte, ztratíte pojem o čase a nevšimnete si, že všichni ostatní už z muzea odešli. Jen když je muzeum prázdné, jste mohli stroj pořádně prostudovat a udělat jeho repliku. Naneštěstí musíte ale strávit celou noc v zavřeném muzeu, než se můžete pustit do práce. Aby se to nestalo znovu, zajdete za ředitelem muzea a přihlásíte se jako dobrovolním, co by naprogramoval počítadlo návštěvníků, kteří přicházejí a odcházejí, a rozsvítí varovné červené světlo, pokud jsou uvnitř ještě lidé. Jak to ale uděláte? Jak můžete pomocí ROBO Pro něco počítat? Odpověď zní, že pomocí proměnných. Proměnné a příkazy Proměnná (Variable) je prvek, který v sobě může držet číslo. V okně Properties prvku proměnná vložte název (name), které vám poradí, o co přesně se jedná. Initial value (počáteční hodnota) je číslo, které bude proměnná obsahovat na začátku programu. Data type rozhoduje, zda bude proměnná celé číslo (např. 1, 2 nebo 3) nebo bude mít desetinnou čárku (například 1.3457). Zatím budeme používat jen celá čísla. Life time je nastavení, které bude vysvětlení v části 8.4.2. Můžete upravit uloženou hodnotu vysláním prokazu do proměnné. Proměnná rozumí třem různých příkazům: =, + a -. Příkaz = nahrazuje uloženou hodnotu novou hodnotou. Příkazy + a - něco přidají nebo uberou od uloženého čísla. Příkaz proměnné vyšlete pomocí prvku Command. Jako většina programovacích prvků má modrý vstup nahoře a modrý výstup dole. Ale vpravo má něco nového, oranžové spojení. To je výstup příkazu. Když je spuštěn nový prvek Command, vyšle skrze výstup příkaz všem prvkům, které jsou k němu připojeny přes výstup. Proměnná má odpovídající příkazový vstup na levé straně. Když připojíte příkazový vstup, namísto obvyklé modré spojovací lisky ROBO Pro načrtne linku oranžovou . Programovací prvek může vysílat příkazy nebo zprávy přes tyto oranžové linky a díky tomu si vyměňovat informace. Program napravo na začátku pošle proměnné Var příkaz =1. Příkaz musí obsahovat skutečný příkaz, jako například =, a hodnotu, jako je 1. Příkaz =1 nastaví proměnnou na 1. Po sekundě program vyšle proměnné příkaz +1. Proměnná tedy přidá k předchozí hodnotě 1, takže má nyní hodnotu 2. Po další sekundě program vyšle příkaz -1. Díky tomu má proměnná opět hodnotu 1.
Teď zkuste napsat v ROBO Pro tento jednoduchý program. Prvky příkazů najdete ve skupině Commands, proměnné ve skupině Variable, Timer, ... Když spustíte program v módu online, uvidíte, jak se hodnota proměnné změní. To je všechno sice dobré, ale můžete si říct, že sice vidíte hodnotu proměnné, ale k čemu to může sloužit? To je jednoduché: proměnná má oranžové spojení napravo, přes které posílá zprávy s aktuální hodnotou všem připojeným prvkům. V ROBO Pro je několik prvků s oranžovými vstupy nalevo, které můžete připojit k výstupu proměnné. Takže, například ve skupině Branch, Wait, ... najdete větvití prvek Yes/No, který nemá vstup přímý, ale spíše se může dotázat na jakoukoliv hodnotu, mimochodem také hodnotu proměnné. Počítadlo pro návštěvníky muzea lze naprogramovat následovně:
Jako vstupní turniket bude senzor I1, odchozí turniket bude senzor I2. Když stisknete I1, program vyšle příkaz +1 do proměnné Counter (počítadlo). Poté program čeká, dokud není senzor I1 opět uvolněn. U odchozího senzoru I2 je to stejné, až na to, že zde je do proměnné vyslán příkaz -1. Pokaždé, když se hodnota v počítadle změní, je zkontrolován stav počítadla. Když má Counter hodnoto >0, červené světlo na M1 je zapnuté, jinak je vypnuté. Okopírujte program nahoře a vyzkoušejte jej. Jakmile stisknete senzor na I1 a pustíte jej, rozsvítí se varovné světlo M1. Když stisknete senzor na I2, zase zhasne. když stisknete I1 několikrát, musíte tolikrát stisknout i I2, avy varovná lampa zhasla. Zkuste, co se stane, když přijde 5 návštěvníků a dva odejdou. Pak přijdou další 3. Kolikrát musíte stisknout senzor na I2, aby lampa opět zhasla? 5.2 Proměnné a vícenásobné procesy Možná jste si při zkoušení všimli, že počítadlo návštěvníků má problém, když stisknete současně I1 a I2. Dokud je jedno tlačítko stlačené, program nemůže reagovat na druhé. Jelikož návštěvníci u vchodu a východu mohou procházet současně, nastály by chyby ve výpočtech. Těmto chybám zamezíte poutižím několika paralelních procesů. Až doteď měly všechny programy pouze jeden prvek Start. Teď vás ale nic nedrží, abyste nepoužili více prvků Start. Všechny programovací cesty s vlastními prvky Start budou pracovat současně. Pomocí této techniky můžete měnit počítadlo návštěvníků následovně:
Nyní jsou pro I1 a I2 použity nezávislé procesy. Když je stlačen senzor I1, proces pro I2 zůstává nezávislým na tomto procesu a může dál monitorovat senzor na I2. Oddělený proces je také použit pro vyhodnocení hodnoty proměnné a rozsvícení nebo zhasnutí lampy. Jak vidíte, není problém, aby byla proměnná přístupná z několika procesů. Můžete vyslat příkaz proměnné z několika procesů a můžete použít hodnotu proměnné v několika procesech. Proměnné se takto velice hodí pro výměnu informací mezi procesy. Ředitel muzea byl tak nadšený vaším geniálním počítadlem návštěvníků, že vás ihned požádal o vyřešení dalšího problému. V muzeu zrovna otevřeli novou výstavu, kterou chtějí všichni návštěvníci vidět. Problém je ten, že je u nové výstavy tolik lidí, až je tlačenice. Ředitel by rád snížil počet návštěvníků výstavy na 10. Dal nainstalovat ke vstupu a výstupu turnikety. Vstup lze elektronicky uzamknout. Už jen potřebuje schopného programátora, který by napsal pro turniket program. Pokuste se vytvořit popsaný program pomocí ROBO Pro. V zásadě bude fungovat stejně jako počítadlo návštěvníků. Můžete simulovat elektronické uzamčení vstupu pomocí červené lampy na M1, která se zapne, když bude na výstavě 10 návštěvníků. 5.3 Panely Poté, co jste vyřešili problém s výstavou, ředitel muzea pro vás má ještě jeden úkol. Rád by věděl, kolik lidí muzeum během dne navštívilo. Takový prográm pro vás jistě nebude žádným problémem, ale jak můžete zobrazit výsledek? Můžete pochopitelně spustit program v módu online, což vám dovolí sledovat hodnotu proměnných. Ale pro ředitele, který počítačům nerozumí by to bylo příliš složité. Chce něco jednoduššího. Pro takovéto případy má ROBO Pro napely. Panel je sám o sobě stránkou, na kterou můžete vložit displej a ovládací tlačítka. Načtěte váš počítací program a v liště funkcí přepněte na Panel.
Zpočátku je ovládací panel jen prázdnou šedou plochou. Do této oblasti můžete umístit displeje a ovládací prvky, které najdete v okně skupiny prvků Panel elements. Mezi prvky panelů najdete tlačítka, posuvníky a další. Pod Displays najdete textové displeje, výstražná světla a displeje s ukazateli. Pozor: panel je součástí podprogramu. Pokud máte podprogramy, rozhodně vytvořte panel pod hlavním programem a ne podprogramem! Později se naučíte vytvářet více panelů. Pokud jste vytvořili panel a on poté náhle zmizel, nejspíš jste v liště podprogramů vybrali podprogram. Překněte zpět na hlavní program a váš panel se vrátí.
Pro počítadlo návštěvníků použijte Text display (na barvě nezáleží) z okna prvků Panel elements/displays, a umístěte jej do panelu. Tento displej nyní bude zobrazovat počet návštěvníků muzea. Nejprve musíte ale přidat do vašeho programu druhou proměnnou, která bude počítat návštěvníky, kteří prošli vstupem, ale nebude je při odchodu odčítat. V liště funkcí přepněte zpět na Functions a vložte následujícím způsobem proměnnou Total:
Jak vidíte, prvek Command může být využit také k posílání příkazů dvěma proměnným najednou. Proměnná Total nedostane příkaz -1, protože příkazy jsou přenášeny po oranžových linkách pouze ve směru šipek. na druhou stranu, příkazy +1 projdou k oběma proměnným. To je zde však jen jako příklad. Použití druhého prvku Comman je jednodušší a přehlednější. Rada: Když se oranžové linky rozvětvují, je obvykle praktičtější je kreslit směrem od jejich cíle k počátku. Když chcete například nakreslit linii k proměnné Total, klikněte nejprve na vstup proměnné Total a poté pohněte s linkou dozadu k místo rozvětvení. Na místo, kde začíná nová linka, musíte dvakrát kliknout levým tlačítkem myši. Nyní máte textový displej v panelu a proměnnou, která byste rádi na panelu zobrazovali. Jak je propojíme? Jak displej, tak proměnná jsou na rozdílných stránkách, takže byste měli problém je propojit linkou. Pro tento účel existuje speciální prvek, který přenáší hodnotu, která má být zobrazena na panelu na odpovídajícím displeji. Najdetě výše zobrazený prvek Panel output na konci skupiny Inputs, Outputs. Vložte jeden z těchto prvků do vašeho programu vedle proměnné Total a připojte je k pravému spojení proměnné. Jelikož normálně budete mít v panelu více než jeden displej, stále ještě musíte ukázat výstupu panelu, kterému displeji má zasílat hodnotu proměnné. To učiníte jednoduše pomocí okna Properties v tomto prvku. Když kliknete pravým tlačítkemn na prvek Panel output, uvidíte seznam všech displejů, které byly zatím vloženy do panelu. Když má každý podprogram svůj vlastní panel, panely budou seřazeny podle podprogramu. V našem příkladě nejsou žádné podprogramy, pouze hlavní program. Mezi nimi je jeden displej s názvem Text. Vyberte jej a klikněte na OK. Jakmile propojíte Panel output s displejem, změní se podle toho symbol a popis. Panel, který používáme, vytváří spojení s textovým displejem pojmenovaným Text v (pod)programu MAIN.
Jakmile vložíte panel output a propojíte jej s displejem, program vypadá následovně:
Zkuste to přímo. Jakmile jste spustili program v módu online, displej na panelu ukáže počet návštěvníků, kteří prošli turnikety u vchodu. Rada: Pokud chcete v panelu používat více než jeden displej, je důležité, abyste každému z nich dali jiné jméno, takže je rozpoznáte, když je budete připojovat v programu. Abyste tak učinili, klikněte pravým tlačítkem myši na displej v panelu. Zde můžete vložit název pod ID/Name. Poté, když připojíte panel output k displeji, toto jméno se objeví v okně výběru výstupu panelu. jelikož máme zatím pouze jeden displej, není jméno důležité a ponecháme Text. Program ještě není úplně perfektní. Stále ještě chybí tlačítko pro reset. Pro tento účel, bohužel, nechceme použít normální tlačítko, ale raději tlačítko na panelu. Toto ovládací tlačítko najdete v okně prvků ve skupině Operating/Control elements. V liště funkcí přepněte na Panel a vložte tlačítko do vašeho panelu vedle textového displeje. Popis Button (tlačítko) není úplně vhodný, ale lze jej změnit pomocí jeho okna Properties. Klikněte pravým tlačítkem myši na tlačítko, jako Inscription (popis) vložte například 0000 a potvrďte pomocí OK. Přesně jako v případě textového displeje potřejeme programovací prvek, který navede tlačítko zpět k programu. Začnete přepnutím na Function v liště funkcí. Najdete tu prvek Panel input ve skupině Inputs, outputs. Umístěte jej do vývojového diagramu pod existující program. Nyní musíte ještě propojit vstup panelu s tlačítkem na panelu. Učiníte tak, když kliknete pravým tlačítkem myši na prvek Panel input. Stejně jako s displeji, ovládací prvky jsou seřazeny podle podprogramu, jako každý podprogram mohou mít vlastní panel. Nyní vyberte tlačítko 0000 a potvrďte pomocí OK. Možná jste si všimli, že je možné nastavit tento prvek pro všechny možné vstupy skrze lištu v okně Properties. Nicméně toto nevysvětlíme až do příští sekce, až na jednu položku. Command inputs for subprograms. Hodnota poslaná vstupem panelu je postoupena rozvětvovacím prvkem. Už jste tento prvek použili v souvislosti v proměnnými. Kompletní program s funkcí "nastavit na nulu" vypadá následovně:
Kdykoliv stisknete tlačítko 0000, do počítadla Total je vyslán příkaz =0, což ho nastaví na nulu. 5.4 Časovače Po vašich úspěších už ředitel muzea neví, co by si bez vás počal, tak z vás udělal poradce přes počítačové systémy. Taková pozice sice přináší uznání, ale také spoustu práce. Například následující: v muzeu je mnoho modelů, které se pohybují, když stisknete tlačítko. Ale někteří návštěvníci mačkají tlačítka dlouho, takže se modely přehřívají a je třeba je neustále opravovat. Ředitel by potřeboval, aby se modely pohybovaly ne tak dlouho, jak je tlačítko stisknuté, ale maximálně 30 sekund. Jakmile model zastaví, musí mít pauzu o délce 15 sekund, než může být opět spuštěn. Říkáte si, že tohle nebude žádný problém. Pár zpoždění, pár rozvětvení a máte to. Zkuste to! Po chvíli vám dojde, že to není tak jednoduché. Důvody jsou dva: - Během doby 30 sekund musí program zjistit, zda bylo tlačítko uvolněno předtím, než doba 30 sekund vyprší. bez problémů, tohle můžete vyřešit dvěma procesy jako v sekci 5.2. - Když návštěvník uvolní tlačítko po 5 sekundách a zmáčne jej poté znovu po 15 sekundách, musí opět opět od začátku začít 30 sekundová doba čekání. Ale čekání (model se pohyboval) bylo dlouzé pouze 20 sekund (5+15), takže je stále aktivní. I s paralelně běžícími procesy nemůžete čekání spouštět pořád dokola. Možná by to šlo v třech procesech s dvěma čekáními, která by začínala společně, ale tohle vymyslet vám způsobí leda bolení hlavy.
Neexistuje jednodušší způsob? Ano. timer variable (časové proměnné), zkráceně timers (časovače). Funkce časovače je stejná, jako u normální proměnné. Časovač udržuje přehled o čísle, které můžete upravovat pomocí příkazů =, + a -. Co jej odlišuje, je automatický odpočet čísla ve stejných intervalech, dokud nedosáhne 0. Časový interval mezi odečty lze nastavit v krocích mezi jednou tisícinou sekundy a minutou. Mnoho problémů řízení času lze vyřešit elegantněji pomocí časovačů, spíš než zpoždění. Už víte, jak můžete vyřešit problém s časovačem? Správně. Jakmile návštěvník stiskne tlačítko na I1, spustí se model a potom nastavený časovač. Pomocí příkazu = na 30 x 1 sekunda = 30 sekund. Potom se dostanete do smyčky, která kontroluje, zda byl přepínač na I1 uvolněn. Jakmile je některá z podmínek splněna, model se zastaví s čeká 15 sekund. Poté to vše začne znovu. Programy začínají být stále náročnější. Zkuste ale vyřešit následující úkol: vytvořte program se stejnou funkcí, který ale místo časovačů používá prvky time dealy. Poznámka: Je to velice složité a určeno jen pro ty, kdo se v něčem rádi často vrtají velmi dlouho. Všichni ostatní by měli postoupit přímo k další sekci. Jsou dva možné způsoby řešení: můžete použít dva prvky time delay, které spustíte v jejich samostatných procesech. jelikož je zde čekací doba 15 sekund, jedno ze dvou čekání vyprší na konci druhého cyklu, takže bude moct začít znovu. Další alternativou by bylo simulovat časovač pomocí normální proměnné a prvku Time delay s krátkou dobou čekání, například jednou sekundou. 5.5 Vstupy příkazů pro podprogramy Jako vždy váš program nyní funguje skvěle a fischertechnik má radost, protože všechny modely v muzeu budou vybaveny ROBO rozhraním. Jenže jako všude, i muzeum má jen omezené finance. Ředitel by proto chtěl, aby to šlo udělat s co nejméně rozhraními. ROBO rozhraní má čtyři výstupy motorů a také dostatek vstupů pro ovládání čtyř modelů. Jelikož se většina modelů otáčí jen jedním směrem, můžete ovládat skrze jednopólové výstupy O1 až O8 až osm modelů. To pochopitelně ušetří řediteli spoustu peněz. Na druhou stranu ale musíte zkopírovat program sedmkrát a nastavit všechny vstupy a výstupy. Nebo ne? Nešlo by to pomocí podprogramů? Jistě, že šlo, ale má to problém: Když použijete obvyklé senzory ze skupiny Basic elements v podprogramu, každý dotaz programu žádá stejné senzory a ovládá stejné motory. Důvod je tem, že například u prvku výstupu motoru tvoří příkaz motoru (doprava, doleva, zastavit) a číslo výstupu motoru (M1 až M8) tvoří jednotku. Jelikož je tu jen jedna verze podprogramu, objeví se v ní vždy stejný motor. Když upravíte číslo motoru pro jedno volání podprogramu, upraví se pro všechna volání. Takže znovu, musíte zkopírovat podprogram sedmkrát, dát každému podprogramu jiné jméno a ručně nastavit všechny vstupy a výstupy.
Existuje ale elegantnější řešení tohoto problému. Trik je v tom oddělit ovladací příkazy od symbolů motoru. Poté můžete vložit ovládací příkazy (doleva, doprava, stop) do podprogramu a prvky motoru do hlavního programu. V podprogramu za pomoci prvku Command, se kterým jste se již setkali u proměnných, vyšlete do hlavního programu, kde je můžete přiřadit různým motorům, příkazy doleva, doprava nebo stop. Pro motor existuje prvek motoru, který reprezentuje pouze motor, aniž by určoval, co má dělat. Tento prvek má vstup příkazu, do nehož můžete posílat příkazy. Můžete vyměnit prvek ze skupiny Basic elements za prvek Command a motor následovně:
V horní řadě vidíte prvky motoru ze skupiny Basic elements. V druhé řadě jsou popsány odpovídající kombinace, které mají přesně ten samý efekt, sestávající z prvku příkazu ze skupiny Commands s prvkem motoru ze skupiny Inputs, output. Ve skutečnosti je horní řada pouze zkratkou nebo zjednodušením pro kombinace ve spodní řadě. Každý může poslat motoru M1 příkazy doleva, doprava nebo stop. To samé platí pro senzory:
V horní řadě opět vidíte prvky ze skupiny Basic elements. Ve spodní řadě odpovídající kombinace digitálních vstupů a prvku ze skupiny Branch, Wait, ... Prvek Digital input najdete stejně jako prvek motoru ve skupině Inputs, outputs. Pomocí tohoto triku můžete oddělit logiku programu od vstupů a výstupů. Stále ale něco chybí. Pokud motor a prvky mají být v hlavním programu a příkazy v podprogramu, musí tu pochopitelně být propojení senzorů a pvrků motoru s podprogramem. Potřebné spojovací prvky najdete ve skupině Subprogram I/O. Skrze vstup příkazu podprogramu můžete posílat příkazy zvenčí do proprogramu. Prvek digitálního vstupu (senzor) vysílá novou hodnotu skrze oranžovou linku, pokud se změní stav vstupu (pomocí příkazu =). V dialogovém poli prvku můžete dát vstupu název. Skrze výstup příkazu podprogramu můžete posílat příkazy z podprogramu. Například můžete poslat příkaz doleva, doprava nebo stop z podprogramu do motoru. I tomuto prvku můžete dát jméno v dialogovém poli.
Nyní máte vše, co potřebujete pro váš časovač více modelů s podprogramy. Hlavní program
Podprogram Time
Podprogram Time je skoro stejný jako program v předchozí sekci. Prvky Wait for digital input na začátku a ve smyčce ale byly vyměněny za prvky Wait for, s oranžovými data spojeními od skupiny Branch, Waitm ... Obě jsou spojeny se vstupem příkazu podprogramu Sensor. Dva prvky ovládání motoru na začátku a konci programu byly vyměněny za prvky command. Oba vysílají své příkazy do výstupu příkazu podprogramu Motor. Podprogram Time je hlavním programem vyvolán čtyřikrát. Vstup příkazu podprogramu Sensor automaticky vygeneruje oranžové spojení S na levé straně zeleného symbolu podprogramu. Spojení M na pravé straně je zde, kvůli výstupu příkazu podprogramu Motor. Spojení M na pravé straně je zde kvůli výstupu příkazu podprogramu Motor. Spojení S se symbolem podprogramu je připojeno k jednomu ze senzorů I1 až I4. Jeden z motorů M1 až M4 je pripojen ke spojení M. Tímto způsobem je každé volání podprogramu Time převedeno jiným senzorem a ovládá jiný motor. Zkuste zkopírovat podprogram a hlavní program výše a vyzkoušejte je. Musíte nejprve nakreslit podprogram, protože jinak nebudete moct vložit podprogram do hlavního programu. Pokud máte s podprogramem problémy, podívejte se do kapitoly 4. Poznámka: Další informace ke vstupu příkazů najdete v sekci 6.3
5.6 Seznamy Když jste teď v muzeu vybavili všechny modely úsporným systémem ovládání, ředitel má pro vás další problém: V místnosti s výstavou velmi cenných exponátů se nedávno začala prudce měnit teplota, což exponátům, škodí. Předpokládáte, že za to může slunce. Abyste to dokázali, možná budete chtít postavit zařízení, které zaznamená úroveň osvětlení a teplotu. ROBO rozhraní pochopitelně má několik analogových vstupů a vy už víte, jak ukládat hodnoty s pomocí proměnných. Tohle by tedy neměl být problém, že? Pro nahrání dvou hodnot každých pět minut po více než 12 hodin potřebujete více než 288 proměnných! Co by ale znamenalo obrovský program. Nemůžeme jej třeba opět zjednodušit pomocí podprogramů? Můžeme, bude to tak mnohem lepší. Poslouží nám prvek List. Můžete uložit nejen jednu hodnotu, ale celý seznam hodnot do tohoto seznamu. Zpočátku je seznam prázdný. Když vyšlete příkaz Append do dat vlevo nahoře, označených W, hodnota specifikovaná v tomto příkazu bude přidána ke konci seznamu. Můžete nastavit maximální délku seznamu mezi 1 až 32767 skrze okno Properties prvku List. To učiní program pro nahrávání teploty a osvětlení značně jednoduchým: Teplotní senzor je připojen k analogovému vstupu AX a senzor jasu k analogovému vstupu AY. Program přečte obě hodnoty ve smyčce každých pět minut a přidá je na jim přiřazený seznam pomocí příkazu Append. Rada: Když vkládáte prvek příkazu, musíte aktivovat volbu Data input pro hodnotu příkazu v okně Properties. Potom se vstup dat objeví nalevo od prvku příkazu a vy k tomu můžete připojit analogový vstup. Pro otestování programu je vhodné zkrátit smyčku z pěti minut na několik sekund. Asi se divíte, jak můžete ze seznamu přečíst uložené hodnoty. Jsou dvě možnosti: Můžete přečíst hodnoty jako u normální proměnné a dál je zpracovat ve vašem programu. Když seznam obsahuje více než jeden prvek, nejprve vyberte číslo prvku, který chcete získat na levém vstupu dat, označeném I. Potom je hodnota tohoto prvku odevzdaná na výstupu dat R na pravé straně.
Ale ROBO Pro může také ukládat všechny hodnoty ze seznamu do vašeho počítače, kde je můžete dále zpracovávat například v Excelu. Stejně jako v předchozím případě se chcete jen podívat a porovnat nahrané úrovně osvětlení a teploty, takže tohle je praktičtější. ROBO Pro ukládá hodnoty v takzvaném CSV souboru (comma-separated values). CSV soubory jsou textové soubory které obsahují jeden nebo více sloupců, každý se sekvencí dat. Takto můžete uložit několik sérií meření jako je teplota a osvětlení, v různých sloupcích CSV souboru. Sloupce jsou rozdělené čárkami. V zemích, kde se píše 0,5 s čárkou a ne 0.5 s tečkou je často použit středník (;). Pokud máte problémy s výměnou CSV souborů mezi ROBO Pro a například Microsoft Excel, můžete změni znaménko (Column separator) v okne Properties. Můžete nastavit název CSV souboru a sloupec, ve kterém se bude ukládat obsah seznamu v okně Properties pod položkou Save CSV file. Data jsou uložena, když se program ukončuje v online módu, nebo, když vyberete položku Save CSV files v menu File, zatímco program stále ještě běží (mód online nebo download). V módu download můžete oddělit ROBO rozhraní od PC pro nahrávání dat a přepojit to pro ukládání. Poté, co jste spustili program výše v módu online, můžete otevřít soubor CSV vytvořený z dat z ROBO Pro v Microsoft Excel nebo podobném programu. Pokud takový nemáte, můžete použít také Windows editor (poznámkový blok), který obvykle najdete ve Windows menu Start pod Příslušenstvím. Dokud program stále běží v módu online, můžete se také podívat na data v seznamu pomocí pravého kliknutí na prvek List. 5.7 Operátory Program pro záznam teploty a osvětlení by měl pracovat bez problémů, ale z nahraných dat je jasné, že teplota v té místnosti nemá nic společného se sluncem. Ukázalo se, že někteří návštěvníci výstavy si pletou ovládání topení s ovladačem modelu, takže jej mačkali. Žádný div, že se tam teplota zbláznila! Tento problém by šel snadno vyřešit elektronickým kombinačním zámkem. Kombinační zámek by měl mít klávesy od 1 do 6. Pokud se tři čísla zadají správně jedno po druhém, kombinační zámek by měl uvolnit řízení teploty pomocí magnetu.
Na první pohled je takový zámek vcelku jednoduchý: Program prostě počká, dokud není stištěn ve správném pořadí správný zámek. Napravo vidíte program pro kombinaci 3-5-2. Při bližším prozkoumání má ale tento program problém. Zámek lze velmi snadno odemknout stisknutím všech kláves třikrát po sobě. Tím způsobem pokaždé stisknete správnou kombinaci. Jak řekl Albert Einstein: Věci musí být tak jednoduché, jak je potřeba, ale ne jednodušší." Takže program musí fungovat, jen když jsou stištěny správné klávesy, ale také když jsou stištěny špatné klávesy. Takový program vypadá, jako vidíte níže:
Tento program otevře zámek, když jsou stisknuta tlačítka 3-5-2, aniž by bylo stisknuto jakékoliv mezitím. Když například stisknete tlačítko 3, program nejprve čeká, dokud tlačítko opět neuvolníte. pokud je poté stisknuto jiné tlačítko, než 5, program začne znovu od začátku. Takže program funguje správně, ale není ani jednoduchý, ani příliš složitý. Navíc je velmi složité změnit kód, Ale nebojte se, může to být učiněno jednoduše a přesně pomocí operátorů. Operátorů je několik druhů. Najdete je mezi programovými prvky ve skupině Operators. Pro kombinační zámek budeme jako první potřebovat OR operator. K OR operátoru je možné připojit několik signálů. Operátor vždy upřednostní1, kdykoliv je alespoň jeden ze vstupů 1 (nebo >0). Pokud je k vstupu do OR operátoru připojeno několik tlačítek, výstup operátoru je vždy 1, když je alespoň jedno tlačítko stisknuto. Počet vstupů lze nastavit skrze okno Properties operátoru až do 26. Takže všech 6 tlačítek je možní připojit k jednomu operátoru. Možná se sami sebe ptáte, jak můžete tohle použít k zjednodušení kombinačního zámku. Vcelku jednoduše: s operátorem můžete čekat u každého kroku, dokud není stisknuto tlačítko. Poté můžete zkontrolovat, zda se jedná o správné tlačítko. Potom budete potřebovat pro každé číslo jen 2 namísto 7 prvků.
Tlačítka vstupů I1 až I6 jsou spojená dohromady skrze OR operator se šesti vstupy. Pokud je alespoň jedno z tlačítek stištěno, OR operator má hodnotu výstupu 1, jinak 0. Pomocí prvku Wait for program čeká, dokud není stištěno jedno z tlačítek. Následne ihned zjistíme, jestli to bylo správné tlačítko. Pokud ano, počkáme na stisknutí dalšího tlačítka. Pokud bude stištěno špatné tlačítko, program začíná zase od začátku. Upravte program výše, aby používal prvky panelu v panelu namísto tlačítkových senzorů. Začnete nakreslením panelu s šesti tlačítky označenými 1 až 6. Poté upravte digitální vstupy skrze okno Properties. Musíte vyměnit větve za větve se vstupem dat a panelu. Kombinační zámek nyní funguje bez problémů, ale stále ještě není snadné změnit kód (3 5 2). Vstupy ve třech rozvětvovacích prvcích musí být upraveny. Není nezbytné pravidelně měnit kód ovládání vytápění muzea, ale pokud byste třeba zámek potřebovali pro poplašný systém, asi byste chtěli kód měnit pravidelně. Jistě by bylo snazší, kdyby byl kód uložen jako proměnná. Kód by mohl být také meněn automaticky. Pokud se například spustí tichý poplach, normální kombinace by mohla být vyměněna speciální poplašnou kombinací. Abyste porovnali kombinace proměnné se vstupem, musíte také uložit vstup jako proměnnou. Na začátku by měla mít proměnná vstupu hodnotu 0. Když nyní stisknete tlačítko 3, proměnná by měla mít hodnotu 3, a dalším stiskem klávesy 5 hodnotu 35 a konečně po stisku klávesy 2 hodnotu 352.
Kombinační zámek s kódovou proměnnou má dva procesy. V procesu nalevo je přiřazeno číslo každému tlačítku s operátorem času a operátorem plus. Klávesa 1 dostane číslo 1, klávesa 2 číslo 2 atd. Klávesy se vrátí k hodnotě 0 nebo 1, a když tuto hodnotu vynásobíte pevným číslem X, vásledkem je buď 0 nebo X. Jelikož hodnoty pro nestištěná tlačítka jsou 0, můžete přidat všechny hodnoty a skončit hodnotou numerické klávesy. Jakmile je tlačítko stisknuto, vstup proměnné je nastaven na 10 násobek předchozí hodnoty plus hodnotu nyní stisknuté klávesy. Násobení deseti posune existující hodnotu vstupu proměnné o jedno desetinné místo doleva, takže se například z 35 stane 350. Proces napravo čeká, dokud není stisknuto na panelu po kombinaci ještě tlačítko OK. Kódová proměnná Code, která má hodnotu 352, pokud je kód správně vložen, je porovnána se vstupní proměnnou. Pokud mají obě stejnou hodnotu, otevírací magnet se aktivuje, jinak ne. Nakonec je vstupní proměnná resetována na 0. Proměnné Entry a Code jsou porovnány zjištěním jejich rozdílů oproti číslu 0. Taky můžete použít prvek Compare. Když stisknete dvě tlačítka najednou, přidá se jejich hodnota. Takže, například, když byste najednou stiskli 3 a 6, výsledná hodnota bude 9. Tímto způsobem můžete vytvořit supertajný zámek, u něhož bude občas potřeba stisknout několik kláves najednou. Přemýšlejte, jaké klávesy v jakém pořadí musíte stisknout, abyste otevřeli zámek s kódem 495. Nezapomeňte, že prvek Wait for... pokračuje v programu, když se zvýší hodnota, nejenom, když se zmení z 0 na 1. Funguje kombinační zámek také pro 2 nebo 4 číselné kódy? Pokud ano, do jakého až počtu čísel funguje a proč? A co jiné programy kombinačních zámků?
6 Úroveň 4: Uživatelem definované příkazy Nezapomeňte změnit ROBO Pro v menu Leve na level 4 nebo vyšší! V úrovni 3 jste se zabývali tím, jak zpracovat data pomocí příkazů a jak můžete, například, zatáčet s motory. Takto jste používali jen předefinované příkazy jako příkaz = nebo doleva, doprava a stop. V úrovni 4 posíláte skrze oranžová spojení příkazy a nyní jsou propojovány jeden s druhým vaše vlastní příkazy. 6.1 Zpracování příkazů v procesu Jistě jste už napsali program, který ovládá robota pomocí dvou kol, nebo pásové vozidlo. Všechno je stejné, když vozidlo zahýbá doleva, doprava, jeden dopředu a dozadu. Vždy musíte motorům zadat příkazy doleva, doprava nebo stop. A poté musíte vždy zaznamenat, který motor řídí levé a který pravé kolo a zda se musí motor otáčet doprava nebo doleva, aby vozidlo jelo rovně. Ale jistě máte hlavu plnou jiných chytrých nápadů, takže vás nebudeme obtěžovat takovými drobnostmi. Tento problém lze pochopitelně vyřešit pomocí podprogramů pro každou operaci, alei tak by stále bylo elegantnější, když napíšete podprogram, který, jako výstup motoru, má informační vstup, kterému musíte jen poslat příkazy dopředu, dozadu, doleva, doprava a stop a takto ovládat dva motory. Nyní si jistě říkáte, že v prvku command v ROBOPro nejsou příkazy doprava, doleva, dopředu a dozadu. Jenže starý dobrý prvek command skrývá stále spoustu překvapení. Umístěte do hlavního programu volitelný prvek commad a jednoduše vložte jednou do okna Characteristics jako položku Command "Forward". Sledujte... ono to funguje! Následuje otázka: Co dělat s takovým prvkem příkazu? Není tu žádný prvek, který umí zpracovat takové příkazy. Když pošlete, například, příkaz vpřed do výstupu motoru a zkusíte spustit program, ROBOPro oznámí "No connected input can process the Forward command". (žádný připojený vstup nemůže zpracovat příkaz Forward.) Od úrovně 4 se objevují dva vcelku nenápadné, ale velice účinné prvky, které mohou zpracovávat libovolné příkazy: prvek Command Wait a prvek Command filter. oba najdete ve skupině prvků Send, Receive. Úkol, jak vytvořit podprogram, skrze který dvojkolový robot může být ovládán pomocí příkazů dopředu, dozadu, doprava a doleva, může být vyřešen oběma prvky. Jako první zkusíme Command Wait. Do tohoto prvku můžete poslat libovolné příkazy přes příkazový vstup C. Nicméně prvek čeká pouze na zcela rozhodnutý příkaz, který můžete nastavit. Poté, co prvek obdržel tento příkaz, program je nasměrován do výstupu Y, jinak bude poslán do výstupu N. Jak víte, v ROBOPro je příkaz sestávající z názvu a čísla, hodnota příkazu. Až prvek Wait for Command obdrží příkaz, na který čekám hodnota příkazu je k dispozici na výstupu V.
Teď je jednoduché vytvořit požadovaný podprogram. V neustálé smyčce je všech 5 možných ovládacích příkazů vyzváno pomocí prvku "Wait Command". Poté, co obdrží odpovídající odpověď, hodnota příkazu je přenesena na pravý a levý příkaz, které jsou poslány do dvou výstupů motoru M1 a M2. Když podprogram obdrží například příkaz Vor s hodnotou 8, hodnota 8 na výstupu V filtru příkazů poslán na dva prvky příkazů, které je poté pošlou příkazy na oba motory. U podobných konstrukcí je často velmi složité udržet oba motory v jedné linii, takže často by měly jít do obou motorů jiné příkazy. V příkladu není připojen výstup V filtru příkyzu Stop, protože prvky příkazu Stop nepotřebují mít hodnotu.
6.2 Filtr příkazů Úkol v předchozí sekci lze také vyřešit pomocí filtru příkazů. S filtrem příkazů můžete přejmenovávat příkazy. Když je určitý příkaz poslán do levého vstupu, prvek pošle další příkaz do elementů, které jsou připojeny k pravému výstupu, ale se stejnou hodnotou příkazu jako příkaz přijatý na vstupu. Tak můžete vytvořit příkaz ovládání motoru, například jeden příkaz = jako napravo nebo nalevo. S filtrem příkazů můžete nicméně také převádět vaše libovolné příkazy na standardní ROBOPro příkazy, abyste mohli spustit akci pomocí vlastních příkazů.
Na obrázku vpravo vidíte, jak můžete nakonfigurovat podprogram pro ovládání dvojkolového robota pomocí filtru příkazů. Horní filtr příkazů například mění příkaz cw na příkaz =. Výstupy motorů mohou také zpracovat příkazy = s hodnotou od -8 do 8. Jelikož s rotací po směru hodinových ručiček doprava u modelu s dvěma motory by mělo otáčet v různých směrech, hodnota příkazu = pro motor M2 je negativní s jedním operátorem -. Naopak u příkazu doleva se hodnota motoru M1 stane negativní. Dopředu a dozadu je jednodušší, protože oba motory se otáčejí ve stejném směru. Nemusíte nutně měnit příkazy pomocí filtru příkazů. Poslední filtr příkazů má příkaz Stop jak na vstupu, tak na výstupu příkazů. S tímto prvkem jsou příkazy Stop předány přímo k motorům. Nicméně potřebujete filtr příkazů pro jiné příkazy, aby třeba cw nebo ccw nebyly posílány přímo do výstupů motorů. Velkou výhodou filtrů příkazů ve vztahu k prvku Wait at the Command v předchozí sekci je, že nepotřebujete proces. To šetří paměť a průběh je okamžitý, takže nepotřebujete dva různé výstupy. S programem výše se robot otočí na místě pomocí příkazu cw. Zkuste změnit program tak, že M1 se pohybuje a M2 stojí. Pro příkaz doprava potřebujete dva filtry příkazů. Jeden mění příkaz na jeden příkaz =, druhý druhý na příkaz stop. Hodnota příkazu je ignorována s příkazem stop.
6.3 Posílání libovolných příkazů do podprogramů V sekci 5.5 jste již znali vstupy příkazů pro podprogramy. Nicméně jste pouze propojovali digitální nebo analogové vstupní prvky k vstupům příkazu. Jakové prvky vždy vyšlou jeden příkaz =, pokud se změní hodnota vstupu. Pokud byste chtěli poslat další příkaz do vstupu příkazů pro podprogram, musíte to poznačit v okně Characteristic ve vstupu příkazu. Od úrovně 4 je v okně Characteristic nová volba Passing Mechanism. Pokud vyberete příkaz "=" pouze zde, můžete vyslat příkaz = do odpovídajícího vstupu požadavku podprogramu. Navíc, poslední příkaz = je automaticky opakován, když se spustí podprogram. Jinak by vstup podprogramu neměl správnou hodnotu, když se podprogram spustí. Jen si představte, že je prvke digitálního vstupu připojen ke vstupu podprogramu. Tyto prvky pouze posílají příkazy, pokud se změní hodnota rozhraní. Pokud je nyní vstup uzavřen, prvek digitálního vstupu vyšle jeden příkaz =1. Když je podprogram spuštěn poté, co je vyslán příkaz, je důležité, aby byl příkaz poslán znovu poté, co je program spuštěn. Jinak by mohl mít vstup špatnou hodnotu, dokud prvek připojený k vstupu podprogramu nezmení hodnotu. Tento přenos ale může být také rušivý a u většiny příkazů není vhodný. Když posíláte, například,
jeden Start nebo příkaz +1 do podprogramu, nechcete, aby se toto dělo opakovaně. Proto nejsou příkazy vysílány opakovaně, když vyberete volbu Any commands. I když jste poslali na vstup Any command příkaz =, příkazy nejsou opakovány se spuštěním podprogramu. Může se stát, že hodnota, kterou vstup podprogramu projde, nemusí odpovídat skutečné hodnotě na vstupu.
7. Ovládání několika rozhraní Jeden ROBO TX kontroler stačí k ovládání běžných modelů. Nicméně možná někteří lidé mají radši složitější věci. Pokud vám nestačí existující vstupy a výstupy, můžete propojit až 8 dalších ROBO TX kontrolerů k vašemu ROBO TX kontroleru pomocí 6-pinových rozšiřujících konektorů. Pro ty, kdo stále používají dřívější ROBO rozhraní také existuje možnost ovládání až tří ROBO rozhraní (každé s rozšířením 3 I/O) v online módu z vašeho programu. 7.1 Ovládání rozšíření Možná jste si už všimli roletového menu pod Interface/Extension v okně Properties pro vstupní a výstupní prvky. Zde můžete vybrat, na jakém rozhraní nebo rozšiřovacím modulu půjde nalézt vstup nebo výstup. Nejspíš jste dosud neučinili žádná nastavení (viz další sekce). Položky jsou následující: IF1: Toto je ROBO TX kontroler, který lze propojit s PC a jedná se o master zařízení. EM1 až EM8: Toto jsou ROBO TX zařízení, která jsou připojena k master zařízení jako rozšíření. Je tedy velmi jednoduché ovládat rozšiřovací moduly. Potřebujete pouze vybrat požadovaný kontroler (master nebo rozšíření 1-8) pro vstupy a výstup. Manuál k ROBO TX kontroleru vysvětluje, jak nastavit ROBO TX kontroler tak, že bude fungovat jako rozšíření. 7.2 ROBO TX kontroler a ROBO rozhraní dohromady Když chcete ovládat ROBO TX kontroler a ROBO rozhraní současně z jednoho programu, půjde to pouze v módu online. Můžete například propojit ROBO TX kontroler s 8 rozšířeními k USB portu. Navíc můžete propojit ROBO rozhraní ke COM1 nebo USB. Toto může zahrnovat až 3 ROBO I/O rozšíření. V okně Properties vstupu a výstupu můžete definovat zamýšlené rozhraní. Dokud neučiníte jiná nastavení, najdete položky IF1, EM1-EM8 v roletovém menu Interface/Extension. Můžete ale tento seznam rozšiřovat nebo modifikovat. Může pro to být několik důvodů: - Pro lepší rozpoznání můžete dám položkám IF1 nebo EM1 názvy specifikující, kterou část stroje nebo robota ovládá. - Můžete chtít vyměnit dva rozšiřovací moduly (např. EM1 a EM2) pro usnadnění zapojení bez změny programu. - Můžete chtít spustit program, původně napsaný pro jeden ROBO TX kontroler s více než třemi rozšířeními, pomocí několika ROBO rozhraní. Toto vše můžete udělat vcelku jednoduše změnou Interface assignment v okně Propertiesv hlavním programu.
Zde vidíte , které moduly (master a rozšíření) byly přiděleny k názvům IF1 až EM8. Pomocí tlačítka New můžete přidat nové rozhraní. Pokud chcete změnit v seznamu položku, vyberte ji a klikněte na Edit. Zobrazí se následující: - Pod Name můžete změnit jméno použité pro modul. Jméno by nemělo být příliš dlouhé, protože prostor pro něj je pouze malý. Když změníte jméno, musíte obvykle také změnit název modulu ve všech vstupních a výstupních prvcích, které toto jméno používají. - Pod Extension můžete specifikovat, zda jméno odkazuje na rozhraní nebo na jedno z rozšíření 1 až 8. - Pod Port můžete vybrat port, k němuž je připojeno rozhraní. Když vyberete User selection, rozhraní vyberete v liště pod COM/USB. Dokud chcete používat ROBO TX kontroler s několika rozšiřujícími moduly, toto je nejjednodušší, protože takto může někdo jiný používat váš program bez úprav. Když připojujete přídavná ROBO rozhraní k vašemu PC pomocí USB, zde specifikujete port, k němuž je připojeno relevantní rozhraní. - Pod Interface můžete specifikovat, které rozhraní chcete použít. Když připojíte dřívější ROBO rozhraní nebo inteligentní rozhraní pomocí sériového portu, program může detekovat automaticky, o který typ rozhraní se jedná (výběr Automatic). - Pravá strana okna je důležitá, pokud máte připojená různá rozhraní současně k USB rozbočovači. Pokud ano, tak pod Port klikněte na USB a můžete vybrat jedno z rozhraní pod USB Interface list. Pozor: Oproti dřívějšímu ROBO rozhraní je k PC pomocí USB nebo Bluetoothpřipojen pouze jeden ROBO TX kontroler. Toto takzvané master zařízení můžete propojit s až 8 ROBO TX kontrolery jako rozšíření. Pokud byste chtěli pracovat s více než jedním ROBO rozhraním na USB rozbočovači, musíte nejprve přidělit každému rozhraní jeho vlastní sériové číslo. Základně mají všechna ROBO rozhraní přiděleno stejné sériové číslo, aby se zabránilo problémům při výměně rozhraní. Operační systém Windows nicméně detekuje rozhraní s rozdílnými sériovými čísly.
- Pod Remember Interface můžete specifikovat, jak si program zapamatuje vybrané rozhraní. Jsou dvě možnosti: Když vyberete By serial number, program uloží sériové číslo ROBO rozhraní. I když připojíte jiné ROBO rozhraní pomocí USB rozbočovače a odpojíte je, program může vždy najít vybrané zařízení znovu díky sériovému číslu. na druhou stranu to má nevýhodu, že program nyní pracuje pouze s rozhraním s jiným sériovým číslem, takže musíte změnit buď přidělení rozhraní nebo sériové číslo rozhraní. Abyste obešli problém se sériovými čísly, máte druhou možnost: By sequence. Když vyberete tuto položku, program uloží namísto sériového čísla pořadí sekvence. Ačkoliv to může vést ke zmatení, když přidáte nebo odpojíte rozhraní na USB rozbočovači, program poběží nezměněný s jakýmkoliv rozhraním. 7.3 Přidělení rozhraní v podprogramech Normálně provedete všechna přidělení rozhraní ve vašem programu v okně Properties v hlavním programu. Nicméně můžete také vstoupit přidělení rozhraní také v podprogramu. Poté můžete použít přidělení rozhraní jak od hlavního programu, tak v podprogramu. Pokud obě přidělení mají stejný název, má přidělení v podprogramu přednost. Například můžete definovat IF1 jako přistupující k hlavnímu rozhraní v hlavním programu, ale v určitém podprogramu je jako rozšiřovací modul. Toto je velmi praktické, pokud chcete ovládat celý vozový park s každým strojem ovládaným vlastním rozhraním. Tímto způsobem můžete vytvořit ovládací programy pro jednotlivé stroje jako nezávislé programy s každým hlavním programem přistupujícím IF1. Později můžete nainstalovat hlavní programy všech strojů jako podprogramy jednoho celkového programu. V celkovém programu tedy potřebujete modifikovat přidělení rozhraní, ale ne název každého samostatného vstupu a výstupu. 7.4 Tipy a triky Pokud chcete spustit program, který byl vytvořen pomocí ROBO rozhraní s třemi rozšiřovacími moduly na dvou inteligentních rozhraních, každém s rozšiřovacím module, můžete použít přidělení rozhraní. Tím nahradíte rozšiřovací moduly 2 a 3 pomocí dalšího inteligentního rozhraní s rozšiřovacím modulem na COM2. 7.5 Změna sériového čísla ROBO rozhraní Základně mají všechna ROBO rozhraní a ROBO I/O rozšíření všechna stejné sériové číslo. Dokud chcete používat jen jedno ROBO rozhraní na počítači, je to praktičtější, protože tímto způsobem vypadají pro počítač všechna rozhraní stejně a nebude problém s jejich výměnou. Pokud ale chcete pracovat s více než jedním rozhraním připojeným pomocí USB k počítači, musíte upravit sériové číslo rozhraní předem, aby mohl počítač rozeznat jednotlivá rozhraní. Na druhou stranu, pokud komunikujete s rozhraními pomocí několika sériových portů, není to nezbytné. Postup změny sériového čísla rozhraní je následující: - Připojte jednotlivé rozhraní k USB rozbočovači počítače. - V nástrojové liště přepněte na programovací prostředí pro ROBO rozhraní stisknutím tlačítka Environment. - Stiskněte tlačítko COM/USB v nástrojové liště a vyberte USB port. - Nyní otevřete okno testu rozhraní pomocí tlačítka Test na nástrojové liště a přepněte na záložku Info.
- Pod Interface type je zobrazen typ rozhraní, takže ROBO Interface nebo ROBO I/O Extension. - Pod USB serial number můžete nastavit sériové číslo použité rozhraním při spuštění. Každé rozhraní má dvě vestavěná sériová čísla, základní default serial number, které je 1, pokud nenastavíte jiné a unikátní unique serial number, které nemůžete změnit a liší se u každého rozhraní. Nejjednodušším způsobem, jak použít více než jedno rozhraní na USB rozbočovači je nastavit tlačítko výběru pro každé rozhraní do Use unique serial number. Poté má každé rozhraní zajištěno své vlastní sériové číslo. Když použijete pro jeden model více rozhraní, může být nepraktické si pamatovat všechna sériová čísla. V tomto případě je jednodušší nastavit i základní sériové číslo vašeho rozhraní, například 1, 2, 3, atd. a použít je zde. Poté, co přenastavíte nebo vyberete sériové číslo, stále ještě musíte stisknout tlačítko Write to Interface. Po změně sériového čísla musíte rozhraní vypnout a připojit je znovu. Pozor: Když změníte sériové číslo, může se stát, že budete muset přenastavit ovladač, což vyžaduje administrátorská práva ve Windows. Když změníte sériové číslo, ale nepřeinstalujete ovladač, protože nemáte administrátorská práva, může se stát, že nebudete mít přístup k rozhraní skrze USB. V takovém případě vypněte rozhraní a přidržte tlačítko Port, když opět zapínáte. Poté se rozhraní spustí se sériovým číslem 1 a bude opět rozpoznáno již nainstalovaným ovladačem. Nicméně tím nezměníte sériové číslo permanentně, při příštím spuštění bez tlačítka Port bude obnoveno původní sériové číslo. Pro permanentní změnu sériového čísla použijte výše ovedený postup. - Nakonec můžete pod Update firmware vylepšit vnitřní ovládací program na vašem ROBO rozhraní, pokud fischertechnik poskytne novou vermi firmwaru pro rozhraní.
8. Přehled programovacích prvků Všechny programovací prvky v ROBO Pro jsou seskupeny podle skupin prvků následovně, a popsány v pořadí, v jakém jsou zobrazeny v okně prvků. 8.1 Základní prvky (úroveň 1) 8.1.1 Start Proces v programu vždy začíná pomocí prvku Start. Bez tohoto programovacího prvku na začátku se proces nespustí. Pokud program obsahuje několik procesů, každý z nich musí začínat prvkem Start. Poté jsou současně spuštěny různé procesy. Prvek Start nemá žádná nastavení, která můžete upravovat. Z tohoto důvodu pokud kliknete pravým tlačítkem myši na tento prvek, tak se oproti většina ostatních prvků neotevře okno Properties. 8.1.2 End Pokud má být proces ukončen, vývod z posledního prvku je připojen k prvku End (konec). Proces lze také ukončit pomocí tohoto prvku na různých místech. Také je možné připojení ukončení různých prvků k jednomu prvku End. Ale je také možné, že proces probíhá neustále dokola a prvek End vůbec neobsahuje. Prvek End nemá žádná nastavení, která můžete upravovat. Z tohoto důvodu pokud kliknete pravým tlačítkem myši na tento prvek, tak se oproti většina ostatních prvků neotevře okno Properties. 8.1.3 Digital Branch Pomocí tohoto rozvětvení můžete přímo řídit program podle stavu na jednom z gitiální vstupů I1 až I8, v jedném nebo dvou směrech. Pokud například senzor na digitálním vstupu je zavřený (=1), program vede k východu 1. Na druhou stranu, když je vstup otevřený (=0), probram jde k východu 0. Když kliknete pravým tlačítkem myši na prvek, otevře se okno Properties: - Tlačítka I1 až I8 vám umožňují zadat, který z univerzálních vstupů ROBO TX kontroleru bude zařazen. - Tlačítka C1D až C4D vám umožňují vybrat jeden ze vstupů C1 až C4 na ROBO TX kontroleru jako jednoduchý digitální vstup. - Tlačítka M1E až M4E vám umožňují zařadit jeden ze čtyř interních vstupů ROBO Pro. Jsou nastaveny na 1, jakmile motor ovládaný pomocí Extended Motor Control dosáhne přednastavené pozice. - Pod Interface / Extension můžete vybrat, zda chcete použít vstup rozhraní nebo vstup rozšiřovacího modulu. Víc o tématu najdete v části 7.
- Pod Sensor type můžete vybrat senzor připojený ke vstupu. Digitální vstupy jsou nejčastěji použity s tlačítkovými senzory, ale často také s fototranzistory nebo magnetickými senzory. ROBO Pro vybírá Input mode univerzálního vstupu automaticky podle vybraného senzoru. V úrovni 4 a výš můžete také vybrat Input type nezávisle na senzoru. - Pod Interchange 1/0 connections můžete vyměnit pozici 1 a 0 na existujícím rozvětvení. Normálně je 1 dole a 0 napravo. Ale často je praktičtější mít 1 napravo. Stiskněte Interchange 1/0 connections a poté budou dvě spojení vyměněna, jakmile kliknete na OK. 8.1.4 Analog Branch Stejně jako u digitálních vstupů má ROBO rozhraní 6 analogových vstupů: 2 odporové vstupy AX a AY, dva napěťové vstupy A1 a A2 a dva vstupy pro senzory vzdálenosti D1 a D2. S tímto rozvětvením můžete porovnávat hodnotu analogového vstupu s nastaveným číslem a podle výsledku porovnání vést program větví Ano (Y) nebo Ne (N). Když kliknete pravým tlačítkem myši na prvek, otevře se okno Properties: - Pod Analog input můžete vybrat, který z univerzálních vstupů ROBO TX kontroleru bude zařazen. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Sensor type vyberte senzor připojený ke vstupu. ROBO Pro vybere Input mode univerzálního vstupu automaticky podle vybraného senzoru. V úrovni 4 a výš můžete také vybrat Input type nezávisle na senzoru. Senzor
Mód vstupu
Zobrazená hodnota
NTC rezistor, fotorezistor
Analog 5kOhm
0-5000 Ohm
Barevný senzor
Analog 10V
0-10000 mV
Ultrazvukový senzor Vzdálenost vzdálenosti (verze TX, položka 133009 s 3-pin kabelem
3-400 cm
- Více informací o různých analogových vstupech najdete v části 8.7.2. - Pod Condition vyberte porovnání operátorů jako je méně než (<) nebo více než (>) a vložte hodnotu porovnání. Hodnota porovnání by se měla nacházet v rozsahu od 0 do 1023. Když spustíte program obsahující rozvětvení pro analogové vstupy v online módu, zobrazí se antuální analogová hodnota. - Pod Interchange Y/N connections můžete vyměnit pozice výstupů z rozvětvení Y a N. Normálně je výstup Ano (Y) dole a Ne (N) vpravo. Často se ale hodí mít Ano vpravo. Stiskněte Interchange Y/N connections a poté budou dvě spojení vyměněna, jakmile kliknete na OK.
8.1.5 Time delay Pomocí prvku Time dealy můžete zpozdit proces o vámi nastavenou dobu. Když kliknete pravým tlačítkem myši na prvek, zobrazí se okno Properties. zde můžete nastavit dobu zpoždění v sekundách, minutách nebo hodinách. Časová prodleva může být nastavena od jedné milisekundy (jedna tisícina sekundy) do 500 hodin (necelé tři týdny). Nicméně u delších prodlev se měření času stává méně přesným. Následující seznam ukazuje přesnost různých zpoždění. Zpoždění
Přesnost
Do 30 sekund
1/1000 sekundy
Do 5 minut
1/100 sekundy
Do 50 minut
1/10 sekundy
Do 8.3 hodin
1 sekunda
Do 83 hodin
10 sekund
Do 500 hodin
1 minuta
8.1.6 Motor output Pomocí programovacího prvku Motor output můžete přepnout jeden dvojpólových výstupů rozhraní M1 až M4. Výstupy z rozhraní lze použít pro motory, stejně jako pro lampy nebo elektromagnety. S motorem můžete nastavit rychlost, stejně jako směr otáček. Když kliknete pravým tlačítkem myši na prvek, otevře se okno Properties: - Pod Motor output můžete nastavit, který z čtyř výstupů motoru M1 až M4 by měl být použit. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Image můžete vybrat obrázek reprezentující prvek připojený k výstupu. - Pod Action nastavíte, jak bude výstup ovlivněn. Můžete spustit motor doleva (proti směru hodinových ručiček) nebo doprava (po směru hodinových ručiček) nebo jej zastavit. Když připojíte k výstupu motoru lampu, můžete ji zapnout a vypnout. - Speed a Intensity můžete nastavit mezi 1 a 8. 8 je nejvyšší rychlost, jas nebo síla magnetického pole. 1 je nejnižší. V případě zastavení nebo vypnutí pochopitelně nemusíte rychlost specifikovat.
Zde se nachází některé akce a obrázky.
Motor doprava (cw)
Motor doleva (ccw)
Rozsvítit lampu
Zhasnout lampu
Zastavit motor
Rada: Někdy i motor pracuje jen v jednom směru, například u dopravního pásu. V takovém případě můžete pro motor použít výstup pro lampu, protože mu stačí o jedno spojení méně. 8.1.7 Encoder Motor (úroveň 1) Programovací prvek Encoder Motor je k dispozici od úrovně 1 a umožňuje vám pohodlně ovládat motory se zabudovaným modulátorem (enkodér). Pomocí tohoto prvku můžete buď pohybovat jednotlivým motorem po nastavený počet pulzů nebo dvěma motory najednou s nebo bez specifikované vzdálenosti. Když kliknete na prvek pravým tlačítkem myši, zobrazí se okno Property: - Pod Action vyberte, zda chcete pohybovat jedním motorem na specifikovanou vzdálenost (Distance), dvěma motory při stejné rychlosti (Synchron) nebo dvěma motory na specifikovanou vzdálenost stejnou rychlostí (Synchron Distance). Abyste ukončili jakoukoliv z těchto akcí a zastavili motor, vyberte akci Stop. - Pod Motor output 1/2 vyberte výstup motoru, který akce ovlivní. V závislosti na akci můžete vybrat jeden nebo dva motory. - Pod Interface / Extension můžete vybrat, zda si přejete použít výstup zařízení master nebo výstup rozšíření. Pokud akce ovládá dva motory, oba výstupy musí mít stejné rozhraní. Více informací najdete v části 7. - Pod Direction 1/2 nastavíte směr, kterým se budou motory otáčet. - Pod Speed vložíte rychlost motorů. Pokud ovládáte dva motory, bude rychlost obou stejná. - Pod Distance vložíte počet pulzů, o něž chcete motory posunout. Více informací je v části 11.6.1.
8.1.8 Lamp output (úroveň 2) Pomocí prvku Lamp output můžete přepnout jeden z jednopólových výstupů O1 až O8 na ROBO TX kontroleru. Výstupy mohou být použity buď společně s výstupy motoru (viz výše) nebo samostatně jako výstupy lamp O1 až O8. Oproti výstupům motorů zaberou výstupy lamp pouze jeden spojovací pin. Takto můžete ovládat 8 lamp nebo elektromagnetických ventilů zvlášť. Připojíte kontakt druhé lampy pomocí jednoho z uzemňovacích socketů ROBO TX kontroleru (┴). Rada: Pokud si přejete připojit čtyři lampy nebo motory, můžete také použít výstupy motoru pro lampy. Je to praktičtější, protože takto můžete propojit jak lampy přímo k výstupu rozhraní namísto, abyste museli propojovat všechny negativní terminály odděleně do jednoho uzemňovacího socketu. Když kliknete na prvek pravým tlačítkem myši, zobrazí se okno Properties: - Pod Lamp output můžete nastavit , který za čtyř výstupů motoru O1 až O8 použijete. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Image můžete vybrat obrázek reprezentující prvek připojený k výstupu. - Pod Action nastavte, jak bude výstup ovlivněn. Lampu můžete zapnout a vypnout. - Intensity můžete nastavit mezi 1 a 8. 8 je nejjasnější, 1 nejslabší. V případě vypnutí pochopitelně jak nemusíte nastavovat. Zde se nachází některé akce a obrázky.
Zapnout mapu
Vypnout lampu
8.1.9 Wait for input Prvek Wait for Input čeká, dokud jeden ze vstupů rozhraní není v určitém stavu nebo dokud se určitým způsobem nezmění. Když kliknete na prvek pravým tlačítkem myši, zobrazí se okno Properties: - Pod Wait můžete nalézt typy změn stavu, na které se má čekat. Když vyberete 1 nebo 0, prvek čeká, dokud se vstup neuzavře (1) nebo neotevře (0). Když vyberete 0->1 nebo 1->0, prvek čeká, dokud se stav vstupu nezmění z otevřeného na zavřený (0->1) nebo ze zavřeného na otevřený (1->0). V druhém případě prvek čeká, dokud se nezmění stav vstupu, ať už otevřeného na zavřený nebo naopak. Abychom vám pomohli toto pochopit dál, v části 3.6. je vysvětleno, jak můžete napodobit tento prvek pomocí prvku Branch. - Pod Digital input můžete vložit, který ze vstupů bude zařazen. Můžete si vybrat jeden z univerzálních vstupů I1 až I8. Ostatní vstupy jsou popsány v čási 8.3.1. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Sensor type můžete vybrat senzor připojený ke vstupu. Digitální vstupy jsou nejčastěji použity s tlačítkovými senzory, ale často také s fototranzistory nebo magnetickými senzory. ROBO Pro vybírá Input mode univerzálního vstupu automaticky podle vybraného senzoru. V úrovni 4 a výš můžete také vybrat Input type nezávisle na senzoru. 8.1.10 Pulse counter Mnoho modelů robotů fischertechnik použivá také pulzní kolečka. Ta ovládají senzory čtyřikrát během, jedné otáčky. S těmito pulzními kolečky můžete otáčet motorem po přesně definovaný počet otáček, spíš než po daný čas. Abyste tak učinili, musíte počítat počet pulzů na vstupu rozhraní. Z tohoto důvodu je zde prve Pulse counter, který čeká na uživatelem definovaný počet pulzů. Poznámka: Pro ovládání kódovacích motorů je zde speciální prvek, který zpomaluje motory a pracuje díky tomu přesněji. Viz část 8.1.7. Když kliknete na prvek pravým tlačítkem myši, zobrazí se okno Properties:
- Pod Pulse type můžete vybrat typ pulzu, který bude sčítán. Když vyberete 0->1 (stoupání), prvek čeká, dokud se stav vstupu nezmění z otevřeného na zavřený (0->1) tolikrát, kolikrát jste specifikovali v Number of Pulses. Když vyberete 1->0 (klesání), prvek čeká, dokud se stav vstupu nezmění ze zavřeného na otevřený (1->0) tolikrát, kolikrát bylo speficikováno. S pulzními kolečky je nicméně nejčastěji používána třetí možnost. V té prvek počítá jak změny 0->1, tak 1->0, takže za otočku pulzního kolečka je napočítáno 8 pulzů. - Pod Digital input můžete vložit, který ze vstupů bude zařazen. Můžete vybrat jeden z univerzálních vstupů I1 až I8. C1D až C4D vybírají jeden z čítacích vstupů. Nicméně to nemá využití jako rychlý hardwarový čítač. Maximální frekvence počítání je několik 100 Hz. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Sensor type můžete vybrat senzor připojený ke vstupu. Digitální vstupy jsou nejčastěji použity s tlačítkovými senzory, ale často také s fototranzistory nebo magnetickými senzory. ROBO Pro vybírá Input mode univerzálního vstupu automaticky podle vybraného senzoru. V úrovni 4 a výš můžete také vybrat Input type nezávisle na senzoru. 8.1.11 Counter loop Pomocí prvku Counter loop můžete velmi snadno provést některou část programu několikrát. Counter loop má vestavěné počítadlo. Pokud je to něj vstoupeno skrze vstup =1, počítadlo je nastaveno na 1. Pokud je do prvku vstoupeno skrze vstup +1, je k počítadlu přidáno 1. Podle toho, zda je hodnota na počítadle vyšší, než předepsaná hodnota, má počítadlo větve k Ano (Y) nebo Ne (N). Příklad použití najdete v části 3.6.4. Když kliknete na prvek pravým tlačítkem myši, zobrazí se okno Properties: - Pod Number od iterations vložte počet, kolikrát musí být smyčka opuštěna skrze výstup Ne (N), než se aktivuje výstup Ano (Y). Vložená hodnota by měla být pozitivní. - Pod Interchange Y/N connections můžete vyměnit pozice výstupů z rozvětvení Y a N. Normálně je výstup Ano (Y) dole a Ne (N) vpravo. Často se ale hodí mít Ano vpravo. Stiskněte Interchange Y/N connections a poté budou dvě spojení vyměněna, jakmile kliknete na OK. Podle toho, kde jsou spojení Y a N bude opakující se část napravo nebo dole.
8.2 Send, Receive (úrovně 2-4) V této skupině prvků najdete programovací prvky, které můžete použít pro vysílání a přijímání zpráv skrze ROBO RF DATA Link nebo přes sériové rozhraní ROBO rozhraní. 8.2.1 Sender (úroveň 2) Pomocí vysílače můžete poslat příkaz nebo zprávu skrze Bluetooth (v případě ROBO rozhraní skrze ROBO RF Data Link) do dalšího rozhraní. Tímto způsobem může například společně komunikovat několik robotů. Okno nastavení pro prvek vysílače. - Pod Send command můžete vložit příkaz a od úrovně 3 hodnotu příkazu. Příkaz sestává z názvu a číselné hodnoty. Číselná hodnota může být také určena skrze Data input. U názvů příkazů nevybraných ze seznamu jsou porovnávána jen první tři písmena nebo čísla. Můžete napsat více než tři, ale "Hello", "Help" a "Helikoptéra" jsou všechno jedna a ta samá zpráva, protože začínají na "Hel". Velká a malá písmena a speciální znaky (mezera, !, ?, %, atd.) také nejsou rozlišovány. XY! a XY? jsou proto stejná zpráva. Čísla rozpoznávána jsou, takže XY1 a XY2 jsou rozdílné zprávy. Pod Destination interface/element můžete vybrat, do kterého rozhraní nebo programovacího prvku musí být příkaz poslán. Ve většině případů pošlete příkaz do rozhraní s určitých rádiovým číslem nebo do všech rozhraní. Od úrovně 4 je navíc možnost používat skupinu mezi 10 a 255 adresami příjemců. Příkazy skupině nejsou posílány na určité rozhraní s určitým rádiovým číslem, ale na prvky přijímače, v nichž je indikováno stejné číslo skupiny. Díky tomu můžete například rozlišit od koho byla zpráva odeslána, za použití další skupiny pro každý vysílač. Čísla skupiny začínají s číslem 10, protože čísla 0 až 9 jsou rezervovaná. Více se o rezervování čísel skupin dozvíte u prvku Receiver. - Pod transmit channel nastavíte, jak by čistě po technické stránce měly být zprávy přenášeny. V úrovní 2 tento výběr není možný, a přenos je vždy pomocí RF (vyjma sebe). RF je myšleno, že je zpráva poslána skrze Bluetooth (ROBO RF Data Link). Pokud je vybráno RF (including self včetně sebe), zpráva je také zaslána do rozhraní, které ji odeslalo. Aby toto fungovalo, pod Destination interface/element musí být vybráno umístění, které obsahuje zasílací rozhraní, například na všechna rozhraní (all interfaces) nebo skupinu přijímačů (group of receivers). Můžete také poslat zprávu jen pro rozhraní, které vysílalo. Tuto funkci můžete použít například pro komunikaci mezi různými procesy. Od úrovně 4 ROBO rozhraní také podporuje posílání příkazů mezi sériovými COM rozhraními na ROBO rozhraní. Kvůli tomu musíte propojit dvě rozhraní pomocí sériového null-modem kabelu. - Pod optimization (od úrovně 4) můžete nastavit, zda by měly být identické příkazy posílány několikrát. U mnoha příkazů není rozdíl, zda jej pošlete několikrát za sebou. Bez optimalizace můžete například poslat příkaz několikrát pro vyplnění bufferu přenosu RF Data Linku, aby jiné příkazy nebyly posílány tak rychle. Proto je rozumné vymazat identické příkazy. Obvykle si budete přát vymazat příkaz, jen pokud je stejný jako poslední příkaz v bufferu. Pokud budete posílat v tomto módu, například 2x Start a poté 2x Stop, bude přenesen jen jeden Start a jedno Stop. Pokud však pošlete Start, Stop, Start a Stop rychle za sebou, ne dvakrát po sobě ten samý příkaz, jsou příkazy přeneseny nezměněné. Nicméně můžete také určit, že příkazy mají být mazány, pokud jsou
stejné jako jakýkoliv příkaz v bufferu. Naopak, s mnoha příkazy není optimalizace rozumná a měli byste použít normální mód. Příkladem je příkaz Add, jímž můžete přidávat prvky do seznamu. Se seznamem je konečně rozdíl v tom, zda jste přidali prvek jednou nebo dvakrát. V úrovni 2 je vždy označena volba delete if identical to the last buffered command (vymazat, pokud je příkaz stejný jako minulý). - Pod Data type můžete vybrat, zda je hodnota zaslaného příkazu celé číslo nebo číslo s pohyblivou řádovou čárkou. Viz kapitola 12. 8.2.2 Receiver (rozvětvení, když je přijat příkaz, úroveň 2) Tento prvek je opakem předchozího prvku vysílače. V závislosti na tom, zda byl nebo nebyl přijat určitý příkaz, prvek má výstupy Y a N. Okno nastavení pro prvek přijímače. - Pod Receive command vložíte příkaz, který by měl přijímač obdržet. Jak již bylo vysvětleno u vysílače, důležitá jsou jen první tři písmena. Poté musíte vybrat, zda přijímač reaguje pouze na příkazy, které byly poslány přímo do rozhraní s určitým rádiovým číslem nebo příkazy, které byly vyslány na všechna rozhraní nebo takové, které byly vyslány na všechna rozhraní. Můžete vybrat oboje. Jak již bylo popsáno u vysílače, od úrovně 4 můžete posílat zprávy také určité skupině. Takové zprávy obdrží všechny prvky přijímačů, s nimiž byla tato skupina označena. Lze použít skupiny 10 až 255. Skupiny 0 až 8 reagují na rádiová čísla 0 až 8. Skupina 9 je rezervována pro zasílání na všechna rozhraní. Když posíláte zprávu, není rozdíl, zda posíláte skupině 1 nebo rádiovému číslu 1. Ale pro příjem nemůžete určit rádiové číslo, protože každé rozhraní zná své rádiové číslo. Označením skupiny přijímačů od 1 do 8 pro přijímač můžete však získávat zprávy, které byly ve skutečnosti zamýšleny pro jiné rozhraní. Skupiny přijímačů menší než 10 můžete ale začít používat až od úrovně 5. - Pod Serial COM port (od úrovně 4, pouze ROBO rozhraní) můžete určit, že prvek také může přijímat zprávy od COM rozhraní. Zde se jedná o věc rámcového nastavení, zda COM rozhraní bude aktivováno nebo ne. Když v programu jeden vysílač nebo přijímač použivá COM rozhraní, všechny prvky přijímačů mohou obdržet zprávy od COM rozhraní. - Pod Type of buffer můžete specifikovat, zda paměť, v níž jsou uchovány přijaté příkazy, je local (místní) nebo global (rámcová). Když vyberete global, prvek může také dostávat příkazy, když není podprogram, v němž se prvek nachází, aktivní. - Pod Y/N branches můžete vyměnit pozice výstupů Y a N. Normálně je Y směrem dolů a N doprava. Často je praktičtější, když výstup Y vede doprava. Stiskněte swap Y/N branches a po zavření pomocí OK se výstupy vymění.
8.2.3 Receiver (úroveň 3) Prvek přijímače popsaný v předchozí části je zamýšlen hlavně pro úroveň 2, jelikož může pouze přijímat příkazy, ale ne hodnoty příkazů. Přijímač úrovně 3 naopak přijímá libovolné příkazy s hodnotou příkazu. Tímto prvkem neurčujete žádný příkaz, který by měl obdržet prvek přijímače. Přijímač vysílá vcelku snadno všechny přijaté přípaky do prvků připojených k výstupu. Okno nastavení pro prvek přijímače. - Pod Receive command určíte, zda má přijímač reagovat jen na příkazy, které byly poslány přímo do rozhraní s určitým rádiovým číslem, nebo na příkazy zaslané do všech rozhraní. Od úrovně 4 můžete také vybrat určitou skupinu. Abyste zjistili o skupinách víc, podívejte se na popis předchozích dvou prvků. S vysílačem úrovně 3 můžete vybrat pouze jednu možnost. Nicméně můžete propojit výstupy dvou nebo více přijímacích prvků s různým výběrem, pokud chcete přijímat příkazy s různými daty cíle. Můžete také přepnout na přijímače s různými skupinami. - Pod Serial COM port (od úrovně 4) můžete určit, že prvek také může přijímat zprávy od COM rozhraní. Viz předchozí prvek. 8.2.4 Wait for command (úroveň 4) Prvek Wait for command se používá podobně jako Receiver (část 8.2.2) pro čekání na příkaz. Nicméně, nečeká na příkazy zaslané pomocí ROBO RF Data Link nebo jiného rozhraní, ale na příkazy zaslané do vstupu příkazů na levé straně prvku. Když sem připojíte prvek Receiver (úroveň 3), ve výsledku máte přijímař úrovně 2. Nicméně tento prvek má navíc data výstup na pravé straně. Vždy, když obdrží příkaz a program jde do výstupu Y, číselná hodnota vyslaná příkazem je přístupná na výstupu hodnoty příkazu V. Jelikož výstupy V a Y patří dohromady, nemůžete u tohoto prvku vyměnit výstupy Y a N. Příklad použití najdete v části 6.1. Okno Properties pro prvek Wait for command - Pod Command můžete vybrat příkaz, na který má prvek čekat. Můžete také vložit váš vlastní příkaz, ačkoliv záleží jen na prvních třech písmenech a číslech. Popis funkce najdete v části 8.2.1. - Buffer size bufferu příkazů je přítomen až od úrovně 5. Jako u přijímače druhé úrovně tento prvek zaznamenává, kolik přijal příkazů. Jelikož čekání na příkaz musí také zaznamenat hodnotu příkazu pro každý příkaz, maximální počet příkazů je zde nicméně limitovaný. Pro obvyklé použití by měla zcela stačit standardní hodnota čtyř příkazů, jelikož přijatý programový příkaz je většinou ïhned proveden.
8.2.5 Command Filter (úroveň 4) S filtrem příkazů můžete svým způsobem přejmenovávat příkazy. Když je poslán to levého výstupu určitý příkaz, prvek vyšle jiný příkaz do prvku, který je připojen k pravému výstupu, ale se stejnou hodnotou příkazu jako příkaz přijatý na výstupu. Takto můžete například dát motoru příkaz = jako je doprava nebo doleva. Příklad najdete v části 6.2. Okno Properties pro prvek Command filter. - V tomto prvku můžete vybrat dva příkazy: příkaz, který je očekáván na vstupu a přípaz změněný na tento příkaz a vylasný na výstup. Můžete také vložit vlastní příkaz, ačkoliv jsou důležitá jen první tři písmena. Popis funkce najdete v části 8.2.1. - Pod Data type můžete vybrat, zda bude hodnota příkazu (odeslaného nebo přijatého) celé číslo nebo číslo s pohyblivou řádovou čárkou. Více se dozvíte v části 12. 8.2.6 Exchange Message (úroveň 4) Podobným způsobem, kterým mění filtr příkazů název příkazu (viz předchozí část), tento prvek mění hodnotu. Ve spojitosti s filtrem příkazů vám to umožňuje přijmout jednu zprávu a vytvořit několik různých zpráv s různými hodnotami. Například když byste chtěli naprogramovat ovládání pro pásové vozidlo, takže porozumí takovým příkazům jako doleva, doprava nebo dopředu, můžete pomocí filtru příkazů změnit příkaz "doleva" na příkaz "=" pro prvek motoru. Navíc pomocí tohoto prvku můžete vyměnit hodnotu příkazu "=" na 0 nebo negativní hodnotu a vyslat ji do jiného motoru. Příkaz, jehož hodnota má být změněna, je vyslán na vstup B. Novou hodnotu umístíte do vstupu W. Okno Property pro prvek Exchange message. - Pod Input variable life time můžete vybrat, že vstup W ukládá hodnotu buď v místní (local) nebo rámcové (global) proměnné. - Pod Data type můžete vybrat, zda bude hodnota příkazu (odeslaného nebo přijatého) celé číslo nebo číslo s pohyblivou řádovou čárkou. Více se dozvíte v části 12.
8.2.7 I²C Write (úroveň 4) Tento prvek vysílá příkaz nebo data do TX kontroleru I²C rozhraní. I²C rozhraní je k dispozici na portu EXT2. Standardní I²C rozhraní lze také použít pro propojení senzorů a aktuátorů od jiného výrobce (ne fischertechnik) k TX kontroleru. Použití I²C rozhraní vyžaduje zkušenosti s elektronickými komponenty a odpovídající měřicí přístroje. Podprogramy pro různé, často používáné ²C moduly jsou k dispozici v okně prvků pod Library / I²C. Soubory knihovny můžete otevřít přímo jako ROBO Pro programy. Program hlavní kniohovny obsahuje funkci testu pro daný modul. Soubory knihovny jsou ve složce, kam jste nainstalovali
ROBO Pro pod Library/I²C. Prvek I²C Write vysílá adresový byt s 1 až 4 byty dat přes rozhraní I²C. Nejprve je vyslána 7-bitová adresa zařízení a poté psací bit. Poté 0-2-bytová pod-adresa a nakonec 1 nebo 2 byty. Výhodou protokolu I²C je, že nerozeznává mezi pod-adresou a daty. Nicméně mnoho I²C modulů to vyžaduje, následováno adresou zařízení a pod-adresou vyslanou ještě před zasláním dat. Přesný protokol najdete v datasheetu pro I²C modul. Okno Properties pro prvek I²C Write - U Device address vložte 7-bitovou adresu zařízení (bez bitu R/W). Adresa je u některých zařízení specifikovaná jako 8bitová adresa (s bitem R/W). V takových případech je nezbytné adresu vydělit dvěma, například 0x60 namísto 0xC0. Adresy zařízení 0x50..0x57 (=0xA0...0xAF jako 8-bit) jsou používány interně TX kontrolerem a nemohou být použity pro externí moduly. - Pod Sub address můžete vložit 8 nebo 16-bitovou podadresu. Viz také Sub address size níže. - Pod Data input můžete vybrat, zda jsou data pevná a specifikovaná dále pod Data value nebo je tento prvek pro použití vstupu dat. - Pod Data value můžete vložit hodnotu zasílaných dat, když nepoužíváte vstup dat. - Pod Sub address size můžete vybrat, zda bude nebo nebude použita pod-adresa. Ne všechny I²C moduly používají pod-adresy, takže je také možné vložit none (žádná). Když používáte 16-bitovou pod-adresu, můžete vybrat, zda bude jako první přenesen MSB (nejdůležitější byt) nebo LSB (nejméně důležitý byt). - Pod Data size můžete vybrat, zda prvek vyšle 8 nebo 16 bit dat do I²C modulu. S 16-bit daty můžete vybrat, zda bude první přenesen MSB nebo LSB, jako s pod-adresou. - Pod Speed můžete vybrat rychlost hodin I²C. To může být 100kHz nebo 400kHz. Pokud všechny připojené I²C moduly podporují 400kHz, měli byste vybrat 400kHz, jinak 100kHz. - Pod Error handling můžete vybrat, když připojený I²C modul nemůže zpracovat správně data. Můžete vybrat mezi Repeat until successful (opakovat, dokud nebude úspěšné), Repeat 10 times (opakovat desetkrát) nebo abort immediately (ihned přerušit). U posledních dvou možností má prvek vpravo dole navíc chybový výstup. - Když je označeno keep open, prvek neposílá na konci I²C rozbočovače stop. To umožňuje, aby byla další data psána nebo čtena pomocí dalšího prvku I²C write nebo I²C read. Pokud nejsou operace čtení a psaní vykonány současně nebo nebo není spuštěn příkaz čtení s pod-adresou, adresa zařízení následujícího I²C prvku není opět zaslána. Je proveden restart na I²C rozbočovači pro změnu mezi operacemi čtení a psaní, nikoliv sekvence stop/start. I²C rozbočovat zůstává rezervovaný pro tento proces, dokud prvek I²C neprovede tento proces bez možnosti "keep open". Ostatní procesy jsou zablokované, pokud používat prvek I²C.
8.2.8 I²C Read (úroveň 4) Tento prvek čte data z TX kontroleru I²C rozhraní. Komentáře ohledně prvku I²C write platí i pro tento prvek. Když je použita pod-adresa, prvek I²C Read nejprve vyšle v módu psaní adresový byt a poté 1 nebo 2 byty dlouhou pod-adresu. Prvek poté vykoná restart I²C rozbočovače, pošle zařízení opět adresu, tentokrát v módu čtení, a poté přečte 1-2 data byty. Pokud neí použita pod-adresa, adresový byt je vyslán okamžitě v čtecím módu a data jsou poté přečtena. Okno Properties pro prvek I²C Write - U Device address vložte 7-bitovou adresu zařízení (bez bitu R/W). Adresa je u některých zařízení specifikovaná jako 8bitová adresa (s bitem R/W). V takových případech je nezbytné adresu vydělit dvěma, například 0x60 namísto 0xC0. Adresy zařízení 0x50..0x57 (=0xA0...0xAF jako 8-bit) jsou používány interně TX kontrolerem a nemohou být použity pro externí moduly. - Pod Sub address můžete vložit 8 nebo 16-bitovou podadresu. Viz také Sub address size níže. - Pod Sub address size můžete vybrat, zda bude nebo nebude použita pod-adresa. Ne všechny I²C moduly používají pod-adresy, takže je také možné vložit none (žádná). Když používáte 16-bitovou pod-adresu, můžete vybrat, zda bude jako první přenesen MSB (nejdůležitější byt) nebo LSB (nejméně důležitý byt). - Pod Data size můžete vybrat, zda prvek vyšle 8 nebo 16 bit dat do I²C modulu. S 16-bit daty můžete vybrat, zda bude první přenesen MSB nebo LSB, jako s pod-adresou. - Pod Speed můžete vybrat rychlost hodin I²C. To může být 100kHz nebo 400kHz. Pokud všechny připojené I²C moduly podporují 400kHz, měli byste vybrat 400kHz, jinak 100kHz. - Pod Error handling můžete vybrat, když připojený I²C modul nemůže zpracovat správně data. Můžete vybrat mezi Repeat until successful (opakovat, dokud nebude úspěšné), Repeat 10 times (opakovat desetkrát) nebo abort immediately (ihned přerušit). U posledních dvou možností má prvek vpravo dole navíc chybový výstup. - Volba keep open má stejný účinek jako prvek I²C Write.
8.3 Subprogram I/O (úrovně 2-3) V této skupině prvků najdete programové prvky, které potřebujete pouze pro podprogramy. 8.3.1 Subprogram entry (úroveň 2) Podprogram může mít jeden nebo více těchto prvků. Hlavní program nebo podprogram vyšší úrovně ovládá podprogramy skrze tyto vstupy. V zeleném symbolu podprogramu, který je vložen do vyššího programu je propojovací pin pro každý prvek Subprogram entry vložen na horní stranu. Spojení na symbolu mají stejné pořadí (zleva doprava) jako prvky Subprogram entry v plánu fungování podprogramu. Když kliknete pravým tlačítkem myši na prvek, otevře se okno Properties. Zde můžete dát prvku název, který bude zobrazen na symbolu. O podprogramech zjistíte více v kapitole 4. 8.3.2 Subprogram exit (úroveň 2) Podprogram může mít jeden nebo více těchto prvků. Hlavní program nebo podprogram vyšší úrovně ovládá podprogramy skrze tyto výstupy. V zeleném symbolu podprogramu, který je vložen do vyššího programu je propojovací pin pro každý prvek Subprogram exit vložen na horní stranu. Spojení na symbolu mají stejné pořadí (zleva doprava) jako prvky Subprogram exit v plánu fungování podprogramu. Když kliknete pravým tlačítkem myši na prvek, otevře se okno Properties. Zde můžete dát prvku název, který bude zobrazen na symbolu. O podprogramech zjistíte více v kapitole 4. 8.3.3 Subprogram command input (úroveň 3) Skrze tento prvek mohou být propojeny podprogramy ke vstupním prvkům jako jsou přepínače v hlavním programu nebo podprogramu vyšší úrovně, nebo zásobovány odtamtud pomocí hodnot z různých prvků. V podprogramu je zelený symbol vložen do vyššího programu, jeden propojovací pin pro každý příkaz podprogramu je vložen na levou stranu. Spojení na symbolu mají stejnou sekvenci (shora dolů) jako vstup příkazu podprogramu v plánu fungování podprogramu. Vysvětlení naleznete v části 5.5. Okno Property - Pod Name můžete vložit název pro vstup příkazu. Na zeleném symbolu podprogramu jsou zobrazeny pouze první dva znaky. - Pod Data type můžete vybrat, zda hodnota přijatého příkazu je celé číslo nebo číslo s pohyblivou řádovou čárkou. Více informací je v části 12. - Pod Passing mechanism (úroveň 4 a výš) můžete vybrat, zda vstup přijímá pouze příkazy "=" nebo jakékoliv příkazy. Pokud jsou připojeny proměnné vstupu rozhraní ke vstupu vyvolání podprogramu, , měli byste vybrat pouze příkazy "=". V tomto případě vstup podprogramu ukládá posledně přenesenou hodnotu a umožní správnou hodnotu hned po spuštění programu. Pokud vyberete libovolné příkazy, můžete také vstupu vysílat příkazy jako stop nebo vlastní příkazy. Tyto příkazy budou postoupeny podprogramu, pokud je aktivní. Dává to smysl, když podprogram obsahuje například prvek motoru a vy byste chtěli vyslat příkazy do tohoto prvku zvenčí. Více informací najdete v sekci 6.3.
8.3.4 Subprogram command output (úroveň 3) Skrze tento prvek můžete posílat motorům nebo jiným prvkům takové příkazy jako doleva, doprava nebo stop. V zeleném symbolu podprogramu, který je vložen do vyššího programu, je jeden spojovací pin pro každý vstup příkazu podprogramu zapojen do pravé strany. spojení symbolu má stejné pořadí (shora dolů) jako vstup příkazu podprogramu v plánu fungování podprogramu. Vysvětlení naleznete v části 5.5. Okno Property - Pod Name můžete vložit název pro vstup příkazu. Na zeleném symbolu podprogramu jsou zobrazeny pouze první dva znaky. - Pod Data type můžete vybrat, zda hodnota přijatého příkazu je celé číslo nebo číslo s pohyblivou řádovou čárkou. Více informací je v části 12.
8.4 Variable, List,... (úroveň 3) Programovací prvky v této skupině mohou uložit jednu nebo více číselných hodnot. Umožňují vám vyvíjet programy s pamětí. 8.4.1 Variable (global) Proměnná může uložit jednotlivou číselnou hodnotu mezi -32767 a 32767. Hodnota proměnné je nastavena propojením prvku příkazu = do vstupu příkazu na levé straně (viz část 8.5.1). Skrze okno Properties můžete také nastavit proměnné počáteční hodnotu, která jí zůstane, dokud se neobjeví první příkaz, který hodnotu upraví. ROBO Pro vytvoří jednu proměnnou pro všechny proměnné prvky pomocí the same name a Variable type = Global. Všechny rámcové (global) proměnné se stejným názvem jsou identické a mají vždy stejnou hodnotu, i když se dějí v rozdílných podprogramech. Když je jeden z těchto prvků upraven pomocí příkazu, všechny ostatní proměnné se stejným názvem se změní také. Existují ale také místní proměnné (v další části), na které se toto nevztahuje. Stejně jako příkaz = rozumí proměnná také příkazům + a -. Pokud například dostane příkaz +5, přidá hodnotu 5 k aktuální hodnotě. V případě příkazu - je hodnota odečtena. Pozor: Pokud se pomocí příkazů + nebo - dostanete mimo povolený rozah hodnot, je k hodnotě přidána nebo odebrána hodnota 65536, aby se proměnná dostala zpět do platného rozsahu. Jelikož se nejedná o proces, který byste uvítali, zajistěte, aby se toto nestávalo. Pokaždé, když se změní hodnota proměnné, vyšle příkaz = s novou hodnotou do všech prvků připojených k výstupu příkazu proměnné. Pokud chcete sledovat hodnotu proměnné, můžete připojit panel displeje k výstupu proměnné (viz část 8.7.6).
Zde je soupis všech příkazů, které může prvek Variable zpracovat. Příkaz Hodnota
Akce
=
-32767 až 32767 Nastaví proměnnou na hodnotu uvedenou v příkazu.
+
-32767 až 32767 Přidá k proměnné hodnotu uvedenou v proměnné.
-
-32767 až 32767 Odečte od proměnné hodnotu uvedenou v proměnné.
Podivný rozsah hodnot -32767 až 32767 je výsledkem strojového počítání v binárním, nikoliv desítkovém systému. V binárním systému je 32767 kulaté číslo. Nemusíte mít ale strach, počítač převádí všechna čísla z binárního systému na desítkový. Něčeho si povšimnete jen u maximálních hodnot a v případě přetečení výpočtů. Okno properties pro proměnné. - Pod Name můžete vložit název pro proměnnou. - Pod Initial value můžete vložit počáteční hodnotu proměnné. Proměnná si zachovává tuto hodnotu, dokud nezíská novou pomocí příkazů =, + nebo -. - Pod Data type můžete vybrat, zda hodnota přijatého příkazu je celé číslo nebo číslo s pohyblivou řádovou čárkou. Více informací je v části 12. - Položka Life time je důležitá jen pro proměnné v podprogramech a je podrobněji popsána v následující části "Local variable". V případě proměnných v hlavním programu mají obě nastavení stejný efekt. 8.4.2 Local variables Všechny prvky proměnných global se setejným názvem používají jednu a tu samou proměnnou a mají vždy stejnou hodnotu. To se od nich dá očekávat a jedná se o praktickou vlastnost. Když ale použijete proměnné v podprogramech, může to vést k velkým problémům. Když má váš program více než jeden paralelní proces, může se spustit najednou několik částí podprogramu. Taková situace obvykle vede ke zmatku v programu, když program používá pro všechny procesy stejné proměnné. Pro tento účel jsou zde místní proměnné (local variable). Místní proměnné se chovají skoro stejně jako rámcové proměnné, avšak s jedním rozdílem: místní proměnná jen platná jen v podprogramu, v němž je definována. I když jsou dvě místní proměnné v různých podprogramech a mají stejné názvy, jedná se o dvě rozdílné, nezávislé proměnné. I když je jeden program spuštěn paralelně s několika procesy, podprogram v každém procesu má nezávislou sadu místních proměnných. Místní proměnné existují jen tak dlouho jako podprogram, v němž mají být spuštěny. Proto místním proměnným není přidělena počáteční hodnota na začátku programu, ale spíše pokaždé, když je spuštěn podprogram. Jelikož podprogram má dělat pokaždé to samé, když je vyvolán více než jednou, je praktičtější, když mají proměnné nastavenou svou počáteční hodnotu při každém vyvolání. Místní proměnné nemají žádnou paměť týkající se předchozích vyvolání stejného podprogramu. V hlavním programu se místní a rámcové proměnné chovají stejným způsobem, jelikož celkový program a hlavní program byly spuštěny ve stejnou chvíli. Nicméně místní proměnné jsou mnohem
účinnější. Na druhou stranu, seznamy prvků by měly být definovány spíše rámcově, protože úložný prostor pro rámcové proměnné je větší, než pro místní proměnné. 8.4.3 Constant Stejně jako proměnná má i konstanta hodnotu, ale tuto hodnotu nelze měnit pomocí programu. Můžete napojit konstantu se vstupem dat symbolu podprogramu, když má podprogram využívat vždy stejnou hodnotu. Příklad je v části 5.7. Okno Property pro constant - Pod Data type můžete vybrat, zda hodnota přijatého příkazu je celé číslo nebo číslo s pohyblivou řádovou čárkou. Více informací je v části 12. - Pod value vložte hodnotu konstanty. 8.4.4 Timer variable Timer variable (časová proměnná) se chová stejně jako proměnná. U časových proměnných existuje rozdíl mezi normálními a statickými proměnnými. Jediným rozdílem je to, že časová proměnná odečítá uloženou hodnotu v zadaném časovém intervalu, dokud nedosáhne 0. Jakmile časovač dosáhne nuly, zůstane tam. Když se hodnota časovače stane negativní, například pomocí mínusového příkazu, hodnota se v dalším časovém kroku změní na 0. Rychlost odpočtu časovače proměnné lze nastavit mezi 1/1000 sekundy na krok a 1 minutou na krok v okně Properties. Díky tomu můžete pozorovat přesnost časovače v závislosti na nastavení kroků. Pokud, například, nastavíte čas na 1 x 10 sekund, další časový krok může nastat o chvíli později (nejdříve za jednu sekundu) nebo ne dříve než za 10 sekund. Časovače jsou tedy nejen přesné jako nastavené časové kroky. Proto byste měli vybrat malé kroky, například 10 x 1 sekundu nebo 100 x 0.1 sekundy, než 1 x 10 sekund. Kroky po minutě byste měli vybírat jen v případě, že má program čekat déle než hodinu. V tu chvíli o minutu více nebo méně nehraje takovou roli. Počet odečítaných kroků je obvykle přidělen časovači skrze příkaz = od příkazového prvku. Například 100 kroků po 10 ms. To odpovídá trvání 1000 ms = 1 sekunda. Přesnost je 10 ms. Časové proměnní vám umožňují snadno řešit i složitá měření času a zpoždění. Například pokud má robot po 20 sekundách ukončit hledání, můžete nastavit časovou proměnnou na 20 x 1 sekundu (nebo 200 x 0.1 s) na začátku hledání a poté pravidelně zjišťovat, zda je hodnota časové proměnné stále větší, než 0. Můžete taky resetovat časovač na jeho počáteční hodnotu, když má hledání částečný úspěch. Pokud chcete měřit čas, časová proměnná by měla být nastavena na co nejvyšší možnou pozitivní hodnotu (30000 nebo 32767), aby zbývalo hodně času, než časovač dosáhne hodnoty 0. Pokud chcete vědět, kolik času od té chvíle uběhlo,
Okno Properties pro timer variables. - Pod Delay můžete rozhodnout o počáteční hodnotě pro časovou proměnnou. Sem vložíte 0 a nastavíte hodnotu časové proměnné pomocí příkazu = na správný čas. Pokud má ovšem časovač být spuštěn na začátku programu nebo podprogramu, odpovídající hodnota může být vložena zde. - Po Time unit můžete vybrat velikost časových kroků, v nichž bude probíhat odpočet. - Pod Timer variable type můžete nastavit, zda je časovač rámcová nebo místní proměnná (viz část 8.4.2). 8.4.5 List Prvek List (seznam) odpovídá proměnné, v níž lze uložit nejen jednu, ale několik hodnot. Maximální počet hodnot, které mohou být uloženy v proměnné je rozhodnut v okně Properties. Hodnoty můžete přidat nebo odebrat na konci seznamu . Můžete také změnit nebo přečíst jakékoliv hodnoty v seznamu nebo zaměnit jakoukoliv hodnotu v seznamu za hodnotu v seznamu první. Hodnotu nelze vložit doprostřed nebo na začátek seznamu přímo. Můžete ale napsat odpovídající program, který tyto funkce vykoná. Následující funkce na seznamu jsou použity pro posílání příkazů do vstupu W (write - psát). Následující příkazy mohou být poslány do vstupu W: Příkaz
Hodnota Akce -32767 Přidá hodnotu s příkazem na konec seznamu. Seznam se zvětší o až 32767 jeden prvek. Pokud má již seznam maximální velikost, příkaz je ignorován.
0 až Smaže daný počet prvků z konce seznamu. Hodnota příkazu je počet 32767 prvků, které mají být smazány. Pokud je číslo vyšší, než počet prvků v seznamu, jsou smazány všechny prvky. Pokud je číslo 0 nebo je negativní, příkaz je ignorován.
0 až vymění daný prvek za první prvek v seznamu. Hodnota příkazu je 32767 číslo umístění prvku, který má být změněn.
Skrze vstup I (jako inder) lze vybrat určitý prvek ze seznamu. Abyste tak učinili, vyšlete do vstupu I příkaz = s požadovaným číslem prvku. První prvek je prvek číslo 0. Další hodnotu lze přiřadit prvku vybranému skrze vstup I vysláním příkazu = s požadovanou hodnotou na vstup W. Prvek vybraný skrze vstup I lze zařadit na výstup R (readout). Pokud se vstup I nebo hodnota položky vybrané vstupem I změní, seznam vyšle aktuální hodnotu vybrané položky prvkům připojeným k výstupu R. Skrze výstup I můžete rozhodnout, zda indes definovaný na vstupu I je platný. Pokud N je počet prvků, hodnota mezi 0 a N-1 musí být přitomná na vstupu I. Pokud se jedná o tento případ, výstup I vyšle příkaz = s hodnotou N, v jiných případech s hodnotou 0 do všech připojených prvků. Okno Properties pro list - Pod Name můžete vložit název seznamu. - Pod Maximum sice můžete vložit maximální počet prvků na seznamu. Tuto velikost nelze překročit pomocí příkazů Append. - Pod Initial size vložte počet prvků, s nimiž bude seznam spuštěn při startu. - Pod List od initial values můžete vložit počáteční hodnoty předem zadané do seznamu. Pomocí tlačítek vpravo můžete seznam upravovat. - Pod Load from .CSV file můžete vybra s Excelem kompatibilní .CSV soubor, z něhož si vezme seznam své hodnoty. V poli výběru uprostřed můžete vybrat sloupec v .CSV souboru, který bude pro tento účel použit. Soubor je načten a zobrazen pod List od initial values. Když spustíte program nebo provedete stažení, ROBO Pro se ještě ejdnou pokusí načíst aktuální hodnoty z tohoto souboru. Pokud se mu to nepovede, budou použity hodnoty pod List of initial values. - Pod Save to .CSV file můžete specifikovat souboru, do něhož by měl být po ukončení programu uložen obsah. Tato funkce nicméně funguje pouze v online módu a jen pro statické seznamy (viz další bod). Obsahy seznamu jsou napsané ve vybraném sloupci souboru. Pod Column separator můžete vybrat, zda budou jednotlivé sloupce v seznamu oddělené čárkami nebo středníky. V zemích, kde se 0.5 píše s tečkou, bude čárka použita jako rozdělení sloupců. V případě 0,5 by měl být pro oddělení sloupců použit středník. Pokud máte problémy s importováním ROBO Pro CSV souboru do například Microsoft Excel, zkuste jiné rozdělení sloupců. - Pod List data type můžete vybrat, zda bude seznam obsahovat celá čísla nebo čísla s pohyblivou řádovou čárkou. Viz v části 12.
- Pod List data life time můžete nastavit, zda prvky v seznamu budou rámcové nebo místní proměnné (viz část 8.4.2). Pro velké seznamy (s maximální velikostí přes 100 prvků) se doporučuje rámcové (global) nastavení, protože pro tyto proměnné je k dispozici větší paměťová kapacita, než pro místní.
8.5 Commands (úroveň 3) Všechny programovací prvky v této skupině jsou příkazové prvky. V závislosti na použití mohou být nazvány také prvky zpráv. Když je spuštěn příkazový prvek (například když chod programu projde modrým vstupem na vrcholku prvku), příkazový prvek vyšle příkaz nebo zprávu do prvku připojeného k výstupu vpravo. Je mnoho příkazů jako doprava, doleva nebo stop, které mají různé účinky na připojené prvky. Připojené prvky rozumí jen několika příkazům. Příkazy, kterým každý programovací prvek rozumí a účinky těchto příkazů jsou vypsány vedle různých programových prvků. Nejvíce příkazů je také doplněno hodnotou. Například s příkazem doprava specifikujete rychlost mezi 1 a 8. Příkaz stop na druhou stranu žádnou hodnotu nemá. Okno Properties pro příkazové prvky. - Pod Command můžete vybrat požadovaný příkaz ze seznamu. - Pod Values vložíte číselnou hodnotu, která se bude s příkazem pojit. Pokud hodnota není potřeba, toto políčko je prázdné. - Pod Value description můžete vložit krátký určující text (např. X= nebo T=), který bude zobrazen v prvku příkazu s hodnotou. Text by měl jasně naznačovat, o jaký druh hodnoty se jedná. To však slouží pouze pro přehled a nemá jinou funkci. - Pod Data type vyberete, zda hodnota příkazu je celé číslo nebo číslo s pohyblivou řádovou čárkou. Viz část 12. - Pod Data input for command value můžete specifikovat, zda bude mít příkaz oranžový vstup dat nalevo pro průchod hodnoty. U všech příkazových prvků je možné hodnotu vložit přímo do prvku nebo přečíst skrze vstup dat naleco od příkazového prvku. Tímto způsobem například motor může být ovládán v servo smyčce s různou rychlostí. 8.5.1 = (rovná se) Příkaz = udílí přijímači hodnotu. Používá se pro udělení hodnoty proměnným, časovým proměnným, seznamům nebo výstupům panelu. Příkaz = ale není vysílán pouze příkazovými prvky, ale všemi programovacími prvky s výstupy dat. Všechny prvky vysílají příkazy =, když je pozměněna hodnota výstupu. Prvek digitálního vstupu, například, vyšle příkazy =1, když je senzor vstupu uzavřen a příkaz =0, když je otevřen. K tomuto se však nepoužívá žádný programovací prvek. Programovací prvky s výstupy dat mají v sobě příkaz = zabudovaný. Všechny prvky data vstupů mohou zpracovat alespoň příkaz =. To dělá příkaz = nejčastěji používaným.
8.5.2 + (plus) Příkaz + je vyslán do proměnné nebo časové proměnné pro zvýšení hodnoty této proměnné. Pomocí příkazu + lze vložit libovolnou požadovanou hodnotu, která bude přidána k proměnné. Jelikož hodnota může být též negativní, hodnota proměnné může být tímto příkazem i snížena. Více informací se v části 8.4.1. 8.5.3 - (mínus) Příkaz - se používá podobně jako výše popsaný příkaz +. Jediný rozdíl je ten, že hodnota je od proměnné odečtena. 8.5.4 Right Příkaz Right zapíná prvek motoru tak, aby se otáčel po směru hodinových ručiček (doprava). Viz část 8.7.4. Hodnota rychlosti může být od 1 do 8. 8.5.5 Left Příkaz Left zapíná prvek motoru tak, aby se otáčel proti směru hodinových ručiček (doleva). Viz část 8.7.4. Hodnota rychlosti může být od 1 do 8. 8.5.6 Stop Příkaz Stop je vyslán do prvku výstupu motoru pro zastavení motoru. Viz část 8.7.4. Pro příkaz Stop nelze zadat žádnou hodnotu rychlosti. 8.5.7 On Příkaz On je vyslán do prvku výstupu lampy pro zapnutí lampy. Viz část 8.7.5. Příkaz On může být také vyslán do prvku výstupu motoru. Odpovídá příkazu Right. Pro motory je nicméně lepší použít příkar Right, jelikož je tak přímo rozeznán směr otáčení motoru. Hodnota jasu nebo intenziriy může být od 1 do 8. 8.5.8 Off Příkaz Off je vyslán do prvku výstupu lampy pro vypnutí lampy. Viz část 8.7.5. Příkaz Off může být také vyslán do prvku výstupu motoru. Odpovídá příkazu Stop. Příkaz Off nemá žádnou hodnotu. 8.5.9 Text Příkaz Text je speciální příkaz, který neodesílá příkaz s číslem, ale spíše text dle vašeho výběru do přípojeného prvku. Nicméně existuje jen jeden prvek, který může zpracovat příkaz Text, a to je textový displej na panelu. Více informací je v části 9.1.2. 8.5.10 Append value Příkaz Append je speciální příkaz pro prvek seznamu. Viz část 8.4.5. Příkaz je doplněn hodnotou, která je přidána na konec seznamu. Pokud je seznam již plný, příkaz je ignorován.
8.5.11 Delete value(s) Příkaz Delete je speciální příkaz pro prvek seznamu. Viz část 8.4.5. Pomocí tohoto příkazu můžete smazat z konce seznamu libovolný počet prvků. Požadovaný počet je nastaven jako hodnota prvku. Když je hodnota vyšší, než počet prvků seznamu, jsou ze seznamu smazány všechny prvky. Abyste vymazali seznam kompletně, prvek Delete má maximální možnou hodnotu 32767. 8.5.12 Exchange values Příkaz Exchange je speciální příkaz pro prvky seznamu. Viz část 8.4.5. Pomocí tohoto příkazu může být libovolný prvek seznamu vyměněn za první prvek. Počet vyměněných prvků je hodnotou příkazu. Důležité: první prvek seznamu má číslo 0. Pokud hodnota není platné číslo prvku, prvek seznamu bude příkaz ignorovat.
8.6 Compare, wait for, ... (úroveň 3) Programovací prvky v této skupině všechny slouží pro rozvětvení ovládání programu nebo pro zpoždění pokračujícího běhu programu. 8.6.1 Branch (se vstupem dat) Toto programové rozvětvení má oranžový vstup dat A na levé straně. Skrze něj je přečtena hodnota, která často přichází ze vstupu prvku (viz části 8.7.1 až 8.7.6). Vstup dat A může být také napojen na výstup dat z proměnných, časové proměnné nebo operátory (viz část 8.8). Prvek porovnává hodnotu dat vstupu A s pevnou, ale volně definovatelnou hodnotou. Podle toho, zda porovnání drží nebo ne, prvek přesměruje program skrze výstupy Y nebo X. Okno Properties pro Branch. - Pod Condition vpravo vyplníte hodnotu, která bude porovnávána se vstupem A. Pro porovnání jsou k dispozici obvyklé operátory. - Pod Data type můžete vybrat, zda budou přijatá data celé číslo nebo číslo s pohyblivou řádovou čárkou. Viz část 12. - Když vyberete Interchange Y/N connections, vymění se pozice výstupů Y a N, jakmile zavřete okno Properties pomocí OK. Pozici výstupů můžete změnit kdykoliv zpět. Nejčastější porovnání bývá A>0. To znamená, že program je nasměrován do výstupu Y, pokud je hodnota na vstupu A větší, než 0. Například digitální vstupy, které určují hodnotu 1 nebo 0 mohou být porovnávány tímto způsobem. Pomocí porovnání A>0 mohou být ale porovnány i časové proměnné nebo jiné hodnoty.
8.6.2 Comparison with fixed value Pomocí programovacího prvku Comparison with fixed value může být hodnota vstupu dat A porovnána s pevnou, avšak volně nastavitelnou hodnotou. Podle toho, zda je hodnota na vstupu A větší, menší nebo rovná pevné hodnotě, prvek vede program do pravé, levé nebo prostřední větve. Výstup proměnné nebo seznamu je napojen na vstup dat A. Prvek porovnání může být nahrazen dvěma prvky Branch. V mnoha případech je však jednodušší, když použijete pouze jeden prvek.
Poznámka: Tento prvek nemá možnost čísla s pohyblivou řádovou čárkou, protože ta mohou působit chyby kvůli zaokrouhlení. Proto by nebylo rozumné se ptát, zda jsou dvě hodnoty zcela stejné. Můžete provést dvojí porovnání pomocí programového rozvětvení. Viz funkce v části 8.6.1. Okno Properties pro Compare - Pod Comparison value můžete vložit konstantní hodnotu, s níž bude porovnáván vstup A. 8.6.3 Compare Pomocí prvku Compare může porovnat dvě hodnoty vstupů dat A a B jednu s druhou. V závislosti na to, zda je A menží než B, A je větší než B nebo se A rovná B, prvek převede program do levé, pravé nebo prostřední větve. Nejčastějším použitím pro tuto funkci je porovnání nominální hodnoty se skutečnou hodnotou. Podle toho, kde leží nominální hodnota v porovnání se skutečnou hodnotou, se může například motor točit doleva, doprava nebo se zastavit. Prvek Compare nemá žádná nastavení a proto také nemá okno Properties. Poznámka: Tento prvek nemá možnost čísla s pohyblivou řádovou čárkou, protože ta mohou působit chyby kvůli zaokrouhlení. Proto by nebylo rozumné se ptát, zda jsou dvě hodnoty zcela stejné. Můžete provést dvojí porovnání pomocí porovnávacího operátoru (viz část 8.8.2) a programového rozvětvení (část 8.6.1). 8.6.4 Time delay S tímto prvkem můžete do postupu naprogramovat zpoždění. Zpoždění začíná, když je tento prvek spuštěn. Jakmile doběhne nastavený čas, program pokračuje v chodu. Více informací je v části 3.6.1. Okno Properties pro Time delay: - Pod Time můžete vložit čas zpoždění. Můžete použít i desetinná místa jako 1.23. - Pod Time unit můžete vybrat sekundy, minuty nebo hodiny jako jednotku času. Časová jednotka nemá, narozdíl od časových proměnných, vliv na přesnost zpoždění. Zpoždění 60 sekund se chová stejně jako zpoždění 1 minuty.
V módu Expert (úroveň 5) se zobrazí rozšířené okno Properties, které více připomíná okno Properties pro časové proměnné. 8.6.5 Wait for... Prvek Wait for... pozdrží provedení programu, dokud nedojde ke změně nebo specifikovaný stav nedosáhne vstupu dat prvku. Prvek má pět variant: Prvek nalevo čeká, dokud se hodnota vstupu nezvýší. Nemyslí se tím pouze změna z 0 na 1, ale jakékoliv navýšení, například z 2 na 3. Druhý prvek čeká, dokud se hodnota vstupu nesníží, a prvek prostřed čeká na jakoukoliv změnu, ať už zvýšení nebo snížení. Třetí prvek se obvykle používá pro pulzní kolečka. Čtvrtý a pátý prvek čekají ne na změnu, ale na stav Ano (>0) nebo Ne (<=0) vstupu. Pokud je již přítomen relevantní stav, prvek nečeká. První tři prvky na druhou stranu vždy čekají, dokud není na vstupu zachycena změna. Okno Properties pro Wait for change - Pod type of change můžete vybrat mezi pěti výše popsanými funkcemi. - Pokud je označena volba Detect changes when not active, prvek také detekuje změny, k nimž došlo, když nebyl prvek dosud spuštěn. V tomto případě prvek ukládá poslední známou hodnotu. Když je prvek opět spuštěn, pokračuje průběh programu ihned, pokud byla hodnota změněna správným způsobem. Tímto způsobem je menší šance, že zmeškáte změnu, protože program zrovna dělal něco jiného.
8.6.6 Pulse counter Tento prvek čeká na definovaný počet pulzů na vstupu dat na levé straně, než pokračuje s programem. Je to velmi praktické pro jednoduché úkoly s pulzními kolečky. Pro náročnější použití, například hodnoty proměnných, musí být použity podprogramy s proměnnými. Okno Properties pro Pulse counter - Pod Number od pulses vložte počet pulzů, po který se bude čekat, než bude program pokračovat. - Pod Pulse type můžete vybrat mezo třemi typy pulzů: 0-1, 1-0 nebo libovolná změna. Možnost rozpoznání změn, když není prvek aktivní, není u tohoto prvku přítomna.
8.7 Interface inputs/outputs Tato skupina prvků obsahuje všechny vstupní a výstupní prvky. Jejich použití je vysvětleno v kapitole 4.4. 8.7.1 Universal input TX kontroler má 8 univerzálních vstupů I1 až I8, které lze použít jako digitální nebo analogové vstupy. K těmto vstupům můžete připojit tlačítka a jakékoliv senzory z nyní dostupných výrobků fischertechnik. Okno Properties pro univerzální vstupy: - Pod Universal input můžete vybrat, který ze vstupů rozhraní bude použit. Rozšiřovací moduly jsou pod Interface / Extension. - Pod Sensor type můžete vybrat senzor připojený ke vstupu. - Pod Input mode vyberete, zda je vstup analogový nebo digitální a zda reaguje na napětí nebo odpor, či zda je připojen na ultrazvukový senzor vzdálenosti. Více informací naleznete v části 11.5. ROBOPro automaticky rozhoduje o módu vstupu v závislosti na připojeném senzoru. V úrovni 4 a výš můžete vybrat mód vstupu také nezávisle. Například to dává smysl v případě fototranzistorů. Pro fototranzistory ROBOPro nastaví mód vstupu na digital 5kOhm (D 5k). Tímto způsobem můžete použít fototranzistor ve spojení s lampou jako světelnou bariéro, která je přerušená (=0) nebo zavřená (=1), Nicméně pokud vyberete mód vstupu analog 5kOhm (A 5k) pro fotorezistor, můžete rozpoznávat mnoho odstínů světla a tmy. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Connection můžete vybrat, zda je vstup vždy připojený nebo jen když běží podprogram obsahující vstup. Rozdíl je pouze, pokud jsou ke vstupu podprogramu připojeny rámcové prvky jako rámcové proměnné a operátory. Při bližším pohledu existuje jen jeden typ programovacího prvku pro všechny typy vstupů. Můžete přepnout vstupní čas kdykoliv pomocí záložek na vrchu okna Properties. To je zvláště užitečné pro přepínání mezi přepínačem, IR a vstupy panelu.
8.7.2 Counter input Kromě 8 univerzálních vstupů I1 až I8 TX kontroler nabízí 4 počítací vstupy C1 až C4. K počítacím vstupům můžete připojit pouze digitální senzory a enkodéry kódovacích motorů. pro každý počítací vstup jako je C1 existují dva různé počítací vstupy jako C1C a C1D v ROBO Pro. Vstup C1D se chová jako běžný digitální vstup. Nicméně vstup C1C počítá počet pulzů přijatých vstupem C1. Můžete počítadlo resetovat zasláním příkazu reset do odpovídajícího prvku motoru. Počítadla se používají pro ovládání kódovacích motorů a musí být použita pro jiné účely, jen pokud není připojen k odpovídajícímu výstupu motoru kódovací motor. (například M1 pro C1). Okno Properties pro Counter inputs: - Pod Counter input můžete vybrat požadované počítadlo nebo digitální vstup. - Pod Image můžete vybrat obrázek senzoru připojeného ke vstupu. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Connection můžete vybrat, zda je vstup vždy připojený nebo jen když běží podprogram obsahující vstup. Rozdíl je pouze, pokud jsou ke vstupu podprogramu připojeny rámcové prvky jako rámcové proměnné a operátory. Opět je z okna Properties pro tento prvek jasné, že ROBO Pro používá jediný element, který je možné přepínat mezi typy vstupu pomocí záložek. Pro jednoduchost jsou nicméně k dispozici v okně prvků oddělené vstupní prvky pro výběr. 8.7.3 Motor position reached Tyto vstupy nejsou skutečnými vstupy, ale logickými vstupy pro ovládání kódovacím motorů. Více zjistíte v části 11.6.2. Okno Property pro prvek: - Pod Motor control input můžete vybrat, který motor má zařadit dosaženou pozici. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Connection můžete vybrat, zda je vstup vždy připojený nebo jen když běží podprogram obsahující vstup. Rozdíl je pouze, pokud jsou ke vstupu podprogramu připojeny rámcové prvky jako rámcové proměnné a operátory.
8.7.4 Motor output Prvek Motor output umožňuje ovládání jednoho z 4 dvojpólových výstupů motoru ROBO rozhraní nebo inteligentního rozhraní. Výstup motoru vždy používá dvě spojení s rozhraním, zatímco výstup lampy používá jen jedno spojení. Více o rozdílu mezo motorem a lampou najdete v částech 8.1.6 a 8.1.8. Příkaz musí být poslán skrze prvek příkazu do výstupu motoru, aby spustil výstup. Prvek motoru může zpracovat následující příkazy: Příkaz Hodnota Akce Right
1 až 8
Motor se otáčí po směru hodinových ručiček rychlostí od 1 do 8
Left
1 až 8
Motor se otáčí proti směru hodinových ručiček rychlostí od 1 do 8
Stop
nic
Motor zastaví
On
1 až 8
Stejné jako Right
Off
nic
Stejné jako Stop
=
-8 až 8
Hodnota -1 až -8: motor se otáčí proti směru hodinových ručiček Hodnota 1 až 8: motor se otáčí po směru hodinových ručiček Hodnota 0: motor zastaví
Navíc může motor přijímat příkazy pro rozšířené ovládání motoru (synchronous, distance, reset), jak je vysvětleno v části 11.6.2. Okno Properties pro prvky motoru: - Pod Motor output můžete vybrat, které ze spojení rozhraní má být použito. Můžete vybrat rozšíření výstupů modulu pod Interface / Extension. - Pod Resolution můžete vybrat, zda chcete ovládat intenzitu výstupu v 8 krocích (1-8) nebo v 512 krocích (1-512). - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Image můžete vybrat obrázek zátěže napojené k výstupu. Ve většině případů se bude jednat o motor. K výstupu motoru můžete ale také připojit elektromagnet, elektromagnetický ventil nebo lampu. 8.7.5 Lamp output Prvek Lamp output umožňuje ovládat jedno z 8 jednopólových lampových výstupů O1 až O8 ROBO rozhraní nebo inteligentního rozhraní. Další spojení připojeného zařízení (zátěže) je připojeno k uzemnění. Tímto způsobem můžete připojené zařízení jedině zapnout nebo vypnout, nemůžete změnit polaritu. Více o rozdílu můžete zjistit v částech 8.1.6 a 8.1.8.
Příkaz, který spouští výstup musí být zaslán skrze prvek příkazu do prvku lampy. Prvek lampy může zpracovat následující příkazy: Příkaz Hodnota Akce On
1 až 8
Lampa je zapnuta s jasem od 1 do 8
Off
nic
Lampa je vypnuta
=
0 až 8
Hodnota 1 až 8: lampa je zapnuta Hodnota 0: lampa je vypnuta
Okno Properties pro prvek lamp output: - Pod Lamp output můžete vybrat, které ze spojení výstupu rozhraní bude použito. Můžete vybrat pod Interface / Extension rozšiřující modul. - Pod Resolution můžete vybrat, zda chcete ovládat intenzitu výstupu v 8 krocích (1-8) nebo v 512 krocích (1-512). - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Image můžete vybrat obrázek zátěže napojené k výstupu. Ve většině případů se bude jednat o lampu. K výstupu motoru můžete ale také připojit elektromagnet, elektromagnetický ventil nebo motor.
8.7.6 Panel input ROBO Pro umožňuje návrhy vašich vlastních panelů pro vaše modely. Více můžete zjistit v části 8.9. Tato funkce zajišťuje jednoduché ovládání vašich modelů z počítače. Tlačítka, posuvníky a prvky vstupu dat jsou v dispozici v tomto panelu. Stav těchto prvků lze ovládat pomocí prvku Panel input. Tlačítka vytváří hodnotu 0 nebo 1. Posuvníky uživatelem definovaný rozsah (základně nastavený na 0 až 100). Panely lze používat pouze v online módu. Více o nich zjistíte v části 3.7. Okno Properties pro Panel input: Jeden panel je propojen s každým hlavním program nebo podprogramem. Prvky panelu jsou seřazeny pod názvy příslušného programu. Pokud jste ještě nedefinovali prvky panelu, pak se na seznamu neobjeví žádné prvky. Musíte nejprve navrhnout panel, než na něj můžete napojit vstup panelu s prvkem panelu.
Výběr pod Interface / Extension je v případě vstupu panelu ignorován, jelikož se zde nepracuje se skutečnými vstupy na modul rozhraní. 8.7.7 Výstup panelu ROBO Pro umožňuje navrhování vlastních panelů pro vaše modely. Více se dozvíte v části 8.9. Kromětlačítek a jiných vstupních prvků pro ovládání modelu můžete také vložit prvky do vašeho panelu. Na těchto prvcích displeje můžete zobrazit například koordináty os robota nebo stav koncového přepínače. Pomocí prvku Panel output upravíte zobrazovanou hodnotu, s vysláním příkazu prvku =, připojením proměnné, analogového vstupu nebo prvku příkazu. Panely lze použít pouze v online módu. Více zjistíte v části 3.7. Okno properties pro Panel displays: Jeden panel náleží každému hlavnímu programu nebo podprogramu. Panelové displeje jsou seřazeny podle názvu odpovídajícího programu. Pokud jste ještě neustálili žádné prvky panelu, na seznamu se žádné neobjeví. Musíte tedy nejprve nakreslit panel, než můžete připojit vstup panelu k prvku panelu.
8.8 Operators Všechny programovací provky v této skupině se nazývají operátory. Operátory mají jeden nebo více oranžových vstupů dat. Hodnoty z vstupů dat jsou zkombinovány pomocí operátoru, aby vytvořily novou hodnotu, která je přenesena z výstupu operátoru pomocí příkazu =. Okno Properties pro operátory: Všechny operátory mají okno Properties stejné. Pomocí nej dokonce můžete operátor změnit na jiný operátor. - Pod Operation můžete nastavit, jak operátor zkombinuje své vstupy. Jednotlivé funkce jsou vysvětleny v následujících částech. - Pod Number of inputs můžete nastavit počet vstupů operátoru.
8.8.1 Aritmetické operátory V ROBO Pro jsou čtyři základní aritmetické operace. Se dvěma vstupy vypadají symboly následovně:
Plus
Mínus
Krát
Děleno
Mínus
A+B
A-B
A*B
A/B
-A
Pokud má operátor mínut více než jeden vstup, všechny následné vstupní hodnoty jsou odečteny od hodnoty na vstupu A. Pokud má operátor mínus jen jeden vstup, operátor změní znamenko vstupní hodnoty. Pokud má operátor Děleno více než dva vstupy, hodnota ve vstupu A je dělena všemi dalšími vstupními hodnotami. 8.8.2 Porovnávací operátory K porovnání hodnot slouží 6 porovnávacích operátorů:
Rovno
Nerovno
Méně než
Méně než nebo Více než rovno
Více než nebo rovno
A=B
A≠B
A
A≤B
A≥B
A>B
Pokud je porovnání pravdivé, výstupní hodnota je 1, jinak je 0. Výstupní hodnota je vždy celé číslo, i když je vstupní hodnota číslo s desetinnou čárkou. vyjma operátoru nerovno můžete použít jakýkoliv porovnávací operátor s více než dvěma vstupy. Výsledek je poté 1 pro případ, kdy je podmínka pravda pro A a B, stejne jako pro C a B, atd. Například můžete tímto způsobem rozhodnout pomocí jediného operátoru, zda se hodnota nachází mezi danými parametry.
8.8.3 Logické operátory ROBO Pro má tři logické operátory, které lze použít například pro kombinování digitálních vstupů.
A
Nebo
Ne
A>0 a B>0
A>0 nebo B>0
A<=0
Logické operátory převádějí hodnotu větší než 0 na ano nebo pravda a hodnody menší nebo rovné 0 na ne nebo nepravda. Digitání vstupy vytváří hodnoty 0 nebo 1 tak, že 0 je nepravda a 1 pravda. Operátor A vysílá příkaz = s hodnotou 1 do prvků připojených k jeho výstupu, pokud všechny vstupy mají hodnotu pravda, tj. hodnota je >0. Jinak prvek vysílá příkaz = s hodnotou 0. Operátor Nebo vyšle příkaz = s hodnotou 1 do prvků napojených k výstupu, pokud je na alespoň jednom vstupu hodnota pravda, tj. hodnota je >0. Jinak prvek vyšle příkaz = s hodnotou 0. Operátor Ne vyšle příkaz = s hodnotou 1 do prvků napojených k výstupu, pokud je na alespoň jednom vstupu hodnota pravda, tj. hodnota je <=0. Jinak prvek vyšle příkaz = s hodnotou 0. Funkci logických operátorů lze také napodobit několika prvky Branch. Často je ale nejdnodušší pro pochopení zkombinovat několik vstupů pomocí operátorů. 8.8.4 Bit operátory Proměnná o celém čísle v ROBOPro sestává z 16 jednötlivých bitů. Každý z těchto bitů může být 0 nebo 1. Tyto bity se stanou poté, co jsou na druhou, číslem: Bit Numerická hodnota Bit Numerická hodnota 0
1=20
8
256=28
1
2=21
9
512=29
2
4=22
10
1024=210
3
8=23
11
2048=211
4
16=24
12
4096=212
5
32=25
13
8192=213
6
64=26
14
16384=214
7
128=27
15
-32768=215
Například pro číslo 3 jsou bity 0 a 1 nastaveny na 1, protože 20+21=3. Bitové operátory provádí stejné operace jako logické operátory, pouze to dělají pro každý jednotlivý bit. Proto 3 a 6 mají hodnotu 6, protože bit 21 je jediný, který je nastavený jak na 3= 2 0+21 a 6=21+22. Uvědomte si,
prosím, že číselná hodnota 32767, pro kterou je pouze bit 215 nastaven na 1, má zvláštní význam v ROBOPro a je použit pro chyby nebo nic. Pro vygenerování této hodnoty jednoduše vložte nic (prázdno) jako hodnotu.
A
Nebo
Ne
Výlučné nebo
Posun vlevo/vpravo
Bit je nastaven, pokud je nastaven v A a B
Bit je nastaven, pokud je nastaven v A nebo B
Bit je nastavem, pokud není nastaven v A
Bit je nastaven, Bity v A jsou posunuty o B míst pokud je doleva (k vyššímu bitu) nebo anstaven v A a doprava (k nižšímu bitu) B a ne v obou
8.8.5 Funkce Funkce jsou podobné operátorům, ale mají vždy jen jeden vstup. Obsahují trigonometrické funkce, kořeny, exponenciální a logaritmické funkce. Poznámka 1: V mnoha případech je složité provádět výpočty. Jelikož TX kontroler zajišťuje, aby každý proces mohl provést příkaz alespoň stokrát za sekundu, počet funkcí, který lze vypočítat v jednom příkazu, je omezený. Síť oranžových linek je vždy zpracována v jednom příkazu a není dělena. Proto byste neměli vyvolávat příliš mnoho funkcí v řadě v síti oranžových linek. Poznámka 2: ROBOPro nepoužívá aritmetiku s rozšířenou přesností pro výpočetní funkce. Proto je přesnost výsledků obvykle o zhruba 2 bity nižší, než maximální možná přesnost 48-bitového formátu s řádovou čárkou. Přesnost výsledků je určena pomocí ROBOPro a uložena ve výsledku. Okno Property pro funkce: Všechny funkce property.
mají
stejné
okno
- Pod Function můžete vybrat matematickou funkci, kterou prvek bude počítat. V následující části budou vysvětleny jednotlivé funkce. - Pod Data type můžete vybrat, zda je hodnota zaslaného příkazu celé číslo nebo číslo s pohyblivou řádovou čárkou. Viz kapitola 12. Vyjma funkce abs jsou všechny funkce pouze s řádovou čárkou.
Základní funkce abs Abolutní hodnota: vytvoří pozitivní hodnotu vstupu, například 3.2 pro -3.2 sqrt
Druhá odmocnina: vytvoří druhou odmocninu vstupu, například 1.4141... pro 2.0
Exponenciální a logaritmické funkce exp Exponenciální funkce základu e: vytvoří pro vstup x xtou mocninu Eulerova čísla e, tj. ex exp10 Exponenciální funkce základu 10: vytvoří pro vstup x xtou mocninu 10, tj. 10 x nebo 100.0 pro x=2.0 log
Logaritmický základ e: vytvoří pro vstup x mocninu Eulerova čísla. Nutné pro navýšení x.
log10 Logaritmický základ 10: vytvoří pro vstup x mocninu 10. Nutné pro navýšení x. Například pro x=1000získáme výsledek 3.0 Trigonometrické funkce a inverzní funkce Všechny trigonometrické funkce a inverzní funkce existují pro dvě měření s různým úhlem, tj. pro stupně (1 plný kruh = 360 stupňů) a radiány (1 plný kruh = 2 pi). sin360/sin2pi
Sinus: vstup x sinus úhlu x
cos360/cos2pi
Cosinus: vstup x cosinus úhlu x
tan360/tan2pi
Tangens: vstup x tangens úhlu x
asin360/asin2pi Arksinus: hodnota sinu x odpovídající úhel acos360/acos2pi Arkcosinu: hodnota cosinu x odpovídající údel atan360/atan2pi Arktangens: hodnota tangentu x odpovídající úhel
8.9 ROBO rozhraní 8.9.1 Digital Branch (ROBO rozhraní) Pomocí rozvětvení můžete navést program dál podle stavu jednoho z digitálních vstupů I1 až I8 v jednom ze dvou směrů. Pokud, například, senzor na digitálním vstupu je uzavřen (=1), program přejde k výstupu 1. Na druhou stranu, když je vstup otevřený (=0), program přejde k výstupu 0. Když kliknete pravým tlačítkem myši na prvek, zobrazí se okno Properties: - Tlačítka I1 až I8 vám dovolí vložit, který ze vstupů rozhraní bude zařazen. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Image můžete vybrat obrázek pro senzor připojený ke vstupu. Digitální vstupy se nejčastěji
používají s tlačítkovými senzory, ale často také s fototranzistory nebo magnetickými senzory. - U Interchange 1/0 connections můžete změnit pozici 1 a 0 u již existujícího větvícího se prvku. Normálně je 1 dole a 0 jde napravo. Někdy je ale praktičtější mít 1 vpravo. Stiskněte Interchange 1/0 connections a 1 a 0 se vymění, jakmile zavřete pomocí OK okno. 8.9.2 Analog Branch (ROBO rozhraní) Stejně jako digitální vstupy, ROBO rozhraní má 6 analogových vstupů: 2 odporové vstupy AX a AY, dva napěťové vstupy A1 a A2, stejně jako dva vstupy pro vzdálenostní senzory D1 a D2. Pomocí tohoto rozvětvení můžete porovnat hodnotu analogového vstupu s pevným číslem a, podle výsledku porovnání, navést k výstupu Ano (Y) nebo Ne (N). Když kliknete pravým tlačítkem myši na prvek, zobrazí se okno Properties: - Pod Analog input můžete vybrat, který ze vstupů rozhraní bude zařazen. Všechny analogové vstupy mají hodnotu mezi 0 a 1023. Více informací můžete najít v části 8.7.2. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Condition můžete vybrat porovnávací operátor jako menší než (<) nebo větší než (>) a vložit porovnávací hodnotu. Porovnávací hodnota by měla být v rozsahu od 0 do 1023. když spustíte program obsahující rozvětvení pro analogové vstupy v online módu, zobrazí se aktuální analogová hodnota. - U Interchange 1/0 connections můžete změnit pozici 1 a 0 u již existujícího větvícího se prvku. Normálně je 1 dole a 0 jde napravo. Někdy je ale praktičtější mít 1 vpravo. Stiskněte Interchange 1/0 connections a 1 a 0 se vymění, jakmile zavřete pomocí OK okno.
8.9.3 Wait for input (ROBO rozhraní) Prvek Wait for Input čeká, dokud jeden ze vstupů rozhraní není v určitém stavu nebo dokud se určitým způsobem nezmění. Když kliknete na prvek pravým tlačítkem myši, zobrazí se okno Properties: - Pod Wait můžete nalézt typy změn stavu, na které se má čekat. Když vyberete 1 nebo 0, prvek čeká, dokud se vstup neuzavře (1) nebo neotevře (0). Když vyberete 0->1 nebo 1->0, prvek čeká, dokud se stav vstupu nezmění z otevřeného na zavřený (0->1) nebo ze zavřeného na otevřený (1->0). V druhém případě prvek čeká, dokud se nezmění stav vstupu, ať už otevřeného na zavřený nebo naopak. Abychom vám pomohli toto pochopit dál, v části 3.6. je vysvětleno, jak můžete napodobit tento prvek pomocí prvku Branch. - Pod Digital input můžete vložit, který ze vstupů bude zařazen. Můžete si vybrat jeden z univerzálních vstupů I1 až I8. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Image můžete vybrat obrázek pro senzor připojený ke vstupu. Digitální vstupy jsou nejčastěji použity s tlačítkovými senzory, ale často také s fototranzistory nebo magnetickými senzory. 8.9.4 Pulse counter (ROBO rozhraní) Mnoho modelů robotů fischertechnik použivá také pulzní kolečka. Ta ovládají senzory čtyřikrát během, jedné otáčky. S těmito pulzními kolečky můžete otáčet motorem po přesně definovaný počet otáček, spíš než po daný čas. Abyste tak učinili, musíte počítat počet pulzů na vstupu rozhraní. Z tohoto důvodu je zde prve Pulse counter, který čeká na uživatelem definovaný počet pulzů. Když kliknete na prvek pravým tlačítkem myši, zobrazí se okno Properties: - Pod Pulse type můžete vybrat typ pulzu, který bude sčítán. Když vyberete 0->1 (stoupání), prvek čeká, dokud se stav vstupu nezmění z otevřeného na zavřený (0->1) tolikrát, kolikrát jste specifikovali v Number of Pulses. Když vyberete 1->0 (klesání), prvek čeká, dokud se stav vstupu nezmění ze zavřeného na otevřený (1->0) tolikrát, kolikrát bylo speficikováno. S pulzními kolečky je nicméně nejčastěji používána třetí možnost. V té prvek počítá jak změny 0->1, tak 1->0, takže za otočku pulzního kolečka je napočítáno 8 pulzů. - Pod Digital input můžete vložit, který ze vstupů bude zařazen. Můžete vybrat jeden z univerzálních vstupů I1 až I8.
- Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. - Pod Image můžete vybrat obrázek pro senzor připojený ke vstupu. Digitální vstupy jsou nejčastěji použity s tlačítkovými senzory, ale často také s fototranzistory nebo magnetickými senzory. 8.9.5 Digital input (ROBO rozhraní) Hodnota jednoho z digitálních vstupů I1 až I8 může být zařazena pomocí prvku Digital input. Pokud dva sockety náležející ke vstupu rozhraní jsou elektricky propojené, digitální vstup vytvoří hodnotu 1 na jeho oranžovém spojení, jinak vytvoří hodnotu 0. Okno Properties pro Digital inputs: - Pod Digital input můžete vybrat, který ze vstupů rozhraní bude použit. Vstupy rozšiřovacích modulů mohou být vybrány pod Interface / Extension. - Pod Image můžete vybrat obrázek senzoru napojeného ke vstupu. Ve většině případů se bude jednat o mini tlačítka. Magnetické senzory jsou přepínači, které reagují na magnetická pole. Je možné připojit k digitálnímu vstupu i fototranzistor, ačkoliv se vlastně jedná o analogový senzor. Můžete použít lampu spolu s fototranzistorem připojeným k digitálnímu vstupu jako fotoelektrický paprsek, který může být narušen (=0) nebo uzavřen (=1). Na druhou stranu, když připojíte fototranzistor k analogovému vstupu, můžete rozpoznávat mnoho stupňů světla a tmy. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. Při bližším pohledu existuje jen jeden typ programovacího prvku pro všechny typy vstupů. Můžete přepnout vstupní čas kdykoliv pomocí záložek na vrchu okna Properties. To je zvláště užitečné pro přepínání mezi přepínačem, IR a vstupy panelu. 8.9.6 Analog input (ROBO rozhraní) Hodnota jednoho analogového vstupu může být zařazena skrze prvek Analog input. Oproti digitálním vstupům, které mohou vytvářet pouze hodnotu 0 nebo 1, analogové vstupy rozlišují více stupňů. Všechny analogové vstupy vytváří hodnotu mezi 0 a 1023. ROBO rozhraní má nicméně různé druhy analogových vstupů , které měří různé fyzikální veličiny. Jsou zde analogové vstupy pro odporová měření, napěťová měření a pro speciální senzor měřící vzdálenost. Vstup Typ vstupu Rozsah měření A1, A2 Vstupy napětí
0-10,23 V
AX, AY Vstupy odporu
0-5,5 kΩ
D1, D2 Vstup senzoru vzdálenosti cca. 0-50 cm AV
Napájecí napětí
0-10 V
Obvyklé senzory fischertechnik, NTC rezistory, fototranzistory a fotorezistory mění změřenou hodnotu (teplota intenzity světla) na odpor. Proto musíte připojit tři senzory k vstupu AX nebo AY. Vstupy napětí A1 a A2 jsou navrženy pro všechny senzory, které produkují napětí mezi 0 a 10 V. Na ROBO rozhraní není žádná přípojka pro vstup AV. To je vždy napojeno ke zdroji napájení rozhraní. Tímto způsobem můžete například monitorovat napětí baterie a dát model do jeho konečné pozice, než se baterie vybije. Vstupy senzoru vzdálenosti D1 a D2 přijímají spojení se speciálními senzory fischertechnik, které mohou měřit vzdálenost k, například, překážce. Inteligentní rozhraní má pouze dva analogové vstupy, EX a EY. Tyto odpovídají vstupům AX a AY na ROBO rozhraní. Další analogové vstupy nemohou být s inteligentním rozhraním použity! Okno Properties pro analogové vstupy: - Pod Analog input můžete vybrat požadovaný analogový vstup pomocí tabulky výše. - Pod Image můžete vybrat obrázek senzoru připojeného ke vstupu. - Pod Interface / Extension můžete vybrat, zda si přejete použít vstup rozhraní nebo vstup rozšiřujícího modulu nebo jiné rozhraní. Více informací najdete v části 7. Opět je jasné, že pro všechny typy vstupů ROBO Pro je jen jeden prvek, u něhož můžete přepnout typ skrze záložky. Pro jednoduchost jsou ale k dispozici oddělené vstupní prvky pro výběr v okně prvků.
8.9.7 IR Input (ROBO rozhraní) ROBO Pro rozhraní má vestavěný infračervený přijímač pro ruční vysílače z fischertechnik IR Control Set (položka 30344). Infračervený ruční vysílač je velmi užitečný, ne pouze pro dálkové ovládání ale také jako klávesnice pro vaše modely. V IR Contol Set jsou dva přijímače, mezi nimi můžete přepínat pomocí tlačítek 1 a 2. Můžete tak udělit vašemu ROBO rozhraní dvě funkce pro každé tlačítko. Mezi dvěma funkcemi můžete přepínat pomocí tlačítek 1 a 2. Jinak lze 1 a 2 použít jako normální tlačítka. V okně Properties IR vstupu můžete použít lištu záložek pro přepnutí mezi IR 1, IR 2 a IR 1+2. Když vyberete IR 1, prvek IR vstupu má pouze hodnotu 1, když je stištěno odpovídající tlačítko na vysílači a vysílač byl předtím nastaven na 1 skrze přidělení tlačítek. Když vyberete IR 2, na druhou stranu musel být vysílač nastaven na 2 pomocí tlačítka 2. Když ale vyberete IR 1+2, nastavení ručního vysílače nehraje roli. V tomto případě může také jako vstupy použít tlačítka 1))) a 2))). V programovém prvku je tento výběr zobrazen pomocí bílé 1 nebo 2 vpravo dole na symbolu ručního vysílače. V případě IR 1+2 není na prvku zobrazeno žádné číslo.
9. Prvky a panely panelu: přehled V ROBO Pro můžete definovat vaše vlastní panely. Panely zjednodušují ovládání komplikovaných modelů. Panel je zobrazen na obrazovce našeho PC. Panely fungují pouze v online módu. Více informací se dozvíte v části 3.7. Pro vytvoření panelu vyberte v liště funkcí Panel.
Do prázdného šedého pole níže můžete vložit prvky panelu. Panel vždy náleží k hlavnímu programu nebo podprogramu, v němž jste byli, když jste panel vytvořili. Proto je důležité, abyste vždy vybrali správný podprogram v liště podprogramů, než panel vytvoříte. Panely jsou obvykle generovány pod hlavním programem. Panely obsahují displeje a ovládací prvky. Na displejích můžete zobrazit například různé proměnné nebo textové zprávy. Ovládací prvky mohou zase sloužit jako přídavné senzory a analogové vstupy. Ke každému prvku panelu, který vložíte na panel, musí existovat odpovídající prvek v programu. Panel input (pro ovládací prvky) nebo Panel output (pro displeje). Spojení mezi vaším programem a panelem utvoříte pomocí těchto programovacích prvků. Najdete je ve skupině prvků Inputs, outputs. Jsou zobrazeny různé symboly podle toho, jaký prvek panelu napojíte k těmto programovacím prvkům. V seznamu prvků jsou jen dva prvky. Jeden pro displeje a druhý pro ovládací prvky. 9.1 Displeje Displeje se používají podobně jako výstupy rozhraní. Můžete nastavit hodnotu pomocí příkazu =. 9.1.1 Měřič Měřič je založen na principu analogového přístroje s ukazatelem. Nejčastěji se používá pro zobrazení hodnoty analogového vstupu, ale můžete jej použít i pro jiné programovací prvky. Měřič je ovládán z programu skrze výstupy panelu. Panel output naleznete ve skupině prvků Inputs, outputs. Hodnotu měřiče nastavíte vysláním příkazu = do odpovídajícího výstupu panelu v programu. Skoro všechny programovací prvky s výstupy dat vysílají příkat =, když se změní jejich hodnota. Můžete připojit analogové vstupy nebo proměnné například přímo do výstupu panelu.
Okno properties pro měřiče - Pod ID / Name byste měli nejprve vložit název pro měřič. Název je důležitý, abyste byli schopni odlišit měřiče, pokud jich máte více než jeden. - Pod Background color můžete nastavit jinou barvu pozadí, než bílou. - Pod Minimum value a Maximum value specifikujete hodnoty odpovídající pozici ukazatele na levém a pravém konci stupnice. Pokud je jedna z hodnot menší, než 0 a druhá větší, než 0, vykreslí se zvláště dlouhý ukazatel 0. - Stupnice sestává z dlouhých a krátkých čárek. Vzdálenost mezi dlouhými a krátkými čárkami se vkládá skrze Step size short / long marks. Pokud mají obě stejnou hodnotu, zobrazí se pouze dlouhé čárky. 9.1.2 Text display V textovém displeji můžete zobrazit číselné hodnoty, text nebo směsici obojího. Textový displej je ovládán z programu pomocí výstupu panelu. Prvek Panel output najdete ve skupině prvků Inputs, outputs. Jakmile připojíte Panel output k textovému displeji pomocí jeho okna Properties, symbol se změní a objeví se název panelu (např. Main) a název displeje (např. Text). Jsou dva způsoby, jimiž můžete nastavit text na displeji: - Nastavíte obsah displeje vysláním příkazu = do odpovídajícího výstupu panelu v programu. Toto je velmi praktické, pokud chcete použít displej k zobrazení hodnoty proměnné nebo jiného programovacího prvku, protože většina programovacích prvků automaticky vyšle příkaz = skrze jejich výstupy dat, kdykoli se změní hodnota. Příkaz = přepíše pouze posledních 6 znaků na displeji. Zbytek displeje můžete vyplnit předpřipraveným textem. Tímto způsobem můžete doplnit hodnotu nějakým vysvětlujícícm textem. Pokud se jedná o displej s více řádky, můžete dát vysvětlující text na vlastní řádku. U displejů s více řádky je přepsáno pomocí příkazu = pouze 6 znaků na posledním řádku. - Pomocí příkazu Text můžete nastavit obsah displeje dle svého přání. Příkaz Text je speciální příkazový prvek, jímž můžete posílat nejen čísla, ale také celý text. Stejně jako pěkný příkazový prvek může mít i příkaz Text vstup dat. V tomto případě můžete vystavět číselnou hodnotu z datového vstupu do textu. Když pošlete prvku Display více příkazů Text, texty v nich se spojí. Tímto způsobem můžete dle libosti promíchat čísla a text.
Ovládací znaky v příkazech Text Pro určité efekty lze použít v přékazu text následující ovládací znaky. Ovládací znak Efekt ######
Výstup hodnoty ze vstupu dat jako pětimístné číslo + znak jednotky.
##.##
Výstup hodnoty ze vstupu dat jako číslo se dvěma desetinnými místy a tečkou jako rozdělovačem.
##,##
Výstup hodnoty ze vstupu dat jako číslo se dvěma desetinnými místy a čárkou jako rozdělovačem.
\c
Prázdný displej a vložení následujícího textu na začátek displeje.
Okno Properties pro textové displeje - Pod ID / Name byste měli nejprve vložit název pro displej. Název je důležitý, abyste byli schopni odlišit displeje, pokud jich máte více než jeden. - Pod Text vložte obsah displeje. Tento obsah zůstane, dokud nevyšlete příkaz do displeje z programu. Pokud vyšlete příkaz = do displeje, bude přepsáno pouze posledních 6 znaků. Začátek textu zůstane, abyste mohli zobrazit poznámku před číslem, která říká, o jaké číslo se jedná. V ukázkovém příkladu zůstává text Var=. Displej má 10 znaků, takže zůstává 10-6=4 znaků. - Pod Digits/columns a pod Lines můžete nastavit, pro kolik znaků by měl displej poskytnout místo. U displeje s více řádky můžete zobrazit poznámky jako Var= nebo Navstevnici na samostatném řádku. - Pod Background color a Text color můžete upravit barvy displeje. Klikněte na Edit pro výběr barvy nebo definici vlastní barvy.
9.1.3 Display lamp Jedná se o nejjednodušší typ displeje. Funguje podobně jako normální lampa od fischertechnik připojená k výstupu rozhraní. Lampa je ovládána z programu pomocí výstupu panelu. Prvek Panel output najdete ve skupině prvků Inputs, outputs. Jakmile propojíte Panel outupu s display lamp pomocí okna Properties, symbol se změní a objeví se název panelu (např. Main) a lampa. Lampu můžete zapnout nebo vypnout pomocí odpovídajícího výstupu panelu a příkazu On nebo Off, stejně jako u výstupu normální lampy. Můžete také lampu zapínat a vypínat pomocí příkazu =. Pokud je hodnota vyšší, než 0, lampa je zapnuta. Pokud je menší, než 0, lampa je vypnuta. Okno properties pro display lampy - Pod ID / Name byste měli nejprve vložit název pro lampu. Název je důležitý, abyste byli schopni odlišit lampy, pokud jich máte více než jednu. - Pod Color můžete změnit barvu lampy. Učiňte tak pomocí tlačítka Edit. - Pokud je označeno Initially on, je lampa od začátku zapnutá, dokud neobdrží odpovídající příkaz. Jinak je zpočátku vypnutá.
9.2 Ovládací prvky Ovládací prvky se používají podobně jako vstupy rozhraní. 9.2.1 Tlačítko Prvek panelu Button (tlačítko) můžete použít stejně jako senzor nebo přepínač fischertechnik připojený k jednomu ze vstupů rozhraní. Tlačítko je spojeno s programem pomocí vstupu panelu. Prvek Panel output najdete ve skupině prvků Inputs, outputs. Můžete připojit výstup panelu odpovídající tlačítku, jako je digitální vstup rozhraní, s jakémukoliv programovacímu prvku se vstupem dat, například prvku Branch. Pokud je tlačítko stisknuto, má hodnotu 1, jinak má 0. Okno properties pro tlačítka - Pod Inscription text můžete vložit popis tlačítka. V případě tlačítka tu není žádné pole Name/ID, jako u jiných prvků panelu. - Barvy tlačítka můžete změnit pomocí Button color a Text color. Učiníte tak kliknutím na Edit. - Pokud je označeno Pressure switch, tlačítko má spíše funkci přepínače, než senzoru. Při prvním kliknutím zůstane tlačítko stlačené, dokud jej druhým kliknutím neuvolníte. Jinak tlačítko funguje jako senzor a je uvolněno hned poté, co jej pustíte.
9.2.2 Slider Posuvník můžete použít jako potenciometr připojený k analogovému vstupu rozhraní. Oproti může posuvník mít hodnotu nejenom 0 a 1, ale mnoho dalších, stejně jako analogový vstup. Rozsah hodnot lze nastavit v okně Properties. Posuvník může být použit například pro nastavení rychlosti motoru mezi 1 až 8. Posuvník je přístupný z programu pomocí vstupu panelu. Prvek Panel output najdete ve skupině prvků Inputs, outputs. Jakmile propojíte výstup panelu s posuvníkem pomocí okna Properties, změní se symbol a objeví se název panelu (např. Main) a posuvníku. Můžete propojit výstup panelu spojeného s posuvníkem, jako analogový vstup rozhraní, k jakémukoliv programovacímu prvku se vstupem dat. Velmi často je posuvník připojen k příkazovému prvku pomocí vstupu dat, takže posuvník ovládá rychlost motoru.
Okno Properties pro posuvníky - Pod ID / Name byste měli nejprve vložit název pro lampu. Název je důležitý, abyste byli schopni odlišit lampy, pokud jich máte více než jednu. - Pod Slider knob color změníte barvu. Klikněte na Edit. - Pod Minimum value a Maximum value vložíte rozsah hodnoty pro posuvník. Pokud chcete použít posuvník pro ovládání rychlosti motoru, měl by rozsah být od 1 do 8. ROBO Pro má obvyklé kreslicí funkce. Najdete je ve skupině prvků pod Draw. V podskupině Shapes jsou kreslicí nástroje pro různé základní geometrické tvary. V podskupině Text najdete psací nástroje pro různé velikosti písma. Ostatní podskupiny obsahují funkce pro úpravu barvy a tlouš'tky čar.
10. Kreslicí funkce Pomocí kreslicích funkcí můžete vykreslit váš panel a programy, aby byla jejich funkce jasnější. Zde je příklad uživatelem navrženého panelu pro robota.
Tlačítka, zobrazení koordinátů a lampy koncových přepínačů jsou ve stejných barvách, jako jim odpovídající osy na schématickém nákresu robota. Díky tomu je panel skutečně přehledný. Práce s kreslicími funkcemi by neměla být nijak složitá. Proto shrneme jen pár bodů, u nichž by mohly nastat nejasnosti: - Grafické objekty jako čtverce a kruhy nejsou kresleny přidržením tlačítka myši, ale dvojím kliknutím, jedním v místě levého horního rohu a jedním v pravém spodním rohu. - Text není editován v dialogovém okně, ale přímo na pracovní ploše. Když vložíte nový textový objekt, objeví se zpočátku jen jasně modrý rámeček. Nyní můžete prostě jen psát a text se objeví přímo v pracovní oblasti. Také můžete vložit zkopírovaný text pomocí CTRL+V. - Jakmile nakreslíte objekt, můžete jej editovat pomocí malých modrých držátek. Jsou zde také držátka pro otáčení a pokřivování objektů. Čtverec má dvě malá držátka vlevo nahoře. Když pohnete druhým, větším, můžete zakulatit rohy. Mód editace můžete ukončit pravým kliknutím myši nebo stisknutím klávesy ESC. - Pokud chcete objekt editovat později, vyberte funkci Edit v menu Draw. Když kliknete na objekt, opět se objeví modrá držátka. - Mnoho objektů má dva nebo více editačních a kreslicích módů. Když kreslíte nebo editujete objekt, můžete přepínat mezi jednotlivými módy pomocí klávesy TAB. V případě kruhu můžete vybrat, zda chcete specifikovat dva hraniční body nebo střed a jeden hraniční bod. V případě mnohoúhelníků můžete změnit mezi editací bodu a funkcí jako "otáčet". U textových objektů můžete přepnout mezi editací textu a změnou velikosti písma nebo úhlu natočení. - V menu Draw je funkce pro umístění objektů in the foreground / background (v popředí / v
pozadí). Pomocí této funkce můžete umístit všechny vybrané objekty (nakreslené červeně) dopředu nebo dozadu, aby překrývaly jiné objekty nebo byly jimi překrývány. - Pomocí funkce Raster snap v menu Draw můžete zapínat a vypínat znakovou matrici. Měli byste si však uvědomit, že při editaci programu je matrice zapnutá, jelikož jsou k ní všechny prvky přiřazeny. - Přiřazení textových objektů můžete upravit stisknutím CTRL+ tlačítka od 1 do 9 na numerické klávesnici. Toto však funguje jen pokud je na klávesnici zapnutý Num-Lock. Pokud ne, zapněte jej.
11. Nové funkce pro ROBO TX kontroler ROBOPro 2.X lze použít s předchozími ROBO rozhraními stejně jako s novým ROBO TX kontrolerem. Můžete vytvořit takové ROBOPro programy, které budou beze změn fungovat na předchozích rozhraních, stejně jako na novém. Ale jelikož jsou ve vstupech a výstupech rozhraní rozdíly, není to pravda u každého ROBOPro programu. Například ROBO TX kontroler má 8 univerzálních vstupů, které lze všechny také použít pro analogové vstupy pro odporové hodnoty. ROBO rozhraní má naopak pouze dva vstupy odporu (AX a AY). na druhou stranu, ROBO rozhraní má interní vstup pro zdroj napájení. I to lze měřit pomocí ROBO TX kontroledu pomocí univerzálního vstupu. 11.1 Instalace USB ovladače ROBO TX kontroleru USB ovladač pro ROBO TX kontroler najdete ve složce ROBOPro v podsložce /USB-driver installation/TXController. Zde si můžete vybrat ovladač podle svého operačního systému Windows. Vyjma složky ovladače je instalace stejná jako pro ROBO rozhraní. 11.2 Prostředí (úroveň 1 a výš) Abyste zobrazili pouze ty volby programu, které jsou doopravdy podporovány cílovým rozhraním, vyberte nejprve v liště nástrojů tlačítko, zda je program určen pro ROBO rozhraní nebo ROBO TX kontroler. V závislosti na tom, jaké rozhraní je vybráno, změní tlačítko lišty nástrojů vzhled. Toto tlačítko a související menu Environment nezmění ani aktuální ROBOPro program, ani jakékoliv k počítači připojené rozhraní (to je nastaveno pomocí tlačítka COM/USB). Toto tlačítko rozhoduje pouze o tom, jaké volby se zobrazí s okně property programovacích prvků. Níže vidíte okno property pro rozvětvení pro ROBO roznraní a ROBO TX kontroler.
Dále vstupní prvky, které neodpovídají vybranému rozhraní jsou nakresleny s červeným ohraničením. Nejčastěji budete pracovat v prostředí, které odpovídávašemu vlastnímu rozhraní. Existuje však pár výjimek: - Chcete vytvořit program, který využívá jak ROBO TX kontroler, tak ROBO rozhraní. V módu online je to možné. V tomto případě vytvoříte části programu určené pro různá rozhraní v daném prostředí. Prostředí můžete změnit kdykoliv. - Vlastníte ROBO TX kontroler a máte od kamaráda půjčený program, který byl navržen pro ROBO rozhraní. Pokud je vstupní konfigurace kompatibilní, můžete použít nezávislé programování rozhraní (více informací v další části). Pokud chcete dělat jen malé změny, je lepší zůstat v prostředí ROBO rozhraní. - Vlastníte ROBO TX kontroler a chcete napsat program pro kamaráda, který vlastní ROBO rozhraní. V tomto případě můžete použít nezávislé programování rozhraní, stejně jako vytvořit program v prostředí ROBO rozhraní. - Dva body výše platí i v opačném případě.
11.3 Nezávislé programování rozhraní Dokud využívá váš program pouze vstupy, které jsou přístupné jak na ROBO rozhraní, tak na ROBO TX kontroleru, můžete používat váš program beze změn na ROBO TX kontroleru, stejně jako na ROBO rozhraní. Mapování vstupů jsou následující: ROBO rozhraní
ROBO TX kontroler
Dj (ultrazvuk)*
I1 (ultrazvuk) *
A1 (analog 10V)
I2 (analog 10V)
AX (analog 5kOhm)
I3 (analog 5kOhm)
AY (analog 5kOhm)
I4 (analog 5kOhm)
I1-I4 (digital)
I5-I8
I5-I8 (digital
C1D-C4D (digital, ne pro senzor trasy)**
* Poznámka: K ROBO TX kontroleru lze připojit pouze ultrazvukový senzor s třemi konektory (číslo zboží 133009). Ultrazvukový senzor odpovídající ROBO rozhraní má 2 konektory a číslo zboží 128597. ** Poznámka: Zkratka C1D znamená, že počítačí vstup C1 je použit jako jednoduchý digitální vstup. Pokud je C1 použit jako rychlý počítací vstup, okno zobrazí C1C. Pokud váš program využívá pouze vstupy a výstupy výše, a mód vstupu pro univerzální vstupy I1I8 odpovídá také ROBO TX kontroleru, můžete načíst váš program na ROBO rozhraní, stejně jako na ROBO TX kontroler. Mapování je provedeno automaticky, když spustíte program v módech online nebo download. Můžete vytvořit program v módu ROBO rozhraní pomocí vstupů ROBO rozhraní, ale vybrat skrze COM/USB ROBO TX kontroleru.
11.4 Konverze programů Pokud nemůžete nebo nechcete používat nezávislé programování rozhraní, můžete také provést adaptaci rozhraní v programu permanentně. Položka menu Environment / Mp inputs nastaví všechny vstupy na vybrané prostředí způsobem v tabulce výše. Vstupy, které nejsou přiřazené v tabulce (D2, A2, AV) nejsou mapovány a mohou být zmapovány později ručně. Tuto operaci můžete vrátit přepnutím prostředí a opětovným vyvoláním funkce menu. 11.5 Univerzální vstupy, typy senzorů a mód vstupu S ROBO rozhraním má každý vstup pevně daný typ vstupu. Do vstupu AX je možné připojit pouze odporové senzory. ROBO TX kontroler má oproti tomu 8 univerzálních vstupů I1-I8, které lze ovládat pomocí programu ROBOPro, a k nimž lze připojit různé typy senzorů. Mód vstupu je vybrán automaticky pomocí typu senzoru. Ve starších verzích ROBOPro bylo možné vybrat u každého vstupu obrázek senzoru, ale pouze pro ilustraci, nemělo to technickou funkci. S ROBO TX kontrolerem je důležité, abyste vybrali správný typ senzoru. Jinak nebude vstup správně nakonfigurován. V úrovni 4 a výš můžete také změnit mód vstupu nezávisle na typu senzoru. S ROBO TX kontrolerem některé senzory vyžadují různé módy vstupy, ačkoliv by mohly být všechny připojeny ke vstupům I1-I8 na ROBO rozhraní. Toto se týká předně senzorů trasy, které vyžadují mód 10V digitální vstup, když jsou použity spolu s TX kontrolerem. Během konverze programů a při provádění nezávislého programování rozhraní ROBOPro používá předchozí obraz senzoru jako typ senzoru, aby vybral správný mód vstupu. 11.6 Rychlé počítací vstupy a rozšířené ovládání motoru TX kontroler má 4 počítací vstupy C1-C4 a integrovaný ovladač motoru, který dovoluje přesné ovládání motoru. Rozšířené ovládání motoru umožňuje dvě funkce, automatickou zabrždění po specifikované vzdálenosti a synchronizaci dvou motorů. Systém ovládání motoru vyžaduje, aby byl enkodér motoru M1 připojen k rychlému počítacímu vstupu C1, atd. Když používáte mód automatického zabrždění (automatic brake), je specifikován počet pulzů a ovládací systém automaticky zastaví motor, když dorazí k cíli. Ovládací systém také propočítá brzdnou dráhu a začne s bržděním dostatečně dopředu, aby zvolené vzdálenosti bylo dosaženo i s rychlými motory a vysokým rozlišením enkódérů. Když používáte synchronizace (synchronization), dva motory jsou ovládány tak, že provádějí stejný počet otáček ve stejnou chvíli. Toto je nejlepší u pásových vozidel, která pak jedou přesně vpřed. Když jeden motor zpomalí, ovládání motoru automaticky zpomalí i druhý motor. Tyto dvě funkce můžete také kombinovat a nechat motory jet po definovaný počet pulzů při synchronizované rychlosti.
11.6.1 Encoder Motor (úroveň 1) Pro pohodlné ovládání motorů s enkodery je od úrovně 1 přístupný prvek Encoder Motor. Pomocí tohoto prvku můžete buď pohybovat motorem definovaným číslem nebo pulzy, nebo dvěma motory synchronizovanými, s nebo bez předdefinovaným počtem pulzů. Programovací prvek nabízí následující možnosti ovládání: Pokud chcete pohybovat pouze jedním motorem po definované číslo nebo pulzy, vyberte action distance a vložte požadovanou rychlost (speed), směr (direction) a vzdálenost (distance). Použitím action synchronous můžete pohybovat dvěma motory synchronizovanou rychlostí. Můžete nezávisle vybrat směr pro oba motory. Rychlost je pro oba motory vybrána pouze jednou, jelikož se budou oba otáčet stejně rychle. Action synchronous distance kombinuje, jak je vysvětleno výše, definovaný počet pulzů se synchronizací rychlosti dvou motorů. Pomocí action stop můžete zastavit oba motory kdykoliv a také ukončit synchronizaci rychlosti a zrušit zbývající vzdálenost, pokud je to možné. V případě, že spustíte motory pomocí tohoto prvku, můžete je tak znovu zastavit, než budete moct opět použít běžný prvek ovládání motoru. Když definujete vzdálenost, prvek nečeká, dokud nedosáhne zvolené vzdálenosti, ale spíše pokračuje k dalšímu prvku. Tímto způsobem může program pokračovat a zastavit motory v případě nějaké události. Abyste otestovali, zda motor dosáhl svého cíle, jsou zde vnitřní vstupy M1E až M4E pro každý motor. Můžete zařadit tyto vstupy pomocí rozvětvení nebo prvku wait for input. Vstupy M1E až M14 se stanou 1, pokud odpovídající motor dosáhl daného počtu pulzů (vzdálenost). Vstupy zůstanou 1, dokud nevyšlete nový příkaz se vzdálenosti do motoru. Pro prvek wait je nejlepší, čekat na 1, stejně jako na obrázku. Pokud ovládáte dva motory synchronně, potřebujete prvek wati pouze pro první motor. V případě synchronně ovládaných motorů se vstupy stanou 1, když oba motory dosáhly svého cíle. Příklad použití tohoto prvku můžete najít v části 4.4.
11.6.2 Rozšířené ovládání motorů v úrovni 3 V úrovni 3 je motor ovládán posíláním příkazů do oranžového prvku motoru. Pomocí prvku synchronous je možné motor synchronizovat s jiným motorem. Pokud, například, vyšlete příkaz synchronní s hodnotou 1 do motoru 2, motor 2 je synchronizován s motorem 1. V úrovni 3 můžete také synchronizovat více než dva motory. Synchronizace je ukončena, když vyšlete do motoru příkaz synchronní s hodnotou 0. Pomocí příkazu distance můžete definovat počet pulzů, které půjdou do motoru. Jakmile je tento počet pulzů dosažen, motor se zastaví. Definovaná vzdálenost může být kdykoliv ukončena zasláním příkazu distance s hodnotou 0. Pokud chcete zkombinovat synchronizaci se vzdáleností, musíte poslat příkaz vzdáelnosti do obou motorů. Příkaz Synchronous je vyslán pouze do jednoho motoru s číslem druhého motoru jako hodnotou příkazu. Příkazy synchronous nebo distance ve skutečnosti nespustí motor. Pro to potřebujete příkazy left, right nebo =. Čekejte na to, kdy cíl dosáhne stavu stejným způsobem jako v úrovni 1. Pochopitelně také existují prvky úrovně 3 pro vstupy dosažení cíle. Poté, abyste opět ovládali motor s normálními příkazy motoru, musíte nejprve ukončit příkazy distance a synchronous zasláním těchto příkazů s hodnotou 0. Nejrpve ale musíte vyslat motoru příkaz stop. Příkazy distance a synchronous zastaví pouze motor, dokud jsou příkazy aktivní. Když ukončíte příkazy bez předchozího zastavení motoru, motor poběží dál.
11.7 Displej Další novinou ROBO TX kontroleru je displej. Podobný pracovnímu panelu, displej může být použit k ovládání programu nebo výstupu stavových dat. Displej je na umístěn v záložce TX Display stejně jako pracovní panel:
Možné ovládací prvky jaou stejné jako u pracovního panelu: posuvník a tlačítko. Pro zobrazení stavových dat je k dispozici textový displej. Pro sestavení oblasti zobrazení je zde prvek čáry a čtverce. Pokud chcete změnit velikost ovládacího prvku, můžete použít volbu menu Draw / Edit. Spojení mezi prvky displeje a programem je stejné jako pro pracovní panel pomocí vstupů a výstupů prvků.
Ovládací prvky disleje jsou ovládány dvěma tlačítky na rozhraní. Můžete vybrat různé ovládací prvky krátkým stisknutím levého nebo pravého tlačítka. Když stisknete levé nebo pravé tlačítko na delší dobu, ovládací prvek se změní. Posuvník se posune, tlačítko se stiskne. Musíte v okně property přiřadit každému ovládacímu prvku pořadové číslo. Tyto čísla definují, v jakém pořadí budou pomocí tlačítek ovládací prvky vybírány. Důležitá poznámka: Pokud chcete program zastavit v módu download, který používá funkce displeje, musíte stisknout současně oba tlačítka. Stejným způsobem jako každý podprogram může mít vlastní pracovní panel, každý podprogram může mít svůj vlastní obsah displeje. Je tu však rozdíl: obsah displeje se mění automaticky, když je podprogram opuštěn nebo je do něj vstoupeno. Tímto způsobem je možné vyvinout vcelku komplexní struktury bez velké práce. Doporučujeme spustit všechny podprogramy s obsahy displeje v jednotlivém procesu. Jinak může být složité předvídat, který obsah displeje je ukázán v jaké situaci.
12 Práce s desetinnými čísly ROBOPro nabízí ve verzi 2 volbu práce s desetinnými čísly. To znamená, že můžete provádět aritmetické operace nejen s celými čísly jako 1 nebo 2, ale také s desetinnými čísly jako 3,99482925 s přesností na 9 číslovek. ROBO TX kontroler používá takzvané pohyblivé dělicí znaménko. Lze jej použít s ROBO TX kontrolerem v módech online a download. ROBO rozhraní v současné době podporuje pohyblivé znaménko pouze v online módu. Mód download je v plánu, ale bude k dipozici až v blízké budoucnosti. Dále je v plánu podpora trigonometrie a dalších neracionálních funkcí (např. sin, cos, tan, ln, √,ex, x²). Pokud vás zajímají detaily: přesnost aritmetických operací je 48 bitů s 32 bity mantisy. To odpovídá přesnosti něco málo přes 9 desetinných čísel. Ve verzi 2.1.1.0 je podporováno následující: - proměnná s desetinou čárkou - seznam s desetinnou čárkou - operátory +, -, *, / - přeměna celého čísla na desetinné a naopak Tento prvek je umístěn v okně prvků s operátory. - rozvětvovací prvek, který porovnává desetinnou čárku a konstantu - textový příkaz s formátováním desetinné čárky Neexistují žádné speciální prvky s desetinnými čárkami. Namísto toho můžete přepnout typ dat v okně property na odpovídající prvek celých čísel. Prvky desetinných čárek jsou zobrazeny s tlustými okraji. 12.1 Porovnání desetinných čísel Neexistuje trojitý porovnávací prvek pro čísla s desetinnou čárkou. Důvodem je, že desetinná čárka by neměla být porovnávána, co se týká rovnosti, protože hodnota desetinného čísla obvykle není přesná kvůli chybám při zaokrouhlování. Například s desetinnými čísly výsledek 10 0.1 se nerovná 1, protože 0.1 nelze reprezentovat přesně pomocí binárních čísel s desetinnou čárkou. Desetinná čísla můžete porovnat pomocí konstanty desetinné čárky pomocí prvku s trojím porovnáním. V ROBOPro verzi 2.1.2 a vyšší budou přidány porovnávací prvky. 12.2 Zobrazení desetinných čísel Jelikož na TX displeji není tolik místa jako na monitoru počítače, ROBOPro nabízí možnosti zobrazení desetinných čísel způsobem šetřícím místo. Exponent je obvykle zobrazen pomocí zkratky, například k pro tisíce, jako u km. Zkratky jsou následující:
Zkratka Název Exponent 10-18
a
atto
f
femto 10-15
p
pico
10-12
n
nano
10-9
u
mikro 10-6
m
mili
10-3
k
kilo
103
M
Mega 106
G
Giga
109
T
Tera
1012
P
Peta
1015
E
Exa
1018
V případě exponentu mimo tento rozsah, což se většinou stane u chyb ve výpočtu, se zobrazí chybová hláška ?FORMAT?. Desetinná čísla lze také zobrazit způsobem u počítačů a kapesních počítačem bežnějším. Textový příkaz nabízí následující možnosti: Formát
Výstup 1
Výstup -0.01
Výstup 1000
####.####
___1.0000
__0.0100
?FORMAT?
#####
____1
___-0
_1000
##.###ˆ
_1.000
-10.00m
_1.000k
##.###ˆ##
_1.000ˆ00
_1.000v02
_1.000ˆ03
##.#####ˆˆ##
_1.0000E+0000
_1.0000E-0002
_1.0000E+0003
Příklad: Jsou přidány dvě konstanty a na pět sekund se zobrazí výsledek. Poté je zobrazení vymazáno (v textovém příkazu \c) Při formátování si pamatujte na následující: - Počet platných čísel, stejně jako počet čísel v exponentu může být ve všech formátech měněn. - Jako desetinnou čárku můžete použít tečku nebo čárku. - Před čárkou nebo tečkou jsou třeba alespoň 2 znaky ##, jeden pro zkratku a pro alespoň 1 číslici před desetinnou čárkou.
ROBOPro používá následující kódy pro zobrazení speciálních hodnot a uznačení chybových situací: - 0 reprezentuje přesnou nulu (žádná chyba) nebo čísla, který jsou menší, než zhruba ±10-2500. - ?FORMAT?Číslo nelze ve vybráném formátu zobrazit. - ?OVERFLOW? Výpočet skočil aritmetickým přetížením. K tomuto vede například dělení nulou. - ?NAN? Nejedná se o číslo (Not a Number) je výsledkem neplatných výpočtů, jako je druhý odmocnina z -1. - ?UNDEFINED? Tato hodnota je například použita pro vstupy podprogramu předtím, než získají hodnotu. - ?LOST? se zobrazí pro 0/0, apod. - ?CORRUPTED? Toto by se nemělo nikdy stát. Pokud máte program, který zobrazí tuto hodnotu, odešlete jej do servisu fischertechnik. - ??.?? Viz další část.
12.3 Propočet přesnosti Oproti většině jiných systémů s pohyblivou desetinnou čárkou, ROBOPro počítá v každé operaci také počet platných číslic (nebo bitů). Číslice, které byly ztraceny během výpočtů jsou zobrazeny v textovém výstupu jako "?". Například ROBOPro výpočet 1.00000001-1.00000000 má výsledek 9.8??n. Rozdíl by měl být přesně 0.00000001 nebo 10n. Nicméně ROBOPro zobrazí o jednu číslici více, než kolik přesně spočítal. Poslední číslice pouze pomáhá rozhodnout, zda by měla být hodnota zaokrouhlena nahoru nebo dolů, v tomto případě z 9.8 na na 10n. Když spočítáte 1.0-1.0 v ROBOPro, výsledek je ??.??p. To znamená 0 s přesností na 99.99p nebo 100p, to je 10 na -10. Jak již bylo zmíněno, přesná 0 (bez chyby) existuje, ale není obvyklá.
13 Připojení více než jednoho ROBO TX kontroleru k jednomu PC Pokud chcete ovládat více ROBO TX kontrolerů z ROBO Pro programu, nepotřebujete již přepínat každé zařízení na "unikátní sériové číslo" a připojit je odděleně k PC pomocí USB, jako jste dělali s dřívějšími ROBO rozhraními. Místo toho je jen jeden ROBO TX kontroler připojen k PC pomocí USB. Toto zařízení se nazývá "master". Další zařízení jsou připojena k portům EXT1 nebo EXT2 na master a jedná se o rozšíření. Postup je detailně vysvětlen v manuálu k ROBO TX kontroleru. Tímto způsobem je možné připojit až 8 zařízení k master. Data všech zařézení jsou posílaná v balíku do PC pomocí jediného USB portu. Připojení více ROBO TX kontrolerů k více USB portům na jednom PC není podporováno.
FISCHERTECHNIK ROBO TX Training Lab - 505286 Bezpečnostné upozornenia z návodu na zostavenie: - Neskratujte obvody prepojovacích terminálov! - Nevkladajte vodiče do zásuvky! - Pravidelne kontrolujte nabíjačku batérií, či nie je poškodená. V prípade poškodenia ju nepoužívajte a nechajte ju ihneď opraviť! - Neelektrické komponenty (motory, lampy, ROBO TX kontrolér nesmie byť prepájané s inými zdroj napájania, než tými, ktoré poskytol fischertechnik. Uistite sa, že modely sú prepojené jedine s vybavením označeným ako ochranná kategórie II, na ktorých je symbol tejto kategórie. Všetky komponenty, obzvlášť pohyblivé časti, by mali byť udržiavané a čistené, ako bude nevyhnutné. Upozornenie: Dajte si pozor, aby ste sa neporanili o komponenty s ostrými alebo špicatými hranami! Dôležité informácie o životnom prostredí. Tento symbol na výrobku alebo balení znamená, že vyhodením výrobku do odpadu môžete poškodiť životné prostredie. Nevyhadzujte žiadnu časť výrobku do zmesového odpadu. Vezmite ho k distribútorovi alebo na špecializované zberné miesto. Majte ohľad na miestne zákony o životnom prostredí. Ak máte akékoľvek pochybnosti, kontaktujte miestne úrady zaoberajúce sa životným prostredím.
FISCHERTECHNIK ROBO Pro Software - 93296 Ako iste viete, pre experimentovanie s ROBO TX kontrolerom alebo ROBO rozhraním budete potrebovať počítač. Tiež je potrebné naninstalovat pár vecí: ROBO Pre ROBO Pro je ovládací softvér, pomocou ktorého môžete písať programy pre ROBO TX kontrolér alebo ROBO rozhranie. Program môžete nainštalovať z priloženého CD. Tento návod tiež obsahuje pár tipov pre programovanie. USB ovládač Pre prepojenie ROBO TX kontrolera alebo ROBO rozhranie s počítačom je potrebné nainštalovať ovládač pre USB rozhranie. Inštalácia ovládača je popísaná v ROBO Pre online help v kapitole 1.2. Potom, čo ste nainštalovali a spustili ROBO Pro, môžete otvoriť online pomoc pomocou lišty menu (help-> Help). Inštalácia ROBO Pre Systémové požiadavky ROBO Pro sú nasledujúce:
- IBM kompatibilný PC s procesorom Pentium II a rýchlosťou aspoň 500MHz, 256 MB RAM a približne 40 MB voľného miesta na hard disku. - Monitor a grafickú kartu s rozlíšením aspoň 1024x768 pixelov. - Microsoft Windows XP alebo Vista. Pochopiteľne musíte najprv zapnúť počítač a počkať, kým sa operačný systém (Windows) plne nenačíta. ROBO TX kontrolér by mal byť k počítaču pripojený až po úspešnej inštalácii. Teraz vložte do CD-ROM mechaniky CD ROBO Pro. Insatalační program na CD sa spustí automaticky. - V prvom uvítacom okne (Welcome window) inštalačného programu stlačte tlačidlo Next. - V druhom okne je súhlas s licenčnými podmienkami (License agreements). Musíte ich prijať pomocou Yes, než sa môžete pomocou Next presunúť na ďalšie okno. - Do nasledujúceho okna (User information) prosím vložte svoje meno. - V okne Instalation Type (typ inštalácie) si môžete vybrať medzi Express Installation alebo Custom Installation. Pomocou custom installation môžete z inštalácie vylúčiť niektoré časti. Ak inštalujete novšiu verziu ROBO Pre cez staršiu verziu a zmenili ste niektoré ukážkové programy v staršej verzii, môžete ich vyňať z inštalácie novšej verzie práve pomocou custom installation. Inak budú tieto doplnené programy pri inštalácii bez varovania prepísané. Ak vyberiete custom installation a kliknete na Next, objaví sa ďalšie okno, v ktorom môžete vybrať časti. - V okne Target Directory môžete vybrať cieľový priečinok pre inštaláciu, do ktorej bude ROBO pre nainštalovaný. Normálne je umiestnenie C: \ Program Files \ ROBOPro. - Keď kliknete na tlačidlo Finish v poslednom okne, inštalácia bude vykonaná. Akonáhle je inštalácia dokončená - normálne to trvá niekoľko sekúnd - program oznámi úspešnú inštaláciu. Ak nastanú problémy, zobrazí sa chybová hláška, ktorá by vám mala pomôcť s riešením tohto problému. Teraz môžete spustiť ROBO Pro. Kliknite na Štart a vyberte program alebo všetky programy a potom ROBO Pro. Kliknite na ROBO Pro pre spustenie programu. Online pomoc môžete spustiť pomocou lišty menu (help-> Help). Pre inštaláciu spomínaného USB ovládača choďte do kapitoly 1.2.
ROBO TX Controller - 500995 Pre preklad manuálu bola použitá anglická verzia, ktorá sa v originálnom manuáli pre ROBO TX kontrolér nachádza na stranách 20 až 35. Ilustrácie s číselným označením častí výrobku sa nachádza na strane 3 originálneho návodu. Popis 1. 2. 3. 4. 5. 6. 7. 9V 8. 9. 10. 11. 12. 13. 14.
obrazku
zo
strany
USB Ľavé 9V
=
=
vstup,
Pravé vstup, DC jack EXT 2, Výstupy Rýchle 9V = EXT
Univerzálny 1,
tlačidlo pripojenie
dobíjacích
tlačidlo pre nabíjaciu jednotku. pripojenie pre M1-M4 alebo výpočtovej vstupy výstup, výstup Pripojenie vstupy pripojenie pre
socket
(+
3: konektor výberu batérií Displej Vypínač výberu = interné) rozšírenie O1-O8 C1-C4 napätia kamery I1-I8 rozšírenie
ROBO TX kontrolér Do tohto ovládača je možné nahrávať programy a tie potom ovládajú motory, lampy alebo dokonca celé roboty fischertechnik. To však nie je všetko. - USB spojenie a integrované rozhranie Bluetooth dovoľuje ľahkú a rýchlu komunikáciu medzi počítačom a modelom fischertechnik. - Veľká RAM pamäť a prídavná flash pamäť môže súčasne uložiť v ROBO TX kontrolera väčšie množstvo programov. - Všetky modely zo série COMPUTING možno ovládať týmto kontrolérom. - Navyše môže kontrolér tiež komunikovať s inými zariadeniami schopnými komunikovať skrz Bluetooth alebo s ďalšími maximálne ôsmimi ROBO TX kontrolery. - Vďaka drážkam na piatich stranách a malým rozmerom môže byť ROBO TX kontrolér nainštalovaný v systémoch a modeloch fischertechnik, čím sa šetrí miesto. správne Kontrolér
môže
byť
použitý
len
v
spojitosti
s
modelmi
použitie fischertechnik.
bezpečnosťou inštrukcie Často kontrolujte, či nie je poškodená nabíjačka batérií. Ak nájdete poškodenie, nabíjačku nepoužívajte, kým nebude opravená. Nevkladajte vodiče do zásuvky. Nepokúšajte sa nabíjať batérie, ktoré nie sú dobíjacie! Pred nabíjaním vyberte dobíjacie batérie zo slotu na batérie! Dobíjacie batérie nabíjajte iba za dozoru dospelých! Uistite sa, že batéria zapájate v správnej polarite! Neskratujte prepojovacie termninály! - ROBO TX kontrolér smiete používať iba so zdrojom napájania fischertechnik ako dobíjacie batérie 35537! - Keď pripájate dobíjacie batérie ku kontroléru, dávajte pozor na nasledujúce: Prepojte pól plus '' 9V = IN "k pólu plus (+)! Prepojte pól mínus '' 9V = IN "k pólu plus (-)! Maximálna pracovná teplota je 40 ° C! Nasledujúce veci možno pripojiť k ROBO TX kontroléra Nasledujúce zariadenia je možné pripojiť alebo ovládať. Navyše možno kontrolér rozšíriť o prídavné zariadenia. Aktuátory elektrické Žiarovky bzučiaky elektromagnety Magnetické
(s
ventily
9V
(z
=,
pneumatické
250mA) motory
stavebnice)
Senzory (digitálne 5kΩ, digitálne 10V; analógové 0-5kΩ, analógové 0-10V) tlačidlové prepínače Magnetické senzory (kontakty) Svetelné senzory (fototranzistor, fotorezistory) Tepelné senzory (NTC rezistory) Ultrazvukové senzory vzdialenosti (len vo verzii TX Art. Č. 133009 s prpojením tromi vodičmi) senzory farby
Infračervené potenciometre magnetické
senzory
(senzory
trasy) enkodér
ROBO TX kontrolér Skrze rozširovacie zástrčky je možné pripojiť ďalších až osem prídavných kontrolerov. kamerový Akonáhle
bude
senzor dispozícii.
k
rádiové spojenie Pomocou Bluetooth možno vykonať spojenie s inými zariadeniami s Bluetooth ako s počítačom, inými ROBO TX kontrolery a mobilnými telefónmi. K Viď
čomu strana
1. Pre 2. Ovláda
USB spojenie sa
pomocou
slúžia 3 konektor s
Ľavé neho menu
PC. na
jednotlivé originálneho (kompatibilný Kábel
displeji.
tlačidlo Viac informácií
časti? návodu. s
1.1) priložený.
je ďalej
v
výberu manuáli.
3. 9V = vstup, pripojenie dobíjacích batérií Toto spojenie umožňuje prenosné napájanie pomocou dobíjacích batérií fischertechnik (nepriložené v balení) ako alternatívny spôsob napájania jednotky. 4. Displej Displej zobrazuje stav kontroléra, ktoré programy boli načítané a kde sa nachádzate v menu. Možno tu vyberať funkcie a programy, aktivovať a deaktivovať ich. Keď je program spustený, môžete zobraziť hodnoty premenných alebo hodnoty analógových senzorov. 5. Zapína 6. Ovláda
a sa
pomocou
Pravé neho menu
Vypínač kontrolér.
vypína na
displeji.
tlačidlo Viac informácií
ďalej
v
výberu manuáli.
7. 9V = vstup, DC jack socket Tu sa pripája napájanie pomocou Power Set alebo Energy Set (nepriložené v balení). U kontrolera je priložený zodpovedajúci kontrolér. 8. EXT 2, pripojenie pre rozšírenie Skrze toto spojenie je možné pripojiť prídavné ROBO TX kontrolery, aby ste mohli zvýšiť počet vstupov a výstupov. Navyše obsahuje rozhranie I²C pre budúce rozšírenie. 9. Výstupy M1-M4 alebo O1-O8 K výstupom je možné pripojiť štyri motory. Tiež je možné pripojiť osem lámp alebo elektromagnetov, ktorých druhý pól je pripojený k uzemneniu. 10. Vstupy C1-C4 Rýchle výpočtovej vstupy zaznamenávajú pulzy až do 1kHz (1000 pulzov za sek.), Napríklad z
motora s enkodérom z ROBO TX Training Lab Construction Set. Možno ich tiež použiť ako digitálne vstupy, napríklad pre tlačidlový prepínač. 11. 9V výstup Napája senzory, ktoré vyžadujú pracovné napätie 9V = ako senzory farby, senzory trasy, ultrazvukové senzory vzdialenosti a magnetické enkodér. 12. Možné
pripojenie
pre
modul
Pripojenie kamery (v čase
tlače
návodu
doteraz
v
kamery príprave).
13. Univerzálny vstupy I1-I8 Jedná sa o vstupy využiteľné na mnohé účely. Môžu sa nastaviť pomocou softvéru ROBO Pro pre: - Digitálne senzory (tlačidlové prepínače, kontakty, fototransistory) - digitálne 5kΩ Infračervené senzory trasy digitálny 10V - Analógové senzory 0-5kΩ (NTC rezistory, fotorezistory a potenciometre) - Analógové senzory 0-10V (senzory farby) zobrazenie hodnoty v milivoltoch (mV) - Ultrazvukové senzory vzdialenosti (iba u verzie TX s prepojením tromi vodičmi) 14. EXT 1, pripojenie pre rozšírenie Pomocou tohto spojenia môžete pripojiť prídavné ROBO TX kontrolery, rovnako ako k EXT 2, aby sa navýšil počet vstupov a výstupov. inštalácia Softvér určený
pre
ROBO
TX
kontrolér:
ROBO
Pre
verzie
2.0
softvéru alebo vyššej.
V príručke k softvéru ROBO Pro je popísané okrem iného nasledovné: Inst-Alaca ROBO Pro do počítača. - Inštalácia USB ovládača pre ROBO TX kontrolér pre operačný systém Windows. menu nastavenia Pre prehľad menu sa pozrite na stranu 25 originálneho návodu. Pre ďalšie ilustrácie tiež nahliadajte do manuálu. menu
detailne
Pohyb pomocou tlačidiel výberu - Keď stlačíte ľavé tlačidlo výberu, posunie sa označenie položky o riadok ďalej. Dvojitým kliknutím sa zmení smer posunu. V stavovom okne má ľavé tlačšítko výberu funkciu funkcia štart a stop. - Keď stlačíte pravé tlačidlo výberu, je potvrdený predchádzajúci výber. Týmto spôsobom sa pohybujete do ďalšieho menu alebo aktivujete a deaktivujete isté funkcie. V ďalšej stavovom okne sa môžete vždy presunúť do hlavného menu pomocou pravého tlačidla výberu. Ak vyberiete "Back", vždy sa vrátite do predchádzajúceho menu. Najprv musíte nastaviť jazyk. Ako základné nastavenie je angličtina. Zmena jazyka môžete pomocou Menu / Settings / Language. Potvrďte pomocou OK. Poznámka! Symbol "/" sa používa pre oddelenie rôznych textov, ktoré sa majú môžu objaviť na rovnakom riadku. Stavové okno (ROBO TX) Riadok 1: Local / Online Local: Žiadna výmena dát s PC (ako master *) alebo žiadne spojenie s master (ako extension-
rozšírenie *). Online: Master * si vymieňa dáta s PC alebo rozšírenie * je spojené s master *. - Riadok 2: No program file loaded / loaded: názov programu / started: názov programu Zobrazuje, či je načítaný súbor programu načítaný a ak áno, tak v akom je stave. -Řádek 3: Master * / Extension * 1-8 Zobrazuje, pre ktorú funkciu bol kontrolér nastavený, master * alebo extension *. Zmeny sú možné v menu "Úloha". * Master: kontrolér, ktorý je nastavený ako master, dostáva príkazy priamo z PC a posiela ich na rozšížení. Extension (rozšírenie): kontrolér, ktorý je nastavený ako extension dostáva príkazy len skrze master. Riadok 4: Ext. Zobrazuje, ktoré rozšírenie je pripojené, napríklad 1, 2, ... 8 (zobrazuje sa jedine, pokiaľ je pripojené rozšírenie). -spodné Riadok: Start / Stop Spustí alebo zastaví program. Pole Start / Stop sa ukáže iba keď bol súbor programu prenesený stiahnutie z PC do kontrolera alebo bol načítaný do flash pamäte pamäte programu. Hlavné Vedie Vedie Vedie
menu Riadok do
1: menu
Riadok do Riadok na
výberu 2: menu 3: zobrazenie
(Menu) File súboru Settings nastavenia Info informácií.
Výber súboru (File) Ak boli súbory programu prevedú stiahnutím z PC do kontroléra, budú vypísané tu. Môžu byť vybrané, môžu ju byť dané funkcie spustenia alebo môžu byť zmazané. R /: súbor je v RAM. F /: súbor je v pamäti flash. Ak je pred súborom (AL) alebo (AS), potom u tohto súboru je aktivované Auto Load alebo Auto Start, napríklad (AS) F / ROB3. Clear Program Memory Výberom tejto položky a potvrdením pomocou OK odstránite program načítaný do programovej pamäte. Programy vo flash pamäti zostanú. Nastavenie Riadok 1: Úloha: Master / Vedie do menu Role. Tu môžete nastaviť, či bude kontrolet master alebo Riadok 2: Language: German / English Vedie do menu nastavenia Riadok 3: Vedie do menu Riadok 4: Restore Nastaví pôvodné základné
(Settings) Extension rozšírenie. / ... jazyka. Bluetooth: Bluetooth defaults: nastavenie.
Informačné Zobrazí
(Info) Firmware: *.
okienko Riadok verziu
1: formwaru
Zobrazí Definuje
Riadok názov zariadenia, Riadok identifikačný Bluetooth
2:
Name: napríklad ROBO TX 622. 3: Bluetooth: kód pre zariadenia (Bluetooth štandard)
* Firmware je operačný softvér pre kontrolér. role Tu môžete kontrolera priradiť úlohu master alebo extension 1 až 8. Iba vyberte a potvrďte pomocou OK. Jazyk Tu
možno
zmeniť
jazyk.
Vyberte
a
potvrďte
(Language) pomocou OK.
bluetooth Ak je vybraný jeden z riadkov 1 až 5, otvorí sa menu, v ktorom môžete zapnúť alebo vypnúť určitú funkciu. Riadok 1: Bluetooth: Tu sa zapína a vypína funkcia Bluetooth. Riadok 2: Device Discoverable Ak je táto funkcia zapnutá, ostatné Bluetooth zariadenia môžu identifikovať ROBO TX kontrolér. Riadok 3: Device connectable Ak je táto funkcia zapnutá, potom ROBO TX kontrolér dovoľuje ostatným zariadením, aby sa prepojila pomocou Bluetooth s kontrolerom. Riadok 4: Paired devices Zobrazí, koľko zariadení je pripojené cez Bluetooth s kontrolerom. Riadok 5: Restore defaults: Obnoví pôvodné nastavenia. zapnutie Keď pripájate kontrolér prvýkrát k PC, musíte na PC nainštalovať ovládač pre USB rozhranie. Detaily nájdete v príručke "ROBO Pro Software". 1. Pripojte USB kábel k PC. 2. Zapojte napájací jednotku do zásuvky alebo pripojte batérie. 3. Zapojte malú zástrčku napájacej jednotky do 9V = IN vstupného jack socketu (7) na kontroléra (ak je potreba, ku kontrolera je priložený adaptér). 4. Zapnite kontrolér pomocou vypínača (5). 5. Na krátky okamih sa objaví správa privítanie spolu s číslom verzie firmvéru. Potom sa ukáže stavové okno. Toto je počiatočný bod pre navigáciu v menu kontroléra. Výber a spustenie programu 1. Najprv musíte presunúť program stiahnutím z PC do ROBO TX kontroléra. Test spojenia a presný postup sú popísané v príručke "ROBO Pro Software". Po stiahnutí: 2. Program sa spustí automaticky so základným nastavením. 3. Sekvencia sa zastaví stlačením ľavého tlačidla výberu (2). Zmeny správania pri spustený môžu byť priradené individuálne akémukoľvek programu, napríklad Auto Start alebo Auto Load. Toto je možné v menu X / Program name Menu | Settings | File | R / Program name alebo F / Program name | ... vypnutie Prepnite vypínač (5) na pozíciu OFF a potom odpojte napájací jednotku zo zásuvky.
rozšírenie Pomocou špeciálnych spojenie je možné pripojiť viac ROBO TX kontrolerov alebo kameru. Prídavné ROBO TX kontrolery Počet vstupov a výstupov sa dá rozšíriť pomocou ďalších kontrolerov. Sú pripojené pomocou špeciálnych spojenia EXT 1 a EXT 2. 1. Poskytnite napájanie pomocou napájacej jednotky alebo dobíjacie batérie. 2. Pridajte novému kontrolera funkciu ako extension 1, 2, ... alebo 8: Menu | Settings | Role | Extension 1, 2, ... alebo 8 | OK 3. Pripojte kontrolér s ostatnými pomocou priloženého kábla. Nezáleží na tom, či pre toto spojenie použijete EXT 1 alebo EXT 2. 4. Nové rozšírenie sa ukáže na poslednom riadku stavového okna pre kontrolér. kamerový V čase
tlače
manuálu
je
stále
v
senzor príprave.
rozhranie I²C Toto štandardné rozhranie je určené pre budúce rozšírenie, napríklad špeciálne senzory. spojenie Bluetooth Spojenie Bluetooth medzi ROBO TX kontrolerom a PC Toto Bluetooth spojenie nahrádza USB kábel pomocou bezdrôtovej komunikácie. Vďaka nemu môže ROBO TX kontrolér dostávať a vysielať informácie v online móde, čo znamená, že program je spustený na PC a prebieha neustála výmena dát medzi PC a ROBO TX kontrolerom. Pomocou tohto spojenia môžete tiež sťahovať programy do kontroléra a tieto programy môžu byť potom nezávisle spracovávané bez potreby PC. požiadavky PC schopné komunikácie cez Bluetooth alebo bežne dostupné USB Bluetooth zariadenia s Windows kompatibilným Bluetooth radio čipom. Windows XP so Service Pack 2 alebo Windows Vista. Zoznam otestovaných zariadení, s ktorými nebol problém, nájdete na www.fischertechnik.de Computing Downloads ROBO TX Controller Tu sa tiež nachádza detailný popis inštalácie Bluetooth spojenie medzi PC a ROBO TX kontrolerom. Pre Bluetooth profesionálov nie sú potrebné ďalšie pokynov: ROBO TX kontrolér využíva ako hlavný kľúč číselnú sekvenciu 1234. Informácie o rozsahu Rozsah je asi 10 metrov a závisí na kvalite USB Bluetooth zariadenia a podmienkach prostredia (rušenie z iných zariadení, prekážky). Bluetooth spojenie medzi viacerými ROBO TX kontrolery V móde sťahovanie si môže ROBO TX kontrolér vymieňať dáta s až siedmimi ďalšími ROBO TX kontrolery. Keď je toto hotovo, každé zariadenie sem môže spojiť s každým ďalším účastníkom a prenášať alebo prijímať dáta cez toto spojenie.
(Viď
obrázok
na
strane
32
originálneho
návodu.)
ROBO Pro obsahuje špeciálny programové prvky pre ustálenie a ukončenie spojenia a pre prenášanie a prijímanie informácií. Ďalšie informácie o tomto operačnom móde sa dajú nájsť pomocou online help pre softvér ROBO Pre verziu 2.0 a novšie. Bluetooth spojenie medzi ROBO TX kontrolerom a ďalšími zariadeniami, napríklad mobilným telefónom V zásade môže ROBO TX kontrolér komunikovať s inými Bluetooth zariadeniami, napríklad mobilnými telefónmi. Pre to musí mať toto zariadenie špeciálny komunikačný softvér, ktorý je adaptovaný na ROBO TX kontrolér. Keďže možno v tejto oblasti očakávať postupné zmeny, aktuálne informácie nájdete na www.fischertechnik.de - Computing - Downloads - ROBO TX Controller chyby elektromagnetickej interferencie Ak je kontrolér ovplyvnený vonkajšími elektromagnetickými vplyvmi, stále ho možno použiť po konci interferencií k jeho normálnemu účelu. Je možné, že sa na chvíľu preruší napájanie a kontrolér sa reštartuje. Chybové hlášky (z kontroléra alebo ROBO Pro softvér) Chyba Príčina
riešenie
Program version error
ROBO Pro program, ktorý Načítajte program pomocou najnovšej chcete načítať spustiť, náleží verzie ROBO Pro. staršiu verziu firmvéru a nie už kompatibilné.
Program error 1
Počet procesov v programe V záložke "Roles" v ROBO Pre ROBO Pro je vyššia, než je programe navýšte "minimum number možné maximum. of processes".
Program error 2
Minimálna pamäť na proces je a) V záložke "Roles" programu príliš malá. ROBO Pre navýšte "minimum memory per process (download)". b) Premenná programu sa sama nazvala nekonečnú a spôsobila preplneniu pamäte. Zmeňte program, aby nedochádzalo k tomuto javu.
Program file open failure Súbor programu nedá otvoriť, Načítajte znova súbor programu do pretože bol vymazaný z flash kontrolera. pamäte. Program file read failure Súbor programu nemožno Súbor programu musia byť prečítať, pretože je príliš veľký a preprogramovať tak, aby vyžadoval nezmestí sa do programovej menej pamäte. pamäte. technické dáta Rozmery a hmotnosť 90x90x15mm 90g
Pamäť a procesor 8 MB RAM, 2 MB flash 32-bit ARM 9 procesor (200 MHz) programovateľný pomocou softvéru ROBO Pro alebo C kompileru (nepripojený). Napájanie (nepripojený) Set dobíjacích batérií (8.4 V, 1500 mAh) alebo napájacie set (9 V, 1000 mA) rozhranie USB 2.0 (kompatibilné s 1.1), max. 12 MB, mini-USB jack socket. Bluetooth rozhranie (2.4 GHz, dosah cca 10m). 2 rozširujúce spojenie: RS 485, I²C (len EXT 2). Priradenie pinov EXT 1 6 5 4 3 2 1 6: Nepripojené 4: RS485-B 2: Nepripojené
5: Nepripojené 3: RS485-A 1: GND
Priradenie pinov EXT 2 6 5 4 3 2 1 6: I²C hodiny 4: RS485-B 2: 5 V DC výstup
5: I²C dáta 3: RS485-A 1: GND
Vstupy a výstupy signálu 8 univerzálnych vstupov: digitálne, analógové 0-9 V DC, analógové 0-5kΩ 4 rýchle výpočtovej vstupy: digitálny, frekvencia až 1 kHz 4 výstupy motorov 9 V, 250 mA, voliteľná rýchlosť, ochrana pred skratom, alternatívne 8 individuálnych výstupov. displej 128x64 pixelov, Monochrome Informácie o ochrane životného prostredia Nevyhadzujte elektrické a elektronické komponenty tejto stavebnice ako motory, lampy a senzory, do zmesového odpadu. Potom, čo prestanú fungovať, je odovzdajte na určenom zbernom mieste.
Inštalácia Bluetooth pre Bluetooth zariadenia pod Windows XP (podobné u Windows Vista) Požiadavky:
Windows
XP
Service
Pack
2
alebo
novší
(Počítač -> vlastnosti -> všeobecné)
Zapojte Bluetooth zariadenie do voľného USB portu. Windows automaticky začne načítať predinštalované ovládače a za chvíľu oznámi, že je zariadenie pripravené na použitie. Poznámka: Vždy by ste sa mali snažiť používať predinštalované Windows ovládače namiesto špeciálnych ovládačov, ktoré bývajú priložené na CD u Bluetooth zariadení. Tým zaistíte, že spojenie Bluetooth medzi PC a ROBO TX kontrolerom bude ľahko nadviazané. V tejto chvíli by sa mala v ovládacích paneloch objaviť ikona Bluetooth zariadení, ktorá značí, že existuje Bluetooth rozhranie:
Ikona Bluetooth zariadenia by sa mala ukázať aj v hlavnej lište Windows. Správnu inštaláciu môžete tiež potvrdiť v správcovi zariadení (počítač-> vlastnosti-> Hardware-> správcov zariadenia) tak, že bolo pridaných niekoľko položiek:
Keď teraz dvakrát kliknete na ikonu Bluetooth zariadenia, zobrazí sa nasledujúce okno:
Nyní klikněte na "Add..." (přidat) a zaškrtněte v následujícím oknu "My device is set up and ready to be found":
PC bude hľadať akékoľvek blízkej Bluetooth zariadení po zhruba dvadsiatich sekundách by sa malo objaviť zariadenie "ROBO TX":
Váš počítač môže nájsť aj iné blízke zariadenia ako ďalší PC alebo mobilné telefóny, ktoré nás tu nezaujímajú. ROBO TX sa samo ohlási pod týmto názvom doplneným o sériové číslo, pokiaľ mu nepridelíte iný názov. Takto môžete rozlíšiť niekoľko zariadení rovnakého typu. Teraz vyberte zariadenie "ROBO TX" a kliknite na "Next". Objaví sa nasledujúce okno:
Vyberte "Use the Passkey found in the documentation" a vložte číselnú kombináciu 1234. Jedná sa o fixné kľúč zakódovaný vo firmvéri, ktorý neposkytuje vysokú úroveň bezpečnosti (ktorá nie je potreba), ale aspoň zabraňuje niekomu inému sa pomocou rádia pripojiť k ROBO TX. Teraz kliknite na "Next" a automaticky sa objaví nasledujúce oznámenia:
... a nakoniec sa objaví toto (alebo podobné) okno:
Zapamätajte si informáciu "Outgoing COM port" (tu COM3) pre neskoršie použitie k prepojeniu kontrolera s ROBOPro pomocou Bluetooth. Kým používate štandardné Windows Bluetooth ovládač, ROBOPro automaticky rozpozná, že je ROBO TX kontrolér pripojený k tomuto COM portu pomocou Bluetooth a podľa toho to zobrazí pod COM / USB. Nanešťastie toto nefunguje, keď používate iné Bluetooth ovládače. V tomto prípade sa musíte pozrieť na všetky možné COM porty v ROBOPro pod COM / USB a vybrať správny (tu COM3). Týmto procesom bolo medzi PC a ROBO TX kontrolerom vytvorené trvalé spojenie. Na oboch stranách boli uložené potrebné kľúče. Tento proces spojenia vám umožní automaticky obnoviť Bluetooth spojenie medzi oboma stranami (ktoré sú považované za dôveryhodné) kedykoľvek neskôr otvorením COM portu. Ak chcete toto spojenie prerušiť, kliknite dvakrát na ikonu Bluetooth zariadenia v ovládacom paneli, vyberte symbol "ROBO-TX" a kliknite na "Remove" (odstrániť):
1. Prvé kroky v ROBO Pro Spustite program ROBO Pro. Kliknite na Štart, vyberte Programy a potom ROBO Pro. V tejto zložke uvidíte nasledujúce:
Položka Uninstall vám umožní odinštalovať ROBO Pro. Pomocou Help môžete otvoriť súbor s pomocou a ROBOPro otvorí priamo program ROBO Pro. Pre spustenie programu vyberte ROBO Pro.
Okno obsahuje hore lištu s menu a lištu s nástrojmi s rôznymi funkčnými tlačidlami. Lišta naľavo obsahuje prvky programu. Ak naľavo vidíte dve okná, ROBO Pro nie je nastavený na úroveň 1. Aby ste program prispôsobovali ROBO Pre svojim vzrastajúcim znalostiam, môžete ho nastaviť od úrovne 1 pre začiatočníkov do úrovne 5 pre expertov. Pozrite sa do menu Level, či je začiarknutá položka Level 1: Beginners. Ak nie, prepnite na úroveň 1. ROBO Pro je nakonfigurovaný, aby bol používaný ako rozhranie ROBO TX kontroléra. To vidíte vďaka prítomnosti tlačidla ROBO TX v nástrojovej lište. V neskorších častiach návode sa dozviete, ako prepnúť na skoršie ROBO rozhranie, a na čo si máte dávať pozor. Teraz môžete buď vytvoriť nový súbor programu alebo otvoriť už existujúci súbor. Až do kapitoly 3 nebudeme tvoriť nové programy. Aby ste sa zoznámili s užívateľským rozhraním, otvorte už existujúcu ukážkový program. Kliknite v menu File na položku Open alebo použite tlačidlo Open v nástrojovej lište. Ukážkové súbory nájdete v priečinku C: \ Program Files \ ROBOPro \ Sample Programs
otvorte súbor \Level3\Motor start stop.rpp:
Tu vidíte, ako vyzerá program ROBO Pro. Pri programovaní tvoríte vývojové diagramy ovládacieho programu pomocou prvkov programu z okna prvkov. Dokončený vývojový diagram môžete pred ozkoušením skontrolovať pomocou napojeného rozhrania fischertechnik. Neponáhľajte, naučíme sa v nasledujúcich kapitolách programovaní krok za krokom! Keďže ste si prezreli užívateľské rozhranie, zatvorte program pomocou príkazu Close v menu File. Na otázku, či chcete uložiť súbor, môžete dať No.
2. Rýchla skúška hardvéru pred programovaním Je jasné, že rozhranie musí byť pripojené k PC, aby ste mohli skúšať programy, ktoré neskôr vytvoríte. Ale v závislosti na rozhraní (ROBO TX Controller alebo ROBO-Interface) musíte tiež vyrobiť a otestovať správne nastavenia prepojenia rozhrania. To urobíme v nasledujúcej kapitole. 2.1 Prepojenie rozhranie k PC Toto by nemal byť veľký problém. Spojovací kábel priložený k rozhraniu je pripojený k rozhranie ak portu na PC: - S ROBO TX Controller možno použiť USB port. - S ROBO Interface (položka 93293) môžete použiť buď USB port alebo jeden zo sériových portov COM1 až COM4. Spojenie pre tieto porty normálne nájdete na zadnej strane počítača. Presné umiestnenie sa môže líšiť. USB porty bývajú tiež často na prednej strane počítača. Nezabudnite poskytnúť rozhranie zdroj napájania (hlavnú jednotku alebo batériu). jednotlivé spojenia rozhrania sú popísané do detailu v manuáli daného vybavenia. 2.2 Získanie správneho spojenia - nastavenie rozhrania Aby spojenie medzi rozhraním a PC fungovalo správne, ROBO Pro musí byť nakonfigurovaný na práve používané rozhranie. Pre toto nastavenie spustite ROBO Pre pomocou položky ROBO pre v menu Štart pod Programy a ROBO Pro. Potom kliknite na COM / USB v nástrojovej lište. Objaví sa nasledovné:
Tu môžete vybrať port, rovnako ako typ rozhrania.
Akonáhle vyberiete zodpovedajúce nastavenia, zatvorte okno pomocou OK. Teraz otvorte okno testu roznraní pomocou tlačidla Test na nástrojovej lište.
Zobrazí vstupy a výstupy možné v rozhraní. Zelená lišta v ľavej spodnej časti okna zobrazí stav spojenia PC a rozhrania: - Connection: Running potvrdzuje správne pripojenie rozhrania. - Connection: Stopped značí, že spojenie nebolo správne nastavené a PC nie je schopný ustáliť spojenie s rozhraním. V tomto prípade je lišta červená. Aby ste boli schopní zmeniť nastavenia rozhrania alebo spojenia, musíte zavrieť okno testu (pomocou X v pravom hornom rohu) a vybrať iný port alebo iný typ rozhrania, ako bolo predtým popísané, skrze tlačidlo COM / USB v nástrojovej lište. Ak ste boli schopní nastaviť sapojení medzi PC a rozhraním, ako je popísané, a objavila sa zelená lišta, môžete preskočiť nasledujúcu časť textu. Ak nie, možno vám rady v nasledujúcej časti prídu vhod. 2.3 Zlé spojenie: žiadne spojenie k rozhraniu ?! Keď sa objaví správa Stopped, aj keď ste na rozhraní nastavili port správne (pozri vyššie), mali by ste skontrolovať nasledujúce body. Pre tento účel možno budete potrebovať pár rád od počítačového experta: - Zdroj napájania: Má rozhranie zodpovedajúci zdroj napájania? Ak používate jednorazové alebo dobíjacie batérie, je značná šanca, že sú vybité alebo slabé. Ak sa napätie batérie dostane pod 6, procesor ROBO TX kontrolera môže prestať pracovať. V tomto prípade displej prestane zobrazovať informácie. Ak je napätie príliš nízke, musíte vymeniť alebo dobiť batérie alebo rozhrania nabíjať pomocou nabíjacej jednotky. - Bol správne nainštalovaný USB ovládač? Toto môžete zistiť kontrolou Správca zariadení s Ovládacích paneloch, či sa tam nachádza medzi spojeniami (COM a LPT) položka fischertechnik USB ROBO TX Controller a funguje dobre. Ak sa táto položka neobjaví, nainštalujte USB ovládač znova. Ak sa objaví chyba, odinštalujte ovládač
(kliknite na na zodpovedajúcu položku) a nainštalujte ho znovu. - Nedošlo ku konfliktu s iným ovládačom zariadení na rovnakom porte, napríklad modemom? Tento ovládač bude možno potrebné deaktivovať (pozri príručka k Windows alebo zariadení). - Ak nemôžete ustáliť spojenie s rozhraním, je možné, že na viněnení rozhranie ani spojenie. V takom prípade by ste mali kontaktovať servis. 2.4 Všetko pracuje - test rozhranie Akonáhle bolo správne nastavené rozhrania, môžete použiť test rozhrania k testu ROBO TX kontrolera ak nemu pripojených modelov. Testovacie okno zobrazí rôzne vstupy a výstupy kontroléra: - Univerzálny vstupy I1-I8 I1-I8 sú univerzálne vstupy kontroléru ROBO TX. Tu môžu byť pripojené rôzne typy senzorov. Nachádza sa tu digitálne a analógové senzory. Nastavte univerzálny vstupy v závislosti na type senzora, ktorý chcete pripojiť. - Digitálne senzory môžu mať stav 0 a 1 alebo áno a nie. Základni sú ona univerzálne vstupy nastavené na vstupnej typ Digital 5kOhm. Prepínače (mini tlačidla), rovnako ako fototranzistor (svetelné senzory) alebo magnetické senzory môžu byť napojené na tieto digitálne vstupy. Môžete skontrolovať funkciu týchto vstupov pripojením mini senzora (položka 37783) k rozhraniu. napríklad k I1 (použite na prepínači kontakty 1 a 3). Akonáhle stlačíte tlačidlo, objaví sa na displeji I1 potvrdenie. Keď ste pripojili prepínač opačne (kontakty 1 a 2), objaví sa potvrdenie ihneď a zmizne, keď stlačíte tlačidlo. - Nastavenie Digital 10V sa používa pre infračervené senzory trasy. - Nastavenie Analog 10V sa používa pre senzory farby alebo na meranie napätia medzi 0 a 10 V ako napríklad napájacie napätie batérií. Napätie je zobrazené v mV (milivoltoch). - Analog 5kOhm sa používa pre NTS rezistory na meranie teplôt a pre fotorezistory na meranie jasu svetla. Tu sa hodnoty zobrazujú v ohmoch (Ω = elektrický odpor). - Nastavenie Distance sa používa pre ultrazvukové senzory vzdialenosti (pre ROBO TX kontrolér možno použiť iba verziu TX vzdálenostního senzoru s třípinovým prepojovacím káblom, položka 133009). - Výpočtová vstupy C1-C4 Tieto vstupy vám umožňujú počítať rýchle pulzy s frekvenciami až do 1000 pulzov za sekundu. Tiež ich môžete použiť ako digitálne vstupy pre tlačidlá (nevhodné pre senzory trasy). Keď prepojíte tlačidlo k tomuto vstupu, každé tlačidlo (= pulz) navýši hodnotu čítača o 1. Toto vám dovoľuje napríklad nechať robota ísť po určitú vzdialenosť. - Výstupy motorov M1-M4 M1-M4 sú výstupy z rozhrania. Tu sú pripojené takzvané aktuátory. Môže sa jednať napríklad o motory, elektromagnety alebo lampy. Štyri výstupy motorov môžu byť ovládané, čo sa týka rýchlosti a smeru. Rýchlosť je ovládaná pomocou posuvníka. Môžete si vybrať hrubé rozlíšenie s ôsmimi stupňami rýchlosti alebo jemné rozlíšenie s 512 stupňami. Programovacie prvky v úrovni 1 a 2 používajú len hrubé rozlíšenie, ale od úrovne 3 vám prvky dovolí používať jemné rozlíšenie. Rýchlosť je zobrazená vedľa posuvníka číselne. Ak chcete vyskúšať výstup, pripojte motor k výstupu, napríklad M1.
- Výstupy lámp O1-O8 Každý výstup motora môže byť tiež použitý ako dvojica samostatných výstupov. Tie možno použiť nielen na ovládanie lámp, ale aj motorov, ktoré sa musia pohybovať len v jednom smere (napríklad bežiaci pás). Ak chcete vyskúšať jeden z týchto výstupov, prepojte jeden kontakt lampy, napríklad O1. Prepojte kontakt druhej lampy s jednou zo zemniacich prípojom na R (┴). -Rozšiřovací moduly ROBO TX kontrolér pripojený k PC cez USB port (= master) môže prijať až osem ďalších ROBO TX kontrolerov ako rozšírenie (pozri manuál k ROBO TX kontrolera). Tieto tlačidlá vám umožňujú vybrať, ktoré z pripojených zariadení chcete ovládať pomocou testovacieho okna.
3. Úroveň 1: Váš prvý ovládací program Po vyskušania hardvéru sa dostávame k programovaniu. Čo vlastne programovanie znamená? Predstavte si robota pripojeného k nášmu rozhranie. Tento robot je ale tak hlúpy, že sám nemôže nič urobiť. Našťastie sme my múdrejší. Môžete robotovi Risto, čo všetko môže sám robiť. Ako? Čo sa stalo, keď ste v poslednej kapitole použili tlačidlo myši na nastavenie výstupu motora M1 "doľava"? Správne, zapli ste motor. Ak by tento motor napríklad riadil klepeto tohto robota, bolo by to ako robotovi povedať "Vezmi ten predmet!" Teraz ale nechceme začínať každý krok ručne, radšej by to mal robot robiť automaticky. Aby sme to dosiahli, musíme uložiť jednotlivé kroky, aby sa nimi mohol robot progracovat jedným po druhom. Musíme vytvoriť program, ktorý bude ovládať robotové správanie. Technický termín pre toto je ovládací program. 3.1 Vytvorenie nového programu ROBO Pre softvér nám dáva skvelý nástroj pre návrhy týchto kontrolných programov a jej skúšanie za pomoci pripojeného rozhrania. Nebojte sa, nebudete robota programovať hneď. Najprv by sme sa mali zoznámiť s jednoduchými úlohami. Musíme vytvoriť nový program. V nástrojovej lište nájdete položku New. Kliknite na ňu a otvorí sa nový program.
Teraz vidíte veľkú bielu podložku, na ktorej vložíte svoj ptvní program. Ak vidíte naľavo dve okná, prepnite na Level 1: Beginners v menu Level.
3.2 Prvky ovládacieho programu Teraz môžeme začať tvoriť prvý ovládací program. Urobíme tak na základe konkrétneho príkladu: Popis funkcie: Predstavte si garážové brány, ktoré môžu byť automaticky otvárané. Možno taká máte doma. Prídete k bránam autom a stlačením tlačidla na diaľkovom ovládaní sa dvere, poháňané motorom, otvoria. Motor musí byť spustený, kým nie sú vráta dĺžky otvorená. Slovami sa podobný kontrolný program opisuje ťažko. Radšej si ukážeme vývojový diagram, aký sa používa na zobrazenie sekvencie akcií, ktoré sa urobia, a podmienok, ktoré sú potrebné k týmto akciám. V prípade nášho ovládacieho systému je podmienkou akcia "spustenie motora" to, že stlačíte tlačidlo. Čítanie vo vývojových diagramoch je jednoduché. Proste postupujte po šípkach krok za krokom! To vám ukáže presne, ako funguje systém ovládania. Jednotlivé kroky môžu byť vykonané v poradí podľa šípok, nikdy inak. Pomocou softvéru ROBO Pro môžeme nakresliť starostlivo tento vývojový diagram a vďaka tomu vytvoriť ovládací program pre pripojený hardvér (rozhranie, motory, prepínače, atď.). Softvér urobí zvyšok. Takto to prebieha napríklad aj v továrňach. Môžeme sa sústrediť čisto len na tvorbu vývojového diagramu. Dajte vývojový diagram dohromady z programovacích prvkov. V ROBO Pro sa dávajú jednotlivé prvky dohromady tak, aby vytvorili vývojový diagram. Akcia "zapnúť motor" znamená len to: rozhranie by malo zapnúť pripojený motor. Dostupné programovacie prvky nájdete v okne na ľavej strane.
3.3 Vkladanie, pohyb sa modifikovanie programovacích prvkov Teraz len vytvorte vývojový diagram pre svoje garážové brány pomocou programovacích prvkov obsiahnutých v príslušnom okne. Všetky prvky možno pretiahnuť z okna prvkov a vložiť do okna programovania. Vkladanie programovacích prvkov Kliknite raz ľavým tlačidlom myši na vami požadovaný prvok. Potom presuňte myš do okna programovania (veľká biela plocha) a znovu kliknite. Prvky môžete aj presúvať pridržaním tlačidla myši. program vždy začína prvkom Štart. Prvok Štart je guľatý obrázok so zeleným panáčikom zo semaforu. Najlepšie je teda to skúsiť s týmto prvkom: Kliknite na neho raz ľavým tlačidlom myši a potom kliknite na bielu plochu.
Ďalším prvkom je vstup, ktorý sa rozvetvuje ďalej v závislosti na stave. Kliknite na prvkom, ktorý vidíte na obrázku a presuňte myš pod predtým vybraný prvok Štart. Ak je prvok vstupu jeden alebo dva body pod vývodom prvku Štart, objaví sa spájajúcej čiara. keď znovu kliknete, rozvětvovací prvok sa vloží a automaticky prepojí s prvkom Štart. Posun programovacích prvkov a skupín Programovací prvok môže byť posunutý na žiadanú pozíciu po vložení, keď pridržíte ľavé tlačidlo myši. Ak chcete posunúť ako skupinu niekoľko prvkov, môžete okolo nich načrtnúť rámček, zatiaľ čo pridržíte ľavé tlačidlo myši. Aby ste tak urobili, kliknite ľavým tlačidlom do prázdneho miesta, nechajte tlačidlo stlačené a použite myš na načrtnutie rámčeku, ktorý obsiahne požadované prvky. Prvky v rámčeku sú teraz zobrazené s červeným okrajom. Ak pomocou myši pohnete s jedným červeno označeným prvkom, pohnúť sa všetky červeno označené prvky. Môžete tiež označiť jednotlivé prvky klikaním na ne, zatiaľ čo držíte kláves shift. Keď kliknete ľavým tlačidlom do prázdneho miesta, všetky červeno označené prvky sa zase zobrazí normálne. Kopírovanie programovacích prvkov a skupín Programovacie prvky a skupiny možno kopírovať dvoma spôsobmi. Môžete pokračovať presne ako pri presúvaní, až na to, že stlačíte na klávesnici kláves CTRL, než budete s prvkami pohybovať. V tomto prípade sa prvky nepohnout, ale budú skopírované. Avšak pomocou tejto funkcie môžete kopírovať prvky iba v rámci programu. Ak chcete kopírovať prvky z jedného programu do druhého, môžete použiť prechodnú pamäť. Najprv vyberte niektoré prvky, ako je popísané v predchádzajúcej časti o presune prvkov. Teraz stlačte na klávesnici CTRL + C alebo kliknite na Copy v menu Edit. Všetky vybrané prvky budú skopírované do prechodnej pamäte. Teraz môžete otvoriť iný program a vložiť prvky sem pomocou CTRL + V alebo Edit / Paste. Akonáhle sú prvky skopírované, môžete ich vložiť niekoľkokrát. Pokiaľ chcete prvky presunúť z jedného programu do druhého a v tom prvom je nechcete zachovať, môžete tiež použiť CTRL + X alebo Edit / Cut. Mazanie prvkov a funkcia Undo (späť) Mazanie prvkov je veľmi jednoduché. Môžete zmazať všetky červeno označené prvky (pozri predchádzajúci sekcie) stiknutím klávesy Delete na vašej klávesnici. Tiež môžete mazať jednotlivé prvky pomocou funkcie Delete. Najprv kliknite na tlačidlo na nástrojovej lište a potom na prvok, ktorý chcete zmazať. Skúste to. Zmazaný prvok môžete znova vložiť. Alebo tiež môžete vrátiť zmazaný prvok pomocou funkcie Undo v menu Edit. Pomocou tejto položky menu môžete vrátiť akékoľvek zmeny v programe.
Editácia vlastností programovacích prvkov Keď kliknete v programovacom okne na prvok pravým tlačidlom myši, objaví sa dialógové okno, v ktorom môžete meniť vlastnosti prvku. - Tlačidlá I1 až I8 vám dovoľujú vkladať, ktorý zo vstupov rozhranie má byť použitý. Vstupy C1d-C4D zodpovedajú výpočtovým vstupom, ak ich použijete ako digitálne vstupy. So vstupmi M1E-M4E sa zoznámime neskôr. - Prídavné vstupy C1d-C4D a M1E-M4E sú popísané v sekcii 8.1.3. - Výber Interface / Extension (rozhranie / rozšírenie) je vysvetlený až v kapitole 7. - U Sensor type môžete vybrať senzor pripojený k vstupu. Digitálne vstupy sa väčšinou používajú a tlačidlovými senzory, ale často aj s fototranzistor alebo magnetickými senzormi. Výberom senzorov automaticky nastavíte požadovaný typ vstupu pre univerzálne vstupy I1-I8 na ROBO TX kontroléra. - U Interchange 1/0 connections môžete zmeniť pozíciu 1 a 0 u už existujúceho větvícího sa prvku. Normálne je 1 dole a 0 ide napravo. Niekedy je ale praktickejšie mať 1 vpravo. Stlačte Interchange 1/0 connections a 1 a 0 sa vymení, akonáhle zatvorte pomocou OK okno. Rada: Keď pripojíte mini senzor ako "uzatvárač" pomocou spojenia 1 a 3 na prepínači, program sa presunie k vetve "1", keď je prepínač stlačený, inak k vetve "0". Keď pripojíte mini senzor ako "otvárač" pomocou spojenia 1 a 2 na prepínači, program sa presunie k vetve "1", keď je prepínač stlačený, inak k vetve "0". Ďalším prvkom v našich garážových vrátach je prvok motora. Vložte ho do propgramu, ako ste urobili s predchádzajúcimi prvkami, tentoraz pod prvok rozvetvenie. Je najlepšie umiestniť prvok takým spôsobom, aby sa automaticky pripojil k prvku nad sebou. Prvok motora dovoľuje zapínať a vypínať motor, lampu alebo elektromagnet. Opäť otvorte vlastnosti pre prvok motora pravým kliknutím myši. - Môžete si vybrať výstupy rozhrania pomocou tlačidiel M1 až M4. - U Image si môžete vybrať obrázok, ktorý bude reprezentovať komponentov pripojený k výstupu. - Výber Interface / Extension (rozhranie / rozšírenie) je vysvetlený až v kapitole 7. - U Action môžete vybrať, ako bude výstup ovplyvnený. Môžete spustiť motor v smere doľava (proti smeru
hodinových ručičiek) alebo doprava (v smere hodinových ručičiek) alebo ho zastaviť. Môžete zapnúť alebo vypnúť lampu. - U Speed / Intensity môžete nastaviť rýchlosť, ktorou bude motor pracovať alebo ako jasne bude svietiť lámp. Možné hodnoty sú 1 až 8. Pre náš vývojový diagrem budeme potrebovať príkaz Motor M1 doľava s rýchlosťou 8. 3.4 Prepájanie programovacích prvkov Teraz už viete, ako vkladať prvky do ovládacieho programu. Môžete tak pokročiť s dokončením programu. Spomeňte si na vysvetlenie fungovania garážových brán. Nechýba niečo? Síce sme stlačením tlačidla spustili motor, ale akonáhle sú dvere otvorené, motor sa musí automaticky vypnúť! V praxi sa toto robí takzvaným koncovým prepínačom. Jedná sa o senzor pripojený ku garážovým dverám takým spôsobom, že sa spustí, v momente, keď motor plne otvoril dvere. Ako v prípade zapnutia motora môže byť tento signál použitý ik vypnutie. Pre ukončovacie prepínač môžeme opäť použiť rozvětvovací prvok. Vložte do programu ďalšie rozvetvenie. Také, ktoré bude kontrolovať koncový prepínač na vstupe I2. Nezabudnite kliknúť ľavým tlačidlom na prvok a nastaviť vstup na I2. Akonáhle sa brána garáže otvoria a koncový prepínač bol spustený, motor by sa mal zastaviť. Toho dosiahnete pomocou prvku motora. Začnite s rovnakým prvkom, ktorý ste použili pre spustenie motora. Keď kliknete pravým tlačidlom na prvok, môžete zmeniť funkciu prvku na Stop motor. Program je dokonca prvkom ukončenie. Váš program by mal teraz vyzerať ako na obrázku vpravo. Ak ste neumiestnili prvky pod seba s väčšou medzerou než dva body, väčšina vstupov a výstupov sa vo vývojovom diagrame prepojí pomocou šípok. Ešte ale nie sú prepojené výstupy Nie (N) na dvoch rozvětvovacích prvkoch. Kým nebol stlačený prepínač na vstupe I1, program by sa mal vrátiť a opäť čakať na prepínač. Aby ste načrtli túto linku, kliknite myšou na miesta v diagrame zobrazená nižšie.
Rada: Když je linie správně připojena ke spojení nebo jiné linii, zobrazí se to pomocí zeleného obdélníku na špičce šipky. V tomto případě musíte vytvořit spojení posunem linií nebo vymazáním a opětovním načrtnutím. Jinak nebude program plynout v tomto místě plynule.
Mazanie programových línií Mazanie línií funguje rovnako ako mazanie programovacích prvkov. Jednoducho kliknite ľavým tlačidlom myši na líniu, aby bola červeno označená. Teraz kliknite na tlačidlo Delete pre zmazanie línie. Môžete tiež vybrať niekoľko línií, keď pridržíte kláves shift a potom kliknete ľavým tlačidlom na ďalšie línie. Tiež môžete označiť viac línií náčrtkom rámčeka okolo nich. Teraz môžete zmazať všetky vybrané línie stlačením klávesu Delete. 3.5 Skúška vášho prvého ovládacieho programu Aby ste vyskúšal svoj prvý ovládací program, mali by ste postaviť malý model. Stačí pripojiť prepínač k I1 a I2 na rozhranie, rovnako ako motor M1. Poznámka: Pripojením rozhranie k PC a ustáleniu nastavenia rozhrania už bolo popísané v predchádzajúcej kapitole. Pred skúškou programu by ste mali program uložiť na pevný disk svojho počítača. Kliknite na Save v menu File. Objaví sa nasledujúce dialógové okno. Pod "Save in" vyberte priečinok, kam chcete uložiť súbor. Zadajte doteraz nezabráni názov, napríklad garážové brány a potvrďte ľavým kliknutím na "Save".
Pre otestovanie programu stlačte tlačidlo Štart v nástrojovej lište. Najprv ROBO Pre vykoná test, či sú všetky prvky programu správne prepojené. Ak by prvok nebol správne prepojený alebo by bolo čokoľvek iného v neporiadku, bude to označené na červeno a zobrazí sa chybová hláška opisujúce, čo je v neporiadku. Ak ste napríklad zabudli prepojiť Nie (N) výstup z rozvětvovacího prvku, bude to vyzerať nasledovne:
Ak sa objavila chybová hláška, musíte najprv opraviť nahlásenú chybu. Ak tak neurobíte, program sa nespustí. Poznámka: Plné vysvetlenie tohto módu je v sekcii 3.7. Prvý rozvětvovací prvok bude označený červeno. To značí, že program čaká u tohto prvku na udalosť, konkrétne stlačení tlačidla na I1, ktoré má otvárať garážové vráta. Kým nebol stištěn prepínač na vstupe I1, program ide po vetve No (N) a vracia sa späť na začiatok vetvy. Teraz stlačte prepínač pripojený k vstupu I1 na rozhraní. Tým ste splnili podmienku pre pokračovanie a motor sa zapne. V ďalšom kroku program čaká na stištění koncového spínačena vstupu I2. Akonáhle spustíte koncový spínač na I2, programová vetva prejde k druhému motorovému prvku a opäť vypne motor. Program konečne dorazí na koniec. Objaví sa správa, že program bol ukončený. Všetko fungovalo správne? Gratulujeme! To znamená, že ste vytvorili a vyskúšal váš prvý ovládací program. Ak to nešlo správne - nevzdávajte to. Skontrolujte všetko ešte raz. Niekde musí byť skrytá chyba. Každý programátor robí chyby a chybami sa človek učí. Hlavu hore! 3.6 Ďalšie programovacie prvky Ak ste vyskúšali svoj prvý ovládací program na skutočnom modeli garážových brán, teraz budú otvorené. Ako je zatvorte? Motor môžete určite opäť spustiť pomocou tlačidla. My ale chceme iné riešenie, aby sme sa naučili niečo o ďalšom programovacom prvku. Uložte program pod novým menom (budeme neskôr potrebovať súčasný vývojový diagram). 3.6.1 Čas medzery Než budete môcť rozšíriť vývojový diagram, musíte vymazať spojenie meti "vypnúť motor" a "koniec programu" a presuňte prvok konca nadol. Teraz môžete vložiť nový programovací prvok medzi tieto dva prvky. Garážové brány sa automaticky zatvoria po 10 sekundách. Pre tento účel môžete použiť prvok Time delay. Pomocou kliknutia pravým tlačidlom myši môžete vybrať čas čakania. Vložte čas desiatich sekúnd. Pre zatvorenie garážových brán musí motor ísť na druhú stranu, takže doprava, v smere hodinových ručičiek. Motor je potom vypnutý ďalším koncovým prepínačom na I3.
Dokončený vývojový diagram by mal vyzerať ako ten napravo, iba prvých budú všetky pod sebou v jednom stĺpci. Akonáhle nie sú vo vývojovom diagrame žiadne chyby, môžete vyskúšať vylepšená garážové brány pomocou tlačidla Štart. Moto sa zapne pomocou spínača na I1 a vypne pomocou spínača na I2. Takto sa garážové brány otvoria. Teraz bude program čakať desať sekúnd, čo je nami nastavený čas. Potom sa motor zapne v druhom smere, kým sa nespustí spínač na I3. Mali by ste tiež skúsiť meniť čas oneskorenia.
3.6.2 Čakanie na vstup Spolu s prvkom oneskorenia sú tu ďalšie dva prvky, ktoré na niečo čakajú, ako programu dovolí pokračovať. Prvok Wait for Input čaká, kým nie je jeden zo vstupov rozhrania v určitom stave alebo sa nejako nezmenil. Tento prvok má päť variantov.
Môžete tiež použiť kombináciu vetviaci prvkov, ale čakanie na vstup je jednoduchšie a ľahšie na pochopenie. 3.6.3 Čítač pulzov Veľa modelov robotov fischertechnik tiež používa pulzný kolieska. Táto ozubené kolieska pri každej otáčke štyrikrát zmení spojenie spínača. S týmito pulzními kolieskami môžete zapnúť motor na presne určený počet otáčok, skôr než na určitú dobu. Budete potrebovať spočítať počet pulzov na vstupe rozhraní. Pre tento účetl je tu prvok Pulse counter, ktorý čaká na užívateľom nastavený počet pulzov. V prípade tohto prvku môžete nastaviť, či sú za pulzy považované akékoľvek zmeny alebo len zmeny 0-1 alebo 1-0. S pulzními kolieskami normálne čakáte na zmeny v akomkoľvek smere, takže rozlíšenie 8 krokov na otáčku získate s 4 zuby kolieska. 3.6.4 Počítadlo cyklov Pomocou prvku Counter Loop môžete veľmi ľahko určitej časti programu niekoľkokrát opakovať. Zobrazený príklad má na M1 pripojenú lampu, ktorá sa desaťkrát rozsvieti a zhasne. Prvok počítadlá cyklov v dobe má zabudované počítadlo. Keď program vstúpi do čítača vstupom = 1, počítadlo je nastavené na 1. Keď program vstúpi do čítača vstupom +1, pridá sa na počítadle 1. Podľa toho, či je počítadlo väčšia, než vami stanovená hodnota, program opustí čítač vetiev Áno (J ) alebo Nie (N). Výstup Áno je tak použitý, keď cyklus prebehol toľkokrát, koľkokrát ste nastavili. Ak je potrebné ďalšie priechod cyklom, program opustí čítač skrze vetva Nie. Ako v prípade rozvětvovacího prvku môžete vymeniť výstupy Áno a Nie skrze okno vlastností.
3.7 Online a download - aký je rozdiel? Zatiaľ sme testovali naše ovládacie programy v móde online. Týmto spôsobom ste boli schopní sledovať postíme programu na obrazovke, pretože práve aktívny prvok bol označený na obrazovke červeno. Online mód je pre pochopenie programov alebo pre hľadanie chýb. V móde online môžete tiež program zastaviť a opäť v ňom pokračovať stlačením tlačidla Pause. Je to veľmi praktické, ak chcete preskúmať niečo ohľadom svojho modelu bez úplného zastavenia programu. Tiež sa hodí, keď sa snažíte pochopiť spôsob fungovania programu. Pomocou tlačidla Step môžete spustiť program v jednotlivých krokoch, prvok po prvku. Zakaždým, keď stlačíte tlačidlo Step, program sa presunie k ďalšiemu prvku programu. Keď spustíte prvky Time Delay alebo Wait, môže programu chvíľu trvať, než sa presunie k ďalšiemu prvku. Pre váš ROBO TX kontrolér môžete tiež použiť možnosť download namiesto online. V móde onlinejsou programy spúšťané vaším počítačom. V tomto móde rozhranie musí byť spojené s počítačom po celú dobu behu. Na druhú stranu, v móde Download program spustený samotným rozhraním. Váš počítač uloží program do ROBO TX kontroléra. Akonáhle je toto hotovo, spojenie medzi počítačom a rozhraním možno zrušiť. Teraz môže rozhranie spustiť ovládací program nezávisle na počítači. Mód download je dôležitý napríklad pri programovaní mobilných robotov, pre ktoré by bol spojovací kábel medzi PC a nimi na obtiaž. Aj tak by ale ovládacie programy mali byť najprv odskúšané online, aby bolo ľahšie nájsť možné chyby. Akonáhle je otestovaný, program môže byť stiahnutý do ROBO TX kontroléra. Problematický USB kábel môže byť nahradený Bluetooth spojením. Takýmto spôsobom nemá model obmedzený pohyb aj v móde online (pozri manuál k ROBO TX kontrolera). Mód online má ale oproti download výhody. V porovnaní s rozhraním má počítač väčšiu operačnú pamäť a vykonáva výpočty rýchlejšie. To je výhodné u väčších programov. Tiež môžu byť v priebehu ROBO TX kontrolér a ROBO rozhranie ovládané súčasne programom. Prehľad oboch módov Mód Výhoda Online
Nevýhoda
Spustení programu je možné sledovať na Počítač a rozhranie musí zostať prepojené. obrazovke. Aj veľké programy fungujú veľmi rýchlo. Možno súčasná kontrola ROBO TX kontroléra a ROBO rozhrania. Podporované skoršie inteligentné rozhranie. Možnosť použitia panelov. Program možno pozastaviť a potom opäť spustiť.
Download Počítač a rozhrania možno po stiahnutí Skoršie inteligentné rozhranie nie je oddeliť. podporované. Nemožno sledovať na obrazovke priebeh programu. Použitie módu download Ak máte ROBO TX kontrolér alebo ROBO rozhranie, môžete previesť ovládací systém garážových brán do rozhrania pomocou tlačidla Download. Najprv sa zobrazí dialógové okno, ktoré vidíte vpravo. ROBO rozhranie má niekoľko úložísk programov, RAM a dve Flash pamäte. Program v
RAM je stratený, akonáhle odpojíte rozhranie od napájania alebo sa vybijú batérie. Program uložený vo Flash pamäti na druhú stranu, zostane uložený v rozhraní aj bez napájania po celé roky. Programy vo Flash pamäti môžete pochopiteľne kedykoľvek prepísať. Načítanie do RAM je však znateľne rýchlejšie a preto ho odporúčame na účely skúšania. Vo Flash pamäte môžete uložiť viac programov, napřéklad niekoľko módu správania pre mobilného robota. Môžete vybrať, spustiť a zastaviť viac programov pomocou displeja a tlačidiel výberu na ROBO TX kontroléra. Ak je aktívna voľba Štart program after download, program sa spustí ihneď po stiahnutí. Aby ste zastavili program, stlačte ľavé tlačidlo výberu na TX kontroléra. Pre mobilné roboty je ale lepšia voľba Štart program with key on Interface. To preto, že ak nemáte Bluetooth rozhranie, musíte pred tým, že program uvedie vášho robota do pohybu, odpojiť USB kábel. V tomto prípade spustíte stiahnutý program pomocou ľavého tlačidla výberu na TX kontroléra. Pomocou funkcie Autostart na ROBO TX kontroléra sa program automaticky spustí, akonáhle je rozhranie napájané. Týmto spôsobom môžete napríklad napájaný rozhrania skrze adaptér s časovým spínačom a spustiť program každý deň v rovnakom čase. Potom nemusíte nechávať rozhrania neustále spustené alebo spúšťať program pomocou výberového tlačidla zakaždým, keď ho zapnete. Poznámka: Popis funkcií ROBO TX kontrolera môžete nájsť v priloženom manuáli.
3.8 Tipy a triky Zmena prepojenia liniek Keď posuniete prvok, ROBO Pro sa pokúsi prispôsobiť správnym spôsobom spojovacie linky. Ak sa vám nepáči prispôsobená linka, môžete jednoducho zmeniť spojovacie linky tak, ako vám príde vhodné, pomocou kliknutím ľavým tlačidlom myši na linku, pridržaním a pretiahnutím. Podľa toho, kde je myš umiestnená na linke, pohne sa roh hrany linky. To je zobrazené pomocou rôznych kurzorov myši: Keď je myš nad vertikálny linkou, môžete pohnúť celú vertikálnu linkou pridržaním ľavého tlačidla myši. Keď je myš nad horizontálnou linkou, môžete pohnúť celou horizontálne linkou pridržaním ľavého tlačidla myši. Keď je myš nad naklonenú spojovací linkou, je do nej pri ľavom kliknutí vložený nový bod. Musíte pridržať ľavé tlačidlo myši a nepúšťať ich, kým nie je myš presne na mieste, kde chcete umiestniť nový bod. Keď je myš umiestnená blízko koncového bodu alebo rohu spojovacích liniek, môžete pohnúť týmto bodom, zatiaľ čo držíte stlačené ľavé tlačidlo myši. Môžete pohnúť len koncom pripojené línie k inému spojenia zodpovedajúceho programovacieho prvku. V tomto prípade koncový bod prepojovacie linky bude napojený k tejto prepojovacej linke. Inak sa bod nepresunie.
Iný postup prepájanie liniek Prepájať linky možno aj pomocou presunu programovacieho prvkov. Keď pohnete programovacím prvkom tak, že jeho vstup je jeden alebo dva body pod výstupom z iného, vytvorí sa medzi nimi spojovaciu linka. Toto platí aj pre výstup, ktorý je presunutý nad vstup. Potom môžete pohybovať programovacím prvkom do jeho finálnej pozície alebo načrtnúť ďalšie linky pre zostávajúce vstupy a výstupy.
4. Úroveň 2: Práca s podprogramami Akonáhle ste úspešne vytvorili a otestovali váš prvý kontrolný program, ste pripravení na ROBO Pre Level 2. teraz v menu Level vyberte položku Level 2: subprograms. Iste ste si hneď všimli rozdielu: okno s prvkami zmizlo a na jeho mieste vľavo sú dve okná nad sebou.
Ničoho sa nebojte! Okno s prvkami je stále tu, len je teraz prázdne. V úrovni 2 je viac programovacích prvkov, takže by ste medzi nimi stratili prehľad, keby boli všetky v jednom okne. Z tohto dôvodu od úrovne 2 ďalej sú všetky prvky zoradené v skupinách prvkov. Prvky sú zoskupené
do skupín veľmi podobne, ako sú v počítači súbory v priečinkoch. Keď vyberiete skupinu z horného okna naľavo, v spodnom okne sa vám objaví všetky prvky. Prvky z úrovne 1 nájdete v skupine Program elements / basic elements. Keďže je okno s prvkami teraz polovičná, musíte pre zobrazenie prvkov nižšie popojet s ponukou. Teraz sa ale dostane na tému kapitoly - podprogramom. Doterajšie programy, ktoré sme tvorili, neboli tak veľké, aby sme ich nezvládli naraz, ale iste si viete predstaviť, že v prípade väčších projektov by takto mohli vzniknúť veľmi komplikované vývojové diagramy. Zrazu by vaša pracovná plocha bola plná prvkov, všade by boli spojovacie linky a vy ste museli neustále posúvať obrazovkou. Jednalo by sa o chaos, do ktorého ale možno vnéct poriadok pomôcť podprogramov.
4.1 Váš prvý podprogram Podprogram je veľmi podobný programom, s ktorými ste sa už zoznámili. Aby ste si ich prezreli detailnejšie, musíte najprv vytvoriť nový program a nový, prázdny, podprogram vnútri tohto programu. Aby ste tak urobili, kliknite v nástrojovej lište na New a potom na SP New. Objaví sa okno, do ktorého vložíte názov podprogramu a jeho opis. Názov by nemal byť príliš dlhý (cca 8 až 10 znakov), inak by bol symbol podprogramu príliš veľký. Tieto údaje však môžete neskôr
meniť.
Akonáhle zatvorte okno New čiastkový program pomocou OK, objaví sa sa v lište podprogramov nový podprogram.
Kedykoľvek môžete prepínať medzi hlavným programom a podprogramom kliknutím na názov programu v lište podprogramu. Keďže sú obaja zatiaľ prázdne, neuvidíme medzi nimi rozdiel. Teraz chceme rozdeliť systém ovládania garážových dverí z predchádzajúcej kapitoly (pozri sekcia 3.6) do podprogramov. Tieto programy pozostávajú zo štyroch funkčných jednotiek: - Čakanie, kým nebude stlačené tlačidlo I1 - Otvorenie dverí - Čakanie desať sekúnd - Zatvorenie dverí Teraz chceme oddeliť otvorenie a zatvorenie do dvoch podprogramov. Každý podprogram môže byť vyvolaný z hlavného programu pomocou jednoduchého symbolu. Čakanie na senzor I1 a desetisekundové čakanie zostáva v hlavnom programe, keďže každé z nich pozostáva iba z jedného prvku. Práve ste dali dohromady nový program s čiastkovým programom pomenovaným Podprogram 1. Avšak by lepšími názvy pre tieto podprogramy bolo otvoriť a zatvoriť. Už existujúce podprogramy môžete premenovať výberom podprogramu 1 skrze lištu podprogramov, ak už nie je označený. Potom prepnite skrze lištu funkcií do okna Properties (vlastnosti) pre podprogram kliknutím na Properties. Tu môžete zmeniť názov na otvoriť. Väčšina ostatných okien môže byť úpravy v úrovniach Advanced (pokročilý) a Expert. Položku Symbol
creration vysvetlíme neskôr. Keď kliknete na lište na Description, môžete zmeniť skôr vloženej opisy, hoci "Môj prvý podprogram" je vcelku trefný popis. V lište funkcií kliknite teraz na Function, aby ste mohli naprogramovať funkciu podprogramu. Teraz vidíte opäť okno programu, do ktorého ste vkladali programovacie prvky v predchádzajúcej kapitole vo vašom ROBO Pro programu. Uistite sa, že ste v lište podprogramov vybrali podprogram otvoriť.
Ste pripravení napísať váš prvý podprogram? Ideme na to! Ako podprogram začína? Dobrá otázka! Hlavné programy ste vždy začínali pomocou počiatočného prvku. Podprogram začína podobným prvkom menom čiastkový program Entry (vstup do podprogramu). Tento prvok sa takto nazýva, pretože skrze tento prvok sa dostanete z hlavného programu do podprogramu. Tu nemožno použiť Start element (počiatočné prvok), pretože pochopiteľne nezačína žiadny nový proces. Start element
Začína nový, nezávislý proces.
Subprogram entry
Tu je ovládací program odovzdaný hlavným programom podprogramu.
Čiastkový program entry nájdete v okne skupiny prvkov pod čiastkový program I / O. Teraz umiestnite tento prvok pod vrcholom programovacieho okna podprogramu otvoriť. Môžete tiež dať prvku čiastkový program Entry iný názov, ako Entry, ale to bude potreba až neskôr, keď napíšete podprogram s viacerými vstupmi. Podprogram teraz beží identicky s časťou hlavného programu, ktorá ho otvára. Môžete spustiť motor M1 doľava (proti smeru hodinových ručičiek), počkať, kým senzor na vstupe I2 nie je uzatvorený a potom opäť motor vypnúť. K ukončeniu programu použite čiastkový program Exit. Rozdiel medzi čiastkový program Exit a Stop element je rovnaký ako medzi čiastkový program Entry a procesom Štart. Stop element
Zastaví priebeh nezávislého procesu.
Subprogram exit
Tu je ovládací program odovzdaný podprogramom späť hlavnému programu.
Kompletné podprogram by mal vyzerať nejako takto:
Uistite sa, že ste naozaj vstúpili do podprogramu Otvoriť a nie do hlavného programu. Teraz prepnite z otvoriť späť na hlavnú program.Nyní uvidíte programovacie okno hlavného programu, ktoré bude prázdne. Ako obvykle vložte Start element (nie čiastkový program entry!) Do hlavného programu. Zaraďte prepínač na I1, ktorý má otvoriť dvere garáže. Toto tiež urobte v hlavnom programe. Teraz môžete vložiť váš nový podprogram do hlavného programu (alebo iného podprogramu) ako normálny programovací prvok. Nájdete ho v skupine prvkov nazvanej Loaded programs. Ak ste ešte neuložili súbor, bude sa volať unnamed1. Ak ste načítali ďalšie súbory programov, môžete tiež vybrať podprogramy patriace k iným súborom v okne výberu. Týmto spôsobom je veľmi jednoduché používať podprogramy z iného súboru. V skupine prvkov Loaded programs / unnamed1 nájdete dva zelené symboly podprogramu. Prvý s názvom hlavného programu, je symbol pre hlavný program. Ten sa nepoužíva príliš často podprograme, takže je dokonca možné, že ste vytvorili už viac programov pre rôzne stroje, ktoré boli hlavnými programami. Otvoriť je názov, ktorý ste vložili skrze Properties. Teraz vložte symbol podprogramu rovnakým spôsobom, ako robíte s normálnymi programovacími prvkami, do hlavného programu. Teraz, ak chcete, môžete ukončiť váš hlavný program pomocou prvku Stop a vyskúšať, ako funguje. Vráta budú schopná sa otvoriť stlačením tlačidla na I1, ale ešte sme nenaprogramovali zatváranie. To urobíte tak, že napíšete ďalšie podprogram. Stlačte tlačidlo SP New na nástrojovej lište a vložte názov zavrieť do okna New čiastkový program. Nemusíte nutne vkladať popis, ale hodí sa to, aby ste neskôr nezabudli, k čomu program slúži.
Teraz vstúpte do programu pre zatváranie garážových brán v programovacom okne pre program zatvoriť. Ešte raz, začnite pomocou čiastkový program entry. Najprv by sa mal motor M1 otáčať doprava (v smere hodinových ručičiek). Akonáhle sa uzavrie koncový prepínač na I3, motor M1 by mal zastaviť. Opäť ukončite podprogram pomocou čiastkový program exit. Teraz použite lištu podprogramov pre prepnutie späť na hlavný program. Ak ste predtým zatvorili hlavný program pomoci prvku Stop, aby ste ho vyskúšali, teraz musíte prvok Stop zmazať. Po otvorení by mala garážové vráta zostať po desať sekúnd otvorená, než sa opäť zatvoria. Po desiatich sekundách prvku Time Delay vložte symbol podprogramu Zavrieť zo skupiny prvkov Loaded programs / unnamed1. Hlavný program a dva podprogramy by mali vyzerať nasledovne: Hlavný program
Otvoriť
Zavrieť
Program začne prvkom Štart v hlavnom programe. Potom čakám, kým senzor I1 nie stištěn. To by ste tiež mohli urobiť pomocou prvku Wait for Input (pozri časť 8.1.9). Po stlačení prepínača I1 hlavný program otvorí podprogram otvoriť. To prepne ovládanie programu na čiastkový program Entry pre podprogram otvoriť. Podprogram otvoriť otvorí garážové vráta a dosiahne svoj čiastkový program exit. V tomto čase sa program vráti do hlavného programu. Potom, čo podprogram skončí, hlavný program čaká po desať sekúnd. Potom program spustí podprogram zavrieť, ktorý vráta zavrie. Potom sa ovládanie vráti z podprogramu zavrieť do hlavného programu a prvku Stop, ktorý program ukončí. 4.2 Knižnica podprogramov Je veľmi jednoduché kopírovať podprogramy z jedného súboru do iného: otvorte oba súbory vložíte podprogram z jedného súboru do druhého pomocou skupiny prvkov Loaded programs. Pre často používané podprogramy je však postup ešte jednoduchší skrze použitie Library. ROBO Pro obsahuje knižnicu predpripravených podprogramov, ktoré môžete používať stále dokola. Rovnako tak môžete vytvoriť vlastnú knižnicu, v ktorej môžete mať uložené vlastné často používané podprogramy. 4.2.1 Použitie knižnice Library je základni rozdelená do dvoch hlavných skupín. V skupine Construction kit nájdete podprogramy, ktoré môžete použiť pre modely istých stavebníc. V skupine General nájdete podprogramy, ktoré môžete použiť pre všetky možné modely. Väčšina podprogramov v skupine General však vyžaduje techniky z úrovne 3, ktoré vysvetlíme až v nasledujúcej kapitole. Každý výpočtový model, napríklad ROBO Mobile Set má svoju vlastnú podskupinu v skupine Construction kit. Tá je niekedy ďalej rozdelená podľa modelov, ktoré nájdete v návode na zostavenie. Keď vyberiete Construction kit alebo jeden z modelov, pripravené podprogramy pre tento modiel sa zobrazí v okne prvkov. Ak nabehnete na nejaký zo symbolov podprogramov myšou, zobrazí sa krátky popis. Keď vložíte podprogram do vášho programu, môžete zobraziť detailný popis vybraním podprogramu v lište podprogramov a kliknutím na Decsription v lište funkcií. Pozor: Keď vložíte program z knižnice, v niektorých prípadoch budú vložené aj ďalšie podprogramy, ktoré sú pouţiť týmto podprogramom. Môžete odstrániť všetky tieto podprogramy výberom funkcie Undo v menu Edit. 4.2.2 Použitie vašej vlastnej knižnice Potom, čo ste už nejakú chvíľu pracovali s ROBO Pro, iste máte nejaké podprogramy, ktoré používate častejšie, ako iné. Aby ste zabránili zakaždým hľadanie správneho súboru, môžete si tiež vytvoriť vlastnú knižnicu podprogramov, ktorá funguje presne tým istým spôsobom ako knižnica preddefinovaných podprogramov. Vaše vlastné knižnica pozostáva z jedného alebo viacerých ROBO Pre súborov v jednej zložke. Každý súbor v tomto priečinku bude reprezentovaný vlastnou skupinou v zobrazení výberu skupiny. Môžete špecifikovať, v akej zložke by ste radi mali uloženú svoju knižnicu. Tak môžete urobiť pred menu File a Own library directory. Základné umiestnenie vašej knižnice je C: / Programy / ROBOPro / Own Library. Ak máte v počátači vlastnú užívateľskú zložku, je dobrým nápadom vytvoriť si tu vlastný priečinok a v nej uložiť knižnicu. Rada: Pre ľahšie hľadanie je dobré všetky svoje programy ukladať do zvláštnbí zložky. Máte k nim potom ľahší prístup.
Organizácia vašej knižnice ROBO Pre nemá žiadne špeciálne funkcie pre úpravu knižnice. Postup je ale jednoduchý. Ak chcete pridať podprogramy do knižničný skupiny alebo ich vybrať, musíte najprv načítať zodpovedajúci súbor. Tento súbor nájdete v zložke, ktorú ste určili za svoju knižnicu. Teraz môžete, napríklad, načítať druhý súbor a pretiahnuť podprogram zo skupiny Loaded programs do hlavného programu knižnice. V knižnici nie je hlavný program skutočným programom, ale skôr kolekcií všetkých podprogramov v knižnici. V prípade knižníc nie samotný hlavný program zobrazený v okne prvkov. Pochopiteľne môžete tiež mazať z knižnice podprogramy alebo je tu modifikovať. Ak ste modifikovali súbor knižnice a uložili ste ho, potom musíte vybrať položku menu Update own library v menu File. Tým vylepšíte zoznam súborov v okne skupín. 4.3 Editácia symbolov podprogramov Ako ste videli v predchádzajúcej sekcii, ROBO Pro automaticky generuje symbol podprogramu pre vaše podprogramy. Môžete ale tiež nakresliť vlastné symboly, ktoré jasnejšie povedia, k čomu podprogramy slúži. Kvôli tomu musíte prepnúť v okne podprogramov Properties z automatických na manuálne symboly. Potom môžete prepnúť z Properties na Symbol a editovať tu symbol podprogramu. Kresliace funkcie v skupine prvkov nájdete v okne pod položkou Draw. Pod Draw / Shapes nájdete základné grafické prvky a textové objekty s rôzne veľkými fonty. V iných skupinách pod Draw nájdete funkcie pre zmenu farby a podobné vlastnosti vybraných prvkov. Detaily, ako použiť kresliace funkcie sú v kapitole 10. Tiež si všimnite funkcií v hlavnom menu pod Draw. Môžete tiež pohybovať sa spojeniami v podprograme, ale nemôžete mazať spojenia alebo pridávať nové. Pri symbole podprogramu je vždy jedno spojenie pre každý vstup alebo výstup. Spojovacie prvky sú generované automaticky, aj keď musíte prepnúť na manuálne generovanie symbolov. Akonáhle opustíte okno pre editáciu symbolu, budú následne upravená všetky všetky miesta v hlavnom programe a podprogramoch, ktorá súvisí. Uvedomte si, prosím, že ak ste premiestnili v podprograme spojenie, môžete spôsobiť zmätenie v programe. Konce spojovacích liniek nemusí už byť na správnych miestach, čo bude zobrazené na konci spojenia krížikom (viď obrázok). Obvykle stačí kamkoľvek kliknúť ľavým tlačidlom myši pre opravu spojovacie linky. Linka sa potom automaticky zrovná. Môže sa ale stať v prípade podprogramov s viacerými linkami, že budete musieť linku ďalej editovať. 4.4 Tango Zatiaľ ste sa zoznamovali iba s vcelku jednoduchými programami a nemôžete sa dočkať nových programovacích prvkov a možností. Než sa ale v nasledujúcej kapitole pustíme do premenných a ďalších zložitých vecí, pozrieme sa, čo všetko sa dá robiť s programovacími prvkami z druhej úrovne. Ako vy, napríklad mohol váš pohyblivý robot tancovať tango? Tango je tanec na hudbu o 2/4 takte. Základné kroky obsahujú 8 krokov v troch taktoch. Pre pánov je sekvencia krokov
nasledovné: - Jeden pomalý krok dopredu ľavou nohou (1/4 taktu) - Jeden pomalý krok dopredu pravou nohou (1/4 taktu) - Teraz 4/8 "hojdavý krok". Pohnete nôh len veľmi ľahko, len aby ste zmenili ťažisko. Najprv premiestnite svoju váhu pri 1/8 takte na ľavú nohu, potom pri 1/8 na pravú nohu a opäť pri 1/8 na ľavú nohu a pri 1/8 na pravú nohu. Pre dokončenie sa na 1/8 zastavte. - Nasledujú tri rýchle kroky: Najprv urobte malý krok vzad pravou nohou, aby ste ju položili vedľa ľavej nohy. Potom urobte úkrok stranou ľavou nohou a nakoniec dajte pravú nohu vedľa ľavej. Tieto tri kroky tiež trvajú každý 1/8 taktu a všetko je zakončené zastavením na 1/8. Pre ženu je sekvencia krokov symetrická, čo znamená, že doľava a doprava, rovnako ako dopredu a dozadu má naopak. Celé sa to opakuje, kým hudba neutíchne, nedostanete sa k okraju miestnosti alebo vás to neprestane baviť. V posledných dvoch prípadoch by ste sa mali opýtať na radu učiteľa tanca. Teraz sa ale vrátime k robotom. Možno už máte stavebnicu Fischer pre pohyblivé roboty. Roboti v tejto stavebnici majú väčšinou dve kolá, každé s nezávislým motorom. Navádzanie týchto robotov prebieha rovnako ako u pásových vozidiel. Keď pohybujete oboma kolesami v rovnakom smere, robot jede vpred. Keď sa jeden z motorov zastaví, robot zatočí.
Prirodzene môžete s týmito robotmi jazdiť aké dozadu, dopredu a oblúkom. Keď obaja motory pustíte každý v inom smere, robot sa otočí na mieste. Teraz si vyskúšame prerobiť kroky tangá na otáčky motora. Jedna štvrtina taktu bude raz otáčkou kolesá. Získame toto: - Ľavé koleso o jednu otáčku dopredu (zvyčajne motor M2 doľava). - Pravé koleso o jednu otáčku dopredu (zvyčajne motor M1 doľava). Teraz prichádza "hojdavý krok". Prirodzene náš robot nemôže pohybovať telom bez "nôh". Tiež je úkrok v treťom takto pre robota dosť zložitý. Preto urobíme ľahký obrat doľava v druhom takte a potom v treťom takte uděláma drobný pohyb dopredu, aby sme simulovali úkrok stranou. V druhej takto to teda vyzerá nasledovne: - Ľavé koleso o 1/2 otočky späť (zvyčajne motor M2 doľava). - Pravé koleso o 1/2 otočky vpred. - Ľavé koleso o 1/2 otočky dozadu. Ako na "ľavej dozadu", tak "pravé dopredu" robot otočí doľava. V treťom takte sa stane nasledovné: - Pravé koleso o 1/2 otočky dozadu. - 1/2 otočky jet vpred. - Pravé koleso dozadu a ľavé koleso vpred o 1/2 otočky. Robota najprv otočíme trochu doprava, potom podíde dopredu (v smere doľava), pre simuláciu úkroku doľava, potom do robot opäť otočí dopredu.
Teraz skúste vykonať tieto kroky v ROBOPro. Spôsob sa bude líšiť podľa toho, či používate TX kontrolér s enkódovanými motormi alebo model s pulzními prepínačmi. Oba prípady sú popísané zvlášť ďalej v častiach 4.4.1 a 4.4.2. 4.4.1 Ovládanie motora s pulzními prepínačmi Najlepšie je, keď začnete s čiastkovým programom pre jednoduché kroky. Podprogram pre prvý krok "Levi koleso 1 otočka" vidíte vpravo. Zvyčajne je motor pre ľavé koleso pripojený k rozhraniu výstupu M2 a správny pulzný prepínač k rozhraniu vstupu I2, načo proti smeru hodinových ručičiek je dopredu. Pre prvý krok zapnite motor M2 proti smeru hodinových ručičiek (najvyššia rýchlosť) a potom čakajte 8 pulzov na vstupe I2. 8 polovičných pulzov znamená, že počítate ako 0-> 1 a 1-> 0. Môžete vybrať prvok v okne property čítače pulzov. U mnohých modelov 8 polovičných pulzov zodpovedá jednej otočke kolesá. To ale tiež môže závisieť na prenose a nastavenia čítačov pulzov, napríklad 16 polovičných pulzov na otočku. Akonáhle vložíte 8 pulzov, opäť odpojte motor M2 a podprogram je u konca. Tento podsystém môžete nazvať napríklad "Doľava 1/4". Pre ďalšie kroky ešte stále potrebujete nasledujúce podprogramy: - Doprava 1/4 (ako doľava 1/4 s M1 a I1 namiesto M2 a I2). - Doľava 1 / 8R (ako doľava 1/4, ale 4 namiesto 8 polovičných pulzov a dozadu, potom motor v smere hodinových ručičiek). - Doprava 1/8 (ako doprava 1/4, ale 4 namiesto 8 polovičných pulzov). - Doprava 1 / 8R (ako doprava 1/8, ale späť, zatiaľ čo motor ide po smere hodinových ručičiek). Pochopiteľne nemôžete čakať 1/8 skrze čítač pulzov, pretože počas pauzy sa žiadna kola nepohybujú. Namiesto toho použijeme prvok delay time. V štandardných modeloch ROBO Mobile Set 4 polovičné pulzu zodpovedajú 0,3 sekunde. Ale v závislosti na posune a motora to môže byť u vášho modelu inak. Tiež vytvorte podprogram pre 1/8 pauzu. Podprogram obsahuje okrem vstupu a výstupu podprogramu iba jediný programovací prvok, ale potrebujete zastaviť dvakrát. Ak pre to vytvoríte podprogram, môžete meniť ľahšie dobu pauzy. Teraz vám môže prísť, že by ste mali delay time použiť pre kroky namiesto počítadlá. Potom by nebol problém prispôsobiť čas pauzy a čas kroku. Nevýhodou by ale bolo, že by sa pravý a ľavý motor nikdy netočili rovnako rýchlo a robot by preto netancoval vždy rovnako. Keď použijete čítač pulzov, tak naopak zaistíte, že sa budú obe kolesá pohybovať úplne rovnako, aj keď je akumulátor vybitý alebo sa jedno koleso pohybuje s väčšími ťažkosťami, ako druhé. Stále ešte nám chýba podprogramy pre 1/8 kroku vpred a 1/8 otočky na mieste. Mali by fungovať rovnako ako ostatné kroky, iba ale zapnete dva motory namiesto jedného. Jediná otázka je, ako to urobiť pomocou pulzných prepínačov. Prosté nastavenia čítačov jedného po druhom nebude stačiť. Čakanie iba na jeden z dvoch motorov by išlo, ale potom by boli problémy, keď by sa obidva motory netočili rovnako rýchlo. Najlepším riešením je spustiť oba motory a potom čakať, kým sa nezmení čítač pulzov jedného z nich. Potom ihneď zastavte motor, ktorého čítač pulzov sa zmenil a počkajte, kým sa sa nezmení druhý čítač pulzov a vy môžete zastaviť druhý motor. Je to však trochu komplikované, pretože neviete, či sú počítadlá pulzov na začiatku otvorené alebo zatvorené. Pretože existujú dva čítače pulzov, sú celkom štyri možnosti. Našťastie ale existuje v knižnici už kompletná podprogram pre túto funkciu. Vytvorte podprogram "Dopredu 1/8" a vložte do neho podprogram "SyncStep" z knižnice v priečinku "ROBO Mobile Set". Ak neviete, ako sa to robí, vráťte sa v návode na časti 4.2.
Teraz pre všetky zvedavé. Podprogram "SyncStep" je nižšie zobrazený a ešte si ho vysvetlíme. Ľudia, ktorým stačí sa na podprogram pozrieť, aby ho pochopili, ani nemusí čítať nasledujúci odsek. Je v poriadku použiť podprogram, bez toho aby sme vedeli, ako funguje. Hlavné je, keď viete, čo robí.
Podprogram sa najprv spýta na stav oboch čítačov pulzov, I1 a I2. V závislosti na tom, či sú I1 a I2 0 alebo 1, podprogram preskočí na 4 rôzne vetvy programu. Vetva úplne naľavo je pre prípad, v ktorom I1 a I2 majú na začiatku hodnotu 1. Podprogram musia potom čakať, kým I1 alebo I2 nebudú mať hodnotu 0. Tak bude urobené v slučke s dvoma rozvětvovacími prvkami. Kým majú I1 a I2 hodnotu 1, program sa točí v kruhu. Akonáhle ale jeden zo vstupov získa hodnotu 0, zodpovedajúce motor sa ihneď vypne. Potom podprogram čaká pomocou prvku "Wait on input", kým aj druhý vstup nie je 0 a potom vypne druhý motor. Slučka, v ktorej čaká na oba potrebné vstupy, je potreba, pretože neviete, ktorý z motorov sa točí rýchlejšie a ktorý z čítačov pulzov sa vďaka tomu skôr zmení. Ostatné tri vetvy pracujú rovnako, ale začínajú z iného počiatočného stavu a preto čakanie na konečný stav je opačné, než bol stav počiatočný. Napríklad v druhej vetve zľava, na začiatku I1 = 1 a I2 = 0, ako môžete ľahko zistiť, keď budete sledovať cestu skrz prvé dva vetviaci prvky. Druhá vetva potom čaká, až budú hodnoty I1 = 0 a I2 = 1. Ak chcete napísať program sami, musíte veľmi pozorne sledovať, aké sú počiatočné hodnoty čítačov pulzov v každej vetve, a na ktoré teda podľa toho musíte čakať. Ak ste si už prešli niečo v ďalšej kapitole o premenných, pokúste sa napísať podprogram s rovnakými funkciami pomocou premenných. Je to jednoduchšie, pretože môžete uložiť počiatočnú hodnotu dvoch čítačov pulzov pomocou príkazového prvku = v dvoch premenných a potrebujete iba jednu programovú větec, v ktorej môžete porovnať aktuálnu hodnotu vstupu s hodnotou premenných. Späť k tangu: účel proprogramu SyncStep spočíva v napísaní podprograme "1/8 dopredu", ktorý ide
4 polovičné kroky dopredu. Keď spustíte motory M1 a M2 a potom otvorte podprogram SyncStep, motory sa opäť zastaví po polovičnom kroku. Potom musíte urobiť toto všetko štyrikrát a najlepšie to funguje pomocou prvku slučky. Ak ste to sledovali pozorne, možno si hovoríte, že nie je dobré, aby boli po konci podprogramu SyncStep motory vypnuté a potom hneď zase zapnuté. U pomalšieho motora je veľmi krátka prestávka medzi vypnutím a zapnutím, ktoré je potrebné, aby motory vzájomne prispôsobili rýchlosť. To však motorom nevadí. Rozhranie totiž upravuje rýchlosť motorov pomocou neustáleho vypínanie a zapínanie. Hovorí sa tomu PWM (Pulse width modulation). Naopak, u rýchlejšieho motora dochádza k vypínaniu a zapínanie tak rýchlo, že to na motore nie je vôbec poznať. Avšak v podprograme SyncStep môžete tiež upustiť od vypínania druhého motora a vypnúť oba motory, akonáhle sa dokončí slučka. U programovanie môžu vždy rozdielne postupy viesť k rovnakému výsledku. Vyskúšajte, či robot s čiastkovým programom SyncStep naozaj jeden dopredu lepšie, než keď len zapnete určitý počet pulzov na oboch motoroch. Posledný podprogram, ktorý ešte budeme potrebovať, by mal obrátiť robota o 4 půlkroky doprava na mieste. Je zaujímavé, že môžete použiť úplne rovnaký podprogram "SyncStep" ako pre podprogram "1/8 dopredu". Podprogram "SyncStep" zastaví iba motory a potom príkaz pre zastavenie nezávisí na smere otáčania. Spustíte motor M1 v slučke jednoducho v smere otáčania napravo namiesto naľavo. Čítače pulzov sú tiež nezávislé od smeru otáčania. Je to rovnaké, nech sa motory otáčajú doľava alebo doprava, čítače pulzov sa vždy zmení z 0-> 1 az 1-> 0. Aby ste vytvorili podprogram "Otočka 1/8", musíte len skopírovať porprogram "1/8 dopredu" a zmeniť smer otáčania. 4.4.2 Ovládanie motora a kódovacími motory Možno by ste mali začať s podprogramy pre jednotlivé kroky. Podprogram pre prvý krok "Leve koleso 1 otočku" vidíte vpravo. Normálne je motor pre ľavé koleso pripojený k rozhraniu výstupu M2 a zodpovedá mu pulzný prepínač na rozhraní vstupe I1 s tým, že proti smeru hodinových ručičiek znamená dopredu. Pre prvý krok zapnite motor M2 proti smeru hodinových ručičiek (najvyššia rýchlosť) a čakajte 75 celých pulzov na vstup C2. 75 pulzov znamená, že budete 75 krát čakať na zmenu 0-> 1 nasledovanú zmenou 1-> 0. Kódovacie motory majú pokročilé ovládanie motora, ktoré motor spustí a potom opäť vypne po nastavenom počte pulzov. Pre ukončenie vyberte Action Distance v okne properties a zadajte ako Distance 75 pulzov. Tento prvok ale nemusí čakať na motor, keď dosiahne svoj cieľ. Program by mohol robiť iné veci, zatímto motor beží. Avšak v tomto prípade chceme len počkať na chvíľu, kedy motor dorazí k svojmu cieľu. Pre ukončenie má každý výstup motora svoj vlastný vstup "cieľ dosiahnutý". Pre motor M2 je tento vstup M2E. Mimochodom, kódovacie motor potrebuje dve spojenia na TX kontroléra, výstup motora M1 až M4 a čítacie vstup C1 až C4. Kódovacie motor vždy využíva citácie vstup s rovnakým číslom ako má výstup motora. Pretože nemožno číslo počítadla nastaviť v okne properties alebo pokročilom ovládanie motora. Akonáhle motor dosiahne svoj cieľ, vymažte Action Distance, pretože ovládanie motora sa zastaví,
práve pri dosiahnutí cieľa. Motor potom už nereaguje na normálne príkazy ako doľava alebo doprava. Aby ste tak urobili, opäť použite advanced motor control, ale tentoraz s Action Stop. Avšak je to nevyhnutné iba ak chcete ovládať motor pomocou normálneho prvku motora. Motor reaguje na akcie v Advaced motor control tiež bez Action Stop. Pre ďalšie krokry potrebujete nasledujúce podprogramy: - Doprava 1/4 (ako doľava 1/4 s M1 a M1E namiesto M2 a M2E) - Doľava 1 / 8R (ako doľava 1/4, ale s 37 namiesto 75 pulzy a pospiatky, takže motor v smere hodinových ručičiek) - Doprava 1/8 (ako doprava 1/4, ale s 37 namiesto 75 polovičnými pulzy) - Doprava 1 / 8R (ako doprava 1/8, ale pospiatky, takže motor v smere hodinových ručičiek) Isteže nemôžete čakať po 1/8 pulzu pomocou čítača pulzov, pretože žiadne koleso sa pri pauze nepohybuje. Namiesto toho použijeme delay time. So štandardnými modelmi v ROBO TX Training Lab 37 pulzov zodpovedá 0.3 sekundám. To sa však môže líšiť model od modelu v závislosti na prenose a motora. Musíte teda najprv napísať podprogram pre 1/8 pauzu. Okrem vstupu a výstupu do podprogramu bude podprogram obsahovať len jeden programovací prvok, ale musíte mať dve pauzy. Keď vytvoríte podprogram pre toto, je jednoduchšie zmeniť dobu pauzy. Teraz môžete podotknúť, že môžeme tiež použiť delay time pre kroky namiesto pokročilého ovládanie motora. To by ukončilo problém s nutnosťou adaptovať čas pauzy a čas kroku. Nevýhodou by bolo, že pravý a ľavý motor by sa nikdy netočili rovnakou rýchlosťou, takže robot by netancoval vždy rovnako. Na druhú stranu, pomocou pokročilých nastavení motora zaistíte, že dve kolá vždy pôjdu rovnakú vzdialenosť, aj keď je batéria vybitá alebo sa jedno koleso otáča horšie, než druhé. Teraz potrebujeme podprogramy pre krok vpred 1/8 a 1/8 obrat na mieste. Pokročilé ovládanie motora taktiež ponúka možnosť ovládania dvoch motorov naraz pomocou akcií Synchronous a Synchronous Distance. Akcia Synchronous zaisťuje, že dva kódovacie motory sa otáča presne rovnakou rýchlosťou. Vo výsledku sa robot pohybuje skoro presne dopredu. Avšak úplne presne vpred nie je možné, pretože kolesá budú vždy trochu dostať šmyk. V našom prípade by sa mali M1 a M2 otáčať rovnakou rýchlosťou po vzdialenosť 75 pulzov. Pre to použite akciu Synchronous Distance. Pre motory so synchrónnym prepojením nie je signál dosiahnutého cieľa nastavený pre oba motory, kým oba motory nedosiahnu ciele. Je preto výhodné počkať, kým jeden z cieľov nedosiahne signálu. Nezabudnite na konci zastaviť obidva motory! Zistite, či sa robot naozaj pohybuje vpred s väčšou presnosťou pomocou akcie Synchronous Distance v porovnaní s ovládaním oboch motorov zvlášť pomocou akcie Distance. Posledný podprogram, ktorý potrebujeme, by mal robota otočiť doprava pri 37 pulzoch. Tu opäť použite ovládanie motora pomocou akcie Synchronous Distance s oboma motormi otáčajúcimi sa v rôznych programoch pre podprogram "Obrat 1/8": Vymyslite, akým smerom sa musí M1 a M2 otáčať, aby sa model otočil priamo na mieste. 4.4.3 Tango hlavný program Teraz keď máte všetky podprogramy pohromade, môžete začať s hlavným programom. Teraz už to nie je vôbec zložité. Ako hlavný program vyzerá uvidíte ďalej. Zobrazený hlavný program opakuje kroky tangá v nekonečnej slučke. Skúste použiť počítač slučku pre spustenie celej sekvencie tangá pětrkát za sebou. Pre tento účel skopírujte obsah hlavného programu do nového podprogramu a pridajte vstup a výstup podprogramu. Poto môžete spustiť
tento podprogram päťkrát za sebou v slučke.
Dokončený program tangá nájdete v zložke ROBOPro pod: Sample programs / Manual / Tango Encoder Motor / TangoSolo.rpp Sample programs / Manual / Tango Pulse Switch / TangoSolo.rpp Avšak, ak máte zodpovedajúceho robota, otestujte raz svoj vlastnoručne napísaný program alebo dokončený program. Teraz si možno hovoríte, že to je pekné, ale tancovať by mali dva. Napísať program, ktorý by vykonával kroky ženy nie je zložité. Musíte len vymeniť ľavú za pravú a dopredu za dozadu. Najprv načítajte váš program pre mužské kroky a uložte ho pod novým menom, napríklad TangoSoloZena.rpp. Teraz zmeňte podprogramy, napríklad Vpravo 1/4 na Vľavo 1 / 4B. Musíme kvôli tomu zmeniť M2 na M1 a smer otáčania z ľavého na pravé. Môžete zmeniť názov podprogramu kliknutím na záložku properties a vložiť nové meno. Meno sa tiež zmení automaticky v hlavnom programe.
Podprogram pre obrat 1/8 sa nezmení. Viete, prečo? Vymeňte doľava a doprava (M1 a M2 v podprograme) a dopredu a dozadu (motor doľava / doprava) v obrate 1/8 a porovnajte zmenený podprogram sa zmeneným. Ak máte dva pohyblivé roboty, načítajte do jedného program TangoSolo.rpp a do druhého TangoSoloZena.rpp. Ak máte len jedného robota, možno to budete chcieť skúsiť s niekým, kto má tiež robota. Pri sťahovaní by ste mali určiť, že program bude spustený skrze čidlo na rozhraní. teraz umiestnite oba roboty oproti sebe ako na obrázku nižšie, a obaja je v rovnakú chvíľu zapnite pomocou snímača (TX kontrolér) alebo PROG snímača (ROBO rozhranie) na oboch rozhraniach.
Ak ste obaja roboty spustili v približne rovnakej chvíli, budú spolu tancovať chvíľu tango zladene. Avšak, pretože motory a akumulátorynejsou úplne rovnaké, motory sa nebudú točiť úplne rovnako a skôr alebo neskôr sa roboti dostanú z taktu. Ako zariadiť, aby v ňom zostali, sa dozviete v ďalšej kapitole. 4.5 Tango 2: Komunikácia skrze Bluetooth alebo RF dáta link Aby ste zachovali rytmus, musíte skoordinovať pohyby oboch robotov. TX kontrolér má vstavaný Bluetooth modul. U ROBO rozhranie je k dispozícii ROBO RF dáta link. ROBO RF Data Link pozostáva z dvoch rádiových modulov. Rádiový modul rozhrania je ako barta vstavaný priamo do ROBO rozhrania, PC rádiový modul je v červenom kryte je pripojený k PC pomocou USB. Až doteraz ste zrejme používali rádiové spojenie iba na riadenie vašich robotov rádiom a teda nie po kábli. Bluetooth a RF dáta linka však dovedú omnoho viac: dva roboti si môžu vymieňať správy a
komunikovať tak spolu. V úrovni 2 sú u programovacích prvkov podskupiny Send a Receive. Prvok naľavo je vysielač, prvok vpravo prijímač. Zobrazený prvok vysielača vyšle správu Hello do TX kontrolera alebo ROBO rozhrania (ďalej len TX kontrolér) pomocou rádiovej správy číslo 1, označené FRN 1. čidlo rádiové správy je niečo ako telefónne číslo. Je tak nastavené, čo ktorého kontrolera má byť správa zaslaná. Viac zistíte v častiach 4.5.1 a 4.5.2. Prijímač vpravo pracuje ako rozvetvenie. Ak prijme správu Hello, program pokračuje väčšie Yes (Y), inak ide do výstupu N. Predpokladajme, že prvok vysielača je vyvolaný číslom 2. Vyšle potom rádiom správu Hello do zohraní pomocou čísla 1, pretože je označený vo vysielači ako cieľ. Rozhranie s číslom 1 zaznamená, že obdržalo správu Hello. Až sa nabudúce prvok vysielača opýta tohto rozhrania, či dorazila správa Hello, odpoveď je Yes, potom No, kým nezachytí ďalšiu správu Hello. Keď je v tomto rozhraní prvok prijímača požiadaný, či prišla správa Hello, odpoveď je Yes a potom opäť No, kým nedorazí ďalšia správa Hello. Prijímač nevie rozoznať, z ktorého rozhranie bola správa poslaná (od úrovne 4 sú na tento účel skupiny prijímačov). Aby to bol schopný rozoznať, musíte posielať iné správy. Správa je voliteľné slovo, ako napríklad Hello. Avšak, z technických dôvodov, sú rozpoznaná len prvé tri písmená, takže "Hello", "Help" a "Helikoptéra" sú všetko rovnaká správa, pretože všetky začínajú na "Hel". Veľké a malé písmená a špeciálne znaky (medzera,!,?,%, Apod.) Tiež nie sú rozpoznávané. XY! a XY? systém bude považovať za rovnakú správu. Čísla však rozoznáva, takže XY1 a XY2 sú rozdielne správy. Teraz už nie je synchronizácia dvoch tancujúcich robotov pomocou vysielača a prijímača nijako zložitá. Na začiatku cyklu kroku jeden roboty vyšle "Smiem prosiť?" a druhý robot "Iste, smiete". Keďže by správy nemali byť dlhé, budeme ich nazývať SG (gentleman Synchronisation synchronizácia muža) a SL (lady Synchronisation - synchronizácia ženy). Napravo vidíte dva podprogramy synchronizácie. Ľavý podprogram je spustený robotom "mužom" pomocou rádiovej správy číslo 1 a prvý vyšle SG správu k "žene" s číslom 2. Potom "muž" čaká na SL správu od "ženy". Napravo je okno prvku vysielača. Pod príkazom Send (poslať) nájdete príkaz (správu) zo zoznamu alebo vložte vlastnú príkaz. Pod rozhraním ciele môžete vybrať, či príkaz bude zaslaný na rozhraní pomocou určitého čísla rádiové správy alebo na všetky rozhrania.
Naľavo vidíte okno prvku prijímača. Rovnako ako u vysielača môžete vybrať príkaz (správu). Potom musíte ďalej vybrať, či prijímač reaguje na príkazy, ktoré boli zaslané priamo z rozhrania, teda pomocou určitého čísla alebo príkazom zaslaným na všetky rozhrania. Môžete tiež vybrať oboje. Nakoniec môžete vymeniť pozíciu spojenie Yes a No, rovnako ako u prvkov rozvetvenie. Zatiaľ sme hovorili o "Správach". V okne vysielača aj prijímača a ďalej v úrovni 3 je však použitý pojem "Príkaz". Z pohľadu prenosu dát je to to isté. Či je správa príkazom, záleží na interpretácii a nie na druhu prenosu. V úrovni 3 budete mať so správami veľa práce. Napríklad s príkazmi pre ovládanie motora alebo premennými. V ROBOPro je termín "príkaz" zvyčajne použitý pre správy. Teraz vložte do programu TangoSolo.rpp alebo TangoSoloZena.rpp jeden zo synchronizačných podprogramov, ktoré boli popísané vyššie. Vyvolajte podprogramy Sync. Môžete pochopiteľne napísať podprogramy takým spôsobom, že "žena" vyzve k tancu "muža". Môžete vyvolať podprogramy ako na obrázku napravo v hlavnom programe kedykoľvek na začiatku cyklu kroku. Hotové programy nájdete v priečinku ROBOPro pod Sample programs/Manual/Tango Encoder Motor/ Sample programs/Manual/Tango Pulse Switch/ TangoSyncGentl.rpp TangoSyncLady.rpp Načítajte dva programy do robotov a spustite ich. S ROBO rozhraním a dáta linkou uvidíte, že roboti budú tancovať, len ak "žena" začne.to preto, že "muž" najprv vyšle správu SG a "žena" na túto správu čaká. Ak je "muž" spustený prvý, správa neodíde a "žena" bude neustále čakal. Ak, naopak "žena" bude spustená prvá, tak už čaká na SG správu, keď je "muž" spuštěn.Toto je pochopiteľne trochu nepraktické, najmä keď zabudnete, ktorý robot je "muž" a ktorý "žena". Tento problém sa nevyskytuje s TX-kontrolerom, pretože muž nevyšle správu, kým nebolo ustálené rádiové spojenie so ženou. Nešlo by niečo podobné pre ROBO rozhranie? Vcelku jednoducho: "muž" musí opakovať výzvu k tancu, kým mu "žena" neodpovie. Zakaždým, keď sa "muž" OPTA, chvíľu čaká, či od "ženy" príde odpoveď. V príklade napravo "muž" poslal SG správu a potom v slučke čakal desaťkrát 0.01 sekundy, takže dohromady 1/10 sekundy, či mu "žena" odpovie. Ak "žena" odpovie počas tejto doby, "muž" opäť pošle SG. Teraz sa asi sami seba pýtate, prečo nemôže muž jednoducho poslať SG správu v slučke a ihneď zistiť, či dostal SL správu. To je preto, že prenos správy od "muža" k "žene" trvá od 1/100 do 2/100 sekundy. Cesta späť trvá rovnaký čas. Aj keď je program v "žene" už spustený, zaberie 4/100 sekundy času, než dorazí odpoveď. Počas tejto doby by mohol muž poslať niekoľko SG správ, ktoré by boli všetky prenesené k "žene". Pri prvej synchronizácii to nehrá rolu, ale prebytočné správy SG správy by mali zostať uložené v prvku prijímača programe ženy. Na začiatku ďalšieho cyklu krokov by "žena" už mala mať SG správu bez toho, aby jej "muž" posielal ďalšie. Preto potom "ženy" nemusia už čakať na "muža". Preto by "muž" mal čakať dostatočnú dobu, než správu zopakuje. "Muž" by mal pochopiteľne po vysielaní počkať 1/10 sekundy a potom skontrolovať, či dostal odpoveď. Čakanie v slučke 10 krát 1/100 sekundy má však tú výhodu, že "muž" môže pokračovať v programe skoro ihneď, akonáhle od "ženy" dostane odpoveď. Teraz vyskúšajte, či program funguje lepšie, keď zmeníte podprogram Sync v TangoSyncGentl.rpp, ako je popísané vyššie. Roboti by sa
mali teraz vždy spustiť, akonáhle je spustený program v druhom robote, nezávisle na tom, ktorý robot začal prvý. Keď necháte roboty tancovať, odkiaľ sa jednému z nich nevybije akumulátor, synchronizácia nie je účinnejší raz za cyklus. Roboti sa v skutočnosti synchronizujú na začiatku každého cyklu kroku, ale počas cyklu sa znateľne oddiali, keď sa jeden z akumulátorov blíži svojmu limitu. Je lepšie vložiť po každom kroku prídavnou synchronizáciu. Tu je ale jasné, že oba programy beží, takže sa môžete vzdať opakovania. Aby počiatočné Sync a synchronizácia krokov nebola v neporiadku, mali by ste použiť dva rôzne podprogramy Sync1 a Sync2, ktoré používajú rôzne správy, napríklad SH1, SL1 a SH2, SL2. Hotové programy najdeve v priečinku ROBOPRo pod Sample programs / Manual / Tango Encoder Motor / Sample programs / Manual / Tango Pulse Switch / TangoGentl.rpp TangoLady.rpp Nájdete tu TangoNachrichtenMonitor.rpp. Ak máte tretí TX kontrolér alebo tretej rozhranie s ROBO RF dáta link modulom, môžete spustiť tento program v online móde, zatímto obaja roboti tancuje. Tento prehrá vám ukáže na obrazovke, aké správy sú zasielané. Program využíva prvky úrovne 3 a vy zatiaľ nepotrebujete chápať, ako funguje.
4.5.1 Nastavenie rádia v Robo rozhraní Každé ROBO rozhranie má vlastné číslo pre rádiové správy medzi 1 a 8 a podľa toho priradenú frekvenciu. Oboje môžete nastaviť v okne Info s testu rozhranie. Na nasledujúcom obrázku nájdete nastavenia ROBO RF Dáta Lind vpravo hore. Všetky RF Dáta Link moduly, ktoré by si spolu mali vymieňať správy, musia byť nastavené na rovnakú frekvenciu. Frekvencia je vložená ako číslo medzi 2 a 80. Môžete zmeniť frekvenciu, pokiaľ je v oblasti niekoľko skupín robotov, napríklad v škole alebo na súťaži, aby mohli komunikovať len administratívne so správnymi. Všetci roboti, ktorí patria k skupine, používajú rovnakú frekvenciu. Rôzne skupiny používajú rôzne frekvencie. Môžete tiež zmeniť frekvenciu, keď RF Data Link nefunguje správne na vami používanej frekvencii. Veľa rádiových systémov, napríklad bezdrôtové PC siete, používa rovnaký rozsah frekvencie (2,4 GHz) ako ROBO RF Data Link. Keď je RF Data Link narušený inými rádiovými systémami, môžete zmenou frekvencie vyriešiť problémy. Musíte ale zmeniť všetky RF Data Link moduly a PC Radio Moduly, pretože všetky zariadenia v skupine musí mať vždy rovnakú frekvenciu.
Všetky ROBO rozhranie s RF Data Link, ktoré sú nastavené na rovnakú frekvenciu, musí mať rozdielne číslo pre rádiové správy medzi 1 a 8. Číslo 0 je rezervované pre PD modul RF Data Linku, "červenú krabičku". Preto je možné nainštalovať maximálne 8 rozhranie s rádiovými modulmi a RF Data Link PC môže s nimi komunikovať. Rádiové číslo je v podstate telefónnym číslom v rádiovej sieti. Môžete ich priradiť od 1 do 8 až ôsmich zariadením. Políčko Enable je skoro vždy zaškrtnuté. Avšak môžete deaktivovať rádio modul rozhrania, pokiaľ ho nepoužívate v modeli, a chceli by ste zachovať aktuálne, bez toho aby ste model rozobrali. Potom, čo vykonáte všetky nastavenia, môžete ich uložiť v rozhraní pomocou tlačidla Write to interface. Je nastavené, že sa nastavenie zapíšu na flash pamäť. Takto sú nastavenia zachovaná, aj keď rozhranie vypnete. Ak by ste chceli len niečo na chvíľu skúsiť, môžete zapísať nastavenia aj na dočasnú pamäť. O verzii firmvéru sa nemusíte starať, to je verzia vnútorného ovládacieho programu pre RF Data Link. ROBOPro vás vyzve na vylepšenie programu, akonáhle to bude nevyhnutné. Aby ste umožnili komunikáciu medzi dvoma tancujúcimi robotmi, najprv prepojte jedného robota s USB PC rozhraním a otvorte okno testu rozhranie. Možno budete musieť stlačiť tlačidlo COM-USB a vybrať rozhranie. V testovacom okne rozhraní prepnite na partner info a nastavte frequency 2 a radio call number 1 a uložte nastavenia pomocou tlačidla Write to interface. Teraz zatvorte okno testu rozhranie, pripojte druhého robota s USB rozhraním a nastavte frequency 2 a radio call number 2.
Predpoklady pre rádiovú komunikáciu Aj keď sa, rovnako ako v prípade dvoch tancujúcich robotov, vymieňajú správy medzi dvoma rozhraniami cez RF Data Link moduly, červený PC rádiový modul je nevyhnutný. Slúži ako prepínací centrum pre všetky ostatné moduly a musia byť preto pripojené k USB rozhraniu PC. PC musí byť zapnutý a nesmie sa prepnúť na mód úspory prúdu alebo spánku, aby mohol byť PC rádio modul správne napájaný. PC rádio modul musí byť nastavený na rovnakú frekvenciu ako radio moduly rozhrania. Rádiové číslo PC radio modulu je nastavené na 0 a nie je možné meniť. Chcete nastaviť frekvenciu PC radio modulu, prepojte PC modul k PC USB rozhranie. Potom môžete nastavovať frekvenciu cez Info Partner okná testu rozhrania rovnako ako v radio modulom rozhrania. Ak PC rádio modul nemôže dosiahnuť rozhrania pomocou vstavaného radio modulu, napríklad pretože frekvencia ešte nie je správna, ukáže sa pri otevřeníokna teste rozhranie chybová hláška. Avšak táto chybová hláška sa týka len faktu, že nebolo nájdené spojenie a nie sú tým pádom k dispozícii žiadne vstupy a výstupy. Avšak môžete vykonať napriek hláške nastavenia v okne Info. Výber rozhrania skrze tlačidlo rozhranie (COM / USB) Zrejme ste zatiaľ pracovali hlavne s jedným jediným ROBO rozhraním. Akonáhle pripojíte k PC viac ako jedno ROBO rozhranie prístupné cez rádio, vyvstáva otázka, ku ktorému rozhrania pripojiť ROBOPro, keď začal program v móde online, prebieha sťahovanie programu alebo je otvorené okno testu rozhranie. Keď stlačíte tlačidlo pre výber rozhrania (COM-USB), objaví sa najprv výber rozhrania. Keď vyberiete USB a ROBOPro nájde viac na USB rozbočovaču alebo rádiovom spojení viac ako jedno rozhranie, objaví sa vpravo okno výberu. V tomto prípade sú PC rádio modul a RF Dáta Link pripojené k USB rozhraniu PC. PC Radio modul našiel dve ROBO rozhrania s RF Data Link, ktoré majú rádiová čísla 1 a 2. Môžete v tomto okne vybrať, ktoré z dvoch rozhranie bude použité pre budúce operácie. Vyberiete jedno rozhranie a nie ROBO RF Data Link.
Keď vyberiete, rovnako ako obrázku vyššie, RF Data Link, ROBOPro prepojí rozhranie s najmenším rádiovým číslom, napríklad 1. Je tu však dôležitý rozdiel: keď je RF Data Link správne vybraný, nastavenie v Info Partner testovacom okne odkazuje na PC rádio modul a nie na rozhraní radio modulu v rozhraní pripojenom rádiom. Môžete potom zmeniť, napríklad, frekvenciu oboch rozhranie radio modulov a PC radio modulu rádiom, bez toho aby ste museli prepájať rozhranie k PC pomocou USB kábla. Kvôli tomu vyberte pred tlačidlo COM / USB jedno z rozhrania, zmeňte frekvenciu pomocou okna testu rozhrania a opäť ho zatvorte. Keď teraz stlačíte tlačidlo COM / USB, rozhranie so zmenenou frekvenciou zmizne zo zoznamu, pretože už nie je možné zachytiť PC radio modulom. Teraz vyberte druhé rozhranie a zmeňte frekvenciu. Keď stlačíte ešte raz tlačidlo COM / USB, už sa pravdepodobne nezobrazí žiadny ďalší zoznam s výberom, pretože PC rádio modul je jedinou prístupnou jednotkou. Ak máte stále ďalšie priamo pripojené rozhranie k USB a objaví sa zoznam s výberom, vyberte PC rádio modul. Keď budete otvárať test rozhranie, teraz sa objaví správa, že sa nenašlo žiadne rozhrania. Avšak toto vás nemusí rušiť, pretože ste chceli zmeniť len nastavenia Data Link. Ak zmeníte frekvenciu PC radio modulu a stlačíte znovu tlačidlo COM / USB, PC radio mocul a obe rozhrania sa opäť zobrazí, pretože teraz majú všetky tri rovnakú frekvenciu. Prečo ste menili najprv frekvencie rozhranie a až nakoniec frekvenciu PC modulu. Zistite, čo by sa stalo, keby ste najprv zmenili frekvenciu PC modulu. Môže sa však stať, že zmeny sa prejavia až za niekoľko sekúnd. Ak zoznam s výberom nezodpovedá aktuálnu konfiguráciu, jednoducho ešte raz stlačte tlačidlo COM / USB. Ak nemôžete dosiahnuť pomocou rádia viac rozhrania, prepojte je priamo k OC USB rozhranie a ovládajte nastavenie RF DATA Link pre rozhranie.
4.5.2 Nastavenie Bluetooth pre TX-kontrolér Každý TX kontrolér má vlastnú rádiovej číslo medzi 1 a 8, ktoré zistíte v okne pod nastavením Bluetooth. V programoch ROBOPro sa používa rádiové číslo ako telefónne číslo pre identifikáciu jednotlivých kontrolerov. Najprv musíte prihlásiť všetky rozhrania do PC ako Bluetooth moduly. Návod pre TX kontrolér popisuje, ako toto urobiť (pre expertov, ktorí ro zvládnuť bez návodu hlavná kód je 1234). Aby ste mohli pokračovať, váš počítač musí byť buď integrované Bluetooth rozhranie alebo USB Bluetooth adaptér. Akonáhle sú všetky kontroleny prihlásené do PC a zapnuté, otvorte ROBO Pro. Stlačte tlačidlo COM / USB a definujte jeden ROBO TX kontrolér, ktorý bude pripojený pomocou USB alebo Bluetooth s ROBO Pro v online móde. Potom otvorte okno nastavenia Bluetoothv ROBO Pre pomocou položky menu Edit Bluetooth alebo stlačte tlačidlo pre lištu Bluetooth. Stlačte "Scan" pre vyplnenie zoznamu TX kontrolery. V závislosti na Bluetooth adaptéra, ktorý používate, sa môže stať, že názvy rozhranie sa na zozname neobjaví. V takom prípade môžete vybrať zodpovedajúcu COM rozhranie pre každé pomocou tlačidla COM / USB a potom vykonať test rozhranie pre zistenie, ktoré rozhranie je ktoré. Tiež musíte ručne priradiť zodpovedajúce COM ku každému TX kontrolera pod Set COM Port. Vo väčšine prípadov sa ale toto stane automaticky. Zoznam a nájdenými TX kontrolery je vždy seřazenpodle rádiového čísla (RCN). Môžete zmeniť číslo výberom riadky v zozname a stlačte kláves nahor a nadol. Napríklad, keď vyberiete rad pre číslo 2 a stlačíte hore, kontrolér sa presunie o jednu radu vyššie a je mu priradené číslo 1. Kontrolet z radu 1 sa posunie o jednu radu nižšie a je mu dané číslo 2. Môžete tiež vybrať radu, vložiť rádiové číslo v textovom okne vedľa tlačidla Set a potom stlačiť Set. Akonáhle nastavíte rádiová čísla, musíte potom určiť, ktorý kontrolér prevezme rádiový prenos. Je
nastavené, že to budú všetky kontrolery na zozname. Avšak v školách je možné, aby sa na zozname objavili kontroledy od iných experimentujúcich skupín. Pre výber kontrolerov pre komunikáciu s vaším programom zaškrtnite v zozname začiatok riadka.
Pretože nahrávanie viacerých programov na niekoľko zariadení je zdĺhavé, ROBOPro ponúka možnosť rozdelenia každého TX kontrolera ROBOPro .rpp súbor v zozname. Použite tlačidlá Assign a Clear. Sťahovacie okno vám ponúkne možnosť stiahnutia všetkých týchto programov naraz. centrálne ovládanie
Výmena správ medzi 3 a viac kontroléry využíva hviezdicovou topológiu. Jeden z kontrolerov sa chová ako centrálny ovládač, ako vidíte na obrázku vyššie. Aby si kontrolér 2 vymenil správy s kontrolerom 3, musí ich poslať cez centrálny ovládač. Je zvyčajne nedôležité, ktorý kontrolér zaujme miesto centrálneho. Avšak záleží na tom v prípade mobilných robotov, ktorí sa môžu dostať mimo dosah vysielača. Tento výber opäť urobíte cez okno Bluetooth settings. Ďalším dôležitým bodom, že online spojenie s centrálnym ovládačom je zložitejšia a menej spoľahlivé. Je to preto, že PC hrá úlohu centrálneho ovládača pre online spojenie, zatímto centrálne kontrolér sa chová ako centrum pre niektoré Bluetooth spojenie, ale pre iné nie. Už bolo naznačené, ako to funguje, ale ustálenie spojenie trvá dlhšie. Kde sú uložené nastavenia? Výber kontroléra (kliknite na začiatok riadka) a alokácie ROBOPro programov do kontrolerov je súčasťou ROBOPro programu. Pri viacerých odberoch všetky programy predpokladajú nastavenia Bluetooth z programu, ktorý spustil stiahnutie. Na druhú stranu, alokácia rádiových čísel a TX kontrolerov nie je uložená v ROBOPro programe, ale na PC. Toto umožňuje ľahšiu výmenu ROBOPro programov s inými.
5. Úroveň 3: Premenné, panely a ďalšie Premyslite si prenastavenie ROBO Pro na Level 3 alebo vyšší! Predstavte si, že objavíte v múzeu fascinujúce stroj a proste ho musíte nabodobit pomocou tejto stavebnice. Keď si ale stroj prezeráte, stratíte pojem o čase a nevšimnete si, že všetci ostatní už z múzea odišli. Len keď je múzeum prázdne, ste mohli stroj poriadne preštudovať a urobiť jeho repliku. Nanešťastie musíte ale stráviť celú noc v zavretom múzeu, než sa môžete pustiť do práce. Aby sa to nestalo znova, zájdete za riaditeľom múzea a prihlásite sa ako dobrovolním, čo by naprogramoval počítadlo návštevníkov, ktorí prichádzajú a odchádzajú, a rozsvieti varovné červené svetlo, ak sú vo vnútri ešte ľudia. Ako to ale urobíte? Ako môžete pomocou ROBO Pre niečo počítať? Odpoveď znie, že pomocou premenných. Premenné a príkazy Premenná (Variable) je prvok, ktorý v sebe môže držať číslo. V okne Properties prvku premenná vložte názov (name), ktoré vám poradia, o čo presne sa jedná. Initial value (počiatočná hodnota) je číslo, ktoré bude premenná obsahovať na začiatku programu. Data type rozhoduje, či bude premenná celé číslo (napr. 1, 2 alebo 3) alebo bude mať desatinnú čiarku (napríklad 1.3457). Zatiaľ budeme používať len celé čísla. Life time je nastavenie, ktoré bude vysvetlenie v časti 8.4.2. Môžete upraviť uloženú hodnotu vyslaním preukazujúcimi do premennej. Premenná rozumie trom rôznych príkazom: =, + a -. Príkaz = nahrádza uloženú hodnotu novú hodnotou. Príkazy + a niečo pridajú alebo uberú od uloženého čísla. Príkaz premenné vyšlite pomocou prvku Command. Ako väčšina programovacích prvkov má modrý vstup hore a modrý výstup dole. Ale vpravo má niečo nové, oranžové spojenie. To je výstup príkazu. Keď je spustený nový prvok Command, vyšle skrze výstup príkaz všetkým prvkom, ktoré sú k nemu pripojené cez výstup. Premenná má zodpovedajúci príkazový vstup na ľavej strane. Keď pripojíte príkazový vstup, namiesto obvyklej modrej spojovacie lisky ROBO Pre načrtne linku oranžovú. Programovací prvok môže vysielať príkazy alebo správy cez tieto oranžovej linky a vďaka tomu si vymieňať informácie. Program napravo na začiatku pošle premenné Var príkaz = 1. Príkaz musí obsahovať skutočný príkaz, ako napríklad =, a hodnotu, ako je 1. Príkaz = 1 nastaví premennú na 1. Po sekunde program vyšle premenné príkaz +1. Premenná teda pridá k predchádzajúcej hodnote 1, takže má teraz hodnotu 2. Po ďalšej sekunde program vyšle príkaz -1. Vďaka tomu má premenná opäť hodnotu 1.
Teraz skúste napísať v ROBO Pre tento jednoduchý program. Prvky príkazov nájdete v skupine Commands, premenné v skupine Variable, Timer, ... Keď spustíte program v móde online, uvidíte, ako sa hodnota premennej zmení. To je všetko síce dobré, ale môžete si povedať, že síce vidíte hodnotu premennej, ale k čomu to môže slúžiť? To je jednoduché: premenná má oranžové spojenie napravo, cez ktoré posiela správy s aktuálnou hodnotou všetkým pripojeným prvkom. V ROBO Pro je niekoľko prvkov s oranžovými vstupmi naľavo, ktoré môžete pripojiť k výstupu premennej. Takže, napríklad v skupine Branch, Wait, ... nájdete vetviť prvok Yes / No, ktorý nemá vstup priamy, ale skôr sa môže spýtať na akúkoľvek hodnotu, mimochodom tiež hodnotu premennej. Počítadlo pre návštevníkov múzea možno naprogramovať nasledovne:
Ako vstupný turniket bude senzor I1, odchádzajúce turniket bude senzor I2. Keď stlačíte I1, program vyšle príkaz +1 do premennej Counter (počítadlo). Potom program čaká, kým nie je senzor I1 opäť uvoľnený. U odchádzajúceho senzora I2 je to rovnaké, až na to, že tu je do premennej vyslaný príkaz -1. Zakaždým, keď sa hodnota v počítadle zmení, je skontrolovaný stav počítadla. Keď má Counter hodnota> 0, červené svetlo na M1 je zapnuté, inak je vypnuté. Okopírujte program hore a vyskúšajte ho. Akonáhle stlačíte senzor na I1 a pustíte ho, rozsvieti sa varovné svetlo M1. Keď stlačíte senzor na I2, zase zhasne. keď stlačíte I1 niekoľkokrát, musíte toľkokrát stlačiť aj I2, Avy varovná lampa zhasla. Skúste, čo sa stane, keď príde 5 návštevníkov a dvaja odídu. Potom prídu ďalšie 3. Koľkokrát musíte stlačiť senzor na I2, aby lampa opäť zhasla? 5.2 Premenné a viacnásobné procesy Možno ste si pri skúšaní všimli, že počítadlo návštevníkov má problém, keď stlačíte súčasne I1 a I2. Kým je jedno tlačidlo stlačené, program nemôže reagovať na druhej. Keďže návštevníci pri vchode a východe môžu prechádzať súčasne, nastal by chyby vo výpočtoch. Týmto chybám zamedzíte poutižím niekoľkých paralelných procesov. Až doteraz mali všetky programy iba jeden prvok Štart. Teraz vás ale nič nedrží, aby ste nepoužili viac prvkov Štart. Všetky programovacie cesty s vlastnými prvkami Start budú pracovať súčasne. Pomocou tejto techniky môžete meniť počítadlo návštevníkov nasledovne:
Teraz sú pre I1 a I2 použité nezávislé procesy. Keď je stlačený senzor I1, proces pre I2 zostáva nezávislým na tomto procese a môže ďalej monitorovať senzor na I2. Oddelený proces je tiež použitý pre vyhodnotenie hodnoty premennej a rozsvietenie alebo zhasnutie lampy. Ako vidíte, nie je problém, aby bola premenná prístupná z niekoľkých procesov. Môžete vyslať príkaz premenné z niekoľkých procesov a môžete použiť hodnotu premennej v niekoľkých procesoch. Premenné sa takto veľmi hodí pre výmenu informácií medzi procesmi. Riaditeľ múzea bol tak nadšený vaším geniálnym počítadlom návštevníkov, že vás ihneď požiadal o vyriešenie ďalšieho problému. V múzeu zrovna otvorili novú výstavu, ktorú chcú všetci návštevníci vidieť. Problém je ten, že je u novej výstavy toľko ľudí, až je tlačenica. Riaditeľ by rád znížil počet návštevníkov výstavy na 10. Dal nainštalovať k vstupu a výstupu turnikety. Vstup je možné elektronicky uzamknúť. Už len potrebuje schopného programátora, ktorý by napísal pre turniket program. Pokúste sa vytvoriť popísaný program pomocou ROBO Pro. V zásade bude fungovať rovnako ako počítadlo návštevníkov. Môžete simulovať elektronické uzamknutie vstupu pomocou červenej lampy na M1, ktorá sa zapne, keď bude na výstave 10 návštevníkov. 5.3 Panely Potom, čo ste vyriešili problém s výstavou, riaditeľ múzea pre vás má ešte jednu úlohu. Rád by vedel, koľko ľudí múzeum počas dňa navštívilo. Takýto program pre vás iste nebude žiadnym problémom, ale ako môžete zobraziť výsledok? Môžete pochopiteľne spustiť program v móde online, čo vám dovolí sledovať hodnotu premenných. Ale pre riaditeľa, ktorý počítačom nerozumie by to bolo príliš zložité. Chce niečo jednoduchšieho. Pre takéto prípady má ROBO Pro napely. Panel je sám o sebe stránkou, na ktorú môžete vložiť displej a ovládacie tlačidlá. Načítajte váš počítacie program a v lište funkcií prepnite na Panel.
Spočiatku je ovládací panel len prázdnu šedú plochou. Do tejto oblasti môžete umiestniť displeja a ovládacie prvky, ktoré nájdete v okne skupiny prvkov Panel elements. Medzi prvky panelov nájdete tlačidlá, posuvníky a ďalšie. Pod Displays nájdete textové displeje, výstražné svetlá a displeje s ukazovateľmi. Pozor: panel je súčasťou podprogramu. Ak máte podprogramy, rozhodne vytvorte panel pod hlavným programom a nie podprogramom! Neskôr sa naučíte vytvárať viac panelov. Ak ste vytvorili panel a on potom náhle zmizol, zrejme ste v lište podprogramov vybrali
podprogram. Překněte späť na hlavný program a váš panel sa vráti. Pre počítadlo návštevníkov použite Text display (na farbe nezáleží) z okna prvkov Panel elements / displays, a umiestnite ho do panelu. Tento displej teraz bude zobrazovať počet návštevníkov múzea. Najprv musíte ale pridať do vášho programu druhú premennú, ktorá bude počítať návštevníkov, ktorí prešli vstupom, ale nebude ich pri odchode odčítať. V lište funkcií prepnite späť na Functions a vložte nasledujúcim spôsobom premennú Total:
Ako vidíte, prvok Command môže byť využitý aj na posielanie príkazov dvom premenným naraz. Premenná Total nedostane príkaz -1, pretože príkazy sú prenášané po oranžových linkách iba v smere šípok. na druhú stranu, príkazy +1 prejdú k obom premenným. To je tu však len ako príklad. Použitie druhého prvku Comman je jednoduchšie a prehľadnejšie. Rada: Keď sa oranžové linky rozvetvujú, je zvyčajne praktickejšie je kresliť smerom od ich cieľa k počiatku. Keď chcete napríklad nakresliť líniu k premennej Total, kliknite najprv na vstup premenné Total a potom pohnite s linkou dozadu k miesto rozvetvenia. Na miesto, kde začína nová linka, musíte dvakrát kliknúť ľavým tlačidlom myši. Teraz máte textový displej v paneli a premennú, ktorá by ste radi na paneli zobrazovali. Ako je prepojíme? Ako displej, tak premenná sú na rozdielnych stránkach, takže by ste mali problém je prepojiť linkou. Pre tento účel existuje špeciálny prvok, ktorý prenáša hodnotu, ktorá má byť zobrazená na paneli na zodpovedajúcom displeji. Nájdu vyššie zobrazený prvok Panel output na konci skupiny Inputs, Outputs. Vložte jeden z týchto prvkov do vášho programu vedľa premenné Total a pripojte ich k pravému spojenie premennej. Keďže normálne budete mať v paneli viac ako jeden displej, stále musíte ukázať výstupu paneli, ktorému displeji má zasielať hodnotu premennej. To urobíte jednoducho pomocou okna Properties v tomto prvku. Keď kliknete pravým tlačítkemn na prvok Panel output, uvidíte zoznam všetkých displejov, ktoré boli zatiaľ vložené do panelu. Keď má každý podprogram svoj vlastný panel, panely budú zoradené podľa podprogramu. V našom príklade nie sú žiadne podprogramy, iba hlavný program. Medzi nimi je jeden displej s názvom Text. Vyberte ho a kliknite na OK. Akonáhle prepojíte Panel output s displejom, zmení sa podľa toho symbol a opis. Panel, ktorý používame, vytvára spojenie s textovým displejom pomenovaným Text v (pod) programu MAIN.
Akonáhle vložíte panel output a prepojíte ho s displejom, program vyzerá nasledovne:
Skúste to priamo. Akonáhle ste spustili program v móde online, displej na paneli ukáže počet návštevníkov, ktorí prešli turnikety pri vchode. Rada: Ak chcete v paneli používať viac ako jeden displej, je dôležité, aby ste každému z nich dali iné meno, takže je rozpoznáte, keď ich budete pripájať v programe. Aby ste tak urobili, kliknite pravým tlačidlom myši na displej v paneli. Tu môžete vložiť názov pod ID / Name. Potom, keď pripojíte panel output k displeju, toto meno sa objaví v okne výberu výstupu paneli. keďže máme zatiaľ iba jeden displej, nie je meno dôležité a ponecháme Text. Program ešte nie je úplne perfektné. Stále ešte chýba tlačidlo pre reset. Na tento účel, bohužiaľ, nechceme použiť normálne tlačidlo, ale radšej tlačidlo na paneli. Toto ovládacie tlačidlo nájdete v okne prvkov v skupine Operating / Control elements. V lište funkcií prepnite na Panel a vložte tlačidlo do vášho panela vedľa textového displeja. Opis Button (tlačidlo) nie je úplne vhodný, ale možno ho zmeniť pomocou jeho okna Properties. Kliknite pravým tlačidlom myši na tlačidlo, ako Inscription (opis) vložte napríklad 0000 a potvrďte pomocou OK. Presne ako v prípade textového displeja potřejeme programovací prvok, ktorý navedie tlačidlo späť k programu. Začnete prepnutím na Function v lište funkcií. Nájdete tu prvok Panel input v skupine Inputs, outputs. Umiestnite ho do vývojového diagramu pod existujúci program. Teraz musíte ešte prepojiť vstup panela s tlačidlom na paneli. Učiníte tak, keď kliknete pravým tlačidlom myši na prvok Panel input. Rovnako ako s displejmi, ovládacie prvky sú zoradené podľa podprogramu, ako každý podprogram môžu mať vlastné panel. Teraz vyberte tlačidlo 0000 a potvrďte pomocou OK. Možno ste si všimli, že je možné nastaviť tento prvok pre všetky možné vstupy skrze lištu v okne Properties. Avšak toto nevysvetlíte až do nasledujúcej sekcie, až na jednu položku. Command inputs for subprograms. Hodnota poslaná vstupom paneli je postúpená rozvětvovacím prvkom. Už ste tento prvok použili v súvislosti v premennými. Kompletný program s funkciou "nastaviť na nulu" vyzerá nasledovne:
Kedykoľvek stlačíte tlačidlo 0000, do počítadla Total je vyslaný príkaz = 0, čo ho nastaví na nulu. 5.4 Časovače Po vašich úspechoch už riaditeľ múzea nevie, čo by si bez vás počal, tak z vás urobil poradcu cez počítačové systémy. Takáto pozícia síce prináša uznanie, ale aj veľa práce. Napríklad nasledujúce: v múzeu je mnoho modelov, ktoré sa pohybujú, keď stlačíte tlačidlo. Ale niektorí návštevníci stláčajú tlačidlá dlho, takže sa modelmi prehrievajú a je potrebné ich neustále opravovať. Riaditeľ by potreboval, aby sa modely pohybovali nie tak dlho, ako je tlačidlo stlačené, ale maximálne 30 sekúnd. Akonáhle model zastaví, musí mať pauzu o dĺžke 15 sekúnd, než môže byť opäť spustený. Hovoríte si, že toto nebude žiadny problém. Pár oneskorenie, pár rozvetvenie a máte to. Skúste to! Po chvíli vám dôjde, že to nie je tak jednoduché. Dôvody sú dva: - Počas doby 30 sekúnd musí program zistiť, či bolo tlačidlo uvoľnené predtým, než doba 30 sekúnd vyprší. bez problémov, tohle môžete vyriešiť dvoma procesmi ako v sekcii 5.2. - Keď návštevník uvoľní tlačidlo po 5 sekundách a zmáčne ho potom znovu po 15 sekundách, musí opäť opäť od začiatku začať 30 sekundová doba čakania. Ale čakanie (model sa pohyboval) bolo Dlho iba 20 sekúnd (5 + 15), takže je stále aktívny. Aj s paralelne bežiacimi procesmi nemôžete čakania spúšťať stále dookola. Možno by to šlo v troch procesoch s dvoma čakaním, ktorá by začínala spoločne, ale toto vymyslieť vám spôsobí leda bolenie hlavy.
Neexistuje jednoduchší spôsob? Áno. timer variable (časové premenné), skrátene timers (časovača). Funkcia časovača je rovnaká, ako u normálnej premenné. Časovač udržuje prehľad o čísle, ktoré môžete upravovať pomocou príkazov =, + a -. Čo ho odlišuje, je automatický odpočet čísla v rovnakých intervaloch, až kým nedosiahne 0. Časový interval pre vzorkovanie možno nastaviť v krokoch medzi jednou tisícin sekundy a minútou. Mnoho problémov riadenie času možno vyriešiť elegantnejšie pomocou časovačov, skôr než meškanie. Už viete, ako môžete vyriešiť problém s časovačom? Správne. Akonáhle návštevník stlačí tlačidlo na I1, spustí sa model a potom nastavený časovač. Pomocou príkazu = na 30 x 1 sekunda = 30 sekúnd. Potom sa dostanete do slučky, ktorá kontroluje, či bol prepínač na I1 uvoľnený. Akonáhle je niektorá z podmienok splnená, model sa zastaví s čaká 15 sekúnd. Potom to všetko začne znova. Programy začínajú byť čoraz náročnejšie. Skúste ale vyriešiť nasledujúce úloha: vytvorte program s rovnakou funkciou, ktorý ale miesto časovačov používa prvky time deal. Poznámka: Je to veľmi zložité a určené len pre tých, ktorí sa v niečom radi často vŕtajú veľmi dlho. Všetci ostatní by mali postúpiť priamo k ďalšej sekcii. Sú dva možné spôsoby riešenia: môžete použiť dva prvky time delay, ktoré spustíte v ich samostatných procesoch. pretože je tu čakacia doba 15 sekúnd, jedno z dvoch čakanie vyprší na konci druhého cyklu, takže bude môcť začať znova. Ďalšou alternatívou by bolo simulovať časovač pomocou normálne premenné a prvku Time delay s krátkou dobou čakania, napríklad raz sekundou. 5.5 Vstupy príkazov pre podprogramy Ako vždy váš program teraz funguje skvele a fischertechnik má radosť, pretože všetky modely v múzeu budú vybavené ROBO rozhraním. Lenže ako všade, aj múzeum má len obmedzené financie. Riaditeľ by preto chcel, aby to išlo urobiť s čo najmenej rozhraniami. ROBO rozhranie má štyri výstupy motorov a tiež dostatok vstupov pre ovládanie štyroch modelov. Keďže sa väčšina modelov otáča len jedným smerom, môžete ovládať skrze jednopólové výstupy O1 až O8 až osem modelov. To pochopiteľne ušetrí riaditeľovi veľa peňazí. Na druhú stranu ale musíte skopírovať program sedemkrát a nastaviť všetky vstupy a výstupy. Alebo nie? Nešlo by to pomocou podprogramov? Iste, že šlo, ale má to problém: Keď použijete bežné senzory zo skupiny Basic elements v podprograme, každý dotaz programu žiada rovnaké senzory a ovláda rovnaké motory. Dôvod je tem, že napríklad u prvku výstupe motora tvoria príkaz motora (doprava, doľava, zastaviť) a číslo výstupu motora (M1 až M8) tvoria jednotku. Keďže je tu len jedna verzia podprogramu, objaví sa v nej vždy rovnaký motor. Keď upravíte číslo motora pre jedno volanie podprogramu, upraví sa pre všetky volania. Takže znovu, musíte skopírovať podprogram sedemkrát, dať každému podprogramu iné meno a manuálne nastaviť všetky vstupy a výstupy. Existuje ale elegantnejšie riešenie tohto problému. Trik je v tom oddeliť ovládací príkazy od
symbolov motora. Potom môžete vložiť ovládacie príkazy (doľava, doprava, stop) do podprogramu a prvky motora do hlavného programu. V podprograme za pomoci prvku Command, s ktorým ste sa už stretli pri premenných, vyšlete do hlavného programu, kde ich môžete priradiť rôznym motorom, príkazy doľava, doprava alebo stop. Pre motor existuje prvok motora, ktorý reprezentuje iba motor bez určoval, čo má robiť. Tento prvok má vstup príkazu, do ktorého môžete posielať príkazy. Môžete vymeniť prvok zo skupiny Basic elements za prvok Command a motor nasledovne:
V hornom rade vidíte prvky motora zo skupiny Basic elements. V druhom rade sú popísané zodpovedajúce kombinácie, ktoré majú presne ten istý efekt, pozostávajúce z prvku príkazu zo skupiny Commands s prvkom motora zo skupiny Inputs, output. V skutočnosti je horný rad iba skratkou alebo zjednodušením pre kombinácie v spodnej rade. Každý môže poslať motora M1 príkazy doľava, doprava alebo stop. To isté platí pre senzory:
V hornom rade opäť vidíte prvky zo skupiny Basic elements. V spodnej rade zodpovedajúce kombinácie digitálnych vstupov a prvku zo skupiny Branch, Wait, ... Prvok Digital input nájdete rovnako ako prvok motora v skupine Inputs, outputs. Pomocou tohto triku môžete oddeliť logiku programu od vstupov a výstupov. Stále ale niečo chýba. Ak motor a prvky majú byť v hlavnom programe a príkazy v podprograme, musí tu pochopiteľne byť prepojenie senzorov a pvrků motora s čiastkovým programom. Potrebné spojovacie prvky nájdete v skupine čiastkový program I / O. Skrze vstup príkazu podprogramu môžete posielať príkazy zvonku do proprogramu. Prvok digitálneho vstupu (senzor) vysiela novú hodnotu skrze oranžovú linku, ak sa zmení stav vstupu (pomocou príkazu =). V dialógovom poli prvku môžete dať vstupu názov. Skrze výstup príkazu podprogramu môžete posielať príkazy z podprogramu. Napríklad môžete poslať príkaz doľava, doprava alebo stôp z podprogramu do motora. Aj tomuto prvku môžete dať meno v dialógovom poli. Teraz máte všetko, čo potrebujete pre váš časovač viac modelov s podprogramy.
Hlavný program
Podprogram Time
Podprogram Time je skoro rovnaký ako program v predchádzajúcej sekcii. Prvky Wait for digital input na začiatku a v slučke ale boli vymenené za prvky Wait for, s oranžovými dáta spojeniami od skupiny Branch, wait ... Obe sú spojené so vstupom príkazu podprogramu Sensor. Dva prvky ovládania motora na začiatku a konci programu boli vymenené za prvky command. Obaja vysielajú svoje príkazy do výstupu príkazu podprogramu Motor. Podprogram Time je hlavným programom vyvolaný štyrikrát. Vstup príkazu podprogramu Sensor automaticky vygeneruje oranžovej spojenie S na ľavej strane zeleného symbolu podprogramu. Spojenie M na pravej strane je tu, kvôli výstupu príkazu podprogramu Motor. Spojenie M na pravej strane je tu kvôli výstupu príkazu podprogramu Motor. Spojenie S sa symbolom podprogramu je pripojené k jednému zo senzorov I1 až I4. Jeden z motorov M1 až M4 je pripojeny k spojeniu M. Týmto spôsobom je každé volanie podprogramu Time prevedené iným senzorom a ovláda iný motor. Skúste skopírovať podprogram a hlavný program vyššie a vyskúšajte ich. Musíte najprv nakresliť podprogram, pretože inak nebudete môcť vložiť podprogram do hlavného programu. Ak máte s čiastkovým programom problémy, pozrite sa do kapitoly 4. Poznámka: Ďalšie informácie k vstupu príkazov nájdete v sekcii 6.3
5.6 Zoznamy Keď ste teraz v múzeu vybavili všetky modely úsporným systémom ovládania, riaditeľ má pre vás ďalší problém: V miestnosti s výstavou veľmi cenných exponátov sa nedávno začala prudko meniť teplota, čo exponátom, škodí. Predpokladáte, že za to môže slnko. Aby ste to dokázali, možno budete chcieť postaviť zariadenie, ktoré zaznamená úroveň osvetlenia a teplotu. ROBO rozhranie pochopiteľne má niekoľko analógových vstupov a vy už viete, ako ukladať hodnoty s pomocou premenných. Toto by teda nemal byť problém, že? Pre nahranie dvoch hodnôt každých päť minút po viac než 12 hodín potrebujete viac ako 288 premenných! Čo by ale znamenalo obrovský program. Nemôžeme ho treba opäť zjednodušiť pomocou podprogramov? Môžeme, bude to tak oveľa lepšie. Poslúži nám prvok List. Môžete uložiť nielen jednu hodnotu, ale celý zoznam hodnôt do tohto zoznamu. Spočiatku je zoznam prázdny. Keď vyšlete príkaz Append do dát vľavo hore, označených W, hodnota špecifikovaná v tomto príkaze bude pridaná ku koncu zoznamu. Môžete nastaviť maximálnu dĺžku zoznamu medzi 1 až 32767 skrze okno Properties prvku List. To urobí program pre nahrávanie teploty a osvetlenia značne jednoduchým: Teplotný senzor je pripojený k analógovému vstupu AX a senzor jasu k analógovému vstupu AY. Program prečíta obe hodnoty v slučke každých päť minút a pridá ich na im priradený zoznam pomocou príkazu Append. Rada: Keď vkladáte prvok príkazu, musíte aktivovať voľbu Data input pre hodnotu príkazu v okne Properties. Potom sa vstup dát objaví naľavo od prvku príkazu a vy k tomu môžete pripojiť analógový vstup. Pre otestovanie programu je vhodné skrátiť slučku z piatich minút na
niekoľko
sekúnd.
Asi sa čudujete, ako môžete zo zoznamu prečítať uloženej hodnoty. Sú dve možnosti: Môžete prečítať hodnoty ako u normálnej premenné a ďalej ich spracovať vo vašom programe. Keď zoznam obsahuje viac ako jeden prvok, najprv vyberte číslo prvku, ktorý chcete získať na ľavom vstupe dát, označenom I. Potom je hodnota tohto prvku odovzdaná na výstupe dát R na pravej strane.
Ale ROBO Pro môže tiež ukladať všetky hodnoty zo zoznamu do vášho počítača, kde ich môžete ďalej spracovávať napríklad v Exceli. Rovnako ako v predchádzajúcom prípade sa chcete len pozrieť a porovnať nahrané úrovne osvetlenia a teploty, takže toto je praktickejšie. ROBO Pre ukladá hodnoty v takzvanom CSV súboru (comma-separated values). CSV súbory sú textové súbory obsahujúce jeden alebo viac stĺpcov, každý sa sekvencií dát. Takto môžete uložiť niekoľko sérií meranie ako je teplota a osvetlenie, v rôznych stĺpcoch CSV súboru. Stĺpce sú rozdelené čiarkami. V krajinách, kde sa píše 0,5 s čiarkou a nie 0.5 s bodkou je často použitý bodkočiarka (;). Ak máte problémy s výmenou CSV súborov medzi ROBO Pre a napríklad Microsoft Excel, môžete zmena znamienka (Column separator) v okne Properties. Môžete nastaviť názov CSV súboru a stĺpec, v ktorom sa bude ukladať obsah zoznamu v okne Properties pod položkou Save CSV file. Dáta sú uložené, keď sa program ukončuje v online móde, alebo, keď vyberiete položku Save CSV files v menu File, zatiaľ čo program stále beží (mód online alebo download). V móde download môžete oddeliť ROBO rozhranie od PC pre nahrávanie dát a prepojiť to pre ukladanie. Potom, čo ste spustili program vyššie v móde online, môžete otvoriť súbor CSV vytvorený z dát z ROBO Pro v Microsoft Excel alebo podobnom programe. Ak taký nemáte, môžete použiť aj Windows editor (poznámkový blok), ktorý zvyčajne nájdete vo Windows menu Štart pod Príslušenstvom. Kým program stále beží v móde online, môžete sa tiež pozrieť na dáta v zozname pomocou pravého kliknutia na prvok List. 5.7 Operátory Program pre záznam teploty a osvetlenia by mal pracovať bez problémov, ale z nahratých dát je jasné, že teplota v tej miestnosti nemá nič spoločné so slnkom. Ukázalo sa, že niektorí návštevníci výstavy si pletú ovládanie kúrenia s ovládačom modelu, takže ho opiplali. Žiadny div, že sa tam teplota zbláznila! Tento problém by išiel ľahko vyriešiť elektronickým kombinačným zámkom. Kombinačný zámok by mal mať klávesu od 1 do 6. Ak sa tri čísla zadajú správne jedno po druhom, kombinačný zámok by mal uvoľniť riadenie teploty pomocou magnetu.
Na prvý pohľad je taký zámok vcelku jednoduchý: Program proste počká, kým nie je stištěn v správnom poradí správny zámok. Napravo vidíte program pre kombináciu 3-5-2. Pri bližšom preskúmaní má ale tento program problém. Zámok je možné veľmi ľahko odomknúť stlačením všetkých klávesov trikrát po sebe. Tým spôsobom zakaždým stlačíte správnu kombináciu. Ako povedal Albert Einstein: Veci musia byť tak jednoduché, ako je potrebné, ale nie jednoduchšie. "Takže program musí fungovať, len keď sú stištěny správne klávesy, ale tiež keď sú stištěny zlé klávesy. Takýto program vyzerá, ako vidíte nižšie:
Tento program otvorí zámok, keď sú stlačené tlačidlá 3-5-2, bez toho aby bolo stlačené akékoľvek medzitým. Keď napríklad stlačíte tlačidlo 3, program najprv čaká, kým tlačidlo opäť neuvoľníte. ak je potom stlačené iné tlačidlo, ako 5, program sa začne znovu od začiatku. Takže program funguje správne, ale nie je ani jednoduchý, ani príliš zložitý. Navyše je veľmi zložité zmeniť kód, Ale nebojte sa, môže to byť urobené jednoducho a presne pomocou operátorov. Operátorov je niekoľko druhov. Nájdete ich medzi programovými prvkami v skupine Operators. Pre kombinačný zámok budeme ako prvý potrebovať OR operator. K OR operátoru je možné pripojiť niekoľko signálov. Operátor vždy upřednostní1, kedykoľvek je aspoň jeden zo vstupov 1 (alebo> 0). Ak je k vstupu do OR operátoru pripojených niekoľko tlačidiel, výstup operátoru je vždy 1, keď je aspoň jedno tlačidlo stlačené. Počet vstupov možno nastaviť cez okno Properties operátoru až do 26. Takže všetkých 6 tlačidiel je možné pripojiť k jednému operátorovi. Možno sa sami seba pýtate, ako môžete toto použiť na zjednodušenie kombinačného zámku. Vcelku jednoducho: s operátorom môžete čakať u každého kroku, kým nie je stlačené tlačidlo. Potom môžete skontrolovať, či sa jedná o správne tlačidlo. Potom budete potrebovať pre každé číslo len 2 namiesto 7 prvkov.
Tlačidlá vstupov I1 až I6 sú spojené dohromady skrze OR operator so šiestimi vstupmi. Ak je aspoň jedno z tlačidiel stištěno, OR operator má hodnotu výstupu 1, inak 0. Pomocou prvku Wait for program čaká, kým nie je stištěno jedno z tlačidiel. Následne ihneď zistíme, či to bolo správne tlačidlo. Ak áno, počkáme na stlačenie ďalšieho tlačidla. Pokiaľ bude stištěno zlé tlačidlo, program začína zase od začiatku. Upravte program vyššie, aby používal prvky panela v paneli namiesto tlačidlových senzorov. Začnete nakreslením panela s šiestimi tlačidlami označenými 1 až 6. Potom upravte digitálne vstupy cez okno Properties. Musíte vymeniť vetvy za vetvy sa vstupom dát a panelu. Kombinačný zámok teraz funguje bez problémov, ale stále ešte nie je ľahké zmeniť kód (3 5 2). Vstupy v troch rozvětvovacích prvkoch musia byť upravené. Nie je potrebné pravidelne meniť kód ovládanie kúrenia múzeá, ale ak by ste potrebné zámok potrebovali pre poplachový systém, asi by ste chceli kód meniť pravidelne. Iste by bolo jednoduchšie, keby bol kód uložený ako premenná. Kód by mohol byť tiež menený automaticky. Ak sa napríklad spustí tichý poplach, normálny kombinácia by mohla byť vymenená špeciálny poplašnú kombinácií. Aby ste porovnali kombinácia premenné sa vstupom, musíte tiež uložiť vstup ako premennú. Na začiatku by mala mať premenná vstupe hodnotu 0. Keď teraz stlačíte tlačidlo 3, premenná by mala mať hodnotu 3, a ďalším stlačením klávesy 5 hodnotu 35 a konečne po stlačení klávesy 2 hodnotu 352.
Kombinačný zámok s kódovou premennou má dva procesy. V procese naľavo je priradené číslo každému tlačidlu s operátorom času a operátorom plus. Klávesa 1 dostane číslo 1, klávesa 2 číslo 2 atď. Klávesy sa vráti k hodnote 0 alebo 1, a keď túto hodnotu vynásobíte pevným číslom X, vÀsledkom je buď 0 alebo X. Keďže hodnoty pre nestištěná tlačidlá sú 0, môžete pridať všetky hodnoty a skončiť hodnotou numerické klávesy. Akonáhle je tlačidlo stlačené, vstup premenné je nastavený na 10 násobok predchádzajúce hodnoty plus hodnotu teraz stlačené klávesy. Násobenie desiatimi posunie existujúcu hodnotu vstupu premennej o jedno desatinné miesto doľava, takže sa napríklad z 35 stane 350. Proces napravo čaká, kým nie je stlačené na paneli po kombinácii ešte tlačidlo OK. Kódová premenná Code, ktorá má hodnotu 352, ak je kód správne vložený, je porovnaná so vstupnou premennou. Ak majú obe rovnakú hodnotu, otváracia magnet sa aktivuje, inak nie. Nakoniec je vstupná premenná resetovaná na 0. Premenné Entry a Code sú porovnané zistením ich rozdielov oproti číslu 0. Taky môžete použiť prvok Compare. Keď stlačíte dve tlačidlá naraz, pridá sa ich hodnota. Takže, napríklad, keď by ste zrazu stlačili 3 a 6, výsledná hodnota bude 9. Týmto spôsobom môžete vytvoriť supertajný zámok, u ktorého bude občas potrebné stlačiť niekoľko klávesov naraz. Premýšľajte, aké klávesy v akom poradí musíte stlačiť, aby ste otvorili zámok s kódom 495. Nezabudnite, že prvok Wait for ... pokračuje v programe, keď sa zvýši hodnota, nielen, keď sa zmení z 0 na 1. Funguje kombinačný zámok tiež pre 2 alebo 4 číselné kódy? Ak áno, do akého až počtu čísel funguje a prečo? A čo iné programy kombinačných zámkov?
6 Úroveň 4: Užívateľom definované príkazy Nezabudnite zmeniť ROBO Pro v menu Leve na level 4 alebo vyššia! V úrovni 3 ste sa zaoberali tým, ako spracovať dáta pomocou príkazov a ako môžete, napríklad, zatáčať s motormi. Takto ste používali len preddefinované príkazy ako príkaz = alebo doľava, doprava a stop. V úrovni 4 posielate skrz oranžová spojenie príkazy a teraz sú prepájané jeden s druhým vaše vlastné príkazy. 6.1 Spracovanie príkazov v procese Iste ste už napísali program, ktorý ovláda robota pomocou dvoch kolies, alebo pásové vozidlo. Všetko je rovnaké, keď vozidlo zahýba doľava, doprava, jeden dopredu a dozadu. Vždy musíte motorom zadať príkazy doľava, doprava alebo stop. A potom musíte vždy zaznamenať, ktorý motor riadi ľavé a ktorý pravé koleso a či sa musí motor otáčať doprava alebo doľava, aby sa vozidlo pohybovalo rovno. Ale iste máte hlavu plnú iných chytrých nápadov, takže vás nebudeme obťažovať takými drobnosťami. Tento problém sa dá pochopiteľne vyriešiť pomocou podprogramov pre každú operáciu, alei tak by stále bolo elegantnejšie, keď napíšete podprogram, ktorý, ako výstup motora, má informačný vstup, ktorému musíte len poslať príkazy dopredu, dozadu, doľava, doprava a stop a takto ovládať dva motory. Teraz si iste hovoríte, že v prvku command v ROBOPro nie sú príkazy doprava, doľava, dopredu a dozadu. Lenže starý dobrý prvok command skrýva stále veľa prekvapení. Umiestnite do hlavného programu voliteľný prvok commad a jednoducho vložte raz do okna Characteristics ako položku Command "Forward". Sledujte ... ono to funguje! Nasleduje otázka: Čo robiť s takým prvkom príkazu? Nie je tu žiadny prvok, ktorý vie spracovať také príkazy. Keď pošlete, napríklad, príkaz vpred do výstupu motora a skúsite spustiť program, ROBOPro oznámi "No connected input can process the Forward command". (žiadny pripojený vstup nemôže spracovať príkaz Forward.) Od úrovne 4 sa objavujú dva vcelku nenápadné, ale veľmi účinné prvky, ktoré môžu spracovávať ľubovoľné príkazy: prvok Command Wait a prvok Command filter. obaja nájdete v skupine prvkov Send, Receive. Úloha, ako vytvoriť podprogram, skrze ktorý dvojbicyklovú robot môže byť ovládaný pomocou príkazov dopredu, dozadu, doprava a doľava, môže byť vyriešený oboma prvkami. Ako prvý skúsime Command Wait. Do tohto prvku môžete poslať ľubovoľné príkazy cez príkazový vstup C. Avšak prvok čaká len na úplne rozhodnutý príkaz, ktorý môžete nastaviť. Potom, čo prvok obdržal tento príkaz, program je nasmerovaný do výstupu Y, inak bude poslaný do výstupu N. Ako viete, v ROBOPro je príkaz pozostávajúce z názvu a čísla, hodnota príkazu. Až prvok Wait for Command obdrží príkaz, na ktorý čakám hodnota príkazu je k dispozícii na výstupe V.
Teraz je jednoduché vytvoriť požadovaný podprogram. V neustálej slučke je všetkých 5 možných ovládacích príkazov vyzvaných pomocou prvku "Wait Command". Potom, čo dostane zodpovedajúcu odpoveď, hodnota príkazu je prenesená na pravý a ľavý príkaz, ktoré sú poslané do dvoch výstupov motora M1 a M2. Keď podprogram dostane napríklad príkaz Vor s hodnotou 8, hodnota 8 na výstupe V filtri príkazov poslaný na dva prvky príkazov, ktoré ich potom pošlú príkazy na oba motory. U podobných konštrukcií je často veľmi zložité udržať obidva motory v jednej línii, takže často by mali ísť do oboch motorov inej príkazy. V príklade nie je pripojený výstup V filtra příkyzu Stop, pretože prvky príkazu Stop nepotrebujú mať hodnotu.
6.2 Filter príkazov Úloha v predchádzajúcej sekcii možno tiež vyriešiť pomocou filtra príkazov. S filtrom príkazov môžete premenovávať príkazy. Keď je určitý príkaz poslaný do ľavého vstupu, prvok pošle ďalší príkaz do elementov, ktoré sú pripojené k pravému výstupu, ale s rovnakou hodnotou príkazu ako príkaz prijatý na vstupe. Tak môžete vytvoriť príkaz ovládanie motora, napríklad jeden príkaz = ako napravo alebo naľavo. S filtrom príkazov môžete však tiež prevádzať vaše ľubovoľné príkazy na štandardnú ROBOPro príkazy, aby ste mohli spustiť akciu pomocou vlastných príkazov.
Na obrázku vpravo vidíte, ako môžete nakonfigurovať podprogram pre ovládanie dvojkolesového robota pomocou filtra príkazov. Horný filter príkazov napríklad mení príkaz cw na príkaz =. Výstupy motorov môžu tiež spracovať príkazy = s hodnotou od -8 do 8. Keďže s rotáciou v smere hodinových ručičiek doprava pri modeli s dvoma motormi by malo otáčať v rôznych smeroch, hodnota príkazu = pre motor M2 je negatívny s jedným operátorom -. Naopak u príkazu doľava sa hodnota motora M1 stane negatívny. Dopredu a dozadu je jednoduchšie, pretože obidva motory sa otáčajú v rovnakom smere. Nemusíte nutne meniť príkazy pomocou filtra príkazov. Posledné filter príkazov má príkaz Stop ako na vstupe, tak na výstupe príkazov. S týmto prvkom sú príkazy Stop odovzdané priamo k motorom. Avšak potrebujete filter príkazov pre iné príkazy, aby potrebné cw alebo CCW neboli posielané priamo do výstupov motorov. Veľkou výhodou filtrov príkazov vo vzťahu k prvku Wait at the Command v predchádzajúcej sekcii je, že nepotrebujete proces. To šetrí pamäť a priebeh je okamžitý, takže nepotrebujete dva rôzne výstupy. S programom vyššie sa robot otočí na mieste pomocou príkazu cw. Skúste zmeniť program tak, že M1 sa pohybuje a M2 stojí. Pre príkaz doprava potrebujete dva filtre príkazov. Jeden mení príkaz na jeden príkaz =, druhý druhý na príkaz stop. Hodnota príkazu je ignorovaná s príkazom stop.
6.3 Posielanie ľubovoľných príkazov do podprogramov V sekcii 5.5 ste už poznali vstupy príkazov pre podprogramy. Avšak ste len prepájali digitálne alebo analógové vstupné prvky k vstupom príkazu. Jaky prvky vždy vyšlú jeden príkaz =, ak sa zmení hodnota vstupu. Ak by ste chceli poslať ďalší príkaz do vstupu príkazov pre podprogram, musíte to poznačiť v okne Characteristic vo vstupe príkazu. Od úrovne 4 je v okne Characteristic nová voľba Passing Mechanism. Ak vyberiete príkaz "=" len tu, môžete vyslať príkaz = do zodpovedajúceho vstupu požiadavke podprogramu. Navyše, posledný príkaz = je automaticky opakovaný, keď sa spustí podprogram. Inak by vstup podprogramu nemal správnu hodnotu, keď sa podprogram spustí. Len si predstavte, že je prvkom digitálneho vstupu pripojený k vstupu podprogramu. Tieto prvky len posielajú príkazy, ak sa zmení hodnota rozhranie. Ak je teraz vstup uzavretý, prvok digitálneho vstupu vyšle jeden príkaz = 1. Keď je podprogram spustený po tom, čo je vyslaný príkaz, je dôležité, aby bol príkaz poslaný znovu potom, čo je program spustený. Inak by mohol mať vstup zlú hodnotu, kým prvok pripojený k vstupu podprogramu nezmení hodnotu.
Tento prenos ale môže byť tiež rušivý au väčšiny príkazov nie je vhodný. Keď posielate, napríklad, jeden Štart alebo príkaz +1 do podprogramu, nechcete, aby sa toto dialo opakovane. Preto nie sú príkazy vysielané opakovane, keď vyberiete voľbu Any commands. Aj keď ste poslali na vstup Any command príkaz =, príkazy nie sú opakovať sa spustením podprogramu. Môže sa stať, že hodnota, ktorú vstup podprogramu prejde, nemusí zodpovedať skutočnej hodnote na vstupe.
7. Ovládanie niekoľkých rozhraní Jeden ROBO TX kontrolér stačí na ovládanie bežných modelov. Avšak možno niektorí ľudia majú radšej zložitejšie veci. Ak vám nestačí existujúce vstupy a výstupy, môžete prepojiť až 8 ďalších ROBO TX kontrolerov k vášmu ROBO TX kontroléra pomocou 6-pinových rozširujúcich konektorov. Pre tých, ktorí stále používajú skoršie ROBO rozhranie tiež existuje možnosť ovládania až troch ROBO rozhranie (každé s rozšírením 3 I / O) v online móde z vášho programu. 7.1 Ovládanie rozšírenie Možno ste si už všimli roletového menu pod Interface / Extension v okne Properties pre vstupné a výstupné prvky. Tu môžete vybrať, na akom rozhranie alebo rozširovacím modulu pôjde nájsť vstup alebo výstup. Zrejme ste doteraz neurobili žiadne nastavenia (pozri ďalšie sekcie). Položky sú nasledovné: IF1: Toto je ROBO TX kontrolér, ktorý možno prepojiť s PC a jedná sa o master zariadení. EM1 až EM8: Toto sú ROBO TX zariadenia, ktoré sú pripojené na master zariadenia ako rozšírenie. Je teda veľmi jednoduché ovládať rozširovacie moduly. Potrebujete iba vybrať požadovaný kontroler (master alebo rozšírenie 1-8) pre vstupy a výstup. Manuál k ROBO TX kontrolera vysvetľuje, ako nastaviť ROBO TX kontrolér tak, že bude fungovať ako rozšírenie. 7.2 ROBO TX kontrolér a ROBO Rozhranie dohromady KED chcete ovládať ROBO TX kontrolér a ROBO rozhraním súčasne z jedného programu, poďme to ľan v móde online. Moze napríklad Prepojiť ROBO TX kontrolér s 8 rozšírením k USB portu. Navýši moze Prepojiť ROBO Rozhranie ku COM1 Zaregistruj sa alebo USB. Toto moze zahrniete až 3 ROBO I / O rozšírení. V okne Properties vstupe a výstupe mozem Definovať zamýšľané rozhraním. Kým neurobíte ine Nastavením, nájdem položky IF1, EM1-EM8 v roletovom menu Interface / Extension. Moze ale tento Zoznam rozširovať Zaregistruj sa alebo modifikovať. Moze pre to čo i niekolko dôvodov: - Pre Lepšie rozpoznaním mozem dám položkám IF1 Zaregistruj sa alebo EM1 názvy špecifikujúci, Ktory časti strojov Zaregistruj sa alebo robota ovláda. - Moze chciet vymeniť dva rozširovacie moduly (napr. EM1 a EM2) pre uľahčenie zapojením bez zmeny programu. - Moze chciet spustiť program, povodne napisane pre jeden ROBO TX kontrolér s viac Ako Troma rozšírením, pomoc niekoľkých ROBO rozhraním. Toto všetko moze urobit vcelku jednoduché zmeny Interface assignment v okne Propertiesv hlavnom programe.
Tu vidíte, ktoré moduly (master a rozšírenie) boli pridelené k názvom IF1 až EM8. Pomocou tlačidla New môžete pridať nové rozhranie. Ak chcete zmeniť v zozname položku, vyberte ju a kliknite na Edit. Zobrazí sa nasledovné: - Pod Name môžete zmeniť meno použité pre modul. Meno by nemalo byť príliš dlhé, pretože priestor pre neho je len malý. Keď zmeníte meno, musíte zvyčajne tiež zmeniť názov modulu vo všetkých vstupných a výstupných prvkoch, ktoré toto meno používajú. - Pod Extension môžete špecifikovať, či meno odkazuje na rozhraní alebo na jedno z rozšírenia 1 až 8. - Pod Port môžete vybrať port, ku ktorému je pripojené rozhranie. Keď vyberiete User selection, rozhranie vyberiete v lište pod COM / USB. Kým chcete používať ROBO TX kontrolér s niekoľkými rozširujúcimi modulmi, toto je najjednoduchší, pretože takto môže niekto iný používať váš program bez úprav. Keď pripájate prídavná ROBO rozhrania k vášmu PC pomocou USB, tu špecifikujete port, ku ktorému je pripojené relevantné rozhranie. - Pod Interface môžete špecifikovať, ktoré rozhranie chcete použiť. Keď pripojíte skoršie ROBO rozhranie alebo inteligentné rozhrania pomocou sériového portu, program môže detekovať automaticky, o ktorý typ rozhrania sa jedná (vybraté Automatic). - Pravá strana okna je dôležitá, ak máte pripojené rôzne rozhrania súčasne k USB rozbočovaču. Ak áno, tak pod Port kliknite na USB a môžete vybrať jedno z rozhrania pod USB Interface list. Pozor: Oproti skoršiemu ROBO rozhranie je k PC pomocou USB alebo Bluetoothpřipojen iba jeden ROBO TX kontrolér. Toto takzvané master zariadenie môžete prepojiť s až 8 ROBO TX kontrolery ako rozšírenie. Ak by ste chceli pracovať s viac ako jedným ROBO rozhraním na USB rozbočovaču, musíte najprv prideliť každému rozhranie jeho vlastné sériové číslo. Základni majú všetky ROBO rozhranie pridelené rovnaké sériové číslo, aby sa zabránilo problémom pri výmene rozhraní. Operačný systém Windows však detekuje rozhranie s rozdielnymi sériovými číslami.
- Pod Remember Interface môžete špecifikovať, ako si program zapamätá vybrané rozhranie. Sú dve možnosti: Keď vyberiete By serial number, program uloží sériové číslo ROBO rozhranie. Aj keď pripojíte iné ROBO rozhrania pomocou USB rozbočovača a odpojíte je, program môže vždy nájsť vybrané zariadenie znova vďaka sériovému číslu. na druhú stranu to má nevýhodu, že program teraz pracuje len s rozhraním s iným sériovým číslom, takže musíte zmeniť buď pridelenie rozhranie alebo sériové číslo rozhranie. Aby ste obišli problém so sériovými číslami, máte druhú možnosť: By sequence. Keď vyberiete túto položku, program uloží namiesto sériového čísla poradí sekvencie. Hoci to môže popliesť, keď pridáte alebo odpojíte rozhranie na USB rozbočovaču, program pobeží nezmenený s akýmkoľvek rozhraním. 7.3 Pridelenie rozhranie v podprogramoch Normálne vykonáte všetky pridelenie rozhranie vo vašom programe v okne Properties v hlavnom programe. Avšak môžete tiež vstúpiť pridelenie rozhranie tiež v podprograme. Potom môžete použiť pridelenie rozhrania ako od hlavného programu, tak v podprograme. Ak obe pridelenie majú rovnaký názov, má pridelenie v podprograme prednosť. Napríklad môžete definovať IF1 ako pristupujúci k hlavnému rozhranie v hlavnom programe, ale v určitom podprogramu je ako rozširovací modul. Toto je veľmi praktické, ak chcete ovládať celý vozový park s každým strojom ovládaným vlastným rozhraním. Týmto spôsobom môžete vytvoriť ovládacie programy pre jednotlivé stroje ako nezávislé programy s každým hlavným programom pristupujúcim IF1. Neskôr môžete nainštalovať hlavné programy všetkých strojov ako podprogramy jedného celkového programu. V celkovom programe teda potrebujete modifikovať pridelenie rozhrania, ale nie názov každého samostatného vstupu a výstupu. 7.4 Tipy a triky Ak chcete spustiť program, ktorý bol vytvorený pomocou ROBO rozhrania s tromi rozširovacími modulmi na dvoch inteligentných rozhraniach, každom s rozširovacím module, môžete použiť pridelenie rozhrania. Tým nahradíte rozširovacie moduly 2 a 3 pomocou ďalšieho inteligentného rozhrania s rozširovacím modulom na COM2. 7.5 Zmena sériového čísla ROBO rozhrania Základni majú všetky ROBO rozhranie a ROBO I / O rozšírení všetky rovnaké sériové číslo. Kým chcete používať len jedno ROBO rozhranie na počítači, je to praktickejšie, pretože týmto spôsobom vyzerajú pre počítač všetky rozhrania rovnako a nebude problém s ich výmenou. Ak ale chcete pracovať s viac ako jedným rozhraním pripojeným pomocou USB k počítaču, musíte upraviť sériové číslo rozhranie vopred, aby mohol počítač rozoznať jednotlivé rozhrania. Na druhú stranu, ak komunikujete s rozhraniami pomocou niekoľkých sériových portov, nie je to nevyhnutné. Postup zmeny sériového čísla rozhranie je nasledovné: - Pripojte jednotlivé rozhrania k USB rozbočovaču počítača. - V nástrojovej lište prepnite na programovacie prostredie pre ROBO rozhranie stlačením tlačidla Environment. - Stlačte tlačidlo COM / USB v nástrojovej lište a vyberte USB port. - Teraz otvorte okno testu rozhrania pomocou tlačidla Test na nástrojovej lište a prepnite na záložku Info.
- Pod Interface type je zobrazený typ rozhrania, takže ROBO Interface alebo ROBO I / O Extension. - Pod USB serial number môžete nastaviť sériové číslo použitej rozhraním pri spustení. Každé rozhranie má dve vstavaná sériové čísla, základné default serial number, ktoré je 1, ak nenastavíte iné a unikátne unique serial number, ktoré nemôžete zmeniť a líši sa u každého rozhranie. Najjednoduchším spôsobom, ako použiť viac ako jedno rozhranie na USB rozbočovaču je nastaviť tlačidlo výberu pre každé rozhranie do Use unique serial number. Potom má každé rozhranie zaistené svoje vlastné sériové číslo. Keď použijete pre jeden model viac rozhranie, môže byť nepraktické si pamätať všetky sériové čísla. V tomto prípade je jednoduchšie nastaviť aj základné sériové číslo vášho rozhrania, napríklad 1, 2, 3, atď. A použiť ich tu. Potom, čo nastavíte alebo vyberiete sériové číslo, stále musíte stlačiť tlačidlo Write to Interface. Po zmene sériového čísla musíte rozhrania vypnúť a pripojiť ich znova. Pozor: Keď zmeníte sériové číslo, môže sa stať, že budete musieť prenastaviť ovládač, čo si vyžaduje administrátorské práva vo Windows. Keď zmeníte sériové číslo, ale programy nepreinštalujete ovládač, pretože nemáte administrátorské práva, môže sa stať, že nebudete mať prístup k rozhraniu skrze USB. V takom prípade vypnite rozhranie a pridržte tlačidlo Port, keď opäť zapínate. Potom sa rozhranie spustí so sériovým číslom 1 a bude opäť rozpoznané už nainštalovaným ovládačom. Avšak tým nezmeníte sériové číslo permanentne, pri ďalšom spustení bez tlačidla Port bude obnovené pôvodné sériové číslo. Pre permanentné zmenu sériového čísla použite vyššie ovedený postup. - Nakoniec môžete pod Update firmware vylepšiť vnútorný ovládací program na vašom ROBO rozhranie, ak fischertechnik poskytne novú verme firmvéru pre rozhranie.
8. Prehľad programovacích prvkov Všetky programovacie prvky v ROBO Pro sú zoskupené podľa skupín prvkov nasledovne, a popísané v poradí, v akom sú zobrazené v okne prvkov. 8.1
Základné
prvky
(úroveň
1)
8.1.1 Štart Proces v programe vždy začína pomocou prvku Štart. Bez tohto programovacieho prvku na začiatku sa proces nespustí. Ak program obsahuje niekoľko procesov, každý z nich musí začínať prvkom Štart. Potom sú súčasne spustené rôzne procesy. Prvok Štart nemá žiadne nastavenia, ktorá môžete upravovať. Z tohto dôvodu ak kliknete pravým tlačidlom myši na tento prvok, tak sa oproti väčšina ostatných prvkov neotvorí okno Properties. 8.1.2 End Ak má byť proces ukončený, vývod z posledného prvku je pripojený k prvku End (koniec). Proces možno tiež ukončiť pomocou tohto prvku na rôznych miestach. Tiež je možné pripojenie ukončenie rôznych prvkov k jednému prvku End. Ale je tiež možné, že proces prebieha neustále dokola a prvok End vôbec neobsahuje. Prvok End nemá žiadne nastavenia, ktorá môžete upravovať. Z tohto dôvodu ak kliknete pravým tlačidlom myši na tento prvok, tak sa oproti väčšina ostatných prvkov neotvorí okno Properties. 8.1.3 Digital Branch Pomocou tohto rozvetvenie môžete priamo riadiť program podľa stavu na jednom z gitiální vstupov I1 až I8, v jednej alebo dvoch smeroch. Ak napríklad senzor na digitálnom vstupe je zatvorený (= 1), program vedie k východu 1. Na druhú stranu, keď je vstup otvorený (= 0), probram ide k východu 0. Keď
kliknete
pravým
tlačidlom
myši
na
prvok,
otvorí
sa
okno
Properties:
- Tlačidlá I1 až I8 vám umožňujú zadať, ktorý z univerzálnych vstupov ROBO TX kontroléru bude zaradený. - Tlačidlá C1d až C4D vám umožňujú vybrať jeden zo vstupov C1 až C4 na ROBO TX kontrolera ako jednoduchý digitálny vstup. - Tlačidlá M1E až M4E vám umožňujú zaradiť jeden zo štyroch interných vstupov ROBO Pro. Sú nastavené na 1, akonáhle motor ovládaný pomocou Extended Motor Control dosiahne prednastavené pozície. - Pod Interface / Extension môžete vybrať, či chcete použiť vstup rozhranie alebo vstup rozširovacieho modulu. Viac o téme nájdete v časti 7. - Pod Sensor type môžete vybrať senzor pripojený k vstupu. Digitálne vstupy sú najčastejšie použité s tlačidlovými senzormi, ale často aj s fototranzistor alebo magnetickými senzormi. ROBO Pre vyberá Input mode univerzálneho vstupu automaticky podľa vybraného senzora. V úrovni 4 a vyššie môžete tiež vybrať Input type nezávisle na senzore. - Pod Interchange 1/0 connections môžete vymeniť pozíciu 1 a 0 na existujúcom rozvetvenie. Normálne je 1 dole a 0 napravo. Ale často je praktickejšie mať 1 napravo. Stlačte Interchange 1/0 connections a potom budú dve spojenia vymenená, akonáhle kliknete na OK.
8.1.4 Analog Branch Rovnako ako pri digitálnych vstupov má ROBO rozhranie 6 analógových vstupov: 2 odporové vstupy AX a AY, dva napäťové vstupy A1 a A2 a dva vstupy pre senzory vzdialenosti D1 a D2. S týmto rozvetvením môžete porovnávať hodnotu analógového vstupu s nastaveným číslom a podľa výsledku porovnania viesť program vetví Áno (Y) alebo Nie (N). Keď
kliknete
pravým
tlačidlom
myši
na
prvok,
otvorí
sa
okno
Properties:
- Pod Analog input môžete vybrať, ktorý z univerzálnych vstupov ROBO TX kontroléru bude zaradený. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Sensor type vyberte senzor pripojený k vstupu. ROBO Pre vyberie Input mode univerzálneho vstupu automaticky podľa vybraného senzora. V úrovni 4 a vyššie môžete tiež vybrať Input type nezávisle na senzore. Senzor
Mód vstupu
Zobrazená hodnota
NTC rezistor, fotorezistor
Analóg 5kOhm
0-5000 Ohm
farebný senzor
Analóg 10V
0-10000 mV
Ultrazvukový senzor vzdialenosť vzdialenosti (verzia TX, položka 133009 s 3-pin káblom -
Viac
informácií
o
rôznych
analógových
3-400 cm
vstupoch
nájdete
v
časti
8.7.2.
- Pod Condition vyberte nákupný operátorov ako je menej ako (<) alebo viac ako (>) a vložte hodnotu porovnanie. Hodnota porovnaní by sa mala nachádzať v rozsahu od 0 do 1023. Keď spustíte program obsahujúci rozvetvenie pre analógové vstupy v online móde, zobrazí sa antuální analógová hodnota. - Pod Interchange Y / N connections môžete vymeniť pozície výstupov z rozvetvenie Y a N. Normálne je výstup Áno (Y) dole a Nie (N) vpravo. Často sa ale hodí mať Áno vpravo. Stlačte Interchange Y / N connections a potom budú dve spojenia vymenená, akonáhle kliknete na OK. 8.1.5 Time delay Pomocou prvku Time Deal môžete oneskoriť proces o vami nastavenú dobu. Keď kliknete pravým tlačidlom myši na prvok, zobrazí sa okno Properties. tu môžete nastaviť dobu oneskorenia v sekundách, minútach alebo hodinách. Časové oneskorenie môže byť nastavená od jednej milisekundy (jedna tisícina sekundy) do 500 hodín (necelé tri týždne). Avšak u dlhších zdržaní sa meranie času stáva menej presným. Nasledujúci zoznam ukazuje presnosť rôznych meškanie.
oneskorenie
presnosť
Do 30 sekúnd
1/1000 sekundy
Do 5 minút
1/100 sekundy
Do 50 minút
1/10 sekundy
Do 8.3 hodín
1 sekunda
Do 83 hodín
10 sekúnd
Do 500 hodín
1 minúta
8.1.6 Motor output Pomocou programovacieho prvku Motor output môžete prepnúť jeden dvojpólových výstupov rozhranie M1 až M4. Výstupy z rozhrania je možné použiť pre motory, rovnako ako pre lampy alebo elektromagnety. S motorom môžete nastaviť rýchlosť, rovnako ako smer otáčok. Keď kliknete pravým tlačidlom myši na prvok, otvorí sa okno Properties: - Pod Motor output môžete nastaviť, ktorý z štyroch výstupov motora M1 až M4 by mal byť použitý. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. -
Pod
Image
môžete
vybrať
obrázok
reprezentujúci
prvok
pripojený
k
výstupu.
- Pod Action nastavíte, ako bude výstup ovplyvnený. Môžete spustiť motor doľava (proti smeru hodinových ručičiek) alebo doprava (v smere hodinových ručičiek) alebo ho zastaviť. Keď pripojíte k výstupu motoru lampu, môžete ju zapnúť a vypnúť. - Speed a Intensity môžete nastaviť medzi 1 a 8. 8 je najvyššia rýchlosť, jas alebo sila magnetického poľa. 1 je najnižšia. V prípade zastavenia alebo vypnutie pochopiteľne nemusíte rýchlosť špecifikovať. Tu sa nachádza niektoré akcie a obrázky.
Motor doprava (cw)
Motor dol'ava (ccw)
Zastaviť motor
Rozsvietiť lampu
Zhasnout lampu
Rada: Niekedy aj motor pracuje len v jednom smere, napríklad u dopravného pásu. V takom prípade môžete pre motor použiť výstup pre lampu, pretože mu stačí o jedno spojenie menej. 8.1.7 Encoder Motor (úroveň 1) Programovací prvok Encoder Motor je k dispozícii od úrovne 1 a umožňuje vám pohodlne ovládať motory so zabudovaným modulátorom (enkodér). Pomocou tohto prvku môžete buď pohybovať jednotlivým motorom po nastavený počet pulzov alebo dvoma motormi naraz s alebo bez špecifikovanej vzdialenosti. Keď kliknete na prvok pravým tlačidlom myši, zobrazí sa okno Property: - Pod Action vyberte, či chcete pohybovať jedným motorom na špecifikovanú vzdialenosť (Distance), dvoma motormi pri rovnakej rýchlosti (Synchron) alebo dvoma motormi na špecifikovanú vzdialenosť rovnakou rýchlosťou (Synchron Distance). Aby ste ukončili akúkoľvek z týchto akcií a zastavili motor, vyberte akciu Stop. - Pod Motor output 1/2 vyberte výstup motora, ktorý akcie ovplyvní. V závislosti na akcii môžete vybrať jeden alebo dva motory. - Pod Interface / Extension môžete vybrať, či si prajete použiť výstup zariadenia master alebo výstup rozšírenia. Ak akcie ovláda dva motory, oba výstupy musia mať rovnaké rozhranie. Viac informácií nájdete v časti 7. -
Pod
Direction
1/2
nastavíte
smer,
ktorým
sa
budú
motory
otáčať.
- Pod Speed vložíte rýchlosť motorov. Ak ovládate dva motory, bude rýchlosť oboch rovnaká. Pod Distance vložíte Viac informácií je v časti 11.6.1.
počet
pulzov,
o
ktoré
chcete
motory
posunúť.
8.1.8 Lamp output (úroveň 2) Pomocou prvku Lamp output môžete prepnúť jeden z jednopólových výstupov O1 až O8 na ROBO TX kontroléra. Výstupy môžu byť použité buď spoločne s výstupmi motora (pozri vyššie) alebo samostatne ako výstupy lámp O1 až O8. Oproti výstupom motorov zaberú výstupy lámp iba jeden spojovací pin. Takto
môžete ovládať 8 lámp alebo elektromagnetických ventilov zvlášť. Pripojíte kontakt druhej lampy pomocou jedného z uzemňovacích socketov ROBO TX kontrolera (┴). Rada: Ak si prajete pripojiť štyri lampy alebo motory, môžete tiež použiť výstupy motora pre lampy. Je to praktickejšie, pretože takto môžete prepojiť ako lampy priamo k výstupu rozhranie namiesto, aby ste museli prepájať všetky negatívne terminály oddelene do jedného uzemňovacieho socketu. Keď
kliknete
na
prvok
pravým
tlačidlom
myši,
zobrazí
sa
okno
Properties:
- Pod Lamp output môžete nastaviť, ktorý za štyroch výstupov motora O1 až O8 použijete. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. -
Pod
Image
môžete
vybrať
obrázok
reprezentujúci
prvok
pripojený
k
výstupu.
- Pod Action nastavte, ako bude výstup ovplyvnený. Lampu môžete zapnúť a vypnúť. - Intensity môžete nastaviť medzi 1 a 8. 8 je najjasnejšia, 1 najslabší. V prípade vypnutia pochopiteľne ako nemusíte nastavovať. Tu sa nachádza niektoré akcie a obrázky.
Zapnúť mapu
Vypnúť lampu
8.1.9 Wait for input Prvok Wait for Input čaká, kým jeden zo vstupov rozhrania nie je v určitom stave alebo kým sa určitým spôsobom nezmení. Keď kliknete na prvok pravým tlačidlom myši, zobrazí sa okno Properties: - Pod Wait môžete nájsť typy zmien stavu, na ktoré sa má čakať. Keď vyberiete 1 alebo 0, prvok čaká, kým sa vstup neuzavrie (1) alebo neotvorí (0). Keď vyberiete 0-> 1 alebo 1-> 0, prvok čaká, kým sa stav vstupu nezmení z otvoreného na zatvorený (0-> 1) alebo zo zavretého na otvorený (1-> 0). V druhom prípade prvok čaká, kým sa nezmení stav vstupu, či už otvoreného na zatvorený alebo naopak. Aby sme vám pomohli toto pochopiť ďalej, v časti 3.6. je vysvetlené, ako môžete napodobniť tento prvok pomocou prvku Branch. - Pod Digital input môžete vložiť, ktorý zo vstupov bude zaradený. Môžete si vybrať jeden z univerzálnych vstupov I1 až I8. Ostatné vstupy sú popísané v casi 8.3.1. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Sensor type môžete vybrať senzor pripojený k vstupu. Digitálne vstupy sú najčastejšie použité s tlačidlovými senzormi, ale často aj s fototranzistor alebo magnetickými senzormi. ROBO Pre vyberá Input mode univerzálneho vstupu automaticky podľa vybraného senzora. V úrovni 4 a vyššie môžete tiež vybrať Input type nezávisle na senzore.
8.1.10 Pulse counter Mnoho modelov robotov fischertechnik používať tiež pulzný kolieska. Tá ovládajú senzory štyrikrát počas, jednej otáčky. S týmito pulzními kolieskami môžete otáčať motorom po presne definovaný počet otáčok, skôr než po daný čas. Aby ste tak urobili, musíte počítať počet pulzov na vstupe rozhraní. Z tohto dôvodu je tu prve Pulse counter, ktorý čaká na užívateľom definovaný počet pulzov. Poznámka: Pre ovládanie kódovacích motorov je tu špeciálny prvok, ktorý spomaľuje motory a pracuje vďaka tomu presnejšie. Pozri časť 8.1.7. Keď kliknete na prvok pravým tlačidlom myši, zobrazí sa okno Properties:
- Pod Pulse type môžete vybrať typ pulzu, ktorý bude sčítanie. Keď vyberiete 0-> 1 (stúpanie), prvok čaká, kým sa stav vstupu nezmení z otvoreného na zatvorený (0-> 1) toľkokrát, koľkokrát ste špecifikovali v Number of Pulses. Keď vyberiete 1-> 0 (klesanie), prvok čaká, kým sa stav vstupu nezmení zo zavretého na otvorený (1-> 0) toľkokrát, koľkokrát bolo speficikováno. S pulzními kolieskami je však najčastejšie používaná tretia možnosť. V tej prvok počíta ako zmeny 0-> 1, tak 1-> 0, takže za otočku pulzného kolieska je napočítaných 8 pulzov. - Pod Digital input môžete vložiť, ktorý zo vstupov bude zaradený. Môžete vybrať jeden z univerzálnych vstupov I1 až I8. C1d až C4D vyberajú jeden z citáciami vstupov. Avšak to nemá využitie ako rýchly hardvérový čítač. Maximálna frekvencia počítania je niekoľko 100 Hz. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Sensor type môžete vybrať senzor pripojený k vstupu. Digitálne vstupy sú najčastejšie použité s tlačidlovými senzormi, ale často aj s fototranzistor alebo magnetickými senzormi. ROBO Pre vyberá Input mode univerzálneho vstupu automaticky podľa vybraného senzora. V úrovni 4 a vyššie môžete tiež vybrať Input type nezávisle na senzore. 8.1.11 Counter loop Pomocou prvku Counter loop môžete veľmi ľahko vykonať niektorú časť programu niekoľkokrát. Counter loop má vstavané počítadlo. Ak je to neho vykonaný prístup skrze vstup = 1, počítadlo je nastavené na 1. Ak je do prvku vykonaný prístup skrze vstup +1, je k počítadlu pridané 1. Podľa toho, či je hodnota na počítadle vyššia, než predpísaná hodnota, má počítadlo vetvy k áno (Y) alebo Nie (N). Príklad použitia nájdete v časti 3.6.4. Keď
kliknete
na
prvok
pravým
tlačidlom
myši,
zobrazí
sa
okno
Properties:
- Pod Number od iterations vložte počet, koľkokrát sa musí slučka opustená skrze výstup Nie (N), než sa aktivuje výstup Áno (Y). Vložená hodnota by mala byť pozitívna. - Pod Interchange Y / N connections môžete vymeniť pozície výstupov z rozvetvenie Y a N. Normálne je výstup Áno (Y) dole a Nie (N) vpravo. Často sa ale hodí mať Áno vpravo. Stlačte Interchange Y / N connections a potom budú dve spojenia vymenená, akonáhle kliknete na OK. Podľa toho, kde sú spojenia Y a N bude opakujúce sa časť napravo alebo dole.
8.2
Send,
Receive
(úrovne
2-4)
V tejto skupine prvkov nájdete programovacie prvky, ktoré môžete použiť pre vysielanie a prijímanie správ skrze ROBO RF DATA Link alebo cez sériové rozhranie ROBO rozhranie. 8.2.1 Sender (úroveň 2) Pomocou vysielača môžete poslať príkaz alebo správu skrze Bluetooth (v prípade ROBO rozhrania skrze ROBO RF Data Link) do ďalšieho rozhrania. Týmto spôsobom môže napríklad spoločne komunikovať niekoľko robotov. Okno
nastavenia
pre
prvok
vysielača.
- Pod Send command môžete vložiť príkaz a od úrovne 3 hodnotu príkazu. Príkaz pozostáva z názvu a číselné hodnoty. Číselná hodnota môže byť tiež určená skrze Data input. U názvov príkazov nevrátených zo zoznamu sú porovnávaná len prvé tri písmená alebo čísla. Môžete napísať viac ako tri, ale "Hello", "Help" a "Helikoptéra" sú všetko jedna a tá istá správa, pretože začínajú na "Hel". Veľké a malé písmená a špeciálne znaky (medzera,!,?,%, Atď.) Tiež nie sú rozlišované. XY! a XY? sú preto rovnaká správa. Čísla rozpoznávajú sú, takže XY1 a XY2 sú rozdielne správy. Pod Destination interface / element môžete vybrať, do ktorého rozhrania alebo programovacieho prvku musí byť príkaz poslaný. Vo väčšine prípadov pošlite príkaz do rozhrania s určitých rádiovým číslom alebo do všetkých rozhraní. Od úrovne 4 je navyše možnosť používať skupinu medzi 10 a 255 adresami príjemcov. Príkazy skupine nie sú posielané na určité rozhranie s určitým rádiovým číslom, ale na prvky prijímača, v ktorých je indikované rovnaké číslo skupiny. Vďaka tomu môžete napríklad rozlíšiť od koho bola správa odoslaná, za použitia ďalšie skupiny pre každý vysielač. Čísla skupiny začínajú s číslom 10, pretože čísla 0 až 9 sú rezervovaná. Viac sa o rezervovanie čísel skupín dozviete u prvku Receiver. - Pod Transmit channel nastavíte, ako by čisto po technickej stránke sa mali správy prenášané. V úrovňou 2 tento výber nie je možný, a prenos je vždy pomocou RF (okrem seba). RF je myslené, že je správa poslaná skrze Bluetooth (ROBO RF Data Link). Ak je vybrané RF (including self vrátane seba), správa je tiež zaslaná do rozhrania, ktoré ju odoslalo. Aby toto fungovalo, pod Destination interface / element musí byť zvolené umiestnenie, ktoré obsahuje zasielacie rozhranie, napríklad na všetky rozhrania (all interfaces) alebo skupinu prijímačov (group of Receivers). Môžete tiež poslať správu len pre rozhranie, ktoré vysielalo. Túto funkciu môžete použiť napríklad pre komunikáciu medzi rôznymi procesmi. Od úrovne 4 ROBO rozhranie tiež podporuje posielanie príkazov medzi sériovými COM rozhraniami na ROBO rozhraní. Kvôli tomu musíte prepojiť dve rozhrania pomocou sériového null-modem kábla. - Pod optimization (od úrovne 4) môžete nastaviť, či by mali byť identické príkazy posielané niekoľkokrát. U mnohých príkazov nie je rozdiel, či ho pošlite niekoľkokrát za sebou. Bez optimalizácie môžete napríklad poslať príkaz niekoľkokrát pre vyplnenie buffera prenosu RF Dáta Linku, aby iné príkazy neboli posielané tak rýchlo. Preto je rozumné vymazať identické príkazy. Zvyčajne si budete priať vymazať príkaz, len ak je rovnaký ako posledný príkaz v bufferu. Ak budete posielať v tomto móde, napríklad 2x Štart a potom 2x Stop, bude prenesený len jeden Štart a jedno Stop. Ak však pošlete Start, Stop, Start a Stop rýchlo za sebou, nie dvakrát po sebe ten istý príkaz, sú príkazy prenesené nezmenené. Avšak môžete tiež určiť, že príkazy majú byť mazané, ak sú rovnaké ako akýkoľvek príkaz v bufferu. Naopak, s mnohými príkazmi nie optimalizácie rozumná a mali by ste použiť normálny mód. Príkladom je príkaz Add, ktorým môžete pridávať prvky do zoznamu. So zoznamom je konečne rozdiel v tom, či ste pridali prvok raz alebo dvakrát. V úrovni 2 je vždy označená voľba delete if identical to the last buffered command (vymazať, ak je príkaz rovnaký ako minulý).
- Pod Dáta type môžete vybrať, či je hodnota zaslaného príkazu celé číslo alebo číslo s pohyblivou rádovou čiarkou. Pozri kapitolu 12. 8.2.2 Receiver (rozvetvenie, keď je prijatý príkaz, úroveň 2) Tento prvok je opakom predchádzajúceho prvku vysielača. V závislosti na tom, či bol alebo nebol prijatý určitý príkaz, prvok má výstupy Y a N. Okno nastavenia pre prvok prijímača. - Pod Receive command vložíte príkaz, ktorý by mal prijímač obdržať. Ako už bolo vysvetlené u vysielača, dôležité sú len prvé tri písmená. Potom musíte vybrať, či prijímač reaguje len na príkazy, ktoré boli poslané priamo do rozhrania s určitým rádiovým číslom alebo príkazy, ktoré boli vyslané na všetky rozhrania alebo také, ktoré boli vyslané na všetky rozhrania. Môžete vybrať oboje. Ako už bolo popísané u vysielača, od úrovne 4 môžete posielať správy tiež určitej skupine. Takéto správy dostane všetky prvky prijímačov, s ktorými bola táto skupina označená. Možno použiť skupiny 10 až 255. Skupiny 0 až 8 reagujú na rádiové čísla 0 až 8. Skupina 9 je rezervovaná pre zasielanie na všetky rozhrania. Keď posielate správu, nie je rozdiel, či posielate skupine 1 alebo rádiovému číslu 1. Ale pre príjem nemôžete určiť rádiové číslo, pretože každé rozhranie pozná svoje frekvenčné číslo. Označenie skupiny prijímačov od 1 do 8 pre prijímač môžete však získavať správy, ktoré boli v skutočnosti určené pre iné rozhranie. Skupiny prijímačov menšie ako 10 môžete ale začať používať až od úrovne 5. - Pod Serial COM port (od úrovne 4, iba ROBO rozhranie) môžete určiť, že prvok tiež môže prijímať správy od COM rozhrania. Tu sa jedná o vec rámcového nastavenie, či COM rozhranie bude aktivované alebo nie. Keď v programe jeden vysielač alebo prijímač používa v COM rozhranie, všetky prvky prijímačov môžu obdržať správy od COM rozhrania. - Pod Type of buffer môžete špecifikovať, či pamäť, v ktorej sú uchované prijaté príkazy, je local (miestne) alebo global (rámcová). Keď vyberiete global, prvok môže tiež dostávať príkazy, keď nie je podprogram, v ktorom sa prvok nachádza, aktívny. - Pod Y / N branches môžete vymeniť pozície výstupov Y a N. Normálne je Y smerom dole a N doprava. Často je praktickejšie, keď výstup Y vedie doprava. Stlačte swap Y / N branches a po zatvorení pomocou OK sa výstupy vymení.
8.2.3 Receiver (úroveň 3) Prvok prijímača popísaný v predchádzajúcej časti je zamýšľaný hlavne pre úroveň 2, pretože môže len prijímať príkazy, ale nie hodnoty príkazov. Prijímač úrovne 3 naopak prijíma ľubovoľné príkazy s hodnotou príkazu. Týmto prvkom neurčujú žiadny príkaz, ktorý by mal dostať prvok prijímača. Prijímač vysiela vcelku ľahko všetky prijaté přípaky do prvkov pripojených k výstupu. Okno nastavenia pre prvok prijímača. - Pod Receive command určíte, či má prijímač reagovať len na príkazy, ktoré boli poslané priamo do rozhrania s určitým rádiovým číslom, alebo na príkazy zaslané do všetkých rozhraní. Od úrovne 4 môžete tiež vybrať určitú skupinu. Aby ste zistili o skupinách viac, pozrite sa na opis predchádzajúcich dvoch prvkov. S vysielačom úrovne 3 môžete vybrať len jednu možnosť. Avšak
môžete prepojiť výstupy dvoch alebo viacerých prijímacích prvkov s rôznym výberom, ak chcete prijímať príkazy s rôznymi dátami ciele. Môžete tiež prepnúť na prijímače s rôznymi skupinami. - Pod Serial COM port (od úrovne 4) môžete určiť, že prvok tiež môže prijímať správy od COM rozhrania. Pozri predchádzajúci prvok. 8.2.4 Wait for command (úroveň 4) Prvok Wait for command sa používa podobne ako Receiver (časť 8.2.2) pre čakanie na príkaz. Avšak, nečaká na príkazy zaslané pomocou ROBO RF Data Link alebo iného rozhrania, ale na príkazy zaslané do vstupu príkazov na ľavej strane prvku. Keď sem pripojíte prvok Receiver (úroveň 3), vo výsledku máte přijímař úrovne 2. Avšak tento prvok má navyše dáta výstup na pravej strane. Vždy, keď dostane príkaz a program ide do výstupu Y, číselná hodnota vyslaná príkazom je prístupná na výstupe hodnoty príkazu V. Keďže výstupy V a Y patrí dohromady, nemôžete u tohto prvku vymeniť výstupy Y a N. Príklad použitia nájdete v časti 6.1. Okno Properties pre prvok Wait for command - Pod Command môžete vybrať príkaz, na ktorý má prvok čakať. Môžete tiež vložiť váš vlastný príkaz, hoci záleží len na prvých troch písmenách a číslach. Popis funkcie nájdete v časti 8.2.1. - Buffer size buffera príkazov je prítomný až od úrovne 5. Ako u prijímača druhej úrovne tento prvok zaznamenáva, koľko prijal príkazov. Keďže čakanie na príkaz musí tiež zaznamenať hodnotu príkazu pre každý príkaz, maximálny počet príkazov je tu však limitovaný. Pre obvyklé použitie by mala úplne stačiť štandardná hodnota štyroch príkazov, pretože prijatý programový príkaz je väčšinou ihneď vykonaný.
8.2.5 Command Filter (úroveň 4) S filtrom príkazov môžete svojím spôsobom premenovávať príkazy. Keď je poslaný to ľavého výstupu určitý príkaz, prvok vyšle iný príkaz do prvku, ktorý je pripojený k pravému výstupu, ale s rovnakou hodnotou príkazu ako príkaz prijatý na výstupe. Takto môžete napríklad dať motora príkaz = ako je doprava alebo doľava. Príklad nájdete v časti 6.2. Okno Properties pre prvok Command filter. - V tomto prvku môžete vybrať dva príkazy: príkaz, ktorý je očakávaný na vstupe a pripažte zmenený na tento príkaz a vylasný na výstup. Môžete tiež vložiť vlastné príkaz, hoci sú dôležité len prvé tri písmená. Popis funkcie nájdete v časti 8.2.1. - Pod Dáta type môžete vybrať, či bude hodnota príkazu (odoslaného alebo prijatého) celé číslo alebo číslo s pohyblivou rádovou čiarkou. Viac sa dozviete v časti 12. 8.2.6 Exchange Message (úroveň 4) Podobným spôsobom, ktorým mení filter príkazov názov príkazu (pozri predchádzajúci časť), tento prvok mení hodnotu. V spojitosti s filtrom príkazov vám to umožňuje prijať jednu správu a vytvoriť niekoľko rôznych správ s rôznymi hodnotami. Napríklad keď by ste chceli naprogramovať
ovládanie pre pásové vozidlo, takže porozumejú takým príkazom ako doľava, doprava alebo dopredu, môžete pomocou filtra príkazov zmeniť príkaz "doľava" na príkaz "=" pre prvok motora. Navyše pomocou tohto prvku môžete vymeniť hodnotu príkazu "=" na 0 alebo negatívne hodnotu a vyslať ju do iného motora. Príkaz, ktorého hodnota má byť zmenená, je vyslaný na vstup B. Novú hodnotu umiestnite do vstupu W. Okno Property pre prvok Exchange message. - Pod Input variable life time môžete vybrať, že vstup W ukladá hodnotu buď v miestnej (local) alebo rámcovej (global) premenné. - Pod Dáta type môžete vybrať, či bude hodnota príkazu (odoslaného alebo prijatého) celé číslo alebo číslo s pohyblivou rádovou čiarkou. Viac sa dozviete v časti 12.
8.2.7 I²C Write (úroveň 4) Tento prvok vysiela príkaz alebo dáta do TX kontroléru I²C rozhranie. I²C rozhranie je k dispozícii na porte EXT2. Štandardné I²C rozhrania možno tiež použiť pre prepojenie senzorov a aktuátorov od iného výrobcu (nie fischertechnik) k TX kontroléra. Použitie I²C rozhranie vyžaduje skúsenosti s elektronickými komponentmi a zodpovedajúce meracie prístroje. Podprogramy pre rôzne, často používanou ²C moduly sú k dispozícii v okne prvkov pod Library / I²C. Súbory knižnice môžete otvoriť priamo ako ROBO Pro programy. Program hlavnej kniohovny obsahuje funkciu testu pre daný modul. Súbory knižnice sú v priečinku, kam ste nainštalovali ROBO Pre pod Library / I²C. Prvok I²C Write vysiela adresový byt s 1 až 4 byty dát cez rozhranie I²C. Najprv je vyslaná 7-bitová adresa zariadenia a potom písacie bit. Potom 0-2-bytová pod-adresa a nakoniec 1 alebo 2 byty. Výhodou protokolu I²C je, že nerozoznáva medzi pod-adresou a dátami. Avšak mnoho I²C modulov to vyžaduje, nasledované adresou zariadenia a pod-adresou vyslanú ešte pred zaslaním dát. Presný protokol nájdete v datasheete pre I²C modul. Okno Properties pre prvok I²C Write - U Device address vložte 7-bitovú adresu zariadenia (bez bitu R / W). Adresa je u niektorých zariadení špecifikovaná ako 8bitová adresa (s bitom R / W). V takýchto prípadoch je nevyhnutné adresu vydeliť dvoma, napríklad 0x60 namiesto 0xC0. Adresy zariadení 0x50..0x57 (= 0xA0 ... 0xAF ako 8-bit) sú používané interne TX kontrolerom a nemôžu byť použité pre externé moduly. - Pod Sub address môžete vložiť 8 alebo 16-bitovú pod-adresu. Pozri tiež Sub address size nižšie. - Pod Dáta input môžete vybrať, či sú dáta pevná a špecifikovaná ďalej pod Data value alebo je tento prvok pre použitie vstupu dát. - Pod Dáta value môžete vložiť hodnotu zasielaných dát, keď nepoužívate vstup dát. - Pod Sub address size môžete vybrať, či bude alebo nebude použitá pod-adresa. Nie všetky I²C moduly používajú pod-adresy, takže je tiež možné vložiť none (žiadna). Keď používate 16-bitovú pod-adresu, môžete vybrať, či bude ako prvá prenesený MSB (najdôležitejšie byt) alebo LSB
(najmenej dôležitý byt). - Pod Dáta size môžete vybrať, či prvok vyšle 8 alebo 16 bit dát do I²C modulu. S 16-bit dátami môžete vybrať, či bude prvý prenesený MSB alebo LSB, ako s pod-adresou. - Pod Speed môžete vybrať rýchlosť hodín I²C. To môže byť 100kHz alebo 400kHz. Ak všetky pripojené I²C moduly podporujú 400kHz, mali by ste vybrať 400kHz, inak 100kHz. - Pod Error handling môžete vybrať, keď pripojený I²C modul nemôže spracovať správne dáta. Môžete vybrať medzi Repeat until successful (opakovať, až kým nebude úspešné), Repeat 10 times (opakovať desaťkrát) alebo abort immediately (ihneď prerušiť). U posledných dvoch možností má prvok vpravo dole navyše chybový výstup. - Keď je označené keep open, prvok neposiela na konci I²C rozbočovače stôp. To umožňuje, aby bola ďalšia dáta písaná alebo čítaná pomocou ďalšieho prvku I²C write alebo I²C read. Pokiaľ nie sú operácie čítania a písania vykonané súčasne alebo alebo nie je spustený príkaz čítania s podadresou, adresa zariadenia nasledujúceho I²C prvku nie je opäť zaslaná. Je vykonaný reštart na I²C rozbočovaču pre zmenu medzi operáciami čítania a písania, nie sekvencie stop / štart. I²C rozbočiť zostáva rezervovaný pre tento proces, kým prvok I²C nevykoná tento proces bez možnosti "keep open". Ostatné procesy sú zablokované, pokiaľ používať prvok I²C. 8.2.8 I²C Read (úroveň 4) Tento prvok číta dáta z TX kontroléru I²C rozhranie. Komentáre ohľadom prvku I²C write platí aj pre tento prvok. Keď je použitá pod-adresa, prvok I²C Read najprv vyšle v móde písaní adresový byt a potom 1 alebo 2 byty dlhú pod-adresu. Prvok potom vykoná reštart I²C rozbočovača, pošle zariadenie opäť adresu, tentoraz v móde čítanie, a potom prečíta 1-2 dáta byty. Ak Nei použitá pod-adresa, adresový byt je vyslaný okamžite v čítacom móde a dáta sú potom prečítaná. Okno Properties pre prvok I²C Write - U Device address vložte 7-bitovú adresu zariadenia (bez bitu R / W). Adresa je u niektorých zariadení špecifikovaná ako 8bitová adresa (s bitom R / W). V takýchto prípadoch je nevyhnutné adresu vydeliť dvoma, napríklad 0x60 namiesto 0xC0. Adresy zariadení 0x50..0x57 (= 0xA0 ... 0xAF ako 8-bit) sú používané interne TX kontrolerom a nemôžu byť použité pre externé moduly. - Pod Sub address môžete vložiť 8 alebo 16-bitovú pod-adresu. Pozri tiež Sub address size nižšie. - Pod Sub address size môžete vybrať, či bude alebo nebude použitá pod-adresa. Nie všetky I²C moduly používajú pod-adresy, takže je tiež možné vložiť none (žiadna). Keď používate 16-bitovú pod-adresu, môžete vybrať, či bude ako prvá prenesený MSB (najdôležitejšie byt) alebo LSB (najmenej dôležitý byt). - Pod Dáta size môžete vybrať, či prvok vyšle 8 alebo 16 bit dát do I²C modulu. S 16-bit dátami môžete vybrať, či bude prvý prenesený MSB alebo LSB, ako s pod-adresou. - Pod Speed môžete vybrať rýchlosť hodín I²C. To môže byť 100kHz alebo 400kHz. Ak všetky pripojené I²C moduly podporujú 400kHz, mali by ste vybrať 400kHz, inak 100kHz. - Pod Error handling môžete vybrať, keď pripojený I²C modul nemôže spracovať správne dáta.
Môžete vybrať medzi Repeat until successful (opakovať, až kým nebude úspešné), Repeat 10 times (opakovať desaťkrát) alebo abort immediately (ihneď prerušiť). U posledných dvoch možností má prvok vpravo dole navyše chybový výstup. - Voľba keep open má rovnaký účinok ako prvok I²C Write.
8.3 čiastkový program I / O (úrovne 2-3) V tejto skupine prvkov nájdete programové prvky, ktoré potrebujete len pre podprogramy. 8.3.1 čiastkový program entry (úroveň 2) Podprogram môže mať jeden alebo viac týchto prvkov. Hlavný program alebo podprogram vyššej úrovne ovláda podprogramy skrze tieto vstupy. V zelenom symbolu podprogramu, ktorý je vložený do vyššieho programu je prepojovacia pin pre každý prvok čiastkový program entry vložený na hornú stranu. Spojenie na symbole majú rovnaké poradie (zľava doprava) ako prvky čiastkový program entry v pláne fungovania podprogramu. Keď kliknete pravým tlačidlom myši na prvok, otvorí sa okno Properties. Tu môžete dať prvku názov, ktorý bude zobrazený na symbole. O podprogramoch zistíte viac v kapitole 4. 8.3.2 čiastkový program exit (úroveň 2) Podprogram môže mať jeden alebo viac týchto prvkov. Hlavný program alebo podprogram vyššej úrovne ovláda podprogramy skrze tieto výstupy. V zelenom symbolu podprogramu, ktorý je vložený do vyššieho programu je prepojovacia pin pre každý prvok čiastkový program exit vložený na hornú stranu. Spojenie na symbole majú rovnaké poradie (zľava doprava) ako prvky čiastkový program exit v pláne fungovania podprogramu. Keď kliknete pravým tlačidlom myši na prvok, otvorí sa okno Properties. Tu môžete dať prvku názov, ktorý bude zobrazený na symbole. O podprogramoch zistíte viac v kapitole 4. 8.3.3 čiastkový program command input (úroveň 3) Skrze tento prvok môžu byť prepojené podprogramy k vstupným prvkom ako sú prepínače v hlavnom programe alebo podprogramu vyššej úrovne, alebo zásobované odtiaľ pomocou hodnôt z rôznych prvkov. V podprograme je zelený symbol vložený do vyššieho programu, jeden prepojovací pin pre každý príkaz podprogramu je vložený na ľavú stranu. Spojenie na symbole majú rovnakú sekvenciu (zhora nadol) ako vstup príkazu podprogramu v pláne fungovania podprogramu. Vysvetlenie nájdete v časti 5.5. okno Property - Pod Name môžete vložiť názov pre vstup príkazu. Na zelenom symbolu podprogramu sú zobrazené iba prvé dva znaky. - Pod Dáta type môžete vybrať, či hodnota prijatého príkazu je celé číslo alebo číslo s pohyblivou rádovou čiarkou. Viac informácií je v časti 12.
- Pod Passing mechanism (úroveň 4 a vyššie) môžete vybrať, či vstup prijíma iba príkazy "=" alebo akékoľvek príkazy. Ak sú pripojené premenné vstupe rozhranie k vstupu vyvolanie podprogramu,, mali by ste vybrať len príkazy "=". V tomto prípade vstup podprogramu ukladá posledne prenesenú hodnotu a umožní správnu hodnotu hneď po spustení programu. Ak vyberiete ľubovoľné príkazy, môžete tiež vstupe vysielať príkazy ako stop alebo vlastné príkazy. Tieto príkazy sa postúpia podprogramu, ak je aktívny. Dáva to zmysel, keď podprogram obsahuje napríklad prvok motora a vy by ste chceli vyslať príkazy do tohto prvku zvonku. Viac informácií nájdete v sekcii 6.3. 8.3.4 čiastkový program command output (úroveň 3) Skrze tento prvok môžete posielať motorom alebo iným prvkom také príkazy ako doľava, doprava alebo stop. V zelenom symbolu podprogramu, ktorý je vložený do vyššieho programu, je jeden spojovací pin pre každý vstup príkazu podprogramu zapojený do pravej strany. spojenie symbolu má rovnaké poradie (zhora nadol) ako vstup príkazu podprogramu v pláne fungovania podprogramu. Vysvetlenie nájdete v časti 5.5. okno Property - Pod Name môžete vložiť názov pre vstup príkazu. Na zelenom symbolu podprogramu sú zobrazené iba prvé dva znaky. - Pod Dáta type môžete vybrať, či hodnota prijatého príkazu je celé číslo alebo číslo s pohyblivou rádovou čiarkou. Viac informácií je v časti 12.
8.4 Variable, List, ... (úroveň 3) Programovacie prvky v tejto skupine môžu uložiť jednu alebo viac číselných hodnôt. Umožňujú vám vyvíjať programy s pamäťou. 8.4.1 Variable (global) Premenná môže uložiť jednotlivú číselnú hodnotu medzi -32767 a 32767. Hodnota premennej je nastavená prepojením prvku príkazu = do vstupu príkazu na ľavej strane (pozri časť 8.5.1). Skrze okno Properties môžete tiež nastaviť premenné počiatočnú hodnotu, ktorá jej zostane, kým sa neobjavia prvé príkaz, ktorý hodnotu upraví. ROBO Pre vytvorí jednu premennú pre všetky premenné prvky pomocou the same name a Variable type = Global. Všetky rámcové (global) premenné s rovnakým názvom sú identické a majú vždy rovnakú hodnotu, aj keď sa dejú v rozdielnych podprogramoch. Keď je jeden z týchto prvkov upravený pomocou príkazu, všetky ostatné premenné s rovnakým názvom sa zmení tiež. Existujú ale aj miestne premenné (v ďalšej časti), na ktoré sa toto nevzťahuje. Rovnako ako príkaz = rozumie premenná tiež príkazom + a -. Ak napríklad dostane príkaz +5, pridá hodnotu 5 k aktuálnej hodnote. V prípade príkazu - je hodnota odpočítaná. pozor: Ak sa pomocou príkazov + alebo - dostanete mimo povolený rozah hodnôt, je k hodnote pridaná alebo odobratá hodnota 65536, aby sa premenná dostala späť do platného rozsahu. Keďže sa nejedná o proces, ktorý by ste uvítali, zaistite, aby sa toto nestávalo. Zakaždým, keď sa zmení hodnota premennej, vyšle príkaz = s novou hodnotou do všetkých prvkov pripojených k výstupu príkazu premennej. Ak chcete sledovať hodnotu premennej, môžete pripojiť
panel displeja k výstupu premennej (pozri časť 8.7.6).
Tu je súpis všetkých príkazov, ktoré môže prvok Variable spracovať.
Príkaz Hodnota
Akcia
=
-32767 až 32767 Nastaví premennú na hodnotu uvedenú v príkaze.
+
-32767 až 32767 Pridá k premennej hodnotu uvedenú v premennej.
-
-32767 až 32767 Odpočíta od premennej hodnotu uvedenú v premennej.
Podivný rozsah hodnôt -32767 až 32767 je výsledkom strojového počítanie v binárnom, nie desiatkovom systému. V binárnom systéme je 32767 okrúhle číslo. Nemusíte mať ale strach, počítač prevádza všetky čísla z binárneho systému na desiatkový. Niečoho si všimnete len pri maximálnych hodnôt a v prípade pretečenia výpočtov. Okno -
properties Pod
Name
môžete
pre vložiť
názov
premenné. pre
premennú.
- Pod Initial value môžete vložiť počiatočnú hodnotu premennej. Premenná si zachováva túto hodnotu, kým nezíska novú pomocou príkazov =, + alebo -. - Pod Dáta type môžete vybrať, či hodnota prijatého príkazu je celé číslo alebo číslo s pohyblivou rádovou čiarkou. Viac informácií je v časti 12. - Položka Life time je dôležitá len pre premenné v podprogramoch a je podrobnejšie popísaná v nasledujúcej časti "Local variable". V prípade premenných v hlavnom programe majú obe nastavenia rovnaký efekt. 8.4.2 Local variables Všetky prvky premenných global sa setejným názvom používajú jednu a tú istú premennú a majú vždy rovnakú hodnotu. To sa od nich dá očakávať a jedná sa o praktickú vlastnosť. Keď ale použijete premenné v podprogramoch, môže to viesť k veľkým problémom. Keď má váš program viac ako jeden paralelný proces, môže sa spustiť naraz niekoľko častí podprogramu. Takáto situácia zvyčajne vedie k zmätku v programe, keď program používa pre všetky procesy rovnaké premenné. Pre tento účel sú tu miestni premenné (local variable). Miestne premenné sa správajú skoro rovnako ako rámcovej premenné, avšak s jedným rozdielom: miestna premenná len platná len v podprograme, v ktorom je definovaná. Aj keď sú dve miestne premenné v rôznych podprogramoch a majú rovnaké názvy, jedná sa o dve rozdielne, nezávislé premenné. Aj keď je jeden program spustený paralelne s niekoľkými procesmi, podprogram v každom procese má nezávislú sadu miestnych premenných. Miestne premenné existujú len tak dlho ako podprogram, v ktorom majú byť spustené. Preto miestnym premenným nie je pridelená počiatočná hodnota na začiatku programu, ale skôr zakaždým, keď je spustený podprogram. Keďže podprogram má robiť zakaždým to isté, keď je vyvolaný viac než raz, je praktickejšie, keď majú premenné nastavenú svoju počiatočnú hodnotu pri každom vyvolaní. Miestne premenné nemajú žiadnu pamäť týkajúce
sa
predchádzajúcich
vyvolanie
rovnakého
podprogramu.
V hlavnom programe sa miestne a rámcovej premenné správajú rovnakým spôsobom, pretože celkový program a hlavný program boli spustené v rovnakú chvíľu. Avšak miestni premenné sú oveľa účinnejšie. Na druhú stranu, zoznamy prvkov by mali byť definované skôr rámcovo, pretože úložný priestor pre rámcové premenné je väčšia, než pre miestne premenné. 8.4.3 Constant Rovnako ako premenná má aj konštanta hodnotu, ale túto hodnotu nemožno meniť pomocou programu. Môžete napojiť konštantu sa vstupom dát symbolu podprogramu, keď má podprogram využívať vždy rovnakú hodnotu. Príklad je v časti 5.7. Okno
Property
pre
constant
- Pod Dáta type môžete vybrať, či hodnota prijatého príkazu je celé číslo alebo číslo s pohyblivou rádovou čiarkou. Viac informácií je v časti 12. -
Pod
value
vložte
hodnotu
konštanty.
8.4.4 Timer variable Timer variable (časová premenná) sa chová rovnako ako premenná. U časových premenných existuje rozdiel medzi normálnymi a statickými premennými. Jediným rozdielom je to, že časová premenná odčítava uloženú hodnotu v zadanom časovom intervale, až kým nedosiahne 0. Akonáhle časovač dosiahne nuly, zostane tam. Keď sa hodnota časovača stane negatívne, napríklad pomocou mínusového príkazu, hodnota sa v ďalšom časovom kroku zmení na 0. Rýchlosť odpočtu časovača premennej možno nastaviť medzi 1/1000 sekundy na krok a 1 minútou na krok v okne Properties. Vďaka tomu môžete pozorovať presnosť časovača v závislosti na nastavení krokov. Ak, napríklad, nastavíte čas na 1 x 10 sekúnd, ďalší časový krok môže nastať o chvíľu neskôr (najskôr za jednu sekundu) alebo nie skôr ako za 10 sekúnd. Časovače sú teda nielen presné ako nastavenej časovej kroky. Preto by ste mali vybrať malé kroky, napríklad 10 x 1 sekundu alebo 100 x 0.1 sekundy, než 1 x 10 sekúnd. Kroky po minúte by ste mali vyberať len v prípade, že má program čakať dlhšie ako hodinu. V tú chvíľu o minútu viac alebo menej nehrá takú rolu. Počet odpočítateľných krokov je zvyčajne pridelený časovaču skrze príkaz = od príkazového prvku. Napríklad 100 krokov po 10 ms. To zodpovedá trvania 1000 ms = 1 sekunda. Presnosť je 10 ms. Časovo premenné vám umožňujú ľahko riešiť aj zložité meranie času a oneskorenia. Napríklad, ak má robot po 20 sekundách ukončiť hľadanie, môžete nastaviť časovú premennú na 20 x 1 sekundu (alebo 200 x 0.1 s) na začiatku hľadania a potom pravidelne zisťovať, či je hodnota časovej premennej čoraz väčší, než 0. Môžete taky resetovať časovač na jeho počiatočnú hodnotu, keď má hľadanie čiastočný úspech. Ak chcete merať čas, časová premenná by mala byť nastavená na čo najvyššiu možnú pozitívnu hodnotu (30000 alebo 32767), aby zostávalo veľa času, než časovač dosiahne hodnotu 0. Ak chcete vedieť, koľko času od tej chvíle ubehlo,
Okno
Properties
pre
timer
variables.
- Pod Delay môžete rozhodnúť o počiatočnej hodnote pre časovú premennú. Sem vložíte 0 a nastavíte hodnotu časovej premennej pomocou príkazu = na správny čas. Pokiaľ má však časovač byť spustený na začiatku programu alebo podprogramu, zodpovedajúca hodnota môže byť vložená tu. - Po Time unit môžete vybrať veľkosť časových krokov, v ktorých bude prebiehať odpočet. - Pod Timer variable type môžete nastaviť, či je časovač rámcová alebo miestna premenná (pozri časť 8.4.2). 8.4.5 List Prvok List (zoznam) zodpovedá premennej, v ktorej možno uložiť nielen jednu, ale niekoľko hodnôt. Maximálny počet hodnôt, ktoré môžu byť uložené v premennej je rozhodnutý v okne Properties. Hodnoty môžete pridať alebo odstrániť na konci zoznamu. Môžete tiež zmeniť alebo prečítať akékoľvek hodnoty v zozname alebo zameniť akúkoľvek hodnotu v zozname za hodnotu v zozname prvej. Hodnotu nemožno vložiť doprostred alebo na začiatok zoznamu priamo. Môžete ale napísať zodpovedajúci program, ktorý tieto funkcie vykoná. Nasledujúce funkcie na zozname sú použité pre posielanie príkazov do vstupu W (write - písať). Nasledujúce príkazy môžu byť poslané do vstupu W: Príkaz
Hodnota Akcia -32767 Pridá hodnotu s príkazom na koniec zoznamu. Zoznam sa zväčší o až 32767 jeden prvok. Ak má už zoznam maximálnu veľkosť, príkaz je ignorovaný.
0 až Zmaže daný počet prvkov z konca zoznamu. Hodnota príkazu je 32767 počet prvkov, ktoré majú byť zmazané. Ak je číslo vyššie, než počet prvkov v zozname, sú zmazané všetky prvky. Ak je číslo 0 alebo je negatívny, príkaz je ignorovaný.
0 až vymení daný prvok za prvý prvok v zozname. Hodnota príkazu je 32767 číslo umiestnenia prvku, ktorý má byť zmenený.
Skrze vstup I (ako Inder) je možné vybrať určitý prvok zo zoznamu. Aby ste tak urobili, vyšlete do vstupu I príkaz = s požadovaným číslom prvku. Prvý prvok je prvok číslo 0. Ďalšie hodnotu možno
priradiť prvku vybranému skrze vstup Aj vyslaním príkazu = s požadovanou hodnotou na vstup W. Prvok vybraný skrze vstup Aj možno zaradiť na výstup R (readout). Ak sa vstup I alebo hodnota položky vybrané vstupom I zmení, zoznam vyšle aktuálnu hodnotu vybranej položky prvkom pripojeným k výstupu R. Skrze výstup Aj môžete rozhodnúť, či Indes definovaný na vstupe I je platný. Ak N je počet prvkov, hodnota medzi 0 a N-1 musí byť prítomná na vstupe I. Pokiaľ ide o tento prípad, výstup I vyšle príkaz = s hodnotou N, v iných prípadoch s hodnotou 0 do všetkých pripojených prvkov. Okno Properties pre list - Pod Name môžete vložiť názov zoznamu. - Pod Maximum síce môžete vložiť maximálny počet prvkov na zozname. Túto veľkosť nemožno prekročiť pomocou príkazov Append. - Pod Initial size vložte počet prvkov, s ktorými bude zoznam spustený pri štarte. - Pod List od initial values môžete vložiť počiatočnej hodnoty vopred zadané do zoznamu. Pomocou tlačidiel vpravo môžete zoznam upravovať. - Pod Load from .CSV file môžete vybr s Excelom kompatibilné .CSV súbor, z ktorého si vezme zoznam svoje hodnoty. V poli výberu uprostred môžete vybrať stĺpec v .CSV súbore, ktorý bude na tento účel použitý. Súbor je načítaný a zobrazený pod List od initial values. Keď spustíte program alebo vykonáte stiahnutie, ROBO Pro sa ešte ejdnou pokúsi načítať aktuálnu hodnoty z tohto súboru. Ak sa mu to nepodarí, budú použité hodnoty pod List of initial values. - Pod Save to .CSV file môžete špecifikovať súboru, do ktorého by mal byť po ukončení programu uložený obsah. Táto funkcia však funguje len v online móde a len pre statické zoznamy (pozri ďalší bod). Obsahy zoznamu sú napísané vo vybranom stĺpci súbore. Pod Column separator môžete vybrať, či budú jednotlivé stĺpce v zozname oddelené čiarkami alebo bodkočiarkami. V krajinách, kde sa 0.5 píše s bodkou, bude čiarka použitá ako rozdelenie stĺpcov. V prípade 0,5 by mal byť pre oddelenie stĺpcov použitý bodkočiarka. Ak máte problémy s importovaním ROBO Pre CSV súboru do napríklad Microsoft Excel, skúste iné rozdelenie stĺpcov. - Pod List data type môžete vybrať, či bude zoznam obsahovať celé čísla alebo čísla s pohyblivou rádovou čiarkou. Pozri v časti 12. - Pod List dáta life time môžete nastaviť, či prvky v zozname budú rámcovej alebo miestnej premenné (pozri časť 8.4.2). Pre veľké zoznamy (s maximálnou veľkosťou vyše 100 prvkov) sa odporúča rámcovej (global) nastavenie, pretože pre tieto ukazovatele je k dispozícii väčšia pamäťová kapacita, ako pre miestne.
8.5 Commands (úroveň 3) Všetky programovacie prvky v tejto skupine sú príkazové prvky. V závislosti na použití môžu byť nazvané aj prvky správ. Keď je spustený príkazový prvok (napríklad keď chod programu prejde modrým vstupom na vrcholku prvku), príkazový prvok vyšle príkaz alebo správu do prvku pripojeného k výstupu vpravo. Je veľa príkazov ako doprava, doľava alebo stôp, ktoré majú rôzne účinky na pripojené prvky.
Pripojené prvky rozumie len niekoľkých príkazom. Príkazy, ktorým každý programovací prvok rozumie a účinky týchto príkazov sú vypísané vedľa rôznych programových prvkov. Najviac príkazov je tiež doplnené hodnotou. Napríklad s príkazom doprava špecifikujete rýchlosť medzi 1 a 8. Príkaz stop na druhú stranu žiadnu hodnotu nemá. Okno Properties pre príkazové prvky. - Pod Command môžete vybrať požadovaný príkaz zo zoznamu. - Pod Values vložíte číselnú hodnotu, ktorá sa bude s príkazom pojiť. Ak hodnota nie je potreba, toto políčko je prázdne. - Pod Value description môžete vložiť krátky určujúci text (napr. X = alebo T =), ktorý bude zobrazený v prvku príkazu s hodnotou. Text by mal jasne naznačovať, o aký druh hodnoty sa jedná. To však slúži len pre prehľad a nemá inú funkciu. - Pod Data type vyberiete, či hodnota príkazu je celé číslo alebo číslo s pohyblivou rádovou čiarkou. Pozri časť 12. - Pod Data input for command value môžete špecifikovať, či bude mať príkaz oranžový vstup dát naľavo pre priechod hodnoty. U všetkých príkazových prvkov je možné hodnotu vložiť priamo do prvku alebo prečítať skrze vstup dát naleco od príkazového prvku. Týmto spôsobom napríklad motor môže byť ovládaný v servo slučke s rôznou rýchlosťou. 8.5.1 = (rovná sa) Príkaz = udeľuje prijímači hodnotu. Používa sa pre udelenie hodnoty premenným, časovým premenným, zoznamom alebo výstupom panelu. Príkaz = ale nie je vysielaný iba príkazovými prvky, ale všetkými programovacími prvkami s výstupmi dát. Všetky prvky vysielajú príkazy =, keď je pozmenená hodnota výstupu. Prvok digitálneho vstupu, napríklad, vyšle príkazy = 1, keď je senzor vstupu uzavretý a príkaz = 0, keď je otvorený. K tomuto sa však nepoužíva žiadny programovací prvok. Programovacie prvky s výstupmi dát majú v sebe príkaz = zabudovaný. Všetky prvky dáta vstupov môžu spracovať aspoň príkaz =. To robí príkaz = najčastejšie používaným. 8.5.2 + (plus) Príkaz + je vyslaný do premennej alebo časové premenné pre zvýšenie hodnoty tejto premennej. Pomocou príkazu + možno vložiť ľubovoľnú požadovanú hodnotu, ktorá bude pridaná k premennej. Keďže hodnota môže byť tiež negatívna, hodnota premennej môže byť týmto príkazom aj znížená. Viac informácií sa v časti 8.4.1. 8.5.3 - (mínus) Príkaz - sa používa podobne ako vyššie popísaný príkaz +. Jediný rozdiel je ten, že hodnota je od premennej odpočítaná. 8.5.4 Right Príkaz Right zapína prvok motora tak, aby sa otáčal v smere hodinových ručičiek (doprava). Pozri časť 8.7.4. Hodnota rýchlosti môže byť od 1 do 8.
8.5.5 Left Príkaz Left zapína prvok motora tak, aby sa otáčal proti smeru hodinových ručičiek (doľava). Pozri časť 8.7.4. Hodnota rýchlosti môže byť od 1 do 8. 8.5.6 Stop Príkaz Stop je vyslaný do prvku výstupu motora pre zastavenie motora. Pozri časť 8.7.4. Pre príkaz Stop nemožno zadať žiadnu hodnotu rýchlosti. 8.5.7 On Príkaz On je vyslaný do prvku výstupu lampy pre zapnutie lampy. Pozri časť 8.7.5. Príkaz On môže byť tiež vyslaný do prvku výstupu motora. Zodpovedá príkazu Right. Pre motory je však lepšie použiť příkar Right, pretože je tak priamo rozeznana smer otáčania motora. Hodnota jasu alebo intenziriy môže byť od 1 do 8. 8.5.8 Off Príkaz Off je vyslaný do prvku výstupu lampy pre vypnutie lampy. Pozri časť 8.7.5. Príkaz Off môže byť tiež vyslaný do prvku výstupu motora. Zodpovedá príkazu Stop. Príkaz Off nemá žiadnu hodnotu. 8.5.9 Text Príkaz Text je špeciálny príkaz, ktorý neposiela príkaz s číslom, ale skôr text podľa vášho výberu do pripojeného prvku. Avšak existuje len jeden prvok, ktorý môže spracovať príkaz Text, a to je textový displej na paneli. Viac informácií je v časti 9.1.2. 8.5.10 Append value Príkaz Append je špeciálny príkaz pre prvok zoznamu. Pozri časť 8.4.5. Príkaz je doplnený hodnotou, ktorá je pridaná na koniec zoznamu. Ak je zoznam už plný, príkaz je ignorovaný.
8.5.11 Delete value (s) Príkaz Delete je špeciálny príkaz pre prvok zoznamu. Pozri časť 8.4.5. Pomocou tohto príkazu môžete zmazať z konca zoznamu ľubovoľný počet prvkov. Požadovaný počet je nastavený ako hodnota prvku. Keď je hodnota vyššia, než počet prvkov zoznamu, sú zo zoznamu zmazané všetky prvky. Aby ste vymazali zoznam kompletne, prvok Delete má maximálnu možnú hodnotu 32767. 8.5.12 Exchange values Príkaz Exchange je špeciálny príkaz pre prvky zoznamu. Pozri časť 8.4.5. Pomocou tohto príkazu môže byť ľubovoľný prvok zoznamu vymenený za prvý prvok. Počet vymenených prvkov je hodnotou príkazu. Dôležité: prvý prvok zoznamu má číslo 0. Ak hodnota nie je platné číslo prvku, prvok zoznamu bude príkaz ignorovať.
8.6 Compare, wait for, ... (úroveň 3) Programovacie prvky v tejto skupine všetky slúžia pre rozvetvenie ovládanie programu alebo pre meškanie pokračujúceho behu programu. 8.6.1 Branch (so vstupom dát)
Toto programové rozvetvenie má oranžový vstup dát A na ľavej strane. Skrze neho je prečítaná hodnota, ktorá často prichádza zo vstupu prvku (pozri časti 8.7.1 až 8.7.6). Vstup dát A môže byť tiež napojený na výstup dát z premenných, časové premenné alebo operátory (pozri časť 8.8). Prvok porovnáva hodnotu dát vstupu A s pevnou, ale voľne definovateľnú hodnotou. Podľa toho, či porovnanie drží alebo nie, prvok presmeruje program skrze výstupy Y alebo X. Okno Properties pre Branch. - Pod Condition vpravo vyplníte hodnotu, ktorá bude porovnávaná so vstupom A. Pre porovnanie sú k dispozícii obvyklé operátormi. - Pod Dáta type môžete vybrať, či budú prijaté dáta celé číslo alebo číslo s pohyblivou rádovou čiarkou. Pozri časť 12. - Keď vyberiete Interchange Y / N connections, vymenia sa pozície výstupov Y a N, akonáhle zatvorte okno Properties pomocou OK. Pozíciu výstupov môžete zmeniť kedykoľvek späť. Najčastejšou nákupný býva A> 0. To znamená, že program je nasmerovaný do výstupu Y, ak je hodnota na vstupe A väčší, než 0. Napríklad digitálne vstupy, ktoré určujú hodnotu 1 alebo 0 môžu byť porovnávané týmto spôsobom. Pomocou nákupný A> 0 môžu byť ale porovnané aj časové premenné alebo iné hodnoty.
8.6.2 Comparison with fixed value Pomocou programovacieho prvku Comparison with fixed value môže byť hodnota vstupu dát A porovnaná s pevnou, ale voľne nastaviteľnou hodnotou. Podľa toho, či je hodnota na vstupe A väčšie, menšie alebo rovná pevnej hodnote, prvok vedie program do pravej, ľavej alebo prostredný vetvy. Výstup premenné alebo zoznamu je napojený na vstup dát A. Prvok nákupný môže byť nahradený dvoma prvkami Branch. V mnohých prípadoch je však jednoduchšie, keď použijete iba jeden prvok. Poznámka: Tento prvok nemá možnosť čísla s pohyblivou rádovou čiarkou, pretože tá môžu pôsobiť chyby v dôsledku zaokrúhľovania. Preto by nebolo rozumné sa pýtať, či sú dve hodnoty úplne rovnaké. Môžete vykonať dvojaký nákupný pomocou programového rozvetvenie. Pozri funkcie v časti 8.6.1. Okno Properties pre Compare - Pod Comparison value môžete vložiť konštantnú hodnotu, s ktorou bude porovnávaný vstup A. 8.6.3 Compare Pomocou prvku Compare môže porovnať dve hodnoty vstupov dát A a B jednu s druhou. V závislosti na to, či je A menzy ako B, A je väčšie ako B alebo sa A rovná B, prvok prevedie program do ľavej, pravej alebo prostredný vetvy. Najčastejším použitím pre túto funkciu je porovnanie nominálnej hodnoty so skutočnou hodnotou. Podľa toho, kde leží nominálna hodnota v porovnaní so skutočnou hodnotou, sa môže napríklad motor točiť doľava, doprava alebo sa zastaviť. Prvok Compare nemá žiadne nastavenia a preto tiež nemá okno Properties.
Poznámka: Tento prvok nemá možnosť čísla s pohyblivou rádovou čiarkou, pretože tá môžu pôsobiť chyby v dôsledku zaokrúhľovania. Preto by nebolo rozumné sa pýtať, či sú dve hodnoty úplne rovnaké. Môžete vykonať dvojaký nákupný pomocou porovnávacieho operátora (pozri časť 8.8.2) a programového rozvetvenie (časť 8.6.1). 8.6.4 Time delay S týmto prvkom môžete do postupu naprogramovať oneskorenie. Oneskorenie začína, keď je tento prvok spustený. Akonáhle dobehne nastavený čas, program pokračuje v chode. Viac informácií je v časti 3.6.1. Okno Properties pre Time delay: - Pod Time môžete vložiť čas oneskorenia. Môžete použiť aj desatinné miesta ako 1.23. - Pod Time unit môžete vybrať sekundy, minúty alebo hodiny ako jednotku času. Časová jednotka nemá, na rozdiel od časových premenných, vplyv na presnosť oneskorenie. Oneskorenie 60 sekúnd sa chová rovnako ako oneskorenie 1 minúty. V móde Expert (úroveň 5) sa zobrazí rozšírené okno Properties, ktoré viac pripomína okno Properties pre časové premenné. 8.6.5 Wait for ... Prvok Wait for ... pozdrží prevedenie programu, kým nedôjde k zmene alebo špecifikovaný stav nedosiahne vstupu dát prvku. Prvok má päť variantov: Prvok naľavo čaká, kým sa hodnota vstupu nezvýši. Nemyslí sa tým len zmena z 0 na 1, ale akékoľvek navýšenie, napríklad z 2 na 3. Druhý prvok čaká, kým sa hodnota vstupu nezníži, a prvok prostred čaká na akúkoľvek zmenu, či už zvýšenie alebo zníženie. Tretí prvok sa zvyčajne používa pre pulzné kolieska. Štvrtý a piaty prvok čakajú nie na zmenu, ale na stav Áno (> 0) alebo Nie (<= 0) vstupu. Ak je už prítomný relevantný stav, prvok nečaká. Prvé tri prvky na druhú stranu vždy čakajú, kým nie je na vstupe zachytená zmena. Okno Properties pre Wait for change - Pod type of change môžete vybrať medzi piatimi vyššie popísanými funkciami. - Ak je označená voľba Detect changes when not active, prvok tiež detekuje zmeny, ku ktorým došlo, keď nebol prvok doteraz spustený. V tomto prípade prvok ukladá posledné známu hodnotu. Keď je prvok opäť spustený, pokračuje priebeh programu ihneď, ak bola hodnota zmenená správnym spôsobom. Týmto spôsobom je menšia šanca, že zmeškáte zmenu, pretože program zrovna robil niečo iné.
8.6.6 Pulse counter Tento prvok čaká na definovaný počet pulzov na vstupe dát na ľavej strane, ako pokračuje s programom. Je to veľmi praktické pre jednoduché úlohy s pulzními kolieskami. Pre náročnejšie použitie, napríklad hodnoty premenných, musí byť použité podprogramy s premennými. Okno Properties pre Pulse counter
- Pod Number od PULSES vložte počet pulzov, po ktorý sa bude čakať, než bude program pokračovať. - Pod Pulse type môžete vybrať mezo tromi typmi pulzov: 0-1, 1-0 alebo ľubovoľná zmena. Možnosť rozpoznanie zmien, keď nie je prvok aktívny, nie je u tohto prvku prítomná.
8.7 Interface inputs / outputs Táto skupina prvkov obsahuje všetky vstupné a výstupné prvky. Ich použitie je vysvetlené v kapitole 4.4. 8.7.1 Universal input TX kontrolér má 8 univerzálnych vstupov I1 až I8, ktoré možno použiť ako digitálne alebo analógové vstupy. K týmto vstupom môžete pripojiť tlačidlá a akékoľvek senzory z teraz dostupných výrobkov fischertechnik. Okno Properties pre univerzálne vstupy: - Pod Universal input môžete vybrať, ktorý zo vstupov rozhrania bude použitý. Rozširovacie moduly sú pod Interface / Extension. - Pod Sensor type môžete vybrať senzor pripojený k vstupu. - Pod Input mode vyberiete, či je vstup analógový alebo digitálny a či reaguje na napätie alebo odpor, alebo či je pripojený na ultrazvukový senzor vzdialenosti. Viac informácií nájdete v časti 11.5. ROBOPro automaticky rozhoduje o módu vstupu v závislosti od pripojeného senzora. V úrovni 4 a vyššie môžete vybrať mód vstupe aj nezávisle. Napríklad to dáva zmysel v prípade tranzistorov. Pre fototranzistor ROBOPro nastaví mód vstupu na digital 5kOhm (D 5k). Týmto spôsobom môžete použiť fototranzistor v spojení s lampou ako svetelnou bariérou, ktorá je prerušená (= 0) alebo zatvorená (= 1), Avšak ak vyberiete mód vstupu analóg 5kOhm (A 5k) pre fotorezistor, môžete rozpoznávať mnoho odtieňov svetla a tmy. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Connection môžete vybrať, či je vstup vždy pripojený alebo len keď beží podprogram obsahujúce vstup. Rozdiel je len, ak sú k vstupu podprogramu pripojené rámcovej prvky ako rámcové premenné a operátory. Pri bližšom pohľade existuje len jeden typ programovacieho prvku pre všetky typy vstupov. Môžete prepnúť vstupný čas kedykoľvek pomocou záložiek na vrchu okna Properties. To je obzvlášť užitočné pre prepínanie medzi prepínačom, IR a vstupy panelu.
8.7.2 Counter input Okrem 8 univerzálnych vstupov I1 až I8 TX kontrolér ponúka 4 počítacie vstupy C1 až C4. K počítacím vstupom môžete pripojiť iba digitálne senzory a enkodéry kódovacích motorov. pre každý počítacie vstup ako je C1 existujú dva rôzne počítacie vstupy ako C1C a C1d v ROBO Pro. Vstup C1d sa chová ako bežný digitálny vstup. Avšak vstup C1C počíta počet pulzov prijatých vstupom C1. Môžete počítadlo vynulovať zaslaním príkazu reset do zodpovedajúceho prvku motora. Počítadlá sa používajú pre ovládanie kódovacích motorov a musí byť použitá na iné účely, len ak nie je pripojený k zodpovedajúcemu výstupu motoru kódovacie motor. (napríklad M1 pre C1). Okno Properties pre Counter inputs: - Pod Counter input môžete vybrať požadované počítadlo alebo digitálny vstup. - Pod Image môžete vybrať obrázok senzora pripojeného k vstupu. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Connection môžete vybrať, či je vstup vždy pripojený alebo len keď beží podprogram obsahujúce vstup. Rozdiel je len, ak sú k vstupu podprogramu pripojené rámcovej prvky ako rámcové premenné a operátory. Opäť je z okna Properties pre tento prvok jasné, že ROBO Pro používa jediný element, ktorý je možné prepínať medzi typmi vstupu pomocou záložiek. Pre jednoduchosť sú však k dispozícii v okne prvkov oddelené vstupné prvky pre výber. 8.7.3 Motor position reached Tieto vstupy nie sú skutočnými vstupy, ale logickými vstupmi pre ovládanie kódovacím motorov. Viac zistíte v časti 11.6.2. Okno Property pre prvok: - Pod Motor control input môžete vybrať, ktorý motor má zaradiť dosiahnutú pozíciu. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Connection môžete vybrať, či je vstup vždy pripojený alebo len keď beží podprogram obsahujúce vstup. Rozdiel je len, ak sú k vstupu podprogramu pripojené rámcovej prvky ako rámcové premenné a operátory. 8.7.4 Motor output Prvok Motor output umožňuje ovládanie jedného z 4 dvojpólových výstupov motora ROBO rozhranie alebo inteligentného rozhrania. Výstup motora vždy používa dve spojenia s rozhraním, zatiaľ čo výstup lampy používa len jedno spojenie. Viac o rozdiele mezo motorom a lampou nájdete v častiach 8.1.6 a 8.1.8. Príkaz musí byť poslaný skrze prvok príkazu do výstupu motora, aby spustil výstup. Prvok motora môže spracovať nasledovné príkazy:
Príkaz Hodnota Akcia Right
1 až 8
Motor sa otáča v smere hodinových ručičiek rýchlosťou od 1 do 8
Left
1 až 8
Motor sa otáča proti smeru hodinových ručičiek rýchlosťou od 1 do 8
Stop
nic
Motor zastaví
On
1 až 8
Rovnaké ako Right
Off
nic
Rovnaké ako Stop
=
-8 až 8
Hodnota -1 až -8: motor sa otáča proti smeru hodinových ručičiek Hodnota 1 až 8: motor sa otáča v smere hodinových ručičiek Hodnota 0: motor zastaví
Navyše môže motor prijímať príkazy pre rozšírené ovládanie motora (synchronous, distance, reset), ako je vysvetlené v časti 11.6.2. Okno
Properties
pre
prvky
motora:
- Pod Motor output môžete vybrať, ktoré zo spojenia rozhranie má byť použité. Môžete vybrať rozšírenie výstupov modulu pod Interface / Extension. - Pod Resolution môžete vybrať, či chcete ovládať intenzitu výstupu v 8 krokoch (1-8) alebo v 512 krokoch (1-512). - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Image môžete vybrať obrázok záťaže napojené k výstupu. Vo väčšine prípadov sa bude jednať o motor. K výstupu motora môžete ale tiež pripojiť elektromagnet, elektromagnetický ventil alebo lampu. 8.7.5 Lamp output Prvok Lamp output umožňuje ovládať jedno z 8 jednopólových lampových výstupov O1 až O8 ROBO rozhranie alebo inteligentného rozhrania. Ďalšie spojenie pripojeného zariadenia (záťaže) je pripojené k uzemneniu. Týmto spôsobom môžete pripojené zariadenie jedine zapnúť alebo vypnúť, nemôžete zmeniť polaritu. Viac o rozdiele môžete zistiť v častiach 8.1.6 a 8.1.8. Príkaz, ktorý spúšťa výstup musí byť zaslaný skrze prvok príkazu do prvku lampy. Prvok lampy môže spracovať nasledovné príkazy:
Príkaz Hodnota Akcia On
1 až 8
Lampa je zapnutá s jasom od 1 do 8
Off
nič
Lampa je vypnuta
=
0 až 8
Hodnota 1 až Hodnota 0: lampa je vypnutá
Okno Properties pre prvok lámp output:
8:
lampa
je
zapnutá
- Pod Lamp output môžete vybrať, ktoré zo spojenia výstupe rozhranie bude použité. Môžete vybrať pod Interface / Extension rozširujúci modul. - Pod Resolution môžete vybrať, či chcete ovládať intenzitu výstupu v 8 krokoch (1-8) alebo v 512 krokoch (1-512). - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Image môžete vybrať obrázok záťaže napojené k výstupu. Vo väčšine prípadov sa bude jednať o lampu. K výstupu motora môžete ale tiež pripojiť elektromagnet, elektromagnetický ventil, alebo motor.
8.7.6 Panel input ROBO Pro umožňuje návrhy vašich vlastných panelov pre vaše modely. Viac môžete zistiť v časti 8.9. Táto funkcia zaisťuje jednoduché ovládanie vašich modelov z počítača. Tlačidlá, posuvníky a prvky vstupu dát sú v dispozícii v tomto paneli. Stav týchto prvkov možno ovládať pomocou prvku Panel input. Tlačidlá vytvára hodnotu 0 alebo 1. Posuvníky užívateľom definovaný rozsah (základni nastavený na 0 až 100). Panely je možné používať len v online móde. Viac o nich zistíte v časti 3.7. Okno Properties pre Panel input: Jeden panel je prepojený s každým hlavným program alebo podprogramom. Prvky panelu sú zoradené pod názvami príslušného programu. Ak ste ešte nedefinovali prvky panelu, potom sa na zozname neobjavia žiadne prvky. Musíte najprv navrhnúť panel, než na neho môžete napojiť vstup panela s prvkom panelu. Výber pod Interface / Extension je v prípade vstupu paneli ignorovaný, pretože sa tu nepracuje sa skutočnými vstupy na modul rozhrania. 8.7.7 Výstup panelu ROBO Pro umožňuje navrhovanie vlastných panelov pre vaše modely. Viac sa dozviete v časti 8.9. Kromětlačítek a iných vstupných prvkov pre ovládanie modelu môžete tiež vložiť prvky do vášho panelu. Na týchto prvkoch displeja môžete zobraziť napríklad koordináty osí robota alebo stav koncového prepínača. Pomocou prvku Panel output upravíte zobrazovanú hodnotu, s vyslaním príkazu prvku =, pripojením premenné, analógového vstupu alebo prvku príkazu. Panely možno použiť iba v online móde. Viac zistíte v časti 3.7. Okno properties pre Panel Displays: Jeden panel náleží každému hlavnému programu alebo podprogramu. Panelové displeje sú zoradené podľa názvu zodpovedajúceho programu. Ak ste ešte neustálili žiadne prvky panelu, na zozname sa žiadne neobjaví. Musíte teda najprv nakresliť panel, než môžete pripojiť vstup panelu k prvku panelu.
8.8 Operators Všetky programovacie provky v tejto skupine sa nazývajú operátormi. Operátory majú jeden alebo viac oranžových vstupov dát. Hodnoty z vstupov dát sú skombinované pomocou operátora, aby vytvorili novú hodnotu, ktorá je prenesená z výstupu operátoru pomocou príkazu =. Okno Properties pre operátorov: Všetky operátory majú okno Properties rovnaké. Pomocou naj dokonca môžete operátor zmeniť na iný operátor. - Pod Operation môžete nastaviť, ako operátor skombinuje svoje vstupy. Jednotlivé funkcie sú vysvetlené v nasledujúcich častiach. - Pod Number of inputs môžete nastaviť počet vstupov operátoru.
8.8.1 Aritmetické operátory V ROBO Pro sú štyri základné aritmetické operácie. S dvoma vstupmi vyzerajú symboly nasledovne:
Plus
Mínus
Krát
Deleno
Mínus
A+B
A-B
A*B
A/B
-A
Ak má operátor minút viac ako jeden vstup, všetky následné vstupné hodnoty sú odpočítané od hodnoty na vstupe A. Ak má operátor mínus len jeden vstup, operátor zmena znamienka vstupné hodnoty. Ak má operátor delenie viac ako dva vstupy, hodnota vo vstupe A je delená všetkými ďalšími vstupnými hodnotami.
8.8.2 Porovnávacie operátory K porovnaniu hodnôt slúži 6 porovnávacích operátorov:
Rovno
Nerovný
menej ako
Menej ako viac ako alebo rovné
Viac rovné
A=B
A≠B
A
A≤B
A≥B
A>B
alebo
Ak je porovnanie pravdivé, výstupná hodnota je 1, inak je 0. Výstupná hodnota je vždy celé číslo, aj keď je vstupná hodnota číslo s desatinnou čiarkou. okrem operátoru nerovné môžete použiť akýkoľvek porovnávacej operátor s viac ako dvoma vstupmi. Výsledok je potom 1 pre prípad, keď je podmienka pravda pre A a B, rovnako ako pre C a B, atď. Napríklad môžete týmto spôsobom rozhodnúť pomocou jediného operátora, či sa hodnota nachádza medzi danými parametrami.
8.8.3 Logické operátory ROBO Pro má tri logické operátory, ktoré možno použiť napríklad pre kombinovanie digitálnych vstupov.
A
Alebo
Nie
A>0 a B>0
A>0 alebo B>0
A<=0
Logické operátory prevádzajú hodnotu väčšiu ako 0 na áno alebo pravda a hodnody menšie alebo rovné 0 na nie alebo nepravda. Digitání vstupy vytvára hodnoty 0 alebo 1 tak, že 0 je nepravda a 1 pravda. Operátor A vysiela príkaz = s hodnotou 1 do prvkov pripojených k jeho výstupu, ak všetky vstupy majú hodnotu pravda, tj. Hodnota> 0. Inak prvok vysiela príkaz = s hodnotou 0.
Operátor Alebo vyšle príkaz = s hodnotou 1 do prvkov napojených k výstupu, ak je na aspoň jednom vstupe hodnota pravda, tj. Hodnota> 0. Inak prvok vyšle príkaz = s hodnotou 0. Operátor Nie vyšle príkaz = s hodnotou 1 do prvkov napojených k výstupu, ak je na aspoň jednom vstupe hodnota pravda, tj. Hodnota <= 0. Inak prvok vyšle príkaz = s hodnotou 0. Funkciu logických operátorov možno tiež napodobniť niekoľkými prvkami Branch. Často je ale nejdnodušší pre pochopenie skombinovať niekoľko vstupov pomocou operátorov. 8.8.4 Bit operátory Premenná o celom čísle v ROBOPro pozostáva z 16 jednotlivých bitov. Každý z týchto bitov môže byť 0 alebo 1. Tieto bity sa stanú po tom, čo sú na druhú, číslom: Bit Numerická hodnota Bit Numerická hodnota 0
1=20
8
256=28
1
2=21
9
512=29
2
4=22
10
1024=210
3
8=23
11
2048=211
4
16=24
12
4096=212
5
32=25
13
8192=213
6
64=26
14
16384=214
7
128=27
15
-32768=215
Napríklad pre číslo 3 sú bity 0 a 1 nastavené na 1, pretože 20 + 21 = 3. Bitové operátory vykonáva rovnaké operácie ako logické operátory, len to robia pre každý jednotlivý bit. Preto 3 a 6 majú hodnotu 6, pretože bit 21 je jediný, ktorý je nastavený tak na 3 = 20 + 21 a 6 = 21 + 22. Uvedomte si, prosím, že číselná hodnota 32767, pre ktorú je iba bit 215 nastavený na 1, má osobitný význam v ROBOPro a je použitý pre chyby alebo nič. Pre vygenerovanie tejto hodnoty jednoducho vložte nič (prázdno) ako hodnotu.
A
Alebo
Nie
Bit je nastavený, ak je nastavený v Aa B
Bit je Bit je nastáva, nastavený, ak ak nie je je nastavený v nastavený v A A alebo B
Výlučné alebo Posun vľavo / vpravo Bit je Bity v A sú posunuté o B miest nastavený, ak doľava (k vyššiemu bitu) alebo je anstaven v A doprava (k nižšiemu bitu) a B a nie v oboch
8.8.5 Funkcia Funkcie sú podobné operátorom, ale majú vždy len jeden vstup. Obsahujú trigonometrické funkcie, korene, exponenciálne a logaritmické funkcie. Poznámka 1: V mnohých prípadoch je zložité vykonávať výpočty. Keďže TX kontrolér zabezpečuje, aby každý proces mohol vykonať príkaz aspoň stokrát za sekundu, počet funkcií, ktorý sa môže vypočítať v jednom príkaze, je obmedzený. Sieť oranžových liniek je vždy spracovaná v jednom príkaze a nie je delená. Preto by ste nemali vyvolávať príliš veľa funkcií v rade v sieti oranžových liniek. Poznámka 2: ROBOPro nepoužíva aritmetiku s rozšírenou presnosťou pre výpočtové funkcie. Preto je presnosť výsledkov zvyčajne o zhruba 2 bity nižšia, než maximálna možná presnosť 48-bitového formátu s rádovou čiarkou. Presnosť výsledkov je určená pomocou ROBOPro a uložená vo výsledku. Okno Property pre funkcie: Všetky funkcie majú rovnaké okno property. - Pod Function môžete vybrať matematickú funkciu, ktorú prvok bude počítať. V nasledujúcej časti budú vysvetlené jednotlivé funkcie. - Pod Dáta type môžete vybrať, či je hodnota zaslaného príkazu celé číslo alebo číslo s pohyblivou rádovou čiarkou. Viď kapitola 12. Okrem funkcie abs sú všetky funkcie iba s rádovou čiarkou. Základné funkcie abs Abolutní hodnota: vytvorí pozitívnu hodnotu vstupu, napríklad 3.2 pre -3.2 sqrt
Druhá odmocnina: vytvorí druhú odmocninu vstupu, napríklad 1.4141 ... pre 2.0
Exponenciálny a logaritmické funkcie exp Exponenciálna funkcia základu e: vytvorí pre vstup x xtou mocninu Eulerova čísla e, tj. ex exp10 Exponenciálna funkcia základu 10: vytvorí pre vstup x xtou mocninu 10, tj. 10x alebo 100.0 pre x=2.0 log
Logaritmický základ e: vytvorí pre vstup x mocninu Eulerova čísla. Nutné pre navýšenie x.
log10 Logaritmický základ 10: vytvorí pre vstup x mocninu 10. Nutné pre navýšenie x. Napríklad pre x = 1000získáme výsledok 3.0 Trigonometrické funkcie a inverzné funkcie Všetky trigonometrické funkcie a inverznej funkcie existujú pre dve merania s rôznym uhlom, tj. Pre stupňa (1 plný kruh = 360 stupňov) a radiány (1 plný kruh = 2 pi). sin360/sin2pi
Sinus: vstup x sinus úhla x
cos360/cos2pi
Cosinus: vstup x cosinus úhla x
tan360/tan2pi
Tangens: vstup x tangens úhla x
asin360/asin2pi Arksinus: hodnota sinu x zodpovedajúci uhol acos360/acos2pi Arkcosinu: hodnota cosinu x zodpovedajúci uhol atan360/atan2pi Arktangens: hodnota tangentu x zodpovedajúci uhol
8.9 ROBO rozhranie 8.9.1 Digital Branch (ROBO rozhranie) Pomocou rozvetvenie môžete naviesť program ďalej podľa stavu jedného z digitálnych vstupov I1 až I8 v jednom z dvoch smerov. Ak, napríklad, senzor na digitálnom vstupe je uzatvorený (= 1), program prejde k výstupu 1. Na druhú stranu, keď je vstup otvorený (= 0), program prejde k výstupu 0. Keď kliknete pravým tlačidlom myši na prvok, zobrazí sa okno Properties: - Tlačidlá I1 až I8 vám dovolí vložiť, ktorý zo vstupov rozhranie bude zaradený. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Image môžete vybrať obrázok pre senzor pripojený k vstupu. Digitálne vstupy sa najčastejšie používajú s tlačidlovými senzormi, ale často aj s fototranzistor alebo magnetickými senzormi. - U Interchange 1/0 connections môžete zmeniť pozíciu 1 a 0 u už existujúceho větvícího sa prvku. Normálne je 1 dole a 0 ide napravo. Niekedy je ale praktickejšie mať 1 vpravo. Stlačte Interchange 1/0 connections a 1 a 0 sa vymení, akonáhle zatvorte pomocou OK okno. 8.9.2 Analog Branch (ROBO rozhranie) Rovnako ako digitálne vstupy, ROBO rozhranie má 6 analógových vstupov: 2 odporové vstupy AX a AY, dva napäťové vstupy A1 a A2, rovnako ako dva vstupy pre vzdialenostné senzory D1 a D2. Pomocou tohto rozvetvenie môžete porovnať hodnotu analógového vstupu s pevným číslom a, podľa výsledku porovnania, naviesť k výstupu Áno (Y) alebo Nie (N). Keď kliknete pravým tlačidlom myši na prvok, zobrazí sa okno Properties: - Pod Analog input môžete vybrať, ktorý zo vstupov rozhranie bude zaradený. Všetky analógové vstupy majú hodnotu medzi 0 a 1023. Viac informácií môžete nájsť v časti 8.7.2. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Condition môžete vybrať porovnávacej operátor ako menšie ako (<) alebo väčšie ako (>) a vložiť porovnávaciu hodnotu. Porovnávací hodnota by mala byť v rozsahu od 0 do 1023. keď spustíte program obsahujúci rozvetvenie pre analógové vstupy v online móde, zobrazí sa aktuálna analógová hodnota. - U Interchange 1/0 connections môžete zmeniť pozíciu 1 a 0 u už existujúceho větvícího sa prvku. Normálne je 1 dole a 0 ide napravo. Niekedy je ale praktickejšie mať 1 vpravo. Stlačte Interchange 1/0 connections a 1 a 0 sa vymení, akonáhle zatvorte pomocou OK okno. 8.9.3 Wait for input (ROBO rozhranie) Prvok Wait for Input čaká, kým jeden zo vstupov rozhrania nie je v určitom stave alebo kým sa určitým spôsobom nezmení. Keď kliknete na prvok pravým tlačidlom myši, zobrazí sa okno Properties:
- Pod Wait môžete nájsť typy zmien stavu, na ktoré sa má čakať. Keď vyberiete 1 alebo 0, prvok čaká, kým sa vstup neuzavrie (1) alebo neotvorí (0). Keď vyberiete 0-> 1 alebo 1-> 0, prvok čaká, kým sa stav vstupu nezmení z otvoreného na zatvorený (0-> 1) alebo zo zavretého na otvorený (1-> 0). V druhom prípade prvok čaká, kým sa nezmení stav vstupu, či už otvoreného na zatvorený alebo naopak. Aby sme vám pomohli toto pochopiť ďalej, v časti 3.6. je vysvetlené, ako môžete napodobniť tento prvok pomocou prvku Branch. - Pod Digital input môžete vložiť, ktorý zo vstupov bude zaradený. Môžete si vybrať jeden z univerzálnych vstupov I1 až I8. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Image môžete vybrať obrázok pre senzor pripojený k vstupu. Digitálne vstupy sú najčastejšie použité s tlačidlovými senzormi, ale často aj s fototranzistor alebo magnetickými senzormi. 8.9.4 Pulse counter (ROBO rozhranie) Mnoho modelov robotov fischertechnik používať tiež pulzný kolieska. Tá ovládajú senzory štyrikrát počas, jednej otáčky. S týmito pulzními kolieskami môžete otáčať motorom po presne definovaný počet otáčok, skôr než po daný čas. Aby ste tak urobili, musíte počítať počet pulzov na vstupe rozhraní. Z tohto dôvodu je tu prve Pulse counter, ktorý čaká na užívateľom definovaný počet pulzov. Keď kliknete na prvok pravým tlačidlom myši, zobrazí sa okno Properties: - Pod Pulse type môžete vybrať typ pulzu, ktorý bude sčítanie. Keď vyberiete 0-> 1 (stúpanie), prvok čaká, kým sa stav vstupu nezmení z otvoreného na zatvorený (0-> 1) toľkokrát, koľkokrát ste špecifikovali v Number of Pulses. Keď vyberiete 1-> 0 (klesanie), prvok čaká, kým sa stav vstupu nezmení zo zavretého na otvorený (1-> 0) toľkokrát, koľkokrát bolo speficikováno. S pulzními kolieskami je však najčastejšie používaná tretia možnosť. V tej prvok počíta ako zmeny 0-> 1, tak 1-> 0, takže za otočku pulzného kolieska je napočítaných 8 pulzov. - Pod Digital input môžete vložiť, ktorý zo vstupov bude zaradený. Môžete vybrať jeden z univerzálnych vstupov I1 až I8. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. - Pod Image môžete vybrať obrázok pre senzor pripojený k vstupu. Digitálne vstupy sú najčastejšie použité s tlačidlovými senzormi, ale často aj s fototranzistor alebo magnetickými senzormi. 8.9.5 Digital input (ROBO rozhranie) Hodnota jedného z digitálnych vstupov I1 až I8 môže byť zaradená pomocou prvku Digital input. Ak dva sockety patriaci k vstupu rozhrania sú elektricky prepojené, digitálny vstup vytvorí hodnotu 1 na jeho oranžovom spojenie, inak vytvoria hodnotu 0. Okno Properties pre Digital inputs: - Pod Digital input môžete vybrať, ktorý zo vstupov rozhrania bude použitý. Vstupy rozširovacích modulov môžu byť vybrané pod Interface / Extension.
- Pod Image môžete vybrať obrázok senzoru napojeného na vstup. Vo väčšine prípadov sa bude jednať o mini tlačidla. Magnetické senzory sú prepínačmi, ktoré reagujú na magnetické pole. Je možné pripojiť k digitálnemu vstupu aj fototranzistor, hoci sa vlastne jedná o analógový senzor. Môžete použiť lampu spolu s fototranzistor pripojeným k digitálnemu vstupu ako fotoelektrický lúč, ktorý môže byť narušený (= 0) alebo uzavretý (= 1). Na druhú stranu, keď pripojíte fototranzistor k analógovému vstupu, môžete rozpoznávať mnoho stupňov svetla a tmy. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7. Pri bližšom pohľade existuje len jeden typ programovacieho prvku pre všetky typy vstupov. Môžete prepnúť vstupný čas kedykoľvek pomocou záložiek na vrchu okna Properties. To je obzvlášť užitočné pre prepínanie medzi prepínačom, IR a vstupy panelu. 8.9.6 Analog input (ROBO rozhranie) Hodnota jedného analógového vstupu môže byť zaradená skrze prvok Analog input. Oproti digitálnym vstupom, ktoré môžu vytvárať len hodnotu 0 alebo 1, analógové vstupy rozlišujú viac stupňov. Všetky analógové vstupy vytvára hodnotu medzi 0 a 1023. ROBO rozhranie má však rôzne druhy analógových vstupov, ktoré merajú rôzne fyzikálne veličiny. Sú tu analógové vstupy pre odporová meranie, napäťová meranie a pre špeciálne senzor meracie vzdialenosť. Vstup
Typ vstupu
rozsah merania
A1, A2 vstupy napätie
0-10,23 V
AX, AY Vstupy odporu
0-5,5 kΩ
D1, D2 Vstup senzora vzdálenosti cca. 0-50 cm AV napájacie napätie 0-10 V Bežné senzory fischertechnik, NTC rezistory, fototranzistor a fotorezistory mení zmeranú hodnotu (teplota intenzity svetla) na odpor. Preto musíte pripojiť tri senzory k vstupu AX alebo AY. Vstupy napätie A1 a A2 sú navrhnuté pre všetky senzory, ktoré produkujú napätie medzi 0 a 10 V. Na ROBO rozhranie nie je žiadna prípojka pre vstup AV. To je vždy napojené k zdroju napájania rozhrania. Týmto spôsobom môžete napríklad monitorovať napätie batérie a dať model do jeho konečnej pozície, než sa batéria vybije. Vstupy senzora vzdialenosti D1 a D2 prijímajú spojení so špeciálnymi senzormi fischertechnik, ktoré môžu merať vzdialenosť k, napríklad, prekážke. Inteligentné rozhranie má iba dva analógové vstupy, EX a EY. Tieto zodpovedajú vstupom AX a AY na ROBO rozhraní. Ďalšie analógové vstupy nemôžu byť s inteligentným rozhraním použité! Okno Properties pre analógové vstupy: - Pod Analog input môžete vybrať požadovaný analógový vstup pomocou tabuľky vyššie. - Pod Image môžete vybrať obrázok senzora pripojeného k vstupu. - Pod Interface / Extension môžete vybrať, či si prajete použiť vstup rozhranie alebo vstup rozširujúceho modulu alebo iné rozhranie. Viac informácií nájdete v časti 7.
Opäť je jasné, že pre všetky typy vstupov ROBO Pro je len jeden prvok, u ktorého môžete prepnúť typ skrze záložky. Pre jednoduchosť sú ale k dispozícii oddelené vstupné prvky pre výber v okne prvkov. 8.9.7 IR Input (ROBO rozhranie) ROBO Pre rozhranie má vstavaný infračervený prijímač pre ručné vysielače z fischertechnik IR Control Set (položka 30344). Infračervený ručný vysielač je veľmi užitočný, nie len pre diaľkové ovládanie ale aj ako klávesnica pre vaše modely. V IR contol Set sú dva prijímače, medzi nimi môžete prepínať pomocou tlačidiel 1 a 2. Môžete tak udeliť vášmu ROBO rozhranie dve funkcie pre každé tlačidlo. Medzi dvoma funkciami môžete prepínať pomocou tlačidiel 1 a 2. Inak možno 1 a 2 použiť ako normálny tlačidlá. V okne Properties IR vstupu môžete použiť lištu záložiek pre prepnutie medzi IR 1, IR 2 a IR 1 + 2. Keď vyberiete IR 1, prvok IR vstupu má len hodnotu 1, keď je stištěno zodpovedajúce tlačidlo na vysielači a vysielač bol predtým nastavený na 1 skrze pridelenie tlačidiel. Keď vyberiete IR 2, na druhú stranu musel byť vysielač nastavený na 2 pomocou tlačidla 2. Keď ale vyberiete IR 1 + 2, nastavenie ručného vysielača nehrá rolu. V tomto prípade môže tiež ako vstupy použiť tlačidlá 1))) a 2))). V programovom prvku je tento výber zobrazený pomocou bielej 1 alebo 2 vpravo dole na symbole ručného vysielača. V prípade IR 1 + 2 nie je na prvku zobrazené žiadne číslo.
9. Prvky a panely panelu: prehľad V ROBO Pre môžete definovať vaše vlastné panely. Panely zjednodušujú ovládanie komplikovaných modelov. Panel je zobrazený na obrazovke nášho PC. Panely fungujú iba v online móde. Viac informácií sa dozviete v časti 3.7. Pre vytvorenie paneli vyberte v lište funkcií Panel.
Do prázdneho sivého poľa nižšie môžete vložiť prvky panelu. Panel vždy patrí k hlavnému programu alebo podprogramu, v ktorom ste boli, keď ste panel vytvorili. Preto je dôležité, aby ste vždy vybrali správny podprogram v lište podprogramov, ako panel vytvoríte. Panely sú obvykle generované pod hlavným programom. Panely obsahujú displeja a ovládacie prvky. Na displejoch môžete zobraziť napríklad rôzne premenné alebo textové správy. Ovládacie prvky môžu zasa slúžiť ako prídavné senzory a analógové vstupy. Ku každému prvku panelu, ktorý vložíte na panel, musí existovať zodpovedajúci prvok v programe. Panel input (pre ovládacie prvky) alebo Panel output (pre displeje). Spojenie medzi vaším programom a panelom utvoríte pomocou týchto programovacích prvkov. Nájdete ich v skupine prvkov Inputs, outputs. Sú zobrazené rôzne symboly podľa toho, aký prvok panela napojíte k týmto programovacím prvkom. V zozname prvkov sú len dva prvky. Jeden pre displeje a druhý pre ovládacie prvky. 9.1 Displeje Displeje sa používajú podobne ako výstupy rozhranie. Môžete nastaviť hodnotu pomocou príkazu =. 9.1.1 Merač Merač je založený na princípe analógového prístroja s ukazovateľom. Najčastejšie sa používa pre zobrazenie hodnoty analógového vstupu, ale môžete ho použiť aj pre iné programovacie prvky. Merač je ovládaný z programu skrze výstupy panelu. Panel output nájdete v skupine prvkov Inputs, outputs. Hodnotu merače nastavíte vyslaním príkazu = do zodpovedajúceho výstupu paneli v programe. Skoro všetky programovacie prvky s výstupmi dát vysielajú prík =, keď sa zmení ich hodnota. Môžete pripojiť analógové vstupy alebo premenné napríklad priamo do výstupu panelu.
Okno properties pre merače - Pod ID / Name by ste mali najprv vložiť názov pre merač. Názov je dôležitý, aby ste boli schopní
odlíšiť merače, ak ich máte viac ako jeden. - Pod Background color môžete nastaviť inú farbu pozadia, ako bielu. - Pod Minimum value a Maximum value špecifikujete hodnoty zodpovedajúce pozícii ukazovateľa na ľavom a pravom konci stupnice. Ak je jedna z hodnôt menšia, než 0 a druhá väčšia, než 0, vykreslí sa obzvlášť dlhý ukazovateľ 0. - Stupnica pozostáva z dlhých a krátkych čiarok. Vzdialenosť medzi dlhými a krátkymi čiarkami sa vkladá skrze Step size short / long marks. Ak majú obe rovnakú hodnotu, zobrazí sa iba dlhé čiarky. 9.1.2 Text display V textovom displeji môžete zobraziť číselné hodnoty, text alebo zmes obidvoch. Textový displej je ovládaný z programu pomocou výstupu paneli. Prvok Panel output nájdete v skupine prvkov Inputs, outputs. Akonáhle pripojíte Panel output k textovému displeju pomocou jeho okna Properties, symbol sa zmení a objaví sa názov panelu (napr. Main) a názov displeja (napr. Text). Sú dva spôsoby, ktorými môžete nastaviť text na displeji: - Nastavíte obsah displeja vyslaním príkazu = do zodpovedajúceho výstupu paneli v programe. Toto je veľmi praktické, ak chcete použiť displej na zobrazenie hodnoty premennej alebo iného programovacieho prvku, pretože väčšina programovacích prvkov automaticky vyšle príkaz = skrze ich výstupy dát, kedykoľvek sa zmení hodnota. Príkaz = prepíše iba posledných 6 znakov na displeji. Zvyšok displeja môžete vyplniť predpripraveným textom. Týmto spôsobom môžete doplniť hodnotu nejakým vysvětlujícícm textom. Pokiaľ sa jedná o displej s viacerými riadkami, môžete dať vysvetľujúci text na vlastné riadku. U displejov s viacerými riadkami je prepísaná pomocou príkazu = len 6 znakov na poslednom riadku. - Pomocou príkazu Text môžete nastaviť obsah displeja podľa svojho želania. Príkaz Text je špeciálny príkazový prvok, ktorým môžete posielať nielen čísla, ale aj celý text. Rovnako ako pekný príkazový prvok môže mať aj príkaz Text vstup dát. V tomto prípade môžete vystavať číselnú hodnotu z dátového vstupu do textu. Keď pošlete prvku Display viac príkazov Text, texty v nich sa spojí. Týmto spôsobom môžete podľa ľubovôle premiešať čísla a text. Ovládacie znaky v príkazoch Text Pre určité efekty možno použiť v prekáža text nasledujúce ovládacie znaky.
ovládacie znak
Efekt
######
Výstup hodnoty zo vstupu dát ako päťmiestne číslo + znak jednotky.
##.##
Výstup hodnoty zo vstupu dát ako číslo s dvoma desatinnými miestami a bodkou ako rozdeľovačom.
##,##
Výstup hodnoty zo vstupu dát ako číslo s dvoma desatinnými miestami a čiarkou ako rozdeľovačom.
\c
Prázdny displej a vloženie nasledujúceho textu na začiatok displeja.
Okno Properties pre textové displeje - Pod ID / Name by ste mali najprv vložiť názov pre displej. Názov je dôležitý, aby ste boli schopní odlíšiť displeja, ak ich máte viac ako jeden. - Pod Text vložte obsah displeja. Tento obsah zostane, kým nevyšli príkaz do displeja z programu. Ak vyšlete príkaz = do displeja, prepíše iba posledných 6 znakov. Začiatok textu zostane, aby ste mohli vidieť poznámku pred číslom, ktorá hovorí, o aké číslo ide. V ukážkovom príklade zostáva text Var =. Displej má 10 znakov, takže zostáva 10-6 = 4 znakov. - Pod Digits / columns a pod Lines môžete nastaviť, pre koľko znakov by mal displej poskytnúť miesto. U displeja s viacerými riadkami môžete zobraziť poznámky ako Var = alebo návštevníci na samostatnom riadku. - Pod Background color a Text color môžete upraviť farby displeja. Kliknite na Edit pre výber farby alebo definíciu vlastnej farby. 9.1.3 Display lámp Jedná sa o najjednoduchší typ displeja. Funguje podobne ako normálny lampa od fischertechnik pripojená k výstupu rozhranie. Lampa je ovládaná z programu pomocou výstupu paneli. Prvok Panel output nájdete v skupine prvkov Inputs, outputs. Akonáhle prepojíte Panel outupu s display lámp pomocou okna Properties, symbol sa zmení a objaví sa názov panelu (napr. Main) a lampa. Lampu môžete zapnúť alebo vypnúť pomocou zodpovedajúceho výstupu panela a príkazu On alebo Off, rovnako ako u výstupe normálny lampy. Môžete tiež lampu zapínať a vypínať pomocou príkazu =. Ak je hodnota vyššia, ako 0, lampa je zapnutá. Ak je menší, než 0, lampa je vypnutá. Okno properties pre display lampy - Pod ID / Name by ste mali najprv vložiť názov pre lampu. Názov je dôležitý, aby ste boli schopní odlíšiť lampy, ak ich máte viac ako jednu. - Pod Color môžete zmeniť farbu lampy. Urobte tak pomocou tlačidla Edit. - Ak je označené Initially on, je lampa od začiatku zapnutá, kým nedostane zodpovedajúci príkaz. Inak je spočiatku vypnutá. 9.2 Ovládacie prvky Ovládacie prvky sa používajú podobne ako vstupy rozhrania. 9.2.1 Tlačidlo Prvok panelu Button (tlačidlo) môžete použiť rovnako ako senzor alebo prepínač fischertechnik pripojený k jednému zo vstupov rozhrania.
Tlačidlo je spojené s programom pomocou vstupu panela. Prvok Panel output nájdete v skupine prvkov Inputs, outputs. Môžete pripojiť výstup panela zodpovedajúce tlačidle, ako je digitálny vstup rozhranie, s akémukoľvek programovaciemu prvku sa vstupom dát, napríklad prvku Branch. Ak je tlačidlo stlačené, má hodnotu 1, inak má 0. Okno properties pre tlačidlá - Pod Inscription text môžete vložiť popis tlačidla. V prípade tlačidlá tu nie je žiadne pole Name / ID, ako u iných prvkov panela. - Farby tlačidla môžete zmeniť pomocou Button color a Text color. Učiníte tak kliknutím na Edit. - Ak je označené Pressure switch, tlačidlo má skôr funkciu prepínača, než senzora. Pri prvom kliknutím zostane tlačidlo stlačené, kým ho druhým kliknutím neuvoľníte. Inak tlačidlo funguje ako senzor a je uvoľnené hneď potom, čo ho pustíte.
9.2.2 Slider Posuvník môžete použiť ako potenciometer pripojený k analógovému vstupu rozhranie. Oproti môže posuvník mať hodnotu nielen 0 a 1, ale mnoho ďalších, rovnako ako analógový vstup. Rozsah hodnôt je možné nastaviť v okne Properties. Posuvník môže byť použitý napríklad pre nastavenie rýchlosti motora medzi 1 až 8. Jazdec je prístupný z programu pomocou vstupu panela. Prvok Panel output nájdete v skupine prvkov Inputs, outputs. Akonáhle prepojíte výstup panela s posuvníkom pomocou okna Properties, zmení sa symbol a objaví sa názov panelu (napr. Main) a posuvníka. Môžete prepojiť výstup panela spojeného s posuvníkom, ako analógový vstup rozhranie, k akémukoľvek programovaciemu prvku sa vstupom dát. Veľmi často je posuvník pripojený k príkazovému prvku pomocou vstupu dát, takže posuvník ovláda rýchlosť motora.
Okno Properties pre posuvníky - Pod ID / Name by ste mali najprv vložiť názov pre lampu. Názov je dôležitý, aby ste boli schopní odlíšiť lampy, ak ich máte viac ako jednu. - Pod Slider knob color zmeníte farbu. Kliknite na Edit. - Pod Minimum value a Maximum value vložíte rozsah hodnoty pre posúvač. Ak chcete použiť posuvník pre ovládanie rýchlosti motora, mal by rozsah byť od 1 do 8. ROBO Pro má obvyklé kresliace funkcie. Nájdete ich v skupine prvkov pod Draw. V podskupine
Shapes sú kresliace nástroje pre rôzne základné geometrické tvary. V podskupine Text nájdete písacie nástroje pre rôzne veľkosti písma. Ostatné podskupiny obsahujú funkcie pre úpravu farby a tlouš'tky čiar.
10. Kresliace funkcie Pomocou kresliacich funkcií môžete vykresliť váš panel a programy, aby bola ich funkcia jasnejšie. Tu je príklad užívateľom navrhnutého panelu pre robota.
Tlačidlá, zobrazenie koordinátu a lampy koncových prepínačov sú v rovnakých farbách, ako im zodpovedajúce osi na schematickom nákrese robota. Vďaka tomu je panel skutočne prehľadný. Práca s kresliacimi funkciami by nemala byť nijako zložitá. Preto zhrnieme len pár bodov, u ktorých by mohli nastať nejasnosti: - Grafické objekty ako štvorce a kruhy nie sú dodané pridržaním tlačidla myši, ale dvojitým kliknutím, jedným v mieste ľavého horného rohu a jedným v pravom spodnom rohu. - Text nie je editovaný v dialógovom okne, ale priamo na pracovnej ploche. Keď vložíte nový textový objekt, objaví sa spočiatku len jasne modrý rámček. Teraz môžete proste len písať a text zobrazí priamo v pracovnej oblasti. Tiež môžete vložiť skopírovaný text pomocou CTRL + V. - Akonáhle nakreslíte objekt, môžete ho editovať pomocou malých modrých držátek. Sú tu tiež držadlá pre otáčanie a pokřivování objektov. Štvorec má dve malé držadlá vľavo hore. Keď pohnete druhým, väčším, môžete zaguľatiť rohy. Mód editácie môžete ukončiť pravým kliknutím myši alebo stlačením klávesu ESC. - Ak chcete objekt editovať neskôr, vyberte funkciu Edit v menu Draw. Keď kliknete na objekt, opäť sa objaví modrá držadlá. - Mnoho objektov má dva alebo viac editačných a kresliacich módov. Keď kreslíte alebo editujete objekt, môžete prepínať medzi jednotlivými módy pomocou klávesy TAB. V prípade kruhu môžete vybrať, či chcete špecifikovať dva hraničné body alebo stred a jeden hraničný bod. V prípade mnohouholníkov môžete zmeniť medzi editáciou bodu a funkcií ako "otáčať". Pri textových objektov môžete prepnúť medzi editáciou textu a zmenou veľkosti písma alebo uhla natočenia. - V menu Draw je funkcia pre umiestnenie objektov in the foreground / background (v popredí / v
pozadí). Pomocou tejto funkcie môžete umiestniť všetky vybrané objekty (nakreslené červeno) dopredu alebo dozadu, aby prekrývali iné objekty alebo boli nimi prekrývaniu. - Pomocou funkcie Raster snap v menu Draw môžete zapínať a vypínať znakovú matricu. Mali by ste si však uvedomiť, že pri editácii programu je matrica zapnutá, pretože sú k nej všetky prvky priradené. - Priradenie textových objektov môžete upraviť stlačením CTRL + tlačidla od 1 do 9 na numerickej klávesnici. Toto však funguje len ak je na klávesnici zapnutý Num-Lock. Ak nie, zapnite ho.
11. Nové funkcie pre ROBO TX kontrolér ROBOPro 2.X možno použiť s predchádzajúcimi ROBO rozhraniami rovnako ako s novým ROBO TX kontrolerom. Môžete vytvoriť také ROBOPro programy, ktoré budú bezo zmien fungovať na predchádzajúcich rozhraniach, rovnako ako na novom. Ale keďže sú vo vstupoch a výstupoch rozhrania rozdiely, nie je to pravda u každého ROBOPro programe. Napríklad ROBO TX kontrolér má 8 univerzálnych vstupov, ktoré možno všetky tiež použiť pre analógové vstupy pre odporové hodnoty. ROBO rozhranie má naopak iba dva vstupy odporu (AX a AY). na druhú stranu, ROBO rozhranie má interný vstup pre zdroj napájania. Aj to sa dá merať pomocou ROBO TX kontroledu pomocou univerzálneho vstupu. 11.1 Inštalácia USB ovládača ROBO TX kontroléra USB ovládač pre ROBO TX kontrolér nájdete v priečinku ROBOPro v podadresári / USB-driver installation / TXController. Tu si môžete vybrať ovládač podľa svojho operačného systému Windows. Okrem zložky ovládača je inštalácia rovnaká ako pre ROBO rozhranie. 11.2
Prostredie
(úroveň
1
a
vyššie)
Aby ste zobrazili len tie voľby programu, ktoré sú naozaj podporované cieľovým rozhraním, vyberte najprv v lište nástrojov tlačidlo, či je program určený pre ROBO rozhranie alebo ROBO TX kontrolér. V závislosti na tom, aké rozhranie je vybrané, zmení tlačidlo lišty nástrojov vzhľad. Toto tlačidlo a súvisiace menu Environment nezmení ani aktuálny ROBOPro program, ani akékoľvek k počítaču pripojené rozhranie (to je nastavené pomocou tlačidla COM / USB). Toto tlačidlo rozhoduje iba o tom, aké voľby sa zobrazí s okne property programovacích prvkov. Nižšie vidíte okno property pre rozvetvenie pre ROBO roznraní a ROBO TX kontrolér.
Ďalej vstupné prvky, ktoré nezodpovedajú vybranému rozhrania sú nakreslené s červeným ohraničením. Najčastejšie budete pracovať v prostredí, ktoré odpovídávašemu vlastnému rozhranie. Existuje však pár výnimiek: - Chcete vytvoriť program, ktorý využíva ako ROBO TX kontrolér, tak ROBO rozhranie. V móde online je to možné. V tomto prípade vytvoríte časti programu určené pre rôzne rozhrania v danom prostredí. Prostredie môžete zmeniť kedykoľvek. - Vlastníte ROBO TX kontrolér a máte od kamaráta požičaný program, ktorý bol navrhnutý pre ROBO rozhranie. Ak je vstupná konfigurácia kompatibilný, môžete použiť nezávislé programovanie rozhranie (viac informácií v ďalšej časti). Ak chcete robiť len malé zmeny, je lepšie zostať v prostredí ROBO rozhraní. - Vlastníte ROBO TX kontrolér a chcete napísať program pre kamaráta, ktorý vlastní ROBO rozhranie. V tomto prípade môžete použiť nezávislé programovanie rozhranie, rovnako ako vytvoriť program v prostredí ROBO rozhraní. - Dva body vyššie platí aj v opačnom prípade.
11.3 Nezávislé programovanie rozhrania Kým využíva váš program iba vstupy, ktoré sú prístupné ako na ROBO rozhranie, tak na ROBO TX kontroléra, môžete používať váš program bez zmien na ROBO TX kontroléra, rovnako ako na ROBO rozhranie. Mapovanie vstupov sú nasledovné:
ROBO rozhranie
ROBO TX kontrolér
Dj (ultrazvuk)*
I1 (ultrazvuk) *
A1 (analóg 10V)
I2 (analóg 10V)
AX (analóg 5kOhm)
I3 (analóg 5kOhm)
AY (analóg 5kOhm)
I4 (analóg 5kOhm)
I1-I4 (digital)
I5-I8
I5-I8 (digital
C1d-C4D (digital, nie pre senzor trasy) **
* Poznámka: K ROBO TX kontrolera možno pripojiť iba ultrazvukový senzor s tromi konektormi (číslo tovaru 133009). Ultrazvukový senzor zodpovedajúce ROBO rozhranie má 2 konektory a číslo tovaru 128597. ** Poznámka: Skratka C1d znamená, že počítač vstup C1 je použitý ako jednoduchý digitálny vstup. Ak je C1 použitý ako rýchly počítacie vstup, okno zobrazí C1C. Ak váš program využíva iba vstupy a výstupy vyššie, a mód vstupu pre univerzálne vstupy I1-I8 zodpovedá tiež ROBO TX kontrolera, môžete načítať váš program na ROBO rozhranie, rovnako ako na ROBO TX kontrolér. Mapovanie je vykonané automaticky, keď spustíte program v módoch online alebo download. Môžete vytvoriť program v móde ROBO rozhraní pomocou vstupov ROBO
rozhrania, ale vybrať skrze COM / USB ROBO TX kontroléra. 11.4 Konverzia programov Ak nemôžete alebo nechcete používať nezávislé programovanie rozhrania, môžete tiež vykonať adaptáciu rozhranie v programe permanentne. Položka menu Environment / Mp inputs nastaví všetky vstupy na vybrané prostredie spôsobom v tabuľke vyššie. Vstupy, ktoré nie sú priradené v tabuľke (D2, A2, AV) nie sú mapované a môžu byť zmapované neskôr ručne. Túto operáciu môžete vrátiť prepnutím prostredia a opätovným vyvolaním funkcie menu. 11.5 Univerzálne vstupy, typy senzorov a mód vstupu S ROBO rozhraním má každý vstup pevne daný typ vstupu. Do vstupu AX je možné pripojiť iba odporové senzory. ROBO TX kontrolér má oproti tomu 8 univerzálnych vstupov I1-I8, ktoré možno ovládať pomocou programu ROBOPro, a ku ktorým je možné pripojiť rôzne typy senzorov. Mód vstupu je vybraný automaticky pomocou typu senzora. V starších verziách ROBOPro bolo možné vybrať u každého vstupu obrázok senzora, ale iba pre ilustráciu, nemalo to technickú funkciu. S ROBO TX kontrolerom je dôležité, aby ste vybrali správny typ senzora. Inak nebude vstup správne nakonfigurovaný. V úrovni 4 a vyššie môžete tiež zmeniť mód vstupu nezávisle od typu senzora. S ROBO TX kontrolerom niektoré senzory vyžadujú rôzne módy vstupy, hoci by mohli byť všetky pripojené k vstupom I1-I8 na ROBO rozhraní. Toto sa týka popredne senzorov trasy, ktoré vyžadujú mód 10V digitálny vstup, keď sú použité spolu s TX kontrolerom. Počas konverzie programov a pri vykonávaní nezávislého programovaní rozhranie ROBOPro používa predchádzajúci obraz senzora ako typ senzora, aby vybral správny mód vstupu. 11.6 Rýchle počítacie vstupy a rozšírené ovládanie motora TX kontrolér má 4 počítacie vstupy C1-C4 a integrovaný ovládač motora, ktorý dovoľuje presné ovládanie motora. Rozšírené ovládanie motora umožňuje dve funkcie, automatickú zabrzdení po špecifikovanej vzdialenosti a synchronizáciu dvoch motorov. Systém ovládania motora vyžaduje, aby bol enkodér motora M1 pripojený k rýchlemu počítaciemu vstupu C1, atď. Keď používate mód automatického zabrzdení (automatic brake), je špecifikovaný počet pulzov a ovládací systém automaticky zastaví motor, keď dorazí k cieľu. Ovládací systém tiež prepočíta brzdnú dráhu a začne s brzdením dostatočne dopredu, aby zvolenej vzdialenosti bolo dosiahnuté is rýchlymi motory a vysokým rozlíšením enkodér. Keď používate synchronizácie (synchronization), dva motory sú ovládané tak, že vykonávajú rovnaký počet otáčok v rovnakú chvíľu. Toto je najlepšia u pásových vozidiel, ktorá potom idú presne vpred. Keď jeden motor spomalí, ovládanie motora automaticky spomalí aj druhý motor. Tieto dve funkcie môžete tiež kombinovať a nechať motory ísť po definovaný počet pulzov pri synchronizované rýchlosti. 11.6.1 Encoder Motor (úroveň 1) Pre pohodlné ovládanie motorov s enkodéru od úrovne 1 prístupný prvok Encoder Motor. Pomocou tohto prvku môžete buď pohybovať motorom definovaným číslom alebo pulzy, alebo dvoma motormi synchronizovanými, s alebo bez preddefinovaným počtom pulzov. Programovací prvok ponúka nasledujúce možnosti ovládania:
Ak chcete pohybovať len jedným motorom po definované číslo alebo pulzy, vyberte action dištancie a vložte požadovanú rýchlosť (speed), smer (direction) a vzdialenosť (distance). Použitím action synchronous môžete pohybovať dvoma motormi synchronizovanú rýchlosťou. Môžete nezávisle vybrať smer pre oba motory. Rýchlosť je pre oba motory vybraná len raz, pretože sa budú obaja otáčať rovnako rýchlo. Action synchronous distance kombinuje, ako je vysvetlené vyššie, definovaný počet pulzov so synchronizáciou rýchlosti dvoch motorov. Pomocou action stop môžete zastaviť obidva motory kedykoľvek a taktiež ukončiť synchronizáciu rýchlosti a zrušiť zostávajúcu vzdialenosť, ak je to možné. V prípade, že spustíte motory pomocou tohto prvku, môžete ich tak znova zastaviť, než budete môcť opäť použiť bežný prvok ovládanie motora. Keď definujete vzdialenosť, prvok nečaká, kým nedosiahne zvolenej vzdialenosti, ale skôr pokračuje k ďalšiemu prvku. Týmto spôsobom môže program pokračovať a zastaviť motory v prípade nejakej udalosti. Aby ste otestovali, či motor dosiahol svojho cieľa, sú tu vnútorné vstupy M1E až M4E pre každý motor. Môžete zaradiť tieto vstupy pomocou rozvetvenia alebo prvku wait for input. Vstupy M1E až M14 sa stanú 1, ak zodpovedajúce motor dosiahol daného počtu pulzov (vzdialenosť). Vstupy zostanú 1, kým nevyšli nový príkaz sa vzdialenosti do motora. Pre prvok wait je najlepšie, čakať na 1, rovnako ako na obrázku. Ak ovládate dva motory synchrónne, potrebujete prvok Wati iba pre prvý motor. V prípade synchrónne ovládaných motorov sa vstupy stanú 1, keď oba motory dosiahli svoj cieľ. Príklad použitia tohto prvku môžete nájsť v časti 4.4. 11.6.2 Rozšírené ovládanie motorov v úrovni 3 V úrovni 3 je motor ovládaný posielaním príkazov do oranžového prvku motora. Pomocou prvku synchronous je možné motor synchronizovať s iným motorom. Ak, napríklad, vyšlete príkaz synchrónne s hodnotou 1 do motora 2, motor 2 je synchronizovaný s motorom 1. V úrovni 3 môžete tiež synchronizovať viac ako dva motory. Synchronizácia je ukončená, keď vyšlete do motora príkaz synchrónny s hodnotou 0. Pomocou príkazu distance môžete definovať počet pulzov, ktoré pôjdu do motora. Akonáhle je tento počet pulzov dosiahnutý, motor sa zastaví. Definované vzdialenosť môže byť kedykoľvek ukončená zaslaním príkazu distance s hodnotou 0. Ak chcete skombinovať synchronizáciu so vzdialenosťou, musíte poslať príkaz vzdáelnosti do oboch motorov. Príkaz Synchronous je vyslaný len do jedného motora s číslom druhého motora ako hodnotou príkazu. Príkazy synchronous alebo dištancie v skutočnosti nespustí motor. Pre to potrebujete príkazy left, right alebo =. Čakajte na to, kedy cieľ dosiahne stav rovnakým spôsobom ako v úrovni 1. Pochopiteľne tiež existujú prvky úrovne 3 pre vstupy dosiahnutie cieľa. Potom, aby ste opäť ovládali motor s normálnymi príkazy motora, musíte najprv ukončiť príkazy
dištancie a synchronous zaslaním týchto príkazov s hodnotou 0. Najprv ale musíte vyslať motora príkaz stop. Príkazy distance a synchronous zastaví iba motor, kým sú príkazy aktívne. Keď ukončíte príkazy bez predchádzajúceho zastavenia motora, motor pobeží ďalej. 11.7 Displej Ďalšie novinou ROBO TX kontroléru je displej. Podobný pracovnému panelu, displej môže byť použitý na ovládanie programu alebo výstupu stavových dát. Displej je na umiestnený v záložke TX Display rovnako ako pracovné panel:
Možné ovládacie prvky Jaoui rovnaké ako u pracovného panelu: posuvník a tlačidlo. Pre zobrazenie stavových dát je k dispozícii textový displej. Pre zostavenie oblasti zobrazenia je tu prvok čiary a štvorca. Ak chcete zmeniť veľkosť ovládacieho prvku, môžete použiť voľbu menu Draw / Edit. Spojenie medzi prvkami displeja a programom je rovnaké ako pre pracovné panel pomocou vstupov a výstupov prvkov.
Ovládacie prvky Disley sú ovládané dvoma tlačidlami na rozhraní. Môžete vybrať rôzne ovládacie prvky krátkym stlačením ľavého alebo pravého tlačidla. Keď stlačíte ľavé alebo pravé tlačidlo na dlhšiu dobu, ovládací prvok sa zmení. Posuvník sa posunie, tlačidlo sa stlačí. Musíte v okne property priradiť každému ovládaciemu prvku poradové číslo. Tieto čísla definujú, v akom poradí budú pomocou tlačidiel ovládacie prvky vyberané. Dôležitá poznámka: Ak chcete program zastaviť v móde download, ktorý používa funkcie displeja, musíte stlačiť súčasne oba tlačidla. Rovnakým spôsobom ako každý podprogram môže mať vlastný pracovný panel, každý podprogram môže mať svoj vlastný obsah displeja. Je tu však rozdiel: obsah displeja sa mení automaticky, keď je podprogram opustený alebo je do neho vykonaný prístup. Týmto spôsobom je možné vyvinúť vcelku komplexné štruktúry bez veľkej práce. Odporúčame spustiť všetky podprogramy s obsahy displeja v jednotlivom procese. Inak môže byť zložité predvídať, ktorý obsah displeja je ukázaný v akej situácii.
12 Práca s desatinnými číslami ROBOPro ponúka vo verzii 2 voľbu práca s desatinnými číslami. To znamená, že môžete vykonávať aritmetické operácie nielen s celými číslami ako 1 alebo 2, ale tiež s desatinnými číslami ako 3,99482925 s presnosťou na 9 čísloviek. ROBO TX kontrolér používa takzvané pohyblivé deliace znamienko. Možno ho použiť s ROBO TX kontrolerom v módoch online a download. ROBO rozhrania v súčasnosti podporuje pohyblivé znamienko iba v online móde. Mód download je v pláne, ale bude k dipozícii až v blízkej budúcnosti. Ďalej je v pláne podpora trigonometrie a ďalších neracionálnych funkcií (napr. Sin, cos, tan, ln, √, ex, x²). Ak vás zaujímajú detaily: presnosť aritmetických operácií je 48 bitov s 32 bitmi mantisy. To zodpovedá presnosti niečo málo cez 9 desatinných čísel. Vo verzii 2.1.1.0 je podporované nasledovné: - Premenná s desatinou čiarkou - Zoznam s desatinnou čiarkou - Operátory +, -, *, / - Premena celého čísla na desatinné a naopak Tento prvok je umiestnený v okne prvkov s operátormi. - Rozvětvovací prvok, ktorý porovnáva desatinnú čiarku a konštantu - Textový príkaz s formátovaním desatinnej čiarky Neexistujú žiadne špeciálne prvky s desatinnými čiarkami. Namiesto toho môžete prepnúť typ dát v okne property na zodpovedajúci prvok celých čísel. Prvky desatinných čiarok sú zobrazené s hrubými okrajmi. 12.1 Porovnanie desatinných čísel Neexistuje trojitý porovnávací prvok pre čísla s desatinnou čiarkou. Dôvodom je, že desatinná čiarka by nemala byť porovnávaná, čo sa týka rovnosti, pretože hodnota desatinného čísla zvyčajne nie je presná kvôli chybám pri zaokrúhľovaní. Napríklad s desatinnými číslami výsledok 10 0.1 sa nerovná 1, pretože 0.1 nemožno reprezentovať presne pomocou binárnych čísel s desatinnou čiarkou. Desatinné čísla môžete porovnať pomocou konštanty desatinnej čiarky pomocou prvku s trojakým porovnaním. V ROBOPro verzii 2.1.2 a vyššiu budú pridané porovnávacej prvky. 12.2 Zobrazenie desatinných čísel Keďže na TX displeji nie je toľko miesta ako na monitore počítača, ROBOPro ponúka možnosti zobrazenia desatinných čísel spôsobom šetriacim miesto. Exponent je obvykle zobrazený pomocou skratky, napríklad k pre tisíce, ako u km. Skratky sú nasledovné:
Skratka Názov Exponent 10-18
a
atto
f
femto 10-15
p
pico
10-12
n
nano
10-9
u
mikro 10-6
m
mili
10-3
k
kilo
103
M
Mega 106
G
Giga
109
T
Tera
1012
P
Peta
1015
E
Exa
1018
V prípade exponentu mimo tento rozsah, čo sa väčšinou stane u chýb vo výpočte, sa zobrazí chybová hláška? FORMAT ?. Desatinné čísla možno tiež zobraziť spôsobom pri počítačoch a vreckových počítačom bežnejším. Textový príkaz ponúka nasledujúce možnosti: Formát
Výstup 1
Výstup -0.01
Výstup 1000
####.####
___1.0000
__0.0100
?FORMAT?
#####
____1
___-0
_1000
##.###ˆ
_1.000
-10.00m
_1.000k
##.###ˆ##
_1.000ˆ00
_1.000v02
_1.000ˆ03
##.#####ˆˆ##
_1.0000E+0000
_1.0000E-0002
_1.0000E+0003
Príklad: Sú pridané dve konštanty a na päť sekúnd sa zobrazí výsledok. Potom je zobrazenie vymazané (v textovom príkazu \ c) Pri formátovaní si pamätajte na nasledujúce: - Počet platných čísel, rovnako ako počet čísel v exponentu môže byť vo všetkých formátoch menený. - Ako desatinnú čiarku môžete použiť bodku alebo čiarku. - Pred čiarkou alebo bodkou sú potrebné aspoň 2 znaky ##, jeden pre skratku a pre aspoň 1 číslicu pred desatinnou čiarkou.
ROBOPro používa nasledujúce kódy pre zobrazenie špeciálnych hodnôt a uznačení chybových situácií: - 0 reprezentuje presnú nulu (žiadna chyba) alebo čísla, ktorý sú menšie, než zhruba ± 10-2500. -? FORMAT? Číslo nemožno vo vybranej formáte zobraziť. -? OVERFLOW? Výpočet skočil aritmetickým preťažením. K tomuto vedie napríklad delenie nulou. -? NAN? Nejedná sa o číslo (Not a Number) je výsledkom neplatných výpočtov, ako je druhý odmocnina z -1. -? UNDEFINED? Táto hodnota je napríklad použitá pre vstupy podprogramu predtým, ako získajú hodnotu. -? LOST? sa zobrazí pre 0/0, apod. -? Corrupted? Toto by sa nemalo nikdy stať. Ak máte program, ktorý zobrazí túto hodnotu, odošlite ho do servisu fischertechnik. - ??. ?? Pozri ďalšiu časť.
12.3 Prepočet presnosti Oproti väčšine iných systémov s pohyblivou desatinnou čiarkou, ROBOPro počíta v každej operácii tiež počet platných číslic (alebo bitov). Číslice, ktoré boli stratené počas výpočtov sú zobrazené v textovom výstupe ako "?". Napríklad ROBOPro výpočet 1.00000001-1.00000000 má výsledok 9.8 ?? n. Rozdiel by mal byť presne 0.00000001 alebo 10n. Avšak ROBOPro zobrazí o jednu číslicu viac, než koľko presne spočítal. Posledná číslica iba pomáha rozhodnúť, či by mala byť hodnota zaokrúhlená nahor alebo nadol, v tomto prípade z 9.8 na na 10n. Keď spočítate 1.0-1.0 v ROBOPro, výsledok je ??. ?? P. To znamená 0 s presnosťou na 99.99p alebo 100P, to je 10 na -10. Ako už bolo spomenuté, presná 0 (bez chyby) existuje, ale nie je obvyklá.
13 Pripojenie viac ako jedného ROBO TX kontrolera k jednému PC Ak chcete ovládať viac ROBO TX kontrolerov z ROBO Pre programu, nepotrebujete už prepínať každé zariadenie na "unikátne sériové číslo" a pripojiť ich oddelene k PC pomocou USB, ako ste robili s predchádzajúcimi ROBO rozhraniami. Namiesto toho je len jeden ROBO TX kontrolér pripojený k PC pomocou USB. Toto zariadenie sa nazýva "master". Ďalšie zariadenia sú pripojené k portom EXT1 alebo EXT2 na master a jedná sa o rozšírenie. Postup je detailne vysvetlený v manuáli k ROBO TX kontroléra. Týmto spôsobom je možné pripojiť až 8 zariadení k master. Dáta všetkých preslusenstvo sú posielané v balíku do PC pomocou jediného USB portu. Pripojenie viac ROBO TX kontrolerov k viac USB portom na jednom PC nie je podporované.