Hi Dirk,
The problem was in the LockTimeout, it was too short. When I increased
the LockTimeout to your recommendation, the substitution file now gets
executed properly even when a pump is disconnected.
Thank you for the information and your recommendations.
Regards,
---
Donny Domagoj Cosic
Laboratory for Ion Beam Interactions
Ruđer Bošković Institute
Bijenička cesta 54 | HR-10 000 Zagreb | CROATIA
T: +385 1 4561 041 | @: dcosic at irb.hr | www.irb.hr
Dana 2022-07-11 15:40, Zimoch Dirk (PSI) je napisao(la):
Hi Donny,
thanks for the files.
I wanted to check if and how your records are connected. If you are
FLNKing the devices or if they are SCANned
independenty or I/O Intr or anything else.
What you have looks "normal" to me.
I see that all devices use the same (serial?) port, thus a timeout for
one device delays the others.
Check your LockTimeout against your ReplyTimeout. I would make
LockTimeout > ReplyTimeout * number of devices.
Otherwise your other queued device lose patience while one or more
device wait for timeout.
Make ReplyTimeout not much longer than necessary or you waste too much
time when d device goes offline. I would measure
how long a device typically takes to reply on the slowest commend and
multiply that by 2. If you then get timeouts from
a running device increase it a bit (e.g. by 25% or so). Then multiply
this by the number of devices sharing the same
port (here 12).
Dirk
On Mon, 2022-07-11 at 15:20 +0200, Donny Domagoj Cosic wrote:
Hi Dirk,
Thank you for your reply.
user.substitutions:
file "db/vacuumPumps.db" {
pattern { name, address, port}
{ "VDG_LE","001", "PumpPort"}
{ "VDG_HE","002", "PumpPort"}
{ "TDT_Ext","003", "PumpPort"}
{ "TDT_Switching","004", "PumpPort"}
{ "TDT_90","006", "PumpPort"}
{ "TDT_HE","007", "PumpPort"}
{ "TDT_LE","008", "PumpPort"}
{ "VDG_90A","011", "PumpPort"}
{ "VDG_90B","012", "PumpPort"}
{ "VDG_SNICS","013", "PumpPort"}
{ "VDG_Alphatros","014", "PumpPort"}
{ "TDT_Injector","015", "PumpPort"}
}
vacuumPumps.db
record(ai, "Vacuum:Pumps:Current:$(name):Read")
{
field(DTYP, "stream")
field(INP, "@vacuumPumps.proto pumpCurrent($(address)) $(port)")
field(SCAN, "10 second")
field(ESLO, "0.01")
field(LINR, "LINEAR")
field(HIHI, "3.00")
field(HIGH, "1.00")
field(HHSV, "MAJOR")
field(HSV, "MINOR")
field(EGU, "A")
}
vacuumPumps.proto
pumpCurrent {
out "\$10031002=?%+<sum>";
in "%*10d%6d%*3d";
}
I have included the information you requested. On what does it depend?
Thank you,
---
Donny Domagoj Cosic
Laboratory for Ion Beam Interactions
Ruđer Bošković Institute
Bijenička cesta 54 | HR-10 000 Zagreb | CROATIA
T: +385 1 4561 041 | @: dcosic at irb.hr | www.irb.hr
Dana 2022-07-11 14:26, Zimoch Dirk (PSI) je napisao(la):
> The answer to your question depends strongly on the details of your
> implementation.
> Please provide your substitution file and template.
>
> Dirk
>
>
> On Mon, 2022-07-11 at 13:58 +0200, Donny Domagoj Cosic via Tech-talk
> wrote:
> > Hello,
> >
> > I have a user.substitution file that contains a number of entries
> > (vacuum pumps in this case) and it works well with the IOC. When all
> > the
> > pumps are connected, the IOC cycles through all the entries in the
> > substitution file. However if we disconnect one pump, we receive a No
> > Reply error from StreamDevice and the execution of the substitution
> > file
> > stops at that entry. The rest of the substitution file is skipped by
> > the
> > IOC until the next scan cycle where it again begins from the first
> > entry
> > in the substitution file. Therefore the entries after the No Reply are
> > never executed.
> > How can I get the IOC to continue to the next entry in the
> > substitution
> > file when a No Reply error (for an IN command) is encountered?
> >
> > Thank you in advance,
- References:
- Substitution file, streamdevice Donny Domagoj Cosic via Tech-talk
- Re: Substitution file, streamdevice Zimoch Dirk (PSI) via Tech-talk
- Re: Substitution file, streamdevice Donny Domagoj Cosic via Tech-talk
- Re: Substitution file, streamdevice Zimoch Dirk (PSI) via Tech-talk
- Navigate by Date:
- Prev:
Re: Substitution file, streamdevice Zimoch Dirk (PSI) via Tech-talk
- Next:
RE: EPICS compilation errors Adrian Martinez 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
2021
<2022>
2023
2024
- Navigate by Thread:
- Prev:
Re: Substitution file, streamdevice Zimoch Dirk (PSI) via Tech-talk
- Next:
CSS questions pertaining to combo box showing values after decimal point Wang, Andrew 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
2021
<2022>
2023
2024
|