EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: Reading a synchronous input with an asynchronous device.
From: Ned Arnold <[email protected]>
To: Emmanuel Mayssat <[email protected]>
Cc: EPICS Tech Talk <[email protected]>
Date: Thu, 17 Mar 2005 07:13:42 -0600
Two suggestions ...

1) Since you are looking for a transition, choose a TTL input module whose inputs can be configured to generate an interrupt on a transistion, have this interrupt process a calc record that simply increments, and have another calc record that makes sure the first calc record increments at least 100 times over a second (or 10 times every .1 second).

2) OR, add a little FPGA circuit (or a timer relay) that expects a transition every 10 milliseconds (a simple watchdog) and use this output to drive the digital input. This is preferred because it eliminates 100Hz processing of records.


Ned





Emmanuel Mayssat wrote:
I am convinced that some of you were faced with the same situation where you had to read a timed input with an asynchronous device.
Well, apparently I am no different and would like to know what your suggestions are.


Here is my situation:

The input signal is binary and periodic with period T=10ms.
The duty cycle is ~60% ( or the TTL level high is maintained for 6ms while the TTL level low is maintained for the remaining of T)


If the signal becomes aperiodic ( always TTL high or TTL low ) then there is an error ( wrong cable connection or device error )

I have an epics driver for the asynchronous device (binary input).

Here are the solutions I came across:

1/ The obvious one: write a new epics driver that will query the binary input 10 times over 10 ms. If I get at least a 1 and a 0 then everything is ok => pbi->val=1

2/ I looked at soft records that could run on the top of the existing INSTIO record. That is my prefered way.
I came accross the seq record in the record manual. Is it an appropriate use for it? Am I on the right direction?


Do you have any other suggestions?

Thanks,



Replies:
Re: Reading a synchronous input with an asynchronous device. Emmanuel Mayssat
References:
Browsing the ioc error log file Ned Arnold
Re: Browsing the ioc error log file Ralph Lange
Reading a synchronous input with an asynchronous device. Emmanuel Mayssat

Navigate by Date:
Prev: dbStaticLib in R3.14.7 Benjamin Franksen
Next: Re: Reading a synchronous input with an asynchronous device. Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Reading a synchronous input with an asynchronous device. Emmanuel Mayssat
Next: Re: Reading a synchronous input with an asynchronous device. Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·