Elektronika.lt

Elektronika.lt - elektronikos, informacinių ir
ryšių technologijų portalas

Adresas: http://www.elektronika.lt
El. paštas: info@elektronika.lt
 Atspausdinta iš: http://www.elektronika.lt/straipsniai/rysiai/2076/sasajos-valdymo-algoritmo-tyrimas-ir-programavimas/spausdinti/

Sąsajos valdymo algoritmo tyrimas ir programavimas

Publikuota: 2005-10-12 07:25
Tematika: Ryšio technologijos
Skirta: Mėgėjams
Autorius: el. paštas J. Sveikata, A. Noreika
Aut. teisės: el. paštas ©Elektronika ir elektrotechnika
Inf. šaltinis: el. paštas Elektronika ir elektrotechnika

Nagrinėjamas GPIB sąsajos valdymo algoritmas ir jo programinės realizacijos būdai „LabView“ ir „LabWindows“ terpėse. Palyginta algoritmo programavimo eiga bei pagrindiniai programavimo principai šiose terpėse. Sudarytas algoritmas, pagal kurį vykdomos komunikacijos su matavimo prietaisais: optiniu multimetru ir optiniu spektro analizatoriumi.


Įvadas

Technologijos tobulėjimas skatina tirti vis sudėtingesnius signalus, todėl reikia vis sudėtingesnės elektroninės ir programinės įrangos kombinacijos [1-3]. Siekiant sudaryti automatizuotą sistemą, kuri būtų valdoma kompiuterio programine įranga, svarbu parinkti tinkamą algoritmą. Sistemos valdymas turėtų apimti jos veikos algoritmą, atliekamų funkcijų skaičių, indikacijos pobūdį, sąsają su vartotoju.

Tyrimo metodika

Tiriamosios sistemos struktūrinė schema parodyta 1 paveiksle. GPIB sąsaja užtikrinamas ryšys tarp asmeninio kompiuterio ir pagrindinių matavimo prietaisų – optinio multimetro (OM) ir optinio spektro analizatoriaus (OSA).

Tokios sistemos, vykdančios vieną iš funkcijų - spektro analizę, tyrimo tikslas – sukurti virtualų prietaisą, kuris atliktų realaus optinio spektro analizatoriaus valdymo funkciją.

Programa GPIB sąsajai

GPIB programos yra sudaromos iš trijų pagrindinių dalių: inicijavimo, pagrindinės dalies ir pabaigos. GPIB komandos programoje yra sluoksninės sandaros. Vidinis sluoksnis yra specifinė prietaiso komanda, kurią vartotojas nori pasiųsti į prietaisą. Pavyzdžiui, siekiant tam tikro prietaiso grįžties į pradinę būseną, reikėtų siųsti „RST“. Antras pavyzdys būtų komanda SYST:COMM:SERIAL:BAUD:9600, reiškianti duomenų perdavimo spartos nustatymą nuosekliajai sąsajai.

Kitas sluoksnis yra komanda, kurios reikalauja vartotojo GPIB valdiklio plokštė tam, kad būtų persiųsti duomenys arba tam, kad būtų įvykdyta tam tikra operacija GPIB magistralėje. Pavyzdžiai gali būti tokie: ieOutput(DevAddr%, "RST"), ieEnter(DevAddr%, Rdg$) arba ieTrigger(DevAddr%).

Trečiasis sluoksnis yra kiti programavimo formalumai, priklausantys nuo pasirinktos programavimo kalbos arba nuo programavimo stiliaus.

Tyrimas atliktas naudojant dvi programavimo terpes – „LabVIEW“ ir „LabWindows“. Pasirinkimą lėmė tokie tyrimo aspektai:

  • „LabVIEW“ terpės pagrindas – grafinis programavimas. Tai supaprastina programavimą, kadangi nereikia specialių programavimo žinių.
  • „LabWindows“ terpė pasirinkta tam, kad būtų galima pavaizduoti tekstinio ir grafinio programavimo analogiją.
  • „LabWindows“ terpėje vaizdžiau parodoma GPIB programavimo sintaksė.
  • „LabVIEW“ ir „LabWindows“ programinių terpių įrangos bendrumas.
  • Kuriant virtualų prietaisą, palyginamos skirtingos terpės.

„LabVIEW“ terpėje komandų siuntimo ir duomenų keitimosi sistema panaudojant GPIB sąsają gali būti tokia, kaip pavaizduota 2–4 paveiksluose. Tokia programos struktūra yra universali, ją galima naudoti daugumai GPIB funkcijų atlikti. Kiekvienu atveju priklausomai nuo norimos atlikti operacijos keičiamas laukelio „Siunčiama eilutė“ turinys (įrašoma atitinkama GPIB komanda arba komandų seka). Šią struktūrą tenka koreguoti tik atskirais atvejais, kai to reikalauja prietaiso veikimo pobūdis (pauzės tarp atskirų atliekamų operacijų, informacijos perdavimo vėlinimas ir pan.).

