EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  <19971998  1999  2000  2001  2002  2003  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  <19971998  1999  2000  2001  2002  2003  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: Allen-Bradley serial support
From: Jeff Hill <[email protected]>
To: "'William Rambold'" <[email protected]>, "[email protected]" <[email protected]>, "[email protected]" <[email protected]>
Cc: "Jeff Hill (E-mail)" <[email protected]>
Date: Wed, 12 Nov 1997 17:15:14 -0700
William Rambold Wrote:

> We are using the Allen Bradley DF1 serial device support for the
> Gemini Enclosure Control System.   On booting the IOC we are getting
> the following error message at least one in three times.......
> 
> 
> iocInit "./data/resource.def"
> ############################################################################
> ###  @(#)EPICS IOC CORE
> ###  @(#)Version R3.12.2Gem4.1
> ############################################################################
> task: 0Xfaabb8 tShell
> Error status (module 1001, number 3) not in symbol table
> Unable to install AB serial word IO
> 0xfaabb8 (tShell): iocInit: All initialization complete
> value = 0 = 0x0
> 
> 
> Only a re-boot (and the usual graphic expletives) allows us to proceed.
> This has been a regular occurrence since we received the initial copy of the
> device support code.   We have loaded databases with only AbDf1 records
> to try and eliminate possible interactions but get the same results.

I suspect that you are seeing this message because the AB DF1 driver is unable
to fetch the initial value for one of the output records within a 2 second time out during 
IOC init. Perhaps there is high priority activity (higher than the tasks that support
drvSerial and drvABDf1) which is (sometimes) preventing the initial value from
being fetched within 2 seconds. See the notes on recent enhancements to this driver
below. 

The header file "drvAbDf1.h" identifies that "(module 1001, number 3)" corresponds with
the error message "serial link is down". You will get human readable error messages 
from the drivers involved if you append "drvAbDf1.h" and "drvSerial.h" to the GNU make variable
"ERR_S_FILES" in one of the EPICS build CONFIG files (see Makefile.Vx in the libCom directory
for an example of this). In most (earlier) versions of EPICS you will also need to
add defines for M_drvSerialLib and M_drvAbDf1Lib to errMdef.h in libCom
(there are definitions of these macros in "drvAbDf1.h" and "drvSerial.h" ). The 
drivers involved will work correctly without installing their error messages, however
you will not get the text version of the error codes in error messages.

> 
> Has anyone else experienced this problem and, even better, found
> a solution??? 

I have just finished adding the following enhancements to the AB DF1 driver.
We will be installing the enhanced driver into a production system here within
the next two weeks. The enhanced driver should be stable and ready 
for distribution within a few months.

o outputs are always scanned (changes made from AB ready panels will
result in processing of EPICS passive output records).

o iocInit does not block for output initializations (EPICS output records remain in alarm
state until the first DF1 scan completes). I have not experienced the problem you reported
above (perhaps Alan Honey at Keck will be able to comment on this).  I did however 
identify a structural problem in the driver in this area because: 1)  we need to track changes 
occurring from AB sources outside EPICS 2) we cant afford to block iocInit for a long timeout
if the PLC is currently turned off or inaccessible.

o EPICS bit modify operations result in direct use of DF1 bit modify protocol
(the bit insert occurs in the PLC and not using a cache within the EPICS driver).
This will avoid race conditions when changes are initiated outside of EPICS.

o support for AB PLC5 file addressable data typed read/write protocol

o AB PLCs have access to EPICS records using DF1 protocol
(EPICS IOC emulates a PLC)

o independent scan rate for each file on each node. This allows 
the PLC files to be scanned efficiently with block reads at a user specified interval.
The records can then be configured to be "scanned on interrupt" where an 
interrupt occurs only when the value changes or the alarm state changes.
This arrangement should result in less CPU consumption.

o driver has been tested as a station on AB data highway + (using 1770 KF2
style hardware)

o more error codes for AB specific off normal conditions thanks to
Eric Bjorklund.

Jeff



Navigate by Date:
Prev: Allen-Bradley serial support Peregrine McGehee
Next: RE: Allen-Bradley serial support Jeff Hill
Index: 1994  1995  1996  <19971998  1999  2000  2001  2002  2003  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: Allen-Bradley serial support Peregrine McGehee
Next: RE: Allen-Bradley serial support Jeff Hill
Index: 1994  1995  1996  <19971998  1999  2000  2001  2002  2003  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 ·