This is an old revision of
Function from 2016-02-20 03:27:17..
Ôóíêöèîíàëüíûå õàðàêòåðèñòèêè è òðåáîâàíèÿ ñèñòåìû OpenSCADA
Ñòðàíèöà ñîäåðæèò èíôîðìàöèþ ïîçâîëÿþùóþ ïîëó÷èòü îáùåå ïðåäñòàâëåíèå î ôóíêöèÿõ, êîòîðûå ìîæåò âûïîëíÿòü ñèñòåìà OpenSCADA íà òåêóùèé ìîìåíò. Ôóíêöèè ñãðóïïèðîâàíû ïî ñôåðàì ïðèìåíåíèÿ ñèñòåìû OpenSCADA. Äëÿ ïîëó÷åíèÿ êàðòèíû â öåëîì âêëþ÷åíû òàêæå ôóíêöèè çàïëàíèðîâàííûå èëè ðåàëèçóåìûå íà äàííûé ìîìåíò. Ñòðàíèöà òàêæå ñîäåðæèò òðåáîâàíèÿ ñèñòåìû OpenSCADA äëÿ å¸ èñïîëíåíèÿ è ñáîðêè.
Ñôåðà ïðèìåíåíèÿ ñèñòåìû OpenSCADA
Ðàçáèåíèå íà ñôåðû ïðèìåíåíèÿ âûïîëíåíî äëÿ óïðîùåíèÿ âîñïðèÿòèÿ ôóíêöèîíàëüíûõ âîçìîæíîñòåé ñèñòåìû â ñâåòå òðàäèöèîííîé îáëàñòè äëÿ ïðîåêòà OpenSCADA — àâòîìàòèçàöèÿ òåõíîëîãè÷åñêèõ ïðîöåññîâ. Õîòÿ âîçìîæíà êàê ñìåøàííàÿ, òàê è áîëåå ñïåöèàëèçèðîâàííàÿ êîíôèãóðàöèÿ ñèñòåì ðàáîòû ñ äàííûìè â ðåàëüíîãî âðåìåíè, íàïðèìåð, â ñôåðàõ: ERP, Áèëèíã, Óìíûé äîì è äð.

