Hi carsten75,
konvertiere einfach deinen real wert in einen string:
"CNV_REAL_STR(source, length, num_digits, target)"
Ansonsten könnte man zur Ausgabe auch eine Webseite oder Karel Forms benutzen, dort gibt es zahlreiche formatierungsoptionen.
Hi carsten75,
konvertiere einfach deinen real wert in einen string:
"CNV_REAL_STR(source, length, num_digits, target)"
Ansonsten könnte man zur Ausgabe auch eine Webseite oder Karel Forms benutzen, dort gibt es zahlreiche formatierungsoptionen.
Das ist korrekt, die Variablen aktualisieren sich (warum auch immer) nur wenn der Roboter durch ein Prg bewegt wird.
Sowas macht man besser in der Backgroundlogic, die wird zyklisch abgearbeitet und in TPE programmiert. z.B. so:
3: GO[8:X/J1]=($SCR_GRP[1].$MCH_POS_X*100) ;
4: GO[9:Y/J2]=($SCR_GRP[1].$MCH_POS_Y*100) ;
5: GO[10:Z/J3]=($SCR_GRP[1].$MCH_POS_Z*100) ;
6: GO[11:W/J4]=($SCR_GRP[1].$MCH_POS_W*100) ;
7: GO[12:P/J5]=($SCR_GRP[1].$MCH_POS_P*100) ;
8: GO[13:R/J6]=($SCR_GRP[1].$MCH_POS_R*100) ;
Um zu verhindern das deine Schleife im Karel die ganze Prozessorzeit frisst hilft ein "Delay" in der
Schleife.
Leider nicht....
Aber du kannst dir einfach einen Punkt anlegen mit der aktuellen Pos in den gewünschten Frames und du setzt die Winkel w,p,r auf 0°
Anfahren und fertig.....dauert 10 sek.
Kannst natürlich auch ein Makro daraus basteln und es auf einen Userkey legen.
In SYSTEM -> CONFIG findest du ziemlich weit unten "Confirmation for AUTO DI"
Dort kannst du das Signal zum bestätigen für den AUTO Mode angeben. Wenn ich mich recht erinnere muss das Signal jedes mal kommen wenn Du von T1/T2 zu Auto wechselst. Probiere das mal aus.
Hallo Ananaselefant, das ist keine Fehlermeldung sondern der Status des aktuell angewählten Programm.
Bei Start wird das Programm abgearbeitet und hat am Ende den Status "aborted", der Cursor springt wieder in Zeile 1 hoch.
Die angezeigte Zeile 0 bezieht sich auf die Zeilennummer welche gerade abgearbeitet wird, da das Programm nicht gestartet ist kann er keine Zeile abarbeiten.....also Zeile=0.
Da in deinem Programm keine Schleife oder ähnliches vorhanden ist wird das Programm auch nicht wieder erneut automatisch ausgeführt, außer DU startest erneut.
Das verhalten der Steuerung ist also absolut korrekt.
Keine Ahnung was ihr da erforschen wollt.....ich an eurer Stelle würde erstmal die grundlegenden Dinge des Roboterprogrammierens in Form einer Schulung "erforschen"
Insbesondere bei Kollaborierenden Robotern sollte man genau wissen was man da macht, alles andere wäre grob fahrlässig.
Steht Dir Roboguide zur Verfügung, bzw. hat Robert den ASCII-Loader als Software-Option?
Denn dann kannst Du in einem Offline-Editor (Notepad++ oder Ultra-Edit, Wordpad auch möglich) mit Suchen und Ersetzen die vielen Beweungsanweisung schneller mit der Offset-Verschiebung ergänzen ohne das händisch im Roboter zu hacken.
Das geht übrigens auch sehr viel einfacher auf dem Roboter selber.
Im Editor: EDCMD->Replace->Motion modify->Insert option
Das war aber nicht die Frage, er möchte die Kommentare der Frames schreiben und nicht die Koordinaten.
Nun zur Frage, die Kommentare stehen im Systemprogramm TPFDEF.
So geht's in Karel:
SET_VAR(entry, 'TPFDEF', 'SETUP_DATA[1,1,1].$COMMENT', 'Werkzeug 1', STATUS)
SET_VAR(entry, 'TPFDEF', 'SETUP_DATA[1,1,2].$COMMENT', 'Werkzeug 2', STATUS)
SET_VAR(entry, 'TPFDEF', 'SETUP_DATA[1,1,3].$COMMENT', 'Werkzeug 3', STATUS)
SET_VAR(entry, 'TPFDEF', 'SETUP_DATA[1,3,1].$COMMENT', 'Userframe 1', STATUS)
SET_VAR(entry, 'TPFDEF', 'SETUP_DATA[1,3,2].$COMMENT', 'Userframe 2', STATUS)
SET_VAR(entry, 'TPFDEF', 'SETUP_DATA[1,3,3].$COMMENT', 'Userframe 3', STATUS)
Welche RG Version und welcher Roboter/Steuerung?
Hmmm, stand der Dinge ist das Karel Motion seit 1995 offiziell nicht mehr weiterentwickelt wird und Fanuc dringend davon abrät es weiter zu benutzen.
Alle neuen TPE Motion Optionen nach 1995 gibt es schlichtweg nicht in Karel Motion, darunter auch sehr sinnvolle Optionen wie High Sensitiv Collision Detection, Coord, Multigroup Motion, usw.
Dein Gerücht für die Wiederauferstehung halte ich für sehr unwahrscheinlich, es laufen schon seit Jahren bei Fanuc Diskussionen Karel Motion endgültig sterben zu lassen. D.h. nicht nur das entfernen aus der Doku sondern wirklich aus dem System.
Einige Karel Motion Funktionen wurden sogar schon komplett entfernt, ab V7.30 z.B. Karel Path Motion und Move Along.
Wofür sollte Fanuc Jahrzehnte an Entwicklung im Karel Bahnplaner nachholen?
Es gibt doch gar keine nachfrage dafür, die wenigsten Programmierer beherrschen überhaupt Karel.
Um die Masterung zu kontrollieren:
Alle Achsen auf 0 Grad fahren und die jeweiligen Markierungen auf den Achsen überprüfen.
Sollte sich da wirklich was mechanisch verschoben haben kannst du mit Bordmitteln nichts machen.(Zumindest nichts genaues)
Dazu müsste der Roboter dann neu eingemessen werden (Masterfixture oder Visionmastern).
Was bedeutet Col_Guard ist tief eingestellt? Kleiner Wert bedeutet weniger empfindlich bei Kollision, ist das wirklich so gewollt?
Ist das ein "normaler" Punkt wo er crasht oder wird die Position durch etwas beeinflusst ( Softfloat, Offset, etc)?
Eine schwäche des Roboters ist das sicher nicht, weder bei Fanuc noch bei anderen großen Herstellern.
Die Ursachen können vielfältig sein. Von Anlagenbedienern die in ihrer Schicht das Programm "optimieren", bis hin zu nicht festgeschraubten Robotern oder Anlagenteilen habe ich schon alles gesehen.
Hast du die CP1604 in den SUSPEND Modus gebootet?
1. Nein geht nicht in TPE, in Karel geht es
2. Nein, PR's speichern nie die Frames ab....kann man auch nicht ändern.
Mach es mit Multitasking.
Die Vorgaben findest du im "Maintenance Manual" für den LR Mate 200iC.
Dort steht alles drin, Wartungstabellen, Teilenummern, usw.
Hier mal vollständig:
GET_REG Built-In Procedure
Purpose: Gets an INTEGER or REAL value from the specified register Syntax :
GET_REG(register_no, real_flag, int_value, real_value, status)
Input/Output Parameters:
[in] register_no :INTEGER [out] real_flag :BOOLEAN [out] int_value :INTEGER [out] real_value :REAL
[out] status :INTEGER
%ENVIRONMENT Group :REGOPE
Details:
• register_no specifies the register to get.
• real_flag is set to TRUE and real_value to the register content if the specified register has a
real value. Otherwise, real_flag is set to FALSE and int_value is set to the contents of the
register.
• status explains the status of the attempted operation. If not equal to 0, then an error
occurred.
DeleteFile gibt dir ja einen Status zurück....
Welchen?