Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
30. Juli 2010, 22:55:46
Ü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  |  KUKA Roboter (Moderatoren: Werner Hampel, kai_n, stefanM, LindePaul, IrrerPolterer)  |  Thema: Programmaufbau und Struktur VKR C1 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] 2 Nach unten Drucken
Autor Thema: Programmaufbau und Struktur VKR C1  (Gelesen 1516 mal)
Rodney
Member
***
Offline Offline

Geschlecht: Männlich
Beiträge: 65



« am: 05. Juni 2008, 13:05:45 »

Hi,

mein Roboter läuft mittlerweile im Tippbetrieb.

Nun beschäftige ich mich gerade mit der Programmierung . . .
Mich würde jetzt mal interessieren, wie ein Standard Programm auszusehen hat, da man in der "Programmierung Anwender" viele Beispiele findet, aber jedes anders aussieht.

Ich will folgendes Programm erstellen:

- An einen Blechstapel heranfahren
- Eine Platine mittels Vakuumsaugern anheben
- Verfahrweg zum Maschinentisch und dort Platine ablegen
- Dann warten, bis Platine bearbeitet ist
- Entladen der Maschine
- Verfahrweg zur Palette, wo Platine abgelegt wird.
- Dann neuer Programmablauf.


Muss ich Vereinbarungen und Initialisierungen programmieren, oder würde das auch einfach mit den Verfahrwegen (PTP) laufen?




Gruss Marco
Gespeichert

PA
Member
***
Offline Offline

Geschlecht: Männlich
Beiträge: 93


« Antworten #1 am: 05. Juni 2008, 13:46:40 »

Hallo, Rodney,

die beschriebene Aufgabe ist schon recht komplex.

1. Der Blechstapel hat, wenn neu an den Roboter rangefahren, eine Höhe Z, die wahrscheinlich ungefähr bekannt ist. Die einzelnen Bleche haben eine bestimmte Dicke, die aber bestimmt geringfügig variiert. Also sollte man sicherheitshalber die Höhe des Blechstapels bei jedem zu holenden Blech ermitteln. Erfordernis: Vakuumschalter, weil Sauggreifer, daher am einfachsten, und Suchfunktion im Programm (ist also keine Bedienerprogrammierung mehr).

2. Beim Ablegen der fertigen Bleche werden bestimmt mehrere Bleche nebeneinander und übereinander auf die Palette gelegt. Wenn es nur 1 Sorte ist, kann man das teachen, aber wenn dann Sorten dazu kommen, muss immer wieder nachgearbeitet werden. Besser wäre, das rechnerisch zu machen.

Die Wege zur Maschine, warten auf Fertigsignal und entladen der Maschine sind da eher trivial.

Du wirst auf jeden Fall Vereinbarungen etc. programmieren müssen, einfache Fahrbefehle reichen da nicht mehr. Beim Be- u. Entladen der Maschine kann z.B das Fahren mit LIN statt PTP erforderlich sein, damit das Blech nicht während der Fahrt irgendwo anstößt (bei PTP-Fahrten zwischen 2 Punkten fährt der Roboter üblicherweise einen Bogen, damit die Geschwindigkeit optimiert werden kann)

Hast Du Programmierkenntnisse?
Schon mal mit Robotern zu tun gehabt?

Gruß

PA
Gespeichert
Rodney
Member
***
Offline Offline

Geschlecht: Männlich
Beiträge: 65



« Antworten #2 am: 05. Juni 2008, 14:08:38 »

Mit Robotern an sich habe ich keine Erfahrung.

Ich habe bereits an 3D Lasermaschinen der Firma TRUMPF mit dem Teach-In-Verfahren gearbeitet.
Daher kenne ich die grundlegenden Programmiertechniken, jedoch auf einer komplett anderen Steuerung.

Während meiner Lehre (Industriemechaniker) lernte ich "G-Funktionen" kennen und während meines Studiums (Maschinenbau) habe ich "C" und "Z80" programmiert.

