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: Trigger aSub record from bi record reflecting status
From: Luca Cavalli <[email protected]>
To: "[email protected]" <[email protected]>
Date: Wed, 13 Jul 2016 15:30:34 +0000
Hi,

I solved by setting $(SYS):$(MOD):CONVERT_CMD both as input and output (CA link
type, otherwise I don't receive the updated value as output) and avoiding
infinite calling loop by returning 1 if CONVERT_CMD value is 0.

I'm steel open to comments and suggestions on this method to solve the problem
(I have the feeling there are better ways).


Cheers,

LucaOn mer, 2016-07-13 at 12:18 +0000, Luca Cavalli wrote:
> Dear all,
>
> I have to perform a conversion of a set of coordinates using an aSub record.
> I have set the SCAN field of the record to passive and any change in a bi
> record
> ($(SYS):$(MOD):CONVERT_CMD) triggers the processing.
>
> This is an extract of the database:
>
> record(bi, "$(SYS):$(MOD):CONVERT_CMD") {
>   field(DESC, "Convert command.")
>   field(PINI, "NO")
>   field(UDF, "0")
>   field(FLNK, "$(SYS):$(MOD):COORD_CONVERTER")
>   field(VAL, "0")
>   field(ZNAM, "DONE")
>   field(ONAM, "CONVERT")
> }
>
> record(aSub, "$(SYS):$(MOD):COORD_CONVERTER") {
>   field(INAM, "convAsubInit")
>   field(SNAM, "convAsubProcess")
>   field(FTA, "DOUBLE")
>   field(INPA, "$(SYS):$(MOD):SRVY:RA_SET_POS PP")
>   field(DESC, "Coordinate converter.")
>   field(SCAN, "Passive")
>   field(INPB, "$(SYS):$(MOD):SRVY:DEC_SET_POS PP")
>   field(INPC, "$(SYS):$(MOD):SRVY:X_SET_POS PP")
>   field(INPD, "$(SYS):$(MOD):SRVY:Y_SET_POS PP")
>   field(INPE, "$(SYS):$(MOD):SRVY:Z_SET_POS PP")
>   field(INPF, "$(SYS):$(MOD):SRVY:START_TIME PP")
>   field(INPM, "$(SYS):$(MOD):CONVERT_CMD")
>   field(FTB, "DOUBLE")
>   field(FTC, "DOUBLE")
>   field(FTD, "DOUBLE")
>   field(FTE, "DOUBLE")
>   field(FTF, "DOUBLE")
>   field(FTM, "ENUM")
> }
>
> Is this the proper way to achieve this task?
>
> How to reset the $(SYS):$(MOD):CONVERT_CMD value to 0 from the C code of the
> convAsubProcess function?
>
> Does this change from 1 (CONVERT) to 0 (DONE) will trigger an additional call
> to convAsubProcess?
>
>
> Thanks for your help.
>
>
> Luca
>
>
> ________________________________
>
> << Le informazioni contenute in questo messaggio di posta elettronica e
> relativi allegati sono riservate e confidenziali e ne è vietata la diffusione
> in qualunque modo eseguita. Qualora Lei non fosse la persona a cui il presente
> messaggio è destinato, La invitiamo ad eliminarlo e a darcene gentile
> comunicazione. Quanto precede ai fini del rispetto delle Legge 675/96 e del
> Decreto Legislativo 30/06/2003 n.196, sulla tutela dei dati personali >>
>
> << This e-mail is confidential and may well also be legally privileged. If you
> have received it in error, you are on notice of its status. Please notify us
> immediately by reply e-mail and then delete this message from your system.
> Please do not copy it or use it for any purposes, or disclose its contents to
> any other person: to do so could be a breach of confidence. Thank you for your
> co-operation. Please contact our IT Helpdesk on +3902380481 or email it@cgspac
> e.it if you need assistance >>
>
>


________________________________

<< Le informazioni contenute in questo messaggio di posta elettronica e relativi allegati sono riservate e confidenziali e ne è vietata la diffusione in qualunque modo eseguita. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo e a darcene gentile comunicazione. Quanto precede ai fini del rispetto delle Legge 675/96 e del Decreto Legislativo 30/06/2003 n.196, sulla tutela dei dati personali >>

<< This e-mail is confidential and may well also be legally privileged. If you have received it in error, you are on notice of its status. Please notify us immediately by reply e-mail and then delete this message from your system. Please do not copy it or use it for any purposes, or disclose its contents to any other person: to do so could be a breach of confidence. Thank you for your co-operation. Please contact our IT Helpdesk on +3902380481 or email [email protected] if you need assistance >>



References:
Trigger aSub record from bi record reflecting status Luca Cavalli

Navigate by Date:
Prev: RE: Trigger aSub record from bi record reflecting status Mooney, Tim M.
Next: Re: EPICS archiver appliance redundancy Eric Berryman
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: Trigger aSub record from bi record reflecting status Luca Cavalli
Next: EpicsQT and Archiver Appliance rory.clarke
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, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·