跳转到主要内容

HIT设施加速器控制系统工具。

项目描述

hit_acs

描述

包含HIT加速器设施的控制库BeamOptikDLL.dll的包装器,用于与madgui一起使用。

依赖项

BeamOptikDLL.dll库需要可访问(PATH或CWD)。

设置

设置应按照以下步骤进行

python setup.py install

变更日志

20.1.0

日期: 25.01.2020

  • 重新审视自动加载模型功能实现

19.8.0

日期: 19.08.2019

  • 添加自动加载模型功能

19.5.1

日期: 13.05.2019

  • 使参数查找不区分大小写(在更改参数顺序时意外地变成了大小写敏感)

19.5.0

日期: 09.05.2019

  • 添加剩余MEFI参数的旋钮

  • 添加一次性读取所有/多个参数的方法(由madgui 19.5.1要求)

  • 修复用于编辑模型初始条件的菜单项中过时的代码

19.4.1

日期: 30.04.2019

  • 抑制上传参数时关于“gantry_angle”的烦人错误消息

  • 如果模型gantry_angle与活动MEFI不同,则警告

  • 初始化stub后端时不要修改用户的模型

19.4.0

日期: 13.04.2019

  • 简化travis配置和setup.cfg

19.3.0

日期: 21.03.2019

  • 让stub使用其独立模型工作(用于模拟后端)

  • 添加编辑我们模型的对话框

  • 需要madgui 19.3.2

  • 修复beamoptikdll.py中的py2兼容性问题(再次...)

  • 需要importlib_resources

  • 更新包名

  • 在设置脚本中清理

19.01.0

日期:19.01.2019

  • 将包重命名为 hit_acs

  • 修复由于在字符串参数上缺少 .value 属性而在 SetNewValueCallback 中出现的另一个错误

  • 修复 SetNewValueCallback 字符串参数类型:ANSI 字符串

  • 使用 ctypes argtypes 声明 DLL 函数

  • 通过清理 csv 解析逻辑来提高启动性能

  • 保持单位为字符串(需要较新的 madgui)

  • 通过元素避免未使用的参数分组

  • 修复如果设置中提供了 MEFI 但未提供 VAcc 的潜在启动异常

  • 简化 read_monitor 实现

  • 将 beamoptikdll 作为 永久 变量设置到用户命名空间中作为简化(即断开连接后不删除变量)

  • 改进一些内部变量名称

  • 更改用户命名空间中 beamoptikdll 的变量名(《beamoptikdll》)

  • 移除 load_library 类方法,现在让正常的 BeamOptikDLL 构造函数直接加载 DLL

  • 针对 MIT 变体添加特殊情况的 GetLastFloatValueSD

  • 删除两个孤立的警告

  • GetInterfaceInstance 返回 IID 整数值(而不是 ctypes.c_int 实例)

  • 目前不要记录 GetFloatValueSD 调用(暂时,以避免在调试日志中产生太多噪声)

18.12.0

日期:11.12.2018

  • 修复由于缺少括号而在 OnlineBackend.__init__ 中出现的异常

  • 保留对 SetNewValueCallback 的 ctypes 回调的引用,以防止垃圾回收

  • 修复 SetNewValueCallback 的不正确参数类型(指针到指针)

  • 通过传递 None 允许移除回调

18.10.0

日期:18.10.2018

现在在 calver 中使用 YY.MM.patch(日历版本控制),因为这更适合 madgui 的开发性质,并且我相信对最终用户更有用。

  • 修复 MEFI 初始化期间的 TypeError

  • 在检索时定期抖动 SD 值(如射击)

  • 使用高斯抖动进行监视器读数

  • 注意设置菜单 [madgui >= 2018.10.18]

  • 仅显式偏转磁强度

  • 添加内部设置的菜单选项

  • 添加加载读数/强度的菜单项

  • 加载/保存更多占位符设置

  • 仅偏转 ax/kL 值,高斯分布

  • 使用伽马分布扰动光束 宽度

  • 适应 madgui 2018.10.18 中更新的 madgui 模块 qualnames

  • 适应新的 madgui 插件 API(-> Backend)中的变化

  • 现在传递会话对象而不是主窗口

  • 防止无效路径 - 修复退出时的 ValueError

  • 当没有窗口时修复测试后端

  • 添加自动健全性检查(缺少导入、语法错误等)

  • 添加自动样式检查并修复几个样式问题

  • 自动上传发布到 PyPI

  • 添加真实在线 dll 的调试跟踪日志

