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  <20112012  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  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"
From: "Mark Rivers" <[email protected]>
To: "Piccoli, Luciano" <[email protected]>, <[email protected]>
Date: Mon, 28 Nov 2011 17:56:30 -0600
Hi Luciano,

I am not sure what is wrong.

You said previously:

> Using gdb I see that they have the link type set to 0 (CONSTANT).

That is not what "dbpr" is showing for your record.  It shows

OUT:INST_IO @asyn(Mksu 0 1)WF_TRIG_DELAY_WRITE

That looks correct, as does DTYP.

DTYP: asynInt32

Here are the fields that don't look correct in your record:

DPVT: (nil)
SEVR: <nil>
ASP: (nil)

DPVT is initialized in the initCommon function in
asyn/devEpics/devAsynInt32.c.  It allocates that memory before it parses
the link, and parsing the link is where it prints the error message in
your original message.  So I don't see how it prints that error message
and still has DPVT=(nil).  And I don't understand why it is printing
that error message when dbpr shows the OUT link has the correct syntax.

I suspect a problem with your example.dbd file.  How did you create that
file?  Does it include all of the asyn dbd stuff?

Here is the output for an ao record with asyn device support for one of
my IOCs.  Note that none of the files are are (nil) in your record are
(nil) in mine.

ioc13lab> dbpr "13LAB:tca1SCA1_HI",10
ACKS: NO_ALARM      ACKT: YES           ADEL: 0             ALST: 0

AOFF: 0             ASG:                ASLO: 0             ASP: 0x0

BKPT: 00            DESC: SCA 1 high limit                  DISA: 0

DISP: 0             DISS: NO_ALARM      DISV: 1             DOL:CONSTANT

DPVT: 0x114c108     DRVH: 100           DRVL: 0             DSET:
0x1c7736c     
DTYP: asynFloat64   EGU:                EGUF: 0             EGUL: 0

EOFF: 0             ESLO: 1             EVNT: 0
FLNK:CONSTANT 0     
HHSV: NO_ALARM      HIGH: 0             HIHI: 0             HOPR: 100

HSV: NO_ALARM       HYST: 0             INIT: 0             
IVOA: Continue normally                 IVOV: 0             LALM: 0

LBRK: 0             LCNT: 0             LINR: NO CONVERSION LLSV:
NO_ALARM      
LOLO: 0             LOPR: 0             LOW: 0              LSET:
0xff2fb8      
LSV: NO_ALARM       MDEL: 0             
MLIS: 00 bd b5 78 00 bd b5 78 00 00 00 01                   MLOK: 01 2b
e4 50   
MLST: 0             NAME: 13LAB:tca1SCA1_HI                 NSEV:
NO_ALARM      
NSTA: NO_ALARM      OIF: Full           OMOD: 0             OMSL:
supervisory   
ORAW: 0             ORBV: 0             OROC: 0             
OUT:INST_IO @asyn(icbTca1)HI1           OVAL: 0             PACT: 0

PBRK: 0x0           PHAS: 0             PINI: YES           PPN: 0x0

PPNR: 0x0           PREC: 2             PRIO: LOW           PROC: 0

PUTF: 0             PVAL: 0             RBV: 0              RDES:
0x1cdf8b0     
ROFF: 0             RPRO: 0             RSET: 0x1c7781c     RVAL: 0

SCAN: Passive       SDIS:CONSTANT       SEVR: NO_ALARM
SIML:CONSTANT       
SIMM: NO            SIMS: NO_ALARM      SIOL:CONSTANT       SPVT: 0x0

STAT: NO_ALARM      TIME: 2011-11-04 11:11:27.320887998     TPRO: 0

TSE: 0              TSEL:CONSTANT       UDF: 0              VAL: 0

value = 0 = 0x0


Mark


-----Original Message-----
From: Piccoli, Luciano [mailto:[email protected]] 
Sent: Monday, November 28, 2011 11:57 AM
To: Mark Rivers; [email protected]
Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"


Hi Mark,

Here is the info you requested:

	epics> asynReport 10
	MksuServer multiDevice:No canBlock:Yes autoConnect:Yes
	    enabled:Yes connected:Yes numberConnects 1
	    nDevices 0 nQueued 0 blocked:No
	    asynManagerLock:No synchronousLock:No
	    exceptionActive:No exceptionUsers 0 exceptionNotifys 0
	    interposeInterfaceList
	        asynOctet pinterface 0x68efa0 drvPvt 0x8f70aa8
	    interfaceList
	        asynCommon pinterface 0x68e05c drvPvt 0x8f27858
	        asynOctet pinterface 0x8f278a0 drvPvt 0x8f27858
	    Port 194.168.0.21:56789 UDP: Connected
	                    fd: 4
	    Characters written: 0
	       Characters read: 0
	Mksu multiDevice:Yes canBlock:Yes autoConnect:Yes
	    enabled:Yes connected:Yes numberConnects 1
	    nDevices 1 nQueued 0 blocked:No
	    asynManagerLock:No synchronousLock:No
	    exceptionActive:No exceptionUsers 0 exceptionNotifys 0
	    interfaceList
	        asynCommon pinterface 0x68f12c drvPvt 0x8f70cf8
	        asynDrvUser pinterface 0x68f204 drvPvt 0x8f70cf8
	        asynInt32 pinterface 0x68f138 drvPvt 0x8f70cf8
	        asynInt16Array pinterface 0x68f1b4 drvPvt 0x8f70cf8
	    addr 0 autoConnect Yes enabled Yes connected No
exceptionActive No
	    exceptionActive No exceptionUsers 0 exceptionNotifys 0
	    blocked No
	Mksu: missing report - MksuServer
	Port: Mksu
	Parameter list 0
	Number of parameters is: 4
	Parameter 0 type=asynInt32, name=WF_TRIG_DELAY_WRITE, value is
undefined
	Parameter 1 type=asynInt32, name=MOD_TRIG_DELAY_WRITE, value is
undefined
	Parameter 2 type=asynInt32, name=WF_TRIG_DELAY_READ, value is
undefined
	Parameter 3 type=asynInt32, name=MOD_TRIG_DELAY_READ, value is
undefined
	epics>  dbpr KLYS:IN20:3130:WF_TRIG_DELAY_WRITE 10
	ACKS: NO_ALARM      ACKT: YES           ADEL: 0
ALST: 0
	AOFF: 0             ASG:                ASLO: 0             ASP:
(nil)
	BKPT: 00            DESC: Waveform trigger delay (write)
DISA: 0
	DISP: 0             DISS: NO_ALARM      DISV: 1
DOL:CONSTANT
	DPVT: (nil)         DRVH: 0             DRVL: 0
DSET: 0x68f470
	DTYP: asynInt32     EGU:                EGUF: 0
EGUL: 0
	EOFF: 0             ESLO: 1             EVNT: 0
FLNK:CONSTANT 0
	HHSV: NO_ALARM      HIGH: 0             HIHI: 0
HOPR: 0
	HSV: NO_ALARM       HYST: 0             INIT: 1
	IVOA: Continue normally                 IVOV: 0
LALM: 0
	LBRK: 0             LCNT: 0             LINR: NO CONVERSION
LLSV: NO_ALARM
	LOLO: 0             LOPR: 0             LOW: 0
LSET: 0x8f7d120
	LSV: NO_ALARM       MDEL: 0
	MLIS: 00 00 00 00 00 00 00 00 00 00 00 00
MLOK: 40 46 f7 08
	MLST: 0             NAME: KLYS:IN20:3130:WF_TRIG_DELAY_WRITE
	NSEV: NO_ALARM      NSTA: NO_ALARM      OIF: Full
OMOD: 0
	OMSL: supervisory   ORAW: 0             ORBV: 0
OROC: 0
	OUT:INST_IO @asyn(Mksu 0 1)WF_TRIG_DELAY_WRITE
OVAL: 0
	PACT: 0             PBRK: (nil)         PHAS: 0
PINI: NO
	PPN: (nil)          PPNR: (nil)         PREC: 0
PRIO: LOW
	PROC: 0             PUTF: 0             PVAL: 0             RBV:
0
	RDES: 0x8f2f7f8     ROFF: 0             RPRO: 0
RSET: 0x25a8e0
	RVAL: 0             SCAN: Passive       SDIS:CONSTANT
SEVR: <nil>
	SIML:CONSTANT       SIMM: NO            SIMS: NO_ALARM
SIOL:CONSTANT
	SPVT: 0x8f74b40     STAT: UDF           TIME: <undefined>
TPRO: 0
	TSE: 0              TSEL:CONSTANT       UDF: 0              VAL:
0
	epics>

File mksu.template:

	record(ao, "KLYS:$(AREA):$(LOCATION):WF_TRIG_DELAY_WRITE") {
	  field(DESC, "Waveform trigger delay (write)")
	  field(DTYP, "asynInt32")
	  field(OUT, "@asyn($(PORT) $(CHANNEL)
$(TIMEOUT))WF_TRIG_DELAY_WRITE")
	  field(SCAN, "$(SCAN)")
	}
	
	record(ao, "KLYS:$(AREA):$(LOCATION):MOD_TRIG_DELAY_WRITE") {
	  field(OUT, "@asyn($(PORT) $(CHANNEL)
$(TIMEOUT))MOD_TRIG_DELAY_WRITE")
	  field(DTYP, "asynInt32")
	  field(SCAN, "$(SCAN)")
	  field(DESC, "Remote modulator trigger delay (write)")
	}
	
	record(ai, "KLYS:$(AREA):$(LOCATION):WF_TRIG_DELAY_READ") {
	  field(DTYP, "asynInt32")
	  field(SCAN, "$(SCAN)")
	  field(INP, "@asyn($(PORT) $(CHANNEL)
$(TIMEOUT))WF_TRIG_DELAY_READ")
	  field(DESC, "Waveguide trigger delay (read)")
	}
	
	record(ai, "KLYS:$(AREA):$(LOCATION):MOD_TRIG_DELAY_READ") {
	  field(DTYP, "asynInt32")
	  field(SCAN, "$(SCAN)")
	  field(INP, "@asyn($(PORT) $(CHANNEL)
$(TIMEOUT))MOD_TRIG_DELAY_READ")
	  field(DESC, "Remote modulator trigger delay (read)")
	}

File mksu.substitutions:

	file ../../db/mksu.template
	{
	pattern
	{AREA, LOCATION, PORT, CHANNEL, TIMEOUT, SCAN}
	{IN20, 3130, Mksu, 0, 1, "I/O Intr"}
	}

Thanks,
Luciano

-----Original Message-----
From: Mark Rivers [mailto:[email protected]] 
Sent: Thursday, November 24, 2011 05:05
To: Piccoli, Luciano; [email protected]
Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"

Hi Luciano,
 
Can you send mksu.substitutions and whatever .template or .db files it
loads?
 
What do you get at the IOC prompt for
 
asynReport 10
dbpr  KLYS:IN20:3130:WF_TRIG_DELAY_WRITE 10
 
Mark
 

________________________________

From: [email protected] on behalf of Piccoli, Luciano
Sent: Wed 11/23/2011 5:56 PM
To: [email protected]
Subject: Asyn: "devAsynInt32::initCommon Link must be INST_IO"



Hi,

I'm writing a simple asyn driver which I started out from the HMS
example. When starting the ioc I get these messages:

        lpiccoli@cdlx22 iocMksu]$ ./st.cmd
        #! ../../bin/linux-x86/example
        dbLoadDatabase("../../dbd/example.dbd")
        example_registerRecordDeviceDriver(pdbbase)
        drvMksu_init()
        drvAsynIPPortConfigure("MksuServer", "194.168.0.21:56789 UDP",
0, 0, 1)
        initMksu("Mksu", "MksuServer")
        dbLoadTemplate("mksu.substitutions")
        iocInit()
        Starting iocInit
 
########################################################################
####
        ## EPICS R3.14.10-lcls1 $R3-14-10$ $2008/10/27 19:39:04$
        ## EPICS Base built Jul 15 2009
 
########################################################################
####
        KLYS:IN20:3130:MOD_TRIG_DELAY_READ devAsynInt32::initCommon
Link must be INST_IO
        KLYS:IN20:3130:WF_TRIG_DELAY_READ devAsynInt32::initCommon  Link
must be INST_IO
        KLYS:IN20:3130:MOD_TRIG_DELAY_WRITE devAsynInt32::initCommon
Link must be INST_IO
        KLYS:IN20:3130:WF_TRIG_DELAY_WRITE devAsynInt32::initCommon
Link must be INST_IO
        iocRun: All initialization complete
        epics>    

It looks like something is not getting set correctly, the link type of
those records should be INST_IO. Using gdb I see that they have the link
type set to 0 (CONSTANT).

Am I missing something in the st.cmd file? Suggestions are welcome :)

Thank you,
Luciano





Replies:
Re: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Eric Norum
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano
References:
Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Mark Rivers
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano

Navigate by Date:
Prev: EPICS Base 3.14.12.2-rc1 available for testing Andrew Johnson
Next: Re: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano
Next: Re: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·