1. 我扮演的角色
我负责该软件开发过程中的详细设计和编码实现两个步骤。
2.开发环境
该软件在Windows 10下开发,使用的开发工具是Visual Studio 2015,开发语言是C++,主要用到的技术是OpenCV、串口通信、多线程和调用动态链接库。
3.软件功能
该软件是磁场强度检测设备的配套软件,磁场检测器件把数据发送给工控机的串口,程序接收到这些数据后会从数据中提取出磁场强度,然后把磁场强度展示在软件界面上。当磁场检测器件检测到磁场变大时,程序会接收到工业相机拍摄的图像的数据,然后会把图像保存在硬盘的指定路径下。
4.软件介绍
安装了磁场强度检测软件的工控机连接着两台工业相机,通过串口连接着两个磁场强度检测器件和一个公里标器件。程序通过调用SphinxLib动态库函数来控制工业相机。
用户在“磁场强度”选项卡界面输入线路名称和区间名称,选择列车运行方向和设备运行模式。点击“开始检测”按钮,程序会打开两个工业相机,启动两个采集图像数据的线程。然后程序会打开两个与磁场强度检测器件相连的串口。然后程序会打开一个与公里标器件相连的串口。磁场检测器件会把当前检测到的磁场强度通过串口发送给工控机,发送频率为1000赫兹。程序每接收到1000个磁场强度值后,会在“磁场强度”选项卡界面上用波形图展示这1000个磁场强度值,同时把这1000组串口数据保存到硬盘上。在列车行驶过程中,当磁场检测器件检测到磁场后,波形图会出现一个幅度很大的凸起,同时采集图像数据的线程会接收到一幅图像的数据,然后使用opencv把Bayer RGGB 格式转换成 RGB 彩色图像,在“磁场强度”选项卡界面显示出来。同时,采集图像数据的线程会将图像编号、时间、公里标、磁场强度、图像文件名称、对应的串口数据记录到日志中,也会把这些信息显示在“磁场强度”选项卡界面的列表控件中。点击“停止检测”按钮,程序会结束两个采集图像数据的线程,关闭两个工业相机,关闭两个与磁场强度检测器件相连的串口,关闭一个与公里标器件相连的串口。