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

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

Thema: Zähler in DB Speichern

  1. #1
    Registriert seit
    08.09.2011
    Beiträge
    11
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    erst mal will ich mal Hallo hier im Forum sagen.

    Und nun zu meine aufgabe.

    Ich Zähle Stücke und will diese in einem DB Speichern nach reihe.

    Sprich der DB stein hat 3 zeilen und am Anfang sind alle werte dort auf 0

    Die erste Zählung soll nun in der erste Zeile gespeichert werden.
    Die zweite Zählung soll in der zweite Zeile gespeichert werden.
    Die dritte Zählung soll in der dritte Zeile gespeichert werden.

    Bei der vierte Zählung will ich alle drei zeilen auf null gesetzt haben und die Zählung soll wieder in der erste Zeile gespeichert werden.

    Was ich bischer gemacht habe ist folgendes.


    Netzwerk 1

    U E 1.3
    ZV Z 1
    BLD 101
    NOP 0
    NOP 0
    U E 1.4
    R Z 1
    NOP 0
    NOP 0
    NOP 0

    Netzwerk 2

    U(
    L DB15.DBW 0
    L 0
    >=I
    )
    U E 1.5
    SPBNB _001
    L Z 1
    T DB15.DBW 0
    _001: NOP 0


    so wie es jetzt ist schreibt er immer in DB15.DBW0

    habe hier im Forum auch schon was gefunden. Nur an der Umsetzung mangelt es mir.

    Wäre super wenn mir jemand ein bespiel geben könnte am besten mit eine erklärung damit das in meine birne reingeht.

    Danke schon im Vorraus
    Zitieren Zitieren Zähler in DB Speichern  

  2. #2
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    Ich versteh noch nicht genau was Du da vorhast!

    Aber ich versuch mal nen Lösungsansatz:
    1. Du nimmst 3 Merker für die einzelnen Abschnitte, oder wie werden die einzelnen Zählabschnitt markiert?

    2. Du nimmst 3 Zähler (alternativ baust Du Dir nen eigenen Zähler als FB und rufst den als Multiinstanz mehrfach auf) und benutzt den Abschnittmerker (aus 1.) mit als Zählfreigabe. Die einzelnen Zählergebnisse kannst Du in DBW0, DBW2, DBW4 abspeichern!

    3. Mit Neustart des 1. Abschnittmerkers (über eine positive Flankenüberwachung) werden alle 3 Zähler zurückgesetzt oder auf Wert 0 gesetzt.
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  3. #3
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    Vielleicht so:

    Code:
    // Reset
    U M 10.1 // 1. Abschnittmerker
    FP M 10.1
    R Z1 // Zähler werden auf 0 gesetzt
    R Z2
    R Z3
    
    // Zählen Abschnitt 1
    
    U M 10.1
    U E 1.3
    ZV Z1
    
    U M  10.1
    U E 1.4
    ZR Z1
    
    L Z1 // unabhängig vom VKE wird der Zählerstand in den DB kopiert!
    T DB15.DBW0
    
    // Zählen Abschnitt 2
    // wie Abschnitt 1 nur mit anderem Zähler und Abschnittsmerker!
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  4. #4
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von robiotor Beitrag anzeigen
    Ich Zähle Stücke und will diese in einem DB Speichern nach reihe.

    Sprich der DB stein hat 3 zeilen und am Anfang sind alle werte dort auf 0

    Die erste Zählung soll nun in der erste Zeile gespeichert werden.
    Die zweite Zählung soll in der zweite Zeile gespeichert werden.
    Die dritte Zählung soll in der dritte Zeile gespeichert werden.

    Bei der vierte Zählung will ich alle drei zeilen auf null gesetzt haben und die Zählung soll wieder in der erste Zeile gespeichert werden.
    Wäre hilfreich wenn du die Eingänge symbolisch wenigstens aber mit Kommentaren versehen würdest.
    Eingang E1.3 zählt vorwärts > Klar
    Eingang E1.4 setzt die Zähler zurück > fast klar, ist das die vierte Zählung?
    Eingang E1.5 schreibt den Zählerwert in den DB > wann kommt denn der Eingang?
    Welcher Eingang macht die zweite und die dritte Zählung?
    Oder soll das Ergebnis im DB nach der dritten Zählung nur so ausschauen
    Code:
    DB_Stein.DBW0 = 1
    DB_Stein.DBW2 = 2
    DB_Stein.DBW4 = 3
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  5. #5
    robiotor ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.09.2011
    Beiträge
    11
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    was ich realisieren will

    Z1 Zählt Stücke mit E1.3

    E1.5 soll in DB15 Schreiben nach der reihe DBW0, DBW2, DBW4

    wenn DBW0 = 0 dann reinschreiben, ansonsten probieren in DBW2
    wenn DBW2 = 0 dann reinschreiben, ansonsten probieren in DBW4
    wenn DBW4 = 0 dann reinschreiben, ansonsten DBW0, DBW2 und DBW4 überschreiben mit 0 und anschliesend den Z1 in DBW0 reinschreiben

    das ganze ist nicht für eine Anlage, sondern nur für Schulungszwecken

    und zwar habe ich im gedanken eine auswertung so

    DB15 ist der DB für Stunden
    dh. jede Stunde soll ein eintrag stattfinden. Das mache ich ja mit dem E 1.5

    Ein weiteren Zähler Sparre ich mir hier und sage mit dem E 1.4 zurücksetzen des Zählers

    Also sind 24 Stunden vorbei habe ich 24 Einträge und dann kann ich doch die 24 einträge zusammenzählen und in zb. DB16 reinschreiben.

    mir gehts jetzt aber erst mal nur prinzipiel um die Zählungen pro Stunde. So das diese in dem DB15 korrekt reingeschrieben werden.


    Vieleicht ist mein gedanke auch total falsch. Aber es fuchst mich das ganze.

  6. #6
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    Ich kann dem Ganzen nicht wirklich folgen!

    wenn DBW0 = 0 dann reinschreiben, ansonsten probieren in DBW2
    wenn DBW2 = 0 dann reinschreiben, ansonsten probieren in DBW4
    u.s.w.

    was soll das werden?

    Sobald Dein Zähler das 1. Mal gezählt hat, ist DBW0 <> 0!
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  7. #7
    Registriert seit
    05.08.2011
    Beiträge
    46
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo,

    meinst du etwa so etwas ?

    Mit positiver Flanke E1.5 wird in das erste freie Wort geschrieben und der Zähler gelöscht, ist keins frei wird in DBW0 geschrieben
    und DBW2 und 4 gelöscht.
    Der Zählerreset muss auf diese Art gemacht werden, macht man das innerhalb eines Sprunges bleibt das VKE1 am Reseteingang
    und er wird danach nicht mehr gelöscht. Es gibt auch andere Lösungen, ist nur ein Beispiel.



    Netzwerk 2:

    U E 1.5
    FP M10.0
    = M10.1
    SPBNB Ende
    L DB15.DBW 0
    L 0
    ><I
    SPB Nr_2
    L Z1
    T DB15.DBW 0
    SPA Ende
    NR_2:L DB15.DBW 2
    L 0
    ><I
    SPB Nr_3
    L Z1
    T DB15.DBW 2
    SPA Ende
    NR_3:L DB15.DBW 4
    L 0
    ><I
    SPB Nr_4
    L Z1
    T DB15.DBW 4
    SPA Ende
    NR_4: L Z1
    T DB15.DBW 0
    L 0
    T DB15.DBW 2
    T DB15.DBW 4
    Ende: U M10.1
    R Z1
    Geändert von goldi63 (19.09.2011 um 12:03 Uhr)

  8. #8
    robiotor ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.09.2011
    Beiträge
    11
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    genau so

    jetzt nur noch ne kleine frage

    das ganze kann ich nur in AWL sehen, es wird nicht nach FUP übersetzt.

    wie kann ich das ganze so schreiben das es nach FUP übersetzt wird. In Verschiedene Netzwerke aufteilen?

    die grafik verstehe ich doch schneller als das AWL

  9. #9
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.646
    Danke
    65
    Erhielt 269 Danke für 228 Beiträge

    Standard

    Für die Übersetzung von AWL nach KOP/FUP müssen Platzhalter vorhanden sein. Du kannst Dir das ansehen, indem Du etwas in KOP/FUP erstellst und das dann nach AWL übersetzt. Am einfachsten geht es, wenn nur eine Anweisung je Netzwerk erscheint.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  10. #10
    Registriert seit
    05.08.2011
    Beiträge
    46
    Danke
    5
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja, hab mal ne FUP-Variante gemacht, ich bin da mehr für AWL, ist vieles kürzer, aber das sollte auch gehen !

    NW1: Zählen

    U E 1.3
    ZV Z 1
    U E 1.4
    ZR Z 1
    NOP 0
    NOP 0
    NOP 0
    NOP 0
    NOP 0
    NOP 0


    NW 2: Flankenbildung

    U E 1.5
    FP M 10.0
    = M 10.1


    NW3: Speicherplatz 1 schreiben

    U(
    O(
    L DB15.DBW 0
    L 0
    ==I
    )
    O(
    L DB15.DBW 4
    L 0
    <>I
    )
    )
    U M 10.1
    = L 0.0
    U L 0.0
    SPBNB _001
    L Z 1
    T DB15.DBW 0
    SET
    SAVE
    CLR
    _001: U BIE
    R Z 1
    U L 0.0
    SPBNB _002
    L 0
    T DB15.DBW 2
    _002: NOP 0
    U L 0.0
    SPBNB _003
    L 0
    T DB15.DBW 4
    _003: NOP 0


    NW4: Speicherplatz 2 schreiben

    U(
    L DB15.DBW 2
    L 0
    ==I
    )
    U M 10.1
    U Z 1
    SPBNB _004
    L Z 1
    T DB15.DBW 2
    SET
    SAVE
    CLR
    _004: U BIE
    R Z 1


    NW5: Speicherplatz 3 schreiben

    U(
    L DB15.DBW 4
    L 0
    ==I
    )
    U M 10.1
    U Z 1
    SPBNB _005
    L Z 1
    T DB15.DBW 4
    SET
    SAVE
    CLR
    _005: U BIE
    R Z 1
    Geändert von goldi63 (19.09.2011 um 14:30 Uhr)

Ähnliche Themen

  1. Zähler
    Von redscorpion im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 12.07.2011, 09:48
  2. Betriebsstunden Zähler / max. Zähler Anzahl.
    Von superkato im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 03.12.2010, 16:38
  3. Zähler
    Von sps-questioner im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 11.04.2010, 16:44
  4. Zähler
    Von lieuthnant im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 12.08.2009, 22:48
  5. Maximalzählwert Zähler S7-300 + maximale Zähler CPU
    Von DennisBerger im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 02.07.2007, 10:54

Lesezeichen

Berechtigungen

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