面向船舶结构健康监测的数据采集与处理系统(一)系统架构

世界贸易快速发展起始于航海时代,而船舶作为重要的水上交通工具,有
其装载量大,运费低廉等优势。但船舶在运营过程中出现的某些结构处应力值
过大问题往往会给运营部门造成重大的损失,甚至造成大量的人员伤亡和严重
的环境污染,因此实时掌握船舶的监测点应力状况,跟踪船舶各个重要监测点
的应力信息将会提高船舶的运营安全,避免因船体结构的损坏而产生重大的经
济损失。
数据采集与处理系统中上位机采用 C/S 架构,下位机采用 B/S 架构,共分
为四个部分,分别是传感器、解调仪、下位机、上位机,下位机能够做到系统
的所有功能,上位机只实现系统的部分功能,包括应力、应变查询等功能的显
示。上位机和下位机之间的数据通讯通过 TCP/IP 协议实现,而解调仪与下位机
之间的通讯则通过 socket 实现。
2.1 需求分析
本系统中需求分析主要包括功能需求和非功能需求,其中系统需要实现什
么功能是功能需求的要讲述的内容,而保证软件的可靠、稳定则是非功能需求
要考虑的问题。目的是为系统的功能需求提供保证。
2.1.1 功能需求
根据船厂的具体要求,系统的数据采集依靠光纤光栅传感器,通过一定的
采样频率将采集到的数据传送到光纤解调器进行处理,解调仪则将光纤光栅传
感器采集的数据实时调制,原理是将光纤光栅传感器采集的光信号转变成传感
器安装位置应变的大小,再通过复合材料实验室提供的力学知识将应变信息转
变成应力信息。每个监测点包括四个传感器,其中 1 2 3 、号是应变传感器,
4 号是温度补偿传感器,传感器部署方式如图 2-1 所示。因为应力和温度的改变
都能够引起光纤光栅传感器的应变变化,而在本系统中只需要考虑应力引起的
光波改变即可,因此在计算监测点应力时要将监测点温度引起的应变剔除掉。
应变、应力的大小是我们需要进行处理和存储的数据。系统共有 24 个位置需要
进行应力监测,每个位置有 4 个传感器,因此总共有 96 个传感器,当然,为了
系统的可扩展性,系统有增加监测点的功能。为了节省系统的存储空间,除了
需要将系统数据库中的数据定期导出到系统之外,还应使系统具备采集数据频
率可变的功能,因为当船舶在行驶过程中如果海面风平浪静,各个监测点的应
力变化情况会很小,此时需要的采样频率就会低一些,船厂要求的采样频率在
10Hz~100Hz 之间。
各个传感器应变的大小通过光纤光栅解调器输出之后,先将数据进行诊断,
判断传感器是否在正常工作,当传感器发生故障时,系统就采集不到原始数据,
在本系统中,传感器采集的数据是基础性工作,为后续所有工作做支撑,为了
确保传感器安全可用,可以在重要监测点位置部署双路光纤。当传感器没有发
生故障时,将某一位置的传感器数据进行计算,得出该点的应力大小,并将数
据与标准判据进行对比,查看相应船舶结构处的应力大小是否出现过大等情况,
如果应力超过标准判据,进行过载报警,并将实时监测到的应力数据以及该监
测点的正常应力范围显示在界面上。系统还应该具有历史数据显示的功能,当
船舶的运行人员要了解过去一段时间的应力情况,或者是有相应船舶需要设计
建造时对以往船舶进行参考时,系统应该能够将历史数据清晰的显示出来。
在系统运行以前,或者是有监测点需要添加时就要对监测点及传感器的信
息进行配置。监测点配置主要包括监测点编号、各个监测点能够承受的应力范
围、应力的初始值、监测点坐标位置、监测点所在通道编号以及监测点位置信
息描述等,传感器配置包括传感器的 ID 、初始波长、计算监测点应力时所需要
的参数以及传感器的位置信息等。
下位机是整个系统的核心部位,本系统将全部功能安装在下位机上,下位
机对数据做处理及存储工作,处理主要分为以下几个方面。首先下位机通过网
络与解调仪实现连接,得到的是传感器的应变信息,将得到的应变数据与实际
传感器位置相对应,每个传感器都有一个固定的 ID 和中心波长,传感器的 ID
命名方法是“通道编号 + 监测点编号 + 监测点内部编号 + 中心波长 ,传感器采集
的数据固定在以中心波长为中心的范围之内,每个传感器采集的数据都不会超
过自己的中心范围,在同一个通道的传感器因为中心波长不同,进而不会造成
不同传感器额定应变范围的交集,通过编程使得监测点内部的四个传感器应变
数据转变成应力数据,对实时的应力数据进行判断,通过得到的应力值与每个
监测点标准应力范围想对比,判断监测点实时应力是否超过该监测点的标准应
力值,报警分为几个级别,实时应力的不同范围表示报警的不同等级,通过不
同的级别提示系统运行人员当前船体结构的危险程度,而且报警要有默认处理
方式,方便运行人员操作。于此同时,将得到的应变及应力数据传送给示波器,
通过示波器的显示使得系统运行人员能够直观的了解到各个传感器和监测点的
应变及应力大小,当要进行实时数据显示时,系统将传感器采集到的数据经过
处理之后直接发送给示波器显示,如果要显示的是历史数据,先要判断要显示
时间范围内的数据是否在系统的数据库中,如果不在则先要将数据从系统外部
导入到系统数据库中再进行显示,而且显示的方式也会因为要显示的时间段长
度的不同而不同,因为系统的数据量非常大,当选择的时间段非常长时,示波
器会显示不出所有数据,所以要采用包络图的形式进行显示,即当要显示的时
间段大于十分钟时只显示每分钟之内的最大值和最小值,当要显示的时间段小
于十分钟时则将数据都显示出来。最后,数据的存储是重量级工作,系统要记
录各个传感器的应变以及监测点的应力信息,所以,数据量非常大,因此要定
期的将系统中的数据导出到系统外部磁盘,使得系统有足够的空间接受传感器
采集的数据,系统设定当数据库中的数据达到系统磁盘存储量的 80% 时则给出
备份提示,用户可以通过界面选择备份路径等信息,将系统数据库中的表导出
到系统外部之后,要将系统数据库中较久远的表删除掉。上位机的功能是方便
于用户查看,不承担全部的功能,只起到显示部分功能的作用,例如历史及实
时数据的查询、报警信息显示和处理等功能。简言之,上位机做到查询和简单
处理的作用,下位机则供系统运行人员操作使用。
界面设计要求简洁、方便,在进入系统时,默认的主界面是一号监测点所
受应力的大小的实时波形图,在左侧有一个选择框,该选择框中包含所有监测
点,在每个监测点中又有一个树形结构,显示出四个传感器,当要对监测点或
者是传感器进行配置时,可以将鼠标放在监测点上选择右键,转到监测点配置
和传感器配置等界面。
2.1.2 非功能需求
非功能需求要考虑到软件的可用性和易用性。其中可靠性、可维护性以及
适应性是系统密不可分几个部分。
1 )可靠性是系统在用户错误操作的情况下或者系统出现故障的情况下可
以支持系统恢复,在网络不稳定或者使用过程中异常中断的情况下系统应该有
相应的容错功能,这些都是在非功能需求中要考虑。
2 )易用性直接影响到软件的使用体验,因此在软件开发过程中要充分考
虑,包括系统界面的美工、交互式设计等内容,界面要易于操作,不能繁琐复
杂,以用户的角度去考虑软件在使用过程中的人机交互友好性,同时系统中功
能设计不要隐藏的太深,系统的所有功能应在主菜单处显示出来,也就是软件
的易见性要好,而无论是易用性还是易见性,都要做到以用户为中心进行设计,
而软件的可靠性和易用性将会在系统的详细设计及实现的过程中充分考虑。
3 )稳定性和可靠性对于监测系统至关重要,为了达到稳定性和可靠性,
系统在完成实现之后要进行压力测试。在硬件部署上传感器布线可以在相应位
置采用双线结构,当一条光纤的传感器发生故障之后可以快速的切换到另一条
光纤上,选用双通路的原则是选择传感器安装困难的监测点,或者比较重要的
监测点。为了提高系统的可靠性,可采用双下位机系统,如果正在运行的下位
机发生故障时可以手动或者自动的切换到另一个下位机上去。系统采用的是
Mysql 数据库,引起具有容量小的特性,因此要定期的将系统数据库中的数据
导出到系统外部磁盘,在将系统数据库中的数据导出到外部磁盘的过程中要保
证读取在 4Mb/s 以上,系统在正常运行时,不能经常性的死机,对数据的处理
要及时高效,为了保证系统的稳定性及可靠性,采取双下位机,正常情况下一
台机器正常工作,另一台机器处于热备份状态,当工作的下位机故障时,手动
将另一台机器接入到系统当中。在系统实现之后将重点测试压力测试,使系统
达到要求的稳定性和可靠性。
2.2 系统总体设计
2.2.1 系统拓扑设计
船舶结构健康监测系统主要由四 部分组成,分别为传感器、解调仪、下位
机、上位机,各个部分各司其职又相互联系。光纤光栅传感器采集各个监测点
的原始数据,在船舶结构处每个监测点有四个传感器,其中前三号是应变传感
器,第四号是温度传感器,这些传感器通过光纤实现连接。解调仪的工作是读
取光纤光栅传感器采集的数据,数据的单位是应变的大小,本系统采用 sm130
型号解调仪,它共有四个通道,但是每个通道可以通过光开关再扩展四个通道,
因此该光纤解调仪可以扩展成 16 个通道,每个通道通过一个光纤连接起来,可
以有若干个传感器,但传感器的个数必须是 4 的整数倍,也就是每个通道应构
成整数个监测点。下位机实现系统的所有功能,本次开发的软件就是安装在下
位机上,下位机与解调仪之间的通讯通过 Socket 通讯实现,通过 TCP/IP 协议
实现了下位机与上位机之间数据的传输,且上位机与下位机之间采用 C/S 架构。
系统的拓扑结构图如图 2-2 所示 :
2.2.2 软件体系结构设计
本系统共分为三层,分别为上位机、下位机以及数据采集系统,其中:
数据采集系统:是系统基础部分,该部分将传感器部署到船体的各个结构
处,采集各个监测点处传感器的实时应变数据,光纤光栅解调仪能够将传感器
部署位置处由应力引起的传感器光波波长的变化采集出来,下位机与解调仪之
间的通讯通过 Socket 通讯实现。
下位机系统:下位机是系统的核心部分,数据的处理、存储、显示等都在
该层实现,首先下位机中的解调仪客户端将光纤光栅解调仪将采集到各个监测
点位置的 4 个传感器应变数据转化成各个监测点的应力数据,之后将传感器的
应变数据和监测点的应力数据分为两路,一部分用于数据的实时显示,并在实
时显示过程中判断此时的数据是否超过标准判据,如果超过标准判据则启动报
警模块进行报警;另一部分则是将数据存储在数据库中,用于后续数据的处理,
当有历史数据需要显示时,通过访问本地数据库获取数据。
上位机系统:上位机实现系统的部分功能,主要是系统的显示功能,例如
历史及实时数据的显示,报警的处理等,其中,当有实时数据进行显示时,上
位机通过 Socket 通讯与下位机进行通讯,将下位机实时显示部分传送到上位机
进行显示,当有历史数据进行显示时,上位机通过远程数据库连接得到下位机
数据库中的历史数据,系统软件体系结构图如图 2-3 所示:
2.2.3 系统功能结构
船舶结构健康检测系统的系统由四部分组成,分别为数据的采集、系统配
置、数据的显示、数据处理、数据挖掘等部分,其中数据的采集则是下位机调
用光纤光栅解调仪提供的 DLL 文件,与解调仪建立连接,是本系统的基础,在
数据采集之前应该保证每个传感器采集的数据都是在正常的,即传感器是可用
的。数据存储时要求传感器采集的数据的频率是可变的,船厂要求的数据采集
频率在 10~100HZ 之间。数据的显示包括历史数据显示、实时数据显示,包括
每个监测点的应力显示,也包括每个传感器的应变数据显示。数据挖掘是本系
统的理论研究部分,通过数据挖掘技术对数据进行分析,对每个监测点的应力
大小以及频率分别分析,通过分析得来的数据与该监测点的状态对比,当有类
似船舶建造时,可以起到指导的作用。系统功能结构图如图 2-4 所示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gunicorn 0.17 发布,Python HTTP 服务器

