OpenSCADAWiki: Using/API Function Libs/ Lib Reg El ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Using/APIFunctionLibs/LibRegEl from 2016-11-13 16:56:25..

Áèáëèîòåêà ýëåìåíòîâ ðåãóëèðîâàíèÿ

Èìÿ: regEl
Îñíîâàí: ÿíâàðü 2010ã
Âåðñèÿ: 1.0.0
Ñòàòóñ: Îòêðûòûé (GPL)
Àâòîð: Ðîìàí Ñàâî÷åíêî
Îïèñàíèå: Áèáëèîòåêà ôóíêöèé ðåãóëèðîâàíèÿ.
Àäðåñ: ÁÄ â ôàéëå: SQLite.LibDB.regEl (oscadalibs.db.gz)


Contents

Ïðî áèáëèîòåêó

Áèáëèîòåêà ñîçäà¸òñÿ äëÿ ïðåäîñòàâëåíèÿ ôóíêöèé ðàçëè÷íûõ àëãîðèòìîâ ðåãóëèðîâàíèÿ è ìîæåò áûòü èñïîëüçîâàíà â ïðîãðàììèðóåìûõ ëîãè÷åñêèõ êîíòðîëëåðàõ (ÏËÊ) íà îñíîâå OpenSCADA äëÿ ïîñòðîåíèÿ ñõåì óïðàâëåíèÿ. Áèáëèîòåêà íå ÿâëÿåòñÿ ñòàòè÷åñêîé, à ñòðîèòñÿ íà îñíîâå ìîäóëÿ JavaLikeCalc, ïîçâîëÿþùåãî ñîçäàâàòü âû÷èñëåíèÿ íà Java-ïîäîáíîì ÿçûêå.


Äëÿ àäðåñàöèè ê ôóíêöèÿì ýòîé áèáëèîòåêè ìîæíî èñïîëüçîâàòü ñòàòè÷åñêèé àäðåñ âûçîâà "DAQ.JavaLikeCalc.lib_regEl.{Func}()" èëè äèíàìè÷åñêèé "SYS.DAQ.JavaLikeCalc["lib_regEl"]["{Func}"].call()", "SYS.DAQ.JavaLikeCalc["lib_regEl"].{Func}()". Ãäå {Func} — èäåíòèôèêàòîð ôóíêöèè â áèáëèîòåêå.


Ïîäêëþ÷èòü áèáëèîòåêó ê ïðîåêòó ñòàíöèè OpenSCADA ìîæíî ïóò¸ì çàãðóçêè âëîæåííîãî ôàéëà ÁÄ, ðàçìåùåíèÿ åãî â äèðåêòîðèè ÁÄ ïðîåêòà ñòàíöèè è ñîçäàíèÿ îáúåêòà ÁÄ äëÿ ìîäóëÿ ÁÄ "SQLite", óêàçàâ ôàéë ÁÄ â êîíôèãóðàöèè.

1 Ñîñòàâ áèáëèîòåêè

 ñâî¸ì ñîñòàâå áèáëèîòåêà ñîäåðæèò íåñêîëüêî ôóíêöèé ÷àñòî âîñòðåáîâàííûõ ïðè ñîçäàíèè ñõåì ðåãóëèðîâàíèÿ. Íàçâàíèÿ ôóíêöèé è èõ ïàðàìåòðîâ äîñòóïíû íà òð¸õ ÿçûêàõ: Àíãëèéñêèé, Ðóññêèé è Óêðàèíñêèé.

ÏÈÄ (óíèôèöèðîâàííûé) (pidUnif)

Îïèñàíèå: Ñîâìåù¸ííûé-óíèôèöèðîâàííûé àíàëîãîâûé è èìïóëüñíûé ÏÈÄ-ðåãóëÿòîð.  îñíîâå ðåãóëÿòîðà ëåæèò ÿäðî ñòàíäàðòíîãî àíàëîãîâîãî ÏÈÄ-ðåãóëÿòîðà èç áèáëèîòåêè "FLibComplex1" è ðåàëèçàöèÿ ØÈÌ äëÿ èìïóëüñíîé ÷àñòè.
Ïàðàìåòðû:

IDÏàðàìåòðÒèïÐåæèìÑêðûòûéÏî óìîë÷àíèþ
var Ïåðåìåííàÿ Âåùåñòâ. Âõîä false 0
sp Çàäàíèå Âåùåñòâ. Âõîä false 0
max Ìàêñèìóì øêàëû Âåùåñòâ. Âõîä false 100
min Ìèíèìóì øêàëû Âåùåñòâ. Âõîä false 0
manIn Ðó÷íîé ââîä Âåùåñòâ. Âõîä false 0
out Âûõîä (%) Âåùåñòâ. Âîçâðàò false 0
impQup Èìï. âûõîä ââåðõ Ëîãè÷. Âûõîä false 0
impQdwn Èìï. âûõîä âíèç Ëîãè÷. Âûõîä false 0
analog Àíàëîãîâûé Ëîãè÷. Âõîä false 1
auto Àâòîìàò Ëîãè÷. Âõîä false 0
casc Êàñêàä Ëîãè÷. Âõîä false 0
Kp Âåùåñòâ. Âõîä false 1
Ti Tè (ìñ) Öåëûé Âõîä false 1000
Kd Êï ïðîèçâîäíîé Âåùåñòâ. Âõîä false 1
Td Tä (ìñ) Öåëûé Âõîä false 0
Tzd T çàäåðæêè äèôåðåíöèðîâ. (ìñ) Öåëûé Âõîä false 0
TImpPer T ïåðèîä èìïóëüñà (ìñ) Öåëûé Âõîä false 5000
TImpMin T ìèíèìàëüíàÿ äëèíà èìïóëüñà (ìñ) Öåëûé Âõîä false 500
KImpRfact Ðåéòèíã ôàêòîð èìïóëüñà Âåùåñòâ. Âõîä false 1
Hup Âåðõíÿÿ ãðàíèöà âûõîäà (%) Âåùåñòâ. Âõîä false 100
Hdwn Íèæíÿÿ ãðàíèöà âûõîäà (%) Âåùåñòâ. Âõîä false 0
Zi Íå÷óâñòâèòåëüíîñòü (%) Âåùåñòâ. Âõîä false 0
followSp Ñëåäèòü çàäàíèåì çà ïåðåìåííîé â ðó÷íîì Ëîãè÷. Âõîä false 1
K1 Êîåô. âõîäà 1 Âåùåñòâ. Âõîä false 0
in1 Âõîä 1 Âåùåñòâ. Âõîä false 0
K2 Êîåô. âõîäà 2 Âåùåñòâ. Âõîä false 0
in2 Âõîä 2 Âåùåñòâ. Âõîä false 0
K3 Êîåô. âõîäà 3 Âåùåñòâ. Âõîä false 0
in3 Âõîä 3 Âåùåñòâ. Âõîä false 0
K4 Êîåô. âõîäà 4 Âåùåñòâ. Âõîä false 0
in4 Âõîä 4 Âåùåñòâ. Âõîä false 0
impAnOut Àíàëîãîâîå ïîëîæåíèå èìïóëüñíîãî ðåãóëÿòîðà èëè ñêîðîñòü õîäà êðàíà (%/ñ) ïðè èìèòàöèè. Âåùåñòâ. Âõîä false 0
impAnImit Èìèòàöèÿ àíàëîãîâîãî ïîëîæåíèÿ Ëîãè÷. Âõîä false 0
impQupTm Èìï. âûõîä ââåðõ óäåðæ. äëÿ GUI Öåëûé Âûõîä false 0
impQdwnTm Èìï. âûõîä âíèç óäåðæ. äëÿ GUI Öåëûé Âûõîä false 0
f_frq ×àñòîòà âû÷èñëåíèÿ (Ãö) Öåëûé Âõîä true 1
f_start Ïåðâûé çàïóñê Ëîãè÷. Âõîä true 0
f_stop Ïîñëåäíèé çàïóñê Ëîãè÷. Âõîä true 0
int Íàêîïëåíèå èíòåãðàëà Âåùåñòâ. Âûõîä true 0
dif Íàêîïëåíèå ïðîèçâîäíîé Âåùåñòâ. Âûõîä true 0
lag Íàêîïëåíèå çàäåðæêè Âåùåñòâ. Âûõîä true 0
impLag Âðåìÿ óäåðæàíèÿ èìïóëüñà Âåùåñòâ. Âûõîä true 0
perLag Âðåìÿ ãåíåðàöèè íîâîãî èìïóëüñà Âåùåñòâ. Âûõîä true 0

