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: record processing time
From: "Dalesio, Leo" <[email protected]>
To: Vishnu Patel <[email protected]>, "Mark Rivers " <[email protected]>
Cc: techtalk <[email protected]>
Date: Mon, 17 Feb 2014 14:09:39 +0000

Run the same test – but set and clear the OScope when you enter and leave the driver.

Then chain 3 records together – have the first record trigger the scope and the last record trigger it again.

I think this will give you a clearer idea of where the 50 msecs is being spent.

Bob

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Vishnu Patel
Sent: Monday, February 17, 2014 4:40 AM
To: Mark Rivers
Cc: techtalk
Subject: Re: record processing time

 

Hi Mark,


I have used Oscilloscope to measure change of signal level at output port terminal in both case

(1) use linux driver API (linux drive for the IO port board using in the system)  for changing signal level of output port and measure signal level change and finally delay between 2 terminal.

(Linux driver library is specific to board and same API is called in EPICS device support when use EPICS)
(2) I used EPICS PV to change level of output port and measure signal level change on the output port terminal.

 

 

I think this is answering your question. If still have some question please let me know.

 

Thank you 

 




From: Mark Rivers <[email protected]>
Sent: Mon, 17 Feb 2014 04:09:39
To: Vishnu Patel <[email protected]>
Cc: "techtalk " <[email protected]>
Subject: Re: record processing time
You did not answer my questions:

- How have you measured the 50 microseconds between steps 5 and 9?

> With linux driver API there is no delay.

Please be specific.  What software are you using with the Linux API and how have you measured the delays?

Mark

________________________________
From: [email protected] [[email protected]]
Sent: Sunday, February 16, 2014 4:31 PM
To: Mark Rivers
Cc: techtalk
Subject: Re: record processing time

Dear Mark,

- How have you measured the 50 microseconds between steps 5 and 9?

- What evidence do you have that the delay has anything to do with EPICS record processing, and is not just the time required for the Linux driver to do the hardware I/O?

With linux driver API there is no delay. That means the delay is cause by EPICS record processing.  and the delay is almost same between consecutive dfanout links (A-B, B-C , C-D ).

Thank you for your explanation.

With Regards
Vishnu



From: Mark Rivers <[email protected]>
Sent: Sat, 15 Feb 2014 00:59:22
To: "'[email protected]'" <[email protected]>
Cc: techtalk <[email protected]>
Subject: Re: record processing time
Hi Vishnu,

You said:

> The recored  TEST:OUT0-O is connected to hardware all output records are not synchronous.

That is not true, they are synchronous.  That is because when you created  your driver

pasynManager->registerPort(pDrvPvt->portName,
                                               ASYN_MULTIDEVICE ,
                       1,  /* autoconnect */
                       0,  /* medium priority */
                       0); /* default stacksize */

You only set the flag ASYN_MULTIDEVICE, not ASYN_MULTIDEVICE | ASYN_CANBLOCK.

Since you did not ASYN_CANBLOCK you have created a synchronous driver, not an asynchronous driver.

In a synchronous driver the following steps will all happen in the same thread that processes the dfanout record:

1) Start processing dfanout record
2) Process dfanout record OUTA, i.e. process record TEST:OUT0-O
3) Call device support for TEST:OUT0-O
4) Call driver for TEST:OUT0-O
5) Do the I/O to your hardware for TEST:OUT0-O
6) Process dfanout record OUTB, i.e. process record TEST:OUT1-O
7) Call device support for TEST:OUT1-O
8) Call driver for TEST:OUT1-O
9) Do the I/O to your hardware for TEST:OUT1-O


I believe that you are saying that the time between steps 5 and 9 above is 50 microseconds.  This is definitely possible, since this includes the time to call the driver and do the actual hardware I/O on your Linux system.

Here are my questions.

- How have you measured the 50 microseconds between steps 5 and 9?

- What evidence do you have that the delay has anything to do with EPICS record processing, and is not just the time required for the Linux driver to do the hardware I/O?

Mark


From: [email protected] [mailto:[email protected]]
Sent: Friday, February 14, 2014 12:19 PM
To: Mark Rivers
Cc: techtalk
Subject: Re: record processing time

Dear Mark,

Thank you.

pasynManager->registerPort?  Are you using asynPortDriver base class?

pasynManager->registerPort(pDrvPvt->portName,
                                               ASYN_MULTIDEVICE ,
                       1,  /* autoconnect */
                       0,  /* medium priority */
                       0); /* default stacksize */


I am not using asynPortDriver but using asynDriver.


What do you mean by that?  How have you measured it?
With using API of linux driver no delay.


