Тестирование сервера РТС (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>] |
Устанавливает формат сохранения конфигурации. |