Тестирование сервера РТС (VTst)#

Утилита VTst.exe - это консольная утилита, предназначенная для тестирования работы сервера РТС или использования для пакетного выполнения задач.

Ключи командной строки#

Использование командной строки для передачи данных программе описано в разделе «Ключи командной строки».

Утилита VTst.exe поддерживает следующие ключи командной строки:

VTst.exe [<СЕРВЕР>] [-Login=<ЛОГИН>] <КОМАНДА> [<ПАРАМЕТРЫ>]
СЕРВЕР:

Адрес сервера РТС для выполнения команды.

ЛОГИН:

Параметры учетной записи для выполнения команды.

КОМАНДА:

Выполняемая команда.

ПАРАМЕТРЫ:

Параметры выполнения команды или работы утилиты.

Справочная информация#

Утилита выводит дополнительную справочную информацию при запуске без параметров или с дополнительными ключами.

Поддерживаются следующий набор ключей для отображения справочной информации:

Без параметров или с использованием ключа ?

Утилита выводит краткое описание поддерживаемых команд и параметров.

Ключ cfgF без параметров

Утилита выводит справку о поддерживаемых форматах для файлов конфигураций, доступных к использованию с параметром Cfgf

vtst -cfgf
    RTS cfg formats:
    - XML format (xml)
    - Binary format (rdb, rtdb)
    - Text format (txt), default

В настоящее время поддерживаются следующие форматы файлов конфигурации:

xml:

XML формат данных конфигурации.

rdb, rtdb:

Стандартный формат файлов конфигурации используемый всем ПО IngortechSCADA.

txt:

Текстовый формат данных конфигурации.

Информация

Если способ сохранения данных конфигурации не указан, то будет использован формат TXT.

Ключ sub без параметров

Утилита выводит список поддерживаемых параметров для установки подписки, используемых с командой Sub.

vtst -sub
    Available subscription flags:
        Flag Name                 Description
    1) 0001 TR_SUB_NEWVAR        New variable corrected by server
    2) 0002 TR_SUB_NEWRAWVAR     New original received variable
    3) 0004 TR_SUB_NEWCFG        Notify about cfg change
    4) 0008 TR_SUB_LOG_ACCESS    Access log
    5) 0010 TR_SUB_COMMANDS      RTS commands
    6) 1000 TR_SUB_USEXML        flag: Data stream type used, if is set XML will be used
    7) 2000 TR_SUB_FL_EX_DISABLED flag: Exclude disabled vars from new vars changes
    8) 8000 TR_SUB_FL_KEEPALIVE  flag: Keep client alive even if no std transport activity

В настоящее время поддерживаются следующие параметры для установки подписки:

TR_SUB_NEWVAR:

Получать все изменения переменных реального времени.

TR_SUB_NEWRAWVAR:

Получать все изменения переменных реального времени не прошедших обработку.

TR_SUB_NEWCFG:

Получать уведомления о смене конфигураций.

TR_SUB_LOG_ACCESS:

Получать уведомления о выполняемых операциях с помощью других учетных записей.

TR_SUB_COMMANDS:

Получать уведомления о выполняемых командах.

TR_SUB_USEXML:

Использовать XML протокол для обмена данными подписки.

TR_SUB_FL_EX_DISABLED:

Получать данные для отключенных переменных.

TR_SUB_FL_KEEPALIVE:

Периодически проверять и восстанавливать связь с сервером.

Предупреждение

Значение для параметров подписки указано в шестнадцатиричной системе счисления!

Предупреждение

Для добавления нескольких параметров из значения необходимо сложить.

Ключ db без параметров

Утилита выводит список доступных таблиц в конфигурации с их номерами для выполнения команды DB.

В настоящее время поддерживается следующий список таблиц:

