CPU-ийн автомат удирдлагын систем ба үйлдвэрлэлийн аюулгүй байдал. LabView Lab харагдацтай танилцах

Сайн байна уу хамт олон!

Харьцангуй богино өгүүллээр би LabVIEW програмчлалын хэлний талаар ярихыг хүсч байна. Энэ маш сонирхолтой бүтээгдэхүүн харамсалтай нь тийм ч түгээмэл биш бөгөөд би энэ цоорхойг тодорхой хэмжээгээр нөхөхийг хүсч байна.

LabVIEW гэж юу вэ?

LabVIEW бол National Instruments-ийн гол бүтээгдэхүүнүүдийн нэг юм. Юуны өмнө LabVIEW гэдэг нь товчилсон үг гэдгийг тэмдэглэх нь зүйтэй Лабуран илтгэл Ввиртуал Iбагаж хэрэгсэл Эинженерчлэл В orkbench. Нэрнээс нь лабораторийн судалгаа, хэмжилт, мэдээлэл цуглуулахад анхаарлаа хандуулж байгааг харж болно. Үнэндээ LabVIEW дээр SCADA системийг бий болгох нь "уламжлалт" хөгжүүлэлтийн хэрэгслийг ашиглахаас хамаагүй хялбар юм. Энэ нийтлэлд би LabVIEW-ийн боломжит хамрах хүрээ арай илүү өргөн гэдгийг харуулахыг хүсч байна. Энэ бол огт өөр програмчлалын хэл, эсвэл хэрэв хүсвэл програмчлалын бүхэл бүтэн "философи" юм. Таныг арай өөрөөр бодоход хүргэдэг функциональ хэл бөгөөд заримдаа хөгжүүлэгчийн хувьд үнэхээр гайхалтай боломжийг олгодог. LabVIEW бол програмчлалын хэл мөн үү? Энэ бол маргаантай асуудал юм - энд жишээ нь ANSI C гэх мэт стандарт байхгүй. Хөгжүүлэгчийн нарийн хүрээлэлд бид "G" хэлээр бичдэг гэж хэлдэг. Албан ёсоор ийм хэл байхгүй, гэхдээ энэ нь энэхүү хөгжүүлэлтийн хэрэгслийн гоо үзэсгэлэн юм: хувилбараас хувилбар хүртэл хэл рүү улам олон шинэ бүтэц нэвтэрч байна. С-ийн дараагийн хойд дүр нь жишээ нь for давталтын шинэ бүтэцтэй болно гэж төсөөлөхөд бэрх. LabVIEW дээр энэ нь бүрэн боломжтой.
Гэсэн хэдий ч LabVIEW нь TIOBE програмчлалын хэлний үнэлгээнд багтсан бөгөөд одоогоор Пролог ба Фортран хоёрын хооронд гучдугаар байрыг эзэлж байгааг тэмдэглэх нь зүйтэй.

NI LabVIEW - бүтээлийн түүх

National Instruments-ийг 1976 онд Техас мужийн Остин хотод Жефф Кодоски, Жеймс Тручард, Билл Новлин гэсэн гурван үүсгэн байгуулагч үүсгэн байгуулжээ. Компанийн гол мэргэшил нь байв хэрэгсэлхэмжилт, үйлдвэрлэлийн автоматжуулалтад зориулагдсан.
LabVIEW-ийн анхны хувилбар нь компани байгуулагдсанаас хойш арван жилийн дараа буюу 1986 онд гарсан (энэ нь Apple Mac). NI инженерүүд "уламжлалт" програмчлалын хэлийг сорьж, бүрэн график хөгжүүлэх орчныг бий болгосон. Жефф график аргын гол үзэл сурталч болжээ. Жилээс жилд шинэ хувилбарууд гарсан. Эхний кросс-платформ хувилбар (Windows-ийг оруулаад) нь 1993 онд гарсан 3-р хувилбар байв. Одоогийн хувилбар нь өнгөрсөн жил гарсан 8.6.

Компанийн төв оффис өнөөдөр Остин хотод байрладаг. Өнөөдөр тус компани бараг дөрвөн мянган хүн ажилладаг бөгөөд бараг дөчин оронд оффистой (Орос улсад бас нэг оффис байдаг)

Миний LabVIEW-ийн танилцуулга

LabVIEW-тэй танилцах үе маань бараг арван жилийн өмнө болсон. Би шинэ гэрээгээр ажиллаж эхэлсэн бөгөөд тэр үеийн дарга маань надад “Одоо чи үүн дээр ажиллана” гэсэн бичигтэй CD өгсөн. Би LabVIEW-ийг суулгасан (энэ нь тав дахь хувилбар байсан) бөгөөд хэсэг хугацаанд тоглосны дараа би ЭНЭ ямар ч ноцтой зүйл хийх боломжгүй гэж хэлсэн, би үүнийг Delphi-д "хуучин загвараар" хийхийг илүүд үздэг... би - чи зүгээр л туршиж үзээгүй байна. Нэг эсвэл хоёр долоо хоног ажилла. Хэсэг хугацааны дараа би LabVIEW-ээс өөр зүйл бичих боломжгүй гэдгээ ойлгох болно. Би энэ хэлэнд "анхны харцаар дурлах" биш ч гэсэн зүгээр л дурласан.

Ерөнхийдөө график болон текст програмчлалын хэлийг харьцуулах нь нэлээд хэцүү байдаг. Энэ нь магадгүй "PC" ба "MAC" эсвэл "Windows" ба "Linux" шиг харьцуулалт юм - та хүссэнээрээ маргаж болно, гэхдээ маргаан нь туйлын утгагүй юм - систем бүр оршин тогтнох эрхтэй бөгөөд тус бүр нь дэмжигчид болон өрсөлдөгчид аль аль нь, Үүнээс гадна, бүтээгдэхүүн бүр өөрийн гэсэн орон зай байдаг. LabVIEW бол маш уян хатан боловч зүгээр л хэрэгсэл юм.

Тэгэхээр LabVIEW гэж юу вэ?

LabVIEW бол хөндлөн платформ юм график орчинпрограм боловсруулах. LabVIEW бол зарчмын хувьд бүх нийтийн програмчлалын хэл юм. Хэдийгээр энэ бүтээгдэхүүн нь заримдаа National Instruments-ийн техник хангамжтай нягт холбоотой байдаг ч энэ нь тодорхой машинтай холбоогүй байдаг. Windows, Linux, MacOS-д зориулсан хувилбарууд байдаг. Эх бичвэрүүдзөөврийн бөгөөд програмууд нь бүх систем дээр адилхан харагдах болно. LabVIEW-ээр үүсгэсэн кодыг мөн дээр ажиллуулж болно Windows Mobileэсвэл PalmOS (шударга ёсны үүднээс PalmOS-ийн дэмжлэг зогссон гэдгийг тэмдэглэх нь зүйтэй, гэхдээ Palm өөрөө энд илүү буруутай). Энэ хэлийг бүтээхэд амжилттай ашиглаж болно том системүүд, текст, зураг боловсруулах, мэдээллийн сантай ажиллахад зориулагдсан.

LabVIEW бол маш өндөр түвшний хэл юм. Гэсэн хэдий ч LabVIEW программд "доод түвшний" модулиудыг оруулахад юу ч саад болохгүй. Хэдийгээр та ассемблерийн оруулга ашиглахыг хүсч байсан ч энэ нь бас боломжтой, та зүгээр л DLL үүсгэж, код руу дуудлага оруулах хэрэгтэй. Нөгөөтэйгүүр, өндөр түвшний хэл нь энгийн хэлээр олон мөр (хэдэн арван мөр биш бол) код авах боломжтой өгөгдөлтэй маш энгийн бус үйлдлүүдийг хялбархан гүйцэтгэх боломжийг олгодог. Гэсэн хэдий ч шударга байхын тулд доод түвшний хэлний зарим үйлдлүүд (жишээлбэл, заагчтай ажиллах) "өндөр түвшний" шинж чанартай тул LabVIEW дээр хэрэгжүүлэхэд тийм ч хялбар биш гэдгийг тэмдэглэх нь зүйтэй. Мэдээжийн хэрэг, LabVIEW хэл нь "уламжлалт" хэл дээрх аналог бүхий үндсэн хяналтын бүтцийг агуулдаг.

  • хувьсагч (орон нутгийн эсвэл глобал)
  • салбарлах (тохиолдлын бүтэц)
  • For – дуусаагүй болон шалгахгүй гогцоо.
  • while - гогцоо
  • Үйл ажиллагааны бүлэглэл.

LabVIEW - програм болон хэлний чадвар

LabVIEW-д боловсруулж буй програм хангамжийн модулиудыг "Виртуал хэрэгслүүд" буюу энгийнээр VI гэж нэрлэдэг. Тэдгээрийг *.vi өргөтгөлтэй файлд хадгалдаг. VI нь LabVIEW програмыг бүрдүүлдэг барилгын материал юм. LabVIEW програм бүр дор хаяж нэг VI агуулна. Си хэлний хувьд та функцтэй зүйрлэлийг найдвартай зурж чадна, цорын ганц ялгаа нь LabVIEW-д нэг функц нэг файлд агуулагддаг (хэрэгслийн санг үүсгэж болно). Нэг VI-г нөгөөгөөс нь VI гэж нэрлэх нь ойлгомжтой. Зарчмын хувьд VI бүр нь блок диаграмм ба урд самбар гэсэн хоёр хэсгээс бүрдэнэ. Блок диаграмм нь програмын код (эсвэл визуал график дүрслэлкод), урд самбар нь интерфейс юм. "Сайн уу, Дэлхий!"-ийн сонгодог жишээ дараах байдалтай байна.

LabVIEW нь өгөгдлийн урсгалын парадигм дээр суурилдаг. Дээрх жишээнд тогтмол ба заагч терминалууд хоорондоо шугамаар холбогдсон байна. Энэ шугамыг Wire гэж нэрлэдэг. Та үүнийг "утас" гэж нэрлэж болно. Утаснууд нь өгөгдлийг нэг элементээс нөгөөд дамжуулдаг. Энэ бүх ойлголтыг Мэдээллийн урсгал гэж нэрлэдэг. Блок диаграмын мөн чанар нь зангилаа бөгөөд зарим зангилааны гаралт нь бусад зангилааны оролттой холбогддог. Зангилаа нь үйл ажиллагаанд шаардлагатай бүх өгөгдөл ирсэн үед л ажиллаж эхэлнэ. Дээрх диаграммд хоёр зангилаа байна. Тэдний нэг нь тогтмол юм. Энэ зангилаа нь бие даасан байдаг - тэр даруй ажиллаж эхэлдэг. Хоёр дахь зангилаа нь индикатор юм. Энэ нь тогтмол дамжуулж буй өгөгдлийг харуулах болно (гэхдээ тэр даруй биш, харин тогтмолаас өгөгдөл ирэх даруйд).

Энд арай илүү төвөгтэй жишээ байна: хоёр тоог нэмэх, үржүүлэх. Уламжлалт хэлээр бид ийм зүйл бичдэг

Int a, b, sum, mul;
//...
нийлбэр = a + b;
mul = a * b;

LabVIEW дээр дараах байдалтай байна.

Нэмэх, үржүүлэх үйлдлийг автоматаар зэрэгцүүлэн гүйцэтгэдэг болохыг анхаарна уу. Хос процессортой машин дээр хоёр процессорыг автоматаар ашиглах болно.

Энэ бол байхад / харагдаж байна гогцоонд зориулсанмөн if/then/else бүтэц:

Өмнө дурьдсанчлан бүх элементүүдийг зэрэгцээ гүйцэтгэх болно. Даалгаврыг олон процессор дээр зэрэгцүүлэн гүйцэтгэж болох олон урсгалд хэрхэн зэрэгцүүлэх талаар бодох шаардлагагүй. IN хамгийн сүүлийн үеийн хувилбаруудТа аль процессор дээр тодорхой while циклийг гүйцэтгэх ёстойг тодорхой зааж өгч болно. Одоо олон процессорын системийн дэмжлэгийг хялбархан олж авах боломжийг олгодог текст хэлний нэмэлтүүд байгаа боловч үүнийг LabVIEW шиг хялбархан хэрэгжүүлээгүй байх магадлалтай. (за, би текстийн хэлтэй харьцуулсан хэвээр байна). Хэрэв бид олон урсгалын талаар аль хэдийн ярьж байгаа бол хөгжүүлэгч нь семафор, дараалал, уулзалт гэх мэт утаснуудыг синхрончлох өргөн сонголттой гэдгийг анхаарах хэрэгтэй.

