EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  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  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: subrecord INPx
From: Hinko Kocevar <[email protected]>
To: EPICS Tech Talk <[email protected]>
Date: Wed, 24 Nov 2010 15:49:36 +0100
Hi,

I'm poking around the example IOC I've created with:

$ makeBaseApp.pl -t example app1
$ makeBaseApp.pl -i -t example app1

Example runs fine and records are behaving as expected, but..

I tried to experiment with subRecord, but the mySubProcess routine does not seem to get values on INPx fields if they are not constants. I've added following line to get INPA value inside the C function:

static long mySubProcess(subRecord *precord)
{
    if (mySubDebug)
        printf("Record %s called mySubProcess(%p)\n",
               precord->name, (void*) precord);

    printf("precord->a %lf\n", precord->a);
    printf("precord->b %lf\n", precord->b);

    return 0;
}


Example:


record(sub,"$(user):subExample")
{
    field(INAM,"mySubInit")
    field(SNAM,"mySubProcess")
    field(INPA, "$(user):subInc")
    field(INPB, "123")
}

record(calc, "$(user):subInc") {
  field(SCAN, "1 second")
  field(VAL, "0")
  field(CALC, "(A+1)")
  field(INPA, "$(user):subInc.VAL NPP")
}

Output from IOC:
Record hinkoHost:subcall called mySubProcess(0x9205998)
precord->a 0.000000
precord->b 123.000000
Record hinkoHost:subcall called mySubProcess(0x9205998)
precord->a 0.000000
precord->b 123.000000
Record hinkoHost:subcall called mySubProcess(0x9205998)
precord->a 0.000000
precord->b 123.000000


At the same time, if I monitor the $(user):subInc: camonitor hinkoHost:subInc hinkoHost:subInc 2010-11-24 15:45:57.346136 14 hinkoHost:subInc 2010-11-24 15:45:58.346438 15 hinkoHost:subInc 2010-11-24 15:45:59.346628 16

What am I missing?

Best regards,
Hinko

--
Hinko Kocevar
Technical support software engineer
Instrumentation Technologies d.d.
Velika pot 22, SI-5250 Solkan - Slovenia
T:+386 5 3352600, F:+386 5 3352601
mailto: [email protected]

http://www.i-tech.si - When your users demand stability

The information transmitted is intended solely for the addressee and may
contain confidential and/or privileged information. Any review, retention,
disclosure or other use by persons other than the intended recipient is
prohibited. If you received this in error, please notify the sender and
delete all copies.

Replies:
Re: subrecord INPx Matthieu Bec
RE: subrecord INPx Allison, Stephanie
Re: subrecord INPx Eric Norum

Navigate by Date:
Prev: Re: sncseq compiling error Benjamin Franksen
Next: Re: ChannelArchiver build problem with 3.14.11 on Suse linux Burkhard Kolb
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: sncseq compiling error Benjamin Franksen
Next: Re: subrecord INPx Matthieu Bec
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024