Beiträge von fubini

    Hallo,


    Zitat

    Btw., wo steht die maximal Geschwindigkeit der Drehachse, also wenn $VEL_EXTAX auf 100% steht?


    Die maximale Achsgeschwindigkeit ist eigentlich über $VEL_AXIS_MA[AxNr] in der R1/$machine.dat definiert. Diese Größe stellt allerdings die maximalen U/min des Motors dar, so dass noch über $RAT_MOT_AX[AxNr] (Umdrehungen Motor / Umdrehung Achse) auf den Abtrieb umgerechnet werden.


    Gruß
    Fubini

    Hallo,


    das einzige was mir komisch vorkommt ist bei $EX_KIN der Eintrag ET2 #NONE. Hier sollte für eine korrekte Einrechnung wohl ET2 #EASYS stehen, sonst ist die Kinematik ET2 deaktiviert.


    Gruß
    Fubini

    Hi,


    die Programme sind interne Systemfunktionen wie z.B. auch FORWARD(...), INVERSE(...) oder INV_POS(...). Die werdet ihr daher nicht auf der Festplatte finden:


    "EXTFCTP BOOL ROB_STOP(ROB_STOP_T TYPE: IN)","; Stoppen und Verhindern einer Roboterbewegung", "Durch den Befehl ROB_STOP() wird eine aktuelle Roboterbewegung gestoppt und alle weiteren Bewegungen des Roboters, sei es durch Programm-/Kommandobetrieb oder Handverfahren, verhindert, solange bis der Befehl ROB_STOP_RELEASE() aufgerufen wurde. Dieser Befehl kann nur aus einem Submitprogramm aus aufgerufen werden.


    Der Parameter gibt an mit welcher Stoppreaktion der Roboter angehalten werden soll.


    Rückgabewerte:
    - TRUE, wenn Stopp ausgeführt wurde
    - FALSE bei Fehler z.B. nicht unterstützten Stopptyp übergeben


    "ENUM ROB_STOP_T RAMP_DOWN, PATH_MAINTAINING","; Stoppreaktion für ROB_STOP()","Art der Stoppreaktion, die ROB_STOP() auslösen soll"


    "EXT_PRE","EXTP ROB_STOP_RELEASE()","; Aufheben der durch ROB_STOP() verursachten Blockade", "Durch den Befehl ROB_STOP_RELEASE() wird eine durch ROB_STOP() verursachte Blockade von Roboterbewegungen wieder aufgehoben. Dieser Befehl kann nur aus einem Submitprogramm aus aufgerufen werden."


    Gruß
    Fubini

    Hallo arosafahrer,


    BAS(#TOOL,1) und $TOOL = TOOL_DATA[1] sind fast identisch. Nur dass bei setzen von BAS(#TOOL,1) auch gleich die Lastdaten mit gewechselt werden (siehe DEF TOOL (TOOL_NO :IN ) in C:\KRC\ROBOTER\KRC\R1\System\bas.src auf der Steuerung). Man spart sich also mit BAS(#TOOL,1) den Aufruf $LOAD = LOAD_DATA[1]. Ferner wird auch noch $ACT_TOOL auf die Nummer des aktiven Werkzeugs gesetzt, so dass man $ACT_TOOL auswerten kann.


    Ferner wird durch den EK() Befehl zusätzlich die geometrische Kopplung zwischen Roboter und der externen Kinematik aktiviert. Durch einfaches Setzen von
    $BASE = BASE_DATA[17] würde zwar auch das Base 17 aktiviert, der Roboter fährt aber nicht auf der Base mit:
    Angenommen deine externe Achse ist eine Drehachse so fährt im EK-Fall der Roboter automatisch beim der Bewegen der Zusatzachse einen Kreis um die Zusatzachse, d.h. der Roboter steht immer relativ zum aktuellen Base (das ja durch die Drehung der Zusatzachse im Raum wandert) auf der gleichen Stelle. Im Fall $BASE = BASE_DATA[17] dagegen würde der Roboter stehen bleiben.


    Das der Roboter mitfährt könnte man übrigens auch analog zur Toolzuweisung kürzer über BAS(#EX_BAS, 17) erreichen.


    Gruß
    Fubini

    Hallo,


    ergänzend sollte man vielleicht noch erklären, was eine Frameverknüpfung eigentlich bewirkt. Die Steuerung fährt normalerweise immer die gegebene kartesische Position im aktuellen $BASE-System an. durch den Doppelpunktoperator wird diese Position noch weiter im Raum verschoben. Man fährt also in deinem Beispiel eine um xpDP1GrPos versetzte Position an.


    Gruß
    Fubini

    Hallo,


    eine IOSYS.ini gibt es in der KRC4 nicht mehr. Um IO-Konfigurationen zu erstellen benötigst du KUKA WorkVisual. Such einfach mal hier im Forum nach dem Stichwort WorkVisual, da solltest du einiges drüber finden.


    Gruß
    Fubini

    Hallo Django,


    Zitat

    Ich glaube x steht einfach nur für Positionsvariable? aber wofür steht f? Kann mir das jmd. sagen?


    Mach doch einfach mal das *.dat-File zu deinem Program auf, dann findest du einerseits den Punkt xP1
    DECL E6POS XP1={X 1684.08496,Y -322.278809,Z 1193.56201,A 178.510498,B 23.0953693,C -179.299301,S 18,T 10,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
    und andereseits das FDAT fP1
    DECL FDAT FP1={TOOL_NO 2,BASE_NO 1,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE}


    Um eine Position und Orientierung beschreiben zu können muss natürlich immer neben den eigentlichen Koordinaten, die in xP1 abgelegt sind auch das Bezugssystem angegeben werden. In meinem Fall hier wäre einerseits $BASE durch BASE_DATA[BASE_NO==1] und $TOOL durch TOOL_DATA[TOOL_NO==2] (stehen in der $config.dat) gegeben. D.h. xP1 beschreibt Lage und Orientierung des TCP bei $BASE=BASE_DATA[1] und $TOOL=TOOL_DATA[2].


    Zur Veranschaulichung wie $BASE und $TOOL zum Roboter liegen empfehle ich einen kurzen Blick in die Doku, da gibt es Bilder dazu.


    Zitat

    Leider hat das überhaupt keine Auswirkung. Warum???


    Das liegt daran, dass bei CIRC rein kartesisch geplant wird, der Roboter also nichts von den Achsen weiss (wenn er es wüsste, würde ja auch auch keine Überwachung zuschlagen, da er die Achsen dann mit einplanen kann). Du musst also statt $VEL_AXIS[] $VEL.CP, $VEL.ORI1 und $VEL.ORI2 sowie für $ACC_AXIS[] $ACC.CP, $ACC.ORI1 und $ACC.ORI2 programmieren.


    Das ändert sich erst mit dem Spline ab V8.2 mit $SPL_VEL_MODE = #OPT. Hier wird dann die SCIRC-Bewegung über ein Achsmodell geplant und du erhältst das Verhalten wie du es erwartet hast.


    Gruß
    Fubini

    Hallo Klaus,


    so aus dem Stegreif würde ich sagen du willst


    XP2 = XP1 : {0, 0, 300, ...}


    erreichen, auch wenn ich das deiner Beschreibung nicht genau entnehmen kann.. Such einfach mal unter dem Stichwort "Doppelpunkt Operator" im Forum, da findest du viele Anwendungsbeispiele. Sehr wahrscheinlich auch das was du haben willst.


    Gruß
    Fubini

    Hallo,


    Systemfehler 14 sind in der Regel Pagefaults die innerhalb der VxWorks-Steuerungssoftware auftreten. Es hat also das Betriebssystem VxWorks einen irgendwie gearteten fehlerhaften Speicherzugriff festgestellt. Das kann z.B. das dereferenzieren eines Nullpointers sein oder ähnliches. ADS_IN ist eine Kommunikationstask auf der VxWorks-Seite der Robotersteuerung. Wo genau der Fehler auftritt kann man (oder besser nur KUKA) anhand des dabei generierten Logfiles (tt.log) ermitteln. In diesem Logfile steht der Caller-Stack der zu diesem Fehler passt.


    Gruß
    Fubini

    Hallo,


    Zitat

    das finde ich etwas verwirrend. woran kann das liegen?


    Ganz einfach die Zahl ist nicht ekakt als REAL darstellbar. Es gibt auf jedem Rechner für bestimmte Datenformate bestimmte zulässige Datenbereiche, d.h. zur Darstellung der Zahlen steht nur eine gewisse Anzahl an Bits zur Verfügung. Soweit ich weiss sind intern die Reals etwa single precision floats (auf 32Bit-Systemen) und die reichen eben nicht um deine Zahl darzustellen. Damit kommt es zu Rundungsfehlern, d.h. du erhältst die nächstgelegene reele Zahl, die gerade noch über die Anzahl vorhandener Bits darstellbar ist.


    Nachdem ich jetzt an dieser stelle nicht über Gleitkommazahlen, Mantissen und Exponenten auslassen will (und es dafür sicher besser geeignetere als mich gibt :lol:) sei hier nur auf Numerik- oder Informatikeinführungsbücher verwiesen. Ich bin mir sicher man findet aber auch unter den o.g. Schlagworten etwas in Wikipedia dazu.


    Gruß
    Fubini

    Hallo,


    den Zeilenabstand dauerhaft zu ändern geht glaube ich nicht, d.h. ich hab gerüchtweise mal gehört, dass es das auf vielfachen Kundenwunsch ab der V8.3 gehen soll. Ob das aber auch tatsächlich umgesetzt wird, kann ich leider nicht mit absoluter Sicherheit versprechen. Du kannst ja mal bei KUKA nachhaken.


    Gruß
    Fubini

    Hallo,


    Zitat

    wollte die Frage nochmal aufgreifen, ob es denn möglich ist OfficeLite 8.2 auch gleich im Expertenmodus zu starten?


    im Ordner C:\KRC\SmartHMI\Config befindet sich die Authentication.config. Hier einfach im Abschnitt "AutoKrcOperator" einen anderen User Level eintragen. Welcher Level welchem Nutzer entspricht steht ein paar Zeilen weiter unten in den Abschnitten
    "KrcExpertProgrammer" => Experte = User Level 20,
    "KrcSafetyRecovery" => Sicherheitsinstandhalter = User Level 27,
    ...



    Zitat

    Gibt es zusätzlich noch die möglichkeit bei OL8.2 das Sichtfenster zu vergrössern


    Leider nein, ich hät mir das auch schon mal gewünscht.


    Gruß
    Fubini