Beiträge von Colsan

    Moin ihr allwissenden!

    Sitze hier gerade vor einer KRC4 mit KSS 8.3.33 und versuche eine Meldung zu generieren, wo mir ein Wert einer Systemvariable mit ausgegeben wird.

    Bekomme das aber irgendwie nicht auf die Reihe, habe auch schon die Suche bemüht, leider ohne Erfolg.


    Kurze Beschreibung:


    Teststand für Servozangenmotoren, gesteuert mit einer KRC4.

    Interrupt Programmiert, wenn eine gewisse Kraft vom Motor aufgebaut wurde, dann springe in UP und gebe Meldung aus wie hoch der aktuelle Strom ist.


    Hier mal mein Programmausschnitt, das UP wo er reinspringt:


    DEF 5KN ()


    MSGNotify("5KN",$CURR_ACT[7])

    INTERRUPT OFF 22


    END


    So in der Art habe ich mir das gedacht, kommt aber immer eine Fehlermeldung, "TYP aktueller/formaler Parameter nicht verträglich


    Kann mir da jemand helfen?

    Wultrix:
    Schön das du dich auch mit dem Thema befasst!
    Kannst du deinen Code hier auch veröffentlichen oder mir zukommen lassen?
    Das mit dem automatischen auslesen und drauf schreiben der RDC-Daten hab ich noch nicht so ganz hinbekommen...
    Würde mir die Arbeit erleichtern ;) Danke


    Und was klar ist! Man sollte schon wissen was man da macht!
    Zum "Spielen" ist das nix!


    Grüße
    Colsan

    ERSTMAL BESTEN DANK AN ALLE! IHR SEID SUPER!
    Der Vollständigkeithalber hier der komplette Code.
    Bei mir funktioniert es Super!



    DEF MAMES ( )
    DECL RW_MAM_FILE Handle
    DECL E6AXIS sMAMES
    ;*********************************************
    ;ACHTUNG: VOR DEM STARTEN RDC DATEN SPEICHERN
    ; DURCHFUEHREN!!!
    ; ES MUSS DER ORDNER C:\KRC\ROBOTER\RDC
    ; VORHANDEN SEIN
    ;INBETRIEBNAHME>ROBOTERDATEN>RDC DATEN SPEICHERN
    ;*********************************************
    ;MAMES WERTE AUSLESEN
    sMAMES.A1 = $MAMES_ACT[1]
    sMAMES.A2 = $MAMES_ACT[2]
    sMAMES.A3 = $MAMES_ACT[3]


    ;*********************************************
    ;HIER ERMITTELTE WERTE REINKOPIEREN
    sMAMES.A4 = 0.4444 ;<--- Achse 4
    sMAMES.A5 = 0.5555 ;<--- Achse 5
    sMAMES.A6 = 0.6666 ;<--- Achse 6


    ;*********************************************
    ;DATEN WERDEN IN NEUES MAMES-FILE GESCHRIEBEN
    ;*********************************************
    Handle=SET_MAM_ON_HD(sMAMES)
    WAIT FOR Handle==#SUCCESS


    ;*********************************************
    ; neues MAMES-FILE AUF RDC UEBERTRAGEN!
    ; INBETRIEBNAHME>ROBOTERDATEN>MAM/RDC MAM-FILE
    ; auswahlen(C:\KRC\ROBOTER\RDC)
    ;*********************************************
    HALT


    END

    So damit geht's soweit... jetzt noch die Variablen Ax1- Ax6 statt der Werte einsetzen können und gut ist....


    DEF MAMES ( )
    DECL RW_MAM_FILE Handle
    DECL REAL Ax1, Ax2, Ax3, Ax4, Ax5, Ax6, Ax7, Ax8, Ax9, Ax10, Ax11, Ax12


    ;MAMES-WERTE AUSLESEN
    Ax1 = $MAMES_ACT[1]
    Ax2 = $MAMES_ACT[2]
    Ax3 = $MAMES_ACT[3]
    ;HIER ERMITTELTE WERTE REINKOPIEREN
    Ax4 = 0.4444
    Ax5 = 0.5555
    Ax6 = 0.6666


    ;DATEN WERDEN IN NEUES MAMES-FILE GESCHRIEBEN
    Handle=SET_MAM_ON_HD({E6AXIS:A1 1.1111,A2 2.2222,A3 3.3333,A4 4.4444,A5 5.5555,A6 6.6666})
    ;statt der Werte 1.1111 oder so soll da Ax1 stehen... das geht aber nicht, dann sagt die Steuerung Konstante erwartet ?!?
    WAIT FOR Handle==#SUCCESS


    ;neues MAMES-FILE AUF RDC UEBERTRAGEN!
    ;INBETRIEBNAHME>ROBOTERDATEN>MAM/RDC MAM-FILE auswahlen(C:\KRC\ROBOTER\RDC)
    HALT


    END

    Danke SJX erstmal für deine Antwort
    Werde das ganze mal ausprobieren ob es Funktioniert, bzw ob ich es jetzt zusammen bekomme.
    Bei uns haben alle Roboter ein MAMES File auf der RDC.


    Meine Code lass ich hier lieber weg, sonst bekommste ein Lachkrampf ;)


    Habe auf jeden Fall vergessen die Handle Funktion zu deklarieren und das = hab ich auch nicht gemacht.
    Eine Frage habe ich noch:
    [size=1][font=verdana, sans-serif]Handle=SET_MAM_ON_HD ( A1 0.0, A2 -90.23, A3 90.0123, A4 0.321, A5 0.147, A6 0.258 )[/font][/size]


    Kann man da irgendwie statt die Werte auch Variablen übergeben?
    Wollte halt die MAMES_ACT Werte auslesen, die Werte in Variablen speichern und dann die neuen Handwerte eintragen im SRC und dann das ganze starten.


    ca so:
    AX1 = $MAMES_ACT[1]
    AX2 = $MAMES_ACT[2]
    AX3 = $MAMES_ACT[3]
    AX4 = neuer_MAMES-WERT reinkopiert
    AX5 = neuer_MAMES-WERT reinkopiert
    AX6 = neuer_MAMES-WERT reinkopiert


    und dann nachher


    Handle=SET_MAM_ON_HD(AX1,AX2, AX3, AX4, AX5,AX6)


    so in etwa hab ich mir das gedacht....


    Werde das mal probieren mit deiner Hilfe und dann den Code hier Posten..

    Moin
    War schon mal hier im Forum angemeldet, aber irgendwie ist mein Login weg...
    Habe da mal eine Frage:
    Hat einer von euch schon mal mit folgenden Funktionen gearbeitet?


      • (function) RW_MAM_FILE SET_MAM_ON_HD(E6AXIS VALUES:IN) ; Individuelle MAMES-Werte auf HD speichern

      • (function) RW_MAM_FILE COPY_MAM_HD_TO_RDC() ; kopiere mam-File von HD auf RDW

      • (function) RW_MAM_FILE COPY_MAM_RDC_TO_HD() ; kopiere mam-File von RDW auf HD

      • (function) RW_MAM_FILE CHECK_MAM_ON_RDC() ; pruefe individuelle MAMES-Offsets auf RDW


    Irgendwie bekomme ich die nicht aufgerufen, bzw wenn ich in Anzeige > Variable > Einzeln die Funktion aufrufen möchte, sagt die Steuerung "Funktion nicht definiert"
    Steuerungstyp ist die KRC4, Software ist 8.2.28 HF5_8
    Wäre super wenn mir da jemand helfen könnte!
    Zum Hintergrund:
    Wir vermessen unsere Roboterhände nach Reparatur selber und wollen nun ein geteiltes MAMES File erstellen.
    Das Problem ist, das unsere Messmaschine (KRYPTON) zwar die Werte ausgibt aber keine Checksumme erstellt...
    Nun habe ich eine Doku gefunden, mit der man die MAMES Werte in das vorhandene MAMES-File auf der Festplatte spielen kann, bzw ein neues Erstellt.
    Anschließend muss man das File wieder auf die RDC übertragen.
    Dies würde ich gerne in einem Programm automatisch machen, da könnte man dann die Werte der Hand eintragen.
    Somit würden Tippfehler vor Ort ausgeschlossen werden.


    Dachte mir das in etwa so:


    Aktuell MAMES werte auslesen mit MAMES_ACT[1-12]
    dann für MAMES[4-5] die ermittelten Werte aus der Vermessung eintragen
    den Rest aus den ausgelesenen MAMES_ACT benutzen


    COPY_MAM_RDC_TO_HD()


    SET_MAM_ON_HD(E6AXIS VALUES:IN)


    COPY_MAM_HD_TO_RDC()


    Ende


    Keine Ahnung ob das so richtig funktioniert, hab einiges Ausprobiert, komme aber nicht so recht weiter, dafür Programmiere ich zu wenig.... Bin also auf Hilfe angewiesen! DANKE