用C进行仪器控制系列数字万用表2
在“用C#进行仪器控制系列——数字万用表(1)”文章中,我们介绍了用C#语言编写的控制Keysight数字万用表进行电压测量的控制台程序,可通过点击链接进行查看。在那篇文章中已经可以在命令行窗口中输出测量值,但局限性也很明显:
1)首先仪器地址是固定写死在代码中的;
2)其次缺乏一个交互界面,无法控制启动和停止测量等;
3)只能执行单次测量,无法连续监测电压的变化。
因此,针对以上三点,对数字万用表控制程序做了专门的优化。
优化思路:改写为Windows窗体应用程序通过Windows窗体界面,我们可以对程序的测量参数进行设置,以及控制程序的执行过程。具体为:
1)通过一个下拉选择框(ComboBox),可以选择待控制的数字万用表的仪器地址;
2)通过一个启停控制按钮(Button),初始状态显示为“开始测试”,当点击该按钮后触发开始测量任务,同时该按钮文本更改为显示“停止测试”,再次点击该按钮后触发停止采集,按钮文本又恢复显示为“开始测试”;
3)通过一个文本显示框(TextBox),用于显示测量的电压值;
4)添加2个Label控件,外观文本属性分别改为“端口号”和“测量结果”。
窗体界面总体如下图所示。
窗体界面
优化实现过程1)通过下拉选择框实现仪器地址的选择
在“用C#进行仪器控制—自动获取硬件资源地址(串口号、USB地址等)”的文章中,已经详细介绍了如何自动获取仪器的地址并自动填充到下拉选择框的可选项中,在此就不再重复赘述了,可通过链接查看。最终实现的效果应如下图所示:
自动获取硬件资源地址
2)通过启停控制按钮实现开始测试和停止测试的控制
从工具箱中拖拽一个Button控件至窗体中,并修改名称为“btnStart”,然后双击该控件,自动添加鼠标单击事件响应代码。
Start控件属性
3)完善“btnStart”鼠标单击事件响应代码,具体请查看代码及注释。
事件响应代码4)通过TextBox文本框实现测量结果的显示
从工具箱中拖拽一个TextBox控件至窗体中,并修改名称为“resultTextBox”。
测量结果显示框属性
创建测量线程,首先在类中进行申明:
申明然后编写测量线程代码,具体如下所示:
线程测量代码5)将科学计数法数据显示格式转换为浮点型数据显示格式
数据转换代码格式如下所示:
数据转换代码优化效果验证程序优化后验证效果如下动图演示所示:
效果验证动图显示
进一步优化思路本程序中,只能执行电压测量任务,后续的优化思路就是要实现可选测量类型,可选项包括电压测量、电流测量和电阻测量等。
转载请注明:http://www.abuoumao.com/hyls/8214.html