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  <20202021  2022  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: serial IOC connection problem
From: "Ivashkevych, Oksana via Tech-talk" <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Wed, 9 Dec 2020 18:51:33 +0000

Hello,

I have been asked to port an existing Serial IOC  for a Force Torque Sensor from ATI from one server (Debian 7 with Debian packages dated ~ at least 5 years ago) to CentOS 7.

 

CentOS 7.7.1908; base R7.0.3.1; asyn R4-37; SerialDevice master.

 

After the ported recompiled IOC reported unrecoverable connection error, I have created a brand new IOC using the latest makeBaseApp.pl script.

 

Errors became more dynamic, and I do see some readings, when IOC does manage to connect successfully. I have browsed the Tech Talk and found a related discussions about connecting/disconnecting. Protocol file of this IOC does  connects/disconnects after every read and is very simple. I only can guess why the developer made this decision, I am sure it was an unavoidable compromise.  I did add asynSetTraceMask call which changes temporarily the dynamic of the errors.  Logs and proto are attached.

 

In summary: I have two iocs accessing same device: the old one running on Debian 7, and the new on running CentOS 7. The old one works without problem the new on reports connection errors and does manage to read something at the frequency ~30 times slower than 0.1 expected scan. I am out of my own ideas, and would appreciate help from the community.

 

Thank you,

Oksana

 

Timeout=10000;
Terminator = "";

read{
    MaxInput = 16;
    out "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%0.2r\x00\x00";
    in "\x12\x34%(A)02r%(B)2r%(C)2r%(D)2r%(E)2r%(F)2r%(G)2r";
    disconnect;
}
    
readCalibration {
    MaxInput = 24;
    out "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00";
    in "\x12\x34%(A)01r%(B)01r%(C)04r%(D)04r%(E)02r%(F)02r%(G)02r%(H)02r%(I)02r%(J)02r";
    disconnect;
    @init {
        out "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00";
        in "\x12\x34%(A)01r%(B)01r%(C)04r%(D)04r%(E)02r%(F)02r%(G)02r%(H)02r%(I)02r%(J)02r";
        disconnect;
    }

}
[oksana@xf16id-babyioc1 ftsioc]$ ../../bin/linux-x86_64/ftsioc  st.cmd 
#!../../bin/linux-x86_64/ftsioc
< envPaths
epicsEnvSet("IOC","ftsioc")
epicsEnvSet("TOP","/home/oksana/ftsioc")
epicsEnvSet("SUPPORT","/opt/epics/support")
epicsEnvSet("ASYN","/opt/epics/support/asyn")
epicsEnvSet("CALC","/opt/epics/support/calc")
epicsEnvSet("STREAM","/opt/epics/support/StreamDevice")
epicsEnvSet("DEVIOCSTATS","/opt/epics/support/iocStats")
epicsEnvSet("AUTOSAVE","/opt/epics/support/autosave")
epicsEnvSet("EPICS_BASE","/opt/epics/epics-base")
epicsEnvSet("STREAM_PROTOCOL_PATH",    "../../ftsiocApp/Db")
epicsEnvSet("PREFIX",                  "XF:16IDC-ES:LIX")
epicsEnvSet("FTS_IP",                  "10.16.2.195:49151")
epicsEnvSet("PORT",                    "FTS")
## Register all support components
dbLoadDatabase("../../dbd/ftsioc.dbd",0,0)
ftsioc_registerRecordDeviceDriver(pdbbase) 
drvAsynIPPortConfigure("FTS", "10.16.2.195:49151"
## Load record instances
dbLoadRecords("../../db/fts.db","P=XF:16IDC-ES:LIX,R={FTS:2},PORT=FTS,user=oksana")
#asynSetTraceMask( "FTS",0,255)
#asynSetTraceMask( "FTS",0,0)
iocInit()
Starting iocInit
############################################################################
## EPICS R7.0.3.1
## EPICS Base built Dec  1 2020
############################################################################
2020/12/09 13:12:32.415218 _main_ XF:16IDC-ES:LIX{FTS:2}ReadCalib-Cmd lockRequest: port FTS not connected
iocRun: All initialization complete
#asynSetTraceMask( "FTS",0,0)
## Start any sequence programs
#seq sncftsioc,"user=oksana"
2020/12/09 13:12:32.419586 FTS XF:16IDC-ES:LIX{FTS:2}ReadCalib-Cmd lockRequest: status returned to normal
epics> 2020/12/09 13:12:32.715094 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:32.915139 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:33.015253 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:33.215159 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:33.415090 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:33.515148 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:33.715086 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:33.815114 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:34.015089 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:34.115310 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:34.315296 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:34.515150 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:34.715083 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:34.815147 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:35.015097 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:35.115144 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:35.315094 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:35.415132 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:35.615089 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:35.715135 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:35.915089 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:36.015134 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:36.215117 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:36.315111 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:36.515096 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:36.615131 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:36.815102 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:37.015135 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:37.115087 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:37.315118 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:37.415091 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:37.615131 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:37.715085 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:37.915130 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:38.015082 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:38.215144 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:38.415090 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:38.515129 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:38.715099 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:38.815146 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:39.015088 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:39.115151 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:39.315092 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:39.415141 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:39.615093 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:39.715134 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:39.915101 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:40.015137 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:40.215098 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:40.315139 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:40.515106 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:40.615135 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:40.815096 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:12:40.915097 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:12:41.115098 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
^C
[oksana@xf16id-babyioc1 ftsioc]$ vim st.cmd 
[oksana@xf16id-babyioc1 ftsioc]$ ../../bin/linux-x86_64/ftsioc  st.cmd 
#!../../bin/linux-x86_64/ftsioc
< envPaths
epicsEnvSet("IOC","ftsioc")
epicsEnvSet("TOP","/home/oksana/ftsioc")
epicsEnvSet("SUPPORT","/opt/epics/support")
epicsEnvSet("ASYN","/opt/epics/support/asyn")
epicsEnvSet("CALC","/opt/epics/support/calc")
epicsEnvSet("STREAM","/opt/epics/support/StreamDevice")
epicsEnvSet("DEVIOCSTATS","/opt/epics/support/iocStats")
epicsEnvSet("AUTOSAVE","/opt/epics/support/autosave")
epicsEnvSet("EPICS_BASE","/opt/epics/epics-base")
epicsEnvSet("STREAM_PROTOCOL_PATH",    "../../ftsiocApp/Db")
epicsEnvSet("PREFIX",                  "XF:16IDC-ES:LIX")
epicsEnvSet("FTS_IP",                  "10.16.2.195:49151")
epicsEnvSet("PORT",                    "FTS")
## Register all support components
dbLoadDatabase("../../dbd/ftsioc.dbd",0,0)
ftsioc_registerRecordDeviceDriver(pdbbase) 
drvAsynIPPortConfigure("FTS", "10.16.2.195:49151"
## Load record instances
dbLoadRecords("../../db/fts.db","P=XF:16IDC-ES:LIX,R={FTS:2},PORT=FTS,user=oksana")
#asynSetTraceMask( "FTS",0,255)
asynSetTraceMask( "FTS",0,0)
iocInit()
Starting iocInit
############################################################################
## EPICS R7.0.3.1
## EPICS Base built Dec  1 2020
############################################################################
iocRun: All initialization complete
#asynSetTraceMask( "FTS",0,0)
## Start any sequence programs
#seq sncftsioc,"user=oksana"
2020/12/09 13:13:30.674401 FTS XF:16IDC-ES:LIX{FTS:2}ReadCalib-Cmd: Timeout after reading 23 bytes "...<00><0f>B@<00><0f>B@<8a>J<8a>J<8a>J<02>c<02>c<02>c"
2020/12/09 13:13:30.676014 FTS XF:16IDC-ES:LIX{FTS:2}ReadCalib-Cmd: Input "4<02><03><00><0f>B@<00><0f>B@<8a>J<8a>J<8a>J<02>c<02>c<02>c..."
2020/12/09 13:13:30.676231 FTS XF:16IDC-ES:LIX{FTS:2}ReadCalib-Cmd: mismatch after 0 bytes ""
2020/12/09 13:13:30.676419 FTS XF:16IDC-ES:LIX{FTS:2}ReadCalib-Cmd: got "4<02><03><00><0f>B@<00><0f>B..." where "<12>" was expected
epics> exit
[oksana@xf16id-babyioc1 ftsioc]$ ../../bin/linux-x86_64/ftsioc  st.cmd 
#!../../bin/linux-x86_64/ftsioc
< envPaths
epicsEnvSet("IOC","ftsioc")
epicsEnvSet("TOP","/home/oksana/ftsioc")
epicsEnvSet("SUPPORT","/opt/epics/support")
epicsEnvSet("ASYN","/opt/epics/support/asyn")
epicsEnvSet("CALC","/opt/epics/support/calc")
epicsEnvSet("STREAM","/opt/epics/support/StreamDevice")
epicsEnvSet("DEVIOCSTATS","/opt/epics/support/iocStats")
epicsEnvSet("AUTOSAVE","/opt/epics/support/autosave")
epicsEnvSet("EPICS_BASE","/opt/epics/epics-base")
epicsEnvSet("STREAM_PROTOCOL_PATH",    "../../ftsiocApp/Db")
epicsEnvSet("PREFIX",                  "XF:16IDC-ES:LIX")
epicsEnvSet("FTS_IP",                  "10.16.2.195:49151")
epicsEnvSet("PORT",                    "FTS")
## Register all support components
dbLoadDatabase("../../dbd/ftsioc.dbd",0,0)
ftsioc_registerRecordDeviceDriver(pdbbase) 
drvAsynIPPortConfigure("FTS", "10.16.2.195:49151"
## Load record instances
dbLoadRecords("../../db/fts.db","P=XF:16IDC-ES:LIX,R={FTS:2},PORT=FTS,user=oksana")
#asynSetTraceMask( "FTS",0,255)
asynSetTraceMask( "FTS",0,0)
iocInit()
Starting iocInit
############################################################################
## EPICS R7.0.3.1
## EPICS Base built Dec  1 2020
############################################################################
2020/12/09 13:14:27.835967 _main_ XF:16IDC-ES:LIX{FTS:2}ReadCalib-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:27.839037 FTS XF:16IDC-ES:LIX{FTS:2}ReadCalib-Cmd lockRequest: status returned to normal
iocRun: All initialization complete
#asynSetTraceMask( "FTS",0,0)
## Start any sequence programs
#seq sncftsioc,"user=oksana"
epics> 2020/12/09 13:14:28.135569 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:28.335618 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:14:28.535568 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:28.635618 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:14:28.835551 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:28.935596 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:14:29.135564 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:29.235611 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:14:29.435578 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:29.635632 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:14:29.735566 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:29.935598 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:14:30.035569 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:30.235633 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:14:30.435578 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:30.535601 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
2020/12/09 13:14:30.735549 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: port FTS not connected
2020/12/09 13:14:30.835677 scan-0.1 XF:16IDC-ES:LIX{FTS:2}Read-Cmd lockRequest: status returned to normal
^C
[oksana@xf16id-babyioc1 ftsioc]$ 

Replies:
Re: serial IOC connection problem Mark Rivers via Tech-talk
RE: serial IOC connection problem Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: multiple USB devices in Asyn Mark Rivers via Tech-talk
Next: Re: serial IOC connection problem Mark Rivers 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: multiple USB devices in Asyn Mark Rivers via Tech-talk
Next: Re: serial IOC connection problem Mark Rivers 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  <20202021  2022  2023  2024 
ANJ, 09 Dec 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·