Die detaillierten Programmabläufe sind bis jetzt noch nicht 100%ig relevant für mich. ich brauch nun als erstes ein "Dummy-Programm", in dem ich ne Initialisierung drinhabe, so dass ich im Automatikbetrieb mal fahren kann.
Diesen "Dummy" würde ich dann immer wieder als Gerüst nutzen, wenn ich ein neues Programm erstelle.


Dann würde mich mal interessieren, wie ich ein leeres Programm neu erstelle?
Meine VKR C1 schreibt mir dabei immer bereits eine Programmzeile mit nem Punkt (PTP) und eine "Warte auf Folgenstart" Meldung. Diese muss vermutlich mit einem Startsignal quittiert werden.

EDIT: Warum kann ich denn keinen "GOTO XXX" Befehl setzen. um den Wartemodus zu überspringen? Das geht auch sonst nicht im Programm?!?!?! Da kommt die Meldung "Unbekannter Satz" oder so . . .   huh


Gibt es eigentlich nen grundlegenden Unterschied zwischen "Folgen", "Makros" und "UPs"?

Theoretisch müsste ich ja jeden Typ frei programmieren können, oder?

Denn diese Programmtypen sind noch vom Vorbesitzer im Robby gespeichert . . . .




Gruss Marco
Gespeichert

PA
Member
***
Offline Offline

Geschlecht: Männlich
Beiträge: 93


« Antworten #3 am: 05. Juni 2008, 17:07:22 »

Hallo, Rodney,

mit der VKRC kenne ich mich nicht aus, da wir die "normalen" KRC verwenden. Um an ein Rumpf-Programm zu kommen, würde ich zunächst unter Datei ->alles archivieren einen sog. Komplett-Abzug auf Diskette machen. Wenn die VKRC genau so aufgebaut ist wie die normale KRC, müssten nach dem entzippen der zip-Datei auf der Diskette mehrere Ordner auftauchen. Welcher Software-Stand ist auf der VKRC vorhanden? Danach richtet sich schon das Aussehen und der Inhalt der verschiedenen Ordner. Auf jeden Fall ist in den Unterordnern irgendwo ein Ordner "R1". Da drin sind die Roboterprogramme mit Endung .src und die dazugehörigen Datenlisten mit Endung .dat.

Am Programm-Kopf müssen stehen

&ACCESS RVP
&REL
&COMMENT
DEF <Programm-Name>

Hier steht jetzt bestimmt was mit
;fold ...


;endfold

wenn es sich um geteachte Programme handelt

