|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 4 ![]() Détails du profil ![]() Informations personnelles : Âge : 29 Informations forums : Inscription : janvier 2008 Messages : 4 Points : 2 |
Bonjour
J'ai un petit problème avec mes compteurs horaires codés sur des API schneider (TSX micro, premium, M340) EN gros, si le moteur est en marche, j'ajoute toute les 36 secondes 0,01 aux compteurs (un centième d'heure = 36 secondes) Le problèmes est que l'automate ajoute parfois 0,00999999999 à la place Donc, sur un moteur qui tourne 24h/24, le compte n'est pas juste !!! J'ai lu dans l'aide PL7 : Il est donc déconseillé de programmer sans précaution des calculs itératifs. Si on souhaite néanmoins programmer ce type de calcul, il appartient à l'applicatif client de gérer les erreurs de troncature. Si vous avez une idée pour que l'API n'ajoute que 0,01 et pas plus, pas moins ! Je suis preneur ![]() merci |
|
|
00
|
|
|
#2 |
![]() ![]() Bruno GuérangéIngénieur développement logiciels Inscription : mai 2002 Messages : 7 605 ![]() Détails du profil ![]() Informations personnelles : Nom : Bruno GuérangéÂge : 44 Localisation : France, Loir et Cher (Centre) Informations professionnelles : Activité : Ingénieur développement logiciels Secteur : Industrie Informations forums : Inscription : mai 2002 Messages : 7 605 Points : 11 267 |
Ton problème n'a rien à voir avec Schneider : c'est le cas de n'importe quel PC/cpu/calculatrice faisant une somme de flottant.
0.01 n'a pas de repérsentation binaire exacte. Il te faut travailler sur des entier long et en comptant des secondes ou des centièmes d'heure. Prend un compteur que tu incrémentes toutes les secondes tant que le moteur est en marche (sur le front de SY6 S6, c'est plus précis qu'une tempo). Tu as ainsi un temps de marche cumulé en seconde sans problème de précision. La seconde sur un DINT va saturer dans 68ans. Tu transformes en heures à l'affichage par la suite.
__________________
Delphi : 264 sources à consulter/télécharger ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com



















Bruno Guérangé