Beiträge von Stoeppsel

    Ich möchte hier noch ein kurzes Update geben: Der Fehler lag darin, dass die eintreffenden Nachrichten als Achskoordinaten bezeichnet waren, im Telegramm aber die Kartesischen Bezeichner im XML waren.


    Was passiert ist, dass die RSI nach den Variablen AKorr.A1 .... .A6 gesucht hat, aber nur RKorr.X ...Y gefunden hat. Daher wurden die Variablen A1... A6 mit dem Defaultwert 0 zurückgeschickt.


    Fies aber wird ohne Warnung von der Steuerung akzeptiert.

    Hallo liebe Roboterfreunde,
    ich versuche gerade die Robotersteuerung über die RSI 3.3 Schnittstelle anzusprechen und hoffe ihr könnt mir dabei weiterhelfen. Mein System besteht aus einer python Server, Client Struktur (auf github gefunden) , der von extern die XML Files folgender Form zum Roboter schickt.


    [size=3]<Sen Type="ImFree">[/size]
    [size=3]<EStr>KRCnexxt - RSI Object ST_ETHERNET</EStr>[/size]
    [size=3]<RKorr X="1.0" Y="2.0" Z="3.0" A="0.0" B="0.0" C="0.0" />[/size]
    [size=3]<IPOC>31630932</IPOC>[/size]
    [size=3]</Sen>[/size]
    die zugehörige Config sieht folgendermaßen aus:


    [...][size=3]
    <SEND>
    <ELEMENTS>
    <ELEMENT TAG="DEF_AIPos" TYPE="DOUBLE" INDX="INTERNAL" />
    <ELEMENT TAG="DEF_ASPos" TYPE="DOUBLE" INDX="INTERNAL" />
    <ELEMENT TAG="DEF_Delay" TYPE="LONG" INDX="INTERNAL" />
    <ELEMENT TAG="Source1" TYPE="DOUBLE" INDX="1" />
    </ELEMENTS>
    </SEND>
    <RECEIVE>
    <ELEMENTS>
    <ELEMENT TAG="DEF_EStr" TYPE="STRING" INDX="INTERNAL" />
    <ELEMENT TAG="AKorr.A1" TYPE="DOUBLE" INDX="1" HOLDON="1" />
    <ELEMENT TAG="AKorr.A2" TYPE="DOUBLE" INDX="2" HOLDON="1" />
    <ELEMENT TAG="AKorr.A3" TYPE="DOUBLE" INDX="3" HOLDON="1" />
    <ELEMENT TAG="AKorr.A4" TYPE="DOUBLE" INDX="4" HOLDON="1" />
    <ELEMENT TAG="AKorr.A5" TYPE="DOUBLE" INDX="5" HOLDON="1" />
    <ELEMENT TAG="AKorr.A6" TYPE="DOUBLE" INDX="6" HOLDON="1" />
    </ELEMENTS>
    </RECEIVE>
    [/size]


    Das ganze habe ich an sich auch schon zum Laufen bekommen, dass der MOVECORR()-Befehl keine Fehlermeldung mehr ausgibt. Daher würde ich Fehler bei der Netzwerkkonfiguration ausschließen. Ebenso ist es mir möglich den zurückgegebenen Wert von Source1 in der Python-Konsole auszugeben.


    Ich habe zusätzlich in der RSIVisualShell die Eingänge 1-3 des Ethernetblocks auf den Monitor, als auch auf die $SEN_PREA Speicher gelegt (Mit den ensprechenden Blöcken im Blockschaltbild). In beiden Fällen sind die Eingänge 1-3 = 0. Nur der Sinus aus der Source1 zieht munter seine Bahnen.


    Hat jemand eine konkrete Idee ob ich eine Einstellung vergessen habe? Kann man in irgendeiner Form sich das Eintreffende XML-File auf der Steuerung genauer anschauen? Die Kommunikation ist im Config auch für beide Richtungen eingestellt (<ONLYSEND>FALSE</ONLYSEND> )


    Ich bin für jeden Tipp dankbar! Schönen Abend noch allerseits!



    EDIT:
    Was ich noch hinzufügen kann. Der EStr "KRCnexxt - RSI Object ST_ETHERNET" kommt an und wird mir im HMI im Nachrichtenfeld (1mal) angezeigt. Es macht also den Eindruck dass ein Teil von dem XML verloren geht bzw. ignoriert wird.