Ðèñ. 1. Ðîëè ñèñòåìû OpenSCADA
Ñåðâåð SCADA ñèñòåìû
- Âèçóàëüíûé êîíòðîëü è óïðàâëåíèå ïîñðåäñòâîì èíòåðôåéñîâ:
- Óäàë¸ííûé ñåðâåð âèçóàëèçàöèè íà îñíîâå äâèæêà âèçóàëèçàöèè è óïðàâëåíèÿ ÑÂÓ VCAEngine. Ëîêàëüíûé çàïóñê ìîäóëÿ UI.Vision, ïîäêëþ÷åííûé ê ñåðâåðó âèçóàëèçàöèè.
- Óäàë¸ííûé WEB èíòåðôåéñ. Ïîñðåäñòâîì WEB-áðàóçåðà, ìîäóëÿ âèçóàëèçàöèè WebVision è ìîäóëÿ ÿäðà ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ VCAEngine.
- Ïðîñòûå óäàë¸ííûå Web-èíòåðôåéñû ïîëüçîâàòåëÿ. Ïîñðåäñòâîì WEB-áðàóçåðà è UI-ìîäóëÿ WebUser.
- Ñáîð äàííûõ (DAQ) èç èñòî÷íèêîâ:
- Èíôîðìàöèè î ïëàòôîðìå(ïðîãðàììíî-àïïàðàòíîé) íà êîòîðîé ðàáîòàåò ñåðâåð. Ïîñðåäñòâîì DAQ-ìîäóëÿ System.
- Ñáîð äàííûõ èç èñòî÷íèêîâ ïîääåðæèâàþùèõ ïðîòîêîë SNMP (Simple Network Management Protocol). Ïîñðåäñòâîì DAQ-ìîäóëÿ SNMP.
- Ñáîð äàííûõ ïðîìûøëåííûõ êîíòðîëëåðîâ ôèðìû Siemens ñåðèè S7. Ïîñðåäñòâîì DAQ-ìîäóëÿ Siemens.
- Ñáîð äàííûõ ïðîìûøëåííûõ êîíòðîëëåðîâ ïî ïðîòîêîëó ModBus. Ïîñðåäñòâîì DAQ-ìîäóëÿ ModBus.
- Ñáîð äàííûõ ïðîìûøëåííûõ êîíòðîëëåðîâ ïî ïðîòîêîëó DCON. Ïîñðåäñòâîì DAQ-ìîäóëÿ DCON.
- Ôîðìèðîâàíèå ïðîèçâîäíûõ ñòðóêòóð ïàðàìåòðîâ íà îñíîâå øàáëîíîâ ïàðàìåòðîâ è äàííûõ äðóãèõ èñòî÷íèêîâ äàííûõ. Ïîñðåäñòâîì DAQ-ìîäóëÿ LogicLev.
- Ñáîð äàííûõ èç äðóãèõ ñåðâåðîâ è PLC îñíîâàííûõ íà OpenSCADA, âîçìîæíî äëÿ äóáëèðîâàíèÿ. Ïîñðåäñòâîì DAQ-ìîäóëÿ DAQGate.
- Ñáîð äàííûõ ÷åðåç âõîäíûå êàíàëû çâóêîâûõ êîíòðîëëåðîâ. Ïîñðåäñòâîì DAQ-ìîäóëÿ SoundCard.
- Ñáîð äàííûõ îáîðóäîâàíèÿ ôèðìû
ICP DAS. Ïîñðåäñòâîì DAQ-ìîäóëÿ ICP_DAS.
- Ñáîð äàííûõ èç èñòî÷íèêîâ ïîääåðæèâàþùèõ ïðîòîêîë OPC_UA. Ïîñðåäñòâîì DAQ-ìîäóëÿ OPC_UA.
- Ñáîð äàííûõ èç àâòîìàòèêè ïòèöåâîäñòâà ôèðìû "Big Dutchman". Ïîñðåäñòâîì DAQ-ìîäóëÿ BFN.
- Ñáîð äàííûõ èç èñòî÷íèêîâ DAQ-ïëàò íà øèíàõ ISA, PCI, PCMCIA è USB ïîñðåäñòâîì áèáëèîòåêè ïðîåêòà
Comedi è DAQ-ìîäóëÿ Comedi.
- Ñáîð äàííûõ èç èñòî÷íèêîâ ðàçëè÷íîãî òèïà, êîòîðûå èìåþò óòèëèòû äëÿ äîñòóïà ê äàííûì èëè äîñòóïíû ïîñðåäñòâîì ïðîñòûõ ñïåöèàëèçèðîâàííûõ ñåòåâûõ ïðîòîêîëîâ. Îñóùåñòâëÿåòñÿ ïóò¸ì íàïèñàíèÿ ïðîöåäóðû ïîëó÷åíèÿ äàííûõ íà ÿçûêå ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ DAQ-ìîäóëÿ JavaLikeCalc, à òàêæå ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà User Protocol.
- Ïðåäîñòàâëåíèå äàííûõ ñèñòåìàì âåðõíåãî óðîâíÿ:
- Ïîñðåäñòâîì èíòåðôåéñîâ:
- Ïîñëåäîâàòåëüíîãî èíòåðôåéñà (RS232, RS485, Modem, ...), ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòà Serial.
- Ñîêåòîâ IP-ñåòåé è ïðîòîêîëîâ ñåòåâîãî óðîâíÿ TCP, UDP è Unix, ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòà Sockets.
- Áåçîïàñíîãî ñëîÿ ñîêåòîâ (SSL), ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòà SSL.
- Ïîñðåäñòâîì ïðîòîêîëîâ:
- Ñîáñòâåííûé ïðîòîêîë OpenSCADA, ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà SelfSystem.
- Ïðîòîêîëîâ ñåìåéñòâà ModBUS (TCP, RTU è ASCII), ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà ModBUS.
- Ïðîòîêîëà "OPC UA", ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà OPC UA.
- Ïðîñòûõ ñïåöèàëèçèðîâàííûõ ïðîòîêîëîâ, ðàçðàáîòàíûõ ïîñðåäñòâîì ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà User Protocol.
- Âûïîëíåíèå ïîëüçîâàòåëüñêèõ âû÷èñëåíèé íà ÿçûêàõ:
- ßçûê áëî÷íûõ ñõåì. Ïîñðåäñòâîì DAQ-ìîäóëÿ BlockCalc.
- Íà Java-ïîäîáíîì ÿçûêå âûñîêîãî óðîâíÿ. Ïîñðåäñòâîì DAQ-ìîäóëÿ JavaLikeCalc.
- Àðõèâèðîâàíèå ñîîáùåíèé, âåäåíèå ïðîòîêîëîâ ïî ðàçëè÷íûì êàòåãîðèÿì è óðîâíÿì, ïîñðåäñòâîì ìåõàíèçìîâ:
- Ôàéëû â XML-ôîðìàòå èëè ïëîñêîãî òåêñòà, ñ óïàêîâêîé óñòàðåâøèõ àðõèâîâ. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ FSArch.
- Â òàáëèöû àðõèâíûõ ÁÄ. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ DBArch.
- Â ïëàíàõ. Íà äðóãîé ñåðâåð, âîçìîæíî âûäåëåííûé ñåðâåð àðõèâèðîâàíèÿ, îñíîâàííûõ íà OpenSCADA.
- Àðõèâèðîâàíèå çíà÷åíèé ñîáðàííûõ äàííûõ ïîñðåäñòâîì ìåõàíèçìîâ:
- Ôàéëû ñ äâîéíîé óïàêîâêîé: ïîñëåäîâàòåëüíîé è ñòàíäàðòíûì àðõèâàòîðîì gzip. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ FSArch.
- Â òàáëèöû àðõèâíûõ ÁÄ. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ DBArch.
- Êîíôèãóðàöèÿ è óïðàâëåíèå ñåðâåðîì ÷åðåç:
- WEB-èíòåðôåéñ. Ïîñðåäñòâîì WEB-áðàóçåðà è UI-ìîäóëÿ WebCfgD èëè WebCfg.
- Ñ óäàë¸ííîé êîíôèãóðàöèîííîé ñòàíöèè. Ïîñðåäñòâîì UI-ìîäóëÿ íà êîíôèãóðàöèîííîé ñòàíöèè QTCfg è èíòåðôåéñà óïðàâëåíèÿ OpenSCADA îòðàæ¸ííîãî â ïðîòîêîëå SelfSystem.
- Õðàíåíèå äàííûõ ñåðâåðà â ÁÄ òèïîâ:
- MySQL. Ïîñðåäñòâîì DB-ìîäóëÿ MySQL.
- SQLite. Ïîñðåäñòâîì DB-ìîäóëÿ SQLite.
- PostgresSQL. Ïîñðåäñòâîì DB-ìîäóëÿ PostgreSQL.
- DBF. Ïîñðåäñòâîì DB-ìîäóëÿ DBF.
- FireBird. Ïîñðåäñòâîì DB-ìîäóëÿ FireBird.
- Â ïëàíàõ. ÁÄ äîñòóïíûå íà äðóãîì ñåðâåðå îñíîâàííîì íà OpenSCADA.
- Â ïëàíàõ. LDAP.
Ñòàíöèÿ îïåðàòîðà òåõíîëîãè÷åñêîãî ïðîöåññà, ïóëüò äèñïåò÷åðà, ïàíåëü ìîíèòîðèíãà è äð.
- Âèçóàëüíûé êîíòðîëü è óïðàâëåíèå ïîñðåäñòâîì èíòåðôåéñîâ:
- Ëîêàëüíûé (áûñòðûé) èíòåðôåéñ îñíîâàííûé íà áèáëèîòåêå QT. Ïîñðåäñòâîì ìîäóëÿ âèçóàëèçàöèè Vision è ìîäóëÿ ÿäðà ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ VCAEngine ñ âîçìîæíîñòüþ âèçóàëèçàöèè èç óäàë¸ííîãî äâèæêà ÑÂÓ, ñåðâåðà âèçóàëèçàöèè.
- Óäàë¸ííûé WEB èíòåðôåéñ. Ïîñðåäñòâîì WEB-áðàóçåðà, ìîäóëÿ âèçóàëèçàöèè WebVision è ìîäóëÿ ÿäðà ñðåäû âèçóàëèçàöèè è óïðàâëåíèÿ VCAEngine.
- Ïðîñòûå óäàë¸ííûå Web-èíòåðôåéñû ïîëüçîâàòåëÿ. Ïîñðåäñòâîì WEB-áðàóçåðà è UI-ìîäóëÿ WebUser.
- Ñáîð äàííûõ (DAQ) èç èñòî÷íèêîâ:
- Ñáîð äàííûõ èç äðóãèõ ñåðâåðîâ è PLC îñíîâàííûõ íà OpenSCADA, äëÿ ïðîáðîñà äàííûõ ñåðâåðîâ è äóáëèðîâàíèÿ. Ïîñðåäñòâîì DAQ-ìîäóëÿ DAQGate.
- Ñáîð äàííûõ èç èñòî÷íèêîâ ïîääåðæèâàþùèõ ïðîòîêîë SNMP (Simple Network Management Protocol). Ïîñðåäñòâîì DAQ-ìîäóëÿ SNMP.
- Ñáîð äàííûõ èç èñòî÷íèêîâ ïîääåðæèâàþùèõ ïðîòîêîë OPC_UA. Ïîñðåäñòâîì DAQ-ìîäóëÿ OPC_UA.
- Âûïîëíåíèå ïîëüçîâàòåëüñêèõ âû÷èñëåíèé íà ÿçûêàõ:
- ßçûê áëî÷íûõ ñõåì. Ïîñðåäñòâîì DAQ-ìîäóëÿ BlockCalc.
- Íà Java-ïîäîáíîì ÿçûêå âûñîêîãî óðîâíÿ. Ïîñðåäñòâîì DAQ-ìîäóëÿ JavaLikeCalc.
- Àðõèâèðîâàíèå ëîêàëüíûõ ñîîáùåíèé, âåäåíèå ïðîòîêîëîâ ïî ðàçëè÷íûì êàòåãîðèÿì è óðîâíÿì ïîñðåäñòâîì ìåõàíèçìîâ:
- Ôàéëû â XML-ôîðìàòå èëè ïëîñêîãî òåêñòà, ñ óïàêîâêîé óñòàðåâøèõ àðõèâîâ. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ FSArch.
- Â òàáëèöû àðõèâíûõ ÁÄ. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ DBArch.
- Â ïëàíàõ. Íà ñåðâåð, âîçìîæíî âûäåëåííûé ñåðâåð àðõèâèðîâàíèÿ, îñíîâàííûõ íà OpenSCADA.
- Êîíôèãóðàöèÿ è óïðàâëåíèå ñòàíöèåé ÷åðåç:
- WEB-èíòåðôåéñ. Ïîñðåäñòâîì WEB-áðàóçåðà è UI-ìîäóëÿ WebCfgD èëè WebCfg.
- QT-èíòåðôåéñ. Ïîñðåäñòâîì UI-ìîäóëÿ QTCfg.
- Ñ óäàë¸ííîé êîíôèãóðàöèîííîé ñòàíöèè. Ïîñðåäñòâîì UI-ìîäóëÿ íà êîíôèãóðàöèîííîé ñòàíöèè QTCfg è èíòåðôåéñà óïðàâëåíèÿ OpenSCADA îòðàæ¸ííîãî â ïðîòîêîëå SelfSystem.
- Õðàíåíèå äàííûõ ñòàíöèè â ÁÄ òèïîâ:
- MySQL. Ïîñðåäñòâîì DB-ìîäóëÿ MySQL.
- SQLite. Ïîñðåäñòâîì DB-ìîäóëÿ SQLite.
- PostgresSQL. Ïîñðåäñòâîì DB-ìîäóëÿ PostgreSQL.
- DBF. Ïîñðåäñòâîì DB-ìîäóëÿ DBF.
- FireBird. Ïîñðåäñòâîì DB-ìîäóëÿ FireBird.
- Â ïëàíàõ. ÁÄ äîñòóïíûå íà äðóãîì ñåðâåðå îñíîâàííîì íà OpenSCADA.
- Â ïëàíàõ. LDAP.
Ñðåäà èñïîëíåíèÿ êîíòðîëëåðîâ (PLC)
- Ñáîð äàííûõ (DAQ) èç èñòî÷íèêîâ:
- Ïëàòû ñáîðà äàííûõ ôèðìû
Diamond Systems. Ïîñðåäñòâîì DAQ-ìîäóëÿ DiamondBoards.
- Èíôîðìàöèè î ïëàòôîðìå(ïðîãðàììíî-àïïàðàòíîé) íà êîòîðîé ðàáîòàåò ñåðâåð. Ïîñðåäñòâîì DAQ-ìîäóëÿ System.
- Ñáîð äàííûõ èç èñòî÷íèêîâ ïîääåðæèâàþùèõ ïðîòîêîë SNMP (Simple Network Management Protocol). Ïîñðåäñòâîì DAQ-ìîäóëÿ SNMP.
- Ñáîð äàííûõ ïðîìûøëåííûõ êîíòðîëëåðîâ ïî ïðîòîêîëó ModBus. Ïîñðåäñòâîì DAQ-ìîäóëÿ ModBus.
- Ñáîð äàííûõ ïðîìûøëåííûõ êîíòðîëëåðîâ ïî ïðîòîêîëó DCON. Ïîñðåäñòâîì DAQ-ìîäóëÿ DCON.
- Ôîðìèðîâàíèå ïðîèçâîäíûõ ñòðóêòóð ïàðàìåòðîâ íà îñíîâå øàáëîíîâ ïàðàìåòðîâ è äàííûõ äðóãèõ èñòî÷íèêîâ äàííûõ. Ïîñðåäñòâîì DAQ-ìîäóëÿ LogicLev.
- Ñáîð äàííûõ èç äðóãèõ ñåðâåðîâ è PLC îñíîâàííûõ íà OpenSCADA, âîçìîæíî äëÿ äóáëèðîâàíèÿ. Ïîñðåäñòâîì DAQ-ìîäóëÿ DAQGate.
- Ñáîð äàííûõ ÷åðåç âõîäíûå êàíàëû çâóêîâûõ êîíòðîëëåðîâ. Ïîñðåäñòâîì DAQ-ìîäóëÿ SoundCard.
- Ñáîð äàííûõ îáîðóäîâàíèÿ ôèðìû
ICP DAS. Ïîñðåäñòâîì DAQ-ìîäóëÿ ICP_DAS.
- Ñáîð äàííûõ èç èñòî÷íèêîâ ïîääåðæèâàþùèõ ïðîòîêîë OPC_UA. Ïîñðåäñòâîì DAQ-ìîäóëÿ OPC_UA.
- Ñáîð äàííûõ èç èñòî÷íèêîâ DAQ-ïëàò íà øèíàõ ISA, PCI, PCMCIA è USB ïîñðåäñòâîì áèáëèîòåêè ïðîåêòà
Comedi è DAQ-ìîäóëÿ Comedi.
- Ñáîð äàííûõ èç èñòî÷íèêîâ ðàçëè÷íîãî òèïà, êîòîðûå èìåþò óòèëèòû äëÿ äîñòóïà ê äàííûì èëè äîñòóïíû ïîñðåäñòâîì ïðîñòûõ ñïåöèàëèçèðîâàííûõ ñåòåâûõ ïðîòîêîëîâ. Îñóùåñòâëÿåòñÿ ïóò¸ì íàïèñàíèÿ ïðîöåäóðû ïîëó÷åíèÿ äàííûõ íà ÿçûêå ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ DAQ-ìîäóëÿ JavaLikeCalc, à òàêæå ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà User Protocol.
- Ïðåäîñòàâëåíèå äàííûõ ñèñòåìàì âåðõíåãî óðîâíÿ:
- Ïîñðåäñòâîì èíòåðôåéñîâ:
- Ïîñëåäîâàòåëüíîãî èíòåðôåéñà (RS232, RS485, Modem, ...), ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòà Serial.
- Ñîêåòîâ IP-ñåòåé è ïðîòîêîëîâ ñåòåâîãî óðîâíÿ TCP, UDP è Unix, ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòà Sockets.
- Áåçîïàñíîãî ñëîÿ ñîêåòîâ (SSL), ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòà SSL.
- Ïîñðåäñòâîì ïðîòîêîëîâ:
- Ñîáñòâåííûé ïðîòîêîë OpenSCADA, ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà SelfSystem.
- Ïðîòîêîëîâ ñåìåéñòâà ModBUS (TCP, RTU è ASCII), ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà ModBUS.
- Ïðîòîêîëà "OPC UA", ñ ïîìîùüþ ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà OPC UA.
- Ïðîñòûõ ñïåöèàëèçèðîâàííûõ ïðîòîêîëîâ, ðàçðàáîòàíûõ ïîñðåäñòâîì ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà User Protocol.
- Óïðàâëåíèå, ðåãóëèðîâàíèå è âûïîëíåíèå äðóãèõ ïîëüçîâàòåëüñêèõ âû÷èñëåíèé íà ÿçûêàõ:
- ßçûê áëî÷íûõ ñõåì. Ïîñðåäñòâîì DAQ-ìîäóëÿ BlockCalc.
- Íà Java-ïîäîáíîì ÿçûêå âûñîêîãî óðîâíÿ. Ïîñðåäñòâîì DAQ-ìîäóëÿ JavaLikeCalc.
- Àðõèâèðîâàíèå ñîîáùåíèé, âåäåíèå ïðîòîêîëîâ ïî ðàçëè÷íûì êàòåãîðèÿì è óðîâíÿì ïîñðåäñòâîì ìåõàíèçìîâ:
- Ôàéëû â XML-ôîðìàòå èëè ïëîñêîãî òåêñòà, ñ óïàêîâêîé óñòàðåâøèõ àðõèâîâ. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ FSArch.
- Â òàáëèöû àðõèâíûõ ÁÄ. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ DBArch.
- Â ïëàíàõ. Íà äðóãîé ñåðâåð, âîçìîæíî âûäåëåííûé ñåðâåð àðõèâèðîâàíèÿ, îñíîâàííûõ íà OpenSCADA.
- Àðõèâèðîâàíèå çíà÷åíèé ñîáðàííûõ äàííûõ ïîñðåäñòâîì ìåõàíèçìîâ:
- Áóôåðà â ïàìÿòè ïðåäîïðåäåë¸ííîé ãëóáèíû. Ïîñðåäñòâîì âñòðîåííîãî ìåõàíèçìà àðõèâèðîâàíèÿ çíà÷åíèé ÿäðà OpenSCADA.
- Ôàéëû ñ äâîéíîé óïàêîâêîé: ïîñëåäîâàòåëüíîé è ñòàíäàðòíûì àðõèâàòîðîì gzip. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ FSArch.
- Â òàáëèöû àðõèâíûõ ÁÄ. Ïîñðåäñòâîì ìîäóëÿ àðõèâèðîâàíèÿ DBArch.
- Êîíôèãóðàöèÿ è óïðàâëåíèå PLC ÷åðåç:
- WEB-èíòåðôåéñ. Ïîñðåäñòâîì WEB-áðàóçåðà è UI-ìîäóëÿ WebCfgD èëè WebCfg.
- Ñ óäàë¸ííîé êîíôèãóðàöèîííîé ñòàíöèè. Ïîñðåäñòâîì UI-ìîäóëÿ íà êîíôèãóðàöèîííîé ñòàíöèè QTCfg è èíòåðôåéñà óïðàâëåíèÿ OpenSCADA îòðàæ¸ííîãî â ïðîòîêîëå SelfSystem.
- Õðàíåíèå äàííûõ PLC â ÁÄ òèïîâ:
- Âñå äàííûå â êîíôèãóðàöèîííîì ôàéëå (ôèêñèðîâàííî).
- MySQL. Ïîñðåäñòâîì DB-ìîäóëÿ MySQL.
- SQLite. Ïîñðåäñòâîì DB-ìîäóëÿ SQLite.
- PostgresSQL. Ïîñðåäñòâîì DB-ìîäóëÿ PostgreSQL.
- DBF. Ïîñðåäñòâîì DB-ìîäóëÿ DBF.
- FireBird. Ïîñðåäñòâîì DB-ìîäóëÿ FireBird.
- Â ïëàíàõ. ÁÄ äîñòóïíûå íà äðóãîì ñåðâåðå îñíîâàííîì íà OpenSCADA.
- Â ïëàíàõ. LDAP.
Óíèâåðñàëüíûé OPC-UA ñåðâåð
Áëàãîäàðÿ ðåàëèçàöèè ïðîòîêîëà OPC-UA â ðåæèìå àãåíòà OpenSCADA ìîæåò ïðåäîñòàâëÿòü ðàñïðîñòðàí¸ííóþ ôóíêöèþ OPC-ñåðâåðà íà êëèåíòñêèå ïðîòîêîëû, ïîääåðæèâàåìûå è ïðÿìî ðåàëèçóåìûå â OpenSCADA. Äàííàÿ ôóíêöèÿ øèðîêî èñïîëüçóåòñÿ íà ïëàòôîðìå MS Windows®, à ìíîãèå SCADA-ñèñòåìû íà íåé ðàáîòàþò èñêëþ÷èòåëüíî ñ OPC—ñåðâåðàìè, êàê èñòî÷íèêàìè äàííûõ. Òàêèì îáðàçîì OpenSCADA ìîæåò âûñòóïàòü óíèâåðñàëüíûì OPC-ñåðâåðîì íà ïëàòôîðìå Linux (ðèñ.2).
 ïëàíàõ. Ñ àäàïòàöèåé OpenSCADA äëÿ ðàáîòû íà ïëàòôîðìå MS Windows® è ðåàëèçàöèåé ðàáîòû ñ OPC-DA ïîñðåäñòâîì ñèñòåìíîãî DCOM, ïîÿâèòñÿ âîçìîæíîñòü ïðèìåíåíèÿ OpenSCADA â ðîëè øëþçà OPC-DA -> OPC-UA, à çíà÷èò è äîñòóïíîé èíòåãðàöèè óñòàðåâøèõ ñèñòåì â íîâûå èëè àêêóìóëèðóþùèå ñèñòåìû.

Ðèñ. 2. Ðîëü ñèñòåìû OpenSCADA êàê "OPC-UA Ñåðâåð".
Èñòî÷íèêè äàííûõ è ïðîòîêîëû, äîñòóïíûå ïîñðåäñòâîì óíèâåðñàëüíîãî OPC-UA ñåðâåðà:
- Ïðîìûøëåííûå êîíòðîëëåðû ôèðìû
Siemens GMBH ñåðèè S7, DAQ.Siemens.
- Îáîðóäîâàíèå ôèðìû
ICP DAS, DAQ.ICP_DAS.
- Ïëàòû ñáîðà äàííûõ ôèðìû
Diamond Systems, DAQ.DiamondBoards.
- Øèðîêèé ñïåêòð DAQ-ïëàò ÓÑÎ ðàçíûõ ïðîèçâîäèòåëåé íà øèíàõ ISA, PCI, PCMCIA è USB ïîñðåäñòâîì áèáëèîòåêè ïðîåêòà
Comedi, DAQ.Comedi.
- Øèðîêèé ñïåêòð ïðîìûøëåííûå êîíòðîëëåðîâ è äðóãèõ èñòî÷íèêîâ äàííûõ ïî ïðîòîêîëó ModBus, DAQ.ModBus.
- Øèðîêèé ñïåêòð ïðîìûøëåííûå êîíòðîëëåðîâ è äðóãèõ èñòî÷íèêîâ äàííûõ ïî ïðîòîêîëó DCON, DAQ.DCON.
- Øèðîêèé ñïåêòð äàííûõ ñåòåâîãî îáîðóäîâàíèÿ ïî ïðîòîêîëó "Simple Network Management Protocol (SNMP)", DAQ.SNMP.
- Èñòî÷íèêè äàííûõ ïîääåðæèâàþùèå ïðîòîêîë OPC_UA (øëþçîâàíèå "OPC UA") èëè øèðîêèé ñïåêòð èñòî÷íèêîâ äàííûõ äîñòóïíûõ äëÿ âñåõ ðàçíîâèäíîñòåé OPC, ïîñðåäñòâîì ñîîòâåòñòâóþùåãî øëþçà â OPC UA, DAQ.OPC_UA.
- Øèðîêèé ñïåêòð ïðîìûøëåííûå êîíòðîëëåðîâ è äðóãèõ èñòî÷íèêîâ äàííûõ ïî ïðîòîêîëó MMS(IEC-9506), DAQ.MMS.
- Äàííûå äðóãèõ ñåðâåðîâ è ÏËÊ, îñíîâàííûõ íà OpenSCADA, DAQ.DAQGate.
- Ðàáîòà âíóòðè êîíòðîëëåðà SMH 2Gi ôèðìû
Segnetics, ñ åãî ÓÑÎ, DAQ.SMH2Gi.
- Àâòîìàòèêà ïòèöåâîäñòâà ôèðìû
Big Dutchman, DAQ.BFN.
- Äàííûå óñòðîéñòâ êîììåð÷åñêîãî ó÷¸òà è ïðîñòî ó÷¸òà ðåñóðñîâ ñ äîñòàòî÷íî ñëîæíûìè ïðîòîêîëàìè îáìåíà, DAQ.AMRDevs.
- Ñåíñîðû ïëàòôîðìû(ïðîãðàììíî-àïïàðàòíîé) íà êîòîðîé ðàáîòàåò ñåðâåð, DAQ.System.
- Äàííûå âõîäîâ çâóêîâûõ êîíòðîëëåðîâ ÏÊ, DAQ.SoundCard.
- Ðàñ÷¸òíûå, âíóòðåííèå èëè ïðîìåæóòî÷íûå äàííûå ïîñðåäñòâîì âíóòðåííåãî ÿçûêà ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ (DAQ.JavaLikeCalc) è ÿçûêà áëî÷íûõ ñõåì (DAQ.BlockCalc).
- Ïðîèçâîäíûå ñòðóêòóðû ïàðàìåòðîâ-îáúåêòîâ íà îñíîâå øàáëîíîâ ïàðàìåòðîâ è äàííûõ äðóãèõ èñòî÷íèêîâ, DAQ.LogicLev.
- Èñòî÷íèêè äàííûõ ðàçëè÷íûõ òèïîâ, êîòîðûå èìåþò êîíñîëüíûå óòèëèòû äëÿ äîñòóïà ê ýòèì äàííûì èëè äîñòóïíû ïîñðåäñòâîì ïðîñòûõ ñïåöèàëèçèðîâàííûõ ñåòåâûõ ïðîòîêîëîâ. Îñóùåñòâëÿåòñÿ ïóò¸ì íàïèñàíèÿ ïðîöåäóðû ïîëó÷åíèÿ äàííûõ íà ÿçûêå ïîëüçîâàòåëüñêîãî ïðîãðàììèðîâàíèÿ (DAQ.JavaLikeCalc), à òàêæå ìîäóëÿ òðàíñïîðòíîãî ïðîòîêîëà (Protocol.UserProtocol), ñì. áèáëèîòåêó (EN).
Òðåáîâàíèÿ OpenSCADA
Èñïîëíåíèå
Àïïàðàòíûå òðåáîâàíèÿ ñèñòåìû OpenSCADA äëÿ å¸ èñïîëíåíèÿ â ðàçëè÷íûõ ðîëÿõ ïðèâåäåíû â òàáëèöå 1. Ïðîãðàììíûå òðåáîâàíèÿ äëÿ èñïîëíåíèÿ ñèñòåìû OpenSCADA è å¸ ìîäóëåé ïðåäñòàâëåíû â òàáëèöå 2.
Òàáëèöà 1. Àïïàðàòíûå òðåáîâàíèÿ ñèñòåìû OpenSCADA è å¸ ìîäóëåé.
Ðîëü | Òðåáîâàíèå |
Ñåðâåð SCADA ñèñòåìû | CPU: x86_32 (áîëåå i586), x86_64 èëè ARM, ÷àñòîòîé áîëåå 500 ÌÃö
MEM: 128 ÌÁ
HDD: 10 ÃÁ âêëþ÷àÿ ÎÑ è ìåñòî äëÿ àðõèâîâ |
Ñòàíöèÿ îïåðàòîðà òåõíîëîãè÷åñêîãî ïðîöåññà, ïóëüò äèñïåò÷åðà, ïàíåëü ìîíèòîðèíãà è äð. | CPU: x86_32 (áîëåå i586), x86_64 èëè ARM, ÷àñòîòîé áîëåå 1 ÃÃö
MEM: 512 ÌÁ
HDD: 4 ÃÁ âêëþ÷àÿ ÎÑ è áåç àðõèâîâ |
Ñðåäà èñïîëíåíèÿ êîíòðîëëåðîâ (PLC) | CPU: x86_32 (áîëåå i586),x86_64 èëè ARM, ÷àñòîòîé áîëåå 133 ÌÃö
MEM: 32 ÌÁ
HDD: 32 ÌÁ âêëþ÷àÿ ÎÑ è áåç àðõèâîâ. |
Òàáëèöà 2. Ïðîãðàììíûå òðåáîâàíèÿ ñèñòåìû OpenSCADA è å¸ ìîäóëåé.
Êîìïîíåíò | Îïèñàíèå |
Çàâèñèìîñòè ÿäðà ñèñòåìû OpenSCADA |
ÎÑ Linux | Äèñòðèáóòèâ îïåðàöèîííîé ñèñòåìû Linux (ALTLinux, SuSELinux, Mandriva, ASPLinux, Fedora, Debian, Ubuntu ...) |
"Ñòàíäàðòíûå áèáëèîòåêè" | Ñòàíäàðòíûé íàáîð áèáëèîòåê: GLibC (>= 2.3) èëè uCLibC (>= 0.9.32) è libstdc++ (>= 3.3). Îáû÷íî óæå äîñòóïíû â óñòàíîâëåííîì äèñòðèáóòèâå. Îñîáîå òðåáîâàíèå ýòî èñïîëüçîâàíèå íàòèâíîé áèáëèîòåêè ïîòîêîâ NPTL, óæå èñïîëüçóåòñÿ âî âñåõ ñîâðåìåííûõ äèñòðèáóòèâàõ ÎÑ Linux. |
zlib | Áèáëèîòåêà êîìïðåññèè. |
libpcre | Áèáëèîòåêà ðàáîòû ñ ðåãóëÿðíûìè âûðàæåíèÿìè, ñîâìåñòèìàÿ ñ Perl. |
libgd
(îïö: --enable-LibGD) | Ãðàôè÷åñêàÿ áèáëèîòåêà GD âåðñèÿ 2, æåëàòåëüíî áåç ïîääåðæêè XPM (èñêëþ÷åíà çàâèñèìîñòü íà áèáëèîòåêó X-ñåðâåðà) è ñ ïîääåðæêîé FontConfig. |
Ìîäóëü DB.MySQL |
libMySQL | Áèáëèîòåêà äîñòóïà ê ÑÓÁÄ MySQL. |
Ìîäóëü DB.SQLite |
libsqlite3 | Áèáëèîòåêà äîñòóïà ê âñòðàèâàåìîé ÁÄ SQLite âåðñèè 3. |
Ìîäóëü DB.PostgreSQL |
libpq | Áèáëèîòåêà äîñòóïà ê ÑÓÁÄ PostgreSQL âåðñèè áîëåå 8.3.0. |
Ìîäóëü DB.FireBird |
FirebirdSS | ÑÓÁÄ FireBird âåðñèè 2. ×àñòî îòñóòñòâóåò â äèñòðèáóòèâàõ Linux è òðåáóåò èíäèâèäóàëüíîé çàãðóçêè ñ îôèöèàëüíîãî ñàéòà ( http://www.firebirdsql.org)! |
Ìîäóëü Transport.SSL |
libssl | Áèáëèîòåêà øèôðîâàíèÿ OpenSSL. |
Ìîäóëü DAQ.SNMP |
libsnmp | Áèáëèîòåêà äîñòóïà ê äàííûì ñåòåâûõ óñòðîéñòâ ïî ïðîòîêîëó SNMP. |
Ìîäóëü DAQ.System |
libsensors (îïö: àâò.) | Áèáëèîòåêà ñåíñîðîâ àïïàðàòóðû âåðñèè 2 èëè 3. |
Ìîäóëü DAQ.SoundCard |
libportaudio | Áèáëèîòåêà êðîñïëàòôîðìåííîãî äîñòóïà ê çâóêîâûì êîíòðîëëåðàì âåðñèè 19 è áîëåå (íå 18). |
Ìîäóëü DAQ.OPC_UA |
libssl | Áèáëèîòåêà øèôðîâàíèÿ OpenSSL. |
Ìîäóëü DAQ.Comedi |
libcomedi | Áèáëèîòåêà ðåàëèçàöèè ïîääåðæêè DAQ-ïëàò ðàçëè÷íûõ ïðîèçâîäèòåëåé íà øèíàõ ISA, PCI, PCMCIA è USB. |
Ìîäóëè: UI.QTStarter, UI.QTCfg |
libQT4 (libQtGui) èëè
libQt5 (libQt5Widgets,libQt5PrintSupport) | Áèáëèîòåêè ïîñòðîåíèÿ ïîëüçîâàòåëüñêîãî ãðàôè÷åñêîãî èíòåðôåéñà QT âåðñèè 4.3 è âûøå èëè 5.1 è âûøå. |
Ìîäóëü: UI.Vision |
libQT4 (libQtGui) èëè
libQt5 (libQt5Widgets,libQt5PrintSupport) | Áèáëèîòåêè ïîñòðîåíèÿ ïîëüçîâàòåëüñêîãî ãðàôè÷åñêîãî èíòåðôåéñà QT âåðñèè 4.3 è âûøå èëè 5.1 è âûøå. |
libQtWebKit (îïö: àâò.) | Áèáëèîòåêà äâèæêà Web-ðåíäåðèíãà WebKit. |
libfftw3 (îïö: àâò.) | Áèáëèîòåêà áûñòðîãî ðàçëîæåíèÿ ñèãíàëîâ â ðÿä Ôóðüå. |
libphonon (îïö: àâò.) | Áèáëèîòåêà äâèæêà âîñïðîèçâåäåíèÿ ïîëíîôîðìàòíîãî âèäåî è àóäèî. |
Ìîäóëè: UI.WebVision, Special.FLibSYS |
libfftw3 (îïö: àâò.) | Áèáëèîòåêà áûñòðîãî ðàçëîæåíèÿ ñèãíàëîâ â ðÿä Ôóðüå. |
* "îïö: àâò." — ïðåäóñìàòðèâàåò îòêëþ÷åíèå èñïîëüçîâàíèÿ áèáëèîòåêè â ñëó÷àå îòñóòñòâèÿ å¸ ïðè ñáîðêå.
Ñáîðêà
Ïðîãðàììíûå òðåáîâàíèÿ ñèñòåìû OpenSCADA äëÿ ñáîðêè ÿäðà OpenSCADA è å¸ ìîäóëåé ïðèâåäåíû â òàáëèöå 3.
Òàáëèöà 3. Çàâèñèìîñòè ñáîðêè ñèñòåìû OpenSCADA è å¸ ìîäóëåé.
Êîìïîíåíò | Îïèñàíèå |
Îáùèå òðåáîâàíèÿ äëÿ ñáîðêè OpenSCADA |
ÎÑ Linux | Äèñòðèáóòèâ îïåðàöèîííîé ñèñòåìû Linux (ALTLinux, SuSELinux, Mandriva, ASPLinux, Fedora, Debian, Ubuntu ...) |
g++ | Êîìïèëÿòîð ÿçûêà C++ âåðñèè 3.3 èëè áîëåå èç êîëëåêöèè êîìïèëÿòîðîâ GCC, âêëþ÷àÿ áèáëèîòåêó GLibC (>=2.3) èëè uCLibC (>= 0.9.32). |
autotools (autoconf, automake, libtool) | Èíñòðóìåíòû ôîðìèðîâàíèÿ ñáîðî÷íîé ñðåäû OpenSCADA. Íóæíû òîëüêî â ñëó÷àå èçìåíåíèÿ ñáîðî÷íîé ñðåäû OpenSCADA, íàïðèìåð äëÿ äîáàâëåíèÿ íîâîãî ìîäóëÿ èëè èçìåíåíèÿ ôèêñèðîâàííûõ ïàðàìåòðîâ ñáîðêè. Automake >= 1.9. |
gettext | Ãðóïïà óòèëèò äëÿ ïîäãîòîâêè è êîìïèëÿöèè ïåðåâîäîâ èíòåðôåéñà ïðîãðàìì íà ðàçëè÷íûå ÿçûêè â ñîîòâåòñòâèè ñî ñòàíäàðòîì èíòåðíàöèîíàëèçàöèè I18N. |
sqlite3 | Óòèëèòà óïðàâëåíèÿ ôàéëàìè ÁÄ SQLite3. |
zlib (devel) | Áèáëèîòåêà êîìïðåññèè, ïàêåò äëÿ ðàçðàáîòêè. |
libpcre (devel) | Áèáëèîòåêà ðàáîòû ñ ðåãóëÿðíûìè âûðàæåíèÿìè, ñîâìåñòèìàÿ ñ Perl, ïàêåò äëÿ ðàçðàáîòêè. |
libgd (devel,
îïö: --enable-LibGD) | Ãðàôè÷åñêàÿ áèáëèîòåêà GD âåðñèÿ 2, ïàêåò äëÿ ðàçðàáîòêè, æåëàòåëüíî áåç ïîääåðæêè XPM (èñêëþ÷åíà çàâèñèìîñòü íà áèáëèîòåêó X-ñåðâåðà) è ïîääåðæêîé FontConfig. Èñïîëüçóåòñÿ äëÿ ïîñòðîåíèÿ òðåíäîâ è äðóãèõ èçîáðàæåíèé â ôîðìàòå PNG, GIF è JPEG. |
Ìîäóëü DB.MySQL |
libMySQL (devel) | Áèáëèîòåêà äîñòóïà ê ÑÓÁÄ MySQL, ïàêåò äëÿ ðàçðàáîòêè íà ÿçûêå C. |
Ìîäóëü DB.SQLite |
libsqlite3 (devel) | Áèáëèîòåêà äîñòóïà ê âñòðàèâàåìîé ÁÄ SQLite âåðñèè 3, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëü DB.PostgreSQL |
libpq | Áèáëèîòåêà äîñòóïà ê ÑÓÁÄ PostgreSQL âåðñèè áîëåå 8.3.0, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëü DB.FireBird |
FirebirdSS | ÑÓÁÄ FireBird âåðñèè 2, ïàêåò äëÿ ðàçðàáîòêè. ×àñòî îòñóòñòâóåò â äèñòðèáóòèâàõ Linux è òðåáóåò èíäèâèäóàëüíîé çàãðóçêè ñ îôèöèàëüíîãî ñàéòà ( http://www.firebirdsql.org)! |
Ìîäóëü Transport.SSL |
libssl (devel) | Áèáëèîòåêà øèôðîâàíèÿ OpenSSL, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëü DAQ.JavaLikeCalc |
bison | Ïðîãðàììà ãåíåðàöèè ñèíòàêñè÷åñêèõ àíàëèçàòîðîâ íà îñíîâå ãðàììàòèêè ÿçûêà. |
Ìîäóëü DAQ.SNMP |
libsnmp (devel) | Áèáëèîòåêà äîñòóïà ê äàííûì ñåòåâûõ óñòðîéñòâ ïî ïðîòîêîëó SNMP, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëü DAQ.System |
libsensors (devel, îïö: àâò.) | Áèáëèîòåêà ñåíñîðîâ àïïàðàòóðû âåðñèé 2 èëè 3, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëü DAQ.Siemens |
glibc-kernheaders | Çàãîëîâêè ÿäðà Linux áèáëèîòåêè GLibC. |
Ìîäóëü DAQ.SoundCard |
libportaudio (devel) | Áèáëèîòåêà êðîñïëàòôîðìåííîãî äîñòóïà ê çâóêîâûì êîíòðîëëåðàì, ïàêåò äëÿ ðàçðàáîòêè âåðñèè 19 è áîëåå (íå 18). |
Ìîäóëü DAQ.OPC_UA |
libssl (devel) | Áèáëèîòåêà øèôðîâàíèÿ OpenSSL, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëü DAQ.Comedi |
libcomedi (devel) | Áèáëèîòåêà ðåàëèçàöèè ïîääåðæêè DAQ-ïëàò ðàçëè÷íûõ ïðîèçâîäèòåëåé íà øèíàõ ISA, PCI, PCMCIA è USB, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëè: UI.QTStarter, UI.QTCfg |
libQT4 èëè libQT5 (devel) | Áèáëèîòåêà ïîñòðîåíèÿ ïîëüçîâàòåëüñêîãî ãðàôè÷åñêîãî èíòåðôåéñà QT âåðñèè 4.3 è âûøå èëè 5.1 è âûøå, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëü: UI.Vision |
libQT4 èëè libQT5 (devel) | Áèáëèîòåêà ïîñòðîåíèÿ ïîëüçîâàòåëüñêîãî ãðàôè÷åñêîãî èíòåðôåéñà QT âåðñèè 4.3 è âûøå èëè 5.1 è âûøå, ïàêåò äëÿ ðàçðàáîòêè. |
libQtWebKit (devel, îïö: àâò.) | Áèáëèîòåêà äâèæêà Web-ðåíäåðèíãà WebKit, ïàêåò äëÿ ðàçðàáîòêè. |
libfftw3 (devel, îïö: àâò.) | Áèáëèîòåêà áûñòðîãî ðàçëîæåíèÿ ñèãíàëîâ â ðÿä Ôóðüå, ïàêåò äëÿ ðàçðàáîòêè. |
libphonon (devel, îïö: àâò.) | Áèáëèîòåêà äâèæêà âîñïðîèçâåäåíèÿ ïîëíîôîðìàòíîãî âèäåî è àóäèî, ïàêåò äëÿ ðàçðàáîòêè. |
Ìîäóëè: UI.WebVision, Special.FLibSYS |
libfftw3 (devel, îïö: àâò.) | Áèáëèîòåêà áûñòðîãî ðàçëîæåíèÿ ñèãíàëîâ â ðÿä Ôóðüå, ïàêåò äëÿ ðàçðàáîòêè. |
* "îïö: àâò." — ïðåäóñìàòðèâàåò îòêëþ÷åíèå èñïîëüçîâàíèÿ áèáëèîòåêè â ñëó÷àå îòñóòñòâèÿ å¸ ïðè ñáîðêå.
Ññûëêè