Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
18. Mai 2012, 12:54:40
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: English and international Robotsupport now on Robot Forum. Also Supported by the Moderators of the roboterforum.de

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: TPReadFK nach Restart nicht mehr sichtbar 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: TPReadFK nach Restart nicht mehr sichtbar  (Gelesen 1361 mal)
AbFaKuMo
Neuling
*
Offline Offline

Beiträge: 2


« am: 14. Mai 2008, 14:14:52 »

Hallo,

ich habe vor kurzem gerade meinen ersten ABB-Robbi in Betrieb genommen - nach kurzer Einarbeitung mit einem erfahrenen Kollegen hat dies recht gut geklappt, obwohl die Aufgabenstellung recht komplex war.

Allerdings bin ich auf folgendes Problem gestossen, bei dem mir auch der ABB Service-Center nicht weiterhelfen konnte:

Im Automatikbetrieb wird Situationsabhängig an mehreren Stellen im Programm die Funktion "TPReadFK" in Verbindung mit einer "WHILE"-Anweisung genutzt, um den Bediener durch Textinformationen aufzuforden eine bestimmte Entscheidung zu treffen. Diese wird durch betätigen eines Function-Keys am unteren Bildrand der Touchscreen ausgelöst.

Dabei kann folgendes Problem auftreten: Steht der Robbi an genau dieser Stelle im Programm und der Bediener betätigt die "Stop"-Taste, wechselt die Ansicht am Touchpanel von der Textansicht in die Ansicht Programmeditor (z.B., wenn jemand in den Schutzgitterbereich der Roboter-Zelle muss). Nach Betätigen der "Start"-Taste (Restart) wird zwar wieder die Textansicht angezeigt, allerdings fehlen die zur Auswahl stehenden Function-Keys. Dies bedeutet, der Bediener kann das Programm nicht weiterlaufen lassen, da es sich ja immernoch in der WHILE-Schleife befindet.
Merkwürdigerweise kann durch mehrmaliges Betätigen der "Stop" und anschließend wieder der "Start"-Taste manchmal der Fehler behoben werden. Ansonsten muss der Bediener auf Einrichtbetrieb und danach wieder auf Automatikbetrieb wechseln (Schlüsselschalter) um dann durch erneutes Betätigen der "Start"-Taste in die korrekte Textansicht zu gelangen.

Ich hoffe ich konnte das Problem einigermaßen verständlich formulieren.
Ich füge hier noch ein Beispiel aus dem Programm ein:

       WHILE (nFK2<>2)AND(nFK2<>4)AND(nFK2<>5) DO
         IF diFtGrGeoeff=1 THEN
           bSensFtGrAuf:=TRUE;
         ELSE
           bSensFtGrAuf:=FALSE;
         ENDIF
         IF diFtGrGesch=1 THEN
           bSensFtGrZu:=TRUE;
         ELSE
           bSensFtGrZu:=FALSE;
         ENDIF
         IF diFtGrTeil=1 THEN
           bSensTeilFtGr:=TRUE;
         ELSE
           bSensTeilFtGr:=FALSE;
         ENDIF
         TPErase;
         TPWrite "                                        ";
         TPWrite " Sensor FT-Greifer geschlossen     "\bool:=bSensFtGrZu;
         TPWrite " Sensor FT-Greifer geoeffnet       "\bool:=bSensFtGrAuf;
         TPWrite " Sensor Teil in FT-Greifer:        "\bool:=bSensTeilFtGr;
         TPWrite " Merker Teil in FT-Greifer:        "\bool:=bTeilFtGr;
         TPWrite "                                        ";
         TPWrite " Ist ein Teil im FT-Greifer?            ";
         TPReadFK nFK2,""," erneut pruefen ","Abfrage ignorieren",""," ja "," nein ";
         TPErase;
         IF nFK2=2 GOTO EndPruefGr;
         IF nFK2=4 bTeilFtGr:=TRUE;
         IF nFK2=5 bTeilFtGr:=FALSE;bChFtNIO:=FALSE;
       ENDWHILE


Für hilfsreiche Tips wäre ich sehr dankbar.  huh





Gespeichert
rmac
Global Moderator
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 282


« Antworten #1 am: 15. Mai 2008, 09:26:44 »

Hi,

wie ich das sehe, sollte das Programm schon funktionieren wie gewünscht...

Um welche Steuerung handelt es sich ? Ich vermute mal IRC5, von wegen Touchpanel (?)
Laufen noch andere Tasks parallel ?

Wo befindet sich der Programmzeiger, wenn nach dem ersten Restart wieder Stop gedrückt wird ?
Immer noch auf dem TPReadFK ?

Ändert sich das Verhalten wenn die Ausgabe des letzten TPWrite in das TPReadFK übernommen wird ?
also z.B. so:
Code:
TPReadFK nFK2," Ist ein Teil im FT-Greifer?"," Erneut pruefen ","Abfrage ignorieren",""," Ja "," Nein ";
Könnte möglicherweise ja auch ein Fehler im ABB-System sein, wer weiß...

Wenn alles nichts hilft, dann könnte man auch (als Workaround) das Programm auf Benutzeranforderung an dieser Stelle unterbrechen, wenn der Anwender in die Rob-Zelle muß, also z.B. so:
Code:
TPReadFK nFK2," Ist ein Teil im FT-Greifer?"," Erneut pruefen ","Abfrage ignorieren"," Prog. anhalten "," Ja "," Nein ";
...
IF nFK2=3 Stop;
Damit wird zumindest nicht das TPReadFK unterbrochen...