HTTP 服务器 Gunicorn 0.17 发布了,该版本改进内容包括: 支持绑定多个网卡地址支持 SSL支持 syslog增加 nworkers_changed 钩子为 post_request 钩子增加 response 参数使用 argparse 解析命令行参数(废弃 optparse)fix PWD detec…

优地机器人厂家_2019中国人工智能机器人企业TOP30榜单发布 优地科技跻身前十...

原标题:2019中国人工智能机器人企业TOP30榜单发布 优地科技跻身前十据2019《互联网周刊》&eNet研究院选择排行,“2019中国的人工智能机器人企业TOP30”榜单新鲜出炉,名单如下:从榜单可以看到,阿里巴巴、新松、百度…

计算机网络中的高层应用,第四章计算机网络中的高层应用-.ppt

第四章计算机网络中的高层应用-第四章 计算机网络中的高层应用 掌握C/S模式和B/S模式 熟练掌握常用的网络高层服务: WWW、Telnet 、FTP、EMAIL、DNS等 了解其它网络应用:BBS、IP电话、VOD等 引 言 网络的应用层是计算机开放互连环境与本地的操作系统环境…

硬核!原型和原型链详解

前言 我是歌谣 知其然知其所以然 人人都有一个大厂梦 希望通过自己的一个总结分享可以给予大家带来帮助和提升。 本期知识点 原型和原型链 目标 1理解原型和原型链 2理解构造函数 3理解构造函数 原型和原型链之间的关系 引用类型都是对象 基本数据类型和引用数据类型可以看下…

