Hi Dirk
I just received an email from the mailing list that the email was rejected. So I resent the email with the attachments in case you did not receive.
Abdalla.
-----Original Message-----
From: Abdalla Ahmad
Sent: Sunday, March 18, 2018 3:17 PM
To: 'Dirk Zimoch' <[email protected]>; [email protected]
Subject: RE: StreamDevice with Telnet port
Hi Dirk
Please find attached the manual for the controllers along with the protocol files we are using.
Best Regards,
Abdalla.
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Dirk Zimoch
Sent: Tuesday, March 13, 2018 5:43 PM
To: [email protected]
Subject: Re: StreamDevice with Telnet port
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/>