Obsah X38PRS. Palubní systémy Úvod. Analogové přístroje. Mechanické přístroje. Palubní systémy? 23.11.2008



Podobné dokumenty
SEMESTRÁLNÍ PROJEKT Y38PRO

Programovatelné automaty SIMATIC S7 a S5

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Zobrazovací jednotky a monitory

Profilová část maturitní zkoušky 2017/2018

Řízení modelu letadla pomocí PLC Mitsubishi

Telemetrický komunikační protokol JETI

Voltmetr SC5-IA1. Obr. 1 Voltmetr SC5-IA1

Automatizace a pohony SIMATIC HMI. Charakteristika. WinCC flexible

Témata profilové maturitní zkoušky

Profilová část maturitní zkoušky 2013/2014

Opakování programování

G R A F I C K É K A R T Y

Dílčí projekt: Systém projektování textilních struktur 1.etapa: tvorba systému projektování vlákno - příze - tkanina

Softwarové komponenty a Internet

Programování v C++ 1, 1. cvičení

13 Barvy a úpravy rastrového

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

BPC2E_C09 Model komunikačního systému v Matlabu

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Průvodce programováním AMiNi-E jazykem STL Dipl. Ing. Pavel Votrubec

Metody připojování periferií

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

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Profilová část maturitní zkoušky 2014/2015

Monitory a grafické adaptéry

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Základy počítačových sítí Model počítačové sítě, protokoly

IUJCE 07/08 Přednáška č. 1

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

TC-502L. Tenký klient

Připravil: David Procházka. Vertex Buffer Objects

Měřič. krouticího momentu /06/04/v1

Controlweb. Úvod. Specifikace systému

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

TC-502L TC-60xL. Tenký klient

Základní komunikační řetězec

Úvod do problematiky. Význam počítačové grafiky. Trochu z historie. Využití počítačové grafiky

Mikromarz Termoelektrický teploměr

Objektový systém QM4000

Ovládání LCD. Ing. Josef Grosman. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Virtuální instrumentace I. Měřicí technika jako součást automatizační techniky. Virtuální instrumentace. LabVIEW. měření je zdrojem informací:

Vstupně - výstupní moduly

Integrovaná střední škola, Sokolnice 496

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Vysílací modul ECT-16

AGP - Accelerated Graphics Port

OTÁZKY K ZÁVĚREČNÉ ZKOUŠCE Z INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Úvod do programování - Java. Cvičení č.4

Soft-PLC systémy ICP DAS se softwarem ISaGRAF

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

TGZ. 2-osé digitální servozesilovače

OM ProfiBus POPIS PROTOKOLU/KOMINUKACE

Profilová část maturitní zkoušky 2015/2016

ČÁST 1. Základy 32bitového programování ve Windows

umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora

Přijímací modul ECA-4

Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO

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

Grafická karta nebo také videoadaptér je součást počítače, která se stará o grafický výstup na monitor, TV obrazovku či jinou zobrazovací jednotku.

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Přijímací modul ECA-16

Jak namalovat obraz v programu Malování

Měřicí technika pro automobilový průmysl

Základy programování (IZP)

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

Popis programu EnicomD

Virtuální ověřování výroby Robotika Process Simulate Virtual Commissioning Virtuelle Inbetriebnahme

IRAE 07/08 Přednáška č. 1

KOMPLEXNÍ VZDĚLÁVÁNÍ KATEDRA STROJNÍ SPŠSE a VOŠ LIBEREC

Revize FW jednotek RTU7

Vestavné počítače PAC

Obsah DÍL 1. Předmluva 11

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

MĚŘENÍ A REGULACE TEPLOTY V LABORATORNÍ PRAXI

David Buchtela. Monitory Monitory. David Buchtela. enýrství lská univerzita v Praze

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) 28. prosince Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Technické vývojové prostředky

Řídící systémy hydraulických procesů. Cíl: seznámení s možnostmi řízení, regulace a vizualizace procesu.