>>>
field(OUTA, "TEST:OUT0-O PP")
       field(OUTB, "TEST:OUT1-O PP")
       field(OUTC, "TEST:OUT2-O PP")


in the above dfanout record, what would be the time difference between processing  OUTA, "TEST:OUT0-O PP" and OUTB, "TEST:OUT1-O PP".


Thanks & regards



From: Mark Rivers <[email protected]>
Sent: Fri, 14 Feb 2014 22:22:53
To: "'[email protected]'" <[email protected]>
Cc: "techtalk " <[email protected]>
Subject: Re: record processing time
> The recored  TEST:OUT0-O is connected to hardware all output records are not synchronous.

Are you sure they are not synchronous?  What flags did you use in your asyn driver when calling pasynManager->registerPort?  Are you using asynPortDriver base class?

> Hardware also having no delay.

What do you mean by that?  How have you measured it?

> is dfanout record execute each link one by one or all simultaneously?

It processes one link at a time.  How could it do them simultaneously?

Mark



From: [email protected] [mailto:[email protected]]
Sent: Friday, February 14, 2014 10:31 AM
To: Mark Rivers
Cc: techtalk
Subject: Re: record processing time


The recored  TEST:OUT0-O is connected to hardware all output records are not synchronous.
I am using asynDriver. and all these records have same asyn intereface as they are similar.
Hardware also having no delay.

is dfanout record execute each link one by one or all simultaneously?

Thank you

Vishnu



From: Mark Rivers <[email protected]>
Sent: Fri, 14 Feb 2014 20:44:44
To: "'[email protected]'" <[email protected]>
Cc: techtalk <[email protected]>
Subject: Re: record processing time
Hi Vishnu,

Please tell us about your output records, TEST:OUT0-O, etc.  Are they connected to hardware?  If so, is the device support synchronous or asynchronous, and what driver are you using?  If they are connected to hardware and the device support is synchronous, then 50 microseconds may just be the time it takes the driver to do the I/O.  If the records are not connected to hardware then how did you measure the 50 microseconds?

Mark


From: [email protected] [mailto:[email protected]]
Sent: Friday, February 14, 2014 8:37 AM
To: Mark Rivers
Cc: techtalk
Subject: Re: record processing time

Hi,
  In my application i am putting value on 4 output port lines simultaneously with dfanout record.
record (dfanout,"TEST:EVENT1-FOUT")
{
       field(DESC, "stop all event simaltanously")
       field(DOL, "TEST:WAIT-EVENT")
       field(HOPR, "1")
       field(LOPR, "0")
       field(OMSL, "closed_loop")
       field(OUTA, "TEST:OUT0-O PP")
       field(OUTB, "TEST:OUT1-O PP")
       field(OUTC, "TEST:OUT2-O PP")
       field(OUTD, "TEST:OUT3-O PP")
}



 "TEST:OUT0-O,    TEST:OUT1-O,   TEST:OUT2-O, and TEST:OUT3-O  are 4 output record putting the values on output port lines.

The TEST:WAIT-EVENT is the taking value from User interface. 0 or 1.


I observed the delay between each output is approximately 50 micro second. so total delay from first to last PV is ~200 micro second.
The OS running the IOC is RHEL.


I would like to know this delay time is normal in EPICS or i can even get better with some mechanism.


Thank you


From: Mark Rivers <[email protected]>
Sent: Wed, 12 Feb 2014 20:39:16
To: Vishnu Patel <[email protected]>, "techtalk " <[email protected]>
Subject: Re: record processing time
The processing time depends of course on the record type and the CPU you are using.  But it is typically on the order of a few microseconds.
________________________________
From: [email protected] [[email protected]] on behalf of Vishnu Patel [[email protected]]
Sent: Wednesday, February 12, 2014 8:16 AM
To: techtalk
Subject: record processing time

Hi,
 I would like to know about time required for record processing.
In my application
When PV1 becomes 1  (scan I/O Intr.),  process waveform record with FLNK and  then first element value of waveform record is placed in PVx and second element value of waveform record is put in PVy with subArray record.

I would like to know, what is the process time of EPICS record processing?

Thank you

Vishnu



[http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle]<http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?><http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle%5d%3chttp:/sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?%3e>
Get your own FREE website, FREE domain & FREE mobile app with Company email.
      Know More ><http://track.rediff.com/click?url="">>

[
http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle&rogue=1716b54fe387786204c5115fd1c9b84babf33ef6&rogue=cf167694ae576818652135c25f920f9aa1c89d4e&rogue=b000be1ec47102a5cfda56794cba0ac6e9fc9421]<http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?>
Get your own FREE website, FREE domain & FREE mobile app with Company email.

Know More ><http://www.rediffmail.com/cgi-bin/red.cgi?red=http%3A%2F%2Fwww%2Erediffmail%2Ecom%2Fcgi%2Dbin%2Fred%2Ecgi%3Fred%3Dhttp%253A%252F%252Fwww%252Erediffmail%252Ecom%252Fcgi%252Dbin%252Fred%252Ecgi%253Fred%253Dhttp%25253A%25252F%25252Ftrack%25252Erediff%25252Ecom%25252Fclick%25253Furl%25253D%25255F%25255F%25255Fhttp%25253A%25252F%25252Fbusinessemail%25252Erediff%25252Ecom%25252Fcompany%25252Demail%25252Dhosting%25252Dservices%25253Fsc%25255Fcid%25253Dsign%25252D1%25252D10%25252D13%25255F%25255F%25255F%252526amp%25253Bcmp%25253Dhost%252526amp%25253Blnk%25253Dsign%25252D1%25252D10%25252D13%252526amp%25253Bnsrv1%25253Dhost%2526amp%253BisImage%253D0%2526amp%253BBlockImage%253D0%2526amp%253Brediffng%253D0%2526amp%253Brogue%253D4168a10baf2ad84e9f38b815e8cc19fb8879044d%26amp%3BisImage%3D0%26amp%3BBlockImage%3D0%26amp%3Brediffng%3D0%26amp%3Brogue%3D5b977991276f9110dd3662bd9cf2c9183e6adff7&isImage=0&BlockImage=0&rediffng=0&rogue=a4c6110729352f4777e8eb0f7c29848ab6050232>



[http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle&rogue=1716b54fe387786204c5115fd1c9b84babf33ef6&rogue=cf167694ae576818652135c25f920f9aa1c89d4e]<http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?>
Get your own FREE website, FREE domain & FREE mobile app with Company email.

Know More ><http://www.rediffmail.com/cgi-bin/red.cgi?red=http%3A%2F%2Fwww%2Erediffmail%2Ecom%2Fcgi%2Dbin%2Fred%2Ecgi%3Fred%3Dhttp%253A%252F%252Ftrack%252Erediff%252Ecom%252Fclick%253Furl%253D%255F%255F%255Fhttp%253A%252F%252Fbusinessemail%252Erediff%252Ecom%252Fcompany%252Demail%252Dhosting%252Dservices%253Fsc%255Fcid%253Dsign%252D1%252D10%252D13%255F%255F%255F%2526amp%253Bcmp%253Dhost%2526amp%253Blnk%253Dsign%252D1%252D10%252D13%2526amp%253Bnsrv1%253Dhost%26amp%3BisImage%3D0%26amp%3BBlockImage%3D0%26amp%3Brediffng%3D0%26amp%3Brogue%3D4168a10baf2ad84e9f38b815e8cc19fb8879044d&isImage=0&BlockImage=0&rediffng=0&rogue=5b977991276f9110dd3662bd9cf2c9183e6adff7>



[http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle&rogue=1716b54fe387786204c5115fd1c9b84babf33ef6]<http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?>
Get your own FREE website, FREE domain & FREE mobile app with Company email.

Know More ><http://www.rediffmail.com/cgi-bin/red.cgi?red=http%3A%2F%2Ftrack%2Erediff%2Ecom%2Fclick%3Furl%3D%5F%5F%5Fhttp%3A%2F%2Fbusinessemail%2Erediff%2Ecom%2Fcompany%2Demail%2Dhosting%2Dservices%3Fsc%5Fcid%3Dsign%2D1%2D10%2D13%5F%5F%5F%26amp%3Bcmp%3Dhost%26amp%3Blnk%3Dsign%2D1%2D10%2D13%26amp%3Bnsrv1%3Dhost&isImage=0&BlockImage=0&rediffng=0&rogue=4168a10baf2ad84e9f38b815e8cc19fb8879044d>



[http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle]<http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?>
Get your own FREE website, FREE domain & FREE mobile app with Company email.
       Know More ><http://track.rediff.com/click?url="">>


Get your own FREE website, FREE domain & FREE mobile app with Company email.  

Know More >

 


Replies:
Re: record processing time Mark Rivers

Navigate by Date:
Prev: RE: EPICS/ModbusTCP communication with Rockwell Micro 850 PLC Mark Rivers
Next: Re: record processing time Mark Rivers
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: Re: IOC logging Benjamin Franksen
Next: Re: record processing time Mark Rivers
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 ·