English version
Óêðà¿íñüêà âåðñ³ÿ
Contents
Ââåäåíèå
Ðåëèç îòêðûòîé SCADA(Supervisory control and data acquisition) ñèñòåìû âåðñèè 0.6.0 ïîçèöèîíèðóåòñÿ êàê êîíöåïò-ðåëèç. Ýòî ñâÿçàíî ñ òåì, ÷òî íà äàííûé ìîìåíò, ôàêòè÷åñêè, ðåàëèçîâàíû îñíîâíûå ôóíêöèè êîíöåïöèè SCADA ñèñòåìû, êîòîðûå áûëè ñôîðìóëèðîâàíû ïðîåêòîì OpenSCADA â 2003 ãîäó.
Îñíîâíîé öåëüþ äàííîãî ðåëèçà ÿâëÿåòñÿ ïðåäîñòàâëåíèå ñîîáùåñòâó ïîëüçîâàòåëåé è ðàçðàáîò÷èêîâ ñâîáîäíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ (ÏÎ) êîíöåïöèè è ïëàòôîðìû äëÿ îòðàáîòêè ðåøåíèé ïîñòðîåíèÿ êîìïëåêñíûõ SCADA-ñèñòåì è äðóãèõ ñìåæíûõ ðåøåíèé, ñ öåëåíàïðàâëåííûì ñîâåðøåíñòâîâàíèåì è ñòàáèëèçàöèåé èìåþùèõñÿ êîìïîíåíòîâ, à òàêæå ðàçðàáîòêè íóæíûõ ðàñøèðåíèé è ìîäóëåé.
Äàííûé äîêóìåíò ÿâëÿåòñÿ îáðàáîòêîé(êîìïèëÿöèåé) äîêóìåíòà <ChangeLog> ñèñòåìû OpenSCADA âåðñèè 0.6.0, êîòîðûé ïðèçâàí âêðàòöå è íàãëÿäíî îñâåòèòü íîâûå âîçìîæíîñòè ñèñòåìû OpenSCADA. Äåòàëüíî îçíàêîìèòüñÿ ñ èçìåíåíèÿìè â ñèñòåìå OpenSCADA ìîæíî â ôàéëå ChangeLog èç äèñòðèáóòèâà ñèñòåìû èëè çäåñü: http://wiki.oscada.org.ua/Works/ChangeLog .
Êëþ÷åâûìè îñîáåííîñòÿìè äàííîé âåðñèè ÿâëÿþòñÿ:
Êîíöåïöèÿ ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ (ÑÂÓ), à òàêæå âèçóàëèçàòîð ÑÂÓ íà îñíîâå áèáëèîòåêè QT4.
Çíà÷èòåëüíîå ïîâûøåíèå ñòàáèëüíîñòè, óñòîé÷èâîñòè è ïðîèçâîäèòåëüíîñòè ñèñòåìû.
Óíèôèêàöèÿ èíòåðôåéñà óïðàâëåíèÿ è ïîñòðîåíèå ïðîòîêîëà âçàèìîäåéñòâèÿ íà åãî îñíîâå.
Óíèôèêàöèÿ ìåõàíèçìà ïîñòðîåíèÿ ïàðàìåòðîâ ïîäñèñòåìû 'Ñáîð äàííûõ' ïî øàáëîíàì.
Ðàñøèðåíèå îñíîâíîãî ÿçûêà ( JavaLikeCalc ) è API óðîâíÿ ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ.
Ïåðåõîä íà áèáëèîòåêó QT âåðñèè 4 â ìîäóëÿõ, èñïîëüçóþùèõ ýòó áèáëèîòåêó.
Îáùèå óëó÷øåíèÿ API ÿäðà ñèñòåìû OpenSCADA.
Îáùåå óëó÷øåíèÿ ñáîðî÷íîé ñèñòåìû, êàê ñëåäñòâèå, óïðîùåíèå è ðàñøèðåíèå ïîääåðæèâàåìûõ ïëàòôîðì.
Íîâûé ñàéò ïðîåêòà OpenSCADA.
Íîâûå è îáíîâëåííûå ìîäóëè:
Transport.Sockets (1.3.0) -- Îáùàÿ ñòàáèëèçàöèÿ ìîäóëÿ.
Archive.FSArch (0.9.5) -- Îïòèìèçèðîâàí àðõèâàòîð çíà÷åíèé. Äîáàâëåíà àðõèâàöèÿ ñîîáùåíèé â ôîðìàòå ïëîñêîãî òåêñòà. Ìîäóëü ïåðåèìåíîâàí ñ 'BaseArh' â 'FSArch'. Èñïðàâëåíî ìíîæåñòâî îøèáîê.
Archive.DBArch (0.5.0) -- Íîâûé ìîäóëü àðõèâèðîâàíèÿ ñîîáùåíèé è çíà÷åíèé íà ÁÄ.
DB.DBF (1.8.1) -- Îáùàÿ ñòàáèëèçàöèÿ ìîäóëÿ.
DB.MySQL (1.3.0) -- Äîáàâëåíà ïîääåðæêà API çàïðîñà ïåðå÷íÿ äîñòóïíûõ òàáëèö è ñòðóêòóðû ýòèõ òàáëèö. Çíà÷èòåëüíàÿ ñòàáèëèçàöèÿ è îïòèìèçàöèÿ ìîäóëÿ.
DB.SQLite (1.3.0) -- Äîáàâëåíà ïîääåðæêà API çàïðîñà ïåðå÷íÿ äîñòóïíûõ òàáëèö è ñòðóêòóðû ýòèõ òàáëèö. Çíà÷èòåëüíàÿ ñòàáèëèçàöèÿ è îïòèìèçàöèÿ ìîäóëÿ.
DB.FireBird (0.6.0) -- Íîâûé ìîäóëü ïîääåðæêè ÑÓÁÄ 'FireBird '.
Protocol.HTTP (1.3.0) -- Çíà÷èòåëüíàÿ ïåðåðàáîòêà è ñòàáèëèçàöèÿ ìîäóëÿ.
Protocol.SelfSystem (0.7.0) -- Íîâûé ìîäóëü ñîáñòâåííîãî ïðîòîêîëà OpenSCADA, îñíîâàííîãî íà èíòåðôåéñå óïðàâëåíèÿ OpenSCADA.
Special.FLibComplex1 (1.0.0) -- Îáùàÿ ñòàáèëèçàöèÿ ìîäóëÿ.
Special.FLibSYS (0.5.0) -- Ðåçóëüòàò îáúåäèíåíèÿ ñ ìîäóëåì Special.FLibTime è ðàáîò ïî óíèôèêàöèè ïîëüçîâàòåëüñêîãî API ðàáîòû ñ àðõèâàìè.
Special.SystemTests (1.3.5) -- Îáíîâëåíû íåêîòîðûå òåñòû.
DAQ.DiamondBoards (1.0.0) -- Ïåðåñìîòðåí ìåõàíèçì ñáîðà ïîñðåäñòâîì ïðåðûâàíèé, èñïðàâëåíî ìíîãî îøèáîê, ñîâìåñòíî ñ áèáëèîòåêîé API âåðñèè 5.91 èñïðàâëåíà ïðîáëåìà áëîêèðîâàíèÿ ïîòîêîâ è âûïóùåí ôèíàëüíûé ðåëèç.
DAQ.System (1.5.0) -- Îáùàÿ ñòàáèëèçàöèÿ ìîäóëÿ. Ïåðåèìåíîâàí ñ 'OperationSystem'.
DAQ.BlockCalc (1.0.0) -- Íåêîòîðûå óëó÷øåíèÿ â ìåõàíèçìå ñâÿçûâàíèÿ, ðàñøèðåííàÿ ôóíêöèÿ êîïèðîâàíèÿ êîíòðîëëåðîâ, áëîêîâ è ïàðàìåòðîâ, èñïðàâëåíèÿ îøèáîê è ôèíàëüíûé ðåëèç.
DAQ.JavaLikeCalc (1.0.0) -- Ðàñøèðåíà ãðàììàòèêà ÿçûêà, äîáàâëåíà ïîääåðæêà ìåõàíèçìà ïðåêîìïèëÿöèè ïîëüçîâàòåëüñêèõ ïðîöåäóð è ïîñëåäóþùåãî èõ èñïîëüçîâàíèÿ â ðàçíûõ ÷àñòÿõ OpenSCADA, èñïðàâëåíèÿ îøèáîê è ôèíàëüíûé ðåëèç.
DAQ.LogicLev (0.9.0) -- Âûíåñåííûé â ìîäóëü êîä ïîäñèñòåìû 'Ïàðàìåòðû' OpenSCADA 0.5.0 ñ ðàñøèðåíèåì ôóíêöèîíàëà è èñïðàâëåíèåì îøèáîê.
DAQ.CIF (0.9.0) -- Íîâûé ìîäóëü èñòî÷íèêà äàííûõ êîíòðîëëåðîâ ôèðìû Siemens ñåðèè S7 (300,400) ïîñðåäñòâîì ñåòè ProfiBUS, ïðîòîêîëà MPI è êîììóíèêàöèîííîãî ïðîöåññîðà ôèðìû Hilcher CIF50PB.
DAQ.SNMP (0.3.0) -- Íîâûé ìîäóëü áàçîâîé ïîääåðæêè ïðîòîêîëà Simple Network Management Protocol â ðåæèìå ÷òåíèÿ.
DAQ.ModBus (0.4.0) -- Íîâûé ìîäóëü ïîääåðæêè èñòî÷íèêîâ äàííûõ, äîñòóïíûõ ïî ïðîòîêîëó ModBus.
DAQ.Transporter (0.3.0) -- Íîâûé ìîäóëü ïîääåðæêè ìåõàíèçìà îòðàæåíèÿ äàííûõ ïîäñèñòåìû 'Ñáîð äàííûõ' óäàë¸ííûõ OpenSCADA ñòàíöèé íà ëîêàëüíûå.
UI.QTStarter (1.5.0) -- Ïåðåõîä íà áèáëèîòåêó QT âåðñèè 4, îáùàÿ ñòàáèëèçàöèÿ è èñêëþ÷åíèå âíåøíèõ âûçîâîâ ôóíêöèé QT.
UI.QTCfg (1.5.0) -- Ïåðåõîä íà áèáëèîòåêó QT âåðñèè 4, ïîääåðæêà èçîáðàæåíèé â èíòåðôåéñå óïðàâëåíèÿ, îáùàÿ ñòàáèëèçàöèÿ è îïòèìèçàöèÿ.
UI.WebCfg (1.5.0) -- Îáùàÿ ñòàáèëèçàöèÿ ìîäóëÿ.
UI.VCAEngine (0.5.0) -- Íîâûé ìîäóëü äâèæêà ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ (ÑÂÓ).
UI.Vision (0.5.0) -- Íîâûé ìîäóëü âèçóàëèçàòîðà ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ (ÑÂÓ) íà áèáëèîòåêå QT.
UI.WebVision (0.2.0) -- Íîâûé ìîäóëü âèçóàëèçàòîðà ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ (ÑÂÓ) íà îñíîâå WEB-òåõíîëîãèé (XHTML, JavaScript, CSS, AJAX).
1 Êîíöåïöèÿ ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ (ÑÂÓ), à òàêæå âèçóàëèçàòîð ÑÂÓ íà îñíîâå áèáëèîòåêè QT4.
Îñíîâíûì íîâîââåäåíèåì ðåëèçà 0.6.0 ñèñòåìû OpenSCADA ñòàëà áàçîâàÿ ðåàëèçàöèÿ ãèáêîé ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ (ÑÂÓ). ÑÂÓ OpenSCADA ïîñòðîåíà ïî êîíöåïöèè «ìîäåëü äàííûõ» - «âèä», ãäå «ìîäåëü äàííûõ» îïèñûâàåò ñòðóêòóðó è âû÷èñëåíèÿ âèçóàëüíîãî èíòåðôåéñà (ÂÈ), à «âèä» ðåàëèçóåò íåïîñðåäñòâåííîå ïðåäñòàâëåíèå è êîíòàêò ñ ïîëüçîâàòåëåì. Òàêîé ïîäõîä ïîçâîëÿåò ðåàëèçîâàòü âèçóàëèçàöèþ ñ èñïîëüçîâàíèåì ðàçëè÷íûõ ãðàôè÷åñêèõ áèáëèîòåê è îêðóæåíèé ïîëüçîâàòåëüñêîãî èíòåðôåéñà, â ïðåäåëàõ åäèíîãî êîíôèãóðàöèîííîãî îïèñàíèÿ ñòðóêòóðû ïîëüçîâàòåëüñêîãî èíòåðôåéñà. Ðåàëèçîâàíà ïîääåðæêà ðåæèìà ðàçðàáîòêè è èñïîëíåíèÿ ïîëüçîâàòåëüñêîãî èíòåðôåéñà íà îñíîâå èçâåñòíîé ãðàôè÷åñêîé áèáëèîòåêè QT4. Íà îñíîâå WEB-òåõíîëîãèé ñîçäàíà áàçîâàÿ ðåàëèçàöèÿ âèçóàëèçàòîðà ñ ïîääåðæêîé ðåæèìà èñïîëíåíèÿ (RunTime).
Êîíöåïöèåé çàëîæåíà âîçìîæíîñòü ôîðìèðîâàíèÿ øèðîêîãî äèàïàçîíà èíòåðôåéñîâ ïîëüçîâàòåëÿ ðàçëè÷íîé ñëîæíîñòè.  îñíîâó âñåõ ýòèõ èíòåðôåéñîâ ïîëîæåí óçêèé íàáîð áàçîâûõ ïðèìèòèâîâ. Êîìáèíèðóÿ ýòè ïðèìèòèâû ìîæíî ñîçäàâàòü êàê ïðîèçâîäíûå êàäðû ïîëüçîâàòåëüñêèõ ýëåìåíòîâ âèçóàëèçàöèè, òàê è ñòðàíèöû êîíå÷íûõ èíòåðôåéñîâ âèçóàëèçàöèè. Îïðåäåë¸í ñëåäóþùèé íàáîð áàçîâûõ ïðèìèòèâîâ:
ElFigure -- Ýëåìåíòàðíûå ãðàôè÷åñêèå ôèãóðû.
FormEl -- Ýëåìåíòû ôîðìû.
Text -- Òåêñò.
Media -- Ìåäèà.
Diagram -- Äèàãðàììà.
Protocol -- Ïðîòîêîë.
Document -- Äîêóìåíò.
Function -- Ôóíêöèÿ API îáúåêòíîé ìîäåëè OpenSCADA.
Box -- Êîíòåéíåð.
Link -- Ñâÿçóþùàÿ ëèíèÿ.
Èç ÷èñëà ïåðå÷èñëåííûõ ïðèìèòèâîâ â äàííîì ðåëèçå îñòàëèñü íå ðåàëèçîâàííûìè: 'Document', 'Function' è 'Link'. Èõ ðåàëèçàöèÿ çàïëàíèðîâàíà ïîñëå âûõîäà âåðñèè 0.6.0.
Ðåàëèçóåìûé ïðîåêò ÑÂÓ ïðåäóñìàòðèâàåò ïîääåðæêó ñëåäóþùèõ ôóíêöèé:
òðè óðîâíÿ ñëîæíîñòè â ôîðìèðîâàíèè èíòåðôåéñà âèçóàëèçàöèè, ïîçâîëÿþùèå îðãàíè÷íî îñâàèâàòü è ïðèìåíÿòü èíñòðóìåíòàðèé ïî ìåòîäèêå îò ïðîñòîãî ê ñëîæíîìó:
ôîðìèðîâàíèå èç øàáëîííûõ êàäðîâ, ïóò¸ì íàçíà÷åíèÿ äèíàìèêè (âîçìîæíî è áåç ãðàôè÷åñêîé êîíôèãóðàöèè);
ãðàôè÷åñêîå ôîðìèðîâàíèå íîâûõ êàäðîâ, ïóò¸ì èñïîëüçîâàíèÿ ãîòîâûõ ýëåìåíòîâ âèçóàëèçàöèè èç áèáëèîòåêè(ìíåìîñõåìû);
ôîðìèðîâàíèå íîâûõ êàäðîâ, øàáëîííûõ êàäðîâ è ýëåìåíòîâ îòîáðàæåíèå â áèáëèîòåêè.
ïîñòðîåíèå èíòåðôåéñîâ âèçóàëèçàöèè ðàçíîé ñëîæíîñòè, íà÷èíàÿ îò ïðîñòûõ ïëîñêèõ èíòåðôåéñîâ ìîíèòîðèíãà è çàêàí÷èâàÿ ïîëíîöåííûìè èåðàðõè÷åñêèìè èíòåðôåéñàìè, èñïîëüçóåìûìè â SCADA ñèñòåìàõ;
ïðåäîñòàâëåíèå ðàçëè÷íûõ ñïîñîáîâ ôîðìèðîâàíèÿ è êîíôèãóðàöèè ïîëüçîâàòåëüñêîãî èíòåðôåéñà, îñíîâàííûõ íà ðàçëè÷íûõ èíòåðôåéñàõ ãðàôè÷åñêîãî ïðåäñòàâëåíèÿ (QT, Web, Java ...), èëè-æå ïîñðåäñòâîì ñòàíäàðòíîãî èíòåðôåéñà óïðàâëåíèÿ ñèñòåìîé OpenSCADA;
ñìåíó äèíàìèêè â ïðîöåññå èñïîëíåíèÿ;
ïîñòðîåíèå íîâûõ øàáëîííûõ êàäðîâ íà óðîâíå ïîëüçîâàòåëÿ è ôîðìèðîâàíèå ñïåöèàëèçèðîâàííûõ, ïîä îáëàñòü ïðèìåíåíèÿ, áèáëèîòåê êàäðîâ (íàïðèìåð âêëþ÷åíèå êàäðîâ ïàðàìåòðîâ, ãðàôèêîâ è äðóãèõ ýëåìåíòîâ ñ óâÿçêîé èõ äðóã ñ äðóãîì), â ñîîòâåòñòâèè ñ òåîðèåé âòîðè÷íîãî èñïîëüçîâàíèÿ è íàêîïëåíèÿ;
ïîñòðîåíèå íîâûõ ïîëüçîâàòåëüñêèõ ýëåìåíòîâ âèçóàëèçàöèè è ôîðìèðîâàíèå ñïåöèàëèçèðîâàííûõ ïîä îáëàñòü ïðèìåíåíèÿ áèáëèîòåê êàäðîâ, â ñîîòâåòñòâèè ñ òåîðèåé âòîðè÷íîãî èñïîëüçîâàíèÿ è íàêîïëåíèÿ;
îïèñàíèå ëîãèêè íîâûõ øàáëîííûõ êàäðîâ è ïîëüçîâàòåëüñêèõ ýëåìåíòîâ âèçóàëèçàöèè êàê ïðîñòûìè ñâÿçÿìè, òàê è ëàêîíè÷íûì, ïîëíîöåííûì ÿçûêîì ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ;
âîçìîæíîñòü âêëþ÷åíèÿ â ïîëüçîâàòåëüñêèå ýëåìåíòû âèçóàëèçàöèè ôóíêöèé (èëè êàäðîâ âû÷èñëåíèÿ ôóíêöèé) îáúåêòíîé ìîäåëè OpenSCADA, ïðàêòè÷åñêè ñâÿçûâàÿ ïðåäñòàâëåíèå ñ àëãîðèòìîì âû÷èñëåíèÿ (íàïðèìåð, âèçóàëèçèðóÿ áèáëèîòåêó ìîäåëåé àïïàðàòîâ ÒÏ, äëÿ ïîñëåäóþùåãî âèçóàëüíîãî ïîñòðîåíèÿ ìîäåëåé ÒÏ);
ðàçäåëåíèå äàííûõ ïîëüçîâàòåëüñêèõ èíòåðôåéñîâ è èíòåðôåéñîâ ïðåäñòàâëåíèÿ ýòèõ äàííûõ, ïîçâîëÿþùåå ñòðîèòü èíòåðôåéñ ïîëüçîâàòåëÿ â îäíîé ñðåäå, à èñïîëíÿòü âî ìíîãèõ äðóãèõ (QT, Web, Java ...);
âîçìîæíîñòü ïîäêëþ÷åíèÿ ê èñïîëíÿþùåìóñÿ èíòåðôåéñó, äëÿ íàáëþäåíèÿ è êîððåêöèè äåéñòâèé (íàïðèìåð, ïðè îáó÷åíèè îïåðàòîðîâ è êîíòðîëÿ â ðåàëüíîì âðåìåíè çà åãî äåéñòâèÿìè);
âèçóàëüíîå ïîñòðîåíèå ðàçëè÷íûõ ñõåì ñ íàëîæåíèåì ëîãè÷åñêèõ ñâÿçåé è ïîñëåäóþùèì öåíòðàëèçîâàííûì èñïîëíåíèåì â ôîíå (âèçóàëüíîå ïîñòðîåíèå è èñïîëíåíèå ìàòåìàòè÷åñêèõ ìîäåëåé, ëîãè÷åñêèõ ñõåì, ðåëåéíûõ ñõåì è èíûõ ïðîöåäóð);
ïðåäîñòàâëåíèå ôóíêöèé îáúåêòíîãî API â ñèñòåìó OpenSCADA, ìîæåò èñïîëüçîâàòüñÿ äëÿ óïðàâëåíèÿ ñâîéñòâàìè èíòåðôåéñà âèçóàëèçàöèè èç ïîëüçîâàòåëüñêèõ ïðîöåäóð;
ïîñòðîåíèå ñåðâåðîâ êàäðîâ, ýëåìåíòîâ âèçóàëèçàöèè è ïðîåêòîâ èíòåðôåéñîâ âèçóàëèçàöèè ñ âîçìîæíîñòüþ îáñëóæèâàíèÿ ìíîæåñòâåííûõ êëèåíòñêèõ ñîåäèíåíèé;
ïðîñòàÿ îðãàíèçàöèÿ êëèåíòñêèõ ñòàíöèé íà ðàçëè÷íîé îñíîâå (QT, Web, Java ...) ñ ïîäêëþ÷åíèåì ê öåíòðàëüíîìó ñåðâåðó;
ïîëíîöåííûé ìåõàíèçì ðàçäåëåíèÿ ïîëíîìî÷èé ìåæäó ïîëüçîâàòåëÿìè, ïîçâîëÿþùèé ñîçäàâàòü è èñïîëíÿòü ïðîåêòû ñ ðàçëè÷íûìè ïðàâàìè äîñòóïà ê åãî êîìïîíåíòàì;
ãèáêîå ôîðìèðîâàíèå ïðàâèë ñèãíàëèçàöèé è óâåäîìëåíèÿ ñ ó÷¸òîì è ïîääåðæêîé ðàçëè÷íûõ ñïîñîáîâ óâåäîìëåíèÿ;
ïîääåðæêà ïîëüçîâàòåëüñêîãî ôîðìèðîâàíèÿ ïàëèòðû è øðèôòîâûõ ïðåäïî÷òåíèé äëÿ èíòåðôåéñà âèçóàëèçàöèè (òåìû);
ïîääåðæêà ïîëüçîâàòåëüñêîãî ôîðìèðîâàíèÿ êàðò ñîáûòèé ïîä ðàçëè÷íîå îáîðóäîâàíèå óïðàâëåíèÿ è ïîëüçîâàòåëüñêèå ïðåäïî÷òåíèÿ;
ïîääåðæêà ïðîôèëåé ïîëüçîâàòåëåé, ïîçâîëÿþùàÿ îïðåäåëÿòü ðàçëè÷íûå ñâîéñòâà èíòåðôåéñà âèçóàëèçàöèè (öâåòîâàÿ ãàììà, øðèôòîâûå îñîáåííîñòè, ïðåäïî÷òèòåëüíûå êàðòû ñîáûòèé);
ãèáêîå õðàíåíèå è ðàñïðîñòðàíåíèå áèáëèîòåê âèäæåòîâ, êàäðîâ è ïðîåêòîâ èíòåðôåéñîâ âèçóàëèçàöèè â ÁÄ, ïîääåðæèâàåìûõ ñèñòåìîé OpenSCADA; ïðàêòè÷åñêè ïîëüçîâàòåëþ íóæíî òîëüêî çàðåãèñòðèðîâàòü ïîëó÷åííóþ ÁÄ ñ äàííûìè.
Áîëåå äåòàëüíî îçíàêîìèòüñÿ ñ ïðîåêòîì êîíöåïöèè ÑÂÓ ìîæíî ïî ññûëêå: http://wiki.oscada.org.ua/Doc/KoncepcijaSredyVizualizacii
2 Çíà÷èòåëüíîå ïîâûøåíèå ñòàáèëüíîñòè, óñòîé÷èâîñòè è ïðîèçâîäèòåëüíîñòè ñèñòåìû.
 ïðîöåññå ðàáîò íàä âåðñèåé 0.6.0 áûëî âûïîëíåíî ðÿä ìåðîïðèÿòèé ïî îáùåé ñòàáèëèçàöèè ñèñòåìû OpenSCADA, à òàêæå ïî ïîâûøåíèþ ïðîèçâîäèòåëüíîñòè ñèñòåìû. Ïåðå÷èñëèì íàèáîëåå âàæíûå èç íèõ:
Èñïðàâëåíà ãëîáàëüíàÿ ïðîáëåìà íåäîñòàòî÷íîãî ïîêðûòèÿ êëþ÷åâûõ ïåðåìåííûõ ðåñóðñàìè. Ïðîáëåìà îò÷¸òëèâî âûÿâèëà ñåáÿ íà ìíîãîÿäåðíûõ àðõèòåêòóðàõ.
Èñêëþ÷åíà âîçìîæíîñòü ïðÿìîãî âûçîâà QT-ìåòîäîâ èç íå QT-ïîòîêîâ âî âñåõ QT-ìîäóëÿõ. Ïðèâîäèëî ê ïàäåíèþ OpenSCADA ïðè îñòàíîâêå.
Ìåõàíèçì çàõâàòà ðåñóðñîâ ïåðåñìîòðåí, èñïðàâëåí äëÿ ðàáîòû â ìíîãîÿäåðíûõ ñèñòåìàõ è îïòèìèçèðîâàí. Â ðåçóëüòàòå ïîâûñèëàñü îáùàÿ ñòàáèëüíîñòü è ïðîèçâîäèòåëüíîñòü.
Èñïðàâëåíû ôóíêöèè TSYS::addr2str() è TSYS::str2addr(). Ïðèâîäèëî ê íåïîíÿòíûì ïàäåíèÿì ìîäóëÿ QTCfg.
Âíåäðåíèå àññîöèàòèâíûõ êîíòåéíåðîâ (map è hash_map) â íàèáîëåå îòâåòñòâåííûå óçëû OpenSCADA. Çíà÷èòåëüíî ïîâûñèëî ñêîðîñòü äîñòóïà ê ýëåìåíòàì áîëüøèõ ìàññèâîâ, íàïðèìåð:
ïðè äîñòóïå ê äèíàìè÷åñêèì îáúåêòàì, äèíàìè÷åñêîãî äåðåâà, âî âðåìÿ ðàçáîðà ïîëíîãî ïóòè äèíàìè÷åñêîãî îáúåêòà;
ïðè ðàáîòå ñî ñâîéñòâàìè ýëåìåíòîâ êîíôèãóðàöèè è òàáëèö ÁÄ.
Ñèñòåìàòèçèðîâàí è óíèôèöèðîâàí èíòåðôåéñ óïðàâëåíèÿ ñèñòåìîé è åãî ÿçûê. Ïîâûñèëî ôóíêöèîíàëüíûå êà÷åñòâà è ðåàêòèâíîñòü èíòåðôåéñîâ è ïðîòîêîëîâ ïîñòðîåííûõ íà í¸ì.
Äîáàâëåíà âîçìîæíîñòü àäðåñàöèè îòäåëüíûõ ýëåìåíòîâ çàïèñè òàáëèö ÁÄ. Ïîâûñèëî ïðîèçâîäèòåëüíîñòü äîñòóïà ê ÁÄ ïóò¸ì çàïðîñà òîëüêî íóæíûõ ýëåìåíòîâ çàïèñè.
Äîáàâëåí ìåõàíèçì çàïîìèíàíèÿ ñìåùåíèÿ â ñòðîêå, äëÿ îñíîâíûõ ôóíêöèé, ïðè ðàçáîðå ïóòè èëè àäðåñà ñ ðàçäåëèòåëåì. Èñêëþ÷èëî ãåîìåòðè÷åñêèé ðîñò çàòðàò âðåìåíè íà ðàçáîð ñòðîêè îò êîëè÷åñòâà ýëåìåíòîâ â íåé.
Îïòèìèçàöèÿ ðåàëèçàöèè çàïðîñîâ â ìîäóëÿõ ÁÄ: SQLite è MySQL . Çíà÷èòåëüíî ïîâûñèëî ýôôåêòèâíîñòü äîñòóïà ê ÁÄ ýòèõ òèïîâ.
Îïòèìèçèðîâàí ìåõàíèçì ïðîâåðêè ïðàâ äîñòóïà. Ïîçâîëèëî ñíèçèòü âðåìÿ ïðîâåðêè ïðàâ äîñòóïà.
3 Óíèôèêàöèÿ èíòåðôåéñà óïðàâëåíèÿ è ïîñòðîåíèå ïðîòîêîëà âçàèìîäåéñòâèÿ íà åãî îñíîâå.
 äàííîé âåðñèè ïðîèçâåäåíà óíèôèêàöèÿ èíòåðôåéñà óïðàâëåíèÿ OpenSCADA â íàïðàâëåíèè ôîðìàëèçàöèè ÿçûêà çàïðîñîâ, óïðîùåíèÿ ôîðìèðîâàíèÿ èíôîðìàöèîííîé ÷àñòè è îáðàáîòêè êîìàíäíûõ çàïðîñîâ, à òàêæå ñ öåëüþ óïðîùåíèÿ ôîðìèðîâàíèÿ òðàíñïîðòíûõ ïðîòîêîëîâ íà îñíîâå äàííîãî èíòåðôåéñà. Ðåçóëüòàòîì äàííîé óíèôèêàöèè ñòàëî ïîâûøåíèé îáùåé ïðîèçâîäèòåëüíîñòè çàïðîñîâ ïî äàííîìó èíòåðôåéñó, à òàê-æå ñîçäàíèå òðàíñïîðòíîãî ïðîòîêîëà SelfSystem . Çà îñíîâó ýòîãî ïðîòîêîëà âçÿòû çàïðîñû ê èíòåðôåéñó óïðàâëåíèÿ OpenSCADA, îá¸ðíóòûå â òîíêèé ñëîé óïðàâëÿþùåãî ïðîòîêîëà.
