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  <20082009  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  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: calc record LINK error
From: "Leicester, PJ (Pete)" <[email protected]>
To: <[email protected]>
Date: Fri, 22 Feb 2008 13:21:09 -0000
Title: Message
I have a calc record that somehow occasionally goes into link error and seems never to recover when it should. The purpose of the record is to generate a status based on four motor records by picking up the MOVN and SEVR fields.
 
record(calc, "BL22I-AL-SLITS-02:MOTORSTA") {
  field(SCAN, "1 second")
  field(CALC, "(A|B|C|D)>0?1:0")
  field(INPA, "BL22I-AL-SLITS-02:X:PLUS.MOVN CP MS")
  field(INPB, "BL22I-AL-SLITS-02:X:MINUS.MOVN CP MS")
  field(INPC, "BL22I-AL-SLITS-02:Y:PLUS.MOVN CP MS")
  field(INPD, "BL22I-AL-SLITS-02:Y:MINUS.MOVN CP MS")
  field(ACKT, "NO")
}
 
All the records are in a single IOC. When it goes wrong the calc record goes into LINK error and does not recover even when the four motor records appear OK. I tried poking PROC on the calc record but this had no effect. The only way I could get the calc record to start updating correctly again was to either re-write the INPx links or to do a move on the motors so that MOVN changed. I think this behaviour is incorrect in that the calc record should have updated when I sent PROC or at the scan rate? Have I missed something?
 
For the record we are running 3.14.8.2 on VxWorks.
The calc record status is as follows when its stuck in its LINK error state:-
 
BL22I-MO-IOC-01 -> dbpr "BL22I-AL-SLITS-02:MOTORSTA",2
A: 0                ACKS: INVALID       ACKT: NO            ADEL: 0
ASG:                B: 0                BKPT: 0x00          C: 0
CALC: (A|B|C|D|E|F|G|H|I|J|K|L)>0?1:0   D: 0                DESC:
DISA: 0             DISP: 0             DISS: NO_ALARM      DISV: 1
DTYP: <nil>         E: 0                EGU:                EVNT: 0
F: 0                FLNK:CONSTANT 0     G: 0                H: 0
HHSV: NO_ALARM      HIGH: 0             HIHI: 0             HOPR: 0
HSV: NO_ALARM       HYST: 0             I: 0
INPA:CA_LINK BL22I-AL-SLITS-02:X:PLUS.MOVN CP MS
INPB:CA_LINK BL22I-AL-SLITS-02:X:MINUS.MOVN CP MS
INPC:CA_LINK BL22I-AL-SLITS-02:Y:PLUS.MOVN CP MS
INPD:CA_LINK BL22I-AL-SLITS-02:Y:MINUS.MOVN CP MS           INPE:CONSTANT 0
INPF:CONSTANT 0     INPG:CONSTANT 0     INPH:CONSTANT 0     INPI:CONSTANT 0
INPJ:CONSTANT 0     INPK:CONSTANT 0     INPL:CONSTANT 0     J: 0
K: 0                L: 0                LCNT: 0             LLSV: NO_ALARM
LOLO: 0             LOPR: 0             LOW: 0              LSV: NO_ALARM
MDEL: 0             NAME: BL22I-AL-SLITS-02:MOTORSTA        NSEV: NO_ALARM
NSTA: NO_ALARM      PACT: 0             PHAS: 0             PINI: NO
PREC: 0             PRIO: LOW           PUTF: 0             RPRO: 0
SCAN: 1 second      SDIS:CONSTANT       SEVR: INVALID       STAT: LINK
TPRO: 0             TSE: 0              TSEL:CONSTANT       UDF: 0
VAL: 0
value = 0 = 0x0 
 
The input motor records are all OK showing no alarms:-
 
BL22I-MO-IOC-01 -> dbpr "BL22I-AL-SLITS-02:X:PLUS"
ASG:                ATHM: 1             CDIR: 0             CNEN: Disable
DESC: X Plus Motor  DHLM: 0             DIFF: 0             DISA: 0
DISP: 0             DISV: 1             DLLM: -20.7745      DMOV: 1
DRBV: -15.507       DVAL: -15.507       HLM: 16.607         HLS: 0
LLM: -4.1675        LLS: 0              LVIO: 0             MOVN: 0
NAME: BL22I-AL-SLITS-02:X:PLUS          OFF: 16.607         RBV: 1.1
RDIF: 0             REP: 31011          RHLS: 0             RLLS: 0
RLV: 0              RMP: 31014          RRBV: 31014         RVAL: 31014
SEVR: NO_ALARM      STAT: NO_ALARM      TDIR: 1             TPRO: 0
VAL: 1.1            VERS: 6.222
value = 0 = 0x0
 
 
Pete Leicester
 
 
------------------------
Mr P J Leicester
Senior Software Engineer
Diamond Light Source Ltd.
 

Navigate by Date:
Prev: Problem with soft motor record Rarback, Harvey
Next: Re: TTL output with soft IOC on Linux Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: calc record LINK error Benjamin Franksen
Next: TTL output with soft IOC on Linux Jiro Fujita
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  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 ·