- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工程实验数据获取系统的设计
学生: 杨 飞
导师: 肖 炳 甲
2008.12.12
主要内容
工程数据的获取
数据处理
1.获取系统的意义
在EAST实验期间,会产生大量的真空、低温、诊断等工程数据,为了便于工程专家、物理专家能够实时了解各装置的运转情况,需要一个对数据可视,实时展现的平台。
工程数据的获取
2.系统数据来源
工程数据分别来自多个部门(3室、6室、8室),需要把分散的数据统一起来。 建立一个共享的数据库平台。
网络
数据库服务器
数据库
工程数据的获取
3.数据库远程统一存取格式:
(1)每次只存取一次记录(600-700道信号)
(2)1秒钟存取一次
(3)更新存取
(4)规范的信号名,组ID,部门ID,时间戳
工程数据的获取
1.工程数据表关联
数据处理
2.数据用途(逻辑图)
数据处理
3.数据处理设计
根据用途,分别对数据库数据进行二次处理。
长时间波形显示 需要每秒把数据获取转存为文本文件,每天每个信道一个文件,根据日期自动建立文件夹。
脉冲波形显示 通讯接收控制室炮号信息,若放电开始,每秒把数据获取转存为文本文件或LZO文件,同时把炮号、状态等信息存入logbook数据库中,若放电结束,停止数据转存,根据炮号,每个信道一个文件自动生成,并根据炮号分类存储。
信道预警 根据每个信道本地时间戳,若10秒左右没有更新,发出预警信号。
数据处理
4.数据处理实现
(1)逻辑设计(Long_time_wave)
数据处理
Getdata_thread
trandata_thread
writefile_thread
Connect mysql
Value[i]-array[i]
Per second
Array[i]-array[n][sig]
Per second
Create directory
Write_sig_file
Per 1000 second
(2)逻辑设计(Discharge_wave)
数据处理
Pcs_thread
Getdata_thread
trandata_thread
writefile_thread
Listen
Begin:
Trigger
End:
trigger
Connect mysql
Value[i]-array[i]
Per second
Array[i]-array[n][sig]
Per second
Create directory
Write_sig_file
1
1
0
0
1
0
4.实现平台
操作系统: linux
数据库平台 : Mysql5.0
编程工具:C++
数据处理
5.实现点
初始文件
文件存放位置,数据库连接信息,通过修改文件,配置相关参数,无需改动程序
线程每秒触发(setitimer,select)
Setitimer进程定时触发(微秒量级)
Select 多线程延时(微秒量级)
线程锁
在多线程中同时存取每个表,会出现互斥问题,可以加锁解决
数据处理
Socket通讯
谢 谢!
原创力文档


文档评论(0)