Starting a Process Back Up Again Lem

Overview

  • How to start a LEM Autorun Sequence (LARS)
  • Lumps and Bumps - How to forbid major traps with the LEM setup
  • LEM Automobile Run User Script Interface
    • Annotate
    • Set Needle Valve of the Sample Cryo Transferline
    • Set Sample Temperature (Cryos and Oven)
    • Set Sample High Voltage
    • Fix Ring Anode Loftier Voltage
    • Load and set up a HV transport setting file
    • Switches off all the HV'southward of a bedroom
    • Open/close BPVX/Y gate valves
    • Set Field of the WEW Magnet with the WEWL Magnet Power Supply
    • Set Field of the WEW Magnet with the WEWH Magnet Power Supply
    • Set Field of the Bpar Magnet with the Danfysik Magnet Power Supply
    • Prepare the field of the sample magnet (WEW or Bpar)
    • Set the Spin Rotator Parameters for a given Spin Bending
    • Degauss with Danfysik magnet power supply
    • Degauss the WEW
    • Degauss the sample magnet in identify (either WEW or Bpar)
    • Degauss the Spin Rotator
    • Run Title
    • Gear up the Time of Flight Window
    • Ready Moderator Info
    • Set LEM Setup Info
    • Ready Waiting Time
    • Run Start Control
    • Stop an Ongoing Run
    • Warm-Upwards Command
    • Loops for Temperature, Sample HV, or Field
    • Dump of Raw Sample LakeShore 340 Sensor Data (FOR INTERNAL Apply ONLY)
    • Floating Ohm Meter (FOM -- FOR INTERNAL Use Merely)
    • Define an alias for the autorun
    • Enable/disable autorun midas alarm handling (FOR INTERNAL Use ONLY)
    • Enable/disable autorun midas client checking (FOR INTERNAL Utilize ONLY)
    • Define an ODB tag for commutation in the run title
    • Set ODB values (FOR INTERNAL USE ONLY)
    • Ready ODB arrays (FOR INTERNAL USE Only)
    • LEM Auto Run Sequence Example
  • Implementation Details of the LEM Motorcar Run Sequence
    • Implementation of Set Field
    • Implementation of Set Sample HV and Gear up Band Anode HV
    • Implementation of Set Sample Temperature and the Temperature Monitoring during a Run
      • Stable Temperature
      • Increasing Temperature
      • Decreasing Temperature
    • Implementation of Set Run Title
    • Clarification of the XML Startup Files and the Parameters

How to offset a LEM Autorun Sequence (LARS)

nemu_main.png

Nemu Experiment - Web Interface

For the moment, there is a very primitive (just elementary) user interface for the LEM Autorun Sequence (LARS) foreseen. On the chief Nemu Experiment spider web page, you will find a button called "AutoRun" marked past a ruddy box in the effigy to a higher place. When pressing information technology, you volition notice the LEM Autorun Condition spider web-folio which looks similar this

nemu_main_autorun.png

LEM Autorun Spider web-Page

  • Botton Starting time AutoRun will endeavor to execute the autorun sequence with the proper name given in the field Sequence.
  • Botton Load Sequence will load the autorun sequence given in the field Sequence. It will not execute the autorun, just only update the web-page.
  • Sample Name: shows the sample name which will be written to the file. It can be edited.
  • Sequence: here you have to enter the proper noun of your autorun script.
  • Testify Comments: if set up to yes, it volition testify the comment lines of your autorun sequence. It will only beingness updated when the autorun is changing to the next command.
  • Goto Line: Here tin enter a number. This number ways that when autorun has finished its electric current command, rather than executing the adjacent one, it will go to line number you have entered here. This line number should correspond to the "web-page line number" (blue on the above figure) and not lemAutoRun script number (redish on the above figure).
  • Next: hither you can enter a lemAutoRun script which shall exist executed when to currently running has finished.
  • Status: shows the status of the ongoing autorun.
  • The next field shows yous the ongoing autorun script where the currently executing command is marked in yellowish. If at that place is whatever astringent trouble, a red mistake message will be displayed.

The autorun sequence script has to be saved in the directory /mnt/abode/nemu/autoRun. In the field. If the file proper name's extension is .lar, a high-light plugin for the editor kate is available. This plugin helps to write autorun sequences by high-lighting autorun commands, though information technology is Non a syntax are semantic checker!

Lumps and Bumps - How to prevent major traps with the LEM setup

Here some of the major difficulties, apropos lemAutoRun, are described and information technology is explained how to prevent them.

An autoRun was started, but doesn't execute its first command

In instance you have started a run manually, and this run is notwithstanding agile, the autoRun is starting merely merely waiting (expect the first command is a STOP command see Stop an Ongoing Run and Note of LEM Machine Run User Script Interface) until the current run is stopped.

How to stop an ongoing autoRun, and what are the potential problems arising from stopping information technology?

To stop an active autoRun run into How to start a LEM Autorun Sequence (LARS) Fig. "LEM Autorun Parameter Page". Nevertheless one has to be aware of the following facts: if the autoRun is stopped during a TEMP command (encounter Prepare Sample Temperature (Cryos and Oven)) information technology might be that the valves BPVX and/or BPVY are airtight. Furthermore information technology might be that the sample HV is set up to cipher and then that is needs to be ramped back by the user.

How to foreclose firing the HV interlock while increasing the temperatue?

When increasing the sample temperature with the TEMP command, 1 needs to be aware of the following problem: while heating, very ofttimes the pressure in the sample chamber is increasing. When it is reaching the value of 1e-6mbar, the HV interlock is firing which ways that somebody has to reset manually in the surface area. This pressure can hands being reached while increasing the sample temperature. To prevent this it is wise to employ the ramping feature of the TEMP control (come across Set up Sample Temperature (Cryos and Oven)). Typically a ramping of 1K/min for T<45K, and 2K/min for T>45K is working. This depends not only on the temperature history, but also to some degree on the sample.

LEM Automobile Run User Script Interface

