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  2016  <20172018  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  2016  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Troubleshooting the redirection-to-records feature of streamDevice
From: Kevin Peterson <[email protected]>
To: EPICS tech talk <[email protected]>
Date: Thu, 18 May 2017 12:00:42 -0500
I wrote stream support for an ADAM-4018 thermocouple reader.  The
support has the following "read" record:

record(bo, "$(P)$(R):read") {
  field(DTYP, "stream")
  field(DESC, "Read thermocouples")
  field(ZNAM, "Done")
  field(ONAM, "Read")
  field(OUT, "@ADAM_4018.proto queryAll($(A),$(P)$(R)) $(PORT)")
  field(SDIS, "$(P)$(R):mode")
  field(DISV, 1)
}

This is the definition of queryAll from the protocol file:

queryAll {
  out "#\$1";
  in
">%(\$2:ai0)f%(\$2:ai1)f%(\$2:ai2)f%(\$2:ai3)f%(\$2:ai4)f%(\$2:ai5)f%(\$2:ai6)f%(\$2:ai7)f";
}

And each of the ai records has this definition:

record(ai, "$(P)$(R):ai$(C)") {
  field(DESC, "Analog input $(C)")
  field(PREC, "3")
}

The read works (when the read record is processed, the eight ai records
get new values) in my development VME (MVME5100, VxWorks 6.9.4.1,
base-3.14.12.3, stream-2-6 from synApps_5_7).

When I move the support to another VME with the same
processor/VxWorks/EPICS configuration, the read doesn't work.  When the
read record is processed I see (via asyn traces) that the query command
gets sent to the thermocouple reader and a string of eight values is
returned, but none of the eight analog input records gets its VAL
updated, nor do they get processed.  I do not see any protocol error
messages.  I do see that the read record's VAL field has a value of
"Illegal_Value".

How can I troubleshoot this problem?  Does streamDevice provide any
debug capabilities that would allow me to confirm that the protocol
arguments in my queryAll function were expanded correctly?

Thanks,

Kevin

-- 
Kevin M. Peterson
(630) 252-8644
[email protected]

Navigate by Date:
Prev: Re: soft Timestamp fixed point support Andrew Johnson
Next: Streamdevice waveform - binary data stream with no separator Paduan Donadio, Marcio
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EDM questions Southern, Tim
Next: Streamdevice waveform - binary data stream with no separator Paduan Donadio, Marcio
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
ANJ, 21 Dec 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·