Hi Abdalla,
In most cases ExtraInput = Ignore does more bad than good because it
switches off part of the input checking.
If you get wrong inputs (e.g. "Running" instead of a number) this almost
always related to protocols that do not consume all input that a command
produces.
If for example a command sends a long, maybe multi-line string and you
only parse the beginning until you find an "interesting" value, the
remainder of the string is still somewhere.
StreamDevice tries to discard such "old input" at the beginning of every
'out' command, but it is a race condition. If the device sends more
input as a result of the previous command after the flush, it will be
received instead of the real reply of the next command. This is also
true for replies on set commands. If the device sends a reply after your
sent a set command, you should read it and not "fire and forget" the set
value. Otherwise the replay may mix with the data of the next command.
Thus first you should remove all the ExtraInput = Ignore.
Then find out which command replies something with "Running" which you
may not have read. Try to connect with telnet and type the commands
manually. In the protocol consume *everything* the device sends back.
For more details I need to know more about the device and what commands
it knows. If possible send a link to the manual. Also your full protocol
file would be helpful.
Dirk
On 11.03.2018 13:54, Abdalla Ahmad wrote:
Hi
We have the Gamma QPC ion-pump controllers controlled via StreamDevice
through telnet, port 23. We have 4 parameters implemented, pressure,
voltage, current, and channel status. The problem is that the IOC gives
an error that the value received for the pressure PV is "Running", i.e.
"Input Running does not match format %E". Seems like at some point the
controller is not finishing a previous parameter and the IOC receives
something different than the current parameter requested.
We have the following in the protocol file:
OutTerminator = CR;
InTerminator = CR;
ReadTimeout = 2000;
ReplyTimeout = 2000;
And each parameter in the protocol file has ExtraInput = Ignore at the
end. Any help resolving this mismatching issue?
Best Regards,
Abdalla Ahmad
Control Engineer
SESAME
Allan, Jordan.
Tel: (+962-5) 3511348 , ext. 265
Fax: (+962-5) 3511423
Mob: (+962-7)88183296
www.sesame.org.jo <http://www.sesame.org.jo/>
- References:
- StreamDevice with Telnet port Abdalla Ahmad
- Navigate by Date:
- Prev:
RE: EtherCAT newbie question Wallace, Alex
- Next:
problem building 3.15.5 Maren Purves
- 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: StreamDevice with Telnet port Mark Rivers
- Next:
Re: StreamDevice with Telnet port Dirk Zimoch
- 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
|