TCP/IP协议读书笔记(1)

TCP一共有四个主要的定时器,前面已经讲到了一个--超时定时器--是TCP里面最复杂的一个,另外的三个是: 坚持定时器保活定时器2MSL定时器其中坚持定时器用于防止通告窗口为0以后双方互相等待死锁的…

python 3 5_零基础学Python3(5):基础运算符(上)

人生苦短,我选Python前文传送门前言前面我们讲了变量的基础操作,本文我们接着讲运算符。运算符根据用途可以分为以下这么几类:算术运算符比较运算符赋值运算符逻辑运算符成员运算符身份运算符本篇我们先介绍前两个,算术运算符和比…

JS中的异步任务有哪些

JS中的异步任务有哪些 异步任务指的是,不进入主线程、而进入"任务队列"(task queue)的任务,只有等主线程任务执行完毕,"任务队列"开始通知主线程,请求执行任务,该任务才会…

spring下jndi配置

参考: 1)Spring配置JNDI(Tomcat7) http://liuzidong.iteye.com/blog/962841 2)在tomcat 6.0下配置JNDI及在Spring中的使用 http://hi.baidu.com/xulong7814/item/1b150826c4cd81cadcf69abf 转载于:https://www.cnblogs.com/lpshou/archive/20…

机场精细化管理_宇视科技智慧机坪解决方案助力机场实现精细化管理