Ïîñðåäñòâîì äàííîãî ïðîòîêîëà ðåàëèçîâàíî âçàèìîäåéñòâèå ìåæäó ðàçëè÷íûìè ñòàíöèÿìè OpenSCADA â ñåòè. Íàïðèìåð, ìîäóëü êîíôèãóðàöèè íà áèáëèîòåêå QT, QTCfg , ïîëó÷èë âîçìîæíîñòü êîíôèãóðàöèè óäàë¸ííûõ ñòàíöèé, ïîçâîëÿÿ ñòðîèòü ðàñïðåäåë¸ííûå ñèñòåìû ñ åäèíûì êîíôèãóðàöèîííûì öåíòðîì. Âèçóàëèçàòîð ïîëüçîâàòåëüñêèõ èíòåðôåéñîâ íà îñíîâå áèáëèîòåêè QT, Vision , òàêæå, ïîëó÷èë âîçìîæíîñòü ôîðìèðîâàíèÿ ïîëüçîâàòåëüñêîãî èíòåðôåéñà è èñïîëíåíèå ñåàíñîâ ïîëüçîâàòåëüñêèõ èíòåðôåéñîâ, ðàñïîëîæåííûõ íà óäàë¸ííûõ OpenSCADA ñòàíöèÿõ, ôîðìèðóÿ òåì ñàìûì êîíôèãóðàöèþ ñ ñåðâåðîì âèçóàëèçàöèè. Êî âñåìó ýòîìó áûë ðåàëèçîâàí ïåðâûé ìîäóëü îòðàæåíèÿ äàííûõ óäàë¸ííûõ ñòàíöèé OpenSCADA íà ëîêàëüíûõ, èì ñòàë ìîäóëü îòðàæåíèÿ äàííûõ ïîäñèñòåìû 'Ñáîð äàííûõ'.  ïîñëåäñòâèè ïëàíèðóåòñÿ ñîçäàíèå òàêèõ, òðàíñïîðòíûõ, ìîäóëåé äëÿ îñòàëüíûõ ìîäóëüíûõ ïîäñèñòåì.
À ñëåäîì çà äàííûìè ðåøåíèÿìè áûë äîáàâëåí ìåõàíèçì ñåðâèñíûõ ôóíêöèé èíòåðôåéñà óïðàâëåíèÿ. Äàííûé ìåõàíèçì ïîçâîëÿåò ïîëó÷èòü äîñòóï ê äàííûì ñî ñëîæíûì ôîðìàòèðîâàíèåì è äàííûì áîëüøèõ îáú¸ìîâ, â ïðèîðèòåòíîì ðåæèìå çàïðîñà è îïòèìàëüíîé äëÿ ïåðåäà÷è ôîðìå.
4 Óíèôèêàöèÿ ìåõàíèçìà ïîñòðîåíèÿ ïàðàìåòðîâ ïîäñèñòåìû 'Ñáîð äàííûõ' ïî øàáëîíàì.
 âåðñèþ 0.5.0 áûë âíåäð¸í ìåõàíèçì ôîðìèðîâàíèÿ ïàðàìåòðîâ ïîäñèñòåìû 'Ñáîð äàííûõ' ñ íóæíîé ïîëüçîâàòåëþ ñòðóêòóðîé, ò.å. ïî øàáëîíó. Äàííûé ìåõàíèçì áûë ðåàëèçîâàí â âèäå îòäåëüíîé ïîäñèñòåìû 'Ïàðàìåòðû'.  äàííîì ðåëèçå èäåÿ ôîðìèðîâàíèÿ ïàðàìåòðîâ ïîäñèñòåìû 'Ñáîð äàííûé' ïî øàáëîíàì áûëà ðàñøèðåíà íà âñå îñòàëüíûå ìîäóëè ïîäñèñòåìû 'Ñáîð äàííûõ'. Ïðè ýòîì ðàíåå ñóùåñòâóþùàÿ ïîäñèñòåìà 'Ïàðàìåòðû' áûëà ïðåîáðàçîâàíà â ðàâíîöåííûé ìîäóëü ëîãè÷åñêîãî óðîâíÿ ïàðàìåòðîâ 'LogicLev ', à øàáëîíû ñòàëî âîçìîæíûì ôîðìèðîâàòü íà óðîâíå ïîäñèñòåìû 'Ñáîð äàííûõ', ãðóïïèðóÿ èõ ïî áèáëèîòåêàì øàáëîíîâ. Ôàêòè÷åñêè ëþáîé ìîäóëü, ïðåäîñòàâëÿþùèé äîñòóï ê äàííûì âûñîêîèíòåëëåêòóàëüíûõ èñòî÷íèêîâ, ìîæåò âêëþ÷àòü ïîääåðæêó ïàðìåòðîâ, ôîðìèðóåìûõ ïî øàáëîíó, âíîñÿ ñâîé ñìûñë â ññûëêó âíóòðåííåãî óðîâíÿ. Ïðèìåðîì òàêîãî ìîäóëÿ ñòàë ìîäóëü äîñòóïà ê äàííûì êîíòðîëëåðîâ ôèðìû Siemens ñåðèè S7 ïî ïðîòîêîëó MPI ñåòè ProfiBUS CIF .