Operační systémy. Cvičení 4: Programování v C pod Unixem

Uživatelská příručka

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

Pokročilé architektury počítačů

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

TW15 KONCOVÝ PRVEK MSKP. Popis výrobku Technická data Návod k obsluze. Technologie 2000 s.r.o., Jablonec nad Nisou

16. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení)

Práce s binárními soubory. Základy programování 2 Tomáš Kühr

Přenos signálů, výstupy snímačů

Úvod do počítačové grafiky

APS 400 ipanel. Online informační a ovládací panel pro systém APS 400. Uživatelská příručka

Virtuální přístroje. Matlab a Instrument Control Toolbox. J.Tomek, A.Platil

Maturitní témata. Informační a komunikační technologie. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou.

Programování LEGO MINDSTORMS s použitím nástroje MATLAB a Simulink

Operační systémy. Přednáška 1: Úvod

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

Vývoj počítačové grafiky. Tomáš Pastuch Pavel Skrbek

TX700 HMI / PLC Serie 7" displej - CODESYS V3 PLC s TARGET & WEB VISU Vysoce kvalitní kovový kryt a skleněný kapacitní dotykový displej TX707-P3CV01

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

PREPROCESOR POKRAČOVÁNÍ

Transkript:

X38PRS 1. Úvod do předmětu, analogové a digitální palubní informační systémy a jejich hierarchické struktury Jak na realizaci domácí úlohy Obsah Cvičení č.2 Založení vašeho vlastního projektu Ladění programu v prostředí MS Visual Studio.NET 2003 Obsah přednášky Základní principy psaní zobrazovací aplikace pro displejový přístroj. Ukázková prezentace domácí úlohy X38PRS Úvod Pavel Pačes 2 Palubní systémy Úvod Související předměty Přístrojové systémy letadel, přednášející: doc. Draxler Sběrnicové systémy letadel, přednášející: doc. Kocourek Elektronické systémy, přednášející: dr. Fisher Konstrukce a pohon letadel, přednášející: doc. Slavík Programování avionických systémů: dr. Fisher, doc Vedral Analogové přístroje Převod měřené veličiny do formátu, ke kterému se došlo postupným vývojem: Mechanický převod Variometr Elektromechanický převod Přístroj zobrazení teploty výstupních plynů Nevýhody mechanických přístrojů? Náročnost výroby Špatná reprodukovatelnost Zdroj: Westach X38PRS Evoluce Úvod Pavel přístrojového Pačes vybavení 3 X38PRS Úvod Pavel Pačes 4 Palubní systémy? Mechanické přístroje Mechanické převody Zdroj:?? X38PRS Úvod Pavel Pačes 5 Zdroj: wikipedia X38PRS Úvod Pavel Pačes 6 1

Palubní systémy L410 - Exrukze na simulátor. TCAS Palubní systémy A320 Kde je budoucnost? Glass cockpit definice, EFIS, PFD, ND, EICAS (ECAM), ND, PFD Zdroj: www.let.cz X38PRS Úvod Pavel Pačes 7 Zdroj: jetphotos.net X38PRS Úvod Pavel Pačes 8 Digitální přístroje propojení Příklad převodník S/R Kombinace: Senzor zobrazovací prvek Bod Bod: analogové přenosy, proprietální protokoly, RS232, KLN94 Vysílač několik přijímačů: ARINC429, ADC Shadin2000 Sběrnice: ADFX X38PRS Úvod Pavel Pačes 9 X38PRS Úvod Pavel Pačes 10 Sběrnicí propojený systém Tři základní zdroje informace (viz. glass cockpit) Redundantní spojení Digitální přístroje Většinou poskládané z modulů Snadná reprodukovatelnost Možnost automatického testování Nevýhody? Problematická certifikace Špatná dostupnost kvalifikovaných součástek (náročné testování, statistika) V případě, že na certifikaci dosáhnete, tak se může stát, že se požadované součástky přestanou vyrábět (8086,, AMD29050,, Tesla (meče?)) X38PRS Úvod Pavel Pačes 11 X38PRS Úvod Pavel Pačes 12 2

