基于以太网的桥梁健康监测系统的软件设计
给监测仪主板核心器件DSP,DSP收到参数命令后,按参数命令的要求向PC发送数据,RecieveData线程监听到DSP开始发送采集数据后,开始接收数据。由于Recie-veData线程优先级别高于SendCMDToDSP线程,所以当接收数据时发送命令参数,SendCMDToDSP线程则需要等待RecieveData线程接收完数据才能开始发送命令参数,这样就不会造成命令参数的覆盖。在PC机内存区域开辟一块缓冲区用于接收数据,RecieveData开始接收数据,当内存缓冲区满的时候,RecieveData线程PostThreadMessage一个消息给DrawCurve线程,将缓冲区指针和大小作为消息参数传递过去,然后释放缓冲区,再等待接收数据;DrawCurve线程接收到消息后,分配另一块内存保存数据,绘完采集数据的曲线图像后,DrawCurve线程PostThreadMessage一个消息给StoreToExcel线程,将新的内存指针和大小作为消息参数传递过去,然后把数据缓冲区释放,再继续等待消息;StoreToExcel线程获取消息后,同样分配另一块内存保存数据,将采集的数据保存到Excel文件,然后把缓冲区释放,再继续等待消息。 2.3.2 接收数据模块 4 结 语
2.3 以太网通信模块设计
PC与DSP的数据通信采用的是以太网通信,上位PC机向DSP发送设定好的命令参数,DSP则按照接收到的命令参数采集数据,然后向PC机发送采集到的数据。以太网通信部分采用的是套接口Socket编程,套接口Socket提供了许多函数,利用这些函数,程序员就可以实现DSP和上位PC机的以太网通信。
2.3.1 发送命令模块
当上位PC机向监测仪发送IP地址、MAC地址等命令参数时,监测仪作为服务器端,PC机作为客户端。在服务器端和客户端分别创建一个套接口Socket,然后在系统上电后,监测仪就处于监听状态,当监听到PC有连接请求时,监测仪服务端又创建一个新的套接口stcpctive来与PC建立连接,当监测仪与PC建立连接以后,PC就可以向监测仪发送命令参数了。在此过程中,PC每次向监测仪发送100 B的命令参数,其中,第一个字节是区分不同命令参数的标志,监测仪接收到命令参数后,利用这个标志来设置的各项参数,通过这种方式,依次设定监测仪各个通道的采样频率、保存时间、PGA、采样阈值、FFT使能以及监测仪本身的IP地址、MAC地址、运行时模式以及监测仪系统时间的设置,其流程如图3所示。
当监测仪将采集到的数据通过以太网发送到上位PC机时,PC机作为服务器端,监测仪作为客户端。同样,也是在PC机服务器端和监测仪客户端各创建一个套接口Socket,当PC机上的应用程序开始运行后,PC机就处于监听状态,当监听到有监测仪端有连接请求的时候,就创建一个新的套接口stcpctive与监测仪建立连接。当PC机与监测仪建立连接以后,监测仪依次向PC机发送采样时间、通道号、数据长度、采样数据。采样时间即表示该发送的数据对象是哪个时刻的采样结果。为了接收监测仪发送过来的数据信息,需要在内存缓冲区开辟一个容量为16 384×4的buffer,每台监测仪8个通道,因此开辟8个buffer,用来存放8个通道接收到的数据,其流程如图4所示。
3 模拟测试
桥梁健康监测技术的发展还有很多处于实验室研究阶段,因此,数据的采集测试是在实验室环境下采用波形发生器产生的三角波信号来模拟实际现场传感器信号。设定好通道号、采样时间、采样频率和放大倍数等命令参数,运行程序,可以看到如图5所示的三角波波形。其中,横坐标表示在设定的采样时间内采集数据的个数,即为1 s时间内采集512个数据。纵坐标表示采集信号的幅值,由于从传感器出来的信号电压是-2.5~2.5 V,ADC采样分辨率为24 b,去掉第24位,取中间值即222,为0 V,如图5所示。采集数据无漏点,波形完整,因此符合桥梁健康监测系统的采集数据的基本需要。
本文完成了基于以太网的桥梁健康监测系统的软件设计,实现了桥梁健康监测系统中各种传感器信号的采集,同时将采集到的数据信号通过以太网传输到PC上,实时显示各采集信号的输出波形,并将采集到的数据保存至Excel文件,便于历史查阅和分析。软件设计界面友好,可完成一般的桥梁健康监测任务。
- EtherCAT简介(01-15)
- NI 9144扩展机箱内部原理(01-16)
- IEEE1588精密时钟同步协议测试技术(02-28)
- 如何从以太网供电(PoE)获得更大功率(05-07)
- 利用新一代以太网技术构建节能系统(05-09)
- 基于Xilinx FPGA的千兆以太网及E1信号的光纤传输(06-01)