labview sql mysql mssql Connection ODBC driver 透過ODBC連接MYSQL

突然心血來潮,來試試看用labview連接 mysql的資料庫,但是搜尋了一下labview的原生程式,
蝦米,沒有相關的範例,只有一個Database的相關工具,但是說明有點少,看來這個MYSQL有點難用
搜尋網路,只有班哲明大大在LABVIEW360的論壇比較詳細解說
https://labview360.com/forum/forum_posts.asp?tc=i3ww6quo0fil&pn=1&tpn=1
大至上的作法為透過MYSQL Connector/ODBC 與 LabSQL的程式進行MYSQL連結

  1. 安裝MYSQL資料庫與Connector/ODBC,https://dev.mysql.com/
  2. 設定MYSQL的相關資料
  3. 然後下載LabSQL的程式,http://jeffreytravis.com/lost/download/
  4. 接下來連線到MYSQL的方法有兩種,

方法一

  1. 透過ODBC的設定再透過LabSQL進行連結
  2. 控制台→所有控制台項目→系統管理工具→ODBC 資料來源 (32 位元)
  3. 系統資料來源名稱→新增→選擇MySQL ODBC 5.3 Unicode Driver→填入相關資料,紀錄Data Source Name
  4. LabSQL的範例程式Example – Fetch a Table.vi中,ConnectionString填寫DSN=剛剛紀錄的紀錄Data Source Name;
  5. Command Text就輸入SQL的命令比如 SELECT * FROM `user`
  6. 這樣就可以輸出資料了,不過這種資料模式還需要再改善,不然不容易閱讀與修改

透過ODBC的設定不是一個好方法,因此需要以下的 方法二

  1. LabSQL的範例程式Example – Fetch a Table.vi中,ConnectionString填寫 Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Database=**;
    User=**;Password=***;Option=3;。
    其中Driver是MySQL ODBC的版本。
    Server可能為IP地址,localhost為本機的一個代號。Option=3,目前不知道有何目的
  2. Command Text就輸入SQL的命令比如 SELECT * FROM `user`

這個方法比方法一簡單好用,但是接下來要再研究怎樣把資料分離,目前的問題也是我覺得labview不夠彈性的問題。

labview for loop array幾個小概念

請問以下三個小程式哪一個程式運作速度最快呢?

請問以下三個小程式哪一個程式運作速度最快呢?
請問以下三個小程式哪一個程式運作速度最快呢?

答案揭曉:第一個程式36 ms ,第二個程式150 ms ,第三個程式172 ms 。
蝦米,怎麼會這樣,為何第二個程式與第一個程式運算時間為何會差異這麼多啊
其實原因與labveiw的運作模式有關

1.第三個表示labview會自行變成多核心平行運作,這點不重要

2.第一與第二的程式可以看出labview最大的問題,矩陣大小變化的時候會消耗很多的時間(雖然不到0.1m)與記憶體空間,但是累積很多之後,就會看到之間的差異了。
而對於FOR LOOP而言,因為知道運作的次數,因此系統會自動產生固定的矩陣出來,所以不用變更矩陣的大小。因此速度可以快很多。(第一個程式)。
而第二個程式,每一個迴圈都改變一次矩陣的大小,因此消耗很多的時間與記憶體空間。

***不要頻繁的改變矩陣的大小,對於系統而言,會消耗時間與記憶體。

Agilent 4284A LCR Meter的控制系統

這次串接Agilent 4284A LCR Meter的控制系統,對電容進行掃頻的動作並記錄數據。
接觸過之後才知道,原來還有這種高級的LCR Meter,不但可以進行掃頻的動作,還可以量測好多種不知道的數據(Dissipation factor,Suscept ance)。

最後,原來有負電容值這種東西,不過還是搞不懂負電容的意義。