<?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&amp;group=page-Modules%2FDAQGate&amp;action=page&amp;filter=&amp;language=ru" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/DAQGate" title="Modules/DAQGate">Modules/DAQGate</a> and the translation is 93% 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/Modules/DAQGate.html" title="Modules/DAQGate (100% translated)">English</a>&nbsp;• ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span>&nbsp;• ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../uk/Modules/DAQGate.html" title="Модулі/Шлюз збору даних (100% translated)">Українська</a></div></div>
<table class="wikitable">

<tr>
<th> Модуль </th>
<th> Имя </th>
<th> Версия </th>
<th> Лицензия </th>
<th> Источник </th>
<th> Языки </th>
<th> Платформы </th>
<th> Тип </th>
<th> Автор
</th></tr>

<tr>
<td> <a href="../Modules/DAQGate.html" title="Special:MyLanguage/Modules/DAQGate">DAQGate</a> </td>
<td> Шлюз источников данных
</td>
<td> 2.14 </td>
<td> GPL2 </td>
<td> daq_DAQGate.so </td>
<td> en,uk,ru,de </td>
<td> x86,x86_64,ARM
</td>
<td> DAQ </td>
<td> Роман Савоченко
</td></tr>
<tr>
<th colspan="9"> Описание
</th></tr>
<tr>
<td colspan="9"> Позволяет выполнять шлюзование источников данных удалённых OpenSCADA станций в локальные.
<ul><li> <b>Спонсировано, асинхронной записи, усовершенствование в целом и в сообщениях с нарушениями и действий на 1.5 <span title="человеко-дней, 1ЧД — 10 часов">ЧД<sup style="color: blue">[!]</sup></span>:</b> INSERTEC LTDA, Винницкая Птицефабрика</li></ul>
</td></tr></table>
<p>Основной функцией данного модуля является отражение данных <a href="../Program_manual.html#DAQ" title="Special:MyLanguage/Documents/Program manual">подсистемы "Сбор данных"</a> удалённых OpenSCADA станций на локальные. В своей работе модуль использует <a href="../Modules/SelfSystem.html" title="Special:MyLanguage/Modules/SelfSystem">Собственный Протокол OpenSCADA</a> и сервисные функции подсистемы "Сбор данных".
</p><p>Модулем реализуются следующие функции:
</p>
<ul><li> Отражение структуры параметров подсистемы "Сбор данных" удалённой станции. Эта структура может периодически синхронизироваться при работе.</li>
<li> Доступ к конфигурации параметров. Конфигурация параметров контроллеров удалённых станций прозрачно отражается, что позволяет менять её удалённо.</li>
<li> Доступ к текущим значениям атрибутов параметров и возможность их модификации. Значения атрибутов параметров обновляются с периодичностью исполнения локального объекта контроллера. Запросы на модификацию атрибутов транслируются на удалённую станцию.</li>
<li> Отражение архивов значений отдельных атрибутов параметров. Реализовано отражение архивов двумя способами:</li></ul>
<dl><dd><ol><li> предусматривает создание локального архива для атрибута и его синхронизацию с удалённым, при этом поддерживается восстановление архива на время недоступности удалённой станции;</li>
<li> предусматривает трансляцию запросов локального архива к архиву удалённой станции.</li></ol></dd></dl>
<ul><li> Отражение сообщений выбранных источников данных удалённой станции в локальном архиве сообщений с префиксом "{Станция}:", включая и нарушения (отрицательный уровень). Процедура первичной синхронизации в целом предусматривает:</li></ul>
<dl><dd><ol><li> запрос всех активных нарушений;</li>
<li> запрос сообщений определённых источников на глубину, указанную параметром "Максимальная глубина данных архива значений и сообщений для восстановления при запуске", и по время предыдущего запроса, т.е. когда новые активные нарушения точно не появятся;</li>
<li> переход в нормальный режим отслеживания новых сообщений и нарушений определённых источников.</li></ol></dd></dl>
<ul><li> Предоставление реализации механизма вертикального резервирования, а именно возможность отражения данных с нескольких станций одного уровня.</li>
<li> Реализация функции горизонтального резервирования, а именно совместной работы с удалённой станцией этого же уровня.</li></ul>
<p>Использование доступных схем резервирования наглядно представлено на рисунке 1.
</p>
<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:515px;"><a class="image" href="http://oscada.org/wiki/File:DAQ_red_ru.png"><img class="thumbimage" height="351" src="../files/DAQ_red_ru.png" width="513" /></a>  <div class="thumbcaption">Рис.1. Горизонтальное и вертикальное резервирование.</div></div></div></div>
<div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#.D0.9E.D0.B1.D1.8A.D0.B5.D0.BA.D1.82_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.BE.D0.BB.D0.BB.D0.B5.D1.80.D0.B0"><span class="tocnumber">1</span> <span class="toctext">Объект контроллера</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#.D0.9F.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D1.8B"><span class="tocnumber">2</span> <span class="toctext">Параметры</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#.D0.97.D0.B0.D0.BC.D0.B5.D1.87.D0.B0.D0.BD.D0.B8.D1.8F"><span class="tocnumber">3</span> <span class="toctext">Замечания</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"><span class="tocnumber">4</span> <span class="toctext">Ссылки</span></a></li>
</ul>
</div>

