FCT/ATE/ICT通用測試上位機軟件

在當今智能制造與電子產品快速迭代的背景下,功能測試(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 框架(提供示例插件)。

工作流可視化編輯器。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/94347.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/94347.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/94347.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IndexTTS介紹與部署(B站開源的工業級語音合成模型)

語音合成效果非常好,可作為自己日常文本轉語音使用工具! 軟件介紹 IndexTTS 是由嗶哩嗶哩(B 站)開源的工業級可控高效零樣本文本轉語音(TTS)系統,基于 XTTS 和 Tortoise 構建,采用 …

uniApp對接實人認證

前端代碼部分<template><view class"wrap"><view class"box"><view class"item flex-row align-items-center space-between"><view class"name"><text style"color:#FF4D4D">*</te…

pytest 并發執行用例(基于受限的測試資源)

概要 本文主要介紹了如何在測試資源&#xff08;被測對象&#xff09;受限的情況下&#xff0c;使用 pytest 進行并發測試以減少總體測試時間的方法和過程。 背景 在軟件開發過程中&#xff0c;我們通常使用測試用例來持續保證軟件的質量&#xff08;例如&#xff0c;確保關…

結構化智能編程:用樹形向量存儲重構AI代碼理解范式

結構化智能編程:用樹形向量存儲重構AI代碼理解范式 告別暴力embedding,通過分層存儲策略讓AI精準理解百萬行代碼庫 在AI編程助手日益普及的今天,開發者面臨一個新的困境:當項目規模達到數萬甚至數百萬行代碼時,傳統的暴力向量化方法不僅效率低下,而且往往導致AI理解偏差。…

GPT5 / 深度研究功能 無法觸發

具體表現為&#xff1a; 1.沒有GPT5標識2.回答是GPT43.無法觸發深度研究功能請問如何解決&#xff1f;

一鍵腳本:自動安裝 Nginx + Certbot + HTTPS(Let‘s Encrypt)

創建腳本文件?&#xff1a; vi setup_nginx_https.sh腳本內容&#xff1a; #!/bin/bash# # 一鍵安裝 Nginx Certbot HTTPS (CentOS 7) # 功能&#xff1a;自動安裝 Nginx、Certbot&#xff0c;配置 HTTPS&#xff0c;自動續期 # 使用方法&#xff1a;./setup_nginx_https.s…

SpringAI與MCP

MCP是什么&#xff1f;MCP 服務 代理服務&#xff08;Proxy&#xff09; 標準化接口 自動化適配MCP 的目的&#xff0c;就是讓 AI 應用不再“為每個工具定制對接 ”&#xff0c;而是像使用 USB-C 一樣&#xff0c;“插上即用”任何外部工具。沒mcp之前不同的工具入參和出參千…

Coze用戶退出登錄流程分析-后端源碼

前言 本文將深入分析Coze Studio項目的用戶退出登錄功能后端實現&#xff0c;通過源碼解讀來理解整個退出登錄流程的架構設計和技術實現。退出登錄作為用戶認證系統的重要組成部分&#xff0c;主要負責清理用戶會話狀態&#xff0c;確保用戶賬戶安全。 退出登錄功能雖然相對簡單…

【應急響應工具教程】Unix/Linux 輕量級工具集Busybox

1、工具簡介BusyBox 是一個將常用 Unix/Linux 工具打包在單一可執行文件中的輕量級工具集&#xff0c;被稱為 “嵌入式 Linux 的瑞士軍刀”。 它將多個精簡版的命令行工具&#xff08;如 ls、cat、cp、mv、grep 等&#xff09;集成到一個二進制文件中&#xff0c;并通過不同的調…

【React】案例:B站評論

目錄 一、核心功能實現 二、id處理和時間處理 三、清空內容并重新聚焦 一、核心功能實現 1.獲取評論內容&#xff1a;表單受控綁定 2.點擊發布按鈕發布評論 二、id處理和時間處理 1.rpid要求一個唯一的隨機數id -uuid庫 npm install uuid 使用方法&#xff1a;import {v4 as…

sqlite創建數據庫,創建表,插入數據,查詢數據的C++ demo

sqlite的API可參考&#xff1a;SQLite – C/C | 菜鳥教程 sqlite的官網API可參考&#xff1a;Introduction #include <iostream> #include <sqlite3.h> #include <string>// 回調函數&#xff0c;用于查詢結果的輸出 static int callback(void* data, int …

部分CSS筆試題講解

1. box-sizing: border-box 的作用問題&#xff1a; 默認的 CSS 盒模型 (content-box) 中&#xff0c;元素的 width 和 height 屬性只指定了內容區域的尺寸。如果你給元素添加了 padding 或 border&#xff0c;這些值會被加在 width/height 之上&#xff0c;導致元素的實際占用…

雅菲奧朗SRE知識墻分享(二):『SRE對智能運維的升級模型』

SRE深度結合AI創新&#xff0c;雅菲奧朗專家劉峰老師總結了近期人工智能運維領域的突破&#xff0c;合計以下15個關鍵點:一、領域1&#xff1a;Dev&Ops 深度融合? 關鍵點1. 組織&#xff1a;Google “SREScale” 最新論文提出「單一故障域 單一 SRE 小組」原則&#xff0…

前端 Promise 全面深入解析

一、Promise基礎概念 1、什么是Promise? Promise是一個表示異步操作最終完成或失敗的對象。它允許你為異步操作的成功結果和失敗原因分別綁定相應的處理方法。 2、Promise的三種狀態 pending(等待中): 初始狀態,既不是成功,也不是失敗 fulfilled(已成功): 操作成功完…

【LIN】2.LIN總線通信機制深度解析:主從架構、五種幀類型與動態調度策略

參考文章&#xff1a; Lin總線通信在STM32作為主機代碼以及從機程序 基于STM32的LIN總線的實現 STM32F0-LIN總線通訊程序代碼 主從調試OK LIN協議通信DEMO及源碼剖析 前文已講解關于LIN幀代碼如何實現&#xff1a;【LIN】1.LIN通信實戰&#xff1a;幀收發全流程代碼實現 幀類型…

Maven的概念與Maven項目的創建

MavenMaven的概念依賴管理項目構建Maven安裝Maven項目的創建Maven的第一個項目Maven的第二個項目Maven的概念 Maven 是 Apache 基金會推出的跨平臺的項目管理工具&#xff0c;主要服務于基于Java平臺的項目構建、依賴管理和項目信息管理&#xff0c;目前是 Java 生態中最主流的…

Mysql之binlog日志說明及利用binlog日志恢復數據操作記錄

眾所周知,binlog日志對于mysql數據庫來說是十分重要的。在數據丟失的緊急情況下,我們往往會想到用binlog日志功能進行數據恢復(定時全備份+binlog日志恢復增量數據部分),化險為夷! 廢話不多說,下面是梳理的binlog日志操作解說: 一、初步了解binlog MySQL的二進制日志…

windows安裝Elasticsearch,ik分詞器,kibana可視化工具

安裝地址 elasticsearch安裝地址: Past Releases of Elastic Stack Software | Elastic 分詞器下載地址: https://github.com/infinilabs/analysis-ik?tabreadme-ov-file kibana下載地址: Past Releases of Elastic Stack Software | Elastic 注意&#xff1a;版本一定要統…

GaussDB 數據庫架構師修煉(十八)SQL引擎-SQL執行流程

1 SQL執行流程查詢解析&#xff1a;詞法分析、語法分析、 語義分析 查詢重寫&#xff1a;視圖和規則展開、基于規則的查詢優化 計劃生成&#xff1a;路徑搜索和枚舉、選出最優執行計劃 查詢執行&#xff1a;基于優化器生成的物理執行計劃對數據進行獲取和計算2 解析器和優化器S…

能源管理系統中的物聯網數據采集:深度探索與操作指南

一、引言物聯網&#xff08;Internet of Things, IoT&#xff09;作為數字化時代的核心基礎設施&#xff0c;通過將物理世界的設備、物體與網絡連接&#xff0c;實現數據的實時感知與交互。而數據采集作為物聯網系統的 “神經末梢”&#xff0c;是整個體系運行的基礎。本文將從…