OpenSCADAWiki: Doc/API/part2 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/API/part2 from 2016-12-11 17:52:16..

2. Îáùàÿ ñòðóêòóðà ñèñòåìû. Ìîäóëüíîñòü (TSubSYS, TModule)

Êîðíåì, îò êîòîðîãî ñòðîèòñÿ âñÿ ñèñòåìà, ÿâëÿåòñÿ îáúåêò TSYS. Êîðåíü ñîäåðæèò ïîäñèñòåìû (TSubSYS). Ïîäñèñòåìû ìîãóò áûòü: îáû÷íûìè è ìîäóëüíûìè. Îòëè÷èå ìîäóëüíûõ ïîäñèñòåì ÷åòêî ïðîñëåæèâàåòñÿ íà ðèñ. 1. Òàê, ìîäóëüíûå ïîäñèñòåìû îáÿçàòåëüíî ñîäåðæàò ñïèñîê ìîäóëüíûõ îáúåêòîâ (TModule), íàïðèìåð ïîäñèñòåìà àðõèâû TArchiveS ñîäåðæèò ìîäóëüíûå îáúåêòû TTypeArchivator.  òîæå âðåìÿ îáû÷íàÿ ïîäñèñòåìà òàêèõ îáúåêòîâ íå ñîäåðæèò. Íàïðèìåð, ïîäñèñòåìà áåçîïàñíîñòè TSeñurity (ðèñ.2).


Èåðàðõè÷åñêàÿ ñòðóêòóðà ñèñòåìû OpenSCADA (21 Kb)
Ðèñ. 2. Èåðàðõè÷åñêàÿ ñòðóêòóðà ñèñòåìû OpenSCADA.

 ïðîöåññå èíèöèàëèçàöèè êîðíÿ (TSYS) îïðåäåëÿåòñÿ ãëîáàëüíàÿ ïåðåìåííàÿ SYS. Ïåðåìåííàÿ SYS ìîæåò èñïîëüçîâàòüñÿ äëÿ ïðÿìîãî îáðàùåíèÿ ê êîðíþ ñèñòåìû èç ëþáîãî å¸ óçëà. Èíèöèàëèçàöèÿ êîðíÿ âûïîëíÿåòñÿ åäèíîæäû èç ãëàâíîé âûçûâàþùåé ôóíêöèè. Ïîñëå çàïóñêà óïðàâëåíèå çàõâàòûâàåòñÿ îáúåêòîì ñèñòåìû äî îñòàíîâêè. Êîðíåâîé îáúåêò êîíöåíòðèðóåò âñå îáùåñèñòåìíûå ôóíêöèè ñèñòåìû OpenSCADA.


Ïðîäîëæåíèåì êîðíåâîãî îáúåêòà (TSYS), âûïîëíÿþùåãî ôóíêöèè îáñëóæèâàíèÿ ïîòîêà ñèñòåìíûõ ñîîáùåíèé, âûñòóïàåò îáúåêò TMess. Îáúåêò äîñòóïåí ïîñðåäñòâîì ãëîáàëüíîé ïåðåìåííîé Mess, êîòîðàÿ èíèöèàëèçèðóåòñÿ êîðíåì ñèñòåìû. Îáúåêò ñîäåðæèò ôóíêöèè êîäèðîâàíèÿ, äåêîäèðîâàíèÿ è ëîêàëèçàöèè ñîîáùåíèé.


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


Ìîäóëü — ñîñòàâíàÿ ÷àñòü ìîäóëüíîé ïîäñèñòåìû.  îáùåì, äëÿ âñåõ ìîäóëåé è èõ ïîäñèñòåì, ìîäóëü ïðåäîñòàâëÿåò èíôîðìàöèþ î ñåáå, ñâî¸ì ïðîèñõîæäåíèè è ýêñïîðòèðóåìûõ ôóíêöèÿõ. Îòäåëüíî âçÿòûé ìîäóëü ðåàëèçóåò ôóíêöèîíàëüíîñòü â ñîîòâåòñòâèè ñî ñâîèìè ïîòðåáíîñòÿìè.

2.1. Êîðíåâîé îáúåêò ñèñòåìû (TSYS)

Íàñëåäóåò:TCntrNode.

Äàííûå:
Èíôîðìàöèîííûå ïåðåìåííûå ïðîãðàììû:


Ñïîñîáû êîäèðîâàíèÿ ñèìâîëüíûõ ïîñëåäîâàòåëüíîñòåé (enum — TSYS::Code):


Âèäû ïðåäñòàâëåíèÿ öåëîãî â ôóíêöèÿõ TSYS::int2str() è TSYS::ll2str() (enum — TSYS::IntView):


Ñòðóêòóðà çàäà÷è OpenSCADA (class — TSYS::STask):


Ñòðóêòóðà ðåçåðâíîé ñòàíöèè (class — TSYS::SStat):


Øàáëîíû/îïðåäåëåíèÿ:


Ïóáëè÷íûå ìåòîäû:


Ïóáëè÷íûå àòðèáóòû:


Êîðîòêèå âûçîâû ãëîáàëüíûõ ôóíêöèé â îáëàñòè èì¸í "OSCADA":

2.2. Îáúåêò ñîîáùåíèé ñèñòåìû (TMess)

Äàííûå:
Òèïû (óðîâíè) ñîîáùåíèé (enum — TMess::Type):


Íàïðàâëåíèÿ ñîîáùåíèé (enum — TMess::Direct):


Ñòðóêòóðà ñîîáùåíèÿ (class — TMess::SRec):


Øàáëîíû:


Ïóáëè÷íûå ìåòîäû:

2.3. Îáúåêò ïîäñèñòåìû (TSubSYS)

Íàñëåäóåò:TCntrNode.
Íàñëåäóåòñÿ:TArchiveS, TProtocolS, TBDS, TFunctionS, TSeñurity, TModShedul, TTransportS, TUIS, TSpecialS, TControllerS.

Ïóáëè÷íûå ìåòîäû:

2.4. Îáúåêò ìîäóëÿ (TModule)

Íàñëåäóåò:TCntrNode.
Íàñëåäóåòñÿ:TProtocol, TTypeBD, TTypeArchive, TTypeTransport, TUI, Tspecial, TTypeDAQ.

Äàííûå:
Ñòðóêòóðà äàííûõ èäåíòèôèöèðóþùàÿ ìîäóëü (class — TModule::SAt):


Ñòðóêòóðà ýêñïîðòèðóåìûõ ôóíêöèé (class — TModule::ExpFunc):


Ïóáëè÷íûå ìåòîäû:


Çàùèù¸ííûå àòðèáóòû:


Çàùèù¸ííûå ìåòîäû:


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