<h2><span class="mw-headline" id=".D0.9E.D0.B1.D1.8A.D0.B5.D0.BA.D1.82_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.BE.D0.BB.D0.BB.D0.B5.D1.80.D0.B0"><span class="mw-headline-number">1</span> Объект контроллера</span></h2>
<p>Для добавления источника данных создаётся и конфигурируется объект контроллера OpenSCADA. Пример вкладки конфигурации объекта контроллера данного типа изображен на рисунке 2.
</p>
<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:917px;"><a class="image" href="http://oscada.org/wiki/File:DAQGate_tr_cntr.png"><img class="thumbimage" height="922" src="../../en/files/DAQGate_tr_cntr.png" width="915" /></a>  <div class="thumbcaption">Рис.2. Вкладка конфигурации объекта контроллера.</div></div></div></div>
<p>With this tab you can set:
</p>
<ul><li> State of the controller object, that is: status, "Enabled", "Running" and the storage name containing the configuration.</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> Manual restart of the enabled controller object causes the force resync at the sync period &gt;= 0.</dd></dl>
<ul><li> Identifier, name and description of the controller.</li>
<li> The state "Enabled" and "Running" in which the controller object must be translated at start up.</li>
<li> Acquisition schedule policy and priority of the data acquisition task. </li>
<li> Time interval of repetition attempts to restore communication with the lost station, in seconds.</li>
<li> Maximum depth of data of the archive values and messages to restore when start, in the hours. Zero for disable the remote archive access.</li>
<li> Asynchronous writing. Enables of writing in the common acquisition cycle for the buffer of accumulated values, by one request.</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> Useful for slow and not reliable networks-connections since the writing buffer stores data before the connection restore and the real writing.</dd></dl>
<ul><li> Level of requested messages of the data sources. Also enables the DAQ-messages of <a href="../User_API.html#SYS.DAQ" title="Special:MyLanguage/Documents/User API">the User API function messSet()</a> transferring to the lower stations.</li>
<li> Synchronization time with the remote station in seconds. Zero to disable the periodic sync and -1 for the sync disabling at the start also.</li>
<li> Remote OpenSCADA station of the reflected data. Several stations in the list enable the vertical redundancy mechanism.</li>
<li> List of the reflected controller objects and parameters. The list can be used as for controller objects for the reflection of all their parameters, and for individual parameters too.</li>
<li> Command to go to configuration of the <a href="../Program_manual.html#Transports" title="Special:MyLanguage/Documents/Program manual">OpenSCADA remote stations list</a>.</li>
<li> Allow the automatic removal of parameters and attributes to update to the actual state.</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> In the production mode, it's better to turn this off!</dd></dl>
<ul><li> Placing different controllers to the different virtual parameters.</li></ul>
<h2><span class="mw-headline" id=".D0.9F.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D1.8B"><span class="mw-headline-number">2</span> Параметры</span></h2>
<p>Модуль хотя и предоставляет возможность создания параметров вручную, однако это лишено смысла, поскольку такой параметр, при отсутствии его на удалённой станции, будет пустым. Все параметры создаются автоматически с учётом списка отражаемых объектов контроллеров и параметров. Параметры могут быть сохранёны в кеш для последующего их создания даже при отсутствии связи с удалённой станцией. Пример отраженного параметра приведён на рисунке 3.
</p>
<div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:765px;"><a class="image" href="http://oscada.org/wiki/File:DAQGate_tr_prm.png"><img class="thumbimage" height="654" src="../../en/files/DAQGate_tr_prm.png" width="763" /></a>  <div class="thumbcaption">Рис.3. Вкладка конфигурации отражённого параметра.</div></div></div></div>
<h2><span class="mw-headline" id=".D0.97.D0.B0.D0.BC.D0.B5.D1.87.D0.B0.D0.BD.D0.B8.D1.8F"><span class="mw-headline-number">3</span> Замечания</span></h2>
<p>В работе с этим модулем в целом рекомендуется следующий порядок:
</p>
<ul><li> На время активной разработки, а соответственно и изменения структуры параметров удалённой станции, нужно включить синхронизацию с периодичностью секунд 60 и разрешить удаление параметров и атрибутов.</li>
<li> Перед запуском в производство нужно: выключить периодическую синхронизацию (периодичностью <b>0</b>) или даже при старте (периодичностью <b>-1</b>), запретить удаление параметров и атрибутов и сохранить текущую структуру параметров через сохранение объекта контролера. Это нужно для минимизации трафика и нагрузки удалённой станции обменом, что особенно важно для высоко-нагруженных ПЛК, поскольку синхронизация, хотя и распределяет синхронизацию отдельных параметров по тактами цикла обмену, все-же является ресурсоёмкой функцией.</li>
<li> Выполнение сервисных изменений структуры нужно осуществлять следующим образом:
<ul><li> изменяется структура параметров удалённой станции;</li>
<li> периодичность синхронизации устанавливается в <b>0</b>, если стояло <b>-1</b>;</li>
<li> объект контроллера перезапускается, т.е. переключается состояние "Исполняется";</li>
<li> ожидается завершение синхронизации, т.е. исчезновение из состояния объекта контроллера "Синхронизация".</li>
<li> периодичность синхронизации возвращается в предыдущее значение;</li>
<li> сохраняется структура отражённый параметров через сохранение объекта контроллера шлюза.</li></ul></li></ul>
<h2><span class="mw-headline" id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"><span class="mw-headline-number">4</span> Ссылки</span></h2>
<ul><li> <a class="external" href="http://oscada.org/wiki/File:Daq_red_ru.odg" title="File:Daq red ru.odg">Диаграмма: Горизонтальное и вертикальное резервирование.</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/Modules/DAQGate/ru">Modules/DAQGate/ru</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body>
</html>