<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html class="client-nojs" dir="ltr" lang="en"> <head> <meta charset="UTF-8" /> <title>Документы/РуководÑтво по программе - OpenSCADAWiki</title> <meta content="MediaWiki 1.26.4" name="generator" /> <link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" /> <link href="../en/files/doc.css" rel="stylesheet" /></head> <body><div class="floatright"><a href="index.html"><img alt="OpenSCADA" src="../en/files/index.png" /></a></div><div id="mw_header"> <div class="mw-indicators"> </div> <h1 id="firstHeading" lang="ru">Документы/РуководÑтво по программе</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="ru"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&group=page-Documents%2FProgram+manual&action=page&filter=&language=ru" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Documents/Program_manual" title="Documents/Program manual">Documents/Program manual</a> and the translation is 87% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../en/Program_manual.html" title="Documents/Program manual (100% translated)">English</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../uk/Program_manual.html" title="Документи/ПоÑібник по програмі (100% translated)">УкраїнÑька</a></div></div> <div style="float:right; border:1px solid gray; width:300px; padding:2px; margin-left: 10pt; margin-bottom: 10pt;"> <ul><li> <b>Ðвтор:</b> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a></li> <li> <b>Изначально Ñоздано:</b> в <a class="external text" href="http://wiki.oscada.org/HomePageEn/Doc/ProgrammManual" rel="nofollow noreferrer noopener" target="_blank">Ñтарой Wiki</a> </li></ul> </div> <p>Данный документ ÑвлÑетÑÑ Ñ€ÑƒÐºÐ¾Ð²Ð¾Ð´Ñтвом программы Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼Ð¸ иÑходными текÑтами именуемую "OpenSCADA". OpenSCADA предÑтавлÑет Ñобой открытую SCADA ÑиÑтему, поÑтроенную по принципам модульноÑти, многоплатформенноÑти и маÑштабируемоÑти. </p><p>Ð’ качеÑтве политики разработки данной программы выбраны "open source" принципы. Выбор данной политики определÑетÑÑ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾Ñтью ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¾Ð¹, надёжной и общедоÑтупной SCADA ÑиÑтемы. Ð”Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾Ð»Ð¸Ñ‚Ð¸ÐºÐ° позволÑет привлечь к разработке, теÑтированию, развитию, раÑпроÑтранению и иÑпользованию программы значительное количеÑтво разработчиков, ÑнтузиаÑтов и других заинтереÑованных лиц Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ и раÑпределением уÑилий и финанÑовых затрат. </p><p>OpenSCADA предназначена Ð´Ð»Ñ Ñбора, архивированиÑ, визуализации информации, выдачи управлÑющих воздейÑтвий, а также других родÑтвенных операций, характерных Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ‹Ñ… SCADA ÑиÑтем. Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð²Ñ‹Ñокому уровню абÑтракции и модульноÑти программа может иÑпользоватьÑÑ Ð²Ð¾ многих Ñмежных отраÑлÑÑ…. </p><p>OpenSCADA <a href="About.html#Using" title="Special:MyLanguage/About">может и применÑÑ‚ÑŒÑÑ</a> на/в: </p> <ul><li> промышленных объектах в качеÑтве полнофункциональной SCADA ÑиÑтемы и телемеханике;</li> <li> динамичеÑких моделÑÑ…, имитаторах и тренажерах технологичеÑких процеÑÑов в реальном времени;</li> <li> Ñтанках и промышленных роботах;</li> <li> ÑиÑтемах ÑельÑко-хозÑйÑтвенной диÑпетчеризации и управлениÑ, птичниках;</li> <li> вÑтроенных и мобильных ÑиÑтемах — окружениÑÑ… иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐŸÑ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ ЛогичеÑкого Контролера (ПЛК), роботах, ...;</li> <li> мониторинге Ð¾Ð±Ð¾Ñ€ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ñерверов;</li> <li> умных домах и автоматике зданий.</li></ul> <p>Ð’ качеÑтве оÑновной операционной ÑиÑтемы (программной платформы) Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ и иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð° ОС Linux, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑвлÑетÑÑ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ñ‹Ð¼ решением в вопроÑах: </p> <ul><li> надёжноÑти — Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð´Ð¾Ð»Ñ Ñерверов и клаÑтеров работает на GNU/Linux;</li> <li> гибкоÑти/маÑштабируемоÑти — ввиду Ñвоей открытоÑти и модульноÑти позволÑет Ñтроить Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ любые требованиÑ;</li> <li> доÑтупноÑти — Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð¸Ñпользованию лицензии GPL Ñто ПО ÑвлÑетÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ñтью Ñвободной операционной ÑиÑтемой, а при выÑокой квалификации Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ беÑплатной;</li> <li> популÑрноÑти, развитоÑти, поддержке, раÑпроÑтранённоÑти — ÑиÑтема активно развиваетÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑтвом ÑнтузиаÑтов, фирм и гоÑударÑтвенными учреждениÑми во вÑем мире и получает вÑÑ‘ большую поддержку на пользовательÑком и корпоративном рынке.</li></ul> <p>ПоÑкольку проект разрабатываетÑÑ Ð¸ реализуетÑÑ Ð¿Ð¾ принципам многоплатформенноÑти то не ÑоÑтавлÑет оÑобой проблемы портировать его на другие операционные ÑиÑтемы (программные платформы) и аппаратные платформы. Что запланировано на будущее и в значительной Ñтепени уже оÑущеÑтвлено Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… платформ. </p><p>Сердцем программы ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ðµ Ñдро. И в завиÑимоÑти от того, какие модули подключены, программа может выÑтупать как в роли различных Ñерверов, так и в роли разнообразных клиентов, а также Ñовмещать Ñти функции в одной программе. Ðто позволÑет реализовывать клиент-Ñерверную архитектуру на базе одних и тех же компонентов/модулей, ÑÐºÐ¾Ð½Ð¾Ð¼Ñ Ð¿Ñ€Ð¸ Ñтом машинную памÑÑ‚ÑŒ, диÑковое проÑтранÑтво, а также ценное Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñтов. </p><p>Серверные конфигурации программы предназначены Ð´Ð»Ñ Ð²Ñ‹Ð´Ð°Ñ‡Ð¸ управлÑющих воздейÑтвий, Ñбора, обработки, архивированиÑ, Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ от различных иÑточников, а также предоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтой информации клиентам (UI, GUI, TUI ...). ÐœÐ¾Ð´ÑƒÐ»ÑŒÐ½Ð°Ñ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° позволÑет раÑширÑÑ‚ÑŒ функциональноÑÑ‚ÑŒ Ñервера без его перегрузки. </p><p>КлиентÑкие конфигурации могут ÑтроитьÑÑ Ð½Ð° оÑнове различных графичеÑких библиотек (GUI/TUI ToolKits), как иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñдро программы и его модули (путём Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ðº нему Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого интерфейÑа), так и в качеÑтве ÑамоÑтоÑтельного приложениÑ, Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð°Ñ Ñдро OpenSCADA как библиотеку. </p><p>ВозможноÑÑ‚ÑŒ гибкой конфигурации программы позволÑет Ñтроить Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ конкретные Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ð´Ñ‘Ð¶Ð½Ð¾Ñти, функциональноÑти и размеры-ÑложноÑÑ‚ÑŒ программы. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.90.D1.80.D1.85.D0.B8.D1.82.D0.B5.D0.BA.D1.82.D1.83.D1.80.D0.B0_.D0.B8_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8"><span class="tocnumber">1</span> <span class="toctext"><span>Ðрхитектура и функции</span></span></a> <ul> <li class="toclevel-2 tocsection-2"><a href="#.D0.9C.D0.BE.D0.B4.D1.83.D0.BB.D1.8C.D0.BD.D0.BE.D1.81.D1.82.D1.8C"><span class="tocnumber">1.1</span> <span class="toctext"><span>МодульноÑÑ‚ÑŒ</span></span></a></li> <li class="toclevel-2 tocsection-3"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B"><span class="tocnumber">1.2</span> <span class="toctext">ПодÑиÑтемы</span></a></li> <li class="toclevel-2 tocsection-4"><a href="#.D0.9F.D0.9B.D0.9A_.D0.B8_.D0.B4.D1.80.D1.83.D0.B3.D0.B8.D0.B5_.D0.B8.D1.81.D1.82.D0.BE.D1.87.D0.BD.D0.B8.D0.BA.D0.B8_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.B1.D0.BE.D1.80_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.22"><span class="tocnumber">1.3</span> <span class="toctext"><span>ПЛК и другие иÑточники динамичеÑких данных, подÑиÑтема "Сбор данных"</span></span></a></li> <li class="toclevel-2 tocsection-5"><a href="#.D0.91.D0.B0.D0.B7.D1.8B_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B0.D0.B7.D1.8B_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.22"><span class="tocnumber">1.4</span> <span class="toctext"><span>Базы данных, подÑиÑтема "Базы данных"</span></span></a></li> <li class="toclevel-2 tocsection-6"><a href="#.D0.90.D1.80.D1.85.D0.B8.D0.B2.D1.8B_.D0.B8_.D0.B8.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.90.D1.80.D1.85.D0.B8.D0.B2.D1.8B-.D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F.22"><span class="tocnumber">1.5</span> <span class="toctext"><span>Ðрхивы и иÑториÑ, подÑиÑтема "Ðрхивы-ИÑториÑ"</span></span></a> <ul> <li class="toclevel-3 tocsection-7"><a href="#.D0.A1.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D1.8F"><span class="tocnumber">1.5.1</span> <span class="toctext"><span>СообщениÑ</span></span></a></li> <li class="toclevel-3 tocsection-8"><a href="#.D0.97.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D1.8F"><span class="tocnumber">1.5.2</span> <span class="toctext"><span>ЗначениÑ</span></span></a></li> </ul> </li> <li class="toclevel-2 tocsection-9"><a href="#.D0.9A.D0.BE.D0.BC.D0.BC.D1.83.D0.BD.D0.B8.D0.BA.D0.B0.D1.86.D0.B8.D0.B8.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D1.8B.22_.D0.B8_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.BD.D1.8B.D0.B5_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D1.8B.22"><span class="tocnumber">1.6</span> <span class="toctext"><span>Коммуникации, подÑиÑтемы "ТранÑпорты" и "ТранÑпортные протоколы"</span></span></a></li> <li class="toclevel-2 tocsection-10"><a href="#.D0.98.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.8B_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.98.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.8B_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F.22"><span class="tocnumber">1.7</span> <span class="toctext">ИнтерфейÑÑ‹ пользователÑ, подÑиÑтема "ИнтерфейÑÑ‹ пользователÑ"</span></a></li> <li class="toclevel-2 tocsection-11"><a href="#Security_of_the_program.2C_the_subsystem_.22Security.22"><span class="tocnumber">1.8</span> <span class="toctext">Security of the program, the subsystem "Security"</span></a></li> <li class="toclevel-2 tocsection-12"><a href="#.D0.A3.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.8F.D0.BC.D0.B8.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.94.D0.B8.D1.81.D0.BF.D0.B5.D1.82.D1.87.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D0.B5.D0.B9.22"><span class="tocnumber">1.9</span> <span class="toctext">Управление модулÑми, подÑиÑтема "ДиÑпетчер модулей"</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#.D0.9D.D0.B5.D0.BF.D1.80.D0.B5.D0.B4.D1.83.D1.81.D0.BC.D0.BE.D1.82.D1.80.D0.B5.D0.BD.D0.BD.D1.8B.D0.B5_.D0.B2.D0.BE.D0.B7.D0.BC.D0.BE.D0.B6.D0.BD.D0.BE.D1.81.D1.82.D0.B8.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.BF.D0.B5.D1.86.D0.B8.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5.22"><span class="tocnumber">1.10</span> <span class="toctext">ÐепредуÑмотренные возможноÑти, подÑиÑтема "Специальные"</span></a></li> <li class="toclevel-2 tocsection-14"><a href="#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8.2C_.D0.BE.D0.B1.D1.8A.D0.B5.D0.BA.D1.82.D0.BD.D0.B0.D1.8F_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C_.D0.B8_.D1.81.D1.80.D0.B5.D0.B4.D0.B0_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F"><span class="tocnumber">1.11</span> <span class="toctext">Функции, Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ и Ñреда Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-15"><a href="#SCADA_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B_.D0.B8_.D0.B8.D1.85_.D1.81.D1.82.D1.80.D1.83.D0.BA.D1.82.D1.83.D1.80.D0.B0"><span class="tocnumber">2</span> <span class="toctext">SCADA ÑиÑтемы и их Ñтруктура</span></a></li> <li class="toclevel-1 tocsection-16"><a href="#.D0.92.D0.B0.D1.80.D0.B8.D0.B0.D0.BD.D1.82.D1.8B_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B8_.D0.B8_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F"><span class="tocnumber">3</span> <span class="toctext">Варианты конфигурации и иÑпользованиÑ</span></a> <ul> <li class="toclevel-2 tocsection-17"><a href="#.D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.BE.D0.B5_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5"><span class="tocnumber">3.1</span> <span class="toctext">ПроÑтое Ñерверное подключение</span></a></li> <li class="toclevel-2 tocsection-18"><a href="#.D0.94.D1.83.D0.B1.D0.BB.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.BE.D0.B5_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5"><span class="tocnumber">3.2</span> <span class="toctext">Дублированное Ñерверное подключение</span></a></li> <li class="toclevel-2 tocsection-19"><a href="#.D0.94.D1.83.D0.B1.D0.BB.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.BE.D0.B5_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D0.B0_.D0.BE.D0.B4.D0.BD.D0.BE.D0.BC_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B5"><span class="tocnumber">3.3</span> <span class="toctext">Дублированное Ñерверное подключение на одном Ñервере</span></a></li> <li class="toclevel-2 tocsection-20"><a href="#.D0.9A.D0.BB.D0.B8.D0.B5.D0.BD.D1.82.D1.81.D0.BA.D0.B8.D0.B9_.D0.B4.D0.BE.D1.81.D1.82.D1.83.D0.BF_.D0.BF.D0.BE.D1.81.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B2.D0.BE.D0.BC_Web-.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B0._.D0.9C.D0.B5.D1.81.D1.82.D0.BE_.D1.80.D1.83.D0.BA.D0.BE.D0.B2.D0.BE.D0.B4.D0.B8.D1.82.D0.B5.D0.BB.D1.8F"><span class="tocnumber">3.4</span> <span class="toctext">КлиентÑкий доÑтуп поÑредÑтвом Web-интерфейÑа. МеÑто руководителÑ</span></a></li> <li class="toclevel-2 tocsection-21"><a href="#.D0.90.D0.B2.D1.82.D0.BE.D0.BC.D0.B0.D1.82.D0.B8.D0.B7.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_.D1.80.D0.B0.D0.B1.D0.BE.D1.87.D0.B5.D0.B5_.D0.BC.D0.B5.D1.81.D1.82.D0.BE_.28.D0.BC.D0.B5.D1.81.D1.82.D0.BE_.D1.80.D1.83.D0.BA.D0.BE.D0.B2.D0.BE.D0.B4.D0.B8.D1.82.D0.B5.D0.BB.D1.8F.2F.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D0.B0.29"><span class="tocnumber">3.5</span> <span class="toctext">Ðвтоматизированное рабочее меÑто (меÑто руководителÑ/оператора)</span></a></li> <li class="toclevel-2 tocsection-22"><a href="#.D0.90.D0.A0.D0.9C_.D1.81_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BE.D0.BC_.D1.81.D0.B1.D0.BE.D1.80.D0.B0_.D0.B8_.D0.B0.D1.80.D1.85.D0.B8.D0.B2.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BD.D0.B0_.D0.BE.D0.B4.D0.BD.D0.BE.D0.B9_.D0.BC.D0.B0.D1.88.D0.B8.D0.BD.D0.B5_.28.D0.BC.D0.B5.D1.81.D1.82.D0.BE_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D0.B0.2C_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C-.D1.82.D1.80.D0.B5.D0.BD.D0.B0.D0.B6.D1.91.D1.80_....29"><span class="tocnumber">3.6</span> <span class="toctext">ÐÐ Ðœ Ñ Ñервером Ñбора и Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° одной машине (меÑто оператора, модель-тренажёр ...)</span></a></li> <li class="toclevel-2 tocsection-23"><a href="#.D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.B5.D0.B9.D1.88.D0.B5.D0.B5_.D1.81.D0.BC.D0.B5.D1.88.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.28.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C.2C_.D0.B4.D0.B5.D0.BC.D0.BE.D0.BD.D1.81.D1.82.D1.80.D0.B0.D1.86.D0.B8.D1.8F.2C_.D1.82.D1.80.D0.B5.D0.BD.D0.B0.D0.B6.D1.91.D1.80.2C_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.82.D0.BE.D1.80_....29"><span class="tocnumber">3.7</span> <span class="toctext">ПроÑтейшее Ñмешанное подключение (модель, демонÑтрациÑ, тренажёр, конфигуратор ...)</span></a></li> <li class="toclevel-2 tocsection-24"><a href="#.D0.A3.D1.81.D1.82.D0.BE.D0.B9.D1.87.D0.B8.D0.B2.D0.B0.D1.8F_.D1.80.D0.B0.D1.81.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D1.91.D0.BD.D0.BD.D0.B0.D1.8F_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F"><span class="tocnumber">3.8</span> <span class="toctext">УÑÑ‚Ð¾Ð¹Ñ‡Ð¸Ð²Ð°Ñ Ñ€Ð°ÑÐ¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-25"><a href="#.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.B8_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0"><span class="tocnumber">4</span> <span class="toctext"><span>ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ наÑтройка</span></span></a> <ul> <li class="toclevel-2 tocsection-26"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.94.22"><span class="tocnumber">4.1</span> <span class="toctext"><span>ПодÑиÑтема "БД"</span></span></a></li> <li class="toclevel-2 tocsection-27"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B5.D0.B7.D0.BE.D0.BF.D0.B0.D1.81.D0.BD.D0.BE.D1.81.D1.82.D1.8C.22"><span class="tocnumber">4.2</span> <span class="toctext"><span>ПодÑиÑтема "БезопаÑноÑÑ‚ÑŒ"</span></span></a></li> <li class="toclevel-2 tocsection-28"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D1.8B.22"><span class="tocnumber">4.3</span> <span class="toctext"><span>ПодÑиÑтема "ТранÑпорты"</span></span></a></li> <li class="toclevel-2 tocsection-29"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.BD.D1.8B.D0.B5_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D1.8B.22"><span class="tocnumber">4.4</span> <span class="toctext">ПодÑиÑтема "ТранÑпортные протоколы"</span></a></li> <li class="toclevel-2 tocsection-30"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.B1.D0.BE.D1.80_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.22"><span class="tocnumber">4.5</span> <span class="toctext"><span>ПодÑиÑтема "Сбор данных"</span></span></a></li> <li class="toclevel-2 tocsection-31"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.90.D1.80.D1.85.D0.B8.D0.B2.D1.8B-.D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F.22"><span class="tocnumber">4.6</span> <span class="toctext"><span>ПодÑиÑтема "Ðрхивы-ИÑториÑ"</span></span></a></li> <li class="toclevel-2 tocsection-32"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.9F.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D1.81.D0.BA.D0.B8.D0.B5_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.8B.22"><span class="tocnumber">4.7</span> <span class="toctext">ПодÑиÑтема "ПользовательÑкие интерфейÑÑ‹"</span></a></li> <li class="toclevel-2 tocsection-33"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.BF.D0.B5.D1.86.D0.B8.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5.22"><span class="tocnumber">4.8</span> <span class="toctext">ПодÑиÑтема "Специальные"</span></a></li> <li class="toclevel-2 tocsection-34"><a href="#.D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.94.D0.B8.D1.81.D0.BF.D0.B5.D1.82.D1.87.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D0.B5.D0.B9.22"><span class="tocnumber">4.9</span> <span class="toctext"><span>ПодÑиÑтема "ДиÑпетчер модулей"</span></span></a></li> <li class="toclevel-2 tocsection-35"><a href="#.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.BE.D0.BD.D0.BD.D1.8B.D0.B9_.D0.A4.D0.B0.D0.B9.D0.BB_.D0.B8_.D0.BF.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D1.8B_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.BD.D0.BE.D0.B9_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8"><span class="tocnumber">4.10</span> <span class="toctext"><span>Конфигурационный Файл и параметры командной Ñтроки</span></span></a></li> </ul> </li> <li class="toclevel-1 tocsection-36"><a href="#.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA_.D0.B8_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5"><span class="tocnumber">5</span> <span class="toctext"><span>ЗапуÑк и иÑполнение</span></span></a> <ul> <li class="toclevel-2 tocsection-37"><a href="#.D0.9F.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D1.8B_OpenSCADA"><span class="tocnumber">5.1</span> <span class="toctext"><span>Проекты OpenSCADA</span></span></a></li> <li class="toclevel-2 tocsection-38"><a href="#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0_OpenSCADA_.D0.B2_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D1.80.D0.B0.D0.BD.D1.81.D1.82.D0.B2.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B8.D1.81.D0.B0-.D1.84.D0.BE.D0.BD.D0.B5"><span class="tocnumber">5.2</span> <span class="toctext"><span>ИÑполнение готового проекта OpenSCADA в проÑтранÑтве ÑервиÑа-фоне</span></span></a></li> </ul> </li> <li class="toclevel-1 tocsection-39"><a href="#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"><span class="tocnumber">6</span> <span class="toctext">СÑылки</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.90.D1.80.D1.85.D0.B8.D1.82.D0.B5.D0.BA.D1.82.D1.83.D1.80.D0.B0_.D0.B8_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8"><span class="mw-headline-number">1</span> <span id="ArchFunc" title="#ArchFunc">Ðрхитектура и функции</span></span></h2> <p>Про фактичеÑкие функции и Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSCADA Ð’Ñ‹ можете прочитать на Ñтранице "<a href="Functions_and_demands.html" title="Special:MyLanguage/Functions and demands">Функции и требованиÑ</a>", а в Ñтом документе мы раÑÑмотрим общие функции и ÑвойÑтва программы. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:703px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_struct_ru.png"><img class="thumbimage" height="360" src="files/Oscada_struct_ru.png" width="701" /></a> <div class="thumbcaption">РиÑ. 1. Ð‘Ð»Ð¾Ñ‡Ð½Ð°Ñ Ñхема OpenSCADA.</div></div></div></div> <h3><span class="mw-headline" id=".D0.9C.D0.BE.D0.B4.D1.83.D0.BB.D1.8C.D0.BD.D0.BE.D1.81.D1.82.D1.8C"><span class="mw-headline-number">1.1</span> <span id="Modularity" title="#Modularity">МодульноÑÑ‚ÑŒ</span></span></h3> <p>Ð”Ð»Ñ Ð¿Ñ€Ð¸Ð´Ð°Ð½Ð¸Ñ Ð³Ð¸Ð±ÐºÐ¾Ñти и выÑокой Ñтепени маÑштабируемоÑти OpenSCADA поÑтроена по модульному принципу. ТеÑÐ½Ð°Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹ Ñ Ñдром улучшает ÑтабильноÑÑ‚ÑŒ програми в целом, Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð¼Ñƒ иÑпользованию отлаженного кода. Однако Ñам процеÑÑ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ ÑобÑтвенного кода модулей OpenSCADA накладывает большую ответÑтвенноÑÑ‚ÑŒ — возможные ошибки вводÑÑ‚ Ñлемент неÑтабильноÑти в программу. ВозможноÑÑ‚ÑŒ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ñпределённых конфигураций Ñглаживает Ñту опаÑноÑÑ‚ÑŒ. </p><p>Модули OpenSCADA хранÑÑ‚ÑÑ Ð² динамичеÑких библиотеках. ÐšÐ°Ð¶Ð´Ð°Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° может Ñодержать множеÑтво модулей различного типа. Ðаполнение динамичеÑких библиотек модулÑми определÑетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ð¹ ÑвÑзноÑтью Ñамих модулей. ДинамичеÑкие библиотеки допуÑкают горÑчую замену, что позволÑет производить обновление отдельных чаÑтей программы в процеÑÑе функционированиÑ. Метод Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° модулей в динамичеÑких библиотеках ÑвлÑетÑÑ Ð¾Ñновным Ð´Ð»Ñ OpenSCADA, поÑкольку поддерживаетÑÑ Ð¿Ñ€Ð°ÐºÑ‚Ð¸Ñ‡ÐµÑки вÑеми Ñовременными операционными ÑиÑтемами(ОС). Однако Ñто не иÑключает возможноÑти разработки других методов Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° модулей. </p><p>Ðа оÑнове модулей реализованы Ñледующие функциональные чаÑти OpenSCADA: </p> <ul><li> базы данных;</li> <li> коммуникационные интерфейÑÑ‹, транÑпорты;</li> <li> протоколы коммуникационных интерфейÑов;</li> <li> иÑточники данных и Ñбор данных;</li> <li> архивы-иÑÑ‚Ð¾Ñ€Ð¸Ñ (Ñообщений и значений);</li> <li> интерфейÑÑ‹ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (GUI, TUI, WebGUI, speach, signal ...);</li> <li> дополнительные модули, Ñпециальные.</li></ul> <p>Управление модулÑми оÑущеÑтвлÑетÑÑ Ð¿Ð¾Ð´ÑиÑтемой "ДиÑпетчер модулей". ФункциÑми подÑиÑтемы ÑвлÑетÑÑ: подключение, отключение, обновление и другие операции, ÑвÑзанные Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñми и библиотеками модулей. </p> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B"><span class="mw-headline-number">1.2</span> ПодÑиÑтемы</span></h3> <p>Ðрхитектурно OpenSCADA делитÑÑ Ð½Ð° подÑиÑтемы. ПодÑиÑтемы могут быть двух типов: обычные и модульные. Модульные подÑиÑтемы обладают ÑвойÑтвом раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑредÑтвом модулей. ÐšÐ°Ð¶Ð´Ð°Ñ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´ÑиÑтема может Ñодержать множеÑтво модульных объектов. Ðапример, Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´ÑиÑтема "Базы данных" Ñодержит модульные объекты типов баз данных. Модульный объект ÑвлÑетÑÑ ÐºÐ¾Ñ€Ð½ÐµÐ¼ внутри модулÑ. </p><p>Ð’Ñего OpenSCADA Ñодержит девÑÑ‚ÑŒ подÑиÑтем, из них Ñемь ÑвлÑÑŽÑ‚ÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ñ‹Ð¼Ð¸. Ðти девÑÑ‚ÑŒ подÑиÑтем OpenSCADA ÑвлÑÑŽÑ‚ÑÑ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼Ð¸ и приÑутÑтвуют в любой конфигурации. К ÑпиÑку девÑти подÑиÑтем могут добавлÑÑ‚ÑŒÑÑ Ð½Ð¾Ð²Ñ‹Ðµ, поÑредÑтвом Ñамих модулей. ПодÑиÑтемы OpenSCADA: </p> <ul><li> БезопаÑноÑÑ‚ÑŒ.</li> <li> ДиÑпетчер модулей.</li> <li> Базы данных (модульнаÑ).</li> <li> ТранÑпорты (модульнаÑ).</li> <li> ТранÑпортные протоколы (модульнаÑ).</li> <li> Сбор данных (модульнаÑ).</li> <li> Ðрхивы-ИÑÑ‚Ð¾Ñ€Ð¸Ñ (модульнаÑ).</li> <li> ИнтерфейÑÑ‹ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (модульнаÑ).</li> <li> Специальные (модульнаÑ).</li></ul> <h3><span class="mw-headline" id=".D0.9F.D0.9B.D0.9A_.D0.B8_.D0.B4.D1.80.D1.83.D0.B3.D0.B8.D0.B5_.D0.B8.D1.81.D1.82.D0.BE.D1.87.D0.BD.D0.B8.D0.BA.D0.B8_.D0.B4.D0.B8.D0.BD.D0.B0.D0.BC.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.B1.D0.BE.D1.80_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.22"><span class="mw-headline-number">1.3</span> <span id="DAQ" title="#DAQ">ПЛК и другие иÑточники динамичеÑких данных, подÑиÑтема "Сбор данных"</span></span></h3> <p>ПодÑиÑтема "Сбор данных" (РиÑ.1.3) предуÑмотрена Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ иÑточников динамичеÑких данных, будь то: ПЛК, платы УСО, виртуальные иÑточники и другое. Ð’ функции Ñтой подÑиÑтемы входит предоÑтавление полученных данных в Ñтруктурированном виде — <b>модель данных</b> и обеÑпечение ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтими данными, например — Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:309px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_subsys_daq_str_ru.png"><img class="thumbimage" height="335" src="files/Oscada_subsys_daq_str_ru.png" width="307" /></a> <div class="thumbcaption">РиÑ. 1.3. ИерархичеÑÐºÐ°Ñ Ñтруктура подÑиÑтемы "Сбор данных".</div></div></div></div> <p>ПодÑиÑтема "Сбор данных" ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и, как ÑледÑтвие, Ñодержит модульные объекты типов иÑточников динамичеÑких данных. Ðапример, OpenSCADA ÑÐµÐ¹Ñ‡Ð°Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑтавлÑет более чем двадцать <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules" title="Special:MyLanguage/Modules">модулей</a> и <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Libs/Generic_list" title="Special:MyLanguage/Libs/Generic list">библиотечных Ñлементов</a> <a href="DAQ.html#UserPrt" title="Special:MyLanguage/Documents/DAQ">иÑточников логичеÑких типов</a>. Ðаиболее значимые и проработанные Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ…: </p> <ul><li> <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">ВычиÑлитель на Java-подобном Ñзыке</a>;</li> <li> <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">ЛогичеÑкий уровень</a>;</li> <li> <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">Блочный вычиÑлитель</a>;</li> <li> <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">Шлюз иÑточников данных</a>;</li> <li> <a href="../en/Modules/System.html" title="Special:MyLanguage/Modules/System">Сбор данных ОС</a>;</li> <li> <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a>;</li> <li> <a href="Modules/DCON.html" title="Special:MyLanguage/Modules/DCON">DCON клиент</a>;</li> <li> <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">Клиент OPC-UA</a>;</li> <li> <a href="Modules/Siemens.html" title="Special:MyLanguage/Modules/Siemens">Сбор данных Siemens</a>;</li> <li> <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules/MMS" title="Special:MyLanguage/Modules/MMS">MMS(IEC-9506)</a>;</li> <li> <a href="Modules/SNMP.html" title="Special:MyLanguage/Modules/SNMP">SNMP клиент</a>;</li> <li> <a href="Modules/ICP_DAS.html" title="Special:MyLanguage/Modules/ICP DAS">Оборудование ICP DAS</a>;</li> <li> <a href="Modules/DiamondBoards.html" title="Special:MyLanguage/Modules/DiamondBoards">Diamond платы Ñбора данных</a>.</li></ul> <p>Каждый тип иÑточника нелогичеÑкого типа реализуетÑÑ Ð² отдельном модуле, который может Ñодержать множеÑтво иÑточников (объектов контроллеров) и каждый Ñтот иÑточник обычно выполнÑетÑÑ Ð² отдельном потоке-задаче. </p><p>Отдельно взÑтый объект контроллера может Ñодержать параметры определённых модулем типов. Ðапример, параметры аналогового типа, оÑновной информацией которых ÑвлÑÑŽÑ‚ÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¾Ð³Ð¾ или реального типа. Структурно параметр предÑтавлÑет Ñобой перечень атрибутов, которые и Ñодержат данные. Ðтрибуты могут быть пÑти базовых типов: логичеÑкий, целый, реальный, ÑÐ¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ñтрока(текÑÑ‚) и объект. Структуры объектов контроллеров, параметров и их типов ÑодержатÑÑ Ð² подÑиÑтеме "Сбор данных", а объекты модулей оÑущеÑтвлÑÑŽÑ‚ их наполнение ÑоглаÑно ÑобÑтвенной Ñпецифики. </p><p>Отдельные типы иÑточников данных Ñами могут продуцировать данные как полноÑтью их генерируÑ, так и Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑкие данные и даже <a href="DAQ.html#UserPrt" title="Special:MyLanguage/Documents/DAQ">полноÑтью Ñ€ÐµÐ°Ð»Ð¸Ð·ÑƒÑ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ Ñтих данных в окружении OpenSCADA</a> и на её внутреннем Ñзыке. Такие иÑточники данных называютÑÑ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкими. ПолноÑтью логичеÑкие иÑточники данных предÑтавлены модулÑми: <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">LogicLev</a> и <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">BlockCalc</a>. СущеÑтвует Ñ€Ñд модулей, которые объединÑÑŽÑ‚ в Ñебе логичеÑкие данные как результат непоÑредÑтвенной обработки физичеÑких: <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a>, <a href="Modules/Siemens.html" title="Special:MyLanguage/Modules/Siemens">Siemens</a> и <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">OPC-UA</a>. </p><p>ИÑточники динамичеÑких данных могут быть удалёнными, Ñ‚.е. формироватьÑÑ Ð¸Ð»Ð¸ получатьÑÑ Ð½Ð° удалённой Ñтанции OpenSCADA. Ð”Ð»Ñ ÑвÑзи Ñ Ñ‚Ð°ÐºÐ¸Ð¼Ð¸ иÑточниками данных иÑпользуетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ ÑˆÐ»ÑŽÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a>. Функцией Ñтого типа иÑточников данных ÑвлÑетÑÑ Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ иÑточников данных удалённой OpenSCADA Ñтанции на локальную. </p><p>Детально ознакомитьÑÑ Ñ ÐºÐ»ÑŽÑ‡ÐµÐ²Ð¾Ð¹ подÑиÑтемой "Сбор данных" и её функциÑми Ð’Ñ‹ можете в отдельном документе "<a href="DAQ.html" title="Special:MyLanguage/Documents/DAQ">Сбор данных в OpenSCADA</a>". </p> <h3><span class="mw-headline" id=".D0.91.D0.B0.D0.B7.D1.8B_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B0.D0.B7.D1.8B_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.22"><span class="mw-headline-number">1.4</span> <span id="DB" title="#DB">Базы данных, подÑиÑтема "Базы данных"</span></span></h3> <p>Ð”Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… программы повÑемеÑтно иÑпользуютÑÑ Ð±Ð°Ð·Ñ‹ данных (БД). С целью унификации доÑтупа и ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ данных в OpenSCADA предуÑмотрена подÑиÑтема "Базы данных" (РиÑ.1.4). Ð”Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ различных БД/СУБД подÑиÑтема выполнена модульной. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:389px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_subsys_db_str_ru.png"><img class="thumbimage" height="310" src="files/Oscada_subsys_db_str_ru.png" width="387" /></a> <div class="thumbcaption">РиÑ. 1.4. ИерархичеÑÐºÐ°Ñ Ñтруктура подÑиÑтемы "БД".</div></div></div></div> <p>Ð’ роли модульного объекта, который ÑодержитÑÑ Ð² подÑиÑтеме, выÑтупает тип БД/СУБД, Ñ‚.е. модуль подÑиÑтемы "Базы данных" практичеÑки Ñодержит реализацию доÑтупа к определённому типу БД. OpenSCADA предоÑтавлÑет Ñледующие наиболее значительные и проработанные модули: <a href="Modules/SQLite.html" title="Special:MyLanguage/Modules/SQLite">SQLite</a>, <a href="Modules/MySQL.html" title="Special:MyLanguage/Modules/MySQL">MySQL</a>, <a href="Modules/PostgreSQL.html" title="Special:MyLanguage/Modules/PostgreSQL">PostgreSQL</a>, <a href="Modules/FireBird.html" title="Special:MyLanguage/Modules/FireBird">FireBird</a>. </p><p>Тип БД/СУБД в Ñвою очередь Ñодержит перечень объектов отдельных БД Ñтого типа, а объект БД Ñодержит перечень объектов таблиц, которые и Ñодержат данные в табличном виде. </p><p>ПрактичеÑки вÑе данные OpenSCADA хранÑÑ‚ÑÑ Ð² той или иной БД. ИнÑтрументарий программы позволÑет легко переноÑить данные из одного типа БД в другой, и, как ÑледÑтвие, оптимально подбирать тип БД под конкретную облаÑÑ‚ÑŒ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ OpenSCADA. ÐŸÐµÑ€ÐµÐ½Ð¾Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ Ñ Ð¾Ð´Ð½Ð¾Ð¹ БД в другую может быть выполнен Ð´Ð²ÑƒÐ¼Ñ ÑпоÑобами. Первый — Ñто изменение адреÑа рабочей БД и Ñохранение вÑей конфигурации программы на неё, второй — Ñто прÑмое копирование информации между БД. Кроме ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ÑÑ Ð¸ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿Ñ€Ñмого Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñодержимого таблиц БД. </p><p>Ð”Ð»Ñ Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ð¸ централизованного доÑтупа раÑпределённой программы к единой БД предуÑматриваетÑÑ Ð´Ð²Ð° ÑпоÑоба. Первый Ñто иÑпользование Ñетевых СУБД, например — MySQL. Второй ÑпоÑоб Ñто иÑпользование транÑпортного типа БД на локальных ÑтанциÑÑ…, Ð´Ð»Ñ Ð´Ð¾Ñтупа к единой центральной БД другой OpenSCADA Ñтанции, через переÑылку запроÑов к БД на Ñтой удалённой Ñтанции — не реализовано ещё в OpenSCADA. </p><p>Данные могут хранитьÑÑ Ñ‚Ð°ÐºÐ¶Ðµ в конфигурационном файле программы. Реализован механизм полного Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñтруктуры БД на Ñтруктуру конфигурационного файла. Т.е. Ñтандартную конфигурацию можно размещать в конфигурационном файле. СмыÑл такого механизма ÑоÑтоит в том, что типовые (по умолчанию) данные программы можно опиÑывать в конфигурационном файле, например — при Ñтарте без БД. Далее Ñти данные могут переопределÑÑ‚ÑŒÑÑ Ð² БД. Кроме того, Ð´Ð»Ñ Ñлучаев невозможноÑти запуÑка какой нибудь БД вообще, можно вÑе данные хранить в конфигурационном файле. </p><p>Ð”Ð»Ñ Ð´Ð¾Ñтупа к базам данных иÑпользуетÑÑ Ð¼ÐµÑ…Ð°Ð½Ð¸Ð·Ð¼ региÑтрации БД. ЗарегиÑтрированные в программе БД доÑтупны вÑем подÑиÑтемам OpenSCADA и могут иÑпользоватьÑÑ Ð² их работе. Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ñтому механизму можно обеÑпечить разделение Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…. Ðапример, различные библиотеки могут хранитьÑÑ Ð¸ раÑпроÑтранÑÑ‚ÑŒÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо, а Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ будет заключатьÑÑ Ð² проÑтой региÑтрации нужной БД. </p> <h3><span class="mw-headline" id=".D0.90.D1.80.D1.85.D0.B8.D0.B2.D1.8B_.D0.B8_.D0.B8.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.90.D1.80.D1.85.D0.B8.D0.B2.D1.8B-.D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F.22"><span class="mw-headline-number">1.5</span> <span id="Arch" title="#Arch">Ðрхивы и иÑториÑ, подÑиÑтема "Ðрхивы-ИÑториÑ"</span></span></h3> <p>Ð›ÑŽÐ±Ð°Ñ SCADA ÑиÑтема должна предоÑтавлÑÑ‚ÑŒ возможноÑÑ‚ÑŒ архивации Ñобранных данных, Ñ‚.е. формирование иÑтории Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (динамики) процеÑÑа. Ðрхивы уÑловно можно разделить на два типа: архивы Ñообщений и архивы значений. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:221px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_subsys_arch_str_ru.png"><img class="thumbimage" height="251" src="files/Oscada_subsys_arch_str_ru.png" width="219" /></a> <div class="thumbcaption">РиÑ. 1.5. ИерархичеÑÐºÐ°Ñ Ñтруктура подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>ОÑобенноÑтью архивов Ñообщений ÑвлÑетÑÑ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ†Ð¸Ñ Ñ‚Ð°Ðº называемых Ñообщений программы, а именно — ведение логов и протоколов. Характерной оÑобенноÑтью ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÑвлÑетÑÑ Ð²Ñ€ÐµÐ¼Ñ ÐµÐ³Ð¾ возникновениÑ. Ð’ завиÑимоÑти от иÑточника ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ клаÑÑифицироватьÑÑ Ð¿Ð¾ различным критериÑм. Ðапример, Ñто могут быть протоколы аварийных Ñитуаций, протоколы дейÑтвий операторов, протоколы отказов ÑвÑзи и другое. </p><p>ОÑобенноÑтью архивов значений ÑвлÑетÑÑ Ð¸Ñ… периодичноÑÑ‚ÑŒ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑетÑÑ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚ÐºÐ¾Ð¼ времени между Ð´Ð²ÑƒÐ¼Ñ Ñмежными значениÑми. Ðрхивы значений применÑÑŽÑ‚ÑÑ Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñтории непрерывных процеÑÑов. ПоÑкольку процеÑÑ Ð½ÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ñ‹Ð¹ то и архивировать его можно только путём Ð²Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð½ÑÑ‚Ð¸Ñ ÐºÐ²Ð°Ð½Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð¿Ñ€Ð¾Ñа значений, иначе мы получим архивы беÑконечных размеров, в ÑоответÑтвии Ñ Ð½ÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ð¾Ñтью Ñамой природы процеÑÑа. Кроме того, практичеÑки мы можем получить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¾Ð¼ ограниченным Ñамими иÑточниками данных. Ðапример, довольно качеÑтвенные иÑточники данных в промышленноÑти редко позволÑÑŽÑ‚ получать данные Ñ Ñ‡Ð°Ñтотой более 1 кГц, и Ñто без учёта Ñамих датчиков которые имеют менее качеÑтвенные чаÑтотные характериÑтики. </p><p>Ð”Ð»Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñ‡ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð² данных в OpenSCADA предуÑмотрена подÑиÑтема "Ðрхивы-ИÑториÑ" (РиÑ.1.5), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и позволÑет веÑти архивы Ñообщений и значений. Модульным объектом, который ÑодержитÑÑ Ð² подÑиÑтеме "Ðрхивы-ИÑториÑ", выÑтупает тип архиватора. Тип архиватора определÑет ÑпоÑоб Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… Ñ‚.е. хранилище — <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема</a>, <a href="Modules/DBArch.html" title="Special:MyLanguage/Modules/DBArch">СУБД</a>. Каждый модуль подÑиÑтемы "Ðрхивы-ИÑториÑ" ÑоответÑтвенно может реализовывать архивирование Ñообщений и значений, а Ñама подÑиÑтема может Ñодержать множеÑтво архивов, которые обÑлуживаютÑÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ модулÑми. </p> <h4><span class="mw-headline" id=".D0.A1.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">1.5.1</span> <span id="ArchMess" title="#ArchMess">СообщениÑ</span></span></h4> <p>Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² OpenSCADA характеризуютÑÑ Ð´Ð°Ñ‚Ð¾Ð¹, уровнем важноÑти, категорией и непоÑредÑтвенно текÑтом ÑообщениÑ. Дата ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÑоответÑтвенно указывает на дату и Ð²Ñ€ÐµÐ¼Ñ ÐµÐ³Ð¾ ÑозданиÑ. Уровень важноÑти указывает на Ñтепень важноÑти ÑообщениÑ. ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñет Ð°Ð´Ñ€ÐµÑ Ð¸Ð»Ð¸ уÑловный идентификатор-ключ иÑточника ÑообщениÑ. ЧаÑто ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ñодержит полный путь к иÑточнику ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² программе. ТекÑÑ‚ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÑоответÑтвенно и неÑет главную ÑмыÑловую нагрузку ÑообщениÑ. </p><p>Ð’ процеÑÑе Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑкаютÑÑ Ñ‡ÐµÑ€ÐµÐ· фильтр, который работает по уровню важноÑти и категории Ñообщений. Уровень Ñообщений в фильтре указывает на то, что нужно пропуÑкать ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ или выÑшим уровнем важноÑти. Ð”Ð»Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ð¸ по категории применÑÑŽÑ‚ÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ‹ или регулÑрные выражениÑ, которые определÑÑŽÑ‚ какие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑкать. Каждый архиватор Ñодержит ÑобÑтвенные наÑтройки фильтра, ÑоответÑтвенно можно легко Ñоздавать различные Ñпециализированные архиваторы Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð° Ñообщений. Ðапример, архиваторы Ñообщений можно направить на: </p> <ul><li> логи, Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ отладки и другой рабочей информации Ñерверов;</li> <li> различные протоколы (протокол дейÑтвий пользователей, протокол нарушений и иÑключений, протокол Ñообщений ... ).</li></ul> <p>Уровней Ñообщений предуÑмотрено 8, но каждый из Ñтих уровней, от 1(первого), может быть раÑширен подуровнÑми, Ñ‚.е. фактичеÑки быть группой из 10 подуровней, что оÑущеÑтвлÑетÑÑ Ð¿Ñ€Ð¾Ñтым добавлением цифры поÑле оÑновного уровнÑ, например, 5 — Ñто оÑновной уровень, а 50...59 Ñто раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ ÑƒÑ€Ð¾Ð²Ð½Ñ 5. Что общее количеÑтво уровней уÑтанавливает в 80. Семь оÑновных уровней имеют названиÑ, и ÑоответÑтвию которым желательно придерживатьÑÑ: </p> <ul><li> <b>0</b> — Отладка;</li> <li> <b>1[X]</b> — ИнформациÑ;</li> <li> <b>2[X]</b> — Замечание;</li> <li> <b>3[X]</b> — Предупреждение;</li> <li> <b>4[X]</b> — Ошибка;</li> <li> <b>5[X]</b> — КритичеÑки;</li> <li> <b>6[X]</b> — Тревога;</li> <li> <b>7[X]</b> — ÐвариÑ.</li></ul> <p>Ввиду ÑхожеÑти природы Ñообщений и нарушений подÑиÑтема "Ðрхивы-ИÑториÑ" Ñодержит буфер текущий нарушений, который Ñодержит активные на текущее Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸ÐµÐ¹ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² роли ключа-идентификатора нарушениÑ. ДоÑтуп к перечню-буферу текущих нарушений оÑущеÑтвлÑетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑƒÑ€Ð¾Ð²Ð½Ñ Ñообщений. Так, формирование Ñообщений Ñ Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼ уровнем -2 вызывает помещение Ñтого Ñообщений в буфер активных нарушений Ñ ÑƒÑ€Ð¾Ð²Ð½ÐµÐ¼ 2, а также дублирование его непоÑредÑтвенно в архиве Ñообщений (буфере общих Ñообщений). При формировании ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² такой-же категории, но Ñ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼ уровнем — Ñкажем 1, будет оÑущеÑтвлено удаление указанного Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð¸Ð· буфера нарушений, а Ñамо Ñообщений также попадёт в архив Ñообщений (буфер общих Ñообщений). Такой механизм позволÑет одновременной веÑти учёт активных нарушений и протоколировать их прохождение в архиве Ñообщений. При запроÑе к архиву Ñообщений, указание положительного ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¾ÑущеÑтвлÑет Ð·Ð°Ð¿Ñ€Ð¾Ñ Ðº архиву Ñообщений (через общий буфер Ñообщений), а отрицательного к буферу-перечню текущих нарушений. </p><p>Строгой Ñтруктуры категории и текÑта ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ðµ предуÑматриваетÑÑ Ð¸ пользователь, Ð´Ð»Ñ ÑобÑтвенных Ñообщений, может формировать их производно, но Ñтоит учеÑÑ‚ÑŒ Ñтруктуру ÑиÑтемных Ñообщений и Ñообщений, определённых <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Libs" title="Special:MyLanguage/Libs">Ñтандартными библиотеками OpenSCADA</a>, чтобы иÑключить переÑечение Ñ Ð½Ð¸Ð¼Ð¸, или предметно раÑширить: </p> <ul><li> <b>СиÑтемные</b>, генерируютÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸-узлами OpenSCADA:</li></ul> <dl><dd> КÐТЕГОРИЯ: определÑет типовой путь к узлу ÑообщениÑ, например — "/sub_DAQ/mod_LogicLev/cntr_gen/", где: <ul><li> "/*/*" — типовой шаблон-признак ÑиÑтемного ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° оÑнове Ñимвола-Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ñлементов пути, который может быть непоÑредÑтвенно иÑпользован в фильтре категории Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_ru.png" title="File:QTCfg subsys arch mod ma main ru.png">архива ÑиÑтемных Ñообщений</a>.</li></ul></dd> <dd> ТЕКСТ: Ñодержит путь наименований узла ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸ Ñамо Ñообщение в формате "<b>{NodeNmPath}: {message}</b>", например — "AGLKS > Сбор Данных > LogicLev > gen: ЗапуÑк контроллера.".</dd></dl> <ul><li> <b>Шлюзованные</b>, ÑообщениÑ, которые были получены из иерархичеÑки низшей Ñтанции OpenSCADA (вроде ПЛК) или передано выÑшей Ñтанцией:</li></ul> <dl><dd> КÐТЕГОРИЯ: в начало категории полученного ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑетÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ объекта контроллера Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQ.DAQGate</a>, который оÑущеÑтвил получение, например — "loop:alModBus:testTCP" или "TopStat(DAQCntr):alModBus:testTCP", где: <ul><li> "loop:*" — типовой шаблон-признак удалённого нижшего ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° оÑнове идентификатора объекта контроллера <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQ.DAQGate</a>, который может быть непоÑредÑтвенно иÑпользован в фильтре категории Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ñключительно <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_ru.png" title="File:QTCfg subsys arch mod ma main ru.png">архива удалённых Ñообщений Ñтого иÑточника</a>;</li> <li> "TopStat(DAQCntr):*" — типовой шаблон-признак удалённого выÑшего ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° оÑнове Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° (или идентификатора) <i>TopStat</i> и идентификатора объекта контроллера <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">Ð¼Ð¾Ð´ÑƒÐ»Ñ DAQ.DAQGate</a>, который может быть непоÑредÑтвенно иÑпользован в фильтре категории Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ñключительно <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_ru.png" title="File:QTCfg subsys arch mod ma main ru.png">архива удалённых Ñообщений Ñтого иÑточника</a>.</li></ul></dd></dl> <ul><li> Унифицированные Ñтруктуры Ñ Ð¸Ñточником данных в категории, генерируютÑÑ Ð¸Ñточником данных или его процедурами Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <i>messSet()</i> <a href="../en/API.html#TController" title="Special:MyLanguage/Documents/API">API OpenSCADA</a> и <a href="User_API.html#SYS.DAQ" title="Special:MyLanguage/Documents/User API">пользовательÑкого API</a>:</li></ul> <dl><dd><dl><dd> КÐТЕГОРИЯ: определÑет ID-Ð°Ð´Ñ€ÐµÑ Ð¸Ñточника Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð² формате "<b>{ID}{ModId}:{CntrId}[.{PrmId}][:{SpecPrms}]</b>", где: <ul><li> <i>ID</i> — двухÑимвольный идентификатор Ñтруктуры;</li> <li> <i>ModId</i> — идентификатор модулÑ;</li> <li> <i>CntrId</i> — идентификатор объекта контроллера;</li> <li> <i>PrmId</i> — идентификатор параметра;</li> <li> <i>SpecPrms</i> — ÑпецифичеÑкие параметры Ñтруктуры <i>ID</i>.</li></ul></dd></dl> <ul><li> <b>Ðарушение</b>, генерируетÑÑ Ð¸Ñточником данных или его процедурами Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции <i>alarmSet()</i> <a href="../en/API.html#TController" title="Special:MyLanguage/Documents/API">API OpenSCADA</a> и <a href="User_API.html#SYS.DAQ" title="Special:MyLanguage/Documents/User API">пользовательÑкого API</a>:</li></ul> <dl><dd> КÐТЕГОРИЯ: определÑет ID-Ð°Ð´Ñ€ÐµÑ Ð¸Ñточника Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð² формате "<b>al{ModId}:{CntrId}[.{PrmId}]</b>", например — "alLogicLev:gen.F_PP1", где: <ul><li> "al*" — типовой шаблон-признак ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ð½Ð° оÑнове двух первых Ñимволов Ñлова "alarm", который может быть непоÑредÑтвенно иÑпользован в фильтре категории Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_ru.png" title="File:QTCfg subsys arch mod ma main ru.png">архива Ñообщений</a>.</li></ul></dd> <dd> ТЕКСТ: "<b>{CntrNm} > {PrmNm}: {MessText}</b>", например — "ОбщеÑтанционка > F_PP1: РаÑход газа через диафрагму PP1: ÐОРМÐ", где: <ul><li> <i>CntrNm</i> — название объекта контроллера;</li> <li> <i>PrmNm</i> — название параметра;</li> <li> <i>MessText</i> — текÑÑ‚ ÑообщениÑ, которое имеет подÑтруктуру "<b>{Viol}: {Value}[: {QuietTime}[: {NormTime}[: {Comment}]]]</b>", где:</li></ul> <dl><dd><ul><li> <i>Viol</i> — опиÑание нарушениÑ, которое отдельные кадры, вроде <a href="Libs_Main_graphical_elements.html#alarmsAct" title="Special:MyLanguage/Libs/Main graphical elements">Main.alarmsAct</a> и <a href="Libs_Main_graphical_elements.html#alarmsSt" title="Special:MyLanguage/Libs/Main graphical elements">Main.alarmsSt</a>, могут раÑширÑÑ‚ÑŒ пользовательÑкими полÑми в форме "<b>[[{CustFld0} => {CustFld1} => ... => {CustFldN}]]</b>";</li> <li> <i>Value</i> — значение нарушениÑ;</li> <li> <i>QuietTime</i> — Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ (квитации);</li> <li> <i>NormTime</i> — Ð²Ñ€ÐµÐ¼Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚Ð° к ÑоÑтоÑнию ÐОРМÐ, уÑтанавливаетÑÑ Ñ‚ÑƒÑ‚ поÑле квитации-возврата ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÑƒÐ¶Ðµ в ÐОРМÐ;</li> <li> <i>Comment</i> — комментарий к Ñтому Ñлучаю.</li></ul></dd></dl></dd></dl> <ul><li> <b>ДейÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ-оператора Ñ Ð¸Ñточником данных</b>, генерируютÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¾Ð¹ виджетов при определении дейÑтвий пользователÑ-оператора, которые должны быть зафикÑированы в протоколе пользователÑ-оператора и когда доÑтупнен объект параметра иÑточника данных:</li></ul> <dl><dd> КÐТЕГОРИЯ: определÑет Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ характерный иÑточник (обычно параметр подÑиÑтемы "Сбор данных") Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ оÑущеÑтвлено дейÑтвиÑ, в формате "<b>OP{ModId}:{CntrId}[.{PrmId}]:{user}</b>", например — "OPLogicLev:gen.PC_PCV1:roman", где: <ul><li> "OP*" — типовой шаблон-признак ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ-оператора на оÑнове двух первых Ñимволов Ñлова "operator", который может быть непоÑредÑтвенно иÑпользован в фильтре категории Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_ru.png" title="File:QTCfg subsys arch mod ma main ru.png">архива дейÑтвий оператора</a>.</li></ul></dd> <dd> TEXT: такое Ñамое как и при Ñтруктуре "ДейÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ-оператора".</dd></dl></dd></dl> <ul><li> <b>ДейÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ-оператора</b>, генерируютÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð¾Ð¹ виджетов при определении дейÑтвий пользователÑ-оператора, которые должны быть зафикÑированы в протоколе пользователÑ-оператора:</li></ul> <dl><dd> КÐТЕГОРИЯ: определÑет Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ характерный иÑточник (обычно параметр подÑиÑтемы "Сбор данных") Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ оÑущеÑтвлено дейÑтвиÑ, в формате "<b>OP:{user}:{src}</b>", например — "OP:roman:PC КРД1", где: <ul><li> "OP:*" — типовой шаблон-признак ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ-оператора на оÑнове двух первых Ñимволов Ñлова "operator", который может быть непоÑредÑтвенно иÑпользован в фильтре категории Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñто <a class="external" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main_ru.png" title="File:QTCfg subsys arch mod ma main ru.png">архива дейÑтвий оператора</a>;</li> <li> <i>user</i> — пользователь OpenSCADA;</li> <li> <i>src</i> — характерный иÑточник, обычно параметр подÑиÑтемы "Сбор данных", при необходимоÑти дополненный иерархией DAQ-параметров до объекта контроллера.</li></ul></dd> <dd> ТЕКСТ: опиÑание дейÑÑ‚Ð²Ð¸Ñ Ð² формате "<b>{src} : {name} : [{oldVal}] : {newVal}</b>", например — "'PC КРД1'. Задание : РегулÑтор Ð´Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° входе КС : 5.8 : 6.0", где: <ul><li> <i>src</i> — название иÑточнике, обычно объекта параметра Ñ Ð´ÐµÑ‚Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹, и при необходимоÑти дополненный иерархией DAQ-параметров до объекта контроллера;</li> <li> <i>name</i> — название иÑточника, обычно объекта параметра;</li> <li> <i>oldVal</i> — Ñтарое значение, может отÑутÑтвовать;</li> <li> <i>newVal</i> — новое значение или дейÑтвие.</li></ul></dd></dl> <ul><li> <b>Значение в Ñообщении</b> — измеренные значениÑ, которые введены вручную, что первично внедрено в кадре документа "<a href="Libs_Documents.html#docRepYear" title="Special:MyLanguage/Libs/Documents">Ручной отчёт меÑÑчных значений (docRepYear)</a>":</li></ul> <dl><dd> КÐТЕГОРИЯ: определÑет ID иÑточника <i>SrcID</i> в формате "<b>val{SrcID}</b>", где: <ul><li> "val*" — типовой шаблон-признак значениÑ, который может быть непоÑредÑтвенно иÑпользован в фильтре категорий Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñто Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² ÑообщениÑÑ…;</li> <li> <i>SrcID</i> — идентификатор иÑточника.</li></ul></dd> <dd> ТЕКСТ: название <i>Name</i> и значение <i>Value</i> параметра в формате "<b>{Name}: {Value}</b>".</dd></dl> <ul><li> <b><a href="Libs_Prescriptions.html#manager" title="Special:MyLanguage/Libs/Prescriptions">ИÑполнение рецептов</a></b> — генерирует ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹Ñтвий в течении иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° на предмет:</li></ul> <dl><dd> КÐТЕГОРИЯ: определÑет идентификатор пользовательÑкого рецепта-программы <i>ProgNM</i> в формате "<b>uprg{ProgNM}</b>", где: <ul><li> "uprg*" — типовой шаблон-признак пользовательÑкого рецепта-программы, который может быть непоÑредÑтвенно иÑпользован в фильтре категории Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñто пользовательÑких рецептов-программ;</li> <li> <i>ProgNM</i> — Ð¸Ð¼Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°-программы.</li></ul></dd> <dd> ТЕКСТ: опиÑание дейÑÑ‚Ð²Ð¸Ñ Ð² формате "<b>{ActDescr} "{ProgNM}" : {StartTm} : {ActTm}</b>", где: <ul><li> <i>ActDescr</i> — опиÑание дейÑтвиÑ:</li></ul> <dl><dd><ul><li> "Текущий узел отÑутÑтвует";</li> <li> "Прерванный пользователем ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹";</li> <li> "Прерванный ошибкой ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹";</li> <li> "УÑпешный ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹".</li></ul></dd></dl> <ul><li> <i>ProgNM</i> — Ð¸Ð¼Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°-программы;</li> <li> <i>StartTm</i> — Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿ÑƒÑка рецепта-программы, в формате "2020-03-14 16:05:01";</li> <li> <i>ActTm</i> — Ð²Ñ€ÐµÐ¼Ñ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð°-программы, в формате "2020-03-14 16:05:52".</li></ul></dd></dl> <h4><span class="mw-headline" id=".D0.97.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">1.5.2</span> <span id="ArchVals" title="#ArchVals">ЗначениÑ</span></span></h4> <p>Ðрхивы значений в OpenSCADA выÑтупают как незавиÑимые компоненты, которые включают буферы, обрабатываемые архиваторами. ОÑновным параметром архивов значений ÑвлÑетÑÑ Ð¸Ñточник данных, в роли которого могут выÑтупать атрибуты параметров подÑиÑтемы "Сбор Данных", а также другие внешние иÑточники данных (паÑÑивный режим). Другими иÑточниками данных могут быть Ñетевые архиваторы удалённых Ñтанций OpenSCADA, Ñреда Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSCADA и другое. </p><p>Ключевым компонентом Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ непрерывных процеÑÑов ÑвлÑетÑÑ Ð±ÑƒÑ„ÐµÑ€ значений, который предназначен Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¼Ð°ÑÑива значений, полученного Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ периодичноÑтью (квантом времени). Буфер значений иÑпользуетÑÑ Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾ÑредÑтвенного Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… маÑÑивов значений в архивах значений как перед непоÑредÑтвенным "ÑброÑом" на физичеÑкий ноÑитель, так и Ð´Ð»Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»Ñций Ñ ÐºÐ°Ð´Ñ€Ð°Ð¼Ð¸ значений, Ñ‚.е. в функциÑÑ… покадрового запроÑа значений и их Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² буфере архивов. </p><p>Ð”Ð»Ñ Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ð¸ удалённых архиваторов в раÑпределённых конфигурациÑÑ… иÑпользуетÑÑ Ñ‚Ñ€Ð°Ð½Ñпортный тип архиватора, на данный момент не реализовано в OpenSCADA. Функцией транÑпортного типа архиваторов ÑвлÑетÑÑ Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ удалённого центрального архиватора OpenSCADA в локальной конфигурации. Как ÑледÑтвие, архиваторы транÑпортного типа выполнÑÑŽÑ‚ передачу данных между локальной конфигурацией и архиватором удаленной конфигурации программы, ÑÐºÑ€Ñ‹Ð²Ð°Ñ Ð¾Ñ‚ подÑиÑтем локальной конфигурации реальную природу архиватора. </p> <h3><span class="mw-headline" id=".D0.9A.D0.BE.D0.BC.D0.BC.D1.83.D0.BD.D0.B8.D0.BA.D0.B0.D1.86.D0.B8.D0.B8.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D1.8B.22_.D0.B8_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.BD.D1.8B.D0.B5_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D1.8B.22"><span class="mw-headline-number">1.6</span> <span id="Communication" title="#Communication">Коммуникации, подÑиÑтемы "ТранÑпорты" и "ТранÑпортные протоколы"</span></span></h3> <p>ПоÑкольку OpenSCADA ÑвлÑетÑÑ Ð²Ñ‹Ñоко-маÑштабируемой то поддержка коммуникаций должна быть доÑтаточно гибкой, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ она реализована в подÑиÑтемах "ТранÑпорты" и "ТранÑпортные протоколы" (РиÑ.1.6), которые ÑвлÑÑŽÑ‚ÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ñ‹Ð¼Ð¸. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:293px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_subsys_tr_str_ru.png"><img class="thumbimage" height="296" src="files/Oscada_subsys_tr_str_ru.png" width="291" /></a> <div class="thumbcaption">РиÑ. 1.6. ИерархичеÑÐºÐ°Ñ Ñтруктура подÑиÑтемы "ТранÑпорты" и "Протоколы".</div></div></div></div> <p>ПодÑиÑтема "ТранÑпорты" предназначена Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° неÑтруктурированными данными между OpenSCADA и внешними ÑиÑтемами, в роли которых также могут выÑтупать удалённые Ñтанции OpenSCADA. Под неÑтруктурированными данными подразумеваетÑÑ Ð¿Ð¾Ñ‚Ð¾Ðº Ñимволов определённой длины. Модульным объектом, который ÑодержитÑÑ Ð² подÑиÑтеме "ТранÑпорты", выÑтупает тип транÑпорта, который и определÑет механизм передачи неÑтруктурированных данных. Ðапример, Ñто могут быть и еÑÑ‚ÑŒ: </p> <ul><li> <a href="Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">Ñокеты (TCP/UDP/UNIX)</a>;</li> <li> <a href="Modules/Serial.html" title="Special:MyLanguage/Modules/Serial">поÑледовательные интерфейÑÑ‹</a>;</li> <li> <a href="../en/Modules/SSL.html" title="Special:MyLanguage/Modules/SSL">шифрованные каналы</a>.</li></ul> <p>ПодÑиÑтема "ТранÑпорты" включает поддержку входных и выходных транÑпортов. Входные транÑпорты предназначены Ð´Ð»Ñ Ð¾Ð±ÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… запроÑов и отправки ответов. Выходные транÑпорты наоборот предназначены Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ñообщений и Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð². СоответÑтвенно входные транÑпорты Ñодержат конфигурацию локальной Ñтанции, как Ñервера проÑÐ»ÑƒÑˆÐ¸Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов, а выходные транÑпорты Ñодержат конфигурацию удалённого Ñервера, Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ. Ð¢Ð°ÐºÐ°Ñ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð½Ð° Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð³Ð¾ механизма "запроÑ-ответ", однако на данное Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ðµ и выходные транÑпорты поддерживают незавиÑимую передачу и приём данных. Модули подÑиÑтемы "ТранÑпорты" реализуют поддержку как входных, так и выходных транÑпортов. </p><p>ПодÑиÑтема "ТранÑпортные протоколы" предназначена Ð´Ð»Ñ Ñтруктуризации данных, полученных от подÑиÑтемы "ТранÑпорты", ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸ÐµÐ¼ подÑиÑтемы "ТранÑпорты", от чего имеет такое название, и оÑущеÑтвлÑет функции проверки Ñтруктуры и целоÑтноÑти полученных данных. Ð’ глобальной нотации, Ñта подÑиÑтема Ñодержит и реализует <b>КОММУÐИКÐЦИОÐÐЫЕ</b> протоколы! Ð”Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð°, вмеÑти Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼ должен работать транÑпорт, предуÑмотрено Ñпециальное конфигурационное поле. Модульным объектом, который ÑодержитÑÑ Ð² подÑиÑтеме "Протоколы", ÑвлÑетÑÑ Ñам протокол. Ðапример, транÑпортными протоколами могут быть и еÑÑ‚ÑŒ: </p> <ul><li> <a href="Modules/SelfSystem.html" title="Special:MyLanguage/Modules/SelfSystem">ÑобÑтвенный протокол OpenSCADA</a>;</li> <li> <a href="Modules/ModBus.html" title="Special:MyLanguage/Modules/ModBus">ModBus</a>;</li> <li> <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">OPC-UA</a>;</li> <li> <a href="Modules/DCON.html" title="Special:MyLanguage/Modules/DCON">DCON</a>;</li> <li> <a href="Modules/HTTP.html" title="Special:MyLanguage/Modules/HTTP">протокол передачи гипертекÑта (HTTP)</a>;</li> <li> <a href="Modules/UserProtocol.html" title="Special:MyLanguage/Modules/UserProtocol">пользовательÑкие протоколы</a>, которые реализуютÑÑ Ð² Ñамой OpenSCADA на <a href="DAQ.html#LogicLev" title="Special:MyLanguage/Documents/DAQ">логичеÑком уровне</a>, и который, Ñ Ñ€Ð°Ð·Ð²Ð¸Ñ‚Ð¸ÐµÐ¼ <a href="DAQ.html#JavaLikeCalc" title="Special:MyLanguage/Documents/DAQ">внутреннего Ñзыка</a>, Ñтал приоритетным.</li></ul> <p>Полную поÑледовательноÑÑ‚ÑŒ ÑеанÑа входной ÑвÑзи Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ñ‹Ñ… протоколов режима "запроÑ-ответ" можно запиÑать Ñледующим образом: </p> <ul><li> внешнÑÑ ÑиÑтема подключаетÑÑ ÐºÐ¾ входному транÑпорту;</li> <li> Ñообщение от внешней ÑиÑтемы поÑтупает транÑпорту;</li> <li> транÑпорт передаёт Ñообщение ÑвÑзанному Ñ Ð½Ð¸Ð¼ протоколу путём ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ объекта протокола;</li> <li> протокол проверÑет целоÑтноÑÑ‚ÑŒ данных;</li> <li> еÑли пришли вÑе данные то Ñообщить транÑпорту про прекращение Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… и передать ему ответ иначе Ñообщить, что нужно ожидать ещё;</li> <li> транÑпорт, получив подтверждение, отправлÑет ответ и удалÑет объект протокола, еÑли Ñто не режим ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ;</li> <li> еÑли Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½ÐµÑ‚ то транÑпорт продолжает ожидание данных и в Ñлучае их поÑÑ‚ÑƒÐ¿Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‘Ñ‚ Ñохранённому объекту протокола.</li></ul> <p>Протоколы также поддерживаютÑÑ Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… транÑпортов и берут на ÑÐµÐ±Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ Ñ‚Ñ€Ð°Ð½Ñпортом и реализацию оÑобенноÑтей Ñтих протоколов, при подготовке данных к передаче и разборе ответов. Внешний Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð¾Ñтупа к протоколам, из кода других модулей и Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSCADA, реализуетÑÑ Ð² XML дереве Ñ ÑобÑтвенной Ñтруктурой Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ протокольного модулÑ. Такой механизм позволÑет выполнÑÑ‚ÑŒ прозрачный доÑтуп к внешним ÑиÑтемам, поÑредÑтвом транÑпортов, проÑто ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ Ð¸Ð¼Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ которого обÑлуживать передачу. </p><p>Transports have a possibility to holding additional parameters, whose can be parameters of used protocols, that is protocols can be individually configured to each connection. [<span style="color: red">PLAN</span>] In further this function will be used for the wrapping protocols. </p><p>Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ñтандартному доÑтупу к транÑпортам в OpenSCADA, можно легко менÑÑ‚ÑŒ ÑпоÑоб обмена данными не Ð·Ð°Ñ‚Ñ€Ð°Ð³Ð¸Ð²Ð°Ñ Ñамих программ, которые обмениваютÑÑ. Ðапример, в Ñлучае локального обмена, можно иÑпользовать более быÑтрый транÑпорт на оÑнове UNIX-Ñокетов, а в Ñлучае обмена через интернет и локальную Ñеть иÑпользовать TCP- или UDP-Ñокеты. </p> <h3><span class="mw-headline" id=".D0.98.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.8B_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.98.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.8B_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F.22"><span class="mw-headline-number">1.7</span> ИнтерфейÑÑ‹ пользователÑ, подÑиÑтема "ИнтерфейÑÑ‹ пользователÑ"</span></h3> <p>SCADA-ÑиÑтемы, как клаÑÑ, предуÑматривают наличие интерфейÑов пользователÑ. Ð’ OpenSCADA Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких интерфейÑов предуÑмотрена подÑиÑтема "ПользовательÑкие интерфейÑÑ‹" под которой предуÑматриваетÑÑ Ð½Ðµ только Ñреда визуализации, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ должен работать конечный пользователÑ, но и вÑÑ‘, что имеет отношение к пользователю, например: </p> <ul><li> Среда визуализации: <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">Движок Среды Визуализации</a>, визуализаторы <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Qt</a> и <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">Web</a>;</li> <li> Конфигураторы: <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">Qt</a> и <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">Web</a>;</li> <li> Сигнализаторы.</li></ul> <p>ПодÑиÑтема "ПользовательÑкие интерфейÑÑ‹" ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и её модульным объектом выÑтупает ÑобÑтвенно конкретный Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ. МодульноÑÑ‚ÑŒ подÑиÑтемы позволÑет Ñоздавать различные интерфейÑÑ‹ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° разных GUI/TUI библиотеках и иÑпользовать наиболее оптимальное Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð² конкретно взÑтом Ñлучае, например, Ð´Ð»Ñ Ñреды иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ… логичеÑких контроллеров можно иÑпользовать конфигураторы и визуализаторы на оÑнове Web-технологий (<a href="Modules/WebCfg.html" title="Special:MyLanguage/Modules/WebCfg">WebCfg</a>, <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">WebCfgD</a>, <a href="Modules/WebVision.html" title="Special:MyLanguage/Modules/WebVision">WebVision</a>, <a href="Modules/WebUser.html" title="Special:MyLanguage/Modules/WebUser">WebUser</a>), а в Ñлучае Ñтационарных рабочих Ñтанций иÑпользовать те-же конфигураторы и визуализаторы, но на оÑнове библиотек вроде Qt (<a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">QTCfg</a>, <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">Vision</a>). </p> <h3><span class="mw-headline" id="Security_of_the_program.2C_the_subsystem_.22Security.22"><span class="mw-headline-number">1.8</span> Security of the program, the subsystem "Security"</span></h3> <p>OpenSCADA is a ramified program that consists of a dozen subsystems and can include many modules. Therefore, giving everyone unlimited access to these resources is reckless, to say the least. In order to differentiate access, OpenSCADA provides the subsystem "Security" whose main functions are: </p> <ul><li> storing user accounts and user groups;</li> <li> authentication of users;</li> <li> verifying access rights to a particular resource.</li></ul> <p>Besides this subsystem, the <a href="../en/API.html#CntrNode" title="Special:MyLanguage/Documents/API">Control Interface</a> also provides of the access checking per the control items and with logical dividing the permissions per subsystems for which there are automatically created the system groups, including this one — "Security". Currently any Control Node (TCntrNode) can have own access permition (ACL) which the Control Interface can use or save the compatibility before switching to it, and with saving the initial permissions on the subsystem root like to "root:DAQ"-0775. </p><p>Due to ACL is not obligatory or significant in many tasks, its specifying is integrated to point in the description fields of work nodes as a line of the ACL rule — "<b>ACL: {owner}[:{group}[:{perm}]]</b>", where: </p> <ul><li> <i>owner</i> — owner of the resource;</li> <li> <i>group</i> — group of the resource;</li> <li> <i>perm</i> — permition of the resource whether in the symbol representing (RWXRWXRWX) or by the octal number (0777).</li></ul> <p>Currently ACL is supported by: </p> <ul><li> the <a href="#CfgDAQ">DAQ subsystem</a> for Controller and Parameter Objects, DAQ-Templates and by the <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">OPC-UA module</a> in the protocol part for checking permition of the authenticated user, where: <ul><li> <i>Rd (04)</i> — reading both the Control Nodes and the Parameter Attributes;</li> <li> <i>Wr (02)</i> — writing (also creating and removing) the Control Nodes;</li> <li> <i>Xt (01)</i> — execution-writing to the Parameter Attribute.</li></ul></li></ul> <h3><span class="mw-headline" id=".D0.A3.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.8F.D0.BC.D0.B8.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.94.D0.B8.D1.81.D0.BF.D0.B5.D1.82.D1.87.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D0.B5.D0.B9.22"><span class="mw-headline-number">1.9</span> Управление модулÑми, подÑиÑтема "ДиÑпетчер модулей"</span></h3> <p>OpenSCADA поÑтроена по модульному принципу, что предуÑматривает наличие множеÑтва модулей, которые нужно контролировать и планировать доÑтупноÑÑ‚ÑŒ, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ предуÑмотрена подÑиÑтема "ДиÑпетчер модулей". Ð’Ñе модули на данное Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑтавлÑÑŽÑ‚ÑÑ Ð² программу поÑредÑтвом разделÑемых библиотек(контейнеров) или вÑтраиваютÑÑ Ð¿Ñ€Ñмо в библиотеку Ñдра OpenSCADA. Каждый контейнер может Ñодержать множеÑтво модулей различного типа ÑоглаÑно их логичеÑкой ÑвÑзноÑти. </p><p>ПодÑиÑтема "ДиÑпетчер модулей" реализует контроль за ÑоÑтоÑнием контейнеров и позволÑет оÑущеÑтвлÑÑ‚ÑŒ "горÑчее" добавление, удаление и обновление контейнеров и модулей, которые он Ñодержит. </p> <h3><span class="mw-headline" id=".D0.9D.D0.B5.D0.BF.D1.80.D0.B5.D0.B4.D1.83.D1.81.D0.BC.D0.BE.D1.82.D1.80.D0.B5.D0.BD.D0.BD.D1.8B.D0.B5_.D0.B2.D0.BE.D0.B7.D0.BC.D0.BE.D0.B6.D0.BD.D0.BE.D1.81.D1.82.D0.B8.2C_.D0.BF.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.BF.D0.B5.D1.86.D0.B8.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5.22"><span class="mw-headline-number">1.10</span> ÐепредуÑмотренные возможноÑти, подÑиÑтема "Специальные"</span></h3> <p>Очевидно, что невозможно предуÑмотреть вÑе нужные функции и функции, которые могут понадобитьÑÑ Ð² будущем, поÑтому в OpenSCADA предуÑмотрена подÑиÑтема "Специальные", ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и предназначена Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÐ¿Ñ€ÐµÐ´ÑƒÑмотренных функций путём модульного раÑширениÑ. Ðапример, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтой подÑиÑтемы могут быть и реализованы: </p> <ul><li> <a href="Modules/SystemTests.html" title="Special:MyLanguage/Modules/SystemTests">теÑÑ‚Ñ‹ OpenSCADA и её модулей</a>;</li> <li> библиотеки функций пользовательÑкого программированиÑ: <a href="Modules/FLibSYS.html" title="Special:MyLanguage/Modules/FLibSYS">функции ÑиÑтемного API</a>, <a href="Modules/FLibMath.html" title="Special:MyLanguage/Modules/FLibMath">математичеÑкие функции</a>.</li></ul> <h3><span class="mw-headline" id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8.2C_.D0.BE.D0.B1.D1.8A.D0.B5.D0.BA.D1.82.D0.BD.D0.B0.D1.8F_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C_.D0.B8_.D1.81.D1.80.D0.B5.D0.B4.D0.B0_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F"><span class="mw-headline-number">1.11</span> Функции, Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ и Ñреда Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ</span></h3> <p>Ð¡Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ SCADA ÑиÑтема должна Ñодержать механизмы которые предоÑтавлÑÑŽÑ‚ возможноÑÑ‚ÑŒ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° пользовательÑком уровне, Ñ‚.е. — Ñреду Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ. OpenSCADA Ñодержит такое окружение и Ñ ÐµÐ³Ð¾ помощью можно реализовывать: </p> <ul><li> алгоритмы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкими процеÑÑами;</li> <li> большие динамичеÑкие модели реального времени и тренажёры технологичеÑких, химичеÑких, физичеÑких и других процеÑÑов;</li> <li> адаптивные механизмы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ моделÑм;</li> <li> пользовательÑкие процедуры ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ð¼Ð¸ функциÑми программы, её подÑиÑтемами и модулÑми;</li> <li> гибкое формирование Ñтруктур параметров <a href="#DAQ">подÑиÑтемы "Сбор Данных"</a> Ñ Ñ†ÐµÐ»ÑŒÑŽ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² неÑтандартной Ñтруктуры и Ð½Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ñ… по алгоритму пользователÑ; процедуры и протоколы Ñбора данных ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ;</li> <li> вÑпомогательные вычиÑлениÑ.</li></ul> <p>Среда Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑтавлÑет Ñобой ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ ÑредÑтв, которые организуют вычиÑлительное окружение Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² ÑоÑтав которого входÑÑ‚: </p> <ul><li> <a href="User_API.html" title="Special:MyLanguage/Documents/User API">Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ</a>;</li> <li> модули библиотек функций;</li> <li> внутренние Ñзыки программированиÑ, на данный момент:</li></ul> <p><a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc</a>, <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">BlockCalc</a>; </p> <ul><li> динамичеÑкие вычиÑлениÑ: объекты вычиÑлительных контроллеров <a href="#DAQ">подÑиÑтемы "Сбор данных"</a>, <a href="DAQ.html#UserPrt" title="Special:MyLanguage/Documents/DAQ">процедуры и протоколы Ñбора данных ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ</a>, процедуры виджетов "<a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">Среды Визуализации и УправлениÑ</a>" и другое.</li></ul> <p>Модули библиотек функций предоÑтавлÑÑŽÑ‚ ÑтатичеÑкие функции определённой направленноÑти, которые раÑширÑÑŽÑ‚ объектную модель программы и предÑтавлÑÑŽÑ‚ Ñобой Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð¾Ñтупа к ÑредÑтвам Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð½Ð° уровне пользователÑ. Ðапример, "<a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">Среда Визуализации и УправлениÑ</a>" может предоÑтавлÑÑ‚ÑŒ функции Ð´Ð»Ñ Ð²Ñ‹Ð´Ð°Ñ‡Ð¸ различных Ñообщений, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ пользователь может реализовывать интерактивные алгоритмы взаимодейÑÑ‚Ð²Ð¸Ñ Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹. Библиотеки функций в целом могут реализовыватьÑÑ ÐºÐ°Ðº набором функций фикÑированного типа — ÑтатичеÑкие, так и функциÑми, которые допуÑкают Ñвободную модификацию и дополнение — динамичеÑкие. </p><p>Библиотеки функций Ñвободного типа (динамичеÑкие) предоÑтавлÑÑŽÑ‚ Ñреду напиÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких функций на одном из Ñзыков программированиÑ, на данный момент Ñто Ñзык похожий на Java, который реализуетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">DAQ.JavaLikeCalc</a>. Таким образом можно Ñоздавать библиотеки аппаратов технологичеÑких процеÑÑов и многих других, а далее иÑпользовать их путём ÑвÑзываниÑ. </p><p>Ðа оÑнове функций, которые предоÑтавлÑÑŽÑ‚ÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð½Ð¾Ð¹ моделью, ÑтроÑÑ‚ÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ вычиÑлительных контроллеров, которые оÑущеÑтвлÑÑŽÑ‚ ÑвÑзывание функций Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ программы и механизмом вычиÑлениÑ. Также пишутÑÑ <a href="DAQ.html#UserPrt" title="Special:MyLanguage/Documents/DAQ">процедуры и протоколы Ñбора данных ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ</a>, процедуры виджетов "<a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">Среды Визуализации и УправлениÑ</a>" и много другого. </p> <h2><span class="mw-headline" id="SCADA_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B_.D0.B8_.D0.B8.D1.85_.D1.81.D1.82.D1.80.D1.83.D0.BA.D1.82.D1.83.D1.80.D0.B0"><span class="mw-headline-number">2</span> SCADA ÑиÑтемы и их Ñтруктура</span></h2> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:471px;"><a class="image" href="http://oscada.org/wiki/File:Scada_ru.png"><img class="thumbimage" height="771" src="files/Scada_ru.png" width="469" /></a> <div class="thumbcaption">РиÑ. 2. ИерархичеÑÐºÐ°Ñ SCADA-ÑиÑтема.</div></div></div></div> <p>SCADA (Supervisory Control And Data Acquisition) в общем виде имеют раÑпределённую архитектуру вроде изображённой на риÑунке 2. Ðлементы SCADA ÑиÑтем, в ÑмыÑле программного обеÑпечениÑ, выполнÑÑŽÑ‚ Ñледующие функции:<br /> <b>Сервер Ñбора:</b> предÑтавлÑет Ñобой задачу или группу задач, занимающихÑÑ Ñбором данных из иÑточников данных, или же Ñам выÑтупает в роли иÑточника данных. Ð’ задачи Ñервера входит: </p> <ul><li> получение и/или формирование данных;</li> <li> обработка данных;</li> <li> обÑлуживание запроÑов на доÑтуп к данным;</li> <li> обÑлуживание запроÑов на модификацию данных.</li></ul> <p><b>Сервер архивированиÑ-иÑтории:</b> предÑтавлÑет Ñобой задачу или группу задач, занимающихÑÑ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ данных или ведением их иÑтории. Ð’ задачи Ñервера входит: </p> <ul><li> архивирование или ведение иÑтории данных SCADA-ÑиÑтем;</li> <li> обÑлуживание запроÑов на доÑтуп к архивным данным или иÑтории;</li> <li> импорт/ÑкÑпорт архивов-иÑтории.</li></ul> <p><b>Сервер протоколированиÑ:</b> предÑтавлÑет Ñобой задачу или группу задач, занимающихÑÑ Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ Ñообщений или ведением их иÑтории. Ð’ задачи Ñервера входит: </p> <ul><li> архивирование или ведение иÑтории Ñообщений SCADA-ÑиÑтем;</li> <li> обÑлуживание запроÑов на доÑтуп к архивным ÑообщениÑм или иÑтории;</li> <li> импорт/ÑкÑпорт архивов-иÑтории.</li></ul> <p><b>Сервер Ñигнализации:</b> предÑтавлÑет Ñобой задачу или группу задач, выполнÑющих функции Ñервера Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² отношении узкой категории Ñообщений Ñигнализации.<br /> <b>Рабочее меÑто оператора:</b> предÑтавлÑет Ñобой поÑтоÑнно функционирующее GUI(Grafical User Interface) приложение, выполненное в одномониторном, многомониторном или панельном режиме и выполнÑющее функции: </p> <ul><li> предоÑтавление пользовательÑкого интерфейÑа Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð·Ð° ÑоÑтоÑнием технологичеÑкого процеÑÑа;</li> <li> предоÑтавление возможноÑти Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñющих воздейÑтвий;</li> <li> предоÑтавление возможноÑти Ð¸Ð·ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸ анализа иÑтории технологичеÑкого процеÑÑа;</li> <li> предоÑтавление инÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ документации.</li></ul> <p><b>Рабочее меÑто инженера:</b> предÑтавлÑет Ñобой GUI приложение, иÑпользуемое Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ SCADA ÑиÑтем. Ð’ задачи Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð¸Ñ‚: </p> <ul><li> предоÑтавление инÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»Ñции ÑиÑтемными функциÑми программы;</li> <li> предоÑтавление инÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ меÑта оператора;</li> <li> предоÑтавление инÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»Ñции раÑпределёнными Ñетевыми архитектурами SCADA ÑиÑтем в целом (раÑпределение функций между ÑтанциÑми, Ñоздание и удаление Ñтанций ... ).</li></ul> <p><b>Рабочее меÑто руководителÑ:</b> предÑтавлÑет Ñобой GUI приложение, как правило выполненное в одномониторном режиме, выполнÑющее функции: </p> <ul><li> предоÑтавление пользовательÑкого интерфейÑа Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð·Ð° ÑоÑтоÑнием технологичеÑких процеÑÑов;</li> <li> предоÑтавление инÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð´Ð»Ñ Ð¸Ð·ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸ анализа иÑтории технологичеÑких процеÑÑов как непоÑредÑтвенно Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ñ… Ñерверов, так и на оÑнове отдельных архивов;</li> <li> предоÑтавление инÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð½Ð¾Ð¹ документации.</li></ul> <p><b>Рабочее меÑто технолога:</b> полноÑтью включает в ÑÐµÐ±Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ рабочего меÑта оператора Ð¿Ð»ÑŽÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ технологичеÑких процеÑÑов (без непоÑредÑтвенной ÑвÑзи Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑким процеÑÑом).<br /> <b>Рабочее меÑто технолога-программиÑта:</b> полноÑтью включает в ÑÐµÐ±Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ рабочего меÑта технолога Ð¿Ð»ÑŽÑ Ð¸Ð½Ñтрументарий Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ технологичеÑких процеÑÑов. </p> <h2><span class="mw-headline" id=".D0.92.D0.B0.D1.80.D0.B8.D0.B0.D0.BD.D1.82.D1.8B_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B8_.D0.B8_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">3</span> Варианты конфигурации и иÑпользованиÑ</span></h2> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.BE.D0.B5_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5"><span class="mw-headline-number">3.1</span> ПроÑтое Ñерверное подключение</span></h3> <p>Ð’ проÑтейшем Ñлучае OpenSCADA можно Ñконфигурировать в Ñерверном режиме (РиÑ.3.1) Ð´Ð»Ñ Ñбора и Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…. Ð”Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет выполнÑÑ‚ÑŒ Ñледующие функции: </p> <ul><li> Ð¾Ð¿Ñ€Ð¾Ñ Ð¸Ñточников данных (контроллеров);</li> <li> архивирование значений параметров иÑточников данных;</li> <li> обÑлуживание клиентÑких запроÑов на получение различных данных Ñервера;</li> <li> предоÑтавление конфигурационного WEB-интерфейÑа;</li> <li> ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸Ð· OpenSCADA, поÑредÑтвом Qt или другого локального интерфейÑа.</li> <li> вторичное регулирование — регулирование в объектах вычиÑлительных контроллеров;</li> <li> моделирующие, корректирующие и дополнÑющие в объектах вычиÑлительных контроллеров.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:397px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_simple_server_ru.png"><img class="thumbimage" height="253" src="files/Oscada_simple_server_ru.png" width="395" /></a> <div class="thumbcaption">РиÑ. 3.1. ПроÑтое Ñерверное подключение.</div></div></div></div> <h3><span class="mw-headline" id=".D0.94.D1.83.D0.B1.D0.BB.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.BE.D0.B5_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5"><span class="mw-headline-number">3.2</span> Дублированное Ñерверное подключение</span></h3> <p>Ð”Ð»Ñ Ð¿Ð¾Ð²Ñ‹ÑˆÐµÐ½Ð¸Ñ Ð½Ð°Ð´Ñ‘Ð¶Ð½Ð¾Ñти и производительноÑти OpenSСADA допуÑкает множеÑтвенное резервирование (РиÑ.3.2), при котором иÑточники данных (контроллеры) и архивы-иÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑкземплÑра отражаютÑÑ Ð² другом. При иÑпользовании подобной конфигурации возможно раÑпределение нагрузки опроÑа/вычиÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾ различным ÑтанциÑм. Ð”Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет выполнÑÑ‚ÑŒ функции: </p> <ul><li> Ð¾Ð¿Ñ€Ð¾Ñ Ð¸Ñточников данных (контроллеров);</li> <li> архивирование значений параметров иÑточников данных;</li> <li> обÑлуживание клиентÑких запроÑов на получение различных данных Ñервера;</li> <li> резервирование параметров иÑточников данных;</li> <li> резервирование архивов-иÑтории;</li> <li> раÑпределение нагрузки опроÑа по Ñерверам;</li> <li> предоÑтавление конфигурационного WEB интерфейÑа;</li> <li> вторичное регулирование — регулирование в объектах вычиÑлительных контроллеров;</li> <li> моделирующие, корректирующие и дополнÑющие вычиÑÐ»ÐµÐ½Ð¸Ñ Ð² объектах вычиÑлительных контроллеров Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñтью раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ по Ñерверам.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:793px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_duplicated_server_ru.png"><img class="thumbimage" height="257" src="files/Oscada_duplicated_server_ru.png" width="791" /></a> <div class="thumbcaption">РиÑ. 3.2. Дублированное Ñерверное подключение.</div></div></div></div> <h3><span class="mw-headline" id=".D0.94.D1.83.D0.B1.D0.BB.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BD.D0.BE.D0.B5_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D0.B0_.D0.BE.D0.B4.D0.BD.D0.BE.D0.BC_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B5"><span class="mw-headline-number">3.3</span> Дублированное Ñерверное подключение на одном Ñервере</span></h3> <p>ЧаÑтным Ñлучаем дублированного Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑвлÑетÑÑ Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ в рамках одного Ñервера (РиÑ.3.3), Ñ‚.е. запуÑк неÑкольких Ñтанций на одной машине Ñ Ð¿ÐµÑ€ÐµÐºÑ€ÐµÑ‰Ð¸Ð²Ð°Ð½Ð¸ÐµÐ¼ параметров. Целью данной конфигурации ÑвлÑетÑÑ Ð¿Ð¾Ð²Ñ‹ÑˆÐµÐ½Ð¸Ðµ надёжноÑти и отказоуÑтойчивоÑти конфигурации, путём Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐŸÐž. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:793px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_duplicated_one_server_ru.png"><img class="thumbimage" height="272" src="files/Oscada_duplicated_one_server_ru.png" width="791" /></a> <div class="thumbcaption">РиÑ. 3.3. Дублированное Ñерверное подключение на одном Ñервере.</div></div></div></div> <h3><span class="mw-headline" id=".D0.9A.D0.BB.D0.B8.D0.B5.D0.BD.D1.82.D1.81.D0.BA.D0.B8.D0.B9_.D0.B4.D0.BE.D1.81.D1.82.D1.83.D0.BF_.D0.BF.D0.BE.D1.81.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B2.D0.BE.D0.BC_Web-.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D0.B0._.D0.9C.D0.B5.D1.81.D1.82.D0.BE_.D1.80.D1.83.D0.BA.D0.BE.D0.B2.D0.BE.D0.B4.D0.B8.D1.82.D0.B5.D0.BB.D1.8F"><span class="mw-headline-number">3.4</span> КлиентÑкий доÑтуп поÑредÑтвом Web-интерфейÑа. МеÑто руководителÑ</span></h3> <p>Ð”Ð»Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ данных, ÑодержащихÑÑ Ð½Ð° Ñервере, хорошим решением ÑвлÑетÑÑ Ð¸Ñпользование пользовательÑкого WEB-интерфейÑа (РиÑ.3.4). Данное решение позволÑет иÑпользовать Ñтандартный WEB-браузер у клиента и Ñледовательно ÑвлÑетÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ гибким, поÑкольку не привÑзано к одной платформе, Ñ‚.е. ÑвлÑетÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼ÐµÐ½Ð½Ñ‹Ð¼. Однако Ñто решение имеет ÑущеÑтвенные недоÑтатки – Ñто невыÑÐ¾ÐºÐ°Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ÑÑ‚ÑŒ и надёжноÑÑ‚ÑŒ. Ð’ ÑвÑзи Ñ Ñтим рекомендуетÑÑ Ð¸Ñпользовать данный метод Ð´Ð»Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ некритичных данных или данных, имеющих резервный выÑоконадёжный ÑпоÑоб визуализации. Ðапример, хорошим решением будет иÑпользование Ñтого метода у начальÑтва промышленных уÑтановок, где вÑегда ÑущеÑтвует операторÑÐºÐ°Ñ Ñ Ð½Ð°Ð´Ñ‘Ð¶Ð½Ñ‹Ð¼ ÑпоÑобом визуализации. Ð”Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет выполнÑÑ‚ÑŒ Ñледующие функции: </p> <ul><li> Ð¾Ð¿Ñ€Ð¾Ñ Ñервера на предмет Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… визуализации и конфигурации;</li> <li> Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… в доÑтупном Ð´Ð»Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´Ðµ;</li> <li> формирование протоколов, отчётов;</li> <li> манипулÑÑ†Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸, допуÑкающими изменение.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:537px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_for_wwwclient_ru.png"><img class="thumbimage" height="251" src="files/Oscada_for_wwwclient_ru.png" width="535" /></a> <div class="thumbcaption">РиÑ. 3.4. КлиентÑкий доÑтуп поÑредÑтвом Web-интерфейÑа. МеÑто руководителÑ.</div></div></div></div> <h3><span class="mw-headline" id=".D0.90.D0.B2.D1.82.D0.BE.D0.BC.D0.B0.D1.82.D0.B8.D0.B7.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_.D1.80.D0.B0.D0.B1.D0.BE.D1.87.D0.B5.D0.B5_.D0.BC.D0.B5.D1.81.D1.82.D0.BE_.28.D0.BC.D0.B5.D1.81.D1.82.D0.BE_.D1.80.D1.83.D0.BA.D0.BE.D0.B2.D0.BE.D0.B4.D0.B8.D1.82.D0.B5.D0.BB.D1.8F.2F.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D0.B0.29"><span class="mw-headline-number">3.5</span> Ðвтоматизированное рабочее меÑто (меÑто руководителÑ/оператора)</span></h3> <p>Ð”Ð»Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ критичеÑких данных, а также в Ñлучае еÑли требуетÑÑ Ð²Ñ‹Ñокое качеÑтво и производительноÑÑ‚ÑŒ, можно иÑпользовать визуализацию на оÑнове OpenSCADA, Ñконфигурированной Ñ GUI модулем (РиÑ.3.5). Ð”Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет выполнÑÑ‚ÑŒ Ñледующие функции: </p> <ul><li> Ð¾Ð¿Ñ€Ð¾Ñ Ñервера на предмет Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ… значений;</li> <li> Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ñ… данных в доÑтупном Ð´Ð»Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´Ðµ;</li> <li> формирование протоколов и отчётов;</li> <li> манипулÑÑ†Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸, допуÑкающими изменениÑ.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:647px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_clientserver_AWP_ru.png"><img class="thumbimage" height="273" src="files/Oscada_clientserver_AWP_ru.png" width="645" /></a> <div class="thumbcaption">РиÑ. 3.5. Ðвтоматизированное рабочее меÑто (меÑто руководителÑ/оператора).</div></div></div></div> <h3><span class="mw-headline" id=".D0.90.D0.A0.D0.9C_.D1.81_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.BE.D0.BC_.D1.81.D0.B1.D0.BE.D1.80.D0.B0_.D0.B8_.D0.B0.D1.80.D1.85.D0.B8.D0.B2.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BD.D0.B0_.D0.BE.D0.B4.D0.BD.D0.BE.D0.B9_.D0.BC.D0.B0.D1.88.D0.B8.D0.BD.D0.B5_.28.D0.BC.D0.B5.D1.81.D1.82.D0.BE_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D0.B0.2C_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C-.D1.82.D1.80.D0.B5.D0.BD.D0.B0.D0.B6.D1.91.D1.80_....29"><span class="mw-headline-number">3.6</span> ÐÐ Ðœ Ñ Ñервером Ñбора и Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° одной машине (меÑто оператора, модель-тренажёр ...)</span></h3> <p>ÐŸÐ¾Ð»Ð½Ð¾Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚-ÑÐµÑ€Ð²ÐµÑ€Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ð° одной машине (РиÑ.3.6) может иÑпользоватьÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‹ÑˆÐµÐ½Ð¸Ñ Ð½Ð°Ð´Ñ‘Ð¶Ð½Ð¾Ñти конфигурации в целом путём запуÑка клиента и Ñервера в разных процеÑÑах. Ð”Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет без поÑледÑтвий Ð´Ð»Ñ Ñервера оÑтанавливать клиент и выполнÑÑ‚ÑŒ Ñ Ð½Ð¸Ð¼ различные профилактичеÑкие работы. РекомендуетÑÑ Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° ÑтанциÑÑ… оператора путём уÑтановки двух машин, Ñовмещающих в Ñебе Ñтанции оператора и резервированный Ñервер. Ð”Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет выполнÑÑ‚ÑŒ Ñледующие функции: </p> <ul><li> Ð¾Ð¿Ñ€Ð¾Ñ Ð¸Ñточников данных (контроллеров);</li> <li> обÑлуживание клиентÑких запроÑов;</li> <li> визуализациÑ;</li> <li> выдача управлÑющих воздейÑтвий;</li> <li> Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð¾Ð² и отчётов;</li> <li> вторичное регулирование;</li> <li> моделирующие, корректирующие и дополнительные вычиÑÐ»ÐµÐ½Ð¸Ñ Ð² объектах вычиÑлительных контроллеров;</li> <li> Ñбор и Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о перÑональном компьютере, Ñервере ... .</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:647px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_clientserver_AWP_one_ru.png"><img class="thumbimage" height="299" src="files/Oscada_clientserver_AWP_one_ru.png" width="645" /></a> <div class="thumbcaption">РиÑ. 3.6. ÐÐ Ðœ Ñ Ñервером Ñбора и Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° одной машине (меÑто оператора, модель-тренажер ...).</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.B5.D0.B9.D1.88.D0.B5.D0.B5_.D1.81.D0.BC.D0.B5.D1.88.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.28.D0.BC.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C.2C_.D0.B4.D0.B5.D0.BC.D0.BE.D0.BD.D1.81.D1.82.D1.80.D0.B0.D1.86.D0.B8.D1.8F.2C_.D1.82.D1.80.D0.B5.D0.BD.D0.B0.D0.B6.D1.91.D1.80.2C_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.82.D0.BE.D1.80_....29"><span class="mw-headline-number">3.7</span> ПроÑтейшее Ñмешанное подключение (модель, демонÑтрациÑ, тренажёр, конфигуратор ...)</span></h3> <p>Смешанное подключение Ñовмещает функции Ñервера и клиента (РиÑ.3.7). Может иÑпользоватьÑÑ Ð´Ð»Ñ Ñ‚ÐµÑтовых, демонÑтрационных функций, а также Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ и тренажёров технологичеÑких процеÑÑов как единое целое. Ð’ Ñтом режиме могут выполнÑÑ‚ÑŒÑÑ Ñледующие функции: </p> <ul><li> Ð¾Ð¿Ñ€Ð¾Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð»ÐµÑ€Ð¾Ð²;</li> <li> обÑлуживание клиентÑких запроÑов;</li> <li> визуализациÑ;</li> <li> выдача управлÑющих воздейÑтвий;</li> <li> Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð¾Ð² и отчётов;</li> <li> вторичное регулирование;</li> <li> моделирующие, корректирующие и дополнÑющие вычиÑÐ»ÐµÐ½Ð¸Ñ Ð² вычиÑлительных контроллерах;</li> <li> Ñбор и Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ информации о перÑональном компьютере, Ñервере, модели ... ;</li> <li> ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð±Ð°Ð· данных, подключений и др.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:394px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_misc_ru.png"><img class="thumbimage" height="303" src="files/Oscada_misc_ru.png" width="392" /></a> <div class="thumbcaption">РиÑ. 3.7. ПроÑтейшее Ñмешанное подключение (модель, демонÑтрациÑ, конфигуратор ...).</div></div></div></div> <h3><span class="mw-headline" id=".D0.A3.D1.81.D1.82.D0.BE.D0.B9.D1.87.D0.B8.D0.B2.D0.B0.D1.8F_.D1.80.D0.B0.D1.81.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D1.91.D0.BD.D0.BD.D0.B0.D1.8F_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F"><span class="mw-headline-number">3.8</span> УÑÑ‚Ð¾Ð¹Ñ‡Ð¸Ð²Ð°Ñ Ñ€Ð°ÑÐ¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ</span></h3> <p>Ð”Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ из вариантов уÑтойчивого-надёжного ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (РиÑ.3.8). УÑтойчивоÑÑ‚ÑŒ доÑтигаетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ по: </p> <ul><li> Ñерверам опроÑа;</li> <li> центральному Ñерверу Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ обÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñких запроÑов;</li> <li> клиентам: ÐРМы и WEB-клиенты.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:770px;"><a class="image" href="http://oscada.org/wiki/File:Oscada_distrib_conn_ru.png"><img class="thumbimage" height="518" src="files/Oscada_distrib_conn_ru.png" width="768" /></a> <div class="thumbcaption">РиÑ. 3.8. УÑÑ‚Ð¾Ð¹Ñ‡Ð¸Ð²Ð°Ñ Ñ€Ð°ÑÐ¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ.</div></div></div></div> <p>Сервер опроÑа конфигурируетÑÑ Ð½Ð° оÑнове OpenSCADA и предÑтавлÑет Ñобой задачу или группу задач, занимающихÑÑ Ñбором данных — опроÑом контроллера или группы контроллеров одного типа. Полученные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупны центральному Ñерверу через любой транÑпорт поддержка которого добавлÑетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑоответÑтвующего Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ‚Ñ€Ð°Ð½Ñпорта. Ð”Ð»Ñ ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñтоты опроÑа и величины Ñетевого трафика, Ñервер опроÑа может оÑнащатьÑÑ Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ архивом значений. ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñервера опроÑа хранитÑÑ Ð² одной из доÑтупных БД. </p><p>Центральный Ñервер Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ обÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñких запроÑов выполнÑет функцию централизованного Ñбора и обработки параметров Ñерверов опроÑа и их значений. ДоÑтуп к Ñерверам опроÑа выполнÑетÑÑ Ð¿Ð¾ÑредÑтвом одного из доÑтупных в OpenSCADA транÑпортов+протоколов (на примере Ñто <a href="Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">Sockets</a>). Ð”Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¾Ð³Ð¾ интерфейÑа доÑтупа к параметрам и контроллерам иÑпользуетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a>, который отражает данные Ñерверов опроÑа на Ñтруктуру локальных параметров Ñбора данных. </p><p>Ð”Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ñ… вычиÑлений и дополнительного анализа параметров иÑпользуютÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ вычиÑлительных контроллеров. </p><p>Ð”Ð»Ñ Ñ€Ð°Ð·Ð½Ð¾Ñтороннего и глубокого Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ÑпользуютÑÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ модули архивов-иÑтории. </p><p>Ð”Ð»Ñ Ð´Ð¾Ñтупа клиентов к Ñерверу иÑпользуютÑÑ Ð´Ð¾Ñтупные у OpenSCADA Ñетевые транÑпорты, на примере — <a href="Modules/Sockets.html" title="Special:MyLanguage/Modules/Sockets">Sockets</a>; и транÑпортные протоколы, на примере — протокол OpenSCADA "<a href="Modules/SelfSystem.html" title="Special:MyLanguage/Modules/SelfSystem">SelfSystem</a>". </p><p>ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñервера хранитÑÑ Ð² одной из доÑтупных БД (на примере Ñто ÑÐµÑ‚ÐµÐ²Ð°Ñ <a href="Modules/MySQL.html" title="Special:MyLanguage/Modules/MySQL">СУБД MySQL</a>). </p><p>Ð”Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого WEB-интерфейÑа иÑпользуетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">WebCfgD</a> поÑредÑтвом транÑпортного протокола "<a href="Modules/HTTP.html" title="Special:MyLanguage/Modules/HTTP">HTTP</a>". </p><p>Различные клиенты, в их чиÑле ÐÐ Ðœ и WEB-клиенты, выполнÑÑŽÑ‚ÑÑ Ð½Ð° отдельных машинах в необходимом количеÑтве. ÐÐ Ðœ реализуетÑÑ Ð½Ð° оÑнове OpenSCADA. Ð’ его функции входит Ð¾Ð¿Ñ€Ð¾Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ параметров из центрального Ñервера и их Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° GUI интерфейÑе(ах). Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² Ñбора данных в ÐÐ Ðœ также иÑпользуетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ñ… параметров <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a>. Ð”Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа к архивам-иÑтории может иÑпользоватьÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ архива Ñетевого типа. ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÐÐ Ðœ может хранитьÑÑ Ð² одной из доÑтупных БД (в примере Ñто ÑÐµÑ‚ÐµÐ²Ð°Ñ <a href="Modules/MySQL.html" title="Special:MyLanguage/Modules/MySQL">СУБД MySQL</a>, раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ð½Ð° машине центрального Ñервера архивированиÑ). </p> <h2><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.B8_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0"><span class="mw-headline-number">4</span> <span id="Config" title="#Config">ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¸ наÑтройка</span></span></h2> <p>Как можно видеть в разделе выше, OpenSCADA предоÑтавлÑет возможноÑÑ‚ÑŒ конфигурации Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² различных ролÑÑ…. Поддержка Ñтой возможноÑти обеÑпечиваетÑÑ Ñ€Ð°Ð·Ð²Ð¸Ñ‚Ñ‹Ð¼Ð¸ механизмами конфигурации, Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… данных и организации проектов Ñтих конфигураций. Данный раздел Ñодержит опиÑание Ñтих механизмов и призван дать предÑтавление о гибкоÑти и разнообразии, позволив тем Ñамым иÑпользовать OpenSCADA на вÑе 100 процентов. </p><p>При опиÑании механизмов конфигурации и ÑпоÑобов её Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² Ñтом разделе будет делатьÑÑ ÑƒÐ¿Ð¾Ñ€ на общие механизмы. ОÑобенноÑти конфигурации и иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹ подÑиÑтем OpenSCADA предоÑтавлÑÑŽÑ‚ÑÑ Ð² ÑобÑтвенной документации <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules" title="Special:MyLanguage/Modules">Ñтих модулей</a>. </p><p>Ð’ OpenSCADA иÑпользуетÑÑ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¹ подход к опиÑанию конфигурационных интерфейÑов, оÑнованный на Ñзыке XML. ФактичеÑки, оÑобенноÑти конфигурации компонента программы предоÑтавлÑетÑÑ Ñамим компонентом, Ð¿Ñ€Ð¾Ð½Ð¸Ð·Ñ‹Ð²Ð°Ñ Ñ‚ÐµÐ¼ Ñамым вÑÑŽ программу как Ð½ÐµÑ€Ð²Ð½Ð°Ñ ÑиÑтема организма. Ð’ терминах OpenSCADA Ñто называетÑÑ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñом ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¸ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ OpenSCADA (Control interface). Ðа оÑнове интерфейÑа ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€ÑƒÑŽÑ‚ÑÑ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкие интерфейÑÑ‹ конфигурации Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾ÑредÑтвом модулей OpenSCADA. Такой подход имеет Ñледующие важные преимущеÑтва: </p> <ul><li> МаÑштабируемоÑÑ‚ÑŒ: можно подключать только нужные модули ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ вообще иÑпользовать только удалённые механизмы.</li> <li> ИÑключение необходимоÑти Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð² Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ нового модулÑ-функции, а также иÑключение его "раÑпуханиÑ" через прÑмое обеÑпечение поддержки вÑей иÑтории уже ненужных и уÑтаревших модулей-функций.</li> <li> ОтноÑÐ¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ñтота ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑких интерфейÑов конфигурации на различной оÑнове за Ñчёт чёткой формализации.</li> <li> ПредоÑтавление возможноÑти динамичеÑкой конфигурации, Ñ‚.е. конфигурацию можно выполнÑÑ‚ÑŒ непоÑредÑтвенно при работе программы как локально, так и удалённо, непоÑредÑтвенно ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð¸Ñ€ÑƒÑ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚.</li> <li> ПроÑÑ‚Ð°Ñ Ð¸ Ñ†ÐµÐ»ÐµÐ²Ð°Ñ Ñ€Ð°ÑширÑемоÑÑ‚ÑŒ конфигурационного интерфейÑа путём Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÐµÐ¹ конфигурации на Ñзыке опиÑÐ°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в компонентах Ñтого требующих.</li></ul> <p>Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ и её Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ OpenSCADA предуÑматривает проекты программы в рамках которых предоÑтавлÑетÑÑ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° OpenSCADA Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ‚Ð°Ð¼ конфигурации и вÑех ÑопутÑтвующих файлов. Т.е., в Ñдро OpenSCADA вÑтроен механизм выбора проекта, который оÑущеÑтвлÑет уÑтановку рабочего каталога и адреÑа конфигурационного файла ÑоглаÑно указанному проекту. Детальнее про Ñто опиÑано в разделе "<a href="#Projects">Проекты OpenSCADA</a>". </p><p>OpenSCADA предоÑтавлÑет три Ð¼Ð¾Ð´ÑƒÐ»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ на разной оÑнове визуализации. Отметим их и их возможноÑти конфигурации: </p> <ul><li> Модуль конфигурации на оÑнове <a class="extiw" href="https://en.wikipedia.org/wiki/Qt_(framework)" title="wikipedia:Qt (framework)">библиотеки графичеÑкого интерфейÑа Qt</a> — <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">UI.QTCfg</a>. ПредоÑтавлÑет развитый Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸, позволÑющий управлÑÑ‚ÑŒ как локальными, так и удалёнными ÑтанциÑми в локальной и глобальной ÑетÑÑ…, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñное Ñоединение.</li> <li> Модуль конфигурации на оÑнове динамичеÑких WEB-технологий (DHTML) — <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">UI.WebCfgD</a>. ПредоÑтавлÑет развитый Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸, позволÑющий управлÑÑ‚ÑŒ как локальными ÑтанциÑми Ñервера, так и удалёнными ÑтанциÑми в локальной и глобальной ÑетÑÑ…, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñƒ по безопаÑному Ñоединению. КлиентÑкое подключение оÑущеÑтвлÑетÑÑ Ð¿Ð¾ÑредÑтвом обычного Web-браузера.</li> <li> Модуль конфигурации на оÑнове ÑтатичеÑких WEB-технологий (XHTML) — <a href="Modules/WebCfg.html" title="Special:MyLanguage/Modules/WebCfg">UI.WebCfg</a>. ПредоÑтавлÑет доÑтаточный Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸, позволÑющий управлÑÑ‚ÑŒ локальными ÑтанциÑми Ñервера поÑредÑтвом обычного Web-браузера.</li></ul> <p><span id="Storage" title="#Storage">ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð² целом может поÑтупать</span> Ñ‚Ñ€ÐµÐ¼Ñ ÑпоÑобами и ÑоглаÑно порÑдка: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ Ñтрока вызова программы, Конфигурационный Файл и База Данных. Из которых доÑтупны Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¹ Файл и База Данных, где и ÑохранÑÑŽÑ‚ÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸, которые изменены в конфигураторах. </p><p>Типовым именем конфигурационного файла OpenSCADA ÑвлÑетÑÑ <b>{sysconfdir}/oscada.xml</b> (где <i>sysconfdir</i> типично — "/etc"), Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¹ за проектами OpenSCADA, и <b>{Proj}/oscada.xml</b> Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° "Proj". Формат конфигурационного файла и параметры командной Ñтроки раÑÑмотрим в <a href="#CfgFilePrm">отдельном разделе</a>. </p><p>Ð£Ñ‡Ð¸Ñ‚Ñ‹Ð²Ð°Ñ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾ÑÑ‚ÑŒ подÑиÑтемы "БД", БД могут быть различными. Причем предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… чаÑтей OpenSCADA как в разных БД одного типа, так и в БД разных типов. </p><p>Many OpenSCADA nodes provide the ability to select a storage to store their data and which can be specified as: </p> <ul><li> <b>Configuration File</b> (<cfg>);</li> <li> <b>{DB Module}.{DB Name}</b> — Data Base;</li> <li> <b>Generic Storage</b> (<gen>) — the Generic Storage (combined) consisting of the Configuration File and the work Data Base specified in the "Work DB" configuration field; where the Configuration File is primary for the data already existing there, ie their changes, but everything new is created in the Data Base.</li></ul> <p>Nodes that do not provide the ability to select a storage work fixedly with the <b>Generic Storage</b> (<gen>), and those that do so also track the availability of their data in different storages and offer a mechanism for sequentially removing duplicates or simply detecting them in different libraries, which are formed by separate databases. You can read more about the mechanisms for transferring the configuration and extracting it to the library in the appropriate "<a href="How_to_Transferring_project_configuration.html" title="Special:MyLanguage/Documents/How to/Transferring project configuration">How To</a>". </p><p>Изменение конфигурации того или иного узла уÑтанавливает флаг модификации ÑоответÑтвующего узла, а также активирует кнопки "Загрузить из БД", Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ первоначальной конфигурации, и "Сохранить в БД" Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹. Признак модификации также поднимаетÑÑ Ðº родительÑкому узлу, что позволÑет оÑущеÑтвлÑÑ‚ÑŒ воÑÑтановление-Ñохранение от корневого узла, Ñ…Ð¾Ñ‚Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ð¾ в операциÑÑ… Ñ Ð‘Ð”, будут учаÑтвовать только модифицированные узлы. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Удаление узла приводит к непоÑредÑтвенному удалению его из хранилища и механизм модификации на Ñту операцию не раÑпроÑтранÑетÑÑ. </p><p>Ð Ñд наÑтроек и конфигураций узлов OpenSCADA, которые иÑполнÑÑŽÑ‚ÑÑ Ð¸Ð»Ð¸ уже включены, не применÑÑŽÑ‚ÑÑ Ñразу-же по внеÑению изменений, поÑкольку ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñ‡Ð¸Ñ‚Ð°ÐµÑ‚ÑÑ/применÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ только при включении или запуÑке. Следовательно, Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в таких ÑлучаÑÑ…, доÑтаточно включить/выключить включенный объект или перезапуÑтить иÑполнÑющийÑÑ â€” оÑтановить/запуÑтить. Ðа данный момент большинÑтво наÑтроек, не предуÑматривающих непоÑредÑтвенного применениÑ, проÑто недоÑтупны Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ. </p><p>Дальнейшее раÑÑмотрение конфигурации OpenSCADA будет производитьÑÑ Ð½Ð° оÑнове интерфейÑа конфигуратора <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">UI.QTCfg</a>, однако принципы работы будут полноÑтью ÑоответÑтвовать оÑтальным конфигураторам, Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð¸Ñпользованию общего интерфейÑа ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ OpenSCADA. </p><p>Let's start the observing with configuration of the OpenSCADA system parameters that are placed in the six tabs of the root page of the station: </p> <ul><li> The tab "Station" contains basic information and configuration fields of the station, Figure 4a. List the fields provided and comment on them: <ul><li> <i>Station</i> — contains information about the station's identifier and indicates the localized station's name. The identifier is specified by the command line parameter "--station"; when loading it is sought a section in the configuration file appropriate to the station identifier, and if not detected, it uses the first available one. The name is specified by the command line parameter "--statName".</li> <li> <i>Configuration file</i> — contains information about the configuration file used by the program. Set by the command-line parameter "--config" or the project.</li> <li> <i>Work directory</i> — contains information of the working directory of the station. This is used in relative addressing of objects in the file system, for example, database files. This is installed by <a href="#Projects">the project manager</a> at startup or directly in <a href="#CfgFilePrm">configuration the program launch</a>.</li> <li> <i>Modules directory</i> — contains information of directories of modules of OpenSCADA, separated by ';', they can include a files' template in the end (/my/modules/path/lib*.so). <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> If the value of this field is incorrect then when the program is started, the program ends with a message in the console that the configuration is incorrect.</li> <li> <i>Icons directory</i> — contains information of directories of the program icons, separated by ';'. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> If the configuration navigation tree have no icons then the value of this field is incorrect.</li> <li> <i>Documents directory</i> — contains information of directories of the program documents, separated by ';'. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> If you can not to call local documents then the value of this field is incorrect or the documentation is not installed.</li> <li> <i>Work DB</i> — indicates the working Data Base, that is the Data Base part of the combined storage (<b>Generic Storage</b>) used to store main data of the program; which may be the <b><a href="#CfgFilePrm">Configuration File</a></b> (<cfg>) also for excluding completely the Data Base from the data storage.</li> <li> <i>Save the program at exit, with the period</i> — points to the need to save the changed data at finishing of the program and indicates the periodicity in seconds with which to save the changed program's data.</li> <li> <i>Set modification for the calculated objects</i> — most suitable for the production systems together with the previous configuration properties, for the calculation context saving. But it is inconvinient in the development mode, all time reminding for the saving need.</li> <li> <i>Messages</i> — indicates the level of messages beginning from which they are to be processed and directions of the messages sending. Messages below this level will be ignored. The level "Debug (0)" have special sense, it set will enable debug messages generation by different parts of the program. To control the parts debug messages generation you can use the tab "Debug" (Fig.4d), which will be appeared in this case. The directions indicate the need of the message sending to the system logger, to the standard output, error and to the archive: <ul><li> the system logger is a mechanism of operation system for work with messages of the system and software; when this option is enabled the possibility appears to manage and control the OpenSCADA messages by the mechanisms of OS;</li> <li> the standard output and error direct the messages to console in the corresponded level; or to the standard log for some specific embedded systems;</li> <li> the archive of OpenSCADA messages is represented by the message buffer; <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> this option is usually enabled and its disabling leads to the actual disabling of the archiving at the station; saving the message buffer to the storage is carried out by the appropriate message archiver whose creation and configuration can be found in detail in <a href="#CfgArch">the configuration section of the subsystem "Archives-History"</a>.</li></ul></li> <li> <i>Environment</i> — section of the environment information and configuration: <ul><li> <i>Program</i> — contains information of the program name and version. Usually it is OpenSCADA or name of a solution based on OpenSCADA.</li> <li> <i>System</i> — contains information of name and version of the Operational System (OS), OS kernel on which the program is executed.</li> <li> <i>System time</i> — contains information of the actual system time with the timezone.</li> <li> <i>System planning clock</i> — contains information of the used tasks planning clock and its resolution on the operation system. It allows you to orient with the minimum interval of time of periodic tasks, for example, for tasks of the data acquisition.</li> <li> <i>System user</i> — contains information of the user from whose the program is executed in OS.</li> <li> <i>Language</i> — contains information about the charset in which text messages are stored within the program and indicates the complete locale information with language, country and charset in the view "en_GB.UTF-8". <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Changing the complete locale is acceptable but leads to a change of messages' language for the interface and dynamic messages mostly.</li> <li> <i>Host name</i> — contains information of the machine name that runs the station.</li> <li> <i>CPU</i> — contains the CPU operative information and indicates the main CPUs set for use by OpenSCADA tasks. The CPU information represents the accessible CPU/core number and the frequency, which runs the program. Value of frequency is checked every 10 seconds (for X86) and allows you to monitor its change by the power management mechanisms for example. The main CPUs set contains in round brackets a list of used currently CPUs.</li> <li> <i>Number of phases of the task invoking</i> — to set up phasing of the task invoking in the determined phases number, <= 0 to set optimal, 1 to disable the tasks phasing.</li></ul></li></ul></li> <li> The tab "Subsystems" contains the list of subsystems (Fig.4b) and allows you to jump directly to them using the context menu.</li> <li> The tab "Redundancy" (Fig.4c) contains the configuration of redundancy of the station with the following settings: <ul><li> <i>Status</i> — contains information on the redundancy mechanism, that is current and maximum time spent on the execution of one cycle of the task of redundancy processing.</li> <li> <i>Station level</i> — indicates the level of the station in a scheme of redundancy (0-255).</li> <li> <i>Redundant task period, seconds</i> — indicates the period of execution of the redundancy task in seconds (1-255).</li> <li> <i>Restore connection timeout, seconds</i> — indicates over the which period of time to attempt to reconnect with a lost redundant station in seconds (0-255).</li> <li> <i>Local primary commands transfer</i> — enables of local primary commands transfer to redundant stations for the local changes automatic sync.</li> <li> <i>Stations</i> — contains a table with information about the redundant stations. The stations can be added and removed via contextual menu. Id of the added stations is to be chosen from <a href="#Transports">the list of available OpenSCADA stations</a>. Presence into the table at last one enables the redundancy in whole and opens access to pages of the redundancy configuration at level of the subsystems, if a subsystem supports the redundancy. The table provides the following information about the station: <ul><li> <i>Identifier</i> — Identifier of the OpenSCADA station, should be changed after the addition by choosing from the list of available ones;</li> <li> <i>Name</i> — name of the OpenSCADA station;</li> <li> <i>Live</i> — sign of establishing of a connection with the redundant station;</li> <li> <i>Level</i> — level of the remote station in the redundancy scheme;</li> <li> <i>Counter</i> — requests' counter to the redundant station or waiting time, in the case of the absence of connection.</li></ul></li> <li> <i>Go to remote stations list configuration</i> — command to go to the configuration page of the remote OpenSCADA stations in the subsystem "Transports".</li></ul></li> <li> <span id="ConfigTr" title="#ConfigTr">The tab "Translations" contains elements of the manager of central translation of text messages</span> of the program (Fig.4f) and activates at the multi-language mode enabling by the base language of text variables set:</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> You can learn more about the details and specifics of creating multilingual projects in the appropriate "<a href="../en/Create_multi_language_project.html" title="Special:MyLanguage/Documents/How to/Create multi language project">How To</a>". <ul><li> <i>Status</i> — current status of the project messages translation, where can be:</li></ul> <dl><dd><ul><li> "SINGLELANGUAGE, only use the already multilanguage DBs with their modification";</li> <li> "MULTILANGUAGE, creating or modification the configuration DBs as multilanguage ones with the pointed base language '{language}';</li> <li> "MULTILANGUAGE-DYNAMIC, and dynamic translation".</li></ul></dd></dl> <ul><li> <i>Base language - locales list</i> — enables the multilingual support for text variables in the configuration DBs by entry the base language and the project whole locales (like to "en_US.UTF-8") list (optional) separated by ';'. Further for the text variables in the non basic language in the tables of the database it will be created separate columns. Under the text variables the all text fields of configurator, which can be translated in another language, are meant. Numbers and other special symbols are not in their count and are not translated. The whole locales list is not an obligatory part and used mostly for conversion the language code to whole locale for system functions and in the locale selection lists.</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> You can entry here other language besides English(en) as the base, but take in your mind that all standard OpenSCADA libraries formed for the base language English(en), so other base languages will break these DBs at change!</dd></dl> <ul><li> <i>, dynamic translation</i> — planed state of the dynamic text messages translation. The dynamic text messages translation causes the text messages translation cache enabling and requests to the translations to the DB depends to the OpenSCADA part's language, mostly for multi-language dynamic user interfaces when user has self-preferred language and users of the program a lot, as a rule, are end-users-operators.</li> <li> <i>Enable the manager</i> — enables the generic translation manager which cause full reloading for all built messages obtain, however this does not form the full messages index by deny to reload some objects during their execution. For the full messages index loading you ought to save the manager into the enabled mode and to restart OpenSCADA. Ongoing next start the program will form the full messages index.</li> <li> <i>Languages of managing</i> — list of the processing languages separated by the character ';'. If the translations for the specified language in the source are presented then the language column will contain them otherwise it will be empty.</li> <li> <i>Source filter</i> — source filter of limiting the manager work in some DBs, the source just must contain such substring.</li> <li> <i>, check/fix</i> — enable for checking the base messages translation equality in different sources and fixing by: propagation the translations to empty sources, clearing the double to base translations. And the separated-second check for fixing by merging the base messages as the translations, since this operation can be some wrong in complex environments.</li> <li> <i>, pass</i> — pass the specified number of the table items from the top, useful for very big projects which are limited in time of the table complete processing.</li> <li> <i>Messages</i> — same the messages table with columns: the base language, managing translation languages, the message sources. To modify there are allowed the languages columns and at result the changes will be set to the message sources.</li></ul></dd></dl> <ul><li> The tab "Tasks" contains a table with opened tasks of OpenSCADA components (Fig.4d). From the table you can get several information about the tasks, and also assign CPUs used by the tasks of multiprocessing systems and set the task invoking phase.</li> <li> The tab "Debug" contains elements for control to debug (Fig.4e) and activates at select the messages level "Debug (0)" or at the objects counters using.</li></ul> <p>Ð”Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ полей Ñтой Ñтраницы могут потребоватьÑÑ Ð¿Ñ€Ð°Ð²Ð° привилегированного пользователÑ. Получить такие права можно, включив вашего Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² группу ÑÑƒÐ¿ÐµÑ€Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ "root" или Ð²Ð¾Ð¹Ð´Ñ Ð½Ð° Ñтанцию от имени ÑÑƒÐ¿ÐµÑ€Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ "root". </p><p>Ðужно отметить ещё один важный момент! ÐŸÐ¾Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð² вÑех объектов OpenSCADA недопуÑтимы Ð´Ð»Ñ Ð¿Ñ€Ñмого Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñкольку ÑвлÑÑŽÑ‚ÑÑ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… объектов в БД. Однако поменÑÑ‚ÑŒ идентификатор объекта можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды переноÑа и поÑледующей вÑтавки объекта (Cut->Paste) в конфигураторе. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:859px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_st.png"><img class="thumbimage" height="700" src="../en/files/QTCfg_sys_st.png" width="857" /></a> <div class="thumbcaption">РиÑ. 4a. Вкладка "СтанциÑ" корневой Ñтраницы конфигурации Ñтанции.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:761px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_sub_ru.png"><img class="thumbimage" height="454" src="files/QTCfg_sys_sub_ru.png" width="759" /></a> <div class="thumbcaption">РиÑ. 4b. Вкладка "ПодÑиÑтемы" корневой Ñтраницы конфигурации Ñтанции.</div></div></div></div> <p>Задача обÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÑ…Ð°Ð½Ð¸Ð·Ð¼Ð° Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿ÑƒÑкаетÑÑ Ð²Ñегда и иÑполнÑетÑÑ Ñ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¸Ñ‡Ð½Ð¾Ñтью, уÑтановленной в ÑоответÑтвующем конфигурационном поле. Ð ÐµÐ°Ð»ÑŒÐ½Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð° по оÑущеÑтвлению Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÑÑ Ð¿Ñ€Ð¸ наличии Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одной резервной Ñтанции в ÑпиÑке Ñтанций и предполагает: </p> <ul><li> Контроль за Ñоединением Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼Ð¸ ÑтанциÑми. Ð’ процеÑÑе ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¾ÑущеÑтвлÑÑŽÑ‚ÑÑ Ð·Ð°Ð¿Ñ€Ð¾ÑÑ‹ к удалённым ÑтанциÑм за обновлением информации о них и проверки ÑвÑзи. Ð’ Ñлучае потери ÑвÑзи Ñо Ñтанцией повтор Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº ней оÑущеÑтвлÑетÑÑ Ñ‡ÐµÑ€ÐµÐ· промежуток времени, указанный в конфигурационном поле интервала времени воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑоединениÑ. Ð’ поле "Жив" Ñтанции отображаетÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐµ ÑоÑтоÑние ÑвÑзи. Ð’ поле "Счётчик" предÑтавлено количеÑтво запроÑов, оÑущеÑтвлённых к удалённой Ñтанции или же времÑ, оÑтавшееÑÑ Ð´Ð»Ñ Ð¾ÑущеÑÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ñледующей попытки ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ñ‚ÐµÑ€Ñнной Ñтанции.</li> <li> Локальное планирование иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² резервированиÑ. Планирование оÑущеÑтвлÑетÑÑ Ð² ÑоответÑтвии Ñ ÑƒÑ€Ð¾Ð²Ð½Ñми Ñтанций и предпочтениÑми иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² резервируемых подÑиÑтем: контроллеров, архиваторов Ñообщений.</li> <li> Вызов функции Ñинхронизации данных Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… объектов резервируемых подÑиÑтем, работающих в режиме Ñинхронизации данных из внешних Ñтанций.</li></ul> <p>Резервирование рекомендуетÑÑ Ð½Ð°Ñтраивать таким образом чтобы БД резервных Ñтанций ÑохранÑлиÑÑŒ одинаковыми, что в дальнейшем позволит безболезненно копировать их, при воÑÑтановлении, на любую Ñтанцию и, ÑоответÑтвенно, в резервной копии можно хранить только один набор БД. При Ñтом, наÑтройки, Ñпецифичные Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾Ð¹ Ñтанции, будут ÑохранÑÑ‚ÑŒÑÑ Ð² конфигурационном файле и можно будет легко конфигурировать и менÑÑ‚ÑŒ нужную Ñтанцию через выбор ÑоответÑтвующего конфигурационного файла. </p><p>ÐаÑтройка Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… Ñтанций в ÑпиÑок Ñтанций OpenSCADA на вкладке "ПодÑиÑтема" подÑиÑтемы "ТранÑпорты" (РиÑ.4.3b). Причём, добавлÑÑ‚ÑŒ тут нужно не только резервные Ñтанции к текущей, но и Ñаму Ñту текущую Ñтанцию Ñ ÐµÑ‘ внешним адреÑом, Ñ‚.е. ÑÐ²Ð¾ÐµÐ¾Ð±Ñ€Ð°Ð·Ð½Ð°Ñ Ð¿ÐµÑ‚Ð»Ñ. Ð’ дальнейшем Ñти наÑтройки будут Ñохранены в общую БД резервированной ÑиÑтемы и Ñама БД Ñ Ñтого момента будет иÑпользоватьÑÑ Ð¿Ñ€Ð¸ Ñоздании вÑех резервных Ñтанций. СоответÑтвенно важно на Ñтом Ñтапе внеÑти вÑе нужные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² общую БД вокруг проекта в целом! </p><p>Далее, на конкретной Ñтанции Ñ ÐºÐ¾Ð¿Ð¸ÐµÐ¹ общей БД, наÑтраиваем её ÑпецифичеÑкие параметры во вкладке "Резервирование" главной Ñтраницы (РиÑ.4c), которые будут Ñохранены в конфигурационном файле. </p><p>ПоÑле Ñтого вÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑущеÑтвлÑетÑÑ Ð²Ð¾ вкладке "Резервирование" ÑоответÑтвующей подÑиÑтемы — "Сбор данных" (РиÑ.4.5b) или "Ðрхивы" (РиÑ.4.6b). ЕÑли уÑтановить параметр "Передача локальных первичных команд" (РиÑ.4c) то Ñта конфигурациÑ, как и Ð»ÑŽÐ±Ð°Ñ Ð´Ñ€ÑƒÐ³Ð°Ñ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ характера, может оÑущеÑтвлÑÑ‚ÑŒÑÑ Ð½Ð° одной из Ñтанций, а внеÑённые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¿Ð°Ð´ÑƒÑ‚ на вÑе резервные, конечно еÑли они будут доÑтупны. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:787px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_redundancy_ru.png"><img class="thumbimage" height="585" src="files/QTCfg_sys_redundancy_ru.png" width="785" /></a> <div class="thumbcaption">РиÑ. 4c. Вкладка "Резервирование" корневой Ñтраницы конфигурации Ñтанции.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1202px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_tasks_ru.png"><img class="thumbimage" height="623" src="files/QTCfg_sys_tasks_ru.png" width="1200" /></a> <div class="thumbcaption">РиÑ. 4d. Вкладка "Задачи" корневой Ñтраницы конфигурации Ñтанции.</div></div></div></div> <p>Ð”Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ различных оÑобенноÑтей работы OpenSCADA может потребоватьÑÑ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ генерации дополнительных-отладочных Ñообщений, что оÑущеÑтвлÑетÑÑ ÑƒÑтановкой минимального ÑƒÑ€Ð¾Ð²Ð½Ñ Ñообщений, на вкладке "СтанциÑ", в "Отладка (0)". Ð’ результате Ñтого поÑвитÑÑ Ð²ÐºÐ»Ð°Ð´ÐºÐµ "Отладка" (РиÑ.4e) где доÑтупны Ñчётчики объектов Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð·Ð° утечками, а также таблица Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¼ категорий поÑтупающий отладочных Ñообщений. Ð’ таблице категорий можно выбрать только те иÑточники отладочных Ñообщений, которые нужны, тем Ñамым не Ð¿ÐµÑ€ÐµÐ³Ñ€ÑƒÐ¶Ð°Ñ Ð¿Ð¾Ð´ÑиÑтему вывода и Ð°Ñ€Ñ…Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñообщений, а так-же не Ð¿Ð¾Ð½Ð¸Ð¶Ð°Ñ Ñильно производительноÑÑ‚ÑŒ программы в целом. Можно выбирать категории выÑших уровней, вплоть до корневой категории подÑиÑтемы, что выключит детальный выбор и включит генерацию вÑех Ñообщений по уровню или подÑиÑтеме. Ð”Ð»Ñ Ð¸Ð·ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… Ñообщений нужно перейти в подÑиÑтему "Ðрхивы" (РиÑ.4.6c), Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ предуÑмотрена кнопка "ПроÑмотр Ñообщений". Выбранный режим отладки и перечень категорий отладки может быть Ñохранён в конфигурационном файле Ñтандартным образом и при Ñледующем Ñтарте режим отладки активируетÑÑ Ñразу, что важно в первую очередь Ð´Ð»Ñ Ñчётчиков объектов. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:862px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_debug_ru.png"><img class="thumbimage" height="692" src="files/QTCfg_sys_debug_ru.png" width="860" /></a> <div class="thumbcaption">РиÑ. 4e. Вкладка "Отладка" корневой Ñтраницы конфигурации Ñтанции.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1282px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_sys_transl.png"><img class="thumbimage" height="834" src="../en/files/QTCfg_sys_transl.png" width="1280" /></a> <div class="thumbcaption">РиÑ. 4f. Вкладка "Переводы" корневой Ñтраницы конфигурации Ñтанции.</div></div></div></div> <p>При раÑÑмотрении Ñтраниц конфигурации модульных подÑиÑтем будут опиÑаны общие Ð´Ð»Ñ Ð²Ñех модулей ÑвойÑтва. Однако нужно отметить, что каждый модуль может предоÑтавлÑÑ‚ÑŒ как дополнительные вкладки, так и отдельные Ð¿Ð¾Ð»Ñ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ ÑобÑтвенных оÑобенноÑтей Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñтраниц, объекты которых наÑледуютÑÑ Ð¼Ð¾Ð´ÑƒÐ»Ñми. С оÑобенноÑÑ‚Ñми и дополнениÑми модулей можно ознакомитьÑÑ Ð² отдельной <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Modules" title="Special:MyLanguage/Modules">документации на них</a>. </p> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.94.22"><span class="mw-headline-number">4.1</span> <span id="CfgDB" title="#CfgDB">ПодÑиÑтема "БД"</span></span></h3> <p>ПодÑиÑтема ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и Ñодержит иерархию объектов, изображённую на риÑунке 1.4. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы предуÑмотрена ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница подÑиÑтемы "БД", ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÑƒ "ПодÑиÑтема" и вкладку "Модули". Вкладка "ПодÑиÑтема" (РиÑ.4.1a) на данный момен Ñодержит только конфигурационное поле уÑтановки времени жизни открытых таблиц, в Ñекундах. Вкладка "Модули" (РиÑ.4.1b) Ñодержит ÑпиÑок модулей подÑиÑтемы "БД", доÑтупных на Ñтанции. </p><p>Ð”Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ полей Ñтраниц Ñтой подÑиÑтемы могут потребоватьÑÑ Ð¿Ñ€Ð°Ð²Ð° привилегированного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ включение вашего Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² группу "БД". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:682px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_subsys_ru.png"><img class="thumbimage" height="408" src="files/QTCfg_subsys_db_subsys_ru.png" width="680" /></a> <div class="thumbcaption">РиÑ. 4.1a. Вкладка "ПодÑиÑтема" корневой Ñтраницы подÑиÑтемы "БД".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:681px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_ru.png"><img class="thumbimage" height="402" src="files/QTCfg_subsys_db_mod_ru.png" width="679" /></a> <div class="thumbcaption">РиÑ. 4.1b. Вкладка "Модули" корневой Ñтраницы подÑиÑтемы "БД".</div></div></div></div> <p>Каждый модуль подÑиÑтемы "БД" предоÑтавлÑет конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "БД" и "Модуль". Вкладка "БД" (РиÑ.4.1c) Ñодержит ÑпиÑок объектов БД, зарегиÑтрированных в модуле и флажок признака полного ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð‘Ð” при выполнении команды удалениÑ. Ð’ контекÑтном меню ÑпиÑка БД пользователю предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ добавлениÑ, ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸ перехода к нужной БД. Во вкладке "Модуль" ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ модуле подÑиÑтемы "БД" в качеÑтве информационных полей каждого Ð¼Ð¾Ð´ÑƒÐ»Ñ (РиÑ.4.1d): </p> <ul><li> <i>Модуль</i> — идентификатор модулÑ.</li> <li> <i>ИмÑ</i> — Ð¸Ð¼Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ.</li> <li> <i>Тип</i> — тип модулÑ, идентификатор подÑиÑтемы к которой модуль отноÑитÑÑ.</li> <li> <i>ИÑточник</i> — разделÑÐµÐ¼Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° или <b>*bd_{ModId}</b>, Ð´Ð»Ñ Ð²ÑтраиваниÑ, что характеризует иÑточник данного модулÑ.</li> <li> <i>ВерÑиÑ</i> — верÑÐ¸Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ.</li> <li> <i>Ðвтор</i> — автор модулÑ.</li> <li> <i>ОпиÑание</i> — краткое опиÑание модулÑ.</li> <li> <i>ЛицензиÑ</i> — лицензионное Ñоглашение раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ.</li></ul> <p><span id="DBFeat" title="#DBFeat">Модули подÑиÑтемы "БД" Ñодержат также ÑпецифичеÑкое информационное поле "СвойÑтва"</span> Ñ ÐºÐ»ÑŽÑ‡ÐµÐ²Ñ‹Ð¼Ð¸ Ñловами поддерживаемых ÑвойÑтв: </p> <ul><li> <i>LIST</i> — перечень таблиц-контейнеров в БД-хранилище;</li> <li> <i>GET</i>, <i>SEEK</i>, <i>SET</i>, <i>DEL</i> — ÑоответÑтвующие запроÑÑ‹ запиÑей данных OpenSCADA;</li> <li> <i>STRUCT</i> — получение Ñтруктуры полей БД в отражении на типы данных OpenSCADA;</li> <li> <i>PRELOAD</i> — Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° запиÑей данных OpenSCADA при SEEK-запроÑе, груповым SQL SELECT запроÑом;</li> <li> <i>SQL</i> — SQL-запроÑÑ‹;</li> <li> <i>FIX</i> — иÑправление-изменение Ñтруктуры хранилища ÑоглаÑно Ñтруктуре запроÑов данных OpenSCADA;</li> <li> <i>TR</i> — обработка данных перевода Ñтруктуры запиÑи OpenSCADA;</li> <li> <i>ERR</i> — Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÐ½Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° и региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð²Ñ€Ð¾Ð´Ðµ RO-режима, Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ подобное.</li></ul> <p>Ð”Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ OpenSCADA, модуль реализации хранилища должен предоÑтавлÑÑ‚ÑŒ по крайней мере Ñледующие ÑвойÑтва: <b>GET</b>, <b>SEEK</b>, <b>SET</b>, <b>DEL</b>. И чтобы быть многоÑзычным хранилищем должен также предоÑтавлÑÑ‚ÑŒ ÑвойÑтво <b>TR</b>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:630px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_ru.png"><img class="thumbimage" height="401" src="files/QTCfg_subsys_db_mod_db_ru.png" width="628" /></a> <div class="thumbcaption">РиÑ. 4.1c. Вкладка "БД" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "БД".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:765px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_module_ru.png"><img class="thumbimage" height="536" src="files/QTCfg_subsys_db_mod_module_ru.png" width="763" /></a> <div class="thumbcaption">РиÑ. 4.1d. Вкладка "Модуль" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "БД".</div></div></div></div> <p>Каждый объект БД Ñодержит ÑобÑтвенную Ñтраницу конфигурации Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "База данных", "Таблицы" и "SQL", в Ñлучае поддержки SQL-запроÑов. Кроме оÑновных операций можно выполнÑÑ‚ÑŒ копирование Ñодержимого БД Ñтандартной функцией ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² в конфигураторе. ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñодержимого БД подразумевает копирование иÑходной БД в БД назначениÑ, при Ñтом Ñодержимое БД Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ очищаетÑÑ Ð¿ÐµÑ€ÐµÐ´ операцией копированиÑ. Копирование Ñодержимого БД производитÑÑ Ð¿Ñ€Ð¸ уÑловии Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð±Ð¾Ð¸Ñ… БД, иначе будет выполнÑÑ‚ÑŒÑÑ Ð¿Ñ€Ð¾Ñтое копирование объекта БД! </p><p>Вкладка "База данных" (РиÑ.4.1e) Ñодержит оÑновные наÑтройки объекта БД, в ÑоÑтаве: </p> <ul><li> Раздел "СоÑтоÑние" — Ñодержит ÑвойÑтва, характеризующие ÑоÑтоÑние объекта БД: <ul><li> <i>Включен</i> — ÑоÑтоÑние "Включен", объекта БД. Ð”Ð»Ñ Ñетевых БД Ñто ÑоÑтоÑние предуÑматривает подключение к СУБД, ÑоответÑтвенно и отражает факт Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ которое, при уÑтановке "Включать", периодичеÑки воÑÑтанавливаетÑÑ.</li> <li> <i>ДоÑтупные таблицы</i> — перечень таблиц, которые Ñодержит БД. КонтекÑтным меню данного ÑвойÑтва предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ физичеÑкого ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ† из БД.</li> <li> <i>Загрузить программу из Ñтой БД</i> — команда Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ из данной БД. Может иÑпользоватьÑÑ Ð¿Ñ€Ð¸ переноÑе данных в БД между ÑтанциÑми. Ðапример, можно Ñохранить учаÑток одной Ñтанции в ÑкÑпортную БД, физичеÑки перенеÑти БД на другую Ñтанцию, подключить её в Ñтой подÑиÑтеме и вызвать данную команду.</li></ul></li> <li> Раздел "КонфигурациÑ" — непоÑредÑтвенно Ñодержит Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸: <ul><li> <i>Идентификатор</i> — Ñодержит информацию об идентификаторе объекта БД.</li> <li> <i>ИмÑ</i> — указывает Ð¸Ð¼Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° БД.</li> <li> <i>ОпиÑание</i> — краткое опиÑание и назначение объекта БД и Ñамой БД в программе.</li> <li> <i>ÐдреÑ</i> — Ð°Ð´Ñ€ÐµÑ Ð‘Ð” в Ñпецифичном Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° БД (модулÑ) формате. ОпиÑание формата запиÑи адреÑа БД как правило доÑтупно во вÑплывающей подÑказке Ñтого полÑ.</li> <li> <i>ÐšÐ¾Ð´Ð¾Ð²Ð°Ñ Ñтраница</i> — указывает на кодовую Ñтраницу, в которой хранÑÑ‚ÑÑ Ð¸ предоÑтавлÑÑŽÑ‚ÑÑ Ñ‚ÐµÐºÑтовые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð‘Ð”. Значение кодовой Ñтраницы БД в ÑвÑзке Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ¹ кодировкой Ñтанции иÑпользуетÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ð¾Ð³Ð¾ Ð¿ÐµÑ€ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑтовых Ñообщений при обмене между Ñтанцией и БД.</li> <li> <i>Включать</i> — указывает на ÑоÑтоÑние "Включен", в которое переводить БД при загрузке.</li> <li> <i>Приоритет в ÑпиÑке</i> — приоритет БД [0...99] в общем перечне баз данных иÑпользуемых в загрузке, полезно Ð´Ð»Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº размещённых в неÑкольких базах данных Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚Ð½Ñ‹Ñ… — иÑпользуемых.</li> <li> <i>Закрытие транзакции: поÑле открытиÑ, Ñекунд</i> — Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ð¸Ð¸ поÑле её открытиÑ.</li> <li> <i>Закрытие транзакции: поÑле запроÑа, Ñекунд</i> — Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ð¸Ð¸ поÑле поÑледнего запроÑа. ЕÑли Ð²Ñ€ÐµÐ¼Ñ Ð¼ÐµÐ½ÑŒÑˆÐµ SERV_TASK_PER (10), тогда Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ транзакций БД будет открыт незавиÑимый поток-задачу Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¼ Ñледующим параметром приоритетом, иначе процеÑÑ Ð±ÑƒÐ´ÐµÑ‚ оÑущеÑтвлÑÑ‚ÑŒÑÑ ÑервиÑной задачей.</li> <li> <i>Закрытие транзакции: приоритет отдельной задачи</i> — приоритет незавиÑимого потока-задачи, открытой Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ времени меньше SERV_TASK_PER (10).</li></ul></li></ul> <p>Вкладка "Таблицы" (РиÑ.4.1f) Ñодержит ÑпиÑок открытых таблиц. При нормальной работе программы Ñта вкладка пуÑта, поÑкольку поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°Ð¼Ð¸ программа их закрывает. Ðаличие открытых таблиц говорит о том, что программа ÑÐµÐ¹Ñ‡Ð°Ñ Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°Ð¼Ð¸ работает или таблицы открыты пользователем Ð´Ð»Ñ Ð¸Ð·ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ñ… Ñодержимого. Ð’ контекÑтном меню Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ñ… таблиц можно открыть таблицу Ð´Ð»Ñ Ð¸Ð·ÑƒÑ‡ÐµÐ½Ð¸Ñ (команда "Добавить"), закрыть открытую таблицу (команда "Удалить") и перейти к изучению её Ñодержимого. </p><p>Вкладка "SQL" (РиÑ.4.1g) доÑтупна только Ð´Ð»Ñ Ð±Ð°Ð· данных, поддерживающих SQL-запроÑÑ‹, и Ñодержит поле ввода запроÑа, кнопку отправки запроÑа и таблицу Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð¾Ð¼ запроÑа. Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ð¼ транзакции запроÑа предуÑмотрено отдельное конфигурационное поле. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:763px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_db_ru.png"><img class="thumbimage" height="688" src="files/QTCfg_subsys_db_mod_db_db_ru.png" width="761" /></a> <div class="thumbcaption">РиÑ. 4.1e. Вкладка "База данных" объекта БД Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "БД".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:735px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_tbl_ru.png"><img class="thumbimage" height="627" src="files/QTCfg_subsys_db_mod_db_tbl_ru.png" width="733" /></a> <div class="thumbcaption">РиÑ. 4.1f. Вкладка "Таблицы" объекта БД Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "БД".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1035px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_sql_ru.png"><img class="thumbimage" height="736" src="files/QTCfg_subsys_db_mod_db_sql_ru.png" width="1033" /></a> <div class="thumbcaption">РиÑ. 4.1g. Вкладка "SQL" объекта БД Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "БД".</div></div></div></div> <p>Страница Ð¸Ð·ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñодержимого таблицы Ñодержит только одну вкладку "Таблица". Вкладка "Таблица" (РиÑ.4.1h) Ñодержит поле Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ и таблицу Ñ Ñодержимым. Таблицей Ñодержимого предоÑтавлÑÑŽÑ‚ÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: </p> <ul><li> редактирование Ñодержимого Ñчеек таблицы;</li> <li> добавление запиÑи (Ñтроки);</li> <li> удаление запиÑи (Ñтроки).</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1075px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_db_mod_db_tbl_tbl_ru.png"><img class="thumbimage" height="737" src="files/QTCfg_subsys_db_mod_db_tbl_tbl_ru.png" width="1073" /></a> <div class="thumbcaption">РиÑ. 4.1h. Вкладка "Таблица" таблицы БД Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "БД".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.91.D0.B5.D0.B7.D0.BE.D0.BF.D0.B0.D1.81.D0.BD.D0.BE.D1.81.D1.82.D1.8C.22"><span class="mw-headline-number">4.2</span> <span id="CfgSecurity" title="#CfgSecurity">ПодÑиÑтема "БезопаÑноÑÑ‚ÑŒ"</span></span></h3> <p>ПодÑиÑтема не ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы предуÑмотрена ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница подÑиÑтемы "БезопаÑноÑÑ‚ÑŒ", ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÑƒ "Пользователи и группы пользователей". Вкладка "Пользователи и группы пользователей" (РиÑ.4.2a) Ñодержит ÑпиÑки пользователей и групп пользователей. Пользователь в группе "Security" или Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ привилегированного Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ‚ добавить, удалить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ группу пользователей. Ð’Ñе оÑтальные пользователи могут переходить к Ñтраницам пользователей или групп пользователей и изменÑÑ‚ÑŒ Ñ€Ñд перÑональных параметров на ÑобÑтвенной Ñтранице пользователÑ. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:649px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_sec_ru.png"><img class="thumbimage" height="543" src="files/QTCfg_subsys_sec_ru.png" width="647" /></a> <div class="thumbcaption">РиÑ. 4.2a. Вкладка "Пользователи и группы пользователей" корневой Ñтраницы подÑиÑтемы "БезопаÑноÑÑ‚ÑŒ".</div></div></div></div> <p>For user configuration, a page that contains only the "User" tab (Fig.2.4b) is provided. This tab contains configuration data of the user profile, which can be changed by the user, the user in the "Security" group or the privileged user: </p> <ul><li> <i>Name</i> — information about the name (identifier) of the user.</li> <li> <i>Full name</i> — specifies the full name of the user.</li> <li> <i>Description</i> — description and arbitrary information about the user.</li> <li> <i>Password</i> — the field to change the user's password. It always displays "********".</li> <li> <i>Language</i> — user's language for the dynamic messages context and for text to speech of the user interface. Empty to the system language.</li> <li> <i>User picture</i> — specifies the user's picture. Picture can be loaded and saved.</li> <li> <i>Groups</i> — the table with a list of user groups and a sign of the user's belonging to the corresponding group.</li> <li> <i>Storage</i> — the user's data storage, with tracking the availability of the data in different storages and providing the sequentially removing duplicates.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:789px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_sec_user.png"><img class="thumbimage" height="734" src="../en/files/QTCfg_subsys_sec_user.png" width="787" /></a> <div class="thumbcaption">РиÑ. 4.2b. Вкладка "Пользователь" Ñтраницы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "БезопаÑноÑÑ‚ÑŒ".</div></div></div></div> <p>To configure a group of users, a page is provided that contains only the "Group" tab (Fig.4.2c). This tab contains configuration data of the user group profile that can only be changed by the privileged user: </p> <ul><li> <i>Name</i> — information about the name (identifier) of the user's group.</li> <li> <i>Full name</i> — specifies the full name of the user's group.</li> <li> <i>Description</i> — description and arbitrary information about the users group.</li> <li> <i>Users</i> — list of users included into this group. With the context menu of the list you can add or remove the user in the group.</li> <li> <i>Storage</i> — the user group data storage, with tracking the availability of the data in different storages and providing the sequentially removing duplicates.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:783px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_sec_grp.png"><img class="thumbimage" height="538" src="../en/files/QTCfg_subsys_sec_grp.png" width="781" /></a> <div class="thumbcaption">РиÑ. 4.2c. Вкладка "Группа" Ñтраницы группы пользователей подÑиÑтемы "БезопаÑноÑÑ‚ÑŒ".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D1.8B.22"><span class="mw-headline-number">4.3</span> <span id="Transports" title="#Transports">ПодÑиÑтема "ТранÑпорты"</span></span></h3> <p>ПодÑиÑтема ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и Ñодержит иерархию объектов, изображённую на риÑунке 1.6. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы предуÑмотрена ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница подÑиÑтемы "ТранÑпорты", ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ¸ "ПодÑиÑтема" и "Модули". </p><p>The tab "Subsystem" (Fig.4.3a) contains a configuration table for external, for this, OpenSCADA stations. External stations may be "System", "User" or both these are selected by the appropriate column. System's external stations are available only to the super user and are used in purpose of components of the system, for example, the horizontal redundancy mechanism and the module <a href="Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQ.DAQGate</a>. User's external stations are tied to the user who created them, and thus the list of user's external stations is individual for each user. User's external stations are used by components of the graphical interface, for example, <a href="Modules/QTCfg.html" title="Special:MyLanguage/Modules/QTCfg">UI.QTCfg</a>, <a href="Modules/WebCfgD.html" title="Special:MyLanguage/Modules/WebCfgD">UI.WebCfgD</a> and <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">UI.Vision</a>. In this table of external stations it is possible to add and delete records about the stations, as well as their modification. Each station contains the following fields: </p> <ul><li> <i>Identifier</i> — identifier of the external station.</li> <li> <i>Name</i> — name of the external host.</li> <li> <i>Transport</i> — selection for the transport type or address directly from list of the network transports, output transports directly and input transports allowed to creation associated output connections.</li> <li> <i>Address</i> — additional address to the previous field used at creation the missed or automatic output transports and as the remote initiative connection ID for the input transports. Address of the external station through the output connection is specific to the module of the subsystem "Transports" selected in the previous field.</li> <li> <i>User</i> — name/identifier of the user of the external station on behalf of whom to perform the connection.</li> <li> <i>Password</i> — password of the user of the external station.</li> <li> <i>Mode</i> — host mode: "User", "System", "User and System".</li> <li> <i>Uprising level</i> — uprising hosts level of the pointed host for possibility of requests re-transmission.</li></ul> <p>Вкладка "Модули" (РиÑ.4.1b) Ñодержит ÑпиÑок модулей подÑиÑтемы "ТранÑпорты" и идентична Ð´Ð»Ñ Ð²Ñех модульных подÑиÑтем. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:941px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_sub_ru.png"><img class="thumbimage" height="451" src="files/QTCfg_subsys_tr_sub_ru.png" width="939" /></a> <div class="thumbcaption">РиÑ. 4.3a. Вкладка "ПодÑиÑтема" корневой Ñтраницы подÑиÑтемы "ТранÑпорты".</div></div></div></div> <p>Каждый модуль подÑиÑтемы "ТранÑпорты" предоÑтавлÑет конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "ТранÑпорты" и "Модуль". </p><p>Вкладка "ТранÑпорты" (РиÑ.4.3b) Ñодержит ÑпиÑок входных и выходных транÑпортов, зарегиÑтрированных модулем. Ð’ контекÑтном меню ÑпиÑков транÑпортов пользователю предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ добавлениÑ, ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸ перехода к нужному транÑпорту. Выходные транÑпорты также предоÑтавлÑÑŽÑ‚ функцию времени жизни, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ñ€ÐµÐ´ÑƒÑматривает закрытие транÑпортов по неактивноÑти. УÑтановите Ñто поле в 0 Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñтой функции! </p><p>Во вкладке "Модуль" ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ модуле подÑиÑтемы "ТранÑпорты" (РиÑ.4.1d), ÑоÑтав которой идентичен Ð´Ð»Ñ Ð²Ñех модулей. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:681px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_mod_tr_ru.png"><img class="thumbimage" height="558" src="files/QTCfg_subsys_tr_mod_tr_ru.png" width="679" /></a> <div class="thumbcaption">РиÑ. 4.3b. Вкладка "ТранÑпорты" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "ТранÑпорты".</div></div></div></div> <p>Each transport contains its own generic configuration dialogues in the tab "Transport" and "Additional". The "Transport" tab contains basic transport settings. <span id="TransportIn" title="#TransportIn">Input transport</span> (Fig.4.3c) contains: </p> <ul><li> Section "State" — contains the settings that characterize the state of the transport: <ul><li> <i>Status</i> — information on the current transport's status and statistics of its work. Most modules provide advanced diagnostics in this field when enabled with <a href="#Config">the debugging mode</a>.</li> <li> <i>Connect</i> — operative state/command of the transport.</li> <li> <i>Storage</i> — the transport's data storage, with tracking the availability of the data in different storages and providing the sequentially removing duplicates.</li> <li> <i>Active connections</i> — active and actual connections list of the input transport.</li></ul></li> <li> Section "Configuration" — directly contains the configuration fields: <ul><li> <i>Identifier</i> — information on the transport's identifier.</li> <li> <i>Name</i> — specifies the transport's name.</li> <li> <i>Description</i> — brief description of the transport and its appointment.</li> <li> <i>Address</i> — transport address in a specific type of transport (module) format. Description of the format of the address of the transport, as a rule, is available in the tooltip for this field.</li> <li> <i>Transport protocol</i> — indicates the transport protocol modules (the subsystem "Transport protocols") those should work in conjunction with the input transport. That is, received unstructured data this module will sent to the structuring and processing to the specified modules of the transport protocol.</li> <li> <i>To connect</i> — indicates the state/command "Connect", in which to transfer the transport at startup.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:922px;"><a class="image" href="http://oscada.org/wiki/File:Sockets_in.png"><img class="thumbimage" height="1190" src="../en/files/Sockets_in.png" width="920" /></a> <div class="thumbcaption">Fig. 4.3c. The tab "Transport" and "Additional" of the page of an input transport of the module of the subsystem "Transports".</div></div></div></div> <p><span id="TransportOut" title="#TransportOut">Output transport</span> (Fig.4.3d) contains: </p> <ul><li> Section "State" — contains the settings that characterize the state of the transport: <ul><li> <i>Status</i> — information on the current transport's status and statistics of its work. Most modules provide advanced diagnostics in this field when enabled with <a href="#Config">the debuging mode</a>.</li> <li> <i>Connect</i> — operative state/command of the transport. Given the network nature of the transports, this state often involves connecting to a remote network node and accordingly reflecting the fact that the connection is present. For output transports, there is no need for the user to be obliged to set this state because it is used by an external entity of the communication protocols, often by the data sources, that try to connect the transport beforehand, so by establishing a connection for further exchange, moreover, the transport may be disconnected by that entity.</li> <li> <i>Transport DB</i> — the transport's data storage, with tracking the availability of the data in different storages and providing the sequentially removing duplicates.</li></ul></li> <li> Section "Configuration" — directly contains the configuration fields: <ul><li> <i>Identifier</i> — information on the transport's identifier.</li> <li> <i>Name</i> — specifies the transport's name.</li> <li> <i>Description</i> — brief description of the transport and its appointment.</li> <li> <i>Address</i> — transport address in a specific type of transport (module) format. Description of the format of the address of the transport, as a rule, is available in the tooltip for this field.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:922px;"><a class="image" href="http://oscada.org/wiki/File:Sockets_out.png"><img class="thumbimage" height="930" src="../en/files/Sockets_out.png" width="920" /></a> <div class="thumbcaption">Fig. 4.3d. The tab "Transport" and "Additional" of the page of an output transport of the module of the subsystem "Transports".</div></div></div></div> <p>The tab "Additional" of both input and output transports contains specific parameters of the transport type and protocols' specific custom parameters. Also there can be reset all the additional parameters to default values and be cleaned the protocols' specific custom parameters. </p><p>Выходной транÑпорт дополнительно предоÑтавлÑет вкладку Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого запроÑа через данный транÑпорт (РиÑ.4.3e). Вкладка предназначена Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð´ÐºÐ¸ ÑвÑзи и протоколов обмена, и она Ñодержит: </p> <ul><li> <i>ВремÑ</i> — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ времени, затраченном на Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¸ получение ответа.</li> <li> <i>Режим</i> — указывает режим данных, из ÑпиÑка: "Бинарный", "ТекÑÑ‚(LF)", "ТекÑÑ‚(CR)", "ТекÑÑ‚(CR/LF)"; в котором будет формироватьÑÑ Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¸ предоÑтавлÑÑ‚ÑŒÑÑ Ð¾Ñ‚Ð²ÐµÑ‚. Ð’ бинарном режиме данные запиÑываютÑÑ Ð¿Ð°Ñ€Ð°Ð¼Ð¸ чиÑел в шеÑтнадцатеричном иÑчиÑлении, Ñ‚.е. байтами, разделёнными пробелами.</li> <li> <i>Ожидать таймаут</i> — признак Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð¹Ð¼Ð°ÑƒÑ‚Ð° при получении ответа. Многие ÑиÑтемы при ответе на различных протоколах (например, HTTP) могут Ñлать данные ответа неÑколькими куÑками. Без Ñтого флага будет получен и отображён только первый куÑок. При уÑтановке флага будет оÑущеÑтвлено ожидание вÑех куÑков ответа, вплоть до отÑутÑÑ‚Ð²Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… в течении таймаута Ð´Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ñ‚Ñ€Ð°Ð½Ñпорта. </li> <li> <i>Размер входного буфера, байт</i> — контролирует размер входного буфера или выключает чтение (0) вообще — только запиÑÑŒ.</li> <li> <i>Отправить</i> — команда отправить запроÑ.</li> <li> <i>ЗапроÑ</i> — Ñодержит данные запроÑа в выбранном режиме предÑтавлениÑ.</li> <li> <i>Ответ</i> — предоÑтавлÑет данные ответа в выбранном режиме предÑтавлениÑ.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:825px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_mod_tr_otr_req_ru.png"><img class="thumbimage" height="678" src="files/QTCfg_subsys_tr_mod_tr_otr_req_ru.png" width="823" /></a> <div class="thumbcaption">РиÑ. 4.3e. Вкладка "ЗапроÑ" Ñтраницы выходного транÑпорта Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "ТранÑпорты".</div></div></div></div> <p><span id="TrDiagnostic" title="#TrDiagnostic">Both input and output transports also contain the tab "IO log"</span> (Fig.4.3f). The tab is provided for generic control, observing and learning the traffic through the transports and includes the log length, block limit, type, aggregation time and the same text area of the log. For the log disable you can the log length field set to zero (0) and -1 for writing to a file. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:992px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_tr_mod_tr_log.png"><img class="thumbimage" height="764" src="../en/files/QTCfg_subsys_tr_mod_tr_log.png" width="990" /></a> <div class="thumbcaption">РиÑ. 4.3f. Вкладка "Лог Ð’Ð’" Ñтраницы входного транÑпорта Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "ТранÑпорты".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.D0.BD.D1.8B.D0.B5_.D0.BF.D1.80.D0.BE.D1.82.D0.BE.D0.BA.D0.BE.D0.BB.D1.8B.22"><span class="mw-headline-number">4.4</span> ПодÑиÑтема "ТранÑпортные протоколы"</span></h3> <p>ПодÑиÑтема ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы предуÑмотрена ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница подÑиÑтемы "ТранÑпортные протоколы", ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÑƒ "Модули". Вкладка "Модули" (РиÑ.4.1b) Ñодержит ÑпиÑок модулей подÑиÑтемы "ТранÑпортные протоколы" и идентична Ð´Ð»Ñ Ð²Ñех модульных подÑиÑтем. </p><p>Каждый модуль подÑиÑтемы "ТранÑпортные протоколы" предоÑтавлÑет конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ¾Ð¹ "Модуль". Во вкладке "Модуль" ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ модуле подÑиÑтемы "ТранÑпортные протоколы" (РиÑ.4.1d), ÑоÑтав которой идентичен Ð´Ð»Ñ Ð²Ñех модулей. </p> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.B1.D0.BE.D1.80_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.22"><span class="mw-headline-number">4.5</span> <span id="CfgDAQ" title="#CfgDAQ">ПодÑиÑтема "Сбор данных"</span></span></h3> <p>ПодÑиÑтема ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и Ñодержит иерархию объектов изображённую на риÑунке 1.3. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы предуÑмотрена ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница подÑиÑтемы "Сбор данных", ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ¸: "Резервирование", "Библиотеки шаблонов" и "Модули". </p><p>Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа на модификацию объектов Ñтой подÑиÑтемы необходимы права Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² группе "DAQ" или права привилегированного пользователÑ. </p><p>Объектом Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑиÑтемы "Сбор Данных" выÑтупает объект контроллера в рамках которого резервирование данных выполнÑет функции: </p> <ul><li> <b>Резервирование механизма Ñбора данных</b>. Обычно Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·ÑƒÐµÑ‚ÑÑ Ð±ÐµÐ· Ñпециальных механизмов путём проÑтого запуÑка параллельных резервных Ñтанций Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ð¹ конфигурацией и работающих незавиÑимо. Однако в Ñлучае Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñтанцией функции ПЛК такое поведение недопуÑтимо по причине одновременной выдачи управлÑющих воздейÑтвий и отÑутÑÑ‚Ð²Ð¸Ñ Ñинхронизации данных вычиÑлителей.</li> <li> <b>КомпенÑÐ°Ñ†Ð¸Ñ Ð¿Ð¾Ñ‚ÐµÑ€Ð¸ данных на Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾ÑÑ‚Ð¾Ñ ÑƒÐ·Ð»Ð°</b> за Ñчёт архива резервного. ПредуÑмотрены два механизма компенÑации. Первый и оÑновной механизм оÑущеÑтвлÑет загрузку учаÑтков архива из резервной Ñтанции в момент запуÑка Ñтанции в целом или отдельных объектов контроллеров, а также воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле продолжительного отÑутÑÑ‚Ð²Ð¸Ñ ÑвÑзи. УчаÑток архива запрашиваетÑÑ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚Ð° поÑледней запиÑи в локальном архиве и по текущее времÑ. Глубина запроÑа при Ñтом ограничиваетÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ предельного времени в конфигурации резервированиÑ. Второй, дополнÑющий механизм, оÑущеÑтвлÑет заполнение "дыр" в архиве значений в момент фактичеÑкого запроÑа Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ðº Ñтим данным. Такой подход, Ñ Ð¾Ð´Ð½Ð¾Ð¹ Ñтороны, позволÑет оÑущеÑтвить прогнозируемую по времени Ñинхронизацию при Ñтарте, а Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ фактичеÑки иÑключает потерю данных при уÑловии работы Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одной Ñтанции в течение вÑего рабочего времени.</li> <li> <b>РаÑпределение нагрузки по Ñбору данных между узлами</b>. При Ñоздании Ñложных раÑпределённых ÑиÑтем может оказатьÑÑ Ð²Ð°Ð¶Ð½Ñ‹Ð¼ Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ñ€Ð¾Ð³Ð½Ð¾Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ оптимизации общей производительноÑти SCADA ÑиÑтемы. С учётом таких задач механизм Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑƒÑматривает иÑполнение задач Ñбора данных отдельных иÑточников (контроллеров OpenSCADA) только на одной Ñтанции. При Ñтом задачи оÑтальных Ñтанций переходÑÑ‚ в режим Ñинхронизации данных Ñ Ð¸ÑполнÑющей Ñтанцией. Ð’ Ñлучае потери ÑвÑзи Ñ Ð¸ÑполнÑющей Ñтанцией запуÑкаетÑÑ Ð·Ð°Ð´Ð°Ñ‡Ð° локального Ñбора данных. ПредуÑмотрена также возможноÑÑ‚ÑŒ оптимального раÑпределение нагрузки иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñ‡ Ñбора данных группы объектов контроллеров между ÑтанциÑми.</li> <li> <b>ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ на внешние иÑточники данных</b> за Ñчёт запроÑа (обмена) данных у внешнего иÑточника только одним узлом. Ð’ практике чаÑто вÑтречаютÑÑ Ð²Ñ‹Ñоко-нагруженные иÑточники данных или интерфейÑÑ‹ доÑтупа к иÑточникам данных, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… даже Ñбор данных одной Ñтанцией может быть проблемой и потребует ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¸Ñ‡Ð½Ð¾Ñти Ñбора, Ñ‚.е. качеÑтва данных. Механизм резервированиÑ, кроме раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ между ÑтанциÑми по опиÑанной выше Ñхеме, позволÑет ÑнÑÑ‚ÑŒ дополнительную нагрузку на иÑточник данных и его интерфейÑÑ‹ тем Ñамым повыÑив качеÑтво данных. ЗапиÑÑŒ в атрибуты резервного объекта контроллера приводит к отправке запроÑа модификации на оÑновной, Ñ‚.е. — запиÑÑŒ через оÑновной.</li> <li> <b>Предотвращение некоторого Ð¾Ñ‚Ð»Ð¸Ñ‡Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… на разных узлах</b>, ÑвÑзанное Ñ Ð½ÐµÑовпадением моментов времени при незавиÑимом Ñборе данных отдельными узлами, путём Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… у Ñтанции Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ð¼ объектом контроллера. Ð’ ÑиÑтемах выÑокой отчётноÑти Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ должно быть иÑключено или Ñведено к минимуму раÑхождение в данных на разных ÑтанциÑÑ…, что подразумевает реальный Ñбор данных одной Ñтанцией и Ñинхронизацию Ñ Ñтими данными оÑтальных Ñтанций.</li></ul> <p>Вкладка "Резервирование" (РиÑ.4.5a) доÑтупна только еÑли в резерве указана хотÑ-бы одна ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ (РиÑ.4c) и Ñодержит конфигурацию Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñточников данных подÑиÑтемы "Сбор данных", в ÑоÑтаве наÑтроек: </p> <ul><li> <i>Глубина воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… при запуÑке</i> — указывает на макÑимальную глубину архивных данных Ð´Ð»Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð· архива удалённой Ñтанции при запуÑке, в чаÑах (0-12).</li> <li> <i>Контроллеры</i> — Ñодержит таблицу Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¼ объектов контроллеров, доÑтупных Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, и текущее их ÑоÑтоÑние: <ul><li> <i>Контроллер</i> — полный идентификатор объекта контроллера;</li> <li> <i>ИмÑ</i> — Ð¸Ð¼Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° контроллера;</li> <li> <i>Запущен</i> — признак иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° контроллера локальной Ñтанцией;</li> <li> <i>Резервирование</i> — режим Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° контроллера, может быть выбран из перечнÑ: <ul><li> "Выключено" — Ñовершенно незавиÑÐ¸Ð¼Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð° объекта контроллера.</li> <li> "ÐÑимметричное" — полное резервирование Ñ Ð´Ð¾Ñтупной конфигурацией объекта контроллера удалённой Ñтанции и без попыток её обобщать.</li> <li> "Только нарушениÑ" — фактичеÑÐºÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð° без резервированиÑ, но Ñ Ð¿Ð¾Ð´Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ нарушений от резервного объекта контроллера Ñ Ñ†ÐµÐ»ÑŒÑŽ иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð´ÑƒÐ±Ð»Ð¸Ñ€ÑƒÑŽÑ‰Ð¸Ñ… Ñообщений о нарушениÑÑ….</li></ul></li> <li> <i>Предпочтение иÑполнениÑ</i> — ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ñ‡Ñ‚Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° указанной Ñтанции; зарезервированные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‚ на: <ul><li> <b><Ð’Ñ‹Ñокий уровень></b> — иÑполнение на Ñтанции Ñ Ñамым выÑшим уровнем.</li> <li> <b><Ðизкий уровень></b> — иÑполнение на Ñтанции Ñ Ñамым низким уровнем.</li> <li> <b><Оптимально></b> — выбор Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ð¸Ð¼ÐµÐ½ÐµÐµ нагруженной Ñтанции — Ñтанции ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸ÑполнÑет наименьшее количеÑтво объектов контроллеров.</li></ul></li> <li> <i>Удалённый</i> — признак, указывающий на иÑполнение объекта контроллера удалённой Ñтанцией и работу локальной Ñтанции в режиме Ñинхронизации данных Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¹.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:951px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_red_ru.png"><img class="thumbimage" height="615" src="files/QTCfg_subsys_daq_red_ru.png" width="949" /></a> <div class="thumbcaption">РиÑ. 4.5a. Вкладка "Резервирование" подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Вкладка "<span id="DAQTmpl" title="#DAQTmpl">Библиотеки шаблонов</span>" (РиÑ.4.5b) Ñодержит ÑпиÑок библиотек шаблонов Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² Ñтой подÑиÑтемы. Ð’ контекÑтном меню ÑпиÑка библиотек шаблонов пользователю предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ добавлениÑ, ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸ перехода к нужной библиотеке. Вкладка "Модули" (РиÑ.4.1c) Ñодержит ÑпиÑок модулей подÑиÑтемы "ТранÑпорты" и идентична Ð´Ð»Ñ Ð²Ñех модульных подÑиÑтем. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:682px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_ru.png"><img class="thumbimage" height="402" src="files/QTCfg_subsys_daq_tmpl_ru.png" width="680" /></a> <div class="thumbcaption">РиÑ. 4.5b. Вкладка "Библиотеки шаблонов" подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Each template library of the subsystem "Data acquisition" provides a configuration page with the tabs "Library" and "Parameter templates". The tab "Library" (Fig.4.5d) contains the basic settings of the library: </p> <ul><li> Section "State" — contains properties that characterize the state of the library:</li></ul> <dl><dd><ul><li> <i>Accessing</i> — state of library "Accessing".</li> <li> <i>Storage</i> — the library and templates data storage, with tracking the availability of the data in different storages and providing the sequentially removing duplicates.</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> The object still supports of specifying the spare storage addresses with tables before you rename the table in the standard form "<b>tmplib_{ObjID}</b>".</dd></dl> <ul><li> <i>Date of modification</i> — date and time for the object last modification.</li></ul></dd></dl> <ul><li> Section "Config" — directly contains the configuration fields:</li></ul> <dl><dd><ul><li> <i>Identifier</i> — information on the Id of the library.</li> <li> <i>Name</i> — specifies the name of the library.</li> <li> <i>Description</i> — short description of the library and its purpose.</li></ul></dd></dl> <p>Вкладка "Шаблоны параметров" (РиÑ.4.5d) Ñодержит ÑпиÑок шаблонов в библиотеке. Ð’ контекÑтном меню ÑпиÑка пользователю предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ добавлениÑ, ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸ перехода к нужному шаблону. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:780px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_lib.png"><img class="thumbimage" height="602" src="../en/files/QTCfg_subsys_daq_tmpl_lib.png" width="778" /></a> <div class="thumbcaption">РиÑ. 4.5c. ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° конфигурации библиотеки шаблонов подÑиÑтемы "Сбор данных".</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:686px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_ls.png"><img class="thumbimage" height="512" src="../en/files/QTCfg_subsys_daq_tmpl_ls.png" width="684" /></a> <div class="thumbcaption">РиÑ. 4.5d. Вкладка ÑпиÑка шаблонов в библиотеке шаблонов подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Каждый шаблон библиотеки шаблонов предоÑтавлÑет конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "Шаблон" и "Ð’Ð’". Вкладка "Шаблон" (РиÑ.4.5e) Ñодержит оÑновные наÑтройки шаблона в ÑоÑтаве: </p> <ul><li> Раздел "СоÑтоÑние" — Ñодержит ÑвойÑтва, характеризующие ÑоÑтоÑние шаблона: <ul><li> <i>ДоÑтупен</i> — ÑоÑтоÑние шаблона "ДоÑтупен".</li> <li> <i>ИÑпользовано</i> — количеÑтво иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°. ПозволÑет определить факт иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸, как ÑледÑтвие, возможноÑÑ‚ÑŒ Ñтруктурных изменений шаблона.</li> <li> <i>Дата модификации</i> — дата и Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледней модификации объекта.</li></ul></li> <li> Раздел "КонфигурациÑ" — непоÑредÑтвенно Ñодержит Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸: <ul><li> <i>Идентификатор</i> — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± идентификаторе шаблона.</li> <li> <i>ИмÑ</i> — указывает Ð¸Ð¼Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°.</li> <li> <i>ОпиÑание</i> — краткое опиÑание шаблона и его назначениÑ.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:979px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_tmpl_main_ru.png"><img class="thumbimage" height="549" src="files/QTCfg_subsys_daq_tmpl_tmpl_main_ru.png" width="977" /></a> <div class="thumbcaption">РиÑ. 4.5e. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° конфигурации шаблона параметров подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Вкладка "Ð’Ð’" (РиÑ.4.5f) Ñодержит конфигурацию атрибутов (Вход-Выход) шаблонов и текÑÑ‚ программы шаблона на Ñзыке пользовательÑкого Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSCADA, например, "JavaLikeCalc.JavaScript". Признак "Переводить программу" указывает на Ñохранение и перевод текÑта программы Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñзыка (человечеÑкого) отдельно, что уÑложнÑет поддержание алгоритма одинаковым Ð´Ð»Ñ <a href="#Config">многоÑзычных конфигураций</a>. Ðтот признак в целом внедрён Ð´Ð»Ñ ÑовмеÑтимоÑти Ñо Ñтарыми верÑиÑми OpenSCADA, не рекомендуетÑÑ Ð´Ð»Ñ ÑƒÑтановки и на данное Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð°ÐºÑ‚Ð¸ÐºÑƒÐµÑ‚ÑÑ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´ конкретных текÑтовых Ñообщений в текÑте программы, через функцию <a href="User_API.html#JavaLikeCalc" title="Special:MyLanguage/Documents/User API">tr()</a>. </p><p>Ð’ таблице атрибутов шаблона пользователь может, поÑредÑтвом контекÑтного меню: добавить, вÑтавить, удалить, передвинуть вверх или вниз запиÑÑŒ атрибута, а также отредактировать Ð¿Ð¾Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°: </p> <ul><li> <i>Идентификатор</i> — идентификатор атрибута.</li> <li> <i>ИмÑ</i> — Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°.</li> <li> <i>Тип</i> — выбор типа Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° из ÑпиÑка: "ВещеÑтвенный", "Целый", "ЛогичеÑкий", "Строка", "Строка (перевод)", "ТекÑÑ‚", "ТекÑÑ‚ (перевод)", "Объект", "Выбор целых чиÑел", "Выбор вещеÑтвенных чиÑел", "Выбор Ñтрок".</li> <li> <i>Режим</i> — выбор режима из ÑпиÑка: "Вход", "Выход". Обычно иÑпользуетÑÑ Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ данных поÑредÑтвом ÑвÑзи. Т.е. Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "Вход" данные по ÑвÑзи будут только получатьÑÑ, а Ð´Ð»Ñ "Выход" также будут передаватьÑÑ, в Ñлучае модификации.</li> <li> <i>Ðтрибут</i> — режим атрибута параметра реализованного на оÑнове шаблона, из ÑпиÑка: "Ðе атрибут", "Только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ", "Полный доÑтуп". Ð”Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² шаблона у которых Ñто поле уÑтановлено будет ÑоздаватьÑÑ ÑоответÑтвующий атрибут у параметра контроллера Ñтой подÑиÑтемы.</li> <li> <i>КонфигурациÑ</i> — режим конфигурации атрибута во вкладке конфигурации шаблона у параметра контроллера Ñтой подÑиÑтемы, из ÑпиÑка: "ПеременнаÑ", "КонÑтанта", "СвÑзь". Ð’ режимах "КонÑтанта" и "СвÑзь" во вкладке конфигурации шаблона будут добавлены Ñти атрибуты Ð´Ð»Ñ ÑƒÑтановки конÑтанты или ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ ÑвÑзи параметра.</li> <li> <i>Значение</i> — значение атрибута по умолчанию или шаблон ÑÑылки Ð´Ð»Ñ Ð´Ð¾Ñтупа по ÑÑылке: <ul><li> Формат шаблона ÑÑылки завиÑит от компонента который его иÑпользует. Общий формат ÑÑылок запиÑываетÑÑ Ð² виде: <b>{Parameter}|{attribute}</b>. Поле <i>Parameter</i> — указывает Ð¸Ð¼Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° как контейнера атрибутов. Ðтрибуты Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ значением <i>Parameter</i> будут группироватьÑÑ Ð¸ позволÑÑ‚ назначатьÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ только контейнера атрибутов, а отдельные атрибуты будут ÑвÑзаны Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ контейнера в ÑоответÑтвии Ñ Ð¿Ð¾Ð»ÐµÐ¼ <i>attribute</i>.</li> <li> Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð½Ñ‹Ñ… типов Ñто поле также может Ñодержать перечень значений, во второй Ñтроке, и перечень наименований, в третьей Ñтроке, Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ Ñлементов Ñимволом ";".</li></ul></li></ul> <p>С ÑинтакÑиÑом Ñзыка программы шаблона можно ознакомитьÑÑ Ð² документации модулÑ, предоÑтавлÑющего интерпретатор выбранного Ñзыка. Ðапример, типичным Ñзыком пользовательÑкого Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSCADA ÑвлÑетÑÑ <a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">JavaLikeCalc.JavaScript</a>. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1037px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_tmpl_tmpl_io_ru.png"><img class="thumbimage" height="718" src="files/QTCfg_subsys_daq_tmpl_tmpl_io_ru.png" width="1035" /></a> <div class="thumbcaption">РиÑ. 4.5f. Вкладка конфигурации атрибутов и программы шаблона подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Each module of the subsystem "Data acquisition" provides the configuration page with the tabs "Controllers" and "Module". The tab "Controllers" (Fig.4.5g) contains the Number field with detailed quantity of the controller objects with the common statistic about ones: running, enabled and in errors per the error codes; also as a list of controller objects, registered in the module. In the context menu of the list user can add, delete and move to the desired controller object. On the tab "Module" there is information on the module of the subsystem "Data acquisition" (Fig.4.1d), which structure is identical for all modules. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:765px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr.png"><img class="thumbimage" height="481" src="../en/files/QTCfg_subsys_daq_mod_cntr.png" width="763" /></a> <div class="thumbcaption">РиÑ. 4.5g. Вкладка "Контроллеры" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "Сбор данных".</div></div></div></div> <p>Каждый объект контроллера Ñодержит ÑобÑтвенную Ñтраницу конфигурации Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "Контроллер", "Параметры" и "ДиагноÑтика". </p><p>The tab "Controller" (Fig.4.5h) contains the basic settings. Content of these settings may differ slightly from one module of this subsystem to another, as you can find in the own documentation of the modules. As an example, let's examine the settings of a controller object in the module of the logical level controller <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">DAQ.LogicLev</a>: </p> <ul><li> Section "State" — contains the properties, which characterize the state of the controller object and the controller itself:</li></ul> <dl><dd><ul><li> <i>Status</i> — specifies the controller object status. In our case, the controller is running and the current computation time is 1.15 milliseconds and the maximum one is 2.42 milliseconds.</li> <li> <i>Enabled</i> — state of the controller object "Enabled". When enabled, the controller object provides the possibility of creating the parameters and their configuration.</li> <li> <i>Running</i> — State of the controller object "Running". The running controller object performs the physical data acquisition and/or includes mechanisms for access to these data.</li></ul> <dl><dd> <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Some data source types provides a possibility of performing some part of the function of coming to the <i>Enabled</i> state — hot updating the data configuration at the manual starting and that you can see in the field tooltip.</dd></dl> <ul><li> <i>Storage</i> — data storage of the controller object and its parameters, with tracking the availability of the data in different storages and providing the sequentially removing duplicates. Parameters of different types are stored in different tables with own structure and unified name "{ModId}{TypeId}_{CntrId}", which can be specific for some modules.</li> <li> <i>Date of modification</i> — date and time for the object last modification.</li></ul></dd></dl> <ul><li> Section "Configuration" — directly contains the configuration fields:</li></ul> <dl><dd><ul><li> <i>Identifier</i> — information on the controller object identifier.</li> <li> <i>Name</i> — specifies the controller name.</li> <li> <i>Description</i> — brief description of the controller and its purpose.</li> <li> <i>To enable</i> — indicates the state of "Enabled", in which to transfer the controller object at the program startup.</li> <li> <i>To start</i> — indicates the state of "Running", in which to transfer the controller object at the program startup.</li> <li> <i>Schedule of the calculation</i> — defines whether periodic or scheduled character of the calculations is. In our example the template calculation is periodic in one second.</li> <li> <i>Priority of the acquisition task</i> — sets priority of the data acquisition of this controller. It is used when scheduling the operating system tasks. In the case of proper access availability this field enables the planning of the controller task in real time and with the specified priority otherwise it modifies the parameter "nice" of the task.</li></ul></dd></dl> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:783px;"><a class="image" href="http://oscada.org/wiki/File:LogicLev_cntr.png"><img class="thumbimage" height="619" src="../en/files/LogicLev_cntr.png" width="781" /></a> <div class="thumbcaption">РиÑ. 4.5h. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° конфигурации объекта контроллера подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Вкладка "Параметры" (РиÑ.4.5i) Ñодержит ÑпиÑок параметров в объекте контроллера, предоÑтавлÑет выбор типа Ñоздаваемых по умолчанию параметров, а также информацию об общем количеÑтве и количеÑтве включенных параметров. Ð’ контекÑтном меню ÑпиÑка параметров пользователю предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ добавлениÑ, ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸ перехода к нужному параметру. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:689px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_ru.png"><img class="thumbimage" height="614" src="files/QTCfg_subsys_daq_mod_cntr_prm_ru.png" width="687" /></a> <div class="thumbcaption">РиÑ. 4.5i. Вкладка "Параметры" Ñтраницы конфигурации объекта контроллера подÑиÑтемы "Сбор данных".</div></div></div></div> <p><span id="DAQDiagnostic" title="#DAQDiagnostic">Вкладка "ДиагноÑтика"</span> (РиÑ.4.5j) Ñодержит форму диагноÑтичеÑких Ñообщений иÑточника данных. ПоÑкольку многие иÑточники данных предÑтавлÑÑŽÑ‚ Ñобой внешние уÑтройÑтва Ñ Ð´Ð¾Ñтупом к данным поÑредÑтвом Ñетевого обмена или ÑиÑтемной шины то возможны различные нештатные Ñитуации при доÑтупе к данным. Вывод вÑех их в поле "СтатуÑ" объекта контроллера невозможен поÑкольку он отображает только текущее ÑоÑтоÑние доÑтупа к данным. С помощью диагноÑтики можно проÑледить вÑе нештатные Ñитуации в виде Ñообщений, Ñформированных данным объектом контроллера за указанный промежуток времени и Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ уровнем ÑообщениÑ. Кроме непоÑредÑтвенно рабочей диагноÑтичеÑкой информации Ñ€Ñд модулей иÑточников данных могут предоÑтавлÑÑ‚ÑŒ здеÑÑŒ различные отладочные дампы обмена, на уровне Ñообщений "Отладка (0)". </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1048px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_diagn.png"><img class="thumbimage" height="723" src="../en/files/QTCfg_subsys_daq_mod_cntr_diagn.png" width="1046" /></a> <div class="thumbcaption">РиÑ. 4.5j. Вкладка "ДиагноÑтика" Ñтраницы конфигурации объекта контроллера подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Параметры объектов контроллеров подÑиÑтемы "Сбор данных" предоÑтавлÑÑŽÑ‚ конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "Параметр", "Ðтрибуты", "ÐрхивациÑ", "Включение" и "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°". </p><p>Вкладка "Параметр" (РиÑ.4.5k) Ñодержит оÑновные наÑтройки в ÑоÑтаве: </p> <ul><li> Раздел "СоÑтоÑние" — Ñодержит ÑвойÑтва, характеризующие ÑоÑтоÑние параметра: <ul><li> <i>Тип</i> — указывает тип параметра. Тип выключенного параметра может быть изменён еÑли доÑтупно неÑколько типов.</li> <li> <i>Включен</i> — ÑоÑтоÑние параметра "Включен". Включенный параметр иÑпользуетÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð¼ контроллера Ð´Ð»Ñ Ñбора данных.</li> <li> <i>Дата модификации</i> — дата и Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледней модификации объекта.</li></ul></li> <li> Раздел "КонфигурациÑ" — непоÑредÑтвенно Ñодержит Ð¿Ð¾Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸: <ul><li> <i>Идентификатор</i> — Ñодержит информацию об идентификаторе параметра.</li> <li> <i>ИмÑ</i> — указывает Ð¸Ð¼Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°.</li> <li> <i>ОпиÑание</i> — краткое опиÑание параметра и его назначениÑ.</li> <li> <i>Включать</i> — указывает на ÑоÑтоÑние "Включен" в которое переводить параметр при запуÑке программы.</li> <li> <i>Шаблон параметра</i> — Ð°Ð´Ñ€ÐµÑ Ñ€Ð°Ð½ÐµÐµ нами раÑÑмотренного шаблона.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:831px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_main_ru.png"><img class="thumbimage" height="653" src="files/QTCfg_subsys_daq_mod_cntr_prm_main_ru.png" width="829" /></a> <div class="thumbcaption">РиÑ. 4.5k. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° конфигурации параметра объекта контроллера подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Вкладка "Ðтрибуты" (РиÑ.4.5l) Ñодержит атрибуты параметра и их Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² ÑоответÑтвии Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸ÐµÐ¹ иÑпользуемого шаблона и вычиÑÐ»ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ программы. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:834px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_attr_ru.png"><img class="thumbimage" height="554" src="files/QTCfg_subsys_daq_mod_cntr_prm_attr_ru.png" width="832" /></a> <div class="thumbcaption">РиÑ. 4.5l. Вкладка "Ðтрибуты" параметра объекта контроллера подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Вкладка "ÐрхивациÑ" (РиÑ.4.5m) Ñодержит таблицу Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ параметра в Ñтроках и архиваторами в колонках. Пользователь имеет возможноÑÑ‚ÑŒ уÑтановить архивацию нужного атрибута требуемым архиватором проÑто изменив Ñчейку на переÑечении. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:834px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_arch_ru.png"><img class="thumbimage" height="554" src="files/QTCfg_subsys_daq_mod_cntr_prm_arch_ru.png" width="832" /></a> <div class="thumbcaption">РиÑ. 4.5m. Вкладка "ÐрхивациÑ" параметра объекта контроллера подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Вкладка "Включение" (Fig.4.5n) Ñодержит перечень параметров иерархичеÑки включенных в другой параметр, предоÑтавлÑет информацию об общем количеÑтве и количеÑтве включенных параметров. Ð’ контекÑтном меню пользователь может добавить, удалить и перейти к нужному параметру. Включение параметров поддерживаетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтвом иÑточников данных и глубина Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ ограничена 10 уровнÑми! </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:670px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_incl_ru.png"><img class="thumbimage" height="498" src="files/QTCfg_subsys_daq_mod_cntr_prm_incl_ru.png" width="668" /></a> <div class="thumbcaption">Fig. 4.5n. Вкладка "Включение" параметра объекта контроллера подÑиÑтемы "Сбор данных".</div></div></div></div> <p>Вкладка "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" не ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¾Ð¹, а приÑутÑтвует только в параметрах модулей подÑиÑтемы "Сбор данных", которые реализуют механизмы работы по шаблону в контекÑте иÑточника данных ими обÑлуживаемого Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкого типа. Ð’ данный обзор Ñта вкладка включена Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкой завершённоÑти обзора конфигурации шаблонов параметров подÑиÑтемы "Сбор данных" как финальный Ñтап иÑпользованиÑ. Ðта вкладка (РиÑ.4.5o) Ñодержит конфигурационные Ð¿Ð¾Ð»Ñ Ð² ÑоответÑтвии Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼. Ð’ примере Ñто Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð°Ñ ÑвÑзь на внешний параметр. Ðту ÑвÑзь можно уÑтановить проÑто указав путь к параметру, еÑли флаг "Показать атрибуты" не уÑтановлен, или же уÑтановить адреÑа отдельных атрибутов, еÑли флаг уÑтановлен. Знак "(+)" в конце адреÑа Ñигнализирует про уÑпешное ÑвÑзывание и приÑутÑтвии целевого объекта. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:834px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_daq_mod_cntr_prm_tmpl_ru.png"><img class="thumbimage" height="554" src="files/QTCfg_subsys_daq_mod_cntr_prm_tmpl_ru.png" width="832" /></a> <div class="thumbcaption">РиÑ. 4.5o. Вкладка "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°" параметра объекта контроллера подÑиÑтемы "Сбор данных".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.90.D1.80.D1.85.D0.B8.D0.B2.D1.8B-.D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F.22"><span class="mw-headline-number">4.6</span> <span id="CfgArch" title="#CfgArch">ПодÑиÑтема "Ðрхивы-ИÑториÑ"</span></span></h3> <p>ПодÑиÑтема ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и Ñодержит иерархию объектов изображённую на риÑунке 1.5. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы предуÑмотрена ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница подÑиÑтемы "Ðрхивы-ИÑториÑ", ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ¸ "Резервирование", "СообщениÑ", "ЗначениÑ" и "Модули". </p><p>Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа на модификацию объектов Ñтой подÑиÑтемы необходимы права Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² группе "Archive" или права привилегированного пользователÑ. </p><p>Объектом Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑиÑтемы "Ðрхивы-ИÑториÑ" выÑтупает объект архиватора Ñообщений в рамках которого резервирование данных выполнÑет функции: </p> <ul><li> <b>Резервирование механизма архивации</b> — предуÑматривает обобщение Ñообщений Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ñ‹Ñ… Ñтанций поÑредÑтвом трёх механизмов: <ul><li> в оÑновном цикле Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ð³Ð¾ архива оÑущеÑтвлÑетÑÑ Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð¾Ð²Ñ‹Ñ… Ñообщений архиватора на оÑновной Ñтанции от времени поÑледнего ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ð³Ð¾ объекта, где поÑледнее Ñообщение Ñто поÑледнÑÑ Ñекунда времени, что запрашиваетÑÑ Ð´Ð²Ð°Ð¶Ð´Ñ‹, чтобы предотвратить потерю Ñообщений на Ñту Ñекунду времени, но предуÑмотрен механизм ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð´ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ‚Ð¾Ð² и их Ð¿Ð¾Ð´Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ðº непоÑредÑтвенно поÑле запроÑа, так и Ñамим архиватором;</li> <li> запиÑÑŒ или перезапиÑÑŒ Ñообщений в резервный архиватор приводит к перенаправлению запроÑа запиÑи на оÑновную Ñтанцию как Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ…, так и перезапиÑывающих Ñообщений (также ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸ÑываютÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾);</li> <li> перезапиÑÑŒ Ñообщений в оÑновной архиватор приводит к раÑÑылке Ñтих Ñообщений вÑем резервным ÑтанциÑм, где иÑключаетÑÑ Ñоздание новых запиÑей в таблице текущих Ñообщений — только Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ ÑущеÑтвующих.</li></ul></li> <li> <b>КомпенÑÐ°Ñ†Ð¸Ñ Ð¿Ð¾Ñ‚ÐµÑ€Ð¸ данных на Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾ÑÑ‚Ð¾Ñ ÑƒÐ·Ð»Ð°</b> за Ñчёт архива резервного узла. ПредуÑматривает только первичную Ñинхронизацию путём загрузки/перегрузки учаÑтков архива из резервной Ñтанции в момент запуÑка Ñтанции в целом. УчаÑток архива запрашиваетÑÑ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚Ð° поÑледней запиÑи в локальном архиве Ð¼Ð¸Ð½ÑƒÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ параметра глубины принудительной перегрузки и по текущее времÑ. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Изменённые ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° глубину более указанной будут утерÑны на запуÑкаемой Ñтанции! Процедура первичной Ñинхронизации в целом предуÑматривает:</li></ul> <dl><dd><ol><li> Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð²Ñех активных нарушений;</li> <li> Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñообщений конкретного архива на глубину, указанную параметром "Глубина принудительной перезагрузки иÑтории резерва при запуÑке", и по Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ запроÑа, Ñ‚.е. когда новые активные Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾ не поÑвÑÑ‚ÑÑ;</li> <li> переход в нормальный режим отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… Ñообщений и нарушений через архив.</li></ol></dd></dl> <ul><li> <b>РаÑпределение нагрузки по архивации между узлами</b>. При Ñоздании Ñложных раÑпределённых ÑиÑтем может оказатьÑÑ Ð²Ð°Ð¶Ð½Ñ‹Ð¼ Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ñ€Ð¾Ð³Ð½Ð¾Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ оптимизации общей производительноÑти ÑиÑтемы Ñ ÑƒÑ‡Ñ‘Ñ‚Ð¾Ð¼ которого механизм Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑƒÑматривает иÑполнение задач архивации отдельных архиваторов только на одной Ñтанции. При Ñтом задачи оÑтальных Ñтанций переходÑÑ‚ в режим Ñинхронизации данных Ñ Ð¸ÑполнÑющей Ñтанцией. Ð’ Ñлучае потери ÑвÑзи Ñ Ð¸ÑполнÑющей Ñтанцией запуÑкаетÑÑ Ð·Ð°Ð´Ð°Ñ‡Ð° локальной архивации. ПредуÑмотрена также возможноÑÑ‚ÑŒ оптимального раÑпределение нагрузки иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñ‡ архивации группы архивов между ÑтанциÑми.</li> <li> <b>ВоÑÑтановление первичноÑти нарушений</b>. Ð”Ð»Ñ Ñообщений о нарушениÑÑ…, отрицательный уровень, при запиÑи оÑущеÑтвлÑетÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ñ… нарушений, а именно — обеÑпечиваетÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸ÑÑŒ только Ñтарыми-оригинальными.</li></ul> <p>Резервирование архиваторов значений не предоÑтавлÑетÑÑ Ð¿Ñ€Ñмо ввиду оÑущеÑÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ñтого процеÑÑа через иÑточники данных и подÑиÑтему Ñбора данных. </p><p>Вкладка "Резервирование" (РиÑ.4.6a) доÑтупна только еÑли в резерве указана хотÑ-бы одна ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ (РиÑ.4c) и Ñодержит конфигурацию Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð¾Ð² Ñообщений подÑиÑтемы "Ðрхивы-ИÑториÑ", в ÑоÑтаве наÑтроек: </p> <ul><li> <i>Глубина принудительной перезагрузки иÑтории резерва при запуÑке</i> — указывает на глубину, в Ñутках, запроÑа Ñообщений у резервной Ñтанции от времени поÑледнего ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² локальном архиве. Иногда может быть полезным Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ñ€ÑƒÐ·ÐºÐ¸ поÑледних Ñообщений еÑли они потенциально могут поменÑÑ‚ÑŒÑÑ-дополнитьÑÑ Ð½Ð° резервной Ñтанции при проÑтое локальной.</li> <li> <i>Ðрхиваторы Ñообщений</i> — Ñодержит таблицу Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¼ архиваторов Ñообщений доÑтупных Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ текущее их ÑоÑтоÑние: <ul><li> <i>Ðрхиватор</i> — полный идентификатор архиватора Ñообщений;</li> <li> <i>ИмÑ</i> — Ð¸Ð¼Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð°;</li> <li> <i>ИÑполнÑетÑÑ</i> — признак иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð° локальной Ñтанцией;</li> <li> <i>Резервирование</i> — режим Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°Ñ‚Ð¾Ñ€Ð° — включение;</li> <li> <i>Предпочтение иÑполнениÑ</i> — ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ñ‡Ñ‚Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° указанной Ñтанции; зарезервированные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‚ на: <ul><li> <b><Ð’Ñ‹Ñокий уровень></b> — иÑполнение на Ñтанции Ñ Ñамым выÑоким уровнем.</li> <li> <b><Ðизкий уровень></b> — иÑполнение на Ñтанции Ñ Ñамым низким уровнем.</li> <li> <b><Оптимально></b> — выбор Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ð¸Ð¼ÐµÐ½ÐµÐµ нагруженной Ñтанции — Ñтанции ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸ÑполнÑет наименьшее количеÑтво объектов архиваторов.</li></ul></li> <li> <i>Удалённый</i> — признак, указывающий на иÑполнение архиватора удалённой Ñтанцией и работу локальной Ñтанции в режиме Ñинхронизации данных Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¹.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:947px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_red_ru.png"><img class="thumbimage" height="475" src="files/QTCfg_subsys_arch_red_ru.png" width="945" /></a> <div class="thumbcaption">РиÑ. 4.6a. Вкладка "Резервирование" подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>Вкладка "СообщениÑ" (РиÑ.4.6b) Ñодержит конфигурацию архива Ñообщений и форму запроÑа Ñообщений из него. </p><p>Configuration of the messages archive is represented by the fields: </p> <ul><li> <i>Buffer size, archiving period</i> — indicates the size of the memory area reserved for the interim buffer of messages. Messages from the buffer are requested for viewing and archived with the messages archivers by the specified periodicity in seconds.</li> <li> <i>Days of the alarms automatic clearing</i> — after that term the alarms are meant as forgotten and inactual, so removed from the table of the active alarms. Zero disables the automatic clearing.</li></ul> <p>The messages request form contains the configuration fields of the request and the table of results. Configuration fields of the request are: </p> <ul><li> <i>Time, depth and level</i> — specifies the request time, depth and minimum level of messages (more or equal).</li> <li> <i>Category pattern</i> — specifies the category of the requested messages. In the category you can specify the elements of selection by template, that is the characters '*' — for any string and '?' — for any character, as well as a regular expression enclosed between the symbols '/' (/mod_(System|LogicLev)/).</li> <li> <i>Archivers</i> — indicates the messages archivers (separated by symbol ';'), for which the request is to be processed. If the value is missing, the request will be processed for the buffer and all archivers. If "<buffer>" is specified then the request will be processed for the messages buffer.</li></ul> <p>Таблица результата Ñодержит Ñтроки Ñообщений Ñ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ°Ð¼Ð¸: </p> <ul><li> <i>ВремÑ</i>, <i>мкÑ</i> — Ð¿Ð¾Ð»Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° и Ð²Ñ€ÐµÐ¼Ñ ÑообщениÑ, а также микроÑÐµÐºÑƒÐ½Ð´Ð½Ð°Ñ Ñ‡Ð°ÑÑ‚ÑŒ, отдельно.</li> <li> <i>КатегориÑ</i> — ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ ÑообщениÑ.</li> <li> <i>Уровень</i> — уровень ÑообщениÑ.</li> <li> <i>Сообщение</i> — непоÑредÑтвенно текÑÑ‚ ÑообщениÑ.</li></ul> <p>Ð”Ð»Ñ Ñообщений о нарушениÑÑ…, поÑле таблицы поÑвлÑетÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ° очиÑтки Ñтой таблицы на предмет видимых нарушений, что полезно Ð´Ð»Ñ ÑервиÑных функций. Таблица также дополнÑетÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ "Удалить" Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… нарушений. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:916px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mess.png"><img class="thumbimage" height="780" src="../en/files/QTCfg_subsys_arch_mess.png" width="914" /></a> <div class="thumbcaption">РиÑ. 4.6b. Вкладка "СообщениÑ" подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>The tab "Values" (Fig.4.6c) contains the general configuration of the values archiving and list of the value archives. In the context menu of the list of values the user has the opportunity to add, delete and go to the desired archive. The general configuration of the archiving is represented by the fields: </p> <ul><li> <i>Period of the data receiving</i> — indicates the periodicity of the task of the active archiving, in milliseconds. Highest level of detail or minimum period of the active archives is in fact determined by this value.</li> <li> <i>Level of priority of the data receiving task</i> — sets priority of the task of the active archiving. It is used when scheduling the operating system tasks. In the case of proper access availability this field enables the planning of the archiving task in real time and with the specified priority otherwise it modifies the parameter "nice" of the task.</li> <li> <i>Forced to set timestampes in the current time</i> — timestamp of received values, on the active archiving, forces to the current time, replaces the data source time.</li> <li> <i>Mode of forming ID of the automatic created archives</i> — the mode of forming identifier at selecting the archiving in the tab "Archiving" of the DAQ-parameters.</li> <li> <i>Number</i> — detailed quantity of the value archives with the common statistic about ones: enabled, no source (passive), error (missing source), lost (empty storage), doubly linked.</li> <li> <i>Value archives</i> — list of the value archives itself.</li> <li> <i>Remove all ...</i> — group operations of removing all no source - passive, with error source - missing source, lost archives - empty storage, doubly linked.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:774px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_val.png"><img class="thumbimage" height="724" src="../en/files/QTCfg_subsys_arch_val.png" width="772" /></a> <div class="thumbcaption">РиÑ. 4.6c. Вкладка "ЗначениÑ" подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>Вкладка "Модули" (РиÑ.4.1b) Ñодержит ÑпиÑок модулей подÑиÑтемы "Ðрхивы-ИÑториÑ" и идентична Ð´Ð»Ñ Ð²Ñех модульных подÑиÑтем. </p><p>Ðрхив значений подÑиÑтемы "Ðрхивы-ИÑториÑ" предоÑтавлÑет конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "Ðрхив", "Ðрхиваторы" и "ЗначениÑ". </p><p>The tab "Archive" (Fig.4.6d) contains the basic settings of the archive: </p> <ul><li> Section "State" — contains the properties, which characterize the state of the archive: <ul><li> <i>Running</i> — state of the parameter "Running". Running archive collects data in the buffer and is served by the archivers.</li> <li> <i>Begin and end of the buffer</i> — date and time of values begin and end into the buffer.</li> <li> <i>Storage</i> — the archive's data storage, with tracking the availability of the data in different storages and providing the sequentially removing duplicates.</li></ul></li> <li> Section "Configuration" — directly contains the configuration fields: <ul><li> <i>Identifier</i> — information on the archive identifier.</li> <li> <i>Name</i> — specifies the archive name.</li> <li> <i>Description</i> — brief description of the archive and its purpose.</li> <li> <i>To start</i> — indicates the state "Running" in which to transfer the archive at the program startup.</li> <li> <i>Source</i> — indicates the type and address of the source. Type of source is indicated from the list: "Passive", "DAQ Attribute" or "Active DAQ Attribute (DEPRECATED)". Passive archive does not have an associated source of values, the data to the such archive the source transfers by itself, for example from calculating procedures of users on internal programming language. Types with the attribute of the parameter in the address field indicate the parameter attribute of the subsystem "Data acquisition" as the source. Main attribute of the parameter sends data to the archive by itself with its own period of the data acquisition. Active attribute of the parameter is acquired by the archiving task of this subsystem. All real data sources work in the main archiving mode since the received data is immediately placed in the parameter attribute, sometimes by the source timestamp. The calculators (<a href="Modules/JavaLikeCalc.html" title="Special:MyLanguage/Modules/JavaLikeCalc">DAQ.JavaLikeCalc</a>, <a href="Modules/LogicLev.html" title="Special:MyLanguage/Modules/LogicLev">DAQ.LogicLev</a>, <a href="Modules/BlockCalc.html" title="Special:MyLanguage/Modules/BlockCalc">DAQ.BlockCalc</a>, <a href="Modules/Siemens.html" title="Special:MyLanguage/Modules/Siemens">DAQ.Siemens</a>, <a href="Modules/OPC_UA.html" title="Special:MyLanguage/Modules/OPC UA">DAQ.OPC_UA</a>) also works now in the main archiving mode and early used the active archiving mode because the data in the attribute parameter was updated only with them direct request, and was taken from the execution context. In the case of the real data sources, the difference between active and main mode of archiving by the fact that in the main mode the source can put data into the archive by timestamp, and in the active mode the timestamp is always set to the current system time.</li> <li> <i>Data combining mode</i> — sets the combining mode for data writing from the high-resolution buffer (for example, 1 second) to low-resolution archiver (for example, 1 minute), when into single point of the archiver placed several values (for example, 60) from the buffer. The modes implemented: "Moving average", "Single", "Minimum" and "Maximum".</li> <li> <i>Value type</i> — indicates the type of values which are stored in the archive from the list: "Boolean", "Integer", "Real", "String", "Int16", "Int32", "Int64", "Real(Float)" and "Real(Double)".</li> <li> <i>Buffer period</i> — indicates the periodicity of values in the archive buffer, in seconds.</li> <li> <i>Buffer size</i> — indicates the dimension or depth of the archive buffer. The dimension is automatically sets at a rate of 60 sec of the periodicity of the archiving task, with the remainder.</li> <li> <i>Buffer in the hard time grid</i> — indicates the mode of the buffer. The hard time grid mode involves the memory reservation for each value, but without the timestamp. This mode eliminates the possibility of packaging the adjacently-identical values but also saves on storage of the timestamp. Otherwise, the buffer operates in the mode of storage the value and timestamp and supports the packaging of adjacently-identical values.</li> <li> <i>Buffer in the high time resolution</i> — indicates the possibility of storing values at intervals and dimensions up to 1 microsecond, differently the values can be stored at intervals and dimensions up to 1 second.</li> <li> <i>Filling the passage points with the last value</i> — the passage values mostly fill by EVAL but sometime data periodicity of the source greater to the archive's one and it is normal.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:866px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_va_arch.png"><img class="thumbimage" height="719" src="../en/files/QTCfg_subsys_arch_va_arch.png" width="864" /></a> <div class="thumbcaption">РиÑ. 4.6d. ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° конфигурации архива значений подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>Вкладка "Ðрхиваторы" (РиÑ.4.6e) Ñодержит таблицу Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸ÐµÐ¹ процеÑÑа обработки данного архива доÑтупными архиваторами. Ð’ Ñтроках раÑположены доÑтупные архиваторы, а в колонках параметры: </p> <ul><li> <i>Ðрхиватор</i> — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± адреÑе архиватора.</li> <li> <i>ВыполнÑетÑÑ</i> — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ ÑоÑтоÑнии "ВыполнÑетÑÑ" архиватора.</li> <li> <i>Обработка</i> — признак обработки данного архива архиватором. Поле доÑтупно Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ пользователем.</li> <li> <i>Период</i> — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ периодичноÑти архиватора, в Ñекундах.</li> <li> <i>Ðачало</i> — дата и Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° данных архива в архиваторе.</li> <li> <i>Конец</i> — дата и Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð½Ñ†Ð° данных архива в архиваторе.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:882px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_va_arcs_ru.png"><img class="thumbimage" height="530" src="files/QTCfg_subsys_arch_va_arcs_ru.png" width="880" /></a> <div class="thumbcaption">РиÑ. 4.6e. Вкладка "Ðрхиваторы" архива значений подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>The tab "Values" (Fig.4.6f) contains the values request in the archive and the result as a table of values or image of the trend. Values request contains the fields: </p> <ul><li> <i>Time</i> — indicates the time of the request. It contains two fields: the field of date+time and microseconds.</li> <li> <i>Depth</i> — specifies depth of the request.</li> <li> <i>Archiver</i> — indicates values archiver for which the request is to be processed. If the value is empty, the request will be processed for the buffer and for all archivers. If "<buffer>" is specified then the request will be processed only for the archive buffer.</li> <li> <i>Show trend</i> — indicates the necessity for presentation of the archive data in the form of a graph (trend) otherwise the result is presented in a table that contains only time and value. In the case of toggle of this field the graph image is formed and displayed, additional configuration fields of the image settings are appeared: <ul><li> <i>Image size</i> — indicates the width and height of the generated image in pixels.</li> <li> <i>Scale of the values</i> — indicates the lower and upper border of the scale of the values. If both values are set to 0 or equal, then the scale will be determined automatically depending on the values.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:969px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_va_vals.png"><img class="thumbimage" height="683" src="../en/files/QTCfg_subsys_arch_va_vals.png" width="967" /></a> <div class="thumbcaption">РиÑ. 4.6f. Вкладка "ЗначениÑ" архива значений подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>Каждый модуль подÑиÑтемы "Ðрхивы-ИÑториÑ" предоÑтавлÑет конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "Ðрхиваторы" и "Модуль". Вкладка "Ðрхиваторы" (РиÑ.4.6g) Ñодержит ÑпиÑки архиваторов Ñообщений и значений, зарегиÑтрированных в модуле. Ð’ контекÑтном меню ÑпиÑков пользователю предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ добавлениÑ, ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸ перехода к нужному архиватору. Ðа вкладке "Модуль" ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ модуле подÑиÑтемы "Ðрхивы-ИÑториÑ" (РиÑ.4.1d), ÑоÑтав которой идентичен Ð´Ð»Ñ Ð²Ñех модулей. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:697px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_arcs_ru.png"><img class="thumbimage" height="457" src="files/QTCfg_subsys_arch_mod_arcs_ru.png" width="695" /></a> <div class="thumbcaption">РиÑ. 4.6g. Вкладка "Ðрхиваторы" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>Ðрхиваторы Ñообщений Ñодержат ÑобÑтвенную Ñтраницу конфигурации Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "Ðрхиватор" и "СообщениÑ". </p><p>The "Archiver" tab (Fig.4.6h) contains the basic settings. The structure of these settings may differ slightly from one module to another one of this subsystem as you can find in the own documentation of the modules. As an example we shall examine the settings of the message archiver from the module of the archiving on the file system <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Arch.FSArch</a> Settings: </p> <ul><li> Section "State" — contains the properties, which characterize the archiver state: <ul><li> <i>Running</i> — archiver state "Running". The running archiver processes the buffer of the message archive and puts his data in its repository, but also it processes requests for access to data in the repository.</li> <li> <i>Storage</i> — the archiver's data storage, with tracking the availability of the data in different storages and providing the sequentially removing duplicates.</li> <li> <i>End and Begin of the archiver</i> — date and time of the end and start of data in the archiver repository.</li> <li> <i>Overall size of the archiver files</i> — information about the total size of the archiver files with the data.</li> <li> <i>Archiving time</i> — current and maximum time spent on the archiving of data of the message archive.</li></ul></li> <li> Section "Configuration" — directly contains the configuration fields: <ul><li> <i>Identifier</i> — information on the archiver identifier.</li> <li> <i>Name</i> — indicates the archiver name.</li> <li> <i>Description</i> — brief description of the archiver and its purpose.</li> <li> <i>To start</i> — indicates the state "Running" in which to transfer the archiver at the program startup.</li> <li> <i>Message categories</i> — list of categories of messages, separated by ';'. Messages matched with the templates or regular expressions of categories will be processed by the archiver. In the category you can specify the elements of selection by template, that is the characters '*' — for any string and '?' — for any character, as well as a regular expression enclosed between the symbols '/' (/mod_(System|LogicLev)/).</li> <li> <i>Messages level</i> — indicates the level of the archiver messages. Messages with the level greater than or equal to the specified one are processed by the archiver — taken from the buffer.</li> <li> <i>Address</i> — address of the storage in the specific for the type of archiver (module) format. The format description usually available in the tooltip for this field. In the example it is the relative path to the storage directory.</li></ul></li> <li> Section "Additional options" — a specialized section for the module, the contents of which can be found in the documentation for the module.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:778px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_main.png"><img class="thumbimage" height="668" src="../en/files/QTCfg_subsys_arch_mod_ma_main.png" width="776" /></a> <div class="thumbcaption">РиÑ. 4.6h. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° конфигурации архиватора Ñообщений подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>The "Messages" tab (Fig.4.6i) contains the form of the messages request from the archive of the archiver: </p> <ul><li> <i>Time, depth and level</i> — specifies the request date and time, depth and minimum level of messages (more or equal).</li> <li> <i>Category pattern</i> — indicates the category of the requested messages. In the category you can specify the elements of selection by template, that is the characters '*' — for any string and '?' — for any character, as well as a regular expression enclosed between the symbols '/' (/mod_(System|LogicLev)/).</li></ul> <p>Таблица результата Ñодержит Ñтроки Ñообщений Ñ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ°Ð¼Ð¸: </p> <ul><li> <i>ВремÑ</i>, <i>мкÑ</i> — Ð¿Ð¾Ð»Ð½Ð°Ñ Ð´Ð°Ñ‚Ð° и Ð²Ñ€ÐµÐ¼Ñ ÑообщениÑ, а также микроÑÐµÐºÑƒÐ½Ð´Ð½Ð°Ñ Ñ‡Ð°ÑÑ‚ÑŒ, отдельно.</li> <li> <i>КатегориÑ</i> — ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ ÑообщениÑ.</li> <li> <i>Уровень</i> — уровень ÑообщениÑ.</li> <li> <i>Сообщение</i> — непоÑредÑтвенно текÑÑ‚ ÑообщениÑ.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:969px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_ma_mess.png"><img class="thumbimage" height="683" src="../en/files/QTCfg_subsys_arch_mod_ma_mess.png" width="967" /></a> <div class="thumbcaption">РиÑ. 4.6i. Вкладка запроÑа Ñообщений "СообщениÑ" архиватора Ñообщений подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>Ðрхиваторы значений Ñодержат ÑобÑтвенную Ñтраницу конфигурации Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "Ðрхиватор" и "Ðрхивы". </p><p>The "Archivator" tab (Fig.4.6j) contains the basic settings. The structure of these settings may differ slightly from one module to another one of this subsystem as you can find in the own documentation of the modules. As an example we shall examine the settings of the value archiver from the module of the archiving on the file system <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Arch.FSArch</a> Settings: </p> <ul><li> Section "State" — contains the properties, which characterize the archiver state: <ul><li> <i>Running</i> — archiver state "Running". The running archiver processes the buffers of the value archives and puts their data in its repository, but also it processes requests for access to data in the repository.</li> <li> <i>Archiving time</i> — current and maximum time spent on the archiving of data of the buffers of the archives. Periodicity of archiving is set in the field "Period of the archiving" in the section "Configuration" of the tab.</li> <li> <i>Storage</i> — the archiver's data storage, with tracking the availability of the data in different storages and providing the sequentially removing duplicates.</li> <li> <i>Overall size of the archiver files</i> — information about the total size of the archiver files with the data.</li></ul></li> <li> Section "Configuration" — directly contains the configuration fields: <ul><li> <i>Identifier</i> — information on the archiver identifier.</li> <li> <i>Name</i> — indicates the archiver name.</li> <li> <i>Description</i> — brief description of the archiver and its purpose.</li> <li> <i>To start</i> — indicates the state "Running" in which to transfer the archiver at the program startup.</li> <li> <i>Address</i> — address of the storage in the specific for the type of archiver (module) format. The format description usually available in the tooltip for this field. In the example it is the relative path to the storage directory.</li> <li> <i>Period of the values</i> — indicates the periodicity of the values those are contained in the archiver repository, in seconds.</li> <li> <i>Period of the archiving</i> — indicates the periodicity of an archiving task of data of the buffers of the archives, in seconds. The size of the buffers of the archives in the time expression must not be less, and preferably somewhat greater, then the periodicity of the of archiving task. Set a zero period to disable the use of the archiver in processing the buffer — just a direct recording.</li> <li> <i>Selection priority</i> — selection of a priority of the archiver for using in the source mode "All". Set to zero for full the selection disabling.</li></ul></li> <li> Section "Additional options" — a specialized section for the module, the contents of which can be found in the documentation for the module.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:778px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_va_main.png"><img class="thumbimage" height="668" src="../en/files/QTCfg_subsys_arch_mod_va_main.png" width="776" /></a> <div class="thumbcaption">РиÑ. 4.6j. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° конфигурации архиватора значений подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <p>Вкладка "Ðрхивы" (РиÑ.4.6k) Ñодержит таблицу Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹ об архивах, обрабатываемых архиватором. Таблица в Ñтроках Ñодержит архивы, а в колонках информацию: </p> <ul><li> <i>Ðрхив</i> — Ð¸Ð¼Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°.</li> <li> <i>Период, Ñекунд</i> — периодичноÑÑ‚ÑŒ архива.</li> <li> <i>Размер буфера</i> — размер буфера, в единицах.</li> <li> <i>ПоÑледнее чтение буфера</i> — дата и Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… из буфера.</li> <li> <i>Размер файлов</i> — Ñпецифичное Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Arch.FSArch</a> поле Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹ о Ñуммарном размере файлов хранилища архиватора Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð°.</li></ul> <p>Ð’ Ñлучае Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ <a href="Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">Arch.FSArch</a> в Ñтой вкладке ещё ÑодержитÑÑ Ñ„Ð¾Ñ€Ð¼Ð° ÑкÑпорта данных архиватора. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1013px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_arch_mod_va_archs_ru.png"><img class="thumbimage" height="540" src="files/QTCfg_subsys_arch_mod_va_archs_ru.png" width="1011" /></a> <div class="thumbcaption">РиÑ. 4.6k. Вкладка "Ðрхивы" архиватора значений подÑиÑтемы "Ðрхивы-ИÑториÑ".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.9F.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D1.81.D0.BA.D0.B8.D0.B5_.D0.B8.D0.BD.D1.82.D0.B5.D1.80.D1.84.D0.B5.D0.B9.D1.81.D1.8B.22"><span class="mw-headline-number">4.7</span> ПодÑиÑтема "ПользовательÑкие интерфейÑÑ‹"</span></h3> <p>ПодÑиÑтема ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы предуÑмотрена ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница подÑиÑтемы "ПользовательÑкие интерфейÑÑ‹", ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÑƒ "ПодÑиÑтема" и вкладку "Модули". Вкладка "ПодÑиÑтема" (РиÑ.4.7a) в данный момент Ñодержит только конфигурационное поле уÑтановки шрифта подÑветки ÑинтакÑиÑу коду. Вкладка "Модули" (РиÑ.4.1b) Ñодержит ÑпиÑок модулей подÑиÑтемы "Специальные" и идентична Ð´Ð»Ñ Ð²Ñех модульных подÑиÑтем. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:727px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_ui_ru.png"><img class="thumbimage" height="404" src="files/QTCfg_subsys_ui_ru.png" width="725" /></a> <div class="thumbcaption">Fig. 4.7a. Вкладка "ПодÑиÑтема" корневой Ñтраницы "ПользовательÑкие интерфейÑÑ‹".</div></div></div></div> <p>Каждый модуль подÑиÑтемы "ПользовательÑкие интерфейÑÑ‹" предоÑтавлÑет конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "ПользовательÑкий интерфейÑ" и "Модуль". Вкладка "ПользовательÑкий интерфейÑ" (РиÑ.4.7b) предоÑтавлÑет параметр Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð·Ð° ÑоÑтоÑнием "ВыполнÑетÑÑ" модулÑ, а также разделы конфигурации, Ñпециализированные Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹ Ñтой подÑиÑтемы. Во вкладке "Модуль" ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ модуле подÑиÑтемы "ПользовательÑкие интерфейÑÑ‹" (РиÑ.4.1d), ÑоÑтав которой идентичен Ð´Ð»Ñ Ð²Ñех модулей. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:921px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_ui_mod_ru.png"><img class="thumbimage" height="541" src="files/QTCfg_subsys_ui_mod_ru.png" width="919" /></a> <div class="thumbcaption">РиÑ. 4.7b. Вкладка "ПользовательÑкий интерфейÑ" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "ПользовательÑкие интерфейÑÑ‹".</div></div></div></div> <p>Ð’ ÑвÑзи Ñ Ñ‚ÐµÐ¼, что большинÑтво модулей Ñтой подÑиÑтемы ÑвлÑÑŽÑ‚ÑÑ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкими интерфейÑами то они Ñами могут предоÑтавлÑÑ‚ÑŒ развитый Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð°Ñтройки, например, модуль <a href="Modules/Vision.html" title="Special:MyLanguage/Modules/Vision">UI.Vision</a>, а информацию про Ñпецифику их конфигурации можно найти в ÑобÑтвенной документации Ñтих модулей. </p> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.A1.D0.BF.D0.B5.D1.86.D0.B8.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5.22"><span class="mw-headline-number">4.8</span> ПодÑиÑтема "Специальные"</span></h3> <p>ПодÑиÑтема ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы предуÑмотрена ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ñтраница подÑиÑтемы "Специальные", ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÑƒ "Модули". Вкладка "Модули" (РиÑ.4.1b) Ñодержит ÑпиÑок модулей подÑиÑтемы "Специальные" и идентична Ð´Ð»Ñ Ð²Ñех модульных подÑиÑтем. </p><p>Каждый модуль подÑиÑтемы "Специальные" предоÑтавлÑет конфигурационную Ñтраницу Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ "Специальный" и "Модуль". Вкладка "Специальный" (РиÑ.4.8) предоÑтавлÑет параметр Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð·Ð° ÑоÑтоÑнием "ВыполнÑетÑÑ" модулÑ, а также разделы конфигурации, Ñпециализированные Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹ Ñтой подÑиÑтемы. Во вкладке "Модуль" ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ модуле подÑиÑтемы "Специальные" (РиÑ.4.1d), ÑоÑтав которой идентичен Ð´Ð»Ñ Ð²Ñех модулей. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:696px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_spec_mod_ru.png"><img class="thumbimage" height="541" src="files/QTCfg_subsys_spec_mod_ru.png" width="694" /></a> <div class="thumbcaption">РиÑ. 4.8. Вкладка "Специальный" Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¿Ð¾Ð´ÑиÑтемы "Специальные".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B0_.22.D0.94.D0.B8.D1.81.D0.BF.D0.B5.D1.82.D1.87.D0.B5.D1.80_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D0.B5.D0.B9.22"><span class="mw-headline-number">4.9</span> <span id="CfgModSched" title="#CfgModSched">ПодÑиÑтема "ДиÑпетчер модулей"</span></span></h3> <p>ПодÑиÑтема не ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ подÑиÑтемы "ДиÑпетчер модулей" предуÑмотрена Ñтраница подÑиÑтемы, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÑƒ "ПодÑиÑтема". Вкладка "ПодÑиÑтема" (РиÑ.4.9) Ñодержит оÑновные наÑтройки подÑиÑтемы в ÑоÑтаве: </p> <ul><li> <i>Путь к разделÑемым библиотекам (модулÑм)</i> — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ раÑположении директории Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñми OpenSCADA. УÑтанавливаетÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <i>ModDir</i> конфигурационного файла Ñтанции.</li> <li> <i>Запрещённые модули</i> — ÑпиÑок модулей, разделённый Ñимволом ';', запрещённых Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ обновлениÑ. УÑтанавливаетÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <i>ModDeny</i> раздела подÑиÑтемы "sub_ModSched" конфигурационного файла Ñтанции. СпиÑок запрещённых модулей имеет больший приоритет чем разрешённых.</li> <li> <i>Разрешённые модули</i> — ÑпиÑок модулей, разделённый Ñимволом ';', разрешённых Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ обновлениÑ. Значение '*' иÑпользуетÑÑ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ñех модулей. УÑтанавливаетÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <i>ModAllow</i> раздела подÑиÑтемы "sub_ModSched" конфигурационного файла Ñтанции.</li> <li> <i>Период проверки модулей</i> — указывает на период проверки модулей на факт их обновлениÑ, в Ñекундах. Модули, допуÑтимые Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ обновлениÑ, будут автоматичеÑки обновлены.</li> <li> <i>Проверить модули ÑейчаÑ</i> — команда выполнить проверку модулей на факт их обновлениÑ. Модули, допуÑтимые Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ обновлениÑ, будут автоматичеÑки обновлены.</li> <li> <i>РазделÑемые библиотеки (модули)</i> — таблица Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¼ разделÑемых библиотек Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñми, обнаруженными OpenSCADA. Ð’ Ñтроках раÑположены модули, а в колонках Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ них: <ul><li> <i>ИÑточник</i> — иÑточник модулÑ(ей), который или разделÑÐµÐ¼Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° или вÑтроенный код.</li> <li> <i>ВремÑ</i> — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ дате и времени поÑледней модификации файла разделÑемой библиотеки.</li> <li> <i>Модули</i> — Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ перечне модулей в разделÑемой библиотеке.</li> <li> <i>Включен</i> — ÑоÑтоÑние "Включен" разделÑемой библиотеки. Привилегированным пользователÑм предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ ручного включениÑ/Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ñемых библиотек путём Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñтого полÑ.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1059px;"><a class="image" href="http://oscada.org/wiki/File:QTCfg_subsys_modshed_ru.png"><img class="thumbimage" height="667" src="files/QTCfg_subsys_modshed_ru.png" width="1057" /></a> <div class="thumbcaption">РиÑ. 4.9. Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° конфигурации подÑиÑтемы "ДиÑпетчер модулей".</div></div></div></div> <h3><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.BE.D0.BD.D0.BD.D1.8B.D0.B9_.D0.A4.D0.B0.D0.B9.D0.BB_.D0.B8_.D0.BF.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D1.8B_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.BD.D0.BE.D0.B9_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8"><span class="mw-headline-number">4.10</span> <span id="CfgFilePrm" title="#CfgFilePrm">Конфигурационный Файл и параметры командной Ñтроки</span></span></h3> <p>Конфигурационный Файл OpenSCADA предназначен Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¾Ñновной конфигурации Ñтанции OpenSCADA. Только в Конфигурационном Файле и через параметры командной Ñтроки можно указать чаÑÑ‚ÑŒ ключевых параметров Ñтанции, поÑтому знакомÑтво Ñо Ñтруктурой конфигурационного файла необходимо ÑпециалиÑтам, разворачивающим ÑпецифичеÑкие Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð½Ð° оÑнове OpenSCADA. Больше информации про запуÑк и иÑполнение OpenSCADA может быть найдено в Ñекции "<a href="#Startup">ЗапуÑк и иÑполнение</a>". </p> <div class="mw-collapsible mw-collapsed"> <p>Структурно Конфигурационный Файл организован на раÑширÑемом Ñзыке разметки текÑта XML. Следовательно требуетÑÑ Ð¶Ñ‘Ñткое Ñоблюдение правилам ÑинтакÑиÑа XML. Показательный пример Конфигурационного Файла OpenSCADA Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð°Ð¼Ð¸ конфигурации большинÑтва компонентов OpenSCADA, приведен ... </p> <div class="mw-collapsible-content mw-highlight mw-content-ltr" dir="ltr"><pre><span class="cp"><?xml version='1.0' encoding='UTF-8' ?></span> <span class="nt"><OpenSCADA></span> <span class="c"><!--</span> <span class="c"> This is the OpenSCADA configuration file.</span> <span class="c"> --></span> <span class="nt"><station</span> <span class="na">id=</span><span class="s">"SimulatorStation"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> Description of the internal parameters of the station.</span> <span class="c"> The station is the OpenSCADA program.</span> <span class="c"> --></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StName"</span><span class="nt">></span>AGLKS<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"WorkDB"</span><span class="nt">></span>SQLite.GenDB<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"LogTarget"</span><span class="nt">></span>10<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"LangBase"</span><span class="nt">></span>en_US.UTF-8;uk_UA.UTF-8;ru_RU.UTF-8<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SaveAtExit"</span><span class="nt">></span>0<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SavePeriod"</span><span class="nt">></span>0<span class="nt"></prm></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_BD"</span><span class="nt">></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"DB"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">ID=</span><span class="s">"GenDB"</span> <span class="na">TYPE=</span><span class="s">"SQLite"</span> <span class="na">NAME=</span><span class="s">"Generic DB"</span> <span class="na">NAME_uk=</span><span class="s">"ОÑновна БД"</span> <span class="na">NAME_ru=</span><span class="s">"ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð‘Ð”"</span> <span class="na">ADDR=</span><span class="s">"St.db"</span> <span class="na">CODEPAGE=</span><span class="s">"UTF-8"</span> <span class="nt">/></span> <span class="nt"></tbl></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Security"</span><span class="nt">></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"Security_user"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"roman"</span> <span class="na">DESCR=</span><span class="s">"Roman Savochenko"</span> <span class="na">PASS=</span><span class="s">"$1$roman$wleNCf/uyA84cGpBn5QuG."</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"root"</span> <span class="na">DESCR=</span><span class="s">"Administrator (superuser)!!!"</span> <span class="na">DESCR_uk=</span><span class="s">"Супер кориÑтувач"</span> <span class="na">DESCR_ru=</span><span class="s">"Супер пользователь"</span> <span class="na">PASS=</span><span class="s">"$1$root$lCn57dP9yzkCIAyrwJ24r1"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"test"</span> <span class="na">DESCR=</span><span class="s">"Test user"</span> <span class="na">PASS=</span><span class="s">"$1$test$pi/xDtU5WFVRqYS6BMU8X/"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"user"</span> <span class="na">DESCR=</span><span class="s">"Simple user"</span> <span class="na">DESCR_uk=</span><span class="s">"Звичайний кориÑтувач"</span> <span class="na">DESCR_ru=</span><span class="s">"ПроÑтой пользователь"</span> <span class="na">PASS=</span><span class="s">"$1$user$k8sntSoh7jhsc6lwspjsU."</span> <span class="nt">/></span> <span class="nt"></tbl></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"Security_grp"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Archive"</span> <span class="na">DESCR=</span><span class="s">"Archives-History"</span> <span class="na">DESCR_uk=</span><span class="s">"Ðрхіви-ІÑторіÑ"</span> <span class="na">DESCR_ru=</span><span class="s">"Ðрхивы-ИÑториÑ"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"BD"</span> <span class="na">DESCR=</span><span class="s">"Databases"</span> <span class="na">DESCR_uk=</span><span class="s">"Бази даних"</span> <span class="na">DESCR_ru=</span><span class="s">"Базы данных"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"DAQ"</span> <span class="na">DESCR=</span><span class="s">"Data acquisition"</span> <span class="na">DESCR_uk=</span><span class="s">"Збір даних"</span> <span class="na">DESCR_ru=</span><span class="s">"Сбор данных"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"ModSched"</span> <span class="na">DESCR=</span><span class="s">"Modules scheduler"</span> <span class="na">DESCR_uk=</span><span class="s">"ДиÑпетчер модулів"</span> <span class="na">DESCR_ru=</span><span class="s">"ДиÑпетчер модулей"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Protocol"</span> <span class="na">DESCR=</span><span class="s">"Transport protocols"</span> <span class="na">DESCR_uk=</span><span class="s">"ТранÑпортні протоколи"</span> <span class="na">DESCR_ru=</span><span class="s">"ТранÑпортные протоколы"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Security"</span> <span class="na">DESCR=</span><span class="s">"Security"</span> <span class="na">DESCR_uk=</span><span class="s">"Безпека"</span> <span class="na">DESCR_ru=</span><span class="s">"БезопаÑноÑÑ‚ÑŒ"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Special"</span> <span class="na">DESCR=</span><span class="s">"Specials"</span> <span class="na">DESCR_uk=</span><span class="s">"Спеціальні"</span> <span class="na">DESCR_ru=</span><span class="s">"Специальные"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Transport"</span> <span class="na">DESCR=</span><span class="s">"Transports"</span> <span class="na">DESCR_uk=</span><span class="s">"ТранÑпорти"</span> <span class="na">DESCR_ru=</span><span class="s">"ТранÑпорты"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"UI"</span> <span class="na">DESCR=</span><span class="s">"User Interfaces"</span> <span class="na">DESCR_uk=</span><span class="s">"ІнтерфейÑи кориÑтувача"</span> <span class="na">DESCR_ru=</span><span class="s">"ИнтерфейÑÑ‹ пользователÑ"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"root"</span> <span class="na">DESCR=</span><span class="s">"Administartors group"</span> <span class="na">DESCR_uk=</span><span class="s">"Група адмініÑтраторів"</span> <span class="na">DESCR_ru=</span><span class="s">"Группа админиÑтраторов"</span> <span class="na">USERS=</span><span class="s">"roman;"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"users"</span> <span class="na">DESCR=</span><span class="s">"Users group"</span> <span class="na">DESCR_uk=</span><span class="s">"Група кориÑтувачів"</span> <span class="na">DESCR_ru=</span><span class="s">"Группа пользователей"</span> <span class="na">USERS=</span><span class="s">"test;user;"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"ITW"</span> <span class="na">DESCR=</span><span class="s">"IT worker"</span> <span class="na">DESCR_uk=</span><span class="s">"Робітник IT"</span> <span class="na">DESCR_ru=</span><span class="s">"Работник IT"</span> <span class="na">LONGDESCR=</span><span class="s">"Information Technology or service worker."</span> <span class="na">LONGDESCR_uk=</span><span class="s">"Робітник Інформаційних Технологій та ÑервіÑу."</span> <span class="na">LONGDESCR_ru=</span><span class="s">"Работник Информационных Технологий и ÑервиÑа."</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"op"</span> <span class="na">DESCR=</span><span class="s">"Operator"</span> <span class="na">DESCR_uk=</span><span class="s">"Оператор"</span> <span class="na">DESCR_ru=</span><span class="s">"Оператор"</span> <span class="nt">/></span> <span class="nt"></tbl></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_ModSched"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ModAllow"</span><span class="nt">></span>*<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ModDeny"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ChkPer"</span><span class="nt">></span>0<span class="nt"></prm></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Transport"</span><span class="nt">></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"ExtTansp"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">OP_USER=</span><span class="s">"roman"</span> <span class="na">ID=</span><span class="s">"loop"</span> <span class="na">NAME=</span><span class="s">"Loop"</span> <span class="na">NAME_uk=</span><span class="s">"ПетлÑ"</span> <span class="na">NAME_ru=</span><span class="s">"ПетлÑ"</span> <span class="na">TRANSP=</span><span class="s">"Sockets"</span> <span class="na">ADDR=</span><span class="s">"TCP:localhost:10005"</span> <span class="na">USER=</span><span class="s">"roman"</span> <span class="na">PASS=</span><span class="s">"roman"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">OP_USER=</span><span class="s">"*"</span> <span class="na">ID=</span><span class="s">"loop"</span> <span class="na">NAME=</span><span class="s">"Loop"</span> <span class="na">NAME_uk=</span><span class="s">"ПетлÑ"</span> <span class="na">NAME_ru=</span><span class="s">"ПетлÑ"</span> <span class="na">TRANSP=</span><span class="s">"Sockets"</span> <span class="na">ADDR=</span><span class="s">"TCP:localhost:10005"</span> <span class="na">USER=</span><span class="s">"roman"</span> <span class="na">PASS=</span><span class="s">"roman"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">OP_USER=</span><span class="s">"roman"</span> <span class="na">ID=</span><span class="s">"loopSSL"</span> <span class="na">NAME=</span><span class="s">"Loop SSL"</span> <span class="na">NAME_uk=</span><span class="s">"ÐŸÐµÑ‚Ð»Ñ SSL"</span> <span class="na">NAME_ru=</span><span class="s">"ÐŸÐµÑ‚Ð»Ñ SSL"</span> <span class="na">TRANSP=</span><span class="s">"SSL"</span> <span class="na">ADDR=</span><span class="s">"localhost:10045"</span> <span class="na">USER=</span><span class="s">"roman"</span> <span class="na">PASS=</span><span class="s">"roman"</span> <span class="nt">/></span> <span class="nt"><fld</span> <span class="na">OP_USER=</span><span class="s">"*"</span> <span class="na">ID=</span><span class="s">"loopSSL"</span> <span class="na">NAME=</span><span class="s">"Loop SSL"</span> <span class="na">NAME_uk=</span><span class="s">"ÐŸÐµÑ‚Ð»Ñ SSL"</span> <span class="na">NAME_ru=</span><span class="s">"ÐŸÐµÑ‚Ð»Ñ SSL"</span> <span class="na">TRANSP=</span><span class="s">"SSL"</span> <span class="na">ADDR=</span><span class="s">"localhost:10045"</span> <span class="na">USER=</span><span class="s">"roman"</span> <span class="na">PASS=</span><span class="s">"roman"</span> <span class="nt">/></span> <span class="nt"></tbl></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"Transport_in"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">ID=</span><span class="s">"Self"</span> <span class="na">MODULE=</span><span class="s">"Sockets"</span> <span class="na">NAME=</span><span class="s">"Self system"</span> <span class="na">DESCRIPT=</span><span class="s">"Main transport of OpenSCADA self protocol."</span> <span class="na">DESCRIPT_uk=</span><span class="s">"ОÑновний транÑпорт влаÑного протоколу OpenSCADA."</span> <span class="na">DESCRIPT_ru=</span><span class="s">"ОÑновной транÑпорт ÑобÑтвенного протокола OpenSCADA."</span> <span class="na">ADDR=</span><span class="s">"TCP::10005:1"</span> <span class="na">PROT=</span><span class="s">"SelfSystem"</span> <span class="na">START=</span><span class="s">"1"</span><span class="nt">></span> <span class="nt"><A_PRMS></span><span class="ni">&amp;</span>lt;prms MaxQueue="10" MaxClients="20" MaxClientsPerHost="5" BufLen="5" KeepAliveReqs="0" KeepAliveTm="60" /<span class="ni">&amp;</span>gt;<span class="nt"></A_PRMS></span> <span class="nt"></fld></span> <span class="nt"><fld</span> <span class="na">ID=</span><span class="s">"WEB_1"</span> <span class="na">MODULE=</span><span class="s">"Sockets"</span> <span class="na">NAME=</span><span class="s">"WEB 1"</span> <span class="na">DESCRIPT=</span><span class="s">"Main transport of the WEB interfaces."</span> <span class="na">DESCRIPT_uk=</span><span class="s">"ОÑновний транÑпорт WEB інтерфейÑів."</span> <span class="na">DESCRIPT_ru=</span><span class="s">"ОÑновной транÑпорт WEB интерфейÑов."</span> <span class="na">ADDR=</span><span class="s">"TCP::10002:0"</span> <span class="na">PROT=</span><span class="s">"HTTP"</span> <span class="na">START=</span><span class="s">"1"</span><span class="nt">></span> <span class="nt"><A_PRMS></span><span class="ni">&amp;</span>lt;prms MaxQueue="10" MaxClients="100" MaxClientsPerHost="25" BufLen="5" KeepAliveReqs="0" KeepAliveTm="5" /<span class="ni">&amp;</span>gt;<span class="nt"></A_PRMS></span> <span class="nt"></fld></span> <span class="nt"><fld</span> <span class="na">ID=</span><span class="s">"WEB_2"</span> <span class="na">MODULE=</span><span class="s">"Sockets"</span> <span class="na">NAME=</span><span class="s">"WEB 2"</span> <span class="na">DESCRIPT=</span><span class="s">"Reserve transport of the WEB interfaces."</span> <span class="na">DESCRIPT_uk=</span><span class="s">"Резервний транÑпорт WEB інтерфейÑів."</span> <span class="na">DESCRIPT_ru=</span><span class="s">"Резервный транÑпорт WEB интерфейÑов."</span> <span class="na">ADDR=</span><span class="s">"TCP::10004:0"</span> <span class="na">PROT=</span><span class="s">"HTTP"</span> <span class="na">START=</span><span class="s">"1"</span><span class="nt">></span> <span class="nt"><A_PRMS></span><span class="ni">&amp;</span>lt;prms MaxQueue="10" MaxClients="100" MaxClientsPerHost="25" BufLen="5" KeepAliveReqs="0" KeepAliveTm="5" /<span class="ni">&amp;</span>gt;<span class="nt"></A_PRMS></span> <span class="nt"></fld></span> <span class="nt"></tbl></span> <span class="c"><!--</span> <span class="c"> <tbl id="Transport_out"></span> <span class="c"> <fld</span> <span class="c"> ID="testModBus"</span> <span class="c"> MODULE="Sockets"</span> <span class="c"> NAME="Test ModBus"</span> <span class="c"> NAME_uk="ТеÑÑ‚ ModBus"</span> <span class="c"> NAME_ru="ТеÑÑ‚ ModBus"</span> <span class="c"> DESCRIPT="ModBus protocol exchange test."</span> <span class="c"> DESCRIPT_uk="ТеÑÑ‚ обміну за протоколом ModBus."</span> <span class="c"> DESCRIPT_ru="ТеÑÑ‚ обмена по протоколу ModBus."</span> <span class="c"> ADDR="TCP:localhost:10502"</span> <span class="c"> START="1"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_DAQ"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="tmplib"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" DB="tmplib_test2"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="tmplib_test2"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR=""</span> <span class="c"> PROGRAM="JavaLikeCalc.JavaScript&amp;#010;cnt=5*i;"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="tmplib_test2_io"></span> <span class="c"> <fld TMPL_ID="test2" ID="i" NAME="I" NAME_uk="I" NAME_ru="I" TYPE="4" FLAGS="160" VALUE="" POS="0"/></span> <span class="c"> <fld TMPL_ID="test2" ID="cnt" NAME="Cnt" NAME_uk="Cnt" NAME_ru="Cnt" TYPE="4" FLAGS="32" VALUE="" POS="0"/></span> <span class="c"> </tbl>--></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_LogicLev"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld</span> <span class="c"> ID="test2"</span> <span class="c"> NAME="Test 2"</span> <span class="c"> NAME_uk="ТеÑÑ‚ 2"</span> <span class="c"> NAME_ru="ТеÑÑ‚ 2"</span> <span class="c"> DESCR=""</span> <span class="c"> ENABLE="1"</span> <span class="c"> START="1"</span> <span class="c"> PRM_BD="test2prm"</span> <span class="c"> PERIOD="1000"</span> <span class="c"> PRIOR="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR=""</span> <span class="c"> EN="1" MODE="2" PRM="test2.test2"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_System"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld</span> <span class="c"> ID="dataOS"</span> <span class="c"> NAME="OS data"</span> <span class="c"> NAME_uk="Дані ОС"</span> <span class="c"> NAME_ru="Даные ОС"</span> <span class="c"> DESCR="Data of services and subsystems of OS."</span> <span class="c"> DESCR_uk="Дані ÑервіÑів та підÑиÑтем ОС."</span> <span class="c"> DESCR_ru="Данные ÑервиÑов и подÑиÑтем ОС."</span> <span class="c"> ENABLE="1"</span> <span class="c"> START="1"</span> <span class="c"> AUTO_FILL="0"</span> <span class="c"> PRM_BD="DataOSprm"</span> <span class="c"> PERIOD="1000"</span> <span class="c"> PRIOR="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="DataOSprm"></span> <span class="c"> <fld SHIFR="CPU" NAME="CPU load" NAME_uk="ÐÐ°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ CPU" NAME_ru="Ðагрузка CPU" DESCR=""</span> <span class="c"> EN="1" TYPE="CPU" SUBT="gen"/></span> <span class="c"> <fld SHIFR="MEM" NAME="Memory" NAME_uk="Пам'ÑÑ‚ÑŒ" NAME_ru="ПамÑÑ‚ÑŒ" DESCR="" EN="1" TYPE="MEM"/></span> <span class="c"> </tbl></span> <span class="c"> --></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_DiamondBoards"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="Athena" NAME="Athena board" NAME_uk="Плата Athena" NAME_ru="Плата Athena" DESCR=""</span> <span class="c"> ENABLE="1" START="0" BOARD="25" PRM_BD_A="AthenaAnPrm" PRM_BD_D="AthenaDigPrm" ADDR="640" INT="5"</span> <span class="c"> DIO_CFG="0" ADMODE="0" ADRANGE="0" ADPOLAR="0" ADGAIN="0" ADCONVRATE="1000"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="AthenaAnPrm"></span> <span class="c"> <fld SHIFR="ai0" NAME="AI 0" NAME_uk="AI 0" NAME_ru="AI 0" DESCR="" EN="0" TYPE="0" CNL="0" GAIN="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="AthenaDigPrm"></span> <span class="c"> <fld SHIFR="di0" NAME="DI 0" NAME_uk="DI 0" NAME_ru="DI 0" DESCR="" EN="0" TYPE="0" PORT="0" CNL="0"/></span> <span class="c"> </tbl></span> <span class="c"> --></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_BlockCalc"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="Model" NAME="Model" NAME_uk="Модель" NAME_ru="Модель" DESCR=""</span> <span class="c"> ENABLE="1" START="1" PRM_BD="Model_prm" BLOCK_SH="Model_blcks" PERIOD="1000" PRIOR="0" PER_DB="0" ITER="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Model_blcks"></span> <span class="c"> <fld ID="Klap" NAME="Klapan" NAME_uk="Клапан" NAME_ru="Клапан" DESCR=""</span> <span class="c"> FUNC="DAQ.JavaLikeCalc.lib_techApp.klap" EN="1" PROC="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Model_blcks_io"></span> <span class="c"> <fld BLK_ID="Klap" ID="l_kl1" TLNK="0" LNK="" VAL="50"/></span> <span class="c"> <fld BLK_ID="Klap" ID="l_kl2" TLNK="0" LNK="" VAL="20"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Model_prm"></span> <span class="c"> <fld SHIFR="l_kl" NAME="Klap level" NAME_uk="ÐŸÐ¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ð¿Ð°Ð½Ñƒ" NAME_ru="Положение клапана" DESCR=""</span> <span class="c"> EN="1" IO="Klap.l_kl1"/></span> <span class="c"> </tbl></span> <span class="c"> --></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_JavaLikeCalc"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="CalcTest" NAME="Calculation test" NAME_uk="ТеÑÑ‚ обчиÑленнÑ" NAME_ru="ТеÑÑ‚ вычиÑлениÑ" DESCR=""</span> <span class="c"> ENABLE="1" START="1" PRM_BD="CalcTest_prm" FUNC="TemplFunc.d_alarm" SCHEDULE="1" PRIOR="0" ITER="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="CalcTest_val"></span> <span class="c"> <fld ID="in" VAL="0"/></span> <span class="c"> <fld ID="alrm" VAL=""/></span> <span class="c"> <fld ID="alrm_md" VAL="1"/></span> <span class="c"> <fld ID="alrm_mess" VAL="Error present."/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="CalcTest_prm"></span> <span class="c"> <fld SHIFR="alrm" NAME="Alarm" NAME_uk="ÐваріÑ" NAME_ru="ÐвариÑ" DESCR="" EN="1" FLD="alrm"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="lib"></span> <span class="c"> <fld ID="TemplFunc" NAME="" DESCR="" DB="lib_TemplFunc"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="lib_TemplFunc"></span> <span class="c"> <fld ID="d_alarm" NAME="Digit alarm" NAME_uk="ÐÐ²Ð°Ñ€Ñ–Ñ Ð·Ð° диÑкретним" NAME_ru="ÐÐ²Ð°Ñ€Ð¸Ñ Ð¿Ð¾ диÑкретному" DESCR=""</span> <span class="c"> FORMULA="alrm=(in==alrm_md)?&amp;quot;1:&amp;quot;+alrm_mess:&amp;quot;0&amp;quot;;"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="lib_TemplFunc_io"></span> <span class="c"> <fld F_ID="d_alarm" ID="in" NAME="Input" NAME_uk="Вхід" NAME_ru="Вход" TYPE="3" MODE="0" DEF="" HIDE="0" POS="0"/></span> <span class="c"> <fld F_ID="d_alarm" ID="alrm" NAME="Alarm" NAME_uk="ÐваріÑ" NAME_ru="ÐвариÑ" TYPE="0" MODE="1" DEF="" HIDE="0" POS="1"/></span> <span class="c"> <fld F_ID="d_alarm" ID="alrm_md" NAME="Alarm mode" NAME_uk="Режим аварії" NAME_ru="Режим аварии"</span> <span class="c"> TYPE="3" MODE="0" DEF="" HIDE="0" POS="2"/></span> <span class="c"> <fld F_ID="d_alarm" ID="alrm_mess" NAME="Alarm message" NAME_uk="ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð°Ð²Ð°Ñ€Ñ–Ñ—" NAME_ru="Сообщение аварии"</span> <span class="c"> TYPE="0" MODE="0" DEF="" HIDE="0" POS="3"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_Siemens"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1000" PRIOR="0" CIF_DEV="0" ADDR="5" ASINC_WR="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" TMPL="S7.ai_man"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_SNMP"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR=""</span> <span class="c"> ENABLE="1" START="1" PRM_BD="test2prm" PERIOD="1000" PRIOR="0" ADDR="localhost" COMM="public" PATTR_LIM="20"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" OID_LS="system"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_ModBus"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1000" PRIOR="0" TRANSP="Sockets" ADDR="exlar.diya.org" NODE="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1"</span> <span class="c"> ATTR_LS="321:0:tst:Test"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_DAQGate"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1000" PRIOR="0" SYNCPER="60" STATIONS="loop" CNTRPRM="System.AutoDA"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_DCON"</span><span class="nt">></span> <span class="c"><!--<tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1" PRIOR="0" ADDR="" REQ_TRY="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" MOD_TP="0"</span> <span class="c"> MOD_ADDR="1" CRC_CTRL="1"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_ICP_DAS"</span><span class="nt">></span> <span class="c"><!--<tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" PERIOD="1" PRIOR="0" BUS="1" BAUD="115200" LP_PRMS="" REQ_TRY="3"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1"</span> <span class="c"> MOD_TP="552985" MOD_ADDR="0" MOD_SLOT="1" MOD_PRMS="0"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_OPC_UA"</span><span class="nt">></span> <span class="c"><!--<tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" SCHEDULE="1" PRIOR="0" SYNCPER="60" ADDR="" EndPoint="opc.tcp://localhost:4841" SecPolicy="None"</span> <span class="c"> SecMessMode="1" Cert="" PvKey="" AttrsLimit="100"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" ND_LS=""/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_SoundCard"</span><span class="nt">></span> <span class="c"><!--<tbl id="DAQ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" ENABLE="1" START="1"</span> <span class="c"> PRM_BD="test2prm" CARD="" SMPL_RATE="8000" SMPL_TYPE="1"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="test2prm"></span> <span class="c"> <fld SHIFR="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" EN="1" CHANNEL="0"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Archive"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"MessBufSize"</span><span class="nt">></span>1000<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"MessPeriod"</span><span class="nt">></span>5<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ValPeriod"</span><span class="nt">></span>1000<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ValPriority"</span><span class="nt">></span>10<span class="nt"></prm></span> <span class="c"><!--</span> <span class="c"> <tbl id="Archive_mess_proc"></span> <span class="c"> <fld</span> <span class="c"> ID="StatErrors"</span> <span class="c"> MODUL="FSArch"</span> <span class="c"> NAME="Errors"</span> <span class="c"> NAME_uk="Помилки"</span> <span class="c"> NAME_ru="Ошибки"</span> <span class="c"> DESCR="Archive of local errors"</span> <span class="c"> DESCR_uk="Ðрхів локальних помилок"</span> <span class="c"> DESCR_ru="Ðрхив локальных ощибок"</span> <span class="c"> START="1"</span> <span class="c"> CATEG="/DemoStation*"</span> <span class="c"> LEVEL="4"</span> <span class="c"> ADDR="ARCHIVES/MESS/stError/"/></span> <span class="c"> <fld</span> <span class="c"> ID="NetRequsts"</span> <span class="c"> MODUL="FSArch"</span> <span class="c"> NAME="Network requests"</span> <span class="c"> NAME_uk="Мережеві запити"</span> <span class="c"> NAME_ru="Сетевые запроÑÑ‹"</span> <span class="c"> DESCR="Requests to the server via Sockets transport."</span> <span class="c"> DESCR_uk="Запити до Ñервера через транÑпорт Sockets."</span> <span class="c"> DESCR_ru="ЗапроÑÑ‹ к Ñерверу через транÑпорт Sockets."</span> <span class="c"> START="1"</span> <span class="c"> CATEG="/DemoStation/Transport/Sockets*"</span> <span class="c"> LEVEL="1"</span> <span class="c"> ADDR="ARCHIVES/MESS/Net/"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Archive_val_proc"></span> <span class="c"> <fld</span> <span class="c"> ID="1h"</span> <span class="c"> MODUL="FSArch"</span> <span class="c"> NAME="1hour"</span> <span class="c"> NAME_uk="1година"</span> <span class="c"> NAME_ru="1чаÑ"</span> <span class="c"> DESCR="Averaging at hour"</span> <span class="c"> DESCR_uk="УÑÐµÑ€ÐµÐ´Ð½ÐµÐ½Ð½Ñ Ð·Ð° годину"</span> <span class="c"> DESCR_ru="УÑреднение за чаÑ"</span> <span class="c"> START="1"</span> <span class="c"> ADDR="ARCHIVES/VAL/1h/"</span> <span class="c"> V_PER="360"</span> <span class="c"> A_PER="60"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="Archive_val"></span> <span class="c"> <fld</span> <span class="c"> ID="test1"</span> <span class="c"> NAME="Test 1"</span> <span class="c"> NAME_uk="ТеÑÑ‚ 1"</span> <span class="c"> NAME_ru="ТеÑÑ‚ 1"</span> <span class="c"> DESCR="Test 1"</span> <span class="c"> DESCR_uk="ТеÑÑ‚ 1"</span> <span class="c"> DESCR_ru="ТеÑÑ‚ 1"</span> <span class="c"> START="1"</span> <span class="c"> VTYPE="1"</span> <span class="c"> BPER="1"</span> <span class="c"> BSIZE="200"</span> <span class="c"> BHGRD="1"</span> <span class="c"> BHRES="0"</span> <span class="c"> SrcMode="0"</span> <span class="c"> Source=""</span> <span class="c"> ArchS=""/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Protocol"</span><span class="nt">></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_UI"</span><span class="nt">></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_QTStarter"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StartMod"</span><span class="nt">></span>QTCfg<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"CloseToTray"</span><span class="nt">></span>0<span class="nt"></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Style"</span><span class="nt">></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Palette"</span><span class="nt">></prm></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StyleSheets"</span><span class="nt">></prm></span> <span class="nt"><tbl</span> <span class="na">id=</span><span class="s">"LookFeel"</span><span class="nt">></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Typical TDE"</span> <span class="na">STYLE=</span><span class="s">""</span> <span class="na">STL_SHTS=</span><span class="s">""</span><span class="nt">></span> <span class="nt"><PALETTE></span>#000000, #dddfe4, #ffffff, #ffffff, #555555, #c7c7c7, #000000, #ffffff, #000000, #ffffff, #efefef, #000000, #678db2, #ffffff, #0000ee, #52188b #808080, #dddfe4, #ffffff, #ffffff, #555555, #c7c7c7, #c7c7c7, #ffffff, #808080, #ffffff, #efefef, #000000, #567594, #ffffff, #0000ee, #52188b #000000, #dddfe4, #ffffff, #ffffff, #555555, #c7c7c7, #000000, #ffffff, #000000, #ffffff, #efefef, #000000, #678db2, #ffffff, #0000ee, #52188b<span class="nt"></PALETTE></span> <span class="nt"></fld></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Blue Slate"</span> <span class="na">STYLE=</span><span class="s">""</span> <span class="na">STL_SHTS=</span><span class="s">""</span><span class="nt">></span> <span class="nt"><PALETTE></span>#000000, #9db9c8, #f6fcff, #c9dae3, #4e5c64, #697b85, #000000, #bfe2f4, #000000, #c3c3c3, #9db9c8, #000000, #558097, #ffffff, #0000ee, #52188b, #b4b4b4, #000000, #ffffdc, #000000 #808080, #9db9c8, #f6fcff, #b5d5e6, #4e5c64, #697b85, #808080, #bfe2f4, #808080, #c3c3c3, #9db9c8, #000000, #558097, #808080, #0000ee, #52188b, #b4b4b4, #000000, #ffffdc, #000000 #000000, #9db9c8, #f6fcff, #b5d5e6, #4e5c64, #697b85, #000000, #bfe2f4, #000000, #c3c3c3, #9db9c8, #000000, #558097, #ffffff, #0000ee, #52188b, #b4b4b4, #000000, #ffffdc, #000000<span class="nt"></PALETTE></span> <span class="nt"></fld></span> <span class="nt"><fld</span> <span class="na">NAME=</span><span class="s">"Blue Darkness"</span> <span class="na">STYLE=</span><span class="s">""</span> <span class="na">STL_SHTS=</span><span class="s">""</span><span class="nt">></span> <span class="nt"><PALETTE></span>#ffffff, #426794, #5788c3, #4871a2, #162231, #37567b, #dcdcdc, #5788c3, #ffffff, #002a4e, #426794, #000000, #5cb3ff, #000000, #00ffff, #c0c0ff #555555, #426794, #5788c3, #4871a2, #162231, #37567b, #37567b, #5788c3, #555555, #002a4e, #426794, #000000, #4c95d4, #ffffff, #00ffff, #c0c0ff #ffffff, #426794, #5788c3, #4871a2, #162231, #37567b, #dcdcdc, #5788c3, #ffffff, #002a4e, #426794, #000000, #5cb3ff, #000000, #00ffff, #c0c0ff<span class="nt"></PALETTE></span> <span class="nt"></fld></span> <span class="nt"></tbl></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_QTCfg"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StartUser"</span><span class="nt">></span>roman<span class="nt"></prm></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_Vision"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"StartUser"</span><span class="nt">></span>roman<span class="nt"></prm></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_WebCfg"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SessTimeLife"</span><span class="nt">></span>20<span class="nt"></prm></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_VCAEngine"</span><span class="nt">></span> <span class="c"><!--</span> <span class="c"> <tbl id="LIB"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR=""</span> <span class="c"> DB_TBL="wlib_test2" ICO="" USER="root" GRP="UI" PERMIT="436"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="wlib_test2"></span> <span class="c"> <fld ID="test2" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_PER="-1"</span> <span class="c"> USER="root" GRP="UI" PERMIT="436"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="wlib_test2_io"></span> <span class="c"> <fld IDW="test2" ID="name" IO_VAL="Test 2" IO_VAL_uk="ТеÑÑ‚ 2" IO_VAL_ru="ТеÑÑ‚ 2" SELF_FLG="" CFG_TMPL="" CFG_VAL=""/></span> <span class="c"> <fld IDW="test2" ID="dscr" IO_VAL="Test of the module 2" IO_VAL_uk="ТеÑÑ‚ Ð¼Ð¾Ð´ÑƒÐ»Ñ 2" IO_VAL_ru="ТеÑÑ‚ Ð¼Ð¾Ð´ÑƒÐ»Ñ 2" SELF_FLG="" CFG_TMPL="" CFG_VAL=""/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="PRJ"></span> <span class="c"> <fld ID="test2" NAME="Test 2" NAME_uk="ТеÑÑ‚ 2" NAME_ru="ТеÑÑ‚ 2" DESCR="" DB_TBL="prj_test2" ICO="" USER="root" GRP="UI" PERMIT="436"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="prj_test2"></span> <span class="c"> <fld OWNER="/test2" ID="pg1" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_PER="-1" USER="root" GRP="UI" PERMIT="436" FLGS="1"/></span> <span class="c"> <fld OWNER="/test2/pg1" ID="pg2" ICO="" PARENT="/wlb_originals/wdg_Box" PROC="" PROC_PER="-1" USER="root" GRP="UI" PERMIT="436" FLGS="0"/></span> <span class="c"> </tbl></span> <span class="c"> <tbl id="prj_test2_incl"></span> <span class="c"> <fld IDW="/prj_test2/pg_pg1" ID="wdg1" PARENT="/wlb_originals/wdg_Box"/></span> <span class="c"> </tbl>--></span> <span class="nt"></node></span> <span class="nt"></node></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"sub_Special"</span><span class="nt">></span> <span class="nt"><node</span> <span class="na">id=</span><span class="s">"mod_SystemTests"</span><span class="nt">></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Param"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"5"</span> <span class="na">name=</span><span class="s">"LogicLev.experiment.F3"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"XML"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">file=</span><span class="s">"/etc/oscada.xml"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Mess"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">arhtor=</span><span class="s">"DBArch.test3"</span> <span class="na">depth=</span><span class="s">"10"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SOAttach"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"20"</span> <span class="na">name=</span><span class="s">"../../lib/openscada/daq_LogicLev.so"</span> <span class="na">mode=</span><span class="s">"0"</span> <span class="na">full=</span><span class="s">"1"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Val"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">name=</span><span class="s">"LogicLev.experiment.F3.var"</span> <span class="na">arch_len=</span><span class="s">"5"</span> <span class="na">arch_per=</span><span class="s">"1000000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Val"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">name=</span><span class="s">"System.AutoDA.CPULoad.load"</span> <span class="na">arch_len=</span><span class="s">"10"</span> <span class="na">arch_per=</span><span class="s">"1000000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"MySQL"</span> <span class="na">addr=</span><span class="s">"server.diya.org;roman;123456;oscadaTest"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"DBF"</span> <span class="na">addr=</span><span class="s">"./DATA/DBF"</span> <span class="na">table=</span><span class="s">"test.dbf"</span> <span class="na">size=</span><span class="s">"1000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"SQLite"</span> <span class="na">addr=</span><span class="s">"./DATA/test.db"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"DB"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">type=</span><span class="s">"FireBird"</span> <span class="na">addr=</span><span class="s">"server.diya.org:/var/tmp/test.fdb;roman;123456"</span> <span class="na">table=</span><span class="s">"test"</span> <span class="na">size=</span><span class="s">"1000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"TCP:127.0.0.1:10001"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UDP:127.0.0.1:10001"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UNIX:./oscada"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"TrOut"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"1"</span> <span class="na">addr=</span><span class="s">"UDP:127.0.0.1:daytime"</span> <span class="na">type=</span><span class="s">"Sockets"</span> <span class="na">req=</span><span class="s">"time"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"SysContrLang"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="na">path=</span><span class="s">"/Archive/FSArch/mess_StatErrors/%2fprm%2fst"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"ValBuf"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"5"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Archive"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"30"</span> <span class="na">arch=</span><span class="s">"test1"</span> <span class="na">period=</span><span class="s">"1000000"</span> <span class="nt">/></span> <span class="nt"><prm</span> <span class="na">id=</span><span class="s">"Base64Code"</span> <span class="na">on=</span><span class="s">"0"</span> <span class="na">per=</span><span class="s">"10"</span> <span class="nt">/></span> <span class="nt"></node></span> <span class="nt"></node></span> <span class="nt"></station></span> <span class="nt"></OpenSCADA></span> </pre></div> </div> <p>Детально раÑÑмотрим Ñтруктуру конфигурационного файла. Один конфигурационный файл может Ñодержать конфигурацию неÑкольких Ñтанций в ÑекциÑÑ… <i><station id="SimulatorStation"/></i>. Ðтрибутом "id" указываетÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ Ñтанции — клаÑÑ Ñтанции. ИÑпользование той или иной Ñекции Ñтанции указываетÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ командной Ñтроки <i>--station=SimulatorStation</i>, при вызове. Ð¡ÐµÐºÑ†Ð¸Ñ Ñтанции непоÑредÑтвенно Ñодержит параметры Ñтанции и Ñекции подÑиÑтем. Параметры конфигурации Ñекции запиÑываютÑÑ Ð² виде <i><prm id="StName">AGLKS</prm></i>, где атрибутом "id" указываетÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ параметра, а в теле тега "prm" указываетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ параметра "AGLKS". Перечень доÑтупных параметров и их опиÑание Ð´Ð»Ñ Ñтанции и вÑех оÑтальных Ñекций можно получить в конÑоли, поÑредÑтвом вызова OpenSCADA Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ <i>--help</i>. </p><p>Секции подÑиÑтем <i><node id="sub_DAQ" /></i> Ñодержат: параметры подÑиÑтемы, Ñекции модулей и Ñекции таблиц Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… баз данных в конфигурационном файле. Секции модулей <i><node id="mod_DiamondBoards" /></i> Ñодержат индивидуальные параметры модулей и Ñекции таблиц Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… баз данных в конфигурационном файле. </p><p>Default values of the command-line options and generic parameters you can pass through environment variables in form "OSCADA_{OPT}={VAL}" after enabling by the environment variable OSCADA_CMD_EN, like to — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">OSCADA_CMD_EN=1 OSCADA_log=0 OSCADA_limObjDscr_SZ=1000 OSCADA_sub_UI_mod_QTStarter_Style=Fusion ./openscada_AGLKS</span>. That is you can prepare individual default environment of OpenSCADA execution for your system in whole in a file of the folder <b>/etc/profile.d/</b> or for concrete user in the file <b>{USER-HOME}/.profile</b>. </p><p>Секции таблиц Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… баз данных предназначены Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² конфигурационном файле запиÑей таблиц БД Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² OpenSCADA. РаÑÑмотрим таблицу входных транÑпортов "Transport_in" подÑиÑтемы "ТранÑпорты" <i><node id="sub_Transport"></i> из приведенного выше примера конфигурационного файла. Таблица Ñодержит три запиÑи Ñ Ð¿Ð¾Ð»Ñми: ID, MODULE, NAME, DESCRIPT, ADDR, PROT, START. ПоÑле загрузки Ñ Ñ‚Ð°ÐºÐ¾Ð¹ Ñекцией и вообще без БД в подÑиÑтеме "ТранÑпорты" Ð¼Ð¾Ð´ÑƒÐ»Ñ "Sockets" поÑвÑÑ‚ÑÑ Ñ‚Ñ€Ð¸ входных транÑпорта. Форматы Ñтруктур таблиц оÑновных компонентов включены в демонÑтрационные конфигурационные файлы — модели технологичеÑких процеÑÑов. За деталÑми Ñтруктур таблиц БД обращайтеÑÑŒ к документации ÑоответÑтвующих модулей или проÑто Ñохраните нужный объект в конфигурационный файл. </p> <div class="mw-collapsible mw-collapsed"> <p>Результат Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada_AGLKS --help</span> ... </p> <pre class="mw-collapsible-content" style="white-space: pre-wrap;"> *************************************************************************** ********** OpenSCADA v0.9+r2535 (Linux-4.9.0-0.bpo.5-amd64). ********* *************************************************************************** =========================================================================== ==================== Generic options ====================================== =========================================================================== -h, --help This help text about the program command-line options and configuration file parameters. --projName=<name> OpenSCADA project name to switch it. For this feature there also uses an environment variable "OSCADA_ProjName" and the program binary name "openscada_{ProjName}". --projUserDir={dir} Directory of user projects (writeable) of OpenSCADA, "~/.openscada" by default. --projLock={per} Uses the projects locking by creation the \"lock\" file in the project folder and update it in the period <per>, by default it is enabled and the updating period <per> is 60 seconds. To disable set the updating period <per> to zero. --lang=<LANG> Station language, in the view "en_US.UTF-8". --config=<file> Station configuration file. --station=<id> Station identifier. --statName=<name> Station name. --modDir=<path> Directories with the modules, separated by ';', they can include a files' template at the end. --messLev=<level> Level of the processing messages (0-7). --log=<direct> Direct messages to, by the bitfield: 0x1 - syslogd; 0x2 - stdout; 0x4 - stderr; 0x8 - the messages archive. --consoleCharSet={CharSet} Forcing to the console <CharSet> for the console messages, by default it is system one. --demon, --daemon Run in the daemon mode. --pidFile=<file> File for the program process ID placing here. --noCoreDump Prevents from the core dump creation at crashes - don't set the limit to the unlimited value. --permCrtFiles={perm} Permissions of the created OpenSCADA files, by default it is 0755 (RWXRW_RW_). ----------- Station 'AGLKS(SimulatorStation)' settings in the configuration file ----------- StName <nm> Station name. WorkDB <Type.Name> Working DB (<type> and <name>). WorkDir <path> Working directory. ModDir <path> Directories with the modules, separated by ';', they can include a files' template at the end. IcoDir <path> Icons directory. DocDir <path> Documents directory. MessLev <level> Level of the processing messages (0-7). SelDebCats <list> Debug categories list, separated by ';'. LogTarget <direction> Direct messages to, by the bitfield: 0x1 - syslogd; 0x2 - stdout; 0x4 - stderr; 0x8 - the messages archive. Lang <lang> Station language-locale in the view "en_US.UTF-8". LangBase <lang> Base language and the project whole locales (like to "en_US.UTF-8") list (optional) separated by ';', for the multilanguage mode. MainCPUs <list> Main list of the using CPUs, separated by ':'. TaskInvPhs <n> Number of phases of the task invoking, 1 to disable the phasing. ClockRT <0|1> Sets the clock source to use to REALTIME (otherwise MONOTONIC), which is problematic one at the system clock modification. SaveAtExit <0|1> Save the program at exit. SavePeriod <seconds> Period of the program saving, 0 to disable. ModifCalc <0|1> Set modification for the calculated objects. RdStLevel <lev> Level of the redundancy of the current station. RdTaskPer <seconds> Call period of the redundancy task. RdRestConnTm <seconds> Time to restore connection to "dead" reserve station. RdStList <list> Redundant stations list, separated symbol ';' (st1;st2). RdPrimCmdTr <0|1> Enables the transmission of primary commands to the reserve stations. Global configurable limits: limObjID_SZ [*20..50] ID size of the OpenSCADA objects. WARNING! Big size can cause the key limit error on MySQL like DB! Change that once before use on DBs with the fixed type "char({N})"! limObjNm_SZ [*100...200] NAME size of the OpenSCADA objects. WARNING! Change that once before use on DBs with the fixed type "char({N})"! limObjDscr_SZ [300...*1000...1000000] DESCR size of the OpenSCADA objects. limArchID_SZ [*50...90] ID size of the value archive objects. WARNING! Increase it only, else you can get problems on Archive.FSArch! Change that once before use on DBs with the fixed type "char({N})"! limUserFile_SZ [1MB...*10MB...1000MB] The files size limit at loading and processing in the userspace and the part size of the big files transferring. limUserIts_N [1000...*1000000...1000000000] The limit on count of creating user items, like to array items. limCacheIts_N [*100...100000] The limit on count of the caching items. limCacheIts_TM [10...*60...1000] The limit on the caching items time, seconds. Global configurable parameters: prmStrBuf_SZ [1000...*10000...1000000] Length of string buffers, no string class. prmWait_DL [0.001...*0.1...1] Quantum of the waiting time cycles, seconds. prmWait_TM [*5...10] Standard waiting timeout length, seconds. prmInterf_TM [*7...15] Time of waiting for the interface reaction, seconds. prmServTask_PER [1...*10...120] Service task period, seconds. ========================= Опции подÑиÑтемы "БД" ========================= ---------- Параметры Ñекции '/sub_BD/' конфигурационного файла ---------- TblLifeTime <Ñекунд> Ð’Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ открытых таблиц (по умолчанию 600 Ñекунд). ==================== Опции подÑиÑтемы "БезопаÑноÑти" ==================== ====================== Опции подÑиÑтемы "ТранÑпорты" ==================== ======================= Module <Transport:Sockets> options ======================= --getaddrinfo[=<on>] Use getaddrinfo() for resolving all addresses. ========================== Опции Ð¼Ð¾Ð´ÑƒÐ»Ñ <Transport:Serial> ========================== ------ Параметры модульной Ñекции '/sub_Transport/mod_Serial/' конфигурационного файла ------ OutLifeTime <Ñекунд> Ð’Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ выходного транÑпорта (по умолчанию 0 Ñекунд), 0 - Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸. ======================= Module <Transport:SSL> options ======================= --getaddrinfo[=<on>] Use getaddrinfo() for resolving all addresses. ============== Опции подÑиÑтемы "ТранÑпортные Протоколы" ================ ======================= Опции Ð¼Ð¾Ð´ÑƒÐ»Ñ <Protocol:HTTP> ============================= ------ Параметры модульной Ñекции '/sub_Protocol/mod_HTTP/' конфигурационного файла ------ AuthTime <мин> Ð’Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ ÑеанÑа аутентификации, минут (по умолчанию 10). =================== Опции подÑиÑтемы "Сбор данных" ====================== ---------- Параметры Ñекции '/sub_DAQ/' конфигурационного файла ---------- RdRestDtTm <чаÑ> Глубина воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… архива из резервной Ñтанции, при включении, в чаÑах. ======================== Subsystem "Archives-History" options =================== ------ Parameters of the section '/sub_Archive/' of the configuration file ------ MessBufSize <items> Size of the messages buffer. MessPeriod <seconds> Period of the messages archiving. ClrAlrmDays <days> Days of the alarms automatic clearing. ValPeriod <mseconds> Period of active archiving of values. ValPriority <level> Level of priority of the task of active archiving of values. RdRestDtOverTm <days> Depth of the forced overloading of the reserve history at startup, in days. ======================= Опции Ð¼Ð¾Ð´ÑƒÐ»Ñ <Archive:FSArch> ============================= --noArchLimit Отключить лимит на количеÑтво файлов. ИÑпользуйте Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° проÑмотра архивов, не Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. ===================== Опции подÑиÑтемы "Специальные" ==================== ========================== Опции Ð¼Ð¾Ð´ÑƒÐ»Ñ <Special:SystemTests> ========================== ------ Параметры модульной Ñекции '/sub_Special/mod_SystemTests/' конфигурационного файла ------ *** Общие опции вÑех теÑтов *** id идентификатор теÑта; on флаг Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ‚ÐµÑта; per период повторениÑ, Ñекунд. *** Опции теÑтов *** 1) Param ТеÑÑ‚ DAQ параметров. Вычитывает атрибуты и конфигурационные Ð¿Ð¾Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°. 1:name ÐÐ´Ñ€ÐµÑ DAQ параметра 2) XML ТеÑÑ‚ разбора файла XML. Разбирает и отображает Ñтруктуру указанного файла. 1:file XML файл 3) Mess ТеÑÑ‚ архива Ñообщений. ПериодичеÑки вычитывает новые ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð· архива, Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ архиватора. 1:arhtor Ðрхиватор 2:categ Шаблон категории ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ 3:depth Глубина ÑообщениÑ, Ñекунд 4) SOAttach ТеÑÑ‚ подключениÑ/Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹. 1:name Путь к модулю 2:mode Режим (1-подключение;-1-отключение;0-изменение) 3:full Полное подключение(при Ñтарте) 5) Val ТеÑÑ‚ значений атрибута параметра. ВыполнÑет периодичеÑкий Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ð¾Ñледнего Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ атрибута, а также Ð¾Ð¿Ñ€Ð¾Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð° на указанную глубину. 1:name Путь к атрибуту параметра 2:arch_len Глубина Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ñ… значений, Ñекунд 3:arch_per Глубина Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ñ… значений, микроÑекунды 6) DB Полный теÑÑ‚ БД. ВыполнÑет: - Ñоздание/открытие БД; - Ñоздание/открытие таблицы; - Ñоздание множеÑтва запиÑей (Ñтрок) предопределённой Ñтруктуры; - Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтва запиÑей; - получение и проверка значений множеÑтва запиÑей; - Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñтруктуры запиÑи и таблицы; - удаление запиÑей; - закрытие/удаление таблицы; - закрытие/удаление БД. 1:type Тип БД 2:addr ÐÐ´Ñ€ÐµÑ Ð‘Ð” 3:table Таблица БД 4:size КоличеÑтво запиÑей 7) TrOut ТеÑÑ‚ выходных и/или входных транÑпортов. ВыполнÑет теÑтирование выходного транÑпорта путём отправки запроÑа к указанному входному транÑпорту. 1:addr ÐÐ´Ñ€ÐµÑ 2:type Модуль транÑпорта 3:req ТекÑÑ‚ запиту 8) SysContrLang ТеÑÑ‚ Ñзыка ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹. Производит Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñлементов Ñзыка поÑредÑтвом полного пути. Полный путь к Ñлементу Ñзыка имеет вид </Archive/%2fbd%2fm_per>. Полный путь ÑоÑтоит из двух вложенных путей. Первый </Archive/> Ñто путь к узлу дерева контролÑ. Второй </bd/m_per> Ñто путь к конкретному Ñлементу узла. 1:path Путь к Ñлементу Ñзыка 9) ValBuf ТеÑÑ‚Ñ‹ буфера значений. Содержит 13 теÑтов вÑех аÑпектов буфера значений (подÑиÑтема "Ðрхивы"). 10) Archive ТеÑÑ‚Ñ‹ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² архиве значений. Содержит 7(8) теÑтов архиватора значений на проверку корректноÑти Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñледовательного механизма упаковки. 1:arch Ðрхив значений 2:period Период значений, микроÑекунды 3:archtor Ðрхиватор 11) Base64Code ТеÑÑ‚Ñ‹ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Mime Base64 алгоритмом. ============= Опции подÑиÑтемы "ПользовательÑкие интерфейÑÑ‹" ============ ---------- Параметры Ñекции '/sub_UI/' конфигурационного файла ---------- FontSnthHglCode <шрифт> Шрифт иÑпользованный в подÑветке ÑинтакÑиÑа кода, по умолчанию "monospace". ======================== Опции Ð¼Ð¾Ð´ÑƒÐ»Ñ <UI:Vision> ============================ ------ Параметры модульной Ñекции '/sub_UI/mod_Vision/' конфигурационного файла ------ StartUser <польз> Стартовый, беÑпарольный, пользователь. UserPass <пароль> Пароль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ð½ÐµÐ»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ запуÑка. RunPrjs <ÑпиÑок> Перечень запуÑкаемых при Ñтарте проектов. ExitLstRunPrjCls <0|1> Выход при закрытии поÑледнего иÑполнÑющегоÑÑ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° (по умолчанию = 1). CachePgLife <чаÑÑ‹> Ð’Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ Ñтраниц в кеше (по умолчанию = 1). CachePgSz <кол.> МакÑимальное количеÑтво Ñтраниц в кеше (по умолчанию 10). CachePgLife <чаÑÑ‹> Ð’Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ Ñтраниц в кеше. VCAstation <id> Ð¡Ñ‚Ð°Ð½Ñ†Ð¸Ñ Ñ Ð´Ð²Ð¸Ð¶ÐºÐ¾Ð¼ СВУ ('.' - локальнаÑ). RestoreTime <Ñекунды> Ð’Ñ€ÐµÐ¼Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ. ======================= Module <UI:QTStarter> options ======================= --QtInNotMainThread Starts Qt into a different from the main thread. --showWin=<0,1,2> Window display mode, initial and which is allowed to change from: 0-typical window, 1-maximized window, 2-full screen. --simulRightMKeyTm Timeout, in seconds, to simulate the right mouse key and context menu at holding the left mouse key in the time - more to zero. ----------- Qt debug commandline options ---------- --noX11 Prevent the launch of Qt, preferably for a clean console. --sync Switch to Sync X11 for debugging. --widgetcount Print debug messages at output, the number of widgets left unselected and their maximum number. ----------- Qt commandline options ---------------- --qws Do this with Qt server software for embedded Linux. --style=<name> Sets the GUI style to <name> (windows, platinum, plastique, ...). --stylesheet=<path> Set the style sheet from the file by <path>. --session=<name> Restore from the previous session with the specified <name>. --reverse Set the layout in Qt::RightToLeft. --graphicssystem=<nm> Install rendering mechanism for screen widgets and QPixmaps (raster, opengl). --display=<nm> Set the X display (typically $DISPLAY). --geometry=<geom> Set the client geometry of the first display window. ---- Parameters of the module section '/sub_UI/mod_QTStarter/' of the configuration file ---- StartMod <moduls> List of the modules that are started, separated ';'. CloseToTray <0|1> Closing all windows or starting without Qt modules to the system tray. SessCntr [0...*3] Sessions control-restart: 0-if running, 1-anyway, 2-immediately, 3-never. Style <name> The GUI style of Qt. Font <font> Common Qt font. Palette <colors> Twenty colors of the palette separated by symbol ',' in three lines for active, disabled and inactive groups. StyleSheets <CSS> Rules of the Cascade Style Sheets. ======================= Опции Ð¼Ð¾Ð´ÑƒÐ»Ñ <UI:QTCfg> ============================= ------ Параметры модульной Ñекции '/sub_UI/mod_QTCfg/' конфигурационного файла ------ StartPath <path> Путь первичной Ñтраницы конфигуратора. StartUser <user> Стартовый пользователь, беÑпарольный. ======================== Опции Ð¼Ð¾Ð´ÑƒÐ»Ñ <UI:WebVision> ============================ ------ Параметры модульной Ñекции '/sub_UI/mod_WebVision/' конфигурационного файла ------ SessTimeLife <мин> Ð’Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ ÑеанÑов в минутах (по умолчанию 10). SessLimit <кол.> МакÑимальное количеÑтво ÑеанÑов (по умолчанию 5). CachePgLife <чаÑÑ‹> Ð’Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ Ñтраниц в кеше (по умолчанию = 1). CachePgSz <кол.> МакÑимальное количеÑтво Ñтраниц в кеше (по умолчанию 10). PNGCompLev <уров.> Уровень ÑÐ¶Ð°Ñ‚Ð¸Ñ [-1..9] Ñоздаваемых PNG-фафлов. ImgResize <0|1> Изменение размера раÑтровых изображений на Ñтороне Ñервера. =================== Опции подÑиÑтемы "Планировщик модулей" ==================== --ModPath=<путь> Директории модулей, разделённые ';', и в конце могут Ñодержать шаблон файлов. ---------- Параметры Ñекции '/sub_ModSched/' конфигурационного файла ---------- ModPath <путь> Директории модулей, разделённые ';', и в конце могут Ñодержать шаблон файлов. Ðто Ñиноним параметра ÑƒÑ€Ð¾Ð²Ð½Ñ Ñтанции "ModDir". ModAllow <ÑпиÑок> СпиÑок разделÑемых библиотек допуÑтимых Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой загрузки, Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ запуÑка (bd_DBF.so;daq_JavaLikeCalc.so). ИÑпользовать значение '*' Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð²Ñех модулей. ModDeny <ÑпиÑок> СпиÑок разделÑемых библиотек запрещённых Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой загрузки, Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ запуÑка (bd_DBF.so;daq_JavaLikeCalc.so). ChkPer <Ñекунд> Период поиÑка новых разделÑемых библиотек (модулей), 0 Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ. </pre> </div> <h2><span class="mw-headline" id=".D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA_.D0.B8_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5"><span class="mw-headline-number">5</span> <span id="Startup" title="#Startup">ЗапуÑк и иÑполнение</span></span></h2> <p>OpenSCADA изначально ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть запущена из конÑоли или терминала, набрав <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada</span>. Ð’ такой ÑпоÑоб программа запуÑтитÑÑ Ñ ÑообщениÑми её дейÑтвий в Ñту конÑоль и блокированием конÑоли на ожидании дейÑтвий пользователÑ, что ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð²Ñ‹Ð¼ режимом запуÑка в конÑоль-терминал и может иÑпользоватьÑÑ Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð¹ отладки и ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð° дейÑтвий и ошибок. Кроме типового режима предуÑмотрено также ещё три режима, которые определÑÑŽÑ‚ÑÑ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡ÐµÐ¹ <a href="#CfgFilePrm">параметров в команду запуÑка</a>: </p> <ol><li> Режим Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸ по параметрам командной Ñтроки — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada --help</span>.</li> <li> Режим демона — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada --demon</span>, фонового или ÑервиÑного иÑполнениÑ. ПредуÑматривает отключение от конÑоли запуÑка и фоновое иÑполнение, Ñ‚.е. визуально программа вроде Ñразу завершаетÑÑ, конÑоль оÑвобождаетÑÑ Ð¸ блокируютÑÑ Ð²Ñе модули локального графичеÑкого интерфейÑу вроде Qt. ИÑпользуетÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка и иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ в режиме обÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑервиÑов вроде: Ñервера SCADA, Ñреды иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐŸÐ›Ðš, Ñервера визуализации, Ñервера WEB-интерфейÑов. Обычно Ñта команда помещаетÑÑ Ð² файлы опиÑаниÑ-Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑервиÑа операционной ÑиÑтемы и неÑколько готовых на данный момент поÑтавлÑÑŽÑ‚ÑÑ Ð²Ð¼ÐµÑте Ñ OpenSCADA.</li> <li> Режим отладки ÑервиÑа-демона — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada --noX11</span>, по Ñути ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ режимом Ñ ÑообщениÑми о дейÑтвиÑÑ… в конÑоли, но Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸ÐµÐ¼ запуÑка модулей локального графичеÑкого интерфейÑа, что невозможно в чиÑтой конÑоли и недоÑтупным X-Ñервером.</li></ol> <p>OpenSCADA ÑвлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÑŒÐ½Ð¾Ð¹ и имеет модули локальных графичеÑких интерфейÑов, а Ñледовательно может запуÑкатьÑÑ Ð² графичеÑком интерфейÑе, что производитÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ при типовом запуÑке из конÑоли и при наличии доÑтупного X-Ñервера. Ð”Ð»Ñ Ð·Ð°Ð¿ÑƒÑка иÑключительно в и Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкого интерфейÑа команда типового запуÑка может и иÑпользуетÑÑ: в конфигурации иконок-Ñрлыков, запуÑка программ (также автоматичеÑкого) из Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкой Ñреды — рабочего Ñтола (DE). Сам модуль запуÑка локального графичеÑкого Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ предуÑматривать неÑколько режимов про что можно узнать из документации на Ñтот модуль, которым ÑÐµÐ¹Ñ‡Ð°Ñ ÑвлÑетÑÑ <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a> и который предуÑматривает режимы: </p> <ul><li> оÑновной режим иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° OpenSCADA Ñ: <ul><li> открытием определённых модулей Qt;</li> <li> открытием ÑобÑтвенного диалогового окна пуÑÐºÐ°Ñ‚ÐµÐ»Ñ (РиÑ.5a);</li> <li> запуÑком-Ñвёртыванием в ÑиÑтемный лоток (РиÑ.5b) — фактичеÑки ÑвлÑетÑÑ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ð¼ фонового иÑполнениÑ, но Ñ Ð´Ð¾Ñтупом из графичеÑкого окружениÑ.</li></ul></li> <li> режим инициирующего запуÑка (РиÑ.5c) — выбор проекта Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² оÑновной режим иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° OpenSCADA.</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:463px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_dialog_ru.png"><img class="thumbimage" height="673" src="files/QTStarter_dialog_ru.png" width="461" /></a> <div class="thumbcaption">РиÑ.5a. Диалоговое окно пуÑÐºÐ°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ QTStarter.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:386px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_systray_ru.png"><img class="thumbimage" height="181" src="files/QTStarter_systray_ru.png" width="384" /></a> <div class="thumbcaption">РиÑ.5b. Проект "ÐГЛКС", запущенный или Ñвёрнутый в ÑиÑтемный лоток.</div></div></div></div> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:298px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_selectProj_ru.png"><img class="thumbimage" height="514" src="files/QTStarter_selectProj_ru.png" width="296" /></a> <div class="thumbcaption">РиÑ.5c. Диалоговое окно пуÑÐºÐ°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ QTStarter в режиме инициирующего запуÑка — выбора проекта.</div></div></div></div> <p>ПроÑтой запуÑк ÑвлÑетÑÑ Ð¼Ð°Ð»Ð¾Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¼, неудобным и предуÑматривает иÑпользование и работу только Ñ Ð¾Ð´Ð½Ð¾Ð¹ конфигурацией, Ñто — <a href="#Config">конфигурационный файл</a> <i>{sysconfdir}/oscada.xml</i>, как первичное хранилище конфигурации. Ð”Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти выбора конфигурации при запуÑке программы предуÑмотрен <a href="#CfgFilePrm">параметр командной Ñтроки <i>--config</i></a> и изменение рабочей папки программы перед запуÑком или <a href="#CfgFilePrm">параметром "WorkDir" Ñтого конфигурационного файла</a>, что может быть иÑпользовано и иÑключительно иÑпользовалоÑÑŒ OpenSCADA до верÑии 0.9 через Ñоздание отдельного ÑÑ†ÐµÐ½Ð°Ñ€Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñтроки (Shell) Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾Ð¹ конфигурации. Ð’ верÑии OpenSCADA 0.9 добавлено понÑтие "Проекта OpenSCADA", которое Ñначала реализовывалоÑÑŒ отдельным Ñценарием командной Ñтроки <b>openscada_start</b>, а затем было интегрировано в Ñдро OpenSCADA и модуль запуÑка локального графичеÑкого интерфейÑа. </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D1.8B_OpenSCADA"><span class="mw-headline-number">5.1</span> <span id="Projects" title="#Projects">Проекты OpenSCADA</span></span></h3> <p>Ð’ OpenSCADA 0.9 бала определена, внедрена и окончательно Ñформирована Ñуть проекта OpenSCADA, как отдельное меÑто (папка) Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸ÐµÐ¹ и вÑеми данными отдельного проекта-Ñ€ÐµÑˆÐµÐ½Ð¸Ñ SCADA-ÑиÑтемы — объект технологичеÑкого процеÑÑа, ПЛК, Ñервер визуализации, Ñервер Web и другое. </p><p>Данные отдельного проекта-папки обычно предуÑматривают: </p> <ul><li> Ñам конфигурационный файл ("oscada.xml");</li> <li> файлы БД проекта и библиотек (папка "LibsDB") в режиме полного доÑтупа и/или ÑÑылки на только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ðµ;</li> <li> архивы Ñообщений и значений на файловую ÑиÑтему (папка "ARCHIVES");</li> <li> Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸ медиа-данные (папка "icons");</li> <li> Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ (папка "docs");</li> <li> ÑпецифичеÑкие файлы конфигурации, реÑурÑÑ‹ модулей OpenSCADA и внутренних процедур проекта.</li></ul> <p>Ðазвание папки проекта равно названию проекта и размещаетÑÑ Ð² рабочей папке OpenSCADA. Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° OpenSCADA делитÑÑ Ð½Ð° ÑиÑтемную ("{datadir}/openscada", где "datadir" обычно — "/usr/share"), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð¼Ñƒ-непривилегированному пользователю доÑтупна только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ, и пользовательÑÐºÐ°Ñ ("{HOME}/.openscada"), котораÑ, при необходимоÑти, ÑоздаётÑÑ Ð² домашней папке пользователÑ. Ð’ ÑиÑтемную рабочую папку обычно помещаютÑÑ Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾-уÑтановленные проекты и библиотеки OpenSCADA, которые уÑтанавливаютÑÑ ÑоответÑтвующими пакетами диÑтрибутива Linux. СоответÑтвенно, Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ñ†ÐµÐ½Ð½Ð¾Ð¹ работы, проекты и библиотеки из ÑиÑтемной рабочей папки копируютÑÑ Ð² пользовательÑкую, что менеджер проектов оÑущеÑтвлÑет автоматичеÑки. </p><p>Первым механизмом реализации ÑущноÑти проекта Ñтал Ñценарий командной Ñтроки <b>openscada_start</b>, который вÑÑ‘ ещё предоÑтавлÑетÑÑ Ð´Ð»Ñ ÑовмеÑтимоÑти, предуÑматривает и определÑет Ñледующие функции и требованиÑ: </p> <dl><dd>1. Определение конфигурационного файла, папки Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ и Ð¸Ð¼Ñ Ð¿Ð¾ указанному названию проекта, где название проекта можно указать: <ul><li> параметром командной Ñтроки "--ProjName={ИмÑПроекта}";</li> <li> переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ "OSCADA_ProjName={ИмÑПроекта}";</li> <li> именем Ñимвольной ÑÑылки <b>openscada_{ИмÑПроекта}</b> на <b>openscada_start</b>.</li></ul></dd> <dd>2. ЗапуÑк OpenSCADA через вызов первичного бинарного файла <b>openscada</b> и Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ командной Ñтроки определённого проекта.</dd> <dd>3. Проверку корректноÑти Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ и генерацию отчёта про аварийное завершение в Ñлучае Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° предÑмертного дампа памÑти в папке проекта и отладчика "gdb".</dd> <dd>4. Проверку и предотвращение множеÑтвенного запуÑка одного и того-же проекта, что ÑвлÑетÑÑ Ð¾Ð¿Ð°Ñным Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…, архивов и общей ÑтабильноÑти работы программы.</dd> <dd>5. Формирование диалогов выбора и ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ проекта, еÑли не указано нужного Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка, в одной из программ диалогового типа: dialog, kdialog, zenity или Xdialog.</dd> <dd>6. Создание новых проектов по шаблону конфигурации рабочей Ñтанции, что предуÑматривает: <ul><li> Ñоздание папки проекта;</li> <li> копирование шаблона конфигурационного файла "oscada_start.xml" в "oscada.xml" папки проекта;</li> <li> Ñоздание ÑÑылки на локальную копию папки библиотек (котораÑ, при необходимоÑти, копируетÑÑ Ð¸Ð· зоны "Только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ");</li> <li> Ñоздание папок архивов на файловую ÑиÑтему "ARCHIVES/MESS" Ð´Ð»Ñ Ñообщений и "ARCHIVES/VAL" Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹;</li> <li> Ñоздание на рабочем Ñтоле файла запуÑка проекта OpenSCADA из графичеÑкого Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ (иконки-Ñрлыка), путём ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° "openscada_{ИмÑПроекта}.desktop" по шаблонному файлу "openscada.desktop".</li></ul></dd></dl> <p>С целью унификации и раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñти, и по опыту ÑкÑплуатации <b>openscada_start</b>, ÑущноÑÑ‚ÑŒ проекта позже была интегрирована в Ñдро OpenSCADA и модуль запуÑка локального графичеÑкого интерфейÑа <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a>. СоответÑтвенно, Ñдро OpenSCADA, а именно первичный бинарный файл <b>openscada</b>, предуÑматривает определение конфигурационного файла, папки Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ и Ð¸Ð¼Ñ Ð¿Ð¾ указанному названию проекта и переключение на Ñту конфигурацию ÑоглаÑно пунктам 1, 2 и 4 выше-перечиÑленных функций менеджера проекта. Формирование Ñлементов интерфейÑа Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° и ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… проектов, пункт 5, оÑущеÑтвлÑет модуль запуÑка локального графичеÑкого интерфейÑа <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a> (РиÑ.5a,5c). Пункты 3 и 6 вынеÑены в отдельный Ñценарий командной Ñтроки <b>openscada-proj</b> из-за ÑпецифичноÑти Ñтих операций к программной платформе, а ÑоответÑтвенно и необходимоÑÑ‚ÑŒ в проÑтой адаптации к Ñтой Ñпецифики. </p><p>СоответÑтвенно, ÑÐµÐ¹Ñ‡Ð°Ñ OpenSCADA можно запуÑтить как в режиме демона-ÑервиÑа, так и графичеÑкого интерфейÑа проÑто указав Ð¸Ð¼Ñ Ð¿Ñ€Ð¸ÑутÑтвующего проекта Ñ‡ÐµÑ‚Ñ‹Ñ€ÑŒÐ¼Ñ ÑпоÑобами: </p> <ol><li> параметром командной Ñтроки — <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada --projName={ИмÑПроекта}</span>;</li> <li> переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ â€” <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">OSCADA_ProjName={ИмÑПроекта} openscada</span>;</li> <li> именем Ñимвольной ÑÑылки — <b>openscada_{ИмÑПроекта}</b> на <b>openscada</b>.</li> <li> выбором приÑутÑтвующего проекта из Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ графичеÑкого интерфейÑа <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a>, который предоÑтавлÑетÑÑ Ð¿Ð¾ проÑтому вызову первичного бинарного файла <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada</span> — инициирующий режим (РиÑ.5c), и еÑли не указаны графичеÑкие модули Qt автоматичеÑкого запуÑка — режим иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° OpenSCADA (РиÑ.5a).</li></ol> <p>Создать новый проект можно из локального графичеÑкого интерфейÑа <a href="Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">UI.QTStarter</a> (РиÑ.5c) и через Ñценарий командной Ñтроки менеджера проектов <b>openscada-proj</b>, который ÑобÑтвенно и вызываетÑÑ Ð¸Ð· локального графичеÑкого интерфейÑа. </p> <div class="mw-collapsible mw-collapsed"> <p>Result of the command <span style="border: solid gray 1px; padding: 1px; font-family: monospace; font-size: 1.2em; white-space: nowrap;">openscada-proj</span> execution ... </p> <pre class="mw-collapsible-content" style="white-space: pre-wrap;"> The project management script of OpenSCADA mostly designed to call from OpenSCADA itself, but it also can be used independently. The script is mostly software platform specific and it is related now for Linux. openscada-proj list openscada-proj proc|create|remove|snapshot|crash|cores|update {ProjName} Commands: list - list of the accessible projects; proc - performing of the RO project copying to WR, creating desktop link, processing core dumps; create - creating new project or copying the RO project to WR, creating desktop link; remove - removing the project; snapshot|crash|cores - creating the hot crash snapshot to the running project, where the 'crash' variant to call from OpenSCADA, the 'cores' variant to call from 'proc' for processing the core-files; update - updating from 0.8.0 LTS. Arguments: ProjName - project name; Environment variables: dPrj - directory of projects OpenSCADA, can be RO; dPrjUser - directory of projects OpenSCADA of the user, WR; dSysCfg - directory of system configuration; dData - directory of system data. openscada-proj backup|backupRestore {ProjName} [{BackupName}] openscada-proj backupList {ProjName} Commands: backup - backup the project <ProjName> under the name <BackupName>, or with the current date at missing; backupRestore - restore the project <ProjName> from the backup name <BackupName>, or from the last one at missing; backupList - list of backups of the project <ProjName>. Arguments: ProjName - project name; BackupName - name of the backup archive. Environment variables: OSCD_TAR_ComprPrg - TAR compression program, by default gzip; OSCD_TAR_Args - TAR extra arguments, by default "--exclude=lock --exclude=ARCHIVES"; OSCD_BackLim - Backups limit, by default 10. </pre> </div> <p>In general, the command line script for the project manager <b>openscada-proj</b> includes such project functions and commands: </p> <ul><li> <i>list</i> — list of the accessible projects;</li> <li> <i>proc</i> — performing of the RO project copying to WR, creating desktop link, processing core dumps;</li> <li> <i>create</i> — creating new project or copying the RO project to WR, creating desktop link;</li> <li> <i>remove</i> — removing the project;</li> <li> <i>snapshot|crash|cores</i> — creating the hot crash snapshot to the running project, where the 'crash' variant to call from OpenSCADA, the 'cores' variant to call from 'proc' for processing the core-files.</li></ul> <p>Дополнительно Ñценарий командной Ñтроки Ñодержит команды менеджера резервного ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð²: </p> <ul><li> <i>backup</i> — резервное копирование выбранного проекта <i>ProjName</i> в <i>BackupName</i>, или на текущую дату при отÑутÑтвии;</li> <li> <i>backupRestore</i> — воÑÑтановление выбранного проекта <i>ProjName</i> из резервной копии Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ названием <i>BackupName</i>, или из поÑледнего при отÑутÑтвии;</li> <li> <i>backupList</i> — перечень резервных копий проекта <i>ProjName</i>.</li></ul> <p>Backup is generally done in the OpenSCADA working folder along with the folders of the projects themselves, for which packed folder files are created with the name <b>{ProjName}_{BackupName}.backup</b>, for example — "Boiler_2020-06-24_20.09.backup". By default, project folders are compressed with "gzip", which can be changed by setting the environment variable "OSCD_TAR_ComprPrg". The backup files limit is set by default to 10 and you may change that by the environment variable "OSCD_BackLim". You also can append some specific arguments to the TAR archiver by the environment variable "OSCD_TAR_Args", which by default set to "--exclude=lock --exclude=ARCHIVES" for excluding the file "lock" and folder "ARCHIVES" from the backup. The backup can be done from the outside, for example, from the established schedule with CRON, in addition to doing it manually from the graphical interface of the project manager (Fig.5a). </p> <h3><span class="mw-headline" id=".D0.98.D1.81.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D0.BF.D1.80.D0.BE.D0.B5.D0.BA.D1.82.D0.B0_OpenSCADA_.D0.B2_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D1.80.D0.B0.D0.BD.D1.81.D1.82.D0.B2.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B8.D1.81.D0.B0-.D1.84.D0.BE.D0.BD.D0.B5"><span class="mw-headline-number">5.2</span> <span id="Service" title="#Service">ИÑполнение готового проекта OpenSCADA в проÑтранÑтве ÑервиÑа-фоне</span></span></h3> <p>ÐžÑ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° OpenSCADA в отдельном каталоге делает проÑтым запуÑк готовых проектов в проÑтранÑтве ÑервиÑа — иÑполнение в фоне, а также дальнейшее обновление и Ñопровождение Ñтого проекта без прÑмого удаленного контролÑ. ФактичеÑки, вы можете разрабатывать проект локально, держа его каталог в пользовательÑком рабочем каталоге (типично "{HOME}/.openscada"), а Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка в проÑтранÑтве ÑервиÑа только копировать или паковать, передавать на удалённое рабочее уÑтройÑтво и раÑпаковывать в ÑиÑтемный рабочий каталог (типично "/usr/share/openscada"). </p><p>СервиÑное-фоновое иÑполнение программ в Linux обÑлуживаетÑÑ ÑоответÑтвующим образом Ñформированным Ñценарием-Ñкриптом, который размещаетÑÑ Ð² каталоге "/etc/ini.d" и должен быть отдельным на каждый проект OpenSCADA, который запуÑкаетÑÑ Ð² ÑервиÑном проÑтранÑтве. Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð¸Ñ Ð¸ иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾Ñти заниматьÑÑ Ñозданием ÑобÑтвенных Ñценариев, OpenSCADA предоÑтавлÑет ÑоответÑтвующие Ð´Ð»Ñ Ñтандартных Ñлучаев-профилей и которые обычно поÑтавлÑÑŽÑ‚ÑÑ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ <b>openscada-server</b> и <b>openscada-plc</b> (<b>openscada-lts-server</b> и <b>openscada-lts-plc</b> Ð´Ð»Ñ LTS). </p><p>Therefore, to launch <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Using/Model_AGLKS" title="Special:MyLanguage/Using/Model AGLKS">the AGLKS library project</a> in the service space, we: </p> <ul><li> install the packages <b>openscada-model-aglks</b> (<b>openscada-lts-model-aglks</b> for LTS) and <b>openscada-server</b> (<b>openscada-lts-server</b> for LTS), if they were not installed yet and that is not environments of the <a href="How_to_Live_disk.html" title="Special:MyLanguage/Documents/How to/Live disk">Live Disk</a> or the <a class="external" href="http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Automation_Linux_distributive" title="Special:MyLanguage/Sub-projects/Automation Linux distributive">Linux Automation</a> from the Disk installation;</li> <li> start the project "AGLKS", for getting its folder in the user's work folder;</li> <li> copy the project "AGLKS" folder to the system work folder also renaming to "server", previously stop the background execution of the project "server" and remove its project folder; for example, in that way from the console:</li></ul> <div class="mw-highlight mw-content-ltr" dir="ltr" style="margin-left: 30pt"><pre><span class="c"># Connect from the superuser</span> su - <span class="c"># ... for the live disk and some other Linux environments</span> sudo bash <span class="c"># Stop down of execution of the previous server configuration and remove its folder</span> systemctl stop openscada-server.service <span class="c"># for SystemD</span> service openscada-server stop <span class="c"># for SysVinit</span> rm -R /usr/share/openscada/server <span class="c"># ... for LTS</span> systemctl stop openscada-lts-server.service <span class="c"># for SystemD</span> service openscada-lts-server stop <span class="c"># for SysVinit</span> rm -R /usr/share/openscada/server <span class="c"># Copy the project "AGLKS" from the user home folder "{HOME}" also renaming to "server"</span> cp -R <span class="o">{</span>HOME<span class="o">}</span>/.openscada/AGLKS /usr/share/openscada/server <span class="c"># Start the server already in the project "AGLKS"</span> systemctl start openscada-server.service <span class="c"># for SystemD</span> service openscada-server start <span class="c"># for SysVinit</span> <span class="c"># ... for LTS</span> systemctl start openscada-lts-server.service <span class="c"># for SystemD</span> service openscada-lts-server start <span class="c"># for SysVinit</span> </pre></div> <p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Отметьте, что локально вы можете не копировать каталог проекта целиком, а только уÑтановить на него ÑимволичеÑкую ÑÑылку, но вы получите риÑк двойного иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° на общий каталог и данные, что приводит к аварийному завершению одного иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ их обоих! </p><p>Отличие иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° в Ñреде ÑервиÑа-фона от пользовательÑкой Ñреды рабочего Ñтола ÑобÑтвенно одно, еÑтеÑтвенно кроме отÑутÑÑ‚Ð²Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ графичеÑкого интерфейÑа, Ñто — отÑутÑтвие в фоне Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸, Ñ‚.е. Ñзык интерфейÑа там будет ÐнглийÑкий. И что можно проÑто иÑправить Ñменой или добавлением <a href="#CfgFilePrm">конфигурационного параметра</a> <b><prm id="Lang">ru_RU.UTF-8</prm></b> в Ñекции-теге "station" файла <b>oscada.xml</b> фонового проекта. </p><p><br /> </p> <h2><span class="mw-headline" id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"><span class="mw-headline-number">6</span> СÑылки</span></h2> <ul><li> <a class="external" href="http://oscada.org/wiki/File:Oscada_struct_ru.odg" title="File:Oscada struct ru.odg">Диаграмма: Ð‘Ð»Ð¾Ñ‡Ð½Ð°Ñ Ñхема OpenSCADA.</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_subsys_daq_str_ru.odg" title="File:Oscada subsys daq str ru.odg">Диаграмма: ИерархичеÑÐºÐ°Ñ Ñтруктура подÑиÑтемы "Сбор данных".</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_subsys_db_str_ru.odg" title="File:Oscada subsys db str ru.odg">Диаграмма: ИерархичеÑÐºÐ°Ñ Ñтруктура подÑиÑтемы "БД".</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_subsys_arch_str_ru.odg" title="File:Oscada subsys arch str ru.odg">Диаграмма: ИерархичеÑÐºÐ°Ñ Ñтруктура подÑиÑтемы "Ðрхивы".</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_subsys_tr_str_ru.odg" title="File:Oscada subsys tr str ru.odg">Диаграмма: ИерархичеÑÐºÐ°Ñ Ñтруктура подÑиÑтемы "ТранÑпорты" и "Протоколы".</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Scada_ru.odg" title="File:Scada ru.odg">Диаграмма: ИерархичеÑÐºÐ°Ñ SCADA-ÑиÑтема.</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:Oscada_use_set_ru.odg" title="File:Oscada use set ru.odg">Диаграмма: Ðабор иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ OpenSCADA.</a></li></ul> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Documents/Program_manual/ru">Documents/Program_manual/ru</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">March 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3012</td></tr></table></body> </html>