22. Juli 2019, 03:24:18
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 KUKA.Etherner KRL XML 1.1 / Diverse Probleme


normal_post Autor Thema:  KUKA.Etherner KRL XML 1.1 / Diverse Probleme  (Gelesen 1933 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

07. April 2009, 06:57:34
Gelesen 1933 mal
Offline

Matu


Hallo,

ich habe KRL XML konfiguriert, beim Öffnen des Kanals erhalte ich aber die Fehlermeldung, dass die zugehörige XML Datei im Ordner init nicht gefunden wird, obwohl diese definitiv vorhanden ist.
Kurz die wichtigen Teile der XML-Dateien:
1. XmlApiConfig.xml (Ausschnitt):
<XmlApiParam InitOnce="false"/>
  <Channel SensorName="IFMCam" SensorType="Kamera">
    <TCP_IP IP="192.168.0.49" Port="50010" Route="true" MapPort="50010"/>
  </Channel>
</XmlApiConfig>
2. Die entsprechende IFMCam.xml:
<?xmlversion="1.0" encoding="UTF-8"?>
<!--NAME -->
<!-- IFMCam.XML -->
<Elements>
<Element Tag="data" Type="STRUCTTAG" Stacksize="100" OnTagSetPort="200"/>
<Element Tag="data.TString" Type="STRING" Size="80" Stacksize="100"/>
</Elements>
Beide Dateien liegen unter C:\KRC\Roboter\init
Der KUKA-Router ist entsprechend konfiguriert.
E/As wurden nach der Konfiguration natürlich ebenfalls rekonfiguriert.

Beim Öffnen mittels EKX_open() - wobei IFMCam als String in einer Variablen übergeben wird - erhalte ich dann besagte Fehlermeldung, dass die Datei "init\IFMCam.xml" nicht gefunden wird.

Kann vielleicht jemand sagen, wo hier der Fehler sein könnte?

Danke,
Markus
« Letzte Änderung: 08. April 2009, 15:10:26 von Matu »
  • gefällt mir    Danke

Heute um 03:24:18
Antwort #1

Werbung

Gast

07. April 2009, 13:42:03
Antwort #1
Offline

LindePaul


Hallo Markus,
um da was zu finden braucht man das komplette Archiv.
Wenn Du darfst, hier posten oder der KUKA-Hotline schicken
  • gefällt mir    Danke
Wer nach allen Seiten offen ist kann nicht ganz dicht sein

08. April 2009, 15:25:58
Antwort #2
Offline

Matu


Anbei ein vollständiges Archive - außer einem Testprogrämmchen für die Ethernet-Kommunikation ist noch nichts weiter erstellt.
Das Problem mit der angeblich Fehlenden IFMCam.xml habe ich mitlerweile erledigt - ich hatte beim Kopieren der Beispiel-XML in meine XML übersehen, dass dort ein paar Zeilenumbrüche waren, wo keine sein sollten ;) Die Fehlermeldung ist dann nur ein wenig irritierend.

Ein paar Probleme habe ich trotzdem noch - habe deshalb bereits den Thread-Titel geändert. Ich hoffe, hier kann mir noch geholfen werden.

Von der Kamera erhalte ich folgende XML-Struktur geliefert:
<CamData>
<TString>abcdefghjhgsdfjhgsdfjhsgdfjhsgdf</TString>
</CamData>
Der Text für TString stimmt hier natürlich nicht ganz ;)

Das 1. Problem:
Die Kamera wählt nach jedem Verbindungsaufbau eine Kommunikatiosversion, bei der sowohl den Befehle als auch den Antworten eine vierstellige Zahl vorangestellt wird. Was beim Senden (Befehl: "0001T?") kein Problem ist, liefert als Antwort von der Kamera jedoch z.Bsp. folgendes:
0001<CamData>......

Das kann die KRL XML-Software jedoch nicht auswerten...

