开发此程序的目的旨在集成一个灵活的测试台架,不仅可以做到被测器件开关可以灵活导入,还可以进行界面交互,提高测试人员测试器件开关的效率。
考虑到可以灵活导入器件开关的信息,且器件开关的功能稍微复杂,同时为了让使用者可以方便定义。导入功能读取excel中的器件开关信息,并将其以图形化界面显示出来。开关的闭合与断开,增加了flash动画,提升界面与使用人员的交互。
导入的开关通常有一百多个,除了具有开关切换的功能,还有读取电压,以及设置频率,占空比的功能。为了实现多个开关之间同时读取电压
的功能,还运用了多线程,使界面交互,同时读取电压,设置频率,占空比的操作之间,不会因为同时的多个操作产生冲突,导致界面或后台卡死。
为了保证界面显示开关状态的正确性,还增加了回读开关状态,并更新界面的功能。
开关变多了,查找与设置就变得困难。因此外在界面增加了搜索功能。可以通过部分匹配,弹出匹配的部分选项,通过点击匹配的其中一项,使界面跳转到对应开关的那一行(每个开关显示以简略原理图形式画在界面上,滚动切换开关原理图)。
设置开关的功能实现了,需要统计测试结果。因此又增加了图表显示测试结果的功能,该图表会随着测试结果的改变实时更新。至此,一个可以灵活集成开关测试的上位机才算完整了框架。
后续又增加了自动匹配串口的功能,保存开关开关状态并回调开关状态等等各种细化功能。
1.灵活导入开关信息,并生成界面简略原理图。
2.原理图上开关可控,并以flash动画展示设置的结果
3.搜索匹配,跳转到选择的开关原理图
4.测试结果绘制成图表,并实时更新
5.设置的开关状态可以保存成导入的文件形式,当下次使用,直接导入,生成原理图,且开关状态参考之前保存的状态
6.自动匹配串口连接,根据已有串口信息自动匹配各个连接设备。
该项目由我一人开发,开发周期为一年。实现了可以根据使用者灵活导入被测件开关,界面交互设置开关功能状态,搜索开关并定位,状态保存,状态回调,测试结果图形化等等功能。
项目遇到的难点主要是界面开关动画设计,界面多开关显示,多个开关同时读取信息导致主线程卡死,后台操作与页面更新冲突等等问题。
界面开关动画设计是难点也是亮点。最终通过flash动画做出当点击开关,开关慢慢闭合或断开的动画,同时不会影响界面或后台的其他操作。多个开关同时读取,最终使用了多线程,避免使用同一线程,导致一个开关读取电压完成后才能进行下一个开关电压的读取。多线程也解决了界面和后台操作冲突的问题。