TIA TIA v13 +S7-1200 CALCULATE erfindet MINUS Vorzeichen

trockenpaule

Level-1
Beiträge
14
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Folgendes Problem ist aufgetreten:
Ich habe einen Durchschnittsrechner mit CALCULATE realisiert.
Funktion: Verarbeitete Platten x "10" / Betriebsstunden
Mal 10 deshalb, weil die Betriebstunden mit Komma dargestellt werden.
Egal, die Formel ist jedenfalls richtig.

Bis jetzt hat das auch immer funktioniert.
Jetzt hab ich heute eine kleine Programmänderung gemacht und aus versehen durch doppelt setzen der Betriebstunden diese auf "0" gesetzt.
So weit so gut, is ´ja nicht so schlimm, habs auch bemerkt.
Nur jetzt errechnet der CALCULATE doch tatsächlich das Ergebnis zwar richtig, aber mit MINUS Vorzeichen!
Wie geht denn das?

zB:
33228 Platten x 10 / 62Bh.

Keine Zahl hat ein negatives Vorzeichen, nur das Ergebnis...
:confused:

Auch wenn ich die Formel umstelle, es kommt immer ein negatives Ergebnis raus....
 
Ich denke dass das anzahl platte wie ein INT gelesen wurde und das ist ein negativ zahl, dass max von ein INT ist 32 767 wenn das mit ein erhogt wurde ist dass - 32 768.
Sie muste das anzahl in ein DINT schreiben .
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Welche Datentypen sind den involviert (Eingang/Ausgang)? Stichwort Integer-Bereichsüberschreitung.
Auf welchen Datentyp ist steht die Calculate-Box?
 
Zuletzt bearbeitet:
Vermutlich interpretiert Deine Berechnung den Wert 33228 als INT (16-Bit-Wert mit Vorzeichen) = -32308
Du mußt die Berechnung als DINT (32-Bit) ausführen (oder geht bei der S7-1200 auch UINT ?).

Harald
 
Voder geht bei der S7-1200 auch UINT?
Geht normalerweise. Bei der Calculate-Box kannst du den Datentyp einstellen, bin der Meinung dass mit dem dann auch intern alle Parameter verrechnet werden. Weiß wer was über die interne Präzision?
Was dann an den Ein-/Ausgängen angelegt wird, wird (falls möglich) implizit konvertiert.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Datentyp auf UDint geändert, alles OK.
Vielen Dank für den Tipp, allerdings ist es mir trotzdem schleierhaft, wie es überhaupt dazu kommen konnte....
Naja, is ja egal, erledigt.
Danke an alle!
 
Zurück
Oben