2021年9月21日 星期二

LabVIEW CLD 考試心得

 

接觸LabVIEW 很多年,從碩士班開始就碰了,那個時候我們的指導教授還有找畢業多年的學長回來教LabVIEW,他過去幾年也有教LabVIEW,不過他最近也勸大家多學Python啊。我覺得LabVIEW是一個特定面向的程式工具,就是在PC base上去做快速的儀器控制系統開發。當然因為它的GUI控制以及功能控制相對簡單,是優點也是缺點。如果你的使用目的是用電腦做一個自製的測量系統、儀器控制系統。如果你的硬體是簡單的RS-232、Ethernet TCP/IP、或是IVI的VISA介面,這個在Keithley、Tek的示波器、訊號產生器很常見,這些公司也很佛心的給你這些Sample Code 或是VI Tree,這個就是用下下指令可以控制。如果你的硬體要呼叫印體驅動程式的dll、或是dotnet的、ActiveX的程式,那你真的需要在懂很多LabVIEW以外的程式知識。這個我覺得是LabVIEW 用到後來最困難的部分,與外部程式結合。另外一個困難點是程式的架構如何做模組化以及模組間的溝通。

 

不過LabVIEW CLD考試的範圍就是純粹LabVIEW 軟體的熟悉程度,以考試來說,你就是展現你知道LabVIEW 如何寫出一個讓人看得懂的架構,而非義大利麵。因為CLD的考試都是考得也不算是儀器控制,因為你遇到的可能是提款機、販賣機、鍋爐、咖啡機、微波爐。比較多的是架構、資料傳輸(展現一下你會用 FGV, functional global variable)、TypeDef使用、流程控制、Config 形式的ini 資料的讀取以及寫入、複合式Cluster Array的資料觸發、以及計時器,(計時器這個千變萬化,我也不知道哪種最好),還有好的程式的註解。

 

現在考試都是採用線上考試,所以你要準備護照、有一台可以有攝影機的電腦、有乾淨的桌子,桌上要淨空,他會希望你把筆電拿起來看一下桌面。然後考試的時候你的攝影機要打開,會有監考人員一直看你,不過你看不到他,然後你不能摀住嘴巴。我考試的時候如果用手撐住頭,就會擋住嘴巴,他馬上就會傳訊給我要我不能擋住臉。

 

首先你要先去 NI LabVIEW的網站去,看一下LabVIEW的考試說明,報名這些步驟就依照指示刷信用卡。因為要花錢,所以大家多準備一下再去考吧。

https://education.ni.com/badges/resources/1255/certified-labview-developer-cld

記得要下載 CLD Sample Exams

 

Sample Exam 有四個

ATM (100928C-01) 提款機

Boiler (100926F-01) 鍋爐溫度控制

Car Wash (100929B-01) 洗車場

Sprinkler Controller (100927F-01) 灑水器


每個都點進去做看看,題目就是可以在前面版放置GUI、你要把後面的block diagram給弄出來。

 

例如說 ATM的前面版長這樣

例如說 ATM的後面版長這樣



你自己就要把這些線拉出來。

接下來我會把我覺得比較重要的考點給分享出來。


考點一:程式架構 

你可以用State Machine, Queue Message Handler, Consumer Producer 去寫,我個人是用State Machine 因為比較簡單,我覺得應該是對考CLD夠用,當然你也可以用其他的設計模板。你的State 就用Type Definition 去設定,如果要增加就再放上去。Type Definition 一定會有的狀態是 Initialize、Idle、Stop。我的Event Structure 放在



增加的State 可以依照說明的功能依序去增加。我的State Machine 模板可以在這裡下載

 

考點二:資料傳輸

因為官方的說明希望你不要使用local variable 以及global variable,所以如果你有資料一定無法透過data flow 的線去傳輸的話,你可以試著使用functional global variable (FGV),把資料用Set及Get的方式去紀錄。當然這是因為LabVIEW的特性,所以用去把要記錄的資料存起來,它可以是從ini裡面,讀取到的數字,這個數字會隨功能,也許可以提款機的帳戶數字。

 

考點三:TypeDef使用

可以把State Machine的Enum State用TypeDef 設定,Control 因為考試都已經設定好了,所以你不能改。所以就熟悉就好。

   



