今日好物推薦 Caraya Unit Test Framework by JKI

透過VIPM來安裝

寫完成程式後,你會對你的程式測試嗎?如果你的專案有數十個VI,當你只改動了一個VI,你會對整個專案中的其他VI進行測試嗎?我猜是不會做這樣的事,因為測試要花太多時間了,直接上線驗不是比較快,但是這樣真的有比較省時間嗎?因此這個時候就是Caraya Unit Test framework就可以派上用場了。用程式測試程式,缺點就是為了測試要多寫一次程式碼。

一個加法VI的單元測試
開發者的說明,看一下,更清楚怎麼用。

LabVIEW 功能全域變數 (FGV)

使用功能全域變數 (FGV) 在同一目標下不同 VI 中包含的兩個並行迴圈之間進行通信,並使用 FGV 通過一個“停止”按鈕停止並行 迴圈 。FGV 的“功能”性質意味著您可以創建超出基本全域變數的附加功能,例如,對存儲值進行操作的計數和計算。

使用情境

  • 在同一目標(“目標範圍”)中包含的兩個或多個並行過程迴圈之間通信數據、控制和狀態,無論是在同一 VI 中還是在不同 VI 中
  • 使變數的最新值可用於其他過程迴圈
  • 從單個控制元件停止多個並行迴圈
  • 執行附加操作(FGV 首字母縮略詞的“功能”方面),而不僅僅是存儲數據,例如計數和計算

特徵

  • 功能全域變數是具有以下定義特徵的子 VI:
    • 未初始化的移位寄存器——while 迴圈中未初始化的移位寄存器會導致 LabVIEW 為單個值分配存儲空間,只要調用的 VI 保留在內存中,該值就會持續存在
    • 單次迭代 while 迴圈——while 迴圈條件接線端連接到一個“真”常量,因此它只迭代一次;while 迴圈只是一種保存移位寄存器的機制
    • 具有枚舉控制的案例結構——案例結構選擇對存儲值執行的操作;“讀”和“寫”是最基本的操作,附加的case可以實現“遞增”、“遞減”等附加功能。
    • 不可重入子VI——這種執行模式確保目標中只存在一個子VI實例;子VI的多個實例都引用同一個存儲值
  • 與局部變數和全局變數相比,函數全域變數有兩個優點:
    • 內存效率——存儲的值只存在於內存中的一個地方,而本地/全域變數讀取器的每個實例都會創建自己的數據副本
    • 避免競爭條件——存儲的值在讀取時不能寫入,因為子 VI 一次只能由一個實體執行

特別注意

子VI的執行模式必須設置為“non-reentrant”(打開子VI,按Ctrl+I,選擇“Execution”類別,選擇“non-reentrant execution”);其他兩種可重入執行模式創建子 VI 的獨立副本(“克隆”),從而消除了 FGV的全域變數方面

JKI – VI Package Manager (VIPM) -LabVIEW的外掛管理工具

使用VI Package Manager(VIPM)下載和管理LabVIEW附加元件

寫LabVIEW的你,還在不斷的自己造輪子嗎?你知道你可以用VIPM找到好用的工具,而不用重新撰寫程式嗎?

先來推幾個常用好外掛

  1. JKI state machine (JKI推出的變種版的state machine)
  2. DQMH (我覺得方便上手的程式架構模版,前提要有人教。)
  3. ZE DQMH Provider for the Project (DQMH的外掛)
  4. OpenG Toolkit (有非常多好用的VIs可以使用)
  5. MGI Toolkit (有非常多好用的VIs可以使用)
  6. GDrive for LabVIEW (如果你要操作google drive上的檔案,又不會用google API,那這個就是你的好朋友)
  7. Caraya Unit Test Framework (寫完程式要不要測試,測試的好幫手)
  8. SQLite Library (想要有資料庫的好處,但又不想太麻煩,這時就請出SQLite來幫忙囉)

AccessPort 1.37 測試以及監控RS232的必備好物

AccessPort1.37下載位置

AccessPort的官網介紹

由於RS232是點對點的通訊,如果想要了解兩個端點的通訊內容,那這個軟體就可以幫上忙了。

但有兩件事情請特別注意,

1.如果你是用USB轉RS232的硬體,請先停止紀錄後,再移除USB轉RS232的硬體,不然你的電腦就會擺工給你看。

2.紀錄通訊之前,comport是不能先開啟的,需要按照下列步驟後,再進行原來的作業。

切換到中文介面
監控模式設定方式

sscom 測試RS232 / RS485 / RS422 以及 Modbus 的必備好物

sscom下載路徑

Locale Emulator下載路徑

因為sscom因簡體中文的軟體,雖然可以切到英文版使用,為了方便閱讀可以安裝Locale Emulator就可以正常顯示簡體中文了。

中英文介面切換
通訊參數設定
也可以使用於TCP/IP測試