Číslicové měřicí systémy. Téma 4



Podobné dokumenty
Téma 5. Ovladače přístrojů Instrument Drivers (ID)

Automatizované měřicí systémy se sběrnicí IEEE 488 (GPIB)

Sběrnice GPIB (General Purpose Interface Bus)

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

Základní normalizované datové přenosy

ÚVOD DO OPERAČNÍCH SYSTÉMŮ. Vývoj SW aplikací. Unix, POSIX, WinAPI, programování komunikace s periferními zařízeními, ovladače zařízení

AUTOMATIZOVANÝ MĚŘICÍ TESTOVACÍ SYSTÉM

Číslicově řízený zdroj HP E3631A. Zpracoval Ing. Kadeřábek Petr

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

RE5USB programovatelné USB relé s integrovaným watchdogem ( RE5 ) Základní vlastnosti

MĚŘICÍ SYSTÉMY A2B38EMB P14 1

Měřicí systémy. Obsah. Systémy složené z autonomních měřicích přístrojů a modulů Sériová rozhraní. Sériová rozhraní - pokračování 1

Modul analogových vstupů M-AI4

PŘÍRUČKA UŽIVATELE KOMUNIKAČNÍHO ROZHRANÍ

Rozhraní USB. Rozhraní USB. Specifikace USB. Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec).

Sestava kamery s mot. objektivem Tamron

Snímače teploty a vlhkosti s komunikací po RS485 protokolem Modbus RTU - řada PHM

Dvojitý IP teploměr s výstupním relé a s digitálním a analogovým vstupem.

Multimetr HP 34401A. Návod k použití. Zpracoval Ing. Petr Kadeřábek

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

Metody připojování periferií

USB. Universal Serial Bus. revize 2.0 z 27.dubna 200

MyIO - webový komunikátor

Rozdělení operačních systémů

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

Sběrnice a rozhraní. Josef Voltr

Universal Serial Bus. Téma 12: USB. Komunikační principy Enumerace Standardní třídy zařízení

1 Podrobná specifikace Yunifly Datasheet

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

TRUST USB2 EASY FILE TRANSFER CABLE. Instrukce při prvním použití 1. Instalace ovladače (4.2) 2. Připojení kabelu (4.3)

Registrový model HDD

JEDNOTKA SNÍMAČŮ 1-WIRE (DALLAS) TUDS-40-MOD

Moduly MicroUnit serie. všechny typy s výjimkou řady MU-43x, MU-44x a MU-84x

Snímač barometrického tlaku T2314, T2414

Vstupní a vstupní proudy v C++

Digitální osciloskop S2X100 OSCILOSKOPY.COM

Malý distribuovaný I/O modul

Převodník na DIN lištu s frekvenčním výstupem typ RF1

Programovatelný funkční generátor HP 33120A. Návod k použití. Zpracoval Ing. Kadeřábek Petr

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

Řízení experimentu počítačem

Systémová volání Mgr. Josef Horálek

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

FPC - Převodník pro čínské čtečky F17 a F18 - podrobný popis služeb a příkazů -

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

MIDAM MW 240 modbus 2 x DI, 2 x DO

11. Implementace ovladače ve Windows

Špionážní tužka s HD kamerou Manual. (typ - propiska)

26. PERIFERIE PŘIPOJENÉ NA ETHERCAT

Práce s velkými sestavami

ADR View. Software pro třífázové analyzátory sítí. Software Systems MKT - AC 1

Teploměry a ovladače s digitální komunikací - řada AM. Tango. alpha nea. Základní technické parametry

Měřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/

DELTA PANEL pro Windows

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

PREPROCESOR POKRAČOVÁNÍ

PROGRAMOVÁNÍ V C++ CVIČENÍ

P-334U. Bezdrátový Wi-Fi router kompatibilní s normou a/g. Příručka k rychlé instalaci

TCP2RTU. Transparentní převodník protokolu MODBUS TCP na MODBUS RTU/ASCII. Tři varianty: pro RS422, RS485 a RS232

Další vlastnosti. Úvod. Specifikace karty Sweex Wireless LAN PCI Card 140 Nitro XM (LW142) Obsah balení. Další vlastnosti

