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,