Scan System Update

undefined
Scan System
Update
K
a
y
 
K
a
s
e
m
i
r
,
M
a
y
 
2
0
1
5
Scan Server
 
Sample
Environment
Equipments
Sample
Environment
Equipments
Sample
Environment
Equipment
GUI: CSS
Script
EPICS
IOCs
Scan Server
C
h
a
n
n
e
l
 
A
c
c
e
s
s
R
E
S
T
What
 it is and isn’t*
I
s
A
u
t
o
m
a
t
i
o
n
 
v
i
a
 
C
h
a
n
n
e
l
 
A
c
c
e
s
s
S
c
a
n
 
=
 
B
a
t
c
h
 
o
f
 
c
o
m
m
a
n
d
s
Q
u
e
u
e
 
m
u
l
t
i
p
l
e
 
s
c
a
n
s
B
a
s
i
c
 
v
a
l
u
e
 
l
o
g
g
i
n
g
S
u
b
m
i
t
,
 
m
o
n
i
t
o
r
,
 
p
a
u
s
e
,
 
r
e
s
u
m
e
,
 
a
b
o
r
t
* .. depends on your definition of “is”
I
s
n
t
S
y
n
c
h
r
o
n
i
z
a
t
i
o
n
 
o
f
 
a
c
t
i
o
n
s
 
b
e
y
o
n
d
 
C
h
a
n
n
e
l
 
A
c
c
e
s
s
D
a
t
a
 
A
c
q
u
i
s
i
t
i
o
n
 
(
l
o
g
 
e
v
e
r
y
 
e
v
e
n
t
,
 
c
a
t
a
l
o
g
,
 
k
e
e
p
 
f
o
r
e
v
e
r
)
Set,
 Loop Commands
S
e
t
 
s
o
m
e
_
p
v
 
=
 
3
.
1
4
L
o
o
p
 
s
o
m
e
_
p
v
 
=
 
1
.
.
1
0
,
 
s
t
e
p
 
0
.
5
O
p
t
i
o
n
a
l
l
y
A
w
a
i
t
 
c
o
m
p
l
e
t
i
o
n
 
(
p
u
t
-
c
a
l
l
b
a
c
k
)
C
h
e
c
k
 
r
e
a
d
-
b
a
c
k
 
t
o
 
m
a
t
c
h
 
w
r
i
t
t
e
n
 
v
a
l
u
e
 
(
s
a
m
e
 
o
r
 
o
t
h
e
r
 
p
v
)
.
.
 
W
i
t
h
 
n
u
m
e
r
i
c
 
