Step 5 S5 Vergleich von Integer Werten

Holle-52499

Level-2
Beiträge
52
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich habe ein Problem mit einem Programm auf einer S5.

Ich bekomme von einer 4-20mA Drucksonde ein Signal, welches mir den Füllstand des Behälters in % anzeigen soll.
Das ganze Spiel funktioniert soweit, allerdings habe ich Probleme beim vergleichen des Wertes.
Ich möchte einen Merker setzen sobald der Füllstand auf unter 20% fällt und der Merker soll erst dann wieder zurück gesetzt werden, wenn der Füllstand mehr als 50% beträgt.

Das entsprechende Teilprogramm sieht wie folgt aus:

A DB203
L DW2 //Hier steht mein Füllstand des Behälters drin, ist auch als KF deklariert.
L KF+20
<F
S M69.0

L DW2
L KF+50
>F
R M69.0

Allerdings funktioniert das nicht so wie gewollt. Wenn der Füllstand z.B. bei 31% liegt, ist der Merker nicht gesetzt.
Auf dem Merker wird anderweitig nicht rumgetrampelt, das habe ich schon überprüft.
Auf einer S7 funktioniert das ganze Problemlos, nur die S5 macht dabei zicken.
Da ich allerdings auch nicht sehr vertraut in S5 bin weiß ich nicht, ob die Vergleiche in der S5 identisch funktionieren, wie bei der S7.

Hat jemand einen Rat für mich?
 
Wenn der Füllstand auf 31% ist, dann wird logischer Weise der Merker weder gesetzt noch zurückgesetzt.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn wir die Anlage anfahren hat der Behälter einen Füllstand von 0 %.
Dementsprechend wird der Merker ja gesetzt.
Der Füllstand steigt dann mit und mit. Der Merker soll dann also erst bei Füllstand >50% zurück gesetzt werden.
Bevor wir allerdings einen Füllstand von >50% erreichen, wird der Merker schon zurück gesetzt, obwohl er das nicht darf.
Die 31% waren jetzt nur ein Beispiel.

Die S5 ist übrigens eine S5-135U, 928er CPU.
 
Zuletzt bearbeitet:
Der gezeigte S5-Code verhält sich nicht anders als das entsprechende S7-Pendant. Wenn der Merker zurückgesetzt wird, dann nur wenn das DW2 einen Wert > 50 enthält. (oder der Merker wird noch von woanders her beschrieben)

Könnte es sein, daß das DW2 vielleicht nur kurzzeitig einen Wert > 50 enthält? (Störimpulse auf Leitung, Wackelkontakt, Problem AD-Wandlung, DW2 wird noch anderswo beschrieben, Füllstandschwankungen durch Wellen, ...)

Harald
 
Das DW 2 wird sonst nirgendwo mehr beschrieben, das hatte ich schon überprüft. Störsignale würde ich auch ausschließen, da beim beobachten eigentlich keine ungewöhnlichen Schwankungen auftreten. Um aber kurze Peaks auf der Leitung ausschließen zu können werde ich das ganze wohl am Montag nochmal mit einem 4-20mA Simulator testen.
Wodurch könnten denn z.B Probleme bei der AD-Wandlung entstehen?

Holger
 
Ich tippe darauf, dass das DW2 nicht von 0-100 skaliert ist, sondern eventuell zb 0-1000.
Zeigst Du uns den Code wie das DW2 zu seinem Wert kommt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
FB203 NW2 5.jpg
Danach folgen nur noch die Anweisungen
T = MW-X
M: BE

Der Baustein wird im FB 10 aufgerufen.
Habe aber heute nochmal beim Testen festgestellt, das die Skalierung vorne und hinten nicht passt. Wenn der Behälter voll ist wird nur 55% angezeigt, bei 20% passt das allerdings. Gleiche ich allerdings so ab, das bei 100% des Behälter auch 100% angezeigt werden, erhalte ich bei einem Füllstand von ca 20% einen Wert von ca 40%. Woran könnte das liegen?
 
Was ist da für ein Sensor verbaut? bei Radar und Ultraschall kenne ich solche Effekte wenn der Geber falsch montiert ist (wenn der zB durch ein längeres rohr schauen muss, dann kann es am Rohrende zu Reflexionen kommen, hab da schon einige interessante Effekte gehabt).
 
Es können auch einfach nur falsche Werte für die Skalierfaktoren angegeben sein.
Gibt es eine Beschreibung des FB203? Ansonsten mal die Skalierformel aus dem Programmcode ermitteln. Der Rest ist einfache Mathematik.

Harald
 
Zurück
Oben