LabVIEW нь хэрэглэгчийн интерфэйсийг бий болгох элементүүдийн баялаг багцыг агуулдаг. Интерфейсүүд нь Delphi-д хурдан бүтээгдсэн боловч LabVIEW дээр энэ үйл явц илүү хурдан явагддаг.

LabVIEW-ийн стандарт нийлүүлэлт нь ini файлуудтай ажиллах блокууд, бүртгэл, хоёртын болон туршилтын файлуудтай ажиллах функцууд, математик функцууд, график зурах хүчирхэг хэрэгслүүд (мөн лабораторид үүнгүйгээр та хаана байх байсан бэ) багтсан болно. Дээр дурдсан DLL-г дуудах чадвар, LabVIEW нь ActiveX бүрэлдэхүүн хэсгүүд болон .net-тэй ажиллах боломжийг олгодог. Найм дахь хувилбараас эхлэн LabVIEW-д ангиудын дэмжлэг нэмэгдсэн - хэл нь объект хандалтат болсон. Хэрэгжүүлсэн дэмжлэгийг бүрэн гүйцэд гэж нэрлэх боломжгүй боловч объект хандалтат хэлний үндсэн шинж чанарууд - удамшил ба полиморфизм байдаг. Түүнчлэн, хэлний функцийг нэмэлт модулиудаар өргөжүүлж болно, жишээлбэл NI Vision Toolkit - зураг боловсруулах, компьютерийн хараа болон бусад. Мөн Application Builder модулийг ашиглан та гүйцэтгэгдэх боломжтой exe файл үүсгэж болно. Интернэт хэрэгсэл ашиглан та ажиллах боломжтой ftp серверүүд, Database Connectivity Toolkit ашиглан - мэдээллийн баазтай гэх мэт.

График кодыг уншихад хэцүү гэсэн бодлыг та байнга сонсож болно. Үнэхээр зуршлаасаа болж олон тооны дүрс, дамжуулагч нь зарим талаараа цочирдуулдаг. Шинэхэн хөгжүүлэгчид мөн "хуудас" болон "спагетти" програмуудыг бий болгодог. Гэсэн хэдий ч туршлагатай LabVIEW хөгжүүлэгч програм нь хэдэн зуун модулиудаас бүрдсэн байсан ч дэлгэцийн хэмжээнээс том диаграммыг хэзээ ч үүсгэхгүй. Сайн боловсруулсан програм нь аль хэдийн график дүрслэл дээр суурилдаг тул "өөрийгөө баримтжуулах" үр дүнтэй байдаг.

Хангалттай урт хугацаанд LabVIEW дээр програмчлахдаа би LabVIEW бол орчуулагч бөгөөд блок диаграммыг цөм нь байнга тайлбарладаг гэдэгт бүрэн итгэлтэй байсан. NI-ийн инженерүүдтэй ярилцсаны эцэст тийм биш болох нь тогтоогдсон. LabVIEW бол хөрвүүлэгч юм (гэхдээ код үүсгэх чанар нь хүссэн зүйлээ орхидог). Гэхдээ эмхэтгэл нь "ямар үед" тохиолддог - хөгжүүлэлтийн явцад ямар ч үед програм ажиллахад бэлэн байдаг. LabVIEW кодыг мөн LabVIEW суулгаагүй компьютер дээр ажиллуулж болох бүрэн гүйцэтгэгч файл болгон хөрвүүлэх боломжтой (хэдийгээр LabVIEW Run-Time шаардлагатай). Та мөн суулгацын багц үүсгэж болно, гуравдагч талын хэрэгслүүд InstallShield төрөл шаардлагагүй.

Багцын чадавхийг илүү дэлгэрэнгүй тайлбарлах нь энэ нийтлэлийн хамрах хүрээнээс гадуур боловч би зүгээр л туршиж үзэхийг санал болгож байна (холбоосыг доор өгөв). Агуу хүмүүсийн хэлснээр "... цорын ганц арга замшинэ програмчлалын хэл эзэмшинэ үү - түүн дээрээ програм бичээрэй." Туршлагатай програмистууд олж авсан мэдлэгээ өөрсдийн хэрэгцээнд нийцүүлэн экстраполяци хийх боломжтой болно.

Сайн байна уу хамт олон!

Харьцангуй богино өгүүллээр би LabVIEW програмчлалын хэлний талаар ярихыг хүсч байна. Энэ маш сонирхолтой бүтээгдэхүүн харамсалтай нь тийм ч түгээмэл биш бөгөөд би энэ цоорхойг тодорхой хэмжээгээр нөхөхийг хүсч байна.

LabVIEW гэж юу вэ?

LabVIEW бол National Instruments-ийн гол бүтээгдэхүүнүүдийн нэг юм. Юуны өмнө LabVIEW гэдэг нь товчилсон үг гэдгийг тэмдэглэх нь зүйтэй Лабуран илтгэл Ввиртуал Iбагаж хэрэгсэл Эинженерчлэл В orkbench. Нэрнээс нь лабораторийн судалгаа, хэмжилт, мэдээлэл цуглуулахад анхаарлаа хандуулж байгааг харж болно. Үнэндээ LabVIEW дээр SCADA системийг бий болгох нь "уламжлалт" хөгжүүлэлтийн хэрэгслийг ашиглахаас хамаагүй хялбар юм. Энэ нийтлэлд би LabVIEW-ийн боломжит хамрах хүрээ арай илүү өргөн гэдгийг харуулахыг хүсч байна. Энэ бол огт өөр програмчлалын хэл, эсвэл хэрэв хүсвэл програмчлалын бүхэл бүтэн "философи" юм. Таныг арай өөрөөр бодоход хүргэдэг функциональ хэл бөгөөд заримдаа хөгжүүлэгчийн хувьд үнэхээр гайхалтай боломжийг олгодог. LabVIEW бол програмчлалын хэл мөн үү? Энэ бол маргаантай асуудал юм - энд жишээ нь ANSI C гэх мэт стандарт байхгүй. Хөгжүүлэгчийн нарийн хүрээлэлд бид "G" хэлээр бичдэг гэж хэлдэг. Албан ёсоор ийм хэл байхгүй, гэхдээ энэ нь энэхүү хөгжүүлэлтийн хэрэгслийн гоо үзэсгэлэн юм: хувилбараас хувилбар хүртэл хэл рүү улам олон шинэ бүтэц нэвтэрч байна. С-ийн дараагийн хойд дүр нь жишээ нь for давталтын шинэ бүтэцтэй болно гэж төсөөлөхөд бэрх. LabVIEW дээр энэ нь бүрэн боломжтой.
Гэсэн хэдий ч LabVIEW нь TIOBE програмчлалын хэлний үнэлгээнд багтсан бөгөөд одоогоор Пролог ба Фортран хоёрын хооронд гучдугаар байрыг эзэлж байгааг тэмдэглэх нь зүйтэй.

NI LabVIEW - бүтээлийн түүх

National Instruments-ийг 1976 онд Техас мужийн Остин хотод Жефф Кодоски, Жеймс Тручард, Билл Новлин гэсэн гурван үүсгэн байгуулагч үүсгэн байгуулжээ. Компанийн гол мэргэшил нь хэмжих хэрэгсэл, үйлдвэрлэлийн автоматжуулалт байв.
LabVIEW-ийн анхны хувилбар нь компани байгуулагдсанаас хойш арван жилийн дараа буюу 1986 онд гарсан (энэ нь Apple Mac-д зориулсан хувилбар байсан). NI инженерүүд "уламжлалт" програмчлалын хэлийг сорьж, бүрэн график хөгжүүлэх орчныг бий болгосон. Жефф график аргын гол үзэл сурталч болжээ. Жилээс жилд шинэ хувилбарууд гарсан. Эхний кросс-платформ хувилбар (Windows-ийг оруулаад) нь 1993 онд гарсан 3-р хувилбар байв. Одоогийн хувилбар нь өнгөрсөн жил гарсан 8.6.

Компанийн төв оффис өнөөдөр Остин хотод байрладаг. Өнөөдөр тус компани бараг дөрвөн мянган хүн ажилладаг бөгөөд бараг дөчин оронд оффистой (Орос улсад бас нэг оффис байдаг)

Миний LabVIEW-ийн танилцуулга

LabVIEW-тэй танилцах үе маань бараг арван жилийн өмнө болсон. Би шинэ гэрээгээр ажиллаж эхэлсэн бөгөөд тэр үеийн дарга маань надад “Одоо чи үүн дээр ажиллана” гэсэн бичигтэй CD өгсөн. Би LabVIEW-ийг суулгасан (энэ нь тав дахь хувилбар байсан) бөгөөд хэсэг хугацаанд тоглосны дараа би ЭНЭ ямар ч ноцтой зүйл хийх боломжгүй гэж хэлсэн, би үүнийг Delphi-д "хуучин загвараар" хийхийг илүүд үздэг... би - чи зүгээр л туршиж үзээгүй байна. Нэг эсвэл хоёр долоо хоног ажилла. Хэсэг хугацааны дараа би LabVIEW-ээс өөр зүйл бичих боломжгүй гэдгээ ойлгох болно. Би энэ хэлэнд "анхны харцаар дурлах" биш ч гэсэн зүгээр л дурласан.

Ерөнхийдөө график болон текст програмчлалын хэлийг харьцуулах нь нэлээд хэцүү байдаг. Энэ нь магадгүй "PC" ба "MAC" эсвэл "Windows" ба "Linux" шиг харьцуулалт юм - та хүссэнээрээ маргаж болно, гэхдээ маргаан нь туйлын утгагүй юм - систем бүр оршин тогтнох эрхтэй бөгөөд тус бүр нь дэмжигчид болон өрсөлдөгчид аль аль нь, Үүнээс гадна, бүтээгдэхүүн бүр өөрийн гэсэн орон зай байдаг. LabVIEW бол маш уян хатан боловч зүгээр л хэрэгсэл юм.

Тэгэхээр LabVIEW гэж юу вэ?

LabVIEW бол платформ хоорондын график програм хөгжүүлэх орчин юм. LabVIEW бол зарчмын хувьд бүх нийтийн програмчлалын хэл юм. Хэдийгээр энэ бүтээгдэхүүн нь заримдаа National Instruments-ийн техник хангамжтай нягт холбоотой байдаг ч энэ нь тодорхой машинтай холбоогүй байдаг. Windows, Linux, MacOS-д зориулсан хувилбарууд байдаг. Эх код нь зөөврийн бөгөөд програмууд нь бүх систем дээр адилхан харагдах болно. LabVIEW-ээр үүсгэсэн кодыг Windows Mobile эсвэл PalmOS дээр ажиллуулж болно (шударга ёсны үүднээс PalmOS-ийн дэмжлэгийг зогсоосон гэдгийг тэмдэглэх нь зүйтэй, гэхдээ Palm өөрөө энд илүү буруутай). Энэ хэлийг текст, зураг боловсруулах, мэдээллийн сантай ажиллах томоохон системийг бий болгоход амжилттай ашиглаж болно.

