工程实验数据获取系统的设计-实验信息管理系统.ppt
,工程实验数据获取系统的设计,学生:杨 飞导师:肖 炳 甲,主要内容工程数据的获取数据处理,1.获取系统的意义 在EAST实验期间,会产生大量的真空、低温、诊断等工程数据,为了便于工程专家、物理专家能够实时了解各装置的运转情况,需要一个对数据可视,实时展现的平台。,工程数据的获取,2.系统数据来源 工程数据分别来自多个部门(3室、6室、8室),需要把分散的数据统一起来。建立一个共享的数据库平台。,网络,数据库服务器,数据库,工程数据的获取,3.数据库远程统一存取格式:(1)每次只存取一次记录(600700道信号)(2)1秒钟存取一次(3)更新存取(4)规范的信号名,组ID,部门ID,时间戳,工程数据的获取,1.工程数据表关联,数据处理,2.数据用途(逻辑图),数据处理,3.数据处理设计 根据用途,分别对数据库数据进行二次处理。长时间波形显示 需要每秒把数据获取转存为文本文件,每天每个信道一个文件,根据日期自动建立文件夹。脉冲波形显示 通讯接收控制室炮号信息,若放电开始,每秒把数据获取转存为文本文件或LZO文件,同时把炮号、状态等信息存入logbook数据库中,若放电结束,停止数据转存,根据炮号,每个信道一个文件自动生成,并根据炮号分类存储。信道预警 根据每个信道本地时间戳,若10秒左右没有更新,发出预警信号。,数据处理,4.数据处理实现(1)逻辑设计(Long_time_wave),数据处理,Getdata_thread,trandata_thread,writefile_thread,Connect mysqlValuei-arrayiPer second,Arrayi-arraynsigPer second,Create directoryWrite_sig_filePer 1000 second,(2)逻辑设计(Discharge_wave),数据处理,Pcs_thread,Getdata_thread,trandata_thread,writefile_thread,ListenBegin:TriggerEnd:trigger,Connect mysqlValuei-arrayiPer second,Arrayi-arraynsigPer second,Create directoryWrite_sig_file,1,1,0,0,1,0,4.实现平台 操作系统:linux数据库平台:Mysql5.0编程工具:C,数据处理,5.实现点,初始文件 文件存放位置,数据库连接信息,通过修改文件,配置相关参数,无需改动程序,线程每秒触发(setitimer,select)Setitimer进程定时触发(微秒量级)Select 多线程延时(微秒量级),线程锁在多线程中同时存取每个表,会出现互斥问题,可以加锁解决,数据处理,Socket通讯,谢 谢!,