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: AW: long string command to device
From: "Zimoch Dirk (PSI)" <[email protected]>
To: "Gofron, Kazimierz" <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 13 May 2016 10:50:28 +0000
Use StreamDevice.

________________________________________
Von: [email protected] [[email protected]]&quot; im Auftrag von &quot;Gofron, Kazimierz [[email protected]]
Gesendet: Freitag, 13. Mai 2016 04:23
An: [email protected]
Betreff: long string command to device

Hi,

I am writing EPICS driver for Keithley 3706A, and am trying to figure out how to send long string commands to the 3706A.
The ICL commands have no short version, and some commands exceed current 40 char length limit of the stringout record.

____
The EPICS stringoutRecord.h is limited to 40 char.
char            val[40];        /* Current Value */
****

In my driver assigning to stringout:
"dmm.setconfig('1019:1020','fourwireohms')"
results in "dmm.setconfig('1019:1020','fourwireohms" being send - missing last 2 characters

Is there a replacement for stringout with relaxed limit?
----------------
Simplified command/respond test:

record(stringout, "$(P)$(Dmm)command") {
  field(FLNK, "$(P)$(Dmm)reply")
}

record(stringin, "$(P)$(Dmm)reply") {
  field(DTYP, "asynOctetWriteRead")
  field(INP, "@asyn($(PORT) 0) $(P)$(Dmm)command")
}
------------------
I am currently using this format in the driver:

record(stringout, "$(P)$(Dmm)dmm_read") {
  field(DTYP, "asyn so stringParm")
  field(FLNK, "$(P)$(Dmm)dmm_get_str.VAL  PP MS")
  field(VAL, "print(dmm.measure())")
  field(OUT, "@asyn($(PORT))TERM=0a")
}

record(stringin, "$(P)$(Dmm)dmm_get_str") {
  field(DTYP, "asyn si stringParm")
  field(INP, "@asyn($(PORT))TERM=0a,TO=10000")
  field(FLNK, "$(P)$(Dmm)read_finished.VAL  PP MS")
}

Kazimierz


References:
long string command to device Gofron, Kazimierz

Navigate by Date:
Prev: Micronix MMC-200 motor controller 김지화(빔라인장치팀)
Next: Re: generalTime time provider consternation Michael Westfall
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 Gofron, Kazimierz
Next: 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, 20 Sep 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·