LabVIEW бол маш өндөр түвшний хэл юм. Гэсэн хэдий ч LabVIEW программд "доод түвшний" модулиудыг оруулахад юу ч саад болохгүй. Хэдийгээр та ассемблерийн оруулга ашиглахыг хүсч байсан ч энэ нь бас боломжтой, та зүгээр л DLL үүсгэж, код руу дуудлага оруулах хэрэгтэй. Нөгөөтэйгүүр, өндөр түвшний хэл нь энгийн хэлээр олон мөр (хэдэн арван мөр биш бол) код авах боломжтой өгөгдөлтэй маш энгийн бус үйлдлүүдийг хялбархан гүйцэтгэх боломжийг олгодог. Гэсэн хэдий ч шударга байхын тулд доод түвшний хэлний зарим үйлдлүүд (жишээлбэл, заагчтай ажиллах) "өндөр түвшний" шинж чанартай тул LabVIEW дээр хэрэгжүүлэхэд тийм ч хялбар биш гэдгийг тэмдэглэх нь зүйтэй. Мэдээжийн хэрэг, LabVIEW хэл нь "уламжлалт" хэл дээрх аналог бүхий үндсэн хяналтын бүтцийг агуулдаг.

  • хувьсагч (орон нутгийн эсвэл глобал)
  • салбарлах (тохиолдлын бүтэц)
  • For – дуусаагүй болон шалгахгүй гогцоо.
  • while - гогцоо
  • Үйл ажиллагааны бүлэглэл.

LabVIEW - програм болон хэлний чадвар

LabVIEW-д боловсруулж буй програм хангамжийн модулиудыг "Виртуал хэрэгслүүд" буюу энгийнээр VI гэж нэрлэдэг. Тэдгээрийг *.vi өргөтгөлтэй файлд хадгалдаг. VI нь LabVIEW програмыг бүрдүүлдэг барилгын материал юм. LabVIEW програм бүр дор хаяж нэг VI агуулна. Си хэлний хувьд та функцтэй зүйрлэлийг найдвартай зурж чадна, цорын ганц ялгаа нь LabVIEW-д нэг функц нэг файлд агуулагддаг (хэрэгслийн санг үүсгэж болно). Нэг VI-г нөгөөгөөс нь VI гэж нэрлэх нь ойлгомжтой. Зарчмын хувьд VI бүр нь блок диаграмм ба урд самбар гэсэн хоёр хэсгээс бүрдэнэ. Блок диаграмм нь програмын код (илүү нарийвчлалтай, кодын харааны график дүрслэл), урд самбар нь интерфейс юм. "Сайн уу, Дэлхий!"-ийн сонгодог жишээ дараах байдалтай байна.

LabVIEW нь өгөгдлийн урсгалын парадигм дээр суурилдаг. Дээрх жишээнд тогтмол ба заагч терминалууд хоорондоо шугамаар холбогдсон байна. Энэ шугамыг Wire гэж нэрлэдэг. Та үүнийг "утас" гэж нэрлэж болно. Утаснууд нь өгөгдлийг нэг элементээс нөгөөд дамжуулдаг. Энэ бүх ойлголтыг Мэдээллийн урсгал гэж нэрлэдэг. Блок диаграмын мөн чанар нь зангилаа бөгөөд зарим зангилааны гаралт нь бусад зангилааны оролттой холбогддог. Зангилаа нь үйл ажиллагаанд шаардлагатай бүх өгөгдөл ирсэн үед л ажиллаж эхэлнэ. Дээрх диаграммд хоёр зангилаа байна. Тэдний нэг нь тогтмол юм. Энэ зангилаа нь бие даасан байдаг - тэр даруй ажиллаж эхэлдэг. Хоёр дахь зангилаа нь индикатор юм. Энэ нь тогтмол дамжуулж буй өгөгдлийг харуулах болно (гэхдээ тэр даруй биш, харин тогтмолаас өгөгдөл ирэх даруйд).

Энд арай илүү төвөгтэй жишээ байна: хоёр тоог нэмэх, үржүүлэх. Уламжлалт хэлээр бид ийм зүйл бичдэг

Int a, b, sum, mul;
//...
нийлбэр = a + b;
mul = a * b;

LabVIEW дээр дараах байдалтай байна.

Нэмэх, үржүүлэх үйлдлийг автоматаар зэрэгцүүлэн гүйцэтгэдэг болохыг анхаарна уу. Хос процессортой машин дээр хоёр процессорыг автоматаар ашиглах болно.

while / for гогцоо болон if / then / else бүтэц нь дараах байдалтай байна.

Өмнө дурьдсанчлан бүх элементүүдийг зэрэгцээ гүйцэтгэх болно. Даалгаврыг олон процессор дээр зэрэгцүүлэн гүйцэтгэж болох олон урсгалд хэрхэн зэрэгцүүлэх талаар бодох шаардлагагүй. Хамгийн сүүлийн үеийн хувилбаруудад та ямар процессор дээр тодорхой while давталтыг гүйцэтгэх ёстойг тодорхой зааж өгч болно. Одоо олон процессорын системийн дэмжлэгийг хялбархан олж авах боломжийг олгодог текст хэлний нэмэлтүүд байгаа боловч үүнийг LabVIEW шиг хялбархан хэрэгжүүлээгүй байх магадлалтай. (за, би текстийн хэлтэй харьцуулсан хэвээр байна). Хэрэв бид олон урсгалын талаар аль хэдийн ярьж байгаа бол хөгжүүлэгч нь семафор, дараалал, уулзалт гэх мэт утаснуудыг синхрончлох өргөн сонголттой гэдгийг анхаарах хэрэгтэй.

LabVIEW нь хэрэглэгчийн интерфэйсийг бий болгох элементүүдийн баялаг багцыг агуулдаг. Интерфейсүүд нь Delphi-д хурдан бүтээгдсэн боловч LabVIEW дээр энэ үйл явц илүү хурдан явагддаг.

LabVIEW-ийн стандарт нийлүүлэлт нь ini файлуудтай ажиллах блокууд, бүртгэл, хоёртын болон туршилтын файлуудтай ажиллах функцууд, математик функцууд, график зурах хүчирхэг хэрэгслүүд (мөн лабораторид үүнгүйгээр та хаана байх байсан бэ) багтсан болно. Дээр дурдсан DLL-г дуудах чадвар, LabVIEW нь ActiveX бүрэлдэхүүн хэсгүүд болон .net-тэй ажиллах боломжийг олгодог. Найм дахь хувилбараас эхлэн LabVIEW-д ангиудын дэмжлэг нэмэгдсэн - хэл нь объект хандалтат болсон. Хэрэгжүүлсэн дэмжлэгийг бүрэн гүйцэд гэж нэрлэх боломжгүй боловч объект хандалтат хэлний үндсэн шинж чанарууд - удамшил ба полиморфизм байдаг. Түүнчлэн, хэлний функцийг нэмэлт модулиудаар өргөжүүлж болно, жишээлбэл NI Vision Toolkit - зураг боловсруулах, компьютерийн хараа болон бусад. Мөн Application Builder модулийг ашиглан та гүйцэтгэгдэх боломжтой exe файл үүсгэж болно. Internet Toolkit-ийг ашигласнаар та ftp серверүүдтэй, Өгөгдлийн сангийн холболтын хэрэгсэлтэй - мэдээллийн сантай ажиллах боломжтой.

График кодыг уншихад хэцүү гэсэн бодлыг та байнга сонсож болно. Үнэхээр зуршлаасаа болж олон тооны дүрс, дамжуулагч нь зарим талаараа цочирдуулдаг. Шинэхэн хөгжүүлэгчид мөн "хуудас" болон "спагетти" програмуудыг бий болгодог. Гэсэн хэдий ч туршлагатай LabVIEW хөгжүүлэгч програм нь хэдэн зуун модулиудаас бүрдсэн байсан ч дэлгэцийн хэмжээнээс том диаграммыг хэзээ ч үүсгэхгүй. Сайн боловсруулсан програм нь аль хэдийн график дүрслэл дээр суурилдаг тул "өөрийгөө баримтжуулах" үр дүнтэй байдаг.

LabVIEW дээр программчлал хийхдээ маш удаан хугацаанд би LabVIEW нь орчуулагч бөгөөд блок диаграммуудыг цөм нь байнга тайлбарладаг гэдэгт бүрэн итгэлтэй байсан. NI-ийн инженерүүдтэй ярилцсаны эцэст тийм биш болох нь тогтоогдсон. LabVIEW бол хөрвүүлэгч юм (гэхдээ код үүсгэх чанар нь хүссэн зүйлээ орхидог). Гэхдээ эмхэтгэл нь "ямар үед" тохиолддог - хөгжүүлэлтийн явцад ямар ч үед програм ажиллахад бэлэн байдаг. LabVIEW кодыг мөн LabVIEW суулгаагүй компьютер дээр ажиллуулж болох бүрэн гүйцэтгэгч файл болгон хөрвүүлэх боломжтой (хэдийгээр LabVIEW Run-Time шаардлагатай). Та мөн суулгагч суулгах багцыг угсарч болно; InstallShield гэх мэт гуравдагч талын хэрэгслүүд шаардлагагүй.

Багцын чадавхийг илүү дэлгэрэнгүй тайлбарлах нь энэ нийтлэлийн хамрах хүрээнээс гадуур боловч би зүгээр л туршиж үзэхийг санал болгож байна (холбоосыг доор өгөв). "... шинэ програмчлалын хэлийг эзэмших цорын ганц арга бол түүн дээр програм бичих явдал юм" гэж агуу хүмүүсийн хэлсэн байдаг. Туршлагатай програмистууд олж авсан мэдлэгээ өөрсдийн хэрэгцээнд нийцүүлэн экстраполяци хийх боломжтой болно.

Микроконтроллерийн төхөөрөмжийг хөгжүүлэгчид, сонирхогчид эсвэл мэргэжлийн хүмүүс ч бай эрт орой хэзээ нэгэн цагт микроконтроллерийн төхөөрөмжийг "том ах" буюу компьютерт холбох шаардлагатай болдог. Энэ үед асуулт гарч ирнэ: микроконтроллертой солилцох, түүнээс хүлээн авсан өгөгдлийг шинжлэх, боловсруулахын тулд би ямар програм хангамж ашиглах ёстой вэ? Ихэнхдээ MK-г компьютертэй солилцохын тулд тэд RS232 интерфейс ба протоколыг ашигладаг - хуучин сайн COM портнэг эсвэл өөр хэрэгжилтэд.

Компьютерийн тал дээр янз бүрийн терминалын програмуудыг ашигладаг бөгөөд үүнээс хэдэн зуун байдаг. Гэхдээ эдгээр програмууд нь зөвхөн мэдээлэл хүлээн авах, дамжуулах боломжийг олгодог. Үүнийг ямар нэгэн байдлаар боловсруулж, дүрслэн харуулах нь хэцүү байдаг.

Зарим нь ийм программ хангамжийг зарим програмчлалын хэлээр (Delphi, C++) бие даан бичиж, шаардлагатай функцийг хангадаг. Гэхдээ энэ даалгавар тийм ч хялбар биш, та хэлээс гадна төхөөрөмжийг мэдэх хэрэгтэй үйлдлийн систем, холбооны портуудтай ажиллах аргууд, гол зүйлээс сатаардаг бусад олон техникийн нарийн ширийн зүйлс - програмын алгоритмыг хэрэгжүүлэх. Ерөнхийдөө нэгэн зэрэг Windows/Unix програмист байх.

Виртуал хэрэгслүүдийн тухай ойлголт (vi) нь эдгээр хандлагуудаас эрс ялгаатай. Энэ нийтлэлд Nationals Instruments-ийн LabView програм хангамжийн бүтээгдэхүүнийг авч үзэх болно. Би энэ гайхалтай бүтээгдэхүүнийг дөнгөж эзэмшиж эхэлж байгаа тул алдаа, алдаа гаргаж магадгүй юм. Мэргэжилтнүүд таныг засах болно :-)) LabView гэж яг юу вэ?

LabView бол программуудыг ажиллуулах хөгжлийн орчин, платформ юм график хэл National Instruments-ийн "G" програмчлал.

Ярьж байна энгийн хэлээр, LabView - Энэ нь янз бүрийн багаж хэрэгсэл, лабораторийн суурилуулалт гэх мэт мэдээллийг цуглуулах, боловсруулах, дүрслэн харуулах даалгавруудад зориулсан програм үүсгэх орчин юм. Мөн менежментийн хувьд технологийн процессуудболон төхөөрөмжүүд. Гэсэн хэдий ч, LabView ашиглан та маш энгийн хэрэглээний програм хангамжийг үүсгэж болно. Би энэ бүтээгдэхүүнийг дэлгэрэнгүй тайлбарлаж, түүнтэй ажиллах бодолгүй байна. LabView дээр бичсэн олон мянган хуудас маш сайн баримт бичиг, олон зуун ном байдаг. Интернет нь LabView-д зориулагдсан нөөцөөр дүүрэн бөгөөд эндээс та бүх асуултынхаа хариултыг авах боломжтой.

Өгүүллийн зорилго нь уламжлалт програмчлалтай харьцуулахад PC-д зориулсан програм үүсгэх, LabView ямар хүч чадалтай болохыг харуулах явдал юм. (Үнэндээ энэ нь маргаантай, учир нь уламжлалт програмчлалд үүнийг Delphi-д хийх нь тийм ч хэцүү биш юм. Мөн үр ашгийн хувьд илүү сайн биш юмаа гэхэд дордохгүй. Гэхдээ үүний тулд та Delphi-г илүү удаан судлах хэрэгтэй. Бүх зүйл хурдан байдаг. Тэгээд бараг тэр даруйд нь арилгачих .. Би хэд хэдэн гарын авлагыг судалж, бүх төрлийн залгахыг хашихаар урагшиллаа.Тиймээс програмистуудын хувьд энэ нь нохойны 5 дахь хөл шиг боловч над шиг компьютерээс хол байгаа нөхдүүдийн хувьд энэ нь зүгээр л нэг зүйл юм. Би LabView-г анх хараад хагас цагийн дотор Маалинган хүлэмжинд услах, халаах нарийхан гар удирдлагатай араатны системийг бүх төрлийн PID хянагчаар бүтээсэн. Би үүнийг лабораторийн потенциометр, мэдрэгч дээр авчирч өгсөн. Манай техникчд байсан вандан сандал, энэ тамын нэгжийг эхлүүлсэн. Тэгээд бүх зүйл дибаг хийлгүйгээр шууд ажиллав. Дашрамд хэлэхэд адрон коллайдерын бүх төхөөрөмж LabView дээр ажилладаг бөгөөд шинжлэх ухааны маш олон төхөөрөмж байдаг. Жич: DI HALT)Эцсийн эцэст, компьютерийн програмчлал нь ихэнх электроникийн инженерүүдэд харь байдаг, тийм ээ? Үүнийг бид засахыг хичээх болно. Бөмбөрцөг вакуум морийг судлахгүйн тулд бид өөрсдөдөө зориулж, энгийн даалгавар хэрэгжүүлэх болно. Даалгавар үнэхээр энгийн, гэхдээ үүн дээр үндэслэн та LabView програмчлалын үндсэн зарчмуудыг ойлгож чадна. Бид LabView 2010 хувилбарыг ашиглах болно. Бусад хувилбаруудын хувьд ялгаа бага байх болно.

Даалгавар
Бид төлбөртэй AVR микроконтроллер, RS232-ээр компьютерт холбогдсон. Хянагч нь програм хангамжаар ачаалагдсан бөгөөд үүний дагуу хянагч нь ADC оролтын аль нэг дэх хүчдэлийн утгыг хэмжиж, ADC кодыг (0-ээс 1023 хүртэл) цуваа сувгаар компьютерт дамжуулдаг. ADC-аас өгөгдлийн урсгал хүлээн авах, ADC кодыг харуулах, ADC кодыг вольтоор хүчдэлийн утга болгон хувиргах, хүчдэлийн утгыг вольтоор харуулах, хүчдэлийн өөрчлөлтийг цаг хугацааны графикаар зурах PC програмыг бичих шаардлагатай.

За, дууны үг хангалттай байж магадгүй, эхэлцгээе!

Тэгэхээр бидэнд ажилд юу хэрэгтэй вэ:

  • Үнэндээ LabView өөрөө. Та туршилтын хувилбарыг NI вэбсайтаас татаж авах боломжтой: http://www.ni.com/trylabview/. Хулгайн хувилбарыг ч ямар ч асуудалгүйгээр google-ээр хайж болно. Дашрамд хэлэхэд, rutracker.org сайт дээр олон тонн хулгайн хувилбараас гадна Линуксийн хувилбар бас байдаг бөгөөд үүнд бүртгүүлэх шаардлагагүй юм шиг санагддаг. NI нээлттэй эх сурвалжтай хагас замд нь уулзахаар шийдсэн үү?
  • Мөн NI VISA бүрэлдэхүүн хэсгийг татаж авах шаардлагатай. Энэ програмгүйгээр LabView нь компьютер дээрх COM портыг "хардаггүй". VISA нь холбооны портуудтай ажиллах болон бусад олон функцуудыг агуулдаг. Та үүнийг joule.ni.com сайтаас татаж авах боломжтой. LabView болон VISA суулгана уу. Энэхүү програм хангамжийн суурилуулалт нь стандарт бөгөөд ямар ч тусгай функцгүй.

Юуны өмнө бид VISA системд COM портыг олж, түүнтэй зөв ажиллаж байгаа эсэхийг шалгах хэрэгтэй. Та үүнийг дараах байдлаар шалгаж болно: Хэмжилт ба автоматжуулалтын програмыг ажиллуул. Энэ нь LabView-тэй хамт ирдэг. Хэрэв суулгаагүй бол та гараар суулгаж болно. Энэ нь дискэн дээр байгаа (LabView-тэй зураг).

Цонхны зүүн талд бид системд илэрсэн тоног төхөөрөмжийг харж байна. Бусад зүйлсийн дунд бид COM портоо олдог. Баруун талд визний тестийн самбарыг нээх товчлуур байна. Үүнийг ашигласнаар та сонгосон төхөөрөмжийг туршиж үзэх боломжтой. COM портын хувьд та өгөгдмөл эсвэл дурын дарааллаар тэмдэгт илгээх эсвэл хүлээн авах боломжтой. Хэрэв порттой бүх зүйл эмх цэгцтэй байвал бид програмаа шууд үүсгэж болно.

LabView-г ажиллуул. Эхлэх цонхноос Blank Vi зүйлийг сонгоод шинэ виртуал төхөөрөмж үүсгэнэ үү.

Бид иймэрхүү зүйлийг олж авдаг:

Тэгэхээр бидэнд юу байгаа вэ? Ажлын хэсэг нь урд самбар ба блок диаграмм гэсэн хоёр том самбараас бүрдэнэ. Урд самбар дээр бид Хяналтын самбарын удирдлагыг ашиглан програмынхаа интерфейсийг үүсгэх болно. Эдгээр элементүүд нь танил хувьсах резисторын бариул, LED, товчлуур, заагч хэрэгсэл, осциллографын дэлгэц гэх мэт. Эдгээр нь программд мэдээлэл оруулах, гүйцэтгэлийн үр дүнг харуулахад үйлчилдэг. Блок диаграмын самбар нь програмын кодыг агуулдаг. Энд бид бага зэрэг ухарч, LabView програмчлалын зарчмыг тайлбарлах хэрэгтэй. Жижиг жишээ. Интерфэйсийг зохиож, дараа нь блок диаграмм дээр алгоритмыг хэрэгжүүлэх замаар програм дээр ажиллаж эхлэх нь заншилтай байдаг. Хоёр тоог үржүүлэх энгийн программ хийцгээе. Үүнийг хийхийн тулд бид үр дүнг харуулахын тулд хаалганы бариул болон тоон үзүүлэлтийн элементүүдийг чирж урд самбар дээр гурван удирдлагыг байрлуулна.

Өөрийн хүссэнээр интерфэйсийг үүсгэцгээе, жишээ нь:

За, одоо бид бодит үржүүлэлтийг хэрэгжүүлэх хэрэгтэй. Бид Блок диаграмын самбар руу очиж, бидний удирдлага тус бүрт тохирох дүрсийг үүсгэсэн болохыг харна. Дэлгэцийн горимыг терминал руу нэн даруй солих нь дээр. Диаграм нь тийм ч эмх замбараагүй байх болно. Нэмж дурдахад терминалууд нь тодорхой удирдлага дээр ажилладаг өгөгдлийн төрлийг харуулдаг. Үүнийг хийхийн тулд дүрс дээр хулганы баруун товчийг дараад Дүрс болгон харах гэснийг арилгана уу. Дэлгэцийн дээд хэсэгт терминал хэлбэрээр, доод талд, баруун талд дүрс хэлбэртэй удирдлага байна. Блок диаграмын өгөгдмөл харагдах байдлыг терминал болгон тохируулахын тулд та Tools->Options цэсний зүйлийг сонгоод, зүүн талд байрлах Блок диаграммыг сонгоод, урд самбарын терминалуудыг дүрс болгон байрлуулах гэснийг арилгах хэрэгтэй. Контекст тусламж үзүүлэх нь маш хэрэгтэй. Та үүнийг Ctrl+H хослолыг ашиглан харуулах боломжтой. Энэ цонх нь курсорыг байрлуулсан объектын талаарх мэдээллийг харуулдаг. Мега тохиромжтой зүйл.

Одоо бид блок диаграммд үржүүлэх функцийг нэмэх хэрэгтэй. Блок диаграм дээр хулганы баруун товчийг дараад Тоон палитраас Үржүүлэх функцийг сонгоно. Үүнийг диаграммд оруулъя. LabView нь ердөө л асар том функцтэй гэдгийг тэмдэглэх нь зүйтэй. Үүнд янз бүрийн математик, статистик, дохионы дүн шинжилгээ, PID зохицуулалт, видео, дуу, дүрс боловсруулалт орно. Та бүгдийг жагсааж болохгүй.

LabView програмчлалын хамгийн чухал ойлголт бол DataFlows гэсэн ойлголт юм. Гол нь дараах байдалтай байна: Хэлэлцүүлэг нь дэс дарааллаар биелдэг императив програмчлалын хэлнүүдээс ялгаатай нь LabView-ийн функцууд нь зөвхөн бүх функцийн оролт мэдээлэлтэй (функц бүрд оролт, гаралтын утгатай) байвал л ажилладаг. Зөвхөн дараа нь функц нь алгоритмаа хэрэгжүүлэх бөгөөд үр дүн нь гаралт руу илгээгдэх бөгөөд үүнийг өөр функц ашиглаж болно. Тиймээс нэг виртуал хэрэгсэл дотор функцууд бие биенээсээ хамааралгүй ажиллах боломжтой.

Одоо жишээгээ сэргээхийн тулд бид энэ үзэл баримтлалыг дагаж, удирдлагын тусламжтайгаар тохируулсан тоон утгуудыг функцэд оруулан, гаралтаас үр дүнг авч, харуулах хэрэгтэй.

Блок диаграм дахь элементүүдийг холбохын тулд Tools самбараас Wire холбох хэрэгслийг ашиглана уу. Үүнийг сонгоод бидний холболтыг зур.

Ингээд л та энэ тэнэг програмыг циклийн гүйцэтгэлд зориулж ажиллуулж, үржүүлгийн үр дүнг ажиглан товчлууруудыг эргүүлж болно.

Таны харж байгаагаар ямар ч төвөгтэй зүйл байхгүй бололтой. Гэхдээ үүнтэй зэрэгцэн LabView нь аливаа нарийн төвөгтэй асуудлыг шийдвэрлэх боломжийг танд олгоно! Хараал ид, TANK хяналтын системийг үүн дээр хийсэн! Тэгэхээр тийм.

За, одоо илүү ихийг хийцгээе сонирхолтой зүйлс, тухайлбал, миний хамгийн эхэнд ярьсан хамгийн энгийн вольтметрийг хийцгээе.

Тэгэхээр бид юу хийх хэрэгтэй вэ. Эхлээд та тохируулж, эхлүүлэх хэрэгтэй цуваа порт. Төгсгөлгүй гогцоо эхлүүл. Гогцоонд бид портоос унших функцийг ашиглаж, мэдээллийг хүлээн авдаг. Бид график дээр харуулах мэдээллийг хөрвүүлж, ADC кодыг вольт дахь хүчдэлийн утга болгон дахин тооцоолно. Гогцооноос гарахдаа портыг хаа.
Тиймээс манай программын интерфэйс дээр Stop товчлуураас өөр хяналтын элемент байхгүй, зөвхөн үр дүнг харуулах болно.Бид үүнийг хийх болно: эхлээд блок диаграммыг үүсгэж, дараа нь дутуу элементүүдийг урд талд нэмнэ. самбар. Хэдийгээр та эсрэгээр нь хийх хэрэгтэй! Гэхдээ энэ тохиолдолд энэ нь илүү тохиромжтой.

Блок диаграмын самбар дээр бид Structures палитраас While Loop элементийг байрлуулсан бөгөөд энэ нь бидний төгсгөлгүй давталт юм. Бид алгоритм дотор багтах хангалттай том талбайн эргэн тойронд гогцооны хүрээ зурдаг. Баруун доод буланд улаан цэг байгаа бөгөөд түүн дээр хулганы баруун товчийг дараад Control Create командыг сонгоно. Бид нэн даруй урд самбар дээр Stop товчлууртай болно. Үүн дээр дарахад манай хөтөлбөр дуусна.

Одоо давталтын гадна портыг эхлүүлэх, хаах функцуудыг байрлуулах ёстой. Зүүн талд нь эхлүүлэх, баруун талд нь хаах байна. Дахин хулганы баруун товчийг дараад "Портыг тохируулах", "унших, хаах" функцийг сонгоно уу. Эдгээр функцууд нь Instrument I/O –> Serial palette-д байрладаг. Бид унших функцийг гогцоонд байрлуулна. Бид ороомог утас ашиглан функцүүдийн гаралт, оролтыг холбодог. Унших функцийн хувьд бид хүлээн авах байтны тоог зааж өгөх ёстой. Унших функцийн дунд талын оролт дээр хулганы баруун товчийг дараад Create->Constant командыг сонгоод утгыг оруулна уу, жишээ нь 200. Энэ үе шатанд дэлгэцийн зураг шиг харагдах ёстой.

Та портыг эхлүүлэх функцэд хяналт үүсгэх хэрэгтэй. Бидэнд хоёр нь хангалттай - портын хурд ба портын нэр. Унших функцийн тогтмолыг үүсгэсэнтэй адил бид хяналтыг бий болгодог. Эхлүүлэх функц болон зүйлийн шаардлагатай оролтууд дээр PCM

Үүсгэх->Удирдлага.

Бид хоёр орцыг сонирхож байна: Визний нөөцийн нэрТэгээд Дохионы түвшин(өгөгдмөл 9600). Одоо урд талын самбар руу орж, шаардлагатай бүрэлдэхүүн хэсгүүдийг, тухайлбал график зурах дэлгэц, ADC код болон хүчдэлийг вольтоор харуулах шошгыг нэмж оруулцгаая.
Үүний дагуу эдгээр нь График палитр дахь Waweform Chart элементүүд ба Тоон палитраас хоёр тоон үзүүлэлтийн элемент юм.

Блок диаграм руу буцаж, гогцоонд гарч ирэх элементүүдийг шилжүүлье. Бид дуусах дөхөж байна! Цорын ганц зүйл бол бид Унших функцийн гаралтаас гарч буй тэмдэгтүүдийн мөрийг бидний үзүүлэлтүүдийг шингээж авах формат руу хөрвүүлэх шаардлагатай хэвээр байна. Мөн ADC кодыг вольт болгон хувиргах хамгийн энгийн математикийг хэрэгжүүлээрэй. Энэ үе шатанд урд талын самбар болон блок диаграммуудын дэлгэцийн агшинг доор харуулав.

Мөрийг хөрвүүлэхийн тулд бид String палитраас Scan from string функцийг ашиглана. Бид гогцооны дотор байрлуулна. Одоо математикийн хувьд. ADC кодыг вольт дахь хүчдэлийн утга болгон хөрвүүлэхийн тулд та кодыг жишиг хүчдэлийн утгаар (миний хувьд энэ нь таван вольт) үржүүлж, үүссэн утгыг 1023-т хуваах хэрэгтэй (ADC нь 10 байна. -бит өргөн). Бид шаардлагатай үржүүлэх, хуваах функцууд, түүнчлэн тогтмол (5 ба 1023) гогцоонд байрлуулна. Хэт олон зураг байгаа тул би холболт бүрийн дэлгэцийн агшинг авахгүй. Би бүх холболтын эцсийн дэлгэцийн агшинг өгөх болно. Тэнд бүх зүйл маш энгийн байдаг.

Бүх зүйл ойлгомжтой гэж бодож байна, хэрэв танд асуулт байвал сэтгэгдэл дээр асуугаарай. Хамтдаа ойлгоцгооё :-))) Энэ хооронд нэвтрүүлэг бэлэн боллоо.

Интерфэйс рүүгээ ороод диаграмаа бага зэрэг тохируулцгаая. Y тэнхлэгийн дагуух доод утгыг сонгоод 0-д тохируулна. Дээд утгыг сонгоод 5-д тохируулна. Тиймээс Y тэнхлэгийн дагуух бидний масштаб 0-5 вольтын мужид байна. За, бид COM портыг сонгоод, дамжуулах хурдыг оруулаад, сумны товчлуурыг ашиглан програмаа эхлүүлж, самбар дээрх резисторыг мушгиж, дэлгэцэн дээрх ажлын үр дүнг чөлөөтэй ажиглана. Програмыг зогсоохын тулд Stop товчийг дарна уу.

Таны харж байгаагаар бүх зүйл маш энгийн. Энэ жишээЭнэ бол LabView-ийн бүх боломжуудын өчүүхэн хэсэг юм. Хэрэв энэ нийтлэл хэн нэгэнд тусалсан бол би баяртай байх болно. Сэтгэгдэл бичихдээ намайг битгий хүчтэй цохиж бай, би мэргэжлийн хүн биш. Өөр нэг бяцхан заль мэх. Хэрэв диаграм нь Cthulhu шиг харагдаж байвал CleanUp Diagram товчийг ашиглаж үзээрэй. Энэ нь диаграммыг илүү их эсвэл бага бурханлаг хэлбэрт оруулах болно, гэхдээ үүнийг болгоомжтой ашиглах хэрэгтэй. Түүний ажлын үр дүн энд байна

Та мөн диаграммыг эмх замбараагүй болгохгүйн тулд хэсгүүдийг функциональ блок болгон нэгтгэж болно.

Сонирхогч эсвэл мэргэжлийн эсэхээс үл хамааран микроконтроллерийн төхөөрөмжийг бараг бүх хөгжүүлэгчид эрт орой хэзээ нэгэн цагт микроконтроллерийн төхөөрөмжийг "том ах" буюу компьютерт холбох шаардлагатай болдог. Энэ үед асуулт гарч ирнэ: микроконтроллертой солилцох, түүнээс хүлээн авсан өгөгдлийг шинжлэх, боловсруулахын тулд би ямар програм хангамж ашиглах ёстой вэ? Ихэнхдээ MK-г компьютертэй солилцохын тулд тэд RS232 интерфэйс ба протоколыг ашигладаг - хуучин сайн COM портыг нэг эсвэл өөр хэрэгжүүлэлтэд ашигладаг.

Компьютерийн тал дээр янз бүрийн терминалын програмуудыг ашигладаг бөгөөд үүнээс хэдэн зуун байдаг. Гэхдээ эдгээр програмууд нь зөвхөн мэдээлэл хүлээн авах, дамжуулах боломжийг олгодог. Үүнийг ямар нэгэн байдлаар боловсруулж, дүрслэн харуулах нь хэцүү байдаг.

Зарим нь ийм программ хангамжийг зарим програмчлалын хэлээр (Delphi, C++) бие даан бичиж, шаардлагатай функцийг хангадаг. Гэхдээ энэ даалгавар нь тийм ч хялбар биш бөгөөд та хэлээс гадна үйлдлийн системийн бүтэц, харилцааны портуудтай хэрхэн ажиллах, програмыг хэрэгжүүлэх гол зүйлээс сатаардаг бусад олон техникийн нарийн ширийн зүйлийг мэдэх хэрэгтэй. алгоритм. Ерөнхийдөө нэгэн зэрэг Windows/Unix програмист байх.

Виртуал хэрэгслүүдийн тухай ойлголт (vi) нь эдгээр хандлагуудаас эрс ялгаатай. Энэ нийтлэлд Nationals Instruments-ийн LabView програм хангамжийн бүтээгдэхүүнийг авч үзэх болно. Би энэ гайхалтай бүтээгдэхүүнийг дөнгөж эзэмшиж эхэлж байгаа тул алдаа, алдаа гаргаж магадгүй юм. Мэргэжилтнүүд таныг засах болно :-)) LabView гэж яг юу вэ?

LabView нь National Instruments график програмчлалын хэл G дээр бичигдсэн програмуудыг ажиллуулах хөгжлийн орчин, платформ юм.

Энгийнээр хэлбэл, LabView нь янз бүрийн багаж хэрэгсэл, лабораторийн суурилуулалт гэх мэт мэдээллийг цуглуулах, боловсруулах, дүрслэх зэрэгт зориулагдсан програм үүсгэх орчин юм. Мөн технологийн процесс, төхөөрөмжийг удирдахад зориулагдсан. Гэсэн хэдий ч, LabView ашиглан та маш энгийн хэрэглээний програм хангамжийг үүсгэж болно. Би энэ бүтээгдэхүүнийг дэлгэрэнгүй тайлбарлаж, түүнтэй ажиллах бодолгүй байна. LabView дээр бичсэн олон мянган хуудас маш сайн баримт бичиг, олон зуун ном байдаг. Интернет нь LabView-д зориулагдсан нөөцөөр дүүрэн бөгөөд эндээс та бүх асуултынхаа хариултыг авах боломжтой.

Өгүүллийн зорилго нь уламжлалт програмчлалтай харьцуулахад PC-д зориулсан програм үүсгэх, LabView ямар хүч чадалтай болохыг харуулах явдал юм. (Үнэндээ энэ нь маргаантай, учир нь уламжлалт програмчлалд үүнийг Delphi-д хийх нь тийм ч хэцүү биш юм. Мөн үр ашгийн хувьд илүү сайн биш юмаа гэхэд дордохгүй. Гэхдээ үүний тулд та Delphi-г илүү удаан судлах хэрэгтэй. Бүх зүйл хурдан байдаг. Тэгээд бараг тэр даруйд нь арилгачих .. Би хэд хэдэн гарын авлагыг судалж, бүх төрлийн залгахыг хашихаар урагшиллаа.Тиймээс програмистуудын хувьд энэ нь нохойны 5 дахь хөл шиг боловч над шиг компьютерээс хол байгаа нөхдүүдийн хувьд энэ нь зүгээр л нэг зүйл юм. Би LabView-г анх хараад хагас цагийн дотор Маалинган хүлэмжинд услах, халаах нарийхан гар удирдлагатай араатны системийг бүх төрлийн PID хянагчаар бүтээсэн. Би үүнийг лабораторийн потенциометр, мэдрэгч дээр авчирч өгсөн. Манай техникчд байсан вандан сандал, энэ тамын нэгжийг эхлүүлсэн. Тэгээд бүх зүйл дибаг хийлгүйгээр шууд ажиллав. Дашрамд хэлэхэд адрон коллайдерын бүх төхөөрөмж LabView дээр ажилладаг бөгөөд шинжлэх ухааны маш олон төхөөрөмж байдаг. Жич: DI HALT)Эцсийн эцэст, компьютерийн програмчлал нь ихэнх электроникийн инженерүүдэд харь байдаг, тийм ээ? Үүнийг бид засахыг хичээх болно. Бөмбөрцөг вакуум морийг судлахгүйн тулд бид өөрсдөдөө зориулж, энгийн даалгавар хэрэгжүүлэх болно. Даалгавар үнэхээр энгийн, гэхдээ үүн дээр үндэслэн та LabView програмчлалын үндсэн зарчмуудыг ойлгож чадна. Бид LabView 2010 хувилбарыг ашиглах болно. Бусад хувилбаруудын хувьд ялгаа бага байх болно.

Даалгавар
Бидэнд RS232-ээр дамжуулан компьютерт холбогдсон AVR микроконтроллер бүхий самбар бий. Хянагч нь програм хангамжаар ачаалагдсан бөгөөд үүний дагуу хянагч нь ADC оролтын аль нэг дэх хүчдэлийн утгыг хэмжиж, ADC кодыг (0-ээс 1023 хүртэл) цуваа сувгаар компьютерт дамжуулдаг. ADC-аас өгөгдлийн урсгал хүлээн авах, ADC кодыг харуулах, ADC кодыг вольтоор хүчдэлийн утга болгон хувиргах, хүчдэлийн утгыг вольтоор харуулах, хүчдэлийн өөрчлөлтийг цаг хугацааны графикаар зурах PC програмыг бичих шаардлагатай.

За, дууны үг хангалттай байж магадгүй, эхэлцгээе!

Тэгэхээр бидэнд ажилд юу хэрэгтэй вэ:

  • Үнэндээ LabView өөрөө. Та туршилтын хувилбарыг NI вэбсайтаас татаж авах боломжтой: http://www.ni.com/trylabview/. Хулгайн хувилбарыг ч ямар ч асуудалгүйгээр google-ээр хайж болно. Дашрамд хэлэхэд, rutracker.org сайт дээр олон тонн хулгайн хувилбараас гадна Линуксийн хувилбар бас байдаг бөгөөд үүнд бүртгүүлэх шаардлагагүй юм шиг санагддаг. NI нээлттэй эх сурвалжтай хагас замд нь уулзахаар шийдсэн үү?
  • Мөн NI VISA бүрэлдэхүүн хэсгийг татаж авах шаардлагатай. Энэ програмгүйгээр LabView нь компьютер дээрх COM портыг "хардаггүй". VISA нь холбооны портуудтай ажиллах болон бусад олон функцуудыг агуулдаг. Та үүнийг joule.ni.com сайтаас татаж авах боломжтой. LabView болон VISA суулгана уу. Энэхүү програм хангамжийн суурилуулалт нь стандарт бөгөөд ямар ч тусгай функцгүй.

Юуны өмнө бид VISA системд COM портыг олж, түүнтэй зөв ажиллаж байгаа эсэхийг шалгах хэрэгтэй. Та үүнийг дараах байдлаар шалгаж болно: Хэмжилт ба автоматжуулалтын програмыг ажиллуул. Энэ нь LabView-тэй хамт ирдэг. Хэрэв суулгаагүй бол та гараар суулгаж болно. Энэ нь дискэн дээр байгаа (LabView-тэй зураг).

Бид иймэрхүү зүйлийг олж авдаг:


Тэгэхээр бидэнд юу байгаа вэ? Ажлын хэсэг нь урд самбар ба блок диаграмм гэсэн хоёр том самбараас бүрдэнэ. Урд самбар дээр бид Хяналтын самбарын удирдлагыг ашиглан програмынхаа интерфейсийг үүсгэх болно. Эдгээр элементүүд нь танил хувьсах резисторын бариул, LED, товчлуур, заагч хэрэгсэл, осциллографын дэлгэц гэх мэт. Эдгээр нь программд мэдээлэл оруулах, гүйцэтгэлийн үр дүнг харуулахад үйлчилдэг. Блок диаграмын самбар нь програмын кодыг агуулдаг. Энд бид бага зэрэг ухарч, LabView програмчлалын зарчмыг тайлбарлах хэрэгтэй. Жижиг жишээ. Интерфэйсийг зохиож, дараа нь блок диаграмм дээр алгоритмыг хэрэгжүүлэх замаар програм дээр ажиллаж эхлэх нь заншилтай байдаг. Хоёр тоог үржүүлэх энгийн программ хийцгээе. Үүнийг хийхийн тулд бид үр дүнг харуулахын тулд хаалганы бариул болон тоон үзүүлэлтийн элементүүдийг чирж урд самбар дээр гурван удирдлагыг байрлуулна.

За, одоо бид бодит үржүүлэлтийг хэрэгжүүлэх хэрэгтэй. Бид Блок диаграмын самбар руу очиж, бидний удирдлага тус бүрт тохирох дүрсийг үүсгэсэн болохыг харна. Дэлгэцийн горимыг терминал руу нэн даруй солих нь дээр. Диаграм нь тийм ч эмх замбараагүй байх болно. Нэмж дурдахад терминалууд нь тодорхой удирдлага дээр ажилладаг өгөгдлийн төрлийг харуулдаг. Үүнийг хийхийн тулд дүрс дээр хулганы баруун товчийг дараад Дүрс болгон харах гэснийг арилгана уу. Дэлгэцийн дээд хэсэгт терминал хэлбэрээр, доод талд, баруун талд дүрс хэлбэртэй удирдлага байна. Блок диаграмын өгөгдмөл харагдах байдлыг терминал болгон тохируулахын тулд та Tools->Options цэсний зүйлийг сонгоод, зүүн талд байрлах Блок диаграммыг сонгоод, урд самбарын терминалуудыг дүрс болгон байрлуулах гэснийг арилгах хэрэгтэй. Контекст тусламж үзүүлэх нь маш хэрэгтэй. Та үүнийг Ctrl+H хослолыг ашиглан харуулах боломжтой. Энэ цонх нь курсорыг байрлуулсан объектын талаарх мэдээллийг харуулдаг. Мега тохиромжтой зүйл.

LabView програмчлалын хамгийн чухал ойлголт бол DataFlows гэсэн ойлголт юм. Гол нь дараах байдалтай байна: Хэлэлцүүлэг нь дэс дарааллаар биелдэг императив програмчлалын хэлнүүдээс ялгаатай нь LabView-ийн функцууд нь зөвхөн бүх функцийн оролт мэдээлэлтэй (функц бүрд оролт, гаралтын утгатай) байвал л ажилладаг. Зөвхөн дараа нь функц нь алгоритмаа хэрэгжүүлэх бөгөөд үр дүн нь гаралт руу илгээгдэх бөгөөд үүнийг өөр функц ашиглаж болно. Тиймээс нэг виртуал хэрэгсэл дотор функцууд бие биенээсээ хамааралгүй ажиллах боломжтой.

Одоо жишээгээ сэргээхийн тулд бид энэ үзэл баримтлалыг дагаж, удирдлагын тусламжтайгаар тохируулсан тоон утгуудыг функцэд оруулан, гаралтаас үр дүнг авч, харуулах хэрэгтэй.

Блок диаграм дахь элементүүдийг холбохын тулд Tools самбараас Wire холбох хэрэгслийг ашиглана уу. Үүнийг сонгоод бидний холболтыг зур.

Таны харж байгаагаар ямар ч төвөгтэй зүйл байхгүй бололтой. Гэхдээ үүнтэй зэрэгцэн LabView нь аливаа нарийн төвөгтэй асуудлыг шийдвэрлэх боломжийг танд олгоно! Хараал ид, TANK хяналтын системийг үүн дээр хийсэн! Тэгэхээр тийм.

За, одоо илүү сонирхолтой зүйл хийцгээе, тухайлбал, миний эхэнд ярьсан хамгийн энгийн вольтметрээ хийцгээе.

Тэгэхээр бид юу хийх хэрэгтэй вэ. Эхлээд та цуваа портыг тохируулж, эхлүүлэх хэрэгтэй. Төгсгөлгүй гогцоо эхлүүл. Гогцоонд бид портоос унших функцийг ашиглаж, мэдээллийг хүлээн авдаг. Бид график дээр харуулах мэдээллийг хөрвүүлж, ADC кодыг вольт дахь хүчдэлийн утга болгон дахин тооцоолно. Гогцооноос гарахдаа портыг хаа.
Тиймээс манай программын интерфэйс дээр Stop товчлуураас өөр хяналтын элемент байхгүй, зөвхөн үр дүнг харуулах болно.Бид үүнийг хийх болно: эхлээд блок диаграммыг үүсгэж, дараа нь дутуу элементүүдийг урд талд нэмнэ. самбар. Хэдийгээр та эсрэгээр нь хийх хэрэгтэй! Гэхдээ энэ тохиолдолд энэ нь илүү тохиромжтой.

Блок диаграмын самбар дээр бид Structures палитраас While Loop элементийг байрлуулсан бөгөөд энэ нь бидний төгсгөлгүй давталт юм. Бид алгоритм дотор багтах хангалттай том талбайн эргэн тойронд гогцооны хүрээ зурдаг. Баруун доод буланд улаан цэг байгаа бөгөөд түүн дээр хулганы баруун товчийг дараад Control Create командыг сонгоно. Бид нэн даруй урд самбар дээр Stop товчлууртай болно. Үүн дээр дарахад манай хөтөлбөр дуусна.

Та портыг эхлүүлэх функцэд хяналт үүсгэх хэрэгтэй. Бидэнд хоёр нь хангалттай - портын хурд ба портын нэр. Унших функцийн тогтмолыг үүсгэсэнтэй адил бид хяналтыг бий болгодог. Эхлүүлэх функц болон зүйлийн шаардлагатай оролтууд дээр PCM

Үүсгэх->Удирдлага.

Үүсгэх->Удирдлага.

Бид хоёр орцыг сонирхож байна: Визний нөөцийн нэрТэгээд Дохионы түвшин(өгөгдмөл 9600). Одоо урд талын самбар руу орж, шаардлагатай бүрэлдэхүүн хэсгүүдийг, тухайлбал график зурах дэлгэц, ADC код болон хүчдэлийг вольтоор харуулах шошгыг нэмж оруулцгаая.
Үүний дагуу эдгээр нь График палитр дахь Waweform Chart элементүүд ба Тоон палитраас хоёр тоон үзүүлэлтийн элемент юм.

Блок диаграм руу буцаж, гогцоонд гарч ирэх элементүүдийг шилжүүлье. Бид дуусах дөхөж байна! Цорын ганц зүйл бол бид Унших функцийн гаралтаас гарч буй тэмдэгтүүдийн мөрийг бидний үзүүлэлтүүдийг шингээж авах формат руу хөрвүүлэх шаардлагатай хэвээр байна. Мөн ADC кодыг вольт болгон хувиргах хамгийн энгийн математикийг хэрэгжүүлээрэй. Энэ үе шатанд урд талын самбар болон блок диаграммуудын дэлгэцийн агшинг доор харуулав.



Мөрийг хөрвүүлэхийн тулд бид String палитраас Scan from string функцийг ашиглана. Бид гогцооны дотор байрлуулна. Одоо математикийн хувьд. ADC кодыг вольт дахь хүчдэлийн утга болгон хөрвүүлэхийн тулд та кодыг жишиг хүчдэлийн утгаар (миний хувьд энэ нь таван вольт) үржүүлж, үүссэн утгыг 1023-т хуваах хэрэгтэй (ADC нь 10 байна. -бит өргөн). Бид шаардлагатай үржүүлэх, хуваах функцууд, түүнчлэн тогтмол (5 ба 1023) гогцоонд байрлуулна. Хэт олон зураг байгаа тул би холболт бүрийн дэлгэцийн агшинг авахгүй. Би бүх холболтын эцсийн дэлгэцийн агшинг өгөх болно. Тэнд бүх зүйл маш энгийн байдаг.


Бүх зүйл ойлгомжтой гэж бодож байна, хэрэв танд асуулт байвал сэтгэгдэл дээр асуугаарай. Хамтдаа ойлгоцгооё :-))) Энэ хооронд нэвтрүүлэг бэлэн боллоо.

Интерфэйс рүүгээ ороод диаграмаа бага зэрэг тохируулцгаая. Y тэнхлэгийн дагуух доод утгыг сонгоод 0-д тохируулна. Дээд утгыг сонгоод 5-д тохируулна. Тиймээс Y тэнхлэгийн дагуух бидний масштаб 0-5 вольтын мужид байна. За, бид COM портыг сонгоод, дамжуулах хурдыг оруулаад, сумны товчлуурыг ашиглан програмаа эхлүүлж, самбар дээрх резисторыг мушгиж, дэлгэцэн дээрх ажлын үр дүнг чөлөөтэй ажиглана. Програмыг зогсоохын тулд Stop товчийг дарна уу.

Та мөн диаграммыг эмх замбараагүй болгохгүйн тулд хэсгүүдийг функциональ блок болгон нэгтгэж болно.



NI LabVIEW бол урсгал график програмчлалын орчин юм. LabVIEW дээр програм бичихдээ хэрэглэгч блок диаграмм ашиглан өгөгдлийн урсгалыг хувиргах үйлдлүүдийн дарааллыг тодорхойлдог. Зургийг блок диаграмм дээр байрлуулсан функциональ нэгжүүд, мэдээллийн урсгал нэг зангилаанаас нөгөөд дамждаг дамжуулагчаар холбогдсон. Мөн LabVIEW нь парадигмыг эвдэх хэд хэдэн хэрэгсэлтэй урсгал програмчлал, гэхдээ үүн дээр боловсруулсан програмуудын функцийг мэдэгдэхүйц өргөжүүлэх боломжийг танд олгоно.

Програмчлалын техник гэж юу вэ

"Програмчлалын техник" гэсэн нэр томьёо нь янз бүрийн програмчлалын хэл, тооцооллын загвар, хийсвэрлэлийн түвшин, кодтой ажиллах арга, алгоритмыг төлөөлөх сонголтуудыг нэгтгэдэг. Олон жилийн туршид National Instruments нь илүү олон төрлийн програмчлалын техникийг дэмжих зорилгоор LabVIEW функцийг хөгжүүлсэн.


Та янз бүрийн техник ашиглан бичсэн код болон G урсгалын кодыг блок диаграмм дээр үзүүлэх боломжтой бөгөөд LabVIEW нь тохирох зорилтот төхөөрөмжүүдийн (ердийн ширээний компьютер, RTOS платформ, FPGA,) зааварчилгааг эмхэтгэх болно. хөдөлгөөнт төхөөрөмжүүд, ARM-д суурилсан суулгагдсан төхөөрөмжүүд)

Зураг 1. LabVIEW дахь өргөн хүрээний платформ, програмчлалын техник



Өөр өөр аргуудыг ашиглан бичсэн кодын хэсгүүдийн хооронд өгөгдөл дамжуулах нь LabVIEW-д маш энгийн байдлаар зохион байгуулагддаг - өгөгдлийн урсгал нь янз бүрийн тооцооллын загвар, хэлийг холбогч холбоос юм. G хэл дээр мэдээллийн оролт/гаралтыг тусгай хэрэглэгчийн интерфэйс (урд самбар), сүлжээний интерфейс, шинжилгээний номын сан, мэдээллийн сан болон бусад хэрэгслийг ашиглан гүйцэтгэдэг.

Г хэл дээрх програмчлал
1986 онд стриминг програмчлал бий болсон нь үнэхээр шинэлэг байсан. G хэл дээрх өгөгдөлтэй үйлдлүүдийг гүйцэтгэх дарааллыг тэдгээрийн үүсэх дарааллаар бус, харин эдгээр зангилааны оролтод өгөгдөл байгаа эсэхээр тодорхойлдог. Өгөгдлийн урсгалаар холбогдоогүй операторуудыг санамсаргүй дарааллаар зэрэгцүүлэн гүйцэтгэдэг.

Диаграммын зангилаанууд нь энгийн заавар эсвэл тэдгээрийн багцыг төлөөлдөг - функцууд, виртуал төхөөрөмжүүд (VI). Зангилааны бүх оролтын терминал дээр өгөгдөл гарч ирсний дараа л зангилааны зааврыг гүйцэтгэх болно. Зааврыг гүйцэтгэсний дараа түүний үр дүнг зангилааны гаралтын терминалуудаар дамжуулан дараах зангилааны оролт руу дамжуулна.


Зураг 2. Энэ жишээ нь A ба B-г нэмж, гарсан нийлбэрийг C-ээр үржүүлж, үр дүнг харуулна


Зураг 2-т G хэл дээрх математик илэрхийллийн жишээг үзүүлэв. Диаграм нь хоёр зангилаа (нэмэх ба үржүүлэх) ба гурван оролтоос (A, B, C) бүрдэнэ. Нэгдүгээрт, А ба В-ийн нэмэгдэл хийгдэнэ.Үржүүлэх зангилааны код нь түүний оролтын терминал дээр өгөгдөл хүлээн авах хүртэл гүйцэтгэгдэхгүй бөгөөд ингэснээр нэмэх зангилааны үр дүнг хүлээнэ. Нэмэлтийн үр дүн үржүүлэх зангилааны эхний оролтод ирэнгүүт түүний код (A+B)*C ажиллана.

Хэдийгээр G хэл нь өгөгдлийн төрлийг тодорхой зааж өгөх боломжийг олгодог боловч энэ хэлээс бусад хэлээс мэдэгдэхүйц ялгаа нь хувьсагчийн функцийг гүйцэтгэдэг дамжуулагч байгаа явдал юм. Функцуудын хооронд хувьсагчийг дамжуулахын оронд өгөгдөл дамжуулах нь утсан холболтоор тодорхойлогддог. Нөгөөтэйгүүр G нь нөхцөлт гогцоо, тоолуурын гогцоо, сонголтын бүтэц, буцаан дуудах функц, логик функц зэрэг бусад хэл дээр стандарт болсон бүтээцүүдийг агуулна.

Интерактив тохиргоо нь програмчлалын үндэс болно
2003 онд National Instruments компани NI LabVIEW 7 Express-ийг гаргасан бөгөөд энэ нь Express Virtual Instruments (VII) технологийг нэвтрүүлсэн бөгөөд энэ нь хэрэглээний алгоритм боловсруулах үйл явцыг улам хялбаршуулах зорилготой технологи юм. Энгийн VI-аас ялгаатай нь экспресс VI нь програмчлалын техникийг хэрэгжүүлдэг хийсвэр хэлний бүтэц юм интерактив тохиргообүрэлдэхүүн хэсгүүд.


Зураг 3. Экспресс VI палитр, Экспресс VI-г блок диаграмм дээр байрлуулж, Express VI-г дүрс хэлбэрээр харуулах


Та экспресс VP-ийг ердийн VP-ээс том цэнхэр дүрсээр ялгаж болно. Блок диаграмм дээр Экспресс VI-г анх байрлуулахад тохируулах харилцах цонх гарч ирнэ. Тохиргоог хийж дууссаны дараа LabVIEW таны үүсгэсэн Express VI тохиргоонд үндэслэн автоматаар код үүсгэдэг. Та энэ кодыг харж, засварлаж эсвэл Express VI дүрс дээр давхар товшиж харилцах цонхыг дахин нээснээр Express VI-ийн тохиргоог өөрчлөх боломжтой.

Жишээ болгон тэдгээрийг хэрэгжүүлэхийн тулд өгөгдөл оруулах ажлыг авч үзье програмын шинжилгээ. LabVIEW нь олон мянган төхөөрөмжийн драйверуудыг багтаасан тул төрөл бүрийн техник хангамжтай ажиллахад маш хялбар болгодог. Мэдээлэл цуглуулах ажлыг зөвхөн хэд хэдэн VP-ийн загвараар бус, бас илүү олон аргаар хийж болно энгийн сонголт- экспресс VP.

DAQ Assistance Express VI-ийн тохиргоонд унших/бичих сувгийг зааж, түүвэрлэлтийн хурд, масштаб, синхрончлол, триггер гэх мэт параметрүүдийг тохируулахад хангалттай. Нэмж дурдахад, Express VI нь сонгосон өгөгдөл цуглуулах тохиргоо зөв эсэхийг шалгахын тулд төхөөрөмжөөс өгөгдлийг урьдчилан цуглуулах боломжийг олгодог.


Зураг 4. DAQ Assistant Express VI нь гох цаг болон сувгийн параметрүүдийг тохируулахад хялбар болгодог.



Зураг 5. DAQ Assistant Express VI-тай тэнцэх G код


Бүх давуу талуудыг үл харгалзан Express VI нь ердийн виртуал төхөөрөмж ашиглан хэрэгждэг төхөөрөмжийн ажиллагааны горимыг доод түвшний удирдлага, тохируулах боломжийг олгодоггүй. LabVIEW-д шинээр нэвтэрсэн хэрэглэгчид өмнө нь тохируулсан Express VI-г ердийн VI-ийн дараалал болгон хувиргадаг суулгасан функцийг ашиглаж болно. Энэ нь эхлэгчдэд доод түвшний кодыг сурахад тусална. Нээлттэй урд самбар мөрийг сонгоход л хангалттай контекст цэс VI-г блок схемээр илэрхийл. Аливаа Express VI-г хэд хэдэн энгийн VI-ийн хослолоор сольж болох ба LabVIEW Мэргэжлийн Хөгжлийн Системийн хувилбар нь танд өөрийн Express VI-г үүсгэх боломжийг олгодог гэдгийг тэмдэглэх нь зүйтэй.

scripts.m файлуудын дэмжлэг
LabVIEW MathScript RT модулийн тусламжтайгаар та математик загварчлал, дүн шинжилгээ хийх, дохио боловсруулах, математикийн нарийн төвөгтэй тооцоололд уламжлалт байдлаар ашигладаг *.m файлын скриптүүдийг импортлох, засварлах, ажиллуулах боломжтой. Та тэдгээрийг G кодыг ашиглан ширээний компьютер эсвэл бодит цагийн техник хангамжид зориулж бие даасан програм үүсгэх боломжтой.

LabVIEW дээр MathScript-тэй ажиллах хэд хэдэн арга байдаг. Интерактив горимд скрипттэй ажиллахын тулд Зураг дээр үзүүлсэн MathScript цонхыг ашиглана уу. 6


Зураг 6. Интерактив хөгжил MathScript цонхон дээрх текстийн алгоритм


LabVIEW програмд ​​*.m скриптийг ашиглах, текст болон график програмчлалын чадварыг хослуулахын тулд та Зураг 7-д үзүүлсэн MathScript зангилаа ашиглах хэрэгтэй. MathScript зангилааг ашиглах нь танд текстийн алгоритмуудыг VI код руу оруулах, ашиглах боломжийг олгодог график чадвархувилбарын параметрүүдийг удирдах интерфейс (товчлуур, гулсагч, товчлуур, график болон бусад элементүүд).


Зураг 7. MathScript зангилаа нь G кодонд .m скриптийг ашиглахад хялбар болгодог


LabVIEW MathScript RT модуль нь өөрийн *.m скрипт хөдөлгүүртэй бөгөөд гуравдагч талын суулгацыг шаарддаггүй. програм хангамж. MathScript зангилааг ашиглах нь танд текстэд суурилсан алгоритм, LabVIEW-ийн өндөр түвшний техник хангамж, интерактив хэрэглэгчийн интерфэйс болон бусад програмчлалын аргуудыг нэг програмд ​​нэгтгэх боломжийг олгодог.

Объект хандалтат програмчлал
Объект хандалтат програмчлал нь хамгийн алдартай програмчлалын нэг юм. Энэ арга нь програмын олон ялгаатай бүрэлдэхүүн хэсгүүдийг нэг объектын ангилалд нэгтгэх боломжийг олгодог. Ангийн тодорхойлолт нь тухайн объектын шинж чанарууд болон тухайн объектын хийж чадах үйлдлүүдийн тайлбарыг агуулдаг бөгөөд үүнийг ихэвчлэн шинж чанар, аргууд гэж нэрлэдэг. Ангиуд нь шинж чанар, аргуудыг өвлөн авсан хүүхдүүдтэй байж болох бөгөөд тэдгээрийг хүчингүй болгох эсвэл шинээр нэмэх боломжтой.


Зураг 8. Объект хандалтат арга нь VI ангиллын ангиуд (зураг дээрх жишээ) болон холбогдох шинж чанар, функцууд дээр суурилдаг.


LabVIEW дээр OOP ашиглах нь 8.2 хувилбараас хойш боломжтой болсон

Энэ аргын гол давуу талууд нь:

  • . Encapsulation: Incapsulation гэдэг нь өгөгдөл, аргуудыг зөвхөн тухайн ангийн гишүүн VI-уудаар дамжуулан хандах боломжтой байхаар анги болгон бүлэглэхийг хэлнэ. Энэ арга нь кодын хэсгүүдийг тусгаарлах боломжийг олгодог бөгөөд тэдгээрийг өөрчлөх нь програмын бусад хэсэгт кодонд нөлөөлөхгүй байх болно.
  • . Өв залгамжлал: Өв залгамжлал нь одоо байгаа ангиудыг шинэ ангиудыг тодорхойлох үндэс болгон ашиглах боломжийг олгодог. Шинэ анги үүсгэх үед энэ нь тухайн ангийн өгөгдлийн төрлүүд болон VI гишүүдийг өвлөн авч улмаар эх ангийн шинж чанар, аргуудыг хэрэгжүүлдэг. Мөн ангийн функцийг өөрчлөхийн тулд өөрийн VI-г нэмж оруулах боломжтой.
  • . Динамик диспетчер: Ангийн шатлалд ижил нэртэй хэд хэдэн VI-г ашиглан аргуудыг тодорхойлох боломжтой. Энэ аргыг динамик диспетчер гэж нэрлэдэг, учир нь аль VI-г дуудах тухай шийдвэрийг программыг гүйцэтгэх үе шатанд гаргадаг.
Эдгээр OOP функцууд нь кодыг илүү ойлгомжтой, өргөтгөх боломжтой болгож, шаардлагатай бол VI-д хандах хандалтыг хязгаарлах боломжийг олгодог.

Загварчлал ба симуляци
Загварчлал ба симуляци физик системүүд- дифференциал тэгшитгэлээр тодорхойлсон системийг хөгжүүлэх түгээмэл арга. Загварыг судлах нь динамик системийн шинж чанарыг тодорхойлж, шаардлагатай зан төлөвтэй хяналтын нэгжийг боловсруулах боломжийг олгодог.

Зураг 9-д LabVIEW-д суулгасан алгоритмуудыг ашиглан дифференциал тэгшитгэлийг тодорхой хугацаанд бодит цаг хугацаанд шийддэг Control & Simulation Loop-ийг үзүүлэв. Энэхүү програмчлалын арга нь G хэлний нэгэн адил өгөгдлийн урсгалд суурилсан боловч үүнийг ихэвчлэн дохионы урсгал гэж нэрлэдэг. Зураг 9-д үзүүлсэнчлэн та математик загварчлалын аргуудыг G Data Streams болон MathScript Node зэрэг бусад техниктэй хослуулж болно.


Цагаан будаа. 9. Симуляцийн диаграмм нь дохионы тархалт, оролт гаралтын техник хангамж болон MathScript зангилааг харуулав.


Control & Simulation Loop нь бодит цагийн үйлдлийн системтэй төхөөрөмжүүд дээр шугаман суурин системийн загваруудыг хэрэгжүүлэхэд ашигладаг функцуудыг дэмждэг. Та шилжүүлгийн функц, туйл-тэг диаграм, дифференциал тэгшитгэлийн системийг зааж өгөх замаар салангид загваруудыг тодорхойлохын тулд эдгээр функцийг ашиглаж болно. Хугацаа, давтамжийн домэйн шинжилгээний хэрэгслүүд, тухайлбал, цагийн алхамын хариу үйлдэл эсвэл Bode график нь танд нээлттэй ба хаалттай давталтын хяналт/симуляцийн үйл ажиллагаанд интерактив дүн шинжилгээ хийх боломжийг олгодог. Та мөн The MathWorks, Inc. програмчлалын орчинд боловсруулсан загвар хөрвүүлэх хэрэгслүүдийг ашиглаж болно. Simulink® нь тэдгээрийг LabVIEW орчинд ашиглах боломжийг олгоно. LabVIEW бодит цагийн модулийн номын сангийн функцын ачаар эдгээр динамик системийг бодит цагийн үйлдлийн системийн төхөөрөмжүүдэд суулгаж, программыг хөрвүүлэх олон алхам хийх шаардлагагүй бөгөөд энэ нь хяналтын системийн прототип болон програм хангамжийн загварчлалын програмуудыг боловсруулахад тохиромжтой.

Төрийн диаграммууд
NI LabVIEW Statechart модуль нь хөгжүүлэгчдэд системийн үйл ажиллагааг төлөв диаграмм ашиглан аль болох хийсвэр байдлаар дүрслэх боломжийг олгодог. LabVIEW кодыг диаграмын төлөвт нэгтгэх нь програмын бодит ажлын тодорхойлолтыг үүсгэх боломжийг танд олгоно. NI LabVIEW Statechart модуль нь шаталсан үүрлэх, зэрэгцээ гүйцэтгэлийг зохион байгуулах чадварыг ердийн төлөвийн диаграммын функцэд нэмж өгдөг. Төлөвийн диаграммууд нь систем үйл явдалд хэрхэн хариу үйлдэл үзүүлэхийг дүрслэх боломжийг олгодог бөгөөд энэ нь суулгагдсан төхөөрөмж, хяналтын систем, хэрэглэгчийн нарийн төвөгтэй интерфейс гэх мэт реактив системийг хөгжүүлэхэд маш хэрэгтэй хэрэгсэл болгодог гэдгийг тэмдэглэх нь зүйтэй.


Цагаан будаа. 10. LabVIEW Statechart модуль нь төлөвийн диаграмм дээр суурилсан системийг дүрсэлдэг.


Ихэнх тохиолдолд төлөвийн диаграммыг программыг өгөгдөл цуглуулах, өгөгдлийн гаралт, сүлжээний холболт, өгөгдлийн бүртгэл, хэрэглэгчийн интерфейсийн удирдлага гэх мэт дэд системд хуваахад ашигладаг. Энэ тохиолдолд төлөвийн диаграммууд нь мужууд (дэд системүүд) хооронд ямар мэдээлэл шилжиж, ямар дарааллаар ажиллахыг тодорхойлдог.

Statechart дээр суурилсан хэрэглээний архитектур нь нарийн төвөгтэй програм хангамжийн системийг, ялангуяа динамик системийн хянагч, хэрэглэгчийн нарийн төвөгтэй интерфейс, дижитал холбооны протокол зэрэг үйл явдалд хариу үйлдэл үзүүлэх системийг илүү үр дүнтэй хөгжүүлэх боломжийг олгодог.

FPGA-д зориулсан VHDL
LabVIEW FPGA модуль нь G хэлийг ашиглан FPGA код бичих боломжийг олгодог. Гэсэн хэдий ч бусад хөгжүүлэлтийн аргуудын нэгэн адил та өмнө нь бичсэн кодыг ашиглаж болно эсвэл програмыг хэрхэн хэрэгжүүлэхээ сонгох боломжтой. Ихэнх FPGA нь текстэд суурилсан урсгал програмчлалын хэл VHDL ашиглан програмчлагдсан байдаг. G-д байгаа IP блокуудыг дахин бичихийн оронд та Component-Level IP (CLIP) зангилаа ашиглан VHDL кодыг импортлох боломжтой. Блок диаграмын элементүүдийн хоорондын интерфейсийг тохируулахын тулд танд ихэвчлэн CLIP XML файл хэрэгтэй байдаг ч LabVIEW нь үүнийг автоматаар хийх боломжийг олгодог CLIP импортын хөтөчтэй байдаг. Энэ нь IP блокийн оролт, гаралтын жагсаалтыг харуулдаг бөгөөд үүнийг хулганаар блок диаграмм руу чирж, програмд ​​ашиглах боломжтойг Зураг дээр үзүүлэв. арван нэгэн.


Цагаан будаа. арван нэгэн. CLIP зангилаа.


NI нь Xilinix FPGA болон Xilinx програм хангамжийн хэрэгслийг LabVIEW FPGA модульд ашигладаг тул та тохирох цөм үүсгэхийн тулд Xilinx цөмийн генераторыг ашиглаж болно. Та мөн Xilinx Embedded Development Kit ашиглан ямар ч програм хангамжийн микропроцессор үүсгэх боломжтой. Эцэст нь, олон гуравдагч талын хөгжүүлэгчидхангах Төрөл бүрийн төрөлАвтобусны удирдлага, дохио боловсруулах, тодорхой цөмд зориулсан IP блокууд.

C-тэй төстэй кодыг нэгтгэх
Та VI блок диаграммдаа дараалсан текст кодыг хэд хэдэн аргаар ашиглаж болно. Эхний арга нь хувьсагчийн тодорхойлолт, мөрийн төгсгөлд цэг таслал бүхий C-тэй төстэй синтаксийг дэмждэг Формула зангилаа юм.

Inline C зангилаа нь Формула зангилаатай төстэй бөгөөд хангадаг нэмэлт функцууддоод түвшний програмчлал ба толгой файлуудыг дэмжих, процедурын шаардлагагүй нэмэлт зардалгүйгээр. Та Inline C Node-ийг ашиглан C кодын хаалтанд синтаксийн хувьд хаагдсан #defines хэллэгийг оруулаад дурын С кодыг оруулах боломжтой.

Гүйцэтгэх боломжтой файлуудтай харилцах
LabVIEW дээр программчлахдаа өмнө нь бусад орчинд боловсруулсан алгоритмуудыг дахин ашиглахын тулд LabVIEW дээр бичигдсэн програмаас эмхэтгэсэн файлууд болон номын санд хандах шаардлагатай болдог. Мөн төсөл үүсгэхдээ LabVIEW дээр бичигдсэн программуудыг бусад программаас хандах ёстой.

LabVIEW нь эдгээр асуудлыг шийдвэрлэх олон төрлийн хэрэгслээр хангадаг. Нэгдүгээрт, LabVIEW нь DLL функцуудыг дуудаж, ActiveX болон .NET интерфейсийг ашиглах боломжтой.

Хоёрдугаарт, LabVIEW дээр бичигдсэн программ нь DLL эсвэл ActiveX хэрэгслийг ашиглан өөр программ дээр өөрийн үйл ажиллагааг харуулах боломжтой.

Хэрэв танд LabVIEW программдаа ашиглахыг хүссэн C эх код байгаа бол эмхэтгэх боломжтой DLLдуудлагын номын сангийн функцийн зангилаа ашиглан холбоно уу. Жишээлбэл, та зохион байгуулж болно зэрэгцээ тооцоолох C хэл дээр бичигдсэн алгоритмуудыг ашиглах бол параллель хэлхээний удирдлагыг LabVIEW дээр бичигдсэн программ хийх болно. Гадны номын сангуудтай ажиллахад хялбар болгохын тулд LabVIEW нь Импортын Хуваалцсан номын сангийн шидтэнг агуулдаг бөгөөд энэ нь танд тохирох сангуудыг дуудах (Windows . dll файл, Mac OS .framework файл эсвэл Linux .so файл).

Мөн System Exec.vi ашиглан та интерфэйсийг ашиглаж болно тушаалын мөрүйлдлийн систем.

Нэг хөгжүүлэлтийн орчинд хэд хэдэн програмчлалын техникийг хослуулснаар бусад хэл дээр боловсруулсан алгоритмуудыг дахин ашиглах боломжтой болдог. Нэмж дурдахад, хөгжүүлэгч өндөр болон доод түвшний үйлдлүүдийг нэг программд нэгтгэж, кодыг илүү уян хатан, харагдахуйц болгодог. Хийсвэрлэлийн янз бүрийн түвшин нь программ хангамж болон техник хангамжид доод түвшний хяналтыг хадгалахын зэрэгцээ нарийн төвөгтэй алгоритмуудыг дүрслэн харуулах боломжийг олгодог. Тоног төхөөрөмжийн нягт интеграцчлалын тусламжтайгаар та олон цөмт, FPGA болон суулгагдсан процессорын платформ дээрх дохиог зохицуулах хоёр аргыг ашиглаж болно.

Асуудал нь ихэвчлэн олон шийдэлтэй байдаг бөгөөд LabVIEW програмчлалын орчин нь таны хэрэгцээнд хамгийн сайн тохирох шийдлийг сонгох боломжийг олгодог уян хатан байдаг.

Simulink® нь The MathWorks, Inc-ийн бүртгэлтэй худалдааны тэмдэг юм.

ARM, Keil болон µVision нь ARM Ltd эсвэл түүний охин компаниудын худалдааны тэмдэг, бүртгэгдсэн худалдааны тэмдэгнүүд юм.