Top Banner
1 KLAIPĖDOS UNIVERSITETAS JŪRŲ TECHNIKOS FAKULTETAS INFORMATIKOS INŢINERIJOS KATEDRA „Skaitmeninis grandinių projektavimas (National Instruments įrankiais)“ (KODAS - T120B043) DALYKAS Metodinė priemonė (paskaitų konspektas) skirta informatikos inţinerijos bakalauro studijoms Apimtis: 6 autoriniai lankai Kursas patalpintas virtualioje mokymosi aplinkoje (vma) moodle: http://vma.ku.lt/moodle Autorius (-ai) prof. dr. Arūnas Andziulis asist. Ţydrūnas Lukošius asist. dokt. Mindaugas Kurmis Recenzentai Doc. dr. Albinas Stankus, Doc. dr. Violeta Bulbenkienė. KLAIPĖDA, 2012
168

z.lukosiaus Metodine Spg Medziaga Nauja

Apr 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: z.lukosiaus Metodine Spg Medziaga Nauja

1

KLAIPĖDOS UNIVERSITETAS

JŪRŲ TECHNIKOS FAKULTETAS

INFORMATIKOS INŢINERIJOS KATEDRA

„Skaitmeninis grandinių projektavimas (National Instruments įrankiais)“

(KODAS - T120B043) DALYKAS

Metodinė priemonė (paskaitų konspektas) skirta informatikos inţinerijos

bakalauro studijoms

Apimtis: 6 autoriniai lankai

Kursas patalpintas virtualioje mokymosi aplinkoje (vma) moodle:

http://vma.ku.lt/moodle

Autorius (-ai) prof. dr. Arūnas Andziulis

asist. Ţydrūnas Lukošius

asist. dokt. Mindaugas Kurmis

Recenzentai Doc. dr. Albinas Stankus,

Doc. dr. Violeta Bulbenkienė.

KLAIPĖDA, 2012

Page 2: z.lukosiaus Metodine Spg Medziaga Nauja

2

Turinys

1. ĮVADAS Į LabVIEW ...................................................................... 14

1.1. Duomenų srautas ir grafinė programavimo kalba ....................... 15

1.2. Kaip veikia LabVIEW? ............................................................. 15

2. PALETĖS .................................................................................... 17

2.1. Įrankių paletė ....................................................................... 17

2.2. Valdymo ir funkcijų paletės ..................................................... 19

2.2.1. Valdymo paletė ............................................................... 19

2.2.2. Funkcijų paletė ................................................................ 21

3. LabVIEW CIKLAI ......................................................................... 23

3.1. Ţinomo kartojimų skaičiaus ciklas (For Loop) ............................ 24

3.2. Neţinomo kartojimų skaičiaus ciklas (While Loop) ..................... 25

3.3. LabVIEW sinchronizavimo funkcijos ......................................... 26

3.4. Occurence ............................................................................ 27

3.5. Pranešiklis (notifier) ............................................................... 30

3.6. Eilės (Queue) ........................................................................ 33

3.7. Randevu (Rendezvous) .......................................................... 37

3.8. Semaphoras (Semaphore) ...................................................... 39

3.9. First Call? funkcija ................................................................. 41

3.10. Laiko ciklas (timed loop) ...................................................... 41

4. VARTOTOJO SĄSAJOS KŪRIMAS ................................................... 50

4.1 Blokinės diagramos kūrimas ................................................... 51

4.2. Virtualiųjų prietaisų sujungimas ir vykdymas ............................ 52

Page 3: z.lukosiaus Metodine Spg Medziaga Nauja

3

4.3. Virtualiųjų prietaisų sinchronizavimas....................................... 54

4.4. Duomenų analizė ir įvestis/išvestis .......................................... 55

PRATIMAI ...................................................................................... 57

Pratimas Nr.1 ................................................................................. 57

Pratimas Nr.2 ................................................................................. 61

Pratimas Nr.3 ................................................................................. 66

5. LOGINĖS ALGEBROS ELEMENTAI .................................................. 73

6. LOGINĖS ALGEBROS ELEMENTAI LabVIEW APLINKOJE .................... 78

6.1. Loginiai veiksmai su pora įvesčių ............................................. 78

6.2. Loginiai veiksmai su masyvais ................................................. 85

6.3. Kiti loginiai veiksmai .............................................................. 89

Pratimas Nr.4 ................................................................................. 91

7. KOMBINACINĖS LOGINĖS SCHEMOS ............................................. 93

7.1. Kombinacinių loginių schemų projektavimo etapai ..................... 93

7.2. Dvejetainiai sumatoriai ........................................................... 93

7.3. Dvejetainiai atėmikliai ............................................................ 98

7.4. Dvejetainiai komparatoriai .................................................... 101

7.5. Kodo keitikliai ..................................................................... 104

7.6. Šifratorius .......................................................................... 107

7.7. Dešifratoriai ........................................................................ 109

7.9. Multiplekseriai ..................................................................... 112

8. LOGINIŲ SIGNALŲ GENERATORIAI ............................................ 113

8.1. Multivibratoriai .................................................................... 114

8.2. Autovirpesių multivibratoriai ................................................. 114

Page 4: z.lukosiaus Metodine Spg Medziaga Nauja

4

8.3. Laukiantieji mutivibratoriai ................................................... 117

8.4. Paprastieji ţiediniai skaitikliai ................................................ 117

8.5. Susuktieji ţiediniai skaitikliai ................................................. 120

Pratimas Nr.5 ............................................................................... 120

9. Būlio algebra ............................................................................ 122

9.1. Būlio algebra matematikoje .................................................. 122

9.2. Loginiai kintamieji ............................................................... 123

9.3. Literatūroje naudojami ţymėjimai .......................................... 123

9.4. Loginės operacijos ............................................................... 123

9.5. Pagrindinės Būlio algebros aksiomos ...................................... 124

9.6. Būlio algebros teoremos ....................................................... 125

10. TRIGERIAI .............................................................................. 125

10.1. RS trigeris ........................................................................ 126

10.2. JK trigeris ......................................................................... 126

10.3. D trigeris .......................................................................... 127

10.4. T trigeris .......................................................................... 127

10.5. Skaitikliai .......................................................................... 128

10.6. Šmito trigeris .................................................................... 131

10.6.1. Šmito trigeris su operaciniu stiprintuvu ............................ 132

10.6.2. Invertuojantis Šmito trigeris su operaciniu stiprintuvu ....... 133

11. KOMBINACINĖS IR TRIGERINĖS LOGINĖS SCHEMOS ................... 134

11.1. Kombinacinių loginių schemų struktūrinė schema .................. 134

11.2. Dviejų stabilių būvių atminties ląstelė ................................... 136

11.3. Bazinis SR trigeris .............................................................. 139

Page 5: z.lukosiaus Metodine Spg Medziaga Nauja

5

11.4. Bazinis SR trigeris ........................................................... 142

11.5. Charakteringoji lygtis ......................................................... 143

11.6. Būvių reikšmių lentelė ........................................................ 144

11.7. Būvių kaitos diagrama ........................................................ 145

11.9. Karno diagrama ................................................................. 146

12. SINCHRONINIAI TRIGERIAI ...................................................... 147

12.1. Sinchroniniai SR trigeriai .................................................... 148

12.2. Sinchroniniai D trigeriai ...................................................... 148

12.3. Sinchroniniai JK trigeriai ..................................................... 149

12.5. Sinchroniniai T trigeriai ....................................................... 150

Pratimas Nr.6. .............................................................................. 151

13. SIGNALŲ DUOMENŲ GENERAVIMAS IR JŲ ANALIZĖ LABVIEW TERPĖJE

............................................................................................................ 152

13.1. NI ELVIS sistema ............................................................... 152

13.2. Standartinis relalių signalų įvedimas ir generavimas naudojant

LabVIEW virtualius modulius .................................................................... 153

14. TINKAMO ANALITINIO METODO PASIRINKIMAS .......................... 158

14.1 „Inline― ir „Offline― analizė ................................................... 158

14.2. Programuojama ir interaktyvioji analizės .............................. 161

14.3. Analizių kategorijos ............................................................ 164

Literatūros sąrašas ........................................................................ 167

Paveikslėlių sąrašas

1 pav. LabVIEW vartotojo sąsajos ir grafinio kodo langai .................... 16

Page 6: z.lukosiaus Metodine Spg Medziaga Nauja

6

2 pav. Įrankių paletės grafinis vaizdas ............................................. 18

3 pav. Valdymo paletės grafinis vaizdas ........................................... 19

4 pav. Funkcijų paletės grafinis vaizdas ........................................... 21

5 pav. „Struktūrų― subpaletės ciklai ................................................. 24

6 pav. ........................................................................................... 24

7 pav. For ciklo pavyzdys ............................................................... 24

8 pav. While ciklo komandos prie terminalo prijungus klaidos klasterio ir

loginę vertes 25

9 pav. While ciklo pavyzdys ............................................................ 26

10 pav. Vietos kur funkcijų paletėje yra Sinchronizacijos subpaletės .... 27

11 pav. Sinchronizacijos subpaletė .................................................. 27

12 pav. .......................................................................................... 27

13 pav. Occurrence subpaletė ......................................................... 28

14 pav. Occurrence pavyzdys ......................................................... 29

15 pav. Pranešiklio subpaletė .......................................................... 30

16 pav. Pranešiklio pavyzdys .......................................................... 32

17 pav. Queue subpaletė ................................................................ 33

18 pav. Eilių panaudojimo pavyzdys ................................................ 35

19 pav. Eilių panaudojimo pavyzdţio programos priekinio skydelio

grafikai 36

20 pav. Eilių ir pranešiklių vienoje programoje panaudojimas .............. 36

21 pav. Randevu subpaletė............................................................. 37

22 pav. Randevu suprogramuotos sitemos pavyzdys.......................... 38

23 pav. Semaforo subpaletė ........................................................... 39

24 pav. Semaforo suprogramuotos sitemos pavyzdys ........................ 41

25 pav. Laiko struktūrų subpaletė ................................................... 41

26 pav. Laiko ciklas su visomis įvestimis ir išvestimis: ....................... 42

27 pav. Configure Timed Loop langas............................................... 43

28 pav. Laiko ciklų pavyzdys ........................................................... 45

Page 7: z.lukosiaus Metodine Spg Medziaga Nauja

7

29 pav. Laiko ciklai pavyzdys .......................................................... 46

30 pav. Configure next iteration langas ............................................ 48

31 pav. Laiko ciklas padalytas į kadrus ............................................. 49

32 pav. Configure next frame timing langas ...................................... 50

33 pav. Controls>>Boolean>>Stop Button parinkimas ...................... 50

34 pav. Controls>>Graph>>Waveform Chart parinkimas ................... 51

35 pav. Functions>Structures>>While Loop (blokinė diagrama) .......... 52

36 pav. Stop mygtukas (blokinė diagrama) ...................................... 53

37 pav. Generuojamo signalo atavizdavimas ..................................... 54

38 pav. Wait Until Next ms Multiple (uţdelsimas) .............................. 55

39 pav. Analizės VP modulių prijungimas .......................................... 56

40 pav. Loginis elementas NE (NOT) grafinis ţymėjimas ..................... 73

41 pav. Loginis elementas IR ( AND) grafinis ţymėjimas .................... 74

42 pav. Loginis elementas ARBA (OR) grafinis ţymėjimas ................... 74

43 pav. Loginis elementas IR – NE (NAND)grafinis ţymėjimas ............ 75

44 pav. Loginis elementas Išskirtinis ARBA ( XOR / exclusive OR)grafinis

ţymėjimas 76

45 pav. Loginis elementas Išskirtinis ARBA – NE (NOR) grafinis

ţymėjimas 77

46 pav. Loginis IR (AND) ................................................................ 78

47 pav. .......................................................................................... 78

48 pav. Loginis ARBA (OR) ............................................................. 79

49 pav. .......................................................................................... 79

50 pav. Išskirtinis ARBA (exclusive OR/XOR) ................................... 80

51 pav. NE (NOT) .......................................................................... 81

52 pav. IR - NE (NOT AND) ............................................................ 82

53 pav. ARBA - NE (NOT OR) .......................................................... 83

54 pav. NE išskirtinis ARBA (NE exclusive OR/ NOR XOR) ................... 84

55 pav. Implikacija (Implies) .......................................................... 85

Page 8: z.lukosiaus Metodine Spg Medziaga Nauja

8

56 pav. Loginis masyvo IR (AND array elements) .............................. 86

57 pav. ARBA masyvo elemantai (OR array elements) ....................... 86

58 pav. .......................................................................................... 86

59 pav. Iš Skaičiaus į Boolean masyvą (Number to Boolean array) ...... 87

60 pav. Boolean masyvas į skaičių (Boolean array to number) ............ 88

