EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  <20022003  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  <20022003  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: Knob boxes
From: "Garrett D. Rinehart" <rinehart>
To: [email protected], [email protected]
Date: Fri, 4 Oct 2002 11:13:46 -0500 (CDT)
I hope I'm not to late to add my two-cents... 'cus I'm gonna anyway.

We had a similar situation here where the operators did not want to give up 
trusty knobs with LED displays for a mouse and screen. They also did not like 
the SunDials or the km interface.

The old chassis had a knob, a display, and a set of buttons to select the 
channel. They were computer selected (ie: button push --> computer sets the 
logic appropriately to send knob (encoder) pulses to D/A at device and displays 
readback on LEDs). Initially, I just made EPICS take the place of that computer. 

When it came time to replace those chassis though, I opted for similar encoder 
knobs, touch-screens, and some Linux boxes. For each knob, there is a TCL/tk GUI 
script (and more scripts can be run under keyboard-only control) which I call 
"Control Panel Interface" (CPI). Each script has a set of virtual buttons and a 
readout. The v-buttons select the channel as well as various control options. 
Here's how it works:

The operator selects a channel via CPI and CPI establishes CA connections.It 
then begins displaying the value for that channel. Knob inpulses are taken as 
interrupts via AVME 9440 Digital IO board and increment counts in EPICS records. 
The pulse-count records are monitored by CPI. When it sees a count on a knob it 
has control of, it updates the control value for that channel and decrements the 
knob's counter.

Some features I'm pretty proud of that might even be of use to you include:
1) Before a knob is "attached", it's DESC field is read to make sure it's 
available. If so, it is made unavailable by writing the controlled-channel's 
count to it. A check is also made to ensure that another knob is not already 
controlling the channel.
2) "Read-only" channels are supported
3) Keyboard control is supported
4) Analog or Pulse outputs are available

Some specifics that might be of some use are:
1) All control/readback is done in standard EPICS db records (ai, ao, bi, bo).
2) Linux boxes are used only to drive the Microtouch touch-screens (CPI actually 
runs on Unix box with display shipped back to Linux box).
3) This whole arrangement has been working flawlessly for us for years

If you want more info, my code, etc, just say so.

Garrett Rinehart
Control and Data Acquisition System Manager
Accelerator Operations Group
Intense Pulsed Neutron Source
Argonne National Laboratory
9700 S. Cass Ave
Argonne, IL  60439
(630)252-6561
[email protected]


Navigate by Date:
Prev: Re: Caveat: vxStats Carl Lionberger
Next: status reports Bob Dalesio
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Knob boxes Eric Bjorklund
Next: registerRecordDeviceDriver in iocsh Bill Nolan
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·