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

Ergebnis 1 bis 9 von 9

Thema: 2 Werte Zeitversetzt auslesen

  1. #1
    Registriert seit
    18.10.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hey,
    ich habe folgendes Problem:
    Ich möchte mit einer S5-100U zwei Analogwerte mit einem Abstand von ca. 1 Sekunde auslesen, diese miteinander vergleichen, und je nach Ergebnis entweder einen Merker setzen und das ganze wiederholen oder das Programm beenden.

    Ich kriegs einfach nicht hin. Ich hab gedacht es müsste ganz einfach mit einer Einschaltverzögerung gehen, aber egal was ich tue, der Timer läuft maximal einmal ab und bleibt dann stehen...

    Dankeschön schonmal im Voraus für eure Hilfe,
    Chry
    Zitieren Zitieren 2 Werte Zeitversetzt auslesen  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.728
    Danke
    729
    Erhielt 1.161 Danke für 972 Beiträge

    Standard

    Zeige doch mal deinen Code

  3. #3
    Chry007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.10.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Netzwerk 1:
    Code:
    S     M 1.0
    
    U     M 1.0
    L     KT 001.2
    SE   T 1
    U     M 1.1
    R     T 1
    U     T 1
    S     M 1.1
    U     M 1.2
    R     M 1.1
    U     M 1.1
    L     KT 001.2
    SE   T 2
    U    M 1.2
    R    T 2
    U    T2
    S    M 1.2
    U    M 1.0
    R    M 1.2
    U    M 1.1
    R    M 1.0
    Netzwerk 2:
    Code:
    U     M 1.1
    SPB  FB 3
    Netzwerk 3:
    Code:
    U     M 1.2
    SPB  FB 4
    Das ist nen verkapptes FUP-Programm... Ist sehr unübersichtlich, ich weiß, aber alles, was ich hingekriegt hab.
    In den FB 3 und 4 werden die Werte eingelesen.

  4. #4
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Chry,

    um einen Timer zu Starten brauchst Du eine positive Flanke. Da aber Dein
    M1.0 immer 1 ist kommt dort keine neue Flanke. Ein Rücksetzen des Timers
    reicht nicht.

    Es gibt zwei Möglichkeiten den Flankenmerker zurückzusetzen:
    Code:
    UN M 1.1
    SPB =M001
    U M1.1     
    UN M1.1  // Aufruf SE T1 mit VKE = 0
    SE T1
    M001:
    oder
    Code:
    U M1.1
    R T1.11
    Grüße
    Gebs
    Geändert von Gebs (04.02.2011 um 10:51 Uhr) Grund: Tippfehler

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Hallo,
    ich pflege mir bei so etwas (ganz grundsätzlich) immer eine Schrittkette aufzumalen (das hast du ja schlußendlich hier) in der die Maßnahmen und der Ablauf beschrieben ist und die setze ich dann im Code um.
    Ganz grundsätzlich wird dadurch die Erstellung des Codes viel einfacher.

    Deine Kette wäre nun :
    Code:
    S0 - warten
       U -DT Start
    S1 - Verzögerung
       U - Verzögerung abgelaufen
    S2 - Werte einlesen
       U - Werte eingelesen
    S3 - Werte vergleichen
       U - Werte wie gewünscht
          -> S4 - Ende
       UN - Werte wie gewünscht
          -> S1 - Verzögerung
    S4 - Ende
       U - neue Aktion
          -> S1 - Verzögerung
    Das könntest du mit einer Merker-Schrittkette (wie schon begonnen) umsetzen und in einem FB erstellen (wegen der benötigten bedingten Sprünge). In FUP würde ich das allerdings nicht hinbekommen (nur in AWL).

    Gruß
    Larry

  6. #6
    Chry007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.10.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank schonmal für die Hilfe.
    Aber ich bein ein absoluter Anfänger und kann deswegen damit nicht so viel anfangen. Habt ihr vielleicht ein kurzes Beispielprogramm, das die Sache deutlicher macht?

  7. #7
    Registriert seit
    06.10.2004
    Beiträge
    278
    Danke
    17
    Erhielt 34 Danke für 30 Beiträge

    Standard

    Hallo

    FB 1

    UN M 10.0
    L KT 100.0
    SE T1

    U T1
    = M 10.1

    UN M 10.1
    R M 10.2

    U M 10.1
    UN M 10.2
    = M 10.0
    S M 10.2

    U M 10.0
    R M 10.3

    U M 10.0
    U(
    L Analogwert 1
    L Analogwert 2
    >F
    )
    S M 10.3

    Merker 10.3 = 1 -> z.B. Sprung in FB 2, wenn nicht in FB 3

  8. #8
    Chry007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.10.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    OK cool. Der Timer läuft immer wieder ab. Aber wann muss ich dein Eingang abfragen, damit die Werte eine Sekunde auseinanderliegen? Danke für eure Geduld!

  9. #9
    Registriert seit
    06.10.2004
    Beiträge
    278
    Danke
    17
    Erhielt 34 Danke für 30 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich möchte mit einer S5-100U zwei Analogwerte mit einem Abstand von ca. 1 Sekunde auslesen

    M 10.0 = 1 im Interval einer Sekunde. Nur eine, einzige Zykluszeit.

    diese miteinander vergleichen, und je nach Ergebnis entweder einen Merker setzen

    das ist unten geschrieben

    U M 10.0 <----- (der Wischmerker) ist aktiv genau ein mal pro Sekunde
    U(
    L Analogwert 1
    L Analogwert 2
    >F
    )
    S M 10.3

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 10.07.2011, 21:04
  2. Werte / Status auslesen
    Von don.wastello im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.02.2010, 09:30
  3. Werte aus einen DB auslesen
    Von magmaa im Forum Programmierstrategien
    Antworten: 64
    Letzter Beitrag: 29.04.2009, 22:02
  4. TagLogging Werte auslesen und filtern
    Von ottopaul im Forum HMI
    Antworten: 0
    Letzter Beitrag: 29.07.2006, 10:31
  5. PS3 auslesen und Werte in MySql-DB schreiben
    Von Anonymous im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 22.01.2006, 15:08

Lesezeichen

Berechtigungen

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