1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 <2013> 2014 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 <2013> 2014 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: | "[email protected]" <[email protected]> |
Date: | Mon, 3 Jun 2013 11:08:27 -0700 |
To answer my own question ...
short enable[50]; assign enable to ""; /* default value for the whole array */ monitor enable; /* Later in ss */ state initState { entry { } when (pvConnectCount() == pvChannelCount()) { /* check docs for pvAssignCount() in section 2.14 */ seqLog("All static channels connected\n"); seqLog("Connecting dynamic channels ...\n"); for(i=0;i<50;i++) { sprintf(pvName, "%s:PowerSply:EnblBO", p_magnets[i]); pvAssign(enable[i], pvName); } } state idleState exit { } } FYI From: [email protected] To: [email protected] Subject: SEQ with dynamic assignment of PV in array variable Date: Mon, 3 Jun 2013 10:28:52 -0700 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 |