OpenSCADAWiki: Doc/DAQ ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/DAQ from 2016-10-14 18:02:31..

Ñáîð äàííûõ â OpenSCADA

Àâòîð: Ðîìàí Ñàâî÷åíêî


Contents

Ââåäåíèå

Ñáîð äàííûõ SCADA(Supervisory Control and Data Acquisition)-ñèñòåìû ÿâëÿåòñÿ å¸ íåîòúåìëåìîé ÷àñòüþ, êîòîðàÿ çàíèìàåòñÿ ïîëó÷åíèåì äàííûõ èç èñòî÷íèêîâ ðàçëè÷íîãî ïðîèñõîæäåíèÿ. Ïðèðîäà äàííûõ, ñ êîòîðûìè ðàáîòàåò SCADA, õàðàêòåðèçóåòñÿ ñèãíàëàìè áàçîâûõ òèïîâ çíà÷åíèé (öåëîå, âåùåñòâåííîå, ëîãè÷åñêîå è ñòðîêà). Ñèãíàëû èçìåíÿþòñÿ âî âðåìåíè è îáëàäàåò èñòîðèåé, æèçíüþ.  òåîðèè óïðàâëåíèÿ òåõíîëîãè÷åñêèìè ïðîöåññàìè (ÒÏ) ïîä ñèãíàëîì ïîíèìàåòñÿ çíà÷åíèå äàò÷èêà óñòàíîâêè ÒÏ â êîäå ÀÖÏ, "ñûðîé" ñèãíàë èëè â ðåàëüíîì çíà÷åíèè. Ñèãíàëû ìîãóò îáúåäèíÿòüñÿ â ãðóïïû ïî ñìûñëîâîé íàãðóçêå, ÷àñòî íàçûâàåìûå ïàðàìåòðàìè. Íàïðèìåð, ðàçâèòûå èñòî÷íèêè äàííûõ ìîãóò ïðåäîñòàâëÿòü ñòðóêòóðû ïàðàìåòðîâ ñ ïðåäîïðåäåë¸ííûì íàáîðîì ñâÿçàííûõ ñèãíàëîâ. Êðîìå íåïîñðåäñòâåííîãî ñáîðà äàííûõ â ôóíêöèè ýòîãî ìåõàíèçìà òàêæå âõîäèò è ïåðåäà÷à âîçäåéñòâèé íà èñïîëíèòåëüíûå óñòðîéñòâà óïðàâëåíèÿ ÒÏ; îáû÷íî ýòî çàäâèæêè, íàñîñû è ðåãóëèðóþùèå êëàïàíû.  ñîâîêóïíîñòè ýòî îáîðóäîâàíèå ïîëó÷èëî íàçâàíèå Óñòðîéñòâî Ñîïðÿæåíèÿ ñ Îáúåêòîì (ÓÑÎ).


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


Ðàçíîîáðàçèå èñòî÷íèêîâ äàííûõ ïîðîäèëî áîëüøîé ñïåêòð ìåõàíèçìîâ äîñòóïà ê íèì. Ëîêàëüíûå èñòî÷íèêè äàííûõ ðàçëè÷àþòñÿ èíòåðôåéñàìè ïðîãðàììèðîâàíèÿ ïðèëîæåíèÿ (API), à ñåòåâûå èñòî÷íèêè, â ñâîþ î÷åðåäü, òðàíñïîðòíûì è ïðîòîêîëüíûì óðîâíÿìè âçàèìîäåéñòâèÿ.  öåëîì ýòî ïðèâåëî ê òîìó, ÷òî äîáàâëåíèå ïîääåðæêè íîâîãî èñòî÷íèêà äàííûõ òðåáóåò ñîçäàíèå ìîäóëÿ ñîïðÿæåíèÿ èëè äðàéâåðà. Ó÷èòûâàÿ æå áîëüøîå ðàçíîîáðàçèå èñòî÷íèêîâ, ýòî êðàéíå íàêëàäíî è ôàêòè÷åñêè íåðåàëüíî îõâàòèòü âåñü ñïåêòð ðûíêà òàêèõ óñòðîéñòâ. Ñèòóàöèÿ íåñêîëüêî óïðîùàåòñÿ ñ ñåòåâûìè èñòî÷íèêàìè áëàãîäàðÿ íàëè÷èþ ðÿäà ñòàíäàðòíûõ è ñâîáîäíûõ ïðîòîêîëîâ âçàèìîäåéñòâèÿ, îäíàêî ìíîãèå èñòî÷íèêè âñ¸ æå èñïîëüçóþò ñîáñòâåííûå ïðîòîêîëû: çàêðûòûå êîììåð÷åñêèå èëè ïðîòîêîëû, çàâÿçàííûå íà çàêðûòûå ìåõàíèçìû îãðàíè÷åííîãî êðóãà êîììåð÷åñêèõ îïåðàöèîííûõ ñèñòåì (ÎÑ).


 òåðìèíàõ ñèñòåìû OpenSCADA ïðåäîñòàâëÿþòñÿ ñëåäóþùèå îáúåêòû äëÿ îáñëóæèâàíèÿ ìåõàíèçìà ñáîðà äàííûõ:


