In der E/A Verschaltung könnte man noch Verbindungen, wie Feldbusse usw. erkennen. Zum Beispiel auf welche IN/OUT die Greifersignale einer Beckhoff-Komponente verschaltet sind.
Beiträge von EricH
-
-
Ja, ich könnte ja auch mehrere Unterprogramme:
1. Werkstück anfahren
2. Werkstück bearbeiten
3. Werkstück verlassen
...
machen, aber wie rufe ich die Unterprogramme dann gezielt auf? Und die muss ich dann auch aus der Interruptroutine aufrufen können.
Vielleicht so? Hier mal grob skizziert, ich hoffe Du kannst meinem Gedankengang folgen:
Definition Interrupt
************************Hauptprogramm**********************************
loop
if Stufe == 0 then 'Home anfahren'
Pos. 1 'Home'
Stufe = 1
endif
if Stufe == 1 then 'Werkstück anfahren'
Pos. 1
Pos. 2 ... bis die Hand richtig vor dem Werkzeug steht
Stufe = 2
endif
if Stufe == 2 then 'Werkstück bearbeiten'
Pos. 1
Pos. 2 ... bis Interrupt kommtStufe = 3
endifif Stufe == 3 then 'Werkstück verlassen' Pos. 1
Pos. 2 ... bis Hand in gewünschter Verlassenposition stehtStufe = 0
endifif Stufe == 4 then 'Werkstück austauschen' Pos. 1
Pos. 2 ... bis Hand in gewünschter Position nach dem Werkstückwechsel steht Stufe = 1
endif
if Schalter1 == true then 'Home anfahren und parken solange Schalter1 geschaltet ist' Pos. 1 'Home'
brake
else
Stufe = 0
endifendloop
***********************Interruptroutine*********************************
Def Drehmoment()
brake
Stufe = 3
end
**********************************************************************
Ist mein Ansatz so umsetzbar und bei der Rückkehr aus der Interruptroutine wird direkt in die If-Bedingung Stufe 3 gewechselt oder geht der erst zurück in Stufe 2, weil die beim Interrupt die Stufe2 verlassen wurde ?
VG Chorsch
Ja so sieht das schon gut aus. Ein RESUME statt stufe=3 bei der Drehmoment Routine sollte auch reichen.
-
Bevor du jetzt weitermachst, möchte ich mich mal kurz einhaken. Für ein kleines Programm mag es vielleicht funktionieren, aber sobald es komplexer wird würde ich dir klar von GOTO Befehlen abraten.
Für eine gute Programmierpraxis rate ich dir das Problem ohne GOTO zu lösen. Das spart dir eine Menge Kopfzerbrechen.
-
Klappt
Hatte nur die IP gefehlt unter BaseAdress
-
Lösung: Vom KUKA Support eine stabilere OfficeLite Version geben lassen.
-
Ok, ich habs konfiguriert, aber kann nicht das Projekt auf den virtuellen Controller installieren. Es ist aber hingegen möglich das aktive Projekt vom virtuellen Controller zu öffnen.
-
Musst du da in der Konfiguration was bestimmtes einstellen oder einfach ganz normal konfigurieren?
-
Habe Simpro mit der virtuellen Steuerung verbunden, aber es lässt sich nichts joggen und ich bekomme folgende Fehler:
Mastern und Encoder checken ist etwas schwierig in einer Simulation.
-
Auf welche Version hast du die VM aktualisiert? Wie setzt man die Kommunikation im Treibermodul aktiv?
Bei mir ist es so, dass ich zwar ne Verbindung bekomme, aber der Roboter lässt sich nicht joggen. Nach einer Konfiguration wurde nie gefragt.
Bringt es vielleicht was die virtuelle KRC mit Workvisual zu konfigurieren?
-
Hallo,
habe folgenden Fehler, wenn ich eine Simulation starte:
MADA error : Machine data file not found, check RobotPathName= C:\Users\E64F1~1.HAH\AppData\Local\Temp\Instance_13460\__rSimRrsRobotController_000002A89F5A6010.
Could not load or initialize the RCS module in KR 120 R2100 nano F exclusive.
Habe den Pfad gecheckt und er ist leer. Normalerweise generiert simpro seine MADA. Also was läuft hier jetzt schief?
-
Mit dem Error-Handler wirst du nicht weiterkommen, weil damit der Aufrufstapel ja nicht einfach vergrößert werden kann. Selbst wenn du den größer bekommst, läuft der trotzdem irgendwann voll. Du wirst nicht umhinkommen, die Verschachtelung an irgendeinen Punkt zu beenden.
Wenn Part 2 nio, dann führe Part 1 nochmal aus und danach Part 2. Jetzt könnte Part 1 auch nio sein. Also soll er nochmal Part 1 ausführen und danach entweder Part 2 ausführen oder stoppen.
Was wenn Part 1 nio bleibt? Dann gibt es kein Abbruch.
Kleiner Tipp: Alle Rekursionen können durch Schleifen ersetzt werden.
-
Naja, ABB könnte ja auch diesen Daten einen Schreibschutz geben, damit das Problem nicht auftritt.
Also folgendes: wir haben zweimal das gleiche Projekt an unterschiedlichen Standorten. An einem Standort läuft die Maschine bereits in Automatik. Um jetzt die Inbetriebnahme beim anderen Projekt zu verkürzen, wurde einfach das Backup der fertigen Maschine in den neuen Roboter eingespielt. Dadurch ist der Fehler aufgetreten.
Durch das Kopieren der Offset Daten vom SMB auf den Controller konnte der Fehler nun behoben werden und weiterhin das Programm als Grundgerüst im neuen Projekt weiterverwendet werden.
-
Alles klar, war dann schnell erledigt, danke!
-
Hallo,
leider lässt sich der Roboter nicht kalibrieren/ bzw Umdrehungszähler zurücksetzen, wegen Fehler
50296 Robot memory data difference
Ist da schonmal jemand reingestolpert und wieder rausgekommen?
-
Also eine gute Arbeitsweise ist, wenn man Änderungen auf einer der 3 Ebenen (Station/virtuell/real) macht, dass man im Idealfall die beiden anderen Ebenen synchronisiert bevor man in einer der anderen Ebenen etwas ändert. So bleibt der Stand konsistent.
Ist wirklich problematisch sonst, da Konflikte entstehen können.
Häufig geht das aber nicht, da man nicht an den realen Roboter kommt.
-
Richtig erkannt! Finde ich doch sehr wichtig mal darüber nachzudenken. Gerade weil sich alles nur um Arbeitsplätze dreht.
Irgendwann sollten die Menschen auch den Vorteil der Maschinen erfahren können und frei entscheiden können, ob sie arbeiten gehen oder einfach nur Hobbys ausüben wollen.
-
Habs gefunden, sollte passen
-
Und wo liegt da der Schwerpunkt?
Wenn der Roboter bis 325kg geht und der Schwerpunkt zu weit vom Flansch entfernt ist wird der Roboter trotzdem außerhalb der Spezifikation betrieben.
Masseschwerpunkt ist schätzungsweise 60-70cm vom Flansch entfernt. Wo ist da die Spezifikation zu finden?
-
Ich hatte mal den Fall, wo der Roboter einfach in der Bewegung abgesackt ist, obwohl das Programm schon häufig gefahren wurde.
Letztendlich lag es an der Temperatur und er musste warmgefahren werden, aber solche Dinge zeigen, dass auch unvorhergesehene Sachen passieren können. Daher immer vorsichtig mit der Kiste und längere Tests fahren, bevor man sein Leben bzw. Unversehrtheit riskiert.
-