Werte addieren

Spooner

Level-2
Beiträge
26
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,
ich habe ein kleines Problem mit dem addieren von Werten in S7. Als CPU benutze ich eine 315-2DP.
Ich möchte auf verschiedenen Eingängen diverse Festwerte (5,10,50) hinterlegen und je nachdem welches Bit gesetzt ist diese Werte addieren und auf einem OP77A ausgeben.
Hintergrund ist eine Kompensierung die auf die Eingänge zurück meldet welche Stufe eingeschaltet ist (jede Stufe hat eine Hardwaremässig festgelegte Kompensation).
Es können aber alle Eingänge willkürlich geschaltet werden und ich will die Kompensierung in % errechnen lassen. Wenn alle Eingänge geschaltet sind 100% wenn alle 0=0% Kompensierung.
Da ich nicht ständig programmiere hab ich irgendwie ein Brett vor dem Kopf.

Bisher habe ich versucht:

U E0.1
L 5
U E0.2
L 15
+I
U E0.3
L 10
+I
usw.

bis 100% erreicht waren.
L in DB für Anzeige in OP

es wurde aber immer alle zusammen gezählt, egal ob die Eingänge 0 der 1 waren. Addiert sollen aber nur die Werte, wo der Eingang 1 ist und die anderen sollen mit dem Wert 0 behandelt werden.

Habe dann noch das wandeln in andere Formate versucht, was natürlich nichts an der vorherigen Rechnung ändert.
wandeln in DI
wandeln in R
L in DB für Anzeige in OP

Vielleicht hat ja jemand eine Idee. Ich habe sonst keine zusätzlichen Packete von S7 installiert ausser WinCC.

Gruß Spooner
 
Es gibt Befehle, die sind VKE-Abhängig und soche, die es nicht sind. Zu den nicht abhängigen gehören L, T, +I

Code:
L 0

U E0.1
SPBN T001

L 5
+I

T001:U E0.2
SPBN T002

L 15
+I

T002:U E0.3
SPBN T003

L 10
+I

T003: T #Ergebnis

Ich habs nicht probiert, kann sein, daß noch TAK rein muß nach jedem +I :)

PS. Nö, ist richtig so, es funktioniert ohne TAK, wie kam ich da denn drauf? :roll:
 
Zuletzt bearbeitet:
Zurück
Oben