Conversie-operaties
Schaling & Types
Gegevensconversie is de brug tussen de fysieke wereld en digitale code. Beheers de schaling van analoge signalen en de transformatie van datatypes.
Wat zijn conversie-operaties in TIA Portal?
Conversie-operaties maken het mogelijk om een waarde van het ene datatype naar het andere te transformeren (bijv. van een Integer naar een Real) of de precisie van zwevende-kommagetallen te manipuleren. Ze bevatten ook normalisatie- en schalingstools, essentieel voor het verwerken van analoge signalen van industriële sensoren.
TIA Portal biedt moderne en hoogwaardige instructies zoals SCALE_X en NORM_X die de oude SCALE/UNSCALE-blokken van S7-300 systemen effectief vervangen, wat meer flexibiliteit en betere wiskundige precisie biedt.
Typeconversie
Transformatie en afronding van numerieke formaten
CONVERT — Waarde converteren
CONVWat het doet
Converteert een waarde van een bron-datatype naar een bestemmings-datatype. Beheert conversies tussen integers, reals, karakters, tijd en strings.
Wanneer te gebruiken
Een integer voorbereiden voor complexe wiskunde door deze naar Real te converteren, of een foutcode naar String converteren voor HMI-weergave.
Pro Tips
Klik in LAD op de datatypes van het blok om bron en doel te selecteren.
In SCL: myReal := INT_TO_REAL(myInt);
Let op precisieverlies bij het converteren van grote types naar kortere types.
ROUND / TRUNC
ROUNDWat ze doen
ROUND rondt een zwevende-kommagetal af op het dichtstbijzijnde gehele getal. TRUNC verwijdert eenvoudigweg het decimale deel (afkappen).
Wanneer te gebruiken
Een fysieke meting weergeven als een eenvoudige integer, of een Real-resultaat converteren naar een array-index (Int).
Pro Tips
Als het decimale deel exact .5 is, rondt ROUND af naar het dichtstbijzijnde even gehele getal (IEC-norm).
TRUNC is te verkiezen als u alleen decimalen wilt negeren zonder afrondingsberekening.
Beide accepteren Real/LReal en retourneren meestal een DInt.
CEIL / FLOOR
CEILWat ze doen
CEIL (Plafond) genereert het hogere of gelijke gehele getal. FLOOR (Vloer) genereert het lagere of gelijke gehele getal.
Wanneer te gebruiken
Het aantal benodigde bakken berekenen (altijd naar boven afronden met CEIL).
Pro Tips
CEIL(10.1) = 11 ; FLOOR(10.9) = 10.
Essentieel voor verpakkings- en logistieke algoritmen.
Handig om ervoor te zorgen dat een waarde binnen strikte gehele getalgrenzen blijft.
Schaling (Scaling)
Verwerking van analoge signalen
NORM_X — Normaliseren
NORM_XWat het doet
Transformeert een waarde binnen een bereik [MIN..MAX] naar een genormaliseerde waarde tussen 0.0 en 1.0.
Wanneer te gebruiken
Een ruwe analoge ingang lezen (bijv. 0-27648) en deze omzetten naar een percentage.
Pro Tips
Meestal onmiddellijk gevolgd door een SCALE_X blok.
Als de ingang de grenzen overschrijdt, zal de uitgang 0.0 of 1.0 overschrijden.
Zorg ervoor dat MIN verschillend is van MAX.
SCALE_X — Schalen
SCALE_XWat het doet
Neemt een genormaliseerde waarde [0.0..1.0] en projecteert deze op een fysiek bereik (bijv. 0-100°C).
Wanneer te gebruiken
Het resultaat van NORM_X converteren naar een voor de operator leesbare technische eenheid.
Pro Tips
De combinatie NORM_X + SCALE_X is de moderne Siemens-standaard.
Maakt het eenvoudig om sensorbereiken te wijzigen.
Kan ook worden gebruikt voor het omgekeerde: een fysieke instelwaarde naar een analoge uitgang sturen.
Legacy Instructies
S7-300 compatibiliteit (FC105 / FC106)
SCALE / UNSCALE
Wat het doet
Oude blokken die de directe conversie in één stap uitvoeren.
Wanneer te gebruiken
Onderhoud van programma's die zijn gemigreerd van Step 7 Classic.
Pro Tips
SCALE komt overeen met de oude FC105.
Gebruik BIPOLAR voor negatieve signalen (+/- 10V).
Geef de voorkeur aan NORM_X/SCALE_X voor nieuwe ontwikkelingen.
Vergelijking van methoden
De juiste instructie kiezen voor uw behoeften
| U wilt... | Aanbevolen | Voorbeeld |
|---|---|---|
| Type wijzigen (Int -> Real) | CONVERT | Nauwkeurige berekening |
| Decimalen verwijderen | TRUNC | Eenvoudige weergave |
| Wiskundig afronden | ROUND | Statistieken |
| 4-20mA sensor verwerken | NORM_X + SCALE_X | Druksensor 0-16 bar |
| Afronding naar boven | CEIL | Palletberekening |
| Oude S7-300 code | SCALE (FC105) | Migratie |
Veelgestelde Vragen
Waarom NORM_X en SCALE_X gebruiken in plaats van één blok?
Het biedt meer flexibiliteit om de genormaliseerde waarde te filteren of te beperken voordat deze wordt geschaald.
Wat is de standaard ingangswaarde voor een Siemens analoge ingang?
Meestal 0 tot 27648 voor unipolaire signalen.
Hoe converteer ik naar String?
CONVERT doet dit standaard, of gebruik VAL_STRG voor meer controle.
Verschil tussen ROUND en TRUNC?
ROUND rondt af naar de dichtstbijzijnde, TRUNC kapt decimalen gewoon af.