Další přednášky Požadavky na přístroje: VFR, IFR, normy Testování SW Testování HW Domácí úloha softwarové vybavení Motto Všechno je v základu jednoduchý problém. X38PRS Úvod Pavel Pačes 13 X38PRS Úvod Pavel Pačes 14 CPU Data Paměť Propustnost Datové sběrnice Instrukce programu Data z periferií Grafika na zobrazovači Počítačový systém Počítačový systém Připojení zobrazovacího panelu Zdroj: www.transintl.com X38PRS Úvod Pavel Pačes 15 X38PRS Úvod Pavel Pačes 16 Uspořádání periférií Paměť framebuffer Grafický HW X38PRS Úvod Pavel Pačes 17 Definice: Framebuffer Zobrazovací zařízení, které přenáší zobrazovanou informaci z bufferu Obsahuje číselné informace pro každý zobrazovací bod pixel Různé režimy zakódování barev pixelů jednobitově (monochromatický režim), čtyřbitově s paletou, osmibitově s barevnou paletou, 16 bitově (highcolor) a 24 bitově (truecolor) Alfa kanál X38PRS Úvod Pavel Pačes 18 3

Framebuffer #2 velikost paměti potřebné pro práci framebufferu je závislá na: barevné hloubce, velikostipalety a rozlišení výstupního signálu Problémy s přechodem mezi jednotlivými systémy Soubor ukazatelů na barevné nastavení pixelu Ztrátové kódování barev? BMP Projekt pohyblivá mapa 255 (0xFF) Paleta R(0xFF) G(0xFF) B(0xFF) = (0x00FFFFFF) R(0xFF) G(0xFF) B(0xFE) = (0x00FFFFFE) R(0x00) G(0x01) B(0x00) = (0x00000100) R(0x00) G(0x00) B(0xFF) = (0x000000FF) 0 (0x00) 0 (0x00) R(0x00) G(0x00) B(0x01) = (0x00000001) R(0x00) G(0x00) B(0x00) = (0x00000000) X38PRS Úvod Pavel Pačes 19 X38PRS Úvod Pavel Pačes 20 Optimalizace datové propustnosti Části palety je možné přehrávat za běhu systému Použití palety umožňuje zrychlení zápisu informací. Je možné zapsat i číst 4 byty v jednou operací. Virtual LCD Inicializace palety void load_pallette( void ) VirtScr_PalleteInit( 256 ); for( icnt = 0; icnt < 256; icnt++) ulcol = lcd_color_map[icnt]; larr[icnt] = RGB( ((ulcol>>8)&0x0f)<<4, ((ulcol>>4)&0x0f)<<4, ((ulcol>>0)&0x0f)<<4 ); } VirtScr_PalleteSet( 0, 256, larr ); } // END void load_pallette( void ) Paleta je ve virtuálním LCD připravena. Používejte barvy v rozsahu 0 255. X38PRS Úvod Pavel Pačes 21 X38PRS Úvod Pavel Pačes 22 Low level API Grafická knihovna Uživatelský program SW a HW Architektura SW Alternativy k virtuálnímu LCD X38PRS Úvod Pavel Pačes 23 X38PRS Úvod Pavel Pačes 24 4

