Programmaufbau und Struktur VKR C1

  • 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

  • Schritt für Schritt zum Roboterprofi!
  • 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

  • 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

  • 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

  • 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....

  • 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

  • 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:

    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.


    Life is a beta version. Full of bugs and no Manual.


  • 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:


    :lol: Und das mit der VKRC.. :wallbash:


  • Und das mit der VKRC.


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

    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.


    Life is a beta version. Full of bugs and no Manual.

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


    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:

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

    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."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • 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.

  • 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

    Einmal editiert, zuletzt von Stethi ()

  • 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?

  • Schon mal nicht schlecht.


    Da VKRC1, würde sagen, Softwarestand um die Version 2 oder 3.


    "P.S. Meinst du mit Sprüngen die GOTO Anweisung "



    Bei der 5.4. kann man das so machen


    Folge 1:
    PTP P1
    PTP P2
    PTP P3
    PTP P4
    GOTO LABEL1 = Auswertung NIO
    PTP P5
    PTP P6
    LABEL1
    PTP P7




    "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?"


    Ja, du arbeitest dann in P5 weiter. Wenn die Bedingung aber nicht erfüllt ist, wird der UP_NIO-Aufruf ja ignoriert und nicht ausgeführt.



    "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


    "


    Ja, kann man natürlich machen. Du musst dann aber deine UPs so enden lassen, dass beide ja danach zu Home übergehen können, .


    "Wie cancele ich denn die UPs? Mit einem HALT oder BRAKE?
    "


    Das macht man mit CCAncel oder Cwrite. Habs aber noch nie gemacht, da das keine astreine Programmierung wäre.


    "Kann man dann so ohne Weiteres wieder in Automatik wechseln?
    "


    Natürlich. Muss nur die SPS wieder vernünftig anstarten.


    MfG

  • :danke:, du hast mir sehr geholfen!


    "Ja, kann man natürlich machen. Du musst dann aber deine UPs so enden lassen, dass beide ja danach zu Home übergehen können, ."
    Das versteht sich von selbst.


    Werde das wohl mit den zwei UPs machen und bei dem UP_niO der SPS ein Handshake-Signal senden, dass das Aufspindeln niO war, um eine weitere Folgenanwahl zu unterbinden.


    Das mit dem GOTO werde ich mir auch auf jeden Fall mal anschauen.

  • Hi,



    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.


    Die Reise kannst du dir sparen. Es handelt sich um eine 5.4.12.


    Gruß ... gooselk

    Einmal editiert, zuletzt von gooselk ()

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden