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

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

Thema: Datenbaustein

  1. #1
    Registriert seit
    16.10.2012
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,


    ich will mich ein bisschen mehr mit dem Thema Datenbausteine und Programmierung beschäftigen, bisher lief das leider nur so nebenher.

    Ich habe mir eine Aufgabe ausgedacht und versuche diese möglichst sinnvoll umzusetzen.

    Ausgangssituation:

    Ich habe einen Wert X für eine C-Korrektur, dieser ändert sich alle paar Zyklen und muss dann mit dem vorherigen verglichen werden. Wenn beide Werte unterschiedlich sind, darf eine Weiterschaltbedingung stattfinden, wenn nicht, soll eine neue Anforderung der C-Korrektur ausgelöst werden.

    Ich muss also die beiden Werte auf Ungleichheit prüfen.

    Zudem möchte ich, das die Werte in einem extra Datenbaustein gespeichert werden um die Änderung der Werte zu verfolgen. Der neuste Wert steht ganz oben und wird mit jedem neuen Wert eine Zeile weiter nach unten verschoben. nach ca. 10 Zeilen verfällt der Wert dann endgültig.

    Wie könnte ich das am geschicktesten umsetzen?

    Ich habe bisher mit MOVE und CMP <>I ein Vergleichsprogramm erstellt, allerdings ohne DB Speicher.
    Zitieren Zitieren Datenbaustein  

  2. #2
    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

    Stichwort: FIFO
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    16.10.2012
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So hatte ich es mir gedacht!

  4. #4
    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

    Zitat Zitat von robomann2011 Beitrag anzeigen
    So hatte ich es mir gedacht!
    na dann los!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    Registriert seit
    16.10.2012
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    okay, aber wie verschiebe ich zum Beispiel Daten in einem DB?

  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

    Zitat Zitat von robomann2011 Beitrag anzeigen
    okay, aber wie verschiebe ich zum Beispiel Daten in einem DB?
    Dateneinheits-, also z.B. WORD-weise
    günstig ist, mit dem ältesten Wert anzufangen

    Wert aus vorletztem Speicher in letzten Speicher - (xn-1 MOVE xn)
    Wert aus vorvorletztem Speicher in vorletzten Speicher - (xn-2 MOVE xn-1)

    das ganze nur in einem Zyklus auf Anforderrung durchführen, dazu z.B. die Freigabe der MOVE-Blöcke mit einem Impuls (FP ... ) freigeben.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Registriert seit
    16.10.2012
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich probiere jetzt nebenher am PC mit um das nachzuvollziehen.
    Ich müsste also mehrere MOVE Befehle ausführen um den ersten und ältesten Wert von der ersten auf die letzte Zeile in dem DB zu bekommen?

    Ich kann die Werte jetzt über einen Taktmerker Impulsweise weiter schieben.

  8. #8
    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

    Zitat Zitat von robomann2011 Beitrag anzeigen
    Ich kann die Werte jetzt über einen Taktmerker Impulsweise weiter schieben.
    herzlichen Glückwunsch!
    Jetzt den Taktmerker durch den eigentlichen Trigger ersetzen - fertig
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #9
    Registriert seit
    16.10.2012
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke! aber ganz stimmt es noch nicht. Ich schreibe den ersten Wert in die erste Zeile des DB, aber sobald der Takt kommt, schreibt er den Wert in alle Zeilen. Nicht nach und nach.
    Muss ich das verriegeln oder anders beschalten?

  10. #10
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von robomann2011 Beitrag anzeigen
    Danke! aber ganz stimmt es noch nicht. Ich schreibe den ersten Wert in die erste Zeile des DB, aber sobald der Takt kommt, schreibt er den Wert in alle Zeilen. Nicht nach und nach.
    Muss ich das verriegeln oder anders beschalten?
    Ja.

    Beitrag #6: "das ganze nur in einem Zyklus auf Anforderrung durchführen, dazu z.B. die Freigabe der MOVE-Blöcke mit einem Impuls (FP ... ) freigeben."
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. TIA Datenbaustein
    Von siegener19 im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 26.08.2013, 21:26
  2. Datenbaustein
    Von Serdar G im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 29.10.2009, 16:22
  3. Datenbaustein
    Von cpu315 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 21.02.2008, 20:56
  4. Datenbaustein
    Von BastiMG im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.10.2006, 12:15
  5. Antworten: 4
    Letzter Beitrag: 23.08.2006, 15:02

Lesezeichen

Berechtigungen

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