程序聚合 软件案例 基于串口通信的上位机-集合测试电子开关上位机控制软件

基于串口通信的上位机-集合测试电子开关上位机控制软件

2025-09-03 00:30:21
行业:汽车
载体:Windows应用、小程序
技术:C#、WPF

业务和功能介绍

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

项目实现

该项目由我一人开发,开发周期为一年。实现了可以根据使用者灵活导入被测件开关,界面交互设置开关功能状态,搜索开关并定位,状态保存,状态回调,测试结果图形化等等功能。
项目遇到的难点主要是界面开关动画设计,界面多开关显示,多个开关同时读取信息导致主线程卡死,后台操作与页面更新冲突等等问题。
界面开关动画设计是难点也是亮点。最终通过flash动画做出当点击开关,开关慢慢闭合或断开的动画,同时不会影响界面或后台的其他操作。多个开关同时读取,最终使用了多线程,避免使用同一线程,导致一个开关读取电压完成后才能进行下一个开关电压的读取。多线程也解决了界面和后台操作冲突的问题。

示例图片视频


小斯
30天前活跃
方向: 桌面端-.NET、
交付率:100.00%
相似推荐
数据库智能管理与可视化平台
实现针对达梦(Dameng)和Oracle数据库的跨平台可视化管理,核心提供多数据源动态切换、智能数据冲突分析与处理、表结构ER图自动化生成、大字段(LOB)可视化处理以及各类数据库高级对象(用户、角色、存储过程、表空间)的管理功能。
智慧矿山
依托Python开发技术,结合Flask、Django框架及pandas、requests等核心库,重点完成以下开发内容,兼顾实用性与可扩展性,适配中小矿山数字化转型需求: 依托Python开源库,降低开发成本,同时通过自动化脚本替代人工重复性工作,大幅减少人工投入,快速实现降本增效;
公司内部工具
根据需求,快速整理生成统计图表。其中包括基础的数据查找、导出功能。包括基础资料查询,各种类型的统计数据,图表生成。作为wps智能表格数据来源的中间缓存服务等等。主要需求是辅助公司内部人员处理个性化需求。
车辆监控平台
本平台面向工业互联网与大数据场景,为企业车队提供全流程车辆智能管控服务,核心解决车辆实时监管、安全风险预警、运营效率低下等痛点,实现从 “被动追溯” 到 “主动防控” 的管理升级。 核心功能路径:实时监控大屏→实时报文→轨迹追溯→数据报表分析等。具体包含:1. 实时定位,地图可视化展示车辆位置、车速、车况;2. 实时报文查询,历史报文查询,车辆状态展示,设备预警等;3. 行驶轨迹回放,支持事件溯源;4. 多维度运营报表,为车队调度、成本管控提供数据支。
toB数字孪生项目-仓储AGV孪生平台
1、一比一实时数字孪生,接入wms和mcs等系统,实现数据互通 2、数据统计,预测产量、仓储流量、动态报警等 3、三维场景漫游,交互,支持固定以及漫游相机操作,旋转,拖拽,缩放等 4、场景动画与生产过程实时联动 5、实现了双端部署,即PC客户端与BS端
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服