Programová podpora měřicích systémů.

Podobné dokumenty
Inovované sylaby předmětů Číslicové měřicí systémy 1 4


TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.

Počítač jako elektronické, Číslicové zařízení

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

1. GPIB komunikace s přístroji M1T330, M1T380 a BM595


NTIS-VP1/1: Laboratorní napájecí zdroj programovatelný

MĚŘICÍ SYSTÉMY A2B38EMB P14 1

Funkce, podmíněný příkaz if-else, příkaz cyklu for

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

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

Měřicí automatizované systémy

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

INFORMAČNÍ TECHNOLOGIE PRO ZPRACOVÁNÍ EEG I

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

SML 33 / SMM 33 / SMN 33

Informatika Datové formáty

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

Model ver SYSTEM EXCLUSIVE KOMUNIKACE CHD Elektroservis

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

karet Analogové výstupy (AO) (DIO) karty Zdroje informací

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

QTREE-DUMX4 Vícekanálový multiplexer pro připojení měřidel Mitutoyo na USB port PC Uživatelská příručka. Řízení jakosti podle norem ISO 9000

POPIS STANDARDU CEN TC278/WG4. Oblast: TTI. Zkrácený název: Zprávy přes CN 3. Norma číslo:

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

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

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

BASPELIN CPM. Popis komunikačního protokolu verze EQ22 CPM EQ22 KOMPR

Datové typy a struktury

SNÍMAČOVÝ EXPANDÉR TB8.1x2 RS232 - ASCII

Building Your Own Real Remote Experiment Controlled by a Mobile or Touch Enabled Device

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

AUTOMATIZACE Úvod do programování PLC

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

Nastavovací příručka pro snímače CCD

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Komunikační protokol pro Fotometr 2008

ACM-MODBUS, popis komunikace s převodníkem

QTREE-DUMX4 BT Převodník pro připojení měřidel Mitutoyo k PC pomocí Uživatelská příručka USB a BLUETOOTH. Ř ízení jakosti podle norem ISO 9000 QTREE

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Generátor libovolných průběhů Agilent Technologies A

PORTY ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

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

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

BASPELIN CPM. Popis komunikačního protokolu verze EQ3 CPM EQ3 KOMPR

Popis funkcí a parametrů programu. Reliance External communicator. Verze 1.5.0

Použití UART a radia na platformě micro:bit

Mikrofluidní systém pro měření vodivosti

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

SEMESTRÁLNÍ PROJEKT Y38PRO

Temp-485-Pt100. Teplotní čidlo (senzor Pt100 nebo Pt1000) komunikující po sběrnici RS-485 s jednoduchým komunikačním protokolem. Temp-485-Pt100 Box2

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Instrukce pro instalaci Kabel rozhraní USB

Programovací prostředek AmexCLV-V2.0

Univerzální software pro programátory ASIX. Uživatelská příručka

PC - Controller Centrální jednotka s rozhraním RS-232 TECHNICKÝ MANUÁL ACC-RS. Pro jednotky FUJITSU split a multisplit

Sběrnice GPIB (General Purpose Interface Bus)

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

10. KATEDRA ELEKTRICKÝCH MĚŘENÍ CÍL MĚŘENÍ: ZADÁNÍ: POUŽITÉ PŘÍSTROJE:

MĚŘICÍ PŘÍSTROJ PRO PC. 4 VSTUPY: 0 10 V ZESÍLENÍ : 1x, 2x, 4x, 8x VÝSTUP: LINKA RS232 RS232 DRAK 4 U1 U2 U3 U4

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Protokol Drak4. Dokumentace protokolu Drak4 měřicího přístroje Drak května 2010 w w w. p a p o u c h. c o m


Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

TECHNICKÁ UNIVERZITA V LIBERCI

Příklady popisu základních obvodů ve VHDL

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

Modulované signály. Protokol 2

ZOBRAZOVACÍ JEDNOTKA

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Algoritmizace a programování

PRT3 tiskový modulu manuál pro EVO ústředny

DOMINUS Millennium MU4-N

LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická

USB2RS232. Převodník pro připojení USB klávesnice a několika kontaktů přes RS232. Komunikace jednoduchým protokolem

LabView jako programovací jazyk II

Panel IPP ethernet XPORT návod na ovládání

Univerzita Pardubice

TMU. USB teploměr. teploměr s rozhraním USB. měření teplot od -55 C do +125 C. 26. května 2006 w w w. p a p o u c h. c o m

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

Stacionární 2D čtečka HT-860N Programovací příručka

Systém sběru dat z RS232 do MS Excel

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

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

POUŽITÍ MATLABU K ŘÍZENÍ PŘÍSTROJŮ V MEDICÍNĚ. Martinák Lukáš, Vladislav Matějka

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

Středoškolská technika SCI-Lab

Komunikační protokol MODBUS RTU v senzoru vlhkosti a teploty THT

External ROM 128KB For Sinclair ZX Spectrum

Komunikační protokol pro Fotometr 2008 (verze s rozhraním RS232)

Obslužný software. vizualizaci zařízení

Instrukce pro uživatele. AS-i DP Controler AC1005 / AC1006

Buffer 16kB pro sériovou linku RS232 s konverzí rychlosti, parity, počtu datových bitů a stopbitů

2005 Mikrovlny s.r.o. IP/GSM Restarter

CNC Technologie a obráběcí stroje


Měřicí automatizované systémy

Co je to počítač? Počítač je stroj pro zpracování informací Jaké jsou základní části počítače? Monitor, počítač (CASE), klávesnice, myš

Transkript:

Programová podpora měřicích systémů http://www.ni.com/products/

Programová podpora měřicích systémů http://www.ni.com/labview/

Programová podpora měřicích systémů http://www.ni.com/lwcvi/

Programová podpora měřicích systémů

Programová podpora měřicích systémů http://www.home.agilent.com/agilent/product.jspx?nid=- 536900532.734557.00&cc=US&lc=eng

Programová podpora měřicích systémů http://www.keithley.com

SCPI je sdružení pro vývoj řídicího jazyka užívaného mezi programovatelným přístrojem a počítačem. Jeho cílem je podporovat běžné programovatelné nástroje. http://www.scpiconsortium.org/ SCPI standard specifikuje strukturu instrukcí pro programovatelné přístroje řízené po sběrbici GPIB, RS-232C, USB, LAN, VXIbus atd. SCPI také zahrnuje standardní předepsané sady příkazů pro různé "třídy" přístrojů DMMs a osciloskopy atd.

SCPI sdružení je organizace jehož členové mají zájem sjednotit komunikaci mezi počítači a měřícími přístroji. SCPI standard je postaven na principu IEEE- 488.2, standardních kódů a formátů. SCPI příkaz je složen znaky ASCII, a proto může být aplikován v libovolném počítačovém jazyce, jako standardní C, nebo C++. To může také být využíváno v aplikačních prostředí jako LabWindows/CVI, LabVIEW, nebo HP VEE. SCPI je na hardwaru nezávislý. SCPI řetězce mohou být přeneseny libovolnými rozhraními, např. GPIB, sériové propojení do 15 m, VXIbus nebo LAN sítě.

Cílem a úkolem SCPI sdružení je zlepšit efektivitu testovacích nástrojů - softwaru, zvyšovat stabilitu měřících systémů a součinnost přístrojů a zařízení od různých výrobců. SCPI rozvíjí obecné příkazy na základě "anglický zkratek. SCPI sdružení doufá, že zlepší programování pro širokou škálu měřících přístrojů a pro softwarovou dokumentaci a udržovatelnost. SCPI sdružení se setkává nejméně jednou ročně, a kdykoliv členové cítí že je nezbytné uvažovat o nových příkazech. V posledních letech, bylo setkání dvakrát ročně. Valná hromada se scházi pravidelně v lednu každým rokem v San Diego, CA. Další schůzky se plánují podle potřeby, v jiné členské zemi.

Ukázka SCPI příkazu pro nastavení OSC. SCPI se řídí stromovou strukturu. Související příkazy jsou seskupené do větví na stromu. Každé klíčové slovo v příkazu se nazývá uzel. WFMPre První uzel je nazvaný kořenný uzel. YMUlt YMUlt? YUNit YUNit? 1.00 Volt Header Space Arguments Příkaz (Commands) Dotaz (Query) WFMPre:YMUlt 1.00V WFMPre:YMUlt? (Malá písmena jsou nepovinná.)

<Header> základní příkaz, jednotlivé fukce jsou odděleny dvojtečkou : <Mnemonic> jednotlivé funkce Headeru <Argument> fodnota velikosti, kvality, omezení nebo limitních mezí <Comma> čárka odělující jednotlivé hodnoty argumentu <Space> mezera mezi headerem a argumentem Příkaz (Commands) [:]<Header>[<Space><Argument>[<Comma><Argument>].] WFMPre:YUNit_Volt,YMUlt _1.00V Dotaz (Queries) [:]<Header>? [:]<Header>?[<Space><Argument>[<Comma><Argument>].] WFMPre:YUNit?

Typy argumentů <Numeric Arguments> <NR1> jednoduché celé číslo <NR2> reálné číslo bez exponentu <NR3> reálné číslo s exponentem <String Arguments> <Block Arguments> <Q-String> string of ASCII text / 7-bit ASCII character set všechny znaky mezi znakovou zprávu zasíláme this is an acceptable string znakové řetězce lze seskupovat here is a mark seskupení argumentů do jednoho bloku <Block> ::= {#<NZD><Dig>[<Dchar>] ALIas:DEFINE SETUp1, #231AUTOSet EXECute;:SELect:REF1 ON Block Header Number of Length Digits Specifies data Length

COMM = 1; OpenComConfig (COMM, "COM1", 9600, 0, 8, 1, 4096, 4096); SetComTime (COMM, 1.5); SetCTSMode (COMM, 1); Fmt (Zapis, "%s<verb OFF\r\n"); ComWrt (COMM, Zapis, (long)numfmtdbytes()); Fmt (Zapis, "%s<head ON\r\n"); ComWrt (COMM, Zapis, (long)numfmtdbytes()); Fmt (Zapis, "%s<loc NON\r\n"); ComWrt (COMM, Zapis, (long)numfmtdbytes()); Fmt (Zapis, "%s<id?\r\n"); ComWrt (COMM, Zapis, (long)numfmtdbytes()); ComRdTerm (COMM, Cteni, 100, 13); Scan (Cteni, "%s>%s[w50t-]", Typ_DSO); SetCtrlVal (Panel_OSCIL, OSCIL_TYP, Typ_DSO);

ComWrt (COMM, "SEL:CH1?\r\n", 10); ComRdTerm (COMM, Cteni, 25, 13); Scan (Cteni, "%s[i8]>%i", &Sel); if (Sel) { //----------------------------- ComWrt (COMM, "DAT:SOU CH1\r\n", 13); ComWrt (COMM, "DAT:WID 2\r\n", 11); ComWrt (COMM, "DAT:ENC RPB\r\n", 13); ComWrt (COMM, "WFMP:ENC BIN\r\n", 14); ComWrt (COMM, "WFMP:BYT_N 2\r\n", 14); ComWrt (COMM, "DAT:STAR 1\r\n", 12); ComWrt (COMM, "DAT:STOP 10000\r\n", 16); Record = 10000; ComWrt (COMM, "CH1:VOL?\r\n", 10); ComRdTerm (COMM, Cteni, 100, 13); SetCtrlVal (Panel_OSCIL, OSCIL_WA_1, Cteni); FillBytes (Cteni, 0, 100, 0); ComWrt (COMM, "HOR:MAI?\r\n", 10); ComRdTerm (COMM, Cteni, 100, 13); SetCtrlVal (Panel_OSCIL, OSCIL_TIM, Cteni); FillBytes (Cteni, 0, 100, 0); ComWrt (COMM, "TRIG:MAI:EDGE?\r\n", 16); ComRdTerm (COMM, Cteni, 100, 13); SetCtrlVal (Panel_OSCIL, OSCIL_TRIG, Cteni); FillBytes (Cteni, 0, 100, 0); //---------------------------------------------- Fmt (Str1, "%s<%i", 10000 * 2); Fmt (Str2, "%s<:curv #%i%i", NumFmtdBytes(), 10000 * 2); StartData = StringLength (Str2); DF = OpenFile ("DATA_W", VAL_READ_WRITE, VAL_OPEN_AS_IS, VAL_BINARY); ComWrt (COMM, "CURVE?\r\n", 8); ComToFile (COMM, DF, 0, -1); FlushOutQ (COMM); SetFilePtr (DF, StartData, 0); ScanFile (DF, "%*i[b2uo10]>%*i",record,record, Wave_1); CloseFile (DF);

Device = OpenDev ("DEV4", "DEV4"); ibtmo (Device, T3s); Fmt (Zapis, "%s<verb OFF"); Fmt (Zapis, "%s<head ON"); Fmt (Zapis, "%s<loc NON"); Fmt (Zapis, "%s<id?"); ibrd (Device, Cteni, 100); Scan (Cteni, "%s>%s[w50t-]", Typ_DSO); SetCtrlVal (Panel_OSCIL, OSCIL_TYP, Typ_DSO);

Fmt (Zapis, "%s<sel:ch1?"); ibrd (Device, Cteni, 100); Scan (Cteni, "%s[i8]>%i", &Sel); if (Sel) { //-------------------------------------------------------------- Fmt (Zapis, "%s<dat:sou CH1"); Fmt (Zapis, "%s<dat:wid 2"); Fmt (Zapis, "%s<dat:enc RPB"); Fmt (Zapis, "%s<wfmp:enc BIN"); Fmt (Zapis, "%s<wfmp:byt_n 2"); Fmt (Zapis, "%s<dat:star 1"); Fmt (Zapis, "%s<dat:stop 10000"); Record = 10000; Fmt (Zapis, "%s<ch1:vol?"); ibrd (Device, Cteni, 100); SetCtrlVal (Panel_OSCIL, OSCIL_WA_1, Cteni); Fmt (Zapis, "%s<hor:mai?"); ibrd (Device, Cteni, 100); SetCtrlVal (Panel_OSCIL, OSCIL_TIM, Cteni); FillBytes (Cteni, 0, 100, 0); Fmt (Zapis, "%s<trig:mai:edge?"); ibrd (Device, Cteni, 100); SetCtrlVal (Panel_OSCIL, OSCIL_TRIG, Cteni); FillBytes (Cteni, 0, 100, 0); //---------------------------------------------- Fmt (Str1, "%s<%i", 10000 * 2); Fmt (Str2, "%s<:curv #%i%i", NumFmtdBytes(), 10000 * 2); StartData = StringLength (Str2); Fmt (Zapis, "%s<curve?"); ibrdf (Device, "DATA_W"); DF = OpenFile ("DATA_W", VAL_READ_WRITE, VAL_OPEN_AS_IS, VAL_BINARY); SetFilePtr (DF, StartData, 0); ScanFile (DF, "%*i[b2uo10]>%*i",record,record, Wave_1); CloseFile (DF);

Device = OpenDev ("DEV1", "DEV1"); ibtmo (Device, T3s); ibwrt (Device, "VERB OFF", 8); ibwrt (Device, "HEAD ON", 7); ibwrt (Device, "LOC NON", 7); ibwrt (Device, "ID?", 3); ibrd (Device, Cteni, 100); puts (Cteni); FillBytes (Cteni, 0, 100, 0); ibwrt (Device, "DAT:SOU CH1", 11); ibwrt (Device, "DAT:WID 1", 9); ibwrt (Device, "DAT:ENC RPB", 11); ibwrt (Device, "WFMP:ENC BIN", 12); ibwrt (Device, "WFMP:BYT_N 1", 12); ibwrt (Device, "DAT:STAR 1", 10); ibwrt (Device, "DAT:STOP 10000", 14); ibwrt (Device, "WFMP:ENC BIN", 12); ibwrt (Device, "CH1:VOL?", 8); ibrd (Device, Cteni, 100); puts (Cteni); FillBytes (Cteni, 0, 100, 0); ibwrt (Device, "HOR:MAI?", 8); ibrd (Device, Cteni, 100); puts (Cteni); FillBytes (Cteni, 0, 100, 0); ibwrt (Device, "TRIG:MAI:EDGE?", 14); ibrd (Device, Cteni, 100); puts (Cteni); FillBytes (Cteni, 0, 100, 0); //---------------------------------------------- ibwrt (Device, "CURVE?", 6); ibrd (Device, Data, 12000); Scan (Data, "%*i[b1ui13]>%*i",record,record, Wave_1); WaveformGraphPopup ("", Wave_1, 10000, VAL_INTEGER, 1.0, 0.0, 0.0, 1.0);

Record = 10000; Device = OpenDev ("DEV1", "DEV1"); ibtmo (Device, T3s); ibwrt (Device, "VERB OFF", 8); ibwrt (Device, "HEAD ON", 7); ibwrt (Device, "LOC NON", 7); ibwrt (Device, "ID?", 3); ibrd (Device, Cteni, 100); puts (Cteni); FillBytes (Cteni, 0, 100, 0); ibwrt (Device, "DAT:SOU CH1", 11); ibwrt (Device, "DAT:WID 2", 9); ibwrt (Device, "DAT:ENC RPB", 11); ibwrt (Device, "WFMP:ENC BIN", 12); ibwrt (Device, "WFMP:BYT_N 2", 12); ibwrt (Device, "DAT:STAR 1", 10); ibwrt (Device, "DAT:STOP 10000", 14); ibwrt (Device, "WFMP:ENC BIN", 12); ibwrt (Device, "CH1:VOL?", 8); ibrd (Device, Cteni, 100); puts (Cteni); FillBytes (Cteni, 0, 100, 0); ibwrt (Device, "HOR:MAI?", 8); ibrd (Device, Cteni, 100); puts (Cteni); FillBytes (Cteni, 0, 100, 0); ibwrt (Device, "TRIG:MAI:EDGE?", 14); ibrd (Device, Cteni, 100); puts (Cteni); FillBytes (Cteni, 0, 100, 0); //---------------------------------------------- ibwrt (Device, "CURVE?", 6); ibrd (Device, Data, 25000); Scan (Data, "%*i[b2uo01i6]>%*i",record,record, Wave_1); WaveformGraphPopup ("", Wave_1, 10000, VAL_INTEGER, 1.0, 0.0, 0.0, 1.0);

http://www.ni.com/events/tutorials/campus.htm http://www.ni.com/swf/presentation/us/pxiconselec/default.htm http://www.ni.com/swf/presentation/us/labview/lvpctarget/ 26