Äëÿ ó÷¸òà îñîáåííîñòåé ðàçëè÷íûõ óñòðîéñòâ ñáîðà äàííûõ, à òàêæå ðàçëè÷íûõ ìåõàíèçìîâ âçàèìîäåéñòâèÿ â OpenSCADA ïðåäóñìîòðåíà ïîäñèñòåìà "Ñáîð äàííûõ", êîòîðàÿ ÿâëÿåòñÿ ìîäóëüíîé.  êà÷åñòâå ìîäóëÿ ïîäñèñòåìû âûñòóïàåò äðàéâåð äëÿ ñîïðÿæåíèÿ ñ èñòî÷íèêîì äàííûõ îòäåëüíîãî òèïà. Êàæäûé ìîäóëü ìîæåò ñîäåðæàòü êîíôèãóðàöèþ íåñêîëüêèõ óñòðîéñòâ ýòîãî òèïà â âèäå îáúåêòîâ "Êîíòðîëëåð" ñèñòåìû OpenSCADA. Îáùàÿ ñõåìà îáúåêòîâ ïîäñèñòåìû "Ñáîð äàííûõ" èçîáðàæåíà íà ðèñóíêå 1.


Ñõåìà ïîäñèñòåìû \'Ñáîð äàííûõ\'. (25 Kb)
Ðèñ. 1. Ñõåìà ïîäñèñòåìû "Ñáîð äàííûõ".

1. Ìåòîäû ñáîðà äàííûõ

Ó÷èòûâàÿ ðàçëè÷èå ñâîéñòâ èñòî÷íèêîâ äàííûõ, à òàêæå âîçìîæíûå âàðèàíòû âçàèìîäåéñòâèÿ, ìåòîäû ñáîðà äàííûõ ìîæíî ðàçäåëèòü íà ïðîñòîé ñèíõðîííûé, ïðîñòîé àñèíõðîííûé, ïàêåòíûé è ïàññèâíûé.


 ðàññìîòðåíèè ìåõàíèçìîâ íèæå áóäóò ó÷àñòâîâàòü ñëåäóþùèå îáúåêòû:

1.1. Ïðîñòîé ñèíõðîííûé ìåõàíèçì ñáîðà

Ìåõàíèçì õàðàêòåðèçóåòñÿ çàïðîñàìè ê èñòî÷íèêó äàííûõ ñèíõðîííî ñ çàïðîñîì ê àòðèáóòó ïàðàìåòðà (ðèñ.2). Äàííûé ìåõàíèçì îáû÷íî ïðèìåíÿåòñÿ ïðè ðàáîòå ñ ëîêàëüíûìè èñòî÷íèêàìè äàííûõ, õàðàêòåðèçóþùèìèñÿ íèçêîé ëàòåíòíîñòüþ, ò.å. çàäåðæêîé â îòâåòå íà çàïðîñ. Ñ ïîìîùüþ ýòîãî ìåòîäà ìîæíî ïîëó÷èòü àêòóàëüíûå äàííûå íåïîñðåäñòâåííî ñ çàïðîñîì, îäíàêî âðåìÿ çàïðîñà îáúåêòà áóäåò âêëþ÷àòü âðåìÿ òðàíñïîðòèðîâêè è îáðàáîòêè çàïðîñà èñòî÷íèêîì äàííûõ.


Äèàãðàììà ïîñëåäîâàòåëüíîñòè âçàèìîäåéñòâèÿ ïðè ñèíõðîííûõ çàïðîñàõ. (10 Kb)
Ðèñ. 2. Äèàãðàììà ïîñëåäîâàòåëüíîñòè âçàèìîäåéñòâèÿ ïðè ñèíõðîííûõ çàïðîñàõ.

 ñîîòâåòñòâèè ñ äèàãðàììîé âûøå ìû ïîëó÷àåì ñëåäóþùóþ ïîñëåäîâàòåëüíîñòü çàïðîñîâ ïîëó÷åíèÿ äàííûõ è èõ ïåðåäà÷è:


 OpenSCADA òàêîé ìåõàíèçì ðåàëèçóþò ñëåäóþùèå ìîäóëè ïîäñèñòåìû "Cáîð äàííûõ".

1.2. Ïðîñòîé àñèíõðîííûé ìåõàíèçì ñáîðà

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


Ñ ïîìîùüþ ýòîãî ìåòîäà ìîæíî îáåñïå÷èòü îïòèìèçàöèþ âðåìåííîãî ðåñóðñà, çàòðà÷åííîãî íà îäèí ñèãíàë, è òåì ñàìûì óâåëè÷èòü ìàêñèìàëüíîå êîëè÷åñòâî îïðàøèâàåìûõ ñèãíàëîâ çà èíòåðâàë âðåìåíè îïðîñà.


 êà÷åñòâå ïðèìåðà ðàññìîòðèì ïðîìûøëåííûé ÏËÊ Siemens S7-315 ïðè îïðîñå åãî ïî øèíå ProfiBus (1,5 Ìáèò/ñ). Ñðåäíåå âðåìÿ îáðàáîòêè MPI-çàïðîñà ýòèì êîíòðîëëåðîì ñîñòàâëÿåò 30 ìñ. Åñëè èñïîëüçîâàòü ñèíõðîííûé ìåõàíèçì äëÿ êàæäîãî ñèãíàëà, ò.å. îäèí çàïðîñ íà êàæäûé ñèãíàë, òî â òå÷åíèè îäíîé ñåêóíäû ìû ñìîæåì ïîëó÷èòü îêîëî 33 ñèãíàëîâ. À åñëè ïðèìåíèòü àñèíõðîííûé ìåõàíèçì, ò.å. â îäíîì MPI-ïàêåòå ïîëó÷àòü äî 220 áàéò èëè 110 ñèãíàëîâ öåëî÷èñëåííîãî òèïà íà 16-ðàçðÿäîâ, òî ìû ñìîæåì çà îäíó ñåêóíäó ïîëó÷èòü äî 3630 ñèãíàëîâ. Êàê ìîæíî âèäåòü, ýôôåêòèâíîñòü àñèíõðîííîãî ìåõàíèçìà â äàííîì ñëó÷àå ñîñòàâëÿåò 110 ðàç, à èìåííî çíà÷åíèå ìàêñèìàëüíîé ¸ìêîñòè MPI-ïàêåòà.


