Matemaatilised ja teisendusfunktsioonid
Matemaatiliste funktsioonide teostamisel kasutatakse enamasti numbrilisi muutujaid ja/või arve (konstante). Arvu tüübiks võib olla kas täis- või reaalarv. Täisarvulised muutujaid deklareeritakse andmetüübiga SINT, USINT, INT, UINT, DINT, UDINT, LINT või ULINT. Reaalarvud on arvu märgiga tähistatud komakohaga arvud. Reaalarvud deklareeritakse andmetüübiga REAL ja LREAL. Tabelites 2.4 on toodud numbrilised andmetüübid, nende määramispiirkond, bittide arv (kui suurt ala vajavad mälus) ja konstandi näide (nii nagu neid tuleb kirjutata PLC programmis). Täpsemalt võib lugeda andmetüüpide kohta peatükis PLC-s kasutatavad andmetüübid".
Aritmeetilised tehted
Funktsiooni nimi (FBD ja LD) |
Märk (ST) | Märk (matemaatikas) |
Tehe |
---|---|---|---|
ADD | + | + | Liitmine |
SUB | − | − | Lahutamine |
MUL | * | × | Korrutamine |
DIV | / | ÷ | Jagamine |
MOD | MOD | Jäägiga jagamine | |
EXPT | EXPT | Eksponentsiaal |
CoDeSys võimaldab teostada viite tavalist aritmeetikatehet (tabel 6.1). Peale tavalise jagamise funktsiooni pakutakse ka jäägiga jagamist (MOD), kus tulemuseks on jagamise jääk (murdosa). Aritmeetikatehete juures võib kasutada ka biti mustriga andmetüüpe (tabel 2.3).
Aritmeetikatehteid on soovitav teha muutujatega mille on sama andmetüüp. Jälgida tuleks ka seda, et aritmeetikatehte väljundmuutuja andmetüübiks on valitud sama andmetüüp, mis on suurima mälumahuga sisendmuutujal (nt DINT) või sellest veel suurema mälumahuga andmetüüp (nt LINT). See on vajalik selleks, et aritmeetikatehte tulemus mahuks muutujasse. Kui väljundmuutuja andmetüübi mälumaht on väiksem kui suurima mälumahuga sisendmuutuja andmetüübil, siis võib juhtuda, et õige väärtuse asemel esitatakse tulemuseks mingi suvaline väärtust.
Joonisel 6.1 on näide CoDeSys aritmeetikafunktsioonide kasutamisest FBD keeles. Antud näide vastab järgnevale tehtele: c=(10+5)×100/(26-2). Tehte vastus peaks olema 62,5. Kuid PLC võib anda selle tulemuseks mõnikord ka 62, kui programmis kasutatud muutujad deklareeriti täisarv (nt INT) andmetüübina. Kui soovitakse täpsemat väärtust, siis tuleks kasutada andmetüüpi REAL või LREAL. Peale selle on ADD funktsioonil sisestatud aktiveerimissisendi väärtuseks TRUE, mis tähendab et seda matemaatilist tehet täidetakse kogu aeg (vaata peatükki "Funktsioonide ja funktsioonplokkide aktiveerimissignaalid"). TRUE (loogiline 1) väärtus kandub edasi ka teistele aritmeetikafunktsioonidele.
Kuigi matemaatiliste arvutuste tegemine LD ja FBD keeles on võimalik, siis oluliselt lihtsam ja ülevaatlikum on kasutada selleks ST keelt. Ülevalpool joonisel 6.1 teostatud tehe on tehtud ka joonisel 6.2 ST keeles (tehe on ST keeles välja kirjutatud).
//Aritmeetikatehe konstantidega
c:=(10+5)*100/(26-2);
Järgnevalt on esitatud CoDeSys koostatud aritmeetiliste tehet näite failid, mis saab laadida alla ja testida arvutis.
- Aritmeetikafunktsioonide kasutus FBD keeles
- Aritmeetikafunktsioonide kasutus LD keeles
- Aritmeetikafunktsioonide kasutus ST keeles
FBD ja LD keeles on võimalik kasutada aritmeetikafunktsioone ilma funktsiooni aktiveerimissignaalita (joonis 6.3). See tähendab, et nende tehete täitmist ei saa juhtida ja neid täidetakse kogu aeg. Samuti võimaldab see kanda ühe aritmeetikafunktsiooni tulemust edasi teise aritmeetikafunktsiooni sisendisse ilma vahemuutujata.
FBD | LD |
---|---|
Järgnevalt on esitatud CoDeSys koostatud aritmeetiliste tehet näite failid, kus ei kasutata funktsiooni aktiveerimissignaale.
- Aritmeetikafunktsioonide kasutus FBD keeles ilma aktiveerimissignaalideta
- Aritmeetikafunktsioonide kasutus LD keeles ilma aktiveerimissignaalideta
Aritmeetikafunktsioonidele ADD ja MUL on võimalik lisada juurde veel sisendeid, mida kasutatakse vastava operatsiooni tegemiseks. See tähendab et need funktsioonid ei ole piiratud kahe sisendiga.
MOD funktsioon on ainuke aritmeetikafunktsioon, kus ei saa kasutada andmetüüpe REAL ja LREAL. Joonisel 6.4 on kasutatud MOD funktsiooni FBD ja ST keeles. ST keeles puudub MOD funktsioonil spetsiaalne märk.
FBD | ST |
---|---|
//MOD jagamine
|
EXPT funktsioon võimaldab leida eksponentsiaalväärtuse mingil
teisel alusel IN1IN2 (joonis 6.5). Muutujaga SArv1
antakse ette väärtus, mida kasutatakse eksponendi alusena ja konstant 2 määrab astmeväärtuse ehk siis eksponendi: (SArv1)2. EXPT funktsiooni väljundmuutuja andmetüübina tohib kasutada ainult komakoha arvuga andmetüüpe (REAL ja LREAL).
FBD | ST |
---|---|
//Astendamine
|
Tabelis 6.2 on esitatud aritmeetika tehete juures kasutatavad muutujad, sisendid ja väljundid.
Muutuja | Sisend / Väljund | Andmetüüp | Kommentaar |
---|---|---|---|
EN | BOOL | Funktsiooni aktiveerimissisend | |
a, b, SArv1, SArv2, SArv3 | Bitimustriga ja arvuga elementaarsed andmetüübid | Sisendid, mille väärtusi kasutatakse aritmeetikatehetes (+, −, ×, ÷) | |
c, TArv1 | Väljund, millesse salvestatakse aritmeetikatehte tulemus (+, −, ×, ÷) | ||
SArv4 | BYTE, WORD, DWORD, LWORD, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT | Sisend, mille väärtust kasutatakse MOD funktsioonis | |
TArv2 | Väljund, millesse salvestatakse MOD funktsiooni tulemus | ||
Valjund1 | REAL, LREAL | Väljund, millesse salvestatakse EXPT funktsiooni tulemus |
ST keelt on võimalik kasutada ka FBD ja LD keeltes funktsiooni EXECUTE abil. See võimaldab koostada näiteks aritmeetika tehteid ST keeles ja rakendada saadud tulemus otse FBD või LD keele programmis (joonis 6.6). Kõik ST keelses programmis kasutatud muutujad tuleb deklareerida selles POU-s kus EXECUTE funktsiooni kasutatakse. ST keele programmis olevatele muutujatele ei ole ettenähtud eraldi deklaratsiooniala.
Järgnevalt on esitatud CoDeSys koostatud funktsiooni EXECUTE näite failid, mis saab laadida alla ja testida oma arvutis.
Ülekandefunktsioon
Ülekandefunktsiooni kasutamine võimaldab laadida ühes muutujas olevad andmed ja siirata need teise muutujasse. CoDeSys-s kasutatakse selleks MOVE funktsiooni, kus siirdamis- ja laadimiskäsud on kombineeritud üheks terveks süsteemiks (joonised 6.7 ja 6.8).
FBD | ST |
---|---|
//Ülekandefunktsioon
|
Joonisel 6.7 on esitatud FBD ja ST keeles
MOVE ülekandefunktsioon. Näites kantakse muutuja
SArv1
väärtus edasi muutujale TArv1
juhul, kui aktiveerimissisendis EN
muutuja
Sisend1
signaal on loogiline 1 (vaata peatükki
"Funktsioonide ja funktsioonplokkide aktiveerimissignaalid"). Kui
asendada muutuja Sisend1
konstandiga TRUE
(ST-s ilma IF tingimuseta), siis täidetakse
MOVE funktsiooni iga PLC
töötsükli ajal. Siis ei pea andma eraldi luba funktsiooni täitmiseks.
Järgnevalt on esitatud CoDeSys koostatud ülekandefunktsiooni näite failid, mis saab laadida alla ja testida arvutis.
- Ülekandefunktsiooni kasutus FBD keeles
- Ülekandefunktsiooni kasutus LD keeles
- Ülekandefunktsiooni kasutus ST keeles
Tabelis 6.3 on esitatud MOVE funktsiooni juures
kasutatud muutujad, sisendid ja väljundid. Mõlemad muutujad peaksid olema sama tüüpi ning sisendmuutuja
SArv1
mälumaht ei toiks ületada väljundmuutuja
TArv2
mälumahtu (vastupidi võib olla). MOVE
funktsiooni sisendina võib kasutada ka konstantväärtust.
Muutuja | Sisend / Väljund | Andmetüüp | Kommentaar |
---|---|---|---|
Sisend1 | EN | BOOL | Funktsioon aktiveerimissisend. Võib jätta tühijaks |
SArv1 | Elementaarsed ja komplekssed andmetüübid | Sisendmuutuja, mille väärtus kantakse väljundisse | |
TArv1 | Väljundmuutuja, millesse salvestatakse sisendis olev väärtus |
Arvfunktsioonid
Arvfunktsioonide teostamiseks kasutatakse ainult üht sisendoperandi. Tulemuseks on arvfunktsiooni väärtus [1]. Standard IEC 61131 käsitleb järgmisi funktsioone kui arvfunktsioone:
- absoluutväärtus (ABS)
- ruut (SQRT)
- naturaallogaritm (LN)
- logaritm (LOG)
- eksponentsiial (EXP)
- siinus (SIN)
- koosinus (COS)
- tangens (TAN)
- argussiinus (ASIN)
- arguskoosinus (ARCOS)
- argustangens (ARTAN)
IEC 61131 näeb ette, et arvfunktsiooni sisend- ja väljundmuutujad peavad olema sama tüüpi.
Tabelis 6.4 on esitatud arvfunktsioonide (allpool) juures kasutatavate sisend- ja väljundmuutujad.
Muutuja | Sisend / Väljund | Andmetüüp | Kommentaar |
---|---|---|---|
Sisend1 | EN | BOOL | Funktsioon aktiveerimissisend. Võib jätta tühijaks |
SArv1 | Bitimustriga ja arvuga elementaarsed andmetüübid | Sisendmuutuja, mille väärtus kasutatakse arvfunktsiooni teostamiseks | |
TArv1 | Väljundmuutuja, millesse salvestatakse arvfunktsiooni tulemus | ||
TArv2 | REAL, LREAL | Väljundmuutuja, millesse salvestatakse arvfunktsiooni tulemus |
Absoluutväärtuse leidmine (ABS)
ABS funktsiooni teostamise tulemusena muudetakse sisendmuutuja märgiga (üks kõik kas + või -) täis- või reaalarv positiivseks täis- või reaalarvuks (joonis 6.9). See on ainuke arvfunktsioon, mille juures saab kasutada kõiki arvuga elementaarandmetüüpe.
FBD | ST |
---|---|
//ABS funktsioon
|
Ruutjuur (SQRT)
SQRT arvutab sisendmuutuja SArv1
väärtuse ruutjuure (joonis 6.10). Funktsiooni SQRT
töötab, kui sisendmuutujas SArv1
olev väärtus on suurem või võrdne nulliga. Negatiivse väärtuse puhul annab veateate.
FBD | ST |
---|---|
//SQRT funktsioon
|
SQRT funktsiooni väljundmuutuja TArv2
andmetüübina saab kasutada ainult andmetüüpe REAL ja LREAL.
Ka ülejäänud allpool tutvustatavad arvfunktsioonid lubavad kasutada ainult väljundmuutujaid, mille
andmetüübiks on kas REAL või LREAL.
Logaritm ja eksponentfunktsioonid (LN, LOG, EXP)
LN funktsiooni teostamisel arvutatakse naturaallogaritm (logaritm alusel e = 2,718282) sisendimuutujas oleva väärtuse baasil (joonis 6.11). LOG funktsioon võimaldab leida sisendmuutuja logaritmi 10 alusel.
FBD | ST | |
---|---|---|
//LN ST keeles
|
Logaritmi väärtuse saab mingil teisel alusel (Logba) arvutada, kasutades nt naturaallogaritme, järgmise valemi abil:
EXP funktsioon võimaldab arvutada sisendmuutujas oleva väärtuse alusel eksponentsiaalväärtuse (eSArv1) (joonis 6.12). EXP on vastandiks naturaallogaritmile LN.
FBD | ST |
---|---|
//EXP ST keeles
|
Kõikide siin käsitletud funktsioonide väljundmuutujate andmetüübid peavad olema kas REAL või LREAL.
Trigonomeetrilised funktsioonid
Nimi | Kirjeldus |
---|---|
SIN | siinus |
COS | koosinus |
TAN | tangens |
ASIN | arkussiinus |
ACOS | arkuskoosinus |
ATAN | arkustangens |
Tabelis 6.5 on esitatud CoDeSys kasutatavad trigonomeetrilised funktsioonid. Antud funktsioonide väljundmuutujate andmetüübiks peab olema REAL või LREAL (joonis 6.13). Arvfunktsioonide SIN, COS või TAN abil arvutatakse mingi nurga siinus, koosinus või tangens. Arvutamisel kasutatakse nurga mõõtühikuna radiaani. Järgmise valemiga saab teisendada nurga kaardi väärtuse radiaaniks:
FBD | ST | |
---|---|---|
//SIN ST keeles
|
Funktsioonide ASIN (arkussiinuse), ASIN (arkuskoosinuse)
või ATAN (arkustangensi) abil leiad sisendmuutujas
SArv1
oleva väärtusele vastava nurga väärtuse radiaanides
(joonis 6.13). Funktsioonide ASIN ja
ASIN puhul peab sisendmuutuja SArv1
väärtus
olema suurem või võrdne -1,0 ja väiksem või võrdne +1,0.
Joonisel 6.14 on esitatud funktsioonide ASIN,
ASIN ja ATAN väljundväärtuste piirkond radiaanides.
Funktsiooni ASIN väljundväärtuse vahemik: | |
Funktsiooni ACOS väljundväärtuse vahemik: | |
Funktsiooni ATAN väljundväärtuse vahemik: |
Valikufunktsioonid
Valikufunktsioonide juures võib kasutada kõiki andmetüüpe, mis on kirjeldatud peatükis "PLC-s kasutatavad andmetüübid". Valikufunktsioonide juures kasutatavad nii sisend- kui ka väljundmuutujad peavad olema defineeritud sama andmetüübiga, et vältida veateateid programmi testimisel. Allpool peatükkides ei ole kasutatud valikfunktsioonide juures funktsiooni aktiveerimissignaale. See tähendab et valikfunktsioone täidetakse iga kord kui PLC töötsükkel algab otsast peale.
Suurima ja väikseima tagastamine (MIN, MAX)
MIN funktsioon valib kahes sisendmuutujas
(SArv1
ja SArv2
) olevatest
väärtusest väikseima väärtuse ning väljastab selle väljundmuutujale TArv1
(joonis 6.15). Kasutada saab kõiki andmetüüpe, mis on kirjeldatud pt
"PLC-s kasutatavad andmetüübid". Sisendmuutujate ja väljundmuutuja
andmetüübid peavad kattuma.
FBD | ST | |
---|---|---|
//MIN ST keeles
|
MAX funktsioon valib kahes sisendmuutujas
(SArv1
ja SArv2
) olevatest
väärtustest suurima väärtuse ning väljastab selle väljundmuutujale TArv1
(joonis 6.15).
Tabelis 6.6 on esitatud MIN ja MAX funktsiooni juures kasutatud muutujad, sisendid ja väljundid.
Muutuja | Andmetüüp | Kommentaar |
---|---|---|
SArv1 | Kõik andmetüübid | Sisendmuutuja, mille väärtus võrreldakse teise sisendmuutuja väärtusega |
SArv2 | Sisendmuutuja, mille väärtus võrreldakse esimese sisendmuutuja väärtusega | |
TArv1 | Väljundmuutuja, millesse salvestatakse MIN või MAX funktsiooni tulemus |
Väärtuse piiramine (LIMIT)
LIMIT funktsioon võimaldab sisendimuutuja
SArv1
(IN) väärtust piirata sisendmuutujate
SMin
(MN - alumine piir) ja
SMax
(MX - ülemine piir) kaudu määratud
piiridega. Kui SMin<SArv1<SMax,
siis kantakse sisendmuutuja SArv1
väärtus üle väljundmuutujasse
TArv1
. Kui sisendmuutuja SArv1
väärtus nendele tingimustele ei vasta, siis kantakse väljundisse kas SMin
või SMax
väärtus olenevalt sellest, kumba piirväärtust ületab
sisendmuutujas SArv1
olev väärtus (joonis 6.16).
FBD | ST |
---|---|
//LIMIT ST keeles
|
Tabelis 6.7 on esitatud LIMIT funktsiooni juures kasutatud muutujad, sisendid ja väljundid.
Muutuja | Sisend / Väljund | Andmetüüp | Kommentaar |
---|---|---|---|
SArv1 | IN | Elementaarsed ja komplekssed andmetüübid | Sisendmuutuja, mille väärtus kantakse üle väljundisse kui kehtib seadus SMin<SArv1<SMax |
SMin | MN | Sisendmuutuja, millega määratakse alumine piir | |
SMax | MX | Sisendmuutuja, millega määratakse ülemine piir | |
TArv1 | Väljundmuutuja, kuhu väljastatakse LIMIT funktsiooni tulemus |
Matemaatilised tehted aja muutujatega
Aja ja kuupäeva väärtusi saab liita (suurendada), lahutada (vähendada), korrutada ning jagada. Tabelis 6.8 on esitatud vastavate tehete juures kasutatavate muutujate andmetüübid. Ehk millised andmtüüpe võib kasutada koos vastava matemaatilise tehte juures. Joonistel 6.17 ja 6.18 on esitatud matemaatiliste tehete näited ajaliste muutujatega.
Funktsiooni nimi FBD ja LD keeles | Märk ST keeles | Muutuja SAeg1 | Muutuja SAeg2 (SArv1) | Muutuja TAeg1 |
---|---|---|---|---|
ADD | + | TIME | TIME | TIME |
TOD | TIME | TOD | ||
DT | TIME | DT | ||
SUB | - | TIME | TIME | TIME |
DATE | DATE | TIME | ||
TOD | TIME | TOD | ||
TOD | TOD | TIME | ||
DT | TIME | DT | ||
DT | DT | TIME | ||
MUL | * | TIME | SINT, USINT, INT, UINT, DINT, UDINT | TIME |
DIV | / | TIME | SINT, USINT, INT, UINT, DINT, UDINT | TIME |
Liitmine | Lahutamine |
---|---|
Korrutamine | Jagamine |
//Ajaliste väärtuste liitmine ST keeles
TAeg1 := SAeg1 + SAeg2;
//Ajaliste väärtuse lahutamine ST keeles
TAeg1 := SAeg1 - SAeg2;
//Ajalise väärtuse korrutamine ST keeles
TAeg1 := SAeg1 * SArv1;
//Ajalise väärtuse jagamine ST keeles
TAeg1 := SAeg1 / SArv1;
Ajaliste matemaatiliste tehete juures võib kasutada ka funktsioonide aktiveerimissignaale, mis võimaldab mõjutada matemaatiliste funktsioonide täitmist.
Teisendusfunktsioonid
Teisendusfunktsioone kasutatakse üht tüüpi andmete teisenduseks teist tüüpi andmeteks [viide]. Näiteks on mingis aritmeetikatehtes vaja kasutada operataatorpaneelis oleva muutuja väärtust, mis on esitatud BCD koodis. Selleks tuleb muutuja väärtus BCD koodist teisendada täis- või reaalarvu kujule. Seejärel saab täis- või reaalarvu kujul olevat väärtust kasutada aritmeetikatehtes. Kui täis- või reaalarvulist aritmeetikatehte tulemust on vaja esitada BCD koodis, siis tuleb kasutada vastupidist teisendamist.
Teisendusfunktsioone tuleks kasutada ka siis kui väärtusi tahetakse kanda üle väiksemast andmetüübist suuremasse andmetüüpi nt INT-st DINT-i või vastupidi. See tagab et väärtus kantakse õigesti edasi ja seda ei moonutata (negatiivne väärtus jääb ikka negatiivseks väärtuseks).
Tabelis 6.9 on esitatud mõned IEC 61131 defineeritud teisendusfunktsioonid, mis on ka CoDeSys-s olemas.
Nimi | Kommentaar |
---|---|
<andmetüüp>_TO_<andmetüüp> | Teisendusfunktsiooni sisendisse antud mingi elementaarse andmetüübi väärtus teisendatakse teise elementaarsesse andmetüüpi |
BCD_TO_<andmetüüp> | Funktsiooni sisendisse antud BCD kood teisendatakse mingisse elementaarsesse andmetüüpi |
<andmetüüp>_TO_BCD | Funktsiooni sisendisse antud elementaarse andmetüübi väärtus teisendatakse BCD koodiks |
TRUNC | Funktsiooni sisendisse antud reaalarvuline väärtus teisendatakse täisarvuliseks. Tulemuseks on reaalarvu täisosa. Komakoht kustutatakse |
Teisendusfunktsioon <andmetüüp>_TO_<andmetüüp>
Kõige otsesema andmetüüpide teisendamisega tegeleb funktsioon <andmetüüp>_TO_<andmetüüp>, mis võimaldab enamuse andmetüüpe teisendada mistahes muuks andmetüübiks. TO-st ettepoole kirjutatakse alati andmetüüp, millest võetakse teisendatav väärtus sisse ja teisele poole kirjutatakse andmetüüp, millesse väärtus teisendatakse. Joonistel 6.19 ja 6.20 on esitatud mõned teisendusfunktsiooni näited. CoDeSys on neid veel.
//Erinevad teisendusfunktsioonid ST keeles
TUSInt1 := BOOL_TO_USINT (TRUE);
TWord1 := STRING_TO_WORD ('123');
TReal1 := INT_TO_REAL (SInt1);
TReal1 := TIME_TO_REAL (T#53m38s);
Väärtuste teisendamine ühest andmetüübist teise ei pruugi toimuda ilma kadudeta. Eriti siis, kui teisendatakse suuremast mälumahuga andmetüübist väiksema mälumahuga andmetüüpi, nt WORD-st BYTE-i või DINT-st INT-i. Heal juhul esitatakse väärtus korrektselt. Halvemal juhul saadakse tulemuseks mingi suvaline väärtus.
Teisendusfunktsiooni võib kirjutada ka kujul TO_<andmetüüp>. See tähendab et ütlemata jääb, millisest andmetüübist väärtus sisse võetakse. Täpsustatakse ainult andmetüüp, millesse tahetakse väärtus salvestada (joonis 6.21).
FBD | ST | |
---|---|---|
(*TO_<andmetüüp> funktsioon ST keeles*)
|
BCD teisendusfunktsioonid
Nende kahe BCD teisendusfunktsiooni kasutamiseks tuleb lisada CoDeSys rakendusse teek nimega Util. Teegis on teisendusfunktsioonid BCD_TO_<andmetüüp> ja <andmetüüp>_TO_BCD (joonis 6.22). Mõlema puhul saab kasutada andmetüüpidena INT, BYTE, WORD ja DWORD. INT ja BYTE puhul esitatakse BCD koodi väärtusi vahemikus 0 kuni 99. WORD puhul saab esitada väärtusi 0 kuni 9999 ning DWORD puhul 0 kuni 99 999 999. Kui nendest vahemikest kaldutakse kõrvale, siis esitatakse tulemuseks mingi suvaline väärtus (enamasti on selleks veateate number).
FBD | ST |
---|---|
//BCD teisendus funktsioonid ST keeles
|
|
Teisendusfunktsioon TRUNC
TRUNC on teisendusfunktsioon, mis teisendab komakohaga arvud (reaalarvud) teistesse tüüpidesse (täisarvudeks). TRUNC funktsioon lõikab välja komakohaga arvust täisarvu ja väljastab tulemuse muutujale, mis võtab enda alla 64 bitti. See funktsioon ei arvesta murdosa (joonis 6.23 ja 6.24). TRUNC_INT funktsioon väljastab täisarvu 32 bitisele muutujale.
FBD | ST |
---|---|
//TRUNC funktsioonid ST keeles
|
|
Jooniselt 6.24 näeb et funktsioon REAL_TO_INT ümardab komakohaga arvud täisarvuks nii nagu seda matemaatikas tehakse.
Väärtused | FBD |
---|---|
ST | |
//Komakoha arvu teisendamine ST keeles
|