1# @Time : 2019-12-10
2# @Language: Markdown
3# @Software: VS Code
4# @Author : Di Wang
5# @Email : [email protected]
Introduction
本系列主目录: 粒子加速器控制
下面列出我认为粒子加速器控制需要学习的一些知识,很多没有列出的细节可能是因为我一时想不起来,更可能是我也不太懂不敢妄言。
step 0 入门知识
- 习惯使用Unix(Linux)
- ssh连接服务器与退出,选择自己喜欢的ssh软件
- 常用命令:ls,cp,mv等等
- 掌握如何使用Editor, vi,emacs等等
- 中级技巧:grep,find,top,ping,管道,重定向,crontab等
- 高级技巧:shell脚本编写
- 了解基本编程语言
- python的安装,库环境管理(conda,pip,virtualenv等等)
- c/c++编译链接,make
- 基础的网络知识
- IP地址,子网掩码
- DNS/hostname
- Firewall
- 保持良好的记录习惯,留存日志等
step 1 进阶知识
- 了解EPICS概念
- 了解常用record,如何编写自己的record,常用的field名及含义,link
- 了解EPICS整体架构和层次
- 什么是PV,OPI,IOC等
- Channel Access (可选:EPICS 7中的PV Access)
- EPICS的常用环境变量
- 熟悉EPICS application的创建与编译
- makeBaseApp.pl的使用
- st.cmd的修改与运行
- 掌握常见EPICS extension的编译,比如procserv, gateway,Alarm Handler
- 基本EPICS命令的使用
- caget caput camonitor的使用
- 编程语言中(如使用python pyepics库)如何调用上述命令
- GUI
- CSS(medem,edm) 升级版Phoebus(至少2019年是新的)
- VDCT(姑且算它是吧)
- PyDM
step 2 硬件相关
- 熟悉不同的机箱CAMAC,VME,MicroTCA等
- PLC
- 示波器的使用
- stream device
- 同步异步
- 阻塞非阻塞
- 熟悉各种总线接口
- Digital I/O
- Analog I/O
- FPGA
step 3 数据传输与存储
- 数据存储(Archive Data)
- 大数据压缩传输
- PV filter
- Archive Appliance
step 4 软件使用
视具体领域可能需要掌握的一些软件(写论文需要处理数据画图时)
- Matlab
- Labview
- Python(numpy,matplotlib)
- SAD(在KEK主要使用的一种加速器物理模拟程序,常用的还有Elegant,BMAD,PTC等)可参见:Accelerator physics codes
step 5 系统管理员与开发者
面向资深加速器控制人员或EPICS开发者需要掌握的一些内容
- 熟悉EPICS源代码,了解实现的机制,如callback,scan等
- 了解CA的具体实现
- 了解EPICS 7的具体实现
- 编写Device Support
- 编写Record Support
- 编写Driver Support
- 掌握服务器管理知识
- 负载均衡
- NFS
- 磁盘管理与备份 RAID等
- 网络诊断 IP管理 lsof netstat
- IOC状态监控
- 数据库管理
- 控制系统的配置,如procserv, gateway
- 监控和故障诊断系统
- 温湿度监控
- BPM beam bunch监控
- RF系统监控
- 磁铁系统监控
- 安全连锁系统,机器保护,人身保护
- 定时系统监控