测试设备控制软件要求
设备概要
出于保密考量,本文档隐去设备的业务逻辑,请谅解。
该设备需对工厂生产的工件进行多项测试,来衡量该工件是否达到出厂要求。需要进行的测试共有6类,每类测试之间相互独立,用户应可选择进行所有测试项,或仅执行部分测试项。且每类测试内还包含了多个测试项,每项测试完成后需检查工件是否达到根据工厂要求,即每项测试完成后均能得到测试是否通过的结果。
该设备需控制多个外部仪器:
1.多个标准仪表 (SCPI,NI VISA)
2.一个机械手臂 (RS232,读写三菱PLC)
3.一个开关设备(TCP/IP)
软件需求
UI部分
1.请使用WPF进行开发
2.主界面
用户输入:
I.工件SN及工件型号
II.6类测试项。用户可已选择测试类的顺序,以及是否需要执行。
III.开始测试按钮,终止测试按钮
界面反馈:
IV.醒目位置需要显示当前测试类,以及当前正在执行的测试类中的小项目
V.测试时间,包括
1)从测试开始起所用时间
2)从当前测试类开始所用时间
3)当前测试项所用时间
VI.以列表形式显示当前测试类中所有测试项,包括参数,结果,用时等。
3.设备界面
用于对机械手臂的调试
用户输入:
I.设备机械手臂运动到指定位置
界面反馈:
II.当前机械手臂的位置,状态,连接情况,PLC寄存器的值
4.配置界面
I.设定外部仪器通信参数
控制部分
1.外部仪表及机械手臂控制
结构上,外部仪表及机械手臂的通信方式,通信参数应当可以通过配置文件修改
结构上,外部仪表的数量,命名应当可以通过配置文件修改
2.测试流程
a)单个测试项流程
i.读取Excel参数,包括机械手臂的位置,测试内容,测试标准
ii.控制机械手臂运动到制定位置。
iii.配置仪表
iv.读取仪表读值
v.根据测试标准判断是否通过
vi.UI实时刷新测试结果和参数
vii.将测试结果和参数写入另一个Excel文件
b)单个测试类流程
i.读取Excel sheet,获取测试项信息
ii.开始该项测试
iii.完成后,重新获取下一项测试信息,并开始
3.配置文件
a)基于XML(或有更好的建议)
b)存储所控制的外部设备的信息,通信方式及其参数
c)存储用户所勾选的测试类
设计要求
控制部分尽量使用C++开发,考虑到以后对PCI板卡的控制及核心算法的集成。如果认为C++不适合,请阐述理由。
请使用OOP。仪表,或是其通信方式今后需要扩展,请在设计中预留
请设计合适的方法,能将控制部分的状态,设备的状态,以事件的方式传递到UI。请尽量避免轮询的方式。
交付要求
1.源代码
2.必要的文档及注释
3.请尽量两周内交付