基于电磁感应的多层管柱电磁探伤测井系统
是通过命令帧给下位机发送命令。
测井流程图
图 24 测井流程图
在测井状态中,单片机控制IGBT全桥电路产生125ms的正向脉冲,根据不同的时刻控制可编程放大的倍数并进行A/D采样。采样结束后单片机控制IGBT全桥电路再次产生125ms的负向脉冲,同时通过CAN总线向上位机发送测井数据帧,如果100ms内未发送成功则返回发送失败标志并推出发送。负向脉冲后重复放大和采样,并发送测井数据帧。最后判断是否有发送失败的测井数据帧,并发送失败的数据帧。
CAN总线数据处理流程图
系统采用PIC32MX的CAN1模块,波特率设为100kbps,分别使用2个32个报文深的FIFO作为发送和接收FIFO,采用接收中断的方式来接收上位机的数据。在接收中断服务程序中对接收到的数据进行处理。如图 25为CAN总线数据处理的流程图。
图 25 CAN总线数据处理的流程图
系统在接收到一个完整的数据帧之后,且校验和正确,会对接收缓存数据进行处理,会根据不同的类型的数据帧做相应的操作。当发生未能正确接收一个完整的数据帧时,下位机会返回错误类型,并回复NAK应答帧。
实时时钟
PIC32MX 器件上提供的实时时钟和日历(Real-Time Clock and Calendar,RTCC)硬件模块及其操作。RTCC是为需要长时间维持精确时间的应用设计的,无需或只需最少的CPU干预。该模块为低功耗使用进行了优化,以便在跟踪时间的同时延长电池的使用寿命。使用RTCC模块的要求是需要一个外部32.768 kHz时钟晶振。
测井数据帧的当前时间使用RTCC模块提供,该模块只需要初始化并设置起始时钟和日历即可自动运行。
上位机软件设计
概述
需求概述
本软件的功能主要为接收本系统硬件部分发送的数据,通过一定的协议解析,提取并分析信息,计算管壁厚度,绘制厚度可视化的图形,为工程人员提供直接的和有效的资料。
由于本系统在探伤的同时,着重分析损伤位置,因此必须对远近有所分离,另外最好能够绘制从远到近的厚度谱图,因此,本软件需要绘制两种图线,一种划分为远场近场两条曲线,另一种给出彩色的厚度谱图。
由于测井时间很长,工程人员很难全程跟踪,为了便于从存储的信息中恢复信息以便日后查阅,还需要给本软件增加文件存储和图像存储的功能。
最后,工程人员还需要实施观测现场状况,随时得到从井下传递来的信息,这样随时观测的方法,可以有效的节省测井时间,对于损伤过大的井可不必测完。
软硬件支持环境
本软件采用VS2008编译通过,在编写中使用了.net3.5架构,因此运行本软件需要Microsoft .net3.5运行时库的支持。
另外,本系统采用USBCAN模块进行通信,由于厂商没有给出其在Windows Vista和Windows 7下的驱动,因此,本软件只能工作在Windows XP系统下,且需要安装USBCAN模块驱动。
程序建模
本程序采用面向对象程序设计方法,其中的多数功能被封装在对象中,程序有较好的移植性和安全性。程序主要封装在以下几个类中
类 | 用途 |
记录测井全程信息、 | |
文件存储和读出 | |
由下位机传来的8字节信息 | |
由下位机传来的数据包 | |
其中包括一正一反两个数据包,记录其平均值和其他的数据处理结果 | |
测井曲线图 | |
衰减曲线图 | |
总线通信 |
另外本软件采用了多线程处理技术,主程序负责按键响应、图形显示等处于主线程中,而信息处理算法由子进程执行。这样有效的提升了数据处理算法的效率和独立性,使得又原先的每包处理时间1000ms左右大幅降至14ms左右。
界面设计
下图为一软件运行时截图,可以看到程序右左上方的文件/设备控制区,右上方图形控制区,左下方的信息显示区以及右下方的图形显示区组成。而其中最重要的,也是占用面积最大部分是图形显示区,较大的面积保证了观看的方便。另外,为了观察直观的一手数据,我们还专门设置了显示由采样设备直接传来的未经处理的衰减信号,以便工程人员直接判断测井系统是否正常工作,以及管壁是否发生严重损伤。这个衰减曲线是可以隐藏的,因为它毕竟不是主要需要显示的内容,而且占用屏幕空间较大。如果你觉得图像显示空间还不够大,甚至可以隐藏图例
- LXI总线B类电压表的设计与实现(01-21)
- 基于PIC32的高性能扫频调谐频谱分析仪设计方案(10-26)
- 可用于检测单相或三相交流供电系统的电能质量检测分析平台(06-03)
- 便携式太阳能电池及蓄电池综合测试仪(04-18)
- CAN总线系统测试技术(05-11)
- 基于CAN总线的GaAs光电阴极制备测控系统(07-27)