System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于探测器的自动化控制领域,涉及一种用于同步辐射衍射实验的平板探测器的控制方法。
技术介绍
1、同步辐射衍射实验是利用同步辐射光源进行的实验,在材料科学、生物科学、化学等领域都有广泛的应用,可以帮助科学家更深入地了解物质的性质和行为。同步辐射衍射实验一般需要近场探测器、平板探测器、样品台和多样的光学设备组成,如图1所示。其中的平板探测器因具有高灵敏度、快速响应和较高的能量分辨率,是诸如单张曝光、一维/二维扫描、3dxrd(3d x-ray diffraction,三维x射线衍射)、时间分辨等同步辐射衍射实验方法中的核心部件。
2、epics(experimental physics and industrial control system,实验物理与工业控制系统)是用于控制和监控实验室设备、工业控制系统的开源软件工具包。epics提供了一种灵活、可扩展的架构,使用户能够构建复杂的控制系统,包括数据采集、设备控制、数据处理和监控功能。国际上有100多家实验室、大学、研究机构的项目使用epics,包括加速器控制系统、高能物理实验数据获取系统、射电天文望远镜和工业过程控制系统等,如美国的lanl、anl/aps、slac/spear-3、bnl/nsls-ii、fnal/d0、jlab/cebaf、ornl/sns、lbnl/als、加拿大triumf、欧洲的psi/sls、hzb/bessy-ii、dls/diamond,desy、澳大利亚光源as、日本kek/kekb和韩国的pal/pls等。通过epics
3、目前,平板探测器的控制通常由计算机上的特定控制软件来实现。这些软件由探测器制造商提供,并针对特定型号和应用场景开发,其具有参数设置、数据采集、数据分析、控制窗口、自动化控制等功能。这些特定控制软件很难实现跨操作系统使用。基于厂家提供的特定控制软件实现平板探测器的控制方法比较适合于医疗应用等简单、数据量小的应用场景。但在同步辐射衍射实验的复杂联动场景中应用相对困难,存在缺乏联动接口、数据保存上限、控制工作流程繁琐等技术问题。
4、因此,能够实现一种同步辐射衍射实验的平板探测器的控制方法对众多同步辐射光源领域具有重要工程价值和经济效益,同时也能为医疗应用等提供重要参考意义。
技术实现思路
1、为了克服在开发方式复杂,控制工作流程繁琐,软件存储上限以及同步辐射衍射实验中设备联动困难等技术问题,本专利技术的目的在于提供一种用于同步辐射衍射实验的平板探测器的控制方法,能够更好的应用于同步辐射衍射实验。
2、对于平板探测器控制程序开发方式复杂,提供了一种改进的基于epics的开发方法,优化代码结构,代码量缩小至原有的二分之一,整体结构清晰。对于现有软件控制工作流繁琐的问题,通过整合初始化过程和应用工作流,在参数变更时使用单条命令便可重新生成offset模板,简化软件使用方式,提升自动化能力。对于软件存储上限的问题,通过将先采集再存储的方式改为采集与存储同步进行的方式,释放存储上限,能够应对多种实验模式,也消除了批量读出耗时长的问题。而对于设备联动困难问题,平板探测器基于epics接入,适用于当前绝大同步辐射实验,可以实现与大部分设备进行联用。
3、本专利技术的技术方案为:
4、一种用于同步辐射衍射实验的平板探测器的控制方法,其步骤包括:
5、1)主机对平板探测器初始化,启动所述平板探测器;
6、2)利用所述主机对所述平板探测器进行参数配置;
7、3)所述平板探测器根据配置的参数进行数据采集;其中数据采集方法为:
8、301)将所述平板探测器的采集状态参数设置为闲置并创建一个指向ndarray类型的指针*parray;
9、302)获取当前所述平板探测器的采集开关参数;
10、303)根据所述采集开关参数判断当前所述平板探测器是否正在执行采集数据帧任务;
11、如果否则执行步骤304),如果是则执行步骤305);
12、304)等待数据事件线程的触发,当数据事件线程被触发后执行步骤305),开始进行采集数据;
13、305)循环迭代处理数据队列中的未处理完数据并对未处理的数据帧进行计数,之后执行步骤306);
14、306)依据未处理的数据帧计数结果判断数据队列中是否有未清空的数据帧;如果是,则执行步骤307);如果否执行步骤308);
15、307)在所述主机显示丢帧的数量,然后执行步骤308);
16、308)获取参数配置阶段设置的平板探测器图像模式,以及获取设置的单次采集触发采集图像帧数;获取用于控制是否执行回调函数来接收数据的参数;
17、309)将所述平板探测器的采集帧数计数器设置为0并且将采集状态参数设置为采集状
18、态,然后执行参数回调程序使设置的采集帧数计数器值和采集状态参数生效于所述
19、平板探测器;
20、310)向所述平板探测器发送开始数据采集的cmd_startacq指令;创建帧计数和数据帧
21、唯一标识符两个变量并赋值为0;
22、311)判断所述平板探测器是否成功执行数据采集操作;如果失败则执行步骤325),表示数据采集中止;如果成功则执行步骤312);
23、312)获取当前所述平板探测器的采集状态;
24、313)判断当前采集状态参数是否为采集结束状态或者图像模式为非连续采集模式下
25、数据帧已采集完毕;如果是则执行步骤320),如果否则执行步骤314-319)继续循
26、环采集;
27、314)从数据队列中接收所述平板探测器采集到的ndarray类型数据,并存储在*parray指针指向的ndarray变量中;
28、315)判断接收是否出现了错误或超时,如果是则返回执行步骤312)继续下一次循环,否则执行步骤316);
29、316)校验接收到的数据帧的唯一标识符是否与帧计数不一致且未收到数据,如果是则
30、执行步骤317),如果否则执行步骤318);
31、317)打印错误信息,包括丢失的帧编号以及当前接收到的帧编号,同时更新数据帧唯
32、一标识符的值为最新帧的值;
33、318)执行epics回调函数接收所述平板探测器采集的数据帧,实现数据采集与存储的
34、同步进行;
35、319)释放*parray指针资源,帧计数和数据帧唯一标识符加1;将所述平板探测器的采
36、集帧数计数器加1;然后回到步骤312)继续开始新循环完成数据采集;
37、320本文档来自技高网...
【技术保护点】
1.一种用于同步辐射衍射实验的平板探测器的控制方法,其步骤包括:
2.根据权利要求1所述的方法,其特征在于,对所述平板探测器初始化的方法为:
3.根据权利要求2所述的方法,其特征在于,对所述平板探测器进行参数配置的方法为:
4.根据权利要求1或2或3所述的方法,其特征在于,主机对平板探测器反初始化的方法为:断开主机与所述平板探测器的连接,将所述平板探测器软件对象从所述探测器列表detList中剔除,然后关闭所述平板探测器与所述主机之间的硬件连接并释放相应的对象内存。
5.根据权利要求1或2或3所述的方法,其特征在于,所述工作模式包括Bining模式、ROI初始尺寸和帧率。
6.根据权利要求1或2或3所述的方法,其特征在于,所述平板探测器参数包括偏移量、增益档位、曝光时间百分比。
7.根据权利要求1或2或3所述的方法,其特征在于,所述校正模板包括偏移校正模板、增益校正模板和缺陷校正模板。
【技术特征摘要】
1.一种用于同步辐射衍射实验的平板探测器的控制方法,其步骤包括:
2.根据权利要求1所述的方法,其特征在于,对所述平板探测器初始化的方法为:
3.根据权利要求2所述的方法,其特征在于,对所述平板探测器进行参数配置的方法为:
4.根据权利要求1或2或3所述的方法,其特征在于,主机对平板探测器反初始化的方法为:断开主机与所述平板探测器的连接,将所述平板探测器软件对象从所述探测器列表detlist中剔...
【专利技术属性】
技术研发人员:李鹏程,刘玙,杨一鸣,张一,王俐文,
申请(专利权)人:中国科学院高能物理研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。