t
o
l
e
r
a
n
c
e
T
i
m
e
o
u
t
Direction of (Nested) Loops
L
o
o
p
(
x
,
 
0
,
 
5
,
 
1
)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
L
o
o
p
(
x
,
 
0
,
 
5
,
 
1
,
 
 
 
L
o
o
p
(
y
,
 
0
,
 
5
,
 
-
1
 
 
 
m
i
s
m
a
t
c
h
Other Commands
W
a
i
t
 
f
o
r
 
p
v
1
 
 
>
 
1
0
0
W
a
i
t
 
f
o
r
 
p
v
2
 
t
o
 
i
n
c
r
e
m
e
n
t
 
b
y
 
2
0
0
G
e
t
-
c
a
l
l
b
a
c
k
 
f
o
r
 
i
n
i
t
i
a
l
 
v
a
l
u
e
,
 
t
h
e
n
 
m
o
n
i
t
o
r
s
L
o
g
 
p
v
1
,
 
p
v
2
,
 
p
v
2
G
e
t
-
c
a
l
l
b
a
c
k
 
f
o
r
 
c
u
r
r
e
n
t
 
v
a
l
u
e
,
 
t
o
 
R
D
B
I
n
v
o
k
e
 
M
y
S
c
r
i
p
t
J
y
t
h
o
n
-
b
a
s
e
d
 
c
u
s
t
o
m
 
c
o
m
m
a
n
d
s
Like Sequencer?
Y
e
s
:
 
R
e
a
d
/
w
r
i
t
e
 
C
h
a
n
n
e
l
 
A
c
c
e
s
s
N
o
 
c
o
m
p
i
l
a
t
i
o
n
M
o
n
i
t
o
r
 
&
 
c
o
n
t
r
o
l
 
p
r
o
g
r
e
s
s
 
o
f
 
s
c
a
n
B
a
s
i
c
 
d
a
t
a
 
l
o
g
S
c
h
e
d
u
l
e
 
m
u
l
t
i
p
l
e
 
s
c
a
n
s
N
o
 
a
r
b
i
t
r
a
r
y
 
C
 
c
o
d
e
N
o
 
i
f
-
t
h
e
n
-
e
l
s
e
 
c
o
m
m
a
n
d
Like Scan Record?
L
o
o
p
 
y
=
1
.
.
1
0
:
 
 
 
 
 
L
o
o
p
 
x
=
1
.
.
5
:
 
 
 
 
 
 
 
 
 
 
S
e
t
 
d
e
t
_
t
r
i
g
g
e
r
=
1
 
w
i
t
h
 
c
o
m
p
l
e
t
i
o
n
,
 
 
 
 
 
 
 
 
 
 
L
o
g
 
x
.
R
B
V
,
 
y
.
R
B
V
,
 
d
e
t
_
c
o
u
n
t
s
M
o
n
i
t
o
r
,
 
p
a
u
s
e
,
 
r
e
s
u
m
e
,
 
a
b
o
r
t
.
S
a
v
e
,
 
e
d
i
t
,
 
r
e
s
u
b
m
i
t
 
s
c
a
n
s
 
 
 
 
 
v
s
.
 
 
 
 
 
s
a
v
e
/
r
e
s
t
o
r
e
 
s
c
a
n
 
r
e
c
o
r
d
s
.
A
d
d
 
3
r
d
 
l
o
o
p
 
w
i
t
h
o
u
t
 
r
e
b
o
o
t
i
n
g
 
I
O
C
 
t
o
 
a
d
d
 
3
r
d
 
s
c
a
n
 
r
e
c
o
r
d
Q
u
e
u
e
 
m
u
l
t
i
p
l
e
 
s
c
a
n
s
L
o
g
s
 
t
o
 
R
D
B
 
w
/
 
R
E
S
T
 
r
e
a
d
o
u
t
.
 
N
o
 
M
D
A
/
X
D
R
/
N
e
x
u
s
.
REST Interface
Scan Editor
Open, save
Python API
Site-Specific Settings
c
l
a
s
s
 
B
e
a
m
l
i
n
e
S
c
a
n
S
e
t
t
i
n
g
s
(
S
c
a
n
S
e
t
t
i
n
g
s
)
:
 
 
 
 
d
e
f
 
_
_
i
n
i
t
_
_
(
s
e
l
f
)
:
 
 
 
 
 
 
 
 
s
e
l
f
.
d
e
f
i
n
e
D
e
v
i
c
e
C
l
a
s
s
(
"
c
h
o
p
p
e
r
:
.
*
"
,
 
c
o
m
p
l
e
t
i
o
n
=
T
r
u
e
)
 
 
 
 
 
 
 
 
s
e
l
f
.
d
e
f
i
n
e
D
e
v
i
c
e
C
l
a
s
s
(
"
m
o
t
o
r
.
*
"
,
 
c
o
m
p
l
e
t
i
o
n
=
T
r
u
e
,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
r
e
a
d
b
a
c
k
=
T
r
u
e
)
 
 
 
 
d
e
f
 
g
e
t
R
e
a
d
b
a
c
k
N
a
m
e
(
s
e
l
f
,
 
d
e
v
i
c
e
_
n
a
m
e
)
:
 
 
 
 
 
 
 
 
i
f
 
"
m
o
t
o
r
"
 
i
n
 
d
e
v
i
c
e
_
n
a
m
e
:
 
 
 
 
 
 
 
 
 
 
 
 
r
e
t
u
r
n
 
d
e
v
i
c
e
_
n
a
m
e
 
+
 
"
.
R
B
V
 
 
 
 
 
 
 
 
r
e
t
u
r
n
 
d
e
v
i
c
e
_
n
a
m
e
S
e
t
(
x
,
 
4
2
)
 
 
 
 
 
 
GUI for Routine Beam Line Task
Under the hood
Scan Server
Alignment Scan
Table Scan
L
o
a
d
/
s
a
v
e
*
.
c
s
v
,
 
*
.
x
l
s
Scripted Scan
Parallel
 Command
Sequence Command
S
c
a
n
 
M
o
n
i
t
o
r
Scan Plot
P
l
o
t
 
v
a
r
i
a
b
l
e
s
 
l
o
g
g
e
d
 
b
y
 
s
c
a
n
G
e
t
 
d
a
t
a
 
f
r
o
m
 
R
u
n
n
i
n
g
 
o
r
 
F
i
n
i
s
h
e
d
 
s
c
a
n
s
Summary
S
c
a
n
 
S
y
s
t
e
m
 
h
e
l
p
s
 
a
u
t
o
m
a
t
e
 
S
N
S
 
s
i
n
c
e
 
2
0
1
3
S
c
a
n
 
S
e
r
v
e
r
:
 
R
E
S
T
 
i
n
s
t
e
a
d
 
o
f
 
J
N
I
P
y
t
h
o
n
 
A
P
I
:
 
P
u
r
e
 
P
y
t
h
o
n
 
i
n
s
t
e
a
d
 
o
f
 
J
y
t
h
o
n
T
h
a
n
k
s
 
t
o
 
Q
u
i
 
Y
o
n
g
x
i
a
n
g
,
 
G
u
o
b
a
o
 
S
h
e
n
,
 
D
y
l
a
n
 
M
a
x
w
e
l
l
N
e
w
 
P
a
r
a
l
l
e
l
 
&
 
S
e
q
u
e
n
c
e
 
c
o
m
m
a
n
d
s
B
i
g
g
e
s
t
 
I
s
s
u
e
:
C
a
n
t
 
u
s
e
 
n
u
m
p
y
 
(
F
o
r
t
r
a
n
)
 
i
n
s
i
d
e
 
S
c
r
i
p
t
 
c
o
m
m
a
n
d
 
(
J
y
t
h
o
n
)
Slide Note
Embed
Share

Scan System Update Kay Kasemir, May 2015. Set and loop commands, direction of nested loops, other commands, and features of the system update. Automation via Channel Access, managing commands, loops, and scripts. Managed by UT-Battelle for the U.S. Department of Energy. Enhancing control and monitoring capabilities for data acquisition and logging processes.

  • Scan System Update
  • Channel Access
  • Automation
  • Data Acquisition
  • UT-Battelle

Uploaded on Feb 18, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Scan System Update Kay Kasemir, May 2015

  2. Scan Server Sample Sample Environment Environment Equipment Sample Environment Equipments Equipments GUI: CSS REST Scan Server Script EPICS IOCs Channel Access 2 Managed by UT-Battelle for the U.S. Department of Energy

  3. What it is and isnt* Is Automation via Channel Access Scan = Batch of commands Queue multiple scans Basic value logging Submit, monitor, pause, resume, abort Isn t Synchronization of actions beyond Channel Access Data Acquisition (log every event, catalog, keep forever) 3 Managed by UT-Battelle for the U.S. Department of Energy * .. depends on your definition of is

  4. Set, Loop Commands Set some_pv = 3.14 Loop some_pv = 1..10, step 0.5 Optionally Await completion (put-callback) Check read-back to match written value (same or other pv) .. With numeric tolerance Timeout 4 Managed by UT-Battelle for the U.S. Department of Energy

  5. Direction of (Nested) Loops Loop( x , 0, 5, 1) 0, 1, 2, 3, 4, 5 Loop( y , 5, 0, -1) 5, 4, 3, 2, 1, 0 Loop( x , 0, 5, 1, Loop( y , 0, 5, -1)) Alternate direction on mismatch 5 Managed by UT-Battelle for the U.S. Department of Energy

  6. Other Commands Wait for pv1 > 100 Wait for pv2 to increment by 200 Get-callback for initial value, then monitors Log pv1 , pv2 , pv2 Get-callback for current value, to RDB Invoke MyScript Jython-based custom commands 6 Managed by UT-Battelle for the U.S. Department of Energy

  7. Like Sequencer? Yes: Read/write Channel Access No compilation Monitor & control progress of scan Basic data log Schedule multiple scans No arbitrary C code No if-then-else command 7 Managed by UT-Battelle for the U.S. Department of Energy

  8. Like Scan Record? Loop y=1..10: Loop x=1..5: Set det_trigger =1 with completion, Log x.RBV , y.RBV , det_counts Monitor, pause, resume, abort. Save, edit, resubmit scans vs. save/restore scan records. Add 3rd loop without rebooting IOC to add 3rd scan record Queue multiple scans Logs to RDB w/ REST readout. No MDA/XDR/Nexus. 8 Managed by UT-Battelle for the U.S. Department of Energy

  9. REST Interface 9 Managed by UT-Battelle for the U.S. Department of Energy

  10. Scan Editor Add commands Open, save Set parameters 10 Managed by UT-Battelle for the U.S. Department of Energy

  11. Python API 11 Managed by UT-Battelle for the U.S. Department of Energy

  12. Site-Specific Settings class BeamlineScanSettings(ScanSettings): def __init__(self): self.defineDeviceClass("chopper:.*", completion=True) self.defineDeviceClass("motor.*", completion=True, readback=True) def getReadbackName(self, device_name): if "motor" in device_name: return device_name + ".RBV return device_name Set( x , 42) Set( motor_x , 42) Set( x , 42 ) Set( motor_x , 42, completion=True, readback= motor_x.RBV) 12 Managed by UT-Battelle for the U.S. Department of Energy

  13. GUI for Routine Beam Line Task 13 Managed by UT-Battelle for the U.S. Department of Energy

  14. Under the hood Scan Server 14 Managed by UT-Battelle for the U.S. Department of Energy

  15. Alignment Scan 15 Managed by UT-Battelle for the U.S. Department of Energy

  16. Table Scan Load/save *.csv, *.xls 16 Managed by UT-Battelle for the U.S. Department of Energy

  17. Scripted Scan 17 Managed by UT-Battelle for the U.S. Department of Energy

  18. Parallel Command 18 Managed by UT-Battelle for the U.S. Department of Energy

  19. Sequence Command 19 Managed by UT-Battelle for the U.S. Department of Energy

  20. Scan Monitor Scan Monitor 20 Managed by UT-Battelle for the U.S. Department of Energy

  21. Scan Plot Plot variables logged by scan Get data from Running or Finished scans 21 Managed by UT-Battelle for the U.S. Department of Energy

  22. Summary Scan System helps automate SNS since 2013 Scan Server: REST instead of JNI Python API: Pure Python instead of Jython Thanks to Qui Yongxiang, Guobao Shen, Dylan Maxwell New Parallel & Sequence commands Biggest Issue: Can t use numpy (Fortran) inside Script command (Jython) 22 Managed by UT-Battelle for the U.S. Department of Energy

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#