考點三:流程控制

在State Machine中完成每一個步驟再照指示去下一個步驟,然後這個步驟可能會依不同的情況而改變。


就是這個state 做完之後要去哪一個 state的判斷式    

考點四:ini 資料的讀取以及寫入

可能這個洗衣機、咖啡機的參數會用存在這個ini檔案裡面,再去考之前要搞懂Key、Section那些是指config file的哪個部分。


考點五:計時器

就像是洗車場跟灑水器一樣,可能做某個步驟會要多少時間,如果中途暫停,就要停止計時。最好在考之前就自己有一個timer 模板。

附上我自己的Timer 模板,Timer_main會呼叫Timer

Timer_Main



Timer_Sub



我的Timer模板可以從這裡下載。

 

 

考點六:複合式Cluster Array的資料觸發

 

他可能會設計一個Cluster Array 做成前面板的GUI,一般來說這樣可能是一個2D Array,每一個Array Unit裡面有不同的item,使用者可能會按了其中一個,你要能夠知道是按了哪一個項目。


那我去偵測的方式是去比較前後差異產生的Boolean ,或許你還可以用其他方式去偵測,再用迴圈的方式去看是哪一個元素變化了。再把Row、Column、Cluster index給找出來。

我的模板可以從這裡下載。


當然還有本來的範例題目出現的cluster array

 

灑水機的 Zone Setup Array

ATM 考試的(Left Buttons以及Left Buttons



考點七:註釋

可以把有特殊邏輯的部分寫下一些註解


在 file=> VI Properties 裡面把每一個Sub VI的VI Description 都寫清楚。


當然網路上的資料很清楚也很多,大家也記得多做功課吧。



2021年7月15日 星期四

[技術分析] 威廉指標

 在Yahoo股市常見的技術指標有很多,之前介紹過均線以及KD線的由來,今天來介紹一下威廉指標。這個指標是看個股是不是被超買或是超賣,




計算方式如下,

$$\frac {H_n - C_n}{H_n - L_n} \times 100\%$$

  1. :是交易者設定的交易期間(常用為14天,yahoo用的是9天);
  2. :第n日的最新收盤價;
  3. :是過去n日內的最高價(如14天的最高價,yahoo用的是9天);
  4. :是過去n日內的最低價(如14天的最低價,yahoo用的是9天)。

威廉指標越接近0代表股價過高,一般來說是指小於20,代表過度買超,股價有回檔的風險

威廉指標越接近100代表股價過低,一般來說是指超過80,代表過度賣超,股價有反彈的機會

因為0是股價高,100是股價低,所以威廉指標的那個y軸方向是向下,這樣線的走勢才會跟股價一下,

股價上升,威廉指標會往上走,

股價下降,威廉指標會往下走,




我以7/14的長榮為範例,連跌4天,當天收跌停,過去九天的收盤價是

日期                  開盤最高最低收盤漲跌       漲%     成交量成交金額本益比
2021/07/14156.00157.00148.50148.50-16.50-10.00%136,71220,641,82512.7358
2021/07/13187.00187.00165.00165.00-18.00-9.84%81,00413,696,10314.1509
2021/07/12195.00197.50174.50183.00-4.00-2.14%62,03611,478,84015.6947
2021/07/09187.00201.50187.00187.00-20.50-9.88%103,31319,748,64616.0377
2021/07/08202.00213.00182.00207.505.502.72%93,85318,277,08517.7959
2021/07/07215.50220.50202.00202.00-22.00-9.82%79,90316,720,37117.3242
2021/07/06218.50233.00212.00224.007.003.23%528,658118,869,17519.211
2021/07/05217.00218.00197.50217.0010.505.08%479,694100,069,99618.6106
2021/07/02213.00219.00200.00206.50-6.50-3.05%546,721114,473,13117.7101

7/14 收盤價是148,跌停,(過去九天最高-今天股價)/(過去九天最高-過去九天最低)

=(224-148.5)/(224-148.5)*100%=100%,

威廉指標=100%,告訴你股價被過度賣超了,如果你覺得2021Q3的長榮基本面還是不錯,你可在2021/7/14布局。

7/15 開盤還是晃晃的,但是神鬼奇航又出動了,今天就收漲停


以上是簡單介紹一下威廉指標的應用。