https://blog.csdn.net/weixin_43767046/article/details/113748775
https://blog.csdn.net/weixin_43767046/article/details/113884699
上面的重度负荷测试就是为这个逐束团测量系统波形存储做准备的,合肥光源的逐束团流强测量系统(Bunches Current Measurement,BCM)是从重大维修改造之后才开始有的(2012年5月份把直线和环全部拆掉,除了房子都是完全重建,2014年初又开始调试运行)。2012年之前的老机器不需要这个系统,主要是那时候直线加速器还是微秒宽度的束团扔到储存环里,但能存到环里的只有45个位置,打个比方就像环里有45个光速旋转的勺子,撒胡椒面似的扔到储存环的电子,只有被勺子挖到的才能存到环里一直转,其他的都辐射到环境中了,勺子转一圈大约220纳秒,1微秒的束团可以被每个勺子挖好几次,那个时候是没办法控制某一个勺子里装的电子的多少的。改造后的直线加速器是纳秒长度的束团,精确到扔进环的电子正好只被某一个勺子挖到,这样我们就能控制某个勺子装的电子数量,这样就要求能精确测量出每个勺子装多少电子才行,因为需要,就有了这个逐束团流强测量系统。
这个系统实现倒是不难,环上装的BPM(Beam Position Monitor,束流位置探测器)的四个电极的合信号直接接示波器就能测,或者通过电子辐射出的同步光转成电信号再用示波器也能测。这个系统不是我做的,记得那时采BPM合信号的方式是佳俊师弟做的,并且一直上线运行到现在,天雨师弟通过光转电好像也做过一套,不过一直没在线运行,这里说的是一直在线运行的前一个方式。虽然不是我做的,但是后来的维护和改进都是我在做。
束测系统是光源运行的眼睛,属于弱电和低功率的系统,和那些高功率、强流高压的系统比,其运行故障率做到最低是必须的,而且即使做到了最低也是没什么好夸耀的,重大维修改造后,机器的运行质量天翻地覆的提升,束测系统连续几年零时间影响供光都是稀松平常的事。虽然每年的考核表关于负责运维这一项仅仅一个零时间影响供光这么一句话,但是围绕这句话做的工作还是有些内容的,相反,因为做的事情没有及时上线而导致的有一年影响供光的故障时间高于控制组居倒数第二一直让我耿耿于怀。
机器从decay转到top-off模式运行后,各系统的压力陡增。关于decay和top-off模式,稍稍科普一下,储存环流强会随着时间慢慢减少,减少到一定程度就要往环里注入电子,decay模式时,每天有那么两三个时间段把环大厅清场之后注入,如果有系统有问题可以在清场那一段时间解决;top-off模式是储存环流强一直维持在高位,少一点就注几下补充到高位,不需要清场。这样连续两周,每天24小时全是供光时间,之后几天的机器维护之后再连续两周供光,反复循环。这样的运行,对强电的系统那是相当的考验,束测虽然也压力陡增,但和他们相比还是好些,但很多子系统也会因为当掉而影响供光,比如环直流流强、逐束团流强、BPM测量等系统。有些关键系统,我现在是双系统在线测量,并且备份的系统能监控主系统的heartbeat(俗称心跳,看是不是还活着),一旦不心跳了,就把测量结果灌到相应的PV里。环直流流强,逐束团流强现在虽然都是双系统在线,但那次影响供光就是因为线下调好程序的逐束团流强备份测量系统没有及时上线导致的。这个逐束团流强测量系统当掉怎么会影响供光还是稍解释下吧:这个系统当掉,各束团的流强数据就不会更新了,这样每次补充束流注入的时候就会一直盯着流强最低的那个束团注,把那个束团注的奇高,最后因为不稳定性就会导致束流丢失。
这个备份系统的示波器没有选原系统的型号,换的洋巨头的另一个新型号,虽然选老型号省事,程序都不需要改,但我还是喜欢跟着当时能选的新型号,程序和算法也都重写了。洋巨头的东西确实稳定,一个运行季很少出现连接故障,以前我搭系统的时候,也习惯选他们,但是也一直关注着国产仪器的进展。这不,鼎阳的SDS6204这款12bit,10GHz采样率的示波器被我发现了,程序和算法又变了一遍,而且经过1个月的重负荷测试,发现稳定性和洋巨头的仪器同样的水平了,真是非常的惊喜,就这样不厌其烦的一遍又一遍的发这种长篇垃圾博文一遍遍的推。
12bit这样看的更清楚的原始波形数据存数据库后大数据分析,不知道有没有意义,总之我现在是兴致勃勃的搞这个事情,现在也都准备就绪,就等这一轮开机上线。重度测试里是存2百万个波形数据点,后来发现才900圈的波形,如果纵向震荡的频率20KHz左右,感觉分析的圈数有点局促,干脆存5百万个数据点的波形吧,发现在Zstack云主机上处理这么大的数据量在线算逐束团流强也一点问题都没有:
5M的数组掐头去尾之后2200多圈平均,算每个束团的流强,还能算每个束团每圈的流强以及所有束团每圈的流强,再加上从IOC读波形数据的时间循环一次2.5秒左右,虽然达不到1秒,也可以了,主要瓶颈是从示波器读取5M个数据点(10MB的数据量)的时间没法到1秒,即使是力科的也不行。在线灌数据库就不需要像重负荷测试那样1秒存一个波形数据,600秒存一个足以,数据量大减:
以前运行的时候不注意截图,波形虽然大致知道啥样子,但要分析的话还是要看在线的具体波形,下一步到时候试试在线分析纵向的震荡信息注数据库。