Beiträge von Tommy

    Hallo Leute.....


    ich habe mein TOOL und BASE vermessen.
    So: nun fahre ich



    $TOOL = TOOL_DATA[1]
    $BASE = BASE_DATA[1]


    PTP HOME
    PTP Holen


    LIN_REL {FRAME:Y 300} // Sollte eigendlich im BASE Koordinaten system um 300mm in Y Richtung verfahren.....
    // tut er aber nicht sondern im WeltK. :kopfkratz:



    warum? was mache ich fasch? oder habe ich was vergessen?


    danke schon mal....


    Gruß

    :uglyhammer_2: :uglyhammer_2: :uglyhammer_2: :uglyhammer_2: :uglyhammer_2: :uglyhammer_2: :uglyhammer_2:


    Das Problem hat sich erledigt. ist wieder mal fast peinlich. :uglyhammer_2:


    Wir haben den Roboter gebraucht gekauft, es wahr mal ein 125kg Roboter der dan zu einem 200kg Roboter umgebaut wurde.
    Uns wurde aber die falsche Steuerung bzw die Maschienendaten wurden nicht geändert. :waffen100:


    Resultat: die Steuerung wollte schon richtig fahren, nur wegen der falschen Getriebeübersetzung hat der Roboter es falsch ausgeführt.
    Maschienendaten geändert und siehe da es geht....... :grinser043:

    Danke erstmal für die schnellen antworten.


    also alle besagten Variablen stehen auf null, $Base=$NULLFRAME probiert.... neu Justiert....
    alles hilft nicht.
    Wenn ich in HomePosition (ist wie Justiert) stehe und un der Z achse verfahre verdreht sich bei mir die achse 5 um den winkel X .
    Ich meine die Flanschplatte bleibt nicht im rechten Winkel zum Boden. :waffen100: :wallbash: :denk: :kopfkratz:

    Hallo (wieder mal) alle miteinander


    zu meiner Frage....
    wenn ich schreibe:
    $BASE = $WORLD
    $TOOL = $NULLFRAME


    und nun den Robi in Hand mit den Weltkoordinaten in richtung "Z" verfahre....warum streckt sich dan die A5 Achse in negative richtung?
    der Flansch sollte doch parallel zum Boden verfahren.... :wallbash: was mache ich falsch?

    Danke erst mal für die schnellen Antworten. :merci:


    ich war der meinung das das $ zeichen hin muß weil es Global ist aber ok. (*Wieder mehr weiß* :D)


    nein es sind keine Daten in der CPU angekommen, aber das lag nicht an der übergabe an die CPU das funzt. in $Test Stand nichts drin.
    aber das lag an dem $ und an der Aktualisierung. :uglyhammer_2:


    habe das ganze jetzt in die SPS.sup reingetippt und das $ weggelassen. jetzt funzt es. :ylsuper:



    aber wenn wir schon dabei sind ......
    ich übergebe jetzt Koordinaten von der SPS an den Robi. kann ich das direct schreiben ?


    "PositionIN" ist jetzt variable Type Frame (( X 0.0,Y 0.0,Z 100.0,A 0.0,B 0.0,C 0.0))


    zb. so :


    PTP...........
    LIN_REL PositionIN <-- ???

    Hallo alle zusammen...



    ich habe in der $Config.dat eine Global Variable (TEST) vom type Frame angelegt, die dann via CP5614 Profibus Koordinaten an die SPS weiter geben soll.
    Frage:
    wenn ich in meiner *.src nun schreibe:
    $TEST = $BASE


    wobei in $BASE meine BaseKoordinaten stehen
    sollte er doch die Daten die in $Base stehen in $TEST schreiben, oder schreibe ich da was falsch.
    beide sind doch vom Type Frame und BASE ist doch eine fest vom Roboter vorgegebene Global Variable die ich mit :
    $BASE = BASE_DATA[1] ; beschreibe. das geht auch.


    :kopfkratz: :denk:


    Danke schon mal für eure hilfe.......

    hallo....


    also noch mal kurz zu meiner Dekleration:



    in der IOSYS.ini
    :
    INDW10=127,0,x1 also 1Doppelword (( $in[81] to $in[112] ))
    OUTDW10=127,0x1 also das selbe wie oben

    in der Config.dat
    :
    Signal inTemp1_X $in[81] to $in[112]
    Decl Real inTemp1_X = 0.0


    Signal outTemp1_X $out[81] to $out[112]
    Decl Real outTemp1_X = 0.0


    das ganze sollte ja so stimmen!?!?!?!?!


    durch das 2erKompliment wird es ja nur mit 65535 dargestellt, vom Prinzip ist es ja das selbe wie -1 :denk:


    also Punkt 1. : Das Deklarierte Format mit Doppelword wäre ja richtig das heist kein Überlauf oder so etwas.
    Punkt 2. : Das ist richtig das wenn ich Werte die über "65535" liegen im Roboter Programm mit 65535 subtrahiere
    den richtigen minus Wert raus bekomme, damit ist aber das ursprüngliche Problem doch nicht gelöst, sondern nur umgangen.

    Hi Leutz.....


    nachdem das geklappt hat ( http://www.roboterforum.de/rob…s_via_cp5614-t6129.0.html ) :danke:
    habe ich jetzt ein anderes Problem.


    Ich beschreibe den Ausgang ( iosys.ini -> OUTDW10=127,0,x1 )
    nach vertauschen des Hi/LO bytes bekomme ich auch in der CPU die Richtige Zahl angezeigt. ( sowohl [+] als auch [-] werte) :ylsuper:



    schiebe ich jetzt in der CPU das E/Doppelword direkt wieder in das A/Doppelword , ohne irgend was zu drehen oder sonstiges. (1:1)
    Ergebnis in der Variablen Anzeige:
    Roboter OUT = 1 <==> Roboter IN 1
    Roboter OUT = -1 <==> Roboter IN 65535 :denk:


    woran liegt das?



    PS.: ach ja der Eingang in der iosys.ini ( INDW10=127,0,x1)

    :grinser043: :danke:


    jetzt muß ich das nur noch rumdrehen bzw. von der SPS koordinaten an den Roboter schicken.
    das sollte ich aber in der SPS.sub machen, da es zyklisch bzw mit einem Handshake machen sollte ( Koordinaten anfordern....übergabe......Übergabe bestätigen.... )


    :uglyhammer_2: ein Lehrgang währe nicht schlecht!!!! :kopfkratz:


    danke trotzdem allen erstmal an dieser stelle :blumen:

    Stethi:


    wenn ich den wert jetzt in der Variablen anzeige ändere kommt er in der SPS richtig an. :danke:


    aber dafür ist jetzt das sps_tool.src und *.dat rot makiert.
    Fehler: "DEFDAT" sps_tool PUBLIC -> ist nicht erlaubt.


    oh ich habe glaub ich den 2.teil von die Falsch verstanden. so wie du sagst geht es.


    ist eigendlich die Variable outAX_X jetzt global? wenn ja warum das denn?

    Hallo Leutz,


    ich habe ein problem und weiß nicht was ich falsch mache.
    Problem: kontunuierliches senden einer Real Zahl zur SPS :nocheck: :wallbash:


    -----------------------------------------------------------
    iosys.ini :


    [PBMASL]
    indw10=127,0x1 ;$in[81-112]
    indw14=127,0x1 ;$in[113-144]


    outdw10=127,0x1 ;$out[81-112]
    outdw14=127,0x1 ;$out[113-144]
    ----------------------------------------------------------
    ----------------------------------------------------------
    sps.sub :


    Declarations
    INI


    Loop


    ....
    ....
    sps_tool()


    ENDLOOP
    ------------------------------------------------------------------
    ------------------------------------------------------------------
    sps_tool.dat :


    DEFDAT sps_tool PUBLIC
    DECL GLOBAL REAL AX_X = 0
    DECL GLOBAL REAL AX_Y = 0


    DECL GLOBAL REAL outAX_X = 0
    DECL GLOBAL REAL outAX_Y = 0
    ENDDAT
    --------------------------------------------------------------------
    -------------------------------------------------------------------
    sps_tool.src :


    SIGNAL outAX_X $out[81] to $out[112]


    outAX_X = 35
    -------------------------------------------------------------------




    Die Wert Zuweisung sollte natürlich nicht im Roboter Ablauf gemachtwerden, daher die SPS.sub .
    die 35 habe ich auch in der SPS jetzt stehen, aber wenn ich den Wert ändere passiert nichts. :denk: :huh:


    was mache ich falsch bzw was habe ich übersehen....? :denk:


    würde mich über eure hilfe freuen....