【php精品源码栏目提醒】:以下是网学会员为您推荐的php精品源码-EPICS控制系统中的callback机制 - 科学技术,希望本篇文章对您学习有所帮助。
第 33 卷 第 6 期 核 技 术 Vol. 33 No.62010 年 6 月 NUCLEAR TECHNIQUES June 2010 EPICS 控制系统的 Callback 机制 米清茹 刘松强 中国科学院上海应用物理研究所 上海 201800 摘要 EPICS 分布式控制系统提供一种 Callback 机制,实现网络协议和设备驱动中的异步处理,在设备数据 或状态变化时设备驱动才读取数据,并传输到网络,减轻网络通讯负荷和控制器 CPU 负载。
本文分析了 EPICS 的 Callback 机制,并建立一个用 Callback 处理中断方式 I/O 的 ADC 数据采集的软件开发系统。
关键词 EPICS,异步处理,Callback 中图分类号 TP335.1,TP319,TP311.1 EPICSExperimental Physics and Industrial 络拥堵;而读取 IOC 数据频率太低,则无法及时掌Control System1是用于大科学装置控制系统软件 握设备运行情况。
这种情况下就用状态变化Change开发和运行的工具集。
它采用分布式结构,兼容多 of State COS的获取数据方式,即当某 I/O 设备的种硬件设备,应用于许多大型实验装置如加速器、 数据或状态变化超过指定范围时,IOC 才主动向射电天文望远镜等的控制系统中。
EPICS 的分布式 OPI 报送数据或状态,以既使 OPI 实时监控设备运结构如图 1 所示,在输入输出控制器Input/Output 行情况和运行结果,又极大地减轻网络的负荷。
Controller IOC上运行分布式动态数据库, 获取 I/O IOC 通过设备驱动程序实现对 I/O 设备的控制设备数据,控制 I/O 设备运行。
在操作员接口 和数据获取。
但 I/O 设备操作有时要一段时间。
若Operator Interface OPI计算机上运行图形界面,显 IOC 不停地查询 I/O 设备的操作状况,可能会使 IOC示并存储 I/O 设备的运行情况和运行结果。
在该时间段内仅能完成这一个任务, 影响 IOC 运行 和对其它 I/O 设备的处理。
这就希望 I/O 设备操作 OPI OPI OPI 完成后,通过中断方式通知 IOC 处理。
这是一种异 Client Client Client 步处理的方式2。
EPICS 中网络 COS 方式和 I/O 设 Ethernet 备的异步处理方式都采用 Callback 机制处理。
本文分析了 EPICS 的 Callback 机制的完整框 Server Client Server Client 架,包括 CA 协议中实现 COS 方式的方法和在 I/O IOC IOC 设备与 IOC 动态数据库间用 Callback 任务实现异步 处理的方法。
并建立一个在 IOC 层使用 Callback 机 制和中断进行数据采集的软件开发系统。
I/O I/O I/O Device Device Device 1 EPICS 中的 CALLBACK 机制 图 1 EPICS 系统结构 1.1 CA 协议中的 CALLBACK Fig.1 EPICS system architecture. OPI 和 IOC 间用以太网连接,用基于 TCP/IP CA 协议中的 CALLBACK 机制要求 IOC 中的协议的通道访问Channel Access CA协议。
每个通 记录值、报警状态等变化时由 IOC 上报给 OPI。
如道对应 IOC 数据库中的一个记录域。
CA 协议采用 图 2 所示,IOC 中数据库监测模块Monitor专门监客户-服务者模型,OPI 作为客户,要求数据;IOC 视状态变化事件。
当扫描器Scanner扫描各记录时,主要作服务者,提供数据,有时也可作客户要求其 只要 Monitor 发现某个 I/O 通道的数据值超出设定他 IOC 上的数据。
OPI 为及时掌握设备运行情况, 的变化范围,就会调用 db_post_events函数,把这需不断获取 IOC 中的最新数据。
当 OPI 频繁读取 个变化的值作为事件,通过 CA 上传到已建立IOC 数据时,会占用极大的网络带宽,甚至造成网 Callback 监测机制的客户。
—————————————— 第一作者:米清茹,女,1978 年出生,2001 年毕业于同济大学自动化专业,工程师,从事光束线控制技术研究,在职博士研究生 收稿日期:2010-01-04,修回日期:2010-03-01412 核 技 术 第 33 卷 2 软件测试平台 Ethernet 2.1 I/O 测试平台的硬件结构 Channel 为实现和分析 EPICS 的异步中断处理和 IOC Sequencer Access callback 功能,建立一个基于 VMEbus 的数据采集 Monitors 系统,如图 3 所示。
Database Access IOC Database Scanners R