Users Manual
(continued from previous page)
<end
_
of
_
request></end
_
of
_
request>
</req>
This telegram can be sent from KRL by specifying req as path for EKI
_
Send:
DECL EKI
_
STATUS RET
RET = EKI
_
SetString("rc
_
itempick-get
_
load
_
carriers", "req/args/load
_
carrier
_
ids/le",
˓→"load
_
carrier2")
RET = EKI
_
Send("rc
_
itempick-get
_
load
_
carriers", "req")
Response XML structure
The <RECEIVE> element in the XML configuration file for a generic service follows the specification below:
<RECEIVE>
<XML>
<ELEMENT Tag="res/<resX>" Type="<resX
_
type>"/>
<ELEMENT Tag="res/return
_
code/@value" Type="INT"/>
<ELEMENT Tag="res/return
_
code/@message" Type="STRING"/>
<ELEMENT Tag="res" Set
_
Flag="998"/>
</XML>
</RECEIVE>
As an example, the <RECEIVE> element of the rc
_
april
_
tag
_
detect’s detect service (see TagDetect, Section
7.3) is:
<RECEIVE>
<XML>
<ELEMENT Tag="res/timestamp/@sec" Type="INT"/>
<ELEMENT Tag="res/timestamp/@nsec" Type="INT"/>
<ELEMENT Tag="res/return
_
code/@message" Type="STRING"/>
<ELEMENT Tag="res/return
_
code/@value" Type="INT"/>
<ELEMENT Tag="res/tags/le/pose
_
frame" Type="STRING"/>
<ELEMENT Tag="res/tags/le/timestamp/@sec" Type="INT"/>
<ELEMENT Tag="res/tags/le/timestamp/@nsec" Type="INT"/>
<ELEMENT Tag="res/tags/le/pose/@X" Type="REAL"/>
<ELEMENT Tag="res/tags/le/pose/@Y" Type="REAL"/>
<ELEMENT Tag="res/tags/le/pose/@Z" Type="REAL"/>
<ELEMENT Tag="res/tags/le/pose/@A" Type="REAL"/>
<ELEMENT Tag="res/tags/le/pose/@B" Type="REAL"/>
<ELEMENT Tag="res/tags/le/pose/@C" Type="REAL"/>
<ELEMENT Tag="res/tags/le/instance
_
id" Type="STRING"/>
<ELEMENT Tag="res/tags/le/id" Type="STRING"/>
<ELEMENT Tag="res/tags/le/size" Type="REAL"/>
<ELEMENT Tag="res" Set
_
Flag="998"/>
</XML>
</RECEIVE>
For arrays, the response includes multiple instances of the same XML element. Each element is written into a
separate buffer within EKI and can be read from the buffer with KRL instructions. The number of instances can
be requested with EKI
_
CheckBuffer and each instance can then be read by calling EKI
_
Get<Type>.
As an example, the tag poses received after a call to the rc
_
april
_
tag
_
detect’s detect service can be read in
KRL using the following code:
DECL EKI
_
STATUS RET
DECL INT i
DECL INT num
_
instances
DECL FRAME poses[32]
(continues on next page)
8.4. KUKA Ethernet KRL Interface 169