Paměti Flash. Paměti Flash. Základní charakteristiky

Analýza dějů na rozhraní RS 232 C


Úloha Ohmetr zadání úlohy

SML 33 / SMM 33 / SMN 33

UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB

IRO Integrované ovládání místností

IMPLEMENTACE ČTENÍ A ZÁZNAMU NA SD KARTU

Použití sériových rozhraní (RS232 a USB) pro ovládání měřicích přístrojů

Obsah. Úvod Co je KORG KONTROL Editor?... 2 Požadavky na systém... 2 Instalace... 3

TECHNICKÝ MANUÁL. Obj. č.:

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

- program = vykonatelný soubor - proces = jedna instance vykonávaného programu

českém Úvod Obsah balení Technické údaje pro BT100 Doplňkové technické údaje pro BT100 S W E E X. C O M BT110 Sweex Bluetooth Class I Adapter USB

Zapojení vývodů. SPP Signal

Systémy pro sběr a přenos dat

Průmyslové sběrnice. CAN (Controller Area Network) - protokolem sériové komunikace

Knihovna EpsnetLib TXV první vydání září 2012 změny vyhrazeny

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

POLOHOVÁNÍ ULTRAZVUKOVÉHO SENZORU

Protokol Profibus DP rozhraní

Regulátor MaxVU. Stručný návod k použití

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Převodník Modbus TCP / DALI

E.C.S. řada nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 )

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

Komunikace v síti GSM/GPRS

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

CAL (CAN Application Layer) a CANopen

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

Úloha č. 2: Měření voltampérových charakteristik elektrických prvků pomocí multifunkční karty

32 x BINÁRNÍ VÝSTUPY, POLOVODIČOVÝ SPÍNACÍ KONTAKT

českém Úvod Hardware Instalace ve Windows 98SE PU006 Sweex 2 Port Serial PCI Card

Metody připojování periferií

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

Algoritmizace a programování


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

Úvod do mobilní robotiky AIL028

Transkript:

Téma 4 Programování GPIB Komunikace v systému IEEE 488 je založena na přenosu zpráv mezi řídící jednotkou a měřicími přístroji. Jedné se o zařízení založenými na zprávách - Message Based Device. Programování bude demonstrováno na deskách a software firmy National Instrument, který je de facto průmyslovým standardem a naše laboratoř je jimi vybavena. Co je třeba aby bylo možno programovat sběrnici GPIB - v PC deska GPIB - nainstalován software ( driver NI 488.2) - konfigurován software Součásti driveru jsou při detekci hardware dynamicky zavedeny do paměti a při odpojení hardware dynamicky uvolněny (unloaded) vymazány. Uživatel vybere z NI 488.2 vhodné funkce ( pro většinu aplikací vyhovují funkce na úrovni zařízení device level functions) vhodné příkazy z SCPI a nebo obecných přístrojových příkazů, které použije jako řetězce do funkcí. Pozn.:Nejprve budou probrány povely SCPI a obecné přístrojové příkazy tj. vysílané řetězce a následně vlastní programování pomocí vhodných funkcí driveru NI 488.2. SCPI ( Standard Commands for Programmable Instruments) Standard SCPI je souhrn příkazů a pravidel pro komunikaci mezi řídící jednotkou a přístrojem v automatizovaném měřicím systému, nezávislý na technickém řešení ani na technickém protokolu přenosu dat. Přehled příkazů SCPI je uveden vždy v dokumentaci k přístroji včetně ukázek programování. SCPI definuje: hierarchicky uspořádanou množinu SCPI příkazů pro ovládání měřicích přístrojů množinu obecných povinných příkazů commond commands - určených k identifikaci stavu a nastavení vnitřních registrů formáty dat Vývoj programování GPIB Téma 4 GPIB SW str. 1

Přístrojový model SCPI Př.: : MEAS : VOLT : DC? 10, 0.003 ( měření ss nap. na rozsahu 10 V, s rozlišením 0.003 V) nový příkaz vrátit měřenou hodnotu 10 rozsah 10V 0.003 rozlišení 0.003V Př.2.: : CONF : VOLT : DC 10, 0.003 : TRIG: SOUR EXT (konfigurace pro měření ss napětí a čekání na trigger a čtení : READ? Př.3: SAMP : COUN10; : TRIG : SOUR EXT (při každém externím triggeru přečte multimetr 10 vzorků) READ? oddělovací znaky : postup ve stromu ; v té samé větvi Téma 4 GPIB SW str. 2

Obecné přístrojové příkazy: (common commands) jsou přístrojové! (ATN = FALSE) zprávy vysílané řídicí jednotkou, určené k ovládání přístrojů a identifikaci stavu. syntaxe: * XXX, * XXX? dotaz (query) (příkaz vždy začíná hvězdičkou, má 3 znaky a pokud následuje otazník, přístroj je povinen vrátit odpověď! Pokračování na další straně Téma 4 GPIB SW str. 3

Tab. 1 Obecné přístrojové příkazy Příklady povinných obecných příkazů *RST (Reset Command) příkaz pro nulování přístroje (ukončení probíhajících operací a nastavení přístroje do klidového stavu), obsahy stavových registrů zůstanou nezměněny *CLS (Clear Status Command) příkaz pro nulování stavových registrů *IDN? (Identification Query) dotaz na specifikaci přístroje *STB? (Status Byte Query) dotaz na obsah Status Byte registru *SRE (Service Request Enable) příkaz pro nastavení Service Request Enable registru *SRE? (Service Request Enable Query) dotaz na obsah Service Request Enable registru *ESE (Standard Event Status Enable Command) příkaz pro nastavení Standard Event Status Enable registru *ESE? (Standard Event Status Enable Query) dotaz na obsah Standard Event Status Enable registru *ESR? (Standard Event Status Register Query) dotaz na obsah Standard Event Status registru *OPC (Operation Complete) aktivace hlášení o ukončení operace *OPC? (Operation Complete Query) dotaz na ukončení operace *WAI (Wait to Continue) čekání na dokončení předchozích operací *TST (Self Test Query) příkaz pro spuštění vnitřního testu přístroje Téma 4 GPIB SW str. 4

NI 488.2M software Je software firmy National Instruments, představující průmyslový standard NI 488.2M Driver a Utility: - NI 488.2M, 32-bitový driver (gpib_x.vxd) instalovaný do Windows System - gpib-32.dll dynamicky linkovatelná knihovna - Win32 Interaktivní řízení (Interactive Control), interaktivní komunikace s GPIB zařízeními s použitím NI 488.2 funkcí - GPIB Spy monitorovací program - GPIB konfigurační utility - diagnostika - od NI 488.2 verze 1.6 je instalován i Measurement & Automation Explorer Podpora DOS: Virtuální ovladač zařízení (VxD) gpibdosk.vxd, slouží jako ovladač zařízení DOS Podpora Microsoft C/C++ - dokumentace readme.txt - vkládaný (header) soubor decl-32.h obsahuje prototypy NI 488 funkcí a NI 488.2 rutýn a předdefinované konstanty - 32-bitový interfaceový soubor pro C gpib-32.obj, linkuje aplikace pro přístup k 32 bitové dynamické knihovně DLL. Vývoj vlastní aplikace - výběr metody programování o výběr metody přístupu k NI-488.2 Driveru gpib-32.dll interface jazyka o Microsoft Visual C/C++ decl32.h, gpib-32.obj o Borland C/C++ 4.0 decl32.h, borland_gpib-32.obj o Lab Windows/CVI gpib.h o DOS Borland C/C++ 3.1 decl.h, mcib.obj (nutno povolit DOS v konfiguraci) o přímo - prostudování SCPI pro programové zařízení (přístroj) Driver NI-488.2 se skládá: - NI-488 funkce board level device level - NI-488.2 rutýny (routines) Téma 4 GPIB SW str. 5

Použití NI-488 funkcí V knihovně pro jazyk C jsou obsaženy tři typy funkcí: Board level: - řešení nestandardních situací - komunikace s nekompatibilními zařízeními k IEEE 488 - změna LOW konfigurace desky GPIB - možnost použití uvnitř NI 488.2 rutýn Device level: - high level - vyhovuje většině aplikací s jedním zařízením i více zařízeními NI-488.2 rutýny: - obsahuje-li systém více zařízení (nebo více desek) - umožňuje vyhledání posluchačů na sběrnici GPIB - umožňuje nalezení zařízení vyžadujícího obsluhu - určí stav SRQ linky - adresuje více zařízení pro poslech Téma 4 GPIB SW str. 6

Funkce na úrovni zařízení NI-488 (Device Level Functions) Ve většině aplikací se užívají nejčastěji funkce ibdev, ibrd, ibwrt, ibwait. Funkce Device Level budou probrány na cvičení. Téma 4 GPIB SW str. 7

Ukázka jednoduché aplikace programové struktury s použitím NI 488 funkcí Jednoduchý příklad použití Device level funkcí a SCPI pro čtení 1 hodnoty z digitálního voltmetru. Téma 4 GPIB SW str. 8

Kontrola stavu zařízení nebo desky GPIB Každá NI-488 funkce nebo rutýna měření má po svém volání hodnotu stavových proměnných ibsta, iberr, ibcnt(l) definováno v header file ibsta stavové slovo, 16-bit, bit = 1 podmínka splněna, viz. dále tabulka iberr chybová proměnná (pouze, je-li v ibsta nastaven ERR bit), viz. tabulka ibcnt(l) 16, 32 bit integer počet čtených bajtů Význam jednotlivých bitů proměnných ibsta a iberr Vybrané postupy kontroly: - GPIB error if (ibsta & ERR) printf ( Nastala chyba GPIB ); - podrobněji iberr if (ibsta & ERR) printf ( Nastala chyba GPIB: %d, iberr); - vlastní funkce int report_error (int fd, char *errmes); { printf ( Chyba GPIB: %d, %s \n, iberr, errmes); return (0); } volání funkce : if (ibsta & ERR) report_error (ud, Co se stalo ); - ibcntl možnost zakončení řetězce 0 char rdbuf [512]; ibrd (ud, rdbuf, 20); Téma 4 GPIB SW str. 9

if (!(ibsta & ERR)) { rdbuf [ibcntl] = \0 ; printf ( Čteno: %s \n, rdbuf); } /* znak. konstanta, znak NULL s hodnotou 0 */ Pomocné utility debugging Slouží k rychlému oživení GPIB zařízení a k vyhledání možných chyb. Jsou součástí driveru NI 488.2 1. Win 32 Interactive Control IBIC (interaktivní řízení přístroje přímo z klávesnice a programu IBIC). Zařízení je identifikováno pomocí funkce obsev, program vypisuje, co je třeba zadat za parametry a vrací hodnotu ud unit deskriptor, s kterou je možno dále komunikovat) : ibdev board index: primary address: secondary address: timeout: EOI on last byte: end-of-string: po provedení vrací hodnotu ibsta [0100] (cmpl) HEX mnemonics a count: ud0: ud0: ibwrt *RST; *CLS ibwrt CONF:VOLT:AC 1, 0.001 ibwrt MEAS? ibrd 20 (byte count) ibwrt MEAS:RES? ibrd 2. GPIB Spy výkonný prostředek pro hledání chyb, oživování. Monitoruje, zapisuje a zobrazuje NI 488, NI 488.2 funkční volání zobrazuje: ibsta iberr ibcntl time hodnoty bufferu Téma 4 GPIB SW str. 10

Sériové hlášení (Serial Poll) Umožňuje. zjištění stavu přístroje, příčiny požadavku interruptu aj. při SRQ - umožnění hlášení ibconfig (by default) - nastavení masky v Standard Even Registru ibwrt (ud, *ESE 1, 6); - umožnění OPC bitu - nastavení masky v Service Request Enable Registru ibwrt (ud, *SRE 32, 7); - umožnění STANDARD EVEN BIT - nastavení bitu OPC v Standard Event Status Registru vyslání příkazu: - čekání na RQS ibwrt (ud, cmd, 4); - je-li operace ukončena, je nastaven OPC bit v ESR ibwait (ud, RQS TIMO); if (ibsta & RQS) printf ( Zařízení uplatnilo SRQ ); ibrsp (ud, &spr); if (spr!= 0x4) printf ( Problém ); Pozn.: Programovací pomůcka využívající Fmt funkce v LW/CVI char buffer [100]; /* počet bajtů */ char cmd [] = *ESR? Fmt (buffer, %s<, cmd); ibwrt (osc, buffer, NumFmtdBytes()); nebo přímo: Fmt (buffer, %s< *ESR? ); - - - - - - - - - - - - - - Fmt (buffer, %s< *ESE 0x01; SRE 32; SOUR: FUNC %s; *OPC;, waves[type]); Automatické sériové hlášení umožnění: 1. konfigurační panel 2. ibconfig, option ibc AUTOPOLL - je-li zapnuta linka SRQ, driver provede automaticky sériové hlášení pro otevřená zařízení - bit RQS stavového slova (ibsta) je nastaven, bit 6 stavového registru je uložen ve frontě patřící zařízení, které ho poslalo - hlášení (polling) pokračuje, dokud SRQ není uvolněna (nebo nenastane chyba) - pro vyprázdnění fronty použijte ibrsp funkci - je-li RQS bit stavového slova ibsta stále zapnut při volání ibrsp, fronta odezev (response byte) není prázdná a obsahuje výjimečně jeden byte. Je nutno pokračovat ve volání ibrsp až je bit RQS vynulován. Téma 4 GPIB SW str. 11

Zařízení zapne bit 6 RQS když požaduje obsluhu! Další 2 (3) bity specifikují stav: MAV (bit 4) je zapnut, je-li zařízení připraveno poslat dříve dotazovaná (querid) data. ESB (bit 5) je zapnut, nastane-li jedna nebo více umožněných událostí (events). Požadavek servisu v LW/CVI GPIB Mimo klasických prostředků zjištění událostí GPIB (ibwait()) Zejména požadavek obsluhy (ibwait(rqs TIMO), Test SRQ, Wait SRQ) má LW/CVI dvě funkce, které oznámí, že nastal výskyt SRQ (požadavek obsluhy). Jsou to: ibinstallcallback - synchronní, při zpracování událostí (RunUserInterface je aktivní) ibnotify - asynchronní (volání asynchronně, v jakékoli době bez ohledu na zbytek programu) prototypy: int ibinstallcallback (int Board/Device, int Event_Mask, GPIB CallbackPtr Callback_Function, void *Callback_Data); - pracuje bez omezení, delší doba vyvolání. Pozn.: int Event_Mask board level viz ibsta dev level RQS, END, CMPL, TIMO int ibnotify (int Board/Device, int Event_Mask, GPIB Notify Callback_t Callback_Function, void *Callback_Data); - má omezení Téma 4 GPIB SW str. 12

Prototyp volání funkce: void WaveCallback (int Board/Device, int Event_Mask, void *Callback_Data); Př.: int main (int argc, char *argv[]) {... ib InstallCallback (ud, 0x4800, WaveCallback, 0); (TIMO RQS) žádná vrácená data... } ------------------------------------------------------- void CVI CALLBACK WaveCallback (...) { ibrsp (ud, &spr);... další činnost } Paralelní hlášení (parallel poll) 1. Konfigurace zařízení přístroje pomocí ibppc 0 1 1 E S D2 D1 D0 E = 1 disable PP E = 0 enable PP S = 1 jestliže zařízení má uplatnit přiřaz. linku je-li ist = 1 S = 0 jestliže zařízení má uplatnit přiřaz. linku je-li ist = 0 D2 D0 číslo přiřaz linky, linka = <číslo> + 1 #include decl-32.h /* pro LV/CVI #include gpib.h */ char ppr; ud = ibdev (0, 10, 0, 10, 1, 0); ibppc (ud, 0x6c); 2. volání paralelního hlášení */ ibrpp (ud, &ppr); 0 1 1 0 1 1 0 0 linka 5 = 4 + 1 ist = 1 if (ppr & 0x10) printf ( ist = 1\n ); 3. znemožnění paralelního hlášení ibppc (ud, 0x70); uplatní 5. linku! Téma 4 GPIB SW str. 13

Další studijní materiály: 1. Haasz a kol.: Číslicové měřicí systémy, ČVUT 2000 2. GPIB tutorial: NI Instrumentation Catalog, 1996-2000 Téma 4 GPIB SW str. 14