2012/12/18

Fast Orbit FeedBack

One of the necessary improvements of Alba is the top up system. With this, the beam accumulated in the storage ring can be restored under a continuous re-injection precisely on the buckets here it bunch is losing charge. Recovering an old snapshot of the machine status:


This is an example where the stored beam had decay from 60mA to a bit more than 30 in around 6 hours (this was a year a go, by now we are having more current and a longer beam live time). This lost of current requires re-injections like what is in the middle of the red plot.

This re-injection, afaik, produces perturbations on the beam orbit that at the end means drifts in the x-ray beam in the beamlines. This re-injection, due to radiation safety reason have to be done with the frontends closed. That is with the beamlines in a standby, without light and waiting  that this re-injection finishes. This re-injection causes an interruption on the experiments, and the longest experiment you can do is the one that can be performed between re-injections. You can imagine the consequences if the most insignificant thing fails in the middle of an experiment.under this conditions.

Well, to make this re-injection possible with the frontends open, the orbit of the beam must be very static. The beam has to be thine characterised and its oscillations below some microns.

How the orbit is corrected? In the sextupoles, there are the coils for each of the poles, but it is also another pair of thinner coils that sets the corrector component. I imagine it like a tiny little bending (they have like 3 orders less of magnitude in terms of current).

Those correctors can change its current very fast for a small modifications. That can be, in the order of the hundreds of miliamps can change it with a 10kHz frequency.

With this, together with a beam position monitoring at this speed, and if you can process all this data, the orbit perturbations can be controlled good enough to allow to re-inject with the necessary safeness to implement the top up system and have the plot of the current as an straight horizontal line (negligible ripple).

Main issue: with in a ring of around 400m of perimeter share between 88 beam position monitors all their sets of data, plus the sniffers we have to take this data to calculate those corrections, and stablish the new setpoints to another 88 corrector power supplies. All this at 10kHz: read, calculate, write: simple operations.

Filling Pattern From Fast Current Transformer

As I explain the a previous post we have a Fast Current Transformer in the storage ring and we are able to see the signal in an oscilloscope. Many years a go I have started a project to have the features of those scopes we have in the control system.

It has been started as a Tango Device server in C++ many years a go, but from a refactoring it have changed to be a python device using PyTango. Also this new release have suffered many changes, specially the one that expands this server to more classes to be able to control, not only scopes, but also Spectrum analysers, Signal generators, and later on Radio frequency generators.

But this device have been more used in this "extensions" than in the original scope class. The Signal generator has been used in the booster tune excitation together with the spectrum analyser in the booster tune measurement (I didn't have time to write about those projects here, I hope soon). This devices works fine and the quality was good enough to change the storage tune measurements to be like the booster ones.

Due to Linac's needs to archive some scope measurements, the scope tango class was improved giving as an output here three posts. This was the real trigger that have launched this device server class.

A few weeks a go, more requests have been receiver about scope acquisition: It has been requested to have available the signal from an FCT in the control system, Also this required to improve the acquisition of the waveform from the scope and after some tries help has been requested to the manufacturer. With this I have reduced the network transition of 40kpoints as 300kB to 80kB or 40kB depending on the float precision. This allows to start polling the scope waveform at 3Hz.

This have boosted the project of the Filling Pattern studies using this FCT signal and a device server is available to perform this calculation. Just now that there is no beam, there is no signal in the FCT, only electronic noise like:


)Instead of the usual signal we have when there is beam:


Like often happens I had to ask what this mean and I had try to explain. But, to test the development of the FCT signal analysis, it's necessary to simulate a bit it. No necessary to have the same signal but I should complain that have to change from time to time to have something alive to be analysed.

