Конфигурация
Файл конфигурации драйвера опроса имеет формат файлов .ini
и состоит из нескольких секций, отвечающих за настройки конкретного функционального блока.
Конфигурация ядра драйвера опроса
Секция конфигурации ядра драйвера опроса имеет имя [common]
и имеет следующие параметры:
check_config_time
– интервал времени в секундах, с которым проверяется наличие изменений в файле конфигурации;
use_mem_free
– включить/отключить механизм принудительного вызова сборщика мусора для освобождения памяти.
Значение параметра может принимать значения: on
- включить, off
- отключить;
mem_free_time
– интервал времени в секундах, с которым вызывается сборщик мусора;
packet_qeue_len
– длина внутренней очереди сообщений для функциональных модулей.
Сообщение попадает в эту очередь только если функциональный модуль назначения не найден в списке зарегистрированных или
еще не успел зарегистрироваться. При регистрации необходимого модуля, сообщения из очереди будут доставлены этому модулю.
Очередь является кольцевой и старые сообщения выдавливаются из нее по мере поступления новых.
log_process_msg
- включить/отключить логирование сервисных сообщений.
Значение параметра может принимать значения: on
- включить, off
- отключить;
log_debug_msg
- включить/отключить логирование отладочных сообщений. Значение параметра может принимать значения: on
- включить, off
- отключить;
ext_request_timeout
– интервал времени ожидания ответа функционального модуля на запрос от другого модуля. Значение указывается в миллисекундах.
Конфигурация подсистемы логирования
Секция конфигурации подсистемы логирования имеет имя [log]
и имеет следующие параметры:
file_size
– максимальный размер в байтах файла журнала операций;
cache_size
– размер в байтах кэша записи файла журнала операций. При поступлении сообщений в журнал, сообщения сначала складываются в
кэш в памяти и, при достижении указанного объема или по истечении определенного времени, одним блоком записываются в файл.
cache_save_time
– интервал времени в миллисекундах, по истечении которого данные из кэша в памяти записываются в файл журнала операций;
history_type
– тип истории файлов журнала операций. Параметр может принимать значения: none
- режим по умолчанию, при котором,
файл журнала операций перезаписывается при достижении заданного максимального размера или при перезапуске драйвера;
append_to_file
- режим, при котором при перезапуске драйвера опроса, продолжается запись в последний файл журнала операций;
files_list
- режим, при котором файл журнала операций, при достижении указанного максимального размера или при перезапуске драйвера опроса,
сохраняется с указанием порядкового номера;
history_depth
– глубина истории файлов журнала операций.
Конфигурация подсистемы WEB-отображения
Секция конфигурации подсистемы WEB-отображения имеет имя [http]
и имеет следующие параметры:
state
– включить/отключить подсистему WEB-отображения. Значение параметра может принимать значения: on
- включить, off
- отключить;
port
– порт подсистемы WEB-отображения. По умолчанию порт имеет значение 9100
;
root
– корневая папка с файлами подсистемы WEB-отображения;
restart_timeout
– интервал времени в секундах, по истечении которого производится очередная попытка запустить подсистему WEB-отображения,
если предыдущая попытка потерпела неудачу;
request_timeout
– время ожидания в миллисекундах ответа запрошенных параметров от функционального модуля.
Конфигурация протокола связи с NetServerTM
Секция конфигурации протокола связи с NEtServerTM имеет формат имени [stm|ip_адрес:порт]
, где:
ip_адрес
– IP-адрес сервера телеметрии NetServerTM;
порт
– порт сервера телеметрии NetServerTM. По умолчанию сервер телеметрии использует для связи с драйвером опроса порт с номером 9006
;
Секция имеет следующие параметры:
stm_conn_timeout
– время ожидания ответа от сервера телеметрии при попытке установить с ним соединение. Значение указывается в миллисекундах;
stm_reconn_timeout
– интервал времени в миллисекундах, по истечении которого будет произведена очередная попытка соединения с сервером телеметрии,
если предыдущая попытка соединения закончилась неудачей;
stm_read_trycount
– количество попыток прочитать данные из канала связи с сервером телеметрии;
stm_receive_timeout
– интервал времени ожидания данных из канала связи с сервером телеметрии. Значение указывается в миллисекундах;
stm_send_trycount
- количество попыток послать данные в канал связи с сервером телеметрии;
stm_send_timeout
– период времени в миллисекундах между попытками послать данные в канал связи с сервером телеметрии;
stm_echo_timeout
– интервал времени в миллисекундах между посылками пакета «ECHO» серверу телеметрии. Это значение должно быть согласовано со значением
на сервере телеметрии. Если сервер телеметрии не получит этот пакет в течении трех интервалов времени, канал связи будет разорван.
Конфигурация протокола связи с устройством поддерживающим протокол DCON
Секция конфигурации протокола связи с устройством поддерживающим протокол DCON
имеет формат имени [интерфейс|путь]
, где:
интерфейс
– тип физического интерфейса для связи с устройством. Может принимать значения rs
или eth
, где rs
- COM-порт, а eth
- сеть Ethernet;
путь
– путь до устройства. При типе интерфейса rs
имеет примерно такой вид – ttu-usb0
и берется из папки /dev
ОС.
При типе интерфейса eth
указывается IP-адрес и порт в виде ip_адрес:порт
.
Секция имеет следующие параметры:
protocol
– название протокола устройства поддерживающего протокол DCON. Всегда должно иметь значение dcon
;
poll_timeout
– интервал опроса устройства в миллисекундах;
dev_poll_try_count
– количество попыток опросить устройство, по истечении которых связь с устройством будет принудительно разорвана;
conn_try_count
– количество попыток установки соединения с устройством, по истечении которых попытка соединения с устройством считается неудачной;
try_connect_timeout
– интервал времени между попытками установки соединения с устройством. Значение указывается в миллисекундах;
receive_mode
– механизм чтения данных из канал связи с устройством. Параметр может принимать следующие значения:
timeoutonce
- значение по умолчанию. Данные вычитываются по следующему методу: производится посылка данных устройству, происходит ожидание в течении интервала времени, определенного в параметреeth_send_receive_timeout
, затем производится чтение пришедших данных из канала связи. Если устройство не успело отправить данные за интервал ожидания, пакет считается не полным и данные теряются;timeoutloop
- Данные вычитываются по следующему методу: производится посылка данных устройству, происходит ожидание в течении интервала времени, определенного в параметреeth_send_receive_timeout
, затем производится чтение пришедших данных из канала связи до тех пор, пока устройство не перестанет их посылать.
state_off_timeout
– если с устройством не удалось установить связь в течении указанного интервала времени, устройство считается недоступным. Значение указывается в миллисекундах;
scan_timeout
– время ожидания ответа от устройств при сканировании подсети на наличие устройств поддерживающих протокол DCON. Значение указывается в миллисекундах;
eth_send_receive_timeout
– интервал времени ожидания между посылкой данных устройству и попыткой приема ответный данных от устройства. Значение указывается в миллисекундах.
Для типа интерфейса eth
;
eth_conn_timeout
- время ожидания ответа от устройства при попытке установить с ним соединение. Значение указывается в миллисекундах. Для типа интерфейса eth
;
eth_read_timeout
- интервал времени ожидания данных из канала связи с устройством. Значение указывается в миллисекундах.
Для типа интерфейса eth
; rs_speed
– скорость COM-порта. Для типа интерфейса rs
;
rs_databit
– количество бит данных COM-порта. Принимает значения 7
или 8
. Для типа интерфейса rs
;
rs_parity
– контроль четности. Принимает значения none
(нет), even
(четный) или odd
(нечетный) . Для типа интерфейса rs
;
rs_stopbit
– количество стоп-бит. Принимает значения 0
, 1
или 2
. Для типа интерфейса rs
;
rs_read_timeout
- интервал времени ожидания данных из канала связи с устройством. Значение указывается в миллисекундах. Для типа интерфейса rs
;
rs_write_read_timeout
- интервал времени ожидания между посылкой данных устройству и попыткой приема ответный данных от устройства.
Значение указывается в миллисекундах. Для типа интерфейса rs
;
device
– ссылка на секцию с описанием конфигурации устройства.
Конфигурация устройства поддерживающего протокол DCON
Секция конфигурации устройства поддерживающего протокол DCON имеет формат имени [dev| путь:имя_секции]
, где:
путь
– путь до устройства, указанного в секции конфигурации протокола связи с устройством (см.выше);
имя_секции
– имя ссылки на секцию с описанием конфигурации устройства, указанное в поле device
секции конфигурации протокола связи с устройством (см.выше).
Секция не может существовать сама по себе, она должна быть обязательно привязана (соотнесена) с какой-то секцией конфигурации протокола связи, описанной выше.
Например, есть секция с описанием конфигурации протокола связи:
[eth|10.10.10.12:503] ...
device=MyDev01
,то секция описания конфигурации устройства будет иметь вид:
[dev|10.10.10.12:503:MyDev01] ...
Секция имеет следующие параметры:
addr
– адрес устройства на шине RS-485. Если устройство имеет встроенный интерфейс ethernet
, указывается 1
;
sn
– серийный номер устройства. Как правило, написан на самом устройстве;
id
– строка идентификатора устройства (имя, тип и т.д.);
type
– тип портов ввода/вывода. Принимает значения DIO
(дискретные) или AIO
(аналоговые);
checksum
– определяет, надо ли добавлять контрольную сумму в конец пакета данных. Принимает значения no
или yes
.
Должен совпадать с аналогичным параметров в настройках контроллера;
params
– список пользовательских параметров (например, КАДР устройства). Указывается в фигурных скобках.
Параметры разделяются запятыми. Каждый параметр имеет вид - имя : значение
;
chanels_in
– количество входов;
chanels_out
– количество выходов;
bounce_count
– чувствительность к дребезгу контактов. Если состояние дискретного входа прочитано указанное количество раз с одним и тем же результатом,
то состояние считается устойчивым;
IN_x
– список параметров входа. x
– номер входа;
OUT_x
– список параметров выхода. x
– номер выхода;
Нумерация входов/выходов ведется с нуля. Список указывается в фигурных скобках. Параметры разделяются запятыми. Каждый параметр имеет вид - имя : значение
.
Все параметры являются не обязательными. При отсутствии элементов в списке, параметр именем входа/выхода можно не указывать.
Параметры входов/выходов могут быть следующие:
multiplier
– множитель. Значение по умолчанию – 1
. Определяет, с каким интервалом будет опрашиваться данный вход/выход.
Конечный интервал опроса рассчитывается по формуле - poll_timeout * multiplier
. Параметр poll_timeout
определяется в секции конфигурации
протокола связи с устройством (см.выше).
alias
– псевдоним входа/выхода. Должен совпадать с именем параметра на сервере NetServerTM. По умолчанию идентичен имени входа/выхода.
formula
– формула для установки состояния дискретного выхода. Элемент автоматики.
Указывается только для дискретных выходов. Используется, если отсутствует соединение с сервером NetServerTM. Сохраняется в файле конфигурации автоматически,
при получении нового значения формулы с сервера NetServerTM. Ручное редактирование не подразумевается. Для получения информации о формате формулы, обратитесь к документации на сервер телеметрии NetServerTM.