Hi Hinko,
There are training talks that include the sscan record here (see Higher Level Controls section)
https://epics.anl.gov/docs/APS2015.php
At its simplest the sscan record is designed to do the following in a loop
- Drive one or more "positioners"
- Wait for the positioners to complete
- Trigger one or more "detectors"
- Wait for the detectors to complete
- Read the values of the detectors
The positioner readbacks and the detector values are stored in array PVs in the sscan record so they can be read out by a client after the scan completes. They can be plotted as the scan is in progress.
sscan records can be nested to create multi-dimensional scans.
There is a "saveData" utility to save the data from the sscan records while they are scanning. Other clients can also do this.
The sscan record does not store the timestamps of the positioner readbacks or the detectors. Thus is may not meet your requirements.
There is more sophisticated Python client software to do scanning, for example Bluesky.
https://nsls-ii.github.io/bluesky/
It does store data with timestamps.
Mark
________________________________
From: Hinko Kocevar <[email protected]>
Sent: Saturday, May 25, 2019 10:35 AM
To: Mark Rivers
Cc: [email protected]
Subject: Re: Scanning 101
Mark, regarding the timing, I'm working with MRF EVG/EVR timing system. I'm mostly looking at uTCA AMC or IPC PCI based cards.
As you probably know, one would use mrfioc2 to configure EVR to produce triggers on a backplane or frontpanel upon receiving an event from EVG.
In addition, EVR can keep track of (absolute) time to be used to timestamp records of choice (through TSEL field).
The machine repetition rate is 14Hz, and I would like to have relevant PVs all be timestamped at that precision.
The (soft) IOC runs on Linux based OS, and it could potentially incorporate all the support modules needed for scanning (DAQ, motion, timing,..).
Torsten, motion controller in my case is from ESS MCAG, ecmc based, AFAICT. I would need to more insight into the motor control and how it could be coupled with scanning application, though. Will contact you offline for some guidance, if I may, especially in regard to EVR timestamping.
I would like to stick to the EPICS records to perform scanning, and not rely on other codes and/or programing languages. I can not tell if this (self-imposed) restrictions are getting me the furthest, though.
To elaborate, my /simplest/ use case is:
* single axis motor control, w/ encoder readout and limit switch handling based on Ethercat (ESS ecmc)
* single DAQ channel
* EVR triggered DAQ
* EVR timestamped (cherry picked) PV
* optionally control other units (HV bias,..)
I want to:
* move the motor in position (let is settle?),
* check limit switches,
* read encoder values,
* acquire several waveforms (optionally perform waveform averaging / ROI / other processing to produce a single value),
* timestamp my favorite PVs,
* archive (using Archiver Aappliance or HDF5 file or ??) all my favorite PVs,
* .. repeat the above steps n-times
The ultimate goal is to be able to retrieve the archived PVs and correlate them using the timestamp in order to reconstruct the measurement/scan.
Will look into sscan module docs.
Would one use EPICS sequencer for any reason with scanning?
Is there a minimalistic (dummy) IOC to be studied that does scanning?
Thanks!
//hinko
________________________________________
From: Mark Rivers <[email protected]>
Sent: Thursday, May 23, 2019 12:37:32 PM
To: Hinko Kocevar
Cc: [email protected]
Subject: Re: Scanning 101
Hi Hinko,
My first response would be to use the sscan record. But I need more explanation of what you mean by "timing system with precision triggering and timestamping".
Mark
Sent from my iPhone
> On May 23, 2019, at 4:12 AM, Hinko Kocevar via Tech-talk <[email protected]> wrote:
>
> Imagine an EPICS developer with no experience in working with (coordinated) scanning application.
>
> The sub-units, of the system in need of scanning feature, include timing system with precision triggering and timestamping, 1 to several axes of motion, control of HV bias and 1 to several channels of data acquisition. You can assume that the (low-level) EPICS modules supporting the hardware are under my control already, I'm interested in orchestrating the scan using above constituents.
>
> What would be preferred approach to tackle this subject with EPICS in 2019?
>
> TIA,
> Hinko
- Replies:
- Re: Scanning 101 Hinko Kocevar via Tech-talk
- References:
- Scanning 101 Hinko Kocevar via Tech-talk
- Re: Scanning 101 Mark Rivers via Tech-talk
- Re: Scanning 101 Hinko Kocevar via Tech-talk
- Navigate by Date:
- Prev:
Re: Scanning 101 Hinko Kocevar via Tech-talk
- Next:
I/O Intr scanning Pilar via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Scanning 101 Hinko Kocevar via Tech-talk
- Next:
Re: Scanning 101 Hinko Kocevar via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
|