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

Subject: RE: SEQ with dynamic assignment of PV in array variable
From: Emmanuel Mayssat <[email protected]>
To: Al Honey <[email protected]>, "[email protected]" <[email protected]>
Date: Mon, 3 Jun 2013 12:38:37 -0700
My solution compiled, didn't segment fault, but also does not work !!!

Thank you Al for your suggestion. 
I assume you are passing tel, sys, and d0/1/2/3 as parameters to your seq program.
In my case, I would like to use a static array (~parameters are hard-coded in program)
as I have 'too' many of them (~ 50 parameters)

Now I expect around 20 arrays, each with 50 assign statements
That's why I am looking at a for loop with pvAssign 
So far pvAssign doesn't work on my side..

Anyone else?


From: [email protected]
To: [email protected]
Subject: RE: SEQ with dynamic assignment of PV in array variable
Date: Mon, 3 Jun 2013 18:30:03 +0000

Hi Emmanuel

 

We do the following at Keck:

 

float openLoop[4];

assign openLoop[0] to "{tel}{sys}{d0}openLoop";

assign openLoop[1] to "{tel}{sys}{d1}openLoop";

assign openLoop[2] to "{tel}{sys}{d2}openLoop";

assign openLoop[3] to "{tel}{sys}{d3}openLoop";

monitor openLoop;

 

Al

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Emmanuel Mayssat
Sent: Monday, June 03, 2013 7:29 AM
To: [email protected]
Subject: SEQ with dynamic assignment of PV in array variable

 

Hello,

 

I am working on a seq program.

For that program, I am interacting with magnet power supplies.

The interfaces to the power supplies are all the same (about 10 PV each).

 

For each interface PV, I would like do to something like this...

 

#define NB_OF_SUPPLIES  50

short enable[NB_OF_SUPPLIES];

assign enable[0] to "I:S001:PS:EnableBO";

assign enable[1] to "I:SO10:PS:EnableBO";

...

monitor enable;

 

but programmatically.

 

I looked at the docs and they are somewhat confusing.

 

Q: Is there a place to put the pvAssign statement?

Q: Should the array's cell be initialized/assigned to ""  during declaration?

Q: Can I monitor a not-yet configured PV array?

Q: How can I find out about the connection to each of the PVs?

etc.

 

If anyone has an example of using pvAssign on array variables (i.e. enable),  I would appreciate it.

 

Regards,

--

Emmanuel

 

 

 


Replies:
RE: SEQ with dynamic assignment of PV in array variable Mark Rivers
References:
SEQ with dynamic assignment of PV in array variable Emmanuel Mayssat

Navigate by Date:
Prev: RE: SEQ with dynamic assignment of PV in array variable Emmanuel Mayssat
Next: Re: EPICS cross compile with buildroot problems Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: SEQ with dynamic assignment of PV in array variable Emmanuel Mayssat
Next: RE: SEQ with dynamic assignment of PV in array variable Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·