这三座地面振动监测站基于 CompactRIO 与 LabVIEW Real-Time 构建,整套系统的时间精度要求是 1 ms,而控制器内部时钟的精度只有 40 ppm,一天能漂 3 秒。
地面振动监测站与授时模块,LabVIEW 界面呈现三路振动与同步状态
01 要做什么:背景与技术难点
粒子加速器对地面稳定性的敏感程度,外人很难想象。隧道里任何一点缓慢的地面运动,都可能影响到束流的准直和设备的长期对准。现场需要一套系统,同时监测两类完全不同的振动:一类是自然的地面运动,另一类是工程活动带来的工业振动。前者周期长、幅度小,后者频带高、量级大。
这两个需求天然打架。测自然地面运动要的是宽带地震计,看重的是 30 秒左右的长周期;测工业振动要的是强震传感器,量程要能顶到 2 g。评估下来,市面上没有一台现成的地震数据记录仪能把这两件事同时做好,只能自己做。
除了测,还要送。数据要接入既有的数据库,也要按行业通行的地震数据格式对外共享;不同身份的人看到的应该是不同粒度的数据。时间上的限制同样很紧:整套系统的时间精度必须做到 1 ms。
02 难在哪:授时、数据格式与现场环境
第一个难题是授时。CompactRIO 内部时钟在 25 °C 下的精度是 40 ppm,换算下来一天会漂 3 秒,对地震数据来说这是不可接受的。GPS 授时当然可以,但要多加一个 GPS 模块、一根天线,还得想办法把信号引到地下,成本和施工难度都不划算。最终选用的是现场已有的 NTP 服务,它的授时精度本身就在 1 ms 以内,而且不需要任何额外硬件。
第二个难题是数据格式。上游的地震数据服务机构要求数据必须是 SEED 格式,至少也得是 miniSEED。一个实时 miniSEED 数据包只有 512 字节,拆成包头和记录数据两部分:包头里塞着台网代码、通道标识、位置标识、台站标识、数据质量标志、序号、时间戳、记录长度、记录频率和若干分隔符,包头之后是拼接在一起的二进制数据。目标是把数据以 10 秒的延迟送到对方服务器,再由对方在服务端补上元数据、把这座台站并入国际地震台网。
第三个难题是环境。这套设备要装在地下隧道里,现场条件称不上友好,系统本身还必须足够健壮:出问题要能主动告警,网络断了不能把数据丢掉。
03 方案:控制器加两种传感器,可靠性做到每一层
硬件上选的是 cRIO-9035 控制器,配两片 NI-9239 C Series 模块,前端接宽带地震计和强震传感器。这个组合一次覆盖了 30 秒长周期的自然地面运动和量级到 2 g 的工业振动。
可靠性方面有几处设计值得留意。网络故障时,数据先在本地存下来、恢复之后再补发,同时有一台独立的机器负责发出告警;供电做了双路冗余,C Series 模块可以直接监测这两路电源,其中一路失效就报出来;万一彻底断电,独立机器报警,供电恢复后采集会自动重新启动。
另外,两片采集模块是互为备份的关系:其中一片出故障,其余的仍然能继续往外推数据流。
04 LabVIEW 里的程序:FPGA 采集加实时层打包
应用主体是一个 LabVIEW Real-Time 程序,用到了控制器里的嵌入式 FPGA。FPGA 负责与前端模块打交道、保证采样时序的确定性;实时层负责采集、处理,并把原始数据实时共享出去。
打包成 miniSEED 的工作也在这一层完成。按照目标延迟的不同,程序会把一个或几个 miniSEED 数据包合并发送;接收端的服务器则用包头里的时间戳和序号判断顺序,如果数据到达的次序不连贯,就直接丢弃。这层校验是数据能被国际台网接受的前提。
数据分发做了分级:原始数据推给上游的地震数据服务机构,由它转发到世界各地的地震数据库;内部用户可以拿到功率谱密度;更完整的数据版本只对内部专家开放。每一类数据都独立做后处理,各自满足各自的需求。
05 结果
三座监测站已经部署完成,并成功记录到了来自世界不同地点的地震。系统按设计覆盖了 30 秒到 100 Hz 的地面运动,幅度从隧道本底的地面运动一直到 2 g,这个跨度让隧道地面稳定性的判断更准确。
数据一部分留在本地,一部分通过地震数据服务机构流向全球的地震组织。除了震后分析,它们还被用来评估地震对加速器的影响,也为当地一项地热能源开发项目提供了参考;在装置后续的升级工程里,新竖井开挖期间的振动水平是重点关注的指标。长期来看,这套网络还会成为隧道振动水平的一个基准参考。
设备已经 7×24 连续运行了数月,各项要求全部满足。下一步的目标,是把数据送达上游的延迟从现在的 10 秒压缩到 2 秒。
06 这个案例说明什么
这个项目值得琢磨的地方不在某个单点技术,而在架构的分层。
第一层是时间的确定性。绝对时间交给 NTP,采样时序交给 FPGA,两者分工明确:NTP 解决"绝对时间准不准",FPGA 解决"采样间隔稳不稳"。把这两件事拆开,就不必为了 1 ms 的绝对精度去背上 GPS 模块、天线和地下布线那一整套成本。
第二层是本地闭环、对外单向。设备自己负责采集、存储、告警和恢复,不依赖上位机在线;对外只按约定的数据格式单向推送。上游数据库是什么形态、要补哪些元数据,都跟现场设备解耦了——对方在服务端补元数据,现场不用改代码。
第三层是降级而不是停机。模块互为冗余、双路供电可监测、断网先存后补,三处设计表达的是同一个取向:局部失效时系统继续工作,把"不出数据"这个最坏结果尽量推迟。
对长周期监测类项目来说,这套分层思路比具体选了什么型号更值得借鉴。
授时与时序分开做
绝对时间交给 NTP,采样间隔交给 FPGA,拆开之后就不必为了 1 ms 精度背上 GPS 模块、天线和地下布线的成本。
冗余要落到每一层
双路供电、采集模块互为备份、断网先存后补,三处设计都在回答同一个问题:局部失效时,系统还能不能继续出数据。
07 写在最后
长周期振动监测这类项目,难点从来不只是把传感器接上。授时怎么保证、数据怎么按行业标准打包、断网断电时系统怎么撑住,才是真正决定一个台站能不能长期跑下去的环节。这套系统的价值,也正在于它把这些问题都在现场解决掉了,而且一跑就是几个月。
我们专注 LabVIEW 软件开发与测试测量系统集成,从硬件选型、方案设计到现场交付调试,提供一站式服务。像文中这种长周期振动监测站,从 CompactRIO 选型、FPGA 采集时序到 miniSEED 打包与远程告警链路,我们都可以按你的现场条件落地。欢迎在评论区留言;身边朋友有类似项目,也欢迎帮忙引荐。