The solution is to use a simulator of signals, and the best way is using the incredibly versatile PySignalSimulator device server. Creating a device with one property "DynamicAttributes" with something like:
A1=float(READ and VAR('A1') of WRITE and VAR('A1,VALUE)
This sets an scalar attribute with a float value that than be read or write. Combining this with an attribute that contains an array of elements:
Channel1=[ (sin(VAR('W1')*x)*sin(VAR('W2')*x)) for x in range(4096)]
With those simple lines you can have an spectrum value with a amplitude modulated signal. It's not the same than the beam signal, but it can acts to show how this bunch analyser works.

In the next video, the oscilloscope signal has been simulated using this simulator. You will see it  as the top-right blue plot with an amplitude that oscillates between 0 and a maximum. The variables of the formula that simulates this are below this plot, on the left side.


On the left side of the screen some data are revealed about the cpu, memory, network use and so one. After send the Start() command the image below the plot (on its middle) start to collect each one of the waveforms from above. And already with non complete buffer the data is being processed. On the right of this cyclic buffer image representation, there are the attributes to adjust the algorithm and then the output. The green plot on the top is the filtered output.

Projects cross check

Today, we have a blackout in the Alba's synchrotron. From 8h to 15h we have received a recommendation from the director to avoid to go to the facility before 15h. Some intermediate bosses have tell their workers to not come and what ever they want, others say to work from home, and some of them say they don't expect that us comes after 15h. Ok, this is like an almost free day, as usual in this facility, not using clear works and giving different orders to different workers.

Well, when they do this confusion in diffusion (don't confuse with Shannon's principle) I remember Sun Tzu words: “If words of command are not clear and distinct, if orders are not thoroughly understood, then the general is to blame. But, if orders are clear and the soldiers nevertheless disobey, then it is the fault of their officers.

I'll dedicate the day to a projects cross check to have them reviewed, and I'll share them using this blog channel.

Update: Only the Filling Pattern FCT and something about the FOFB, has been possible to write by now. The new plugin to acquire with the Basler Ace Coloured cameras (by now we are using monochrome Basler Scout models in many of the beam diagnostics stations) and the refactoring of the graphical user interface of the imaging acquisitions, are also very important an big project that we need to proceed with. Also this imaging tools must be integrated with in sardana. With out forget the StateCodeInterpreter project, very necessary to trace back what had happen with a power supply.  Another day it will be explained.
And the things wouldn't finish where, there are also projects that have a title but not yet received the Start() command... (like the linac's control & gui).

2012/12/11

About many recent anonymous comments

This blog has been configured with rights to post comments to anyone (including anonymous users), and without moderation level. Even that, blogger is blocking spam comments and they are mailed to be check if they are "no spam". Those comments include links to webshops and that is why I didn't pass them to publish.

The reason on this post is that, since a month a go I see a "peak" of a few comments referencing the type of topics on this blog. At the beginning I didn't care about this, because I write about what I want to write, tagging with labels that an eventual reader can discriminate about the topics (assuming that someone else is reading this blog).

This is not a business blog at all. As the name says, when it was chosen, the main topics are cryptography and synchrotron things. This has been mentioned in the opening post and a bit later when I have broaden my intentions. But I am human, an alive human, and the things changes. This change can be said that starts with the first post tagged as politics. My live is not only my job, and my interests are far away from "live to work", I am more on the "work to live". Work is a need on this society system. Further than contribute to the community (an ideal view of the work), to work by now is a need to have the minimums to still be in this society. Even if you like or not the current organization, you need it to still be.

What is happening by today, specially in the behaviour where I live (that is what I can see with my eyes) is too bad to still be only post about the initial topics of this blog. The life is much wider than businesses.

2012/11/21

How to see the beam in the storage ring

I have written some times about how a synchrotron works (underlining that I am not a physicist and what I write is what I understood from the explanation of other people). Also I have wrote about how can we saw the beam or its effects: visible beamfirst xrays or fluorescent screens

But there is another way to see the beam: using an scope.

Today I have ask to know a little bit more what we can see from an scope that we are reading the signal:
vncviewer of an Agilent DSO80804B
But, 2 questions: who this signal is get and what does this mean?

This signal is get from a Fast Current Transformer (FCT) located in sector 02:

Very close to the dcct that is giving us the current of the beam in the machine statusThis FCT is an inductor surrounding the vacuum chamber and what we see in the scope is the inducted current by the primary current given by the electron bunches.

In the scope picture we can see the bunches in one turn (about 900ns). But a bunch is not one of this eleven groups in the signal. They are composed by bunches.

May can help to see that by plots taken with taurus:
Equivalent to the vnc, but getting the data from a tango device server.

Zooming on one of this groups:

With this last picture we can see the bunches themselves. The bunches are separated by 2ns, and the linac is shutting in groups of 32 consecutive bunches and a gap of 24ns.

Also I have ask why this groups of bunches have different shapes like:
This 3 examples has been taken over different times during today's start up of the machine. This shapes can be explained because fine configuration or how the equipments works and their efficiency. In the best case, in a world of the theory, this groups would be absolutely squared.

Alba synchrotron recovered

Yesterday, after the accident and the weekend works to recover it, we had beam again in the storage ring:

Having beam during more than 2 hours means that, after the accident, nothing have fell down and block the path in the pipe.

2012/11/15

22 arrested versus 29 injured

The original title of this post was 'European Strike 14N' because testerday we had a call for strike in many places in Europe. Some of the European countries doesn't have the right for a general strike (like Germany). In fact the bigger calls was in the south of the continent: Portugal, Malta, Cyprus, and Spain have had a journey strike, in Greece they had a 3 hour call for strike (remember that they have had 2 journeys of strike last 10th). In Italy the call has been made for 4 hour.

But why the today's news have changed my mind? I thing there is a mismatch in the police actions when the injured people in the demonstrations are more than the arrested (worst when the is not intersection between the arrested joint and the injured joint).

Well we have to think that one of the injured is a riot police man that has run over by a police ban:

Another of the incredible videos of the demonstrations is the one that a 13 yeas old kit has been injured in Tarragona:

After watch the video I have hallucinated with the hits on the girl close to where other physically protect the kit. After the girl protest to the riot controller, she have received the shield hit only to be telling something to the police. This girl doesn't look to be a menace to those police men. But after she have received 3 truncheon hits by two different elements of those shielded giants.

News like this ones that gives more injured people than arrested, makes me think that their method is not working because more innocents (because they hasn't been arrested) have been injured, further when they often say that they have identified hundreds of violent persons.

It is also incredible when the police count as injured their riot controllers with wrist pain. Where the origin of this pain is the hit with the truncheon, and they are not counting all the beat by this truncheons. In the case of the people in the protest, you must finish in the hospital with a big damage to be counted in this list.