贊助商連結

目前分類:進階程式分享 (17)

瀏覽方式: 標題列表 簡短摘要

NI Documents在基礎原件上都寫得非常仔細,建議初學者可以多閱讀,對於程式的功力可以大大提升,以前我很喜歡看LabVIEW的Example,覺得程式寫得很精簡很乾淨;LabVIEW 內建的Queued Message Handler Template 是已經建好、彈性不錯的模板 。這篇不會針對基本的Queue功能做介紹,若想知道基本Queue的使用方法,可以參考之前的文章:

LabVIEW_Queue的教學_用法和範例LabVIEW_Producer And Consumer_Queue簡單應用_多功能佇列應用LabVIEW_多重迴路架構-Producer & Consumer架構教學範例LabVIEW_Queued Enum Handler + Variant 架構介紹範例分享LabVIEW_Queue State Machine with User Event程式架構介紹。必須先清楚明瞭Queue的使用方法,才能懂這篇的敘述唷~

使用Creat Project-->Queued Message Handler 來呼叫模板

image

image

這個模板的架構是使用Message Queued + User Event,以下拆這兩部份加上Error Handle來看這模組:

  1. Message Queued應用解釋

這裡的Queue元件將各功能包含Error處理做了整合成為SubVI,所以看起來會比較複雜,但是若將他對應到Queue,就會比較明瞭整個template結構。

image

由上圖的對應關係圖可以看出在此Template將原本只能一個Queue一個Queue新增的Enqueue功能改成For Loop改寫的Array Enqueue(圖中3號),而Error也獨立使用"Error"的Enqueue Element At Opposite End取代(圖中4號),其他的Queue功能和之前介紹的Producer and Consumer文章大同小異:LabVIEW_Producer And Consumer_Queue簡單應用_多功能佇列應用

  1. User Event應用解釋

這裡的User Event 的應用很簡易,可以想像是一個觸發自訂Event的方法(觸發Producer Loop中的Event Case),由下圖的離開程序可以更知道其動作流程。

image

當Comsumer Loop的Exit Queue啟動後,送出User event到Producer Loop(上圖中的1)觸發Event的User Event Case,User Event內部程式將Loop做關閉(上圖中的2),最後整個User Event的註冊做釋放(上圖中的3)。

  1. Error Handle

如上Queue中提到,在圖中的4,為此Consumer Loop中出現Error時會觸發Comsumer Loop的 "Error" case(下圖中的1、2)最後在觸發Error Message和Exit Queue(下圖中的3)直接離開程式。

image

這裡須注意image這SubVI的下方有接個True,這是對應到使用Enqueue Element At Opposite End.vi所以此Enqueue "Exit"會優先執行唷!

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

在LabVIEW中使用Rounding to nearest   的功能,是所謂的IEEE854 (IEEE 754) 的近期捨入模式,下面有一個算法可以展示其中的不同:

近期舍入模式:Round(0.5) =    ; Round(1.5) = 2; Round(2.5) =   ;

四舍五入模式:Round(0.5) = 1; Round(1.5) = 2; Round(2.5) = 3   ;

從上面的例子可以看出,在近期捨入模式中,又可以用口絕 四捨五入奇進位  來表達,也就是進位的位數前的數值若是基數才做進位,偶數就不進位。

這是因為在四捨五入的模式下 :

Round(0.1)=  Round(0.2)=  Round(0.3)=  Round(0.4)=  、Round(0.5)= 1、Round(0.6)= 1、Round(0.7)= 1、Round(0.8)= 1 、Round(0.9)= 1

可以發現答案為   0   總共會有4次,而發生   1   的答案會有5次,這在隨機中並不是公平的現象;所以才會在基偶數在Rounding中有不同的答案,讓隨機發生的機率各半。

image

所以再回到LabVIEW中的 Rounding to nearest 註解來看,其實可以看到他的範例就有提到,如果輸入1.5、2.5的答案都會是2。

image

參考資料:

LabVIEW WIKI- Rounding

WIKI-IEEE754

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

這篇是介紹如何快速的移動資料夾內的所有資料到其他相對應的資料夾位置,這種需求通常都用在資料的備份、或是資料打包(Data Backup、Data Archive)。

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

使用Advanced Files Functions>Recursive File List.vi 解析出資料夾內所有的檔案,Compare Two Paths.vi做到路徑的比對並取出相對應相關的路徑,最後配合Create Folder 做到此功能。

image

  • Recursive File List.vi - 取出資料夾(包含子資料夾)下所有檔案的路徑。
  • Compare Two Paths.vi - 比較兩個路徑的相同和相異處。 

以下範為"資料備份"、"資料打包"的範例供參考,程式碼可在這邊(Download)下載

image

 

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

程式碼可在這邊(Download)下載

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