Ich habe dir Möglichkeit, mittels eines Befehls die Kommunikationsversion umzustellen und so diese Ziffern zu unterdrücken. Allerdings liefert auch dieser Befehl ("0001v01") wieder folgende Antwort: "0001*"
Somit kann ich zwar mit dem einfachen Befehl "T?" anschließend die Kamera abfragen, aber da die Antwort auf den ersten Befehl noch im Einfangspuffer der Schnittstelle zu sein scheint, kann auch hier der XML-Code nicht ausgewertet werden...
Daher meine erste Frage: Gibt es eine Möglichkeit, den Eingangspuffer zu löschen, ohne die Verbindung zu trennen und neu aufzubauen? Denn hierbei würde von der Kamera auch die Kommunikationsversion wieder zurück gesetzt :(

Ich habe das ganze mit einem kleinen PC-Tool getestet, das auf meine Anfrage vom Roboter den XML-Code ohne diese Ziffern zurück liefert. Prinzipiell funktioniert dies dann so, allerdings ist dabei mein zweites Problem aufgetreten:
Ich erhalte als Ergebnis für die eingelesene TString-Komponente des XML-Codes nur die ersten 6 Zeichen - im obigen Beispiel also nur "abcdef".
Woran kann das nun wieder liegen? Sowohl die XML-Struktur als auch die genutzte Variable ist mit deutlich mehr Zeichen angegeben.
Telnet zeigt mir, dass der richtige XML-Code übergeben wird.

So, viel Text für meine Problemchen. Ich hoffe, jemand ist schlauer als ich und kann mir helfen ;)

Danke schon einmal vorab!

Gruß,
Markus
  • gefällt mir    Danke

13. April 2009, 13:46:25
Antwort #3
Offline

Matu


Da ich bisher leider noch keine Antwort erhalten habe, erst einmal wieder ein Update von mir:

IFM wird eine neue Firmware für die Kamera erstellen, bei der die gewählte Übertragungsart gespeichert wird. Somit ist dann man erstes Problem erledigt. Bis dahin werde ich mir behelfen, indem ich einen PC zwischen KUKA-Steuerung und Kamera schalte, der die überflüssigen Teile der Kamera-Antwort rausnimmt und in der richtigen Form an die KUKA-Software weitergibt.
Falls jemand noch eine Lösung direkt auf der KUKA-Steuerung kennt, womit ich mir den Umweg über mein Progrämmchen auf einem zusätzlichen PC spare, immer her damit ;)

Freuen würde ich mich weiterhin über eine Antwort zu meinem zweiten Problem. Nochmal kurz zur Erinnerung: Ich erhalte von dem von der Kamera (bzw. bei meinen Tests vom PC) gesendeten String nur die ersten 6 Zeichen nach der Auswertung durch die KRL XML-Software. Bei einem Zugriff per Telnet kann ich aber sehen, dass der gesamte XML-Code korrekt gesendet wird. Wo liegt hier der Fehler?


Gruß,
Markus
  • gefällt mir    Danke

15. April 2009, 09:57:16
Antwort #4
Offline

interner_mitarbeiter



temp = rectext[1]


DECL char temp [81]
bNew=STRCOPY(temp[],rectext[1].s[])

sollte es damit nicht behoben sein, schick bitte die IFMCam.xml Datei.
« Letzte Änderung: 15. April 2009, 09:59:35 von interner_mitarbeiter »
  • gefällt mir    Danke

Heute um 03:24:18
Antwort #5

Werbung

Gast

15. April 2009, 17:34:47
Antwort #5
Offline

Matu


Durch ein wenig ausprobieren bin ich heute auch auf die gleiche Lösung gekommen - so funktioniert es tatsächlich! Trotzdem danke ;)

Da sollte dann KUKA mal ihre Dokumentation sowie das Beispiel zur KRL XML ändern, denn mein erster Ansatz entsprach dem Beispiel...


Die neue Firmware habe ich heute von IFM ebenfalls erhalten, somit sind meine Problemchen erledigt :)

Gruß,
Markus
  • gefällt mir    Danke


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH