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  2011  2012  2013  <20142015  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  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: getAddress method behaviour
From: Mark Rivers <[email protected]>
To: "Heesterman, Peter J" <[email protected]>
Cc: "EPICS Tech-Talk \([email protected]\)" <[email protected]>
Date: Tue, 23 Dec 2014 14:46:32 +0000
Hi Peter,

Those reports shows the following:

- The port does have multiDevice:Yes, so it is a multi-device

- asynPortDriver reports that there are 5 parameters lists (0-4), so you have correctly initialized the asynPortDriver base class

- However, asynManager reports "nDevices 1"

asynManager creates devices "on-demand", i.e. when a client tries to communicate with device N, then device N is created if it does not already exist.  This suggests to me that your records are only trying to talk to address 0.  Can you do the following for the records that should be on devices 1-4?

dbpr "my_record", 10

Mark


________________________________________
From: Heesterman, Peter J [[email protected]]
Sent: Tuesday, December 23, 2014 4:04 AM
To: Mark Rivers
Cc: EPICS Tech-Talk ([email protected])
Subject: RE: getAddress method behaviour

Hi Mark,

I attach 2 reports.

(FYI, I am working with 2 separate IOC apps.
The second being a TCP server that is intended to simulate the I/O behaviour of the pump(s).
I don't currently have access to the 'real' hardware.)

Cheers,

Peter.

-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: 23 December 2014 02:43
To: Heesterman, Peter J
Cc: EPICS Tech-Talk ([email protected])
Subject: RE: getAddress method behaviour

What does the following show?

asynReport 10 YOUR_PORT_NAME


Mark

________________________________________
From: Heesterman, Peter J [[email protected]]
Sent: Monday, December 22, 2014 9:23 AM
To: Mark Rivers
Cc: EPICS Tech-Talk ([email protected])
Subject: RE: getAddress method behaviour

Hi Mark,

I am passing the former.

BTW, I have configured the IOC with ASYN_MULTIDEVICE, and maxAddr 5.

Cheers,

Peter.

-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: 22 December 2014 15:21
To: Heesterman, Peter J
Cc: EPICS Tech-Talk ([email protected])
Subject: Re: getAddress method behaviour

I suspect you are passing the wrong pasynUser to getAddres(). Are you passing the one that was passed into writeInt32 or the pasynUserSelf? You should pass the former.

Mark

Sent from my iPhone

On Dec 22, 2014, at 9:12 AM, Heesterman, Peter J <[email protected]<mailto:[email protected]>> wrote:

Hi Mark,

I’m sorry to trouble you.

In my application I am seeking to connect multiple devices (i.e. multiple pumps, in this case).

So, for example, I have record names like:
TURBOSIM:5:WarningTemperature (5 being the last of 5 devices connected).

I had expected asynPortDriver::getAddress to emit the index of the device being addressed (0..4, in this example).

But the only address value I can detect being emitted from the method, is 0 (e.g. when called within readInt32).
I believe it is being invoked with asynUser(s) that are correctly associated with a specific device.

What could I be missing?

Many thanks,

Peter.





References:
getAddress method behaviour Heesterman, Peter J
Re: getAddress method behaviour Mark Rivers
RE: getAddress method behaviour Heesterman, Peter J
RE: getAddress method behaviour Mark Rivers
RE: getAddress method behaviour Heesterman, Peter J

Navigate by Date:
Prev: Re: getAddress method behaviour Pearson, Matthew R.
Next: Re: Bug in 3.14 and 3.15: "*.FLNK is a Channel Access Link ..." Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: getAddress method behaviour Heesterman, Peter J
Next: Bug in 3.14 and 3.15: "*.FLNK is a Channel Access Link ..." Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·