Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Impuls für mehrere Sekunden wiederkehrend

  1. #1
    Registriert seit
    01.12.2009
    Beiträge
    43
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute

    nachdem ich jetzt schon wieder ewig herumgebastelt habe frag ich euch mal. Ich möchte gern folgendes realisieren:

    Wenn mein DB0.DBX0.0 manuell auf 1 gesetzt wird soll der A 1.0 für 3 sek lang high und dann für 5 sek lang low sein. Danach wieder 3 sek high ... und so weiter. Alles nur so lange bis ich das DB0.DBX0.0 wieder auf 0 setze.

    Ich denke das sollte gar nicht so komplizert sein aber irgendwie wills bei meinen versuchen einfach nicht klappen.

    Vielen dank schonb mal für eure Hilfe!

    MfG
    Zitieren Zitieren Impuls für mehrere Sekunden wiederkehrend  

  2. #2
    Registriert seit
    29.07.2008
    Ort
    Stuttgart
    Beiträge
    232
    Danke
    64
    Erhielt 25 Danke für 25 Beiträge

    Standard

    dann stell doch mal deine Versuche hier rein, dann ist es einfacher. außerdem ist es besser, Fehler in seinen Versuchen zu erkennen, als fertige Vorlagen zu verwenden...

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.788
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo,
    hast du dich schon mal mit den Timern der SPS beschäftigt ? Vielleicht auch schon mal die Suchfunktion des Forums mit dem Stichwort "Taktgeber" oder ähnlich bemüht ?

    Gruß
    LL

  4. #4
    Registriert seit
    01.12.2009
    Beiträge
    43
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Günni

    also ich habs versucht über folgenden Code zu realisieren. Allerdings bekomme ich dann am Ausgang nur ein kurzes high und dann für drei sek ein low. Vielleicht hast du ja eine Idee. Bin für jede hilfe dankbar.

    U "NotAus_Bits".Hilfsbit_Hupe
    U "NotAus_Bits".Hilfsbit_Hupe1
    L S5T#3S
    SE T 4
    U T 4
    R "NotAus_Bits".Hilfsbit_Hupe1
    = "Hupe_auslösen"

    U "NotAus_Bits".Hilfsbit_Hupe
    UN "NotAus_Bits".Hilfsbit_Hupe1
    L S5T#3S
    SE T 5
    U T 5
    S "NotAus_Bits".Hilfsbit_Hupe1
    = "Hupe_auslösen"

    ..."NotAus_Bits".Hilfsbit_Hupe ist mein Bit was ich manuell auf 1 setzen will damit das ganze Prodzedere stattfindet.

    MfG

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.788
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Dann mach es doch mal so :
    Code:
    U "NotAus_Bits".Hilfsbit_Hupe
    UN T5
    L S5T#3S
    SE T 4
    U T 4
    L S5T#3S
    SE T 5
     
    U T4
    = "Hupe_auslösen"
    Gruß
    LL

  6. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Code:
    *
    FUNCTION "PULSE_GENERATOR_VAR" : VOID
    TITLE =PULSE_GENERATOR_VARI
    //DATE:     03.04.2008
    //AUTHOR:   4lagig
    //VERSION:  V0.1 BasicVer
    AUTHOR : '4lagig'
    FAMILY : BoolGF
    VERSION : 0.1
    
    
    VAR_INPUT
      xPlcPulse : BOOL ;	
      xOn : BOOL ;	
      dOnTime : DINT ;	
      dOffTime : DINT ;	
    END_VAR
    VAR_IN_OUT
      dOnDelay : DINT ;	
      dOffDelay : DINT ;	
      xHelpFlag : BOOL ;	
      xOut : BOOL ;	
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    
          U     #xOn; 
          U     #xPlcPulse; 
          FP    #xHelpFlag; 
          SPBN  end; 
    
          U     #xOut; 
          SPBN  off; 
    
          L     #dOnDelay; 
          L     1; 
          +I    ; 
          T     #dOnDelay; 
    
          L     #dOnDelay; 
          L     #dOnTime; 
          >=I   ; 
          SPBN  end; 
          R     #xOut; 
    
          L     0; 
          T     #dOnDelay; 
          SPA   end; 
    
    off:  L     #dOffDelay; 
          L     1; 
          +I    ; 
          T     #dOffDelay; 
    
          L     #dOffDelay; 
          L     #dOffTime; 
          >=I   ; 
          SPBN  end; 
          S     #xOut; 
    
          L     0; 
          T     #dOffDelay; 
    
    
    end:  SET   ; 
          SAVE  ; 
          BEA   ; 
    END_FUNCTION
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Registriert seit
    29.07.2008
    Ort
    Stuttgart
    Beiträge
    232
    Danke
    64
    Erhielt 25 Danke für 25 Beiträge

    Standard

    so ähnlich wie "Larry Laffer" mach ich es auch immer...

    Code:
    UN T1
    L S5T#2s //Impulszeit
    SA T2
    
    U T2
    L S5T#1S //Pausezeit
    SA T1
    
    U T1
    = A0.0
    zum sperren oder laufen lassen halt noch dein Bit verwenden

  8. #8
    Registriert seit
    01.12.2009
    Beiträge
    43
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Besten Dank Leute für eure schnellen Antworten. Hatte mir gleich die erste variante von Larry rausgepickt und funktioniert bestens. Jetzt noch mal ne Frage in anderer Angelegenheit.

    Ich habe in einem Netzwertk folgenden Quellcode:

    CALL "Analogwerte_Normierung"
    Analogwert :="TI030"
    OGR :=1.372000e+003
    UGR :=0.000000e+000
    Analogwert_MAX:=1.372000e+004
    Wert_normiert :=MD100
    T "Durchfluss".Temperatur_B0
    L 3.000000e+001
    >=R
    SPB A
    R "NotAus_Bits".Hilfsbit_TI030
    L "Durchfluss".Temperatur_B0
    RND
    L 3.000000e+001
    T "Temperatur".TI030
    BE
    A: S "NotAus_Bits".Hilfsbit_TI030

    ...also wie ihr sehen könnt les ich mir am Anfang ne Temperatur analog ein und wandel diese. danach soll ein vergleich mit der Grenztemperatur 30 °C durchgeführt werden da diese ein Kriterium für mein "NOTAUS" ist. Also unter 30 °C alles ok das "NotAus_Bits".Hilfsbit_TI030 wird zurückgesetzt. Über 30°C wird "NotAus_Bits".Hilfsbit_TI030 gesetzt und somit direkt in einer weiteren Function meine Hupe ausgelöst. Funktioniert bestens bis auf eins:
    Durch die Anweisung BE werden meine nachfolgenden Netzwerke nicht mehr angesprochen. lasse ich BE weg wird "NotAus_Bits".Hilfsbit_TI030 immer gestzt. Gibts denn da einen anderen Befehl den man für den reibungsosen Ablauf anwenden muss?

    Besten Dank

    MfG outbreak

  9. #9
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    SPA/SPB/SPBN

    und benutz die CODE-Tags ... kann doch nicht so schwer sein!
    Geändert von vierlagig (06.05.2010 um 10:48 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #10
    Registriert seit
    01.12.2009
    Beiträge
    43
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    besten dank vierlagig. werds gleich mal ausprobieren. leieder ists halt doch manchmal schwer grad wenn man so am anfang steht wie ich!

    kurze Frage noch was sind denn bitte CODE Tags?

    MfG

Ähnliche Themen

  1. 2 Ausgänge 2 Sekunden schalten
    Von DasF im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 12.12.2010, 17:58
  2. 2 sekunden blinker
    Von zoidberg im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 27.03.2009, 07:12
  3. Antworten: 40
    Letzter Beitrag: 08.12.2008, 13:38
  4. Sekunden ins Merkerwort
    Von tomstl im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 17.10.2007, 00:52
  5. Nur 30 Sekunden
    Von Unregistrierter gast im Forum Stammtisch
    Antworten: 5
    Letzter Beitrag: 26.03.2007, 13:09

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •