der Roboter versucht mit der Geschwindigkeit zu fahren die zuletzt gesetzt wurde
sei es über KRL oder eine ILF Bewegung davor
der Roboter versucht mit der Geschwindigkeit zu fahren die zuletzt gesetzt wurde
sei es über KRL oder eine ILF Bewegung davor
Wieso willst du unbedingt an den Variablennamen ran?
Spricht etwas dagegen das ganze als Array aufzuziehen? Dann hättest du halt nur einen Variablennamen
und hättest deine Parameter 1 und 2 haltüber die "Zeilen" und "Spalten" zugeordnet.
Schau mal nach Industriedienstleistern die Maschinenreinigungen anbietem, die bieten oft auch Maschinenlackierungen an.
Wurde hier auch mal gemacht, aber vor meiner Zeit, und ich kotze teilweise noch darüber ab.
Ist da aber hauptsächlich an den alten Spritzgussmaschinen passiert und da wurde ohne Sinn
und Verstand über Kolbenstangen und Gleitbahnen lackiert. Was Heute noch daran nervt ist
die extrem Dicke Lackierung die an sämtlichen Wartungsöffnungen die Schrauben in sich, mit
dem Abdeckblech und dem Maschinenbett verklebt hat.
So das man beim ersten verwenden einer Verschraubung erstmal mit Hammer und Meisel anrückt
bevor man nur an einen Inbus denken kann.
Die Hersteller lackieren ja auch oft erst fertig zusammengebaut, aber gegen das was ich kenne als
nachträglich aufgebracht einfach nicht zu vergleichen. Gefühlt ein Unterschied wie Eloxal zu
Pulverbeschichtung.
Muss man halt schauen das nicht nur Bunt wird, sondern auch sinnvoll Bunt wird
Moin
Was heißt bei dir Programm? Komplette Konfiguration mit E/A etc. oder nur der eigentliche Ablauf?
Ich mag es ganz entspannt mit den Modulen zu arbeiten und diese einfach entsprechend zu kopieren,
gerade auch weil ich relativ viele Kleinigkeiten unterschiedlich zwischen virtueller und realer Steuerung
habe. Damit lässt sich einfach besser Kontrollieren was wann wie geladen wird.
such mal nach
$ORI_TYPE bzw $CIRC_TYPE damit ließ sich die Orientierung beeinflussen, wie genau müsste ich
aber selbst nachschlagen und hab gerade keine Zeit
Wenn du ILF verwendest gibts da glaube ich auch ein dropdown zum einstellen
Moin
Ich würde dir empfehlen zu allererst das Technisches Referenzhandbuch RAPID Überblick anzuschauen, gerade aus den Punkt Programmstruktur.
Grundsätzlich dürfte es auf ein Modul hinauslaufen in dem eine Startprozedur angestoßen wird
in der die Abfrage kommt und du dann je nach Rückgabewert einzelne Prozeduren (wahrscheinlich aus dem selbem Modul) aufrufst
So ganz habe ich jetzt nicht verstanden wieso du auf was für eine Lösung hinauswillst, aber grundsätzlich kannst du die tooldata zur Laufzeit berechnen. Musst dir also eine Funktion bauen die dein original Tool
bekommt, die Änderungen macht und dir neue Tooldata ausspuckt.
TASK PERS tooldata tTest := [TRUE,[[-152.6,0,221.2],[0.843392,0,-0.537299,0]],[3.1,[31.5,0,113.7],[1,0,0,0],0,0,0.018]];
TASK PERS tooldata tTestCalc := [TRUE,[[-102.6,0,121.2],[0.843392,0,-0.537299,0]],[3.1,[31.5,0,113.7],[1,0,0,0],0,0,0.018]];
.
.
.
tTestCalc:=tTest;
tTestCalc.tframe.trans.x:=tTestCalc.tframe.trans.x+50;
tTestCalc.tframe.trans.z:=tTestCalc.tframe.trans.z-100;
Das Thema mit dem Standby hatten wir gerade erst:
Man kann bestimmt beim UR auch die aktuelle Position auslesen, Google hat mir da direkt
get_actual_tcp_pose() zu ausgespuckt.
Damit fährst du einfach ein MoveJ zur aktuellen Position als erstes an und hast deinen initalen move gemacht ohne dich vom Fleck zu bewegen. Dann sollte das Überspringen deiner Teachpositionen wieder möglich sein?!
Seit wann kann ich mit Present eine Variable überprüfen? Damit kann ich doch nur prüfen ob ein Optionales Argument beim Aufruf verwendet wurde.
Ich wüsste jetzt auch nicht das es eine funtion gibt die das prüft (im Rapid Handbuch hab ich auch nix beim überfliegen gesehen), auf was willst du auch prüfen wenn Rapid VAR immer mit Nullen initialisiert.
An deiner Stelle würde ich versuchen so eine Konstellation zu vermeiden, eine nicht beschriebene Variable abfragen klingt für mich einfach Falsch und sollte schon vom Ablauf gar nicht möglich sein.
Wenn du das nicht umschiffen kannst fällt mir nur ein Weg bei nicht booleschen Werten ein, initial mit
einem Wert beschreiben der nicht auftreten kann im Betrieb und dann abfragen ob man in dem Bereich ist.
hatten wir letztens auch an unserem UR5, mit einer USB Maus kann man erstmal überbrücken
jetzt als finale Reparatur wurde glaube ich das Panel und eine Platine in der Steuerung getauscht
bin mir aber nicht sicher da das die Abteilung selbst gehandhabt hat und der UR samt Steuerung
wegen mehrer Probleme extern einen Service bekommen hat
Moin
es gibt einen Parameter mit dem man die Dauer einstellen kann zwischen Stoppen und Bremse aktivieren
kann mich aber gerade leider nicht mehr dran erinnern, solltest du aber mit etwas suchen hier oder im englischen Forum finden
edit: habs gerade im englischen Forum gefunden
naja alles eine Frage der Relationen
wenn ich da an unsere KRC2 denke mit einem Win95 Host, und da glaube Version ein FAT16 System, finde ich 32kB für eine einzelne Variable echt klasse
Sicher das du nur UIMsgBox verwenden kannst? Oder rennst du gerade nur in den Unterschied
Funktion vs. Instruktion?
UIMsgBox ist eine Instruktion und wird dementsprechend wie z.B. ein MoveL gehandhabt.
UIMessageBox ist eine Funktion, gibt also etwas aus das in eine Zuweisung verwendet wird.
Sowas sollte eigentlich auch bei dir funktionieren:
VAR btnres btnAntwort;
CONST string stHeader := "Testueberschrift";
CONST string stText{2} := ["Text oben","Text darunter"];
CONST string stButtons{5}:= ["Links","","Mitte","","Rechts"];
VAR string stErgebnis;
btnAntwort:=UIMessageBox(\Header:=stHeader\MsgArray:=stText\BtnArray:=stButtons\Icon:=iconError);
TEST btnAntwort
CASE 1: stErgebnis:="links";
CASE 3: stErgebnis:="mitte";
CASE 5: stErgebnis:="rechts";
DEFAULT: stErgebnis:="Fehler";
ENDTEST
Alles anzeigen
Du meinst genau diese hier https://www.schaefer-shop.de/p…mass-6220-41-6-l-5-stueck ?
Dann würde ich wohl die Zentrierbohrungen direkt zum Greifen nutzen über entsprechende Dorne auf Kurzhubzylindern.
Oder von Außen einfach großflächig klemmen.
Oder Haken in die Griffe schwenken.
Oder in die Langlöcher einhaken (von AKON Robotics gibts da recht viele Videos dazu).
Oder sowas wie eine Palettengabel für einen Kran mit Fallsicherung verwenden.
Kommt halt immer drauf an wie schwer das ganze wird (Leerbehälter oder randvoll?), wieviele Seiten
frei zugänglich sein müssen, wie werden die Behälter bereitgestellt (vereinzelt oder auf Palette) und was für ein Robi wird verwendet (Linearhandling würde ich wohl anders angehen als einen 6-Achs)
Wenn ihr das Modul eh für jedes Teil benötigt und somit ja eh immer geladen sein sollte spricht irgendwas dagegen das als Systemmodul zu haben?
Das wäre zumindest der Weg den ich gehen würde und z.B. mit Werkobjekten auch gehe.
verwende bitte die Code-Tags </> wenn du deinen Code postest, machts einfach übersichtlicher
für dein Problem such bitte hier im Forum nach "Interrupts" das ist was du verwenden willst
da müsste es auch recht aktuelle Themen mit guten Erklärungen geben (oder war das erst letzens
im englischen Forum?)
Einmal hatte ich auf jeden Fall die Seite https://cnc-apps.com/en/app/texttogcode_line benutzt.
Ich hatte aber auch schon irgendwelche Software genutzt die hier eine im Intranet abgelegt hatte.
Iich musste sowas ähnliches mal an mit unserer Wasserstrahlschneidanlage machen.
Dabei waren es aber max. 2 Zeichen weswegen ich die einfach als einen Pfad erstellt habe.
Dazu habe ich über einen Text zu GCode Konverter mir die Koordinaten geholt und damit
die Zeichen nachgebaut.
Bei dir dürften es ja einige Zeichen mehr werden, also vielleicht eine Art Alphabet mit allen
benötigten Zeichen als Pfad anlegen und dann nacheinander mit entsprechenden Verschiebung
aufrufen. Das wäre so meine Idee, vorallem da du ja nicht die Probleme mit Ein- und Ausfahren
oder Ausschneiden hast wie ich mit dem Wasserstrahl
Was die Lizenzen angeht, hab gerade vor ein paar Stunden ein Angebot für eine neue Jahreslizenz bekommen und die ist keine 15€ teurer als vor ziemlich genau einem Jahr. (so wie CAD converter und PowerPacs auch)
Für mich ließt sich das auch so das es immernoch nur Lizenz oder nicht gibt (die Mitte ist ja nur die Testversion) und die Cloudlösung ist irgendwie teil der normalen Lizenz.
Was das Cloudzeug an sich angeht, naja wenns in der nächsten Lizenz dabei ist schau ich es mir vielleicht mal an. Aber an sich können die mit ihren Wolken bleiben wo sie sind.