Конфигурация
Файл конфигурации драйвера опроса имеет формат файлов .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.