Ñåðâèñíûå èíòåðôåéñû ýòî èíòåðôåéñû äîñòóïà ê ñèñòåìå OpenSCADA ïîñðåäñòâîì èíòåðôåéñà óïðàâëåíèÿ OpenSCADA èç âíåøíèõ ñèñòåì. Äàííûé ìåõàíèçì ïîëîæåí â îñíîâó âñåõ ìåõàíèçìîâ îáìåíà âíóòðè OpenSCADA, ðåàëèçîâàííûõ ïîñðåäñòâîì ñëàáûõ ñâÿçåé è ñòàíäàðòíîãî ïðîòîêîëà îáìåíà OpenSCADA.
Äëÿ äîñòóïà ê àðõèâíûì äàííûì ñèñòåìû OpenSCADA èç ýëåìåíòîâ ÑÂÓ, íàïðèìåð èç âèçóàëèçàòîðîâ äëÿ ïîñòðîåíèÿ òðåíäîâ è äðóãèõ äèàãðàì, íåîáõîäèì ãèáêèé è îïòèìèçèðîâàííûé èíòåðôåéñ, â âèäó áîëüøîãî îáú¸ìà è øèðîòû âîçìîæíûõ ðåæèìîâ ðàáîòû ïîäñèñòåìû àðõèâèðîâàíèÿ çíà÷åíèé.  îñíîâå èíòåðôåéñà óïðàâëåíèÿ OpenSCADA ëåæèò ÿçûê XML, íà êîòîðîì ïåðåäàþòñÿ êîìàíäû è ïîëó÷àþòñÿ îòâåòû. Ëîêàëüíî, ðàáîòà ñ XML ñâîäèòñÿ ê ðàáîòå ñ äåðåâîì îáúåêòîâ (òåãîâ) XML, èñêëþ÷àÿ ñòàäèþ ïðåîáðàçîâàíèÿ â ñèìâîëüíûé ïîòîê è ïàðñèíã.
Äëÿ çàïðîñà äàííûõ àðõèâà, â ïîäñèñòåìå àðõèâèðîâàíèÿ, îáúåêòà àðõèâà çíà÷åíèÿ, è îáúåêòå àòðèáóòà ïàðàìåòðà, ïîäñèñòåìû ñáîðà äàííûõ, ïðåäóñìîòðèì êîìàíäû <info path="{a_p_addr}/%2fserv%2fval"/> è <get path="{a_p_addr}/%2fserv%2fval"/> äëÿ çàïðîñà èíôîðìàöèè îá àðõèâå è çíà÷åíèé àðõèâà, ñîîòâåòñòâåííî. Àòðèáóòû äàííûõ êîìàíä, ïðåäóñìàòðèâàþùèå ðàçëè÷íûå ìåõàíèçìû çàïðîñà, ïðåäñòàâèì â òàáëèöå 4.13.1.
Òàáëèöà 4.13.1. Àòðèáóòû êîìàíä çàïðîñà èíôîðìàöèè îá àðõèâå è àðõèâíûõ äàííûõ
Ñ öåëüþ ïðåäîñòàâëåíèÿ óíèôèöèðîâàííîãî, ãðóïïîâîãî è ñðàâíèòåëüíî áûñòðîãî äîñòóïà ê çíà÷åíèÿì àòðèáóòîâ âèçóàëüíûõ ýëåìåíòîâ ïðåäóñìîòðåíà ñåðâèñíàÿ ôóíêöèÿ âèçóàëüíîãî ýëåìåíòà "/serv/attr" è êîìàíäû ïîëó÷åíèÿ/óñòàíîâêè çíà÷åíèé àòðèáóòîâ: <get path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattr"/> è <set path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattr"/>. Àòðèáóòû äàííûõ êîìàíä, ïðåäóñìàòðèâàþùèå ðàçëè÷íûå ìåõàíèçìû çàïðîñà, ïðåäñòàâèì â òàáëèöå 4.13.2.
Òàáëèöà 4.13.2. Àòðèáóòû êîìàíä ïîëó÷åíèÿ/óñòàíîâêè àòðèáóòîâ âèçóàëüíûõ ýëåìåíòîâ
Id | Èìÿ | Çíà÷åíèå |
Êîìàíäà çàïðîñà âèçóàëüíûõ àòðèáóòîâ âèäæåòà: <get path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattr"/> | ||
tm | Âðåìÿ/ñ÷¸ò÷èê èçìåíåíèé | Óñòàíîâêà âðåìåíè/ñ÷¸ò÷èêà èçìåíåíèé äëÿ çàïðîñà òîëüêî èçìåíèâøèõñÿ àòðèáóòîâ. |
<el id="{attr}" pos="{a_id}>{val}</el> | Ôîðìèðîâàíèå äî÷åðíèõ ýëåìåíòîâ ñ ðåçóëüòàòàìè àòðèáóòîâ |  äî÷åðíåì ýëåìåíòå óêàçûâàþòñÿ: ñòðîêîâûõ èäåíòèôèêàòîð {attr} àòðèáóòà, èíäåêñ {a_id} àòðèáóòà è åãî çíà÷åíèå {val}. |
Êîìàíäà óñòàíîâêè âèçóàëüíûõ àòðèáóòîâ âèäæåòà: <set path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattr"/> | ||
<el id="{attr}">{val}</el> | Óñòàíîâêà àòðèáóòîâ |  äî÷åðíèõ ýëåìåíòàõ óêàçûâàåòñÿ èäåíòèôèêàòîð àòðèáóòà {attr} è åãî çíà÷åíèå {val}. |
Ñ öåëüþ óíèôèêàöèè è îïòèìèçàöèè äîñòóïà ê ñòðàíèöàì ïðåäóñìîòðåíà ñåðâèñíàÿ ôóíêöèÿ ñåàíñà "/serv/pg" è êîìàíäû çàïðîñà ïåðå÷íÿ îòêðûòûõ ñòðàíèö (<openlist path="/UI/VCAEngine/ses_{Session}/%2fserv%2fpg"/>); îòêðûòèÿ ñòðàíèöû (<open path="/UI/VCAEngine/ses_{Session}/%2fserv%2fpg"/>); è çàêðûòèÿ ñòðàíèöû <close path="/UI/VCAEngine/ses_{Session}/%2fserv%2fpg"/>).
Ðåçóëüòàòîì çàïðîñà ïåðå÷íÿ îòêðûòûõ ñòðàíèö ÿâëÿþòñÿ äî÷åðíèå ýëåìåíòû <el>{OpPage}</el> ñîäåðæàùèå ïîëíûé ïóòü îòêðûòîé ñòðàíèöû. Êðîìå ïåðå÷íÿ îòêðûòûõ ñòðàíèö çàïðîñ âîçâðàùàåò çíà÷åíèå òåêóùåãî ñ÷¸ò÷èêà âû÷èñëåíèÿ ñåàíñà â àòðèáóòå <tm>. Åñëè äàííûé àòðèáóò óñòàíàâëèâàåòñÿ ïðè çàïðîñå, òî äëÿ êàæäîé îòêðûòîé ñòðàíèöû âîçâðàùàåòñÿ ñïèñîê èçìåí¸ííûõ, ñ ìîìåíòà óêàçàííîãî çíà÷åíèÿ ñ÷¸ò÷èêà, âèäæåòîâ îòêðûòîé ñòðàíèöû.
Äëÿ ïðåäîñòàâëåíèÿ óíèôèöèðîâàííîãî ìåõàíèçìà ìàíèïóëÿöèè ñåàíñàìè, âèçóàëèçàòîðàì ÑÂÓ, â ìîäóëå äâèæêà ÑÂÓ (VCAEngin) ïðåäóñìîòðåíà ñåðâèñíàÿ ôóíêöèÿ "/serv/sess" è êîìàíäû çàïðîñà ïåðå÷íÿ îòêðûòûõ ñåàíñîâ, ïîäêëþ÷åíèÿ/ñîçäàíèÿ íîâîãî ñåàíñà è îòêëþ÷åíèÿ/óäàëåíèÿ ñåàíñà: <list path="/UI/VCAEngine/%2fserv%2fsess"/>, <connect path="/UI/VCAEngine/%2fserv%2fsess"/> è <disconnect path="/UI/VCAEngine/%2fserv%2fsess"/> ñîîòâåòñòâåííî. Àòðèáóòû äàííûõ êîìàíä, ïðåäóñìàòðèâàþùèå ðàçëè÷íûå ìåõàíèçìû çàïðîñà, ïðåäñòàâèì â òàáëèöå 4.13.4.
Òàáëèöà 4.13.4. Àòðèáóòû êîìàíä ìåõàíèçìà ìàíèïóëÿöèè ñåàíñàìè
Id | Èìÿ | Çíà÷åíèå |
Êîìàíäà çàïðîñà ïåðå÷íÿ îòêðûòûõ ñåàíñîâ äëÿ ïðîåêòà: <list path="/UI/VCAEngine/%2fserv%2fsess"/> | ||
prj | Óêàçàíèå ïðîåêòà | Óêàçûâàåò ïðîåêò äëÿ êîòîðîãî âîçâðàùàòü ïåðå÷åíü îòêðûòûõ ñåàíñîâ. |
<el>{Session}</el> | Êîíòðîëü ïåðå÷íÿ ñåàíñîâ |  äî÷åðíèõ ýëåìåíòàõ óêàçûâàþòñÿ ñåàíñû, îòêðûòûå äëÿ çàïðîøåííîãî ïðîåêòà. |
Êîìàíäà ïîäêëþ÷åíèÿ/îòêðûòèÿ ñåàíñà: <connect path="/UI/VCAEngine/%2fserv%2fsess"/> | ||
sess | Óñòàíîâêà è êîíòðîëü èìåíè ñåàíñà | Åñëè àòðèáóò îïðåäåë¸í, òî ïðîèçâîäèòñÿ ïîäêëþ÷åíèå ê ñóùåñòâóþùåìó ñåàíñó, èíà÷å ñîçäàíèå íîâîãî ñåàíñà.  ñëó÷àå îòêðûòèÿ íîâîãî ñåàíñà â äàííûé àòðèáóò ïîìåùàåòñÿ åãî èìÿ. |
prj | Óñòàíîâêà èìåíè ïðîåêòà | Èñïîëüçóåòñÿ äëÿ îòêðûòèÿ íîâîãî ñåàíñà äëÿ óêàçàííîãî ïðîåêòà è åñëè àòðèáóò {sess} íå óêàçàí. |
Êîìàíäà îòêëþ÷åíèÿ/çàêðûòèÿ ñåàíñà: <disconnect path="/UI/VCAEngine/%2fserv%2fsess"/> | ||
sess | Óñòàíîâêà èìåíè ñåàíñà | Óêàçûâàåò èìÿ ñåàíñà îò êîòîðîãî âûïîëíÿåòñÿ îòêëþ÷åíèå èëè çàêðûòèå. Ñåàíñû, íå ÿâëÿþùèåñÿ ôîíîâûìè è ê êîòîðûì íè îäèí èç âèçóàëèçàòîðîâ íå ïîäêëþ÷åí àâòîìàòè÷åñêè çàêðûâàþòñÿ. |