VW User Problem

  • Hallo Leute.
    Mein neuer Roboter VKrc2 läuft mittlerweile sehr gut. Habe auch schon Folgen erstellt mittels Inlineformular und erfolgreich in Betrieb genommen.
    Leider ist mir jetzt aufgefallen das es im Gegensatz zu meiner alten SEF Steuerung keine Sprungbefehle mehr gibt. Da konnte ich zum letzten Punkt springen und somit die Folge beenden. Oder beim letzten Punkt wieder zum 2. um noch einen Durchlauf zu fahren ohne neu anzuwählen. Ich palettiere mit dem Roboter Kartons. Da muss ich auch schonmal mitten im Programm abbrechen wegen Sortenwechsel.
    Kann mir mal einer einen Tip geben wie ich das genau lösen kann? Mit Inlineformular oder direkt mit KRL?
    Habe versucht mittels KRL Code in die Folge.SRC zu schreiben. Das wollte er aber irgendwie nicht. Die Prüfung war ohne Fehler, beim anwählen hat sich die Steuerung dann aber direkt aufgehängt.
    Verstehe noch nicht so ganz das Ding mit dem VW User.
    Vielleicht könnte mir mal jemand genau erklären wie ich ein Programm in KRL Code erstellen kann. Was kommt in die Folge.SRC, was in die Folge.dat(hab keine Ahnung wie ich die erstelle) und was in welche VW User Dateien?
    Z.b. ein Programm mit Varianten Steuerung und Goto oder ähnlichem Sprungbefehl.
    Achso... Software ist Vkrc2 3.3.3
    Schonmal vielen Dank.
    Brauwi

  • Schritt für Schritt zum Roboterprofi!
  • Ja, mit öffnen ist klar. Mache aber irgendwas falsch. Weiß nur noch nicht was. Schreibe ich zwischen 2 Punkte nen If Then Goto Befehl mit Zielpunkt?
    Das mit der .dat Datei konnte ich klären. Die kann man nur unter Offenen - Datenliste öffnen aufmachen.
    Muss ich da Variablen(nicht global). deklarieren oder müssen die in den VW User?

  • IF...THEN Befehle kannst du in .src bei einer VKRC nicht schreiben. Geht nur mit Bedingt Sprung/Marke.
    Im Editor Menü kannst du das auswählen. Der Compiler übersetzt das dann auf IF...THEN automatisch.
    Experten Programmierung geht nur im VW_USER.

  • OK, dann werde ich das mit dem bedingten Sprung mal probieren.
    Kann mir trotzdem jemand mal grob erklären wie das mit dem VwUser funktioniert?
    Wo erstelle ich genau die Folge. In welche Datei kommt was?
    Vielleicht als Beispiel anhand eines If Then Befehls und 3 Punkten.
    Hab 10 Jahre mit einer Vrs1B Steuerung herumhantiert, da ist das jetzt schon etwas komplexer.
    Grüße
    Brauwi

  • Hallo Stethi,
    vielen Dank schonmal. Aber ich stehe echt noch auf dem Schlauch. Den VW User kann man ja nur in der Punkt SPS aufrufen. Mal angenommen ich möchte stapeln mit Reihe, Spalte, Ebene. In welcher Datei deklariere ich die Variablen. Und wohin kommt dann die Zählschleife? In meiner Folge.SRC kann ich doch gar keinen KRL Code eingeben, oder? Oder kann ich das in der Folge.src mit einem Fold machen und der VW User legt die Decl selbst in einer Datei ab? Habe ne Vkrc Programmieranleitung, werde da aber nicht so mega schlau raus.
    Gruß Brauwi

  • Hallo Braui,
    ich habe es wie folgt gelöst:
    Auszug aus der VW_USER_R.DAT Datei:
    .....
    ;Palettierung Palette
    CONST REAL TEILE_ABSTAND=57.0
    CONST REAL STAPEL_HOEHE=82.0
    ;
    CONST INT xMaxAnzTeile=8
    CONST INT zMaxAnzLagen=10
    .....


    Auszug aus der VW_USER_R.SRC Datei:
    .......
    DEF BER_BASE12_POS_TEIL ()
    ;--------------------------------------------------------
    ;Berechnet Base 12 Teile Position
    ;--------------------------------------------------------
    ;
    DECL FRAME F_TEIL ;Frame Position Teil
    ;
    ;Zaehler inkrementieren
    $COUNT_I[10]=$COUNT_I[10]+1
    ;
    WHILE (($COUNT_I[10]<1) OR ($COUNT_I[10]>xMaxAnzTeile))
    ;Anzahl Teile 1-10 ueberpruefen
    MLD (121)
    HALT
    ENDWHILE
    ;
    F_TEIL=$NULLFRAME
    F_TEIL.X=(TEILE_ABSTAND * ($COUNT_I[10]-1))*(-1)


    ;
    BASE_NAME[12,]= "Base Teil 1-8 beladen "
    BASE_TYPE[12]=#BASE
    BASE_DATA[12]=$nullframe
    TOOL_NAME[12,]= "Base Teil 1-8 beladen "
    TOOL_TYPE[12]=#TCP
    ADV_TOOL[12]=#TOOL_BASE
    ;
    ;Zuweisung
    TOOL_DATA[12]=TOOL_DATA[2]
    BASE_DATA[12]=BASE_DATA[7]:F_Teil
    ;
    END
    .....


    Aufruf im UP:
    VW_USER P1= 2 P2= 2 P3= 0 P4= 0 P5= 0 P6= 0 P7= EIN


    ---------------------------------------------------------------


    Das GOTO Problem:


    Ich konnte es bei mir händisch reinschreiben.


    CONTINUE
    IF $Flag[881]Then
    Goto Label1
    Endif


    Label1:


    Diese Syntax hat er angenommen und umgesetzt. Es war eine VKRC2 Steuerung welche Version genau, weiß ich leider nicht mehr.



    Viele Grüße

  • Hi.
    Ja super. Hört sich doch schonmal gut an. Werde das mal so oder so ähnlich ausprobieren.
    Danke an Sliwka und Spiral.
    Das KRL Programmieren ist nicht mein Problem gewesen. Vielmehr muss ich diesen VW User verstehen. Also in welcher Datei was rein kommt und wie dann genau die Übergabe in meine Folge/ Up aussieht. Mit dem Beispiel bekomme ich das denke ich hin.
    Aber trotzdem noch ne Frage. Wenn ich im VW User mehreren Sachen für verschiedene Folgen programmieren möchte, kommen die Befehle alle in die gleiche Vw User Datei?
    Woher weiß der VW User Aufruf welchen Teil ich meine. Z.b P1=2 P2=2?
    Habs dann auch bald:-)
    Gruß Brauwi

  • VW_USER ist nichts anderes als ein langer Switch. Die Parameter Beschreibung kommt in der vw_usr.ini Datei.
    KRL Programmieren kannst du dann in vw_usr_r.src. Die Variablen Deklarationen in vw_usr_r.dat.
    Wenn du was neues Programmieren möchtest einfach neuer CASE im User Switch hinzufügen.

  • VW_USER ist nichts anderes als ein langen Switch. Die Parameter Beschreibung kommt in der vw_usr.ini Datei.
    KRL Programmieren kannst du dann in vw_usr_r.src. Die Variablen Deklarationen in vw_usr_r.dat.
    Wenn du was neues Programmieren möchtest einfach neuen CASE im User Switch hinzufügen.

  • Ja vielen Dank. Genau sowas hatte ich noch zum Verständnis gebraucht. Ich denke das ich das jetzt hin bekommen sollte. Ansonsten melde ich mich.
    Gruß
    Brauwi

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