Changes for page Experiment control

Last modified by makuadm on 2026-01-06 17:14

From version 6.1
edited by fwilde
on 2016-04-19 17:05
Change comment: There is no comment for this version
To version 21.1
edited by makuadm
on 2026-01-06 17:14
Change comment: Task [xwiki:P5I.User guide\: µCT at P05.Experiment control.Tasks.Task_1.WebHome] has been updated!

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -IDL at P05 user guide
1 +Experiment control
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.fwilde
1 +XWiki.makuadm
Tags
... ... @@ -1,0 +1,1 @@
1 +micro_ct
Content
... ... @@ -1,5 +1,10 @@
1 +{{layout}}
2 +{{layout-section ac:type="two_right_sidebar"}}
3 +{{layout-cell}}
1 1  == {{id name="Experimentcontrol-Generalremarks"/}}General remarks ==
2 2  
6 +This is a detailed description of the experiment control system. A short overview of  the most commonly iused commands can be found [[here>>doc:P5I.User guide\: µCT at P05.Experiment control.IDL cheat sheet.WebHome]].
7 +
3 3  Beamline control at the P05 µCT hutch uses TANGO server as backend for most applications. At P05 the Interactive Data Language (IDL) serves as user interface to the TANGO servers. IDL procedures and functions provide the functionality to control the µCT experiment and beamline optics components conveniently. A couple of general remarks should facilitate to work with IDL at P05.
4 4  
5 5  * IDL has a command history (use arrow keys to browse through recent commands)
... ... @@ -8,17 +8,110 @@
8 8  IDL makes a difference between PROCEDURES and FUNCTIONS. A procedure is a piece of code that is executed without delivering a return value whereas a function does. A procedure's (optional) arguments are separated with commas. Functions need to be called with brackets and optionally a comma separated argument list inside the brackets.
9 9  
10 10  {{code title="Procedures and functions"}}print, 'hello world.'
11 -i=quick(300)
12 -{{/code}}
16 +i=quick(300){{/code}}\\
13 13  )))
14 14  * (((
15 15  In IDL you can chain commands with the & sign
16 16  
17 -{{code title="Chaining commands"}}i=quick(300) & tv, bytscl(bin(i,4),0,65000){{/code}}
21 +{{code title="Chaining commands"}}i=quick(300) & tv, bytscl(bin(i,4),0,65000){{/code}}\\
18 18  )))
19 19  * (((
20 20  When IDL is ready to accpt commands, the IDL> prompt is printed in a roman font. When IDL is busy doing something (e.g. waiting for a motor to end its move), the //IDL>// prompt is printed in  an italic font.
21 21  
22 -{{info title="Warning"}}When IDL is busy, you **can** enter a new command, but it will not be executed until the last command is finished. In order to avoid confusion always wait until IDL is ready to accept commands before typing a new command.{{/info}}
26 +{{info title="Warning"}}When IDL is busy, you **can** enter a new command, but it will not be executed until the last command is finished. In order to avoid confusion always wait until IDL is ready to accept commands before typing a new command.{{/info}}\\
23 23  )))
24 24  * Scripts can be written inside the IDL IDE and saved as .pro files. A script will not be automatically compiled after saving. Press the compile button in IDL in order to make changes in your code applicable.
29 +
30 +== {{id name="Experimentcontrol-IDLMacroguide"/}}IDL Macro guide ==
31 +
32 +=== {{id name="Experimentcontrol-AboutIDLmacros"/}}About IDL macros ===
33 +
34 +To understand the macro naming convention it helps to categorize the the acors roughly into three categories:
35 +
36 +1. Motor macros
37 +1. Info macros
38 +1. Script macros
39 +
40 +==== {{id name="Experimentcontrol-MotorMacros"/}}Motor Macros ====
41 +
42 +Motor macros loosely follow a certain naming convention according to the [[EH2 setup>>doc:P5I.User guide\: µCT at P05.µCT setup.WebHome]]:
43 +
44 +* (((
45 +commands contain a name for the stage:
46 +
47 +(% class="wrapped" %)
48 +|=(((
49 +command particle
50 +)))|=(((
51 +stage
52 +)))
53 +|(((
54 +o_stage
55 +)))|(((
56 +camera stage
57 +)))
58 +|(((
59 +s_stage
60 +)))|(((
61 +rotation stage
62 +)))
63 +|(((
64 +s_pos
65 +)))|(((
66 +sample stage
67 +)))
68 +|(((
69 +app_tripod or app
70 +)))|(((
71 +base stage
72 +)))
73 +|(((
74 +o_ccd
75 +)))|(((
76 +camera housing
77 +)))
78 +|(((
79 +o
80 +)))|(((
81 +microscope optics
82 +)))
83 +)))
84 +* Most commands are followed by a direction or rotation axis (x,y,z, rot_x, rot_y, rot_z)
85 +* (((
86 +A motor command moves either relative or absolute, e.g:
87 +
88 +{{code}}goto_s_stage_z, -10{{/code}}This moves the rotation stage to the position -10 mm in z direction.
89 +
90 +
91 +
92 +{{code}}s_stage_z, 1{{/code}}This example moves the rotation stage by 1 mm up in z direction.
93 +)))
94 +
95 +==== {{id name="Experimentcontrol-Infomacros"/}}Info macros ====
96 +
97 +These are macros that return one more values which provide information about the state of e.g. a stage or a camera.
98 +
99 +==== {{id name="Experimentcontrol-Scriptmacros"/}}Script macros ====
100 +
101 +Script macros are a collection of lower-level commands to perform a task. The most striking script macros is probably the scan macro, which perform a complete tomographic scan without any further interaction with the user.
102 +{{/layout-cell}}
103 +
104 +{{layout-cell}}
105 +{{panel borderColor="blue" titleColor="white" titleBGColor="blue" title="Table of Contents"}}
106 +{{toc/}}
107 +{{/panel}}
108 +
109 +{{panel borderColor="red" titleColor="white" titleBGColor="red" title="todo"}}
110 +Attention: this user guide is yet very incomplete.
111 +
112 +(% class="task-list" %)
113 +(((
114 +{{task reference="/Tasks/Task_1" status="Done" completeDate="2026-01-06" createDate="2026-01-06" reporter=""}}
115 +Continue IDL at EH2 user guide
116 +{{mention reference="XWiki.fwilde" anchor="XWiki-fwilde-AumQL" style="FULL_NAME"/}}
117 +{{/task}}
118 +)))
119 +{{/panel}}
120 +{{/layout-cell}}
121 +{{/layout-section}}
122 +{{/layout}}
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -34026565
1 +34023196
Title
... ... @@ -1,1 +1,1 @@
1 -IDL at P05 user guide
1 +Experiment control
URL
... ... @@ -1,1 +1,1 @@
1 -https://confluence.desy.de/spaces/P5I/pages/34026565/IDL at P05 user guide
1 +https://confluence.desy.de/spaces/P5I/pages/34023196/Experiment control