vtst -db
    Available databases are:
    Name                 Index RecSize
    GROUPS                   0 [  560] REAL
    USERS                    1 [  212] REAL
    USERGROUPS               2 [    4] REAL
    LS                       3 [  442] REAL
    TYPES_LS                 4 [  344] REAL
    PROTOCOLS                5 [  162] REAL
    OBJS                     6 [  666] REAL
    POINTS                   7 [  154] REAL
    POINTGROUPS              8 [    4] REAL
    POINT_TYPE               9 [  152] REAL
    TYPES_SENSOR            10 [  348] REAL
    SENSOR                  11 [ 2510] REAL
    REPORTS                 12 [ 1158] REAL
    SCH_ALARM               13 [  184] REAL
    SCH_COLOR               14 [  280] REAL
    SCH_SND                 15 [ 4248] REAL
    SCH_CTRLJ               16 [ 4248] REAL
    SCH_SYSJ                17 [ 4248] REAL
    SCH_TECHJ               18 [ 4312] REAL
    STATION                 19 [   22] VIRTUAL
    SENS                    20 [  396] VIRTUAL
    VALUES                  21 [   44] VIRTUAL
    USER                    22 [  464] VIRTUAL

Список таблиц конфигурации, их состав и описание подробно описан в разделе Структура конфигурации.

Адрес сервера#

Адрес сервера РСТ для установки соединения в формате:

<АДРЕС>[:<ПОРТ>]

Где:

АДРЕС:

Адрес сервера, который может быть указан в любом формате, позволяющем установить TCP соединение.

Для указания адреса может быть использовано как имя, так и прямой адрес компьютера:

  • localhost, 127.0.0.1 - адрес локального компьютера. Используется в том случае, если утилита запускается на том же компьютере, где запущен РТС сервер.

  • 192.168.1.134 - Конкретный адрес компьютера в локальной сети.

  • shahta18.kuzbas.org - Конкретный адрес компьютера, который будет получен с помощью запроса трансляции указанного имени в цифровой адрес с помощью стандартных механизмов протокола TCPIP.

ПОРТ:

Номер порта, установленного в настройках РТС сервера.

В случае, если номер не указан, используется значение по умолчанию, равное величине 6000.

Логин#

Параметры учетной записи для выполнения команды в формате:

-login=<ИМЯ>[,<ПАРОЛЬ>]

Где:

ИМЯ:

Имя учетной записи, которая будет использована для выполнения команды.

ПАРОЛЬ:

Пароль для учетной записи, которая будет использована для выполнения команды.

Информация

Параметры учетной записи для выполнения команды могут быть не указаны, в этом случае будет использована учетная запись Anonymous, обладающая минимальными правами.

Команды#

Команда - это одно конечное выполняемое действие.

Предупреждение

Команда выполняется на сервере с использованием данных учетной записи, указанной с помощью ключа login.

Для успешного выполнения команды указанная учетная запись должна обладать правами на выполнение указанной команды.

Предупреждение

При запуске утилиты должна быть указана по крайней мере одна команда.

Попытка выполнение утилиты без указания команды приведет к ошибке выполнения с отображением соответствуешь сообщения.

Утилита поддерживает следующие команды:

<I>nfo

Отображает информацию о работе сервера РТС.

<P>ing

Проверяет возможность установки связи с сервером РТС и отображает минимально-возможное время обработки команд с использованием текущего канала связи.

<W>rite[=<file>]

Передает данные локального файла дя сохранения его на сервере РТС.

r<E>ad[=<file>]

Читает данные сервера, расположенного на сервере РТС.

<V>ar

Получает данные реального времени для всех переменных сконфигурированных на сервере РТС.

s<Y>nc

Синхронизирует время на локальном компьютере с временем, используемом на сервере РТС.

cfgR[=<out>]

Читает данные текущей конфигурации сервера РТС.

cfgw=<file>

Оправляет новую конфигурацию на сервер РТС.

cfgl [<start> <end>]

Получает список доступных конфигураций на сервере РТС.

cfgA

Отправляет серверу РТС сигнал для приема обновленной конфигурации.

cfgC=<reason>

Отправляет серверу РТС сигнал для отмены обновленной конфигурации.

cfgI

Получает текст последнего сообщения переданного при отмене обновленной конфигурации.

db[=<ID>]

Получает содержимое одной таблицы из текущей конфигурации.

data=<name>

Получает архивные данные для одной переменной.

dir[=<path>]

Получает содержимое каталога из файловой системы сервера РТС.

sub[=<flags>]

Устанавливает подписку для указанных событий, получает обновления и отображает их содержимое.

<O>pts

Получает список параметров сервера РТС.

Info#

Описание

Отображает текущие данные сервера РТС.

