TIA Fehlermeldung: implizierte Konvertierung nicht möglich

bastler

Level-2
Beiträge
258
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich bekomme in TIA V12 bei dieser Zeile:
Code:
#H:= EXP(1.0/3.0*LN(#H_KUB));
Eine implizite Konvertierung von Datentyp LREAL nach REAL ist nicht möglich.
In der Hilfe steht folgendes:
Beschreibung
Eine implizite Konvertierung ist nicht möglich.
Behebung
Führen Sie eine explizite Konvertierung durch. Weitere Informationen finden Sie unter "Siehe auch".
"Siehe auch" gibts nicht!
Ich kann nichts mit dem Fehler und der Fehlerbeschreibung anfangen. #H und #H_KUB ist als REAL deklariert. Was mach ich denn da noch falsch?

MfG
bastler
 
Code:
#H1:= EXP(1.0/3.0*LN(#H_KUB));
 #H:= LREAL_TO_REAL(#H1);

Ich hab das jetzt so gelöst, aber wieso muss #H1 vom Typ LREAL sein?
 
Wenn ich mich nicht vertan habe, dann steht in der Hilfe bei EXP und LN als Datentyp REAL, von LREAL hab ich nichts gelesen!
 
Implizite Konvertierung von Konstanten
Solange innerhalb eines Ausdrucks der Datentyp einer Konstanten nicht eindeutig definierbar ist, wird immer der Datentyp mit der höchstmöglichen Genauigkeit verwendet, der auf der aktuellen CPU verfügbar ist.
Beispiel:
#My_Real := #My_Int / 3.5
In diesem Ausdruck wird eine Ganzzahlvariable mit einer untypisierten Gleitpunktkonstanten kombiniert. In S7-300/400 wird hier der rechte Teil der Zuweisung im Format REAL gerechnet. In S7-1200/1500 wird automatisch mit der größtmöglichen Genauigkeit gerechnet, d. h. in diesem Fall in LREAL. Als Folge davon ist die Zuweisung an eine REAL-Variable ungültig oder erzeugt eine Warnung.
Um den Datentyp einer Konstanten genau zu definieren, verwenden Sie die typisierte Schreibweise:
Beispiel:
#My_Real := #My_Int / REAL#3.5

Also:

Code:
#H := EXP(REAL#1.0 / REAL#3.0 * LN(#H_KUB));
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank, das hatte ich nicht gefunden.

Würde gleich noch eine 2. Frage zu TIA loswerden wollen.
Kann man den Beobachtungsmodus in TIA so einstellen, das man den Wert von Variablen in SCL programmierten Bausteinen, direkt an jeder Variable ablesen kann. Ich meine so, wie es zB in Codesys geht (siehe Bild).

SCL.png
 
Vielen Dank, das hatte ich nicht gefunden.

Weil du TIA 12 hast, bei v13 wird keine Fehlermeldung angezeigt, sondern Warnung.


Würde gleich noch eine 2. Frage zu TIA loswerden wollen.
Kann man den Beobachtungsmodus in TIA so einstellen, das man den Wert von Variablen in SCL programmierten Bausteinen, direkt an jeder Variable ablesen kann. Ich meine so, wie es zB in Codesys geht (siehe Bild).

Anhang anzeigen 28719

Nein
 
Zurück
Oben