Wie: Uint16
Case7:
go_OUT_Infowort=$TORQUE_AXIS_ACT[gi_IN_Infozaehler-6]*10
Infozähler -6 = 1 also wird das Drehmoment der Achse 1 ausgelesen.
glaube ich muss real anders umrechnen.
Wie: Uint16
Case7:
go_OUT_Infowort=$TORQUE_AXIS_ACT[gi_IN_Infozaehler-6]*10
Infozähler -6 = 1 also wird das Drehmoment der Achse 1 ausgelesen.
glaube ich muss real anders umrechnen.
Hallo Forum,
wir möchten zu Testzwecken die Drehmomente der KUKA`s auslesen.
___________________________________________________________________________________________________
SIGNAL gi_IN_Infozaehler $IN[x] TO $IN[x] 8Bit
SIGNAL go_OUT_Infozaehler $OUT[x] TO $OUT[x] 8Bit
SIGNAL go_OUT_Infowort $OUT[x] TO $OUT[x] 16Bit
SWITCH gi_IN_Infozaehler
;aktuelle Motortemperatur Achse 1-6
CASE 1,2,3,4,5,6
go_OUT_Infowort=$MOT_TEMP[gi_IN_Infozaehler]-273
;aktuelles Drehmoment Achse 1-6
CASE 7,8,9,10,11,12
go_OUT_Infowort=$TORQUE_AXIS_ACT[gi_IN_Infozaehler-6]*10 ;wird in der SPS wieder /10 geteilt
ENDSWITCH
go_OUT_Infozaehler=gi_IN_Infozaehler
Alles anzeigen
___________________________________________________________________________________________________
Jetzt hab ich noch die ein oder anderen Probleme:
Der Interpreter bleibt mit Überlauf go_OUT_Infowort beim Case7 stehen.
Kuka Int =32Bit
Int zu Real
Negative Zahlen gehen auch oder muss umgerechnet werden
IF $TORQUE_AXIS_ACT[gi_IN_Infozaehler-6]*10 <32768 THEN ; 16 bit conversion
go_OUT_Infowort = $TORQUE_AXIS_ACT[gi_IN_Infozaehler-6]*10
ELSE
go_OUT_Infowort = $TORQUE_AXIS_ACT[gi_IN_Infozaehler-6]*10 - 65536
ENDIF
Es gibt keine Option die 16 Bit in der Config auf 32 zu erweitern.
Kann mir da bitte einer ein wenig unter die Arme greifen?
Grüße und Danke im Voraus
So:
Umorienteren um den Flansch war vor dem Tausch ok.
Habe dann die Festplatte und Steuerung getauscht.
Danach kam sofort der Fehler Softwareendschalter A4.
Also justiert.
Danach haben die Positionen aber gepasst.
Grüße
OK,
dann orientere ich mal um den Flansch. Einen Vermessenen TCP gibt es so nicht...
Bei der "neuen" Steuerung probiere ich das dann auch.
Den Richtigen Typ kann ich mit $ROBTRAFO[] auslesen?
Grüße
Ja genau. Diese Mames Werte werden eingetragen.
Justageplatte für A6 ist Original Kuka.
Das mit dem Umorientieren werde ich morgen schauen. Da darf ich wieder eine Steuerung tauschen. (Defekte Hand IO Ic‘s)
Grüße
Da fällt mir nix zu ein. Egal ob base oder nullframe. Das sollte m. M. stimmen. Ist doch nur der PC und die Antriebsregler ausgetauscht. Alle Parameter und Programme sind doch auf der Platte gespeichert.
Grund für den Tausch? Und warum öfters mal? Das halte ich schon für etwas seltsam. Werden da öfter mal Punkte nacheteacht?
Altershalber machen diese dann Probleme wie z.B. defekte Hand IO Karte. Oder auch Not-Aus Probleme.
Allzu oft wird nicht nachgeteacht.
Die Cal-Offsets aller Achsen der Mechanik, die am Roboterfuss notiert sind, werden richtig in den Denso-Teil der Steuerung geschrieben / auch übernommen ? Diese mal rausgelesen aus dem Denso-Teil der KRC2sr ?
Was für eine Software-Version hast Du? Diese Werte wurden in den ersten V7.0.x Versionen anders gehandelt über die $MAMES-Werte in der $machine.dat.
Die KRC2sr mit den Denso-Komponenten ist hier gegenüber den "normalen" KUKA schon speziell.
Die Rang Werte an der Seite des Roboters werden bis auf die letzte Stelle so in die Steuerung geschrieben.
Muss ich unter Roboterdaten die Daten von der RDC nochmal speziell auf die Steuerung schreiben?
Mir fällt leider nichts dazu ein...
Grüße und Danke für die ersten Antworten
Alles auf $Nullframe.
Hallo Schwarmwissen,
leider müssen wir immer häufiger die Steuerungen unserer KR5 sixx R650 Roboter tauschen.
Diese ist die KRC 2sr.
Hierfür bauen wir aus der defekten Steuerung die Festplatte aus und schrauben diese in die neue ein.
Danach justieren wir den Roboter.
Leider sind die Positionen dann trotzdem völlig daneben und hierbei meine ich nicht nur 5mm.
Was ist an der Vorgehensweise falsch?
Eventuell hat jemand Rat.
Freundliche Grüße und schönen Feierabend.
Habe das Ganze mal im Orange Edit Rechner durchprobiert.
Nun scheint es zu funktionieren. Vielen Dank
Ein hoch auf das Forum!!!
Vielen Dank
Das hilft mir schon mal weiter.
Mich verwirrt nur die Tatsache das für Offsets der geometrische Operator oft verwendet wird.
Auch z.B. um Vorpositionen wie anzufahren.
Sprich:
DECL Frame pOffset ?
Um zum Anfang zurückzukehren: Was ist nun der Unterschied zwischen dem Doppelpunktoperator und der Addition?
Ok.
Tool und Base sind nicht getacht aber sie sind angegeben.
Werte:
BASE_DATA[1]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
TOOL_DATA[1]={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
Die Position die ich in X und Z manipulieren möchte:
DECL E6POS XStartpos={X 529.990,Y -34.7600,Z 407.010,A 0.0,B -24.1200,C 180.000,S 2,T 10,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL FDAT FStartpos={TOOL_NO 1,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " "}
ich hoffe das genügt
Tool und Basis sind beide nicht geteacht.
Sprich X,Y,Z,A,B,C sind 0.
Auch wenn ich bis jetzt noch nichts verstehe, ist der Doppelpunktoperator richtig oder nicht?
Die Änderung der anderen Koordinaten scheint von der Rotation A,B,C zu kommen.
Nachtrag: pOffset
DECL E6POS pOffset
Berechnung.src
pOffset.A=0
pOffset.B=0
pOffset.C=0
pOffset.X=iOffset_Tiefe
pOffset.Y=0
pOffset.Z=iOffset_Hoehe
//Dann im Programm die anzufahrende Position
LIN XStartpos:pOffset
Hallo zusammen,
leider bin ich noch nicht solange bei der „tieferen“ Programmierung mit dabei.
Ich muss Teile beschriften und möchte die Startposition durch einen Offset verschiebbar machen.
Dies habe ich nun mit dem Doppelpunktoperator gelöst:(Vektoraddition)
LIN xStartpos:pOffset
Dabei kann ich die E6POS pOffset mit der SPS beschreiben.
Wenn ich nun den Vektorrechner von Orange Edit nehme und pOffset z.B. X 55 eintrage wird nicht nur bei X etwas verändert sondern auch bei Y,Z,A,B,C.
Weshalb ist das so?
Wäre die Position die gleiche wenn:
xStartpos.X=xStartpos.X+55
LINxStartpos
angefahren wird?
Hierbei wird ja tatsächlich nur X geändert.
Vielleicht kann mir das einer erklären.
Vielen Dank und freundliche Grüße