The LEM Motorcar Run User Script Interface consists of a fix of elementary commands assuasive the user to run the LEM experiment for some time, specially during the nighttime. Since the LEM experiment is a rather complicated setup, it should be used circumspectly only. Hither the description of the bachelor commands, where the post-obit conventions are used. Anything in squared brackets [] is an option. The syntax is example sensitive.

NOTE: If a run is already underway when starting lemAutoRun, and the first command of the LEM auto run user script is not a STOP control, lemAutoRun will expect until the run is stopped. This is done because it is considered as nonsense to modify HV's or temperatures, etc. while a run is underway. Still, the WARMUP command will be executed if the appointment/time is reached.

Comment

Lines starting with the '' character are annotate lines which will be ignored. Furthermore empty lines are ignored.

Set Needle Valve of the Sample Cryo Transferline

with

  • pos, the position of the needlve valve (0..100)
  • mode, the mode of performance: 0=ReadOnly, 1=Read/Write, ii=Auto

If the mode is set differently than '1', the positional value will be ignored.

Case:
TLF 6.5, i

Set Sample Temperature (Cryos and Oven)

TEMP T, dT, StabilityTimeout [, Ramp, HeaterRange, P, I, D, Flow]

with

  • T, the temperature (in 1000) of the sample cryo to be set.
  • dT, the temperature tolerance band (in K).
  • StabilityTimeout, upper limit time constant in which the temperature stability should exist achieved (in sec).
  • Ramp, need temperature ramping: 0=off, 0.1-100.0 (Yard/min). Be very careful with this feature considering information technology might non exactly doing what yous think, therefore check besides section Implementation of Set Sample Temperature and the Temperature Monitoring during a Run
  • HeaterRange (for 25 Ohm, 1 A)
    • 1 -> 2.5 mW
    • ii -> 25 mW
    • three -> 250 mW
    • 4 -> 2.5 W
    • v -> 25 W
  • P, 0 - 1000
  • I, 1 - grand (grand/sec)
  • D, 1 - 1000 (sec)
  • Catamenia, 0 - 32000

Examples:
TEMP 100, 0.ane, 1200
TEMP 100, 0.1, 1200, 2.0
TEMP 100, 0.1, 3600, 0.0, , , , , 3200
TEMP 100, 0.1, 3600, 0.0, , 500, twenty, 2, 3200

For details apropos the temperature controller flags see the LakeShore 340 Manual.

Description: The Gear up Sample Temperature takes care of all those adjustments that have to exist made, such as endmost the vacuumvalves, switching the loftier voltage, feeding the LakeShore340 with a new setpoint, adjusting the He-flow via the Bronkhorst flow controller and setting the needlevalve in the transferline. Note that the last two items are only possible for the Konti cryostats. The command must give at least the start three parameters. In that case autorun will try to fix the new temperature every bit quickly every bit possible. With the parameter Ramp the speed of the heating or cooling can be set. If a reasonable rate is demanded (like 1-2 K/minute) no over- or undershoot will occur. WARINING: do non employ large rampings while increasing the temperature: there may be problems with the vacuum and thus the high voltage interlock may switch off.

Comments apropos ramping: the ramping rates should non exceed 5K/min, both for cooling are warming up. If yous use ramping for cooling the StabilityTimeout constant should be

StabilityTimeout > 120 (Tstart - Tend) / Ramp.

All further parameters inhibit autoRun's automatic adjustments for that parameter. Utilize of the these options is at the user's discretion and responsibility.

WARNING: Fifty-fifty though lemAutoRun tries to suit the He flow equally skillful every bit it tin can (assuming a airtight bypass, so that the Bronkhorst can work), for the lowest temperatures (T < 7K) it might be that you end up with a slightly too high flow when arriving from high temperature. The reason is that the some parts of the cryo are still cooling downwardly at the beginning leading to an increased He menstruum. When everything is in dynamic equilibrium, lemAutoRun tries to gradually reduce the flow. This process is sometimes besides slow and hence the heater might reach its limit. Therefore one should check these temperature range and, if necessary adjust the flow manually with the Bronkhorst menstruum meter. It is on the To-Do listing to prepare this trivial annoyance merely we are not there even so :-(

Note: The LS_HeaterMode (proper name volition be changed shortly to LS_ControlMode) setting of the device commuter has the following meaning (meet also the LakeShore 340 Manual chapter 6 p.6-one, and p. 9-28):

  • LS_HeaterMode = 1: Manual PID
  • LS_HeaterMode = 2: Zone
  • LS_HeaterMode = iii: Open Loop
  • LS_HeaterMode = 4: Auto Tune PID
  • LS_HeaterMode = five: Motorcar Tune PI
  • LS_HeaterMode = half-dozen: Automobile Tune P

By default the value is set to two, i.east. the Zone Setting Mode. If you do not empathize this parameter, set it to 2 if it is not already fix to this value.

If LS_HeaterMode = 2, lemAutoRun volition, when starting upwards, overwrite PID's and the heater range to the ZONE setting values. If the TEMP command is explicitly setting PID'south and/or heater range, of class this explicit values will be taken. As long as post-obit up temperatures volition stay in the same ZONE this PID'south and heater range will be taken, except PID's and heater range will be given in the following up TEMP command!

Oven: The TEMP for the Oven is currently a chip limited. Information technology only accepts the following syntax:

TEMP T, dT, StabilityTimeout

with the temperature given in Kelvin!

Ready Sample High Voltage

with

  • value, the sample high voltage value in (kV).

Examples:
SAMPLE_HV -7.23

Description: Sets the high voltage of the sample. At the moment it is not foreseen to gear up the sample guard and grid loftier voltage.

Set Ring Anode High Voltage

RA_HV left, correct[, acme, bottom]

  • left, HV value of the left ring anode in (kV)
  • right, HV value of the right ring anode in (kV)
  • top, HV value of the elevation ring anode in (kV)
  • bottom, HV value of the lesser ring anode in (kV)

Instance:
RA_HV 11.2, 10.8, 11.0, 11.0
RA_HV 11.2, 10.8

Description: Sets the high voltage of the ring anode. Left and correct are defined in beam propagation management.

Load and set a HV transport setting file

TRANSPORT_HV hv_setting_file_name

with

  • hv_setting_file_name, a HV setting file proper noun

Instance:
TRANSPORT_HV fug_07-5kv_2-6ug_SRoff_protons.xml

Clarification: Loads a HV setting file and sets the found values. Currently only FUG'south, i.east. ship HV'south tin be loaded. The command looks, if the setting file is establish in the default location.

Switches off all the HV's of a chamber

with

  • sleeping accommodation, being one of the following tags: MC for the moderator chamber, TC for the trigger chamber, SC for the sample chamber

Example:
HV_OFF SC

Description: switches off the send and detector HV's of the given chamber.

Open/close BPVX/Y gate valves

BPV(X|Y) open | shut | 1 | 0

Examples:
BPVX open
BPVY i
BPVY close

Description: allows to open/close the BPVX/Y gate valves. The vaccum control units volition prevent this command to piece of work if the pressure on ane side is besides high, due east.1000. if the sample sleeping accommodation would be vented.

Fix Field of the WEW Magnet with the WEWL Magnet Ability Supply

with

  • value, field if unit is given in 'G', otherwise electric current in 'A'. If no unit is given current is assumed for backward compatibility. Possible range: +-50.0 (A), which corresponds to near +-288 (1000).

Examples:
FIELD_WEWL 17.35
FIELD_WEWL 100.0 G
FIELD_WEWL 13.0 A

Description: Sets the field of the WEW magnet, using the loftier-precision, "depression-electric current" WEWL power supply

Prepare Field of the WEW Magnet with the WEWH Magnet Power Supply

with

  • value, field if unit is given in 'G', otherwise current in 'A'. If no unit of measurement is given current is assumed for backward compatibility. Possible range: +-600.0 (A), which corresponds to well-nigh +-3400 (1000).

Examples:
FIELD_WEWH 17.35
FIELD_WEWH 1500.0 G
FIELD_WEWH 260.3 A

Description: Sets the field of the WEW magnet, using the "high-electric current" WEWH ability supply

Set Field of the Bpar Magnet with the Danfysik Magnet Power Supply

FIELD_DANFYSIK value [Chiliad | A]

with

  • value, field if unit of measurement is given in 'G', otherwise electric current in 'A'. If no unit is given current is assumed for astern compatibility. Possible range: +-20.0 (A), which corresponds to about +-740 (G).

Examples:
FIELD_DANFYSIK 17.2
FIELD_DANFYSIK 100.0 G
FIELD_DANFYSIK five.3 A

Clarification: Sets the current for the Danfysik magnet ability supply. At the moment yous have to requite a current but in the nearly future this will be changed then that the user will enter a field value.

Gear up the field of the sample magnet (WEW or Bpar)

with

  • value, field if unit is given in 'Yard', otherwise current in 'A'. If no unit of measurement is given electric current is assumed for backward compatibility. Possible range: depends on the magnet WEW or Bpar. See Set up Field of the WEW Magnet with the WEWL Magnet Ability Supply, Set Field of the WEW Magnet with the WEWH Magnet Power Supply, and Set Field of the Bpar Magnet with the Danfysik Magnet Power Supply .

Instance:
FIELD 100 Yard

Notation: The WEW magnet can be operated past either the WEWL or WEWH power supply. The electric current ranges for these ability supplies are: WEWL (+-50A) and WEWH (+-600A). The FIELD command volition chose which ability supply to exist used. For up to +-50A WEWL will be called, in a higher place 50A the WEWH will exist used. There is a potential stumbling block here: in a field scan when crossing the 50A boundary, i.e. switching over from WEWL to WEWH, WEWL will be set to goose egg, the power supply switched off, WEWH switched on and ramped to the needed current. This ways if you have something like

FIELD 45.0 A

do something here*

FIELD 55.0 A

what will happen is 45.0A -> 0.0A -> 55.0A. This could potentially spoil your experiment.

Fix the Spin Rotator Parameters for a given Spin Bending

SPIN_ROT bending [ndg] | off

with

  • bending, the wished spin bending. 0 degree is parallel to the sample pointing towards the left detector. 90 degree is towards to cryo, -90 degree towards the mirror. When giving a number it volition automatically enable the spin rotator.
  • ndg, if this flag is set, no degauss procedure volition be carried out. Use this selection just if y'all know what yous exercise!
  • If off is given, the spin rotator volition be disabled, which ways switching the spin rotator magnet electric current off, and shutting down the spin rotator HVs.

Both commands include always an intial degauss process of the spin rotator magnet. This way, the user doesn't need to remember nigh the history of the spin rotator magnet.

Examples:
% Separator Fashion
SPIN_ROT -ten
...
SPIN_ROT off

Degauss with Danfysik magnet ability supply

Clarification: Degauss procedure for the Danfysik magnet ability supply. It is starting time setting -8A, waits 10sec, then prepare +8A, wait once again 10sec, afterward information technology is cycling the current to -1/ii of its previous value, back and along. Eventually, if the current value is dropping beneath 0.1A it will be set to cypher.

Degauss the WEW

Description: The degaussing for the WEW (Bperp) setup is doing the following:

  1. shut down the ring anode (RA) high voltages (HV). This is necessary since for B>110 G (>nineteen A) a Penning trap forms at the RA which is leading to discharges.
  2. practice the following electric current cycle of the WEWH: +600/-xl/0A, followed by WEWL:+fifty/-8/0A.
  3. ramp the RA HV's dorsum to its previous values.

Degauss the sample magnet in place (either WEW or Bpar)

Description: Will call the apropriate degauss routine depending on the sample magnet currently in employ (either WEW or Bpar). For details see Degauss with Danfysik magnet power supply and Degauss the WEW .

Degauss the Spin Rotator

Description: Degauss the Spin Rotator. This is done the post-obit way:

  1. Shut downwardly the spin rotator HV'southward.
  2. Prepare current of the spin rotator magnet to 0A, and look 10sec.
  3. Set electric current of the spin rotator magnet to +12.0A, and wait 30sec.
  4. Set current of the spin rotator magnet to -1.3A, and wait 30sec.
  5. Set up current of the spin rotator magnet to 0A.

Run Title

with

  • cord, the run championship.

The run championship can contain some special tags, in club to extract some useful information directly form the ODB.

  • ODB_SAMPLE: sample proper noun tag. Will be replaced by the value from the ODB.
  • ODB_TEMP: temperature from the ODB at the get-go of the run.
  • ODB_FIELD: field from the ODB at the commencement of the run. This tag will be replaced by a cord similar "125.60(G)/4.25(A)".
  • ODB_TRANSP: HV send settings from the ODB at the beginning of the run.
  • ODB_HV_SAMP: HV sample settings from the ODB at the beginning of the run.
  • ODB_ENERGY: implantation energy (HV modern. - HV sample - Energy loss at C-foil) from the ODB at the beginning of the run
  • ODB_RA_DIFF_LR: HV difference between left and right RA from the ODB at the beginning of the run i.e. RAL-RAR
  • ODB_RA_DIFF_TB: HV departure betwixt pinnacle and lesser RA from the ODB at the beginning of the run i.e. RAT-RAB
  • ODB_SPIN_ROT: muon spin rotation angle, or disabled if the spin rotator is off.

Furthermore, the user can define his/her ain ODB tags via the autorun command ODB_TAG (see Define an ODB tag for substitution in the run title).

Examples:
Title Proximity Al-Nb
Title Proximity ODB_SAMPLE
TITLE Proximity ODB_SAMPLE T=ODB_TEMP (Chiliad)
Title Proximity ODB_SAMPLE T=ODB_TEMP (K), ODB_TRANSP (kV), RAL-RAR=ODB_RA_DIFF_LR (kV), B_par ~ ODB_FIELD, Sample = ODB_HV_SAMP (kV)

Description: Sets the run title. Midas handles run titles with a maximal length of 132 characters. If the given run title is longer than this 132 characters, the run title will be truncated to the allowed length.

Set the Time of Flight Window

with:

  • start, start of the time of flight window in (TDC channels)
  • stop, end of the fourth dimension of flying window in (TDC channels)

Examples:
TOF 1350, 1785

Clarification: Used to set the muon fourth dimension of flight cutting.

Set up Moderator Info

with,

  • modernistic, moderator
  • date, date at which the moderator was grown

Examples:
MODERATOR N2, 19-Dec-2005, 18:00

Description: Sets the moderator information.

Set up LEM Setup Info

with,

  • string, informations about the setup

Examples:
LEM_SETUP B_par

Description: Sets the information most the experiment setup. Information technology is not necessary to enter which cryostat is used since this is already set in the ODB.

Set Waiting Time

with,

  • waittime, waiting time in (sec)

Examples:
Wait 240

Description: Sets a waiting time. This await time control is an gauge timing since it checks various things while waiting (flow, system land, etc.), hence the time accuracy is nearly iii secs only.

Run Start Control

START [no_events | time sec]

with,

  • no_events, number of events to be taken
  • time sec, time to elapse to case a run stop

Examples:
START 1e7
Get-go 1000000
Offset 120 sec

Description: Starts a run and will collect no_events data. It is taking the title from the ODB at run start, hence preceding to the Starting time command there should exist (in almost all cases) the TITLE command.

The second option starts a run and collects data for time seconds. This is typically needed for beam calibration measurements, etc. Currently the only units supported is 'sec'.

Stop an Ongoing Run

STOP [no_events | time sec]

with,

  • no_events, number of events to be taken
  • time sec, fourth dimension to elapse to case a run stop

Description: This control makes only sense as the first argument of an autorun sequence. It's purpose is that often i is encountering the situation where everything is setup. One has started a run to come across if everything is fine, yet one is very tired and the necessary statistics is not achieved. Instead of stopping the run and starting an automobile-run sequence, i can use this command, i.due east. starting the auto-run sequence with the STOP command. It just accumulates the necessary statistics of the current run earlier going over to the next control.

The second option will end the ongoing run after time seconds. Currently the just units supported is 'sec'.

Annotation: In case an autorun starts accidentally with a STOP command and there is NO ongoing run, lemAutoRun will automatically change the STOP into a START command.

Warm-Up Command

with,

  • appointment in the format yyyy-mm-dd
  • time in the format hh:MM:ss

Example:
WARMUP 2007-01-01, 05:00:00

Notation: This command tin can occur in the autorun sequence wherever you want to place it, at the start, the end ... The autorun handler checks as a first affair if this command is present and sets it up, hence information technology is independent of the sequence structure. If it occurs more than once (which is quite stupid by the style) information technology will accept merely the commencement occurring i ignoring the others.

Alarm: This commmand volition Non work properly when the He bypass is open up (meaning the bronkhorst He flow controller is bypassed), since in this situation at that place is no way to reduce the flow past software. So Please, keep this in mind.

Description: Imaging the following situation: You lot want the change a sample at around 7:30AM. Without this command it would mean that y'all take to stop whatever autorun at around 6:00AM, shutdown the HV'southward, shut the BPVX/Y, and start warming up the sample cryostat. Since sleep is precious, this command has been introduced. Information technology does the warming up of the sample cryo according to the just described procedure. A few comments are necessary though: (i) The date-time given in the command is an approximate one in the sense that it volition merely execute after the current command has been carried out, except for an ongoing run which volition be stopped. (two) What is non nether estimator controll is the venting procedure for the sample sleeping room, i.e. it is not possible to let whatsoever exchange gas into the sample bedchamber automatically (and perhaps information technology is better that manner).

Loops for Temperature, Sample HV, or Field

It is possible to prepare some primitive loops for setting the sample temperature, high voltage or field. The syntax is

LOOP_START

LOOP_LIST [v1, v2, ..., vn] | LOOP_ITERATOR [start, finish, step]

LOOP_TEMP LOOP_ELEMENT, dT, StabilityTimeout [, Ramp] |

LOOP_SAMPLE_HV LOOP_ELEMENT |

LOOP_FIELD_WEWL LOOP_ELEMENT [A|G] |

LOOP_FIELD_WEWH LOOP_ELEMENT [A|G] |

LOOP_FIELD_DANFYSIK LOOP_ELEMENT [A|G] |

LOOP_FIELD LOOP_ELEMENT [A|Thou]

% do something

LOOP_END

The loop MUST consist of at least the following elements in the club given in the code case:

  1. LOOP_START, loop start tag
  2. LOOP_LIST or LOOP_ITER, this gives the elements over which to loop
  3. LOOP_TEMP LOOP_ELEMENT or LOOP_SAMPLE_HV LOOP_ELEMENT or LOOP_FIELD_WEWL LOOP_ELEMENT or LOOP_FIELD_WEWH LOOP_ELEMENT or LOOP_FIELD_DANFYSIK LOOP_ELEMENT or LOOP_FIELD, this is the main loop command. They cannot be combined inside the same loop.
  4. LOOP_END, loop end tag

It is possible to loop over a list of elements (LOOP_LIST). The elements v1, v2 etc. is just a list of elements.

It is also possible to accept equidistant sampling points, similar in an ordinary for-loop with the LOOP_ITERATOR.

Description: The implementation of loops is there for convenience, allowing one to write more compact autorun sequences. Internally the loops are expanded into a sequence of commands.

Dump of Raw Sample LakeShore 340 Sensor Information (FOR INTERNAL Employ But)

with,

  • no_dumps, number of sensor dumps to be taken

Clarification: The dump command writes (appends) 10 time with intervals of most 6 seconds the time, temperature, force per unit area, heater value and range, setpoint, flow and the x raw voltages of the LakeShore340 channels to a file, named: .RawVoltageOutput.dat. This command is useful for thermometer calibrations.

Once per run, a header is added (needed by the calibration software and too useful such that the file is self-explanatory) which will await like like this

%-------------------------------------------------------------------------- % Number of Entries : 23 % Number of Raw Information Reading   : 10 % Commencement Raw Data Reading Entry : 14 % Entry  ane : calendar month % Entry  2 : day % Entry  3 : year % Entry  4 : hour % Entry  v : minutes % Entry  6 : seconds % Entry  7 : msec % Entry  eight : measured temperature of control channel = A % Entry  ix : pressure % Entry 10 : heater output % Entry xi : setpoint temperature % Entry 12 : heater range % Entry thirteen : BH1 flow measured % Entry xiv : Raw Data Reading Entry 0 : Channel A : Sensor Type ane % Entry 15 : Raw Data Reading Entry 1 : Channel B : Sensor Blazon 1 % Entry xvi : Raw Data Reading Entry 2 : Channel C1 : Sensor Type two % Entry 17 : Raw Data Reading Entry three : Channel D1 : Sensor Blazon 1 % Entry xviii : Raw Data Reading Entry 4 : Channel D2 : Sensor Type 1 % Entry 19 : Raw Information Reading Entry 5 : Channel D3 : Sensor Type ane % Entry twenty : Raw Data Reading Entry 6 : Channel D4 : Sensor Type i % Entry 21 : Raw Data Reading Entry 7 : Aqueduct C2 : Sensor Blazon 1 % Entry 22 : Raw Data Reading Entry 8 : Channel C3 : Sensor Blazon ane % Entry 23 : Raw Data Reading Entry 9 : Channel C4 : Sensor Type 1 %--------------------------------------------------------------------------        

Floating Ohm Meter (FOM -- FOR INTERNAL Use ONLY)

with,

  • current, current value of the constant current source in (uA), ranging from -1000.0(uA) to +thou.0(uA).

Examples:
FOM +x.0
FOM -iii.25

Description: The FOM is a device built at electronic section of the University of Fribourg (after initial input from Alan Drew (Uni Fribourg) and Andreas Suter (PSI)) and currently not always available.

Define an alias for the autorun

where key is the allonym primal, and value the corresponding value.

Examples:
ALIAS LED_IN /Equipment/K2400/Variables/Input
Allonym LED_OUT_ONOFF /Equipment/K2400/Variables/Output[one]
ALIAS LED_OUT /Equipment/K2400/Variables/Output
ALIAS Leff "/Info/t0_Parameter/Leff RAon (mm)"

Description: Alias has been introduced to ease the writting autorun scripts when using ODB_SET_DATA or ODB_SET_DATA_ARRAY commands. It allows to innovate alias tags which at run-time will be replaced past its values. For example the aliases defined in the examples could hence be us in a command like:
ODB_SET_DATA LED_IN[5], 1e-six, LED_OUT[3], 60, 1e-7
i.e. less sources of typo errors.

Enable/disable autorun midas alarm treatment (FOR INTERNAL Apply ONLY)

where tag is ane of the following: yeah | no | true | simulated | 1 | 0

Description: allows to temporarily ignore midas alarms from within the autorun. The default behavior of the autorun is that the autorun stops equally soon as in that location is a midas alarm. When setting IGNORE_ALARM to 'yes' in the autorun, autorun will just proceed even if an alarm has been encountered.

Examples:
IGNORE_ALARMS no
IGNORE_ALARMS ane

Enable/disable autorun midas client checking (FOR INTERNAL USE Simply)

where tag is 1 of the following: aye | no | true | false | one | 0

Description: allows to temporarily suppress autorun to bank check if the necessary clients are running. The default behavior of the autorun is that the autorun stops if not all necessary clients for uSR experiments are running. When set up to 'yeah' no client checks are performed. This can be useful for some specific tests.

Examples:
IGNORE_CLIENTS yes
IGNORE_CLIENTS 0

Define an ODB tag for substitution in the run title

ODB_TAG odb_path[\[alphabetize\]]

with,

  • odb_path, ODB path to the variable to be used.
  • index, index of the variable of an ODB assortment. If index is omitted, it is assumed that odb_path is a single value.

Clarification: allows to define tags which volition be substiuted in the run title at run time. See also the run title control Run Championship.

Examples:
ODB_TAG ODB_P /Equipment/LEMVAC/Variables/Input[11]
Title ODB_SAMPLE, T=ODB_TEMP K, E=ODB_ENERGY keV, B=ODB_FIELD, Tr/Sa=ODB_TRANSP/ODB_HV_SAMP kV, SR=ODB_SPIN_ROT, pSC=ODB_P (mbar)
ODB_TAG ODB_LHe /Equipment/LHeLevelMeter/Variables/Input
TITLE ODB_SAMPLE, T=ODB_TEMP K, E=ODB_ENERGY keV, B=ODB_FIELD, Tr/Sa=ODB_TRANSP/ODB_HV_SAMP kV, SR=ODB_SPIN_ROT, LHe=ODB_LHe (%)

Set up ODB values (FOR INTERNAL USE Simply)

ODB_SET_DATA odb_set_key_path[\[set_key_index\]], set_key_value, [odb_readback_key_path[\[readback_key_index\]], timeout, tolerance]

with,

  • odb_set_key_path, ODB path to the key used to set a value.
  • set_key_index, index of an ODB set variable in case it is an array.
  • set_key_value, new set up value of the ODB variable.
  • odb_readback_key_path, ODB path to a readback value to bank check if the command actually worked.
  • readback_key_index, index of an ODB readback variable in case it is an array.
  • timeout, within this given timeout (in sec) the readback value should have reached the prepare value, if not a alarm will exist generated and the next autorun command will exist executed anyway.
  • tolerance, tolerance needed to be reached (i.e. |set value - readback value| < tolerance) earlier the next command is executed.

Examples:
ODB_SET_DATA /Equipment/LED_Test/Variables/Output[1], 1
ODB_SET_DATA /Equipment/LED_Test/Variables/Output[0], 20.0, /Equipment/LED_Test/Variables/Input[1], sixty, 0.05
ODB_SET_DATA "/Info/t0_Parameter/Leff RAon (mm)", 726
ODB_SET_DATA "/Info/Somthing Of import", "string value of something important"

Description: With this command, ODB values tin be manipulated directly. Since this is rather dangerous y'all should really understand what you lot are doing before using this command!

Comments: String based values must not contain whatsoever of the following signs: quotes, i.eastward. "", '<', and '>'

Ready ODB arrays (FOR INTERNAL USE ONLY)

ODB_SET_DATA_ARRAY odb_set_key_path, value1, value2, ..., valueN

where value has to be of type 'float'.

Examples:
ODB_SET_DATA_ARRAY /Equipment/K2400/Variables/Output, 0, 1, 10, i, 1, 1e-five, one.v, 0, i

Description: With this command, ODB arrays of type bladder can be set up. It directly manipulates the online data base of operations of the instrument and hence this is rather unsafe control you actually should sympathize what y'all are doing before using it!

LEM Auto Run Sequence Case

Here follows a syntactically correct case:

LEM_SETUP B_par, Danfysik

MODERATOR Ar/N2, 2006-03-16 18:00

TOF 1250, 1750

FIELD_DANFYSIK 12.3

TEMP eight.0, 0.05, 3600, 0.0, 3, 200, 50, 2, 17320

WAIT 120

LOOP_START

LOOP_LIST [nine.0, 9.5, 9.seven, 9.8, 9.nine, 15.0]

LOOP_TEMP LOOP_ELEMENT, 0.02, 3600, ane.0

WAIT 120

LOOP_START

LOOP_ITERATOR [-12.five, 12.5, 2.5]

LOOP_SAMPLE_HV LOOP_ELEMENT

Title Exam T=ODB_TEMP (K), ODB_TRANSP (kV), RAL-RAR=ODB_RA_DIFF_LR (kV), B_par ~ ODB_FIELD, Sample = ODB_HV_SAMP (kV)

Showtime 1e7

LOOP_END

LOOP_END

SAMPLE_HV 0.0

Implementation Details of the LEM Motorcar Run Sequence

The LEM Machine Run Sequence (LARS) is set the following style:

  1. The user script is translated into a XML output-file (lets phone call information technology lar_seq.xml) without any consistency checks.
  2. lar_seq.xml is than parsed dorsum with a validating schema parser (XERCES). Here any errors the user might have entered will exist detected and fed back.
  3. If the parsing was successful the whole user sequence is sequentialized and handed over to the autorun sequence loop.

The applied schema for the parsing procedure is given in the file lemAutoRun.xsd. The mapping betwixt the above described user machine run commands and the corresponding xml-tags should be obvious.

Almost of the routines are implemented in a direct frontwards mode, however there are some which some additional background information will exist given.

Implementation of Ready Field

Kickoff it is verified that the corresponding client is indeed running, if not, it volition stop the autorun sequence. This is a measure of precaution. In a side by side step the new field value is sent to the ODB, followed by a verification that the new field value is indeed reached. If it is not reached within a timeout given in the lemAutoRun.xml start-upwards file, an error is emitted and the autorun sequence stopped.

Implementation of Fix Sample HV and Gear up Ring Anode HV

Beginning it is verified that the corresponding client is indeed running, if not, information technology volition stop the autorun sequence. This is a measure of precaution. In a side by side step the new HV value is sent to the ODB, followed by a verification that the value is indeed reached. If it is not reached within a timeout given in the lemAutoRun.xml showtime-upwards file, an error is emitted and the autorun sequence stopped.

Implementation of Set Sample Temperature and the Temperature Monitoring during a Run

At that place are iii dissimilar regimes for the temperature change/monitoring:

  1. stable temperature
  2. increasing temperature
  3. decreasing temperature

They will be discussed separately in the following. It is worth mentioning that the TEMP command (see Set Sample Temperature (Cryos and Oven) ) is e'er either following the increasing- or decreasing temperature procedure and stable temperature is just check by itself during uSR data taking.

An important note: As you will read the set temperature command will try to operate the sliding valves between the chambers (BPVX/BPVY). Yet, it merely operates these valves if they are initially open up! The reason is that you might want to utilize the autorun sequence also for initial cooling of the sample, while growing a new moderator. In this instance it would be fatal if the prepare temperature command would open the BPVX, etc. Therefore information technology is important that the user checks the valve states before starting any autorun and makes sure that the valves are in the country he/she wants. Anyway, to start a uSR run with a closed BPVX or BPVY will lead to a VERY depression irksome muon rate at the sample ;-)