0.13.0

日期:24.07.2018

  • 从配置中检索变体(自动检测失败了)

  • 从新的 settings 参数加载配置设置(madgui 1.14.0)

  • 启动时重新选择之前的 vacc/mefi

  • 抑制读取/写入缺失参数时的异常

  • 更新从 madgui 的 read_str_file 的导入路径

0.12.0

日期:15.07.2018

  • 在测试占位符中:使用参数列表中的天顶角

  • 修复过时的 run.py

  • 对于 ExecuteChanges,将 options 参数默认值设置为 CalcDif

  • 为马尔堡变体适配 beamoptikdll 模块

  • 简化测试存根模块(现在直接模拟BeamOptikDLL类,而不是ctypes后端)

0.11.0

日期:2018年6月25日

  • 撤销“在连接时自动读取光束和强度”,因为通常此时不会选择MEFI组合

  • 清理一些不必要的导入

  • 修复py2中的csv_unicode_reader的NameError

  • 修复importlib_resources的导入和使用,在util中也使用

  • 删除过时的配置文件及其YAML依赖

  • 使frame参数可选(对测试很有用)

  • 适应madgui 1.0.2中的向后不兼容更改:现在frame.model是一个Boxed对象!

  • 将偏移量作为参数传递给HitOnlineControl和模拟DLL(依赖注入!)

  • HitOnlineControl中移除更多知识

  • 现在可以移除模拟DLL中的control成员

  • 从模拟DLL中移除.instances (~IID)逻辑

  • 添加从磁盘加载参数和SD值的方法

  • 在“执行”时更新模拟SD值,而不是每次调用时都更新

0.10.0

日期:2018年6月1日

  • 为测试存根添加光束参数

  • 在连接时自动读取光束和强度

0.9.0

日期:2018年5月31日

  • 完全简化旋钮,使其仅是变量名,所有转换现在都通过在模型中使用适当的表达式来完成!!

0.8.0

日期:2018年4月16日

  • 适应madgui 1.9.0 API中的更改

  • 显著简化get_knob逻辑

  • 删除对SBEND中插入的踢子支持(现在建模为K0 != ANGLE/L

  • 修复32位中的存根错误

  • 翻转监控器的X位置以从HIT转换为MAD-X坐标系(HIT在HEBT中使用左手系!)

  • 从监控器中丢弃-9999记录

  • 删除madgui的setuptools入口点,现在必须使用onload处理程序手动加载

  • dll变量暴露给用户shell

  • 读取并添加到MWPC测量中的偏移量

0.7.0

日期:2018年3月25日

  • 将madgui插件更新为新单元处理

  • 兼容于madgui 1.8.0,hit_models 0.8.0

0.6.0

日期:2018年3月2日

  • 修复斜四极子的旋钮访问问题

  • 兼容于madgui 1.7.1,hit_models 0.7.0

0.5.0

日期:2018年1月26日

  • 更新到madqt 0.0.6:工作区/段统一到模型

0.4.0

日期:2018年1月24日

  • 64位支持

  • 添加win32和qt独立模式

  • 移植到madqt

  • 从当前模型初始化强度/监控器,而不是使用参数列表中的示例值(这通常会导致崩溃)

  • 重命名包

  • 最终实现SetNewValueCallback(未经测试)

  • 大量简化madqt接口(旋钮API)

  • 可以查询光束参数

  • 将DVM参数列表与包本身一起打包

  • 始终从CSV加载DVM参数(不再使用YAML)

  • 可以根据几个线索更可靠地猜测正确的参数名称

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源代码分发

hit_acs-20.1.0.tar.gz (55.3 kB 查看哈希值)

上传时间 源代码

构建分发

hit_acs-20.1.0-py2.py3-none-any.whl (58.1 kB 查看哈希值)

上传时间 Python 2 Python 3