61 pav. Boolean į (0,1) (Boolean to (0,1) ........................................ 89

62 pav. MIŠRIOJI aritmetika (COMPOUND arithmethics) ................... 90

63 pav. Pussumatoriaus loginės schemos ......................................... 94

64 pav. Pussumatoaus grafiniai ţymenys ......................................... 95

65 pav. Pilnojo sumatoriaus išėjimo funkcijų S1 (a) ir COUT1 (b) Karno

diagramos lentelė ..................................................................................... 95

66 pav. Pirmosios skilties pilnojo sumatoriaus loginės schemos ........... 97

67 pav. Pilnojo sumatoriaus grafinių ţymenų variantai ....................... 97

68 pav. Nuosekliojo sumatoriaus funkcinė schema ............................ 98

69 pav. Pusatėmiklio loginės schemos .............................................. 99

70 pav. Pilnojo atėmiklio išėjimo funkcijos BOUT1 Karno diagrama ...... 99

71 pav. Pilnojo atėmiklio skolinamojo vieneto signalą formuojanti

schema 101

72 pav. Pusatėmiklio ir pilnojo atėmiklio grafiniai ţymenys ............... 101

73 pav. Komparatoriaus pirmojo išėjimo loginės funkcijos Karno

diagrama 105

74 pav. Kodo keitiklio išėjimo funkcijų F1 (a), F2 (b) ir F3 (c) Karno

diagramos 106

75 pav. DDK keitiklio "SP3 į 8421" loginės schemos ......................... 107

76 pav. Keturių skilčių kodo keitiklio grafinis ţymuo ........................ 107

77 pav. Telefono klaviatūros šifratoriaus grafinis ţymuo ................... 109

78 pav. Demultiplekseriai, sujungti piramidiniu pakopiniu būdu ......... 112

79 pav. Demultiplekseris "iš 1 į 4" ................................................ 112

Page 9: z.lukosiaus Metodine Spg Medziaga Nauja

9

80 pav. Multiplekserio "iš 2 į 1" išėjimo funkcijos Karno diagrama (a),

loginė schema (b) ir grafinis ţymuo (c)..................................................... 113

81 pav. Autovirpesių multivibratorius iš diskretinių elementų ............ 115

82 pav. Kondensatoriaus CB1 įtampa, atsidarius tranzistoriui VT1 ..... 115

83 pav. Autovirpesių multivibratoriaus laiko diagramos .................... 116

84 pav. Trijų bitų ţiedinis skaitiklis ................................................ 118

85 pav. Trijų bitų ţiedinio skaitiklio laiko diagramos ......................... 119

86 pav. "Nepakimbantis" trijų bitų ţiedinis skaitiklis ......................... 119

87 pav. Trijų trigerių susuktasis ţiedinis skaitiklis ............................ 120

88 pav. Plačiausiai paplitusių trigerių ţymejimai .............................. 126

89 pav. Sumuojantis dvejetainis skaitiklis ....................................... 128

90 pav. Skaitiklio schema su =5 ............................................... 130

91 pav. Šmito trigeris su operaciniu stiprintuvu ............................... 132

92 pav. Invertuojantis Šmito trigeris su operaciniu stiprintuvu .......... 134

93 pav. Realios kombinacinės schemos struktūrinė schema .............. 135

94 pav. Pirmasis dviejų būvių atminties ląstelės schemos variantas ... 137

95 pav. Pagrindinė atminties ląstelės schema ................................. 138

96 pav. Dviejų būvių atminties ląstelės loginė schema .................... 139

97 pav. Bazinio SR trigerio elektrinė principinė schema .................... 140

98 pav. Bazinio SR trigerio loginė schema ...................................... 141

99 pav. Bazinio SR trigerio loginė schema ................................... 143

100 pav. Grafinis SR trigerio ţymuo ............................................... 143

101 pav. Vėlinančiojo SR trigerio modelis ....................................... 143

102 pav. SR trigerio būvių kaitos diagrama..................................... 146

103 pav. SR trigerio veikimo algoritmo blokinė schema .................... 146

104 pav. SR trigerio Karno diagrama, kur stabilūs trigerio būviai ....... 147

105 pav. Sinchroninio D trigerio funkcinė schema (a) ir grafinis ţymuo

(b) 149

Page 10: z.lukosiaus Metodine Spg Medziaga Nauja

10

106 pav. Sinchroninio JK trigerio loginė schema (a),funkcinė schema (b)

ir grafinis ţymuo (c) ................................................................................ 150

107 pav. Sinchroninio T trigerio funkcinė schema (a) ir grafinis ţymuo

(b) 150

108 pav. NI ELVIS ....................................................................... 153

109 pav. Measurement I/O-DAQmx – Data Acquisition subpaletė ...... 154

110 pav. Kurių funkcijų aprašymas pateiktas lentelėje. .................... 154

111 pav. Signalų fiksiavimo virtuali programa ................................. 155

112 pav. LabVIEW signalų nuskaitymo programos schema ............... 156

113 pav. Signalų generavimo virtuali programa .............................. 158

114 pav. Duomenų apdorojimo schema ......................................... 160

Page 11: z.lukosiaus Metodine Spg Medziaga Nauja

11

Lentelių sąrašas

1 lentelė. Įrakių paletės modulių arašymas ..................................... 18

2 lentelė. Įrakių paletės modulių arašymas ..................................... 20

3 lentelė. Funkcijų paletės modulių arašymas .................................. 21

4 lentelė. Occurrence subpaletės modulių aprašymas ....................... 28

5 lentelė. Pranešiklio subpaletės modulių aprašymas ........................ 31

6 lentelė. Queue subpaletės modulių aprašymas .............................. 33

7 lentelė. Randevu subpaletės modulių aparšymas ........................... 37

8 lentelė. Semaforo subpaletės modulių arašymas ........................... 39

9 lentelė. • Loginio elemento NE (NOT) Reikšmių lentelė: ................. 73

10 lentelė. Loginio elemento IR ( AND)Reikšmių lentelė: .................. 74

11 lentelė. Loginio elemento ARBA (OR) Reikšmių lentelė: ................ 74

12 lentelė. Loginio elemento IR – NE (NAND)Reikšmių lentelė: .......... 75

13 lentelė. Loginio elemento Išskirtinis ARBA ( XOR / exclusive

OR)Reišmių lentelė: 76

14 lentelė. Loginio elemento ARBA – NE (NOR) Reikšmių lentelė: ...... 77

15 lentelė. Pussumatoriaus reikšmių lentelė .................................... 94

16 lentelė. Pirmosios skilties pilnojo sumatoriaus reikšmių lentelė ...... 95

17 lentelė. Pusatėmiklio reikšmių lentelė ........................................ 99

18 lentelė. Pirmosios skilties pilnojo atėmiklio reikšmių lentelė ........ 100

19 lentelė. Dvejetainio puskomparatoriaus reikšmių lentelė ............ 102

20 lentelė. Pirmosios skilties pilnojo dvejetainio komparatoriaus

reikšmių lentelė, Nerealūs loginių įėjimų kintamųjų deriniai, sukuriantys

nereikšmingas loginių išėjimo kintamųjų kombinacijas, yra apvesti. .............. 102

21 lentelė. Dvejetainių-dešimtainių kodų keitiklio "SP3 į 8421" reikšmių

lentelė. (dvejetainį-dešimtainį kodą (DDK) su pertekliumi 3 (SP3) keitimas į

natūralųjį DDK, vadinamą kodu 8421) ....................................................... 105

22 lentelė. Telefono klaviatūros šifratoriaus reikšmių lentelė ........... 108

Page 12: z.lukosiaus Metodine Spg Medziaga Nauja

12

23 lentelė. Pilnojo dešifratoriaus "iš 3 į 8" reikšmių lentelė .............. 110

24 lentelė. Demultiplekserio "iš 1 į 4" reikšmių lentelė .................... 111

25 lentelė. Multiplekserio "iš 2 į 1" reikšmių lentelė ........................ 113

26 lentelė. SR trigerio būvių reikšmių lentelė ................................ 144

27 lentelė. LabVIEW signalo fiksavimui skirtų virtualių modulių

aparašymas 154

28 lentelė. LabVIEW signalo nuskaitymo virtualių modulių aparašymas

156

29 lentelė. LabVIEW virtualių modulių aparašymas ........................ 157

Page 13: z.lukosiaus Metodine Spg Medziaga Nauja

13

Padėka

Autoriai dėkoja projektui LLII-061 „Development of Joint Research and

Training Centre in High Technology Area― uţ paramą rengiant šią metodinę

priemonę.

Page 14: z.lukosiaus Metodine Spg Medziaga Nauja

14

1. ĮVADAS Į LabVIEW

Jums tikriausiai yra įdomu, kas yra LabVIEW, kol ţengsite kitą ţingsnį.

LabVIEW (sutrumpinimas iš Laboratory Virtual Instrument Engineering

Workbench) yra programinė terpė, kurioje jūs kuriate programas grafinėje

terpėje; šiuo atţvilgiu ji skiriasi nuo tradicinių programavimo kalbų, kaip C, C++

arba Java, kuriose jūs rašote programas su tekstu. Vis dėlto, LabVIEW yra daug

daugiau negu kalba. Tai programos sukūrimo ir vykdymo sistema, sukurta

ţmonėms, tokiems kaip mokslininkai, inţinieriai, kuriems programa yra jų darbo

dalis. LabVIEW dirba su kompiuteriais, naudojančiais Windows, MacOS, Linux,

Solaris ir HP-UX operacines sistemas.

Programa, kurią tradiciniu būdu reikėtų rašyti savaites arba net mėnesius

gali būti baigta per kelias valandas, naudojant LabVIEW, nes ji yra specialiai

sukurta atlikti matavimus, išanalizuoti duomenis ir pristatyti galutinius rezultatus

vartotojui. Kadangi LabVIEW turi tokią lanksčią vartotojo sąsają ir tokį lengvą

programavimo būdą, ji yra ideali simuliacijoms, idėjų pristatymams, bendram

programavimui ar net programavimo pagrindų dėstymui.

LabVIEW siūlo daugiau lankstumo negu standartiniai laboratorijos

instrumentai, nes jos bazė yra programinė įranga. Jūs galite charakterizuoti

prietaisų funkcionalumą. Jūsų kompiuteris, prijungiama įranga ir LabVIEW sudaro

visiškai konfigūruojamą virtualų prietaisą, kuris padės jums įgyvendinti jūsų

uţduotis. Jeigu norite kaţką pakeisti, jūs galite tiesiog spragtelėti ir virtualaus

prietaiso parametrai pasikeis.

LabVIEW turi platų funkcijų ir paprogramių pasirinkimą, kurios padės jums

daugumoje programavimo uţdavinių. Jūs taip pat rasite taikomąsias kodų

bibliotekas skirtas duomenų įsigijimui (DAQ – Data Acquisition), bendrosios

paskirties sąsajos magistrales (GPIB – General Purpose Interface Bus) ir

nuosekliųjų instrumentų kontrolę, duomenų analizę, duomenų pristatymą,

Page 15: z.lukosiaus Metodine Spg Medziaga Nauja

15

duomenų saugojimą ir ryšį per internetą. Analizės biblioteka turi savyje daugybę

naudingų funkcijų, įskaitant signalų generavimą, signalų apdirbimą, filtrus,

langus, statistiką, linijinę algebrą ir masyvų aritmetiką.

Dėl grafinio LabVIEW pobūdţio jos prigimtis yra prezentacijos. Išvestis gali

būti pateikta jums patogiausia forma.

LabVIEW programos gali būti parašytos Macintosh tipo kompiuteriuose, o

pakrautos ir paleistos kompiuteriuose, naudojančiuose Windows operacinę

sistemą. Jūs galite surasti LabVIEW taikomąsias programas, padidinančias

našumą daugelyje pramoninių šakų: biologijos, ţemės ūkio, psichologijos,

chemijos, fizikos ir daugelio kitų.

1.1. Duomenų srautas ir grafinė programavimo kalba

LabVIEW programinės terpės vystymasis skiriasi nuo komercinės C arba

Java terpių vystymosi pagal vieną esminį dalyką. Kadangi kitų programavimo

kalbų pagrindas yra kalbos, kurios remiasi tekstinėmis linijomis, kad sukurtų

kodų eilutes, LabVIEW naudoja grafinę programavimo kalbą, kad sukurtų

programas vaizdiniu pavidalu – blokine diagrama, atmetant sintaksines

smulkmenas. Tokiu būdu jūs galite susikoncentruoti į duomenų srautą jūsų

taikomojoje programoje.

LabVIEW naudoja terminologiją, piktogramas ir idėjas, gerai ţinomas

mokslininkams ir inţinieriams. Ji verčiau pasikliauja grafiniais simboliais nei

tekstine kalba, pavaizduojant programos veiksmus. Duomenų srauto principą,

kuriame funkcijos yra vykdomos tik po reikalingų duomenų gavimo, valdo tiesaus

vykdymo metodas. Jus galite išmokti dirbti su LabVIEW net ir nemokėdami

programuoti, bet programavimo pagrindų ţinios gali palengvinti jūsų darbą.

1.2. Kaip veikia LabVIEW?

Page 16: z.lukosiaus Metodine Spg Medziaga Nauja

16

LabVIEW programos yra vadinamos virtualiais prietaisais (VP) todėl, kad

jų išvaizda ir veikimas imituoja tikruosius prietaisus. Visdėlto, uţkulisiuose jos

yra analogiškos pagrindinėms programoms, funkcijoms ir paprogramėms gerai

ţinomoms programavimo kalboms kaip C arba Basic. Ateityje mes kalbėsime apie

LabVIEW programas kaip apie virtualiuosius prietaisus (VP).

Vartotojo sąsaja Grafinis kodas

1 pav. LabVIEW vartotojo sąsajos ir grafinio kodo langai

Virtualusis preitaisas susideda š trijų dalių:

Priekinio plano skydelis (Front Panel) yra sąveikaujanti vartotojo sąsaja su

VP. Taip pavadintas jis yra dėlto, kad skydelis simuliuoja tikro prietaiso vartotojo

sąsają. Priekinio plano skydelis gali turėti rankenas, mygtukus, grafikus ir

įvairiausias kitas valdymo priemones (programos įvestis) bei indikatorius

(programos išvestis). Vartotojas įveda duomenis pelytės bei klaviatūros pagalba,

o rezultatus mato ekrane.

Blokinė diagrama (Block Diagram) yra virtualaus prietaiso pirminis kodas,

sudarytas LabVIEW grafinėje programavimo terpėje. Blokinė diagrama yra tikroji

vykdomoji programa. Blokinės diagramos komponentai yra ţemesnio lygio

Page 17: z.lukosiaus Metodine Spg Medziaga Nauja

17

virtualieji prietaisai su standartinėmis funkcijomis, konstantomis ir programos

vykdymo valdymo struktūromis. Jus braiţote laidus tam, kad sujungti

atitinkamus objektus tarpusavyje, taip nurodant duomenų srautą tarp jų.

Tam, kad naudoti VP kaip paprogramę kito VP blokinėje diagramoje, jūs

privalote turėti piktogramą ir jungtį. Virtualusis prietaisas, kuris yra naudojamas

kitame VP yra vadinamas ţemesnio lygio virtualiuoju prietaisu (subVI), ir yra

paprogrames atitikmuo. Piktograma yra VP grafinė reprezentacija, kuri yra

naudojama kito VP blokinėje diagramoje, kaip objektas. VP jungtis yra

mechanizmas naudojamas perkelti duomenis į VP iš kitų blokinių diagramų, kada

VP yra naudojamas kaip ţemesnio lygio virtualusis prietaisas. Kitaip sakant

jungtis pavaizduoja įvestį/išvestį (I/O).

VP būna hierarchiniai ir moduliniai. Jūs galite naudoti juos kaip aukšto

lygio programas ir paprogrames. Su tokia architektūra LabVIEW prisideda prie

modulinio programavimo idėjos. Iš pradţių, jūs suskirstote programą į eilę

paprastų uţduočių. Po to, jūs sukuriate VP kiekvienos uţduoties įvykdymui, ir

tada suderinate tuos VP blokinėje diagramoje pagrindinės uţduoties įvykdymui.

Modulinis programavimas yra didelis privalumas, nes jūs galite dirbti su kiekvienu

VP atskirai, kas palengvina programos derinimą.

2. PALETĖS

LabVIEW turi 3 grafines paletes:

Įrankių paletė (Tools Palette)

Valdymo paletė (Controls Palette)

Funkcijų paletė (Functions Palette)

2.1. Įrankių paletė

Page 18: z.lukosiaus Metodine Spg Medziaga Nauja

18

Šioje paletėje yra įrankiai reikalingi virtualiems prietaisams (VP) kurti,

naudoti ir modifikuoti VP. Jeigu jūs nematote įrankių paletės, paspauskite Show

Tools Palette, kuri yra Windows meniu. Išrinkus įrankį iš šios paletės pelytės

ţymeklis tampa jo formos. Jūs galite naudoti kiekvieną įrankį iš šios paletės

darbui su funkcijomis ir paprogramėmis.

2 pav. Įrankių paletės grafinis vaizdas

1 lentelė. Įrakių paletės modulių arašymas

Valdymo įrankis. Naudokite jį darbui su pagrindiniu skydeliu ir

indikatoriais.

Išsidėstymo įrankis. Naudokite jį paţymėjimui, perkėlimui arba

instrumento vietos pakeitimui.

Ţymeklis. Naudokite jį teksto įvedimui.

Jungimo įrankis. Naudokite jį objektų sujungimui laidais blokinėje

diagramoje.

Objektinio meniu įrankis. Naudokite jį meniu iškvietimui,

spragtelėjus kairiuoju pelytės klavišu.

Slinkties įrankis. Naudokite jį lango perţiūrai nenaudojant slinkties

juostos.

Kontrolinio taško įrankis. Naudokite jį jūsų VP kontroliniams

taškams nustatyti.

Bandinio ėmėjas. Naudokite jį bandinių paėmimui nuo laidų jūsų

schemoje.

Spalvos kopijavimo įrankis. Naudokite jį nukopijuojant spalvą ir

panaudojant ją su spalvos įrankiu.

Page 19: z.lukosiaus Metodine Spg Medziaga Nauja

19

2.2. Valdymo ir funkcijų paletės

Valdymo ir funkcijų paletės yra sudarytos iš aukštesnio lygio piktogramų,

kurios pavaizduoja ţemesnio lygio paletes, duodant priėjimą prie platesnio turimų

objektų diapazono. Juos galime panaudoti kuriant virtualų prietaisą. Prie palečių

galime prieiti paspaudus aukštesnio lygio piktogramą. Ţemesnio lygio paletės gali

būti transformuotos į slenkančią paletę, kuri lieka jūsų darbastalyje.

2.2.1. Valdymo paletė

Valdymo įrankius ir indikatorius į priekinę sąsają jūs įterpiate iš valdymo

paletės. Kiekvienas paletės parametras simbolizuoja prieinamas ţemesnio lygio

paletes su valdymo priemonėmis ir indikatoriais. Jeigu jūs nematote valdymo

paletės, jūs galite atidaryti ją spragtelėjus Show Controls

Palette išWindows meniu.

3 pav. Valdymo paletės grafinis vaizdas

Spalvos įrankis. Naudokite jį objektų nudaţymui.

Page 20: z.lukosiaus Metodine Spg Medziaga Nauja

20

2 lentelė. Įrakių paletės modulių arašymas

Ţemesnio lygio skaitmeninė paletė (Numeric). Susideda iš

valdymo įrankių ir indikatorių, skirtų skaitmeniniams

duomenims.

Ţemesnio lygio eilučių paletė (String). Susideda iš valdymo

įrankių ir indikatorių, skirtų ASCII eilutėms ir lentelėms.

Ţemesnio lygio masyvų ir klasterių paletė (Array & Cluster).

Susideda iš valdymo įrankių ir indikatorių, skirtų grupuoti

duomenų tipų rinkinius.

Ţemesnio lygio kelių ir nuorodų paletė (Path & Refnum).

Susideda iš valdymo įrankių ir indikatorių, skirtų valdyti

kelius ir nuorodas.

Ţemesnio lygio valdymo paletė (Control). Reprezentuoja

dialogo langą nepriklausomiems valdymo elementams

pakrauti.

Ţemesnio lygio ActiveX objektų paletė (ActiveX). Susideda

iš valdymo įrankių, leidţiančių įterpti ActiveX objektus į

priekinio plano langą.

Ţemesnio lygio loginių reikšmių paletė (Boolean). Susideda

iš valdymo įrankių ir indikatorių, skirtų loginėms reikšmėms.

Ţemesnio lygio sąrašų ir sujungtų sąrašų paletė (List &

Ring). Susideda iš valdymo įrankių ir indikatorių, sudarytų iš

sąrašų ir sujungtų sąrašų.

Ţemesnio lygio grafinė paletė (Graph). Susideda iš

indikatorių, skirtų duomenų grafikų ir diagramų sudarymui

realiame laike.

Page 21: z.lukosiaus Metodine Spg Medziaga Nauja

21

Ţemesnio lygio įforminimo paletė (Decorations). Susideda iš

grafinių objektų, skirtų pagrindinio skydelio vaizdų

nustatymui.

Ţemesnio lygio vartotojo valdymo paletė (User Controls).

Susideda iš specialių valdymo priemonių, kurias sudaro pats

vartotojas.

2.2.2. Funkcijų paletė

Funkcijų paletės pagalba jūs formuojate blokinę schemą. Kiekvienas

paletės parametras simbolizuoja prieinamas ţemesnio lygio paletes. Jeigu jūs

nematote funkcijų paletės, spragtelėkite Show Functions

Palette iš Windows meniu.

4 pav. Funkcijų paletės grafinis vaizdas

3 lentelė. Funkcijų paletės modulių arašymas

Ţemesnio lygio struktūrų paletė (Structures). Susideda iš valdančių

struktūrų, tokių kaip ciklas For.

Ţemesnio lygio skaitmeninė paletė (Numeric). Susideda iš

Page 22: z.lukosiaus Metodine Spg Medziaga Nauja

22

trigonometrinių, logaritminių ir skaitmeninių funkcijų.

Ţemesnio lygio loginių reikšmių paletė (Boolean). Susideda iš loginių

funkcijų.

Ţemesnio lygio eilučių paletė (String). Susideda iš funkcijų darbui su

eilutėmis.

Ţemesnio lygio masyvų paletė (Array). Susideda iš funkcijų darbui su

masyvais.

Ţemesnio lygio klasterių paletė (Cluster). Susideda iš funkcijų darbui

su klasteriais.

Ţemesnio lygio palyginimų paletė (Comparison). Susideda iš funkcijų,

skirtų eilučių, skaičių ir loginių reikšmių palyginimui.

Ţemesnio lygio laiko ir dialogų paletė (Time & Dialog). Susideda iš

funkcijų dialogų langams, sinchronizacijai ir klaidų apdorojimui.

Ţemesnio lygio bylų įvesties/išvesties paletė (File I/O). Susideda iš

funkcijų ir VP skirtų įvedimui/išvedimui į bylą.

Ţemesnio lygio komunikacijos paletė (Communication). Susideda iš VP

darbui su TCP, DDE, Apple Events, IrDA ir OLE tinklais.

Ţemesnio lygio instrumentų įvesties/išvesties paletė (Instrument I/O).

Susideda iš VP skirtų komunikacijai ir kontrolei per GPIB ir VISA

magistrales.

Ţemesnio lygio duomenų surinkimo paletė (Data Acquisition).

Susideda iš VP skirtų duomenų įvesties plokščių įterpimui.

Ţemesnio lygio analizes paletė (Analysis). Susideda iš VI skirtų

duomenų analizei.

Ţemesnio lygio mokymo paletė (Tutorial). Susideda iš VI naudojamų

LabVIEW mokomojoje programoje.

Ţemesnio lygio tobulinimo paletė (Advanced). Susideda iš įvairių

funkcijų, tokių kaip bibliotekos uţklausymo funkcijos, duomenų

manipuliacijos ir t.t.

Page 23: z.lukosiaus Metodine Spg Medziaga Nauja

23

Ţemesnio lygio virtualiųjų prietaisų paletė (VI). Susideda iš dialogų

lango skirto paprogramių įterpimui į VP.

Ţemesnio lygio prietaisų tvarkyklių paletė (Instrument Drivers).

Susideda iš VP sugebančiu valdyti išoriniais įrenginiais, oscilografais,

generatoriais ir t.t., per nuoseklųjį prievadą arba GPIB sąsają.

Ţemesnio lygio vartotojo bibliotekos paletė (User Libraries). Su šios

paletes pagalba sudaromas greitas priėjimas prie reikiamo VP.

Ţemesnio lygio programos valdymo paletė (Application Control).

Susideda iš VP, valdančių virtualiuosius instrumentus, VP serverių,

leidţiančių įkėlinėti VP ant kitų kompiuterių per tinklą.

Prieš pradėdami programavimo darbus su LabVIEW programine įranga

reikia susipaţinti su esminiu LabVIEW programavimo detale, tai LabVIEW esantis

ciklai, be kurių nė viena suprogramuota LabVIEW aplinkoje programa neapseina.

3. LabVIEW CIKLAI

Ciklai LabVIEW grafinio programavimo terpėje yra naudojami

pasikartojančių operacijų valdymui. LabVIEW pagrinde taikomi dviejų rūšių ciklai:

ţinomo kartojimų skaičiaus ciklas - For ir neţinomo kartojimų skaičiaus ciklas -

While. Šie ciklai kartu su kitomis struktūromis yra programavimo (Programming)

paletės struktūrų (Structures) subpaletėje.

Page 24: z.lukosiaus Metodine Spg Medziaga Nauja

24

5 pav. „Struktūrų“ subpaletės ciklai

6 pav.

3.1. Ţinomo kartojimų skaičiaus ciklas (For Loop)

Ţinomo kartojimų skaičiaus ciklas (For Loop) vykdo subdiagramą n kartų.

Kur n yra vertė sujungta su skaičiavimo terminalu (N – count terminal). Iteracijos

(i) terminalas vykdo ciklo iteracijų skaičiavimą, kuris tęsiasi nuo 0 iki n-1.

7 pav. For ciklo pavyzdys

Iliustracijoje pavaizduotas For ciklas, su prie N įvesties prijungta verte – 5, o prie

i išvesties prijungta sumos funkcija, kuri ciklui veikiant prie vieneto prideda tos

Page 25: z.lukosiaus Metodine Spg Medziaga Nauja

25

iteracijos vertę. Gauta suma perduodama į masyvą, esantį uţ ciklo ribų ir

sujungtą su tuneliu (tunnel), kuris yra su įjungtu auto-indeksavimu, t. y. į

masyvą yra perduodamos visų ciklo iteracijų sumų reikšmės. Ciklas sustoja po 5

iteracijų.

3.2. Neţinomo kartojimų skaičiaus ciklas (While Loop)

Neţinomo kartojimų skaičiaus ciklas (While Loop) kartoja subdiagramą, tol

kol sąlyginio terminalo (conditional terminal) įvestis gauna konkrečią loginę

(boolean) vertę: TRUE arba FALSE.

Loginė vertė priklauso nuo to kaip programuotojas nuspręs panaudoti

ciklą. Per terminalo kontekstinį meniu (pasiekiamą dešiniu pelės klavišu) galima

pasirinkti Stop if True (sustabdyti esant TRUE vertei) arba Continue if True (tęsti

esant TRUE vertei) komandas. Taip pat jei prie terminalo bus prijungtas klaidos

klasteris (cluster) kontekstiniame meniu bus galima pasirinkti Stop on Error

(ciklas bus sustabdytas jei įvyks klaida) arba Continue while Error (jei įvyks

klaida, ciklas veiks toliau) komandas.

8 pav. While ciklo komandos prie terminalo prijungus klaidos klasterio ir

loginę vertes

Page 26: z.lukosiaus Metodine Spg Medziaga Nauja

26

9 pav. While ciklo pavyzdys

Iliustracijoje pavaizduotas While ciklas vykdantis sudėties funkciją, o

sumos reikšmes kaupiantis masyve naudojant tunelį su įjungtu auto-

indeksavimu. Dėl daugiau (greater?) funkcijos, kurios išvestis yra prijungta prie

terminalo įvesties, ciklas sustos po penktosios iteracijos, nes tai bus didesnė

vertė uţ 4.

Struktūrų subpaletėje yra dar vienas ciklas – laiko (laikinis) ciklas

(timed loop), jis bus plačiau aprašytas IV skyriuje.

3.3. LabVIEW sinchronizavimo funkcijos

Dirbant LabVIEW anksčiau ar vėliau prireikia sinchronizuoti ciklus. Tam

LabVIEW programuotojai naudoja sinchronizavimo funkicijas.

Sinchronizavimo VI naudojami paraleliai vykdomų uţduočių

sinchronizavimui bei duomenų perdavimui tarp jų.

Sinchronizacijos (Synchronization) virtualiuosius instrumentus galima rasti

Funkcijų (Function) paletės programavimo (Programming) arba duomenų

komunikavimo (Data Communication) subpaletėse.

Page 27: z.lukosiaus Metodine Spg Medziaga Nauja

27

10 pav. Vietos kur funkcijų paletėje yra Sinchronizacijos subpaletės

Sinchronizacijos subpaletę sudaro penkios kategorijos: occurrences

(įvykiai), notifier (pranešikliai), queue (eilės), rendezvous (randevu) ir

semaphore (semaforai). Šioje paletėje yra ir viena funkcija nepriklausanti jokiai

kategorijai – First Call?.

11 pav. Sinchronizacijos subpaletė

12 pav.

3.4. Occurence

Terminas Occurrence iš anglų kalbos verčiant reiškia atsitikimą, įvykį. Tai

yra paprasčiausias iš LabVIEW siūlomų sinchronizavimo metodų, jį sudaro tik trys

funkcijos. Occurrence naudojami atskirų, sinhroninių funkcijų valdymui.

Page 28: z.lukosiaus Metodine Spg Medziaga Nauja

28

13 pav. Occurrence subpaletė

4 lentelė. Occurrence subpaletės modulių aprašymas

Paletės objektas Aprašymas

Generate Occurrence

(sukurti occurrence)

Sukuria occurence, kurį galima perduoti į Wait on

Occurence ir Set Occurence funkcijas.

Set Occurrence (paskirti

occurrence)

Paskiria konkretų occurence. Visi funkciniai blokai

laukia kol šis occurence nustos laukti.

Wait on Occurrence (laukti

occurrence)

Laukia, kol Set Occurence funkcija paskirs duotą

occurence.

Occurrence yra sukuriamas su Generate Occurrence funkcija, o valdomas

Wait on Occurrence ir Set Occurrence funkcijomis. Kuomet occurrence yra

sukuriamas jis gali būti perduotas į Wait on Occurrence ir Set Occurrence

funkcijas. Wait on Occurrence yra savotiškas barjeras, kuris neleidţia vykdyti kitų

kodo dalių, tol kol nebus aktyvuota Set Occurrence funkcija.

Page 29: z.lukosiaus Metodine Spg Medziaga Nauja

29

14 pav. Occurrence pavyzdys

Pavyzdyje yra pavaizduoti du while ciklai, viršutiniame yra atsitiktinio skaičiaus

(Random Number) funkcija, kuri generuoja skaitinę reikšmę nuo 0 iki 1, šis

rezultatas panaudojant vietinį kintamąjį (Local variable) (Create > local variable

kontekstiniame meniu) yra perduodamas apatiniame cikle esančiam grafikui.

Apatinis ciklas yra antrame kadrų struktūros (Flat sequence structure) kadre.

Kuomet Occurrence yra sukuriamas, jis laidu yra perduodamas į Set Occurrence

ir Wait on Occurrence fukcijas. Wait on Occurrence funkcija yra pirmame kadrų

struktūros (Flat sequence structure) kadre. Dėl šios funkcijos apatinis ciklas

negali būti vykdomas tol kol nebus suţadinta Set Occurrence funkcija, kuri ir

valdo Wait on Occurrence funkciją.

Šiuo atveju Set Occurrence funkcija yra atvejų struktūros (case structure)

skiltyje True, todėl kol į šioje struktūroje esančio atvejų selektoriaus (case

selector) įvestį nėra perduodama loginė TRUE reikšmė, tol Occurrence negalės

pasiekti šios funkcijos. Pavyzdyje yra padaryta taip, kad iteracijų skaičiui

pasiekus reikšmę didesnę uţ 5, į case selector yra perduodama TRUE reikšmė ir

Page 30: z.lukosiaus Metodine Spg Medziaga Nauja

30

tuomet suţadinama Set Occurrence funkcija. Kai tai įvyksta, pradedamas vykdyti

antrame kadre esantis apatinis ciklas.

Paprastai tariant kuomet pirmas ciklas paskiria occurence, LabVIEW

aktyvuoja antrąjį ciklą ar bet kurias kitas blokines diagramas, kurios laukia

paskirto occurrence.

Generate occurence galima sujungti su bet kokiu skaičiumi Set Occurrence

ir Wait on Occurrence funkcijų. Skirtingai nei kitos sinchronizacinės funkcijos,

kiekviena Generate Occurence funkcija blokinėje diagramoje atstovauja vieną

unikalų Occurence. Tokiu būdu ši funkcija yra panaši į konstantą. Kuomet VI yra

paleistas, kiekvieną kartą veikiant šiai funkcijai, ji duoda ta pačią reikšmę. jei

Generate Occurence bus cikle, funkcijos grąţinama reikšmė bus ta pati

kiekvienoje ciklo iteracijoje.

3.5. Pranešiklis (notifier)

15 pav. Pranešiklio subpaletė

Page 31: z.lukosiaus Metodine Spg Medziaga Nauja

31

5 lentelė. Pranešiklio subpaletės modulių aprašymas

Objektas Trumpas aprašymas

Cancel Notification (atšaukti

pranešimą)

Ištrina bet kurią ţinutę tuo metu esančią

pranešiklyje ir ją grąţina išvestyje.

Get Notifier Status (gauti

pranešiklio statusą)

Grąţina informaciją apie dabartinę pranešiklio

būseną, tokią kaip kad paskutinis neištrintas

pranešimas, siųstas pranešėjui ir t. t.

Obtain Notifier (sukurti

pranešiklį)

Sukuria arba suranda egzistuojantį pranešiklį

Release Notifier (sunaikinti

pranešiklį)

Sunaikina pranešiklį

Send Notification

(nusiųsti pranešimą)

Nusiunčia ţinutę į visas funkcijas, laukiančias

pranešiklio.

Wait on Notification from

Multiple

Laukia, kol nors vienas iš pasirinktų pranešiklių

gauna ţinutę.

Wait on Notification Laukia kol pranešiklis gauna ţinutę.

Pranešiklių (notifier) sinchronizavimo funkcjų veikimas yra panašus į

occurrence bet šis būdas yra lankstesnis ir turi didesnes galimybes. Pranešiklis

daugiausia leidţia programuotojui trumpam sustabdyti programą laukiančią

instrukcijos. Jis gali būti naudojamas cikluose, kurie nuskaito duomenis. Po to kai

instrukcija yra gaunama ciklas gali pradėti dirbti tai, kam jis buvo sukurtas. Taip

pat pranešiklis gali būti panaudotas trumpam sustabdyti duomenų laukiantį VI.

Pagrindinė ir svarbiausia pranešiklio savybė yra laukti tol kol bus gauti

duomenys. Tokie duomenys vadinami pranešimu (notification).

Daţnis kuriuo pranešimai yra išsiunčiami ir daţnis kuriuo pranešimai yra

gaunami turi būti sinchronizuoti kad apsaugoti ţinutės praradimą, nes pranešimų

perdavimo sistema neturi buferio, kuriame laikytų nenuskaitytus pranešimus.

Grįţtamojo ryšio sistema gali būti parengta norint apsaugoti pranešimų ţinučių

Page 32: z.lukosiaus Metodine Spg Medziaga Nauja

32

praradimą. Šis atvejis daugiausiai atsiranda kuomet pranešiklis yra naudojamas

nenutrūkstamam duomenų perdavimui.

Pranešikliai gali būti naudojami kartu su kitomis duomenų perdavimo formomis,

kaip kad eilėmis, pavyzdţiui norint parodyti kad duomenys atkeliavo skaitymui.

Pranešiklis yra puiki priemonė siunčiant individualias ţinutes bet ne

pertraukiamus duomenis, tačiau jis gali būti sukonfigūruotas kad darytų ir tai.

Pranešikliai turi minusą - jų negalima naudoti komunikavimui su VI kituose

kompiuteriuose, pavyzdţiui komunikavimui per tinklą arba VI serverį.

16 pav. Pranešiklio pavyzdys

Iliustracijoje pavaizduota paprasta rašymo į ir skaitymo iš pranešiklio

blokinė diagrama. Joje yra du ciklai. Viršutiniame cikle obtain notifier funkcija

sukuria pranešiklį, jis siunčiamas į Send Notification ir Wait on notification

funkcijas. Atsitiktinio skaičiaus (random number) funkcija sukuria atsitiktinę

reikšmę nuo 0 iki 1 ir parodo rezultatą. Ši reikšmė yra sujungiama su Send

Notification per notification įvestį. Apatinis ciklas šią reikšmę gauna per Wait on

Notification funkcijos notification išvestį ir pavaizduoja ją grafike. Ciklą

Page 33: z.lukosiaus Metodine Spg Medziaga Nauja

33

sustabdţius, funkcija Release Notifier sunaikina pranešiklį, duomenys nebėra

rašomi ir programa sustoja.

3.6. Eilės (Queue)

17 pav. Queue subpaletė

Tai yra metodas kurio metu iš atskirų duomenų elementų yra sukuriama

vientisa eilė, tokiu būdu ją galima perduoti į kitą ciklą ar VI. Duomenys yra

saugojami atminties buferyje iki jų nuskaitymo.

Yra dvi eilių rūšys: First in First Out (FIFO) ir Last in First Out (LIFO). FIFO eilė

gali būti palyginama su paprasta ţmonių eile prie kiosko ar prekybos centro

kasos. Pirmas asmuo stovintis eilėje ir yra aptarnaujamas pirmasis. LIFO eilę

galima apibūdinti tokiu pavyzdţiu: kuomet knygos dedamos į krūvą, paskutinė

įdėta knyga daţniausiai ir bus paimta iš jos pirma.

6 lentelė. Queue subpaletės modulių aprašymas

Objektas Aprašymas

Dequeue Element (išimti

elemetą)

Pašalina elementą iš eilės priekio ir jį grąţina.

Enqueue Element At

Opposite End (pridėti

Prideda elementą eilės priekyje.

Page 34: z.lukosiaus Metodine Spg Medziaga Nauja

34

elementą piešingame gale)

Enqueue Element (pridėti

element)

Prideda elementą eilės gale.

Flush Queue (―išplauti‖

eilę)

Išima visus elementus iš eilės ir grąţina juos

kaip masyvą.

Get Queue Status (gauti

eilės statusą)

Grąţina informaciją apie dabartinį eilės statusą,

kaip kad elementų, esančių eilėje skaičių.

Obtain Queue Sukuria (suranda) eilę

Preview Queue Element Grąţina elementą, esantį eilės priekyje jo

nepašalinant.

Release Queue Sunaikina eilę

Pirmas ţingsnis naudojant eiles yra sukurti eilę. Obtain Queue funkcija

leidţia programuotojui nustatyti eilės dydį. Jei maksimalus dydis bus pasiektas,

jokių papildomų elementų į eilę nebebus galima įdėti, tol kol eilėje jau esantys

elementai nebus pašalinti. Elementai į eilę įdedami naudojant Enqueue Element

funkciją. Tokiu būdu naujas elementas padedamas į eilės galą, bet su funkcija

Enqueue element at opposite end galima padėti elementą į eilės priekį. Elementai

iš eilės išimami naudojant Dequeue Element funkciją.

Pagrinde eilės yra labai tinkamos duomenų srautams, tokiems kaip

waveform, ypač tada kai informacijos praradimas yra nepageidaujamas.

Page 35: z.lukosiaus Metodine Spg Medziaga Nauja

35

18 pav. Eilių panaudojimo pavyzdys

Iliustracijoje pavaizduota paprasta įrašymo ir nuskaitymo iš sekos blokinė

diagrama. Diagrama turi du ciklus. Viršutiniame cikle random number funkcijos

pagalba sukuriama atsitiktinė vertė nuo 0 iki 1 ir pavaizuojama grafike. Obtain

Queue funkcija sukuria seką. Šioje funkcijoje būtina nurodyti naudojamą

duomenų, iš kurių formuojama eilė, tipą. Funkcija Enqueue element kiekvienos

iteracijos random number sukurtą vertę sudeda į FIFO tipo eilę. Kitame cikle su

Dequeue Element funkcija elementai yra išimami iš eilės ir pavaizduojami

antrame grafike prieš apatinį ciklą yra prijungta Wait funkcija su 5000 ms verte,

tai reiškia, jog antras ciklas prasidės po 5 sekundţių nuo to laiko kai bus pradėta

vykdyti programa. Čia pasireiškia svarbiausia eilių savybė – saugoti duomenis tol

kol jie bus išimti iš eilės. Tad antrasis grafikas priekiniame skydelyje nors ir

atsilieka nuo pirmo, bet pavaizduoja visas reikšmes, kurios buvo sukurtos

random number funkcijos viršutiniame cikle.

Pirmasis ciklas sustabdomas STOP mygtuku. Tokiu atveju eilėje lieka

neišimtų elementų. Naudojantis Get Queue Status funkcija suţinomas eilėje

esančių elementų kiekis ir jam pasiekus 0 sustabdomas antrasis ciklas.

Page 36: z.lukosiaus Metodine Spg Medziaga Nauja

36

19 pav. Eilių panaudojimo pavyzdţio programos priekinio skydelio grafikai

20 pav. Eilių ir pranešiklių vienoje programoje panaudojimas

Page 37: z.lukosiaus Metodine Spg Medziaga Nauja

37

Šiame paveksle pavaizduota sudėtingesnė programa naudojanti ir eiles ir

pranešiklius. Eilės naudojamos duomenų perdavimui, o pranešikliai ciklų

sinchronizavimui.

3.7. Randevu (Rendezvous)

21 pav. Randevu subpaletė

Randevu yra naudojama sudėtinių paralelinių uţduočių sinchronizavimui.

7 lentelė. Randevu subpaletės modulių aparšymas

Objektas Aprašymas

Create Rendezvous (sukurti

randevu)

Ieško egzistuojančio randevu arba sukuria

naują.

Destroy Rendezvous (sunakinti

randevu) Sunaikina nurodytą randevu.

Get Rendezvous Status (gauti

randevu status)

Grąţina dabartinio randevu statuso

informaciją.

Not A Rendezvous (ne randevu) Graţina TRUE jei randevu nėra galiojantis

randevu duomenų tipas.

Resize Rendezvous (pakeisti

randevu dydį)

Pakeičia randevu dydį ir graţina naują

dydį.

Page 38: z.lukosiaus Metodine Spg Medziaga Nauja

38

Wait at Rendezvous (laukti

randevu)

Laukia kol pakankamas uţduočių skaičius

atvyks į Randevu.

22 pav. Randevu suprogramuotos sitemos pavyzdys

Pavyzdyje parodytos trys kadrų struktūros, kiekviena iš jų yra padalinta į

du kadrus, ir kiekviename iš jų yra po while ciklą, o kituose kadruose po Wait at

Rendezvous funkcija.

Viršutiniame cikle yra funkcija random number, kuri generuoja atsitiktines

skaitines vertes nuo 0 iki 1. Viduriniame cikle pasinaudojant local variable

komanda rezultatas yra vaizduojamas grafiškai. Apatinis ciklas skirtingai nei kiti

Page 39: z.lukosiaus Metodine Spg Medziaga Nauja

39

du yra pirmame struktūros kadre, šis ciklas yra padarytas, taip, kad sustotų po 6

iteracijų.

Randevu yra sukuriamas Create Rendezvous funkcija, joje būtina

nurodyti randevu dydį. Jis perduodamas trims Wait at Rendezvous funkcijoms,

bet kad būtų pasiekta trečioji funkcija esanti apatinėje struktūroje, programa turi

įvykdyti pirmame kadre esantį ciklą. Viršutinių ciklų antrų kadrų ciklai pradės

veikti tik tada, kad bus pasiektos visos trys Wait at Rendezvous funkcijos.

3.8. Semaphoras (Semaphore)

23 pav. Semaforo subpaletė

8 lentelė. Semaforo subpaletės modulių arašymas

Objektas Aprašymas

Acquire Semaphore Įgyja priėjimą prie šviesoforo.

Create Semaphore Ieško egzistuojančio semaphore arba sukuria naują.

Destroy Semaphore Sunaikina pasirinktą semaphore.

Get Semaphore

Status

Graţina semaforo dabartinio statuso informaciją.

Not A Semaphore Graţina TRUE jei semaforas nėra galiojantis semaforo

Page 40: z.lukosiaus Metodine Spg Medziaga Nauja

40

duomenų tipas.

Release Semaphore Sunaikina priėjimą prie Semaforo.

Semaforo tikslas yra kontroliuoti priėjimą prie dalinamų resursų. Vienas

pavyzdys būtų kodo sekcija, atsakinga uţ elementų pridėjimą ir pašalinimą

duomenų masyve. Jei ši kodo sekcija programoje yra keliose vietose, reikalingas

būdas uţtikrinti kad viena kodo sekcija priekyje tų duomenų kurie yra pašalinami

neprideda naujų. Semaforų panaudojimas apsaugotų nuo tokios problemos.

Pradţioje semaforas yra sukuriamas. Kuriant yra nustatomas uţduočių

skaičius. Numatytoji tuo pat metu vykstančių priėjimų skaičiaus vertė - 1. Kitas

ţingsnis yra padėti Acquire Semaphore VI prieš norimą apsaugoti kodą. Loginė

išvestis gali būti panaudota atvejų struktūros suţadinimui. TRUE išvestis parodys,

kad semaforas nebuvo įgytas. Tai turėtų sąlygoti nurodyto kodo nevykdymą. Jei

semaforas yra įgyjamas, jo dydis yra sumaţinamas, apsaugant kitą semaforą nuo

vykdymo iki bus paleista Release Semaphore VI funkcija. Kuomet ji yra įvykdoma

kitas pasiekiamas semaforas gali būti pradėtas vykdyti.

Semaforus galima naudoti dviejų ar daugiau atskirų paralelinių uţduočių

sinchronizavimui, taip kad viena uţduotis vienu metu vykdytų kritinę kodo sekciją

apsaugotą bendro semaforo. Konkrečiu atveju šie VI naudojami kada norima, kad

būtini VI ar blokinės diagramos dalys lauktų tol kol kitas VI ar blokinės diagramos

dalis baigs vykdyti kritinę kodo sekciją (critical section).

Page 41: z.lukosiaus Metodine Spg Medziaga Nauja

41

24 pav. Semaforo suprogramuotos sitemos pavyzdys

3.9. First Call? funkcija

Sinchronizacijos paletėje yra viena funkcija nepriklausanti jokiam

skyriui. Tai First call funkcija. Ji neturi nė vienos įvesties ir tik vieną išvestį. Ši

išvestis yra loginė vertė parodanti ar tai yra pirmas kartas, kada ši kodo sekcija

arba subVI buvo įvykdyta. Paprastai tariant, ši funkcija pirmą kartą ją iškviečiant

graţiną reikšmę TRUE, o kitus kartus reikšmę FALSE, taigi gali būti naudinga jei

uţduotį reikia atlikti tik vieną kartą.

3.10. Laiko ciklas (timed loop)

25 pav. Laiko struktūrų subpaletė

Laiko ciklas yra panašus į While ciklą, bet suteikia programuotojui

galimybę valdyti vykdymo daţnį ir paleidimo laiką. Šis ciklas suteikia precizišką

laiko valdymą toms programoms, kurios reikalauja sudėtinių kritinių laiko

uţduočių, veikiančių skirtingais daţniais. Kiekvienas toks ciklas veikia savo paties

vykdymo sistemoje ir gali būti priskirtas unikalus prioriteto lygmuo iki 128

skirtingų uţduočių. Aukštesnio prioriteto ciklai uţbėgs uţ kelio ţemesnio priotiteto

Page 42: z.lukosiaus Metodine Spg Medziaga Nauja

42

ciklams. Laiko ciklai suteikia savo vykdymo grįţtamąjį ryšį, kas leidţia pritaikyti

ciklinį laiko skaičiavimą, paremtą realaus laiko atlikimu.

Laiko ciklas skirtingai nei while ciklas nereikalauja sujungimo su sąlyginiu

terminalu, tokiu atveju ciklas eis neribotą laiką.

26 pav. Laiko ciklas su visomis įvestimis ir išvestimis:

Šiame paveiksle pavaizduotas laiko ciklas su išskleistomis visomis

įvestimis ir išvestimis. Laiko ciklas turi keturis blokus: 1 – įvesties blokas, 2

kairysis duomenų blokas, 3 – dešinysis duomenų blokas, 4 - išvesties blokas.

Įvesties bloke įvedamos charakteristikų, kurias norime pritaikyti ciklui vertės.

Kairysis duomenų blokas, tai pirmesnės iteracijos metu nustatytų ir gautų

duomenų vertės. Dešinysis duomenų blokas tai kitos iteracijos įvesties blokas,

kuriame galima pakeisti pirmosios iteracijos parametrus. Išvesties blokas, tai -

viso ciklo veikimo rezultatai.

Paspaudus pele du kartus ant įvesties bloko ar paspaudus dešinį klavišą ir

pasirinkus Configure Input Node (Konfigūruoti įvesties mazgą) atsidaro

Configure Timed Loop (konfigūruoti laiko ciklą) langas. Vertės, kurios bus

Page 43: z.lukosiaus Metodine Spg Medziaga Nauja

43

įvedamos šiame lange pasirodys pačiame įvesties bloke. Taipogi nurodyti norimus

parametrus ciklui taip pat galima norimą vertę prijungus prie įvesties mazgo.

27 pav. Configure Timed Loop langas

Configure Timed Loop langas yra skirtas pagrindinių ciklo parametrų

nustatymui: laiko skaičiavimo šaltiniui, periodui, prioritetui bei kitoms

pasirinktims.

Ciklo laiko skaičiavimo Šaltinio (Loop Timing Source) skiltis nusako ciklo

laiko skaičiavimo šaltinio tipą ir pavadinimą. Šis šaltinis gali būti vidinis – iš

anksto nustatytas arba išorinis – sukurtas naudojant Create Timing Source

funkciją arba DAQmx duomenų kaupimo funkcijas.

Jei bus palikta varnelė ant Use Built-In Timing Source (naudoti standartinį

laiko skaičiavimo šaltinį), bus nurodoma naudoti vidinį laiko skaičiavimo šaltinį

laiko struktūros valdymui, kurį galima apsirinkti iš Source Type sąrašo, o jei bus

pasirinktas Use Timing Source Terminal (Naudoti šaltinio terminalą), bus galima

naudoti įėjimo terminalą esantį įvesties bloke, kad būtų galima prijungti išorinį

laiko skaičiavimo šaltinį.

Jau minėtame Use Built-In Timing Source sąraše yra keturios

numatytosios reikšmės:

Page 44: z.lukosiaus Metodine Spg Medziaga Nauja

44

1. 1kHz laikrodis (clock) – numatytasis operacinės sistemos laikrodis, jį

naudojant laiko struktūra gali vykdyti vieną iteraciją kartą į vieną

miliskundę. Visos Labview platformos kurios gali paleisti laiko struktūras

(tarp jų ir laiko ciklus) palaiko šio tipo šaltinį.

2. 1 MHz laikrodis – parenkamas 1 MHz laikrodis, palaikomas RT (realaus

laiko) objektų su Intel Pentium III ar vėlesnės klasės procesoriais, tokių

kaip NI PXI-817x ir NI PXI-818x įrenginiai. Jį naudojant ciklas gali vykdyti

iteraciją kas vieną mikrosekundę.

3. 1 kHz <reset at structure start> - parenkamas 1 kHz šaltinis, kuris

atsistato po kiekvienos struktūros iteracijos.

4. 1 MHz <reset at structure start> - parenkamas 1 MHz šaltinis, kuris

atsistato po kiekvienos struktūros iteracijos.

Prie vidinių šaltinių sąraše gali būti nurodomi ir paties vartotojo

sukonfigūruoti šaltiniai.

Source name nusako vardą atskiram šaltinio atvejui. Pavyzdţiui, jei bus

įvestas tas pats šaltinio vardas dviejose skirtingose struktūrose, abi struktūros

dalinsis ta pačia laikrodţio instancija kaip jų laiko skaičiavimo šaltiniu (naudojant

tą patį šaltinį uţtikrinama, kad struktūrų fazės yra tos pačios, bet struktūros gali

ir nestartuoti tuo pačiu metu).

Loop Timing Attributes – nurodomi pagrindiniai struktūros parametrai:

periodas ir prioritetas:

1. Period (periodas) – nurodo laiko tarpą, kuris praeina tarp dviejų tolesnių

ciklo iteracijų. Periodo laiko vienetas keičiasi priklausomai nuo pasirinkto

laiko skaičiavimo šaltinio.

2. Priority (prioritetas) – nurodo laiko struktūros, reliatyvios kitoms

struktūroms, vykdymo prioritetą. Kuo didesnis skaičius yra įvedamas tuo

didesnį prioritetą gauna struktūra lyginant su kitomis. Reikšmė turi būti

teigiamas sveikasis skaičius nuo 1 iki 65 535.

Page 45: z.lukosiaus Metodine Spg Medziaga Nauja

45

Advanced Timing — nurodomi sudėtingesni struktūros parametrai:

1. Deadline (galutinė riba) — nurodo laiko ribą ciklo iteracijos uţbaigimui. Jei

iteracija nesibaigia prieš nurodytą ribą, Finished Late? [i-1] (baigta vėlai?)

išvestis iš kairiojo duomenų bloko kitoje iteracijoje grąţins reikšmę TRUE.

2. Offset / Phase (atsvara / fazė)—nurodo starto laiką ar fazę struktūros

iteracijai. Šią pasirinktį galima naudoti struktūroms sinchronizuoti arba jų

fazėms sulygiuoti. Pavyzdţiui galima sukonfigūruoti du ciklus taip, kad jie

naudotų to paties laiko skaičiavimo šaltinio instanciją, nurodant tą patį

šaltinio vardą Source name skiltyje. Viename cikle į offset laukelį galima

įrašyti 0, o į kitą 100. Ciklai veiks savo atitinkamuose perioduose, bet 100

laiko vienetų atskirs jų vykdymą.

3. Timeout (pertrauka) — nurodo maksimalų laiko tarpą, kurį ciklas gali laukti

trigerinio (trigger) įvykio iš laiko skaičiavimo šaltinio. Jei ciklas nepradeda

veikti prieš nurodytą reikšmę, iteracija vykdoma ne laiku (untimed) ir

sekančioje iteracijoje grąţinama Timeout reikšmė kairiojo duomenų bloko

Timeout in the Wake-up reason išvestyje.

4. Loop name — unikalus ciklą identifikuojantis vardas.

28 pav. Laiko ciklų pavyzdys

Page 46: z.lukosiaus Metodine Spg Medziaga Nauja

46

Ilustracijoje pavaizduotoje blokinėje diagramoje naudoja numatytąsis

1kHz laiko skaičiavimo šaltinis. Periodas (dt) Ciklui A yra 1000 ms, o ciklui B -

500 ms, tai reiškia, kad Ciklas A yra vykdomas kas vieną sekundę, o Ciklas B kas

pusę sekundės. Abu ciklai baigia vykdymą praėjus 10 iteracijų, ciklas A vykdymą

baigs po 10 sekundţių, o ciklas B po 5 sekundţių.

29 pav. Laiko ciklai pavyzdys

Iliustacijoje pateiktoje blokinėje diagramoje Ciklui B yra pakeista Offset/

Phase reikšmė – iš 0 į 5000 ms. Dėl šios prieţasties ciklas vykdymą pradės po 5

s, tuo tarpu ciklas A veiks normaliai, t.y pradės vykdymą iškart ir baigs po 10

sekundţių.

Processor Assignment (procesoriaus paskyrimo) skiltis — nurodo

procesorių, kuris yra paskirtas ciklo vykdymo valdymui.

1. Mode (reţimas) — nurodo kaip paskirti laisvus procesorius vykdymo

valdymui. Galima pasirinkti tokius reţimus:

Automatinis (automatic) – LabVIEW paskiria procesorių automatiškai.

Procesoriaus (Processor) laukelis tampa neveiksnus ir nustatoma

vertė -2.

Page 47: z.lukosiaus Metodine Spg Medziaga Nauja

47

Savarankiškas (manual) – programuotojas įveda vertę nuo 0 iki 255,

kuri nurodo procesorių, kuris bus naudojamas ciklo vykdymo

valdymui.

2. Processor (procesorius) – laukelyje nurodomas procesorius, kurį

programuotojas nori paskirti vykdymo valdymui. Numatytoji reikšmė yra -

2, kuri reiškia, kad LabVIEW automatiškai paskiria procesorių. Norint tai

padaryti savarankiškai, į laukelį reikia įvesti skaičių nuo 0 iki 255, kur 0

reiškia pirmą įmanomą procesorių. Jei bus įvestas skaičius didesnis nei

galimų procesorių skaičius, bus sukurta relaus laiko klaida ir struktūra

nebebus vykdoma.

Action on Late Iterations (veiksmas dėl pavėlavusių iteracijų) — nurodo

pavėlavusios iteracijos reţimą ciklui.

Discard missed periods (atmesti praleistus periodus) — nurodo kad

ciklas išmestų bet kokius duomenis, sukurtus per praleistas iteracijas

ir vykdytų kitą numatytą iteraciją nustatytą per offset ir period

vertes.

Maintain original phase (išlaikyti originalią fazę) – nurodo kad ciklas

grįţtų į originaliai sukonfigūruotą fazę. Pašalinus ţymę nurodoma,

kad ciklas vyktų tame pačiame periode bet ne originaliai

sukonfigūruotoje fazėje.

Jei ciklas vėluoja, jis gali praleisti duomenis, kuriuos sugeneravo kiti laiko ciklai

ar įrenginiai. Pavyzdţiui, jei ciklas praleidţia dvi iteracijas ir kai kuriuos duomenis

iš dabartinio perodo, buferis gali pasaugoti duomenis iš praleistų iteracijų.

Vartotojas gali sukonfigūruoti ciklą, kad jis apdorotų praleistus duomenis prieš

susilygiuojant su nurodyta tvarka. Vis dėlto timed ciklas kuri apdoroja praleistas

iteracijas sukelia jitter (drebėjimą / mirgėjimą) (Jitter yra maţi pakitimai

laikrodţio periode (from sample to sample). Jie pasirodo kaip triukšmas

suskaitmenintame signale ir labiau paveikia aukštesnio daţnio signalus. Šį

reiškinį galima valdyti (bet ne pašalinti), naudojant tikslų laikrodţio šaltinį.

Page 48: z.lukosiaus Metodine Spg Medziaga Nauja

48

Jei vartotojas nenori apdoroti praleistų duomenų, ciklas gali ignoruoti

senesnius duomenis buferyje, kuriuos ciklo iteracijos praleido ir apdoroti tik

naujausius duomenis, tokius, kurie yra prienami kitame periode ir vėlesnėse

iteracijose.

Dukart spustelėjus dešinį duomenų bloką arba per kontekstinį meniu

pasirinkus Configure input node (konfigūruoti įvesties bloką) atsidarys Configure

next iteration (konfigųruoti sekančią iteraciją) langas.

30 pav. Configure next iteration langas

Šitas langas naudojamas nustatyti, kaip ciklas bus vykdomas per kitą

iteraciją. Galima nurodyti naują periodą, prioritetą ir kitas pasirinktis sekančiai

iteracijai. Period, priority, deadline, timeout, offset / phase numatytos reikšmės

yra -1, kas reiškia, jog reikšmės bus tokios pačios kaip ir praeitoje iteracijoje.

Laiko ciklą skirtingai nei While ar For ciklus, galima padalyti į kelias dalis

(kadrus). Per kontekstinį meniu pasirinkus Add Frame After arba Add Frame

Before. Tumet spsutelėjus du kartus ant pirmo kadro dešiniojo duomenų bloko

Page 49: z.lukosiaus Metodine Spg Medziaga Nauja

49

arba per kontekstinį meniu pasirinkus configure input node (konfigūruoti įvesties

bloką) atsivers langas configure next frame timing (konfigūruoti sekančio kadro

laiką) .

31 pav. Laiko ciklas padalytas į kadrus

Be jau ţinomų Priority, Deadline, Timeout, Mode, Processor ir Mode laukelių jame

yra Start laukelis. Start nurodo laiką nuo kurio bus pradėtas vykdyti sekantis

kadras. Nurodyta start laiko vertė turi būti reliatyvi praeito kadro startui.

Page 50: z.lukosiaus Metodine Spg Medziaga Nauja

50

32 pav. Configure next frame timing langas

4. VARTOTOJO SĄSAJOS KŪRIMAS

1. Naujojo virtualaus prietaiso sukūrimui spragtelkite New VI LabVIEW

dialogo lange.

2. Sukurkite stop mygtuką spragtelėję Controls>>Boolean>>Stop

Button valdymo paletėje, kaip parodyta ţemiau.

33 pav. Controls>>Boolean>>Stop Button parinkimas

3. Spragtelkite ant objekto dešiniuoju klavišu ir pasirinkite Visible

Items>>Label iš pasirodţiusio meniu tam, kad parodyti arba paslėpti objekto ţymę.

4. Objektų matmenų bei vietos pakeitimui naudokite išsidėstymo įrankį iš

įrankių paletės. Jei darbastalyje nesimato šios paletės spragtelkite Window>>Show

Tools Palette.

5. Sugrįţimui į pagrindinę valdymo paletę naudokite

mygtuką Up (aukštyn). Sukurkite bangos grafiką pasirenkant

Controls>>Graph>>Waveform Chart. Šis instrumentas braiţo grafiką po 1 tašką

Page 51: z.lukosiaus Metodine Spg Medziaga Nauja

51

prie vieną laiko momentą. Grafiko pavadinimo pakeitimui naudokite ţymeklį iš

įrankių paletės .

6. Norėdami pamatyti įrankių paletę spragtelkite Window>>Show Tools

Palette. Panaudokite valdymo įrankį grafiko skalės pakeitimui. Spragtelkite du

kartus ant -10 Y ašyje ir uţrašykite 0.0 skalės pakeitimui. Po to spragtelkite du

kartus ant 10 Y ašyje ir uţrašykite 1.0. Po pakeitimo grafikas turėtų atrodyti kaip

parodyta ţemiau.

34 pav. Controls>>Graph>>Waveform Chart parinkimas

4.1 Blokinės diagramos kūrimas

1. Norėdami pamatyti savo VP blokinę diagramą,

spragtelkite Window>>Show Diagram.

2. Dvi piktogramos blokinėje diagramoje atitinka Stop mygtuką ir grafiką,

kuriuos jūs įterpėt į vartotojo sąsają. Norėdami pamatyti funkcijų paletę,

spragtelkite Window>>Show Functions Palette.

3. Pasirinkite Functions>>Numeric>>Random Number (0-1). Priartinus

Page 52: z.lukosiaus Metodine Spg Medziaga Nauja

52

atsitiktinio skaičiaus funkciją prie grafiko piktogramos išvadų, LabVIEW automatiškai

sujungia juos laidais. Atleidus pelytės klavišą nuo funkcijos, LabVIEW automatiškai

prijungia laidą prie prievado.

4. Norėdami grįţti į pagrindinę funkcijų paletę spragtelkite Up navigacijos

mygtuką. Sukurkite kilpą „kol― (while loop),

pasirinkdami Functions>Structures>>While Loop. Kodas šioje kilpoje yra vykdomas,

kol būklės jungtis priima signalą TEISINGAI arba KLAIDINGAI (TRUE or FALSE).

Pagal nutylėjimą tas signalas yra „vykdyti jeigu teisingai― (Continue if True).

5. Nustatykite pelytės ţymeklį blokinėje diagramoje ten, kur jūs norite

pritvirtinti viršutinį kairįjį kilpos kraštą. Nutemkite rėmelį taip, kad jame atsirastų

atsitiktinio skaičiaus funkcija, grafikas ir stop mygtukas. Blokinė diagrama turėtų

atrodyti, kaip pavaizduota ţemiau pateiktame paveiksliuke.

35 pav. Functions>Structures>>While Loop (blokinė diagrama)

4.2. Virtualiųjų prietaisų sujungimas ir vykdymas

1. Spragtelkite Window>>Show Tools Palette, įrankių paletės aktyvavimui.

Pasirinkite jungimo įrankį iš įrankių paletės.

2. Naudodami jungimo įrankį, sujunkite Stop mygtuką su kilpos būklės

Page 53: z.lukosiaus Metodine Spg Medziaga Nauja

53

piktograma. Kad padarytumėte tai, spragtelkite Stop mygtuką, po to judėkite iki

būklės piktogramos. Spragtelėjus dar kartą, šios piktogramos susijungs laidais.

3. VP naudoja Stop mygtuką, todėl reikėtų pakeisti kilpos elgesį į tokį, kad

VP sustotų paspaudus Stop mygtuką. Spragtelkite dešiniuoju klavišu kilpos būklės

piktogramą ir pasirinkite Stop if True. Būklės piktograma turėtų atrodyti kaip

pavaizduota paveiksliuke iš kairės. Blokinė diagrama turėtų atrodyti kaip pavaizduota

ţemiau pateiktame paveiksliuke.

36 pav. Stop mygtukas (blokinė diagrama)

4. Pasirinkite pagrindinį skydelį paspaudus <Ctrl-E>. Įrankių paletei

aktyvuoti spragtelkite Window>>Show Tools Palette. Pasirinkite valdymo įrankį iš

šios paletės.

5. Spragtelkite vykdymo (Run) mygtuką VP vykdymui.

6. Spragtelkite Stop mygtuką VP sustabdymui

Page 54: z.lukosiaus Metodine Spg Medziaga Nauja

54

37 pav. Generuojamo signalo atavizdavimas

4.3. Virtualiųjų prietaisų sinchronizavimas

1. Aktyvuokite blokinę diagramą paspaudus <Ctrl-E>. Iš funkcijų paletės

pasirinkite Functions>>Time & Dialog>>Wait Until Next ms Multiple ir patalpinkite

piktogramą kilpoje.

2. Naudodami jungimo įrankį, spragtelkite dešiniuoju klavišu kairėje

piktogramos Wait Until Next ms Multiple pusėje ir pasirinkite Create>>Constant iš

atsiradusio meniu.

3. Įrašykite 250 atsiradusiame milisekundţių langelyje. Tokiu būdu jūs

sukursite 250 ms uţdelsimą tarp generuojamų grafiko taškų. Blokinė diagrama

turėtų atrodyti kaip pavaizduota ţemiau pateiktame paveiksliuke.

Page 55: z.lukosiaus Metodine Spg Medziaga Nauja

55

38 pav. Wait Until Next ms Multiple (uţdelsimas)

4. Vartotojo sąsajos langelyje paleiskite jūsų VP. Dabar galite stebėti, kaip

veikia jūsų VP uţdelsimo poveikis.

4.4. Duomenų analizė ir įvestis/išvestis

1. Blokinėje diagramoje aktyvuokite funkcijų paletę

spragteldami Window>>Show Functions Palette.

2. Pasirinkite Functions>>Mathematics>>Probability and

Statistics>>Mean.vi ir patalpinkite VP kilpos išorėje.

3. Naudodami jungimo įrankį spragtelkite ant vidurkio VP (Mean VI)

viršutiniame dešiniame kampe ir pasirinkiteCreate>>Indicator iš atsiradusio meniu.

Tokiu būdu vartotojo sąsajoje atsiras indikatorius, rodantis atsitiktinio skaičiaus

funkcijos vidurkį.

4. Pasirinkite Functions>>File I/O>>Write To Spreadsheet File.vi ir

patalpinkite šį VP kilpos išorėje.

5. Naudodami jungimo įrankį sujunkite vidurkio funkcijos X jungtį su laidų

jungiančiu atsitiktinio skaičiaus funkciją su grafiku. Lauţytas laidas parodo, kad jūs

bandote sujungti skirtingų duomenų tipo jungtis. Jūs pataisysite tai 7 ţingsnyje.

6. Sukurkite kitą laido atsišakojimą, prijungdami laidą nuo įrašančio į bylą

Page 56: z.lukosiaus Metodine Spg Medziaga Nauja

56

VP 1D data jungties prie laido dalies tarp vidurkio ir atsitiktinio skaičiaus, esančio

kilpos išorėje. Jūs naudojate vienos dimensijos jungtį, nes kilpa „kol― sukuria vienos

dimensijos skaičių eilutę iš duomenų sugeneruotų atsitiktinių skaičių. Laidai bus

lauţyti, bet jūs pataisysite tai 7 ţingsnyje.

7. Oranţinis kvadratėlis ant kilpos yra vadinamas tuneliu. Spragtelkite

dešiniuoju klavišu šį kvadratėlį ir pasirinkite Enable Indexing iš atsiradusio meniu.

Taip jūs sudarote sąlygas kilpai rinkti duomenis ir praleidinėti juos kaip surinktų

duomenų rinkinį, kada kilpos vykdymas yra sustabdytas. Lauţyti laidai turėtų

pasikeisti į vientisus oranţinės spalvos laidus, nes jungtis jau yra vieno tipo. Blokinė

diagrama turėtų atrodyti kaip pavaizduota ţemiau pateiktame paveiksliuke.

39 pav. Analizės VP modulių prijungimas

8. Grįţkite į vartotojo sąsają ir paleiskite VP. Kada

paspausite Stop mygtuką, jūs pamatysite duomenų vidurkį ir atsiras dialogo

langas Choose file to write. Įrašykite duomenys.txt ir išsaugokite bylą,

spragteldami Save mygtuką.

9. Atidarykite duomenys.txt bylą, naudodami tekstinį redaktorių.

Page 57: z.lukosiaus Metodine Spg Medziaga Nauja

57

PRATIMAI

Pratimas Nr.1

Darbo tikslas.

Susipaţinti su LabVIEW pagrindinių funkcijų generavimo virtualiais prietaisais ir

išmokti pavaizduoti funkcijas grafikuose.

Uţduotis.

1. Naujojo virtualaus prietaiso sukūrimui spragtelkite New VI LabVIEW

dialogo lange.

2. Sukurkite du bangos grafikus

pasirenkant Controls>>Graph>>Waveform Graph. Grafiko pavadinimo pakeitimui

naudokite ţymeklį iš įrankių paletės.

3. Objektų matmenų bei vietos pakeitimui naudokite išsidėstymo įrankį

iš įrankių paletės. Jei darbastalyje nesimato šios paletės

spragtelkite Window>>Show Tools Palette. Vartotojo sąsaja turėtų atrodyti kaip

parodyta ţemiau.

Page 58: z.lukosiaus Metodine Spg Medziaga Nauja

58

4. Aktyvuokite VP blokinę diagramą spragtelėję Window>>Show

Diagram.

5. Iš funkcijų paletės įterpkite sinusinės funkcijos VP

pasirenkant Functions>>Waveform>>Waveform Generation>>Sine

Waveform.vi. Pakartokite šį veiksmą įterpdami trikampinę funkciją (Triange

Waveform.vi), kvadratinę funkciją (Square Waveform.vi), pjūklinę funkciją

(Sawtooth Wave.vi) ir pagrindinių funkcijų generuoklę (Basic Function

Generator.vi).

6.Naudodami jungimo įrankį spragtelkite dešiniuoju pelytės klavišu

kairėje sinusinės funkcijos VP pusėje prie daţnio jungties (frequency) ir

pasirinkite Create>>Control iš atsiradusio meniu. Pakartokite tą patį veiksmą

kurdami amplitudes (amplitude) valdymą.

Page 59: z.lukosiaus Metodine Spg Medziaga Nauja

59

7.Naudodami jungimo įrankį prijunkite prie atsiradusių valdymo įrankių

kitų virtualiųjų prietaisų daţnio ir amplitudės jungtis.

8. Naudodami jungimo įrankį spragtelkite dešiniuoju pelytės klavišu

viršutinėje pagrindinių funkcijų generuoklės pusėje prie signalo tipo (signal type)

jungties ir pasirinkite Create>>Control iš atsiradusio meniu.

9. Sukurkite kilpą „kol― (while loop),

pasirinkdami Functions>>Structures>>While Loop. Kilpoje turi atsirasti visi VP

esantys blokinėje diagramoje.

10. Prie būklės jungties prijunkite loginį „Taip―, kuris

yra Functions>>Boolean>>True Constant. Blokinė diagrama turėtų atrodyti kaip

parodyta ţemiau.

11. Naudodami jungties įrankį prijunkite antrą grafiką prie pagrindinių

funkcijų generuoklės išėjimo jungties (signal out).

12. Norint prijungti likusias funkcijų generuokles prie pirmo grafiko, reikia

sudaryti iš jų masyvą. PasirinkiteFunctions>>Array>>Build Array ir patalpinkite

šį VP blokinėje diagramoje.

Page 60: z.lukosiaus Metodine Spg Medziaga Nauja

60

13. Pagal nutylėjimą masyvo sudarymo įrankis turi tik viena įėjimą.

Spragtelkite dešiniuoju pelytės klavišų šį įrankį ir pasirinkite Add Input iš

atsiradusio meniu. Kartokite šį veiksmą tol, kol neatsiras keturi įėjimai.

14. Prie masyvo sudarymo įrankio iš kairės pusės prijunkite dar

neprijungtas funkcijų generuokles. Prie dešinės masyvo sudarymo įrankio pusės

prijunkite pirmą grafiką. Blokinė diagrama turėtų atrodyti, kaip pavaizduota

ţemiau.

15. Pasirinkite pagrindinį skydelį paspaudus <Ctrl-E>. Naudodami

išsidėstymo įrankį, patalpinkite valdymo įrankius į jums patogią vietą.

16. Spragtelkite Run VP vykdymui. Dabar galite keisti signalų daţnius,

amplitudes ir signalų tipus ir stebėti signalų grafikus.

Page 61: z.lukosiaus Metodine Spg Medziaga Nauja

61

Pratimas Nr.2

Darbo tikslas.

Išmokti įtraukti duomenis į VP, sudaryti iš tų duomenų pasiskirstymo histogramą

bei paskaičiuoti duomenų aritmetinį vidurkį, standartinę paklaidą bei dispersiją.

Trumpa teorija.

Pasiskirstymo histogramoje abscisių ašyje yra atidedamos klasių ribos, o

ordinačių ašyje – stačiakampiai, kurių plotas lygus klasės santykiniam daţniui, o

aukštis – atitinkamos klasės vidutiniam empiriniam tikimybės tankiui. Visos

histogramos stačiakampių plotas pagal tikimybės tankio normavimo sąlygą yra

Page 62: z.lukosiaus Metodine Spg Medziaga Nauja

62

lygus vienetui.

Tikrosios matuojamo dydţio vertės įverčių laikomas matavimo rezultatų

aritmetinis vidurkis. Jeigu matavimai yra vienodo tikslumo, tai aritmetinis

vidurkis nustatomas taip:

Čia n – matavimų skaičius, xn – n-tojo matavimo metu gauta matuojamo

dydţio vertė.

Matavimo rezultatų atsitiktinių paklaidų dispersijos įverčių, kai rezultatas yra

vienodo tikslumo, yra:

Daţniau nei paklaidų dispersijos įvertį prireikia naudoti standartinės

paklaidos įvertį, todėl tenka traukti kvadratinę šaknį iš σn2:

Uţduotis.

Page 63: z.lukosiaus Metodine Spg Medziaga Nauja

63

1. Naujojo virtualaus prietaiso sukūrimui spragtelkite New VI LabVIEW

dialogo lange.

2. Sukurkite XY grafiką pasirinkdami Controls>>Graph>>XY Graph.

Grafiko pavadinimo pakeitimui naudokite ţymeklį iš įrankių paletės.

3. Objektų matmenų bei vietos pakeitimui naudokite išsidėstymo įrankį iš

įrankių paletės. Jei darbastalyje nesimato šios paletės, spragtelkite Window>>Show

Tools Palette. Vartotojo sąsaja turėtų atrodyti kaip parodyta ţemiau.

4. Norėdami pamatyti savo blokinę diagramą, spragtelkite Window>>Show

Diagram.

5. Įterpkite histogramos įrankį

spragteldami Analyze>>Mathematics>>Probability and Statistics>> Histogram.vi.

6. Įterpkite standartinės paklaidos ir dispersijos funkcijos įrankį,

spragtelėdami Analyze>>Mathematics>> Probability and Statistics>>Standart

Deviation and Variance.

7. Naudodami jungimo įrankį spragtelkite dešiniuoju pelytės klavišu

Page 64: z.lukosiaus Metodine Spg Medziaga Nauja

64

dešinėje standartinės paklaidos ir dispersijos įrankio pusėje ir sukurkite aritmetinio

vidurkio, standartinės paklaidos ir dispersijos indikatorius,

pasirinkdamiCreate>>Indicator iš atsiradusio meniu.

8. Sukurkite klasių skaičiaus pasirinkimo įrankį spragteldami dešiniuoju

pelytės klavišu dešinėje tikimybinės pasiskirstymo histogramos įrankio pusėje ir

pasirinkite Create>>Indicator iš atsiradusio meniu.

9. Įterpkite duomenų nuskaitymo iš bylos įrankį pasirinkdami Functions>>File

I/O>>Read From Spreadsheet File.vi. Sujunkite įrankius, kaip pavaizduota ţemiau.

10. Duomenų nuskaitymui iš kiekvienos tekstinės bylos eilutės prijunkite

loginį „Taip― prie duomenų nuskaitymo iš bylos įrankio perkėlimo (transpose)

jungties. Loginį „Taip― galite rasti spragtelėję Functions>>Boolean>>True

Constant.

11. Duomenų prijungimui prie histogramos grafiko naudokite ryšulio įrankį,

kuris yra Functions>>Cluster>> Bundle. Prijunkite prie kairės jo

pusės h(X) ir X histogramos išėjimus.

12. Sujunkite blokinę diagramą, kaip pavaizduota ţemiau.

Page 65: z.lukosiaus Metodine Spg Medziaga Nauja

65

13. Su tekstiniu redaktoriumi sukurkite bylą ir įveskite į ją duomenis kaip

pavaizduota ţemiau.

14. Pasirinkite vartotojo sąsają paspausdami <Ctrl-E>.

15. Išdėstykite įrankius jums patogioje vietoje.

16. Tam, kad grafike būtų vaizduojama ne kreivė, o stulpeliai, spragtelkite

dešiniuoju klavišu grafiko uţrašą ir pasirinkite iš Bar Plots jums tinkamą

horizontalių stulpelių vaizdavimo būdą.

Page 66: z.lukosiaus Metodine Spg Medziaga Nauja

66

17. Spragtelkite Run VP vykdymui. Atsiradusiame dialogo lange

pasirinkite prieš tai sukurtą bylą. Rezultatai turėtų atrodyti kaip pavaizduota

ţemiau.

Pratimas Nr.3

Darbo tikslas.

Išmokti naudotis LabVIEW formulių mazgu, atvaizduoti formulę XY grafike, bei

įrašyti rezultatų duomenis į tekstinę bylą.

Trumpa teorija.

Prijungus prie pn sandūros išorinę įtampą, sutrinka krūvininkų difuzijos ir dreifo

pusiausvyra ir per pn sandūrą ima tekėti srovė. Šios srovės priklausomybė nuo

Page 67: z.lukosiaus Metodine Spg Medziaga Nauja

67

įtampos yra netiesinė ir vadinama pn sandūros voltamperine charakteristika.

Idealios pn sandūros voltamperinės charakteristikos grafikas ir formulė

yra pateikti ţemiau.

kur:

Is - atgalinė pn sandūros srovė;

q - elektrono krūvis (1,602∙10-19 C);

U - įtampa (voltais);

T - normali temperatūra (kelvinais);

k - Bocmano konstanta (1,381∙10-23 J/mol);

Uţduotis.

1. Naujojo virtualaus prietaiso sukūrimui spragtelkite New VI LabVIEW

dialogo lange.

2. Grafiko pavadinimo pakeitimui naudokite ţymeklį iš įrankių paletės.

3. Objektų matmenų bei vietos pakeitimui naudokite išsidėstymo įrankį iš

Page 68: z.lukosiaus Metodine Spg Medziaga Nauja

68

įrankių paletės. Jei darbastalyje nesimato šios paletės, spragtelkite Window>>Show

Tools Palette.

4. Įterpkite XY grafiką į vartotojo sąsają spragtelėję Controls>>Graph>>XY

Graph.

5. Spragtelkite Controls>>Numeric>>Digital Control ir įterpkite penkis

skaičių valdymo įrankius į vartotojo sąsają.

6. Naudodami ţymeklį pakeiskite skaičių valdymo įrankių pavadinimus į

Umin (minimali įtampa), Umax (maksimali įtampą), dV (įtampos ţingsnis), Is

(atbulinė srovė), T (normali temperatūra).

7. Spragtelkite dešiniuoju pelytės klavišu į temperatūros valdymo įrankį ir

pasirinkite Format & Precision iš atsiradusio meniu. Tikslumo skiltyje (Digits of

Precision) įrašykite 0. Tokiu būdu temperatūros valdymo įrankyje nebus rodomi

skaičiai po kablelio. Vartotojo sąsaja turėtų atrodyti, kai parodyta ţemiau.

Page 69: z.lukosiaus Metodine Spg Medziaga Nauja

69

8. Naudodami valdymo įrankį spragtelkite grafiką dešiniuoju pelytės

klavišu ir nuimkite varnelę nuo Y Scale>>AutoScale Y. Y ašyje pakeiskite skalę

nuo -1 iki 30.

9. Paspauskite <Ctrl-E> blokinės diagramos aktyvavimui.

10. Tuščioje vietoje sukurkite gana platų formulės mazgą

pasirinkdami Functions>>Structures>>Formula Node. Šiame mazge vėliau bus

įrašytos formulės.

11. Aplink formulės mazgą sukurkite kilpą (For Loop)

spragtelėję Functions>>Structures>>For Loop.

12. Spragtelkite dešiniuoju pelytės klavišu formulės mazgą ir sukurkite

septynis įėjimus – i, dV, Umin, q, k, T, Is(didelės ir maţos raidės nėra tas pats!)

pasirinkdami Add Input iš atsiradusio meniu.

13. Tokiu pačiu būdu sukurkite du išėjimus I ir U pasirinkdami Add Output.

14. Naudodami jungties įrankį prijunkite atitinkamus skaičių valdymo

įrankius prie formulės mazgo įėjimo.

15. Sukurkite dvi skaičių

konstantas q ir k spragtelėję Functions>>Numeric>>Numeric Constant.

16. Spragtelkite dešiniuoju pelytės klavišu q konstantą ir pasirinkite Format

& Precision iš atsiradusio meniu. Tikslumo skiltyje (Digits of Precision) įrašykite 3 ir

pasirinkite Scientific Notation. Įrašykite 1,603E-19 į skaičiaus dėţutę. Pakartokite

tą pati veiksmą su k konstanta įrašydami į skaičiaus dėţutę 1,381E-23.

17. Įterpkite skirtumo ir dalybos įrankius

spragtelėję Functions>>Numeric. Naudodami jungties įrankį sujunkite įrankius,

kaip pavaizduota ţemiau. Dabar kilpa bus vykdoma tiek kartų, koks bus

formulės (Umax-Umin)/dV rezultatas.

Page 70: z.lukosiaus Metodine Spg Medziaga Nauja

70

18. Dviejų išėjimų (U ir I) prijungimui prie grafiko naudokite ryšulio

įrankį, kurį rasite Funtions>>Cluster>>Bundle. Prijunkite išėjimus (U ir I) prie

dešinės ryšulio funkcijos pusės, o prie kitos jo pusės prijunkite grafiką.

19. Į formulės mazgą įrašykite įtampos funkciją: U=Umin+dV*i; (kiekviena

funkcija turi pasibaigti kabliataškiu). Tokiu būdu U išėjime atsiras įtampos reikšmių

masyvas nuo Umin iki Umax su dV ţingsniu.

20. Į formulės mazgą įrašykite srovės funkciją: I=Is*(exp((U*q)/(T*k))-1);.

Tokiu būdu I išėjime atsiras srovės reikšmių masyvas.

21. Duomenų įrašymui į bylą naudokite VP, kuris yra Functions>>File

I/O>>Write to Spreadsheet File.vi.

22. Duomenys įrašomi į bylą turi būti masyvo pavidalu. Tam tikslui naudokite

masyvo sudarymo įrankį, kuris yraFunctions>>Array>>Buid Array. Pagal

nutylėjimą šis įrankis turi vieną įėjimą.

23. Spragtelkite dešiniuoju pelytės klavišu masyvo sudarymo įrankį ir

pasirinkite Concaternate Inputs iš atsiradusio meniu. Po to pasirinkite Add

Input.

24. Prijunkite U ir I išėjimus prie masyvo sudarymo įrankių. Kitą įrankio galą

Page 71: z.lukosiaus Metodine Spg Medziaga Nauja

71

prijunkite prie įrašymo i bylą įrankio 2D Data jungties.

25. Iš funkcijų paletės pasirinkite loginę konstantą „Taip―

spragtelėję Functions>>Boolean>>True Constant. Prijunkite ją prie įrašymo į

bylą įrankio transpose jungties. Tokiu būdu tekstinėje byloje dviejų dimensijų

masyvas bus įrašytas i du stulpelius (neprijungus loginio „Taip― prie perkėlimo

(transpose) jungties, masyvas į tekstinę bylą būtų surašytas viena eilute).

26. Pasirinkite Controls>>Numeris>>Digital Indicator ir pajunkite jį

prie kilpos informacinės jungties. Indikatoriuje bus pavaizduotas atliktų operacijų

skaičius.

27. Spragtelkite Run VP vykdymui.

28. Atsiradusiame langelyje įrašykite bylos (pvz. duomenys.txt), į kurią bus

išsaugoti rezultatai, pavadinimą. Atidarykite bylą ir perţiūrėkite duomenis.

Pagrindinis skydelis po vykdymo turėtų atrodyti kaip pavaizduota ţemiau.

Page 72: z.lukosiaus Metodine Spg Medziaga Nauja

72

29. Duomenų byla turėtų atrodyti, kaip pavaizduota ţemiau. Kairiajame

stulpelyje yra įrašytos įtampos reikšmės, o dešiniajame – srovės reikšmės.

Page 73: z.lukosiaus Metodine Spg Medziaga Nauja

73

5. LOGINĖS ALGEBROS ELEMENTAI

1. Neigimas – loginis elementas NE (invertorius)

Loginis elementas NE (NOT). Jis turi vieną įėjimą ir vieną išėjimą. Jei

įėjime esti loginio vieneto įtampa, išėjime – loginio nulio ir atvirkščiai. Jei du NE

elementai sujungiami nuosekliai, signalas antrojo elemento išėjime kartoja

įtampos kitimus pirmojo elemento įėjime.

Ţymimas simboliu - ar .

40 pav. Loginis elementas NE (NOT) grafinis ţymėjimas

9 lentelė. • Loginio elemento NE (NOT) Reikšmių lentelė:

x x

K T

T K

2. Konjunkcija – loginis elementas IR

Elementas IR ( AND) turi du arba daugiau įėjimų. Išėjimo signalas

įgyja vieneto reikšmę tik tada, kuomet į visus įėjimus paduodama vieneto

reikšmė.

Ţymimas simboliu ar *.

Page 74: z.lukosiaus Metodine Spg Medziaga Nauja

74

41 pav. Loginis elementas IR ( AND) grafinis ţymėjimas

10 lentelė. Loginio elemento IR ( AND)Reikšmių lentelė:

x y x

y

T T T

T K K

K T K

K K K

3. Disjunkcija – loginis elementas ARBA

Elementas ARBA (OR) turi du arba daugiau įėjimų. Išėjimo signalas

įgyja vieneto reikšmę jei į bet kurį įėjimą paduodama vieneto reikšmė.

Ţymimas simboliu ar +

42 pav. Loginis elementas ARBA (OR) grafinis ţymėjimas

11 lentelė. Loginio elemento ARBA (OR) Reikšmių lentelė:

x y x

y

Page 75: z.lukosiaus Metodine Spg Medziaga Nauja

75

T T T

T K T

K T T

K K K

4. Loginis elementas IR-NE

Elementas IR – NE (NAND) turi du arba daugiau įėjimų. Išėjimo

signalas įgyja nulio reikšmę tik tada, kuomet į visus įėjimus paduodama vieneto

reikšmė; kitu atveju išėjime esti vieneto reikšmė.

Tai labai populiarūs elementai, nes įvairiai juos jungiant galima gauti

IR, ARBA, NE elementus ar bet kurią kitą loginę funckiją.

43 pav. Loginis elementas IR – NE (NAND)grafinis ţymėjimas

12 lentelė. Loginio elemento IR – NE (NAND)Reikšmių lentelė:

x y (x y)

T T K

T K T

K T T

K K T

5. Loginis elementas - Išskirtinis ARBA

Elementas Išskirtinis ARBA ( XOR / exclusive OR), dar vadinamas

palyginimo elementu, paprastai turi du (labai retai daugiau) įėjimų. Dviejų įėjimų

Page 76: z.lukosiaus Metodine Spg Medziaga Nauja

76

elementui išėjimo signalas įgyja nulio reikšmę tik tada, jei abiejų įėjimo signalų

reikšmės lygios. Jei įėjimo signalų reikšmės skirtingos (nesvarbu kokios), įšėjime

esti loginio vieneto reikšmė.

Tokie elementai gerai tinka lyginimo operacijai. Esant daugiau įėjimų,

elemento išėjimo signalas lygus vienetui jei įėjimo signalų, turinčių vienetinį lygį,

skaičius yra nelyginis.

44 pav. Loginis elementas Išskirtinis ARBA ( XOR / exclusive OR)grafinis

ţymėjimas

13 lentelė. Loginio elemento Išskirtinis ARBA ( XOR / exclusive OR)Reišmių lentelė:

x y XOR

T T K

T K T

K T T

K K K

6. Loginis elementas – ARBA-NE

Elementas ARBA – NE (NOR) turi du arba daugiau įėjimų. Išėjimo

signalas įgyja nulio reikšmę jei į bet kurį įėjimą paduodama vieneto reikšmė. Kitu

atveju išėjime turi vieneto reikšmė.

Page 77: z.lukosiaus Metodine Spg Medziaga Nauja

77

45 pav. Loginis elementas Išskirtinis ARBA – NE (NOR) grafinis ţymėjimas

14 lentelė. Loginio elemento ARBA – NE (NOR) Reikšmių lentelė:

x y (x y)

T T K

T K K

K T K

K K T

Page 78: z.lukosiaus Metodine Spg Medziaga Nauja

78

6. LOGINĖS ALGEBROS ELEMENTAI LabVIEW APLINKOJE

6.1. Loginiai veiksmai su pora įvesčių

1. Loginis IR (AND)

Apskaičiuoja visų ivesčių loginį IR. Abi įvestys privalo būti Boolean tipo kintamieji

arba skaitinės reikšmės. Jeigu abi įvestys yra TIESA (TRUE), tada funkcija

grąţina tiesos reikšmę, kitu atveju KLAIDOS (FALSE) reikšmę.

46 pav. Loginis IR (AND)

47 pav.

x.and.y? – tai x bei y loginis IR

x – privalo būti Boolean kintamasis ar skaitinė vertė. Tai taip pat

gali būti ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean

kintamųjų ir t.t.

y - privalo būti Boolean kintamasis ar skaitinė vertė. Tai taip pat

gali būti ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean

kintamųjų ir t.t.

Reikšmių lentelė:

x y x .and. y?

T T T

T K K

Page 79: z.lukosiaus Metodine Spg Medziaga Nauja

79

K T K

K K K

2. Loginis ARBA (OR)

Apskaičiuoja loginį ARBA (OR) visų įvesčių. Abi įvestys turi būt Boolean tipo

kintamieji arba skaitinės reikšmės. Jeigu abi įvestys turi KLAIDOS (FALSE)

reikšmes, tai funkcija grąţina KLAIDOS reikšmę.

48 pav. Loginis ARBA (OR)

49 pav.

x.or.y? – tai yra x bei y loginis ARBA.

x – privalo būti Boolean kintamasis ar skaitinė vertė. Tai taip pat gali būti ir

skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir t.t.

y - privalo būti Boolean kintamasis ar skaitinė vertė. Tai taip pat gali būti ir

skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir t.t.

Reikšmių lentelė:

x y x .or. y?

T T T

T K T

K T T

K K K

Page 80: z.lukosiaus Metodine Spg Medziaga Nauja

80

3. Išskirtinis ARBA (exclusive OR/XOR)

Apskaičiuoja grieţtą (XOR) visų įvesčių ARBA. Abi įvestys turi būti Boolean

kintamųjų tipų. Jeigu ai įvestys yra TIESA, arba abi KLAIDA, funkcija grąţina

klaidos reikšmę. Kitu atveju funkcija grąţina TIESOS reikšmę.

50 pav. Išskirtinis ARBA (exclusive OR/XOR)

x.or.y? – tai yra x bei y loginis ARBA.

x – privalo būti Boolean kintamasis ar skaitinė vertė. Tai taip pat

gali būti ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean

kintamųjų ir t.t.

y - privalo būti Boolean kintamasis ar skaitinė vertė. Tai taip pat

gali būti ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean

kintamųjų ir t.t.

Reikšmių lentelė:

x y x .and. y?

T T K

T K T

K T T

K K K

Page 81: z.lukosiaus Metodine Spg Medziaga Nauja

81

4. NE (NOT)

Apskaičiuoja loginį įvesties paneigimą. Jeigu x yra KLAIDA (FALSE), funkcija

grąţina TIESOS (TRUE) reikšmę. Jeigu x yra TIESA, funkcija grąţina KLAIDOS

reikšmę.

51 pav. NE (NOT)

.not. x? – tai yra loginis x paneigimas.

x – gali būti skaliarinė Boolean kintamojo ar skaitinė vertė, masyvas ar

grupelė Boolean kintamųjų verčių ar skaičių ir t.t.

Reikšmių lentelė:

x .not. x?

K T

T K

5. IR - NE (NOT AND)

Apskaičiuoja loginį visų įvesčių IR paneigimą (NAND) . Abi įvestys turi būti

Boolean tipo kintamieji arba skaitinės reikšmės. Jeigu abi įvestys yra TIESA

(TRUE), tada funkcija graţins KLAIDOS (FALSE) reikšmę. Kitu atveju bus

grąţinama TIESOS reikšmė.

Page 82: z.lukosiaus Metodine Spg Medziaga Nauja

82

52 pav. IR - NE (NOT AND)

.not. (x .and. y)? – tai yra loginis x IR y paneigimas.

x – privalo būti Boolean kintamasis ar skaitinė vertė. Tai, taip pat,

gali būti ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir

t.t.

y - privalo būti Boolean kintamasis ar skaitinė vertė. Tai, taip pat, gali

būti ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir t.t.

Reikšmių lentelė:

x y x .not. (x .and. y)?

T T K

T K T

K T T

K K T

6. ARBA - NE (NOT OR)

Apskaičiuojamas loginis visų įvesčiu ARBA (NOR) paneigimas. Abi įvestys turi būti

Boolean tipo kintamieji arba skaitinės reikšmės. Jei abi įvestys yra KLAIDA

(FALSE), tada funkcija grąţina TIESOS (TRUE) reikšmę. Kitu atveju grąţina

KLAIDOS reikmšmę.

Page 83: z.lukosiaus Metodine Spg Medziaga Nauja

83

53 pav. ARBA - NE (NOT OR)

x. (x .xor. y)? – tai yra x bei y loginis ARBA (OR) ir loginis x

paneigimas.

x – privalo būti Boolean kintamasis ar skaitinė vertė. Tai, taip pat, gali būti

ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir t.t.

y - privalo būti Boolean kintamasis ar skaitinė vertė. Tai, taip pat, gali būti

ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir t.t.

Reikšmių lentelė:

x y .not. (x .or. y)?

T T K

T K K

K T K

K K T

7. NE išskirtinis ARBA (NE exclusive OR/ NOR XOR)

Apskaičiuoja visų įvesčių grieţto ARBA (XOR) loginį paneigimą . Abi įvestys turi

būti Boolean tipo kintamieji arba skaitinės reikšmės. Jeigu abi įvestys yra TIESA

(TRUE) arba abi įvestys yra KLAIDA (FALSE), tada fuknkcija grąţina TIESOS

reikšmę. Kitu atveju grąţinama KLAIDOS reikšmė.

Page 84: z.lukosiaus Metodine Spg Medziaga Nauja

84

54 pav. NE išskirtinis ARBA (NE exclusive OR/ NOR XOR)

x. (x .xor. y)? – tai yra x bei y loginis ARBA (OR) ir loginis x

paneigimas.

x – privalo būti Boolean kintamasis ar skaitinė vertė. Tai, taip pat, gali būti

ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir t.t.

y - privalo būti Boolean kintamasis ar skaitinė vertė. Tai, taip pat, gali būti

ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir t.t.

Reikšmių lentelė:

x y .not. (x .xor. y)?

T T T

T K K

K T K

K K T

8. Implikacija (Implies)

Paneigia x ir tada suskaičiuoja y loginį ARBA (OR) ir paneigtą x. Abi įvestys turi

būti Boolean tipo kintamieji arba skaitinės reikšmės. Jeigu x yra TIESA (TRUE), o

Page 85: z.lukosiaus Metodine Spg Medziaga Nauja

85

y yra KLAIDA (FALSE), funkcija grąţina KLAIDOS reikšmę. Kitu atveju, grąţinama

TIESOS reikmė.

55 pav. Implikacija (Implies)

x.implies.y? – tai yra x bei y loginis ARBA (OR) ir loginis x paneigimas.

x – privalo būti Boolean kintamasis ar skaitinė vertė. Tai, taip pat, gali

būti ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir

t.t.

y - privalo būti Boolean kintamasis ar skaitinė vertė. Tai, taip pat, gali būti

ir skaliaras, masyvas ar grupelė skaitmenų arba Boolean kintamųjų ir t.t.

Reikšmių lentelė:

x y x .implies. y?

T T T

T K K

K T T

K K T

6.2. Loginiai veiksmai su masyvais

Page 86: z.lukosiaus Metodine Spg Medziaga Nauja

86

1. Loginis masyvo IR (AND array elements)

Grąţina TIESOS (TRUE) reikšmę, jei visi elementai loginiame masyve (Boolean

array) yra tiesa arba jei šis masyvas yra tuščias. Kitu atveju funkcija grąţina

KLAIDOS (FALSE) reikšmę. Ši funkcija apdoroja betkokio dydţio masyvą , tačiau

grąţina tik vieną reikšmę.

56 pav. Loginis masyvo IR (AND array elements)

Boolean tipo kintamųjų masyvas gali būti betkokio dydţio.

Loginis IR perduoda signalą, jei visi Boolean tipo masyvo kinatmieji turi

TIESOS reikšmę.

2. ARBA masyvo elemantai (OR array elements)

Grąţinama KLAIDOS (FALSE) reišmė, jei visi elementai Boolean tipo kintamųjų

masyve turi KAIDOS reikšmę arba je visi Boolean tipo kinatmųjų masyvas yra

tusčias. Kitu atveju, fukcija grąţinam TIESOS (TRUE) reikšmę. Ši funkcija priima

bet kokio dydţio masyvą, tačiau grąţina tik vieną reikšmę, kuri remiasi visomis

Boolean masyvo reikšmėmis.

57 pav. ARBA masyvo elemantai (OR array elements)

58 pav.

Page 87: z.lukosiaus Metodine Spg Medziaga Nauja

87

Boolean tipo kintamųjų masyvas gali būti betkokio dydţio.

Loginis IR perduoda signalą, jei visi Boolean tipo masyvo kinatmieji turi

KLAIDOS reikšmę.

3. Iš Skaičiaus į Boolean masyvą (Number to Boolean array)

Paverčia svaikąjį skaičių arba fiksuoto taško (fixed-point) skaičių į Boolean tipo

kintamųjų masyvą.

Jeigu sveikasis skaičius yra prijungiamas kaip skaitmuo (number), tada

Boolean tipo masyvas grąţina masyva iš 8, 16, 32, 64 elementų. Tai

priklauso bitų skaičiaus sveikąjame skaičiuje.

Jeigu fiksuoto taško skaičius yra prijungiamas kaip skaitmuo, tada masyvo

dydis, kurį grąţina Boolean tipo masyvas, yra ţodţio ilgio.

59 pav. Iš Skaičiaus į Boolean masyvą (Number to Boolean array)

Skaitmuo (number) turi būti skaičius.

Boolean tipo masyvas (Boolean array) gali turėti 8, 12, 32, 64 elementus,

jei skaitmuo (number) yra sveikasis skaičius. Jeigu skaitmuo yra fiksuoto

taško, tada Boolean tipo masyvas gali turėti tarp 1 ir 64 elementų.

4. Boolean masyvas į skaičių (Boolean array to number)

Page 88: z.lukosiaus Metodine Spg Medziaga Nauja

88

Funkcija paverčia Boolean tipo masyva į sveikajį arba fiksuoto taško (fixed-

point) skaičių, suprasdama masyva kaip dvejetainių skaičių kodą, kuris nusako

skaičių.

Pavzdziui, jeigu prie šios funkcijos yra prijungiamas masyvas, kuris turi du

Boolean tipo kintamuosius, ir nei vieno kintamojo reikšmė nėra TIESA (TRUE),

tada funkcija grąţina 0. Jeigu pirmoji masyvo reikšmė yra TIESA, funkcija grąţina

1. Jeigu antroji masyvo reikšmė yra TIESA, funkcija grąţina 2 ir jeigu abi masyvo

ir, jeigu abi funkcijos reikšmės yra TIESOS, funkcija grąţina 3.

60 pav. Boolean masyvas į skaičių (Boolean array to number)

Skaitmuo (number) yra sveikasis skaičius arba fiksuoto taško(fixed-point)

skaičius.

Boolean tipo masyvas (Boolean array) yra vienmatis Boolean kitamųjų

reikšmių masyvas. Ši funkcija sutrumpina Boolean tipo masyva, jeigu jis

yra pernelyg ilgas ir padidina jį su Boolean KLAIDOS bitais, jeifu Boolean

tipo kintamųjų masyvas pernelyg trumpas.

Galima panaikinti pagal nutylėjimą esančius parametrus, keičiant išėjimo

parametrus per Properties.

5. Boolean į (0,1) (Boolean to (0,1)

Paverčia Boolean kintamojo įvesties TIESOS (TRUE) arba KLAIDOS (FALSE)

reišmė į 16 bitų sveikąjį skaičių su reikšme 0 arba 1 nurodyta tvarka.

Page 89: z.lukosiaus Metodine Spg Medziaga Nauja

89

61 pav. Boolean į (0,1) (Boolean to (0,1)

Boolean kintamasis gali būti skaliaras, masyvas arba grupelė skaitmenų

ar Boolean kintamųjų ir t.t.

0, 1 yra 0, jeigu Boolean reikšmė yra KLAIDA ir 1,jeigu Boolean yra

TIESA.

6.3. Kiti loginiai veiksmai

1. KLAIDOS konstanta (FALSE constant)

Konstanta naudojama, kad suteikti KLAIDOS reikšmę schemos daliai.

2. TIESOS konstanta (TRUE constant)

Konstanta naudojama suteikti klaidos reikšmę schemos daliai.

3. MIŠRIOJI aritmetika (COMPOUND arithmethics)

Atlieka artimetinius veiksmus su įvairiomis įvestimis : vienu arba daugiau

skaitmenų, masyvų, skaičiu grupių, Boolean tipo kintamaisiais. Norimą atlikti

operaciją (sudėtį (add), daugybą (multiply), loginius veiksmus IR (AND), ARBA

(OR), grieţtą ARBA (XOR)) pasirenkame paspaudami dešiniu pelės klavišu ant

ikonos ir pasirinkdami Change Mode iš sparčiojo meniu. Pasirenkant šią funkciją

iš Skaitmeninės paletės (Numeric palette) numatytasis yra sudėties reţimas.

Page 90: z.lukosiaus Metodine Spg Medziaga Nauja

90

Pasirenkant šią funkciją iš Loginių reikšmių paletės (Boolean palette) numatytasis

yra ARBA reţimas.

62 pav. MIŠRIOJI aritmetika (COMPOUND arithmethics)

Reikšmė 0..n-1 (value 0..n-1) gali būti skaičius arba Boolean reikšmė,

skaičių arba Boolean reikšmių masyvas, grupė skaitmenų, grupės

skaitmenų masyvas ir t.t. Jeigu įvestis yra signalas, galima turėti neribotą

kiekį įvairau dydţio skaliarinės formos įvesčių.

Rezultatas (result) grąţinamas priklausomai nuo pasirinktos operacijos

visoms reikšmėms. Operacijos IR (AND), ARBA (OR), grieţtas ARBA

(XOR), rezultatas grąţina bitines operacijas skaitinėms įvestims ir logines

operacijas Boolean tipo įvestims.

Papildomų įvesčių galime pridėti kiek norime. Jas pridedame spragtėldami dešiniu

pelės klavišu ant atskirų išėjimų ir pasirinkdami Perversti (Invert) sparčiąjame

meniu.

Sudėties operacijai Perverti pasirenkamas, kad paneigti įvestį arba

išėjimą.

Daugybos operacijai Pervesti pasirenkamas, kad būtų naudojamos

atvirkšinės įvesties arba pateikiamos atvirktinės išėjimo reikšmės.

Page 91: z.lukosiaus Metodine Spg Medziaga Nauja

91

IR, ARBA, grieţtam ARBA operacijoms Perversti pasirenkamas bitiniam

papildymui sveikuoju skaičiu įvestyje ar išėjime arba logiškai paneigti

įvestį ar išėjimą.

Kai naudojame funkcijos Mišriosios aritmetikos operaciją gieţtąjį ARBA su 3 ar

daugiau įvesčių, pirmiausia operacija yra atliekami su pirmomis dviem įvestimis.

Po to, operacija atliekama su pirmosios poros rezutatu ir trečia įvestimi. Šios

poros rezultatas yra naudojamas atliekant operaciją su ketivrtąją įvestimi.

Operacijos atliekamos tol kol sutvarkomos visos įvestys.

Šios funkcijos negalima naudoti su racionaliais skaitmenimis. Jeigu tokie skaičiai

prijungiami programa nepasileis, bus rodomas lauţytas Paleisti (Run) ţenkliukas.

Pratimas Nr.4

Pasinaudojant LabVIEW 2010 programine įranga sukonstruoti loginius elenentus

ir įsitikinti jų veikimą (riamentis pateiktu pavyzdţiu).

Page 92: z.lukosiaus Metodine Spg Medziaga Nauja

92

Page 93: z.lukosiaus Metodine Spg Medziaga Nauja

93

7. KOMBINACINĖS LOGINĖS SCHEMOS

Kombinacinės loginės schemos - tai schemos be atminties, automatai

su nuline atmintimi, arba nulinės eilės automatai, kurių išėjimų signalus

vienareikšmiškai nustato tuo metu veikiantys signalai šių schemų įėjimuose.

Kartais vartojami "kombinatorinių schemų" arba "kombinatorikos" terminai.

Angliškas terminas – combinational logic.

7.1. Kombinacinių loginių schemų projektavimo etapai

Kombinacinės loginės schemos paprastai projektuojamos tokia tvarka:

1. Sudaromas ţodinis projektuojamo įtaiso veikimo aprašymas kalba,

panašia į tas kalbas, kuriomis rašomos programos: ‖jeigu ... , tai", "o jeigu ... , ir

... , arba ... ir ... , tai... ".

2. Įvardijami loginiai kintamieji ir loginės funkcijos.

3. Pagal ţodinį aprašymą sudaroma loginės funkcijos, kurią turi

vykdyti projektuojama schema, reikšmių lentelė.

4. Remiantis reikšmių lentele, uţrašoma loginės funkcijos išraiška.

5. Uţrašytoji loginės funkcijos išraiška minimizuojama.

6. Sudaroma minimizuotą funkciją vykdanti loginė schema.

Kombinacinės loginės schemos sudarymą pradėsime tarę, kad jau ţinome

schemos vykdomą loginę funkciją, uţrašytą minimaliu sandaugų sumos (SAS)

pavidalu.

1. Sudaromas signalų sąrašas ir uţrašoma loginės funkcijos darbinė

išraiška.

2. Išdėstomi loginę funkciją vykdantys loginiai elementai.

3. Nurodoma inversija loginių elementų įėjimuose.

7.2. Dvejetainiai sumatoriai

Page 94: z.lukosiaus Metodine Spg Medziaga Nauja

94

Paprasčiausias dvejetainių skaičių sumatorius (angl. – binary adder)

skirtas vienaskilčiams ţemiausios nulinės skilties skaičiams sumuoti, dar

vadinamas pussumatoriumi (angl. – half adder). Jis turi du įėjimo signalus –

sumuojamus nulinėje skiltyje skaičius a0 ir b0 – ir du išėjimo signalus – sumą

nulinėje skiltyje S0 ir perkeliamo iš nulinės skilties vieneto signalą COUT0 (iš

angl. carry – perkelti).

15 lentelė. Pussumatoriaus reikšmių lentelė

Standartine sandaugų sumos išraiška: S0 = a0 b0 + a0 b0; COUT0

= a0 b0 .(šios loginių funkcijų išraiškos jau yra minimalios)

S0 1. S0, a0, b0; COUT0 1. COUT0, a0, b0;

S0 = a0 b0 + a0 b0; COUT0 = a0 b0 .

2.S0 = a0 b0 + a0 b0; 2.COUT0 = a0 b0 .

3.1 0 1 1 0 3. 1 1 1

Logines schemos, realizuojančios šias lygtis

63 pav. Pussumatoriaus loginės schemos

a0 b0 S0 COUT0

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

COUT0 S0

b0 a0

1 b0

a0

b0

a0

Page 95: z.lukosiaus Metodine Spg Medziaga Nauja

95

64 pav. Pussumatoaus grafiniai ţymenys

Vienetus ir nulius nurodysime inversiją schemos loginių elementų

įėjimuose. Vienetai rodo, kad ką tik sudarytoje loginėje schemoje nieko keisti

nereikia, nuliai rodo, kad atitinkamame loginio elemento įėjime reikia įrašyti

inversijos ţenklą.

65 pav. Pilnojo sumatoriaus išėjimo funkcijų S1 (a) ir COUT1 (b) Karno

diagramos lentelė

Pilnasis sumatorius (angl. – full adder), sumuojantis bet kurios i-tosios

skilties du dvejetainius skaičius, turi tris įėjimus: sumuojamų skaičių ai ir bi bei iš

ţemesniosios (i – 1)-osios skilties keliamojo vieneto CINi = COUTi–1. Kaip ir

pussumatorius, taip ir pilnasis sumatorius turi du išėjimus: sumos i-oje skiltyje Si

ir iš i-tosios skilties keliamojo vieneto signalo COUTi.

16 lentelė. Pirmosios skilties pilnojo sumatoriaus reikšmių lentelė

CIN1 a

1

b

1

S

1

COUT1

0 0 0 0 0

0 0 1 1 0

HHAA

bb00

aa00

CCOOUUTT00

SS00

CCRR

SS00 HHAA

0

1

S1

CIN1 a1b1

00 01 11 10

1 1

1 1

p3

p1

0

1

COUT1

CIN1 a1b1

00 01 11 10

p2

1

1

1 1 1

a b

Page 96: z.lukosiaus Metodine Spg Medziaga Nauja

96

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Išėjimo funkcijos S1 Karno diagramoje yra tik pavieniai vienetai uţrašyti,

remiantis reikšmių lentele.

Šios funkcijos standartinis sandaugos suma (minimali):

S1 = CIN1 a1 b1 + CIN1 a1 b1 + CIN1 a1 b1 + CIN1 a1 b1

COUT1 = p1 + p2 + p3 = a1 b1 + CIN1 b1 + CIN1 a1

Pilnojo sumatoriaus schemą:

S1 1. S1, CIN1, a1, b1 ;

S1 = CIN1 a1 b1 + CIN1 a1 b1 + CIN1 a1 b1 + CIN1 a1 b1.

2. S1 = CIN1 a1 b1 + CIN1 a1 b1 + CIN1 a1 b1 + CIN1 a1 b1.

3. 1 0 0 1 0 1 0 1 0 0 1 1 1

COUT1 1. COUT1, CIN1, a1, b1 ;

COUT1 = a1 b1 + CIN1 b1 + CIN1 a1.

2. COUT1 = a1 b1 + CIN1 b1 + CIN1 a1.

3. 1 1 1 1 1 1

Page 97: z.lukosiaus Metodine Spg Medziaga Nauja

97

66 pav. Pirmosios skilties pilnojo sumatoriaus loginės schemos

67 pav. Pilnojo sumatoriaus grafinių ţymenų variantai

Nuosekliai jungdami pussumatorių ir aukštesniųjų skilčių pilnuosius

sumatorius, galime sudaryti nuoseklųjį sumatorių, sumuojantį dvejetainius

skaičius su bet kokiu norimu skilčių skaičiumi.

Pussumatoriaus išėjimo signalas COUT0 vėluoja jo įėjimo signalų atţvilgiu

vieno loginio elemento vėlinimo laiku tv. Visi kiti pussumatoriaus ir pilnųjų

sumatorių išėjimo signalai vėluoja jų įėjimo signalų atţvilgiu dviejų loginių

elementų vėlinimo laiku 2tv, nes visi įėjimo signalai turi praeiti per du nuosekliai

sujungtus loginius elementus. Vadinasi, didėjant daugiaskilčio nuosekliojo

sumatoriaus skilčių skaičiui, tolygiai auga aukštesniųjų skilčių išėjimo signalų

vėlinimo laikai. Tai – esminis daugiaskilčio nuosekliojo sumatoriaus trūkumas.

b1

a1

CIN1

b1

a1

CIN1

b1

a1

CIN1

S1

b1

a1

CIN1 1

CIN1

a1

CIN1

COUT1

b1

a1 1

b1

S

S

COUT

CIN

b

FA a

CR

FA

Page 98: z.lukosiaus Metodine Spg Medziaga Nauja

98

68 pav. Nuosekliojo sumatoriaus funkcinė schema

Tolygiai augančio vėlinimo laiko prieţastis – keliamojo vieneto signalas,

kuris yra vienas iš pilnojo sumatoriaus sumuojamų dėmenų.

Lygiagretusis daugiaskiltis sumatorius keliamojo vieneto signalus formuoja

tik iš tuo metu veikiančių visų skilčių įėjimo signalų, praėjusių ne daugiau kaip

per tris nuosekliai sujungtus loginius elementus.

7.3. Dvejetainiai atėmikliai

Dvejetainiai atėmikliai (angl. – binary subtractor) – įtaisai, tiesiogiai

atliekantys dvejetainių skaičių atimties veiksmus.

Vienaskilčiams dvejetainiams skaičiams atimti pakanka pusatėmiklio

(angl. – half subtractor).

FA2

FA1

HA0

b1

a1

b0

a0

CIN1 S1

COUT1

S0

COUT0

b2

a2

CIN2 S2

COUT2

1tv

2tv

3tv

3tv

5tv

5tv

Page 99: z.lukosiaus Metodine Spg Medziaga Nauja

99

17 lentelė. Pusatėmiklio reikšmių lentelė

a0

b0

DIF0

BOUT0

a0

0 0 0 0 0

0 1 1 1 0

1 0 1 0 1

1 1 0 0 1

Pusatėmiklio loginės schemos sudarymas:

DIF0 1. DIF0, a0, b0; BOUT0 1.BOUT0, a0, b0;

DIF0 = a0 b0 + a0 b0 BOUT0 = a0 b.

2. DIF0 = a0 b0 + a0 b0 2. BOUT0 = a0 b0

3. 1 0 1 1 0 3. 1 0 1

69 pav. Pusatėmiklio loginės schemos

70 pav. Pilnojo atėmiklio išėjimo funkcijos BOUT1 Karno diagrama

0 1

00 01 11 10

1 1 1 1

BIN1 a1 b1

BOUT1

p1

p2 p3

1

DIF0

b0 a0

b0

a0 BOUT0

b0

a0

Page 100: z.lukosiaus Metodine Spg Medziaga Nauja

100

Pilnasis atėmiklis (angl. – full subtractor) – įtaisas, atimantis bet kurios i-

osios skilties dvejetainius skaičius. Kaip ir pilnasis sumatorius, taip ir pilnasis

atėmiklis turi tris įėjimo signalus: ateinančio iš ţemesnės skilties skolinamojo

vieneto, turinio ir atėminio.

18 lentelė. Pirmosios skilties pilnojo atėmiklio reikšmių lentelė

BIN1 a1 b1 DIF1 BOUT

1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1

(DIF1 = a1 – b1 – BIN1, o vienetas išėjime BOUT1 reiškia, kad prie a1

pridedame 2)

Suprastinama antroji išėjimo funkcija BOUT1 iš Karno diagramos:

BOUT1 = p1 + p2 + p3 =a1b1 + BIN1 a1 + BIN1 b1.

1. BOUT1, BIN1, a1, b1 ;

BOUT1 = a1 b1 + BIN1 a1 + BIN1 b1

2.BOUT1 = a1 b1 + BIN1 a1 + BIN1 b1

3. 1 0 1 1 0 1 1

Page 101: z.lukosiaus Metodine Spg Medziaga Nauja

101

71 pav. Pilnojo atėmiklio skolinamojo vieneto signalą formuojanti schema

72 pav. Pusatėmiklio ir pilnojo atėmiklio grafiniai ţymenys

7.4. Dvejetainiai komparatoriai

Dvejetainiai komparatoriai palygina du dvejetainius skaičius A ir B ir

sukuria loginio vieneto signalą viename iš trijų išėjimų: arba išėjime A B, arba

išėjime A B, arba išėjime A B. Kituose dviejuose komparatoriaus išėjimuose

tuo metu būna loginio nulio signalai.

Puskomparatoriai, kaip ir pussumatoriai bei pusatėmikliai, atlieka veiksmus

su vienaskilčiais dvejetainiais skaičiais ţemiausioje nulinėje skiltyje, pilnieji

komparatoriai – aukštesnėse skiltyse.

BOUT1

BIN1

b1

BIN1

b1

a1 1

a1

DIF

B

a DIF DIF

BOUT

FS

b

BIN

b0 BOUT B

DIF HS a0

Page 102: z.lukosiaus Metodine Spg Medziaga Nauja

102

19 lentelė. Dvejetainio puskomparatoriaus reikšmių lentelė

a0 b0 a0 b0 a0 b0 a0 b0

0 0 0 1 0

0 1 1 0 0

1 0 0 0 1

1 1 0 1 0

Pilnasis n-osios skilties komparatorius turi penkis įėjimus: į tris jo įėjimus

ateina ţemesnės (n – 1)-osios skilties pilnojo komparatoriaus išėjimų signalai, į

likusius du įėjimus – lyginamų dvejetainių skaičių A ir B n-osios skilties

skaitmenys an ir bn. Pilnasis komparatorius, kaip ir puskomparatorius, turi tris

išėjimus. Pilnojo n-osios skilties komparatoriaus išėjimai yra šitokie: an ...

a1a0 bn ... b1b0, an ... a1a0 bn ... b1b0, an ... a1a0 bn ... b1b0

(sutrumpintai šiuos išėjimus toliau ţymėsime tik ţenklais , , )

20 lentelė. Pirmosios skilties pilnojo dvejetainio komparatoriaus reikšmių lentelė, Nerealūs loginių įėjimų kintamųjų deriniai, sukuriantys nereikšmingas

loginių išėjimo kintamųjų kombinacijas, yra apvesti.

a0 b0

( IN)

a0 b0

( IN)

a0 b0

( IN)

a1 b1

0 0 0 0 0 x x x

0 0 0 0 1 x x x

0 0 0 1 0 x x x

0 0 0 1 1 x x x

0 0 1 0 0 0 0 1

0 0 1 0 1 1 0 0

0 0 1 1 0 0 0 1

0 0 1 1 1 0 0 1

0 1 0 0 0 0 1 0

Page 103: z.lukosiaus Metodine Spg Medziaga Nauja

103

0 1 0 0 1 1 0 0

0 1 0 1 0 0 0 1

0 1 0 1 1 0 1 0

0 1 1 0 0 x x x

0 1 1 0 1 x x x

0 1 1 1 0 x x x

0 1 1 1 1 x x x

1 0 0 0 0 1 0 0

1 0 0 0 1 1 0 0

1 0 0 1 0 0 0 1

1 0 0 1 1 0 0 0

1 0 1 0 0 x x x

1 0 1 0 1 x x x

1 0 1 1 0 x x x

1 0 1 1 1 x x x

1 1 0 0 0 x x x

1 1 0 0 1 x x x

1 1 0 1 0 x x x

1 1 0 1 1 x x x

1 1 1 0 0 x x x

1 1 1 0 1 x x x

1 1 1 1 0 x x x

1 1 1 1 1 x x x

Daugelis įrašytų į lentelę ţemesnės skilties komparatoriaus išėjimo signalų

yra tokie, kurių ir būti negali: a0 vienu metu nebus ir ne maţesnis, ir nelygus, ir

ne didesnis kaip b0. Tokių nelogiškų ţemesnės skilties komparatoriaus išėjimo

signalų lentelėje esti ir daugiau. Visi jie – nereikšmingi loginių kintamųjų deriniai,

Page 104: z.lukosiaus Metodine Spg Medziaga Nauja

104

kurie sukuria nereikšmingą išėjimo signalą, vadinamą signalu x – don't care

output.

Visose pozicinėse skaičiavimo sistemose kiekvienos aukštesnės skilties

vertė yra didesnė uţ visų

ţemesnių skilčių verčių sumą. Pavyzdţiui, jei a1 b1, tai visai nesvarbu,

kokie yra a0 ir b0; galime būti tikri, kad šiuo atveju a1a0 b1b0. Įvertinti

ţemesnės skilties išėjimo signalą reikia tada ir tik tada, kai aukštesnės skilties

signalai esti lygūs. Vadinasi, ir daugiaskilčio komparatoriaus aukštesniajai n-ajai

skilčiai informacija iš ţemesnės kaip n – 1 skilties tiesiogiai nereikalinga. Ji

reikalinga tik tam, kad nustatytų n – 1 skilties signalą.

Loginės funkcijos išraišką:

p1 + p2 + p3 a1 b1 + IN a1 + IN b1

7.5. Kodo keitikliai

Skaičiavimo sistemas ir kodus daţnai tenka keisti, pavyzdţiui, dvejetainį

kodą – Grėjaus, aštuonetainiu, arba kuriuo nors dvejetainiu-dešimtainiu ar kitu

kodu. Taigi kodų keitimo variantų esti daug ir įvairių. Kodus keičiantis įtaisas

vadinamas kodo keitikliu (angl.– code converter).

Kodo keitiklių schemos sudaromos taip pat, kaip ir kitų kombinacinės logi-

kos įtaisų schemos. Pirmiausiai uţpildoma kodo keitiklio reikšmių lentelė. Šioje

lentelėje keičiamo kodo skiltys yra kodo keitiklio įėjimai, o pakeistojo – išėjimai.

00 01 11 10

IN0 IN IN a1 b1

00 x x x x

0 1 0 0

0 1 0 0

x x x x

01

11

10

p2 01

11

10

00 01 11 10

IN1 IN IN a1 b1

00 x x x x

0 1 0 0

0 1 0 0

x x x x

p1

p3

Page 105: z.lukosiaus Metodine Spg Medziaga Nauja

105

73 pav. Komparatoriaus pirmojo išėjimo loginės funkcijos Karno diagrama

Pagal reikšmių lentelę uţrašytos kodo keitiklio realizuojamos loginės

funkcijos minimizuojamos, paprastai taikant Karno diagramas. Po to sudaromos

loginės schemos, vykdančios šias minimizuotas funkcijas.

21 lentelė. Dvejetainių-dešimtainių kodų keitiklio "SP3 į 8421" reikšmių lentelė. (dvejetainį-dešimtainį kodą (DDK) su pertekliumi 3 (SP3) keitimas į

natūralųjį DDK, vadinamą kodu 8421)

DS SP3 8421

IN3 IN2 IN1 I

N0

F3 F2 F1 F0

0 0 0 1 1 0 0 0 0

1 0 1 0 0 0 0 0 1

2 0 1 0 1 0 0 1 0

3 0 1 1 0 0 0 1 1

4 0 1 1 1 0 1 0 0

5 1 0 0 0 0 1 0 1

6 1 0 0 1 0 1 1 0

7 1 0 1 0 0 1 1 1

8 1 0 1 1 1 0 0 0

9 1 1 0 0 1 0 0 1

1 1 0 1 x x x x

Page 106: z.lukosiaus Metodine Spg Medziaga Nauja

106

1 1 1 0 x x x x

1 1 1 1 x x x x

0 0 0 0 x x x x

0 0 0 1 x x x x

0 0 1 0 x x x x

Kodu SP3, kaip ir kodu 8421, uţrašo dešimtainius simbolius keturiose

dvejetainėse skiltyse. Šis kodas sudaromas prie kiekvieno dešimtainį simbolį

atitinkančio skaičiaus pridedant 3. Angliškai šis kodas vadinamas XS3 (Excess 3)

kodu. Teigiama šio kodo ypatybė – nė vienas dešimtainis simbolis šiuo kodu

nevaizduojamas nei keturių nulių, nei keturių vienetų rinkiniu, kadangi šios

kombinacijos kartais tampa trikdţių arba klaidų loginėse schemose prieţastimis.

74 pav. Kodo keitiklio išėjimo funkcijų F1 (a), F2 (b) ir F3 (c) Karno

diagramos

Lentelėje įėjimai – keturios kodo SP3 skiltys – paţymėti simboliais IN, išėji-

mai – keturios kodo 8421 skiltys – simboliais F. DDK deriniai, atvaizduojantys

didesnius kaip 9 dešimtainius skaičius, yra nereikšmingos loginių kintamųjų

kombinacijos, lentelės išėjimų stulpeliuose paţymėtos simboliu x.

Loginė išėjimo funkcija F0 yra įėjimo funkcijos IN0 inversija. Kitų trijų

loginių išėjimo funkcijų minimalios išraiškos randamos taikant Karno diagramas:

b a

IN3 IN2 IN1 IN0

00 01 11 10

00 x x x

F3 01 p1

11 1 x x x

10 1 p2

IN3 IN2 IN1 IN0

00 01 11 10

00 x x x

F1 01 1 1

11 x x x

10 1 1

p1 p2

IN3 IN2 IN1 IN0

00 01 11 10

00 x x x

F2 01 1 p3

11 x x x

10 1 1 1

p1 p2

c

Page 107: z.lukosiaus Metodine Spg Medziaga Nauja

107

F0 = IN0 , F1 = IN0IN1 + IN0IN1; F2 = IN0IN2 + IN1IN2 +

IN0IN1IN2; F3 = IN2IN3 + IN0IN1IN3

75 pav. DDK keitiklio "SP3 į 8421" loginės schemos

76 pav. Keturių skilčių kodo keitiklio grafinis ţymuo

7.6. Šifratorius

Šifratorius (angl. - encoder arba coder) – tai kombinacinė loginė schema,

keičianti signalą viename iš n įėjimų m išėjimų signalų deriniu – kodu. Kitaip

tariant, kiekvienas išėjimo signalų derinys atitinka vieną įėjimo signalą. Jei

išėjimų skaičius yra m, galima sukurti ne daugiau kaip 2m skirtingų kodų,

IN1

1

IN3

IN0

IN3

IN2

IN1

IN0

IN1 IN1

IN0

IN1

IN2

IN1

IN0

IN2 IN1

IN2

IN0

IN0

1 F0

1 F1

F1

1 F2

F1 F3

0

1

2

3

0

1

2

3

XS3 CC BCD IN0

IN1

IN2

IN3

F0

F1

F2

F3

Page 108: z.lukosiaus Metodine Spg Medziaga Nauja

108

vadinasi, įėjimų skaičius n negali būti didesnis kaip 2m. Galima ir atvirkščia

formuluotė: šifratorius su n įėjimų turi turėti ne maţiau kaip m išėjimų: 2m n .

Paprastai pasirinktu laiko momentu signalas gali būti tik viename šifratoriaus

įėjime. Jei ši sąlyga netenkinama, nustatomas įėjimų prioritetas, pavyzdţiui, laiko

atţvilgiu – šifratorius priima tik tą signalą, kuris ateina pirmiausia (taip veikia

kompiuterio klaviatūros šifratorius), arba vienas iš įėjimų laikomas pačiu

svarbiausiu, kitas – maţiau svarbiu ir šitaip nustatoma visų likusių įėjimų svarbu-

mo eilė. Šifratorius, kurio įėjimų ir išėjimų skaičius sieja lygybė n = 2m, vadina-

mas pilnuoju šifratoriumi. Labai daţnai naudojami šifratoriai, kurių 2m n. Jie

vadinami nepilnaisiais. Tipiškas nepilnojo šifratoriaus pavyzdys – telefono

klaviatūros šifratorius, koduojantis dvylikos telefono klavišų signalus keturių

skilčių dvejetainiu kodu. Kadangi keturioms skiltims reikia m = 4 išėjimų,

akivaizdu, kad 24 12; taigi šis šifratorius yra nepilnasis. Kai telefono klavišas

yra nenuspaustas, jį atitinkančiame šifratoriaus įėjime esti aukštas loginis lygis,

jei nuspaustas – ţemas.

22 lentelė. Telefono klaviatūros šifratoriaus reikšmių lentelė

T

elefono

Dvejetainis kodas

išėjimuose

kl

avišas

W X Y Z

IN1 0 0 0 1

IN2 0 0 1 0

IN3 0 0 1 1

IN4 0 1 0 0

IN5 0 1 0 1

IN6 0 1 1 0

IN7 0 1 1 1

Page 109: z.lukosiaus Metodine Spg Medziaga Nauja

109

IN8 1 0 0 0

IN9 1 0 0 1

IN0 1 0 1 0

IN 1 0 1 1

IN 1 1 0 0

Tuomet loginės išėjimų funkcijos:

W = IN8 + IN9 + IN0 + IN + IN .

X = IN4 + IN5 + IN6 + IN7+ I N .

Y = IN2 + IN3 + IN6 + IN7+ IN0 + IN

Z = IN1 + IN3 + IN5 + IN7+ IN9 + IN

Šias logines funkcijas realizuoja loginiai elementai ARBA su inversiniais

įėjimais: funkcijoms W ir X reikia penkių, Y ir Z – šešių inversinių įėjimų.

77 pav. Telefono klaviatūros šifratoriaus grafinis ţymuo

7.7. Dešifratoriai

Dešifratorius (angl. – decoder) atpaţįsta kodinę signalų jo įėjimuose

kombinaciją ir sukuria signalą viename tą kodinę kombinaciją atitinkančiame

išėjime. Jei dešifratoriaus įėjimų skaičių n ir išėjimų skaičių m sieja lygybė m =

2n, tai toks dešifratorius vadinamas pilnuoju. Pilnąjį dešifratorių galime laikyti

mintermų indikatoriumi.

Šią prielaidą patvirtina dešifratoriaus ―iš 3 į 8‖ reikšmių lentelė

W

X

Y

Z

CD IN1

IN2

IN3

IN0

IN

IN

Page 110: z.lukosiaus Metodine Spg Medziaga Nauja

110

23 lentelė. Pilnojo dešifratoriaus "iš 3 į 8" reikšmių lentelė

7.8. Demultiplekseriai

Įėjimai Išėjimai

A B C F7 F6 F5 F4 F3 F2 F1 F0

0 0 0 0 0 0 0 0 0 0 1

0 0 1 0 0 0 0 0 0 1 0

0 1 0 0 0 0 0 0 1 0 0

0 1 1 0 0 0 0 1 0 0 0

1 0 0 0 0 0 1 0 0 0 0

1 0 1 0 0 1 0 0 0 0 0

1 1 0 0 1 0 0 0 0 0 0

1 1 1 1 0 0 0 0 0 0 0

Page 111: z.lukosiaus Metodine Spg Medziaga Nauja

111

Demultiplekseris (angl. – demultiplexer) – tai įtaisas, kuris ateinančius

viena įėjimo linija signalus pagal n skilčių adreso kodą nukreipia į vieną iš 2n

išėjimo linijų. Demultiplekseris – tai kodo keitiklis, keičiantis nuoseklųjį kodą

lygiagrečiuoju.

Dešifratoriaus su įėjimų leidimu įėjimus A, B ir C laikysime trijų skilčių

adreso įėjimais, o į įėjimą EI nukreipsime signalus, kuriuos reikia paskirstyti į

išėjimo linijas F0 ... F7, tai toks dešifratorius veiks kaip demultiplekseris.

24 lentelė. Demultiplekserio "iš 1 į 4" reikšmių lentelė

IN(EI) S1 S0 F3 F2 F1 F0

0 x x 0 0 0 0

1 0 0 0 0 0 1

1 0 1 0 0 1 0

1 1 0 0 1 0 0

1 1 1 1 0 0 0

D12

IN

S0

S1

DX F0 F1 F2 F3

IN

S0

S1

DX F0 F1 F2 F3

IN

S0

S1

DX F0 F1 F2 F3

D

S2

S3

D0

D1

D2

D3

IN

S0

S1

DX F0 F1 F2 F3

S0

S1

D13

D15

D14

Page 112: z.lukosiaus Metodine Spg Medziaga Nauja

112

78 pav. Demultiplekseriai, sujungti piramidiniu pakopiniu būdu

Demultiplekserio logines išėjimo funkcijos(jas realizuoja loginiai elementai

3IR.):

F0 = E1 S1 S0,

F1 = E1 S1 S0,

F2 = E1 S1 S0,

F3 = E1 S1 S0.

Kai reikia daugiau išėjimo linijų, į kurias būtų galima nukreipti įėjimo

signalus, tuomet kelis demultiplekserius galime sujungti piramidiniu pakopiniu

būdu.

Demultiplekseriai – dešifratoriai su įėjimo leidimu – paprastai ţymimi

santrumpa DX. Kartais demultiplekseriai ţymimi ir santrumpa DMUX.

79 pav. Demultiplekseris "iš 1 į 4"

7.9. Multiplekseriai

Multiplekseris (angl. – multiplexer), arba duomenų selektorius (angl. –

data selector), – tai įtaisas, kuris pagal n skilčių adreso kodą atrenka vieną iš 2n

įėjimo linijų ir šia linija ateinančius signalus nukreipia į vieną išėjimo liniją.

Multiplekseris – tai kodo keitiklis, keičiantis lygiagretųjį kodą nuosekliuoju.

Daţniausiai multiplekseriai turi ir įėjimo leidimo įėjimą.

IN

S0

S1

DX F0 F1 F2 F3

Page 113: z.lukosiaus Metodine Spg Medziaga Nauja

113

25 lentelė. Multiplekserio "iš 2 į 1" reikšmių lentelė

Multiplekserio loginė funkcija:

F = p1 + p2 = EI D1 S0 + EI D0 S0 .

80 pav. Multiplekserio "iš 2 į 1" išėjimo funkcijos Karno diagrama (a), loginė

schema (b) ir grafinis ţymuo (c)

Kaip ir demultiplekserius, taip ir nesudėtingus mul-

tiplekserius galime jungti nuosekliai piramidiniu

pakopiniu būdu; šitaip padidinamas įėjimo linijų

skaičius. Ţemiausio lygmens (piramidės pagrindo)

multiplekserių išėjimų signalai esti aukštesniojo pramidės

lygmens multiplekserių įėjimų signalais. Visi to paties piramidės lygmens multi-

plekseriai gauna tų pačių adreso kodo skilčių signalus.

8. LOGINIŲ SIGNALŲ GENERATORIAI

EI D1 D0 S0 F

1 x x x 0

0 x 0 0 0

0 x 1 0 1

0 0 x 1 0

0 1 x 1 1

c

EI

D0

D1

S0

MX

F

EI D1 D0 S0

00 01 11 10

00 11

F 01 p2

11

10

1

1 1 1

p1

a

b

F

S0

EI

S0 D1

N2

EI

1

D0

Page 114: z.lukosiaus Metodine Spg Medziaga Nauja

114

8.1. Multivibratoriai

Elektroniniai įtaisai, kuriuos sudaro du varţinio stiprintuvo laipsniai su kryţ-

miniu (iš kiekvieno laipsnio išėjimo į kito laipsnio įėjimą) teigiamu grįţtamuoju

ryšiu, generuojantys periodinius ir neperiodinius stačiakampės formos įtampų

šuolius, vadinami multivibratoriais, arba daugelio daţnių signalų generatoriais.

Šis elektroninis įtaisas generuoja tokio daţnio signalą, kuriam tenkinamos ampli-

tudţių ir fazių balanso sąlygos: įtaiso ir grįţtamojo ryšio grandies perdavimo

koeficientų sandauga lygi vienetui bei fazės pokytis toje grandinėje lygus 2n, čia

n 0, 1, 2, ... . Multivibratoriai dar vadinami relaksatoriais, nes jie staigiai

griūtiškai suformuoja statų impulso frontą, ir po to iki kito fronto, kol lėtai

išsikrauna kondensatorius, vaizdţiai tariant, ilsisi, arba relaksuoja.

8.2. Autovirpesių multivibratoriai

Page 115: z.lukosiaus Metodine Spg Medziaga Nauja

115

Kai abiejose grįţtamojo ryšio grandinėse nėra kelio nuolatinei srovei ir tei-

giamas grįţtamasis įtampos ryšys sudaromas tik per kondensatorius, tuomet

turime nestabilųjį (angl. – astable multivibrator), arba autovirpesių

multivibratorių, daţnai vadinamą tiesiog multivibratoriumi. Jis gali būti simetrinis

arba asimetrinis. Nestabilusis multivibratorius pats be išorinių paleidimo impulsų

keičia būvį, ir kiekviename būvyje išbūna tol, kol tą būvį palaiko persikraunantis

kondensatorius, įjungtas į grįţtamojo ryšio grandinę. Tai reiškia, kad nestabilusis

multivibratorius formuoja nenutrūkstančią stačiakampių impulsų seką. Kai

multivibratorius simetrinis, santykinis impulsų retumas (angl. – duty cycle)

generuojamoje sekoje yra 0,5, arba 50%, kitaip tariant, sekos teigiamojo

impulso trukmė lygi neigiamojo impulso trukmei – laiko intervalui tarp teigiamų

impulsų.

81 pav. Autovirpesių multivibratorius iš diskretinių elementų

82 pav. Kondensatoriaus CB1 įtampa, atsidarius tranzistoriui VT1

+5V

RB2 RB1 UB2

VT2 VT1

C2 RK2

UK2 UB1

C1 RK1

UK1

RB2

+4.3 V –

VT2 E

K VT1

CB1

E

B

Page 116: z.lukosiaus Metodine Spg Medziaga Nauja

116

83 pav. Autovirpesių multivibratoriaus laiko diagramos

Schema veikia paeiliui atsidarant vienam ir uţsidarant kitam jos

tranzistoriui. Kai VT2 atsidaro, o VT1 uţsidaro, kondensatorius C1 per nedidelę

rezistoriaus RK1 varţą ir atvirą tranzistoriaus VT2 bazės-emiterio sandūrą greitai

įsikrauna iki įtampos EK – UB2 5 – 0,7 4,3 V. Ši įtampa kondensatoriuje

išlieka tol, kol VT2 yra atviras, o VT1 uţdaras. Kai VT1 atsidaro, tranzistoriaus

VT2 bazės-emiterio sandūrą veikia kondensatoriaus C1 įtampa.

Ši atgalinė 4,3 V įtampa uţdaro tranzistorių VT2. Kondensatoriui C1

pamaţu išsikraunant per didelę rezistoriaus RB2 varţą jo įtampa sumaţėja tiek,

kad atidaro VT2, o kondensatoriaus C2 įtampa uţdaro tranzistorių VT1. Tada jau

UK2

+0.2

+5

UB1

+0.7

–4.3

UK1

+0.2

+5

UB1

+0.7

–4.3

RK1C1

RB2C1

t

Page 117: z.lukosiaus Metodine Spg Medziaga Nauja

117

per rezistoriaus RB1 varţą lėtai išsikrauna kondensatorius C2, o kondensatorius

C1 vėl greitai įsikrauna per maţą rezistoriaus RK1 varţą.

8.3. Laukiantieji mutivibratoriai

Kai nuolatinė srovė gali pratekėti tik viena grįţtamojo ryšio grandine, o

kitoje nuolatinę srovę nutraukia nuosekliai į tą grandinę įjungtas kondensatorius,

turime monostabilųjį multivibratorių (angl. – monostable multivibrator), daţnai

vadinamą laukiančiuoju multivibratoriumi. Šie terminai pabrėţia, kad monostabi-

lusis multivibratorius vieninteliame stabiliame būvyje būna tol, kol sulaukia palei-

dimo signalo: teigiamo įtampos impulso, atidarančio uţdarąjį tranzistorių, arba

neigiamo impulso, uţdarančio atvirąjį. Pasibaigus tam impulsui, multivibratorius

grįţta į stabilų būvį tik po to, kai persikrauna nuosekliai įjungtas į vieną

grįţtamojo ryšio grandinę kondensatorius.

Laukiančiojo, arba monostabiliojo, mutivibratoriaus klasikinė schema gau-

nama vieną iš kondensatorių pakeitus trumpu jungimu arba nedidelės varţos

rezistoriumi. Tarkim, kad rezistoriumi yra pakeistas kondensatorius C2. Tuomet

multivibratorius turės vieną stabilų būvį, kuriame tranzistorius VT2 yra atviras, o

tranzistorius VT1 – uţdaras. Šis būvis trunka tol, kol į tranzistoriaus VT2 įėjimą

nepaduodamas trumpas neigiamas impulsas. Padavus tokį impulsą, VT2 uţsidaro

ir aukštas jo kolektoriaus potencialas atidaro tranzistorių VT1. Kondensatoriui C1

išsikrovus per atvirą tranzistorių VT1 ir rezistorių RB2, atidaromas tranzistorius

VT2. Išvardintieji vyksmai suformuoja teigiamą tranzistoriaus VT2 kolektoriaus

įtampos impulsą ir grąţina schemą į vienintelį stabilų išeities būvį. Šiame būvyje

schema bus tol, kol nebus paduotas kitas tranzistorių VT2 uţdarantis impulsas.

8.4. Paprastieji ţiediniai skaitikliai

Page 118: z.lukosiaus Metodine Spg Medziaga Nauja

118

Paprastieji ţiediniai skaitikliai, arba tiesiog ţiediniai skaitikliai, tai nuoseklie-

ji registrai, kuriuose paskutiniosios atminties ląstelės (paskutiniojo trigerio) tie-

sioginis išėjimas yra sujungtas su pirmosios atminties ląstelės (pirmojo trigerio)

įėjimu. Paprastųjų ţiedinių skaitiklių būvių skaičius, arba impulsų skaičius pagrin-

dinėje impulsų sekoje, yra lygus skaitiklį sudarančių trigerių skaičiui. Jei

trigerinėje schemoje yra n trigerių, tai joje galimi 2n skirtingi būviai, vadinasi,

2n– n ţiedinio skaitiklio schemos būvių yra nereikalingi ir neįeina į pagrindinę

impulsų seką. Šie nepanaudojami, pertekliniai, arba draudţiami, būviai yra

pagrindinė problema, projektuojant ţiedinius skaitiklius, nes iš jų susidaro šaluti-

nės impulsų sekos, kuriose skaitiklis gali "pakibti" ir negeneruoti pagrindinės

sekos impulsų.

84 pav. Trijų bitų ţiedinis skaitiklis

Šioje schemoje kiekvieno trigerio išėjimas y yra ir impulsų sekos gene-

ratoriaus atitinkamos skilties išėjimas Z ir kito trigerio įėjimas D. Kadangi

schemos išėjimų signalus nustato tik trigerių būviai, schema priskirtina Mūro

sinchroniniams būvių automatams. Trijų trigerių ţiedinio skaitiklio pagrindinę

impulsų seką sudaro trys impulsai – trys skirtingi šio skaitiklio būviai, o 23 – 3

5 ţiedinio skaitiklio būviai yra pertekliniai. Jie suformuoja tris šalutines impulsų

sekas, ir kiekvienoje skaitiklis gali "pakibti".

T1

CK

y1 Z1 D2

C

D y2 Z2 D3

C

D y3 Z3 D1

C

D

T2 T3

Page 119: z.lukosiaus Metodine Spg Medziaga Nauja

119

Perteklinių būvių problema sprendţiama sudarant schemą, atpaţįstančią

perteklinį būvį ir "parvarančią" skaitiklį į pagrindinei sekai priklausantį būvį. Trijų

bitų ţiedinis skaitiklis papildomas schema, sukuriančia D1 y1 y2.

85 pav. Trijų bitų ţiedinio skaitiklio laiko diagramos

86 pav. "Nepakimbantis" trijų bitų ţiedinis skaitiklis

Bûviai

CK

y1 D2

t

y2 D3

y3 D1

a b c

y1 y2

CK

D1

T1

y1 Z1 D2

C

D y2 Z2 D3

C

D y3 Z3

C

D

T3 T2

Page 120: z.lukosiaus Metodine Spg Medziaga Nauja

120

8.5. Susuktieji ţiediniai skaitikliai

Susuktieji, arba Mebijaus, ţiediniai skaitikliai – tai nuoseklieji registrai, ku-

riuose paskutiniosios atminties ląstelės (paskutiniojo trigerio) inversinis išėjimas

yra sujungtas su pirmosios atminties ląstelės (pirmojo trigerio) įėjimu.

87 pav. Trijų trigerių susuktasis ţiedinis skaitiklis

Iš n trigerių sudaryto Mebijaus skaitiklio pagrindinę būvių seką sudaro 2n

skirtingų būvių. Tuomet perteklinių būvių skaičius yra lygus 2n – 2n. Trijų

trigerių skaitiklio pagrindinė būvių seka yra šitokia: 100 110 111 011 001 ir 000;

du schemos būviai 010 ir 101 yra pertekliniai. Skaitiklio pagrindinės sekos būvius

galima uţfiksuoti nesudėtingomis dešifravimo schemomis, prijungtomis prie

skaitiklį sudarančių trigerių išėjimų. Uţfiksavęs perteklinį skaitiklio būvį,

dešifratorius gali grąţinti skaitiklį į pagrindinės sekos būvį. Mebijaus skaitiklyje

perteklinį būvį dešifruojančios schemos signalas siunčiamas į skaitiklio įėjimą

kartu su inversiniu paskutiniojo trigerio išėjimo signalu per loginį elementą ARBA.

Pratimas Nr.5

Pasinaudojant NI MULTISIM programine įranga sukonstruoti atemikli,

sumatoriuių ir dekompleksorių (riamentis pateikteiktais pavyzdţiais). Paiškinti jų

veikimą.

y3 D1

T1

CK

y1 Z1 D2

C

D y2 Z2 D3

C

D y3 Z3

C

D

T2 T3

Page 121: z.lukosiaus Metodine Spg Medziaga Nauja

121

Page 122: z.lukosiaus Metodine Spg Medziaga Nauja

122

9. Būlio algebra

Matematikoje bei informatikoje Būlio algebra (arba Logikos algebra) – sritis,

tirianti loginius kintamuosius bei funkcijas. Loginės algebros svarbiausias

taikymas – elektroninėse schemose.

Būlio algebra sukūrė Dţordţas Būlis (George Boole, 1815-1864) vardu, nes

šis anglų matematikas pirmasis ją apibrėţė kaip loginės sistemos dalį, bandant

panaudoti algebrines technikas loginiams skaičiavimams.

9.1. Būlio algebra matematikoje

Matematikoje Būlio algebra apibrėţiama kaip algebra (B, *, +, ¬, 0, 1),

kurią sudaro aibė B, turinti maţiausiai 2 elementus (0, 1), kurioje apibrėţtos

tokios 3 operacijos: IR operacija (konjunkcija, loginė daugyba), ARBA operacija

(disjunkcija, loginė sudėtis), NE operacija (inversija, neigimas).

Page 123: z.lukosiaus Metodine Spg Medziaga Nauja

123

Šiandien Būlio algebra turi daugybę pritaikymų elektroninėse schemose.

Pirmą kartą Klodas Šenonas ją pritaikė XX amţiuje komutatoriuose.

9.2. Loginiai kintamieji

Loginiai kintamieji (dar vadinami binariniais) gali turėti tik dvi reikšmes – 1

(taip) ir 0 (ne). Su jais galima atlikti logines operacijas. Elementarios loginės

operacijos su vienu, dviem loginiais kintamaisiais yra vadinamos unarinėmis

(vieno kintamojo) ar binarinėmis (dviejų kintamųjų) loginėmis operacijomis.

Loginė operacija paprastai uţrašoma formule arba jai sudaroma funkcijos būvio

(teisingumo) lentelė.

9.3. Literatūroje naudojami ţymėjimai

Būlio daugyba: , &.

Kaip ir įprastinėje algebroje, Būlio algebroje daugybos ţenklas iš viso

praleidţiamas: xy. Daugybos ţenklą būtina rašyti tada, kai Būlio kintamųjų vardai

turi daugiau nei vieną simbolį.

Būlio sudėtis: +,

Ţenklas + yra įprastesnis, tačiau jį vartoti galima tik tuomet, kai tuo pačiu

metu nėra kalbama apie aritmetinės ar algebrinės sudėties operaciją. Šiuo atveju

ţymime .

Inversija: ‗, ir daţniausiai naudojamas ţenklas .

9.4. Loginės operacijos

Disjunkcija (loginė sudėtis) lygi 1, jei bent vienas kintamasis lygus vienetui.

Konjunkcija (loginė sandauga) lygi 1 tik tuomet, kai abu kintamieji lygūs 1

Disjunkcija (loginė sudėtis) lygi 1, jei bent vienas kintamasis lygus vienetui.

Konjunkcija (loginė sandauga) lygi 1 tik tuomet, kai abu kintamieji lygūs 1

Page 124: z.lukosiaus Metodine Spg Medziaga Nauja

124

IR funkcija ţymima taip: 1( )f x x y x & y xy

Sudėtis moduliu 2 – funkcija, kuri lygi vienetui tik tuomet, kai kintamųjų

reikšmės skiriasi, t.y. x y . Ši funkcija dar vadinama „išskirtine ARBA―, kadangi

nuo ARBA (disjunkcijos) skiriasi tuo, kad pastaroji lygi 1 ir tuo atveju, kai x=y=1.

ARBA-NE (Pirso funkcija) – funkcija, kuri lygi vienetui tik tuomet, kai lygūs 0

abu kintamieji x ir y.

Ekvivalentiškumas – funkcija, kuri lygi 1 tik tuomet, kai kintamųjų reikšmės

sutampa, t.y. x=y.

Implikacija - funkcija, kuri lygi nuliui tik tuomet, kai esant klaidingai

prielaidai (y=0) daroma teisinga išvada (x=1).

IR-NE (Šeferio funkcija) – funkcija, kuri lygi nuliui tik tuomet, kai lygūs 1

abu kintamieji x ir y.

9.5. Pagrindinės Būlio algebros aksiomos

Matematikoje pagrindiniai teiginiai daţnai būna akivaizdūs arba naudojami

sutariant, o toliau kuriama teorija šių teiginių pagrindu formuluojant naujus

dėsnius ar išvadas. Pirminius teiginius įprasta vadinti aksiomomis (postulatais), o

jų pagrindu sudaromus naujus – teoremomis ar dėsniais.

1a) x . x = x - idempotentyvumas

1b) x + x = x

2a) x . y = y . x – komutatyvumas

2b) x + y = y + x

3a) x . (y . z) = (x . y ). z - asociatyvumas

3b) x + (y + z) = (x + y )+ z

4a) x . (y + z) = x . y + x . z – distributyvumas

4b) x + y . z = (x + y) . (x + z)

Aksiomose išraiškos pateiktos poromis, nes Bulio algebroje veikia dualumo

dėsnis, pagal kurį jas galima gauti vieną iš kitos.

Page 125: z.lukosiaus Metodine Spg Medziaga Nauja

125

Dualumo dėsnis: Išraiškoje pakeitus disjunkciją konjunkcija, konjunkciją –

disjunkcija, nulį – vienetu, vienetą – nuliu ir skliaustais išlaikius tą pačią veiksmų

tvarką, bus gauta nauja išraiška vadinama dualia. Dualumas reiškia, kad, jei

teisinga kokia nors išraiška, jai duali išraiška taip pat bus teisinga.

Aksiomų teisingumu nesunku įsitikinti, paskaičiuojant išraiškos kiekvienos

pusės funkcijos reikšmių lenteles.

9.6. Būlio algebros teoremos

absorbcijos teorema

neigimo eliminavimo teorema

jungimo teorema

De Morgano dėsniai (teoremos)

Šenono teorema. f(x1,x2 ,...,xn,+,.) = f(x1, x2 ,...,xn,.,+)

skleidimo teorema

10. TRIGERIAI

Trigeris (trigger) – tai dviejų stabilių būsenų elektroninis įtaisas, iš vienos

būsenos į kitą perjungiamas įėjimo signalais ir pasiţymintis charakteristikos

histereze.

Trigeriu vadinamas įrenginys, turintis dvi stabilias būsenas. Dvi stabilios

trigerio būsenos, kurias uţtikrina teigiamas grįţtamasis ryšys, išėjime sukuria

būsenas: =1 ir =0. Kokios būsenos bus trigeris, priklauso nuo trigerio įėjimų

signalų ir nuo ankstesnės trigerio būsenos, kitaip sakant, trigeris turi atmintį.

Trigerį galima pavadinti elementaria atminties ląstele.

Page 126: z.lukosiaus Metodine Spg Medziaga Nauja

126

Pagal darbo algoritmus trigeriai skirstomi į tipus. Priklausomai nuo darbo

algoritmo, trigeris gali turėti nustatymo, informacinius ir valdančius įėjimus.

Nustatymo įėjimai nustato trigerio būseną, nepriklausomai nuo kitų įėjimų

būsenos. Valdantys įėjimai leidţia uţrašyti duomenis, paduodamus į

informacinius įėjimus. Plačiausiai paplitę trigeriai RS, JK, D ir T. Šių trigerių

ţymėjimai parodyti ţemiau pateiktame paveiksle.

88 pav. Plačiausiai paplitusių trigerių ţymejimai

10.1. RS trigeris

RS - trigeris turi du informacinius įėjimus, S ir R. Padavus į įėjimą S signalą 1, o į

įėjimą R signalą 0, trigerio išėjime gaunamas signalas 1. Atvirkščiai, esant

signalams =0 ir =1, trigerio išėjimo signalas bus 0. RS - trigerio veikimas

nusakomas lygtimi:

+1= + kur ir +1 - atitinkamai buvusi ir nauja trigerio būsena.

RS - trigeriui kombinacija =1 ir =1 draudţiama. Esant tokiai

informacinių signalų kombinacijai, trigerio būsena taps neapibrėţta: jo išėjime

gali būti 0 arba 1.

Egzistuoja RS - trigerių rūšys, vadinami E, R, ir S - trigeriais, kuriems

derinys = =1 nėra draudţiamas. E - trigeris, esant = =1, nekeičia savo

būsenos ( +1= ), S - trigeris, esant = =1, nusistato būsenoje =1, o R -

trigeris šiuo atveju atsiduria būsenoje =0.

10.2. JK trigeris

Page 127: z.lukosiaus Metodine Spg Medziaga Nauja

127

JK - trigeriai taip pat turi du informacinius įėjimus J ir K. Kaip ir RS -

trigeryje, JK - trigeryje J ir K - tai nustatymo įėjimai, pervedantys išėjimą į

būseną 1 arba 0. Bet, priešingai nei RS - trigeryje, JK – trigeryje, kai = =1,

pakeičia trigerio išėjimo būseną į priešingą. JK - trigeriai sinchronizuojami

loginės būsenos pasikeitimu įėjime . JK - trigerio veikimo sąlyga išreiškiama:

+1= +

10.3. D trigeris

D - trigeris, arba uţdelsimo trigeris, gavęs į įėjimą sinchronizavimo signalą,

įrašo į trigerį įėjime buvusį loginį lygį. D - trigerio veikimo lygtis atrodo taip:

+1= . Ši lygtis parodo, kad išėjimo signalas +1 pakinta ne iš karto,

pasikeitus įėjimo signalui , o tik sulaukus sinchronizavimo signalo, t. y., su

vienu sinchronizacijos impulsų periodo uţdelsimu (Delay - uţdelsimas). D -

trigeris sinchronizuojamas impulsu arba jo frontu.

10.4. T trigeris

T - trigeris, arba skaičiavimo trigeris, keičia išėjimo būseną pagal impulso frontą

įėjime . Be sinchronizacijos įėjimo ( ) T - trigeris gali turėti paruošiamąjį įėjimą

. Signalas šiame įėjime leidţia (kai =1) arba neleidţia (kai =0) trigerio

suveikimą nuo impulsų frontų įėjime . T - trigerio veikimo lygtis yra:

+1= +

Iš šios lygties matyti, kad, esant =1, atitinkamas signalo frontas įėjime

perveda trigerį į priešingą būseną Potencialo kitimo daţnis T -trigerio išėjime du

kartus maţesnis nei impulsų daţnis įėjime . Ši T - trigerių savybė leidţia jų

pagrindu kurti dvejetainius skaitiklius. Todėl šie trigeriai ir vadinami skaičiavimo

trigeriais. Skaičiavimo trigeris be įėjimo veikia taip pat, kaip ir T - trigeris,

esant =1.

Page 128: z.lukosiaus Metodine Spg Medziaga Nauja

128

10.5. Skaitikliai

Skaitikliu vadinasi įrenginys, skirtas įėjimo impulsų skaičiavimui. Su

kiekvienu impulso patekimu į įėjimą skaitiklio būsena pakinta vienetu. Skaitiklį

galima sukurti iš kelių trigerių, tada skaitiklio būseną nusakys jo trigerių būsenos.

Sumuojančiuose skaitikliuose kiekvienas įeinantis impulsas padidina išėjimo

skaičių vienetu, o atimties skaitikliuose kiekvienas įeinantis impulsas sumaţina šį

skaičių vienetu. Patys paprasčiausi skaitikliai – dvejetainiai, kuris parodytas

paveiksle (sumuojantis dvejetainis skaitiklis).

89 pav. Sumuojantis dvejetainis skaitiklis

Skaitiklyje trigeriai sujungiami nuosekliai. Kiekvieno trigerio išėjimas tiesiogiai

veikia kito trigerio taktinį įėjimą. Norint realizuoti sumuojantį skaitiklį, reikia bet

kurio kito trigerio skaičiavimo įėjimą prijungti prie paskutiniojo trigerio inversinio

išėjimo. Skaičiavimo krypčiai pakeisti (sukurti atimties skaitiklį) naudojami tokie

metodai:

1) išėjimo signalai skaičiuojami ne tiesioginiuose, o inversiniuose trigerių

išėjimuose;

2) skaitiklio ryšių struktūra pakeičiama, paduodant signalą į trigerio

skaičiavimo įėjimą ne iš inversinio, bet iš tiesioginio paskutinio įrenginio išėjimo.

Skaitikliai charakterizuojami būsenų skaičiumi per vieną skaičiavimo

periodą (ciklą). Būsenų skaičius nustatomas trigerių skaičiumi skaitiklio

struktūroje.

Page 129: z.lukosiaus Metodine Spg Medziaga Nauja

129

Skaitiklio būsenų skaičius vadinamas perskaičiavimo koeficientu . Šis

koeficientas lygus impulsų skaičiaus įė įėjime santykiui su impulsų skaičiumi

vyriausio laipsnio skaitiklio išėjime š per skaičiavimo periodą:

Jeigu į skaitiklio įėjimą paduotume periodinę daţnio įė impulsų seką, tai

vyriausio laipsnio skaitiklio išėjime daţnis š bus kartų maţesnis:

Todėl skaitiklius galima naudoti kaip daţnio daliklius, dydis tokiu

atveju bus dalijimo koeficientas. Dydţio padidinimui tenka padauginti trigerių

kiekį grandinėje. Kiekvienas papildomas trigeris padvigubina skaitiklio būsenų

skaičių ir skaičių . Koeficiento sumaţinimui galima kaip skaitiklio išėjimą

naudoti tarpinių pokopų trigerių išėjimus.

Galima sukurti skaitiklį, kuriam būtų bet kuris sveikas skaičius.

Pavyzdţiui, iš trijų trigerių galima sukurti skaitiklį skaičiuojantį nuo 2 iki 7, bet

tuo pat metu vienas ar du trigeriai gali tapti nereikalingais. Panaudojant visus tris

trigerius, galima gauti =5…7, t.y. 22< <23. Skaitiklis su =5 gali turėti 5

būsenas, kurios paprasčiausiu atveju sudaro seką: {0, 1, 2, 3, 4}. Ciklinis šios

sekos kartojimas reiškia, kad skaitiklio dalijimo koeficientas lygus 5.

Page 130: z.lukosiaus Metodine Spg Medziaga Nauja

130

90 pav. Skaitiklio schema su =5

Sumavimo skaitiklio su =5 sukūrimui reikia, kad, suformavus paskutinį

skaičių iš sekos {0, 1, 2, 3, 4}, skaitiklis pereitų ne prie skaičiaus 5, o prie

skaičiaus 0. Dvejetainėje sistemoje tai reiškia, kad nuo skaičiaus 100 reikia

pereiti prie skaičiaus 000, o ne prie 101. Įprastinę skaičiavimo tvarką galima

pakeisti, įvedus tarp skaitiklio trigerių papildomus ryšius. Galima pasinaudoti

tokiu būdu: kai tik skaitiklis atsidurs nedarbinėje būsenoje (šiuo atveju 101), šis

faktas turi būti atpaţintas ir atsirastų signalas, kuris pervestų skaitiklį į 000

būseną. Nedarbinė skaitiklio būsena nusakoma logine lygtimi:

= 101 ⋁ 110 ⋁ 111 = 3 2 1⋁ 3 2 1⋁ 3 2 1= 3 1⋁ 3 2

Būsenos 110 ir 111 taip pat yra nedarbinės ir todėl įvertintos, sudarant lygtį.

Jeigu ekvivalentinės loginės schemos išėjime =0, reiškia, kad skaitiklis yra

vienoje iš darbinių būsenų: 0⋁1⋁2⋁3⋁4. Kai jis atsiduria vienoje iš nedarbinių

būsenų 5⋁6⋁7, susiformuoja signalas =1. Signalo =1 pasirodymas turi pervesti

skaitiklį į pradinę padėtį 000. Šiam signalui paveikus skaitiklio trigerių nustatymo

įėjimus, jie pervestų skaitiklį į būseną 1= 2= 3=0. Vienas iš skaitiklio su =5

variantų parodytas 5 pav.

Page 131: z.lukosiaus Metodine Spg Medziaga Nauja

131

Nuosekliai sujungus trigerį ir skaitiklį su =5, sudaromas dešimtainis

skaitiklis, kurio =10. Tokie skaitikliai plačiai naudojami, kuriant skaitmeninius

matavimo prietaisus su operatoriui patogiu dešimtainiu atskaitymo įrenginiu.

10.6. Šmito trigeris

Šmito trigeris - tai vieną analoginį įėjimą, vieną loginį (1/0) išėjimą ir dvi

būsenas turinti schema, pasiţyminti histerize. Šmito trigeris turi du įėjimo

slenksčius. Esant įėjimo signalui ţemiau pirmojo slenksčio, schema pereina į

loginio nulio būsena ir lieka joje tol, kol signalas neviršija antrojo (aukštesio)

perjungimo į loginio vieneto būseną slenksčio. Loginio vieneto būsenoje schema

lieka tol, kol įėjimo įtampa nenukrinta ţemiau pirmojo (į nulinę būseną

perjungiančio) slenksčio. Schema vadinama trigeriu nes ji išsaugo ankstesnę

būseną kol įėjimo įtampą pakinta pakankamai kad ši būsena pasikeistų. Taigi

Šmito trigeris yra ir atminties ląstelė.Pagrindinis Šmito trigerio privalumas,

lyginant su vieno slenksčio įvedimo įrenginiu, yra stabilumas. Esant vienam

slenksčiui ir tam slenksčiui artimai įėjimo įtampai, net nedidelės amplitudės

triukšmo signalas gali nuolat perjunginėti vieno slenksčio schemą, sukeldamas

pertraukimų laviną ar neleisdamas skaičiuoti didesnės amplitudės impulsų. Tuo

tarpu Šmito trigerį perjungti gali tik įtampų tarp slenksčių skirtumui lygus arba

didesnis įėjimo signalo pokytis. Pereinamasis procesas trigeryje susideda iš

paruošimo, regeneracijos ir signalo nusistovėjimo etapų. Trigerio greitaveika

paprastai apibūdinama perjungimo laiku ir maksimaliu perjungimo daţniu fp.

Trigerio perjungimo laikas – tai laikas nuo perjungimą sukėlusio įėjimo signalo

pradţios iki laiko momento, kai nusistovi naują būseną atitinkančios išėjimo

įtampos. Jei trigeris sinchroninis, tai įėjimo signalo pradţia sutampa su

sinchroninio impulso pradţia.

Įvairių tipų trigeriai yra skaitmeninės elektronikos įtaisai, kurių išėjimo

signalai priklauso ne tik nuo įėjimo signalo reikšmių konkrečiu laiko momentu,

bet ir nuo ankstesnių reikšmių. Ţinomas RS trigeris su atskirais būsenų

Page 132: z.lukosiaus Metodine Spg Medziaga Nauja

132

nustatymo įėjimais, signalo vėlinimo D trigeris, skaičiavimo T trigeris ir

universaliosios funkcijos JK trigeris. Tai įtaisai su atmintimi, todėl informatikos

inţinerijoje vadinami automatais (sekvencinėmis schemomis). Automatai

ankstesnes įėjimo signalų reikšmes įsimena pereidami į atitinkamas vidines

būsenas.

Trigeriai yra paprasčiausi skaitmeniniai automatai, naudojami sudėtingesniems

automatams sudaryti.

Sudėtingesni trigeriai daţniausiai sintezuojami iš operacinių stiprintuvų ir

loginių elementų. Trigerių sistema, susidedanti iš dviejų nuosekliai sujungtų

trigerių – valdančiojo ir valdomojo – vadinama dviejų pakopų trigeriu. Dviejų

pakopų trigeriuose valdantysis trigeris (kartais vadinamas šeimininku) ţymimas

raide M (master), o valdomasis (vergas) – raide S (slave). Sutrumpintai šie

trigeriai vadinami M–S trigeriais.

10.6.1. Šmito trigeris su operaciniu stiprintuvu

Šiuo metu jie daţniausiai surenkami panaudojant operacinį stiprintuvą:

Kadangi invertuojantis įėjimas įţemintas, stiprintuvo įtampa lygi teigiamo

maitinimo šaltinio įtampai (VS) jei įėjimo signalas teigiamas ir neigiamo

maitinimo šaltinio įtampai (-VS) jei įėjimo signalas neigiamas (stiprintuvas

maitinamas dviem priešingo poliariškumo įtampos šaltiniais). Grandinė R1-R2

veikia kaip įtampos daliklis.

91 pav. Šmito trigeris su operaciniu stiprintuvu

Page 133: z.lukosiaus Metodine Spg Medziaga Nauja

133

Jei dabartinė stiprintuvo įtampa lygi teigiamai maitinimo įtampai, jo būsenai

perjungti įėjimo įtampa turi tapti neigiama ir sumaţėti iki − (R1/R2)VS. Būsenai

pasikeitus, stiprintuvo išėjimo įtampa tapma neigiama (-VS), ir perjungimo į

ankstesnę būseną slenkstis tampa lygus +(R1/R2)VS.

Praktikoje neretai naudojamas sudėtingesnis šios schemos variantas su išėjimo

įtampą apribojančiais stabilitronais, kurie padidina schemos darbo stabilumą.

Rezistorius R3 riboja šiais stabilitronais tekančią srovę. Pastebėta, jos su realiais

operaciniais stiprintuvais schemos darbas pagerėja papildomai įjungus R4.

10.6.2. Invertuojantis Šmito trigeris su operaciniu stiprintuvu

Šmito trigerį galima surinkti ir taip, jog operacinio stiprintuvo (ir trigerio)

įėjimas nebūtų sujungtas su kitais schemos elementais. Kadangi operacinio

stiprintuvo įėjimo varţa labai didelė, toks trigeris geriau tinka priimti įėjimo

signalams iš šaltinio, kurio negalima daug apkrauti. Šio trigerio slenkčiai irgi

lygūs − (R1/R2)VS ir +(R1/R2)VS, tačiau jis invertuoja įėjimo signalą (keičia ţenklą

priešingu).

Page 134: z.lukosiaus Metodine Spg Medziaga Nauja

134

92 pav. Invertuojantis Šmito trigeris su operaciniu stiprintuvu

Kombinacinių loginių schemų (angl. – combinational logic) įėjimų signalai

vienareikšmiškai nustato jų išėjimų signalus. Šioms schemoms neegzistuoja

praeitis. Tik įgijusios atmintį loginės schemos gali kaupti patirtį ir priimti pro-

tingus sprendimus. Schemoje įkūnyta atminties ląstelė – tai trigeris; protingos

loginės schemos – trigerinės schemos. Protingi šių schemų sprendimai yra

praeityje įsimintos informacijos pasekmė, tad trigerinės schemos dar vadinamos

sekvencinėmis (lotyniškai sequentio – pasekmė). Ir angliškai trigerinės loginės

schemos daţniausiai apibrėţiamos sąvoka – sequential logic.

11. KOMBINACINĖS IR TRIGERINĖS LOGINĖS SCHEMOS

11.1. Kombinacinių loginių schemų struktūrinė schema

Jau minėjau, kad kombinacinių loginių schemų išėjimų signalus

nustato tik tuo metu veikiantys įėjimo signalai. Grieţtai kalbant, šis apibrėţimas

galioja tik idealioms kombinacinėms schemoms, nevėlinančioms loginių signalų.

Realiose kombinacinėse schemose išėjimo signalai šiek tiek vėluoja įėjimo signalų

atţvilgiu. Tai matyti iš realios kombinacinės schemos struktūrinės schemos,

parodyta ţemiau pateiktame paveiksle. Šiame paveiksle reali kombinacinė

schema nevėlindama įėjimo signalų I1, I2, ..., In įvykdo schemos nustatytas

logines funkcijas F1, F2, ..., Fm. Kiekvieno naujo įėjimo signalų derinio nusta-

tytos šių funkcijų reikšmės pasiekia realios kombinacinės schemos išėjimus tik po

tam tikrų vėlinimo laikų t1, t2, ..., tm . Vėlinimo laikas ti – tai funkcijos fi

Page 135: z.lukosiaus Metodine Spg Medziaga Nauja

135

naujos reikšmės didţiausias vėlinimo laikas; jis atitinka tą įėjimo signalų derinį,

kuriam veikiant ti yra maksimalus.

93 pav. Realios kombinacinės schemos struktūrinė schema

Trigerinių, arba sekvencinių, loginių schemų išėjimų būvius nustato ne tik

tuo metu veikiantys išoriniai įėjimų signalai, bet ir grįţtamojo ryšio signalai, kurie

priklauso nuo schemos atminties įtaisų būvių. Daţnai išoriniai įėjimų signalai

vadinami pirminiais įėjimų signalais (angl. – external, arba primary, inputs), o

grįţtamojo ryšio – vidiniais, arba antriniais, įėjimų signalais (angl. – feedback

signals, state, arba secondary, inputs).

Skiriamos sinchroninės ir asinchroninės trigerinės loginės schemos

(angl. – synchronous or clock mode sequential logic; asynchronous sequential

logic).

Sinchroninėse trigerinėse loginėse schemose daţniausiai naudojami atmin-

ties įtaisai yra dinaminiai trigeriai, kurie gali keisti savo būvius tik sinchronizuo-

jančiojo impulso priekinio fronto metu. Tai reiškia, kad kombinacinės loginės

schemos sukurti ţadinimo signalai nekeičia dinaminių trigerių būvių iki sinchro-

nizuojančiojo impulso priekinio fronto, tai yra kito takto pradţios. Tik po to

ţadinimo, arba kito būvio signalai, tampa trigerių šių būvių signalais schemos

išėjimuose.

Patekę į kombinacinės schemos įėjimus kaip grįţtamojo ryšio signalai, jie

kartu su išoriniais įėjimų signalais formuoja naujus ţadinimo

Valdymo, arba sinchronizuojantys signalai C, arba CK

Ðio bûvio iðëjimo signalai q1,q2, ..., qk

t

CK

n

i

Þadinimo, arba kito bûvio, signalai Q1, Q2, ..., Qk

Antriniai, arba

vidiniai, áëjimai

Pirminiai áëjimai

Gráþtamojo ryðio signalai

Iðoriniai áëjimo signalai I1, I2, ..., In

Kombi-nacinë schema

k Atmin-

ties átaisai- dinami-niai tri-geriai

i k

T = 1/ fCK

IN

k

Page 136: z.lukosiaus Metodine Spg Medziaga Nauja

136

signalus.Sinchronines trigerines logines schemas patogu projektuoti suskaidant

laiką į taktus ir aprašant įvykius schemoje kiekvieno takto metu. Šios schemos

dirba be klaidų, jei tenkinami du reikalavimai:

– prieš prasidedant kiekvienam naujam taktui, schema turi būti

stabiliame būvyje: turi nekįsti įėjimo signalai ir būti nusistovėję loginiai lygiai ir

kombinacinių schemų, ir trigerių išėjimuose;

– po kiekvieno naujo takto pradţios, išoriniai įėjimo signalai nors

trumpą laiką turi išlikti nepakitę.

Laikas prieš kiekvieno takto pradţią vadinamas parengties, arba

nustatymo, laiku tsu (angl. – setuptime), laikas po kiekvieno takto pradţios –

įtvirtinimo, arba išlaikymo, laiku (angl. – hold time).

Asinchroninės trigerinės loginės schemosenera sinchronizuojančių

signalų. Asinchroninės trigerinės loginės schemos veikia be klaidų, jei, prieš

paduodant kiekvieną išorinį įėjimo signalą, schemoje visi būviai esti nusistovėję,

ir tuo pat metu keičiasi tik vieno iš išorinių įėjimų signalas.Asinchronines

trigerines schemas projektuoti sunkiau, todėl jos naudojamos tik tuomet:

– kai sinchroninės schemos yra nepakankamai sparčios;

– kai schema apdoroja pavienius neperiodinius ir nesinchronizuotus

loginius signalus;

– kai dėl kokių nors prieţasčių (pavyzdţiui, ribotos autonominio

maitinimo šaltinio galios) sinchronizuojančių signalų neformuoja.

Trigerinės loginės schemos daţnai vadinamos sinchroniniais arba

asinchroniniais (nelygu kokia trigerinė schema) būvių automatais. Kartais

vartojamas ir kitas terminas – sinchroniniai arba asinchroniniai būvių generatoriai

(angl. – synchronous arba asynchronous state machine).

11.2. Dviejų stabilių būvių atminties ląstelė

Page 137: z.lukosiaus Metodine Spg Medziaga Nauja

137

Dviejų stabilių būvių atminties ląstelė – kiekvieno trigerio svarbiausioji

dalis. Sudarysime šios ląstelės elektrinę principinę ir loginę schemas,

išsiaiškinsime jų veikimą ir ypatybes.

Dviejų būvių atminties ląstelės schemą sudaro du varţinio stiprintuvo

laipsniai, kuriuose sudarytas teigiamas grįţtamasis ryšys tarp antrojo laipsnio

išėjimo ir pirmojo laipsnio įėjimo.

94 pav. Pirmasis dviejų būvių atminties ląstelės schemos variantas

Šią schemą galima apibūdinti ir taip: tai dviejų laipsnių stiprintuvas, kurio

kiekvieno laipsnio išėjimas sujungtas su kito laipsnio įėjimu. Tačiau daţniausiai

teikiamas šitoks apibrėţimas:tai du varţinio stiprintuvo laipsniai, kuriuose

sudarytas kryţminis grįţtamasis ryšys tarp išėjimų ir įėjimų.

Pagal šį pirmąjį dviejų būvių atminties ląstelės schemos varianto aprašymą

perbraiţyta schema parodyta kitame paveiksle (ţiūrėti ţemiau).

Galimi du ir tik du stabilūs šios schemos būviai. Tarkime, kad tranzistorius

VT1 yra atviras. Tuomet atviro tranzistoriaus kolektoriaus ţemas įtampos lygis

palaiko uţdarą tranzistorių VT2. Aukštas uţdaro tranzistoriaus VT2 kolektoriaus

įtampos lygis palaiko atvirą tranzistorių VT1. Toks būvis – atviras VT1 ir uždaras

VT2 – yra stabilus ir gali trukti tol, kol neišjungsime maitinimo įtampos.

VT2 VT1

R2 R1

+EK

Page 138: z.lukosiaus Metodine Spg Medziaga Nauja

138

95 pav. Pagrindinė atminties ląstelės schema

Galimas ir kitas stabilusis būvis, kai atviras yra tranzistorius VT2. Tuomet

ţemas šio tranzistoriaus kolektoriaus įtampos lygis laiko uţdarą tranzistorių VT1,

o šio aukštas kolektoriaus įtampos lygis – atvirą tranzistorių VT2. Ir šis būvis –

uždaras VT1 ir atviras VT2 – trunka tol, kol neišjungiama maitinimo įtampa.

Būvis, kai abu tranzistoriai uždari, negalimas, nes bet kurio uţdaro

tranzistoriaus aukštas kolektoriaus įtampos lygis tuojau pat atidarytų kitą uţdarą

tranzistorių.

Būvis, kai abu tranzistoriai praviri, galimas, bet nestabilus, nes ma-

ţiausias bet kurio tranzistoriaus kolektoriaus įtampos ar srovės pokytis nustato

vieną iš stabiliųjų schemos būvių. Aptarkime, kaip tai vyktų. Abu tranzistoriai gali

būti praviri tik tuomet, kai jais teka nekintančios vienodo stiprumo srovės.

Tarkime, kad kaţkuriuo laiko momentu tranzistoriaus VT1 srovė šiek tiek padidė-

jo. To prieţastis gali būti net ir chaotiškas sudarančių srovę elektronų judėjimas.

Padidėjusi VT1 kolektoriaus srovė šiek tiek padidina įtampos kritimą rezistoriuje

R1, todėl VT1 kolektoriaus įtampa truputį sumaţėja ir pridaro tranzistorių VT2, o

tai, savo ruoţtu, padidina jo kolektoriaus įtampą. Padidėjusi VT2 kolektoriaus

įtampa dar labiau stiprina tranzistoriaus VT1 srovę ir maţina jo kolektoriaus

įtampą. Šitoks griūties procesas labai greitai tranzistorių VT1 įsotina, o

tranzistorių VT2 uţdaro – schema pereina į vieną iš dviejų stabiliųjų būvių.

VT2 VT1

R2 R1

+EK

Page 139: z.lukosiaus Metodine Spg Medziaga Nauja

139

96 pav. Dviejų būvių atminties ląstelės loginė schema

Tranzistorių kolektorių įtampos visuomet esti inversinės viena kitos

atţvilgiu: atvirojo tranzistoriaus kolektoriaus įtampos lygis ir loginis lygis yra

ţemas, uţdarojo – aukštas.

Schema, kurioje galimi tik du stabilūs būviai, naudojama kaip

atminties ląstelė vieno bito informacijai saugoti. Tokia atminties ląstelė dar nėra

trigeris, nes jos įėjimai, tranzistorių bazės, tiesiogiai susieti su išėjimais – tran-

zistorių kolektoriais. Trigeriuose įėjimai ir išėjimai turi būti atskirti.

Dviejų būvių atminties ląstelės loginę schemą sudaro tik du loginiai

elementai. Antrojoje schemoje nesunku įţiūrėti du inverterius. Kiekvieno inverte-

rio išėjimas sujungtas su kito inverterio įėjimu – tai ir parodyta atminties ląstelės

loginėje trečioje schemoje (ţiūrėti ţemiau).

11.3. Bazinis SR trigeris

Dviejų stabilių būvių atminties ląstelė tampa trigeriu, kai joje sudaromi

atskirti vienas nuo kito įėjimai ir išėjimai. Jei į trečią schemą lygiagrečiai kiekvie-

nam tranzistoriui įjungsime dar po vieną tranzistorių, turintį bendrą kolektoriaus

apkrovą su ankstesniuoju tranzistoriumi, gausime bazinio trigerio schemą,

parodytą ketvirtoje schemoje. Paprastai vienas tokio trigerio įėjimas vadinamas

nustatymo, arba įrašymo, įėjimu (angl. – set), kitas – numetimo, arba ištrynimo,

įėjimu (angl. – reset). Pagal angliškųjų įėjimų pavadinimų pirmąsias raides S ir R

šis trigeris vadinamas SR trigeriu.

1

1

Page 140: z.lukosiaus Metodine Spg Medziaga Nauja

140

97 pav. Bazinio SR trigerio elektrinė principinė schema

Trigerių išėjimai paprastai ţymimi raidėmis Q ir Q. Tiesioginiu trigerio

išėjimu Q laikomas tas išėjimas, kuriame gaunamas įėjimo S signalas. Sakoma,

kad trigeris yra nustatytas į loginio 1 būvį, arba įrašytas (set), kai išėjimo Q

loginis lygis yra aukštas: Q = 1. Trigeris yra nustatytas į 0 būvį, arba ištrintas

(reset), kai Q = 0.

Išnagrinėsime ketvirtos schemos, veikimą. Tegul šios schemos įėjimas

IN1 yra S įėjimas, o IN2 – R. Kadangi schema simetriška, įėjimus galime

pasirinkti laisvai, tačiau pasirinktų įėjimų signalus turi atitikti tik tam tikrų išėjimų

signalai. Tarkime, kad signalai įėjimuose šitokie: S = 1, R = 0. Aukšta įėjimo IN1

įtampa atidaro tranzistorių VT1 ir, nepriklausomai nuo to, atviras ar uţdaras VT2,

sukuria ţemą VT1 kolektoriaus įtampą. Šis ţemas įtampos lygis uţdaro tranzisto-

rių VT3. Ţemas įėjimo IN2 loginis lygis R = 0 uţdaro tranzistorių VT4. Jei ir VT3 ir

VT4 uţdari, jų kolektoriaus potencialas lygus maitinimo šaltinio įtampai. Tai esti

aukštas įtampos lygis, kuris atidaro tranzistorių VT2. Taigi įėjimų signalai S = 1

ir R = 0 atidaro VT1 ir VT2 bei uţdaro VT3 ir VT4: nustato ţemą įėjimo IŠ1

įtampos lygį ir aukštą išėjimo IŠ2 įtampos lygį. Pagal anksčiau suformuluotą

taisyklę, kad išėjimas Q yra tas išėjimas, kuriame pakartojamas S įėjimo

signalas, darome išvadą, kad SR trigeryje tiesioginis išėjimas Q yra išėjimas IŠ2,

o inversinis išėjimas Q yra išėjimas IŠ1.

IÐ1

IN1

IÐ2 VT3 VT1 VT2

R2 R1

+EK

VT4

IN2

Page 141: z.lukosiaus Metodine Spg Medziaga Nauja

141

Liko neaptartas įėjimo signalų rinkinys: S = 1 ir R = 1. Kol šie signalai

veikia, ir tranzistorius VT1, ir tranzistorius VT4 yra atviri, todėl išėjimuose Q ir Q

gaunama ţema įtampa. Nustojus veikti tiems įėjimo signalams, maţiausias

įtampos ar srovės pokytis gali pervesti trigerį į vieną iš dviejų vienodai tikėtinų

stabilių būvių: arba VT1 ir VT2 uţsidaro, o VT3 ir VT4 lieka atviri, arba VT1 ir VT2

lieka atviri, o VT3 ir VT4 uţsidaro. Signalų rinkinys S = 1 ir R = 1 yra šiam trige-

riui draudţiamas, nes, pirma, kol šie signalai veikia, tol Q = Q = 0, o tai neatitin-

ka trigerio apibrėţimo – trigeris nustoja buvęs trigeriu. Antra, kai šie signalai bai-

giasi, trigeryje nusistovi atsitiktinis iš anksto nenuspėjamas būvis. Išskyrus kai

kuriuos atvejus, tokia situacija nepriimtina nei trigeriuose, nei schemose su trige-

riais.

Sudarysime SR trigerio loginę schemą. Nesunku pastebėti, kad šią

schemą sudaro du loginiai elementai 2 ARBA-NE su kryţminiais grįţtamaisiais

ryšiais: kiekvieno loginio elemento išėjimas sujungtas su kito elemento įėjimu.

98 pav. Bazinio SR trigerio loginė schema

Trigerio tiesioginis išėjimas Q yra išėjimas to loginio elemento, į kurį

ateina įėjimo signalas R. Inversinis trigerio išėjimas Q yra išėjimas to loginio

elemento, į kurį ateina įėjimo signalas S.

Aptarsime bazinio SR trigerio veikimą loginių elementų lygmenyje.

Prieš tai prisiminkite, kad "stiprusis" signalas, vienareikšmiškai nustatantis būvį

1

1 S

R

Q

Q

Page 142: z.lukosiaus Metodine Spg Medziaga Nauja

142

loginio elemento ARBA (taip pat ir loginio elemento ARBA-NE) išėjime, yra loginis

vienetas arba aukštas įtampos lygis. Vadinasi, kai loginės schemos įėjimuose yra

signalų rinkinys S = 1 ir R = 0, signalas S = 1 vienareikšmiškai nustato Q = 0.

Signalai R = 0 ir Q = 0 savo ruoţtu nustato Q = 1.

Bazinis SR trigeris dar vadinamas baziniu ARBA-NE trigeriu, šitaip

pabrėţiant, kad jis yra sudarytas iš loginių elementų ARBA-NE.

Du bazinio SR trigerio įėjimo signalų rinkiniai SR = 10 ir SR = 01 vadi-

nami aktyviaisiais, arba nustatančiaisiais. Rinkinys SR = 10 nustato trigerio būvį

Q = 1, rinkinys SR = 01 – būvį Q = 0. Įėjimo signalų rinkinys SR = 00

vadinamas pasyviuoju, arba neutraliuoju, nes nekeičia prieš tai buvusio trigerio

būvio. Tą patį galime suformuluoti ir kitaip: tik vienetas yra aktyvusis bazinio tri-

gerio ARBA-NE įėjimo signalas. S = 1 nustato trigerio būvį Q = 1, R = 1 – būvį

Q = 1. Įėjimo signalų rinkinys SR = 11 baziniam SR trigeriui yra draudţiamas.

11.4. Bazinis SR trigeris

Pritaikę de Morgano teoremą, SR trigerio loginę schemą galime

pakeisti schema, sudaryta iš loginių elementų 2IR-NE. Po kintamųjų įėjime

inversijos loginis elementas 2ARBA-NE vykdo loginę funkciją 2IR. Vadinasi, suda-

rius schemą iš loginių elementų 2IR-NE, inversija bus atliekama ne tik schemos

įėjimuose, bet ir jos išėjimuose.

Loginių elementų IR ir IR-NE įėjime "stiprusis" signalas, vienareikšmiškai

nustatantis būvį loginio elemento išėjime, yra nulis. Tai reiškia, kad SR trigerio

būvį nustato aktyvieji įėjimo signalų rinkiniai SR = 01 ir SR = 10. Įėjimo sig-

nalas S = 0 (S = 1) nustato bazinio SR trigerio būvį Q = 1, o signalas R = 0

(R = 1) – būvį Q = 1. Rinkinys SR = 11 yra pasyvusis, o SR = 00 draudţia-

mas, nes tuomet Q = Q = 1.

Page 143: z.lukosiaus Metodine Spg Medziaga Nauja

143

99 pav. Bazinio SR trigerio loginė schema

100 pav. Grafinis SR trigerio ţymuo

11.5. Charakteringoji lygtis

Trigerio charakteringoji, arba būdingoji, lygtis sieja trigerio kito būvio

išėjimo signalą su išoriniais trigerio įėjimo signalais ir vidiniu įėjimo, arba

grįţtamojo ryšio, signalu – šiuo trigerio būviu. Charakteringoji lygtis uţrašoma

remiantis vėlinančiojo trigerio modelio logine schema.

101 pav. Vėlinančiojo SR trigerio modelis

Tuomet SR trigerio kito būvio išėjimo signalas:

Q

R

q 1

1

t

X S

S

R

Q

Q

Q S

R Q

Page 144: z.lukosiaus Metodine Spg Medziaga Nauja

144

QS + q + R (S + q)RSR + qR

Apvestoji dalis yra SR trigerio charakteringoji lygtis. Ji aprašo grįţta-

mąjį ryšį trigeryje: Q matome ir kairiojoje, ir dešiniojoje lygties pusėse, nes q yra

Q po t. Be to, charakteringoji lygtis teigia, kad trigerio kito būvio signalas Qyra

ir išorinių įėjimo signalų S ir R, ir trigerio šio būvio q funkcija.

11.6. Būvių reikšmių lentelė

Pagal trigerio charakteringąją lygtį galime sudaryti jo būvių reikšmių

lentelę (angl. – present state – next state table, arba state table).

26 lentelė. SR trigerio būvių reikšmių lentelė

Iš sudarytosios lentelės matyti, kad trigeris turi tris įėjimo signalus: išorinių

įėjimų S ir R bei vidinį įėjimo, arba grįţtamojo ryšio, signalą q. Charakteringoji

lygtis leidţia pagal šiuos tris įėjimo signalus nustatyti trigerio išėjimo, arba kito

būvio, signalą Q.

Įėjimo signalai Išėjimo signalas Komentarai

Vidinis įėjimo, arba šio būvio išėjimo, signalas

Išoriniai įėjimo signalai

Kito būvio signalas

Šis būvis

Trigerio būvis

X = S+q(po t) =

= S+Q

q S R Q q Q X Q 0 0 0 0 stabilus R 1 0 0 1 0 stabilus R 1 0 1 0 1 nestabilus S 0 0 1 1 0 stabilus R 0 1 0 0 1 stabilus S 0 1 0 1 0 nestabilus R 1 1 1 0 1 stabilus S 0 1 1 1 0 nestabilus R 0

Page 145: z.lukosiaus Metodine Spg Medziaga Nauja

145

Šis trigerio būvis q yra stabilus, kai q Q. Kai q Q, po laiko t q reikšmė

pakinta ir būna lygi Q.

Loginio kintamojo X Q reikšmės rodo, kad trigerio išorinių įėjimo signalų

rinkinys SR 11 yra draudţiamas, nes tuomet Q ir Q reikšmės sutampa. Šį

draudţiamąjį SR rinkinį atitinkančios lentelės eilutės yra išskirtos.

11.7. Būvių kaitos diagrama

Remiantis trigerio būvių reikšmių lentele, galima nubraiţyti tų būvių kaitos

diagramą. Beje, ją galima sudaryti ir pagal trigerio charakteringąją lygtį. Būvių

diagramoje šis trigerio būvis q 0 ţymimas skritulėlyje įrašyta a raide, o q 1 –

skritulėlyje įrašyta b raide. Pakitus trigerio išoriniams įėjimo signalams, trigerio

būvis gali likti toks pats – būvių diagramoje tai atvaizduojama grįţtančia į tą patį

skritulėlį rodykle. Jei pakitus išoriniams įėjimo signalams trigerio būvis kinta,

būvių diagramoje tai atvaizduojama nukreipta į kitą skritulėlį rodykle. Trigerio

būvių kaitos diagramoje strėlytė visuomet eina iš skritulėlio, kuriame įrašytas šis

trigerio būvis, į skritulėlį, kuriame įrašytas kitas trigerio būvis.

11.8. Veikimo algoritmas

Anksčiau minėjome, kad trigeriai ir schemos su trigeriais vadinami būvių

automatais. Šių automatų veikimą galime aprašyti programiškai.

SR trigerio veikimo algoritmo blokinę schemą sudaro būvių blokeliai,

paţymėti raidėmis a (q 0)ir b (q 1), bei sprendimo priėmimo blokeliai.

Išnagrinėję šį algoritmą, galime įsitikinti, kad jis atitinka SR trigerio būvių kaitos

lentelę ir diagramą.

Page 146: z.lukosiaus Metodine Spg Medziaga Nauja

146

102 pav. SR trigerio būvių kaitos diagrama

103 pav. SR trigerio veikimo algoritmo blokinė schema

11.9. Karno diagrama

SR 01 11

b

SR 10

SR 00 10

SR 00 01 11

a – q 0

b – q 1

SR 11 – draudþiamas áëjimo signalø

rinkinys

a

1

0

1

0

S R

a

b

R

Page 147: z.lukosiaus Metodine Spg Medziaga Nauja

147

Remiantis trigerio charakteringąja lygtimi, jo būvių lentele arba dia-

grama, galima sudaryti trigerio Karno diagramą. Šios Karno diagramos

argumentai, loginiai kintamieji, yra trigerio vidiniai ir išoriniai įėjimo signalai q, S

bei R; į diagramą įrašoma loginė funkcija – kitas trigerio būvis Q.

Karno diagrama labai gerai tinka trigerio būvio stabilumui nustatyti: jei

į diagramos langelį įrašyta trigerio kito būvio reikšmė Q sutampa su šio trigerio

būvio reikšme q, tai trigerio būvis yra stabilus, nes po laiko tq reikšmė išliks ta

pati. Ir atvirkščiai, jei į diagramos langelį įrašyta trigerio kito būvio reikšmė Q

skiriasi nuo šio trigerio būvio reikšmės q, tai reiškia, kad trigerio būvis yra nesta-

bilus, nes po laiko tq reikšmė pakis, sutaps su trigerio kito būvio reikšme Q.

104 pav. SR trigerio Karno diagrama, kur stabilūs trigerio būviai

Pagal Karno diagramą galima uţrašyti trigerio charakteringąją lygtį, trige-

rio kito būvio Q priklausomybę nuo vidinių ir išorinių įėjimo signalų q, S ir R. Tuo

tikslu diagramoje sudarome du vienetų kontūrus p1 ir p2 ir gauname, kad

Qp1 + p2SR + qR .

12. SINCHRONINIAI TRIGERIAI

q SR

00 01 11 10

0 0 0 0 1

1 1 0 0 1

SR 11 – uþdraustas rinkinys

p1

p2 Q

Page 148: z.lukosiaus Metodine Spg Medziaga Nauja

148

12.1. Sinchroniniai SR trigeriai

Prieš tai nagrinėti baziniai SR ir SR trigeriai yra potencialiniai trigeriai,

nes jų būvius keičia aukšti ir ţemi įtampų lygiai informaciniuose S ir R įėjimuose.

Šie trigeriai yra asinchroniniai, nes jų būvius lemia vien tik informacinių įėjimų

signalai. Visuose sinchroniniuose trigeriuose informaciniai signalai prieš

patekdami į bazinio trigerio įėjimą turi praeiti pro laiko vartus (angl. – gates).

Vartus valdo arba signalas C (control – valdymo), arba CK (clock –

sinchronizavimo), arba E (enable – leidimo). Kad ir kaip šie signalai būtų vadi-

nami, jie yra vartininkai, praleidţiantys arba nepraleidţiantys į bazinį trigerį infor-

macinius signalus.

Sinchroniniuose SR trigeriuose naudojami loginių elementų IR vartai,

jei bazinis trigeris yra SR trigeris, arba loginių elementų IR-NE vartai, jei bazinis

trigeris – SR trigeris.

12.2. Sinchroniniai D trigeriai

Klasifikuodami trigerius sakėme, kad D (angliškai D interpretuojamas dve-

jopai: data arba delay) trigeris – tai SR trigeris su vienu informaciniu įėjimu DS;

įėjimas R sudaromas kaip įėjimo S inversija. Pagal tokį D trigerio apibrėţimą nu-

braiţyta sinchroninio D trigerio (angl. – gated D latch) funkcinė schema parodyta

ţemiau pateiktoje schemoje. Ši trigerio schema eliminuoja draudţiamą signalų

rinkinį SR 11 (arba CSR 111). Kai valdymo įėjimo signalas C 1, informacinio

įėjimo signalas D 1 nustato trigerio būvį Q 1 (b būvį), o signalas D 0 – būvį

Q 0 (a būvį). Taigi signalų rinkinys CD 11 nustato, arba įrašo, trigerį, o rinkinys

CD 10 jį numeta, arba ištrina.

Page 149: z.lukosiaus Metodine Spg Medziaga Nauja

149

105 pav. Sinchroninio D trigerio funkcinė schema (a) ir grafinis

ţymuo (b)

Asinchroninio D trigerio funkcinė schema skirtųsi nuo, (a-dalies) parodytos

schemos tik tuo, kad vietoj sinchroninio SR (SRC) trigerio būtų asinchroninis SR

trigeris – bazinis SR trigeris.

12.3. Sinchroniniai JK trigeriai

Minėjome, kad tarp JK trigerių išėjimų ir įėjimų būna sudarytas kryţminis

grįţtamasis ryšys: tai yra trigerio įėjimas S arba kitas jį atitinkantis įėjimas

sujungiamas su inversiniu trigerio išėjimu Q, o įėjimas R arba kitas jį atitinkantis

įėjimas – su tiesioginiu trigerio išėjimu Q.

Sinchroniniuose JK trigeriuose (angl. – gated J-K latch) grįţtamojo ryšio

signalai nukreipiami į įėjimus pro laiko vartus. Šitaip sudarytos sinchroninio JK

trigerio su baziniu SR trigeriu loginė ir funkcinė schemos bei trigerio grafinis

ţymuo parodyti paveiksle.

Trigerio įėjimas J (jump) pagal paskirtį atitinka SR trigerio įėjimą S, o įėji-

mas K (keep) – įėjimą R. Tai, kad grįţtamasis ryšys yra kryţminis, vaizdţiau

matyti iš trigerio funkcinės schemos. Išnagrinėję sinchroninio JK trigerio loginę

schemą galime įsitikinti, kad JK trigeryje, kaip ir D trigeryje, bazinio trigerio

įėjimų signalų derinys SR 11 neįmanomas.

C

C

D

1

S

C

R

Q

Q

a

D Q

Q

b

Page 150: z.lukosiaus Metodine Spg Medziaga Nauja

150

106 pav. Sinchroninio JK trigerio loginė schema (a),funkcinė

schema (b) ir grafinis ţymuo (c)

12.5. Sinchroniniai T trigeriai

Jau sakėme, kad T trigeris – tai JK trigeris, kuriame JKT. Sinchroninio T

trigerio funkcinė schema ir grafinis ţymuo parodyti ţemiau pateiktame paveiksle.

Šis trigeris dirba taip pat nestabiliai, kaip ir sinchroninis JK trigeris.

107 pav. Sinchroninio T trigerio funkcinė schema (a) ir grafinis

ţymuo (b)

K

1

J

C

1 Q

Q

a

J

C

K

J

K

C

S Q

Q R

b

Q

Q

c

T T

C

C

S Q

Q R

a

Q

Q

b

Page 151: z.lukosiaus Metodine Spg Medziaga Nauja

151

Pratimas Nr.6.

Pasinaudojant LabVIEW 2010 programine įranga sukonstruoti RS trigerius ir

išsiaiškinti bei patikrinti jų veikimą (riamentis pateiktu pavyzdţiu).

RS trigerio Block diagrama

Page 152: z.lukosiaus Metodine Spg Medziaga Nauja

152

Front panelis (gaunamas galutinis vaizdinis rezultatas)

13. SIGNALŲ DUOMENŲ GENERAVIMAS IR JŲ ANALIZĖ LABVIEW

TERPĖJE

13.1. NI ELVIS sistema

NI ELVIS yra „National Instruments― sukurtas prietaisas, į kurį įeina

LabVIEW parengti virtualūs instrumentai, multifunkcinės duomenų kaupimo

bazės (DAQ - data acquisition) sistema ir prototipinė lenta. Duomenų kaupimas -

tai duomenų - elektrinių signalų matavimo ir įrašymo procesas su tolimesne

Page 153: z.lukosiaus Metodine Spg Medziaga Nauja

153

įrašymo ir analizės galimybe. Duomenų kaupimas turi turėti analoginio ar

skaitmeninio signalo kontrolės galimybę.

108 pav. NI ELVIS

DAQ (multifunkcijos duomenų kaupimo bazė) sistemų pagalba

registruojami, matuojami ir analizuojami fiziniai reiškiniai:

Šviesa, temperatūra, slėgis ir kiti skirtingų tipų signalai.

NI ELVIS instrumentų pasirinkimas ypatingai platus, kuris suteikia

galimybę greitai ir kokybiškai atlikti praktinius darbus. Keletas instrumentų, kurie

buvo naudojami mano praktiniame darbe:

Bode Analyzer- analoginio signalo daţnių analizatorius;

Digital Multimeter (DMM)- skaitmeninis multimetras;

Oscilloscope (Scope)- oscifilografas, elektrinių signalų formos ir amplitudės

matavimas. Įėjimas jungiamas prie BNC kontaktų. Analoginis ir

skaitmeninis signalas.

Variable Power Supplies- reguliuojami nuo 0 iki -12 V ir nuo 0 iki +12 V

šaltiniai

13.2. Standartinis relalių signalų įvedimas ir generavimas

naudojant LabVIEW virtualius modulius

Page 154: z.lukosiaus Metodine Spg Medziaga Nauja

154

Kaip jau minėjau naudojantis LabVIEW programavimo terpe galima

lengvai ir greitai suprogramuoti bet kokią norimą sistemą ne išimtis ir siganalų

registravimo ir generavimo programų sukurimas. Su kuriomis galima lengvai

tiek įvedinėti realius procesus ir juos fiksuoti bei kaupti atmintyje, tiek galima

generuoti ir perduotį į išorinį interfeisą siganalus.

Pirmiausia pradekime nuo signalų ivedimo programos kūrimo. Taigi

vėlgi atsidarome Block programavimo langą ir jame funkcinės subpaletės

lange susirandame virtualių modulių grupę Measurement I/O-DAQmx – Data

Acquisition.

109 pav. Measurement I/O-DAQmx – Data Acquisition subpaletė

110 pav. Kurių funkcijų aprašymas pateiktas lentelėje.

27 lentelė. LabVIEW signalo fiksavimui skirtų virtualių modulių aparašymas

Modulis Apibūdinimas

1.

DAQmx Create Channel.vi: sukuria įvedimo/išvedimo kanalus,

skirtus matuoti įtampą. Pasirenkamas įtampos intervalas: -10 -

+10. Priskiriami fiziniai kanalai, šiuo atveju pasirinkti šeši

fiziniai kanalai.

2.

DAQmx Timing (Sample Clock).vi: leidţia pasirinkti tyrimo laiko

nustatymus, t.y. diskretizavimo daţnį, tyrimo modelį

Page 155: z.lukosiaus Metodine Spg Medziaga Nauja

155

(pastovus/ribotas).

3.

DAQmx Start Task.vi: uţduoties perėjimas į paleidimo būseną,

skirtą pradėti matavimą ar generavimą.

4.

DAQmx Write.vi: uţrašo biosignalą į uţdavinį, kuris turi nuo

vieno iki n. skaičių analogo išvedimo kanalų.

5.

DAQmx Clear Task. vi: tikrina visus i programą patenkančius

signalus su programoje pasirinktais nustatymo kriterijais.

6.

Write To Measurement File tai modulis, skirtas matavimo

duomenų įrašymui tekstiniu (LVM) ar binariniu (TDMS) formatu.

Pasinaudodami šiais modulias ir turėdami jau pradinius įgudţius mae

turime sumodeliuoti tokio tipo pragramą kuri pateikta ţemiau esančiame

paveiksle. Tačiau reikia nepamiršti kad ši subpaletė ir pati programa veiks tik

tada jei bus prie Pc prijungras išorinis iterfeisas, šiuo atveju tai daugiafunkcinė

darbinė stotelė NI-ELVIS.

111 pav. Signalų fiksiavimo virtuali programa

Page 156: z.lukosiaus Metodine Spg Medziaga Nauja

156

Uţfiksavus duomenis į failą duomenys reikia nusakityti, o nuskaičius galima

atlikti įvairią jų statistinę analizę ir panašei. Paprasčiausia nuskaitymo programa

pateikta ţemiau esančiame paveiksle.

112 pav. LabVIEW signalų nuskaitymo programos schema

28 lentelė. LabVIEW signalo nuskaitymo virtualių modulių aparašymas

1.

Read from measurement file – tai

modulis, kuris nuskaito duomenų seką

iš failo: tekstinio duomenų

nuskaitymas (.lvm) arba binarinis

duomenų nuskaitymas (.tdm) formatu.

Šis nuskaitymo vi. modulis suteikia

galimybę duomenis siųsti į apdorojimo

ir analizės programas. Šis modulis

nuskaitė duomenis, pirmą stulpelį

(laiką, s) leido paţymėti kaip laiko

kanalą, ir nustatė, kad laiko duomenys

Page 157: z.lukosiaus Metodine Spg Medziaga Nauja

157

yra pirmame duomenų failo stulpelyje.

2.

Papildomas LabVIEW nuskaitymo

modulis, kuris naudojamas duomenis

atvaizduoti grafiškai, kompiuterio

monitoriuje.

Kadangi jau signalus išmokome fiksuoti tai dabar reiktų išmokti ir juos

generuoti. Todėl sekanti programa tai būtų virtualus signalo generatorius, kuris

sugeba virtualų signa perduoti į realius NI Elvis išėjimo (AO) kanalus. Šio

programos struktūra panaši kaip ir duomenų skaitymo ir į failą rašančios

programos. Skiriasi tik tuo kad yra virtualių modulių išdėstymo seka kita,

atsiranda vienas papildomas modulis tai virtaulus signalo generatorius

29 lentelė. LabVIEW virtualių modulių aparašymas

Modulis Apibūdinimas

1.

DAQmx Create Channel.vi: sukuria įvedimo/išvedimo kanalus,

šiuo atvejų atpaţinti generuojamą signalą ir jį perduoti į realų

AO išėjimo kanalą. Pasirenkamas įtampos intervalas: -10 - +10.

Priskiriami fiziniai kanalai, šiuo atveju pasirinkti du fiziniai

kanalai.

2.

Virtualus signalo generatorius kuris savo viduje turi

suprogramuota komandą kuri leidţia pasirinkti generaujamo

signalo tipą, dydį, daţnį ir taip toliau.

3.

DAQmx Timing (Sample Clock).vi: leidţia pasirinkti tyrimo laiko

nustatymus, t.y. diskretizavimo daţnį, tyrimo modelį

(pastovus/ribotas).

Page 158: z.lukosiaus Metodine Spg Medziaga Nauja

158

4.

DAQmx Write.vi: uţrašo biosignalą į uţdavinį, kuris turi nuo

vieno iki n. skaičių analogo išvedimo kanalų.

5.

DAQmx Start Task.vi: uţduoties perėjimas į paleidimo būseną,

skirtą pradėti matavimą ar generavimą.

6.

DAQmx Is Task Done. vi: leidţia bet kurio momentu sustabdyti

visą programą valbomas su SPOP vi.

7.

DAQmx Clear Task. vi: tikrina visus i programą patenkančius

signalus su programoje pasirinktais nustatymo kriterijais.

113 pav. Signalų generavimo virtuali programa

14. TINKAMO ANALITINIO METODO PASIRINKIMAS

Vartotojai skirtingais būdais įtraukia analizę į savo programas. Yra tam

tikros aplinkybės kurios padeda nustatyti geriausią būdą analizei atlikti.

14.1 „Inline“ ir „Offline“ analizė

Page 159: z.lukosiaus Metodine Spg Medziaga Nauja

159

„Inline― analizė reiškia, kad duomenys yra analizuojami toje pačioje

taikomojoje programoje, kurioje jie buvo gauti. Šis analizės tipas yra

naudojamas, kai dirbama su programomis, kuriose sprendimai turi būti priimami

veikiant programai ir kuriose rezultatai yra tiesiogiai įtakojami taikomosios

programos veikimo proceso, daţniausiai keičiant parametrus arba atliekant

kokius nors veiksmus. Tokia analizė yra daţniausiai naudojama kontrolinėse

programose. Naudojantis „inline― analize svarbu apsvarstyti gaunamų duomenų

kiekį ir pasirinktos analizės rėţimą, kuris bus naudojamas duomenims apdoroti.

Turi būti rasta tinkama pusiausvyra, nes duomenys gali apkrauti kompiuterio

resursus ir turėti neigiamos įtakos taikomosios programos darbui.

Kitas „inline― analizės pavyzdys būtu taikomosios programos, kuriose

matavimų parametrai turi būti pritaikyti prie matuojamo signalo charakteristikų.

Analizė naudojama tokiu atveju jei turi būti prijungti vienas ar daugiau signalų,

kurių pokyčiai yra labai lėti išskyrus staigius didelio greičio duomenų srauto

proverţius. Norint sumaţinti prisijungusių duomenų kieki, taikomoji programa

turėtu greitai atpaţinti didelį duomenų priėmimo daţnio poreikį ir daţnį padidinti,

o duomenų proverţiui pasibaigus - vėl sumaţinti. Matuodama ir analizuodama

tam tikrus signalo aspektus programa gali prisitaikyti prie aplinkybių ir reikalui

esant panaudoti reikiamus parametrus uţduočiai atlikti. Be šio, dar yra

tūkstančiai pavyzdţiu kur taikomosioms programoms yra reikalingas tam tikras

intelekto laipsnis, gebėjimas priimti sprendimus įvairiomis sąlygomis ir

prisitaikomumas. Visi šie dalykai gali būti suteikiami įdiegiant analitinius

algoritmus į taikomąsias programas.

Sprendimai, priimami remiantis gaunamais duomenimis, ne visada yra

priimami automatiniu būdu. Labai daţnai ţmonės, dalyvaujantis šiame procese,

nori patikrinti programos veikimą ir nustatyti ar ji veikia taip kaip turėtų, ar kelias

reikšmes reikia pakoreguoti. Taip pat nėra retas atvejis, kai vartotojai nori įsikelti

duomenis iš failo ar duomenų bazės ir juos analizuoti ir keisti, daţniausiai

pakeitimai turi būti vykdomi programai veikiant. Tokiu atveju taikomoji programa

Page 160: z.lukosiaus Metodine Spg Medziaga Nauja

160

turi susitvarkyti su duomenimis ateinančiai iš veikiančio proceso, jais

manipuliuoti, supaprastinti, formatuoti ir išvesti duomenis naudingiausiu

vartotojui būdu. Tada LabVIEW vartotojai gali pasinaudoti daugeliu vizualizacijos

privalumų, kurie leis atvaizduoti duomenis patogiausiu būdu.

LabVIEW siūlo analitinius ir matematinius šablonus, kurie be jokiu

problemų dirba su duomenų kaupimo ir išvesties funkcijomis, kurios gali būti

lengvai įterptos į bet kokią taikomąją programą. Be to, LabVIEW siūlo analitines

programas „pont-by-point― uţduotims atlikti. Šios programos yra specialiai

sukurtos atitikti „inline― analizės poreikius, realaus veikimo laiko taikomosiose

programose. Vartotojai turėtų apsvarstyti tam tikrus aspektus prieš

nusprendţiant ar „point-by-point― šablonas yra tinkamas darbui atlikti.

„Point-by-point― analizė būtina, kai susiduriama su valdymo procesais kur

yra atvaizduojami didelio greičio, deterministiniai, „point-by-point― duomenys.

Bet kuriuo laiko momentu resursai yra skiriami realaus laiko duomenų gavimui.

„Point-by-point― analizė pasidaro būtinybė kai duomenų gavimo daţnis ir

valdymo ciklai yra padidinami. „Point-by-point― metodas supaprastina

projektavimo, įgyvendinimo ir testavimo procesus, nes taikomosios programos

duomenų srautas beveik sutampa su natūraliu, realaus pasaulio, procesų srautu,

kurį taikomoji programa atvaizduoja ir kontroliuoja.

114 pav. Duomenų apdorojimo schema

Page 161: z.lukosiaus Metodine Spg Medziaga Nauja

161

Realaus laiko duomenų kaupimas ir analizės ir toliau reikalauja

modernesnių ir stabilesnių taikomųjų programų. „Point-by-point― analizė yra

moderni ir stabili, nes ji tiesiogiai siejasi su duomenų kaupimo ir analizės

procesais. Naudojant šią analizę, duomenų kaupimo ir analizavimo procesai

priartėja prie kontrolės punktų FPGA (programuojamų loginių elementų matrica)

lustuose, DSP lustuose, įmontuotuose valdikliuose, taip pat specialiuose CPU ir

ASIC.

„Offline― taikomosios programos, norėdamos priimti sprendimus programos

procese, daţniausiai nereikalauja rezultato gavimo realiuoju laiku. „Offline―

analizės programoms reikia tik pakankamų skaičiavimo resursų. Pagrindinis tokių

taikomųjų programų tikslas yra nustatyti prieţastis ir poveikį kintamųjų,

veikiančių procesą koreliuojant įvairius duomenų rinkinius. Šios taikomosios

programos daţniausiai reikalauja duomenų įkėlimo iš įprastų dvejetainių arba

ASCII failų, ir komercinių duomenų bazių, tokių kaip „Oracle―, „Access― ir kitų

QL/ODBC-palaikančių duomenų bazių. Kai duomenys jau yra įkelti i LabVIEW,

vartotojai naudoja kelis, ar net šimtus, galimų analitinių šablonų, manipuliuoja

duomenimis, ir išdėsto juos į specialų formatą, ataskaitai padaryti. LabVIEW

aprūpina funkcijomis, kurios padės pasiekti bet kokį failo formatą ar duomenų

bazę, be vargo prisijungti prie galingų ataskaitos išvedimo įrankių tokių kaip: „NI

DIAdem―, „The Report Generation Toolkit― pritaikyto „Microsoft Office― programų

paketui, taip pat leis naudoti naujausias duomenų dalinimosi technologijas tokias

kaip: XML, Web-enabled data presentation ir ActiveX.

14.2. Programuojama ir interaktyvioji analizės

Mokslininkai ir inţinieriai vartojantys LabVIEW programinį paketą yra

susipaţinę su daugybe būdų, kuriais naudodamiesi jie gali išgauti duomenis šimtų

prietaisų rūšių. Jie gamina taikomąsias programas, kurios atlieka „inline― analizę

ir pateikia rezultatus veikiant programai. Be to, jie supranta, kad nepakanka

išgauti duomenis ir juos naudoti vienkartiniam vizualizavimui programos veikimo

Page 162: z.lukosiaus Metodine Spg Medziaga Nauja

162

laikotarpiu. Vartotojai daţniausiai kaupia šimtus tūkstančių megabaitų duomenų

savo kietuosiuose diskuose ir duomenų bazėse. Po daugybės, ar tik vieno,

taikomosios programos paleidimo vartotojai išsitraukia informaciją norėdami

priimti tam tikrus sprendimus, palyginti rezultatus, ar padaryti atitinkamus

pakeitimus programos procesui, siekdami savo uţsibrėţto rezultato.

Palyginti lengvai galima išgauti toki didelį duomenų kiekį, kuris greitai

tampa sunkiai apdorojamas. Iš tikrųjų, naudojant greitą DAQ plokštę ir

pakankamai kanalų, gali uţtrukti tik keletą milisekundţių sudaryti tūkstančius

reikšmių. Ir nėra paprasta uţduotis išnagrinėti ir suprasti visus šiuos duomenis.

Daţniausiai iš inţinierių ir mokslininkų yra reikalaujama atvaizduoti duomenis,

sudaryti grafikus, ir galiausiai paremti bet kokius savo įvertinimus ir išvadas

empiriniais duomenimis.

Norėdami supaprastinti matavimų analizavimo procesą, LabVIEW

programuotojai sukūrė taikomąsias programas, kurios suteikia dialogų langus ir

sąsajas, kurias vartotojai gali naudoti, kad priklausomai nuo jų įvesties specifiniai

analizavimo šablonai būtų naudojami bet kokiems duomenų rinkiniams. Sudarant

tokio tipo taikomąsias programas, vartotojai gali nusistatyti tam tikro laipsnio

interaktyvumą savo taikomojoje programoje. Norint, kad tai būtų efektyvu,

programuotojas turi turėti daug informacijos ir ţinių apie analizavimo tipus,

kuriais domisi konkretus vartotojas.

Naudodami LabVIEW programini paketa vartotojai gali lengvai suspausti ir

suformatuoti duomenis prieš patalpindami juos i kietąjį diską, todėl kai saugomi

duomenys bus ištraukti iš kietojo disko tolesniems analizavimams, juos bus

lengviau apdoroti. LabVIEW, taip pat, suteikia galimybę naudotis šimtais funkcijų

ataskaitų sudarymui, remiantis rezultatais ir informacija, gautais iš įgytų

duomenų.

„National Instruments― siūlo dar ir papildomų įrankių, kurie yra visapusiškai

integruoti į LabVIEW programinį paketą ir yra sukurti siekiant sustiprinti

bendradarbiavimą su inţinieriais. „NI DIAdem― yra vienas iš šių įrankių. „NI

Page 163: z.lukosiaus Metodine Spg Medziaga Nauja

163

DIAdem― darbo aplinka yra lengvai naudojama įvairioms analizėms atlikti ir

ataskaitoms generuoti naudojant didelius techninių duomenų tvarkymo

pajėgumus.

Page 164: z.lukosiaus Metodine Spg Medziaga Nauja

164

14.3. Analizių kategorijos

LabVIEW siūlo šimtus, jau paruoštų, analitinių funkcijų, kurios apima

skirtingas, informacijos išgavimo iš gautų duomenų, sritis ir metodus. Vartotojai

gali naudoti šias funkcijas tokios, kokios jos yra arba jas keisti, išplėsti, pritaikyti

savo poreikiams. Šios funkcijos yra suskirstytos į šias grupes: Matavimo, Signalų

apdorojimo, Matematikos, Vaizdų apdorojimo, Kontrolinės, Modeliavimo, ir

Taikomosios srities.

Matavimo funkcijos:

Amplitudės ir lygio

Daţnio (Spektrinė) analizės

Triukšmų ir iškraipymų

Impulsų ir moduliacijos

Signalų ir bangos formos generavimo

Laiko srities analizės

Tono matavimai

Signalų apdorojimo funkcijos:

Skaitmeninių filtrų

Susukimo ir koreliacijos

Bendra laiko daţnio analizė (Signalų apdorojimo įrankių rinkinys)

Pavyzdţių atrankos/perrinkimo

Signalų generavimo

Aukštos skiriamosios gebos spektrinė analizė (Signalų apdorojimo įrankių

rinkinys)

Transformacijos

Laiko srities

Banginė ir filtro banko sudarymo (Signalų apdorojimo įrankių rinkinys)

Langinė

Matematinės funkcijos:

Page 165: z.lukosiaus Metodine Spg Medziaga Nauja

165

Matematikos pagrindų

Kreivių ir duomenų modeliavimo

Diferencialinės lygtys

Interpoliacijos ir ekstrapoliacijos

Tiesinės algebros

Netiesinių sistemų

Optimizavimo

Šaknų paieškos

Specialiųjų funkcijų

Statistikos ir atsitiktinių procesų

Vaizdų apdorojimo funkcijos:

Lašinė (Blob) analizė ir morfologija

Spalvos modelio pritaikymo

Filtrų

Aukšto lygio įrengimų vizualizacijos įrankių

Pustonių modelių pritaikymo

Vaizdo analizės

Vaizdo ir pikselių manipuliacijos

Vaizdo apdorojimo

Optinio pobūdţio atpaţinimo

Reikiamos srities įrankių

Kontrolinės funkcijos:

„PID― ir „Fuzzy― kontrolės

Modeliavimo funkcijos:

Modeliavimo sąsajos (Modeliavimo sąsajos įrankių rinkinys)

Taikomosios srities funkcijos:

Įrengimų būklės stebėjimo (Nurodymų analizės įrankių rinkinys)

Page 166: z.lukosiaus Metodine Spg Medziaga Nauja

166

Įrengimų vizualizacijos (IMAQ, Vision Builder)

Judėjimo kontrolės

Garso ir vibracijos (Garso ir vibracijos analizės įrankių rinkinys)

Page 167: z.lukosiaus Metodine Spg Medziaga Nauja

167

Literatūros sąrašas

1. http://www.ni.com/labview/ „National Instruments LabVIEW 2010―

2. http://sine.ni.com/nips/cds/print/p/lang/en/nid/207244 „National

Instruments NI ELVIS―

3. Stanislovas Štaras, Raimundas Kirvaitis. Mikroelektronikos pagrindai:

vadovėlis aukštųjų mokyklų studentams. Vilnius, Mokslo ir enciklopedijų l-kla,

1995, 289 p.: iliustr. 621.38(075.8) Št-08

4. Raimundas Kirvaitis. Loginės schemos: vadovėlis aukštosioms

mokykloms. Vilnius, Enciklopedija, 1999, 255 p.: iliustr.

621.38.049.77(075.8)

5. Juozas Sveikata. Grandinių teorija: vadovėlis. Kauno technologijos

universitetas, 2-asis leid. Kaunas, Technologija, 2001, 243 p.: ilustr.

621.3.011(075.8)

6. LabVIEW 8 student edition/ Robert H. Bishop. - Upper Saddle River:

Pearson Prentice Hall, 2007, - xxiv, 619 p.: iliustr. + 1 kompakt. diskas.

004.9(075.8) Bi-386

7. Antanas Gurskas. Virtualieji instrumentai LabVIEW terpėje: vadovėlis.

Vilniaus Gedimino technikos universitetas. Vilnius, Technika, 2010, 184 p.: iliustr.

+ 1 kompakt. diskas. 004.8(075.8) Gu-222

8. S. Borodinas, V. Batovrin, A. Romanov. LabVIEW elektronikos

praktiniai darbai: metodinė priemonė. Vilniaus pedagoginio universiteto leidykla,

Vilnius, 2009, 163 p.: iliustr.

9. Robert H. Bishop ,,Learning with LabVIEW 2009―.

http://www.isbnlib.com/preview/0132141310/Learning-with-LabVIEW-2009.

10. A. Gurskas. „Virtualieji instrumentai LabVIEW terpėje―.

http://www.ebooks.vgtu.lt/reader/virtualieji-instrumentai-labview-terpje.

Page 168: z.lukosiaus Metodine Spg Medziaga Nauja

168

11. Raimundas Kirvaitis, Romanas Martavičius. Analoginė elektronika:

vadovėlis aukštųjų mokyklų studentams. Vilniaus Gedimino technikos

universitetas. Vilnius, Technika, 2003, 335 p.: iliustr.

12. LabVIEW for everyone: graphical programming made easy and fun/

Jeffrey Travis, Jim Kring. - 3 rd ed. - Upper Saddle River: Prentice Hall, 2007, -

xli, 981 p.: iliustr. + 1 kompakt. diskas.

13. G. Eidukevičius, A. Kajackas. Radioelektronikos pagrindai. D2. – V.:

Mokslas, 1977.

14. http://zone.ni.com/reference/en-XX/help/371361E-

01/glang/boolean_functions/

15. A. Lašas, V. Bartkevičius, R. Šurna ir kt. Pramoninė elektronika. D2:

Impulsi¬nės bei skaitmeninės schemos ir energetiniai bei technologiniai įtaisai. –

V.: Mokslas, 1991. – 256 p.

16. Miniotas D. Elektros grnadinių analizė. Vilnius: Technika, 2009. 259 p

17. Sveikata J. Elektriniu grandinių analizės pagrindai. - V.: AMMLRT,

1985. - 67 p

18. http://www.ni.com/pdf/manuals/372809b.pdf

19. V. Abraitis, E. Bareiša, R. Benisevičiūtė. Programuojamų lustų

testavimo metodai // Elektronika ir elektrotechnika. Kaunas: Technologija, 2003.

- Nr. 5(47). - P. 43-47.