Øàáëîíû ïàðàìåòðîâ ñòàëè ôîðìèðîâàòüñÿ íåçàâèñèìî îò ñóùåñòâóþùèõ ôóíêöèé, ïóò¸ì ôîðìèðîâàíèÿ ñîáñòâåííîé ôóíêöèè îáðàáîòêè ïàðàìåòðîâ è ïîñëåäóþùåé å¸ êîìïèëÿöèè â ìîäóëå, ïðåäîñòàâëÿþùåì ìåõàíèçì êîìïèëÿöèè ÿçûêà ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ. Øàáëîí ìîæåò áûòü ñôîðìèðîâàí âîîáùå áåç ïîëüçîâàòåëüñêîé ïðîöåäóðû, åñëè íóæíî òîëüêî ïàññèâíîå, âûáîðî÷íîå îòðàæåíèå ïàðàìåòðîâ.
5 Ðàñøèðåíèå îñíîâíîãî ÿçûêà ( JavaLikeCalc ) è API óðîâíÿ ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ.
Êîìïèëèðóþùèé èíòåðïðåòàòîð Java-ïîäîáíîãî ÿçûêà âìåñòå ñ áèáëèîòåêàìè ôóíêöèé ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ ôèêñèðîâàííîãî òèïà (API) ôîðìèðóþò ñðåäó ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ ñèñòåìû OpenSCADA.
 äàííîì ðåëèçå Java-ïîäîáíûé ÿçûê ïîëó÷èë:
