$VEL.CP in ANOUT Anweisung

  • Hallo,


    wie stelle ich es an die aktuelle $Vel.cp in einer ANOUT Anweisung zu verdröseln


    hab folgendes probiert:


    ANOUT ON ProgSpeed = $VEL.CP * rFactor DELAY= rDelay


    bringt aber Fehler!


    oder wie schaffe ich es anders, die aktuell programmierte Geschwindigkeit einzubinden!


    Gruss

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


    wie lautet denn die Fehlermeldung ?


    In der Doku (4.1) steht z.B.:
    "Alle in der ANOUT Anweisung verwendeten Variablen müssen in Datenlisten deklariert sein."


    Vielleicht sind "rFactor" und/oder "rDelay" ja direkt im Modul deklariert (?)


    Gruß
    rmac

  • Du willst sicher $vel_act (aktuelle Bahngeschwindigkeit) über den Analogausgang
    ausgeben. $vel.cp funktioniert nicht, da es keine zyklisch aktualisierte Variable
    ist. Kurz: Anout funktioniert eigentlich nur mit $techin und $vel_act.
    $vel_act wird mit einem "Vorlauf" von $filter ausgegeben. Abhängig vom Robotertyp
    sind das zwischen 96ms und 218ms. Also ist ein negatives Delay erforderlich.

  • Ach so, dann halt einfach im sps.sub:


    LOOP
    $anout[1]=$vel.cp
    ENDLOOP


    oder nach jedem Punkt:
    lin P1
    trigger when distance=0 delay=0 do $anout[1]=$vel.cp


    lin P2
    trigger when distance=0 delay=0 do $anout[1]=$vel.cp



    Zyklisch kann man $vel.cp nicht mit anout on... ausgeben !

  • Hallo,


    also laut Ref.-Doku muß
    ANOUT ON Signalname = Faktor * Regelglied
    angegeben werden, der Rest ist optional.


    Ich hab das mal testweise ohne Faktor/Regelglied ausprobiert und bekam entsprechende Fehlermeldungen.
    Faktor muß angegeben werden, kann aber eine Konstante sein, also auch 1.0,
    Regelglied muß schon was "Sinnvolleres" sein....


    Die Frage ist auch, was du damit bezwecken willst. Wie bzw. was soll denn an aoSpeedSystem
    ausgegeben werden wenn du keine entsprechende Zuweisung machst ??? :kopfkratz:


    Gruß
    rmac

  • Hallo,


    ich möchte im sps.sub folgendes stehen haben:


    $anout[1]=$vel.cp


    diese aoSpeedSystem ist in meiner globalen datenliste so vereinbart:


    SIGNAL aoSpeedSystem $ANOUT[1]


    Ziel ist einfach im normalen Ablaufprogramm den Analogausgang der im sps.sub "scharf"


    geschalten ist EIN bzw. AUS zu schalten


    Gruss

  • Hi,


    leg doch eine globale boolsche Variable an (bVELCPOutEnable oder so), die du im src umschalten kannst.
    In der sub Loop schreibst du dann:

    Code
    IF bVELCPOutEnable THEN
      $anout[1]=$vel.cp
    ENDIF


    gruß
    rmac

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