飞行需求不断膨胀,有限的空域资源愈发拥挤,带来航班延误、资源浪费及航行安全等问题,降低机场运行效率。机坪作为空中交通起讫点,也是拥堵、延误多发区,对机场整体运行效率至关重要。如何在兼顾成本下,让机…

安徽省计算机水平考试试卷,第1次安徽省计算机水平考试试卷.doc

PAGEPAGE 62006第一次安徽省计算机水平考试试卷(ACCESS)单项选择题(每题1分,共40分)能将高级语言源程序转换为目标程序的是A)编译程序 B)解释程序 C)测试程序 D)编辑程序6位无符号二进制数能表示的最大十进制整数是A)64 B)63 C)32 D)31在Windows中,下列关…

总结:js延迟加载的方式有哪些?

该面试题主要考察的是程序的性能方面。性能优化的核心思想就是快,常见的优化手段有预先准备数据(如缓存),按需获取,分段、异步获取等 由于JavaScript的阻塞特性(单线程运行),在每一个…

Android中简单的日期格式化

自己遇到的一点格式化日期的方法,记下来 // 今天的信息 显示时间 dateStr DateFormat.getTimeFormat(context).format(date); // 日期 dateStr DateFormat.getDateFormat(context).format(date)" "DateFormat.getTimeF…

