Large Acceptance and High Extinction Pion/Muon Beamline for the MECO Experiment at BNL
SNS Beamline Experiment Control (Future)
description
Transcript of SNS Beamline Experiment Control (Future)
![Page 1: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/1.jpg)
SNS Beamline Experiment Control (Future)
Xihui Chen, Kay Kasemir4/15/2013
![Page 2: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/2.jpg)
2 Managed by UT-Battellefor the U.S. Department of Energy
Overall Picture
Sample Environment Equipments
Sample Environment Equipments
Sample Environment
Detector Instrument Events Aggregator Translation Service
Mantid
Nexus
Neutron Count, Histogram, ..
Service
Data Stream
GUI: CSSGUI: CSSGUI: CSS
EPICSIOCs
Scan Server
Channel Access
Experiment Control
![Page 3: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/3.jpg)
3 Managed by UT-Battellefor the U.S. Department of Energy
Building blocks
Motor Camera ICP Misc.
Scan Server
Archive Engine
BOY Data Browser Scan UI
Autosave
IOCs
Services
User Interface Alarm UI Pydev, Git …
Alarm Server
StatisticServer
Only choose the blocks that you need to build your own experiment control system
![Page 4: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/4.jpg)
4 Managed by UT-Battellefor the U.S. Department of Energy
A real example at imaging beamline
Raw 2D image
Integrated Motor Controls
Constant monitoring of data acquisition progress with estimate of duration of a 2D (kinetic) and 3D (CT) scans
2D and 3D scans options
Direct access to data
![Page 5: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/5.jpg)
5 Managed by UT-Battellefor the U.S. Department of Energy
Automated Experiment Control – Scan System
“Scan” should be easy and robustGraphical:
… or script:
• Monitor, pause, resume, abort
Open Shutter
Wait for certain beam charge to accumulate
Step motorX += 1
X < 10 ?
No
Yes
Set motor X = 0
Close Shutter
A scan example
![Page 6: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/6.jpg)
6 Managed by UT-Battellefor the U.S. Department of Energy
Why not EPICS Sequencer?
−Compile, link, …−No GUI−No progress, pause, resume−Can do anything
Excellent for “permanent” automation,not for changing scan scenarios
![Page 7: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/7.jpg)
7 Managed by UT-Battellefor the U.S. Department of Energy
Why not Scripts (Python, Jython, Scala, …)?
−No progress, pause, resume−Can do most anything
−Lost of Control−Difficult
−Error prone−Missing of common Scan functions
−Error checking and handling−Simulation
“Works”, but…
![Page 8: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/8.jpg)
8 Managed by UT-Battellefor the U.S. Department of Energy
APS “Scan Engine”Claude Saunders, Mitch McCuiston, Brian Tieman, Tim Mooney “Scan Engine” executes submitted scans Scan = List of robust commands
“Loop” command Pause, Resume CSS PV instead of new PV layer Tight CSS GUI integration AND basic script access
![Page 9: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/9.jpg)
9 Managed by UT-Battellefor the U.S. Department of Energy
Scan Commands• Set
– Set device (PV) to a value.– Optional wait for read-back, same or other PV, with timeout.
• Wait– Wait until a device (PV) reaches a certain value. Support condition: >, <, ==, >=, <=,
increment-by, decrease-by. Optional timeout.
• Loop– Command that performs a loop, optional read-back and timeout.
• Log– Log data for plot in addition to variables used by Set, Wait, Loop
• Delay– Delay for a certain time. Discouraged. Use Wait.
• Script– Execute jython code. Use with care.
Custom commands can be added via Eclipse extension points.
![Page 10: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/10.jpg)
10 Managed by UT-Battellefor the U.S. Department of Energy
Experiment Control for EPICS
Sample Environment Equipments
Sample Environment Equipments
Sample Environment Equipment
GUI: CSS
Jython, Matlab, …EPICSIOCs
Channel Access
ScanServer
A scan
Client side:Assemble scanSubmit scanMonitor scan
Scan Server:Keep the queue of ScansExecute Scans
![Page 11: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/11.jpg)
11 Managed by UT-Battellefor the U.S. Department of Energy
Scan Server• CSS/Eclipse ‘headless’ application• ‘PV’: EPICS, simulated• Telnet interface: Status, pause, resume, …• Java RMI interface: Submit, status, pause, resume, get data, …
– Scans transferred in XML format– RMI = Java, Jython, Matlab, Scala, JRuby, …
• RESTful web interface
![Page 12: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/12.jpg)
12 Managed by UT-Battellefor the U.S. Department of Energy
Scan Client
• Can be anything as long as it can talk to Scan Server using the provided interfaces– CSS– Matlab– Python– LabVIEW– Web browser– …
![Page 13: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/13.jpg)
13 Managed by UT-Battellefor the U.S. Department of Energy
BOY Example 1. Configure
2. Start
3. Monitor
![Page 14: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/14.jpg)
14 Managed by UT-Battellefor the U.S. Department of Energy
Tabular OPI
![Page 15: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/15.jpg)
15 Managed by UT-Battellefor the U.S. Department of Energy
Scan Monitor
List Scans on Server– Idle: To be executed next– Running: With progress report– Finished, Failed: Past runs
![Page 16: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/16.jpg)
16 Managed by UT-Battellefor the U.S. Department of Energy
Scan Plot
• Plot variables used by scan• Get data from Running or Finished scans
![Page 17: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/17.jpg)
17 Managed by UT-Battellefor the U.S. Department of Energy
ScanEditor Add commands
Set parameters
Open, save
• “Undo”• Drag/drop
commands or PV names (also as XML text)• Device PVs (or alias) can be picked from beamline-specific
configuration
![Page 18: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/18.jpg)
18 Managed by UT-Battellefor the U.S. Department of Energy
Simulation Mode
• Simulated PV changes• Estimates times
![Page 19: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/19.jpg)
19 Managed by UT-Battellefor the U.S. Department of Energy
Monitor, Adjust Live Scan
Active Command
Scan Info
Adjust propertiesof live scan
![Page 20: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/20.jpg)
20 Managed by UT-Battellefor the U.S. Department of Energy
Scripted Scan
… or use ‘vi’, shell:from scan_client import *help(scan)scan('Demo', ('xpos', 1, 10))
Jython editor, debugger
Jython console
![Page 21: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/21.jpg)
21 Managed by UT-Battellefor the U.S. Department of Energy
MatlabCreate Scan
Monitor
Analyze(maybe submit follow-
up scan)
![Page 22: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/22.jpg)
22 Managed by UT-Battellefor the U.S. Department of Energy
Performance
• Command Execution– 80000 commands/second: Delay 0 sec, Set w/o read-
back– 4500 commands/second: Set w/ read-back, Loop
• Download scan into Editor– 10000 commands: 1 second– 50000 commands: 15 seconds
• Stability– Continuously running for two months so far.
![Page 23: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/23.jpg)
23 Managed by UT-Battellefor the U.S. Department of Energy
Web Interface Development
![Page 24: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/24.jpg)
24 Managed by UT-Battellefor the U.S. Department of Energy
Beamline Setup
• Network• Version Control, Issue Tracking, Wiki• Directory Layout• IOC Control
![Page 25: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/25.jpg)
25 Managed by UT-Battellefor the U.S. Department of Energy
Network
• Beam lines are as autonomous as possible– Beam line X cannot read/write beam line Y
• Instrument hall coordinator, SNS/HFIR personnel, visitors on ORNL network can read most beam line information
– For any beam line
• World may be able to read some beam line information
• Limited, controlled write access from ORNL network– ssh access for config, maintainance
– Selected actions may be allowed via web server
![Page 26: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/26.jpg)
26 Managed by UT-Battellefor the U.S. Department of Energy
Server
![Page 27: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/27.jpg)
27 Managed by UT-Battellefor the U.S. Department of Energy
Version Control - Git• http://git-scm.com/• Distributed Version Control System• Lighting Fast• Easy and powerful in branching and merging
• Nice CSS Integration– Commit– Pull/Push– Compare
![Page 28: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/28.jpg)
28 Managed by UT-Battellefor the U.S. Department of Energy
Git Repositories• Shared repositories
– epics• Including base, support modules, extensions
– css• Including CSS, ScanServer, Archive Engine, Alarm Server, settings.ini
– share• Including shared OPI files , scan files, images ...
• Beamline specific repositories– bl1
• bl1 related IOC applications, configuration files, OPI files, scan files…– bl2– bl3– …
![Page 29: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/29.jpg)
29 Managed by UT-Battellefor the U.S. Department of Energy
wiki and issue tracking• Trac
– http://trac.edgewall.org/– Integrated wiki, issue tracking system for software
development– Integrate with git to browse source, tracking changes…– Open source project
![Page 30: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/30.jpg)
30 Managed by UT-Battellefor the U.S. Department of Energy
wiki• Allow all members to edit/browse document online
![Page 31: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/31.jpg)
31 Managed by UT-Battellefor the U.S. Department of Energy
Issue Tracking• Each issue is a ticket
– Owner– Type– Status
![Page 32: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/32.jpg)
32 Managed by UT-Battellefor the U.S. Department of Energy
Browse Source• Browse source in repositories
![Page 33: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/33.jpg)
33 Managed by UT-Battellefor the U.S. Department of Energy
Tracking Source Changes
![Page 34: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/34.jpg)
34 Managed by UT-Battellefor the U.S. Department of Energy
Directory Layout• A unified directory layout on every beamline
– /home/controls/• Root of all (slow) controls files
– /home/controls/{beamline}/ • Beam-line-specific EPICS, CSS and OPI files
– /home/controls/share/ • Shared operator interface files
– /home/controls/css/ • CSS binaries, shared CSS configuration files
– /home/controls/epics/ • EPICS base, device support, extensions
– /home/controls/var/ • Variable area for EPICS IOCs (autosave files, ...)
![Page 35: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/35.jpg)
35 Managed by UT-Battellefor the U.S. Department of Energy
Directory Layout
IOC applications
Beamline specific environment setup file
General epics environment setup file
Support modules, such as areaDetector, motor recordsExtensions, such as ca gateway, ImageJ…
Beamline specific CSS, scan server settings,startup scripts…
Beamline specific configuration file
![Page 36: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/36.jpg)
36 Managed by UT-Battellefor the U.S. Department of Energy
Environment setup• Common setup - epics/R3.14.12.2/setup.profile
• Beamline specific setup – bl99/setup.profile
export EPICS_BASE=${EPICS}/base…export EPICS_HOST_ARCH=`"${EPICS_BASE}"/startup/EpicsHostArch.pl`…export JAVA_HOME=/usr/lib/jvm/java-1.7.0-sun.x86_64export PATH="${JAVA_HOME}/bin:$PATH"…umask 0002…
#source common setupsource /home/controls/epics/R3.14.12.2/setup.profile
#specific IP address for each beamlineexport EPICS_CA_ADDR_LIST="192.168.1.255“export EPICS_CAS_INTF_ADDR_LIST="192.168.1.101“…
![Page 37: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/37.jpg)
37 Managed by UT-Battellefor the U.S. Department of Energy
Beamline Configuration file – bl1/beamline.xml
• Required (soft) IOCs– Used by separate tools to start/stop as required
• Scan System Aliases– Available within scans
• Simulation Info– Slew rates
• DAQ info– Which channels
to log withneutron data?
![Page 38: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/38.jpg)
38 Managed by UT-Battellefor the U.S. Department of Energy
Soft IOC control –iocs.py• Multiple soft IOCs on server, we need to
– Start, Stop IOCs– Check IOCs Status– Connect to IOC console
$ iocs.py -hUsage: iocs.py [options] status | update | start | stop | console | log {IOC name}
Options: -h, --help show this help message and exit -c CONFIG_FILE Configuration file (default: beamline.xml)
Command:status - Display status for all IOCsupdate - Assert that all 'active' IOCs are started, others stoppedstart - Start all IOCs that are not runningstop - Stop all IOCs that are found runningconsole - Open telnet connection to IOC's console (requires specific IOC name)log - Dump the IOC console log
Command is applied to all IOCs unless specific IOCs are listed
![Page 39: SNS Beamline Experiment Control (Future)](https://reader035.fdocuments.in/reader035/viewer/2022062815/56816934550346895de08b68/html5/thumbnails/39.jpg)
39 Managed by UT-Battellefor the U.S. Department of Energy
Thank you!Example setup can be downloaded fromhttp://ics-web.sns.ornl.gov/share/xihui/ihepTraining/