Dann folgt weiter unten
$BASE={x 0.0 y 0.0 z 0.0} ; die Werte hinter x, y u. z können auch andere Werte statt 0 haben
BAS (#INITMOV)
BAS (#ITOOL, <Tool-Nr.>)

Jetzt folgen vielleicht irgendwelche Zuweisungen

Dann kommt irgendwann der 1. Fahrbefehl

;fold PTP ...........


;endfold

Vielleicht ist es am einfachsten, wenn Du ein kleines Programm vom Roboter mal hier reinstellst, damit man das besser kommentieren kann und ggf. als Beispielprog. für eigene Einträge nutzen kann.

Gruß

PA
Gespeichert
Rodney
Member
***
Offline Offline

Geschlecht: Männlich
Beiträge: 65



« Antworten #4 am: 05. Juni 2008, 18:46:34 »

Softwarestand siehe hier in Post Nr. 6 (zwei Bilder):

http://www.roboterforum.de/roboter-forum/kuka_roboter/handverfahren_vkr150_nicht_moeglich_erste_inbetriebnahme_nach_kauf-t4340.0.html


Das Beispielprogramm ist ein guter Vorschlag.
Ich stell dann mal was hier ein.
Komme aber erst wieder am Mittwoch an den Robby . . . .  Confused




Gruss Marco
Gespeichert

Stethi
Elite Member
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 577



« Antworten #5 am: 06. Juni 2008, 19:50:40 »

Hui, das wird mal wieder etwas Arbeit werden...

Frage vorweg:  Schon mal ins Handbuch geschaut???Oder keins vorhanden?

Also: KRC und VKRC unterscheiden sich doch gewaltig. Bei der VKRC kann man keinen eigenen Code eingeben, es sei denn im VWUSER. Aber dafür ist schon Expertenwissen empfehlenswert.

Folge: Programm, das durch Cell aufgerufen wird. Hier können UP und Makro aufgerufen werden, aber keine anderen Folgen. In Folgen werden Bewegungspunkte erstellt und SPS-Befehle eingegeben we Greifer auf,Warte auf..., Zähler,Timer usw.Wichtig: In allen Folgen muss Punkt 1,2 und letzter Punkt die selbe Koordinate haben.

UP: UPs können nur aus Folgen heraus aufgerufen werden. Sind genauso aufgebaut wie Folgen.Können einen anderen Start- und Endpunkt haben. Benutzt man z.B. dafür, um wiederkehrende Bewegungen in Abhängikeit von Zuständen ausführen muss.
z.B. PTP P1......
      UP1=E1&!E2
      UP2=!E1&E2

Makro: In Makros können keine Bewegungen programmiert werden, nur SPS Befehle. Nimmt man, um z.B. Greifer zu steuern.

Anbei mal ein kleiner Auszug...


FOLGE1   ARBEITSFOLGE

  1: PTP VB=30% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = EIN
   1:  SPSMAKRO99 = !F100 + EIN
   2:  SPSMAKRO96 = EIN
   3:  SPSMAKRO81 = EIN
   4:  SPSMAKRO95 = EIN
   5:  SPSMAKRO33 = EIN
   6:  SPSMAKRO35 = EIN
   7:  SPSMAKRO37 = EIN
   8:  SPSMAKRO39 = EIN
   9:  F900 = AUS
   10:  F901 = AUS
     Warte auf Folgenstart
  2: PTP VB=30% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1
   1:  VW_USER P1= 1 P2= 0 P3= 0 P4= 0 P5= 0 P6= 0 P7= AUS
   2:  F100 = AUS
   3:  t1 ( EIN ) = 1[1/10Sek]
  3: PTP VB=100% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M2 & M4 & M7 & M14
   1:  SPSMAKRO33 = EIN
   2:  SPSMAKRO35 = EIN
   3:  SPSMAKRO37 = EIN
   4:  WARTE BIS E169
   5:  A169 = EIN
     -- In Warteposition 1,  Warte auf Freigabe Drehtisch --
  4: PTP VB=100% VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] F
   FB ONL = M1 & M2 & M4 & M7 & M14 & E169
     -- Ausgerichtete Position --
  5: LIN VB=1750[mm/s] VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] F
   FB ONL = M1 & M2 & M4 & M7 & M14 & E169
  6: LIN VB=250[mm/s] VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] F
   FB ONL = M1 & M2 & M4 & M7 & M14 & E169
  7: LIN VB=250[mm/s] VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M7 & M14 & E169
   1:  VW_USER P1= 1 P2= 0 P3= 0 P4= 0 P5= 0 P6= 0 P7= AUS
   2:  A363 = EIN
   3:  WARTE ZEIT 10 [1/10Sek]
   4:  SPSMAKRO32 = EIN
   5:  SPSMAKRO34 = EIN
   6:  WARTE BIS M8 & M9
     -- Greifposition --
  8: LIN VB=250[mm/s] VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M8 & M9 & M7 & E169
   BS A369 ( EIN ) = AUS Schaltpkt: 50 [mm]: 0[ms]
   BS A370 ( EIN ) = EIN Schaltpkt: 50 [mm]: 0[ms]
  9: LIN VB=250[mm/s] VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] F
   FB ONL = M1 & M8 & M9 & M7 & E169
 10: PTP VB=100% VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M8 & M9 & M7 & M13
   1:  A177 = EIN
 11: PTP VB=100% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FU
   FB ONL = M1 & M8 & M9 & M7 & M13
   UP52 = EIN
     -- ----Kamerapruefung --
 12: PTP VB=100% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] PU
   1:  WARTE BIS (E170 & !E175) + (!E170 & E175)
   UP51 = E170 & !E175
     -- -------IO-Ablauf Lager fuegen----- --
 13: PTP VB=100% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] PU
   1:  WARTE BIS (E174 & !E175) + (!E174 & E175) + (F900 & !F901)
   UP61 = E174 & !E175
   UP60 = !E174 & E175
   UP60 = F900 & !F901
     -- IO-Ablauf oder NIO-Absetzen --
     -- UP-Sprung NIO von Einsetzen oder Folgenende --
 14: PTP VB=100% VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M2 & M4
   1:  A363 = AUS
 15: PTP VB=100% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1
   1:  VW_USER P1= 1 P2= 0 P3= 0 P4= 0 P5= 0 P6= 0 P7= AUS
   2:  A182 = F901
   3:  A183 = F902
   4:  A184 = F900 & !F901
   5:  F100 = EIN
   6:  t1 ( EIN ) = STOP
   7:  A149 = EIN
   8:  F900 = AUS
   9:  F901 = AUS


 