集群没有leader_面试官问:说说你对ZooKeeper集群与Leader选举的理解?

ZooKeeper是一个开源分布式协调服务、分布式数据一致性解决方案。可基于ZooKeeper实现命名服务、集群管理、Master选举、分布式锁等功能。高可用为了保证ZooKeeper的可用性,在生产环境中我们使用ZooKeeper集群模式对外提供服务,并且集群规模至少由3个Zoo…

t3修改计算机后就无法登录了,电脑更换系统后,用友T3登录不上了,一直显示这个,怎么处理,这个怎么解决...

我用的是类似用友的FineReport报表软件,没用过您那款软件,我帮您搜了一下您看看能不能帮到您:运行软件常出现的提示Run-time error429运行一些软件常出现这样的提示:Run-time error429:Activex componert cant create object是说你…

浅谈webpack打包原理

模块化机制 webpack并不强制你使用某种模块化方案,而是通过兼容所有模块化方案让你无痛接入项目。有了webpack,你可以随意选择你喜欢的模块化方案,至于怎么处理模块之间的依赖关系及如何按需打包,webpack会帮你处理好的。 关于模…

ubuntu rsync

rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法&#xf…

android音频杂音问题_Android 音视频去回声、降噪(Android音频采集及回音消除)(转)...

好久没写文章了,其实是想记录一下自己在Android开发的成长历程。谈到音视频这块,对于新手来说刚接触到这一块,那是非常非常的恶心~我自己弄这一块也是从头开始,在 网上也翻阅了无数的资料、浏览了无数的博客,尝试了多种…

CImage类 from http://www.cnblogs.com/afarmer/archive/2012/03/31/2427273.html

CImage类 Visual C的CBitmap类的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG等)。如果想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控…

新华计算机学校环境好吗,新华电脑校园环境好不好?(二)

随着学校规模的不断扩大和办学层次的逐步提高,新华的办学理念已发生了根本性的变化。在新华全国院校中,校园环境的美化和建设对大学生文化素质的教育有着不可替代的推动作用。在校园总体现划上,特别注重建筑布局和美化布局的相互映衬&#xf…

实现深拷贝的几种方法

1.我们怎么去实现深拷贝呢,这里可以递归递归去复制所有层级属性。 这么我们封装一个深拷贝的函数(PS:只是一个基本实现的展示,并非最佳实践) 复制代码 function deepClone(obj){let objClone Array.isArray(obj)?[]:{};if(obj &&…