Optinio spektro analizatoriui valdyti ir matuojamo signalo spektrui atvaizduoti kompiuterio ekrane reikalingų pagrindinių komandų ir papildomų funkcijų sąrašo fragmentas pateiktas 1 lentelėje. Prietaiso ar jo modulio veikos programas paprastai pateikia gamintojas [2].

Programuojant analogiškus komandų siuntimo į prietaisą bei duomenų gavimo iš prietaisų algoritmus antroje programavimo terpėje, t. y. „LabWindows“, reikia sudaryti tekstines programas. GPIB komandos siuntimo į prietaisą, duomenų gavimo iš prietaiso ir jų grafinio pateikimo procedūra atrodytų taip:

Šioje struktūroje panaudotos keturios funkcijos. Funkcija „ibwrt“ skirta konkrečiai tekstinei komandai (šiuo atveju siunčiama automatinio matavimo komanda „automeas“) siųsti į prietaisą. Pirmasis argumentas „device_osa“ nustato, kad komanda bus adresuojama optiniam spektro analizatoriui, kuriam priskirtas GPIB 23 adresas. Prietaisą atitinkantis kintamasis inicijuojamas tokia eilute:

Antrasis funkcijos „ibwrt“ argumentas „automeas“ reiškia į prietaisą siunčiamą komandą, o „strlen(„automeas“) nurodo, kiek simbolių bus siunčiama į prietaisą.

Funkcija „delay_function()“ skirta vėlinimui sudaryti. Vėlinimas sudaromas tokiu principu: pirmiausia į prietaisą siunčiama užklausa „done?“ ir, jei prietaisas yra baigęs vykdyti paskutinę užduotį, jis pateikia simbolį „1“. Priešingu atveju užklausos ciklas kartojamas tol, kol prietaisas baigia vykdyti užduotį. Funkciją „scan“ panaudojama kintamojo tipui pakeisti iš simbolinio į realujį skaičių:

Funkcija „trace_data()“ skirta duomenų nuskaitymo iš prietaiso sekai vykdyti. Duomenys nuskaitomi tokia tvarka: pirmiausia vykdomas vienkartinis spektro matavimas (komanda „sngls“ nustato vienkartinio matavimo veiką, „ts“ atlieka matavimą); paskui siunčiama užklausa spektro duomenims gauti (komanda „tra?“); gavęs užklausą prietaisas pateikia išmatuotų spektro taškų seką. Spektro duomenys nuskaitomi panaudojant komandą „ibrd (device_osa, read_buffer,12048);“; čia „read_buffer“ yra atminties masyvas, kuriame bus saugomi duomenys, o skaičius parodo to masyvo dydį baitais:

Funkcija „plot_graph()“ skirta spektrui grafiškai atvaizduoti kompiuterio ekrane.

Eksperimentuojant įsitikinama, kaip gali būti programuojami GPIB prietaisai skirtingose terpėse. „LabVIEW“ terpėje sukurto virtualaus prietaiso bendras vaizdas pateiktas 5 paveiksle.

Analogiškas prietaisas, sukurtas panaudojant „LabWindows“ terpę, parodytas 6 paveiksle. Sukurtą virtualų prietaisą galima papildyti naujomis funkcijomis arba keisti jo išvaizdą pagal vartotojo poreikius. Programos branduolys visada išlieka tas pats, o keičiama tik tai, kas yra susiję su naujų funkcijų įvedimu.

Išvados

  1. Programuojant sąsają, būtina techninė įranga, suderinama su GPIB standartu. Sąsajai programuoti gali būti naudojamos įvairios programavimo terpės, kurių pasirinkimą lemia subjektyvi vartotojo nuomonė, nes programų vykdymo greičiai, naudojant šiuolaikinę skaičiavimo techniką, tampa nereikšmingi.
  2. Parengtos programos sukuria svarbiausias sąsajai programuoti reikalingas funkcijas. Tai patvirtina darbe pateiktos „LabVIEW“ ir „LabWindows“ analogijos.
  3. Sukurta programinė įranga sąsajai valdyti užtikrino tokias galimybes: a)lengvai valdyti ir matuoti, b) duomenis vizualiai atvaizduoti norima forma, c) duomenis saugoti atmintyje arba iškart juos apdoroti.

Padėka

Autoriai dėkoja Varšuvos telekomunikacijų instituto optinių matavimų laboratorijos mokslininkams P. Lesiak, K. Hermanowicz, T. Kossek, B. Dambrowski už techninę paramą ir konsultacijas atliekant eksperimentą.

Literatūra

  1. HP Test&Measurement Catalog. – 1999.–P.625.
  2. Ritter D.J., Johnson G.W. LabVIEW GUI: Essential Techniques.–N.Y.: McGraw-Hill Professional, 2001.–400p. ISBN 0 07 1364935.
  3. Shahid F.K. AdvancedmTopics in LabWindows/CVI.: Prentice Hall PTR, 2001. ISBN 0130892297.

‡ 1999–2024 © Elektronika.lt LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!