--== SERVER info ==--
      Compiled: [Compiled at "Apr 14 2023" "11:15:22" on Win32]
           Run: [Runned on Win32 v5.18]
          Time: [11-06-2023 14:01:21]
--== SERVER options ==--
 Refresh period: 600 ms
  Max buff size: 50000
--== Ver2
Transport flags: 0000000F
     Sub in XML: Supported
Send HDB in XML: Supported
Recv HDB in XML: Supported
--== Ver3
        Version: 2.1
   Version date: 13-06-2023 (DMY)
       Protocol: 14
--== SERVER session ==--
      Session ID: "00000000"
         Clients: 0
         Packets:     0.000 (0.000)
          Readed:     0.000 (0.000)
          Writed:     0.000 (0.000)
      DB Version: 64426C6E
       DB Backup: 00000000
--== SERVER params2 ==--
    Data window: 500 items
  Proto version: 14

Ping#

Описание

Отображает минимальное время передачи команды серверу и получения результата с использованием текущего канала связи.

SERVER uptime: 15.339 ms

Write#

Описание

Отправляет данные локального файла на сервер РТС для сохранения его в файловой системе сервера.

Параметры

  • Учетная запись.

  • -out=ИМЯ

    Устанавливает имя для файлы, которое будет использовано на сервере РТС и путь, где этот файл должен быть размещен.

Операция

-Write=ИМЯ

Передает данные файла ИМЯ на сервер РТС и сохраняет его в файловой системе сервера. Если был указан параметр out, то файл будет размещен в указанном месте файловой системы сервера, если этот параметр не использовался, то файл будет размещен в корневом каталоге для файлов клиентов и будет иметь имя test.file.

Read#

Описание

Читает содержимое файла из файловой систем сервера РТС.

Параметры

  • Учетная запись.

  • -out=ИМЯ

    Устанавливает имя для сохранения локального файла.

Операция

-Read=ИМЯ

Читает данные файла ИМЯ с сервер РТС и сохраняет его в локальный файл. Если был указан параметр out, то файл будет размещен в указанном месте, если этот параметр не использовался, то файл будет размещен в текущем каталоге и будет иметь имя !out..

Предупреждение

Локальный файл будет перезаписан содержимым файла с сервера без дополнительных предупреждений.

Var#

Описание

Отображает текущие данные реального времени для всех сконфигурированных на сервере РТС переменных.

Параметры

  • Учетная запись.

  • -show=НОМЕР

    Устанавливает уровень детальности отображаемой информации.

    Поддерживаются следующие уровни:

    • 0 - не отображать данные.

    • 1 - отображать только количество полученных значений.

    • 2 - отображать детальную информацию для каждого полученного значения (режим по умолчанию).

Операция

-Var

Получает текущие данные реального времени для переменных сервера РТС и отображает их в соответствии с указанным в ключе show способом отображения.

vtst -login=root,root -var -show=2
    Execute all operations as: "root"
    Looking for server [localhost:6000]...
    Query: 00000000, 00000000
    New variable(s): 16
    0)   0 metro: -, st: E,  4, val: 0.00 V: 0.00 <not set>
    1)   1 metro: -, st: E,  4, val: 0.00 V: 0.00 <not set>
    2)   2 metro: -, st: E,  4, val: 0.00 V: 0.00 <not set>
    3)   3 metro: -, st: E,  4, val: 0.00 V: 0.00 <not set>
    4)   4 metro: -, st: E, 11, val: 0.00 V: 0.00 <not set>
    5)   5 metro: -, st: E, 11, val: 0.00 V: 0.00 <not set>
    6)   6 metro: -, st: E, 11, val: 0.00 V: 0.00 <not set>
    7)   7 metro: -, st: E, 11, val: 0.00 V: 0.00 <not set>
    8)   8 metro: -, st: E,  4, val: 0.00 V: 0.00 <not set>
    9)   9 metro: -, st: E,  4, val: 0.00 V: 0.00 <not set>
    10)  10 metro: -, st: E, 11, val: 0.00 V: 0.00 <not set>
    11)  11 metro: -, st: E, 11, val: 0.00 V: 0.00 <not set>
    12)  12 metro: -, st: E,  0, val: 0.00 V: 0.00 Tm: 6485891B 11-06-2023 13:43:07
    13)  13 metro: -, st: E,  0, val: 0.00 V: 0.00 Tm: 6485973B 11-06-2023 14:43:23
    14)  14 metro: -, st: E,  4, val: 0.00 V: 0.00 <not set>
    15)  15 metro: -, st: E,  4, val: 0.00 V: 0.00 <not set>

Информация

В случае использования авто-повтора с помощью параметра time, операция будет повторяться указанное количество раз. Все следующие повторы операции после первого будут отображать только данные, изменившиеся с момента последнего запроса.

Sync#

Описание

Устанавливает текущее время в соответствие со временем на сервере РТС.

Операция

-Sync

Устанавливает время на локальном компьютере в значение, которое соответствует текущему времени на сервере РТС в момент выполнения команды.

vtst -y
    Looking for server [localhost:6000]...
    Set time to: [11-06-2023 14:48:57]

Предупреждение

Эту команду нельзя использовать как полнофункциональную замену операции синхронизации времени т.к. она не учитывает время выполнения команды и время будет установлено разницей на выполнение команды (см. команду Ping).

cfgr#

Описание

Получает данные текущей конфигурации и сохраняет их в указанном формате.

Параметры

Операция

-cfgr[=ИМЯ]

Получает данные текущей конфигурации и сохраняет их в формате, указанном с помощью параметра cfgF.

ИМЯ - имя локального файла, в который будут сохранены данные. Если имя не указано. то данные будут выведены на консоль.

cfgw#

Описание

Передает данные конфигурации серверу.

Параметры

Операция

-cfgw=ИМЯ

Передает данные конфигурации, сохраненные в локальном файле с именем ИМЯ.

cfgl#

Описание

Получает список конфигураций на сервере РТС.

Параметры

Операция

-cfgl

Получает список конфигураций на сервере РТС доступных для загрузки.

vtst -login=root,root -cfgl
    List config on server...
    Total 372 configs on server
    1) 64426C6E "21-04-2023 15:58:54", <current>
    2) 64426C6E "21-04-2023 15:58:54", File:   5848, "21-04-2023 15:58:54"
    3) 64426C65 "21-04-2023 15:58:45", File:   6418, "21-04-2023 15:58:45"
    4) 6401BA35 "03-03-2023 14:13:25", File:  81216, "03-03-2023 14:13:25"
    5) 63F99E2F "25-02-2023 10:35:43", File:  81163, "25-02-2023 10:35:43"

cfga#

Описание

Передает серверу РТС сигнал для принятия обновленной конфигурации.

Параметры

Операция

-cfga

Передает серверу РТС сигнал для принятия данных обновленной конфигурации.

В случае, если сервер не содержит обновления конфигурации в результате выполнения этой команды будет выдано сообщение об ошибке с текстом «Accept error (20001): Backup does not exist, can not accept».

cfgc#

Описание

Передает серверу РТС сигнал для отмены обновления конфигурации.

Параметры

Операция

-cfgc=ОПИСАНИЕ

Передает серверу РТС сигнал для отмены обновления конфигурации и текст ОПИСАНИЕ с описанием причины отмены обновления.

В случае, если сервер не содержит обновления конфигурации в результате выполнения этой команды будет выдано сообщение об ошибке с текстом «Cancel error (20001): DB update not started».

cfgi#

Описание

Получает текст с описанием последней отмены обновления конфигурации.

Параметры

Операция

-cfgi

Получает текст с описанием последней отмены обновления конфигурации.

db#

Описание

Получает данные одной таблицы конфигурации и выводит ее данные.

Параметры

Операция

-db=ИНДЕКС

Получает данные одной таблицы конфигурации с индексом ИНДЕКС и выводит ее данные в простом текстовом формате.

Возможные значения для индексов таблиц описаны в разделе номер таблицы конфигурации.

Data#

Описание

Получает данные архива для указанной переменной.

Параметры

  • Учетная запись.

  • start=ДАТА

    Если указан, то дата начала интервала запроса будет установлена в значение ДАТА.

  • end=ДАТА

    Если указан, то дата окончания интервала запроса будет установлена в значение ДАТА.

  • vals

    Если указан, то будут отображены данные для каждого значения.

Операция

Получает данные архива для указанной переменной за указанный период времени. Если параметры команды start и/или end не указаны, то это интерпретируется как отсутствие соответствующей границы.

Получение всех значений архива для переменной A1#1_DELAY без ограничений периода времени:

vtst -login=root,root -data=A1#1_DELAY
    Variable [A1#1_DELAY] from "START" to"END"...
    Total: 1329 value(s)

Dir#

Описание

Отображает список файлов на сервере РТС в указанном каталоге.

Параметры

  • Учетная запись.

  • mask=МАСКА

    Устанавливает дополнительный фильтр для отображаемых файлов. В фильтре можно использовать типовые символы шаблонов файлов, такие как *, ? и []. Если параметр указания фильтра не используется, то это эквивалентно использованию фильтра для всех файлов *.*.

Операция

Отображает список файлов на сервере РТС в указанном каталоге с использованием указанного фильтра.

vtst -login=root,root -dir=/ -mask=*.rt*
    Execute all operations as: "root"
    Looking for server [localhost:6000]...
    Dir list [/] for (*.rt*):
    rwx 15-06-2017 21:43:59   148.145K 09062017.rtdb
    rwx 14-04-2023 10:51:10     6.629K 1.rtdb
    rwx 03-03-2023 14:13:06    81.216K 11.rtdb
    rwx 20-02-2023 04:06:34    81.163K 11_FULL.rtdb

Предупреждение

Каталог указываемый в команде должен быть указан относительно каталога для общих файлов клиентов сервере РТС. Каталог «/» используется как указание корневого каталога для общих файлов клиентов.

Sub#

Описание

Устанавливает подписку на события происходящие на сервере РТС.

В качестве параметра этой команды нужно указать число, которое будет обозначать набор параметров для установки подписки. Допустимые для использования параметры описаны в разделе параметров команды.

Параметры

При работе команды можно использовать следующие параметры:

Операция

После успешной установи связи утилита перейдет в режим ожидания и отображения уведомлений от сервера РТС.

В этом режиме она будет выводить все уведомления, на которые была оформлена подписка.

Для выхода из этого режима можно использовать клавишу ESC или прервать выполнение программы любым другим способом.

Предупреждение

Отображение данных подписки происходит непрерывно, до тех пор пока не произойдет выход из этого режима, поэтому использования параметра утилиты time не нужно.

Opts#

Описание

Отображает список параметров клиентов сохраненный на сервере.

Операция

Выводит список параметров сконфигурированных на сервере и доступных клиентам.

Server has 5 options
 1) [PovLong]:int ="90" desc=[Длинный период до следующей поверки когда нужно устанавливать состояние поверки в "скоро"]
 2) [PovShort]:int ="30" desc=[Короткий период до следующей поверки когда нужно устанавливать состояние поверки в "предупреждение"]
 3) [NeedOptsRefresh]:int ="0" desc=[Должны ли клиенты периодически обновлять настройки сервера]
 4) [OptsRefresh]:int ="60" desc=[сек, Период обновления настроек сервера клиентами]
 5) [Name]:str ="test workplace server" desc=[Наименование объекта: шахты, разреза и т.д.]

В отображаемом списке указаны: название параметра, его тип, текущее значение и текстовое описание.

Параметры сервера для клиентов подробнее описаны в документации на РТС сервера.

Параметры#

Ключи параметров описывают поведение утилиты или передают дополнительные данные для выполняемых команд.

Назначение ключей, их количество и содержание определяется той командой, которая выполняется. Назначение ключей команд описано в разделах соответствующих команд.

Утилита поддерживает следующие параметры:

main=<protocol>

Устанавливает утилиту как источник данных для указанного протокола.

<T>ime=<count>

Устанавливает количество повторов выполнения команды.

pa<U>se=<ms count>

Устанавливает задержку между выполнением команд в случае использования авто-повтора.

show=<level>

Устанавливает уровень деталей отображаемых при выполнении команды Var.

out=<filename>

Устанавливает имя файла, в который будут сохраняться данные получаемые с сервера. Назначение этого параметра определяется выполняемой командой.

start=<datetime>

Устанавливает начальный интервал запроса архивных данных для команды Data.

end=<datetime>

Устанавливает конечный интервал запроса архивных данных для команды Data.

mask=<wildcards>

Устанавливает фильтр файлов для команды Dir.

vals

Устанавливает отображение данных для команды Data.

cfgF[=<type>]

Устанавливает формат сохранения конфигурации.