Was noch zu sagen wäre....  ks
Man könnte diesen Programmteil insgesamt noch etwas schlanker/eleganter gestalten, also z.B. so:
Code:
WHILE (nFK2<>2) AND (nFK2<>4) AND (nFK2<>5) DO
  bSensFtGrAuf := TestDI(diFtGrGeoeff);    !oder so:  bSensFtGrAuf := (diFtGrGeoeff=1);
  bSensFtGrZu := TestDI(diFtGrGesch);
  bSensTeilFtGr := TestDI(diFtGrTeil);

  TPErase;
  TPWrite "";
  TPWrite " Sensor FT-Greifer geschlossen     "\bool:=bSensFtGrZu;
  TPWrite " Sensor FT-Greifer geoeffnet       "\bool:=bSensFtGrAuf;
  TPWrite " Sensor Teil in FT-Greifer:        "\bool:=bSensTeilFtGr;
  TPWrite " Merker Teil in FT-Greifer:        "\bool:=bTeilFtGr;
  TPWrite "";
  TPReadFK nFK2," Ist ein Teil im FT-Greifer?"," Erneut pruefen ","Abfrage ignorieren"," Prog. anhalten "," Ja "," Nein ";
  TPErase;

  TEST nFK2
   CASE 2: GOTO EndPruefGr;   !Hüpf Häschen hüpf; das ist nicht schön und kann/sollte man auch anders lösen
   CASE 3: Stop;
   CASE 4: bTeilFtGr:=TRUE;
   CASE 5: bTeilFtGr:=FALSE;
  ENDTEST
  bChFtNIO:=FALSE;
ENDWHILE

Sorry, ist zwar leider keine direkte Problemlösung, aber vielleicht bringts dir ja trotzdem was....  Denken

Gruß
rmac
Gespeichert
maddin
Junior Member
****
Offline Offline

Geschlecht: Männlich
Beiträge: 139



« Antworten #2 am: 15. Mai 2008, 15:17:43 »

Hallo AbFaKuMo,

da du ja schon in einer Schleife bist, kannst du deinen TPRead-Screen ganz einfach refreshen, indem du den Zusatz "\MaxTime" dazunimmst.

Nach Ablauf dieser MaxTime ohne Aktion der Function-Keys wird das TPRead übersprungen. Damit die Fehlerbehandlung nicht aufgerufen wird, mußt du den Zusatz "\BreakFlag" auch mit verwenden.
Du mußt dazu eine errnum definieren (global), in die dann das System den Fehler "ERR_TP_MAXTIME" schreiben kann.
Beispiel:
Zitat
VAR errnum errnoMaxtime:=0;

Deine TPReadFK Zeile sieht dann so aus:
Zitat
TPReadFK nFK2,""," erneut pruefen ","Abfrage ignorieren",""," ja "," nein "\MaxTime:=3\BreakFlag:=errnoMaxtime;

Damit überspringt das Programm nach 3 Sekunden ohne Eingabe die Zeile und arbeitet das Programm weiter ab. Da ja die Variable nFK2 nicht beschrieben wurde, beginnt die While Schleife von vorne und der gesamte Screen wird nochmals beschrieben.
Damit hast du auf jeden Fall immer, auch nach Stop o.ä. nach 3 Sekunden den kompletten Screen wieder auf dem Panel.

Auf jeden Fall die Variable "nFK2" vor Eintritt in die While Schleife initialisieren.
Zitat
nFK2:=0;

Probiers mal aus....

Gruß Maddin








\MaxTime:=7\BreakFlag:=errnoMaxtime;
Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 272


Denken hilft


« Antworten #3 am: 15. Mai 2008, 15:40:02 »

Hallo AbFaKuMo,

ich hatte auch schon mal Probleme mit TP-Befehlen bei der IRC5. Plötzlich hat der TPWrite nicht mehr gewritet.
ABB hat dazu gemeint man sollte sowieso nur noch die UIMessageBox benutzen. Dieser Befehl eignet sich hervorragend um Bedienereingaben abzufragen. Gibt auch sowas schönes wie UIListView, bei dem man eine Liste zur Auswahl anzeigen kann. Was ähnliches gibts auch für Zahlen usw. Schau Dir mal die Doku zu den ganzen UI-Dingern an, da ist für Dich bestimmt auch was schickes dabei und verschwunden sind mir die Meldungen damit auch nicht mehr.

Gruß
Stromer
Gespeichert
Micky
Junior Member
****
Offline Offline

Beiträge: 133



« Antworten #4 am: 15. Mai 2008, 16:22:33 »

Hallo AbFaKuMo,

wenn Du eine Ereignisroutine für das Ereignis "RESTART" anlegst und in dieser den Befehl
"TPShow TP_LATEST;"

aufruftst, wird das zuletzt verwendete Fenster wieder angezeigt wenn das Programm  gestartet wird.

Vielleicht hilft das bei Deinem Problem.


Gruß

Micky

Gespeichert
AbFaKuMo
Neuling
*
Offline Offline

Beiträge: 2


« Antworten #5 am: 15. Mai 2008, 18:20:48 »

Hallo und vielen Dank erst einmal für die vielen Antworten  smiley

Ich bin allerdings momentan nicht auf der Baustelle, so das ich die gemachten Vorschläge erst nächste Woche testen kann. Denke aber da ist bestimmt eine Lösung dabei.
Melde mich dann wieder.

Also nochmals  danke und noch ein schönes Wochende!
Gespeichert
Seiten: [1] Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: TPReadFK nach Restart nicht mehr sichtbar « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS