Vloeiende getallen wiskunde op een Micro PLC: PID, Analoge Schaling en Wanneer Je Het Echt Nodig Hebt

Laat me beginnen met een getal: 214-219. Dat is het pagina bereik in de V6.2.2 handleiding waar de vloeiende getal blokken zich bevinden. Je zou denken dat de leverancier ze daar heeft begraven omdat niemand ze gebruikt. Fout. Ze hebben ze daar begraven omdat gehele getallen wiskunde prima is voor negentig procent van de taken — en de laatste tien procent is waar de echte machines zich bevinden.

Een Micro-PLC die SIN, COS, TAN, LN, EXP, SQRT, echte getal vergelijkingen en echte getal verplaatsingen doet. Tien jaar geleden zou die zin een grap zijn geweest. Vandaag de dag wordt het geleverd in een 35mm DIN-rail module die minder kost dan een fatsoenlijke oscilloscoopsonde.

Wanneer Gehele Getallen Wiskunde Je Bedriegt

Hier is de val. Schalen van een 0-10V analoge invoer met gehele getallen wiskunde werkt — totdat je deelt. 6V in een 0-1000 bereik: gehele deling laat de rest vallen, en plotseling drijft je niveau met een eenheid bij elke scan. Over een shift, stapelt de drift zich op. Over een week, loopt je tank over omdat de PLC dacht dat het niveau in orde was.

Vloeiende getallen lossen dat op. Eén schaalblok, echte getallen van begin tot eind, en het afrondingsgeluid verdwijnt. Dat is geen luxe. Dat is wat je pompen droog houdt en je klanten kalm.

Concreet Geval: PID Temperatuurregeling met Echte Wiskunde

Stel een PID-lus in op een PR-18: analoge invoer leest een PT100 via een 0-10V zender, het PID-blok rekent met echte getal winsten, de uitvoer stuurt een PWM-kanaal voor de verwarming. De vloeiende getallen motor houdt de integraalterm stabiel. Op hardware die alleen gehele getallen ondersteunt, heeft dezelfde lus handmatige winstplanning nodig en oscilleert nog steeds bij een lage fout.

Ik heb een inbedrijfstellingsingenieur twee dagen lang een oscillatie van 0,4 graden zien achtervolgen op een gehele PID. Wisselde de CPU voor het vloeiende getallen model, afgesteld in een uur. Het kostenverschil van de hardware was lachwekkend. Het verschil in engineering tijd was dat niet.

De Blokken Die Je Echt Zult Gebruiken

Wees eerlijk: je zult ADD-R, SUB-R, MUL-R, DIV-R en SQRT gebruiken. Misschien ROUND en TRUNC wanneer je waarden aan de HMI doorgeeft. De trigonometrische functies zijn er voor de echt vreemde projecten — flowberekeningen, tankvolume van niveau, compensatie van transporthoeken. Wanneer die vreemde aanvraag binnenkomt, wil je niet uitleggen dat je PLC geen cosinus kan doen.

En de tekenreeksconversies zijn belangrijker dan ze klinken. Echt-naar-tekenreeks, geheel-naar-ASCII — zo bouw je leesbare alarmberichten en datalogboeken zonder een HMI-scripttaal.

Wat Het Kost

Niets extra, zodra je de juiste CPU kiest. De vloeiende getal blokken maken deel uit van de standaardbibliotheek in de huidige handleiding herziening, en de software is gratis. De enige echte kosten zijn de gewoonte verandering: stop met denken in gehele getallen, begin met denken in engineering eenheden.

Schaling Goed Gedaan

Schalen is waar vloeiende getallen zijn waarde bewijzen, en het is ook waar de meeste schalingsfouten zich bevinden. De klassieke fout: het schalen van de ruwe waarde met gehele getallen wiskunde en het verliezen van de rest bij elke deling. De klassieke oplossing: doe de wiskunde in echte getallen en converteer één keer, op de grens, waar de HMI of SCADA een geheel getal verwacht. Eén schaalblok, echte getallen van begin tot eind, en het afrondingsgeluid verdwijnt.

Schrijf de schaalconstanten op waar de volgende ingenieur ze kan vinden. Een 4-20mA zender die 0-10 bar leest: de formule, het ruwe bereik, het engineering bereik — dat alles hoort in een opmerking op het schaalblok. De waarde "ziet er goed uit" maandenlang totdat dat niet meer zo is, en de persoon die het debugt heeft de constanten nodig, niet het geheugen van de persoon die ze heeft gekozen.

Test de grenzen bij inbedrijfstelling: minimum, maximum en het middenpunt. Een schaalblok dat correct is bij 50% maar fout bij 0% zal een casual blik doorstaan en een echt proces falen. Drie testpunten, vijf minuten, en de schaling is gedaan.

De Gehele Getal-Alleen Misvatting

Er is een denkrichting die zegt dat eenMicro PLCgeheel getal-only moet blijven omdat dat is wat kleine controllers doen. Het is een verdedigbare positie vanuit een kostenperspectief en een onverdedigbare vanuit een engineering perspectief op het moment dat je proces deling, verhoudingen of iets dat op echte eenheden lijkt omvat. De vloeiende getallen hardware kost niets extra op dit platform; de mogelijkheid zit in de blokbibliotheek, niet in een premium niveau.

De echte kosten van denken in alleen gehele getallen komen naar voren in onderhoud: de oplossingen — geschaalde gehele getallen, verschoven decimalen, handmatig gemaakte vaste punt wiskunde — zijn precies de code die niemand zes maanden later begrijpt. Vloeiende getallen lezen als het proces: temperatuur in graden, niveau in meters, flow in liters per minuut. Leesbare code is onderhoudbare code, en onderhoudbare code is wat een servicecontract winstgevend houdt.

Gebruik gehele getallen waar ze het juiste gereedschap zijn — tellers, vlaggen, indexwaarden. Gebruik floats waar het proces zich bevindt. Het platform geeft je beide; de discipline is kiezen per signaal, niet per religie.

Echte Getallen in de HMI

De HMI en SCADA schermen moeten engineering eenheden tonen, niet ruwe gehele getallen — en de schaling leeft aan de PLC kant. Doe de conversie één keer, in één schaalblok, en de displays lezen overal graden, bar en liters per minuut. Het alternatief — schaling in elk scherm, elke tag, elk rapport — is een formule-typefout die wacht om te gebeuren. Eén conversiepunt per signaal, gedocumenteerd in de blokopmerking, en het hele systeem spreekt de taal van de operator.

Dat is de verschuiving. De hardware heeft het al gedaan. Jouw programmeerstijl is het laatste stuk van de upgrade.