ABB Roboterschulung von praxiserfahrenen Trainern
in unserem Schulungszentrum in Mainburg oder vor Ort bei Ihnen
Bediener und Expertenschulungen anfragen

Autor Thema:  IRC 5 Setzt Ausgang "in_Home_pos" nicht automatisch  (Gelesen 1736 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline LukasB

  • Bekannter LV 5
  • *
  • Beiträge: 10
  • Bewertet: 0
IRC 5 Setzt Ausgang "in_Home_pos" nicht automatisch
« am: 14. Mai 2009, 02:18:29 »
Hallo Gemeinde!

Ich habe noch nicht allzulange mit ABB zu tun, habe zwar schon einige Rollfalzprogramme bei und im Prototypenbau gemacht, allerdings noch nie auf einer Baustelle mit kompletter Anbindung an eine SPS..

Ich habe nun das Problem dass der Roboter beim Erreichen der Home Position (CONST jointtarget ) nicht automatisch den
Systemausgang für die SPS setzt...

In der Routine "VerifyAtHome" wird die Achsposition abgefragt... Danach sollte dann automatisch der Ausgang gesetzt werden...
Allerdings kommt dann die Fehlermeldung hoch, "Robot not in Homeposition"... Obwohl er definitiv in Home steht...

Anbei mal ein Ausschnitt....

Hab ich da was übersehen?? Oder nen groben Schnitzer drin?? Diese Routinen wurde mir als " Beispielbackup" vom Kunden zugesendet...

PROC VerifyAtHome()
     
     VAR bool timedout := FALSE;
     VAR errnum NoRspRequired;

     WHILE (DOutput(O_InHome01_11) = 0) AND (faultresponse = "") DO
       IF jHome_1 = [[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]] THEN
          faultresponse:=DisplayFault(RobotFault{28}\OK, 27);
          ClearFault;
          TEST faultresponse
          CASE "Ok":
            Exit;
          DEFAULT:
            faultresponse := "";
          ENDTEST
       ENDIF
       faultresponse:=DisplayFault(RobotFault{27}\NO\YES, 26);
       ClearFault;
       TEST faultresponse
       CASE "No":
         UIMsgBox\Header:= "Robot Not At Home",
                 " "
             \MsgLine2:=" "
                 \MsgLine3:="Please jog robot to Home Position"
                 \MsgLine4:=" "
                 \MsgLine5:="Program execution will exit."
                 \Buttons:=btnOK \MaxTime := 5 \BreakFlag := NoRspRequired;
       TPShow TP_LATEST;
         Exit;
       CASE "Yes":
         VelSet 100, 100;
         GoToHome;
         WaitUntil \InPos, (DOutput(O_InHome01_11) = 1) \MaxTime := 1 \TimeFlag := timedout;
         IF timedout faultresponse:="";
         VelSet 100, MaxRobSpeed();
       DEFAULT:
         faultresponse := "";
       ENDTEST

     ENDWHILE
   ENDPROC

Ich habe schon die dollsten Dinger ausprobiert, weiß aber absolut nicht mehr weiter...
Habe z.B. bei der Abfrage

 IF jHome_1 = [[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]] THEN

die Achswinkel der einzelnen Achsen eingetragen, hilft aber alles nichts...

Kann es evtl daran liegen, dass der Roboter eine 7.Achse als Werkzeug integriert hat?
Da gab es bei der Synchronisation für den SaveMove auch schon Probleme....

Falls weiter Info´s nötig sind, bescheid geben...

Vielen Dank schonmal für eure Hilfe!!

  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert


ABB Robotertraining
günstig und verständlich mit Zertifikat
ABB Roboterschulung

Offline Sven Weyer

  • Global Moderator
  • Forum Legende LV 1
  • *
  • Beiträge: 1060
  • Bewertet: +19
Hi,
wann und wie wir dieses Programm aufgerufen? Wenn die letze Bewegung in die Homeposition mit einer Zone gefahren wird ist es klar warum das passiert. Der Programmvorlaufzeiger ist dann schneller und prüft dann schon vorher diese Position ab.
Aber aus Deinem Fragment kann man dies leider nicht erkennen.
Prüfe doch einmal in dem Du das Programm durchsuchst ob es irgendwo eine Bewegung gibt in die Homeposition wo der Punkt überschliffen wird.
Desweiteren kannst Du probieren vor dem WHILE.... in "WaitTime\InPos 0;" einzubinden. Dann bist Du auf alle fälle sicher das der Roboter seinen letzte Bewegung abgeschlossen hat.

Ging die Anlage schon einmal oder bis Du bei einer Neuinbetriebnahme? Wird der Homepositions-Ausgang über eine Weltzone gesetzt? Wenn ja muss dieser Ausgang auf die Zugriffsart "INTERNAL" gesetzt werden. Sonst geht das unter umständen auch nicht.

Das wären es erst einmal so meine Idee die da möglich wären. Ist fast wie Kaffesatz lesen!  :uglyhammer_2:

Gruß

Sven
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!

Offline Michael J.

  • Forum Elite LV 3
  • *
  • Beiträge: 270
  • http://www.fraimtec.de
    • FRAIMTEC Automation & Anlagenmontage
  • Bewertet: 0
Hallo Lukas,

schau dir bitte auch das noch an.

http://www.roboterforum.de/roboter-forum/abb_roboter/worldzone-t2724.0.html

Ähnliches wurde schon öfter diskutiert... :zwink: 

Gruss...


  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
„Herr, lass mich ein guter Mensch sein. Aber bitte nicht sofort.“

Offline LukasB

  • Bekannter LV 5
  • *
  • Beiträge: 10
  • Bewertet: 0
Hallo Sven, hallo Robcheck!

Es handelt sich hier um eine Neuinbetriebnahme...

Die Routine wird im main() aufgerufen, zuerst wird die Routine initmain() aufgerufen,
danach VerifyAtHome()...

Ich werde mir das gleich noch mal anschauen....

Vielen Dank schon mal!!!!
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline LukasB

  • Bekannter LV 5
  • *
  • Beiträge: 10
  • Bewertet: 0
Hallo Jungs,

die Kiste läuft...  :D

Da scheint wirklich noch was mit der Worldzone nicht gestimmt zu haben...
Noch ein, zwei mal gebootet und aktiviert, schon ging es... seltsam...

Trotzdem vielen Dank für eure Hilfe!!!  :danke: :danke: :danke: :danke:

Gruß Lukas
« Letzte Änderung: 15. Mai 2009, 08:58:02 von Robcheck01_MJ »
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline titan72

  • Global Moderator
  • Forum Legende LV 1
  • *
  • Beiträge: 1023
  • Bewertet: +4
Hallo,
wenn es nach einem Neustart dann unerklärlicherweise funkst könnte es sein das die Weltzone in PowerOn() deklariert und der Ausgang O_InHome01_11 dort gesetzt wird, bis dahin ... .
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
‘Go To Statement Considered Harmful’
„Seit Jahren bin ich nun mit der Beobachtung vertraut, dass die Qualität von Programmierern eine abnehmende Funktion der Dichte von GOTO Anweisungen in ihren Programmen ist.“
Edsger W. Dijkstra
Dem haben wir nichts hinzuzufügen!


xx
Ausgang auf "Fernschreibzugriff im Automatikbetrieb"?

Begonnen von Programmiersklave

11 Antworten
1971 Aufrufe
Letzter Beitrag 17. Januar 2011, 12:00:18
von Kotik
question
Wie wird das "PERS wobjdata" berechnet oder wie kommt es zustande?

Begonnen von Downloadmaster007

6 Antworten
2058 Aufrufe
Letzter Beitrag 20. Februar 2011, 08:08:35
von Hermann
question
TPWrite "No of produced parts="\Num:=reg1; mit UIMessageBox machen???

Begonnen von msstefan

5 Antworten
1092 Aufrufe
Letzter Beitrag 21. November 2014, 13:01:13
von GRIHAY
xx
Fehler "50029: Manipulator aus Grenze" nach WE - Stillstand S4P

Begonnen von magnus

10 Antworten
2063 Aufrufe
Letzter Beitrag 18. September 2011, 22:05:07
von magnus
xx
Fehlermeldung "50024 Zonenbahn-Fehler" blockieren

Begonnen von micha_hensel

3 Antworten
2303 Aufrufe
Letzter Beitrag 01. Juli 2013, 13:16:08
von Robiman
 

über das Roboterforum

Nutzungsbedingungen Impressum
Sitemap