Ñòðóêòóðà:
Ñòðóêòóðà óíèôèöèðîâàííîãî PID-ðåãóëÿòîðà. (48 Kb)

PID äèíàìè÷åñêèé (pidUnifD)

Îïèñàíèå: Ïîëíîñòüþ èäåíòè÷íûé óíèôèöèðîâàííîìó ÏÈÄ ðåãóëÿòîð, ðåàëèçîâàííûé äèíàìè÷åñêè íà JavaLikeCalc. Äèíàìè÷åñêàÿ ðåàëèçàöèÿ ïîçâîëÿåò ëåãêî àäàïòèðîâàòü ðåãóëÿòîð ïîä íóæíûå òðåáîâàíèÿ, ïðîñòî îòðåäàêòèðîâàâ åãî.
Ïàðàìåòðû:

IDÏàðàìåòðÒèïÐåæèìÑêðûòûéÏî óìîë÷àíèþ
var Ïåðåìåííàÿ Âåùåñòâ. Âõîä false 0
sp Çàäàíèå Âåùåñòâ. Âõîä false 0
max Ìàêñèìóì øêàëû Âåùåñòâ. Âõîä false 100
min Ìèíèìóì øêàëû Âåùåñòâ. Âõîä false 0
manIn Ðó÷íîé ââîä Âåùåñòâ. Âõîä false 0
out Âûõîä (%) Âåùåñòâ. Âîçâðàò false 0
impQup Èìï. âûõîä ââåðõ Ëîãè÷. Âûõîä false 0
impQdwn Èìï. âûõîä âíèç Ëîãè÷. Âûõîä false 0
analog Àíàëîãîâûé Ëîãè÷. Âõîä false 1
auto Àâòîìàò Ëîãè÷. Âõîä false 0
casc Êàñêàä Ëîãè÷. Âõîä false 0
Kp Âåùåñòâ. Âõîä false 1
Ti Tè (ìñ) Öåëûé Âõîä false 1000
Kd Êï ïðîèçâîäíîé Âåùåñòâ. Âõîä false 1
Td Tä (ìñ) Öåëûé Âõîä false 0
Tzd T çàäåðæêè äèôåðåíöèðîâ. (ìñ) Öåëûé Âõîä false 0
TImpPer T ïåðèîä èìïóëüñà (ìñ) Öåëûé Âõîä false 5000
TImpMin T ìèíèìàëüíàÿ äëèíà èìïóëüñà (ìñ) Öåëûé Âõîä false 500
KImpRfact Ðåéòèíã ôàêòîð èìïóëüñà Âåùåñòâ. Âõîä false 1
Hup Âåðõíÿÿ ãðàíèöà âûõîäà (%) Âåùåñòâ. Âõîä false 100
Hdwn Íèæíÿÿ ãðàíèöà âûõîäà (%) Âåùåñòâ. Âõîä false 0
Zi Íå÷óâñòâèòåëüíîñòü (%) Âåùåñòâ. Âõîä false 0
followSp Ñëåäèòü çàäàíèåì çà ïåðåìåííîé â ðó÷íîì Ëîãè÷. Âõîä false 1
K1 Êîåô. âõîäà 1 Âåùåñòâ. Âõîä false 0
in1 Âõîä 1 Âåùåñòâ. Âõîä false 0
K2 Êîåô. âõîäà 2 Âåùåñòâ. Âõîä false 0
in2 Âõîä 2 Âåùåñòâ. Âõîä false 0
K3 Êîåô. âõîäà 3 Âåùåñòâ. Âõîä false 0
in3 Âõîä 3 Âåùåñòâ. Âõîä false 0
K4 Êîåô. âõîäà 4 Âåùåñòâ. Âõîä false 0
in4 Âõîä 4 Âåùåñòâ. Âõîä false 0
QO Ïðèçíàê "Îòêðûòûé" èñïîëíèòåëüíîãî ìåõàíèçìà Ëîãè÷. Âõîä false 0
QZ Ïðèçíàê "Çàêðûòûé" èñïîëíèòåëüíîãî ìåõàíèçìà Ëîãè÷. Âõîä false 0
impAnOut Ðåàëüíîå àíàëîãîâîå ïîëîæåíèå èìïóëüñíîãî ðåãóëÿòîðà, [0...100], -1 - âûêëþ÷èòü. Âåùåñòâ. Âõîä false 0
impAnImit Èìèòàöèÿ àíàëîãîâîãî ïîëîæåíèÿ Ëîãè÷. Âõîä false 0
impQupTm Èìï. âûõîä ââåðõ óäåðæ. äëÿ GUI Öåëûé Âûõîä false 0
impQdwnTm Èìï. âûõîä âíèç óäåðæ. äëÿ GUI Öåëûé Âûõîä false 0
f_frq ×àñòîòà âû÷èñëåíèÿ (Ãö) Öåëûé Âõîä true 1
f_start Ïåðâûé çàïóñê Ëîãè÷. Âõîä true 0
f_stop Ïîñëåäíèé çàïóñê Ëîãè÷. Âõîä true 0
impLag Âðåìÿ óäåðæàíèÿ èìïóëüñà Âåùåñòâ. Âûõîä true 0
perLag Âðåìÿ ãåíåðàöèè íîâîãî èìïóëüñà Âåùåñòâ. Âûõîä true 0
integ Íàêîïëåíèå èíòåãðàëà Âåùåñòâ. Âûõîä true 0
difer Íàêîïëåíèå ïðîèçâîäíîé Âåùåñòâ. Âûõîä true 0
dlag Íàêîïëåíèå çàäåðæêè ïðîèçâîäíîé Âåùåñòâ. Âûõîä true 0