Íåäîñòàòêîì àñèíõðîííîãî ìåõàíèçìà ÿâëÿåòñÿ òî, ÷òî çàïðîñ çíà÷åíèÿ àòðèáóòà ïàðàìåòðà âîçâðàùàåò íåàêòóàëüíîå íà ìîìåíò çàïðîñà çíà÷åíèå, à çíà÷åíèå ïîñëåäíåãî ñåàíñà îïðîñà êîíòðîëëåðà. Âïðî÷åì, åñëè ó÷åñòü, ÷òî èñòî÷íèê äàííûõ ìîæåò îáíîâëÿòüñÿ ñ ïåðèîäè÷íîñòüþ àïïàðàòíûõ îãðàíè÷åíèé ÀÖÏ, äà è ñàìè äàò÷èêè ìîãóò èìåòü îïðåäåë¸ííûå îãðàíè÷åíèÿ â ñêîðîñòè ðåàêöèè, òî ïðèìåíåíèå àñèíõðîííîãî ìåõàíèçìà ñáîðà ìîæåò èìåòü ñåðü¸çíûå îñíîâàíèÿ.


Ïðèìåíåíèå àñèíõðîííîãî ìåõàíèçìà äëÿ çàïèñè çíà÷åíèé â ÏËÊ ÿâëÿåòñÿ äîñòàòî÷íî ðåäêèì ÿâëåíèåì, ïîñêîëüêó çàïèñü çíà÷åíèé îáû÷íî ïîäðàçóìåâàåò âîçäåéñòâèå îïåðàòîðà íà ÒÏ. Îïåðàòîð, ïî ôàêòó, äîñòàòî÷íî ðåäêî âíîñèò êîððåêòèâû â ïðîöåññ, ñëåäîâàòåëüíî çàïèñü ìîæíî âûïîëíÿòü ñèíõðîííî. Îäíàêî ñóùåñòâóþò ñèòóàöèè, íàïðèìåð, óïðàâëåíèå ÒÏ ðåãóëÿòîðàìè íà SCADA-ñèñòåìå, âûïîëíÿþùåé ôóíêöèè ñðåäû èñïîëíåíèÿ ÏËÊ.


Äèàãðàììà ïîñëåäîâàòåëüíîñòè âçàèìîäåéñòâèÿ ïðè àñèíõðîííûõ çàïðîñàõ. (15 Kb)
Ðèñ. 3. Äèàãðàììà ïîñëåäîâàòåëüíîñòè âçàèìîäåéñòâèÿ ïðè àñèíõðîííûõ çàïðîñàõ.

 ñîîòâåòñòâèè ñ äèàãðàììîé âûøå ìû ïîëó÷àåì ñëåäóþùóþ êàðòèíó:


 OpenSCADA òàêîé ìåõàíèçì ðåàëèçóþò ñëåäóþùèå ìîäóëè ïîäñèñòåìû "Cáîð äàííûõ".

1.3. Ïàêåòíûé ìåõàíèçì ñáîðà

Ïàêåòíûé ìåõàíèçì ñáîðà äàííûõ õàðàêòåðåí ñáîðîì äàííûõ êàæäîãî ñèãíàëà ïàêåòîì, âêëþ÷àþùèì èñòîðèþ åãî èçìåíåíèÿ. Ò.å. çà îäèí ñåàíñ îïðîñà äàííûõ ïîëó÷àåòñÿ íåñêîëüêî çíà÷åíèé èñòîðèè ñèãíàëà. Ïàêåòíûé ìåõàíèçì ðàáîòàåò ñîâìåñòíî ñ ñèíõðîííûì è àñèíõðîííûìè ìåõàíèçìàìè.


 ñëó÷àå ðàáîòû ñ ñèíõðîííûì ìåõàíèçìîì âûïîëíÿåòñÿ ôàêòè÷åñêèé ïðîáðîñ àðõèâà èñòî÷íèêà äàííûõ äëÿ îïåðàòèâíîé ðàáîòû â ñèñòåìå (ðèñ. 2). Êàê è ïðîñòîé ñèíõðîííûé ìåõàíèçì, åãî æåëàòåëüíî ïðèìåíÿòü òîëüêî íà íèçêîëàòåíòíûõ èñòî÷íèêàõ äàííûõ èëè ñ èñòî÷íèêàìè, ðàáîòà êîòîðûõ ÿâëÿåòñÿ ñåàíñîâîé, íàïðèìåð, â ñôåðå êîììåð÷åñêîãî ó÷¸òà äëÿ ÷òåíèÿ çíà÷åíèé ñ÷¸ò÷èêîâ.


