有規劃好的PPL模組可以達到下列好處
1.可擴展的應用程序
2.使用插件架構動態加載模塊
3.發布較小的更新
4.護您的 IP!
參考資料
LabVIEW360–Build中使用Packed Library問題
Packed Project Libraries在不同版本的LabVIEW中是相容的嗎?
有規劃好的PPL模組可以達到下列好處
1.可擴展的應用程序
2.使用插件架構動態加載模塊
3.發布較小的更新
4.護您的 IP!
參考資料
LabVIEW360–Build中使用Packed Library問題
Packed Project Libraries在不同版本的LabVIEW中是相容的嗎?
我的使用情境有二,
一個是在設定執行檔要給不同人使用時,可以用這個功能進行設定,
另一個是在寫完程式後,切換不同條件來進行除錯作業。
如果有在使用明碼進行通訊的人,一定要來了解這個玩意,學好終生受用。可以少寫很多code來找字串。
參考資料
深入淺出正則表達式影音教學
教學書籍
精通正規表達式, 3/e (Mastering Regular Expressions, 3/e)
實體課程
LabVIEW 教學大樓
部落格
LabVIEW筆記
LabVIEW & PLC還未出師的小工程師
安伯伯軒
skybow
線上影音網站(中文)
LabVIEW筆記
【史爸】愛學習
蔣大開講
喵喵的LabVIEW人參
LabVIEW360
國家儀器 National Instruments
線上影音網站(英文)
Tom’s LabVIEW Adventure
DQMH
GDevCon
論壇 (中文)
NI 的討論區
LabVIEW360
論壇 (英文)
LAVA
推薦書籍 (中文)
LabVIEW寶典(第2版)
推薦書籍 (英文)
LabVIEW Style Book
DQMH是基於NI-QMH的架構進行改造,其功能更是令我不斷的讚嘆不已, 因為基於這樣的框架,可以很有彈性的規劃程,功能介面定義,高度的功能內聚。
以功能模組來思考,這個架構可以達到功能內聚。且本身的Test API也可以當作除錯工具,一舉數得。
以資料交換功能為面相來思考,我可以利用這樣架構的特性達到下面的通訊架構模式。
一對多
多對一
一對一
多對多
以多人協作來說,因為有相同架構思維,所以在開發的過程中,只要先定義好介面,以及資料交換的方式。就可以個別開發,而不需要互相等待。
參考資料
線上幫助手冊
DQMH的影音教學(英文)可以搭配google網頁翻譯使用
許老師的影音介紹(中文)
NI的討論區
GDrive for LabVIEW下載網頁
google API 申請網頁
除了要下載GDrive for LabVIEW之外,其實對新手來說最麻煩是申請google API的流程了。
在使用上如果你有時間閱讀相關API的用法,就可以有更多玩法。只是海量資料讀起來真是累。
另外如果登入憑證要更換的話,移除在Dll資料夾下的.token file後,在重新認證時,就會進行新的認證。
記得當初使用Epson robot時,在LabVIEW下使用時,Epson提供的DLL時常無預警的不工作,跟原廠討論了許久,只知道原廠說要在同一個執行緒下執行DLL,但一開始無從下手,因為當時只知道LabVIEW原生就是多執行緒在分配資源,但要如何執行那真的花了好久時間才搞定。
最後這個Epson robot的問題如何搞定的呢,其實也不麻煩就直接給他做成功能性全域變(FGV)在且將屬性設為介面(UI)的執行緒下去執行即可。
雖然LabVIEW的幫助手冊已經有這一份文件,但是英文的總是讓人卻步,現在有谷哥好朋友,可以使用線上版的幫助手冊配上翻譯的功能,就可以變成中文版手冊。
輕量快速安裝就可以使用的資料庫,維基百科的說明。
2024/03/03 更新 找到問題了,之前SSID與password是傳值,後來是改用傳址的方式傳入到WiFi函式庫中。所以改為傳址的方式後,就可以正常使用了。
2024/02/23更新
目前新版IDE+Library的WiFi的組合,我自已試起來也是無法進行WiFi連線的動作,之後有時間再來找問題。
開發環境如下
Arduino IDE 2.3.2
Line Notify函式庫 3.0.6
NodeMCU-32S 開發板
#include <WiFi.h> //這裡是ESP32 WIFI函式庫
#include <WiFiClient.h>
#include <TridentTD_LineNotify.h>
#define LINE_TOKEN "你的token放在這"
// Set WiFi credentials
const char* ssid = "你的無線網路SSID";
const char* password = "無線網路的密碼";
WiFiClient client; //網路連線物件
void setup(){
Serial.begin(115200); // 設定速率
// 進行無線網路連接
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
//等待無線網路連接
while (WiFi.status() != WL_CONNECTED)
{
delay(100);
Serial.print(".");
}
LINE.setToken(LINE_TOKEN); //設定Line Token權杖
LINE.notify("這裡的文字會出現在Line上面"); //發送訊息到Line上面
}
void loop() {
}