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

Subject: RE: asynSetTrace
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: 'Petra Schwalbach' <petra.schwalbach at uni-mainz.de>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 11 May 2021 13:32:24 +0000

Hi Petra,

 

Ø  epics> 2021/05/11 09:38:32.320 L0 -1 autoConnect could not connect: Can't connect to 10.32.192.132:2101: Connection timed out

There is no error message when those asynSetTrace commands were executed.
Then it must be another thing.
I cannot clarify the one-time message: "autoConnect could not connect ..." I ignored that.
Because drvAsynIPPortConfigure("L0","10.32.192.132:2101",0,0,0) does not cause an error and with netstat I can see that the IOC is connected with the hardware and I get an answer when I do caget melba_020:wf:on_get.
But when the hardware is not properly connected to the IOC, then it is obviously, that asynSetTrace doesn't work.

drvAsynIPPortConfigure will not give an error message even if the device is not reachable.  Because you have set the noAutoConnect flag to 0, which is normal, asyn will periodically try to connect to the device in case it become reachable.

The asynSetTrace commands will not give an error because the asyn port does indeed exist, even if it is not yet connected to the device.

The “autoConnect could not connect” message is the key.  It means the asyn IP port driver could not open a socket to the device.

You will get an answer when you do caget on the waveform record.  But does it actually contain the response you expect?

Here are things to try:

After iocInit type this command:

asynReport 1 L0

That will show if asyn thinks it is connected to the device.

If it is not connected then stop the IOC and in a Linux shell type this command:

telnet 10.32.192.132 2101

Does that connect to the device, or does it fail?  If it fails then the device is indeed not reachable.  Perhaps there is a firewall blocking it, or something else.

Mark

 

From: Petra Schwalbach <petra.schwalbach at uni-mainz.de>
Sent: Tuesday, May 11, 2021 8:17 AM
To: Mark Rivers <rivers at cars.uchicago.edu>
Subject: Re: asynSetTrace

 

Hi Mark and Ralph

this is the output:
 ./startioc
#!../../bin/linux-x86_64/fug
< envPaths
epicsEnvSet("IOC","iocfug")
epicsEnvSet("TOP","/home/epics/fug")
epicsEnvSet("EPICS_SYNAPPS","/home/epics/synApps_6_1")
epicsEnvSet("ASYN","/home/epics/synApps_6_1/support/asyn-R4-36")
epicsEnvSet("CALC","/home/epics/synApps_6_1/support/calc-R3-7-3")
epicsEnvSet("STREAM","/home/epics/synApps_6_1/support/StreamDevice-2-8-9")
epicsEnvSet("AUTOSAVE","/home/epics/synApps_6_1/support/autosave-R5-10")
epicsEnvSet("BUSY","/home/epics/synApps_6_1/support/busy-R1-7-2")
epicsEnvSet("IOCSTATS","/home/epics/synApps_6_1/support/iocStats-3-1-16")
epicsEnvSet("EPICS_BASE","/home/epics/base-7.0.3.1")
epicsEnvSet("STREAM_PROTOCOL_PATH", ".:../../db")
#epicsEnvSet("STREAM_PROTOCOL_PATH", "$(TOP)/db")
epicsEnvSet "P" "melba_020:"
epicsEnvSet "R" "wf:"
epicsEnvSet ("ENGINEER", "Petra Schwalbach")
cd "/home/epics/fug"
## Register all support components
dbLoadDatabase "dbd/fug.dbd"
fug_registerRecordDeviceDriver pdbbase
#< ./iocBoot/$(IOC)/AutoSaveSetup.cmd
#Configure devices
drvAsynIPPortConfigure("L0","10.32.192.132:2101",0,0,0)    #FUG 202640102
# Debugging mode
#asynSetTraceMask(portName,addr,mask)
#asynSetTraceIOMask(portName,addr,mask)
#addr: In integer specifying the address of the device. For multiDevice ports a value of -1 means the port itself.
#mask: The mask value to set. See the mask bit definitions in asynDriver.h
asynSetTraceIOMask("L0",-1,0x2)
asynSetTraceMask("L0",-1,0x9)
## End Debugging mode
## Load record instances
#dbLoadTemplate "db/user.substitutions"
#dbLoadRecords "db/fugVersion.db", "user=schwalba"
#dbLoadRecords "db/dbSubExample.db", "user=schwalba"
dbLoadRecords("db/fug.db", "P=melba_020:, R=wf:, PORT=L0")
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/save_restoreStatus.db", "P=$(P)$(R)")
## pcMonitor
dbLoadRecords("/home/epics/synApps_6_1/support/iocStats-3-1-16/db/ioc.db", "IOCNAME=FUG-IOC-Status,TODFORMAT=%d.%m.%Y %H:%M:%S")
#var mySubDebug 1
#traceIocInit
cd "/home/epics/fug/iocBoot/iocfug"
iocInit
Starting iocInit
############################################################################
## EPICS R7.0.3.1
## EPICS Base built Nov  6 2019
############################################################################
iocRun: All initialization complete
#< AutoSaveTask.cmd
## Start any sequence programs
#seq sncExample, "user=schwalba"
epics> 2021/05/11 09:38:32.320 L0 -1 autoConnect could not connect: Can't connect to 10.32.192.132:2101: Connection timed out