Ïðè ðàáîòå ñîâìåñòíî ñ àñèíõðîííûì ìåõàíèçìîì èñòîðèÿ ïîëó÷åííûõ ñèãíàëîâ îáû÷íî ïðÿìî ïîìåùàåòñÿ â àðõèâû (ðèñ. 4), à òåêóùåå çíà÷åíèå àòðèáóòà ïàðàìåòðà óñòàíàâëèâàåòñÿ â ïîñëåäíåå çíà÷åíèå ïàêåòà. Äàííàÿ êîìáèíàöèÿ ýôôåêòèâíà ïðè ñáîðå áûñòðûõ äàííûõ èëè ïðè ñèíõðîíèçàöèè àðõèâîâ ïîñëå ïîòåðè ñâÿçè ñ óäàë¸ííûì èñòî÷íèêîì äàííûõ.


Äèàãðàììà ïîñëåäîâàòåëüíîñòè âçàèìîäåéñòâèÿ ïðè àñèíõðîííûõ çàïðîñàõ â ïàêåòíîãî ìåõàíèçìà. (16 Kb)
Ðèñ. 4. Äèàãðàììà ïîñëåäîâàòåëüíîñòè âçàèìîäåéñòâèÿ ïðè àñèíõðîííûõ çàïðîñàõ ïàêåòíîãî ìåõàíèçìà.

 ñîîòâåòñòâèè ñ äèàãðàììîé âûøå ìû ïîëó÷àåì ñëåäóþùåå ïîâåäåíèå ïàêåòíîãî ìåõàíèçìà ïðè àñèíõðîííûõ çàïðîñàõ:


 OpenSCADA òàêîé ìåõàíèçì ðåàëèçóþò ñëåäóþùèå ìîäóëè ïîäñèñòåìû "Cáîð äàííûõ".

1.4. Ïàññèâíûé ìåõàíèçì ñáîðà

Ïàññèâíûé ìåõàíèçì ñáîðà äàííûõ õàðàêòåðåí èíèöèàòèâîé ïðåäîñòàâëåíèÿ äàííûõ â SCADA-ñèñòåìó ñî ñòîðîíû èñòî÷íèêà äàííûõ. Ýòîò ìåõàíèçì ÿâëÿåòñÿ äîñòàòî÷íî ðåäêèì ÿâëåíèåì, îäíàêî ìîæåò èìåòü ìåñòî â ñëó÷àå îïðåäåë¸ííûõ óñëîâèé èëè îãðàíè÷åíèé â âîçìîæíîñòè èñïîëüçîâàíèÿ ïðÿìûõ ìåõàíèçìîâ ñáîðà äàííûõ, ðèñ. 5. Ïðèìåðîì òàêîé ñèòóàöèè ìîãóò ñëóæèòü ãåîãðàôè÷åñêè ðàññðåäîòî÷åííûå ñèñòåìû ñáîðà äàííûõ ïîñðåäñòâîì ìîáèëüíûõ ñåòåé GPRS/EDGE.  òàêèõ ñåòÿõ íàäåëåíèå êëèåíòñêèõ óçëîâ îòäåëüíûìè/ðåàëüíûìè IP-àäðåñàìè èëè ôîðìèðîâàíèå êîðïîðàòèâíîé ìîáèëüíîé ñåòè ìîæåò îêàçàòüñÿ äîðîãèì óäîâîëüñòâèåì, ïîýòîìó äîñòóïíåå îêàçûâàåòñÿ èíèöèàòèâà ñåàíñà ïåðåäà÷è äàííûõ ñ êëèåíòñêèõ äèíàìè÷åñêèõ IP-àäðåñîâ íà îäèí ðåàëüíûé IP-àäðåñ ñåðâåðà SCADA-ñèñòåìû. Õîòÿ âîçìîæíà ðàáîòà è ÷åðåç ñåòåâóþ ÑÓÁÄ-ïîñðåäíèêà.


Âîçäåéñòâèÿ íà ìîäèôèêàöèþ ïåðåäàþòñÿ èñòî÷íèêó äàííûõ â ìîìåíò ñåàíñà ïåðåäà÷è äàííûõ èñòî÷íèêîì.


Äèàãðàììà ïîñëåäîâàòåëüíîñòè âçàèìîäåéñòâèÿ ïðè ïàññèâíîì ìåõàíèçìå ðàáîòû. (12 Kb)
Ðèñ. 5. Äèàãðàììà ïîñëåäîâàòåëüíîñòè âçàèìîäåéñòâèÿ ïðè ïàññèâíîì ìåõàíèçìå ðàáîòû.

 ñîîòâåòñòâèè ñ äèàãðàììîé âûøå ìû ïîëó÷àåì ñëåäóþùåå ïîâåäåíèå ïàññèâíîãî ìåõàíèçìà:


 OpenSCADA òàêîé ìåõàíèçì åù¸ íå èñïîëüçîâàí, îäíàêî ïðèíöèïèàëüíàÿ âîçìîæíîñòü åãî ðåàëèçàöèè â ñèñòåìå åñòü, íàïðèìåð, ÷åðåç çàïèñü ïîñðåäñòâîì ñòàíäàðòíûõ ïðîòîêîëîâ "ModBus", "OPC-UA".

