Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 基于 Linux 的探测器监控小系统 数据采集和存储的实现 王萃 2015 年 8 月 19 日.

Similar presentations


Presentation on theme: "1 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 基于 Linux 的探测器监控小系统 数据采集和存储的实现 王萃 2015 年 8 月 19 日."— Presentation transcript:

1 1 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 基于 Linux 的探测器监控小系统 数据采集和存储的实现 王萃 2015 年 8 月 19 日

2 2 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 主要内容 文章概述 监控小系统过程图 EPICS 数据 mysql 数据库表 数据获取和存储 Linux cron 测试 Eclipse RCP 简介和使用

3 3 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 文章概述 EPICS (Experimental Physics and Industrial Control System) - 降低软件开发工作量 - 实现对控制系统实时数据共享 - 具有分布式实时数据库系统 - 交互式图形界面开发工具 - 提供许多设备驱动 主要工作 - 分析测试小系统需求,制定数据库表结构 - 研究 EPICS 数据接口,获取数据 - 了解 mysql 数据库接口,存储数据 - 针对模拟数据,进行性能测试 IOC

4 4 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 监控小系统过程图 浏览器 历史数据查询系统 网络服务器 mysql 服务器 数据源获取程序 数据源

5 5 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 Records 类型 - ai: 模拟输入; ao: 模拟输出; - bi: 二进制输入; bo: 二进制输出; - longin: 长输入; longout: 长输出; - mbbi: 多位二进制输入; mbbo: 多位二进制输出; …… 数据名结构 - 机箱插件 N1471 IOC record - 电子学机箱 NIM8304 IOC record - 温度 PV 名 TH:CH1 TH:CH2 TH:CH3…… EPICS 数据 变量定义

6 6 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 mysql 数据库表 数据库表 配置表 - 表访问的入口 - 参数表名称和注册的相关参数名称 - 提供参数位置 注册表 - 注册本地软件配置文件的元数据 参数表 - 子系统软件定义 - 用于存储来自前端硬件的原始数据 状态表 - 可用于状态监测 - 控制电脑更新 报警 / 错误 / 事件表 - 报警 / 错误 / 事件信息来自现场软件和控制电脑

7 7 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 mysql 数据库表 VME 数据库表结构

8 8 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 IOC DB 接口: - CAJ(Channel Access Java)/JAC(Java Channel Access) [ 与 Java] - CA_Lab [ 与 LabVIEW] - Pyepics[ 与 Python] Pyepics - pyepics 是 EPICS 控制系统通道访问 (CA) 与 Python 编程语言的一个接口 - pyepics 包提供了到 Python 的一个基本的 epics 模块 - 通过 CA 协议读取和写入 EPICS 过程变量 (PV) 获取 IOC DB 数据 数据获取和存储 Pyepics Python PV 类

9 9 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 数据获取和存储 连接数据库 判断表是否存在 读取数据 sql 存数 关闭数据库 Mysql 存储数据

10 10 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 数据获取和存储 存储结果 VME 数据 温度数据 温度、湿度、气压数据

11 11 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 Linux cron 测试 模拟 1 千道高压进行极端测试,每 10 道高压用一个 Python 程序向 mysql 数据库存储数据,共计 100 个 Python 程序,让这些程序都每 1 分钟进行 一次,并且都在同一时间点进行,观察系统资源的分配情况。 结果分析 Python 程序 1) 用户占用 CPU 百分比很小 2) 随着 PV 通道量的增加,用户空 间占用 CPU 百分比在不断增加 3) 增加幅度小 整个系统 1) 用户占用 CPU 百分比很大 2) 随着 PV 通道量的增加,用户空 间占用 CPU 百分比在不断增加 3) 增加福多大 用户 CPU 时间百分比

12 12 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 Eclipse RCP 简介和使用 RCP(Rich Client Platform) Eclipse RCP 是一项位于 Eclipse 平台核心的功能。 功能: 体系结构: 提供友好的界面; 公共应用程序服务,如窗口管理、更新管理等; 标准化的组件模型; 普及的可扩展性; 整合的更新机制。 Workbench 工作台 Workbench 工作区 Help 帮助系统 Team 团队支持系统 Platform Runtime 运行平台 通过增加插件来动态扩展系统功能 ……

13 13 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 Eclipse RCP 简介和使用 使用 RCP 建立友好界面 功能: 显示 IOC/PVs 名 显示 PVs 连接状态 显示 PVs 信息 连接 mysql 数据库 存储数据

14 14 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 结束 谢谢!


Download ppt "1 第十七届全国科学计算与信息化会议 2015 年 8 月安徽合肥 基于 Linux 的探测器监控小系统 数据采集和存储的实现 王萃 2015 年 8 月 19 日."

Similar presentations


Ads by Google