Ausgang setzen wenn Geschwindigkeit im Automatikbetrieb <100% ist ? [Erledigt]

  • Hallo liebe Roboterforum.de-Gemeinde,


    ich würde gerne wissen ob es möglich ist einen Robbyausgang zu setzen wenn die Robotergeschwindigkeit im Automatikbetrieb kleiner 100% ist. Ich möchte dann nämlich eine Meldung an die Visu schicken.
    Bietet Kuka diese Möglichkeit?


    Wenn ja wie muß ich das realisieren? Änderung in der Config.dat?


    Vielleicht kann mir jemand helfen.


    Gruß Martin

    Einmal editiert, zuletzt von Clever ()

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Clever,


    die Robotergeschwindigkeit hat keine Auswirkung auf das Schaltverhalten der Ausgänge. Es wäre ja so, wenn ich mein Auto nicht mit Maximalgeschwindigkeit bewege, die Blinker und Scheinwerfer nicht mehr gehen.


    Sie können aber im Automatikbetrieb nur vom Programm oder dem Submitinterpreter gesteuert werden, nicht mehr vom Bediener per Hand.


    Gruß Robotnik

    Einmal editiert, zuletzt von Robotnik ()

  • Leider werde ich aus der Antwort nicht schlau.


    Meine Frage hat folgenden Hintergrund.
    Wenn die Roboter im Automatikbetrieb nicht auf 100% stehen soll eine Meldung an die Visualisierung ausgegeben werden.


    Deshalb würde ich gerne wissen, ob der Roboter intern ein Bit setzt wenn er auf 100% oder kleiner 100% steht und ob man dieses Bit auf einen Robbyausgang zuordnen kann.

  • Also ich vergleiche die Variable "$0V_PRO"in der SPS_sub und wenn sie kleiner 100 ist setzte ich einen Ausgang der über die SPS an die Hallenvisu geht. Kein Problem! ;)



    Sent from my iPhone using Tapatalk

  • Da fällt mir ein, ich schicke die Zahl rüber und zeige an auf welcher Geschwindigkeit die Zellen stehen!
    Ich werte auch noch andere Dinge aus und zeige sie an der Visu an, z.B. in welcher Betriebsart der Robby in der Zelle steht oder ich messe die Zykluszeit, die ich anzeige und noch anderweitig für Stückzahlberechnungen nutzte!



    Sent from my iPhone using Tapatalk


  • Also ich vergleiche die Variable "$0V_PRO" in der SPS_sub und wenn sie kleiner 100 ist setzte ich einen Ausgang der über die SPS an die Hallenvisu geht. Kein Problem! ;)



    Sent from my iPhone using Tapatalk


    Danke, genau so etwas habe ich gesucht. Also ist es erstmal möglich. Das ist schon mal eine gute Erkenntnis.
    Leider hab ich bisher in der SPS_sub noch nie etwas eingefügt.
    Wie müßte die Zeile dann ungefähr aussehen IF "$0V_PRO" <100 than Out X On ?

  • Hallo zusammen,


    also ich würde es so schreiben.

    Code
    $OUT[x]=$OV_PRO<100


    Damit erspart man sich das IF ... ELSE ... ENDIF.



    Gruß
    notime

    Kontrolle ist eine Illusion, denn niemand weiss was als nächstes passiert.


  • Wahrscheinlich liegt ihr jetzt alle am Strand :P
    ... hoffentlich habt ihr das Iphone bei und könnt mir helfen :)


    Heute habe ich mal ein wenig rumprobiert, leider blieb ich ohne Erfolg.
    Folgendes habe ich in die SPS_sub eingetragen


    $OUT[9]=$OV_PRO<100


    es wird auch kein Fehler angezeigt, leider ändert sich nun der Status des OUT 9 nicht wenn die Geschwindigkeit kleiner 100 ist


    Muß ich in der Zeile nicht irgendwie noch angeben das $OUT[9] auf True gesetzt wird? Habe einige Sachen probiert, aber dann kamen immer Fehlermeldungen
    z.B.
    IF $OV_PRO<100 THEN $OUT[9]=true


    hat jemand noch eine Idee, wie so eine Zeile richtig geschrieben werden muß?


    Gruß

  • die normalste schreibweise wäre denke ich:


    if ($ov_pro<100) then
    $out[9]=true
    else
    $out[9]=false
    endif

    „Welten, regiert von künstlichen Intelligenzen,<br />mußten oftmals ihre schmerzlichen Erfahrungen machen.<br />Logik kennt keine Gefühle.“

  • Von wegen Strand...


    Die Zeile passt soweit, nur musst du diese zwischen dem Befehl "LOOP" und "ENDLOOP" in der Datei "SPS.SUB" eintragen.
    Du findest dort auch eine sogenannte Fold mit dem Namen "USER PLC". Hier sollten benutzerdefinierte Erweiterungen platziert werden.
    Nach der Änderung ist es auch wichtig, dass du prüfst ob der Submit-Interpreter läuft.


    Viel Spass... und gleich noch schönes Wochenende


  • Vielen Dank! Funktioniert super.


    OrangeApps
    Danke auch dir. Das mit dem "LOOP" und "ENDLOOP" war ein guter Hinweis. Den hatte ich aber schon vorher beachtet.



    Nochmals Danke an alle Helfer!

  • die lösung an sich ist sehr elegant
    probier mal zwischen klammen setzen
    $OUT[9]=($OV_PRO<100)


    Ich habe jetzt beide Varianten mit und ohne Klammern probiert und es funktioniert bei beiden Varianten. Wahrscheinlich habe ich vorhin die SPS.Sub nicht angewählt gehabt und der Submit-Interpreter ist nicht gelaufen.


    Besten Dank!

  • Hallo,


    Das es so funktionieren könnte hätte ich jetzt nicht gedacht. Ist Programmiertechnisch nicht ganz logisch.
    Oder?


    Grüße






    Ich habe jetzt beide Varianten mit und ohne Klammern probiert und es funktioniert bei beiden Varianten. Wahrscheinlich habe ich vorhin die SPS.Sub nicht angewählt gehabt und der Submit-Interpreter ist nicht gelaufen.


    Besten Dank!


  • Hallo,


    Das es so funktionieren könnte hätte ich jetzt nicht gedacht. Ist Programmiertechnisch nicht ganz logisch.
    Oder?


    Grüße


    Hallo,
    ist schon irgendwie logisch.
    Denn beim Zuweisen von Ausgängen steht auch $OUT(x)= FALSE.
    Das FALSE wird in dieser Zeile eben durch das Vergleichsergebnis (also auch Bool) ersetzt.


    Grüße

    never touch a running system

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