2. Âèðòóàëüíûå èñòî÷íèêè äàííûõ

Êðîìå ñáîðà ôèçè÷åñêèõ äàííûõ àêòóàëüíîé ÿâëÿåòñÿ ôóíêöèÿ âèðòóàëüíîãî ñáîðà äàííûõ. Âèðòóàëüíûå äàííûå ïðåäñòàâëÿþò ñîáîé äàííûå, ïîëó÷åííûå âíóòðè ñèñòåìû êàê íåçàâèñèìî, òàê è íà îñíîâå ôèçè÷åñêèõ äàííûõ. Ïðàêòè÷åñêè ìåõàíèçìû ôîðìèðîâàíèÿ âèðòóàëüíûõ äàííûõ ðåàëèçóþòñÿ ñîâìåñòíî ñ ìåõàíèçìîì ïîëüçîâàòåëüñêèõ âû÷èñëåíèé.  ñðåäå ïðîìûøëåííûõ êîíòðîëëåðîâ è SCADA-ñèñòåì èñïîëüçóþòñÿ ðàçëè÷íûå ÿçûêè ïðîãðàììèðîâàíèÿ.  ñëó÷àå ñ êîíòðîëëåðàìè â êà÷åñòâå òàêèõ ÿçûêîâ ÷àñòî èñïîëüçóþòñÿ ÿçûêè íèçêîãî óðîâíÿ (àññåìáëåðû), îäíàêî â ïîñëåäíåå âðåìÿ âñ¸ ÷àùå èñïîëüçóþòñÿ ÿçûêè âûñîêîãî óðîâíÿ (C, Pascal è äðóãèå), à òàêæå ôîðìàëüíûå ÿçûêè ÌÝÊ 61131-3 (ñõåìû ïîòîêîâ ñîñòîÿíèé SFC, áëî÷íûå ñõåìû FBD, ðåëåéíûå ñõåìû LD è òåêñòîâûå ST, IL).  ñëó÷àå ñî SCADA-ñèñòåìàìè âû÷èñëåíèÿ ÷àùå îáåñïå÷èâàþòñÿ ÿçûêàìè ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ è ôîðìàëüíûìè ÿçûêàìè.


 ñèñòåìå OpenSCADA ìîãóò áûòü ðåàëèçîâàíû èíòåðôåéñû ïðîãðàììèðîâàíèÿ è âèðòóàëüíûõ èñòî÷íèêîâ äàííûõ íà îñíîâå ðàçëè÷íûõ ÿçûêîâ â îòäåëüíûõ ìîäóëÿõ ïîäñèñòåìû "Ñáîð äàííûõ". Íà òåêóùèé ìîìåíò äîñòóïíû ìîäóëè âèðòóàëüíûõ âû÷èñëèòåëåé:


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


Ìîäóëü JavaLikeCalc ïðåäîñòàâëÿåò â ñèñòåìó OpenSCADA ìåõàíèçì ñîçäàíèÿ äèíàìè÷åñêèõ ïîëüçîâàòåëüñêèõ ôóíêöèé è èõ áèáëèîòåê íà Java-ïîäîáíîì ÿçûêå. Îïèñàíèå ôóíêöèè íà Java-ïîäîáíîì ÿçûêå ñâîäèòñÿ ê îáâÿçêå ïàðàìåòðîâ ôóíêöèè àëãîðèòìîì. Êðîìå ýòîãî ìîäóëü íàäåëåí ôóíêöèÿìè íåïîñðåäñòâåííûõ âû÷èñëåíèé ïóò¸ì ñîçäàíèÿ âû÷èñëèòåëüíûõ êîíòðîëëåðîâ ñ àññîöèèðîâàííîé âû÷èñëèòåëüíîé ôóíêöèåé. Ìîäóëåì ïðåäîñòàâëÿåòñÿ ìåõàíèçì ïðåêîìïèëÿöèè êîíòåêñòíî-çàâèñèìûõ ôóíêöèé, ÷òî èñïîëüçóåòñÿ äëÿ âñòðàèâàíèÿ ïîëüçîâàòåëüñêèõ àëãîðèòìîâ íåïîñðåäñòâåííî â êîíòåêñò ðàçëè÷íûõ êîìïîíåíòîâ OpenSCADA. Íàïðèìåð, ýòî ìåõàíèçì øàáëîíîâ ïàðàìåòðîâ ïîäñèñòåìû "Ñáîð äàííûõ" è äâèæîê ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ (ÑÂÓ).


Ìîäóëü BlockCalc ïðåäîñòàâëÿåò â ñèñòåìó OpenSCADA ìåõàíèçì ñîçäàíèÿ ïîëüçîâàòåëüñêèõ âû÷èñëåíèé. Ìåõàíèçì âû÷èñëåíèé îñíîâûâàåòñÿ íà ôîðìàëüíîì ÿçûêå áëî÷íûõ ñõåì. ßçûêè áëî÷íîãî ïðîãðàììèðîâàíèÿ îñíîâûâàþòñÿ íà ïîíÿòèè áëî÷íûõ ñõåì (ôóíêöèîíàëüíûõ áëîêîâ). Ïðè÷¸ì â çàâèñèìîñòè îò ñóùíîñòè áëîêà áëî÷íûå ñõåìû ìîãóò áûòü: ëîãè÷åñêèìè ñõåìàìè, ñõåìàìè ðåëåéíîé ëîãèêè, ìîäåëüþ òåõíîëîãè÷åñêîãî ïðîöåññà è äðóãîå. Ñóòü áëî÷íîé ñõåìû ñîñòîèò â òîì, ÷òî îíà ñîäåðæèò ñïèñîê áëîêîâ è ñâÿçè ìåæäó íèìè. Ñ ôîðìàëüíîé òî÷êè çðåíèÿ áëîê — ýòî ýëåìåíò (ôóíêöèÿ), êîòîðûé èìååò âõîäû, âûõîäû è àëãîðèòì âû÷èñëåíèÿ. Èñõîäÿ èç êîíöåïöèè ñðåäû ïðîãðàììèðîâàíèÿ, áëîê — ýòî êàäð çíà÷åíèé, àññîöèèðîâàííûé ñ îáúåêòîì ôóíêöèè. Âõîäû è âûõîäû áëîêîâ íóæíî ñîåäèíÿòü äëÿ ïîëó÷åíèÿ öåëüíîé áëî÷íîé ñõåìû.


Ñ öåëüþ íàïîëíåíèÿ API ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ ïîëüçîâàòåëüñêèìè ôóíêöèÿìè ñîçäàíû ñëåäóþùèå ñïåöèàëèçèðîâàííûå ìîäóëè ñòàòè÷åñêèõ ôóíêöèé API ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ:


Общая структура компонентов среды прогр& (78 Kb)
Ðèñ. 6. Îáùàÿ ñòðóêòóðà êîìïîíåíòîâ ñðåäû ïðîãðàììèðîâàíèÿ.

3. Ëîãè÷åñêèé óðîâåíü îáðàáîòêè äàííûõ

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


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


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


Ýêñïëóàòàöèîííûì íàçíà÷åíèåì "Ëîãè÷åñêîãî óðîâíÿ" ÿâëÿåòñÿ:


Êîíöåïöèÿ "Ëîãè÷åñêîãî óðîâíÿ" îñíîâàíà íà øàáëîíàõ ïàðàìåòðîâ, äëÿ êîòîðûõ â ïîäñèñòåìå "Ñáîð äàííûõ" ïðåäóñìîòðåí êîíòåéíåð áèáëèîòåê øàáëîíîâ (ðèñ. 1). Êàæäàÿ áèáëèîòåêà ñîäåðæèò øàáëîíû ïàðàìåòðîâ, êîòîðûå ìîãóò èñïîëüçîâàòüñÿ ìîäóëÿìè ïîäñèñòåìû "Ñáîð äàííûõ" äëÿ ðåàëèçàöèè ïàðàìåòðîâ íà îñíîâå øàáëîíîâ. Ìîäóëÿìè ñèñòåìû OpenSCADA, êîòîðûå èñïîëüçóþò øàáëîíû â ñâîåé ðàáîòå, ÿâëÿþòñÿ:


Îáùèé ìåõàíèçì ðàáîòû "Ëîãè÷åñêîãî óðîâíÿ" íà ïðèìåðå ìîäóëÿ LogicLev èçîáðàæ¸í íà ðèñóíêå 7.


Ìåõàíèçì ðàáîòû «Ëîãè÷åñêîãî óðîâíÿ» íà ïðèìåðå ìîäóëÿ LogicLev. (28 Kb)
Ðèñ. 7. Ìåõàíèçì ðàáîòû "Ëîãè÷åñêîãî óðîâíÿ" íà ïðèìåðå ìîäóëÿ LogicLev.

Èñõîäÿ èç èçîáðàæåíèÿ âèäíî, ÷òî ïàðàìåòðû êîíòðîëëåðà ëîãè÷åñêîãî óðîâíÿ âûïîëíÿþò ôóíêöèþ îòðàæåíèÿ äðóãèõ ïàðàìåòðîâ ïîäñèñòåìû "Ñáîð äàííûõ" (íà ïðèìåðå ïàðàìåòðîâ 1 è 4) è ïðîèçâîëüíîå ôîðìèðîâàíèå ïàðàìåòðîâ íà îñíîâå øàáëîíîâ 1, 2 è äðóãèõ ïàðàìåòðîâ ïîäñèñòåìû "Ñáîð äàííûõ" (íà ïðèìåðå ïàðàìåòðîâ 2, 3 è 5).


Ñòðóêòóðà ïàðàìåòðîâ ñ øàáëîíîì â îñíîâå èìååò ñòðóêòóðó, èçîáðàæ¸ííóþ íà ðèñóíêå 8.


Ñòðóêòóðà ïàðàìåòðîâ, ñ øàáëîíîì â îñíîâå. (15 Kb)
Ðèñ. 8. Ñòðóêòóðà ïàðàìåòðîâ, ñ øàáëîíîì â îñíîâå.

Êàê ìîæíî âèäåòü èç ñòðóêòóðû, ïàðàìåòð ëîãè÷åñêîãî óðîâíÿ ñîñòîèò èç îáúåêòà ôóíêöèè, àòðèáóòîâ è êîíôèãóðàöèè øàáëîíà. Îáúåêò ôóíêöèè ýòî ýêçåìïëÿð èñïîëíåíèÿ ôóíêöèè øàáëîíà ñ íàáîðîì âõîäîâ/âûõîäîâ è ïðîãðàììîé âû÷èñëåíèÿ øàáëîíà íà îäíîì èç ÿçûêîâ ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ, îáû÷íî ýòî Java-ïîäîáíûé ÿçûê ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ ìîäóëÿ DAQ.JavaLikeCalc. Âïðî÷åì øàáëîí ìîæåò áûòü âîîáùå áåç ïðîãðàììû, ïðåäîñòàâëÿÿ òîëüêî ñòðóêòóðó ïðîáðîñà âõîäîâ/âûõîäîâ. Àòðèáóòû â ñòðóêòóðå èçîáðàæàþò ïåðå÷åíü àòðèáóòîâ ðåçóëüòèðóþùåãî ïàðàìåòðà â ñîîòâåòñòâèè ñ øàáëîíîì. Êîíôèãóðàöèÿ â ñòðóêòóðå ïðåäîñòàâëÿåò êîíôèãóðàöèþ ñâîéñòâ øàáëîíà è åãî âíåøíèõ ñâÿçåé.


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


Øàáëîí ïàðàìåòðîâ â öåëîì ïðåäîñòàâëÿåò ñëåäóþùåå:


Íà ðèñóíêå 9 ïðåäñòàâëåíî èçîáðàæåíèå âêëàäêè êîíôèãóðàöèè øàáëîíà ïàðàìåòðîâ ïîäñèñòåìû "Ñáîð äàííûõ" â âèäå òàáëèöû ñ êîíôèãóðàöèåé âõîäîâ/âûõîäîâ è òåêñòà ïðîãðàììû ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ.


Âêëàäêà êîíôèãóðàöèè øàáëîíà ïàðàìåòðîâ ïîäñèñòåìû "Ñáîð äàííûõ". (142 Kb)
Ðèñ. 9. Âêëàäêà êîíôèãóðàöèè øàáëîíà ïàðàìåòðîâ ïîäñèñòåìû "Ñáîð äàííûõ".

Âêëàäêîé âõîäà/âûõîäà øàáëîíà ïàðàìåòðà ïðåäóñìîòðåíû ñëåäóþùèå ñâîéñòâà ñïåöèàëèçèðîâàííîãî íàçíà÷åíèÿ: "Àòðèáóò", "Äîñòóï" è "Çíà÷åíèå".


Ñâîéñòâî "Àòðèáóò" âûñòóïàåò ïðèçíàêîì îòðàæåíèÿ âõîäà/âûõîäà øàáëîíà íà ðåçóëüòèðóþùèé àòðèáóò ïàðàìåòðà. Ïðåäóñìîòðåíû ñëåäóþùèå âàðèàíòû ýòîãî ñâîéñòâà:


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


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


 êà÷åñòâå ïðèìåðà èñïîëüçîâàíèÿ øàáëîíà íà ðèñ.10 ïðèâåä¸ì èçîáðàæåíèÿ ïàðàìåòðà ìîäóëÿ ëîãè÷åñêîãî óðîâíÿ "F3". Íà ðèñ.10 ïðåäñòàâëåíà âêëàäêà "Êîíôèãóðàöèÿ øàáëîíà" äëÿ êîíôèãóðàöèè, âêëþ÷àÿ ñâÿçûâàíèå, øàáëîíà ïàðàìåòðà. Íà ðèñ.11 ïðåäñòàâëåíà âêëàäêà "Àòðèáóòû" ñ ïåðå÷íåì àòðèáóòîâ è èõ çíà÷åíèé, ñîçäàííûõ ïîñðåäñòâîì øàáëîíà.


Âêëàäêà "Êîíôèãóðàöèÿ øàáëîíà" ïàðàìåòðà "F3" ìîäóëÿ ëîãè÷åñêîãî óðîâíÿ. (84 Kb)
Ðèñ. 10. Âêëàäêà "Êîíôèãóðàöèÿ øàáëîíà" ïàðàìåòðà "F3" ìîäóëÿ ëîãè÷åñêîãî óðîâíÿ.

Âêëàäêà "Àòðèáóòû" ïàðàìåòðà "F3" ìîäóëÿ ëîãè÷åñêîãî óðîâíÿ. (114 Kb)
Ðèñ. 11. Âêëàäêà "Àòðèáóòû" ïàðàìåòðà "F3" ìîäóëÿ ëîãè÷åñêîãî óðîâíÿ.

4. Ðåçåðâèðîâàíèå èñòî÷íèêîâ äàííûõ

Ðåçåðâèðîâàíèå âîîáùå è èñòî÷íèêîâ äàííûõ â ÷àñòíîñòè ñëóæèò äëÿ ïîâûøåíèÿ îáùåãî óðîâíÿ îòêàçîóñòîé÷èâîñòè ðåøåíèÿ ïóò¸ì âêëþ÷åíèÿ äóáëèðóþùèõ óçëîâ â ñîâìåñòíóþ ðàáîòó ñ îñíîâíûì óçëîì.  ñëó÷àå ñáîÿ îñíîâíîãî óçëà ïðîèñõîäèò ïîäõâàò ôóíêöèé îñíîâíîãî óçëà ðåçåðâíûì. ×àñòî ñõåìà ðåçåðâèðîâàíèÿ ìîæåò ðàáîòàòü è â ðåæèìå ðàñïðåäåëåíèÿ íàãðóçêè ìåæäó ñîâìåñòíî ðàáîòàþùèìè óçëàìè.


Ãîðèçîíòàëüíîå è âåðòèêàëüíîå ðåçåðâèðîâàíèå. (44 Kb)
Ðèñ. 12. Ãîðèçîíòàëüíîå è âåðòèêàëüíîå ðåçåðâèðîâàíèå.

 ñëó÷àå ñ ïîäñèñòåìîé "Ñáîð äàííûõ" ñèñòåìû OpenSCADA ðåçåðâèðîâàíèå äàííûõ (ðèñ.12) âûïîëíÿåò ôóíêöèè:


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


Íàñòðîéêà ðåçåðâèðîâàíèÿ íà÷èíàåòñÿ ñ äîáàâëåíèÿ ðåçåðâíûõ ñòàíöèé â ñïèñîê ñèñòåìíûõ ñòàíöèé OpenSCADA íà âêëàäêå "Ïîäñèñòåìà" ïîäñèñòåìû "Òðàíñïîðòû" (ðèñ.13). Ïðè÷¸ì äîáàâëÿòü òóò íóæíî íå òîëüêî ðåçåðâíûå ñòàíöèè ê òåêóùåé, íî è ñàìó ýòó òåêóùóþ ñòàíöèþ ñ å¸ âíåøíèì àäðåñîì, ò.å. ñâîåîáðàçíàÿ ïåòëÿ.  äàëüíåéøåì ýòè íàñòðîéêè áóäóò ñîõðàíåíû â îáùóþ ÁÄ ðåçåðâèðîâàííîé ñèñòåìû, à ñàìà ÁÄ ñ ýòîãî ìîìåíòà áóäåò èñïîëüçîâàòüñÿ ïðè ñîçäàíèè âñåõ ðåçåðâíûõ ñòàíöèé. Ñîîòâåòñòâåííî âàæíî íà ýòîì ýòàïå âíåñòè âñå íóæíûå èçìåíåíèÿ â îáùóþ ÁÄ âîêðóã ïðîåêòà â öåëîì!


Âêëàäêà "Ïîäñèñòåìà" ïîäñèñòåìû "Òðàíñïîðòû". (69 Kb)
Ðèñ. 13. Âêëàäêà "Ïîäñèñòåìà" ïîäñèñòåìû "Òðàíñïîðòû".

Äàëåå íà êîíêðåòíîé ñòàíöèè, ñ êîïèåé îáùåé ÁÄ, íàñòðàèâàåì å¸ ñïåöèôè÷åñêèå ïàðàìåòðû âî âêëàäêå "Ðåçåðâèðîâàíèå" ãëàâíîé ñòðàíèöû (ðèñ.14), êîòîðûå áóäóò ñîõðàíåíû â êîíôèãóðàöèîííîì ôàéëå.


Âêëàäêà "Ðåçåðâèðîâàíèå" ãëàâíîé ñòðàíèöû. (83 Kb)
Ðèñ. 14. Âêëàäêà "Ðåçåðâèðîâàíèå" ãëàâíîé ñòðàíèöû.

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


Âêëàäêà "Ðåçåðâèðîâàíèå" ïîäñèñòåìû "Ñáîð äàííûõ". (129 Kb)
Ðèñ. 15. Âêëàäêà "Ðåçåðâèðîâàíèå" ïîäñèñòåìû "Ñáîð äàííûõ".

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


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


Äëÿ îáúåêòà êîíòðîëëåðà ïîäñèñòåìû "Ñáîð äàííûõ" ïðåäóñìîòðåíû ðåæèìû ðåçåðâèðîâàíèÿ "Àñèììåòðè÷íîå" è "Òîëüêî íàðóøåíèÿ". Àñèììåòðè÷íîå ðåçåðâèðîâàíèå ðàáîòàåò ñ òîé êîíôèãóðàöèåé êîíòðîëëåðà óäàë¸ííîé ñòàíöèè, êàêàÿ åñòü è íå ïûòàåòñÿ å¸ îáîáùàòü, äëÿ êîòîðîé ðàáîòàþò âñå ðàíåå îïèñàííûå ôóíêöèè è ñâîéñòâà ðåçåðâèðîâàíèÿ. Ðåçåðâèðîâàíèå "Òîëüêî íàðóøåíèÿ" ïðåäóñìàòðèâàåò ôàêòè÷åñêóþ ðàáîòó áåç ðåçåðâèðîâàíèÿ, íî ñ ïîäàâëåíèåì íàðóøåíèé îò ðåçåðâíîãî îáúåêòà êîíòðîëëåðà ñ öåëüþ èñêëþ÷åíèÿ äóáëèðóþùèõ ñîîáùåíèé î íàðóøåíèÿõ.

Ññûëêè

Referring pages: Doc
Doc/VCA/part4/part10
Doc/Vision


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