First, you appear to have an error in your protocol file because you are getting this error:
2015/12/28 16:21:42.753 _main_ devNozzleExchange.proto line 30: in variable assignment 'in = ...'
2015/12/28 16:21:42.753 _main_ devNozzleExchange.proto line 29: in protocol 'getrobotnozzleoffsta'
2015/12/28 16:21:42.753 _main_ while reading protocol 'GetCryoBackSta' for 'BL5C:NOZZLE:GetCryoBackS
However you did not send us the complete protocol file, you only sent the part for GetRemoteSta.
Please send the entire protocol file.
Please also send the entire output as the IOC starts up. We need to see any errors that occur before and after iocInit.
> i think the send command is wrong.
> i want to send ascii code(convert out "!50SWS" to ascii code)
It appears to me that it is sending that command correctly. The asynTrace output shows that it is sending the string you want.
However, it is not receiving the reply you expect. It is receiving "ER=1\r\n" not "?501\r\n" for example.
You need to read the manual for the device and see what the ER=1 response means. It looks like it is probably an error code.
The best way to debug this kind of thing is to either to:
- Stop the IOC and telnet directly to the device. Send the commands manual and look at the response.
- Run the IOC but set those records to Passive rather than 0.2 second scan. Load an asynRecord for that PORT and open the asynOctet.adl screen.
- Send commands from the asyn record and look at the response.
Mark
________________________________
From: [email protected] [[email protected]] on behalf of mujin park [[email protected]]
Sent: Monday, December 28, 2015 7:06 AM
To: [email protected]
Subject: Nozzle Exchange Command Error...
Hello.
i'm in trouble with Nozzle Exchange Device..
-------------------------------
devNozzleExchange.proto
----------------------------------
@writetimeout { disconnect; }
@replytimeout { disconnect; }
@readtimeout { disconnect; }
@mismatch { disconnect; }
ReplyTimeout = 1200;
#InTerminator = 92 114 92 110;
InTerminator = "\r\n";
OutTerminator = "\r\n";
#OutTerminator = 92 114 92 110;
#
# Measure current
#
GetRemoteSta {
out "!50SWS";
#out 33 53 48 83 87 83 92 114;
#out 33 53 48 83 87 83 67 114;
in "?50%1d";
#in 63 53 48 37 49 100 92 114;
ExtraInput = Ignore;
}
--------------------------------------------
devNozzleExchange.db
------------------------------------
#
# Reading
#
record(bi, "$(P)$(D):GetRemoteSta")
{
field(DESC, "Local/Remote Status")
field(DTYP, "stream")
field(INP, "@devNozzleExchange.proto GetRemoteSta $(PORT) $(A)")
field(ZNAM, "Local")
field(ONAM, "Remote")
field(SCAN, ".2 second")
field(FLNK, "$(P)$(D):GetCryoSolSta")
}
-----------------------------------------
ioc console....
-------------------------------------------
2015/12/28 21:38:31.714 192.100.100.20:4009<http://192.100.100.20:4009> write 8
!50SWS\r\n
2015/12/28 21:38:31.915 192.100.100.20:4009<http://192.100.100.20:4009> read 6
ER=1\r\n
2015/12/28 21:38:31.915 MX1_9 BL5C:NOZZLE:GetRemoteSta: Input "ER=1" mismatch after 0 bytes
2015/12/28 21:38:31.916 MX1_9 BL5C:NOZZLE:GetRemoteSta: got "ER=1" where "?50" was expected
----------------------------------------
Nozzle Device Description
------------------------------
-Local/Remote Switch status request
state request = "! + 50 + SWS +Cr/Lf"
return state = "? + 50 + x1 + Cr/Lf" ( 6 bite ascii receive)
x1 = 0 : Local , x1 = 1 : Remote
------------------------------------------------------
i think the send command is wrong.
i want to send ascii code(convert out "!50SWS" to ascii code)
how can i do it?
is it .proto function?
is it another solution?
- References:
- Nozzle Exchange Command Error... mujin park
- Navigate by Date:
- Prev:
Nozzle Exchange Command Error... mujin park
- 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:
Nozzle Exchange Command Error... mujin park
- 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
|