vw_usr_r

  • Hallo,


    vielleicht kann mir ja jemand helfen. Folgende Problem ich habe eine VKRC4 Steuerung. Ich wollte in vw_usr_r unter user main in Hauptgruppe 1 eine neue Untergruppe einfügen soweit auch gut. Das gleiche in der user.ini neue Untergruppe eingefügt dann Kaltstart und Datei neu einlesen. Jetzt wenn ich das neue Inlinformular im UP überfahre kommmt bei mir die Fehlermeldung "fehlerhafte Gruppennummer übergeben". Ich kann doch bis zu 99 Untergruppen einfügen was habe ich falsch gemacht?


    Danke

  • Schritt für Schritt zum Roboterprofi!
  • Hallo.
    Sprichst du auch die richtige Hauptgruppe an?
    Poste mal deine user.ini. und deine user.src. sowie dein xxx.src (Unterprogramm).

    Nichts ist einfach - alles bedarf der Übung !

  • Hallo,


    habe jetzt Hautgruppe 3 und Untergruppe 1 im user_r neu eingefügt. Im user_ini das gleiche gemacht.
    Kaltstart mit neu einlesen. Aber immer noch die Fehlermeldung "fehlerhafte Gruppennummer übergeben".
    muß man noch woanders was anpassen? Wie genau werden die Gruppennummern übergeben muß ich da auch was beachten?


    Gruß

  • Hallo Kukarider,


    dein vw user hat leider nicht funktioniert. Es kam die Fehlermeldung "ReadHeader () 66" Dateiformat nicht korrekt (Syntax des Dateikopfs).
    anbei das kpl. Archiv unbearbeitet, es sollen eine neue Hauptgruppe und eine neue Untergruppe eingefügt werden. Technologie Kamera.
    Vielleicht kriegst du es hin.


    Gruß

  • Hallo KukaRider,


    deine Dateien haben gut funktioniert. Danke nochmal für die schnelle Hilfe. Ich habe jetzt noch ein kleines Problem.
    Ich übernehme die Koordinaten meiner Kamera und schreibe sie in die user_r_dat in ein Frame rein. soweit noch kein Problem.
    Jetzt möchte ich die x und y werte aus dem Frame in die jeweilige Richtung verfahren. Und zwar vom aktuellen Punkt in die jeweilige Richtung. Wie kann ich durch den Aufruf des Techpaket die Werte die im Frame stehen gleich mitverschieben?
    Ich möchte das die werte durch das aufrufen des Techpaket gleich mit übertagen werden.

    Gruß

  • Kein Ding, die Rechnung kommt noch :biggrins:



    Jetzt möchte ich die x und y werte aus dem Frame in die jeweilige Richtung verfahren. Und zwar vom aktuellen Punkt in die jeweilige Richtung.


    1. in der Config.dat oder in vw_user_r.dat einen neuen Frame deklarieren
    FRAME XPOS_StartPos={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;StartPos


    2. In dem vw_user_r.src Case 401, befor du die Werte eingelesen hast


    XPOS_StartPos=$NULLFRAME ;Frame init


    3. in vw_user_r.src im Case 401, nachdem du die Werte eingelesen hast


    XPOS_StartPos=$POS_ACT:fKorrFrame


    PTP bzw. LIN XPOS_StartPos



    Wie kann ich durch den Aufruf des Techpaket die Werte die im Frame stehen gleich mitverschieben?
    Ich möchte das die werte durch das aufrufen des Techpaket gleich mit übertagen werden.


    1. in der Config.dat oder in vw_user_r.dat einen neuen Frame deklarieren
    FRAME TechPackOffset={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;Offset TechPaket


    2. In dem vw_user_r.src Case 401, befor du die Werte eingelesen hast


    XPOS_StartPos=$NULLFRAME ;Frame init
    TechPackOffset=$NULLFRAME ;Frame init


    3. In dem vw_user_r.src Case 401, nachdem du die Werte eingelesen hast


    TechPackOffset.X=PAR1 ;Übernahme Parameter 1 X_Wert
    TechPackOffset.X=PAR2 ;Übernahme Parameter 2 Y_Wert


    XPOS_StartPos=$POS_ACT:fKorrFrame:TechPackOffset


    PTP bzw. LIN XPOS_StartPos


    Ich hoffe ich hab den zweiten Teil richtig verstanden.


    Gruß

  • Hallo KukaRider,


    Ich muss meine Rechnung noch weiter hochtreiben. :zwink:
    Denn ich bräuchte noch ein paar Erklärungen. 1.Deine Anleitung hat gut funktioniert. Punkte lassen sich problemlos verschieben.


    2.Was bewirkt/ bedeutet der Doppelpunkt genau bei diesen Aktionen "XPOS_StartPos=$POS_ACT:fKorrFrame" und XPOS_StartPos=$POS_ACT:fKorrFrame:TechPackOffset.


    3. Ich denke ich habe bei der Verarbeitung der REAL Zahl ein Problem. Kurze Erklärung.
    Ich bekomme eine real zahl als Koordinate (z.b. X ) in 32 bit länge als Eingänge gesendet.
    (SIGNAL GI_KorrWertInX $IN[1953] TO $IN[1984]).
    (SIGNAL GI_KorrWertInY $IN[1985] TO $IN[2016])
    Dann verarbeite ich es so weiter:


    IF ( GI_KorrWertInX > 'H7FFF' ) THEN
    fKorrFrame.X = ( ( ( B_NOT GI_KorrWertInX ) B_AND 'HFFFF' ) + 1 ) / ( - 100.0 )
    ELSE
    fKorrFrame.X = GI_KorrWertInX / 100.0
    ENDIF

    IF ( GI_KorrWertInY > 'H7FFF' ) THEN
    fKorrFrame.Y = ( ( ( B_NOT GI_KorrWertInY ) B_AND 'HFFFF' ) + 1 ) / ( - 100.0 )
    ELSE
    fKorrFrame.Y = GI_KorrWertInY / 100.0
    ENDIF




    Ist das so richtig und was bedeutet diese Verarbeitung habe ich auch nur bekommen.


    Ich bekomme nämlich als Wert komische Zahlen raus.


    FRAME fKorrFrame={X -21356236.0,Y -10464967.0,Z 0.0,A 0.0,B 0.0,C 0.0}.


    original sollten die werte ca. aber bei x=41mm und y=82mm. (kann ich bei der Technologie ablesen)



    Und das Gesamtresultat ist dann das. (deshalb meine Frage zu 2.)
    FRAME XPOS_StartPos={X -169168.453,Y -10564774.0,Z 21307374.0,A 36.2732697,B 89.5468674,C 36.48703}


    Und warum verändert sich der Z Wert beim übertragen (Original= Z 1020mm). Sollte genauso wie A,B,C Gleich bleiben wie in Pos_act. (die Winkel angaben ändern sich auch nicht)


    Gruss

  • Hallo,


    wie kann ich diese IF Anweisung ändern das ich eine 32bit real zahl wieder in die Ursprungszahl Gleitkommazahl zurück ändere und in ein Frame schreiben kann.




    IF ( GI_KorrWertInX > 'H7FFF' ) THEN
    fKorrFrame.X = ( ( ( B_NOT GI_KorrWertInX ) B_AND 'HFFFF' ) + 1 ) / ( - 100.0 )
    ELSE
    fKorrFrame.X = GI_KorrWertInX / 100.0
    ENDIF



    Gruss

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