OpenSCADAWiki: Doc/ Logic Lev Param ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/LogicLevParam from 2006-01-28 21:40:36..

Ëîãè÷åñêèé óðîâåíü ïàðàìåòðîâ ñèñòåìû OpenSCADA.


Àâòîð: /RomanSavochenko


Contents

1 Ââåäåíèå

Îòêðûòàÿ SCADA ñèñòåìà OpenSCADA ïðèíàäëåæèò ê êëàññó SCADA(Supervisory Control and Data Aquisition) ñèñòåì. Ñèñòåìû äàííîãî êëàññà èñïîëüçóþòñÿ êàê ýëåìåíò ñèñòåì àâòîìàòèçàöèè òåõíîëîãè÷åñêèõ ïðîöåññîâ(ÀÑÓ-ÒÏ).


Ñèñòåìà OpenSCADA ñòðîèòñÿ êàê ìîäóëüíàÿ è âûñîêîìàñøòàáèðóåìàÿ ñèñòåìà. Ñëåäîâàòåëüíî âíóòðåííÿ ñòðóêòóðà ñèñòåìû äîëæíà óäîâëåòâîðÿòü âûñîêèì òðåáîâàíèÿì ãèáêîñòè.


Äëÿ ïîëó÷åíèÿ äàííûõ èçâíå, â ñèñòåìå OpenSCADA ïðåäóñìîòðåíû, òàê íàçûâàåìûå "Èñòî÷íèêè äàííûõ". Âñå èñòî÷íèêè äàííûõ ñîäåðæàòñÿ â îäíîèì¸ííîé ïîäñèñòåìå è ãðóïïèðîâàíû ïî òèïàì èñòî÷íèêîâ äàííûõ îïðåäåëÿþùèõ ìîäóëü ïîäñèñòåìû èñòî÷íèêîâ äàííûõ (DAQ). Ìîäóëü ÿâëÿåòñÿ îòäåëÿåìûì êîìïîíåíòîì ñèñòåìû OpenSCADA êîòîðûé, äëÿ ìîäóëåé ïîäñèñòåìû DAQ, ñîäåðæèò êîíòðîëåðû ñ ïàðàìåòðàìè ïðåäîïðåäåë¸ííîé ñòðóêòóðû. Ïîä ñòðóêòóðîé ïàðàìåòðà ïîäðàçóìåâàåòñÿ íàïîëíåííîñòü åãî àòðèáóòàìè.


Ïðèðîäà èñòî÷íèêà äàííûõ ìîæåò êîëåáàòüñÿ îò "ñûðîãî", äî ïîëíîöåííîãî. Ïîä "ñûðûì" ïîäðàçóìåâàåòñÿ èñòî÷íèê, êîòîðûé ïðåäîñòàâëÿåò òîëüêî ýëåìåíòàðíûå ñèãíàëû (öåëîå, âåùåñòâåííîå, ëîãè÷åñêîå). Ïîä ïîëíîöåííûì, ïîäðàçóìåâàåòñÿ èñòî÷íèê, êîòîðûé â ïàðàìåòðå ñîäåðæèò àòðèáóòû äîïîëíèòåëüíîãî çíà÷åíèÿ ïîêðûâàþùèå ïðàêòè÷åñêè âñå äèàãíîñòè÷åñêèå çàäà÷è, ò.å. ïàðàìåòð ÿâëÿåòñÿ çàâåðø¸ííûì îáúåêòîì íå òðåáóþùåãî äîïàëíèòåëüíîé èíôîðìàöèè.


Ó÷èòûâàÿ òàêîé ðàçáðîñ ìîæåò âîçíèêíóòü ñèòóàöèÿ, êîãäà èíôîðìàöèè â îáúåêòå ïàðàìåòðà íåäîñòàòî÷íî äëÿ îïèñàíèÿ ýòîãî ýòîãî îáúåêòà èëè îáúåêòà áîëåå âûñîêîãî óðîâíÿ àáñòðàêöèè. Ðåøåíèåì òàêîé ñèòóàöèè ìîæåò áûòü ôîðìèðîâàíèå îòäåëüíûõ ïàðàìåòðîâ ýòîãî îáúåêòà, ÷òî ÿâëÿåòñÿ íåíàãëÿäíûì è âíîñèò ïóòàíèöó. Áîëåå ïðàâèëüíûì ðåøåíèåì áóäåò ñîçäàíèå ïðîñëîéêè, òàê íàçûâàåìîãî "Ëîãè÷åñêîãî óðîâíÿ", âûïîëíÿþùåé ôóíêöèè ãèáêîãî ôîðìèðîâàíèÿ ïàðàìåòðîâ/îáúåêòîâ íåîáõîäèìîé ñòðóêòóðû.

2 Íàçíà÷åíèå

Ôóíêöèîíàëüíî, ðàçðàáîòêà ïðåäíàçíà÷åíà äëÿ ïðåäîñòàâëåíèÿ â ñèñòåìå OpenSCADA ìåõàíèçìà ñâîáîäíîãî ôîðìèðîâàíèÿ îáúåêòîâ ïàðàìåòðîâ íóæíîé ñòðóêòóðû.
Ýêñïëóàòàöèîííûì íàçíà÷åíèåì ðàçðàáîòêè ÿâëÿåòñÿ:

3 Òðåáîâàíèÿ

Àðõèòåêòóðíî, Ëîãè÷åñêèé óðîâåíü äîëæåí óäîâëåòâîðÿòü ñëåäóþùèì òðåáîâàíèÿì:


Èñõîäÿ èç àðõèòåêòóðíûõ òðåáîâàíèé ìîæíî ñôîðìèðîâàòü òðåáîâàíèÿ ê îòäåëüíûì êîìïîíåíòàì.


Òðåáîâàíèÿ ê ïîäñèñòåìå "Ïàðàìåòðû":


Òðåáîâàíèÿ ê îáúåêòàì "Øàáëîíû ïàðàìåòðîâ":


Òðåáîâàíèÿ ê îáúåêòàì "Ïàðàìåòðîâ":

4 Ïðîåêòèðîâàíèå

Èñõîäÿ èç âûøåèçëîæåííûõ òðåáîâàíèé ðàçðàáîòàåì Ëîãè÷åñêèé óðîâåíü ïàðàìåòðîâ. Îáùàÿ ñòðóêòóðà Ëîãè÷åñêîãî óðîâíÿ â êîíòåêñòå âçàèìîäåéñòâèÿ ñ ôèçè÷åñêèì ïðåäñòàâëåíà íà ðèñ. 1.


Îáùàÿ ñòðóêòóðà ëîãè÷åñêîãî óðîâíÿ ïàðàìåòðîâ (69 Kb)
Ðèñ. 1. Îáùàÿ ñòðóêòóðà ëîãè÷åñêîãî óðîâíÿ

Ðàçðàáîòêà ïîäñèñòåìû "Ïàðàìåòðû" íè÷åì ñóùåñòâåííî íå îòëè÷àåòñÿ îò äðóãèõ ïîäñèñòåì ñèñòåìû OpenSCADA, ïîýòîìó ðàññìàòðèâàòü îñîáåííîñòè å¸ ôîðìèðîâàíèÿ íåáóäèì. Øàáëîíû ïàðàìåòðîâ è ïàðàìåòðû ÿâëÿþòñÿ èíòåðåñíûì âîïðîñîì, ïîýòîìó ðàññìîòðèì îñîáåííîñòè èõ ôîðìèðîâàíèÿ.


Òðåáîâàíèÿìè ê øàáëîíó ïàðàìåòðîâ îçâó÷åíà íåîáõîäèìîñòü ñîäåðæàíèÿ ñòðóêòóðû àòðèáóòîâ, êîòîðûå áóäóò ôèãóðèðîâàòü êàê ñî ñòîðîíû êîíôèãóðàöèè ïàðàìåòðà, òàê è ñî ñòîðîíû ðåçóëüòèðóþùèõ àòðèáóòîâ. Êðîìå òîãî, íåîáõîäèìî îáåñïå÷èòü âîçìîæíîñòü âû÷èñëåíèÿ àòðèáóòîâ. Õîðîøèì ðåøåíèåì áóäåò èñïîëüçîâàíèÿ äëÿ ýòèõ öåëåé îáúåêòîâ ôóíêöèé ñðåäû ïðîãðàììèðîâàíèÿ?. Òàêîé ïîäõîä èçáàâèò îò íåîáõîäèìîñòè ñîçäàíèÿ ìåõàíèçìà äîáàâëåíèÿ àòðèáóòîâ, ïîñêîëüêó äîáàâëÿòüñÿ è ôîðìèðîâàòüñÿ îíè áóäóò â âèäå ïàðàìåòðîâ ôóíêöèè. Îáùóþ ñòðóêòóðó ôîðìèðîâàíèÿ ïàðàìåòðà ïî øàáëîíó ïðåäñòàâëåíà íà ðèñ. 2.


Ñòðóêòóðà ïàðàìåòðà ëîãè÷åñêîãî óðîâíÿ (37 Kb)
Ðèñ. 2. Ôîðìèðîâàíèå ïàðàìåòðà ëîãè÷åñêîãî óðîâíÿ ïî øàáëîíó

Àðõèòåêòóðà ëîãè÷åñêîãî óðîâíÿ ïîëó÷àåòñÿ ïðåäåëüíî ïðîñòàÿ.  âèäå äèàãðàììû êëàññîâ å¸ ìîæíî èçîáðàçèòü ñëåäóþùèì îáðàçîì (ðèñ 3). Îïèñàíèå êëàñîâ ïðèâåäåíî â òàáëèöå 1.


Ñòàòè÷åñêàÿ äèàãðàììà êëàññîâ ëîãè÷åñêîãî óðîâíÿ ïàðàìàòðîâ (30 Kb)
Ðèñ. 3. Äèàãðàììà êëàññîâ ëîãè÷åñêîãî óðîâíÿ ïàðàìåòðîâ

Òàáëèöà 1. Êëàññû ëîãè÷åñêîãî óðîâíÿ ïàðàìåòðîâ

ÊëàññÎòâåòñòâåííîñòüÑâÿçè
TParamSÊëàññ ïîäñèñòåìû "Ïàðàìåòðû". Ñîäåðæèò ìåõàíèçì âû÷èñëåíèÿ ïàðàìåòðîâ íà øàáëîíàõÑîäåðæèò ïàðàìåòðû è èõ øàáëîíû.
TParamÊëàññ ïàðàìåòðà. Ñîäåðæèò ñòðóêòóðó ñâÿçåé, êàäð çíà÷åíèé ôóíêöèè è ìîæåò âûïîëíÿòü âû÷èñëåíèÿ ñ ïîìîùüþ ôóíêöèè øàáëîíàÑîäåðæèòñÿ â ïîäñèñòåìå "Ïàðàìåòðû". Âêëþ÷àåò êàäð çíà÷åíèé îáúåêòà ôóíêöèè.
TPrmTmplÊëàññ øàáëîíà ïàðàìåòðà. Ñîäåðæèò ñòðóêòóðó àòðèáóòîâ(ïàðàìåòðîâ ôóíêöèè)Ñîäåðæèòñÿ â ïîäñèñòåìå "Ïàðàìåòðû". Âêëþ÷àåò ññûëêó íà îáúåêò ôóíêöèè.

Ëîãèêó ðàáîòû ëîãè÷åñêîãî óðîâíÿ ïàðàìåòðîâ ìîæíî çàïèñàòü ñëåäóþùèì îáðàçîì:


 øàáëîíå ïàðàìåòðà ó àòðèáóòà ïðåäóñìîòðåíî äâà ñâîéñòâà: "Àòðèáóò", "Äîñòóï" è "Çíà÷åíèå". Ñâîéñòâî "Àòðèáóò" îïèñûâàåò îòðàæåíèÿ íà àòðèáóò ïàðàìåòðà. Ïðåäóñìîòðåíû ñëåäóþùèå âàðèàíòû ýòîãî ñâîéñòâà:


Ñâîéñòâî "Äîñòóï" îïðåäåëÿåò ñâÿçè ýòîãî ïàðàìåòðà ôóíêöèè ñ ôèçè÷åñêèì óðîâíåì. Ïðåäóñìîòðåíû ñëåäóþùèå âàðèàíòû ýòîãî ñâîéñòâà:


Ïîëå "Çíà÷åíèå" îïèñûâàåò çíà÷åíèå äëÿ êîíñòàíò è ïðåäïî÷èòàåìûé àòðèáóò ïàðàìåòðà äëÿ ñâÿçåé. Îïèñàíèå ïðåäïî÷èòàåìîãî àòðèáóòà ïàðàìåòðà äëÿ ñâÿçåé èñïîëüçóåòñÿ â öåëÿõ îïèñàíèÿ íåÿâíîãî ðàñïðåäåëåíèÿ àòðèáóòîâ ïàðàìåòðîâ. Ñòðóêòóðà îïèñàíèÿ ñëåäóþùàÿ: <Îïèñàíèå ïàðàìåòðà>|<àòðèáóò>. Ãäå "Îïèñàíèå ïàðàìåòðà" èñïîëüçóåòñÿ äëÿ îáúåäèíåíèÿ ïàðàìåòðîâ è ïîìåùåíèÿ íà ôîðìó êîíôèãóðàöèè, à àòðèáóò äëÿ àâòîìàòè÷åñêîãî ñâÿçûâàíèÿ ïðè íàçíà÷åíèè ïàðàìåòðà.

5 Ðåàëèçàöèÿ

 ïðîöåññå ðåàëèçàöèè áûëè ñîçäàíû âñå êîìïîíåíòû, à òàêæå ñöåíàðèè êîíôèãóðàöèè äëÿ íèõ. Ôîðìû êîíôèãóðàöèè ïîäñèñòåìû "Ïàðàìåòðû" ïðèâåäåíû íà ðèñ. 4. è ðèñ. 5. Ôîðìû êîíôèãóðàöèè øàáëîíîâ ïàðàìåòðîâ ïðèâåäåíû íà ðèñ. 6 è ðèñ. 7. Ôîðìû êîíôèãóðàöèè ïàðàìåòðîâ ëîãè÷åñêîãî óðîâíÿ ïðèâåäåíû íà ðèñ. 8, ðèñ. 9 è ðèñ.10.

6 Çàìå÷àíèÿ

 ïðîöåññå ðåàëèçàöèè îñòàëñÿ íåðåøåí âîïðîñ ïðîèçâîäèòåëüíîñòè. Ïðîáëåìà çàêëþ÷àåòñÿ â òîì, ÷òî äëÿ àäðåññàöèè àòðèáóòîâ èñïîëüçóåòñÿ ñòðîêîâûé èäåíòèôèêàòîð, ïðè÷¸ì êàê ïðè îáðàùåíèè ê àòðèáóòàì ïàðàìåòðà òàê è â ïðîöåññå âû÷èñëåíèÿ êàäðà çíà÷åíèé ôóíêöèåé øàáëîíà.  ðåçóëüòàòå ýòîãî, îáùåå âðåìÿ âû÷èñëåíèÿ è äîñòàïà îêàçûâàåòñÿ çíà÷èòåëüíûì!


Ïîäñèñòåìà «Ïàðàìåòðû»: ïàðàìåòðû (59 Kb)
Ðèñ. 4. Ïîäñèñòåìà "Ïàðàìåòðû": Ïàðàìåòðû

Ïîäñèñòåìà «Ïàðàìåòðû»: øàáëîíû (54 Kb)
Ðèñ. 5. Ïîäñèñòåìà "Ïàðàìåòðû": Øàáëîíû

Øàáëîí: Îáùàÿ èíôîðìàöèÿ (64 Kb)
Ðèñ. 6. Øàáëîí: Îáùàÿ èíôîðìàöèÿ

Øàáëîí: Îáùàÿ èíôîðìàöèÿ (103 Kb)
Ðèñ. 7. Øàáëîí: Êîíôèãóðàöèÿ

Ïàðàìåòð: Îáùàÿ èíôîðìàöèÿ (62 Kb)
Ðèñ. 8. Ïàðàìåòð: Îáùàÿ èíôîðìàöèÿ

Ïàðàìåòð: Àòðèáóòû (77 Kb)
Ðèñ. 9. Ïàðàìåòð: Àòðèáóòû

Ïàðàìåòð: Êîíôèãóðàöèÿ øàáëîíà (55 Kb)
Ðèñ. 10. Ïàðàìåòð: Êîíôèãóðàöèÿ øàáëîíà

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