Beiträge von TEG

    Ich habe eine Kraftmessplatte/ Druckmessplatte, auf der ich mit dem Roboter eine Kraft simuliere. Das Signal der Kraftmessplatte verarbeite ich mit LabView. Ist es möglich das LabView-Signal über einen Ausgang(ist vorhanden) an den Roboter weiter zu geben, damit der Roboter wenn eine bestimmte Kraft überschritten wird automatisch nach oben fährt und so die Kraft wegfällt?
    Der Roboter hat keine Kraftsteuerung.


    Mein Programm sieht im Moment wie folgt aus:
    der Roboter färt die Druckmessplatte in 5mm Abständen ab. Senkt sich und auf der Platte wird durch eine gestauchte Feder ein Gewicht simuliert.



    MODULE MainModule


    PERS wobjdata wPlatte := [FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[1468.33,-253.438,-13.7974],[0.999991,0.00160308,-0.00194846,0.00329643]]];
    CONST speeddata vTest := [7000,575,575,575];


    CONST num nRepeat:=1; !Wiederholungen drücken
    CONST num nRepeatX:=82; !Wiederholungen X
    CONST num nRepeatY:=90; !Wiederholungen Y


    PERS num nVersX:=5; !Verschiebung X Richtung
    PERS num nVersY:=5; !Verschiebung Y Richtung


    PERS tooldata t0Aktuell := [TRUE,[[0,0,200],[1,0,0,0]],[2,[0,0,400],[1,0,0,0],0,0,0]];
    PERS tooldata tAktuell := [TRUE,[[0,0,200],[1,0,0,0]],[2,[0,0,400],[1,0,0,0],0,0,0]];


    CONST robtarget pTest2 := [[9.69,48.51,288.56],[0.000229393,0.00041595,-1,0.000147925],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];



    PROC main ()


    rProgramm1;
    ENDPROC


    PROC rProgramm1()



    !*Schleife für Y-Richtung
    FOR j FROM 1 TO nRepeatY DO
    !*Schleife für X-Richtung
    FOR i FROM 1 TO nRepeatX DO
    !*Startposition oberhalb Punkt
    MoveJ Offs(pTest2,nVersX*(i-1),nVersY*(j-1),0),vTest,z1,tAktuell\WObj:=wPlatte;
    !*Position auf Platte
    MoveL Offs(pTest2,nVersX*(i-1),nVersY*(j-1),0),vTest,fine,t0Aktuell\WObj:=wPlatte;
    !*Drückwiederholungen
    FOR k FROM 1 TO nRepeat DO
    MoveL Offs(pTest2,nVersX*(i-1),nVersY*(j-1),-53),v30,z0,tAktuell\WObj:=wPlatte;
    WAITTIME 0.75;
    MoveL Offs(pTest2,nVersX*(i-1),nVersY*(j-1),0),vTest,fine,tAktuell\WObj:=wPlatte;



    ENDFOR
    MoveL Offs(pTest2,nVersX*(i-1),nVersY*(j-1),10),vTest,z0,tAktuell\WObj:=wPlatte;
    ENDFOR
    ENDFOR
    ENDPROC
    ENDMODULE


    was ihr noch wissen solltet. Ich bin Student im Praxissemster und arbeite serst seit kurzem mit Robotern. Also wenn ich nochmal nachfrage...dann kann's sein dass ich einfach nicht gleich blicke. ABER ICH GEBE MEIN BESTES!!!



    Danke im Vorraus

    morgen...
    also nochmal für Lumpenseckel....


    was muss ich in dieser zeile noch selber ein bzw ersetzen????? :kopfkratz: :kopfkratz: :kopfkratz: :kopfkratz: :kopfkratz: :huh: :huh:


    MoveL Offs(pTest,nVersX*(i-1),nVersY*(j-1),50),vTest,z0,tAktuell\WObj:=wPlatte;
    vielmehr was bedeutet 1. Offs
    2. welche koordinaten sind pTest?
    da stomer gemeint hat sie liegen sehr nahe am Koordinatenursprung...

    also erstmal :danke: an alle...
    ich hätte nie gedacht, dass ich so ein feedback bekomme....aber so gesehn ist es wohl auch einfach das programm zu schreiben, wenn man sich richtig auskennt...aber ich find's toll dass ihr so eine geduld mit meinem doch sehr kleinen wissen habt. :lol:


    An robotic74:
    ich muss eine kraftmessplatte, die rechteckig ist und auf dem boden liegt belasten. auf der Kraftmessplatte sind ca. 1cm² große sensoren. ich soll mit einem gummipuffer der an einem zylinder befestigt,welcher wiederum am roboter besfestigt ist die platte stück für stück "abtasten".


    ich werde gelich montag morgen die anderen vorschläge ausprobieren
    ich hoffe dass es dann funktioniert.
    euch allen ein schönes sonniges wochenende....


    TEG alias der LUMPENSECKEL (eine spezies die nicht für roboter gemacht ist....noch nicht... ;))
    und vergesst den biergarten eures vertrauens nicht.... :beerchug:

    Ganz vorsichtig gesagt...meine senkrechte bewegung??? :roll:
    von oben nach unten und wieder zurück???
    würde ich jetzt mal mutmaßen.
    das problem ist, dass sich hier echt niemand mit dem roboter auskennt und bis jetzt hier immer nur mit Punkte anfahren gearbeitet wurde...und dadurch irgendwelche bewegungen simuliert wurden. aber bis ich das so fertig progarmmiert hätte wäre ich wohl schon in rente..
    ich mach das jetzt erst ne woche...sprich mein wissen ist noch etwas...dünn... :(

    Hi,
    also wir haben das Programm jetzt mal so weit verändert.....mit eigenem Werkobjekt....


    MODULE MainModule


    PERS wobjdata wPlatte := [FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[1468.33,-253.438,-13.7974],[0.999991,0.00160308,-0.00194846,0.00329643]]];
    CONST speeddata vTest := [75,75,75,75];


    VAR num nRepeat:=10; !Wiederholrate


    PERS num nMaxCount:=10;
    PERS num nCount:=0;
    PERS num nVersX:=20; !Verschiebung X Richtung
    PERS num nVersY:=10; !Verschiebung Y Richtung
    PERS num nAktVersX:=0; !Aktuelle Verschiebung X Richtung
    PERS num nAktVersY:=0; !Aktuelle Verschiebung Y Richtung




    PROC main ()


    nCount:=1;
    nAktVersX:=nVersX;
    nAktVersY:=nVersY;


    WHILE nCount<=nMaxCount DO


    rProgramm1:
    Incr nCount;
    nAktVersX:=nVersX*nCount;
    nAktVersY:=nVersY*nCount;
    ENDWHILE
    ENDPROC


    PROC rProgramm1()


    FOR i FROM 1 TO nRepeat DO
    num pTest:={500,500,0};
    MoveL Offs(pTest,nAktVersX,nAktVersY,50),vTest,z1,tAktuell\WObj:=wPlatte;
    MoveL Offs(pTest,nAktVersX,nAktVersY,0),vTest,z0,tAktuell\WObj:=wPlatte;
    MoveL Offs(pTest,nAktVersX,nAktVersY,50),vTest,z1,tAktuell\WObj:=wPlatte;
    ENDFOR


    ENDPROC
    ENDMODULE


    ....soweit sogut
    jetzt die letzte Fehlermeldung...Sie wird mir so angezeigt....und ich weiß nicht was für ein "identifier"


    Programm wurde geändert.
    Programm wird auf Fehler überprüft...
    10.33.28.66/T_ROB1/MainModule (35) : Fehler 135 : Syntaxfehler. : Erwartet: identifier


    So steht's bei mir dran und ich werd daraus net schlau


    TEG

    ok...das sind ja viele vorschläge...
    ich hab mich für den von"Robcheck" entschieden.
    der hatte das schönste bsp...ich muss aber auch gestehen dass ich das erste mal an einem roboter arbeite und die Handbücher nicht so ganz das wahre sind um sich selber einzuarbeiten.
    es gibt im moment noch ein problem. im folgenden abschnitt nimmt er das PERS nicht.


    VAR num nRepeat:=10; deine Wiederholrate
    PERS num nMaxCount:=10;
    PERS num nCount:=0;
    PERS num nVersX:=20; Verschiebung X Richtung
    PERS num nVersY:=10; Verschiebung Y Richtung
    PERS num nAktVersX:=0; Aktuelle Verschiebung X Richtung
    PERS num nAktVersY:=0; Aktuelle Verschiebung Y Richtung


    er bringt mir immer die Fehlermeldung:
    Fehler 136 : Syntaxfehler:Unerwartet: 'pers'


    Ist das nur der falsche "Datentyp" ??

    Ist es möglich eine Art Schleife zu Programmieren?
    dass der Roboter einige male auf und wieder ab fährt, dann eine neue position 5mm weiter anfährt, dort die selbe Bewegung macht usw usw...
    Ich muss eine Kraftmessplatte validieren. Sie ist ca. 80x50cm groß und ich soll in 5mm Abständen messen...
    ich finde nichts dergleichen in den Handbüchern


    Danke für eure Hilfe