UP60   NIO_ABLEGEN

     UP Anfang
  1: PTP VB=100% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M8 & M9 & M7 & E169
   BS A370 ( EIN ) = EIN Schaltpkt: 0 [mm]: 0[ms]
   1:  VW_USER P1= 1 P2= 0 P3= 0 P4= 0 P5= 0 P6= 0 P7= AUS
   2:  A164 = EIN
   3:  A169 = EIN
   4:  WARTE BIS E166
   5:  WARTE BIS E169
   6:  A175 = EIN
     -- In Warteposition 1,  Warte auf Freigabe --
  2: PTP VB=100% VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] F
   FB ONL = M1 & M8 & M9 & M7 & E169
  3: PTP VB=100% VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M8 & M9 & M7 & E169
   1:  SPSMAKRO38 = EIN
   2:  SPSMAKRO39 = EIN
  4: LIN VB=1750[mm/s] VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M8 & M9 & M7 & E169
   1:  SPSMAKRO36 = AUS
   2:  SPSMAKRO37 = EIN
  5: LIN VB=250[mm/s] VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M7 & M14 & E169
   1:  VW_USER P1= 1 P2= 0 P3= 0 P4= 0 P5= 0 P6= 0 P7= AUS
   2:  SPSMAKRO33 = EIN
   3:  SPSMAKRO35 = EIN
   4:  WARTE BIS M2 & M4
     -- Ablageposition --
  6: LIN VB=500[mm/s] VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] F
   FB ONL = M1 & M2 & M4 & E169
  7: LIN VB=1750[mm/s] VE=0% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M2 & M4 & E169
   1:  A363 = AUS
  8: PTP VB=100% VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] F
   FB ONL = M1 & M2 & M4 & E169
  9: PTP VB=100% VE=100% ACC=100% Wzg=7 SPSTrig=0[1/100s] FP
   FB ONL = M1 & M2 & M4
   1:  VW_USER P1= 1 P2= 0 P3= 0 P4= 0 P5= 0 P6= 0 P7= AUS
   2:  A169 = AUS
   3:  A183 = EIN
   4:  F902 = EIN
     -- letzter Punkt,zurueck zur Folge --

MAKRO32   GREIFER 1 SCHLIESSEN

     Makro Anfang
  1: SPSMAKRO36 = M11
  2: SPSMAKRO36 = M11
     -- Greifer 1 schliessen --
  3: M2 = (!E353 + !E354) & E357
     -- M2=offen --
  4: M3 = E353 & E354 & !E357
     -- M3=Greifer 1 geschlossen ohne BT --
  5: M8 = E354 & !E353 & !E357
     -- M8=Greifer 1 geschlossen mit BT --
  6: A354 = AUS
  7: A353 = EIN
  8: WARTE BIS !M2 & (M3 + M8)


