This part of the communication proves that responses are lagging the commands by 1 command:
2018/03/18 14:52:49.037 SR-IPC18:23 write 9
cmd 0A 1\r
2018/03/18 14:52:49.057 SR-IPC18:23 read 1
>
2018/03/18 14:52:49.157 SR-IPC18:23 read 22
OK 00 2.01E-11 MBAR\r\r\n
The above command asks for current, but you got pressure which was the previous request.
2018/03/18 14:52:49.157 SR-IPC18:23 write 9
cmd 0C 1\r
2018/03/18 14:52:49.177 SR-IPC18:23 read 1
>
2018/03/18 14:52:49.277 SR-IPC18:23 read 22
OK 00 1.84E-08 AMPS\r\r\n
The above command asks for voltage, but you got current which was the previous request.
2018/03/18 14:52:49.277 SR-IPC18:23 write 9
cmd 61 1\r
2018/03/18 14:52:49.297 SR-IPC18:23 read 1
>
2018/03/18 14:52:49.397 SR-IPC18:23 read 13
OK 00 3012\r\r\n
The above command asks isenabled, but it got a status response.
2018/03/18 14:52:49.397 SR-IPC18:23 write 9
cmd 0D 1\r
2018/03/18 14:52:49.417 SR-IPC18:23 read 1
>
2018/03/18 14:52:49.517 SR-IPC18:23 read 12
OK 00 YES\r\r\n
The above command asks for status, but I think you got isenabled response.
2018/03/18 14:52:49.517 SR-IPC18:23 write 9
cmd 0B 2\r
2018/03/18 14:52:49.537 SR-IPC18:23 read 1
>
2018/03/18 14:52:49.715 SR-IPC18:23 read 16
OK 00 Running\r\r\n
The above command asks for pressure but it got a status response.
2018/03/18 14:52:49.715 SR-IPC18:23 write 9
cmd 0A 2\r
2018/03/18 14:52:49.736 SR-IPC18:23 read 1
>
2018/03/18 14:52:49.835 SR-IPC18:23 read 22
OK 00 1.33E-11 MBAR\r\r\n
The above asks for current but it got a pressure response
2018/03/18 14:52:49.835 SR-IPC18:23 write 9
cmd 0C 2\r
2018/03/18 14:52:49.863 SR-IPC18:23 read 1
>
2018/03/18 14:52:49.964 SR-IPC18:23 read 22
OK 00 2.43E-08 AMPS\r\r\n
The above command asks for voltage but it got the current response.
I think you should do what Dirk suggests and remove the ExtraInput=Ignore; everywhere. Change the protocol so it consumes the entire string, including the units like AMP and VOLTS.
Mark
________________________________
From: Abdalla Ahmad <[email protected]>
Sent: Sunday, March 18, 2018 8:11 AM
To: Mark Rivers; [email protected]
Subject: RE: StreamDevice with Telnet port
Hi Mark
I have attached 3 files:
1. The protocol file for the controllers.
2. "ipc18" contains output from "asynTraceMask" functions before and after a failure. This IPC gave mismatch error just after the IOC initialized.
3. "vacuum-error.txt" contains error from the IOC shell itself.
Best Regards,
Abdalla.
-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Monday, March 12, 2018 1:19 PM
To: Abdalla Ahmad <[email protected]>; [email protected]
Subject: Re: StreamDevice with Telnet port
Once they fail post the output here to tech-teclk, starting just before the failure through it. Then we can see if the device failed to respond in time to one command, for example. If it did then it is possible the response from the previous command arrived after a timeout and was confused with the response to the next command.
Mark
________________________________
From: Abdalla Ahmad <[email protected]>
Sent: Monday, March 12, 2018 1:49 AM
To: Mark Rivers; [email protected]
Subject: RE: StreamDevice with Telnet port
Hi Mark
Thank you very much. I have just set these commands for all the controllers and waiting them to fail. But one thing I am not sure of is, how these captured information will help me?
Best Regards,
Abdalla.
-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Sunday, March 11, 2018 3:15 PM
To: Abdalla Ahmad <[email protected]>; [email protected]
Subject: Re: StreamDevice with Telnet port
Hi Abdalla,
You should capture the communications stream between the IOC and the controller using asynTrace. Type the following commands at the IOC prompt or put them in your startup script. Replace PORT with the name of the drvAsynIPPort.
asynSetTraceIOMask PORT 0 2
asynSetTraceMask PORT 0 9
If it takes a long time to fail then you might want to send the output to a file
asynSetTraceFile PORT 0 filename
That trace should tell you if there was some miscommunication before the pressure PV comes back wrong.
Mark
________________________________
From: [email protected] <[email protected]> on behalf of Abdalla Ahmad <[email protected]>
Sent: Sunday, March 11, 2018 7:54 AM
To: [email protected]
Subject: StreamDevice with Telnet port
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
- Re: StreamDevice with Telnet port Mark Rivers
- RE: StreamDevice with Telnet port Abdalla Ahmad
- Re: StreamDevice with Telnet port Mark Rivers
- RE: StreamDevice with Telnet port Abdalla Ahmad
- Navigate by Date:
- Prev:
RE: StreamDevice with Telnet port Abdalla Ahmad
- Next:
Re: SubArray to ai record Amien Crombie
- 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 Abdalla Ahmad
- 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
|