Bonjour à tous,
De niveau « 0 » en HTML, PHP, XML et Javascript, j’essaie cependant de comprendre, afin d’apporter par moi-même au code de la V3 quelques modifications qui me sont utiles.
En regardant les Tutos du site « Zéro », plus quelques souvenirs en Basic 2000 et Pascal, j’ai apporté des modifications simples aux pages « Index » et « iPréset » de la V3, afin de résoudre les problèmes de précision des capteurs de température dus à leur éloignement de 15m, 20m, 25m et aux raccords…
Avec l’imbrication des tests conditionnels, chaque capteur à donc son coefficient propre, étalonné avec un thermomètre de précision. Le résultat est satisfaisant.
Code modifié :
case ‹ 2 ›: // Concerne les 3 capteurs de température TC-4012
if (i == 1) {
GetAn = getXMLValue(xmlData, ‹ analog › + i) * 0.323 - 49.40;
}
else if (i == 2) {
GetAn = getXMLValue(xmlData, ‹ analog › + i) * 0.323 - 48.1;
}
else if (i == 3) {
GetAn = getXMLValue(xmlData, ‹ analog › + i) * 0.323 - 49.6;
}
else
GetAn = getXMLValue(xmlData, ‹ analog › + i) * 0.323 - 50;
HCtemp = GetAn;
document.getElementById(‹ tmp › + i).innerHTML = GetAn.toFixed(1) + « °c »;
break;
Maintenant, je souhaiterai mettre en mémoire, pour chacun des 3 capteurs, les températures « MAX et MIN » comme on les obtiendrait avec un thermomètre à « Maxima et Minima », et récupérer ces valeurs dans des variables qui seraient simplement lues dans le « Status XML » quand on le charge (Donc, pas de modification d’affichage dans les pages HTML de la V3…).
En simplifiant, cela donnerait ceci en Basic (Pour le capteur N° 1 par exemple) :
// La variable TEMP() est la valeur recueillie en temps réel par le capteur
// La variable MaxTEMP() prend la valeur de TEMP() si celle-ci est supérieure à sa dernière valeur stockée
// La variable MinTEMP() prend la valeur de TEMP() si celle-ci est inférieure à sa dernière valeur stockée.
//Dernières valeurs stockées pour l’exemple… :
MaxTEMP(1)=23
MinTEMP(1)=-1
//… Acquisition du capteur de TEMP(1) = 25° !
For i = 1 to ….
IF TEMP(i) > MaxTEMP(i)
Then MaxTEMP(i) = TEMP(i)
Else IF TEMP(i) < MinTEMP(1)
Then MinTEMP(i) = TEMP(i)
End IF
Résultats qui seraient lus en status XML* :
MaxTEMP(1)=25°
MinTEMP(1)=-1°
- Bien sûr les valeurs des variables seraient celles des valeurs brutes des capteurs, comme dans le status XML…
J’ai essayé, mais c’est trop compliqué pour moi et cela ne fonctionne pas.
Quelqu’un pourrait-il m’aider, si toutefois vous en avez le temps… ?
Cordialement.