Architektura SW #2 Top level aplikace Projekt Vašeho přístroje Základní grafická knihovna (prvky jako bod, čára, ) HW vrstva počítače (Ovládání periferií, ) Gauge GR lib./obecná knihovna HW Layer/OS Reálný systém? X38PRS Úvod Pavel Pačes 25 X38PRS Úvod Pavel Pačes 26 Architektura SW #3 Top level aplikace Projekt Vašeho přístroje (top level aplikace Vašeho projektu) Základní grafickáknihovnaknihovna (prvky jako bod, čára,, další věci si musíte dopsat) Simulace HW počítače (časově řízené překreslování na obrazovku) Čtvereček = projekt, některé části si musíte upravit (Gauge, GRLib), přehled funkce, interface, VirtualLCD Gauge GR lib. VirtualSCR/HW layer Funkce windows GDI Software Každá SW někde začíná a někde končí. Skládá se tedy z: Inicializace (úvod), Hlavní prováděcí části i( (stať) a Ukončení činnosti (uvolnění zdrojů závěr) Tyto části najdete všude Program pro up, pro OS MS Windows, Linux X38PRS Úvod Pavel Pačes 27 X38PRS Úvod Pavel Pačes 28 void GaugeMain( void ) void GaugeClose( void ) void GaugeTimer1ms( void ) Virtual LCD API Projektpřístroje je nezávislá entita ale pro umožnění změny IP poskytuje: void ConnectionDetails( char * btaddress, int isendport, int irecvport ) Druhé cvičení: Každý projekt a jeho funkce potřebují unikátní jména. Jinak je nepůjde složit! Pravděpodobně to bude něco jako GaugeMain[číslo skupiny][rok dvě písmena] void GaugeMain( void ) static int istate = 1; static int ierrorcode = 0; Inicializace: Statické proměnné switch( istate ) // State machine Stavový automat - přechody default: case 0: // State machine Error v případě chyby neděláme nic break; // END case 0: case 1: // State machine init (úvod) // proměnné použité v této části } break; // END case 1: // State machine init (úvod) case 2: // State machine process (stať) // } break; // END case 2: // State machine process (stať) }// END switch( istate ) } // END void GaugeMain( void ) X38PRS Úvod Pavel Pačes 29 X38PRS Úvod Pavel Pačes 30 5

case 1: // State machine init (úvod) // proměnné použité v této části char btaddress[4]; // komunikacni adresa load_pallette(); // system pallette init // Socket connection btaddress[0] = 127; btaddress[1] = 0; btaddress[2] = 0; btaddress[3] = 1; Inicializace: Stavový automat case 2: // State machine process (stať) // blok příjmu dat z UDP soketu // použité proměnné int ilength = 100; int iretval = 0; unsigned char btarray[100]; unsigned char charray[40]; Hlavní část programu if( IO_Eth_Connect( glb_oconnection.btaddress, glb_oconnection.isendport, glb_oconnection.irecvport ) < 0 ) // v pripade chyby ulzime, ze k chybe doslo ierrorcode = 1; // a prejdeme do stavu chyba ( 0 ) istate = 0; } else // v pripade, ze vse probehlo v poradku, prejdem do stavu // process (stať) istate = 2; } } break; // END case 1: // State machine init (úvod) iretval = IO_Eth_Receive( charray, &ilength ); if( iretval > 0 ) // neco jsme prijali charray[2] = 0; sprintf( btarray, "Value: %s", charray ); log_insert_int( &mainlog, btarray, 0, 205); // Send IO_Eth_Send( charray, iretval ); } } } break; // END case 2: // State machine process (stať) Pooling, proč? X38PRS Úvod Pavel Pačes 31 X38PRS Úvod Pavel Pačes 32 Cíl domácí úlohy Vykreslit na displeji přístroj (definovaná velikost, definovaný tvar, definované zobrazení a barvy, definované chování,, vše je definované) Odeslat žádost o data a data přijmout (komunikační č kanál álje funkční, je definován dfi přenosový ř formát,, stačí dosadit) Složit přijatou hodnotu, Vypočítat novou polohu ručičky na přístroji Překreslit přístroj Skládání dat do paketu BYTE DATA[0] = BYTE SHORT DATA[0] = (SHORT>>0)&0xFF INT DATA[0] = (INT >>0)&0xFF FLOAT DATA[0] = ((char *)&FLOAT)[0] X38PRS Úvod Pavel Pačes 33 X38PRS Úvod Pavel Pačes 34 Komunikační protokol Víte něco o CANu? Protokol CanAerospace je třeba přenést paketem typu UDP Přenosový formát zprávy je definován následovně: btdata btdata btdata btdata btdata btdata btdata btdata btdata btdata btdata btdata [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] ID ID ID Length DATA DATA DATA DATA DATA DATA DATA DATA [0] [1] [2] [0] [1] [2] [3] [4] [5] [6] [7] Význam jednotlivých položek je následující: btdata jsou jednotlivé paměťové pozice v paketu. ID je identifikátor zprávy posílaný po sběrnici CAN. Length je délka vyplněné datové oblasti DATA, délka zprávy přenášené po sběrnici CAN. DATA jsou jednotlivé datové byty. Skládání dat do paketu Související problém: Little endian, big endian Při příjmu hodnoty provádět kontrolu identifikátoru ifiká paketu proč? X38PRS Úvod Pavel Pačes 35 X38PRS Úvod Pavel Pačes 36 6

