
之前提到有關優化程式的文章系列 :
LabVIEW_使用Parallel增加For Loop效率 ,介紹使用For Loop Parallel 增加程式效率,這篇介紹 In Place Element Structure 來減少記憶體使用。以往使用"取代"來更改數值的方法,會造成許多的數據的複製現象,這在大數據的處理上,會造成電腦很大的負擔,甚至影響到程式運行的效率。In Place Element structure 提供了更有效率的方法解決以往的取代編成方式。
(此圖來自NI官網)
安伯伯 發表在 痞客邦 留言(0) 人氣(1,064)

之前就想出一個專題聊聊關於增加程式效率、減少記憶體消耗的專題,不過這議題實在太大,每每理好思緒想開始寫,就會被其他事情羈絆。於是,我決定先將各各小議題先各自寫文章,最後再做統整,今天就使用For loop的Parallel來起手,因為他是最簡單、最快速、最顯著的修改方法。
Parallel Foor Loop 大約是2009後的功能,這功能有一段一時間了,但使用的人並不多,一大原因是目前的電腦處理速度很快,普通應用其實並不需要使用這功能。Parallel Foor Loop就如同字面上的英文意思: 同步Foor迴圈,如何做到同步呢?假設處理程式的主機使用的是4核心電腦,如果未開啟這功能時,Foor Loop只會使用單一核心來處理此段程式,但如果開啟此功能,就可以選擇以多核心來處理。當然,此功能有它的限制,下面介紹如何使用後在介紹其限制。
安伯伯 發表在 痞客邦 留言(0) 人氣(1,265)

LabVIEW中Event可以偵測不同事件,當使用靜態的方法註冊事件(Static Event Registeration) ,也就是我們最熟悉的使用Event Structure 的方法,這個方法每當事件被觸發時LabVIEW就會自動的把這項事件排到處理佇列中。如果是選擇動態的註冊事件,那
使用者就可以自由的管理被處發的事件,可以設計這些事件所觸發的排程應用,甚至決定事件發生的條件,這篇就是介紹什麼是動態的註冊事件(Dynamic Event Registration),和 靜態註冊事件(Static Event Registration) 的不同。
安伯伯 發表在 痞客邦 留言(0) 人氣(3,830)

這篇介紹如何利用SMTP Email Send Message.vi來傳送簡單的文字信件,Mail Server 的設定可以參考下圖Outlet的參考位置。這篇有範例(Example)可供下載。
程式碼可以在這裡下載,如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~
安伯伯 發表在 痞客邦 留言(0) 人氣(1,348)

繼上一篇介紹什麼是Polymorphic VI:
LabVIEW_什麼是Polymorphic VI?應用的時機?,這篇介紹如何創造出彈性又易讀的Polymorphic多態程式。使用LabVIEW
的元件 Spreadsheet VI 雖然很方便,但因為他可接受的Input型態很少,一直很困擾我;另外一個困擾我的點是如果沒有設定好,而且操作錯誤會跳出Error Dialog;基於上述的原因,所以改良原本的Spreadsheet VI,並保留其多工的特性,增加目前沒有的Path、Boolean、U32..等功能。這篇手把手介紹如創造Polymorphic VI
,讓程式更為整齊乾淨、並在多人開發時更能一目了然模組所擁有的功能。安伯伯 發表在 痞客邦 留言(0) 人氣(533)
安伯伯 發表在 痞客邦 留言(0) 人氣(648)

在多人開發團隊中,版本控制(Version Control)一直是一個重要議題。這篇介紹如何在執行檔中建立版本號,後續如何讓這版本號碼顯示到人機介面中,提示使用者目前的升級狀況。
程式碼可在這邊下載 ,
如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~安伯伯 發表在 痞客邦 留言(0) 人氣(1,026)
這篇探討在人機更新(GUI)時用Local Variable、Property的優缺點,讓使用者知道這些元件使用時的LabVIEW記憶體使用的區分。初學者在學習LabVIEW時都會被在三強調不要亂使用到Local Variable 、Global Variable 這種違反資料流的概念的變數。之前我也有篇文章在探討,不當使用變數時會造成的問題:
LabVIEW_什麼是Race Condition(競爭危害)?,但是不使用變數,發現許多學生就使用"Property"來取代;不過這種方法我也不是很推薦,
這篇並不是在提倡Propery優於Local Variable,在人機介面上更新的選擇時,需要依照使用的時機來選擇。如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~安伯伯 發表在 痞客邦 留言(0) 人氣(1,947)
分享一個覺得不錯的NI Example中的程式,介紹如何使用Annotation和使用時機的方法;另外分享實際利用Annotation、Cursor加強人機介面美化作用的應用。程式碼可在這邊下載,安伯伯 發表在 痞客邦 留言(0) 人氣(907)
這是一個NI(National Instruments)國家儀器 LabVIEW程式分享,主要是程式作業上的指導,讓還不會寫LabVIEW
的人可以學習一些較基礎的功能(Function)
。這篇適合已經會基礎LabVIEW
或是準備考取認證CLAD
、CLD
程度的程式學習者。 這篇討論不可重入(Non-reentrant execution)、共享重入執行選項(Shared clone reentrant execution)和預先分配重入執行選項(Preallocated clone reentrant execution) 的不同。安伯伯 發表在 痞客邦 留言(0) 人氣(1,443)