Laissez-moi commencer par un nombre : 214-219. C'est la plage de pages dans le manuel V6.2.2 où se trouvent les blocs à virgule flottante. Vous pourriez penser que le fournisseur les a enterrés là parce que personne ne les utilise. Faux. Ils les ont enterrés là parce que les mathématiques entières conviennent à quatre-vingt-dix pour cent des travaux — et les dix derniers pour cent sont là où se trouvent les vraies machines.
Un Micro-PLC faisant SIN, COS, TAN, LN, EXP, SQRT, comparaisons de nombres réels et déplacements de nombres réels. Il y a dix ans, cette phrase aurait été une blague. Aujourd'hui, cela se livre dans un module DIN de 35 mm qui coûte moins cher qu'une sonde d'oscilloscope décente.
Quand les mathématiques entières vous mentent
Voici le piège. La mise à l'échelle d'une entrée analogique 0-10V avec des mathématiques entières fonctionne — jusqu'à ce que vous divisiez. 6V dans une plage de 0-1000 : la division entière laisse tomber le reste, et soudain votre lecture de niveau dérive d'une unité à chaque balayage. Sur un quart de travail, la dérive s'accumule. Sur une semaine, votre réservoir déborde parce que le PLC pensait que le niveau était correct.
La virgule flottante corrige cela. Un bloc de mise à l'échelle, des nombres réels bout à bout, et le bruit d'arrondi disparaît. Ce n'est pas un luxe. C'est ce qui garde vos pompes sèches et vos clients calmes.
Cas concret : contrôle de température PID avec mathématiques réelles
Configurez une boucle PID sur un PR-18 : l'entrée analogique lit un PT100 via un transmetteur 0-10V, le bloc PID calcule avec des gains en nombres réels, la sortie pilote un canal PWM pour le chauffage. Le moteur à virgule flottante maintient le terme intégral stable. Sur du matériel uniquement entier, cette même boucle nécessite une planification manuelle des gains et oscille toujours à faible erreur.
J'ai vu un ingénieur de mise en service poursuivre une oscillation de 0,4 degré pendant deux jours sur un PID entier. J'ai échangé le CPU pour le modèle à virgule flottante, l'ai réglé en une heure. La différence de coût matériel était risible. La différence de temps d'ingénierie ne l'était pas.
Les blocs que vous utiliserez réellement
Soyez honnête : vous utiliserez ADD-R, SUB-R, MUL-R, DIV-R et SQRT. Peut-être ROUND et TRUNC lors de la transmission de valeurs à l'HMI. Les fonctions trigonométriques sont là pour les projets vraiment étranges — calculs de flux, volume de réservoir à partir du niveau, compensation d'angle de convoyeur. Lorsque cette demande étrange arrive, vous ne voulez pas expliquer que votre PLC ne peut pas faire de cosinus.
Et les conversions de chaînes comptent plus qu'elles n'en ont l'air. Réel-à-chaîne, entier-à-ASCII — c'est ainsi que vous construisez des messages d'alarme lisibles et des journaux de données sans un langage de script HMI.
Ce que cela coûte
Rien de plus, une fois que vous avez choisi le bon CPU. Les blocs à virgule flottante font partie de la bibliothèque standard dans la révision manuelle actuelle, et le logiciel est gratuit. Le seul véritable coût est le changement d'habitude : arrêtez de penser en entiers, commencez à penser en unités d'ingénierie.
Mise à l'échelle bien faite
La mise à l'échelle est là où la virgule flottante justifie son coût, et c'est aussi là que la plupart des bugs de mise à l'échelle se trouvent. L'erreur classique : mettre à l'échelle la valeur brute avec des mathématiques entières et perdre le reste à chaque division. La correction classique : faites le calcul en nombres réels et convertissez une fois, à la frontière, où l'HMI ou SCADA attend un entier. Un bloc de mise à l'échelle, des nombres réels bout à bout, et le bruit d'arrondi disparaît.
Écrivez les constantes de mise à l'échelle là où le prochain ingénieur peut les trouver. Un transmetteur 4-20mA lisant 0-10 bar : la formule, la plage brute, la plage d'ingénierie — tout cela appartient à un commentaire sur le bloc de mise à l'échelle. La valeur "semble correcte" pendant des mois jusqu'à ce qu'elle ne le soit plus, et la personne qui débogue aura besoin des constantes, pas de la mémoire de la personne qui les a choisies.
Testez les limites lors de la mise en service : minimum, maximum et le point médian. Un bloc de mise à l'échelle qui est correct à 50 % mais incorrect à 0 % passera un coup d'œil décontracté et échouera un vrai processus. Trois points de test, cinq minutes, et la mise à l'échelle est faite.
La fallacie uniquement entière
Il existe une école de pensée qui dit qu'unMicro PLCdevrait rester uniquement entier parce que c'est ce que font les petits contrôleurs. C'est une position défendable d'un point de vue coût et indéfendable d'un point de vue ingénierie au moment où votre processus implique des divisions, des rapports ou quoi que ce soit ressemblant à des unités réelles. Le matériel à virgule flottante ne coûte rien de plus sur cette plateforme ; la capacité est dans la bibliothèque de blocs, pas dans un niveau premium.
Le véritable coût de la pensée uniquement entière se manifeste dans la maintenance : les solutions de contournement — entiers mis à l'échelle, décimales décalées, mathématiques à virgule fixe faites maison — sont exactement le code que personne ne comprend six mois plus tard. La virgule flottante se lit comme le processus : température en degrés, niveau en mètres, flux en litres par minute. Un code lisible est un code maintenable, et un code maintenable est ce qui rend un contrat de service rentable.
Utilisez des entiers là où ils sont l'outil approprié — compteurs, indicateurs, valeurs d'index. Utilisez des flottants là où le processus vit. La plateforme vous donne les deux ; la discipline consiste à choisir par signal, pas par religion.
Nombres réels dans l'HMI
Les écrans HMI et SCADA devraient montrer des unités d'ingénierie, pas des entiers bruts — et la mise à l'échelle se fait du côté PLC. Faites la conversion une fois, dans un bloc de mise à l'échelle, et les affichages lisent des degrés, des bars et des litres par minute partout. L'alternative — mise à l'échelle dans chaque écran, chaque balise, chaque rapport — est une faute de frappe de formule qui attend d'arriver. Un point de conversion par signal, documenté dans le commentaire du bloc, et l'ensemble du système parle la langue de l'opérateur.
C'est le changement. Le matériel l'a déjà fait. Votre style de programmation est le dernier morceau de la mise à niveau.