If you plan to use the need temperature ramping feature of the LakeShore 340, please read very advisedly the following three subsections. Here the chief reason why it has been introduced: when increasing the temperature, there will be also a pressure level increase in the sample bedchamber due to degassing. This effect is most dramatic beneath 100K. If no demand temperature ramping is used, the pressure might increase to values > 1e-six mbar. 1e-6 mbar is the disquisitional pressure to fire the high voltage interlocks, which will stop the autorun sequence immediately! A second reason is that you cannot tolerate temperature overshooting in your experiment. If this is your case it would be wise to test the temperature part of your autorun sequence get-go to make sure that it really is doing as you expecting.

Stable Temperature

During a run, a temperature value is taken every 5 sec (at the moment hard-wired) and pushed into a ring history buffer. The history buffer is fitted to a parabola model which is used to suit the He flow if necessary. This process should guarantee that the heater stays e'er in a sensible range. The formula to conform the flow is

\[ f_n = f_c \cdot \exp(p_H \left[ (h_c - h_p) + d_H h_T \right]) \]

where $f_n$ is the new flow, $f_c$ is the electric current flow. $p_H$ is

\[ p_H = - p_H^0 - p_H^1 \cdot T_{\rm SP} \]

with $T_{\rm SP}$ the setpoint temperature. $h_c$ is the current heater value. $h_p$ is 50 for the heater range 3, twoscore for the heater range four, and $20 + 0.04 (T_{\rm SP} - 50.0)$ for the heater range v. $h_T$ is the offset derivative of the parabolic model at current time.

The missing parameters are numbers nerveless with their XML startup file pendant here,

If enabled, the transferline needlevalve volition be adjusted according to the following rules:

Increasing Temperature

When the setpoint is increased the following steps are taken:

  • Shut the BPVX sliding valve (between moderator- and trigger-bedroom) to protect the moderator.
  • If the new setpoint $T_{\rm SP}^N$ is too big compared to the current 1, precisely if $T_{\rm SP}^N - T_{\rm SP} > T_{\rm max~incr}$ ( $T_{\rm max~incr} = $ max_temp_increase in the XML startup file), (i) the high voltages in the sample chamber (= Sample, Sample_G2, Sample_G1, RA-R, RA-L) are switched off, (2) the valve between the sample- and the trigger-chamber (BPVY) is airtight.
  • Set up the flow according to the setpoint $f_n = f_0 / (T_{\rm SP}^N + f_1) + f_2$, where the XML constants are $f_0 = $ bh_flow_temp, $f_1 = $ bh_flow_temp_offset, and $f_2 = $ bh_flow_offset.
  • Prepare the needlevalve (if enabled) according to
    for 0 < $T_{\rm SP}^N$ < 8 : $NV = fRrefNeedleValveCof_{1,0} + fRrefNeedleValveCof_{1,1} * T_{\rm SP}^N$
    for viii < $T_{\rm SP}^N$ < x : $NV = fRrefNeedleValveCof_{2,0} + fRrefNeedleValveCof_{2,1} * T_{\rm SP}^N$
    for x < $T_{\rm SP}^N$ < 15 : $NV = fRrefNeedleValveCof_{3,0} + fRrefNeedleValveCof_{3,1} * T_{\rm SP}^N$
    for xv < $T_{\rm SP}^N$ < 350 : $NV = fRrefNeedleValveCof_{4,0} + fRrefNeedleValveCof_{4,1} * T_{\rm SP}^N$
  • Set the setpoint on the sample LS340.
  • If no PID'due south are given, the zone settings of the LS340 apply.
  • Store the D value internally and switch it than to zero.
  • If the condition $(T_{\rm sp}^N - T_m) / T_{\rm sp}^N = d_r$, where $T_m$ is the measured temperature and $d_r = $ d_set_ratio in the XML startup file, reset D to its original value.
  • Await FOR STABILITY by calling PLemAutoRun::CheckTempStability() and PLemAutoRun::SampleTempConsiderFlow() periodically. The kickoff routine is checking if the required stability is reached. The 2nd routine decides if it is necessary to adjust the menses based on the heater history.
  • When the stability is reached or the timeout fired, open up the BPVY (simply if it was initially open) and ramp the sample region HV's back if necessary.
  • Open the BPVX sliding valve (between moderator- and trigger-chamber). This is only done, if the BPVX has been open at the beginning of the command, otherwise it will stay airtight.

