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

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

Thema: S7-300 Arbeiten mit Datenbausteinen

  1. #1
    Registriert seit
    28.10.2007
    Ort
    Weltbürger
    Beiträge
    195
    Danke
    168
    Erhielt 14 Danke für 12 Beiträge

    Böse


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin moin,

    ich möchte einen Analogwert mit der S7-300 einlesen, und in einem Datenbaustein
    schreiben.
    Ich möchte alle 10 Sekunden den Analogwert in DB10 mit dem alten Wert überschreiben.

    Danach soll er den Neuen mit dem gespeicherten Wert vergleichen.

    Mein Problem ist, ich habe noch nie mit DBś gearbeitet, vllt. könnt ihr mir da weiterhelfen, also fürn "Dummen" erklären step by step....

    Vielen Dank für eure Hilfe im voraus.

    VERITAS
    „Was immer Du tun kannst oder träumst es zu können, fang damit an.“ Goethe
    Zitieren Zitieren S7-300 Arbeiten mit Datenbausteinen  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Was genau ist denn dein Problem? Ein Wert in einem Datenbaustein kann genauso behandelt werden, wie der eines Merkers, Merkerwortes etc.

    Prinzip:

    Du programmierst einen Timer, der alle 10 Sekunden einen Impuls liefert. Damit ersparst du schon mal eine Flanke, aber zur Sicherheit kannst du diesen Impuls auch noch mal zu einer positiven Flanke machen.

    Ein Analogwwert ist i.d.R. ein 16-bit-Wert, z.bsp im DB als Int definiert.

    DB10.DW0 --> Neuwert Int
    Db10.DW2 --> Altwert Int

    Mit dem Flankenmerker springst du in deinen Programmteil.

    UN Mx (Flanknmerker)
    SPB NIX

    Zuerst kopierst du den nun "alten" Neuwert in den Altwert.

    L DB10.DBW0
    T DB10.DBW2

    Dann holst du den Analogwert und normierst ihn

    L PEW xyz --> Normierung mit FC105 --> Ausgabe in Temp-Int oder direkt in DB10.DBW0

    Dann kommt dein Vergleicher:

    L DB10.DBW0
    L DB10.DBW2
    >=I
    = M10.0

    Fertig.

    NIX: NOP 0

    Der M10.0 wird die nächsten 10 Sekunden True sein, so der Vergleicher erfüllt war, auch wenn dort "=" steht, da der Code ja nur alle 10 Sekunden für genau einen Zyklus (daher Impuls oder Flanke) bearbeitet wird.
    Geändert von Ralle (24.08.2009 um 23:31 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    veritas (25.08.2009)

  4. #3
    Registriert seit
    22.01.2008
    Ort
    Allgäu, da wo die Kühe schöner sind als die Mädels
    Beiträge
    1.774
    Danke
    50
    Erhielt 729 Danke für 434 Beiträge

    Standard

    hi ralle

    sieht so weit alles gut aus.
    nur wenn veritas einen analogwert einliesst, sollte er auch skalieren
    aus dem baustein kommt ein realwert
    dein beispiel muss dann entsprechen auf realwerte geändert werden
    Gruss Audsuperuser

    Herzlich Willkommen im Chat:
    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

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

    Standard

    @ Ralle

    EINSPRUCH !!

    = M10.0 liegt im Programmteil der übersprungen wird.
    Das macht man nicht!
    Muss der Vergleicher überhaupt übersprungen werden ?? Ich denke mal nicht da sich die Werte Alt und Neu zwichen den Flanken ja nicht ändern.
    Selbst die Normierung muss nicht übersprungen werden. Es reicht den Transfer das Altwertes zum Neuwert zu überspringen.
    Dann sieht man auch immer die aktuellen Daten im Neuwert.


    peter(R)
    Geändert von peter(R) (25.08.2009 um 14:18 Uhr)

  6. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von peter(R) Beitrag anzeigen
    @ Ralle

    EINSPRUCH !!

    = M10.0 liegt im Programmteil der übersprungen wird.
    Das macht man nicht!
    Muss der Vergleicher überhaupt übersprungen werden ?? Ich denke mal nicht da sich die Werte Alt und Neu zwichen den Flanken ja nicht ändern.
    Selbst die Normierung muss nicht übersprungen werden. Es reicht den Transfer das Altwertes zum Neuwert zu überspringen.
    Dann sieht man auch immer die aktuellen Daten im Neuwert.


    peter(R)
    Wo steht, daß man das nicht macht?
    Er weist es einmalig zum Zeitpunkt der Flanke zu, fertig. Er findet den Aufruf in der Querverweisliste, also alles ok.
    Ansonsten, kann er den Vergleich auch immer ausführen, das stimmt, aber ich komm ebend noch aus einer Zeit, als man mit jeder Anweisung sparsam umging.

    @aud

    Der veritas soll ja auch noch alleine was machen, außerdem, weiß ich, daß er nur ne Anregung braucht, den Rest macht er selbst.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

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

    Standard

    @ Ralle

    Natürlich geht es in diesem speziellen Fall. Wenn ich aber überlege wieviele Leute schon fast verrückt geworden sind, weil ihr Ausgang nicht 0 wurde obwohl die Setzbedingungen nicht vorhanden waren (ist mir anfangs auch passiert) gilt für mich: sowas ist unanständig.
    Ausserdem braucht es in beiden Fällen gleich viel Anweisungen.
    Ich komme aus einer zeit, da gab es noch gar keine PCs und SPSen.

    peter(R)

  8. #7
    Avatar von veritas
    veritas ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.10.2007
    Ort
    Weltbürger
    Beiträge
    195
    Danke
    168
    Erhielt 14 Danke für 12 Beiträge

    Standard

    Dumme Frage....

    wenn ich den Analogwert des PEW72 in DB10 in Wort 0 schreiben will:

    AUF DB10
    L PEW72
    T DB10.W0

    ????????????????
    „Was immer Du tun kannst oder träumst es zu können, fang damit an.“ Goethe

  9. #8
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.735
    Danke
    321
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    Code:
    L PEW72
    T DB10.DBW0
    
    ODER
    
    AUF DB10
    L PEW72
    T DBW0
    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  10. Folgender Benutzer sagt Danke zu MSB für den nützlichen Beitrag:

    veritas (25.08.2009)

  11. #9
    Avatar von veritas
    veritas ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.10.2007
    Ort
    Weltbürger
    Beiträge
    195
    Danke
    168
    Erhielt 14 Danke für 12 Beiträge

    Standard

    Danke
    ob ichs noch lernen werde.....
    „Was immer Du tun kannst oder träumst es zu können, fang damit an.“ Goethe

  12. #10
    Avatar von veritas
    veritas ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.10.2007
    Ort
    Weltbürger
    Beiträge
    195
    Danke
    168
    Erhielt 14 Danke für 12 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    wenn ich im Datenbaustein mir den Aktuellen Wert als WORD in Dezimalzahlen anschauen will, was muss ich da eingeben, immo wird der in Hexa dargestellt,
    also z.B. W#16#FFFF.
    Als Dezimalzahl dann B#(0,0) bis B#(255,255) so steht es im Handbuch.

    Was soolen die Zahlen in Klammern bedeuten?
    B#(0,255) wäre dann eine Darstellung von 0-255 ?
    „Was immer Du tun kannst oder träumst es zu können, fang damit an.“ Goethe

Ähnliche Themen

  1. Problem mit Datenbausteinen
    Von marcel_s84 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.04.2010, 14:33
  2. Remanenz bei Datenbausteinen
    Von Roos im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 17.11.2009, 20:36
  3. Fragen zu Datenbausteinen und WIN CC
    Von Keeper im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.09.2008, 09:15
  4. Arten von Datenbausteinen
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.05.2005, 20:38
  5. S7-222: Daten in Datenbausteinen
    Von reini69 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.12.2004, 12:48

Stichworte

Lesezeichen

Berechtigungen

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