There is no error message when those asynSetTrace commands were executed.

It's comforting to know that there is nothing special to do about asynSetTrace.

Then it must be another thing.
I cannot clarify the one-time message: "autoConnect could not connect ..." I ignored that.
Because drvAsynIPPortConfigure("L0","10.32.192.132:2101",0,0,0) does not cause an error and with netstat I can see that the IOC is connected with the hardware and I get an answer when I do caget melba_020:wf:on_get.
But when the hardware is not properly connected to the IOC, then it is obviously, that asynSetTrace doesn't work.

There is no reason but time, why I use EPICS -7.0.3.1.

Petra


Am 11.05.2021 um 14:09 schrieb Mark Rivers:

Hi Petra,
 
 
If you configured your IOC as shown in that document then it should not matter which version of base you are running.
 
I add
asynSetTraceIOMask("L0",-1,0x2)
asynSetTraceMask("L0",-1,0x9)
to st.cmd, but nothing happens.
 
By "nothing happens" does that mean you got an error message when those asynSetTrace commands were executed, or just that there was no output from asynTrace.
 
Can you send the complete output when the IOC starts up and runs for several seconds?
 
Mark
 
 
 
 
________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Petra Schwalbach via Tech-talk <tech-talk at aps.anl.gov>
Sent: Tuesday, May 11, 2021 5:02 AM
To: Mark Rivers via Tech-talk
Subject: asynSetTrace
 
Hello,
 
I want to use
asynSetTraceMask(portName,addr,mask)
asynSetTraceIOMask(portName,addr,mask)
 
I used EPICS 3.14.12.5 and I had no problems.
Now I use EPICS -7.0.3.1.
I configured my IOC like described in
https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/creating-ioc.html<https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/creating-ioc.html?highlight=trace#creation-of-an-input-output-controller-ioc>
I add
asynSetTraceIOMask("L0",-1,0x2)
asynSetTraceMask("L0",-1,0x9)
to st.cmd, but nothing happens.
 
My IOC is working.
 
Could it be that there is something to add to the xxxSupport.dbd file
 
registrar(drvAsynIPPortRegisterCommands)
registrar(drvAsynSerialPortRegisterCommands)
 
something like registrar(drvAsynSetTraceCommands)?
 
Thank you for your efforts!
 
Best regards
Petra
 
--
Petra Schwalbach                            Petra.Schwalbach at uni-mainz.de<Petra%20Schwalbach>
Privat:
mobil 0151 58854122
Festnetz 06131 593275
 
Inst. f. Kernphysik, Uni Mainz          Tel.: 06131/39-25193
B1-Kollaboration                               Fax: 06131/39-22964
Johann-Joachim-Becher-Weg 45     http://portal.kph.uni-mainz.de/B1/
55099 Mainz

 

--

Petra Schwalbach                            Petra.Schwalbach at uni-mainz.de
Privat:
mobil 0151 58854122
Festnetz 06131 593275

Inst. f. Kernphysik, Uni Mainz          Tel.: 06131/39-25193
B1-Kollaboration                               Fax: 06131/39-22964
Johann-Joachim-Becher-Weg 45     http://portal.kph.uni-mainz.de/B1/
55099 Mainz


References:
asynSetTrace Petra Schwalbach via Tech-talk
Re: asynSetTrace Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: asynSetTrace Mark Rivers via Tech-talk
Next: Open Instrumentation & Controls Deputy Group Leader Position at LANL Pieck, Martin via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: asynSetTrace Mark Rivers via Tech-talk
Next: Open Instrumentation & Controls Deputy Group Leader Position at LANL Pieck, Martin via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 11 May 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·