安伯伯 發表在 痞客邦 留言(0) 人氣()

需要此功能必須先下載OPENG ZIP Tools,建議透過VIPM下載,

目前使用上尚未找出直接對資料夾加密並加密的方法,所以需要分成兩段程式且產生兩個壓縮檔。可參考下圖程式碼:

image

資料夾格式:

image

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

Labview 可以透過System Exec.vi 使用taskkill的指令關閉外部程式,最簡單的方法就如同官網介紹的使用字串"taskkill /f /im"合併執行檔字串名稱(需加.exe)。例如,taskkill /f /im notepad.exe,就能關閉正在運行中的記事本(notepad)。但是此方法,在執行檔名稱有空格或是中文名稱時會失效;解決方法是另外透過搜尋該執行程式的PID,然後指定PID來關閉該執行檔

程式碼可參考下圖,或是在此處下載 如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

image

使用taskkill 語法關閉Windows 執行中程式(執行程式無空白、非中文名稱)

image

 

參考文章:

End Windows Process Using LabVIEW

Taskkill Command

程式碼可參考下圖,或是在此處下載 如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

想必在程式撰寫中,稍不留神就會發生寫了一個無限迴圈,或是程式短時間無法停止的窘境。這時候最簡單停掉程式的方法就是按Block Diagram或是Front Panel上面的Abort 按鈕。但是有些程式因為運行美觀的問題會將這個選項在人機面板上取消,這時候就無法輕易的停止程式。這是後就需要一個外部的方法強制停止程式運行中程式人人都需要一個強制停止的程式在桌面上

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

介紹幾個在網路上使用過的Abort程式,可以直接到源網址上下載程式

  1. Darren's Abort VI

使用LV 8.0的版本撰寫,用2015的程式下去做強制停止也是可以的。

選擇想要強制停止的VI,然後選擇"Abort Selected VI"就可以了。

  1. LAVA-Jcarmody's AbortVI

使用LV 8.2的版本撰寫,到2009年還有更新,整個大小只有74KB。

在表單上面點選欲停止的VI,然後對話視窗就會自動跳出,再按OK即可以

最後,如果真的很不幸,沒有帶到這個Abort的程式,可以使用"Ctrl+.",在LabVIEW 的初始設定中,這樣做也是可以中斷運行中的程式

 

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

網路上有很多關於LabVIEW計算機的資源,最近剛好發現一個可以做到簡易工程計算機的程式。這個程式不能說難,就是很複雜了點,在這邊做備存,也給需要的人參考。

人機面板:

程式碼:

中階程式。如果有不需要的功能也只需要把一些按鈕隱藏或移到人機按不到的地方即可。

程式可以到這邊下載: LabVIEW Calculator

 

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

若已知半徑、和圓心位置,求出圓上的所有點的座標(X,Y),圓上點個數可以照需求精準度更改。利用Sine & Cosine Funtion建立。

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

人機面板呈現:

程式碼:

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

利用數個實座標點解出最佳解的橢圓,可以求出橢圓a,b、橢圓圓心和(0,0)相對offset值。主要使用到Nonlinear Curve Fit,這個Funtion可用在2D和3D。

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

人機面板呈現

這個範例利用NI Example做改寫加入註解。如果不下載的話也是可以在NI Example-->Ellipse Fit找到。

主要使用到Nonlinear Curve Fit,非線性方法可以使用程式做輸入或是直接輸入公式。

 

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

利用數個實座標點解出最佳解的圓,可以求出半徑、圓心和(0,0)相對offset值。主要使用到Fitting on Sphere,這個Funtion可用在2D和3D;有X、Y、Z的Array輸入。可以用此程式求出數個點的中心點(圓心點),做數個點中最佳(進最短)距離(Distance)的應用。

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

人機面板呈現

這個範例利用NI Example做改寫加入註解。如果不下載的話也是可以在NI Example-->Circle Fit找到。

主要使用到Fitting on Sphere,這個Funtion可用在3D。有X、Y、Z的Array輸入。

如果是需要到3D,可以參考NI Exmple->Sphere Fit

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

當程式發生問題時,例如當機、遲緩...等不明問題,可能指向的原因是記憶體過載、中毒等。這時候必須查閱檢查記憶體使用量、適當的做程式的警示;這篇介紹如何利用LabVIEW讀初目前運行中程式的使用資源包括記憶體、PID、CPU等資訊;也就是工作管理員--->詳細資料的所有資料。

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

工作管理員的所有運行中程式的記憶體使用量(工作管理員--->詳細資料)

當有這些資訊時,可以看出目前運行中的所有程式、和其記憶體使用量

利用LabVIEW程式讀出的資訊

程式碼:

 

 

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

 

 

 

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

Create Multiple VIs in Parallel

