Zwei Variablen verrechnen...

Magni

Level-2
Beiträge
313
Reaktionspunkte
17
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte einen Variablenwert als Prozentwert ausgeben, zB. um einen prozentuale Öffnung eines Ventils anzugeben. Dabei habe ich mir gedacht, dass es doch mit einem Script am einfachsten wäre.

SmartTags("Analog.Stellwert_Prozent") = 100 / 27648 * SmartTags("Analog.Ausgabe_Stellwert")


Aber es funzt nicht.. habe auch interne Variablen verwendet. Ohne Erfolg.
Wer kann helfen? Danke im vorraus...
 
Dann lass mal 'SmartTags' weg und schreib einfach deine Gleichung mit den WinCCflex-Variablen in das Skript.

Analog.Stellwert_Prozent = 100 / 27648 * Analog.Ausgabe_Stellwert

Gruß foxy64
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dafür gibts ja den Simulator. Wenn du den startest kannst du in der Tabelle, die neben deinem simulierten Startbild mit aufgeblendet wird, Variablen setzen. Das geht auch mit externen.

Gruß foxy64
 
Dafür gibts ja den Simulator. Wenn du den startest kannst du in der Tabelle, die neben deinem simulierten Startbild mit aufgeblendet wird, Variablen setzen. Das geht auch mit externen.

Gruß foxy64

Bin ja blöd... muss das Script natürlich auch aufrufen. Aber wie kann ich das so aufrufen, dass es auch solange die Seite aufgebaut ist, ausgeführt ist?
 
Aaahhh habs gefunden... kann ja bei Wertänderung der Variable aufrufen.... hey.. bin ich gut.. learning by doing
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das geht meines Wissens nicht. Aber ich sehe folgende Möglichkeiten:
1. Die ganze Rechnerei in der SPS veranstalten.
ODER
2. Für die Variable, die das Rechenergebnis anzeigen soll, die lineare Skalierung verwenden (Variable-Eigenschaften-Lineare Skalierung).
ODER
3. Einen Takt basteln und jedesmal bei Änderung das Skript aufrufen.


Gruß foxy64
 
Also in der Runtime Simulation geht es.... :rolleyes: Werde es nächste Woche vor Ort testen...
Script_Prozent.jpg
 
Ich möchte einen Variablenwert als Prozentwert ausgeben ...

SmartTags("Analog.Stellwert_Prozent") = 100 / 27648 * SmartTags("Analog.Ausgabe_Stellwert")

Bis du dir wegen deiner Formel sicher ...?
Nach meiner Meinung müßte die so heissen :
Code:
SmartTags("Analog.Stellwert_Prozent") = SmartTags("Analog.Ausgabe_Stellwert") * 100 / 27648
... jedenfalls dann, wenn der Prozentwert von "Analog.Ausgabe_Stellwert" gebildet werden soll ...

Gruß
LL
 
...
wie schon von argv_user gesagt ...
Ich habe mal unterstellt, dass du den Variablentyp INT (oder DINT) verwendest hast. Dann ergäbe der erste Teil deiner Berechnung (100 / 27640 ) in der Integer-Division als Ergebnis bereits "0". Das kannst du dann multiplizieren mit was du willst ... Das Ergebnis bleibt "0". Was anderes wäre es, wenn du mit REAL-Zahlen arbeitest. Konnte ich mir jetzt aber nicht vorstellen ...

Gruß
LL
 
Zuletzt bearbeitet:
Zurück
Oben