ïîëíîöåííóþ ïîääåðæêó öèêëîâ while è for;
ìåõàíèçìîì ïðåðûâàíèÿ çàöèêëèâøèõñÿ ïðîöåäóð;
îïåðàöèè ïðåôèêñíîãî è ïîñòôèêñíîãî èíêðåìåíòà è äåêðåìåíòà;
ìåõàíèçì ïðåêîìïèëÿöèè ïîëüçîâàòåëüñêèõ ïðîãðàìì ðàçëè÷íûõ ïîäñèñòåì;
ïðÿìîé ìåõàíèçì àäðåñàöèè ïàðàìåòðîâ ïîäñèñòåìû 'Ñáîð äàííûõ'.
API ôóíêöèé ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ áûëî óíèôèöèðîâàíî è îïðåäåëÿåòñÿ áèáëèîòåêàìè ôóíêöèé:
FLibSYS -- Áèáëèîòåêà ñèñòåìíîãî API, íà ìîìåíò äàííîãî ðåëèçà ñîäåðæèò ôóíêöèè äëÿ ðàáîòû ñ âðåìåíåì è äàòîé, à òàêæå àðõèâàìè ñîîáùåíèé è çíà÷åíèé.
FLibMath -- Áèáëèîòåêà ìàòåìàòè÷åñêèõ ôóíêöèé.
FLibComplex1 -- Áèáëèîòåêà ôóíêöèé ñîâìåñòèìîñòè ñî SCADA 'Complex1'.
6 Ïåðåõîä íà áèáëèîòåêó QT âåðñèè 4 â ìîäóëÿõ, èñïîëüçóþùèõ ýòó áèáëèîòåêó.
 âèäó âûõîäà íîâîé âåðñèè áèáëèîòåêè QT (âåðñèÿ 4) è ïîâñåìåñòíîãî å¸ ðàñïðîñòðàíåíèÿ, à òàêæå íà÷àëà ðàáîò íàä ñðåäîé âèçóàëèçàöèè è óïðàâëåíèÿ (ÑÂÓ), ðåøåíî áûëî ïåðåâåñòè ñóùåñòâóþùèå ìîäóëè, îñíîâàííûå íà QT, íà íîâóþ âåðñèþ.
Òàêàÿ ðàáîòà áûëà âûïîëíåíà è ìîäóëè ïîäñèñòåìû 'Ïîëüçîâàòåëüñêèå èíòåðôåéñû': QTCfg , QTStarter è Vision ôóíêöèîíèðóþò íà îñíîâå áèáëèîòåêè QT âåðñèè 4.  âèäó íàëè÷èÿ â ðàííèõ âåðñèÿõ îïðåäåë¸ííûõ ïðîáëåì è îòñóòñòâèÿ íåêîòîðûõ ôóíêöèé ðåêîìåíäóåòñÿ èñïîëüçîâàòü âåðñèþ áèáëèîòåêè íå ìåíåå 4.3.
 ðåçóëüòàòå ïåðåõîäà íà áèáëèîòåêó QT4 óäàëîñü äîáèòüñÿ áîëüøåé ñòàáèëüíîñòè è ðàñøèðèòü ôóíêöèîíàëüíûå õàðàêòåðèñòèêè ìîäóëåé å¸ èñïîëüçóþùèõ.
7 Îáùèå óëó÷øåíèÿ API ÿäðà ñèñòåìû OpenSCADA.
 ïðîöåññå ðàáîò íàä äàííûì ðåëèçîì áûëè âíåñåíû îïðåäåë¸ííûå èçìåíåíèÿ â API ñèñòåìû OpenSCADA.  áîëüøåé ìåðå ýòî ñâÿçàíî ñ ïðîöåññàìè ñòàáèëèçàöèè, îïòèìèçàöèè, ôèêñàöèè îøèáîê è îáùèì óëó÷øåíèåì API è â ìåíüøåé ñòåïåíè ñ äîáàâëåíèåì íîâûõ ôóíêöèé. Ïåðå÷èñëèì íàèáîëåå çíà÷èòåëüíûå èçìåíåíèÿ:
Óíèôèêàöèÿ API èíòåðôåéñà óïðàâëåíèÿ OpenSCADA. Ïîäðîáíåå îá ýòîì â ðàçäåëå 3.
 ïîäñèñòåìå áåçîïàñíîñòè, ó ïîëüçîâàòåëåé è ãðóïï ïîëüçîâàòåëåé, óñòðàíåíà èíäåêñàöèÿ ïîëüçîâàòåëåé è ãðóïï ïîëüçîâàòåëåé. Òàêæå, óñòðàíåíà ãðóïïà ïîëüçîâàòåëÿ ïî óìîë÷àíèþ. Âûïîëíåíî ñ öåëüþ óñòðàíåíèÿ äâîéíîé èäåíòèôèêàöèè, ïîñêîëüêó ïðèñóòñòâóåò áûñòðàÿ èäåíòèôèêàöèÿ ïî ñèìâîëüíîìó èäåíòèôèêàòîðó/èìåíè.
Óïðàçäíåíà ïîäñèñòåìà 'Ïàðàìåòðû', à å¸ ôóíêöèè âûíåñåíû â ìîäóëü ëîãè÷åñêîãî óðîâíÿ 'LogicLev ' ïîäñèñòåìû 'Ñáîð äàííûõ'. Øàáëîíû ïàðàìåòðîâ ñãðóïïèðîâàíû ïî áèáëèîòåêàì è ðàçìåùåíû â ïîäñèñòåìå 'Ñáîð äàííûõ'. Ïîäðîáíåå îá ýòîì â ðàçäåëå 4.
Äîáàâëåí ìåõàíèçì êîìïèëÿöèè ïðîöåäóð â ìîäóëÿõ ïîäñèñòåìû 'Ñáîð äàííûõ', äëÿ èñïîëüçîâàíèÿ ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ â ðàçëè÷íûõ óçëàõ OpenSCADA.
Äîáàâëåí øàáëîí ôóíêöèè ëîêàëèçàöèè ñîîáùåíèé _() ñ öåëüþ óíèôèêàöèè, ïîâûøåíèÿ ÷èòàáåëüíîñòè èñõîäíîãî òåêñòà è óìåíüøåíèÿ íàñûùåííîñòè.
Äîáàâëåíû øàáëîíû ôóíêöèé äëÿ ôîðìèðîâàíèÿ ñîîáùåíèé â OpenSCADA è ïîâûøåíèÿ ÷èòàáåëüíîñòè èñõîäíîãî òåêñòà, à òàê-æå óìåíüøåíèÿ íàñûùåííîñòè. Äîáàâëåíû øàáëîíû ôóíêöèé: message(), mess_err(), mess_info() è ïîäîáíûå.
Óíèôèöèðîâàíû òî÷êè ñîñòîÿíèé êîíòðîëëåðîâ ïîäñèñòåìû. Òåïåðü ñîñòîÿíèå «Âêëþ÷åí» ïîäðàçóìåâàåò óñòàíîâêó âñåõ ñâÿçåé, à «Çàïóùåí» òîëüêî ôàêòè÷åñêèé ñáîð äàííûõ.
Ïðàêòè÷åñêè âñå ôóíêöèè óñòàíîâêè ïàðàìåòðîâ ïåðåèìåíîâàíû ê âèäó setMethod().
Äîáàâëåíà ïîääåðæêà àòðèáóòà âèäèìîñòè ïîëåé çàïèñè ÁÄ. Ýòî ïîçâîëÿåò ïîâûñèòü ïðîèçâîäèòåëüíîñòü ðàáîòû ñ ÁÄ çà ñ÷¸ò ïîëó÷åíèÿ òîëüêî íóæíûõ äàííûõ.
Äîáàâëåíà ïîääåðæêà ãëîáàëüíîãî êîäà îøèáêè â îáúåêòå TError. Èñïîëüçóåòñÿ äëÿ èçáèðàòåëüíîé îáðàáîòêè îøèáîê.
Ìåõàíèçì çàõâàòà ðåñóðñîâ ïåðåñìîòðåí, èñïðàâëåí äëÿ ðàáîòû â ìíîãîÿäåðíûõ ñèñòåìàõ è îïòèìèçèðîâàí.
Äîáàâëåí ìåõàíèçì ïðåäâàðèòåëüíîé èíèöèàëèçàöèè ñîçäàâàåìûõ àðõèâîâ çíà÷åíèé â ìîäóëÿõ ñáîðà äàííûõ. Óäàëîñü äîáèòüñÿ èñêëþ÷åíèÿ äîïîëíèòåëüíîé íàñòðîéêè àðõèâà ïðè êîíôèãóðàöèè àòðèáóòîâ ïàðàìåòðîâ.
Äîáàâëåíà ïîääåðæêà ìåõàíèçìîâ çàïðîñà ïåðå÷íÿ äîñòóïíûõ â ÁÄ òàáëèö è èõ ñòðóêòóðû, à òàêæå ðåäàêòèðîâàíèÿ èõ ñîäåðæèìîãî ïîñðåäñòâîì èíòåðôåéñà óïðàâëåíèÿ è êîíôèãóðàòîðîâ OpenSCADA.
Ðåàëèçîâàíà ïîääåðæêà èñõîäÿùèõ ïðîòîêîëîâ. Âíóòðåííèé èíòåðôåéñ ïðîòîêîëà ðåàëèçîâàí ïîòîêîâûì, ñî ñïåöèàëèçèðîâàííîé äëÿ ïðîòîêîëà ñòðóêòóðîé.
Äåòàëüíåå îçíàêîìèòüñÿ ñ API äàííîé âåðñèè ìîæíî â ñîîòâåòñòâóþùåì äîêóìåíòå 'API ñèñòåìû OpenSCADA '.
8 Îáùåå óëó÷øåíèÿ ñáîðî÷íîé ñèñòåìû, êàê ñëåäñòâèå, óïðîùåíèå è ðàñøèðåíèå ïîääåðæèâàåìûõ ïëàòôîðì.
Ñ öåëüþ ðåàëèçàöèè ôóíêöèè ïîëíîöåííîãî, ðàííåãî, óâåäîìëåíèÿ îá îòñóòñòâèè íóæíûõ äëÿ ñáîðêè çàâèñèìîñòåé ñöåíàðèé ïðîâåðêè îêðóæåíèÿ áûë äîïîëíåí êîäîì ïðîâåðêè îñíîâíûõ çàâèñèìîñòåé ñáîðêè.  ðåçóëüòàòå ýòîãî, óâåäîìëåíèÿ î âñåõ íåóäîâëåòâîð¸ííûõ çàâèñèìîñòÿõ áóäóò âûäàíû íà ñòàäèè êîíôèãóðàöèè ñáîðî÷íîé ñèñòåìû, ÷òî óñêîðÿåò ðàçðåøåíèå çàâèñèìîñòåé èëè ïðèíÿòèå ðåøåíèÿ îá îòêëþ÷åíèÿ ñáîðêè òîãî èëè èíîãî ìîäóëÿ.
Ôîðìàò äîêóìåíòàöèè, ðàçìåù¸ííîé â äåðåâå èñõîäíîãî òåêñòà è òàðáîëå ïðîåêòà, áûë èçìåí¸í íà pdf, â âèäó ïðîñòîé ìàíèïóëÿöèè ñ íèì íà ñòàäèè óñòàíîâêè.
9 Íîâûé ñàéò ïðîåêòà OpenSCADA.
 ïðîöåññå ðàáîòû íàä äàííûì ðåëèçîì, äëÿ ïðîåêòà OpenSCADA áûë ñîçäàí íîâûé ñàéò (http://oscada.org), îñíîâàííûé íà CMS-äâèæêå Typo3 . Ñàéò ÿâëÿåòñÿ ìíîãîÿçû÷íûì è ñîäåðæèò îñíîâíóþ èíôîðìàöèþ î ïðîåêòå OpenSCADA, ñîõðàíÿÿ áîëüøîé ïîòåíöèàë ïî ðàñøèðåíèþ. Äëÿ ýòîãî ñàéòà áûëè âûïîëíåíû ïåðåâîäû îñíîâíûõ èíôîðìàöèîííûõ ìàòåðèàëîâ íà Óêðàèíñêèé è Àíãëèéñêèé ÿçûêè.
Çàïëàíèðîâàíî äîáàâëåíèå ñëåäóþùèõ ôóíêöèé íà ãëàâíîì ñàéòå: ôîðóìà, ãàëåðåè ñêðèíøîòîâ è äðóãèõ ìåäèà-ìàòåðèàëîâ, ïî÷òîâîé ðàññûëêè, òðåêåðà èçìåíåíèé è ðàáîò âåäóùèõñÿ ïî ïðîåêòó.
10 Ïëàíû äàëüíåéøåãî ðàçâèòèÿ
Ïëàíèðóþòñÿ ïîñëåäóþùèå, ÷àñòûå ðåëèçû â ïðåäåëàõ âåðñèè 0.6.0, ñ öåëüþ îïåðàòèâíîãî îòñëåæèâàíèÿ ïðîöåññà ïðèêëàäíîé àäàïòàöèè è ñòàáèëèçàöèè.  ôèíàëå ïëàíèðóåòñÿ âûïóñê ñòàáèëüíîé-ïðîìûøëåííîé âåðñèè 0.7.0 äëÿ ïëàòôîðìû Linux x86, x86-64.
Äëÿ ðåàëèçàöèè ê âåðñèè 0.7.0, ïî ïðîìåæóòî÷íûì âåðñèÿì 0.6.0, ìîæíî îïðåäåëèòü ñëåäóþùèå âàæíûå çàäà÷è:
Web-âèçóàëèçàòîð ÑÂÓ.
Ìîäóëüíûé ìåõàíèçì óâåäîìëåíèé è ñèãíàëèçàöèè.
Ðàçðàáîòêà è ðåàëèçàöèÿ ïðèìèòèâîâ ÑÂÓ: Äîêóìåíò, Ôóíêöèÿ è ñâÿçü.
Ðåàëèçàöèÿ ìåõàíèçìà: 'Òåìû îôîðìëåíèÿ' è 'Êàðòû ñîáûòèé' äëÿ ÑÂÓ.
Ðàñøèðåíèå ïåðå÷íÿ ïîääåðæèâàåìûõ èñòî÷íèêîâ äàííûõ.
Ññûëêè
Referring pages:
Doc