【用C# WPF+lua写了一个电子常用的调试测试数据采集软件,数据采集测试项,采用excel编写,函数采用lua编写,生成csv log】
支持串口、USB、TCPIP、GPIB 等……
视频链接:
https://www.bilibili.com/video/BV131421S7dN/
测试界面如下:
导入数据采集测试项目
测试自动跑测试项
Log目录:存放 CSV log 文件,测试结果
Profile:测试项 excel 文件
Script:函数,txt文件
Setting:串口、USB、TCPIP、GPIB
生成的LOG文件
函数文件,采用lua格式:
配置文件ini
主要的函数调用
代码片段:
dynamic obj = MainView.Items[step];
var objName = obj.GetType().GetProperty("Function").GetValue(obj);
string Lower = obj.GetType().GetProperty("Lower").GetValue(obj).ToString();
string Upper = obj.GetType().GetProperty("Upper").GetValue(obj).ToString();
string Unit = obj.GetType().GetProperty("Unit").GetValue(obj).ToString();
try
{
LuaFunction function = LuaVM.GetFunction(objName.ToString());
if (function != null)
{
object[] values = function.Call();
foreach (var value in values) //遍历 values 数组中的元素
{
Console.WriteLine(value); //输出
string res = value.ToString();
users[step].DUT1 = res;
if (res != "")
{
if ((Unit.ToUpper() == "A") ||
(Unit.ToUpper() == "MA") ||
(Unit.ToUpper() == "K") ||
(Unit.ToUpper() == "R") ||
(Unit.ToUpper() == "KV") ||
(Unit.ToUpper() == "V") ||
(Unit.ToUpper() == "MMV") ||
(Unit.ToUpper() == "HZ"))
{
if ((float.Parse(res) >= float.Parse(Lower)) && (float.Parse(res) <= float.Parse(Upper)))
{
users[step].DUT1_Color = "Blue";
}
else
{
users[step].DUT1_Color = "Red";
}
}
else
{
if ((res == Lower) || (res == Upper))
{
users[step].DUT1_Color = "Blue";
}
else
{
users[step].DUT1_Color = "Red";
}
}
}
this.Dispatcher.Invoke(new Action(() =>
{
MainView.SelectedIndex = step;
MainView.Items.Refresh();
MainView.ScrollIntoView(MainView.Items[step]);
}), null);
}
感兴趣的小伙伴请联系我,交流学习,谢谢!
资源下载链接:https://download.csdn.net/download/weixin_43645564/89075882