Geschwindigkeit über Sensor umschalten

  • Hallo Zusammen,


    hab folgendes Problem. Ich möchte die Geschwindigkeit einer Liniarbewegung umschalten, wenn ein Lichttaster betätigt wird.
    Wenn ich einen Interrupt verwende wir die Bewegung über BREAK gestoppt.
    Die Bewegung sollte aber am Umschaltpunkt nicht stoppen sondern nur veringert werden.


    Vielleicht kann mir jemand weiterhelfen.



    Gruß Thomas

  • Schritt für Schritt zum Roboterprofi!
  • falls ich dich jetz nicht falsch verstehe... den BREAK befehl aus der interrupt-routine rauslöschen und folgenden Code hinschreiben:


    BAS(#CP_PARAMS, x.y)
    ; x.y ist dabei die gewünschte geschwindigkeit in m/s...also zb 0.5


    mit der zeile überschreibst du die aktuell eingestellte geschwindigkeit für linearbewegungen. ich habe allerdings damit noch nie die geschwindigkeit während einer Bewegung geändert sondern nur zwischen Zweien. Gib mal bitte Rückmeldung, ob das trotzdem funktioniert. ich weiß allerdings nicht wie sich das ganze verhält falls du mit ILFs programmierst. ob man während einer laufenden bewegung die durch ein ILF gefahren wird, die geschwindigkeit so ändern kann, weiß ich nicht.


    falls das nicht geht: notfalls in der interrupt-routine per programm den override runterdrehen.


    mfg Speed

    200% Override ... irgendwas klingt hier komisch ... und irgendwie riecht es auch ...<br /><br />Abkühlzeit Bremsen Achse 2: 57 Sekunden :D

  • hi.


    Thomas: hast du das mal probiert? ergebnis würde mich sehr interessieren!
    danke!


    mfg Speed

    200% Override ... irgendwas klingt hier komisch ... und irgendwie riecht es auch ...<br /><br />Abkühlzeit Bremsen Achse 2: 57 Sekunden :D

  • Das funktioniert nicht.
    Die Geschwindigkeit wird erst vom nächsten Bewegungssatz gefahren.
    $OV_PRO ändern funktioniert. wurde hier im Forum auch schon xfach diskutiert...


    mfg soma

  • Habs noch nicht probiert. War unterwegs.
    Die Hotline schlägt vor, $OV_PRO in SPS zu verändern, wenn der Sensor anspricht.
    Werde ich morgen mal ausprobieren.


    Gruß Thomas

  • Hallo,


    Schreib den OV_PRO in die Sub SPS,und mach sie vom Eingang abhängig.


    if $IN[12]==true then
    $ov_pro=20
    endif


    Hat den Nachteil,das du keinen override mehr am KCP hast.


    Gruß

    Hubraum ist durch nichts zu ersetzen, außer durch noch mehr Ladedruck

  • Schreib es nicht in die sps.sub sondern in deine interruptroutine. Hat den vorteil das die aenderung nur in dem programm passiert wo du es auch moechtest, zumal ein if x then do bla endif in der sps.sub nicht sehr performant ist. Bei einem sensor mag dir das nicht auffallen, doch hab mal ein projekt mit zig unterprogrammen,sensoren, fallunterscheidungen. Da bist du auch bei der fehlersuche sehr dankbar.

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