Poprzednia

ⓘ Interchangeable Virtual Instrument – standard komunikacji pomiędzy urządzeniami pomiarowymi i laboratoryjnymi a oprogramowaniem na komputerach PC. Powstał jako ..



                                     

ⓘ Interchangeable Virtual Instrument

Interchangeable Virtual Instrument – standard komunikacji pomiędzy urządzeniami pomiarowymi i laboratoryjnymi a oprogramowaniem na komputerach PC. Powstał jako rozwinięcie istniejących standardów i jest obecnie najbardziej uniwersalnym i najbardziej rozbudowanym zestawem wywołań dla urządzeń laboratoryjnych. Jego cechami są:

  • oraz zupełne oderwanie wywołań API od budowy czy producenta danego urządzenia uniwersalność.
  • realizacja wywołań API przy zachowaniu składni i konwencji przyjętych przez wspierane języki programowania,

Standard jest utrzymywany przez powołaną do tego celu fundację IVI Foundation.

                                     

1. Historia

Od początku lat siedemdziesiątych zaczęły powstawać standardy komunikacji pomiędzy urządzeniami pomiarowymi a komputerami takie jak IEEE-488 - definiujące warstwę fizyczną połączenia. Wkrótce opracowano jednolity język dla wydawania komend do komunikacji z urządzeniami pomiarowymi - SCPI Standard Commands for Programmable Instruments. Jednak standard ten nie definiował szczegółów implementacji poszczególnych komend. Przykładowo komenda pobierające dane o przebiegu fali z oscyloskopu WAVE:DATA? dla różnych oscyloskopów mogła zwracać różną ilość danych, zakodowanych w różny sposób. Niektóre oscyloskopy wymagają kilkukrotnego podania tej komendy dla ściągnięcia do komputera całego przebiegu. Dlatego oprogramowanie używające komend SCPI musiało być modyfikowane dla obsłużenia każdego nowego typu urządzenia np. nowy model oscyloskopu.

W 1993 roku powstała organizacja VXIplug&play Systems Alliance która miała na celu doprowadzenie do sytuacji całkowitej niezależności oprogramowania laboratoryjnego od konkretnej implementacji sprzętowej urządzeń. Podobnie jak system Plug and Play dla komputerów osobistych. W trakcie tego procesu zaczęły powstawać, sterowniki VXIplug&play.

Gdy organizacja VSIplug&play została wchłonięta w 2002 roku przez IVI Foundation powstała nowa generacja API dla urządzeń laboratoryjnych pod wspólną nazwą Interchangeable Virtual Instrumentation potocznie znanymi pod skrótową nazwą "IVI Instrument Drivers". Pomógł w tym fakt, że organizacja ta skupiała już wtedy nadzór nad innymi kluczowymi dla tego rozwiązania standardami np. VISA, SCPI.

                                     

2. Biblioteki API "IVI Instrument Drivers"

Aby zapewnić realizację wywołań API w sposób zgodny z architekturą danego języka programowania powstały trzy główne implementacje równolegle rozwijane przez IVI Foundation i realizujące prawie identyczne funkcje:

  • Sterowniki IVI-C są oparte na bibliotekach z których funkcje można wywoływać w sposób standardowy dla języków proceduralnych np. język programowania C. W przypadku systemu windows mają one postać bibliotek DLL.
  • IVI-COM driver architecture jest zestawem bibliotek pozwalających na wywołania zgodne ze standardem Microsoft Component Object Model COM. Zapewnia to obsługę z poziomu języków skryptowych - np. Visual Basic, arkuszy kalkulacyjnych i innych programów wspierających model COM.
  • Klasy IVI.NET zostały dodane w 2010 roku i zapewniają wsparcie dla języków obiektowych. Klasy IVI.NET są oparte na platformie.NET firmy Microsoft.

Aby zapewnić zupełną niezależność od szczegółów implementacji danego typu urządzenia pomiarowego standard definiuje wywołania i zwracane wyniki dla wszystkich głównych funkcji urządzeń pomiarowych. Na przykład każde urządzenie będące w stanie mierzyć napięcie musi w identyczny sposób obsłużyć funkcję MeasureDCVoltage. Klasy urządzeń dla których standard definiuje dokładne API:

  • Generatory sygnałów RF - IviRFSigGen
  • Mierniki mocy - IviPwrMeter
  • Analizatory widma - IviSpecAn
  • Generatory przebiegów i funkcji - IviFgen
  • Zasilacze prądu stałego i zmiennego - IviDCPwr, IviACPwr
  • Liczniki / zegary - IviCounter
  • Przetworniki - IviUpconverter, IviDownconverter, IviDigitizer
  • Przełączniki - IviSwtch
  • Oscyloskopy - IviScope
  • Multimetry cyfrowe DMM - IviDmm

Ważną cechą sterowników/bibliotek IVI jest wbudowany tryb symulacji. Każdą bibliotekę funkcji IVI można podłączyć do aplikacji w trybie symulacji - nawet bez podłączenia do wspieranego przez nią urządzenia. Dzięki temu producent aplikacji może napisać i przetestować aplikację nie mając fizycznego dostępu do urządzeń z którymi docelowo ma współpracować.

                                     

3. Relacja do innych standardów

Standard IVI definiuje standardowe wywołania API które dla dowolnego urządzenia ma zapewnić identyczną w skutkach reakcję np. pomiar napięcia i zwrócenie wyniku do aplikacji. Nie definiuje on sposobu komunikacji z urządzeniem.

Komunikacja z urządzeniem jest najczęściej realizowana przy pomocy języka SCPI Standard Commands for Programmable Instruments. Nawiązywanie połączenia z urządzeniem, tworzenie sesji, odnajdowanie urządzeń podłączonych do komputera itp. realizowane są najczęściej poprzez standard VISA Virtual Instrument Software Architecture

Warstwę fizyczną fizyczny sposób przekazania komunikatu do urządzenia zapewniają standardy USBTMC USB Test and Measurement Device w ramach standardu USB HiSLIP w ramach TCP/IP, IEEE-488 GPIB, RS-232 i inne.

                                     

4. Przykładowy program używający biblioteki IVI

W poniższym przykładzie fragmentu kodu w języku C# programista odwołuje się do cyfrowego multimetru DMM, otwiera go w trybie symulacji bez prawdziwego podłączenia do urządzenia, dokonuje pomiaru napięcia i wypisuje wynik na konsolę. Przy czym nie ma znaczenia jakiego producenta i jaki jest typ multimetru.

iviDmm dmm = new iviDmm; dmm.Initialize; dmm.DCVoltage.Configure1.5, 0.001; dmm.Trigger.Delay = 0.01; double reading; reading = dmm.Measurement.Read1000; Console.WriteLine"The measurement is {0}",reading; Console.ReadLine; dmm.Close;
                                     

5. Inne strony związane z tematem

  • SCPI Consortium
  • LXI Consortium
  • Introduction to Attribute Based Instrument Drivers
  • VXIplug&play Systems Alliance
  • IVI Foundation
  • Development Hints and Best Practices for Using Instrument Drivers

Wielojęzycznym słowniku

Tłumaczenie
Free and no ads
no need to download or install

Pino - logical board game which is based on tactics and strategy. In general this is a remix of chess, checkers and corners. The game develops imagination, concentration, teaches how to solve tasks, plan their own actions and of course to think logically. It does not matter how much pieces you have, the main thing is how they are placement!

online intellectual game →