Ñòðóêòóðà:
Ñòðóêòóðà óíèôèöèðîâàííîãî PID-ðåãóëÿòîðà. (48 Kb)

PID èìïóëüñíûé (pidImp)

Îïèñàíèå: Ñïåöèàëèçèðîâàííûé èìïóëüñíûé ÏÈÄ ðåãóëÿòîð ðåàëèçîâàííûé ïî îñîáîìó àëãîðèòìó ñ êîìïåíñàöèåé äâîéíîãî èíòåãðèðîâàíèÿ.
Ïàðàìåòðû:

IDÏàðàìåòðÒèïÐåæèìÑêðûòûéÏî óìîë÷àíèþ
var Ïåðåìåííàÿ Âåùåñòâ. Âõîä false 0
sp Çàäàíèå Âåùåñòâ. Âõîä false 0
max Ìàêñèìóì øêàëû Âåùåñòâ. Âõîä false 100
min Ìèíèìóì øêàëû Âåùåñòâ. Âõîä false 0
manIn Ðó÷íîé ââîä Âåùåñòâ. Âõîä false 0
out Âûõîä (%) Âåùåñòâ. Âîçâðàò false 0
outPID Âûõîä PID Âåùåñòâ. Âûõîä false 0
impQup Èìï. âûõîä ââåðõ Ëîãè÷. Âûõîä false 0
impQdwn Èìï. âûõîä âíèç Ëîãè÷. Âûõîä false 0
auto Àâòîìàò Ëîãè÷. Âõîä false 0
casc Êàñêàä Ëîãè÷. Âõîä false 0
Kp Âåùåñòâ. Âõîä false 1
Ki Êï èíòåãðàëà Âåùåñòâ. Âõîä false 1
Ti Tè (ìñ) Öåëûé Âõîä false 1000
Kd Êï ïðîèçâîäíîé Âåùåñòâ. Âõîä false 1
Td Tä (ìñ) Öåëûé Âõîä false 0
Tzd T çàäåðæêè äèôåðåíöèðîâ. (ìñ) Öåëûé Âõîä false 0
TImpPer T ïåðèîä èìïóëüñà (ìñ) Öåëûé Âõîä false 5000
TImpMin T ìèíèìàëüíàÿ äëèíà èìïóëüñà (ìñ) Öåëûé Âõîä false 500
KImpRfact Ðåéòèíã ôàêòîð èìïóëüñà Âåùåñòâ. Âõîä false 1
Hup Âåðõíÿÿ ãðàíèöà âûõîäà (%) Âåùåñòâ. Âõîä false 100
Hdwn Íèæíÿÿ ãðàíèöà âûõîäà (%) Âåùåñòâ. Âõîä false 0
Zi Íå÷óâñòâèòåëüíîñòü (%) Âåùåñòâ. Âõîä false 0
followSp Ñëåäèòü çàäàíèåì çà ïåðåìåííîé â ðó÷íîì Ëîãè÷. Âõîä false 1
K1 Êîåô. âõîäà 1 Âåùåñòâ. Âõîä false 0
in1 Âõîä 1 Âåùåñòâ. Âõîä false 0
K2 Êîåô. âõîäà 2 Âåùåñòâ. Âõîä false 0
in2 Âõîä 2 Âåùåñòâ. Âõîä false 0
K3 Êîåô. âõîäà 3 Âåùåñòâ. Âõîä false 0
in3 Âõîä 3 Âåùåñòâ. Âõîä false 0
K4 Êîåô. âõîäà 4 Âåùåñòâ. Âõîä false 0
in4 Âõîä 4 Âåùåñòâ. Âõîä false 0
impAnOut Àíàëîãîâîå ïîëîæåíèå èìïóëüñíîãî ðåãóëÿòîðà èëè ñêîðîñòü õîäà êðàíà (%/ñ) ïðè èìèòàöèè. Âåùåñòâ. Âõîä false 0
impAnImit Èìèòàöèÿ àíàëîãîâîãî ïîëîæåíèÿ Ëîãè÷. Âõîä false 0
impQupTm Èìï. âûõîä ââåðõ óäåðæ. äëÿ GUI Öåëûé Âûõîä false 0
impQdwnTm Èìï. âûõîä âíèç óäåðæ. äëÿ GUI Öåëûé Âûõîä false 0
f_frq ×àñòîòà âû÷èñëåíèÿ (Ãö) Öåëûé Âõîä true 1
f_start Ïåðâûé çàïóñê Ëîãè÷. Âõîä true 0
f_stop Ïîñëåäíèé çàïóñê Ëîãè÷. Âõîä true 0
impLag Âðåìÿ óäåðæàíèÿ èìïóëüñà Âåùåñòâ. Âûõîä true 0
perLag Âðåìÿ ãåíåðàöèè íîâîãî èìïóëüñà Âåùåñòâ. Âûõîä true 0
integ Íàêîïëåíèå èíòåãðàëà Âåùåñòâ. Âûõîä true 0
difer Íàêîïëåíèå ïðîèçâîäíîé Âåùåñòâ. Âûõîä true 0
dlag Íàêîïëåíèå çàäåðæêè ïðîèçâîäíîé Âåùåñòâ. Âûõîä true 0
err1 Îøèáêà øàã íàçàä Âåùåñòâ. Âûõîä true 0
err2 Îøèáêà äâà øàãà íàçàä Âåùåñòâ. Âûõîä true 0

Ñòðóêòóðà:
Ñòðóêòóðà ñïåöèàëèçèðîâàííîãî èìïóëüñíîãî ÏÈÄ-ðåãóëÿòîðà (52 Kb)


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]