- \b exchangeModeID - датчик(name) определяющий режим работы (см. MBExchange::ExchangeMode).
Секция <DeviceList> позволяет задать параметры обмена с конкретным RTU-устройством.
- \b addr - адрес устройства для которого, задаются параметры
- \b timeout msec - таймаут, для определения отсутствия связи
- \b invert - инвертировать логику. По умолчанию датчик выставляется в "1" при \b наличии связи.
...
...
@@ -76,65 +75,41 @@ namespace uniset
При создании объекта в конструкторе передаётся префикс для определения параметров командной строки.
По умолчанию \b xxx="mbtcp".
Далее приведены основные параметры:
- \b --xxx-name ID - идентификатор(name) процесса.
IP-адрес шлюза задаётся параметром в конфигурационном файле \b gateway_iaddr или параметром командной строки \b --xxx-gateway-iaddr.
Порт задаётся в конфигурационном файле параметром \b gateway_port или параметром командной строки \b --xxx-gateway-port. По умолчанию используется порт \b 502.
\b --xxx-name ID - идентификатор(name) процесса.
IP-адрес шлюза задаётся параметром в конфигурационном файле \b gateway_iaddr или
Порт задаётся в конфигурационном файле параметром \b gateway_port или
параметром командной строки \b --xxx-gateway-port. По умолчанию используется порт \b 502.
\b --xxx-recv-timeout или \b recv_timeout msec - таймаут на приём одного сообщения. По умолчанию 100 мсек.
\b --xxx-timeout или \b timeout msec - таймаут на определение отсутствия связи
(после этого идёт попытка реинициализировать соединение)
По умолчанию 5000 мсек.
\b --xxx-reinit-timeout или \b reinit_timeout msec - таймаут на реинициализацию канала связи (после потери связи)
По умолчанию timeout.
\b --xxx-no-query-optimization или \b no_query_optimization - [1|0] отключить оптимизацию запросов
- \b --xxx-recv-timeout или \b recv_timeout msec - таймаут на приём одного сообщения. По умолчанию 100 мсек.
- \b --xxx-timeout или \b timeout msec - таймаут на определение отсутствия связи (после этого идёт попытка реинициализировать соединение). По умолчанию 5000 мсек.
- \b --xxx-reinit-timeout или \b reinit_timeout msec - таймаут на реинициализацию канала связи (после потери связи). По умолчанию timeout.
- \b --xxx-no-query-optimization или \b no_query_optimization- [1|0] отключить оптимизацию запросов
Оптимизация заключается в том, что регистры идущие подряд автоматически запрашиваются/записываются одним запросом.
В связи с чем, функция указанная в качестве \b mbfunc игнорируется и подменяется на работающую с многими регистрами.
\b --xxx-poll-time или \b poll_time msec - пауза между опросами. По умолчанию 100 мсек.
\b --xxx-initPause или \b initPause msec - пауза перед началом работы, после активации. По умолчанию 50 мсек.
\b --xxx-force или \b force [1|0]
- \b --xxx-poll-time или \b poll_time msec - пауза между опросами. По умолчанию 100 мсек.
- \b --xxx-initPause или \b initPause msec - пауза перед началом работы, после активации. По умолчанию 50 мсек.
- \b --xxx-force или \b force [1|0]
- 1 - перечитывать значения входов из SharedMemory на каждом цикле
- 0 - обновлять значения только по изменению
\b --xxx-persistent-connection или \b persistent_connection - НЕ закрывать соединение после каждого запроса.
\b --xxx-force-out или \b force_out [1|0]
- \b --xxx-persistent-connection или \b persistent_connection - НЕ закрывать соединение после каждого запроса.
- \b --xxx-force-out или \b force_out [1|0]
- 1 - перечитывать значения выходов из SharedMemory на каждом цикле
- 0 - обновлять значения только по изменению
\b --xxx-reg-from-id или \b reg_from_id [1|0]
- \b --xxx-reg-from-id или \b reg_from_id [1|0]
- 1 - в качестве регистра использовать идентификатор датчика
- 0 - регистр брать из поля tcp_mbreg
\b --xxx-heartbeat-id или \b heartbeat_id ID - название для датчика "сердцебиения" (см. \ref sec_SM_HeartBeat)
\b --xxx-heartbeat-max или \b heartbeat_max val - сохраняемое значение счётчика "сердцебиения".
\b --xxx-activate-timeout msec . По умолчанию 2000. - время ожидания готовности SharedMemory к работе.
- \b --xxx-heartbeat-id или \b heartbeat_id ID - название для датчика "сердцебиения" (см. \ref sec_SM_HeartBeat)
- \b --xxx-heartbeat-max или \b heartbeat_max val - сохраняемое значение счётчика "сердцебиения".
- \b --xxx-activate-timeout msec . По умолчанию 2000. - время ожидания готовности SharedMemory к работе.
\section sec_MBTCP_ConfList Конфигурирование списка регистров для ModbusTCP master
Конфигурационные параметры задаются в секции <sensors> конфигурационного файла.
Список обрабатываемых регистров задаётся при помощи двух параметров командной строки
\b --xxx-filter-field - задаёт фильтрующее поле для датчиков
\b --xxx-filter-value - задаёт значение фильтрующего поля. Необязательный параметр.
\b --xxx-statistic-sec sec - при наличии выведет кол-во посланных запросов за этот промежуток времени.
\b --xxx-set-prop-prefix [str] - Использовать 'str' в качестве префикса для свойств.
- \b --xxx-filter-field - задаёт фильтрующее поле для датчиков
- \b --xxx-filter-value - задаёт значение фильтрующего поля. Необязательный параметр.
- \b --xxx-statistic-sec sec - при наличии выведет кол-во посланных запросов за этот промежуток времени.
- \b --xxx-set-prop-prefix [str] - Использовать 'str' в качестве префикса для свойств.
Если не указать 'str' будет использован пустой префикс.
Если параметры не заданы, будет произведена попытка загрузить все датчики, у которых
\b --xxx-default-mbaddr addr1 - slave-адрес по умолчанию для данного устройства. Если указан адрес 255 - ответ будет на любые сообщения.
\b --xxx-timeout или \b timeout msec - таймаут на определение отсутствия связи.
\b --xxx-reply-timeout msec - таймаут на формирование ответа.
\b --xxx-initPause или \b initPause msec - пауза перед началом работы, после активации. По умолчанию 50 мсек.
\b --xxx-force или \b force [1|0]
- \b --xxx-name ID - идентификатор процесса.
- \b --xxx-default-mbaddr addr1 - slave-адрес по умолчанию для данного устройства. Если указан адрес 255 - ответ будет на любы сообщения.
- \b --xxx-timeout или \b timeout msec - таймаут на определение отсутствия связи.
- \b --xxx-reply-timeout msec - таймаут на формирование ответа.
- \b --xxx-initPause или \b initPause msec - пауза перед началом работы, после активации. По умолчанию 50 мсек.
- \b --xxx-force или \b force [1|0]
- 1 - перечитывать/перезаписывать значения входов из SharedMemory на каждом цикле
- 0 - обновлять значения только по изменению
\b --xxx-reg-from-id или \b reg_from_id [1|0]
- \b --xxx-reg-from-id или \b reg_from_id [1|0]
- 1 - в качестве регистра использовать идентификатор датчика
- 0 - регистр брать из поля tcp_mbreg
\b --xxx-default-mbfunc или \b default_mbfunc [0...255] - Функция подставляемая по умолчанию, если не указан параметр mbfunc. Действует только если включён контроль функций (check-mbfunc).
\b --xxx-check-mbfunc [0|1] -
- 1 - включить контроль (обработку) свойства mbfunc. По умолчанию: отключёна. Если контроль включён то разрешено
использовать один и тот же регистр но \b для \b разных \b функций.
- \b --xxx-default-mbfunc или \b default_mbfunc [0...255] - Функция подставляемая по умолчанию, если не указан параметр mbfunc. Действует только если включён контроль функций (check-mbfunc).
- \b --xxx-check-mbfunc [0|1] -
- 1 - включить контроль (обработку) свойства mbfunc. По умолчанию: отключёна. Если контроль включён то разрешено использовать один и тот же регистр но \b для \b разных \b функций.
- 0 - игнорировать свойство mbfunc..
\b --xxx-heartbeat-id или \b heartbeat_id ID - идентификатор датчика "сердцебиения" (см. \ref sec_SM_HeartBeat)
\b --xxx-heartbeat-max или \b heartbeat_max val - сохраняемое значение счётчика "сердцебиения".
\b --xxx-activate-timeout msec . По умолчанию 2000. - время ожидания готовности SharedMemory к работе.
\b --xxx-allow-setdatetime 0,1 - Включить функцию 0x50. Выставление даты и времени.
- \b --xxx-heartbeat-id или \b heartbeat_id ID - идентификатор датчика "сердцебиения" (см. \ref sec_SM_HeartBeat)
- \b --xxx-heartbeat-max или \b heartbeat_max val - сохраняемое значение счётчика "сердцебиения".
- \b --xxx-activate-timeout msec . По умолчанию 2000. - время ожидания готовности SharedMemory к работе.
- \b --xxx-allow-setdatetime 0,1 - Включить функцию 0x50. Выставление даты и времени.
\par Настройки протокола RTU:
\b --xxx-dev devname - файл устройства
\b --xxx-speed - Скорость обмена (9600,19920,38400,57600,115200)
- \b --xxx-dev devname - файл устройства
- \b --xxx-speed- Скорость обмена (9600,19920,38400,57600,115200)
\par Настройки протокола TCP:
\b --xxx-inet-addr [xxx.xxx.xxx.xxx | hostname ] - this modbus server address
\b --xxx-inet-port num - this modbus server port. Default: 502.
- \b --xxx-inet-addr [xxx.xxx.xxx.xxx | hostname ] - this modbus server address
- \b --xxx-inet-port num - this modbus server port. Default: 502.
\section sec_MBSlave_ConfList Конфигурирование списка регистров для ModbusSlave
Конфигурационные параметры задаются в секции <sensors> конфигурационного файла.
Список обрабатываемых регистров задаётся при помощи двух параметров командной строки
\b --xxx-filter-field - задаёт фильтрующее поле для датчиков
\b --xxx-filter-value - задаёт значение фильтрующего поля. Необязательный параметр.
- \b --xxx-filter-field - задаёт фильтрующее поле для датчиков
- \b --xxx-filter-value - задаёт значение фильтрующего поля. Необязательный параметр.
\warning Если в результате список будет пустым, процесс завершает работу.