Decreasing Temperature

Decreasing temperature works the fastest, if demand temperature ramping (in the post-obit called ramping) value is fix to zilch! Information technology is withal possible to use it but than you are on your one, concerning the time abiding of the cooling down. Furthermore you demand to consider the He period by yourself since, if not given explicitly, the algorithm will simply set the flow of the end demand temperature resulting in the predominant number of cases in cooling rates of < 1 Yard/min!

Here the post-obit procedure is followed:

  • Close the BPVX sliding valve (between moderator- and trigger-chamber) to protect the moderator.
  • Check if demand temperature ramping is given:
    • yes, set it
    • no, set it to zero. This assures a time efficient cooling even when the user has forgotten to set it to zero. Still it is possible to use ramping is needed, merely by explicitly setting it.
  • Set the new setpoint of the LS340.
  • If no PID's are given, the zone settings of the LS340 apply.
  • Store the D value internally and switch it than to zilch.
  • If NO ramping is given
  • Else if ramping is given
  • Wait FOR STABILITY by calling PLemAutoRun::CheckTempStability() and PLemAutoRun::SampleTempConsiderFlow() periodically. The kickoff routine is checking if the required stability is reached. The 2d routine decides if it is necessary to adjust the period based on the heater history.
  • Open up the BPVX sliding valve (between moderator- and trigger-sleeping accommodation). This is simply washed, if the BPVX has been open at the first of the command, otherwise it will stay closed.