Regulátor pohybu ručičky Řešení dynamiky ručičky proč? PID regulátor SI32 REG_DoPID( SI32 ierror, SI32 iposition) int iretval; float fregp, fregi, fregd, freg, ferror; // Proportional part of the regulation fregp = glb_opid.fgainp*ferror; // Integral part of the regulation // derivative state freg = fregp + fregi fregd; if (freg >= creg_max_hit) freg = creg_max_hit; if (freg <= creg_min_hit) freg = creg_min_hit; iretval = (int)freg; return (iretval); } // END SI32 REG_DoPID( SI32 ierror, SI32 iposition) X38PRS Úvod Pavel Pačes 37 Několik módů činnosti Řešit stavovým automatem Překreslování: Smazání celé oblasti a opětovné překreslení Překreslení posledního obrazu Překreslení částí podkladu Funkčnost přístroje X38PRS Úvod Pavel Pačes 38 Grafické API GR_ #1 Grafické API GR_ #2 void GR_screen_clear(void) void GR_putBIGpixel(int x, int y, int size, int col1, int col2) void GR_bold_line(int left, int top, int right, int bottom, int size, int color, int color2) void GR_circle(int left, int top, int radius, int type, int color1, int color2, int size) void GR_rectangle(int left, int top, int right, int bottom, int color1, int color2, int size) void GR_full_rectangle(int l lf left, int top, int right, ih int bottom, int color) void GR_arc(int center_x, int center_y, int radius, int angle1, int angle2, int color1, int color2, char size) void GR_contour_arc(int center_x, int center_y, int radius, int angle1, int angle2, int width, int color1, int color2, char size) void GR_solid_arc(int center_x, int center_y, int radius, int angle1, int angle2, int width, int color1, int color2, char size) X38PRS Úvod Pavel Pačes 39 X38PRS Úvod Pavel Pačes 40 Grafické API GR_ #3 Grafické API GR_ #4 int GR_getStrLen( unsigned char fonttype, char *text) int GR_getFontYsize( unsigned char fonttype ) void GR_outtextxy8x8(int x, int y, int color, char *textstring) void GR_outval8x16(int x, int y, int color, char *textstring) // 16x24 void GR_outFont(int x, int y, unsigned char fonttype, unsigned char fontflags, int color, int back_color, char *textstring) void GR_delDigit8x16(int x, int y, int barva) void GR_draw_bitmap( tbitmap *b, int left, int top, unsigned char color, unsigned char bg_color ) void GR_draw_part_of_bitmap( tbitmap *b, int left, int top, int x1, int y1, int x2, int y2, unsigned char flags, unsigned char color, unsigned char bg_color) X38PRS Úvod Pavel Pačes 41 X38PRS Úvod Pavel Pačes 42 7

Polohování přístroje na ploše BOD [0, 0] V případě vývoje na reálném HW Problémy Direktivy preprocesoru #define corigin_x 320 #define corigin_y 240 X38PRS Úvod Pavel Pačes 43 X38PRS Úvod Pavel Pačes 44 Závěr? : ) Začátek Druhé cvičení Projekt Ldě Ladění Kompilace Ukázky Rychloměr X38PRS Úvod Pavel Pačes 45 8