基于QT,使用C/C++开发的电机台架上位机
由于公司项目的需要,也是出于自己的兴趣,使用QT开发了一个简单的上位机,主要用于控制电机测试台架(后期可以增加功能,把台架搞成一个自动标定的系统)。刚开始使用的是Labview,但是C/C++学了很久,不习惯图形编程(其实是学不会),所以在师兄的推荐下,就用QT来开发。
很多功能是直接调用第三方提供的库,或者预留的API接口,这里还没有涉及驱动那些事,我认为只是简单的调用、整合,搞好线程、逻辑、报表生成,这些简单的功能。
主要的功能
- can通讯:2路can(硬件:ZLG USBCAN-Ⅱ或者研华PCI1680),分别控制测功机和被测电机;
- 串口通讯:冷却液流量、温度的测取(硬件:研华ADAM4015),电源柜的控制(MOUDLE BUS的协议);
- PCI板卡操作:DI、DO、AI、AO的操作(硬件:研华PCI1711);
- 功率分析仪:以太网连接、串口连接,均可(硬件:横河WT3000/日置PW3390);
- Excel的读写:批量导入测功的工况、can通讯协议、批量导出测试结果;
- 利用QChart绘制动态曲线:将希望观测趋势的变量曲线投影在主界面;
- 系统状态及日志处理:-;
- 数据处理及逻辑:can报文解析、功率分析仪数据存档、其他数据存档;
- 界面布置:功能区、显示区等,特别是工具栏的布置,很头疼;
声明一下,很多地方我一开始也是不会的。看了很多大神的介绍,一个一个试才试出来的,这些文章只是把目前的进度记录一下。程序里面的一些结构、数据处理方法、控件使用等等,不一定是最优的。目的是能用就行,主要的工作不是开发上位机。