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

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

Thema: Reagieren auf Integer Zahl

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe ein kleines Problem und zwar müsste ich aufgrund einer Integerzahl in einem Wort einen Merker setzen. Die Zahl sollte auf 1,2,3,4 abgefragt werden und jedes Mal wenn die Zahl sich ändert vom jeweils niedrigem Wert auf den nächste höheren sollte der Merker neu gesetzt werden. Wie geht dies am einfachsten? Danke schon mal.
    Zitieren Zitieren Reagieren auf Integer Zahl  

  2. #2
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    Das wird Dir vermutlich niemand hier fertig servieren. Zeig was Du hast und stelle Fragen dazu, an welcher Stelle Du nicht weiterkommst.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

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

    Standard

    Ich habe ein Wort. Dort stehen Zahlen von 1-4 drin. Es diese wird immer hochgezählt. Von 1-2, dann von 2-3, dann von 3-4. Und bei jedem Zählvorgang soll einfach ein Bit bzw. ein Merker gesetzt werden. Mir fehlt gerade der Übergang wie ich aufgrund der Änderung der Zahl im dem Wort, bei jeder Änderung einen Merker setzen kann. Und zwar den gleichen. Er muss jedesmal eine positive Flanke erhalten wenn der Wert sich ändert im dem Wort.

  4. #4
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Wann soll der gleiche Merker zurückgesetzt werden? 1-2 setzen, 2-3 wieder setzen?

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

    Standard

    Oh...also muss nicht gesetzt werden, sondern so lange dann die aktuelle Zahl drin steht soll der Ausgang aktiv bleiben... also...
    Änderung 1-2
    =M100.0
    Woltle es so machen:
    L Wort
    L 1
    ==D
    = M100.0

    L Wort
    L 2
    ==D
    = M100.0
    L Wort
    L 3
    ==D
    = M100.0

    So bekommt er leider nur den letzten Befehl mit ...sobald also eine 3 drin steht wird der Merker auf 1 geschaltet...bei den vorherigen leider nicht
    Geändert von mobileme (22.02.2012 um 10:27 Uhr)

  6. #6
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    Der Grund ist folgender: Du machst 3x die Zuweisung auf den gleichen Merker. Weil das SPS-Programm den Code "von oben nach unten" abarbeitet, wird IMMER die letzte Zuweisung ausgeführt. Deswegen ist der Merker auch nur TRUE, wenn das Wort auf 3 steht. Formulieren noch einmal genau, was Du wirklich machen willst.

    Außerdem musst Du bei einem Wort ==I verwenden.

    Wort = 16 Bit

    ==D vergleicht 32 Bit.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

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

    Standard

    Also...ich möchte anhand der Änderung in einem Wort einen Merker setzen. In dem Wort wird von 1-4 hoch gezählt. Und jedesmal wenn gezählt wird, also bei jedem Schritt sollte der Merker kurz auf 1 gesetzt werden.
    Habe es auch versucht mit dem entsprechenden Bit mir eine positive Flanke des Merkers zu erzeugen. Sprich so:

    U DB1.DBX 1.0 (Entspricht dem Wert 1 in dem Wort 0)
    O DB124.DBX 1.1 (Entspricht dem Wert 2 in dem Wort 0)
    FP M 600.0
    = M100.0
    Geändert von mobileme (22.02.2012 um 11:13 Uhr)

  8. #8
    Registriert seit
    08.08.2007
    Ort
    Süd-Süd-Deutschland (CH)
    Beiträge
    220
    Danke
    29
    Erhielt 27 Danke für 21 Beiträge

    Standard

    Quick n dirty?


    Vergleichswert anlegen, wenn ungleich dann
    Mxy = true
    Vergleichswert = Variabel

    Im nächsten Zyklus ist sind die beiden Werte ja wieder gleich also ist Mxy = false
    Sobald sich die Variabel wieder ändert, wird der Merker wieder gesetzt.

    Wenn Du den Merker nur setzen willst musst halt nach Variabel > Vergleichswert abfragen.

    Gruss
    "Hätte ich das gewusst, hätte ich einen anderen Beruf gelernt." - "Hast Du gelernt diese Scheisse?"
    (Zitat aus Knockin' on Heaven's Door)

    "Kommentare? Wieso? Steht doch alles im Code..!"

    Avatar erstellt auf www.sp-studio.de

  9. #9
    Registriert seit
    08.08.2007
    Ort
    Süd-Süd-Deutschland (CH)
    Beiträge
    220
    Danke
    29
    Erhielt 27 Danke für 21 Beiträge

    Standard

    Habs mal kurz geschrieben

    Hoffe habe nichts vergessen.

    Müsste passen so

    Code:
    IF i_InZaehler > i_Vergleichswert THEN
    x_Merker := TRUE;
    i_Vergleichswert := i_InZaehler;
    ELSE
    x_Merker := FALSE;
    END_IF
    "Hätte ich das gewusst, hätte ich einen anderen Beruf gelernt." - "Hast Du gelernt diese Scheisse?"
    (Zitat aus Knockin' on Heaven's Door)

    "Kommentare? Wieso? Steht doch alles im Code..!"

    Avatar erstellt auf www.sp-studio.de

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Danke. Aber leider programmiere ich in AWL...

Ähnliche Themen

  1. Real Zahl auf Nachkommastelle runden
    Von digga im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 19.10.2017, 16:27
  2. Integer Zahl
    Von doretan im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 30.10.2008, 09:31
  3. AWL: Dez Zahl auf 10er Potenzen Zerlegen
    Von maxi im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 29.01.2008, 22:08
  4. INT-Zahl in eine S5T#-Zahl umwandeln ?
    Von Stefan B. im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 02.03.2006, 22:40
  5. 5-stellige ascii zahl in normale zahl umwandeln
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.01.2006, 16:12

Lesezeichen

Berechtigungen

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