Ìîäóëü: | FLibSYS |
Èìÿ: | Áèáëèîòåêà ôóíêöèé ñèñòåìíîãî API. |
Òèï: | Ñïåöèàëüíûå |
Èñòî÷íèê: | spec_FLibSYS.so |
Âåðñèÿ: | 1.2.0 |
Àâòîð: | Ðîìàí Ñàâî÷åíêî |
Îïèñàíèå: | Ïðåäîñòàâëÿåò áèáëèîòåêó ñèñòåìíîãî API ñðåäû ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ. |
Ëèöåíçèÿ: | GPL |
Ñïåöèàëüíûé ìîäóëü FLibSYS ïðåäîñòàâëÿåò â ñèñòåìó OpenSCADA ñòàòè÷åñêóþ áèáëèîòåêó ôóíêöèé äëÿ ðàáîòû ñ ñèñòåìîé OpenSCADA, íà óðîâíå å¸ ñèñòåìíîãî API. Ýòè ôóíêöèè ìîãóò èñïîëüçîâàòüñÿ â ñðåäå ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ ñèñòåìû OpenSCADA äëÿ îðãàíèçàöèè íåîðäèíàðíûõ àëãîðèòìîâ âçàèìîäåéñòâèÿ.
Äëÿ àäðåñàöèè ê ôóíêöèÿì ýòîé áèáëèîòåêè ìîæíî èñïîëüçîâàòü ñòàòè÷åñêèé àäðåñ âûçîâà "Special.FLibSYS.{Func}()" èëè äèíàìè÷åñêèé "SYS.Special.FLibSYS["{Func}"].call()", "SYS.Special.FLibSYS.{Func}()". Ãäå {Func} — èäåíòèôèêàòîð ôóíêöèè â áèáëèîòåêå.
Íèæå ïðèâåäåíî îïèñàíèå êàæäîé ôóíêöèè áèáëèîòåêè. Äëÿ êàæäîé ôóíêöèè ïðîèçâîäèëàñü îöåíêà âðåìåíè èñïîëíåíèÿ. Èçìåðåíèå ïðîèçâîäèëîñü íà ñèñòåìå ñî ñëåäóþùèìè ïàðàìåòðàìè: Athlon 64 3000+ (ALTLinux 4.0(32áèò)) ïóò¸ì çàìåðà îáùåãî âðåìåíè èñïîëíåíèÿ ôóíêöèè ïðè âûçîâå å¸ 1000 ðàç. Âûáîðêà ïðîèçâîäèëàñü èç ïÿòè âû÷èñëåíèé ñ îêðóãëåíèåì äî ìåíüøåãî öåëîãî. Âðåìÿ çàêëþ÷àåòñÿ â óãëîâûå ñêîáêè è èçìåðÿåòñÿ â ìèêðîñåêóíäàõ.
Îïèñàíèå: Îñóùåñòâëÿåò âûçîâû êîíñîëüíûõ êîìàíä ÎÑ. Ôóíêöèÿ îòêðûâàåò øèðîêèå âîçìîæíîñòè ïîëüçîâàòåëþ OpenSCADA ïóò¸ì âûçîâà ëþáûõ ñèñòåìíûõ ïðîãðàìì, óòèëèò è ñêðèïòîâ, à òàêæå ïîëó÷åíèÿ ïîñðåäñòâîì íèõ äîñòóïà ê îãðîìíîìó îáú¸ìó ñèñòåìíûõ äàííûõ. Íàïðèìåð êîìàíäà "ls -l" âåðí¸ò äåòàëèçèðîâàííîå ñîäåðæèìîå ðàáî÷åé äèðåêòîðèè.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
com | Êîìàíäà | Ñòðîêà | Âõîä |
Ïðèìåð:
using Special.FLibSYS; test=sysCall("ls -l"); messPut("Example",0,"Example: "+test);
Îïèñàíèå: Ôîðìèðîâàíèå SQL-çàïðîñà ê ÁÄ.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Îáúåêò(Ìàññèâ) | Âîçâðàò | |
addr | Àäðåñ ÁÄ | Ñòðîêà | Âõîä | |
req | SQL-çàïðîñ | Ñòðîêà | Âõîä |
Îïèñàíèå: Ñîçäàíèå îáúåêòà óçëà XML.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Îáúåêò(XMLNodeObj) | Âîçâðàò | |
name | Èìÿ | Ñòðîêà | Âõîä |
Ïðèìåð:
using Special.FLibSYS; //Ñîçäàíèå îáüåêòà "get" óçëà XML. req = xmlNode("get"); //Ñîçäàíèå îáüåêòà "get" óçëà XML ñ ñîçäàíèåì àòðèáóòîâ. //sub_DAQ/mod_ModBus/cntr_1/prm_1 — ïóòü ñîãëàñíî ñòðóêòóðå ïðîåêòà req = xmlNode("get").setAttr("path",);
Îïèñàíèå: Çàïðîñ èíòåðôåéñà óïðàâëåíèÿ ê ñèñòåìå ïîñðåäñòâîì XML. Îáû÷íûé çàïðîñ çàïèñûâàåòñÿ â âèäå "<get path="/OPath/%2felem"/>". Ïðè óêàçàíèè ñòàíöèè îñóùåñòâëÿåòñÿ çàïðîñ ê âíåøíåé ñòàíöèè.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
req | Çàïðîñ | Îáúåêò(XMLNodeObj) | Âûõîä | |
stat | Ñòàíöèÿ | Ñòðîêà | Âõîä |
Ïðèìåð:
using Special.FLibSYS; //Ïîëó÷åíèå ïðèçíàêà "Âêëþ÷åí/Âûêëþ÷åí" ïàðàìåòðà "1" êîíòðîëëåðà "1" ìîäóëÿ "ModBus". //sub_DAQ/mod_ModBus/cntr_1/prm_1 — ïóòü ñîãëàñíî ñòðóêòóðå ïðîåêòà req = xmlNode("get").setAttr("path",); rez = xmlCntrReq(req); messPut("test",0,"Çíà÷åíèå: "+req.text()); //Óñòàíîâêà ïðèçíàêà "Âêëþ÷åí" ïàðàìåòðà "1" êîíòðîëëåðà "1" ìîäóëÿ "ModBus". req = xmlNode("set").setAttr("path",).setText(1); rez = xmlCntrReq(req); //Óñòàíîâêà ïðèçíàêà "Âûêëþ÷åí" ïàðàìåòðà "1" êîíòðîëëåðà "1" ìîäóëÿ "ModBus". req = xmlNode("set").setAttr("path",).setText(0); rez = xmlCntrReq(req);
Îïèñàíèå: Ïîëó÷åíèå îáúåêòà àðõèâà çíà÷åíèé (VArchObj) ïóò¸ì ïîäêëþ÷åíèÿ ê àðõèâó ïî åãî àäðåñó.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Îáúåêò(VArchObj) | Âîçâðàò | |
name | Èìÿ, àäðåñ ê àòðèáóòó ïàðàìåòðà ñ àðõèâîì (DAQ.{Module}.{Cntr}.{Prm}.{Attr}) èëè íåïîñðåäñòâåííî ê àðõèâó çíà÷åíèé (Archive.va_{ValArchive}). | Ñòðîêà | Âõîä |
Ôóíêöèè:
Ïðèìåð:
using Special.FLibSYS; val = vArh(strPath2Sep(addr)).get(time,uTime,0,archivator); return val.isEval() ? "Ïóñòî" : real2str(val,prec);
Îïèñàíèå: Ïîëó÷åíèå îáúåêòà áóôåðà àðõèâà çíà÷åíèé (VArchObj) äëÿ âûïîëíåíèÿ ïðîìåæóòî÷íûõ îïåðàöèé íàä êàäðàìè äàííûõ.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Îáúåêò(VArchObj) | Âîçâðàò | |
tp | Òèï çíà÷åíèé àðõèâà (0-Boolean, 1-Integer, 4-Real, 5-String) | Öåëûé | Âõîä | 1 |
sz | Ìàêñèìàëüíûé ðàçìåð áóôåðà | Öåëûé | Âõîä | 100 |
per | Ïåðèîäè÷íîñòü áóôåðà (â ìèêðîñåêóíäàõ) | Öåëûé | Âõîä | 1000000 |
hgrd | Ðåæèì "Æåñòêàÿ ñåòêà âðåìåíè" | Ëîãè÷åñêèé | Âõîä | 0 |
hres | Ðåæèì "Âûñîêîãî ðàçðåøåíèÿ âðåìåíè (ìèêðîñåêóíäû)" | Ëîãè÷åñêèé | Âõîä | 0 |
Îïèñàíèå: Ââîä/Âûâîä â: ôàéë, ñòðîêîâûé ïîòîê.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Îáúåêò(IO) | Âîçâðàò | |
name | Èìÿ ôàéëà èëè äàííûå (äëÿ ñòðîêîâîãî ïîòîêà) | Ñòðîêà | Âõîä | |
accs | Äîñòóï ê ôàéëó (''-ñòðîêîâûé ïîòîê;'r[+]'-÷òåíèå;'w[+]'-çàïèñü ñ íóëÿ;'a[+]'-äîáàâëåíèå;...) | Ñòðîêà | Âõîä | |
mFormat | Ôîðìàò äàííûõ ìàøèíû ('n'-ñèñò. ïîðÿäîê;'b'-BigEndian;'l'-LittleEndian) | Öåëîå | Âõîä | "n" |
enc | Êîäèðîâêà ñòðîêè â ôàéëå | Ëîãè÷åñêèé | Âõîä |
Çíà÷åíèÿ:
Ñâîéñòâà:
Ôóíêöèè:
Îïèñàíèå: Ïðåîáðàçóåò àáñîëþòíîå âðåìÿ â ñòðîêó íóæíîãî ôîðìàòà. Çàïèñü ôîðìàòà ñîîòâåòñòâóåò POSIX-ôóíêöèè strftime.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
val | Ñòðîêà ïîëíîé äàòû | Ñòðîêà | Âîçâðàò | |
sec | Ñåêóíäû | Öåëûé | Âõîä | 0 |
form | Ôîðìàò | Ñòðîêà | Âõîä | %Y-%m-%d %H:%M:%S |
Ïðèìåð:
using Special.FLibSYS; test=tmFStr(SYS.time(),); messPut("Example",0,"tmFStr(): "+test);
Îïèñàíèå: Âîçâðàùàåò ïîëíóþ äàòó â ñåêóíäàõ, ìèíóòàõ, ÷àñàõ è ò.ä, èñõîäÿ èç àáñîëþòíîãî âðåìåíè â ñåêóíäàõ îò ýïîõè 1.1.1970.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
fullsec | Ïîëíûå ñåêóíäû | Öåëûé | Âõîä | 0 |
sec | Ñåêóíäû [0...59] | Öåëûé | Âûõîä | 0 |
min | Ìèíóòû [0...59] | Öåëûé | Âûõîä | 0 |
hour | ×àñû [0...23] | Öåëûé | Âûõîä | 0 |
mday | Äåíü ìåñÿöà [1...31] | Öåëûé | Âûõîä | 0 |
month | Ìåñÿö [0...11] | Öåëûé | Âûõîä | 0 |
year | Ãîä, îò 1900 | Öåëûé | Âûõîä | 0 |
wday | Äåíü íåäåëè [0...6] | Öåëûé | Âûõîä | 0 |
yday | Äåíü â ãîäó [0...365] | Öåëûé | Âûõîä | 0 |
isdst | Ëåòíåå âðåìÿ | Öåëûé | Âûõîä | 0 |
Ïðèìåð:
using Special.FLibSYS; curMin=curHour=curDay=curMonth=curYear=0; tmDate(tmTime(),0,curMin,curHour,curDay,curMonth,curYear); messPut("test",0,"Òåêóùàÿ ìèíóòà: "+curMin); messPut("test",0,"Òåêóùèé ÷àñ : "+curHour); messPut("test",0,"Òåêóùèé äåíü: "+curDay); messPut("test",0,"Òåêóùèé ìåñÿö: "+curMonth); messPut("test",0,"Òåêóùèé ãîä: "+curYear);
Îïèñàíèå: Âîçâðàùàåò àáñîëþòíîå âðåìÿ â ñåêóíäàõ îò ýïîõè 1.1.1970 è ìèêðîñåêóíäàõ, åñëè usec óñòàíîâëåí â íåîòðèöàòåëüíîå çíà÷åíèå.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
sec | Ñåêóíäû | Öåëûé | Âîçâðàò | 0 |
usec | Ìèêðîñåêóíäû | Öåëûé | Âûõîä | -1 |
Îïèñàíèå: Âîçâðàùàåò âðåìÿ â ñåêóíäàõ îò ýïîõè 1.1.1970, èñõîäÿ èç ñòðîêîâîé çàïèñè âðåìåíè, â ñîîòâåòñòâèè ñ óêàçàííûì øàáëîíîì. Íàïðèìåð, øàáëîíó "%Y-%m-%d %H:%M:%S" ñîîòâåòñòâóåò âðåìÿ "2006-08-08 11:21:55". Îïèñàíèå ôîðìàòà øàáëîíà ìîæíî ïîëó÷èòü èç äîêóìåíòàöèè íà POSIX-ôóíêöèþ "strptime".
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
sec | Ñåêóíäû | Öåëûé | Âîçâðàò | 0 |
str | Ñòðîêà äàòû | Ñòðîêà | Âõîä | |
form | Ôîðìàò çàïèñè äàòû | Ñòðîêà | Âõîä | %Y-%m-%d %H:%M:%S |
Ïðèìåð:
using Special.FLibSYS; curMin=curHour=curDay=curMonth=curYear=0; tmDate(tmTime(),0,curMin,curHour,curDay,curMonth,curYear); test = tmStrPTime(""+curYear+"-"+(curMonth+1)+"-"+curDay+" 9:0:0",); messPut("Example",0,"tmStrPTime(): "+test);
Îïèñàíèå: Âîçâðàùàåò âðåìÿ ñïëàíèðîâàííîå â ôîðìàòå ñòàíäàðòà Cron íà÷èíàÿ îò áàçîâîãî âðåìåíè èëè îò òåêóùåãî åñëè áàçîâîå íå óêàçàíî.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
res | Ðåçóëüòàò | Öåëûé | Âîçâðàò | 0 |
str | Çàïèñü â ñòàíäàðòå Cron | Ñòðîêà | Âõîä | * * * * * |
base | Áàçîâîå âðåìÿ | Öåëûé | Âõîä | 0 |
Îïèñàíèå: Êîðîòêèé ñîí îò íàíîñåêóíä è äî STD_INTERF_TM (5 ñåêóíä).
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
res | Ðåçóëüòàò | Öåëûé | Âîçâðàò | 0 |
tm | Âðåìÿ | Âåùåñòâåííûé | Âõîä | 0 |
Îïèñàíèå: Çàïðîñ ñèñòåìíûõ ñîîáùåíèé.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Îáúåêò(Ìàññèâ) | Âîçâðàò | |
btm | Âðåìÿ íà÷àëà | Öåëîå | Âõîä | |
etm | Âðåìÿ êîíöà | Öåëîå | Âõîä | |
cat | Êàòåãîðèÿ ñîîáùåíèÿ | Ñòðîêà | Âõîä | |
lev | Óðîâåíü ñîîáùåíèÿ | Öåëûé | Âõîä | |
arch | Àðõèâàòîð | Ñòðîêà | Âõîä |
Îïèñàíèå: Ôîðìèðîâàíèå ñèñòåìíîãî ñîîáùåíèÿ.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
cat | Êàòåãîðèÿ ñîîáùåíèÿ | Ñòðîêà | Âõîä | |
lev | Óðîâåíü ñîîáùåíèÿ | Öåëûé | Âõîä | |
mess | Òåêñò ñîîáùåíèÿ | Ñòðîêà | Âõîä |
Ïðèìåð:
rnd_sq_gr11_lineClr="red"; Special.FLibSYS.messPut("Example",1,"Event: "+rnd_sq_gr12_leniClr);
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ ïîëó÷åíèÿ ðàçìåðà.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Öåëûé | Âîçâðàò | |
str | Ñòðîêà | Ñòðîêà | Âõîä |
Ïðèìåð:
Special.FLibSYS.messPut("Example",1,"ReturnString: "+strSize("Example"));
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ ïîëó÷åíèÿ ÷àñòè ñòðîêè.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
str | Ñòðîêà | Ñòðîêà | Âõîä | |
pos | Ïîçèöèÿ | Öåëûé | Âõîä | 0 |
n | Êîëè÷åñòâî | Öåëûé | Âõîä | -1 |
Ïðèìåð:
using Special.FLibSYS; test=strSubstr("Example", 0, strSize("Example")-1); messPut("Example",1,"ReturnString: "+test);
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ âñòàâêè îäíîé ñòðîêè â äðóãóþ.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
str | Ñòðîêà | Ñòðîêà | Âûõîä | |
pos | Ïîçèöèÿ | Öåëûé | Âõîä | 0 |
ins | Âñòàâëÿåìàÿ ñòðîêà | Ñòðîêà | Âõîä |
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ çàìåíû ÷àñòè ñðîêè äðóãîé ñòðîêîé.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
str | Ñòðîêà | Ñòðîêà | Âûõîä | |
pos | Ïîçèöèÿ | Öåëûé | Âõîä | 0 |
n | Êîëè÷åñòâî | Öåëûé | Âõîä | -1 |
repl | Çàìåíÿþùàÿ ñòðîêà | Ñòðîêà | Âõîä |
Îïèñàíèå: Èñïîëüçóåòñÿ â ðàçáîðå ñòðîêè ïî ðàçäåëèòåëþ.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
str | Ñòðîêà | Ñòðîêà | Âõîä | |
lev | Óðîâåíü | Öåëûé | Âõîä | |
sep | Ðàçäåëèòåëü | Ñòðîêà | Âõîä | "." |
off | Ñìåùåíèå | Öåëûé | Âûõîä |
Ïðèìåð:
using Special.FLibSYS; ExapleString="Example:123"; test=strParse(ExapleString,1,":"); messPut("Example",0,"strParse(): "+test);
Îïèñàíèå: Èñïîëüçóåòñÿ â ðàçáîðå ïóòè íà ýëåìåíòû.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
path | Ïóòü | Ñòðîêà | Âõîä | |
lev | Óðîâåíü | Öåëûé | Âõîä | |
off | Ñìåùåíèå | Öåëûé | Âûõîä |
Ïðèìåð:
using Special.FLibSYS; test=strParsePath(path,0,"/"); messPut("Example",1,"strParsePath(): "+test);
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ ïðåîáðàçîâàíèÿ ïóòè â ñòðîêó ñ ðàçäåëèòåëåì.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
src | Èñòî÷íèê | Ñòðîêà | Âõîä | |
sep | Ðàçäåëèòåëü | Ñòðîêà | Âõîä | "." |
Ïðèìåð:
//Ïðåîáðàçóåì çíà÷åíèå "/ses_AGLKS/pg_so" àòðèáóòà "path" â çíà÷åíèå "ses_AGLKS.pg_so" using Special.FLibSYS; test = strPath2Sep(path); messPut("Example",0,"path: "+path); messPut("Example",0,"strPath2Sep(): "+test);
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ êîäèðîâàíèÿ ñòðîêè äëÿ èñïîëüçîâàíèÿ â èñõîäíèêå HTML.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
src | Èñòî÷íèê | Ñòðîêà | Âõîä |
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ êîäèðîâàíèÿ òåêñòà â áèíàðíûé âèä, èç ôîðìàòà <00 A0 FA DE>.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
src | Èñòî÷íèê | Ñòðîêà | Âõîä |
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ äåêîäèðîâàíèÿ òåêñòà èç áèíàðíîãî âèäà â ôîðìàò <00 A0 FA DE>.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
src | Èñòî÷íèê | Ñòðîêà | Âõîä |
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ ïðåîáðàçîâàíèÿ âåùåñòâåííîãî â ñòðîêó.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
val | Çíà÷åíèå | Âåùåñòâåííîå | Âõîä | |
prc | Òî÷íîñòü | Öåëîå | Âõîä | 4 |
tp | Òèï | Ñòðîêà | Âõîä | "f" |
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ ïðåîáðàçîâàíèÿ öåëîãî â ñòðîêó.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Ñòðîêà | Âîçâðàò | |
val | Çíà÷åíèå | Öåëîå | Âõîä | |
base | Áàçà, ïîääåðæèâàþòñÿ: 8, 10, 16 | Öåëîå | Âõîä | 10 |
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ ïðåîáðàçîâàíèÿ ñòðîêè â âåùåñòâåííîå.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Âåùåñòâåííîå | Âîçâðàò | |
val | Çíà÷åíèå | Ñòðîêà | Âõîä |
Îïèñàíèå: Èñïîëüçóåòñÿ äëÿ ïðåîáðàçîâàíèÿ ñòðîêè â öåëîå.
Ïàðàìåòðû:
ID | Èìÿ | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Öåëîå | Âîçâðàò | |
val | Çíà÷åíèå | Ñòðîêà | Âõîä | |
base | Îñíîâà | Öåëûé | Âõîä | 0 |
Îïèñàíèå: Ðåàëèçàöèÿ Öèêëè÷åñêîãî Èçáûòî÷íîãî Êîäà äëÿ äëèí 8-64 áèò.
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Öåëîå | Âîçâðàò | |
data | Äàííûå | Ñòðîêà | Âõîä | |
poly | Ïîëèíîì (ðåâåðñèâíûé) | Öåëûé | Âõîä | 40961 (0xA001) |
width | Øèðèíà | Öåëûé | Âõîä | 16 |
init | Èíèöèàëèçàöèÿ | Öåëûé | Âõîä | -1 (0xFFFFFFFFFFFFFFFF) |
Îïèñàíèå: Ðàçäåëåíèå float (4 áàéòîâ) íà ñëîâà (2 áàéòà).
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
val | Çíà÷åíèå | Âåùåñòâåííîå | Âõîä | |
w1 | Ñëîâî 1 | Öåëûé | Âûõîä | |
w2 | Ñëîâî 2 | Öåëûé | Âûõîä |
Îïèñàíèå: Îáúåäèíåíèå float (4 áàéòîâ) èç ñëîâ (2 áàéòà).
Ïàðàìåòðû:
ID | Ïàðàìåòð | Òèï | Ðåæèì | Ïî óìîë÷àíèþ |
rez | Ðåçóëüòàò | Âåùåñòâåííîå | Âîçâðàò | |
w1 | Ñëîâî 1 | Öåëûé | Âõîä | |
w2 | Ñëîâî 2 | Öåëûé | Âõîä |
Íåêîòîðûå îáúåêòû ìîäóëÿ ïðåäîñòàâëÿþò ôóíêöèè ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ.
Îáúåêò "Áèáëèîòåêà ôóíêöèé" (SYS.Special.FLibSYS)
Îáúåêò "Ïîëüçîâàòåëüñêàÿ ôóíêöèÿ" (SYS.Special.FLibSYS["funcID"])