EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Long string command to device
From: Rod Nussbaumer <[email protected]>
To: [email protected]
Date: Tue, 20 Sep 2016 08:40:48 -0700
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 Bo Jakobsen
References:
Long string command to device Bo Jakobsen
RE: Long string command to device Mark Rivers

Navigate by Date:
Prev: Re: Long string command to device Pete Jemian
Next: Archive Appliance Backends William Cork
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Long string command to device Pete Jemian
Next: Re: Long string command to device Bo Jakobsen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 21 Sep 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·