Hi,
Karel Executor sollte schon installiert sein: R632 KAREL Executor
$Karel_Enb steuert nur die Sichtbarkeit der PC- Files im Select- Screen...
Hi,
Karel Executor sollte schon installiert sein: R632 KAREL Executor
$Karel_Enb steuert nur die Sichtbarkeit der PC- Files im Select- Screen...
Frag mal Deinen zuständigen Servicevertreter, bzw. den Vertrieb nach der Demo...
Besorge Dir eine Demo von Roboguide.
Die läuft 30 Tage frei. Dann ist sie nicht mehr nutzbar.
Sie enthält aber auch den Compiler (KTrans). den kannst Du von aussen aufrufen (Ich nutze Notepad++ als Entwicklungsumgebung). Das funktioniert auch nach Beendigung der Demo- Laufzeit weiter...
Zum Entwickeln von Code, bzw. der Inbetriebnahme von Robotern finde ich Roboguide 'eh eher ungeeignet.
Ist ganz nett um mal etwas zu simulieren oder um DCS- Zonen zu testen/ visulaisieren
Einige Dinge kannst Du durchaus gut in RoboGuide vorab einstellen/ testen.
Die Dateien kann man dann später in den 'echten' Roboter einspielen.
Ich erstelle z.B. meine DCS- Zonen vorab in RoboGuide. Allerdings klimpere ich die paar Zahlen dann später manuell noch einmal in den Roboter ein.
Aber man könnte natürlich auch die Config- Dateien direkt einspielen (Funktioniert auch für E/A's usw.).
'Optionspakete' kann man nachinstallieren, Allerdings bekommst Du dann ein volles Image welches Du in den Roboter einspielst. In RoboGuide kannst Du diese auch bei bestehender Zelle nachkonfigurieren.
Ein Handbuch 'Fanuc für Dummy's' ist mir nicht bekannt. Alle mir bekannten Handbücher sind eher Nachschlagewerke.
Allerdings ist das Standardhandbuch 'HandlingTool', bzw. 'Basic Operation' am ehesten geeignet wenn man noch gar keinen Plan hat.
Da wäre eine Woche Schulung sicherlich das Sinnvollste. Idealerweise eine Einzelschulung mit zielgerichtetem Inhalt.
Hatten gerade den Effekt das neue Kollegen zu zwei Fanuc Lehrgängen waren, dort aber ausser dem Handverfahren nichts gelernt haben was man für unsere Anlagen wissen muss
Wenn es einfache Kartesische Koordinatensysteme sind dann hole ich mir die Koordinaten auch gerne aus der Autocad- Zeichnung und erstelle es händisch oder aber auch über Karel...
$GROUP[1].$USE_TURNS = TRUE
Hmmhhh,
den Override- Befehl kannte ich noch gar nicht. Kopiere aus Gewohnheit immer weiter den Programmtext von vor 20 Jahren
Bei mir sieht es so aus und funktioniert:
193:L PR[13] R[99]mm/sec CNT10 ; -- Fahre kurz ueber Ziel
195: ! ;
196: IF R[16] <> 1,JMP LBL[130] ; -- Keine Hoehenmessung erforderlich? ==> Skip
198: R[97] = $MCR.$GENOVERRIDE ; -- Aktuellen Speed- Override merken
199: $MCR.$GENOVERRIDE = 100 ; -- Speed- Override auf 100% setzen (fuer definierte Geschwindigkeit)
200:L PR[10] 50mm/sec CNT20 ACC150 SKIP,LBL[135] ; -- Langsam Senken bis Endschalter betaetigt (Aufgesetzt)
201: LBL[135:INI_FOUND] ; -- Lokale Sprungmarke fuer Verfahr- Abbruch bei Kollision
Es ist von der Funktion allerdings umgedreht.
Um bei einer Messfahrt immer gleiche Werte zu erhalten (Unabhängig vom Override) wird kurz vorher auf einen festgelegten Override umgeschaltet.
- Es wird der aktuell eingestellte Override in einem Register gesichert.
- Anschliessend wird umgestellt.
- Später (Nicht im Codeauszug) wird der alte Override wieder restauriert.
Nicht über die Kommentare wundern. Verwende einen Precompiler...
I/O- Kommentar:
- SET_PORT_CMT(IO_DOUT, i, name, status)
Assign:
- SET_PORT_ASG (dout_type, 1, 67, 1, dout_type , 17, 8, status)
Modus:
- SET_PORT_MOD (dout_type, 10, COMPLEM_MODE, status)
67 steht hier für DP- Slave.
Jeweils nur beispielhaft.
Mit Hilfe der Befehle sollte der Rest in der Doku schnell zu finden sein...
Danach noch einmal Neustart des Roboters.
Wir lösen so etwas über Karel und dem Beschreiben der entsprechenden Systemvariablen.
Hat vor allem den Vorteil das man z.B. die I/O- Kommentare bequem mit Notepad im Büro editieren kann...
Nur falls es noch aktuell sein sollte:
Hatte eben einen ähnlichen Fall.
Hier hat mir WJNT in Kombination mit USE_WJTURNS geholfen.
Der Greifer dreht bei mir zwar wild in der Gegend rum aber ich bleibe zumindest näherungsweise auf der Bahn...
Das müsstest Du über die 'I/O CONNECTION-FUNKTION' hinbekommen.
Wir verwenden den System- HBK- Eingang allerdings nicht mehr sondern nutzen einen normalen RDI und realisieren das Sofortstopverhalten per Software...
Zitat
Der KAREL-Bewegungsteil wird seit Jahrzehnten nicht mehr weiterentwickelt
Es wäre wirklich einmal interessant was da wirklich Stand der Dinge ist. Laut Fanuc ist Bewegungssteuerung per Karel seit langem obsolet, bzw. es wird davon abgeraten. Gleichwohl funktioniert es problemlos (Auch wenn man an einige 'TPE- Optionen' nur über Hintertüren rankommt - Z.B. Payload). Die Bewegungen sehen (Zumindest bei unseren Palettieranwendungen) auch nicht weniger elegant, geschmeidig oder schnell aus.
Neuste Gerüchte besagen das Fanuc die Bewegungssteuerung per Karel wieder auferstehen lassen will.
Wäre echt super wenn man da einmal 'echte' Informationen über Vor- und Nachteile direkt aus Japan bekommen könnte.
Du musst 'Use Turns = TRUE' verwenden.
Bei meinen Anwendungen habe ich meisst an einer Stelle diese Option aktiviert, so dass sich mein Greifer wieder entwirren kann...
Hi,
habe noch nie die Palletizing Funktion genutzt. Dafür sind unsere Palettieranwendungen einfach zu anspruchsvoll.
Aber zum Höhenproblem:
Wir messen einmal pro Lage die aktuelle Höhe um genau so etwas zu vermeiden. Spätestens bei Sackware bekommst Du sonst auch Probleme mit der Ablage in grösseren Höhen.
Also ist (Bei TPE) der Ansatz mit LPos schon nicht schlecht.
So,
schnell mal einen kleinen Test gemacht:
Wie ich bereits vermutet habe kommt es beim einfachen aneinandersetzen der zwei LIN- Befehle mit unterschiedlichen ACC- Parametern zu einem Geschwindigkeitseinbruch. Lösung funktioniert also leider nicht....
Hi,
und danke für die schnelle Antwort.
Ich habe bisher zwei Fahrsätze programmiert um kurz vor dem Ziel auf eine etwas langsamere Geschwindigkeit umzuschalten und eine Kollisonsüberwachung durchzuführen. Da hat mir der CNT100 leider noch nicht geholfen. Das Umschalten auf eine langsame Geschwindigkeit war bereits zu hart (ACC = 100 = Standard).
Der Ansatz evtl. zwei 'identische' Fahrbefehle klingt ganz gut. Muss ich einmal in der Praxis testen.
Ich hoffe nur das es dann zu keinem Geschwindigkeitseinbruch zwischen den Sätzen kommt...
Moin,
ich habe hier eine Anlage (RJ3 iB) vor mir bei der ich eine vom ACC- Parameter unabhängige Verzögerung vorgeben muss.
Es handelt sich um eine LIN- Bewegung bei der ein Packstück geschoben wird.
D.h. ich kann zwar stark beschleunigen und schnell fahren, muss aber sanft stoppen.
Programmiert wird in TPE.
Leider habe ich da noch nichts passendes gefunden. Alternative wäre nur den ACC zu reduzieren. Das geht dann aber doppelt in die Zykluszeit
Kennt da jemand einen Trick?
Antworte mir mal selber:
In der aktuellen Versioon gibt es schon verbesserte Möglichkeiten zur I/O- Simulation.
Leider nur für TPE. Hilft mir nicht wirklich weiter...
Ich hänge mich hier einmal an den alten Thread:
Kennt jemand mittlerweile eine Möglichkeit die I/O's von Roboguide extern zu simulieren?
Ideal wäre eine offene Schnittstelle um die I/O's z.B. mit einem Script zu bedienen oder einfach mit einer realen SPS/ PlcSim zu bedienen...
Die Hilfe von Roboguide ist hier nicht wirklich sehr umfangreich
Gruss Cliff
Moin,
ich muss evtl. demnächst einen Robbi in Betrieb nehmen der leider nicht in seiner endgültigen Umgebung steht.
D.h. hier steht er frei in der Werkhalle, vor Ort habe ich mehrere Hindernisse in der Zelle.
Es handelt sich um den Austausch eines alten Roboters gegen einen neuen Typ. Mein altes Karel Programm ist also vorhanden. Ich muss nur prüfen ob sich der neuer Roboter evlt. auf Grund anderer Kinematik, bzw. Bewegungsprofilen anders verhält wie der alte Roboter.
Hat evtl. schon einmal jemand die Ist- Position des Roboters (6- Achser mit Zusatzachse/ Rail) auf einem PC mitgeloggt?
Meine Idee dahinter wäre dann evtl. später eine Auswertung ob der Roboter in die Nähe der Hindernisse kam, bzw. mit diesen Kollidierte.
Gruss Cliff