Конфигурация
Файл конфигурации драйвера опроса имеет формат файлов 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» серверу телеметрии. Это значение должно быть согласовано со значением
на сервере телеметрии. Если сервер телеметрии не получит этот пакет в течении трех интервалов времени, канал связи будет разорван.
Конфигурация протокола связи с устройством серии EIP-2000
Секция конфигурации протокола связи с устройством серии EIP-2000 имеет формат имени [enip|ip_адрес:порт], где:
ip_адрес – IP-адрес устройства;
порт – порт устройства. По умолчанию устройство доступно для связи на порту с номером 44818. Порт можно не указывать явно;
Секция имеет следующие параметры:
protocol – название протокола устройсва серии EIP-2000. Всегда должно иметь значение eip2000;
echo_timeout – интервал времени в миллисекундах посылки пакета NOP устройству, для поддержании постоянной связи с ним.
Это значение согласовывается с устройством при создании сессии связи с устройством;
dev_poll_try_count – количество попыток опросить устройство, по истечении которых связь с устройством будет принудительно разорвана;
conn_try_count – количество попыток установки соединения с устройством, по истечении которых попытка соединения с устройством считается неудачной;
try_connect_timeout – интервал времени между попытками установки соединения с устройством. Значение указывается в миллисекундах;
receive_mode – механизм чтения данных из канал связи с устройством. Параметр может принимать следующие значения:
timeoutonce- значение по умолчанию. Данные вычитываются по следующему методу: производится посылка данных устройству, происходит ожидание в течении интервала времени, определенного в параметреenip_send_receive_timeout, затем производится чтение пришедших данных из канала связи. Если устройство не успело отправить данные за интервал ожидания, пакет считается не полным и данные теряются;timeoutloop- Данные вычитываются по следующему методу: производится посылка данных устройству, происходит ожидание в течении интервала времени, определенного в параметреenip_send_receive_timeout, затем производится чтение пришедших данных из канала связи до тех пор, пока устройство не перестанет их посылать.
receive_interval – интервал времени в миллисекундах с которым устройство будет посылать данные в принимающий канал связи;
state_off_timeout – если с устройством не удалось установить связь в течении указанного интервала времени, устройство считается недоступным. Значение указывается в миллисекундах;
scan_timeout – время ожидания ответа от устройств при сканировании подсети на наличие устройств серии EIP-2000. Значение указывается в миллисекундах;
enip_send_receive_timeout – интервал времени ожидания между посылкой данных устройству и попыткой приема ответный данных от устройства. Значение указывается в миллисекундах;
enip_conn_timeout - время ожидания ответа от устройства при попытке установить с ним соединение. Значение указывается в миллисекундах;
enip_read_timeout - интервал времени ожидания данных из канала связи с устройством. Значение указывается в миллисекундах;
enip_mode – режим обмена с устройством. Значение должно быть всегда «implicit». device – ссылка на секцию с описанием конфигурации устройства.
Конфигурация устройства серии EIP-2000
Секция конфигурации устройства серии EIP-2000 имеет формат имени [dev| ip_адрес:порт:имя_секции], где:
ip_адрес:порт – IP-адрес и порт устройства, указанного в секции конфигурации протокола связи с устройством (см. пп. 5.5);
имя_секции – имя ссылки на секцию с описанием конфигурации устройства, указанное в поле device секции конфигурации протокола связи с устройством (см. пп. 5.5).
Секция не может существовать сама по себе, она должна быть обязательно привязана (соотнесена) с какой-то секцией конфигурации протокола связи, описанной в пп. 5.5.
Например, есть секция с описанием конфигурации протокола связи:
[eip|10.10.10.12] ...
device=MyDev01
,то секция описания конфигурации устройства будет иметь вид:
[dev|10.10.10.12:MyDev01] ...
Секция имеет следующие параметры:
addr – адрес устройства. Значение должно быть всегда 1;
sn – серийный номер устройства. Как правило, написан на самом устройстве;
params – список пользовательских параметров (например, КАДР устройства).
Указывается в фигурных скобках. Параметры разделяются запятыми. Каждый параметр имеет вид - имя:значение;
chanels_in – количество входов;
chanels_out – количество выходов;
bounce_count – чувствительность к дребезгу контактов. Если состояние дискретного входа прочитано указанное количество раз с одним и тем же результатом,
то состояние считается устойчивым;
IN_x – список параметров входа. x – номер входа;
OUT_x – список параметров выхода. x – номер выхода;
Нумерация входов/выходов ведется с нуля. Список указывается в фигурных скобках. Параметры разделяются запятыми.
Каждый параметр имеет вид - имя:значение. Все параметры являются не обязательными. При отсутствии элементов в списке, параметр именем входа/выхода можно не указывать.
Параметры входов/выходов могут быть следующие:
multiplier – множитель. Значение по умолчанию – 1. Определяет, с каким интервалом будет опрашиваться данный вход/выход.
Конечный интервал опроса рассчитывается по формуле - poll_timeout * multiplier. Параметр poll_timeout определяется в секции конфигурации протокола связи с устройством (см. пп. 5.5).
alias – псевдоним входа/выхода. Должен совпадать с именем параметра на сервере NetServerTM. По умолчанию идентичен имени входа/выхода.