Geroldicer
Level-1
- Beiträge
- 8
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Ich soll eine mir zuvor unbekannte Zahl potenzieren. Natürlich kann diese Zahl auch negativ sein. Also z.B.: (-2)^3=-8. Bei negativen Zahlen als Basis erhalte ich jedoch die Fehlermeldung "Die Potenz hat eine negative Basis", und das Programm wird nicht übersetzt. Bei Variablen erhalte ich zur Laufzeit bei negativem Basis-Aktualwert das Ergebnis NON (Not a Number 16#7FF). Wie kann also im Tia / Simatic eine negative Zahl potenziert werden?
Zur Info: Auch die oft gelistete Funktion/ Umweg über die Logarithmusfunktion hilft in diesem Fall nichts: Hab dazu den AWL-Code in SCL umgesetzt:
#LRealValue3 := EXP_LREAL(IN:=(LN(#LREALValue1)) * #LREALValue2); -> gleiches Ergebnis, nur dass diese Funktion im Gegensatz zur Verwendung von ** auch noch beim Basiswert 0 als Ergebnis NON liefert..
(AWL Quelle war: https://support.industry.siemens.com/tf/WW/de/posts/potenzrechnung/21218?page=0&pageSize=10 )
Zur Info: Auch die oft gelistete Funktion/ Umweg über die Logarithmusfunktion hilft in diesem Fall nichts: Hab dazu den AWL-Code in SCL umgesetzt:
#LRealValue3 := EXP_LREAL(IN:=(LN(#LREALValue1)) * #LREALValue2); -> gleiches Ergebnis, nur dass diese Funktion im Gegensatz zur Verwendung von ** auch noch beim Basiswert 0 als Ergebnis NON liefert..
(AWL Quelle war: https://support.industry.siemens.com/tf/WW/de/posts/potenzrechnung/21218?page=0&pageSize=10 )