MAKRO33   GREIFER 1 OEFFNEN

     Makro Anfang
     -- Greifer 1 oeffnen --
  1: A353 = AUS
     -- Greifer 1 schliessen --
  2: M2 = !E353 & !E354 & E357
     -- M2=offen --
  3: M3 = E353 & E354 & !E357
     -- M3=Greifer 1 geschlossen ohne BT --
  4: M8 = E354 & !E353 & E357
     -- M8=Greifer 1 geschlossen mit BT --
  5: A354 = EIN
  6: WARTE BIS M2 & !M3 & !M8

Noch eine wichtige Sache der VKRC: man kann sehr einfach suchend auf einen Punkt fahren mit dem LIN-SUCHEN-Befehl.

UP65   SUCHLAUF WELLE

     UP Anfang
  1: LIN SUCHEN VB=10[mm/s] Wzg=7 Fern=M10 Vred=50% Nah=M10  FPU
   FB ONL = M1 & M14 & E164
   1:  SPSMAKRO36 = AUS
   2:  SPSMAKRO37 = M10
   3:  WARTE ZEIT 10 [1/10Sek]
   4:  i2 ( EIN ) = i2 + 1
   5:  F900 = i2 > 5
   6:  A163 = AUS
   7:  WARTE BIS !E165
   UP66 = M11
     -- Suchlauf Welle --


Bei weiteren Fragen melden.

Grüße....

Gespeichert

Rodney
Member
***
Offline Offline

Geschlecht: Männlich
Beiträge: 65



« Antworten #6 am: 12. Juni 2008, 16:05:02 »

Sooo,

ich habe mich nun mal mit der "Programmierung Anwender" und "Experte" beschäftigt. Dabei habe ich gemerkt, dass mir eigentlich die Anwender-Version reichen sollte.
Dort kann ich Bewegungssätze programmieren, die Suchfunktion anwählen und meine Eingänge abfragen, bzw. Ausgänge setzen.

Das ist doch eigentlich alles, was ich für meine Handling-Aufgabe brauche (siehe erstes Posting), oder?




Gruss Marco
Gespeichert

IrrerPolterer
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 933


Nur ein Irrer erkennt einen Irren!


WWW
« Antworten #7 am: 12. Juni 2008, 16:40:47 »

@Rodney:

Wenn die Anwendung so simple ist, dann reicht das wahrscheinlich. Willst du aber z.B. mit einem Programm mehrere Produkte erschlagen, Bases berechnen oder sonst irgendwelche komplexeren Vorgänge machen, kommt man so nicht sehr weit.
Aber dann gibt's ja immer noch das Forum.  beerchug
Gespeichert

Greetings, Irrer Polterer!

Wie poste ich falsch?
Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.
Stethi
Elite Member
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 577



« Antworten #8 am: 13. Juni 2008, 08:06:11 »

@Rodney:

Wenn die Anwendung so simple ist, dann reicht das wahrscheinlich. Willst du aber z.B. mit einem Programm mehrere Produkte erschlagen, Bases berechnen oder sonst irgendwelche komplexeren Vorgänge machen, kommt man so nicht sehr weit.
Aber dann gibt's ja immer noch das Forum.  beerchug

 Laughing Und das mit der VKRC.. wallbash
Gespeichert

IrrerPolterer
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 933


Nur ein Irrer erkennt einen Irren!


WWW
« Antworten #9 am: 13. Juni 2008, 08:22:35 »

Und das mit der VKRC.

Ich kenne VKRC (zum Glück) nicht. Hab ich da was falsch gesagt...? Denken
Gespeichert

Greetings, Irrer Polterer!

Wie poste ich falsch?
Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.
Stethi
Elite Member
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 577



« Antworten #10 am: 15. Juni 2008, 10:13:09 »

Und das mit der VKRC.

Ich kenne VKRC (zum Glück) nicht. Hab ich da was falsch gesagt...? Denken

Falsch gesagt nicht. Es ist alles nur ein wenig anders als die GUTE KRC. Als neuer Anwender bekommt man die VW-User-Programmierung z.B. für Base-Berechnung nicht hin. Programmiere jetzt seit 5Jahren VKRC und weiß,wovon ich rede. Habe den VW-User schon hassen gelernt am Anfang. Aber wenn man Erfahrung hat, kann man sich schon durchs Knie ins Auge schiessen. jawohl
Gespeichert

WolfHenk
Elite Member
*******
Online Online

Geschlecht: Männlich
Beiträge: 918


GIT d- s+:- a+ C++ UL+ P+ L+ E-- W++ !N !o !K w !O


WWW
« Antworten #11 am: 15. Juni 2008, 13:38:59 »

VKRC heißt glaub ich "vermurkste Kuka Robot Control" oder so... pfeif
Gespeichert

Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

http://www.xing.com/go/invita/5634410

PMs mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.
http://roboterszene.de
magra13
Neuling
*
Offline Offline

Beiträge: 12


« Antworten #12 am: 23. Februar 2010, 12:21:18 »

Habe da mal ne Frage ... habe eine VKRC Anlage für das Aufnehmen von Nieten.
Also Robbi fährt zur Zuführung und soll Niet aufspindeln. Nach dem Aufspindel wird per Lichtschranke kontrolliert, ob die Niet richtig drauf sitzt.

Programmauszug wie folgt:

-- Pruefpos --
PTP VB=100% VE=0% ACC=100% Wzg=1 SPSTrig=0[1/100s] FPU
FB ONL = M1
-- Pruefung durch Lichtschranke ein --
1: A181 = EIN
-- warte auf Freigabe Niet holen oder Niet geladen (Niet geladen -> kann passieren, wenn nach NotAus und SAK wieder angefahren wird) --
2: WARTE BIS E182 + E181
-- Pruefung aus --
3: A181 = AUS
-- Unterprogramm, wenn Freigabe Niet holen --
UP20 = E182 & !E181 & !F14

Unterprogramm ist für das Aufspindeln der Niet zuständig ... aber nun weiter, der Robbi hat die Niet aufgespindelt und es wird nochmals geprüft (Lichtschranke), ob die Niet komplett aufgespindelt wurde oder nicht. Bei einigen Gewindegängen kann es schon mal passieren, dass die Niet da nur zur Hälfte drauf ist.

PTP VB=100% VE=0% ACC=100% Wzg=1 SPSTrig=0[1/100s] FP
FB ONL = M1
-- Pruefung durch Lichtschranke ein --
1: A181 = EIN
-- Warte bis Lichtschranke ein, bzw. Niet komplett aufgespindelt --
2: WARTE BIS E181 + F14
3: A181 = AUS

ist die Niet jetzt nur zu Hälfte aufgespindelt bleibe ich natürlich im Schritt 2: WARTE BIS E181 + F14 hängen

Jetzt möchte der Kunde natürlich, dass der Robbi, wenn er das erkannt hat, eigenständig Home anfährt und das Programm beendet, damit der Werker beigehen kann, die Niet rausholt und wieder Automatik starten kann.

Meine Frage ist nun, ob das so ohne Weiteres in VKRC mit dem VW_User programmierbar ist, oder habe ich auf Grund des sequenziellen Ablaufs keine Chance?

Hoffe ja auf positive Nachrichten, aber so wie ich VKRC kennengelernt habe, wundert mich das nicht, dass diese "vermurkste" KRC genannt wird.
Gespeichert
Stethi
Elite Member
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 577



« Antworten #13 am: 23. Februar 2010, 13:01:50 »

Hallo. Bei der VKRC 5.4 ist das kein Problem mehr, da man dort in den Programmen mit Sprüngen arbeiten kann.

Was machst du denn nach dem Kontrollieren? Du kannst ja den Ablauf bei Kontrolle IO in ein UP packen und das dann bedingt aufrufen und im NIO-Fall ohne Aufruf weiter fahren und die Folge beenden.

Im User nach Home fahren ist ja kein Problem, aber dann musst die Fpolge ja auch abwählen. Das geht bestimmt irgendwie,habs aber noch nicht getestet. Dann kommt aber das Problem, das du LPKT nicht bekommst und alle Anweisungen im letzten Punkt nicht ausgeführt werden, da die Folge ja abgewählt wird. Wenn du es irgendwie schaffst, alle Bewegungen in UPs, zu legen und dann nur die UPs cancelst, könnte es klappen.

Meld dich bei weiteren Fragen. MfG
Gespeichert

magra13
Neuling
*
Offline Offline

Beiträge: 12


« Antworten #14 am: 23. Februar 2010, 13:57:22 »

@Stethi
erst mal Danke für die schnelle Antwort. Kann leider grad nicht sagen welche Version das ist. Kenn die Anlage erst seid einer Woche und habe natürlich nicht nachgeguckt. Hol ich nach, wenn ich wieder eine Reise dahin gewonnen habe.

Nach der Kontrolle wird der Robbi aus der Zuführung und wieder auf Home gefahren, die Folge ist mit dem Erreichen von Home beendet. Danach wieder eine neue Folgenanwahl für das Nieten an sich. (insgesamt 4 Folgen, da zwei Arbeitstische mit jeweils zwei mal Niet setzen).

wenn ich dich richtig verstanden habe würde das wie folgt ablaufen:

FOLGE 1:
-- Pruefung ob Niete korrekt aufgespindelt --
1: A181 = EIN
2: WARTE Eingang iO  ODER  Eingang niO
3: A181 = AUS
4: UP_iO = Eingang iO und nicht Eingang niO
5: UP_niO = Eingang niO und nicht Eingang iO


UP_iO : Fahre aus der Prüfung zurück zu Home und Programmende.

So würde ich das auch machen, jedoch weiß ich nicht wie sich das mit dem Rücksprung aus dem UP verhält.
Wenn ich den iO Fall abgearbeitet habe, würde die Steuerung da nicht zu Punkt 5: UP_niO zurückkehren und die Folge mit den darin enthaltenen Anweisungen ausführen?

Wie cancele ich denn die UPs? Mit einem HALT oder BRAKE?
P.S. Meinst du mit Sprüngen die GOTO Anweisung 


Kann man das vielleicht folgendermaßen realisieren?

-- Pruefung ob Niete korrekt aufgespindelt --
1: A181 = EIN
2: WARTE Eingang iO  ODER  Eingang niO
3: A181 = AUS
4: UP_iO = Eingang iO und nicht Eingang niO
5: UP_niO = Eingang niO und nicht Eingang iO
PTP Home

UP_io:   Fahre aus der Zuführung und dann weiter auf Home. Sprung zurück zur Folge 1, die dann auch mit PHome endet.

UP_niO : Fahre aus der Zuführung und dann weiter auf Home danach einen erzwungenen Halt, damit der Werker beigehen kann und die     Niet rausholt. Kann man dann so ohne Weiteres wieder in Automatik wechseln?

Ich glaube ich drehe mich hier grad im Kreis. KRC, Adept, Mitsubishi und Denso sind doch so schön zu programmieren. Wieso muss VW immer nen eigenes Süppchen kochen?
Gespeichert
Seiten: [1] 2 Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  KUKA Roboter (Moderatoren: Werner Hampel, kai_n, stefanM, LindePaul, IrrerPolterer)  |  Thema: Programmaufbau und Struktur VKR C1 « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
Prüfe XHTML 1.0 Prüfe CSS