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

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

Thema: Vergleich von Real-Zahlen

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

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich bin neu hier im Forum und bedanke mich gleich für eure Hilfe!

    Ich soll ein Programm erstellen, dass aus einer Menge von Realzahlen die größte ermittelt. Wollte das ganze so umsetzten:

    Netzwerk1:

    L DB1.DBD 0
    L DB1.DBD 4
    >R
    SPB R10
    L DB1.DBD 0
    L DB1.DBD 4
    >R
    SPBN R11
    R10: L DB1.DBD 0
    T MD 0
    R11: L DB1.DBD 4
    T MD 0

    Netzwerk2:

    L DB1.DBD 8
    L DB1.DBD 12
    >R
    SPB R1_2
    L DB1.DBD 8
    L DB1.DBD 12
    >R
    SPBN R1_3
    R1_2: L DB1.DBD 8
    T MD 4
    R1_3: L DB1.DBD 12
    T MD 4
    usw....

    Nun funktioniert das aber überhaupt nicht so wie es soll... Ich vermute das ich noch irgendwie einen groben Schnitzer bei den Sprunkfunktionen mach, konnte diesen allerdings auch nach längerer Suche im Internet und in meinen Unterlagen nicht finden. Ich hoffe Ihr könnt mir sagen wo mein Fehler liegt. Danke schonmal im Vorraus!

    Gruß Tobias
    Zitieren Zitieren Vergleich von Real-Zahlen  

  2. #2
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Ein Programmbeispiel für eine einfache Sortierung nach Min- und Max-Werten findest Du hier:

    http://www.sps-forum.de/showthread.p...727#post115727

    Gruß Kai

  3. #3
    Tobi_90 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2012
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke! Hat ja iwie doch leicht ähnlichkeiten zu meinem Programm, könntest du mir aber evtl. doch sagen wo bei mir der Fehler liegt? Sonst bin ich hinterher nicht schlauer

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    wenn du schreibst "Nun funktioniert das aber überhaupt nicht so wie es soll..." - was meinst du konkret damit ?
    Du hast das ein bißchen umständlich gemacht (man könnte es also optimieren) - aber einen "echten" Fehler sehe ich so nicht ...

    Gruß
    Larry

  5. #5
    Tobi_90 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2012
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok ich versuch es mal zu erklären. Wenn ich das Programm simulier, wird bei jedem Netzwerk der 2. Vergleichswert ausgegeben.
    z.b. Netzwerk1: Nach Ausführung steht im Merkerdoppelwort0 der Wert von DB1.DBD 4
    bei Netzwerk2: steht im Merkerdoppelwort 4 der Wert von DB1.DBD 12
    unabhängig ob nun der Wert größer oder kleiner als der Vergleichswert ist.

  6. #6
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Mal dein erstes Netzwerk:
    Zitat Zitat von Tobi_90 Beitrag anzeigen
    Netzwerk1:

    L DB1.DBD 0
    L DB1.DBD 4
    >R
    SPB R10
    L DB1.DBD 0
    L DB1.DBD 4
    >R
    SPBN R11
    R10: L DB1.DBD 0
    T MD 0
    R11: L DB1.DBD 4
    T MD 0
    Wenn du zum Label "R10" springst wird alles was danach kommt ebenfalls ausgeführt. Die Zuweisung von DBD4 wird also in jedem Falle ausgeführt. Das willst du aber nicht, d.h. du musst dir was überlegen damit nur eine der beiden Zuweisungen ausgeführt wird.

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Du hast Recht - es gibt doch noch einen Fehler - ich habe dir mal im Netzwerk 1 noch etwas Code eingefügt ...
    Das gilt dann natürlich genauso für die ggf. weiteren Netzwerke ...
    Zitat Zitat von Tobi_90 Beitrag anzeigen
    Netzwerk1:

    L DB1.DBD 0
    L DB1.DBD 4
    >R
    SPB R10
    L DB1.DBD 0
    L DB1.DBD 4
    >R
    SPBN R11
    R10: L DB1.DBD 0
    T MD 0
    SPA R1X
    R11: L DB1.DBD 4
    T MD 0
    R1X:nop 0
    Gruß
    Larry
    Geändert von Larry Laffer (21.04.2012 um 13:16 Uhr)

  8. #8
    Tobi_90 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2012
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Achso, dass war mir nicht bewusst. Dachte der führt dann nur den Inhalt bis zur nächsten sprungmarke aus Dann werd ich wohl noch ein paar sprünge einfügen müssen^^ Das mit der übersichtlichkeit kommt hoffentlich noch, lege bis jetzt primär augenmerk auf die Funktion meiner Programme. Danke für deine Hilfe!

  9. #9
    Tobi_90 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2012
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Entschuldigung, für eure Hilfe!

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Es könnte aber auch so aussehen :
    Code:
    L DB1.DBD 0
    L DB1.DBD 4
    >R
    SPBN R11
    L DB1.DBD 0
    SPA R1X
    R11: L DB1.DBD 4
    R1X:T MD 0
    ...

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 28.03.2009, 09:47
  2. Vergleich negativer Zahlen
    Von michael77 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.03.2009, 14:31
  3. Antworten: 3
    Letzter Beitrag: 28.11.2007, 13:11
  4. Mittelwertbildung aus REAL Zahlen
    Von Waelder im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 09.01.2006, 00:46
  5. OP-15 REAL Zahlen darstellen
    Von klauserl im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.10.2005, 18:04

Lesezeichen

Berechtigungen

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