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

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

Thema: Alle x Sekunden eine Funktion einmalig ausführen

  1. #1
    Registriert seit
    18.11.2011
    Beiträge
    23
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich muss in meinem Programm einen Baustein der Messwerte an die FWT weiterleitet verzögert aufrufen und auch nur einmal.

    zb: alle 20s sollen die Aktuellen Messwerte von Baustein X in Baustein Y geschrieben werden. Aber eben nur einmal alle Werte wandeln und speichern und nicht jeden Zyklus von vorne.

    suche ne einfache und sichere Möglichkeit, habe da grad nen Brett vorm Kopf. Kann in AWL oder FUB sein.

    Danke im vorraus
    Daniel
    Zitieren Zitieren Alle x Sekunden eine Funktion einmalig ausführen  

  2. #2
    Registriert seit
    13.04.2008
    Ort
    Großraum KA
    Beiträge
    963
    Danke
    52
    Erhielt 128 Danke für 112 Beiträge

    Standard

    zB

    un t1
    l s5t#20s
    se t1

    Der T1 ist jetzt alle 20 sec für einen Zyklus 1.

    un t1
    spb n1

    l #Messwerte
    t #Messwertspeicher

    n1: nop 0

    Dürfte so die einfachste verion sein.

    peter(R)

  3. #3
    Daniel_G ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.11.2011
    Beiträge
    23
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Code:
          UN    T      1
          L     S5T#20S
          SE    T      1
    
    //Der T1 ist jetzt alle 20 sec für einen Zyklus 1.
    
          UN    T      1
          SPB   n1
    
          L     MW   123
          L     1
          +I    
          T     MW   123
    
    
    
    n1:   NOP   0
    
          L     MW   123
    Der MW123 ändert sich nicht. Sollte eigentlich ja alle 20s um einen hochzählen " um die funktion zu testen". Habs im Simulator getestet.
    Wo is denn da der denkfehler, sollte doch laufen von der Theorie.

    MFG Daniel

  4. #4
    Registriert seit
    13.04.2008
    Ort
    Großraum KA
    Beiträge
    963
    Danke
    52
    Erhielt 128 Danke für 112 Beiträge

    Standard

    Ja du hast recht. So funktionierts nicht da die Timer nicht Zykluszeitsynchron ablaufen.

    Un m1.0
    l s5t#20s
    se t 1
    u t1
    = m1.0

    un m1.0
    spb n1

    l mw122
    l 1
    +I
    t mw122

    n1: nop 0

    So funktionierts.

    Bitte MW IMMER gradzahlig anfangen. Großes ungeschriebenes Gesetz !

    peter(R)

  5. #5
    Registriert seit
    26.05.2009
    Beiträge
    541
    Danke
    35
    Erhielt 78 Danke für 69 Beiträge

    Standard

    Pack doch das Programm in den OB35.
    diesen lässt du alle 20000ms aufrufen. (HW-Konfiguration)
    Dann hast du keinerlei Probleme mit irgendwelchen Tieren.
    Ach so. Der nennt sich Weckalarm und ist in den Eigenschaften der Cpu einzustellen.

    Gruß Wolder
    Wenn du denkst du denkst, dann denkst du nur, dass du denkst, denn beim Denken der Gedanken, kommt dir der Gedanke, dass das Denken der Gedanken ein gedankenloses Denken ist

  6. #6
    Daniel_G ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.11.2011
    Beiträge
    23
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    So funktionierts.
    JA stimmt so is die Funktion gegeben und es sollte gut laufen.
    Bitte MW IMMER gradzahlig anfangen. Großes ungeschriebenes Gesetz !
    Ja mach ich normal immer aber war nur zum testen eingegeben.
    Pack doch das Programm in den OB35. diesen lässt du alle 20000ms aufrufen. (HW-Konfiguration)
    Der OB35 is bei mir für die Regelung schon eingerichtet, somit ist diese möglichkeit nicht drin. Aber es liegt so nah und dennoch bin ich nicht auf die Idee gekommen. Danke für den hinweiß.

    Danke euch für die Tips und Hilfe ... habt mir sehr geholfen.
    MFG Daniel

  7. #7
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Ob der OB35 dafür die richtige Entscheidung ist bezweifle ich.
    Bei solch großen Zeitrastern ist eine zyklische Bearbeitung mit entsprechenden Aufrufen die bessere Lösung.
    Die Grenze vom OB35 beginnt schon dann, wenn zwei verschiedene Raster benötigt werden.


    bike

  8. #8
    Daniel_G ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.11.2011
    Beiträge
    23
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    UN #Interner_Merker
    L #Zeit
    SE T 1
    U T 1
    = #Interner_Merker

    UN #Interner_Merker
    SPB n1

    U "1-Signal"
    = #Ausgang
    SPB n2


    n1: NOP 0
    L MW 122

    U "0-Signal"
    = #Ausgang

    n2: NOP 0
    Habe es nun einbischen in einen FB eingebaut. Was nur nicht so schön is das ich den Timer immer anpassen muss wenn ich den Baustein mal öfters einsetzen würde. Überlege ob man was mit den Ton / Tof macht und dann als Multiinstanz.

  9. #9
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    Ob der OB35 dafür die richtige Entscheidung ist bezweifle ich.
    Bei solch großen Zeitrastern ist eine zyklische Bearbeitung mit entsprechenden Aufrufen die bessere Lösung.
    Die Grenze vom OB35 beginnt schon dann, wenn zwei verschiedene Raster benötigt werden.


    bike
    Wieso,
    du kannst doch ein Zähler im OB35 bauen und dann nur alle X mal den Baustein aufrufen je nach Zeitraster (wenn der Zähler erreicht ist)
    Gruß von der Ostsee

    Nordischerjung
    _____________________

    Wenn man seinem Paßbild ähnlich zu sehen beginnt, sollte man schleunigst Urlaub machen. (Vico Torriani, schw. Entertainer)

    Ich habe eine Diät gemacht und fettem Essen und Alkohol abgeschworen - in zwei Wochen verlor ich 14 Tage. (Joe E. Lewis)

  10. #10
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Nordischerjung Beitrag anzeigen
    Wieso,
    du kannst doch ein Zähler im OB35 bauen und dann nur alle X mal den Baustein aufrufen je nach Zeitraster (wenn der Zähler erreicht ist)
    Stimmt, aber das Zeitraster auf 20000ms, wie beschrieben, zu setzen ist kein Stil.
    Vielleicht solltest du alles lesen, was geschrieben wurde? "sinnier"


    bike

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 04.01.2012, 07:45
  2. Aus Excel heraus eine Batch Datei ausführen
    Von olitheis im Forum Hochsprachen - OPC
    Antworten: 13
    Letzter Beitrag: 04.07.2011, 12:58
  3. Antworten: 5
    Letzter Beitrag: 18.08.2009, 14:11
  4. Alle gesetzten Merker einer Funktion zurücksetzen
    Von dominik_Thesis im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 25.11.2008, 13:07
  5. Antworten: 8
    Letzter Beitrag: 13.07.2008, 11:23

Lesezeichen

Berechtigungen

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