Сервер РТС (rtVarSrv)#
Утилита «Сервер РТС» - это основной концентратор данных и конфигураций системы IngortechSCADA и предоставления к ним доступа всем остальным элементам ПО.
Утилита предназначена для сбора данных реального времени, хранения конфигураций системы, хранения дополнительных файлов необходимых для работы различных программ комплекса, предоставление доступа к архивам данных реального времени.
Утилита выполняет следующие функции:
Авторизацию пользователей системы и предоставление ограниченного доступа к функционалу сервера на основании настроенных прав.
Хранение и изменение (актуализация) конфигураций, описывающих информационную структуру конфигураций.
Получение данных реального времени от различного ПО IngortechSCADA, такого как ПО связи с оборудованием, эмулятора и отладчика данных.
Обработка данных реального времени в соответствии с настройками конфигурации.
Передача данных реального времени для сохранения в архивах долговременного хранения.
Предоставление доступа к потоку данных реального времени.
Предоставление доступа к архивам долговременного хранения.
Хранение и предоставление доступа к дополнительным файлам необходимым для работы других элементов ПО, таких как: мнемосхемы, звуковые файлы, лог файлы, отчеты и т.д.
Прием управляющих воздействий передаваемых пользователем из Оболочки оператора и передача их программному обеспечению связи с оборудованием; обработку результатов исполнения управляющих воздействий.
Мониторинг действий пользователя в журнале доступа (см утилиту «Просмотр журнала управления»), таких как изменение конфигураций и передача управляющих воздействий.
Основное окно#
Окно утилиты состоит из следующих областей:
Дневник состояния - выпадающий список сообщений генерируемые утилитой во время выполнения различных операций.
Главное меню#
Главное меню состоит из двух закладок
Программа#
Пункт меню Программа содержит основные данные: пункты управления и настройки утилиты.
Запустить / Остановить |
Запускает/Останавливает процесс работы утилиты. |
Настройка… |
Открывает окно Параметры для настройки утилиты. |
Сохранить настройки |
Сохранение всех настроек осуществленных в окне Параметры. |
О программе |
Раздел с общими данными о программе. |
Выход |
Завершение работы программы. |
Инструменты#
Пункт меню Инструменты содержит информацию о выполняемых операциях и данные о переменных содержащихся на сервере.
Окно сообщений |
Выбор данного пункта открывает стандартное окно сообщений, создаваемых при работе программы. |
Окно переменных |
Выбор пункта открывает окно Сервер содержащий список всех переменных конфигурации загруженной на сервер. |
Список клиентов#
Область Списка клиентов содержит список всех клиентов подключенных к серверу в настоящий момент.
Структура списка:
- Время простоя:
Время простоя клиента в секундах.
В этой колонке отображается время простоя клиента, когда он не получает и не отправляет данные серверу. В настройках сервера указывается «Время бездействия клиента», при превышении которого клиент будет принудительно отключен от сервера РТС.
- Адрес:
IP адрес клиента.
- Имя:
Идентификатор клиента - название типовой утилиты или имя учетной записи используемой при установке связи.
В настоящее время существует следующий набор типовых утилит, имя которых отображается специальным образом автоматически:
vtst - тестирования сервера из командной строки.
starter - утилита Синхронизация запуска (стартер).
datacmp - утилита Сравнение данных архива.
datacmpsql - Комплексное сравнение данных SQL.
info.send - Источник данных системы информирования.
opcda.SERVER - ОРС Сервер.
sms.send - Рассылка.
opcda.CLIENT - ОРС Клиент.
spgt.client - СПГТ Клиент.
valsrv.client - Клиент связи с ПО Связи SAP (ValSrv.exe).
vardebug - Отладчик данных.
varemu - Эмулятор данных.
report - Генератор отчетов.
datapump - Сервер РТС источник данных.
export - Экспорт данных в БД.
- Пак/Чт/Зап:
Счетчики обмена данными с клиентом. Число отправленных и полученных данных.
- Тип:
Тип клиента.
Возможны 2 основных типа клиентов: простой клиент и клиент предоставляющий данные серверу РТС (источник данных), так же источники данных могут определять тип протокола с которым они работают, в результате в этой колонке может выводиться следующая информация:
«простой» - для простых клиентов. Примером таких клинтов могут быть: оболочка оператора, конфигуратор, экспортер.
«Общие данные» - для клиентов источников данных не привязанных к конкретному протоколу. Примерами могут быть эмулятор, отладчик.
«Все данные» - для клиентов источников данных передающих данные для всех переменных, вне зависимости от протокола. Примером таких клиентов может быть сервер РТС являющийся источником данных.
«Данные протокола» - для клиентов источников данных передающих данные для конкретного протокола. Примером таких клиентов могут быть ПО связи SAP, ОРС клиент.
- Комментарий:
Дополнительные данные о способе работе клиента. В этой колонке выводятся дополнительные характеристики клиента, работающего с сервером РТС по подписке.
Область «Операция»#
- Состояние:
Состояние работы сервера.
Остановка - индикатор завершения процесса работы. В этот момент сервер производит отключение клиентов, сохранение временных данных, завершение работы с БД и т.д.
Запущен, ИСТОЧНИК - индикатор процесса работы в режиме связи с другим сервером РТС источником данных.
Запущен, ВСЕ ИСТОЧНИКИ - индикатор процесса работы в обычном режиме, когда сервер может получать данные от любых источников данных.
Сервер не запущен - индикация остановленного сервера, когда сервер ожидает управления в ручном режиме.
- Операция:
Содержит общую информацию об обработке данных сервером, такую как общее число клиентов, загрузке кеша отправки значений в БД, общее число ошибок сохранения данных в БД и т.д.
Настройки#
Диалог настроек утилиты вызывается из главного меню, с помощью пункта .
Все настройки разделены на следующие группы:
В нижней части окна настроек располагаются кнопки управления.
|
Мастер настроек - кнопка с выпадающим списком типовых настроек сервера для различных операций. При выборе элемента меню будет применен типовой набор настроек.
|
|
Закрывает окно с сохранением всех настроек установленных в окне Параметры. |
|
Отменяет редактирование и закрывает диалог настроек. |
Общие#
К группе общих настроек относятся различные параметры, которые влияют на работу сервера целиком.
Подтверждения#
Определяет, будет ли требоваться дополнительное подтверждение для выполнения действий выбранных в настройке.
Если настройка
, то для указанной операции будет показано дополнительное сообщение, требующее подтверждение пользователем.
Программа#
Группа настроек программа содержит набор настроек, которые определяют интерфейсное поведение утилиты.
Сворачивать при закрытии
Если
, то при нажатии на кнопку х окно программы будет не закрыто, а свернуто в системный лоток ОС.
Запускать свернутым
Если
, то при запуске программы она автоматически будет свернута в системный лоток ОС.
Поверх всех окон
Если
, окно утилиты будет всегда помещаться поверх всех остальных окон системы.
Разрешить запуск нескольких копий программы
Если
, то можно будет запустить несколько копий программы, иначе запуск других копий сервера запрещен и при повторном запуске будет активировано окно предыдущей копии программы и вновь запущенный экземпляр автоматически завершится.
Предупреждение
Контроль запуска сервера глобальный, т.е. не зависит ни от места запуска утилиты, ни от настроек других ее копий, ни от версии ПО.
Если на компьютере уже запущен сервер РТС, то любая вторая копия сервера это обнаружит и ее поведение зависит от ее настройки, т.е. даже если в настройках первой копии разрешен запуск, но во второй нет, второй экземпляр запущен не будет.
Запретить основной лог файл
Если
, то при работе программы основной лог файл не будет создаваться и пополняться.
Изменение настройки не влияет на существующий лог файл. Если он уже существует, то при ее отключении он просто не будет пополняться новыми данными.
Отключение настройки полностью идентично действию ключа командной строки NoLog.
Сервер#
К группе настроек сервер относятся настройки запуска сервера и доступа к каталогам ???.
Соединение#
Автоматически запускать сервер при запуске программы
Если
, то при запуске программы сервер будет запущен автоматически и перейдет с состояние «Запущен», как если бы осуществлялось подключение через меню .
Порт ожидания соединения
Номер порта, который будет использован сервером для ожидания подключения клиентов.
Предупреждение
Две разные программы не могут использовать один и тот же номер порта, поэтому, если на одной машине запускается более одной копии сервера, каждый из них должен иметь уникальный номер порта.
Клиенты#
Время бездействия клиента
Устанавливает максимальное время бездействия, т.е. время когда клиент не производит обмен данными с сервером (не присылает и не получает данные).
При превышении этого времени клиент будет отключен от сервера и все операции которые начаты и не завершены этим клиентом будут отменены.
Каталог данных
Каталог на локальной машине, который используется сервером для доступа к данным при выполнении запросов клиентов.
Такие клиенты как Оболочка оператора для своей работы использует большое число дополнительных данных, таких как файлы мнемосхем, изображений и звуков. Все эти файлы должны быть расположены в указанном каталоге, иначе клиент не сможет получить к ним доступ.
Разрешить доступ ко всем каталогам
Если
, то клиентам будет разрешено обращаться к произвольным каталогам той машины на которой запущен сервер РТС.
Эта настройка предназначена для использования в системах с централизованным расположением файлов. В этом случае, в конфигурации и элементах дизайнера указываются не относительные, а абсолютные пути ко всем необходимым внешним файлом и, при обновлении ПО и использовании его на разных машинах, будет производиться обращение к файлам расположенным в одном и том же месте вне зависимости от версии ПО и места его использования, однако такой подход требует дополнительной организации расположения данных.
Предупреждение
При использовании этой настройки, при доступе к файлам, сервер осуществляет этот доступ от собственного имени, поэтому какое либо разделение доступа основанное на типе запущенной программы осуществить невозможно.
Использование этой настройки не рекомендуется.
Общие настройки клиентов
Окно типовых, общих для различных клиентов настроек в едином хранилище.
Настройка осуществляется в окне Общие настройки клиентов.
Суперпользователь, Запретить суперпользователя
Имя и логин доступа учетной записи, которая имеет все возможные права. Если использование такой учетной записи разрешено, то ее можно использоваться для первоначальной загрузки конфигурации на сервер РТС, когда система авторизации еще не настроена.
Предупреждение
В настоящее время сервер поддерживает раздельную с конфигурацией систему авторизации и использование такой учетной записи не рекомендуется.
Настройки клиентов#
На сервере хранятся общие параметры клиентов.
Общие параметры – это набор именованных значений, которые могут быть использованы любыми клиентами, осуществляющими к нему доступ.
При установке связи с сервером любым клиентом список общих параметров и их значения будут автоматически переданы клиенту.
Общие параметры предназначены для хранения типовых, общих для различных клиентов настроек в едином хранилище, таких как длительность поверки, наименование объекта контроля и т.д.
При подключении к серверу РТС клиенты автоматически получают копию всех общих параметров со значениями, установленными в настройках сервера.
Диалоговое окно для редактирования общих параметров клиентов открывается нажатием на кнопку
.
В правой части активной строки расположены кнопки управления
, позволяющие осуществлять сортировку списка и его редактирование.
Предупреждение
При настройке сервера необходимо указать правильные значения для этих общих параметров, для того, чтобы корректно работали соответствующие части ПО.
Если на объекте соответствующие части ПО не используются, то значения для этих параметров использоваться не будут.
Таким образом, наличие и значения этих параметров на объектах, при обновлении ПО, будет играть роль только в том случае, если планируется эксплуатация данного функционала.
Блок «Настройки»
Список общих параметров для всех клиентов системы IngortechSCADA.
Название - имя параметра.
Список общих параметров поддерживаемых в настоящее время:
|
Наименование объекта, на котором эксплуатируется РТС сервер (название шахты, разреза и т.д.) |
|
Длинный интервал до следующей поверки когда нужно устанавливать состояние поверки в «скоро». |
|
Короткий период до следующей поверки, когда нужно устанавливать состояние поверки в «предупреждение». |
|
Количество переданных архивных данных между синхронизацией операции. |
|
Номер версии протокола обмена с клиентами. |
Тип - тип данных параметра.
Целое - Целое число.
Дробное - Число с дробной частью.
Строка - текст
Значение - значение параметра.
Блок «Элемент»
Блок Элемент - область редактирования свойств параметра.
Информация
Типовые параметры определяемые сервером по умолчанию невозможно удалить или изменить их тип и имя. Для таких параметров возможно только изменения значения. Типовые параметры сервера обозначаются в общем списке серым цветом текста типа значения.
Режим работы#
С точки зрения получения новых значений, сервер РТС может работать в двух режимах:
Получение данных от всех источников данных.
В этом режиме к серверу могут подключаться любые клиенты генерирующие новые значения переменных, такие как ОРС клиент или Эмулятор данных.
Так же в этом режиме возможна передача управляющих воздействий от пользователя оборудованию с помощью Оболочки оператора или Отладчика данных.
Этот режим - основной ражем работы сервера РТС.
Режим передачи данных.
В этом режиме сервер РТС не принимает данные ни от каких других источников данных, а получает все значения от другого сервера РТС. При этом работа всех других клиентов источников данных запрещена. Так же запрещена передача управляющих воздействий.
Этот режим работы предназначен для организации распределенных систем, когда данные получаемые и обрабатываемые основным сервером РТС работающим с оборудованием транслируются на удаленные системы без изменений. На удаленных системах возможна реализация только таких операций. которые используют поток данных, но его не создают, таких как наблюдение за эксплуатацией с помощью Оболочки оператора, генерация отчетов с помощью утилиты Генератор контроль различных журналов и т.д.
Получение данных от всех источников
Устанавливает режим работы сервера для работы с любыми источниками данных.
Получение данных от основного сервера RTS
Устанавливает режим работы сервера для передачи данных с другого сервера РТС.
Список серверов источников
Настраивает список серверов РТС, с которых будет осуществляться трансляция данных. Список должен содержать набор серверов одного объекта, обрабатывающих одни и те же данные, т.е. список основных и резервных серверов одного объекта. Редактирование списка осуществляется с помощью стандартного диалога списка серверов:ref:Список серверов<общее-соединение-список>.
Предупреждение
В случае, если список серверов будет содержать сервера работающие в разном окружении (обрабатывающие разные данные, например принадлежащие разным объектам), поведение системы ориентированной на использование таких данные будет неопределенным и ее эксплуатация будет невозможна из-за несовпадения данных и конфигураций различных объектов.
Учетная запись
Параметры учетной записи, которые будут использоваться для подключения к серверу источнику данных.
Эта настройка используется только для подключения к серверам не поддерживающим систему авторизации утилит (старые версии ПО IngortechSCADA). При работе с текущими версиями ПО эта настройка игнорируется.
Передача данных#
Определяет способ передачи данных между клиентами и сервером РТС.
Сжимать данные подписки
Если
, то данные передаваемые клиентами и сервером при реализации получения обновлений по подписке будут сжаты для уменьшения объема сетевого трафика.
Сжимать конфигурацию при отправке
Если
, будет использоваться сжатие данных конфигурации передаваемой сервером клиентам.
Важно понимать, что практически все клиенты системы переда началом своей работы запрашивают текущую конфигурацию данных, поэтому влияние это настройки на работу как сервера, так и утилит может оказаться очень большим. Принятие решения об использовании этой настройки должно быть обоснованным и принято после тестирования конкретных условий эксплуатации.
Сжимать конфигурацию при получении
Если
, будет использоваться сжатие данных конфигурации передаваемой клиентами серверу.
В настоящее время единственным клиентом передающим конфигурацию серверу является Конфигуратор, поэтому влияние этой настройки на работу ПО IngortechSCADA не такое большое, однако при использовании очень больших (тысячи переменных) конфигураций, задержка передачи вызванная сжатием данных может оказаться заметной.
Предупреждение
Операция сжатия (и развертывания при получении) данных приводит к дополнительным расходам процессорного времени, что может быть заметным при больших объемах передаваемых данных.
Рекомендуется использовать настройки сжатия только в том случае, если каналы передачи данных между клиентами и сервером РТС обладают очень низкой пропускной способностью.
При первоначальной настройке сервера рекомендуется отключить все подобные настройки, проверить работоспособность всех клиентов системы (в том числе удаленных) и включать их только в том случае, если будет обнаружена недостаточная пропускная способность канала передачи данных.
Конфигурации#
К группе Конфигурации относятся настройки конфигураций загружаемых на сервер.
Каталог конфигураций#
Каталог конфигураций
Наименования каталога на локальном компьютере, в котором сервер сохранят конфигурации при их обновлении.
При работе с конфигурациями сервер сохраняет все принимаемые конфигурации и никогда их не удаляет, поэтому место расположения этого каталога должно быть указано с учетом достаточного объема свободного места на диске для хранения необходимого их количества исходя из регламента обновления конфигураций на конкретной объекте контроля и среднего их размера.
Каталог выбирается в открывающемся окне после нажатия на кнопку ...
В окне отражаются каталоги и их содержимое.
Подтверждение конфигураций#
Автоматически применять новые конфигурации
Если
, при получении данных новой конфигурации, сервер будет автоматически применять эту конфигурацию.
Установка настройки определяется архитектурой системы в которой эксплуатируется сервер РТС. Эта настройка должна быть отключена в случае если:
Используется сохранение данных конфигураций утилитой Экспорт данных и сохранение данных сервером происходит в БД, с использованием шаблонов подразумевающих экспорт конфигураций. В этом случае данные обрабатываемые сервером сохраняются в БД с сохранением связи между значением и связанной с ним конфигурации, поэтому сохранение таких данных возможно только в случае если БД будет содержать данные связанной конфигурации.
Создавать файлы различий конфигураций
Если
, то при обновлении конфигураций, в папке указанной в поле Каталог сохранения, будут сохраняться файлы с данными о различиях между содержимым текущей и новой конфигураций.
Данные различий могут быть использованы для просмотра различий вручную с помощью утилиты Сравнение конфигураций. Эти данные, так же, используются утилитой Просмотр журнала управления.
Предупреждение
В случае каталог, если планируется использование утилиты Просмотр журнала управления с автоматическим отображением различий конфигураций в интерфейсе утилиты, каталог используемый для сохранения данных журнала управления и сохранения различий конфигураций должны совпадать.
Метрология#
Определяет способ идентификации получаемых новых значений как МЗ.
Доверять только конфигурации
В этом случае новые значения будут интерпретироваться сервером и сохранены в БД как обеспечивающие метрологическую значимость в случае, если переменные связанные с этим значением они сконфигурированы в текущей конфигурации как значимые.
В этом случае состояние значимости передаваемой источником данных не учитывается и, таким образом, данные создаваемые утилиты эмуляции Эмулятор данных и Отладчик данных могут иметь признак метрологической значимости несмотря на то, что эти данные фактически не являются измерениями и были созданы в результате ручного ввода или эмуляции.
Доверять только источнику
В этом случае новые значения будут интерпретироваться сервером и сохранены в БД как обеспечивающие метрологическую значимость только в том случае, если источник данных установил признак значимости для переданного измерения. В этом случае настройка переменной в части ее значимости не используется и может не соответствовать значимости полученного значения.
Значения полученные от источников эмуляции (Эмулятор данных и Отладчик данных) не будут иметь признак значимости.
Доверять только обоим вместе
В этом случае новые значения будут интерпретироваться сервером и сохранены в БД как обеспечивающие метрологическую значимость только в том случае, если одновременно и источник данных установил признак значимости для переданного измерения и переменная связанная со значением сконфигурирована в конфигурации как значимая.
Данные#
К группе настроек данных относятся настройки хранения и предоставление данных сервером.
Драйвер БД#
Настройка драйвера базы данных
Файл, Название, Описание
Описание текущего выбранного драйвера доступа к БД.
В настоящее время сервер РТС поддерживает следующие драйвера БД:
dbAccess_BDE.bpl - Драйвер использующий систему
BDEдля доступа к БД.dbAccess_Null.bpl - Специальный «нулевой» драйвер, который не выполняет никаких действий с БД (сохранение значений и получение архивов) и предназначен для эксплуатации в тех случаях, когда сохранение данных в реальную БД не нужно.
Примером использования такого драйвера может служить концентратор данных расположенный удаленно от объекта, предназначенный дл передачи данных от сервера объекта с поддержкой только клиентов, использующих данные реального времени. К примеру, набор рабочих мест с Оболочками оператора предназначенными для наблюдения за трендами, журналами или мнемосхемами без необходимости доступа к архивным значениям.
Настройки выбранного драйвера доступны при нажатии на кнопку ….
Новые переменные#
Кеширование
Кеш новых переменных / Время жизни кеша
Определяет число переменных в кеше, накапливаемом при получении новых значений от любых источников данных, включая значения рассчитываемые сервером самостоятельно (с использованием формул или механизмов авто-генерации) и максимальное время их накопления.
Переменные накапливаются в кеше новых значений по мере их обработки и будут переданы в систему сохранения данных в БД в случае если число кешированных переменных превысит указанную величину или самое старое значение находящееся в кеше находится в нем дольше указанного времени.
Значение этих настроек влияют на загрузку системы занимающейся сохранением значений в БД и при их установки необходимо учитывать следующие особенности:
При работе с большинством типов БД, общая пропускная способность сохранения данных (число данных обрабатываемых сервером в единицу времени) прямо пропорционально числу переданных ему команд. Т.е. передача 10 значений раздельно, отдельными командами, будет выполняться гораздо дольше чем одна команда на сохранение всех 10 значений одновременно.
При работе сервера РТС, при старте, остановке и смене конфигураций, происходит массовая генерация новых значений связанная с переходом статуса переменных из или в состояние «нет связи».
Рекомендуется устанавливать значение настройки «Кеш новых переменных» в величину заведомо большую максимального числа используемых на объекте переменных, а настройку «Время жизни кеша» использовать для управления скоростью передачи данных в систему сохранения в БД для случаев, когда количество обрабатываемых значений небольшое. Т.е. значение объема кеша должно быть большим, а время его жизни максимально большим при котором задержка между формированием значения и его сохранением в БД приемлема с точки зрения эксплуатации (эта величина влияет на то, насколько быстро новое значение будет сохранено в БД и будет отображаться при операции получения архива).
Сохранение в базу данных
Максимальное число сохраняемых переменных
Определяет число переменных сохраняемых в БД одновременно.
Пропускная способность любой системы БД имеет лимит в число данных обрабатываемых в единицу времени. Превышение этого лимита приводит к тому, что системы передающие данные в БД «зависают» на операции передачи, ожидая когда сервер БД сможет обработать следующие данные.
Эта настройка предназначена для указания максимальной числа новых значений отправленных системе сохранения в БД и еще ею не обработанных.
Значение этой настройки необходимо выбирать экспериментально для конкретного объекта ориентируясь на тип используемой на объекте БД, производительность аппаратной части компьютера и прочих индивидуальных параметров.
Предупреждение
Значение этой настройки должно соответствовать характеристикам системы БД объекта. Использование больших значений, заведомо превышающих пропускную способность БД приведет к тому. что данные ожидающие записи будут постоянно занимать память все время ожидания и увеличивать общее время обработки. При этом, доступные ресурсы для выполнения остальных задач решаемых сервером РТС уменьшаются, что может приводить к существенной деградации его производительности.
Общие
Новые значения получаемые сервером от источников данных подразумеваются сохраняющими последовательность на шкале времени. Т.е. любое следующее значение для одной и той же переменной должно быть измерено позже, т.е. иметь штамп времени больше предыдущего значения. Однако, по различным причинам, эта последовательность часто нарушается. Типовыми причинами нарушения последовательности измерений являются:
Неравномерное расхождение или периодический сдвиг времени на разном оборудовании.
Одно значение может получить метку времени в 10 секунд какой-то минуты, но при следующем, из-за неточности отсчета времени или случайного его сдвига, получит метку времени в 10 или даже 9 секунд той же минуты и, в результате, окажется что следующее полученное сервером значение было, по значению времени, получено одновременно или даже ранее чем прошлое значение.
Неисправности в работе систем передачи данных.
Программные системы передачи и обработки значений устанавливают метки времени значений исходя из каких-то внутренних правил, однако в результате ошибок ПО, в некоторых ситуациях отсчеты времени из которых формируется метка времени сбиваются и становятся неверными. Типовым примером такой ситуации может служить перезагрузка внутренних алгоритмов учета времени в некотором ПО, в результате которой счетчик времени ошибочно сбрасывается, что приводит к ситуациям, когда после потери и восстановлении связи с оборудованием получаемые от него значения принимают метку времени сдвинутую в прошлое на величину сброса.
Программные ошибки в обработки протоколов передачи.
Некоторые протоколы, такие как ОРС, определяют часовой пояс для метки времени в котором это значение должно быть представлено, но одно и то же значение может быть получено с помощью различного функционала протокола и, если в какой-то части используемый для представления значения часовой пояс отличается, получаемые значения будут сдвигаться во времени в зависимости от механизма их опроса.
Ошибки настройки системы.
Некоторые программы передают значения с неправильным временем всегда. В связи с тем, что при самостоятельном изменении значений сервером (например, сброс в состояние нет связи при отключении) используется локальное время, возникают ситуации когда нарушается порядок чередования событий. К примеру: сервер установил начальное состояние для переменой с использованием локального времени, ПО связи передало реальное значение соответствующее текущему времени, но сдвинутое на произвольную величину в прошлое или будущее, после чего сервер опять отключил переменные установив локальное время. В результате на шкале времени изменение для такой переменной может выглядеть как два измерения сдвинутых в прошлое на несколько часов, после которых идет две установки состояния сервером.
Для того чтобы решать проблемы с расхождениями времени в сервере РТС используются механизмы защиты от конфликтов меток времени в виде задержки значений.
Задержка значений - механизм защиты от значений, метка времени которых находится в будущем относительно текущего времени. При этом такое значение будет помещено в специальную независимую очередь и не будет обрабатываться до тех пор, пока не наступит время, совпадающее с меткой времени значения. После совпадения времени значения и текущего времени значение будет обработано сервером так. как будто оно было получено только что. При этом, чтобы обеспечить последовательность изменений значений, любые изменения для переменной для которой сформирована очередь задержки, даже если штамп времени этого изменения соответствует текущему времени, будет помещено в эту же очередь с корректировкой метки времени так, чтобы изменения оказались в том порядке, в котором они происходили в реальности. Подобный подход имеет следующие проблемы:
При получении хотя бы одного значения с меткой времени из будущего все следующие ее значения будут задержаны на величину расхождения времени «проблемного» значения.
При большом расхождении времени и частом изменении значения накапливаемая сервером очередь задержки может использовать большое количество ресурсов на хранение и обработку этой очереди.
Значения находящиеся в очереди задержки не могут быть сохранены в БД или переданы клиентам т.к. такая передача нарушит последовательность событий, поэтому при завершении работы сервера все значения этой очереди будут отброшены и никогда не попадут к клиентам реального времени ил в архив.
Проблемы конфликтов меток времени решить автоматически в общем случае невозможно, поэтому для управления механизмами решения существует серия настроек, решения о значении и использовании которых необходимо принимать индивидуально на каждом объекте исходя из особенностей используемой архитектуры систем сбора и передачи данных.
Запретить задержку значений при конфликтах метки времени
Если
, то при обнаружении конфликтов меток времени прошлого и нового значений (метка времени совпадает или менее чем у текущего значения) новое значение будет отброшено. При включении этой настройки очередь задержки значений формироваться не будет.
В случае, если настройка отключена, обработка конфликтующих значений будет происходить по алгоритму, описанному ранее.
Работа этой настройки имеет одно ограничение: если переменная является командой и обрабатываемое значений имеет статус описывающий этап обработки (передача ПО связи, выполнение, ошибка исполнения и т.д.), то очередь для такой переменной будет использоваться вне зависимости от состояния настройки. Это сделано для того, чтобы не возникали ситуации, когда невозможно передать управляющее воздействие оборудованию, получить уведомление о его исполнении или будет наблюдаться нарушение порядка последовательности исполняемых действий.
Максимальное число задерживаемых значений
Устанавливает ограничение на размер очереди задержки для переменной. Используется в том случае, когда создается очередь задержки в результате настройки или в виде исключения как описано выше.
Система IngortechSCADA оперирует временем с дискретностью в 1 секунду, поэтому величина этой настройки, в худшем случае, соответствует числу секунд на которе значение может быть задержано.
Предупреждение
Это значение устанавливает максимальный размер очереди задержки для каждой переменной отдельно, поэтому фактический объем потребляемый механизмом задержки значений будет зависеть от значения этой настройки и общего числа задерживаемых переменных. В случае эксплуатации в ситуациях, когда большое количество переменных связаны со значениями приводящими к задержкам, влияние этой очереди на работу ПО может быть существенным, вплоть до критического.
Максимальная разница времени
Устанавливает ограничение на максимально допустимое расхождение метки времени значений.
Если конфликтное расхождение меток времени старого и нового значений окажется более указанной величины, новое значение будет отброшено.
Сохранять данные о новых переменных в лог
Если
, данные о получении о обработке новых значений будут сохраняться в основном лог файле сервера.
Сохранять данные о новых переменных в файл
Каталог сохранения файлов выбирается в открывающемся окне после нажатия на кнопку ...
Если
, данные о получении о обработке новых значений будут сохраняться в отдельном лог файле. Эта настройка не зависит от настройки «Сохранять данные о новых переменных в лог» и при указании обоих, обработка значений будет сохранена в двух местах.
Генерация переменных#
Предупреждение
В случае, если сервер работает в режиме передачи данных все настройки генерации значений не используются и считаются отключенными вне зависимости от их фактического состояния.
Автоматически генерировать переменные
Если
, то сервер будет генерировать новые значения в соответствии с формулами и правилами авто-генерации, описанными в конфигурации.
Генерировать только команды
Если
, тип генерируемых сервером значений лимитирован типами «команда» и «аналоговая команда». Генерации значений для остальных типов переменных производиться не будет, даже если для них указаны формулы или правила в конфигурации.
Генерировать авто-сохраняемые переменные
Если
, сервер генерирует новые значения для переменных у которых указана настройка «авто-сохранение по времени». Создаваемые таким образом переменные имеют флаг источника «сервер» и параметры, совпадающие с предыдущим фактически полученным значением.
Разрешить генерацию значений по формулам
Если
, то сервер будет генерировать новые значения в соответствии с формулами. В отличии от настройки выше эта определяет только использование формул.
Разрешить генерацию команд
Если
, то сервер будет генерировать новые значения для переменных с типом «команда» и «аналоговая команда». В случае если эта настройка выключена, генерация значений сервером для этих типов запрещена.
Клиенты#
Разрешить использовать только указанные адреса
Если
, то сервер использует список разрешенных адресов при приеме новых соединений от клиентов. При включенной настройке, установка связи с сервером будет разрешена только для клиентов, адреса которых совпадут хотя с одним шаблоном из указанных с списке.
Запрет использования указанных адресов
Если
, то сервер использует список запрещенных адресов при приеме новых соединений от клиентов. При включенной настройке, установка связи с сервером будет запрещена для клиентов, адреса которых совпадут хотя с одним шаблоном из указанных с списке.
Скрипты#
Предупреждение
При генерации любых значений из скрипта, значение получит флаг исполнения «выполнено скриптом».
Выполнять скрипты
Если
, сервер будет загружать и исполнять пользовательские скрипты (см LUA API).
Стартовый файл
Устанавливает стартовый файл, который будет загружен и выполнен при старте сервера, если разрешено исполнение пользовательских скриптов.
Предупреждение
Если в процессе выполнения скрипта при старте сервера возникнет ошибка, процесс запуска сервера будет остановлен!
Останавливать скрипт при ошибках
Если
, то в случае возникновения ошибок времени исполнения в пользовательских скриптах дальнейшая их обработка будет запрещена и сервер будет работать так. как если бы исполнение пользовательских скриптов было бы отключено.
Если настройка отключена, то при возникновении ошибок исполнение вызванной процедуры скрипта будет прервано, будет выведено и сохранено в лог файл исполнения сообщение об ошибке. При этом исполнение скриптов прервано не будет и при следующей аналогичной операции процедура скрипта будет вызвана повторно.
Показывать диалоги скриптов
Если
, сервер разрешит отображение диалогов, создаваемых из скриптов. Если эта настройка выключена, при вызове диалогов фактического отображения произведено не будет и скрипт получит значение такое, как если бы пользователь отменил операцию вручную.
Предупреждение
Использование этой настройки имеет смысл только в режиме тестирования работы скриптов т.к. исполнение диалогов полностью останавливает весь процесс обработки новых значений сервером до момента, когда пользователь не закроет диалог вручную.
Обрабатывать команды генерируемые скриптами
Если
, команды создаваемые скриптами, в том числе изменения значений для переменных имеющих тип «Команда» будут обрабатываться так. как если бы это управляющее воздействие было получено от пользователя. В случае отключения настройки генерация команд скриптами запрещена и при вызове соответствующих функций никаких действий сервер осуществлять не будет.
Обрабатывать значения генерируемые скриптами
Если
, новые значения создаваемые скриптами будут обрабатываться так. как если бы они были получены от внешних клиентов сервера. Если настройка отключена, изменение значений скриптом будет игнорироваться.
Не запускать сервер при ошибке в скриптах
Если
, определяет поведение сервера при исполнении основного файла скрипта.
Сохранять в лог данные о запуске скриптов
Если
, запуск всех элементов скрипта будет сохранено в лог файл сервера.
Предупреждение
Запуском скрипта считается любое исполнение кода скрипта вне зависимости от его размера или назначения, поэтому при включении этой настройки в лог фал может сохраняться очень большое количество ненужной информации о вызове его отдельных процедур.
Использовать эту настройку необходимо только в для отладки работы скриптов, а в режиме нормальной эксплуатации ее необходимо отключать.
Лог выполнения скриптов
Устанавливает базовое имя лог файла исполнения скриптов. Если не установлено (поле имени пусто) создание и ведение лога файла будет отключено.
Формат шаблонов БД#
В тексте запросов можно использовать специальные символы, которые будут замещены полями значения или именами.
Используются следующие специальные символы:
%% |
символ % |
%s |
Имя датчика конвертированное так, чтобы соответствовать к требованиям идентификатора БД, т.е. не содержащее запрещенных символов, таких как %, #, пробел и т.д. |
%S |
Имя датчика в виде текста, указанного в конфигурации. Имя датчика является строкой, но символами «“» не ограничено. |
%v |
Используемая версия конфигурации. Это поле должно быть длинным числом без знака, размерностью 32 бита. |
%m |
Время измерения. Строка ограниченная символами «“» с датой с точностью до секунды в формате, установленном в настройках драйвера доступа к БД. |
%l |
Значение измерения, обработанное сервером. Т.к. сервер подразумевает обработку значений в виде масштабирования, формул и с использованием скриптовых языков то значение этого поля может не совпадать с измеренной датчиком величиной. Поле должно быть числовым значением с дробной частью формата DOUBLE или decimal(10,3) |
%t |
Статус измерения. Т.к. сервер подразумевает авто генерацию переменных, авто инвертирование дискретных значений и использование скриптов, то величина значения может не совпадать с тем, которое было измерено оборудованием. Поле должно быть целым числом. |
%L |
Измеренное значение Величина, которая фактически была измерена датчиком без каких-либо преобразований. Поле должно быть числовым значением с дробной частью формата DOUBLE или decimal(10,3) |
%T |
Измеренный статус. Величина, непосредственно переданная оборудованием без каких либо модификаций. Поле должно быть целым числом. |
%c |
Код записи, хранящий информацию о метрологической значимости значения. |
ПРИМЕР
Шаблон запроса:
INSERT INTO "VAL_%s" (measure,val,state,rawval,rawstate)
VALUES (%m,%l,%t,%L,%T)
для переменной CH4#12 с параметрами:
значение: 12
измеренное значение: 11.5
статус: 5
измеренный статус: 5
время измерения: 12-09-2010 12:03
будет преобразован в следующий текст:
INSERT INTO "VAL_CH4_12" (measure,val,state,rawval,rawstate)
VALUES ('12-09-2010 12:03:00',12.0,5,11.5,5)
Работа с конфигурацией#
Файлы конфигураций
Сервер использует сохраняет данные конфигураций в файлы, в каталоге устанавливаемые в настройках или с использованием ключа командной строки CfgPath.
Каждый файл конфигурации может содержать одну или 2 конфигурации, которые различаются актуальностью, т.е. в файле может содержаться одна активная (подтвержденная) и одна не подтвержденная (новая) конфигурации.
Не подтвержденная конфигурация сохраняется в файл в том случае, если сервер завершился до того, как получил команду на активацию конфигурации. Это может быть в случае, если подтверждение конфигураций настроено для внешнего источника (настройка автоматического принятия конфигураций отключена), но внешний источник не прислал сигнал о принятии до завершения сервера. Так же, может быть ситуация, когда в файле конфигураций содержится только одна, неподтвержденная конфигурация.
При работе сервера, при запросе конфигураций клиентами и при обработке данных значений используется только подтвержденная конфигурация. новую конфигурацию сервер хранит до момента ее подтверждения или отмены, но ее данные при работе сервера не используются.
При старте сервера он сканирует список всех конфигураций сохраненных в настроенном каталог и загружает самую свежую из них (дата создания которой будет наибольшей). Следствием этого является то, что в случае скачков локального времени на сервере может быть нарушен порядок следования конфигураций и новые данные могут быть сохранены с более старой датой чем существовавшая ранее. Для избежания таких ситуаций важна настройка службы времени на сервере и своевременная корректировка локального времени.
При загрузке данных конфигурации из файла, так же как при получении ее данных от клиентов, производится проверка ее структуры. В случае обнаружения ошибок, будет выведено сообщение с текстом ошибки, файл конфигурации будет переименован с добавлением расширения «ERR» и сервер начнет операция поиска наиболее свежей конфигурации с начала.
В случае, если в каталоге конфигураций не будет найдено ни одной конфигурации (конфигурации с ошибками будут исключены автоматически), сервер будет запущен без конфигурации (с конфигурацией, в которой содержимое всех таблиц данных пустое). В таком режиме невозможна работа практически всех клиентов системы IngortechSCADA, поэтому при таком запуске сервера, для обеспечения работоспособности системы, необходимо загрузить на него рабочую конфигурацию как можно быстрее.
Обновление конфигураций
При работе сервера как с уже существующей конфигурацией, так и без нее, любой клиент может передать данные для обновления конфигурации. В настоящее время таким клиентом является только Конфигуратор. Полученные данные новой конфигурации всегда сохраняются в копии (не подтвержденная конфигурация) и находятся в ней до получения сигнала об ее активации или отмене.
Сигнал об активации новой конфигурации может быть сгенерирован самим сервером (если установлена настройка автоматического принятия конфигураций) либо внешним клиентом, таким как Экспортер или Эмулятор данных.
После получения сигнала об отмене конфигурации данные новой конфигурации будут сервером удалены и таблицы очищены. При этом работа всех клиентов сервера будет продолжаться вне зависимости от того есть у сервера новая конфигурация или нет.
При получении сигнала об приеме новой конфигурации ее структура будет проверена и, при обнаружении ошибок она будет отменена, а при их отсутствии она будет активирована.
При активации конфигурации сервером будут выполнены следующие действия:
Структура и содержание полученной конфигурации будет проверено на наличие ошибок и, в случае их обнаружения обновление конфигурации будет отменено.
Произойдет ожидание завершения всех операций клиентов, использующих данные старой конфигурации.
Все данные конфигурации и переменных будут проинициализированы заново, с использованием данных новой конфигурации. При этом все переменные будут переведены в состояние «нет связи», все расчетные формулы сброшены в начальные значения.
Добавление записи о смене конфигурации в журнал доступа.
Анализ различий конфигураций и их сохранение в файл на диске.
Произойдет замена текущей используемой конфигурации новой.
Всем клиентам получающим уведомления по подписке будет отправлено уведомление о смене конфигурации.
Данные конфигурации будут сохранены в новый файл на диске, в папку установленную настройкой «Каталог конфигураций».
Ключи командной строки#
Использование командной строки для передачи данных программе описано в разделе «Ключи командной строки».
Утилита rtVarSrv.exe поддерживает следующие ключи командной строки:
rtVarSrv.exe [ПАРАМЕТРЫ]
|
Устанавливает имя для основного лог файла программы. Если ключ не указан, то для файла лога будет использовано имя по умолчанию, соответствующее имени программы, с указанием даты создания и расширением |
|
Если указан, то основной лог файл вестись не будет. При этом, если настроено создание и ведение для других лог файлов, то они будут вестись вне зависимости от этого ключа. |
|
Использовать указанный каталог для сохранения файлов конфигураций. |
|
Если ключ не указан, то для файла конфигурации будет использовано имя по умолчанию, которое, как правило, совпадает с именем программы. |
|
Использовать указанный каталог для доступа к данным при запросе клиентами файлов данных. |
|
Устанавливает имя для программы. Установленное имя будет отображаться в заголовке программы и в заголовке окна с сообщениями. Это имя используется для того, чтобы различить различные копии программы. Если ключ не указан, то используется имя по умолчанию, совпадающее с именем программы. |
|
Если указан, разрешает запуск текущей программы даже в том случае, если будет обнаружен уже запущенный экземпляр сервера. |
|
Если указан, то при запуске программа передаст сигнал о завершении предыдущей запущенной копии программы. После передачи команды на завершение, программа автоматически закроется. Этот ключ использует имя, установленное с помощью ключа Если предыдущая копия запущена, то программа дождется ее завершения. Если предыдущей копии программы не будет обнаружено, то программа сразу же завершится. |
|
Указывает что после запуска программа будет минимизирована. Если программа поддерживает отображение значка в системном лотке и установлен параметр конфигурации «Убирать при минимизации», то программа будет автоматически скрыта в системный лоток. |
|
Программа сервера запускается в специальном режиме проверки данных файла авторизации. После проверки файла будет выдано окно с сообщением о результате и программа будет завершена. |
|
При загрузке данных авторизации произвести их проверку и сохранить в лог файл программы слепок эффективных пользователей и их прав. Этот ключ можно использовать для проверки корректности формирования файла описания правил авторизации. |
|
Указывает что после запуска программа будет минимизирована. Если программа поддерживает отображение значка в системном лотке и установлен параметр конфигурации «Убирать при минимизации», то программа будет автоматически скрыта в системный лоток. |
|
Использовать указанный номер порта для установки соединения с клиентами. |
|
Запретить учетную запись супер-пользователя. |
|
Автоматически запускать утилиту при старте приложения. |
|
Устанавливает ограничение на максимальное количество ожидающих отправки данных подписки для одного клиента. Если это значение будет превышено, следующие данные будут отброшены. |
|
Если задан, то программа сервера будет автоматически завершена, если при ее работе возникнет какая-либо ошибка, делающая невозможным дальнейшую работу. Ранее в подобной ситуации сервер останавливался, что создавало трудности с его автоматическим перезапуском сторонними утилитами, такими как Starter. |
|
Устанавливает режим работы сервера для получения данных с другого сервера РТС. Использование этого ключа имеет больший приоритет чем соответствующая настройка сервера. |
|
Устанавливает список серверов источников данных. Использование этого ключа имеет больший приоритет чем соответствующая настройка сервера. |
|
Устанавливает путь для сохранения файлов с данными о различиях конфигураций. По умолчанию файлы создаются в том же каталоге, куда сохраняется основной лог файл. |
|
Устанавливает имя файла доступа используемое для формирования журнала доступа. |
|
Не сохранять данные команд в общий файл доступа «access-X.log». |
|
Устанавливает имя лог файла для сохранения данных о получении и обработке новых значений. |
|
Устанавливает имя лог файла для сохранения данных о выполнении пользовательских скриптов. |
|
Запрещает сохранение данны о новых переменных в лог файл подписки для уменьшения его объема. |
|
Включает логирование данных передаваемых по подписке и задает имя файла лога для этих данных. По умолчанию данные лога подписки отключены. |


