Navodila TIA Portal

Matematične Funkcije
Izračuni & Algoritmi

Od preprostega seštevanja do kompleksnih enačb — matematične funkcije pretvorijo vaše surove podatke v uporabne informacije za vodenje vaših procesov.

Kaj so matematične funkcije v TIA Portalu?

Matematične funkcije v TIA Portalu omogočajo izvajanje aritmetičnih, trigonometričnih in logaritemskih izračunov na različnih podatkovnih tipih (Cela števila, Realna števila). So bistvene za skaliranje senzorjev, izračun trajektorij ali regulacijo PID zank.

TIA Portal izstopa z navodilom CALCULATE, ki omogoča zapis kompleksnega izraza (npr. (in1 + in2) * in3 / in4) v enem bloku, kar izboljša preglednost v primerjavi z verigo posameznih blokov ADD/MUL.

Osnovna Aritmetika

Temeljne operacije za obdelavo podatkov

CALCULATE — Izračunaj

CALC

Kaj počne

Omogoča definiranje prostega matematičnega izraza, ki združuje več vhodov (IN1...INn). Vnesete formulo in TIA Portal generira ustrezne priključke.

Kdaj uporabiti

Takoj ko izračun zahteva več kot dva koraka. Idealno za izračune pretoka, volumna ali katero koli kompleksno fizikalno formulo.

Pro Nasveti

Funkcije, kot so ABS, SQRT ali SIN, lahko uporabite neposredno znotraj izraza CALCULATE.

Vedno preverite izhodni podatkovni tip (OUT), da preprečite prekoračitve (Overflow).

V SCL je to naravni ekvivalent neposredne dodelitve: out := (in1 + in2) * in3;

ADD / SUB / MUL / DIV

+
+, -, *, /

Kaj počnejo

Standardna aritmetična navodila: Seštevanje, Odštevanje, Množenje in Deljenje.

Kdaj uporabiti

Za preproste in hitre operacije med dvema vrednostma.

Pro Nasveti

Pri deljenju (DIV) vedno uporabite test |OK| ali preverite, da delitelj ni nič, da preprečite zaustavitev CPU.

Navodilo ADD lahko sprejme več kot dva vhoda s klikom na rumeno ikono na bloku.

Za cela števila DIV vrne celoštevilski količnik. Uporabite MOD za ostanek.

MOD — Modulo

MOD

Kaj počne

Vrne ostanek celoštevilskega deljenja med IN1 in IN2.

Kdaj uporabiti

Upravljanje krožnih medpomnilnikov (ring buffers), izmenjava ciklov (npr. črpalki 1 in 2) ali pretvorba enot (npr. sekunde v minute/sekunde).

Pro Nasveti

Zelo uporabno za sprožitev dejanja vsakih 'N' ciklov.

Na voljo samo za celoštevilske podatkovne tipe (Int, DInt itd.).

SCL: remainder := value1 MOD value2;

Predznak & Inkrement

Upravljanje predznaka in hitre enotne operacije

INC / DEC — Povečaj / Zmanjšaj

++
++ / --

Kaj počne

Prišteje ali odšteje 1 določeni spremenljivki (v InOut).

Kdaj uporabiti

Preprosti števci kosov, indeksi zank, upravljanje vrst.

Pro Nasveti

Hitreje za zapis kot celoten blok ADD ali SUB.

Pozor na podatkovni tip: inkrement na Int pri 32767 bo preskočil na -32768.

V SCL: i := i + 1; ali INC(i);

ABS — Absolutna vrednost

ABS

Kaj počne

Vrne pozitivno vrednost števila, ne glede na to, ali je bilo prvotno pozitivno ali negativno.

Kdaj uporabiti

Izračun odstopanja med meritvijo in nastavljeno vrednostjo, merjenje razdalje, izračun PID napake.

Pro Nasveti

Nujno za izračun absolutne napake (|nastavljena vrednost - meritev|).

Podpira cela in realna števila.

SCL: positiveVal := ABS(originalVal);

Min / Max / Meja

Izbira in omejevanje vrednosti

MIN / MAX — Najmanj / Največ

MIN

Kaj počne

Primerja N vrednosti in vrne najmanjšo (MIN) ali največjo (MAX).

Kdaj uporabiti

Izbira najvišje temperature med več sondami, določanje minimalne dovoljene hitrosti.

Pro Nasveti

Bloku lahko dodate toliko vhodov, kolikor jih potrebujete.

Zelo uporabno za diagnostiko z več senzorji.

SCL: peakValue := MAX(val1, val2, val3);

LIMIT — Omeji