Implementation of Set Run Title

As described in Run Championship, the user tin include some specific tags, which are than replaced by their values from the ODB. The question is: when is this done? It is actually done when the command is executed, i.e. the run championship should almost always been placed straight before a run commencement control (Run Start Command)

Description of the XML Startup Files and the Parameters

The lemAutoRun uses 2 startup XML files to obtain most of the essential parameter for operation. The offset i ( lemAutoRun.xml ) is a global one, holding all the informations which are independent of the sample cryostat in use, whereas the 2d ane depends on the sample cryo, property all its necessary parameters. The names for the sample cryo XML files are:

  • lemAutoRun_KontiCryo1.xml for the Konti-1
  • lemAutoRun_KontiCryo2.xml for the Konti-2
  • lemAutoRun_KontiCryo3.xml for the Konti-3
  • lemAutoRun_LowTemp1.xml for the LowTemp-1 (sometime Mango)
  • lemAutoRun_LowTemp2.xml for the LowTemp-2 (quondam Lemon)

The principal XML files, i.e. the ones which are in the repository, are found under $MIDAS_WORK/lemQt/lemAutoRun/src. If a permanent change is needed they should be changed in that location and the corresponding file(s) should be submitted to the repository. In gild that they will be used, they have to be transferred to the XML working directory which is $MIDAS_WORK/bin/.lemXMLs.

