Beiträge von stefanM

    Hallo,


    eventuell nicht *.bmp, sondern *.ico.


    Solche Sachen sind meistens im Quellcode eingebettet. An einer Produktionsanlage sollte man dann die Finger davon lassen. Ausserdem waere eine Manipulation am Quellcode eventuell ein Verstoss gegen das Urheberrecht (Stichwort Recourcen Editor).


    Gruss Stefan.

    Warum sollte das einen Vorlaufstop ausloessen?
    Der Wert einer globalen Variablen kann zur Laufzeit geandert werden (sps.sub, oder Variablenanzeige) - warum also nicht der Status?


    Varstate ist eine Funktion des Kernsystems, wenn die Abarbeitung so lange dauert, bis der Hauptlaufzeiger den Vorlaufleiger einholt, wuerde das einen Vorlaufstop ausloessen.


    Ob es tatsaechlich so ist, weis ich nicht - sollte man probieren.


    Gruss Stefan

    Ok mit ethernet xml gehts.


    Mit allen Punkten als lin wirst du nicht gluecklich werden. Zumidest als erster Punkt im Programm ist eine PTP-Bewegung noetig ("Meldung unzulaessige Startbewegung").


    Du koenntest als erste Bewegung PTP $pos_act oder PTP $axis_act fahren.


    Alles linear zu machen hat nur zur Folge, das dem Roboter die Konfiguration wurscht ist.
    Darauf musst du dann selber aufpassen - wenn sich die Konfiguration nach mehreren Linearbewegungen aendert, fahrt dir der Roboter irgendwann in die Software-Endschalter.


    Gruss Stefan

    Vorlauf gibt es nur im Roboter interpreter, im SPS.SUB nicht.
    Continue und Trigger geht daher nicht.


    ABER: ich kann mich ganz dunkel an was errinnnern: im SPS sub kann man (ging zumindest mal) Bewegunge programieren
    Irgendwas musste man da umstellen

    Hallo,


    das mit dem Auslesen der Positionen ist die kleinste Schwierigkeit.
    Es gibt nur ein paar Typen von Positionsvariablen.


    1. AXIS
    2. E6AXIS
    3. E6POS
    4. POS
    5. FRAME


    Die Typen E6pos und E6Axis sind nicht von Interesse, wenn du keine externen Achsen hast.
    Axis und Frame sind unabhaengig von der Achskonfiguration.
    E6pos und pos dagegen schon, da kann eine Verschiebung bei PTP-Punkten schon mal zu "komischen Bewegungen" fuehren.


    Das manipulieren vom Dat selber bringt nix. Weisst du, wie du das File auf die Steuerung bekommst??


    Gruss Stefan

    Code
    bSubAlive = NOT bRobRun
       IF NOT (bSubAlive == bRobRun) THEN
       ....


    Hallo, die Bedingung ist immer erfuellt, kannst du also weglassen.
    Geht auch nur mit einer Variablen, die im SPS.Sub nur zyklisch auf TRUE gesetzt wird.


    Code
    $timer_stop[21] = FALSE
       $Timer[21] = - 1000
       bSubAlive = FALSE
       repeat
       until bSubAlive OR $TIMER_FLAG[21]
       IF NOT(bSubAlive) THEN
         ; SPS sub anstarten, oder was auch immer
       ENDIF


    Gruss Stefan

    Hallo!


    Stimmt in der extconf.ini kann sowas eingetragen werden.
    Die Auswahl von KUKA, was extern quitiert werden kann und was nicht, ist aber nicht total hirnlos getroffen worden - also bitte mit vorsicht geniessen.


    "Fahrfreigabe gesammt" ist keine Quitiermeldung.


    Gruss Stefan

    Hallo,


    was fuer eine Meldung steht denn am KCP an.
    Ich vermute, es handelt sich um eine Meldung, die mit $conf_Mess nicht quitiert werden kann.


    Gruss Stefan

    Ja, $usr_saf.
    In T1 und T2 wird $Usr_saf mit der Zustimmtaste gebrueckt - vermutlich genau nicht, was du willlst??


    Kommt drauf an, wie das elektrisch relisiert ist.
    Wenn ein Sicherheitsrelais verwendet wird, kannst du die Rueckmeldung von dort haben (Tueren geschlossen und verriegelt),
    Alternativ vom X11 - wenn am Pin 8 und Pin 26 24 V anliegen sind die Tueren zu und verriegelt.



    Gruss Stefan

    Hallo,


    laesst sich bestimmt auf verschiedene Arten loessen.


    Fuer KRC2 kann ich mir folgendes vorstellen:


    Mit einem Relais zwische Pin5 und Pin6, sowie zwischen Pin 23 und Pin 24 am X11 kann die Antriebsfreigabe im Handbetrieb weggenommen werden (in Reihe zum Zustimmtaster am KCP)


    Test-Mode = Pin 47 (T1 oder T2)
    + = Pin 48


    fuer KRC3 musst du mal im Plan schauen, die steckerbelgung ist anders - die Kontakte gibt es meinse Wissens aber alle.


    Gruss Stefan

    Hallo,


    da hast du ja was altes ausgegegarben.
    Zum Thema: ab 2.3.24 (SP 6, wenn ich es noch rictig weis) wird die CP5613/14 unterstuetzt (war auch die letzte Version, die expliziet fuewr KRC2 ausgeliefert wurde).


    Configuration hab eich immer mit ComPb3.3 gemacht (Standartmeassig auf CD oder im Internat VZ auf dem Roboter).
    Wie gesagt, unbedingt die Master Datei von KUKA verwenden, die von Siemens heist zwar ganauso, mit der tut es aber nicht.


    Gruss Stefan

    alle Variablen in einem Array.


    z.B.:
    $Out[DO_HTE[iStandort]] = TRUE
    Umschalten kannst du dann am Anfang vom Hauptprogramm.


    Mit einer Struktur geht es auch.

    Hallo,


    mit der Switch Case-Anweisung geht es bestimmt.
    Fuer zwei Faelle gehts aber einfacher.


    if Typ20 then
    Typ20()
    else
    if Typ30 then
    Typ30()
    endif
    endif


    Ob die zwei goto's die Lesbarkeit des Codes so schwerwiegend beeintraechtigen sei mal dahingestellt.


    Gruss Stefan

    Kommt drauf an - wenn der Stromausfall nur sehr kurz war, kann das auch zu Justageverlust fuehren.
    Wennn der Roboter seit dem letzten runterfahren bewegt wurde, ausgeschaltet und gleich wieder eingeschaltet wurde, kann der Stand der Umdrehungszaehler nicht auf die RDW geschreiben werden - die Justage ist dann futsch.


    Wenn das gleich bei mehreren Steuerungen so war wuerde ich das nicht auschliessen.


    Mit dem Power Modul hat es definitif nix zu tun - ansonsten schliesse ich mich meinem Vorposter an.


    Gruss Stefan

    Hallo,


    die Sache mit dem Interrupt laesst sich auch in allen sechs Dimensionen realiseren. Es soll ja nur von der Joystickstellung eine neuer Zielpunkt vorgegebenn werden. Der Joystick muss entprellt werden. Eine zu grosse Richtungsaenderung sollte auch vom Programm abgefangen werden - sonst scheppert´s.


    Der Abbruch der Bewegung wird aber einen Vorlaufstop ausloessen. Vermutlich ruckelig und schwer kontrollierbar.


    Funktionsgenerator waere noch eine kostenlose Alternative.


    Gruss Stefan

    Hallo,


    ich habe es auch schon mit Profibus DP gemacht (Isra Vision).
    Da wurde jedes serielle Telegramm mit einem Bit nachgebildet (Vermutlich, damit ISRA keinen grossen Aufwand hat, beide Schnittstellen zu plegen).


    Einziger Vorteil: du kannst mehr Profibus Teilnehmer einbinden als serielle Ports.


    Gruss Stefan