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: Changing the Timeout for drvAsynSerialPort?
From: Mark Rivers <[email protected]>
To: Franklin Fuller <[email protected]>, "[email protected]" <[email protected]>
Date: Thu, 11 Dec 2014 11:37:17 +0000
Hi Franklin,

You should set asynTrace debugging right after creating the port.  Then you can see what is actually being sent and received:

drvAsynSerialPortConfigure("L0","$(TTY)",0,0,0) #sets up a port L0 at $TTY (see above)
asynSetTraceIOMask("L0", 0, 2)
asynSetTraceMask("L0", 0, 255)

Please do that and then send the complete output when the IOC boots.

You also have a problem here:


> Further, if I query the ioc with "caget -S ps365controlTestIDNwf", I get this:

> ps365controlTestIDNwf \003

> CA.Client.Exception...............................................
>    Warning: "Identical process variable names on multiple servers"
>    Context: "Channel: "ps365controlTestIDNwf", Connecting to: 198.128.196.226:5064<http://198.128.196.226:5064>, Ignored: franklins-mbp.dhcp.lbl.gov:5064<http://franklins-mbp.dhcp.lbl.gov:5064>"
>    Source File: ../cac.cpp line 1298
>    Current Time: Wed Dec 10 2014 17:44:31.920218000

I suspect this is happening because you are running both the IOC and caget client on the same computer, and it has multiple network cards.

You should define the following environment variables:

EPICS_CA_AUTO_ADDR_LIST=NO
EPICS_CA_ADDR_LIST=xxx.xxx.xxx.xxx

where xxx.xxx.xxx.xxx is the broadcast address of the network that you might want to use for external EPICS Channel Access.  For example:

165.65.160.255

Mark


________________________________
From: [email protected] [[email protected]] on behalf of Franklin Fuller [[email protected]]
Sent: Wednesday, December 10, 2014 7:47 PM
To: [email protected]
Subject: Changing the Timeout for drvAsynSerialPort?

Hi all,

Question is: How can I changed the timeout for drvAsynSerialPort?
Context follows (maybe I'm asking the wrong question):

I've been working through a tutorial* with few modifications.  So far no problems until I try to initiate communication with a Stanford Research Systems PS365 HV supply.  When I run ./st.cmd, everything says it initializes, but then I get a message saying that the ioc did not receive a response within 1 second.  The exact error(s) are:


2014/12/10 17:31:18.937952 L0 ps365controlTestIDN: No reply from device within 1000 ms

2014/12/10 17:31:20.039439 L0 ps365controlTestIDNwf: No reply from device within 1000 ms


Further, if I query the ioc with "caget -S ps365controlTestIDNwf", I get this:

ps365controlTestIDNwf \003

CA.Client.Exception...............................................
    Warning: "Identical process variable names on multiple servers"
    Context: "Channel: "ps365controlTestIDNwf", Connecting to: 198.128.196.226:5064<http://198.128.196.226:5064>, Ignored: franklins-mbp.dhcp.lbl.gov:5064<http://franklins-mbp.dhcp.lbl.gov:5064>"
    Source File: ../cac.cpp line 1298
    Current Time: Wed Dec 10 2014 17:44:31.920218000

I can "manually" communicate with the device using a simple screen command.  I use the same port address with 9660/8/N/1 standard settings. It seems to take a second, maybe 2, to open the connection.  So my thought was that maybe I just need to have the asyn driver increase its timeout time to avoid this error.

I can't see a way to change the timeout, however.

* The tutorial in question: http://www.aps.anl.gov/epics/modules/soft/asyn/R4-21/HowToDoSerial/HowToDoSerial_StreamDevice.html

My st.cmd is given below:

#!../../bin/darwin-x86/ps365controlTest


##########################################
# Setup Environment
< envPaths
epicsEnvSet "STREAM_PROTOCOL_PATH" "$(TOP)/db"

##########################################
# Allow PV prefixes and serial port name to be set from the environment
epicsEnvSet "P" "$(P=ps365control)"
epicsEnvSet "R" "$(R=Test)"
epicsEnvSet "TTY" "$(TTY=/dev/ttyUSB)"

##########################################
# Register all support components
cd ${TOP}
dbLoadDatabase(dbd/ps365controlTest.dbd)
ps365controlTest_registerRecordDeviceDriver(pdbbase)

##########################################
# Set up ASYN ports
drvAsynSerialPortConfigure("L0","$(TTY)",0,0,0) #sets up a port L0 at $TTY (see above)
#now we fill in the details of the port connection
#9600/8/N/1 is the most typical serial port configuration
asynSetOption("L0",-1,"baud","9600"
asynSetOption("L0",-1,"bits","8")
asynSetOption("L0",-1,"parity","none")
asynSetOption("L0",-1,"stop","1")
asynSetOption("L0",-1,"clocal","Y")
asynSetOption("L0",-1,"crtscts","N")


##########################################
## Load record instances
dbLoadRecords("db/devps365control.db","P=$(P),R=$(R),PORT=L0,A=0")

##########################################
# Start EPICS
cd ${TOP}/iocBoot/${IOC}


Replies:
Re: Changing the Timeout for drvAsynSerialPort? Franklin Fuller
References:
Changing the Timeout for drvAsynSerialPort? Franklin Fuller

Navigate by Date:
Prev: RE: about signal generator's control Mark Rivers
Next: Re: Darwin SHRLIB_VERSION build error: multiple target patterns J. Lewis Muir
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: Changing the Timeout for drvAsynSerialPort? Eric Norum
Next: Re: Changing the Timeout for drvAsynSerialPort? Franklin Fuller
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 ·