In the header of this startup files there is a comment block explaining all the divers variables (except those which are obvious). Here simply those variables which might needed to exist tweaked are shortly explained.

  • max_temp_increase: If a temperature increase is greater than this number [in (K)], the HV's in the sample region will exist close downward and the sliding valve between the trigger- and the sample-chamber (BPVY) will be closed while increasing the temperature.
  • field_timeout: If the prepare field value is not reached within this period [in (sec)], an error messages will exist generated and the autorun sequence stops.
  • field_accuracy: This value is the necessary field precision needed [in (A) for the moment], before going on.
  • hv_timeout: If the sample HV value is not reached within this period [in (sec)], an error messages will be generated and the autorun sequence stops.
  • hv_accuracy: The required sample HV accuracy [in (kV)].
  • bh_max_flow: maximal allowed operational He flow of the Bronkhorst period meter.
  • bh_min_flow: minimal allowed operational He flow of the Bronkhorst flow meter.
  • bh_flow_p_heat_0: come across Stable Temperature
  • bh_flow_p_heat_1: run across Stable Temperature
  • bh_flow_d_heat: see Stable Temperature
  • bh_flow_temp: see Increasing Temperature
  • bh_flow_temp_offset: see Increasing Temperature
  • bh_flow_offset: run into Increasing Temperature
  • d_set_ratio: see Increasing Temperature
  • abs_max_temp_diff: used to decide if temperature stability during the run is OK [in (G), run into also PLemAutoRun::SampleTempStable()].
  • rel_max_temp_diff: required relative temperature stability during the run [run across also PLemAutoRun::SampleTempStable()].
  • max_temp_trend: The showtime derivative of the parabolic model needs to be smaller than this value in order that the stability criteria is fulfilled [in (K/sec), run across also PLemAutoRun::SampleTempStable()].
  • heater_min: allowed lower heater value of the LS340 [in (%)]
  • heater_max: allowed lower heater value of the LS340 [in (%)]
  • timeout_flow_set: timeout after which the flow setting is reconsidered [in (sec)].
  • flow_factor: adjusting cistron for the He menses [see also PLemAutoRun::SampleTempConsiderFlow()].
  • flow_set_ratio: run into Decreasing Temperature
  • flow_set_absolute: see Decreasing Temperature
  • flow_timeout_reduction: come across Decreasing Temperature
  • flowLowestFlowToConsider: come across Stable Temperature
  • flowMaxRelFlowDiffToConsider: see Stable Temperature
  • dFlowDp0: come across Decreasing Temperature
  • dFlowDp1: see Decreasing Temperature
  • dFlowDpExp: run across Decreasing Temperature
  • heatCapCof1: see Decreasing Temperature
  • heatCapCof2: see Decreasing Temperature
  • heatCapCof3: encounter Decreasing Temperature
  • needleValveInUse>: see Stable Temperature
  • prefNeedleValveCof_1_0: see Decreasing Temperature and Increasing Temperature
  • prefNeedleValveCof_1_1: see Decreasing Temperature and Increasing Temperature
  • prefNeedleValveCof_2_0: run across Decreasing Temperature and Increasing Temperature
  • prefNeedleValveCof_2_1: come across Decreasing Temperature and Increasing Temperature
  • prefNeedleValveCof_3_0: encounter Decreasing Temperature and Increasing Temperature
  • prefNeedleValveCof_3_1: see Decreasing Temperature and Increasing Temperature
  • prefNeedleValveCof_4_0: see Decreasing Temperature and Increasing Temperature
  • prefNeedleValveCof_4_1: see Decreasing Temperature and Increasing Temperature
  • prefNeedleValveRelStep>: see Stable Temperature
  • prefNeedleValveAbsStep: come across Stable Temperature

brownthrepar.blogspot.com

Source: http://lmu.web.psi.ch/docu/nemu/lemQt/lemAutoRun/html/

0 Response to "Starting a Process Back Up Again Lem"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel