83- rasm. For sikliga ega bo‘lgan dastur old paneli va diagrammalar bloki Dastur (83- rasm) oldingilar kabi, Numeric indicator qiymatini 0 dan 9
gacha 1dan qadamlab 1sekund intervali bilan o‘zgartiradi Oldingi misolni shunday o‘zgartiramizki, (84- rasm) shunda Numeric indikatoriga 10 dan 0 gacha sonlar – 1 qadam bilan chiqarilsin.
84- rasm. Indikator sonini 10 dan 0 gacha aks ettiruvchi virtual asbob
3.4. Siljiydigan registrlar
Siljiydigan registrlar sikllar bilan ishlashda kundalik iterasiya siklini keyingisiga qiymatlarini uzatish uchun ishlatiladi. Siljiydigan registr sichqonchani sikl chegarasidagi o‘ng klavishani ikki marta bosib Add Shift Registerni kontekst menyusidagi punktdan tanlash bilan yaratiladi.
Siljiydigan registr terminallar juftligi kabi ko‘rinadi; ular bevosita siklni vertikal chegara tomoniga bir – biriga nisbatan qarama – qarshi joylashgan. O‘ng terminal <вверх> strelkaga ega va u kundalik iterasiya tugashi bo‘yicha ma’lumotlarni saqlaydi, LabVIEW ushbu registrdagi ma’lumotlarni keyingi iterasiyaga uzatadi.
Siljiydigan registr har qanday turdagi ma’lumotlarni ungacha uzatilganlarini qabul qiladi. Siljiydigan registrlarni terminallariga beriladigan ma’lumotlar bir turda bo‘lishi kerak. Bir necha siljiydigan registrlarning siklini bitta struktura qilib yaratish imkoniyati ko‘zda tutilgan. Shu bilan birga siljiydigan registr siljiydigan registrlarni bir necha chap terminallarga oldingi iterasiyalarni bir necha qiymatlari bilan ishlash uchun ega bo‘lishi mumkin.
Siljiydigan registrlardan oldingi iterasiya qiymatlarini eslab qolish uchun foydalanish mumkin, bu o‘rtachallashtirish algoritmlarini yaratishda foydali. Siljiydigan registrlarda qo‘shimcha terminallarni o‘rnatish keyingi iterasiyaga qiymatlarini o‘tkazish uchun chap terminaldagi sichqonchani o‘ng tugmasini ikki marta bosib amalga oshiriladi, shunda Add Element kontekst menyusidan
tanlanadi. Masalan, siljiydigan registr chap terminaliga ikkita qo‘shimcha terminal qo‘shilsa, shunda oxirgi uchta iterasiyaning qiymati kundalik iterasiyaga kelib tushadi.
Siljiydigan registrni inisiyalash uchun uning chap terminaliga siklni tanasidan tashqaridan har qanday qiymatni berish zarur.
Agar registr inisiyalanmasa, siklning oxirgi bajarish vaqtidagi registrga yozilgan qiymatdan foydalaniladi, yoki ushbu ma’lumotlar ushbu turi uchun agar sikl hech qachon bajarilmasa jim turish bo‘yicha qiymatdan foydalaniladi.
Masalan: agar siljiydigan registrdagi ma’lumotlar turi mantiqiy bo‘lsa, (Boolean) boshlang‘ch ЛОЖЬ (False) qiymat bo‘ladi. Huddi shunday agar siljiydigan registrni ma’lumotlari raqamli bo‘lsa, unda boshlang‘ich qiymat – 0.
Siljiydigan registrni inisiyalanmagan sikli VA ni bir necha marta ishga tushirilganda chiqish qiymatini egallash uchun siljiydigan registrning qiymati oxirgi VA boshqarishidan olinadi. VA ni keyingi ishga tushirishlari orasidagi holat haqida axborotni saqlash uchun, siljiydigan registrning chap terminalini kirishini noaniq qoldirish kerak.
Do'stlaringiz bilan baham: |