在當今智能制造與電子產品快速迭代的背景下,功能測試(FCT)已成為確保產品質量的關鍵環節。然而,傳統的測試上位機往往存在擴展困難、功能固化、二次開發成本高等問題。為此,我們提出一款模塊化、可擴展、可腳本化的 FCT 通用測試上位機軟件,滿足客戶對柔性化生產與快速交付的雙重需求。
1. 系統架構需求
框架選型
WPF 桌面應用:界面現代化,支持可視化流程編輯。
MVVM 架構:清晰分層,便于擴展與維護。
插件式設計:驅動層、動作層(Step)、流程層(Workflow)均模塊化,可獨立開發和熱插拔。
腳本/工作流引擎:
內置 Lua 腳本 與 C 腳本 擴展機制,快速實現定制邏輯。
支持接入 Elsa Workflows 或自研工作流引擎,實現企業級流程自動化。
分層架構
驅動層(Driver Layer):統一封裝儀器與通信協議,提供底層 API。
動作層(Step Layer):每個測試動作以插件形式實現,可復用與擴展。
流程層(Workflow Layer):通過可視化編輯器編排流程,調用 Step 組成完整測試序列。
2. 功能需求
2.1 流程與測試
可視化編排:類似工作流設計器,支持拖拽、連線、條件判斷。
參數化配置:所有 Step 參數均可配置(電壓、電流、限值等)。
限值判定:支持上下限、枚舉、正則表達式等多種判定方式。
并行測試:同一工站可同時運行多個測試任務,提高產線效率。
重試策略:支持單步或整流程重試,靈活配置次數與條件。
工單/條碼聯動:掃碼導入工單號,自動匹配對應測試流程。
2.2 數據與報表
實時結果日志:展示 Pass/Fail、錯誤信息。
測試數據歸檔:統一存儲于MySQL數據庫,支持跨平臺調用。
3. 可復用模塊庫
3.1 通信驅動(Driver)
統一接口?ICommDriver,支持:
UART/RS232/RS485
CAN / LIN
Modbus RTU / TCP
I2C / SPI
Ethernet (TCP/UDP)
HTTP / REST API
MQTT
3.2 儀器驅動(Instrument Driver)
統一接口?IInstrumentDriver,支持:
電源(PSU)
電子負載(E-Load)
萬用表(DMM)
數據采集(DAQ)
繼電器矩陣(Switch Matrix)
標準 SCPI 設備
3.3 通用步驟(Step)
內置可擴展動作:
上電(Power On)
握手(Handshake)
自檢(Self-Test)
校準(Calibration)
功能測試(Function Test)
固件燒錄(Firmware Flashing)
參數寫入(Production Parameter Writing)
報告歸檔(Report Archive)
4. 技術需求
4.1 插件機制
基于?MEF?或依賴注入(DI)實現插件加載。
自動掃描 DLL,注冊驅動與 Step 插件。
4.2 腳本接口
Lua 腳本可調用:通信驅動、儀器驅動、Step API。
支持雙向互通:
Step 內嵌腳本,擴展邏輯。
腳本中調用已注冊 Step,快速實現復雜流程。
4.3 UI 設計
節點化工作流設計器(Step 拖拽、參數設置、連線)。
屬性面板:可視化配置 Step 參數。
實時日志窗口:輸出執行過程。
報表視圖:匯總測試結果。
5. 非功能需求
性能:單工站 ≥ 10 并行任務。
擴展性:新增協議/儀器無需改核心,僅增加插件。
穩定性:異常自動捕獲,日志可追溯。
跨平臺數據:MySQL 數據庫統一報表存儲。
6. 開發交付物
WPF 上位機主程序(含 UI + 核心框架)。
插件式驅動與 Step 框架(提供示例插件)。
工作流可視化編輯器。