LIMIT

Kaj počne

Omeji (clamp) vhodno vrednost (IN) med minimumom (MN) in maksimumom (MX).

Kdaj uporabiti

Varnost na analognih izhodih (npr. preprečevanje odpiranja ventila za več kot 80 %), omejevanje uporabniških nastavitev.

Pro Nasveti

Učinkovito nadomesti kombinacijo MIN in MAX.

Če je MN > MX, je izhod odvisen od tipa CPU, običajno pa se vzame MX.

SCL: safeVal := LIMIT(MN:=0.0, IN:=rawVal, MX:=100.0);

Potence & Koreni

Eksponentni in radikalni izračuni

SQRT / SQR / EXPT

SQRT

Kaj počnejo

SQRT (Kvadratni koren), SQR (Kvadrat), EXPT (Poljubna potenca).

Kdaj uporabiti

Geometrijski izračuni, pretvorba nelinearnih signalov, fizika tekočin.

Pro Nasveti

SQRT negativnega števila vrne NaN. Vedno preverite vhod ali uporabite ABS.

EXPT porabi veliko CPU ciklov, uporabite SQR za preproste kvadrate.

SCL: area := 3.14 * SQR(radius);

Trigonometrija

Izračuni kotov in rotacij

SIN / COS / TAN / ASIN...

SIN

Kaj počnejo

Standardni trigonometrični izračuni in njihovi inverzi (arcsin, arccos, arctan). Koti so vedno v RADIANIH.

Kdaj uporabiti

Kinematika robotov, izračuni kotnega pozicioniranja, obdelava nihajočih signalov.

Pro Nasveti

Pretvorba stopinj v radiane: Radiani = Stopinje * (PI / 180).

TAN(PI/2) teži k neskončnosti, spremljajte svoje vhode.

Uporabite sistemske konstante za PI, da zagotovite natančnost.

Napredne Funkcije

Logaritmi in decimalni deli

LN / EXP / FRAC

LN

Kaj počnejo

LN (Naravni logaritem), EXP (Eksponentna funkcija e^x), FRAC (Izloči decimalni del).

Kdaj uporabiti

Modeliranje kemijskih procesov, eksponentna rast ali ločevanje enot (FRAC).

Pro Nasveti

FRAC(12.34) vrne 0.34. Zelo priročno za izračune časovne natančnosti.

EXP je natančen inverz LN.

SCL: fraction := FRAC(totalValue);

Primerjava pristopov k izračunu

LAD vs SCL — Katero metodo izbrati?

Vrsta izračunaPriporočena metodaZakaj?
Preprosto seštevanjeBlok ADD (LAD)Vizualno in enostavno sledljivo
Kompleksna formulaBlok CALCULATEKompaktno in zmanjša število mrež
Matematični algoritemJezik SCLSintaksa blizu C/Pascalu, idealno za formule
Trigonometrični izračunSCL ali CALCULATEPosamezni bloki zavzamejo preveč prostora
Omejevanje signalaBlok LIMITSiemensov standard, zelo robusten
Ponastavitev indeksaNavodilo INC/DECZelo hitra implementacija

Pogosta Vprašanja

Kaj je prednost CALCULATE pred več bloki ADD/MUL?

CALCULATE znatno zmanjša prostor, ki ga zavzame program. Namesto 5 mrež z vmesnimi začasnimi spremenljivkami imate en sam blok z berljivo formulo. Prav tako ga je lažje vzdrževati, če se formula spremeni.

Kako TIA Portal obravnava napake pri izračunu (npr. deljenje z nič)?

Na S7-1200/1500 matematična napaka ne ustavi nujno CPU (odvisno od konfiguracije), vendar rezultat postane NaN. KLJUČNO je uporabiti navodilo |OK| po občutljivem izračunu, da preverite rezultat pred njegovo uporabo.

Ali trigonometrične funkcije uporabljajo stopinje ali radiane?

Vse funkcije (SIN, COS, TAN itd.) uporabljajo izključno RADIANE. Če vaš HMI zagotavlja stopinje, morate vrednost pomnožiti z 0.01745329 (PI/180), preden jo vstavite v blok.

Ali lahko izvajam izračune na 64 bitih (LReal)?

Da, S7-1500 nativno podpirajo tip LReal (Long Real) za povečano natančnost. Večina matematičnih funkcij sprejme ta tip.

Poenostavite svoje kompleksne izračune

Opišite svojo fizikalno formulo ali algoritem, T-IA Connect bo ustvaril blok CALCULATE ali optimizirano SCL kodo s preverjanjem podatkov.