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  <20152016  2017  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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: asyn R4.26
From: Zenon Szalata <[email protected]>
To: Mark Rivers <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 27 Feb 2015 21:09:10 -0800
Hi Mark,
I am using asynPortDriver class. The records are initialized after IOC init and the record in question looks like this:

epics> dbpr CHA:LO:2531-1-2:CWORD,3
ACKS: NO_ALARM      ACKT: YES           ADEL: 0             ALST: 0
ASG:                BKPT: 00            DESC:               DISA: 0
DISP: 0             DISS: NO_ALARM      DISV: 1 DOL:CONSTANT
DRVH: 0             DRVL: 0             DTYP: asynInt32 EGU:
EVNT: 0             FLNK:CONSTANT 0     HHSV: NO_ALARM      HIGH: 0
HIHI: 0             HOPR: 0             HSV: NO_ALARM       HYST: 0
IVOA: Continue normally                 IVOV: 0             LALM: 0
LCNT: 0             LLSV: NO_ALARM      LOLO: 0             LOPR: 0
LOW: 0              LSV: NO_ALARM       MDEL: 0             MLST: 0
NAME: CHA:LO:2531-1-2:CWORD             NSEV: NO_ALARM      NSTA: NO_ALARM
OMSL: supervisory   OUT:INST_IO @asyn(2531-1,0,1)LO_CWORD   PACT: 0
PHAS: 0             PINI: NO            PRIO: LOW           PROC: 0
PUTF: 0             RPRO: 0             SCAN: Passive SDIS:CONSTANT
SEVR: INVALID       SIML:CONSTANT       SIMM: NO            SIMS: NO_ALARM
SIOL:CONSTANT       STAT: UDF           TIME: 2015-02-27 15:41:07.126179705
TPRO: 0             TSE: 0              TSEL:CONSTANT       UDF: 0
VAL: 0
epics>

I verified that processing the record, it goes into a healthy state. I suppose there is no harm to process the record, since it will write back to the hardware which was just read in. The reason I noticed this is that the EDM byte monitor widget displays the data as uninitialized... The question still remains, since the record should have been processed when the value was written to it and yet the record looks like it was not processed, so what happened?
Thanks Mark,
Zen

On 02/27/15 16:54, Mark Rivers wrote:
I think STAT and SEVR only get set when the record processes.

When are you doing the callback to device support, before or after iocInit?

If you do the callback after iocInit then the callback will cause the record to process, because it calls scanOnce().  However, if you call it before iocInit it will not call scanOnce() because that will crash the IOC.

Are you using the asynPortDriver C++ base class?  If so that takes care of the problem for you because it has a thread that waits for interruptAccept to be true, and then does all of the callbacks to device support.

Mark


-----Original Message-----
From: Zenon Szalata [mailto:[email protected]]
Sent: Friday, February 27, 2015 5:59 PM
To: Mark Rivers; [email protected]
Subject: asyn R4.26

Hi Mark,
I am beginning to use asyn R4.26, where the new feature that you have
added to allow initialization of output records, is of interest.
It works well, except I have noticed one thing.
In my case I am initializing a longout record from the device driver.
It gets the value correctly, UDF is set to 0 but STAT has UDF and SEVR
is INVALID.  Do I need to do something else in addition to just push a
new value to the record?  I don't want to process the record, which most
likely would put the record in a good state.
Sorry for bugging you and thanks,
Zen


Replies:
RE: asyn R4.26 Mark Rivers
References:
asyn R4.26 Zenon Szalata
RE: asyn R4.26 Mark Rivers

Navigate by Date:
Prev: LinuxRT remote reboot from EPICS Luchini, Kristi L.
Next: RE: asyn R4.26 Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: asyn R4.26 Mark Rivers
Next: RE: asyn R4.26 Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·