8.5. KUKA Ethernet KRL Schnittstelle
Antwort-XML-Struktur
Das
<SEND>
-Element in der XML-Kon gurationsdatei für einen generischen Service folgt der folgenden
Spezi kation:
<RECEIVE>
<XML>
Tag="res/<resX>" Type="<resX _
<ELEMENT
Tag="res/return _ code/@value"
<ELEMENT
Tag="res/return _ code/@message"
<ELEMENT
Tag="res" Set _
<ELEMENT
</XML>
</RECEIVE>
Beispielsweise sieht das
Abschnitt 6.9) wie folgt aus.
<RECEIVE>
<XML>
Tag="res/timestamp/@sec"
<ELEMENT
<ELEMENT
Tag="res/timestamp/@nsec"
Tag="res/return _ code/@message"
<ELEMENT
Tag="res/return _ code/@value"
<ELEMENT
Tag="res/tags/le/pose _ frame"
<ELEMENT
Tag="res/tags/le/timestamp/@sec"
<ELEMENT
<ELEMENT
Tag="res/tags/le/timestamp/@nsec"
<ELEMENT
Tag="res/tags/le/pose/@X"
Tag="res/tags/le/pose/@Y"
<ELEMENT
<ELEMENT
Tag="res/tags/le/pose/@Z"
Tag="res/tags/le/pose/@A"
<ELEMENT
<ELEMENT
Tag="res/tags/le/pose/@B"
<ELEMENT
Tag="res/tags/le/pose/@C"
Tag="res/tags/le/instance _ id"
<ELEMENT
<ELEMENT
Tag="res/tags/le/id"
Tag="res/tags/le/size"
<ELEMENT
Tag="res" Set _
<ELEMENT
</XML>
</RECEIVE>
Bei Arrays beinhaltet die Antwort mehrere Instanzen des gleichen XML-Elements. Jedes Element wird in
einen separaten Puffer in EKI geschrieben und kann daraus mit KRL-Instruktionen ausgelesen werden.
Die Anzahl an Instanzen (Array-Elementen) kann über
EKI _ Get<Type>
Instanz mit
Beispielsweise können die Ergebnisposen aus einer Antwort des
in KRL wie folgt ausgelesen werden:
DECL EKI _ STATUS RET
DECL INT i
DECL INT num _ instances
DECL FRAME poses[32]
DECL FRAME pose
=
EKI _
CheckBuffer("rc _ april _ tag _
RET
=
num _ instances
=
RET.Buff
to num _ instances
for
i=1
EKI _
GetFrame("rc _ april _ tag _
RET
=
poses[i]
=
pose
endfor
EKI _
ClearBuffer("rc _ april _ tag _
RET
=
Roboception GmbH
Handbuch: rc_visard
Flag="998"/>
rc _ april _ tag _ detect detect
-Element des
<RECEIVE>
Type="INT"/>
Type="INT"/>
Type="REAL"/>
Type="REAL"/>
Type="REAL"/>
Type="REAL"/>
Type="REAL"/>
Type="REAL"/>
Type="STRING"/>
Type="REAL"/>
Flag="998"/>
ausgelesen werden.
{X 0.0, Y 0.0, Z 0.0, A 0.0, B 0.0, C 0.0}
detect-detect", "res/tags/le/pose")
detect-detect", "res/tags/le/pose", pose)
detect-detect", "res")
type>"/>
Type="INT"/>
Type="STRING"/>
Type="STRING"/>
Type="INT"/>
Type="STRING"/>
Type="INT"/>
Type="INT"/>
Type="STRING"/>
EKI _ CheckBuffer
rc _ april _ tag _ detect detect
253
Services (siehe TagDetect,
abgefragt werden und jede
Services
Rev: 21.01.1
Status: 30.01.2021