Vývoj software
Naši stálou nabídku služeb tvoří vývoj software na zakázku pro osobní počítače a servery s operačním systémem Microsoft © Windows a Linux. Do této kategorie produktů patří systémy a aplikace určené pro běžné kancelářské použití na osobních počítačích, aplikace pro průmyslové nasazení, řídící a informační systémy. Další oblastí služeb je vývoj software pro jednočipové mikropočítače a programovatelné logické součástky. Tato specifická oblast služeb navazuje na zakázkový vývoj hardware.
- aplikace na zakázku pro OS Windows
- aplikace na zakázku pro OS Linux
- webové aplikace
- programování jednočipových mikropočítačů
- programování programovatelných součástek CPLD a FPGA
Aplikace na zakázku pro Windows
V zakázkovém vývoji SW pro Windows se zaměřujeme na dvě oblasti.
- řízení technologických procesů
- průmyslové informační systémy
Řízení technologických procesů
Hlavním úkolem je vlastní řízení technologie. Hardware je průmyslové PC a sada vstupně/výstupních karet tvořících rozhraní mezi PC a technologií. Karty umožňují řízení logických výstupů a čtení logických vstupů, obsluhu analogových vstupů/výstupů, sériovou komunikaci, CAN komunikaci atd. Mezi karty a technologii je zpravidla nutno včlenit další interface (elektroniku, stykače, čidla). OS Windows není realtime a proto je nutné zajistit dostatek času procesoru pro časově kritické operace. To řešíme oddělením kritického kódu do samostatného vlákna a optimalizací priorit vláken.
Nedílnou součástí je sběr, archivace dat a vizualizace. Data jsou ukládána do databáze, často lokální. Vizualizace na PC je realizována pomocí speciálních vizualizačních komponent, jako jsou analogová (ručková) měřidla, segmentové nebo maticové displeje, LED diody, grafy, zapisovače apod.
Průmyslové informační systémy
Obvyklá konfigurace je klient/server. Vstup dat do systému je realizován terminálem, na kterém běží klient. Terminál může být vybaven speciálním HW, např. laserová nebo RFID čtečka, dotykový LCD nebo termotransferová tiskárna pro tisk čárových kódů. Data jsou ukládána do databáze na linuxovém serveru. Databáze používá referenční integritu a transakce. Výstup dat je realizován dalším klientem. Ten generuje sestavy, exportuje sestavy do požadovaných formátů, automaticky rozesílá sestavy poštou a umoňuje administraci systému.
Realizované aplikace
- tester řídícího počítače pohonu metra
- systém řízení kontroly kvality
Aplikace na zakázku pro Linux
Nad Linuxem vyvíjíme software v jazyku C. Máme zkušenosti s vícevláknovým programováním, obsluhou databází a socketovou komunikací. Na zakázku jsme realizovali sadu aplikací pro monitoring sítě a tarifikaci dat.
Realizované aplikace
- klient pro tarifikaci datového provozu na bezdrátových pojítkách
- vícevláknový démon pro komunikaci a sběr dat z tarifikačních klientů
- vícevláknový démon pro SNMP komunikaci se směrovači
Webové aplikace
Z pohledu klient/server řešení můžeme webový prohlížeč považovat za tenkého klienta. Aplikace je tvořena skripty běžícími na serveru, serverovou databází a skripty běžícími na klientu (v prohlížeči). Vytvoříme webovou prezentaci vaší firmy nebo webovou aplikaci integrovanou do vašeho podnikového informačního systému. Při realizaci webových stránek vám pomůžeme s návrhem struktury webu a vytvoříme design stránek tak, aby odpovídal vaší korporátní identitě. Postaráme se o vystavení vaší webové prezentace na Internet.
Realizované aplikace
- administrativní rozhraní pro správu telefonní ústředny VoIP
- vyúčtování telefoních poplatků
- analýza objemu telefonování pro potřebu zákaznického servisu
- webové prezentace na zakázku
Jednočipové mikropočítače
Proč není jednoduché napsat software na jednočip?
- Úzká provázanost programování jednočipového počítače s návrhem vlastního HW a nutnost detailní znalosti aplikačních periferií použitého jednočipové počítače klade značné nároky na znalosti a zkušenosti programátora.
- Programátor musí spolupracovat s vývojářem HW a být seznámen s řízenou technologií.
- Program je tvořen v nízkoúrovňovém jazyku C, popřípadě v assembleru. Častý je také případ kombinace C a assembler.
- Jednočip je často z důvodu ceny nebo spotřeby vybaven malou datovou i programovou pamětí. Taktovací frekvence procesoru a šířka slova bývá malá. To vede k relativně malému výkonu CPU. Programátor je nucen vytvářet rychlý a úsporný kód.
- Aplikace musí běžet v reálném čase.
- Chyba v aplikaci vede často k poškození HW.
S vědomím těchto skutečností nabízíme vývoj software pro jednočipové mikropočítače jako službu. Spolupráce HW a SW oddělení a značné zkušenosti s tímto specifickým druhem programování nám dávají předpoklady pro zvládnutí Vašich zakázek.
Realizované aplikace
- řízení měničů
- síťová komunikace CAN
- měřící přístroje
Rodiny jednočipových mikropočítačů
- i51
- i196
- AVR
- DSP od Texas Instruments
CPLD a FPGA
Při návrhu elektronického systému jsou používány programovatelné součástky, jejichž kombinační a sekvenční logická funkce je definována programově. Spolupráce HW designérů a programátorů HumboldTecu umožňuje nabídnout návrh funkce programovatelného obvodu a jeho integraci do elektronického systému jako službu. Umíme vyvinout nebo upravit software pro programovatelnou součástku, která je již umístěna v návrhu plošného spoje. Jako službu nabízíme návrh eletronického systému obsahující programovatelné součástky, včetně vývoje a výroby plošného spoje. Více podrobností naleznete v sekci Vývoj hardware.
Používáme CPLD a FPGA
- Lattice
- Altera