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

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

Thema: Impulsgeber(Frequenz und Breite) variabel in AWL programmieren?

  1. #1
    Registriert seit
    09.04.2008
    Beiträge
    21
    Danke
    5
    Erhielt 3 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,
    ich hab ein Problem mit AWL.
    Bin ein totaler Neuling in Sachen AWL.
    Habe eine Aufgabe bekommen die ich leider nicht lösen kann.
    Aufgabe:
    Es soll auf einen Ausgang (A0.0) einen Impuls geschaltet werden, der in der Länge(Frequenz) und in der Breite(Anhaltsdauer des Impuls) variabel einstellbar ist.
    In CFC hätte ich einen Taktmerker(zb 100.2) auf einen
    Timer_p(Mode1) geschaltet und dessen Ausgang auf A0.0.
    Wobei diese Lösung, zumindest glaube ich das, auch nicht
    ganz richtig wäre.
    (Die Frequenz wäre nicht "ganz" variabel)
    Über eure Hilfe wäre ich sehr dankbar!
    Gruß
    Bosga
    Zitieren Zitieren Impulsgeber(Frequenz und Breite) variabel in AWL programmieren?  

  2. #2
    Registriert seit
    24.10.2007
    Ort
    USA
    Beiträge
    815
    Danke
    3
    Erhielt 73 Danke für 57 Beiträge

    Standard

    Zitat Zitat von Bosga Beitrag anzeigen
    Hallo Leute,
    ich hab ein Problem mit AWL.
    Bin ein totaler Neuling in Sachen AWL.
    Habe eine Aufgabe bekommen die ich leider nicht lösen kann.
    Aufgabe:
    Es soll auf einen Ausgang (A0.0) einen Impuls geschaltet werden, der in der Länge(Frequenz) und in der Breite(Anhaltsdauer des Impuls) variabel einstellbar ist.
    In CFC hätte ich einen Taktmerker(zb 100.2) auf einen
    Timer_p(Mode1) geschaltet und dessen Ausgang auf A0.0.
    Wobei diese Lösung, zumindest glaube ich das, auch nicht
    ganz richtig wäre.
    (Die Frequenz wäre nicht "ganz" variabel)
    Über eure Hilfe wäre ich sehr dankbar!
    Gruß
    Bosga

    Suchbegriff: Taktgenartor, Impulsgeber,Blinker.........
    Partys sind krass, am besten ist das Bier aus dem fränkischen Fass ...
    "Programming today is a race between the programmers and software engineers to create better
    and more idiot-proof programs, and the universe, creating bigger and better idiots. So far,
    the universe is winning". - Rich Cook

  3. #3
    Registriert seit
    21.12.2006
    Ort
    Wiener Neustadt
    Beiträge
    931
    Danke
    154
    Erhielt 169 Danke für 127 Beiträge

    Standard

    Zitat Zitat von johnij Beitrag anzeigen
    Suchbegriff: Taktgenartor, Impulsgeber,Blinker.........
    ev. noch PWM
    Gruß
    M

    Handbook not read error...
    Klare Frage - klare Antwort

  4. #4
    Registriert seit
    03.05.2006
    Beiträge
    491
    Danke
    43
    Erhielt 45 Danke für 42 Beiträge

    Standard

    Aufgabe:
    Es soll auf einen Ausgang (A0.0) einen Impuls geschaltet werden, der in der Länge(Frequenz) und in der Breite(Anhaltsdauer des Impuls) variabel einstellbar ist.
    Code:
        UN    T      2
          L     S5T#1S   //ausschaltzeit
          SE    T      1
          U     T      1
          L     S5T#1S   //dauer des impulses
          SA    T      2
          U     T      2
          =     A      0.0
    die "länge" ist hier die addition der beiden zeiten

  5. Folgender Benutzer sagt Danke zu funkdoc für den nützlichen Beitrag:

    Bosga (17.09.2008)

  6. #5
    Bosga ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.04.2008
    Beiträge
    21
    Danke
    5
    Erhielt 3 Danke für 1 Beitrag

    Standard

    Vielen Dank für die Hilfe!!!
    Die letzte Lösung hat wunderbar geklappt.
    Es ist mir Peinlich aber könntest du das bitte nochmal kurz erklären?
    Scheint zwar wirklich simple zu sein, aber ganz hab ich es noch nicht verstanden. Ich tus mir einfach schwer mit AWL....

  7. #6
    Registriert seit
    03.05.2006
    Beiträge
    491
    Danke
    43
    Erhielt 45 Danke für 42 Beiträge

    Standard

    na klar....

    dir muss bewusst sein dass du eine ausschaltdauer und eine einschaltdauer benötigst.

    hier ist anfangs des ersten zyklus der timer 1 (der einschaltverzögerte) vom timer 2 negiert. da ja timer 2 noch nicht "da" ist, laüft timer 1 gleich weg. erst nach der abgeleaufenen zeit bekommt timer 2 sein eingangsignal. jetzt läuft t2 weg und schaltet das eingangsignal für t1 wieder auf 0 bis der t2 (auschaltverzögert) nach seiner zeit wieder abgelaufen ist. nun fängt das ganze szenario wieder von vorn an...

    du solltest dir vielleicht mal so nebenbei die schaltdiagramme der einzelnen timer anschaun dann wird dir dass sicher klar...

  8. #7
    Registriert seit
    14.06.2005
    Beiträge
    223
    Danke
    9
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Zitat Zitat von funkdoc Beitrag anzeigen
    Code:
        
          UN    T      2
          L     S5T#1S   //ausschaltzeit
          SE    T      1
          U     T      1
          L     S5T#1S   //dauer des impulses
          SA    T      2
          U     T      2
          =     A      0.0
    die "länge" ist hier die addition der beiden zeiten

    Hi miteinander,

    wenn ich jetzt hergehe und im ms bereich einen takt vorgeben will, sagen 50Hz, wie kann ich das mit meiner Zyklus Zeit vereinbaren ohne das ich Takte verliere???

    Servus.

  9. #8
    Registriert seit
    03.05.2006
    Beiträge
    491
    Danke
    43
    Erhielt 45 Danke für 42 Beiträge

    Standard

    hi

    wenn mann eine variable zeit als gesamte periode vorgeben will (frequenz) dann muss man die impulsdauer von der vorgegebenen variablen zeit subtrahieren und das ergebnis auf den timer 1 der ausschaltzeit legen.

    je grösser die impulsdauer/länge ist desto kleiner ist die ausschaltzeit bei einer fixen periodendauer (frequenz)

    EDIT: für ms genaue takte würde ich die weckalarm ob's verwenden, manche machen das lieber im hauptzyklus obwohl man hier sehr vorsichtig sein muss bei der zyklusbelastung wenns um genaue gschichten geht.

    grüsse
    Geändert von funkdoc (18.09.2008 um 12:19 Uhr)

  10. #9
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    Hier noch nen FB:
    (kann nach der Übersetzung auch in FUP umgeschaltet werden)


    Code:
    FUNCTION_BLOCK "FB_RECT"
    TITLE =Einstellbarer Rechteckgenerator
    ////Funktionsname: Rechteckgenerator
    ////
    ////Bibliothek: DIV
    ////
    ////Beschreibung: Funktion realisiert ein Rechteckgenerator mit einstellbaren 
    //ON/OFF Zeiten, beginnend mit ON
    AUTHOR : 'F.A.'
    VERSION : 1.0
    
    
    VAR_INPUT
      T_ON : TIME ;	//On-Time Rechteck
      T_OFF : TIME ;	//Off-Time Rechteck
    END_VAR
    VAR_OUTPUT
      RECT : BOOL ;	//Ausgang
    END_VAR
    VAR
      ON_TIMER : "TP";	
      OFF_TIMER : "TP";	
      ON : BOOL ;	
      OFF : BOOL ;	
    END_VAR
    BEGIN
    NETWORK
    TITLE =ON - Timer
    
          UN    #OFF; 
          =     L      0.0; 
          BLD   103; 
          CALL #ON_TIMER (
               IN                       := L      0.0,
               PT                       := #T_ON,
               Q                        := #ON);
    
          NOP   0; 
    NETWORK
    TITLE =OFF - Timer
    
          UN    #ON; 
          =     L      0.0; 
          BLD   103; 
          CALL #OFF_TIMER (
               IN                       := L      0.0,
               PT                       := #T_OFF,
               Q                        := #OFF);
    
          NOP   0; 
    NETWORK
    TITLE =Ausgang
    
          U     #ON; 
          =     #RECT; 
    END_FUNCTION_BLOCK
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  11. #10
    Registriert seit
    06.02.2012
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    diese Thema hat zwar einen Bart (2008 ) aber es trifft mein Problem absolut! Der AWL Code von "kiestumpe" einen Beitrag oberhalb ist genau was ich brauche.

    Da ich keine bis geringe Ahnung von S7 habe wäre er für mich ideal. Wenn ich den Code als AWL Quelle in S7-SIMATIC einfüge und anschließend "übersetzen" lasse bekomme ich folgende Fehler:

    test.JPG

    Ich habe bei "TP" schon die " weggelassen, hilft nix. TP ist doch das TimePulse Modul oder? Habe in anderen Beispielprogrammen genau die gleiche TP Initialisierung gefunden.
    Woran liegt das Problem?

    Danke für eure Mühe!

    Mfg Paul

    PS: Habe in der Zeile "FUNCTION_BLOCK "FB_RECT"" das "FB-RECT" durch z.b. FB2 ersetzt, passt eh oder?

Ähnliche Themen

  1. Steuerwort+ Frequenz in FUB programmieren ??
    Von Techniker1907 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 14.04.2011, 06:02
  2. Antworten: 14
    Letzter Beitrag: 15.10.2010, 11:50
  3. Impulsgeber in ST
    Von Der Nils im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 17.10.2009, 16:35
  4. Impulsgeber für Taktgenerator
    Von superkato im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 22.04.2009, 17:17
  5. Antworten: 2
    Letzter Beitrag: 18.06.2007, 15:09

Lesezeichen

Berechtigungen

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