EPICS Home

Experimental Physics and Industrial Control System


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

Subject: Re: Channel Access Writes Failed on Asyn Record Writable Fields
From: William Lu <[email protected]>
To: Mark Rivers <[email protected]>
Cc: [email protected]
Date: Wed, 16 Jun 2010 11:59:32 -0400
I finally got it working. The problem turned out to be that there is something wrong with the asyn library my code was linking to. After I linked my code to a different asyn library (R4-13), the asynRecord is working. Thank you very much for your help. I really appreciate it.

William

Mark Rivers wrote:
Note that DSET=(nil) and RSET=(nil). That is wrong.

It looks to me like the record was not initialized correctly.  Did you
get errors in iocInit?

Mark


-----Original Message-----
From: William Lu [mailto:[email protected]] Sent: Wednesday, June 16, 2010 10:04 AM
To: Mark Rivers
Cc: Ralph Lange; [email protected]
Subject: Re: Channel Access Writes Failed on Asyn Record Writable Fields


Here is what I got. By the way, I am using asyn version R4-10.

epics> dbpf LS450PS:asyn "test"
filename="../dbTest.c" line number=295
putFields are disabled - dbPutField error
epics> dbpr LS450PS:asyn 10
ACKS: NO_ALARM ACKT: YES ACMD: None ADDR: 0
AINP: AOUT: AQR: 0 ASG:
ASP: (nil) AUCT: autoConnect BAUD: Unknown BINP: 0
BKPT: 00 BOUT: 0 CNCT: Connect DBIT:
Unknown
DESC: DISA: 0 DISP: 0 DISS:
NO_ALARM
DISV: 1 DPVT: 0x99daeb0 DRVINFO: DSET: (nil)
DTYP: asynRecordDevice ENBL: Enable EOMR: None
ERRS: 0x99db190 EVNT: 0 F64INP: 0 F64IV: 0
F64OUT: 0 FCTL: Unknown FLNK:CONSTANT 0 GPIBIV: 0
I32INP: 0 I32IV: 0 I32OUT: 0 IEOS:
IFACE: asynOctet IFMT: ASCII IMAX: 80 IPTR:
0x99db0e0
LCNT: 0 LSET: 0xfacbe0 MCTL: Unknown
MLIS: 00 00 00 00 00 00 00 00 80 81 9d 09 MLOK: 00 00 00 00
NAME: LS450PS:asyn NAWT: 0 NORD: 0 NOWT: 80
NRRD: 0 NSEV: NO_ALARM NSTA: NO_ALARM OCTETIV: 1
OEOS: OFMT: ASCII OMAX: 80 OPTIONIV: 0
OPTR: 0x99db088 PACT: 0 PCNCT: Connect PHAS: 0
PINI: NO PORT: sockserv PPN: (nil) PPNR: (nil)
PRIO: LOW PROC: 0 PRTY: Unknown PUTF: 0
RDES: 0xfacc00 REASON: 0 RPRO: 0 RSET: (nil)
SBIT: Unknown SCAN: Passive SDIS:CONSTANT SEVR:
NO_ALARM
SOCK: SPR: 0 SPVT: (nil) STAT:
NO_ALARM
TB0: On TB1: Off TB2: Off TB3: Off
TB4: Off TFIL: Unknown TIB0: Off TIB1: Off
TIB2: Off TIME: c8 ba 9d 09 00 00 00 00 TINP:
TIOM: 0 TMOD: Write/Read TMOT: 1 TMSK: 1
TPRO: 0 TSE: 0 TSEL:CONSTANT TSIZ: 80
UCMD: None UDF: 0 UI32INP: 0 UI32IV: 0
UI32MASK: 4294967295 UI32OUT: 0 VAL:
epics> asynReport 10 sockserv
sockserv 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 2 exceptionNotifys 0
interposeInterfaceList
asynOctet pinterface 0xfac6a0 drvPvt 0x99d23a8
interfaceList
asynCommon pinterface 0xfab7d4 drvPvt 0x99d1ce0
asynOctet pinterface 0x99d1d28 drvPvt 0x99d1ce0
Port 127.0.0.1:9099: Connected
fd: 6
Characters written: 0
Characters read: 0


Thanks,
William

Mark Rivers wrote:
Something is wrong, that should work fine. Here's what I get on a
record connected to a VXI11 driver:
epics> dbpf asynRecord.AOUT "test"
DBR_STRING: "test" epics> dbpr asynRecord 10
ACKS: NO_ALARM ACKT: YES ACMD: None ADDR: 3

AINP: +1.0071E+21
AOUT: test AQR: 0 ASG: ASP: (nil) AUCT: autoConnect BAUD: Unknown BINP: 0

BKPT: 00 BOUT: 0 CNCT: Connect DBIT:
Unknown
DESC: DISA: 0 DISP: 0 DISS:
NO_ALARM
DISV: 1 DPVT: 0x8acb750 DRVINFO: DSET:
0x163908
DTYP: asynRecordDevice ENBL: Enable EOMR: End

ERRS: 0x8acba58 EVNT: 0 F64INP: 0 F64IV: 0

F64OUT: 0 FCTL: Unknown FLNK:CONSTANT 0 GPIBIV: 1

I32INP: 0 I32IV: 1 I32OUT: 0 IEOS:

IFACE: asynOctet IFMT: ASCII IMAX: 200 IPTR:
0x8acb958
LCNT: 0 LSET: 0x8aced90 MCTL: Unknown MLIS: 88 fb b0 08 d8 f6 b0 08 1f 00 00 00 MLOK: 38
b7 ac 08
NAME: asynRecord NAWT: 4 NORD: 13 NOWT: 80

NRRD: 0 NSEV: NO_ALARM NSTA: NO_ALARM OCTETIV: 1

OEOS: OFMT: ASCII OMAX: 40 OPTIONIV:
1
OPTR: 0x8acb928 PACT: 0 PCNCT: Connect PHAS: 0

PINI: NO PORT: L0 PPN: (nil) PPNR:
(nil)
PRIO: LOW PROC: 0 PRTY: Unknown PUTF: 0

RDES: 0x8aa8db0 REASON: 0 RPRO: 0 RSET:
0x1638c0
SBIT: Unknown SCAN: Passive SDIS:CONSTANT SEVR:
NO_ALARM
SOCK: SPR: 0 SPVT: (nil) STAT:
NO_ALARM
TB0: On TB1: Off TB2: Off TB3: Off

TB4: Off TFIL: Unknown TIB0: Off TIB1: Off

TIB2: Off TIME: 2010-06-16 08:48:57.406695215 TINP: +1.0071E+21\r\n TIOM: 0 TMOD:
Write/Read
TMOT: 1 TMSK: 1 TPRO: 0 TSE: 0

TSEL:CONSTANT TSIZ: 80 UCMD: None UDF: 0

UI32INP: 0 UI32IV: 0 UI32MASK: 4294967295

UI32OUT: 0 VAL:

Please send the complete output of the following 2 commands:
dbpr LS450PS:asyn 10
asynReport 10 sockserv


________________________________

From: [email protected] on behalf of William Lu
Sent: Tue 6/15/2010 4:46 PM
To: Ralph Lange
Cc: [email protected]
Subject: Re: Channel Access Writes Failed on Asyn Record Writable
Fields

The dbpf does not work. It gives the error message as below:


epics> dbpf LS450PS:asyn.AOUT abc
filename="../dbTest.c" line number=295
putFields are disabled - dbPutField error

Thanks,
William Lu

Ralph Lange wrote:
Can you change the fields locally from the ioc shell (using "dbpf")?
If yes, is Access Security enabled? Do you have write access rights?
("cainfo" on the client machine will tell you.)

Ralph


On Tue 15 Jun 2010 15:39:33 William Lu wrote:
I am having problems with channel access writes on asyn record's
writable fields such AOUT and PORT.  I created the following asyn
tcp/ip port and the asyn record:

In a startup iocsh script:
 drvAsynIPPortConfigure("sockserv","127.0.0.1:9099",0,0,0)

The asyn record:
 record(asyn, LS450PS:asyn) {
 field(DTYP, "asynRecordDevice")
 field(PORT, "sockserv")
 field(ADDR,"0")
}

After the record has been loaded to the ioc, I cannot write the AOUT
or PORT fields of the record through channel access. When I caput
on
those fields, I got the error messages like the following:

caput LS450PS:asyn.AOUT "abc"
Old : LS450PS:asyn.AOUT
CA.Client.Diagnostic..............................................
Message: "Could not perform a database value put for that
channel"
   Severity: "Warning" Context: "detected by:
devl17.acc.jlab.org:5064 for: LS450PS:asyn - with request
chan=LS450PS:asyn.AOUT op=1 data type=DBR_STRING count=1"
..................................................................
New : LS450PS:asyn.AOUT

What is the problem? Any help would be gratefully appreciated.

William Lu
Jefferson Lab

--
Weiwei Lu
757-269-7476
[email protected]





-- Weiwei Lu 757-269-7476 [email protected]


Replies:
RE: Channel Access Writes Failed on Asyn Record Writable Fields Mark Rivers
References:
Channel Access Writes Failed on Asyn Record Writable Fields William Lu
Re: Channel Access Writes Failed on Asyn Record Writable Fields Ralph Lange
Re: Channel Access Writes Failed on Asyn Record Writable Fields William Lu
RE: Channel Access Writes Failed on Asyn Record Writable Fields Mark Rivers
Re: Channel Access Writes Failed on Asyn Record Writable Fields William Lu
RE: Channel Access Writes Failed on Asyn Record Writable Fields Mark Rivers

Navigate by Date:
Prev: RE: Channel Access Writes Failed on Asyn Record Writable Fields Mark Rivers
Next: RE: Channel Access Writes Failed on Asyn Record Writable Fields Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Channel Access Writes Failed on Asyn Record Writable Fields Mark Rivers
Next: RE: Channel Access Writes Failed on Asyn Record Writable Fields Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024