Experimental Physics and Industrial Control System
|
Thanks for the comment. My use case is a bit clumsy.
I am working on a project using the existing LakeShore temperature
controller EPICS module.
Unfortunately this module does not implement uploading temperature
calibration curves to the controller.
As stated earlier I am rather new to EPICS (and EPICS implementation is
not my main job) so doing a full implementation of the curves uploading
mechanism seemed to big a job.
Inspired by the streamDevice manual, I just implemented a "RAW" record
which forwards strings to the apparatus.
The control strings are then generated in the scripting language I use
(Matlab) and send over CA. This works fine for this special case.
However, for defining the "curve header" the string can get longer than
the 40 characters allowed for stringout, as it contains "names" and
"serial numbers" to be associated with the curve. Therefore the need for
a longer string.
I will try ones more with the waveform record. However, I seems to
remember that if I associate the streamDevice with the INP field, I
could not write to the record using "caput" (which would be consistent
with the manual)
I total agree this is not a pretty solution, but it could be very useful
in prototyping work.
Best
Bo
On 2016-09-20 17:40, Rod Nussbaumer wrote:
Bob:
I've never found a need to use string data stored in any kind of array
record or string record for output to a device using streamDevice.
Normally, the strings that are sent to a device are static command or
query strings embedded as format strings in a streamDevice protocol
file. streamDevice will send these strings, perhaps modified by data
expanded from an EPICS record, to the device. So, no need to stuff
string data into array records, which is a bit clumsy to do.
Do you have a different use case that dictates that you must send
string data that originates in a record?
Note also that streamDevice essentially ignores the input/output
nature of IO records. You can send the value of an input record to a
device, and you can fetch the value of a device parameter into an
output record.
Rod Nussbaumer
TRIUMF,
Vancouver, Canada
On 09/20/2016 04:10 AM, Mark Rivers wrote:
Hi Bo,
The waveform record can be used for both input and output.
This is from the documentation for StreamDevice for the waveform record:
************************
If FTVL=="CHAR" or FTVL="UCHAR":
In this case, the complete waveform is treated as a large single
string of size NORD. No separators are printed or expected.
Output: x=range(VAL,0,NORD)
The first NORD characters are printed, which might be less
than NELM.
Input: VAL=x, NORD=length(x)
A maximum of NELM-1 characters can be read. NORD is updated
to the index of the first of the trailing zeros. Usually, this is the
same as the string length.
************************
Mark
______
__________________________________
From: [email protected] [[email protected]]
on behalf of Bo Jakobsen [[email protected]]
Sent: Tuesday, September 20, 2016 3:34 AM
To: [email protected]
Subject: Long string command to device
Hi,
I am working on modifying an EPICS interface for a LakeShore 336 (LS336)
temperature controller.
In that connection I need to send strings to the LS336 which extends 40
characters.
I found the following thread:
http://www.aps.anl.gov/epics/tech-talk/2016/msg00887.php
which discusses a similar problem, and suggests to use waveform records
and StreamDevice (which I am already using).
However, I am unable to get this to work.
As I read the documentation of waveform records they are only for input,
and hence does not allow to set the OUT field (I am using EPICS 3.14)
Can anyone help with a solution to this problem?
Best
Bo Jakobsen
- Replies:
- Re: Long string command to device Mark Rivers
- References:
- Long string command to device Bo Jakobsen
- RE: Long string command to device Mark Rivers
- Re: Long string command to device Rod Nussbaumer
- Navigate by Date:
- Prev:
regarding previous query palak shimpee
- Next:
Re: Long string command to device Mark Rivers
- 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: Long string command to device Rod Nussbaumer
- Next:
Re: Long string command to device Mark Rivers
- 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
|
ANJ, 21 Sep 2016 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|