分享一個網路上看到很不錯的架構,基本上是利用Message Queue(QMH)為主架構做要多次呼叫同個SubVI且要應用中這些VI需要"同時"(Parallel)運行

人機面板:

閱讀程式程度:

進階程式架構

程式利用Call VI Refernece 呼叫SubVI,SubPanel做不同SubVI GUI的切換,程式碼簡單淺顯易懂。

需要知道Call by VI Referenece、SubPanel、QMH、Event Registered 等架構或元件。

如果不會應用call by reference可以參考: LabVIEW_動態呼叫程式寫法Calling by Reference

程式提醒:

是一個很不錯的架構,也可以稍微做一些小修改,可以不一定要呼叫同一個subVI,可以利用Queue的特性,傳遞Event觸發的不同按鈕而呼叫不同的subVI。

 

 

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

 

 

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

全部的Camera Link介面的相機,大都可以透過Serial Commands (RS-232) 作一些設定檔的修改。這篇分享在論壇上看到關於如何和Camera Link 介面相機作command 讀、寫的範例。

範例程式可以在這裡下載,若下載請留言告知,謝謝

人機介面:

可以參考文章:Simple example for sending serials command to Camera Link camera

範例程式可以在這裡下載,若下載請留言告知,謝謝

 

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

此程式利用LabVIEW的Example程式做修改,讓原本的文字能夠已圖檔的形式儲存下來,也能以2D圖像的方式呈現。 Hilite Color VI為LabVIEW Programming->Graphics & Sound -> Picutre Functions->Hilite Color 。另外再利用 Picture to Pixmap. 轉換2D圖檔到Image

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

Use the Hilite Color VI to generate gray scale values that increase and decrease from white.

LabVIEW Programming->Graphics & Sound -> Picutre Functions->Hilite Color

相關連結:http://digital.ni.com/public.nsf/allkb/862567530005F09E8625682E003AC6D9

 

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

其他LabVIEW有關程式:

程式分享區

股票程式分享區

CLA考試分享區

LabVIEW_最大值和最小值中的任意個數不重複隨機陣列_樂透彩選號

LabVIEW_最大值和最小值中的任意個數隨機數陣列

LabVIEW_動態加入Table中按右鍵的選單(Shortcut Menu)

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

 分享一個早期前輩專案中蒐集並經過修改過的虛擬鍵盤(Keyboard);這個虛擬鍵盤能夠呼應真實的鍵盤動作,使用者可用GUI畫面中輸入、也可以使用真實鍵盤做輸入。此程式包括大小寫的轉換、數字、Alt、Ctrl、Space等,另外可配合左、右鍵改變輸入時的字元位置若需要數字鍵盤可以參考:NI LabVIEW-自製小鍵盤(數字鍵盤)keyboard程式分享

程式碼可在這邊下載,若下載請留言告知,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

其中利用Property Node->Key Forcus的特性,可以合併偵測實體鍵盤中的輸入

利用Label中輸入的大小寫在根據是否為CAP和Shift的狀態切換大小寫,所以請勿修改每個button的Label名稱

如下圖,使用者可以任意的改變輸入字元的位置,增加使用的便利性。

程式架構: 簡單的EVENT Structure

程式碼可在這邊下載,若下載請留言告知,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

其他LabVIEW有關程式:

程式分享區

股票程式分享區

CLA考試分享區

LabVIEW_最大值和最小值中的任意個數不重複隨機陣列_樂透彩選號

LabVIEW_最大值和最小值中的任意個數隨機數陣列

LabVIEW_動態加入Table中按右鍵的選單(Shortcut Menu)

NI LabVIEW程式分享_七段顯示器

LabVIEW_鎖定Ctrl+Alt+Delete禁止使用者登入/登出/關機

LabVIEW-HEX與ASCII字元的字串轉換

文章標籤

安伯伯 發表在 痞客邦 留言(1) 人氣()

此篇分享如何利用Registry Key禁止使用者使用Ctrl+Alt+Delete的功能,藉此鎖定使用者登入/登出/關機等作用。

 

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

其他LabVIEW有關程式:

程式分享區

股票程式分享區

CLA考試分享區

LabVIEW_最大值和最小值中的任意個數不重複隨機陣列_樂透彩選號

LabVIEW_最大值和最小值中的任意個數隨機數陣列

LabVIEW_動態加入Table中按右鍵的選單(Shortcut Menu)

NI LabVIEW程式分享_七段顯示器

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

此程式利用簡單的while loop的架構,做簡易的XY Graph上圓的顯示改變,可在XYGraph上畫出可調節XY位置和大小的圓

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

Front Panel:

 

面板有圓大小、XY位置的控制可以做改變。

 

Block Diagram:

程式碼可在這邊下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

 

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

 

文章標籤

安伯伯 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