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

Subject: Re: Problems with Dynamic Array population
From: "Johnson, Andrew N." <[email protected]>
To: "Brown, David L." <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Sun, 2 Nov 2014 19:26:32 +0000
Hi David,

To save time and Benjamin who maintains it from having to ask, which version of the sequencer are you using, and what is your target architecture?

- Andrew

-- 
Sent from my iPad

> On Nov 2, 2014, at 13:21, Brown, David L. <[email protected]> wrote:
> 
> Hi, all,
> 
> I am attempting to dynamically populate arrays in a Sequencer using EPICS version R3.14.11.  In order to get around a 40 char limit on PVs, I'm using a database to serve alias PVs with shorter names.  All of the PVs in this one array (defined as a double [7] ) are bi records with bi record inputs.  When I get to the array element #4, the console reads:
> 
> "seq_pvMonitor: pvVarMonitorOn() PV_Name
>     failure: The data type specified is invalid
> Segmentation fault (core dumped)"
> 
> Any ideas as to why this might happen with this one bi record (I'm suspecting that the next one in line does it as well) and not with the other 4 before it?
> 
> My code looks sort of like this:
> 
> Program Thing
> 
> #define something
> char var[32];
> char var1[32];
> char var2[32];
> char var3[32];
> char var4[32];
> char sysid[32];
> char sysidn[40];
> char preamble1[40];
> char preamble2[40];
> char preamble3[40];
> char blah[40];
> string n;
> 
> 
> double Array [7];
> assign Array "";
> monitor Array;
> 
> ss State_Machine
> {
> State Start
> {
> entry
> {
> strcpy(var,macValueGet("S"));
> strcpy(var1,macValueGet("SS"));
> strcpy(var,macValueGet("N"));
> strcpy(var,macValueGet("I"));
> strcpy(preamble1,var);
> strcat(preamble1,var1);
> strcat(preamble1,":WS");
> strcat(preamble1,"n");
> strcat(preamble1,":");
> strcat(preamble1,var4);
> strcpy(preamble2,var);
> strcat(preamble2,var1);
> strcat(preamble2,":FC");
> strcat(preamble2,"n");
> strcat(preamble2,"_out:");
> strcat(preamble2,var4);
> strcpy(preamble3,var);
> strcat(preamble3,var1);
> strcat(preamble3,":FC");
> strcat(preamble3,"n");
> strcat(preamble3,"_ok:");
> strcat(preamble3,var4);
> }
> when()
> {
> if( strcmp(var, "DTL_")==0)
> {
> sprintf(blah, "%s_input\n", preamble1);
> pvAssign(Array[0],blah);
> sprintf(blah, "%s_raw\n", preamble1);
> pvAssign(Array[1],blah);
> sprintf(blah, "%s_input\n", preamble2);
> pvAssign(Array[2],blah);
> sprintf(blah, "%s_raw\n", preamble2);
> pvAssign(Array[3],blah);
> sprintf(blah, "%s_input\n", preamble3);
> pvAssign(Array[4],blah);
> sprintf(blah, "%s_raw\n", preamble3);
> pvAssign(Array[5],blah);
> sprintf(blah, "HardCodedPV\n");
> pvAssign(Array[6],blah);
> }
> }
> } state Next
> }
> 
> David Brown
> 


References:
Problems with Dynamic Array population Brown, David L.

Navigate by Date:
Prev: Problems with Dynamic Array population Brown, David L.
Next: RE: galil softIOC lose the galil controller Mark Clift
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Problems with Dynamic Array population Brown, David L.
Next: Re: Problems with Dynamic Array population Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·