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

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

Thema: Problem mit Real-Verarbeitung

  1. #1
    Registriert seit
    15.08.2014
    Beiträge
    108
    Danke
    14
    Erhielt 10 Danke für 10 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe einen einfachen I-Regler programmiert.
    Beim Testen funktioniert alles, bis auf die addition von altem und neuen Wert.

    Dort bekomme ich in der Variable "Alter_Wert" nämlich immer "-1.#IOe+000" angezeigt.
    ("Alter_Wert" ist beim ersten Durchlauf noch unbeschrieben, er wird erst nach dem Aufaddieren beschrieben)
    Ich weiß nicht was das bedeutet, denke aber, dass es sich um eine Fehlermeldung handelt.
    1.jpg2.jpg

    Daher habe ich eine Resetfunktion mithilfe des E0.0 eigebaut.
    Dieser Eingang überschreibt den "Alten_Wert" auf 0 und der Regler macht nach dem Reset genau was er machen soll.
    1.1.jpg2.1.jpg

    Aber diese Lösung mit dem Eingang E0.0 gefällt mir überhaupt nicht.
    Gibt es keine Möglichkeit, den Reset-Vorgang automatisch beim ersten Durchlauf des OB35 durchzuführen?

    Oder gibt es eine Lösung, welche das Auftreten der "-1.#IOe+000" Angabe komplett beseitigt.
    Evtl. habe ich ja einen dummen Fehler gemacht.

    MfG
    Geändert von Steven60 (27.10.2015 um 15:16 Uhr)
    Zitieren Zitieren Problem mit Real-Verarbeitung  

  2. #2
    Registriert seit
    21.10.2010
    Beiträge
    158
    Danke
    21
    Erhielt 29 Danke für 17 Beiträge

    Standard

    Zum Initialisieren von Werten beim Start der SPS kannst du den OB100 verwenden.

    Edit: Aber irgendwo her muss das Problem ja auch kommen. Verwendest du versehentlich ein Bit des Merkerdoppelwortes?
    Geändert von funkey (27.10.2015 um 16:03 Uhr)

  3. #3
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Also die Verwendung eines Merkers im Doppelwort wäre auch mein erster Tipp.

    Fragen:
    Ist das ein FC oder ein FB?
    Wenn Du "resetet" hast, wann tritt der Fehler wieder auf? CPU Neustart?
    Was ist der "Alten_Wert" für ein Typ? IN_OUT oder OUT?


    Anmerkung:
    integriert der eigentlich immer, oder sollte man den Regler auch deaktivieren können? Weil wenn dem so ist könntest Du bei inaktivem Regler den "nicht_aktiv" statt dem Reset nehmen.

  4. #4
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.737
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Wie ist denn Dein "Alter_Wert" deklariert?

    Sieht so nach Temp aus, weil undefiniert? Sollte aber STAT sein. Dann kannst Du auch einen Startwert angeben.

  5. #5
    Steven60 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.08.2014
    Beiträge
    108
    Danke
    14
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Also "Alter_Wert" ist eine statische Real Variable.

    Und Merker habe ich keine verwendet nur Merker Doppelworte. Diese überschneiden sich auch nicht.
    Der Regler ist in einem FB angelegt.

    Den Regler wollte ich über den I-Anteil deaktivieren, wenn der I-Anteil 0 ist, wird auch nichts geregelt.

    MfG

  6. #6
    Steven60 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.08.2014
    Beiträge
    108
    Danke
    14
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Der Startwert von "Alter Wert" ist auch auf 0 gestellt, trotzdem schreibt er mir sowas seltsames.

  7. #7
    Steven60 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.08.2014
    Beiträge
    108
    Danke
    14
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Zitat Zitat von funkey Beitrag anzeigen
    Zum Initialisieren von Werten beim Start der SPS kannst du den OB100 verwenden.
    Danke für den Hinweis, an den habe ich garnicht gedacht.

  8. #8
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    "-1.#IOe+000" stellt eigentlich den Unterlauf einer Gleitpunktzahl dar.
    Als wenn die Zahl so stark negativ ist dass diese nicht mehr dargestellt werden kann.
    Eine Division einer negativen Zahl (oder 0) durch 0 wird ebenfalls so dargestellt.

    Probier mal
    Code:
        L     MD   104
        L     1.000000e+036
        -R    
        T     MD   104
    Nach kurzer Zeit kommt es zum Unterlauf.

    Da du Anscheinend nur aufaddierst (der Überlauf wäre 1#IOe+000 ohne neg. Vorzeichen) muss es einen anderen Grund geben.
    • Deklaration der Variable (Temp)
    • Realvariable wird irgendwo in AWL mit einem Nicht-Real-Befehl (+D,+I) verarbeitet
    • Irgendwas ala Division/0
    • Irgendwelche indirekten Speicherzugriffe die ein Bit beeinflussen....
    • Wenn's ein STAT ist, IDB aktuell und eingespielt?


    Irgendwo ist da wohl ein Fehler in deinem Programm...

    Wann taucht der Fehler auf?
    • Nach dem SPS-Start?
    • Nach dem einspielen des IDB?
    • Nach einiger Zeit?
    Geändert von RONIN (27.10.2015 um 18:06 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  9. #9
    Steven60 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.08.2014
    Beiträge
    108
    Danke
    14
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen
    "-1.#IOe+000" stellt eigentlich den Unterlauf einer Gleitpunktzahl dar.
    Als wenn die Zahl so stark negativ ist dass diese nicht mehr dargestellt werden kann.
    Eine Division einer negativen Zahl (oder 0) durch 0 wird ebenfalls so dargestellt.

    Probier mal
    Code:
        L     MD   104
        L     1.000000e+036
        -R    
        T     MD   104
    Nach kurzer Zeit kommt es zum Unterlauf.

    Da du Anscheinend nur aufaddierst (der Überlauf wäre 1#IOe+000 ohne neg. Vorzeichen) muss es einen anderen Grund geben.
    • Deklaration der Variable (Temp)
    • Realvariable wird irgendwo in AWL mit einem Nicht-Real-Befehl (+D,+I) verarbeitet
    • Irgendwas ala Division/0
    • Irgendwelche indirekten Speicherzugriffe die ein Bit beeinflussen....
    • Wenn's ein STAT ist, IDB aktuell und eingespielt?


    Irgendwo ist da wohl ein Fehler in deinem Programm...

    Wann taucht der Fehler auf?
    • Nach dem SPS-Start?
    • Nach dem einspielen des IDB?
    • Nach einiger Zeit?
    Hallo, also das dort irgendwo ein Fehler vorliegt, welcher womöglich auch behoben werden kann, denke ich mir auch.
    Denn ein ganz normaler Taschenrechner kommt mit dieser Aufgabe ja auch ohne Probleme klar

    Daher habe ich diesen I-Regler noch einmal in einem neuen Projekt erstellt, in dem sonst nichts vorhanden ist.
    Doch dort ist genau das gleiche Schauspiel zu erkennen.

    Also der Fehler tritt sofort auf, wenn die SPS im RUN-Modus ist.
    In diesem Moment habe ich noch keinen Sollwert, keinen I-Anteil,... eingegeben.

    Ich habe einmal von allem Screenshots gemacht:

    1.jpg
    Symboltabelle

    2.jpg
    OB35


    (weitere folgen)
    Geändert von Steven60 (27.10.2015 um 18:21 Uhr)

  10. #10
    Steven60 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.08.2014
    Beiträge
    108
    Danke
    14
    Erhielt 10 Danke für 10 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    3.1.jpg3.2.jpg3.3.jpg3.4.jpg
    Variablen FB1

    4.jpg
    Programm FB1

Ähnliche Themen

  1. Step 7 Problem bei Berechnung von REAL Zahlen
    Von Erema im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 30.05.2015, 13:04
  2. Antworten: 3
    Letzter Beitrag: 10.05.2011, 18:50
  3. Problem bei Rechnen mit "REAL" Werten
    Von SPS n00b im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 10.02.2010, 10:21
  4. Analogwert Verarbeitung mit S7-200
    Von willy two im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 16.01.2008, 04:41
  5. Problem mit Real-Eingangsparameter
    Von Onkel Dagobert im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 13.04.2004, 22:19

Stichworte

Lesezeichen

Berechtigungen

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