Continue ersetzen

  • Hallo,


    ich habe mir ein Programm gebastelt, dass Zentral die Ausgänge schaltet
    --> TRUE,FALSE,PULSE;TRIGGER
    nun bin ich aber gezwungen dieses Programm ein zweites mal identisch aufgebaut
    zu erstellen, weil dieses Ausgänge aus dem SPS.sub heraus schalten will und somit
    kein CONTINUE zulässig ist! :bawling: :bawling:


    kennt da jemand Abhilfe??


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Schritt für Schritt zum Roboterprofi!
  • Ist ein gut strukturierter code! :supi:


    Was schaltest Du mit den negativen Ausgängen?
    Eigentlicht hast Du ja nur 4x das continue zu loeschen, und darfst nur noch OUT_TYP == #DIST 1 oder 0 aufrufen.


    Wie willst du allerdings im submit sicher wissen wo der vorlaufzeiger ist - und somit dein Dist0 oder 1 wirkt?


    Ich würde für den sub ein komplett neues out schreiben, wo die Zeit für Pulse parametriert werden kann, oder statisch und das Triggerereignis.


    z. B. SetOutSub.sub(INT OUT_NR :IN, BOOL State :IN, ENUM Typ :IN, REAL Time)
    bei Typ == #Static keine Zeitauswertung
    State True or False der Schaltzustand und mit


    If $cycflag[x] Then
    Der Triggerstart im sub
    Endif


    dein code ist wirklich cremig :applaus:

    Einmal editiert, zuletzt von Robotnik ()

  • Hallo,


    Vielen Dank! [-OUT_NR] dient zum setzen der Ausgänge auf False


    ich übergebe: SET_OUT(#S,-doHemmigStart) doHemmigStart=Integerwert


    und mit der alten Regel (Minus/Minus=Positiv) kann ich so zwischen TRUE und FALSE setzen


    unterscheiden!!


    mit "Continue" wegbringen fällt dir auch nicht noch was anderes ein??


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • 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,


    Triggern aus diesem Programm ist sowieso ein totaler "Schmarrn" --> war noch eine Leiche
    aus dem Roboter-Interpreter Programm!


    kann man eigentlich folgendes machen:


    IF bSetCont then
    $OUT[OUT]=TRUE
    ELSE
    CONTINUE
    $OUT[OUT]=TRUE
    ENDIF


    und dieses Programm aus dem SPS.sub heraus aufrufen :huh: :huh:


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

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