Ok, bon, essaie des real simple alors.
T'as mis des virgules au lieu de points dans 0,000000001 et 0,000001. Y'a qu'en france qu'on utilise cette foutue virgule comme séparateur décimal, le reste du monde utilise le point.
Par ailleurs t'as une erreur d'exposant: 9.36146 * powl(10,2) (ou 9.36146 * 100 dans la seconde version) devrait être 9.36146 * powl(10,22) grosse différence...
NB: en principe la convention est de mettre un espace après les virgules séparant les paramètres de fonction; par ex powl(10, 22) au lieu de powl(10,22) c'est plus facile à lire et ça évite de confondre powl(10,22) avec powl(10.22)
NB²: si tu veux rendre le débug plus facile tu peux splitter le calcul et passer par des variables intermédiaires. Ici tu peux facilement extraire la Psat par exemple:
NB³: si jamais le 10^22 est trop grand pour être géré par l'automate, dis-le moi, j'ai une solution
T'as mis des virgules au lieu de points dans 0,000000001 et 0,000001. Y'a qu'en france qu'on utilise cette foutue virgule comme séparateur décimal, le reste du monde utilise le point.
Par ailleurs t'as une erreur d'exposant: 9.36146 * powl(10,2) (ou 9.36146 * 100 dans la seconde version) devrait être 9.36146 * powl(10,22) grosse différence...
NB: en principe la convention est de mettre un espace après les virgules séparant les paramètres de fonction; par ex powl(10, 22) au lieu de powl(10,22) c'est plus facile à lire et ça évite de confondre powl(10,22) avec powl(10.22)
NB²: si tu veux rendre le débug plus facile tu peux splitter le calcul et passer par des variables intermédiaires. Ici tu peux facilement extraire la Psat par exemple:
Code :
PSAT := (9.36146 * powl(10,2) * exp(1.511 * powl(10,-9) * powl(TEMP,3) + 3.001 * powl(10,-6) * powl(TEMP,2) - 0.002142 * TEMP - 6999.12 / TEMP)) / powl(TEMP,5.71317)
OUT := 0.6221 / (1 / (HYGRO * PSAT) - 1);
NB³: si jamais le 10^22 est trop grand pour être géré par l'automate, dis-le moi, j'ai une solution