Инструкция по импорту файла
-
Импорт возможен в следующие объекты проекта:
- Функциональный блок (протокол) — все данные будут добавлены в указанный блок.
- Удалённое устройство — данные будут добавлены к выбранному устройству.
- Модуль — будет прочитана строка с настройками. Если протокол не найден — он будет создан. Если отсутствует строка с устройством — импорт будет отменён.
- Точки данных — аналогично модулю.
-
В открывшемся диалоговом окне выберите Excel-файл, выберите формат Конфигурация протокола из MS EXCEL (*.xlsx), тип протокола Modbus и задайте параметры импорта.
Параметры импорта:
Параметр Описание Удалять из проекта данные, которых нет в файлах Удаляет из программы контроллера(проекта) данные, которых нет в импортируемом файле Удалять точки данных, в которых были удаленные данные (только ВУ) Очищает точки данных, связанные с удалёнными входами/выходами устройства Добавлять точки данных (только ВУ) Создаёт точки данных для соответствующих данных протокола Автоматически объединять данные в один запрос Объединяются блоки команд, если это возможно -
Если выбран параметр "Добавлять точки данных", будет выведено окно с выбором архива данных
Каждый файл может содержать только один интерфейс и несколько данных.
Обязательные теги для успешного импорта
Поскольку конфигурационные блоки различаются по структуре, допускается указание всех возможных тегов. Главное условие — заданы все необходимые входы для конкретного блока.
1. Теги интерфейса
Универсальные теги (для всех конфигурационных блоков):
- index — идентификатор строки (может быть пустым, но должен присутствовать)
- input_master/slave — тип удалённого устройства
- input_typename — тип соединения или протокола
Специфические теги (зависят от типа конфигурационного блока):
- input_port — порт устройства
- input_dev — имя устройства
- input_spd — скорость передачи
- input_par — контроль чётности
- input_stb — количество стоповых бит
- input_dtb — количество бит данных
- input_term — терминальные резисторы
- input_lprt — локальный порт
- input_lip — локальный IP-адрес
- input_sdr — сетевой стек
- input_rprt — удалённый порт
- input_ip — IP-адрес удалённого устройства
Типы конфигурационных блоков и соответствующие им входы:
- SerialPort: input_dev, input_spd, input_par, input_stb, input_dtb
- 210-RS485: input_port, input_spd, input_par, input_stb, input_dtb, input_term
- TcpIpClA: input_lprt, input_lip, input_sdr, input_rprt, input_ip
2. Теги данных
Обязательные теги:
- index — идентификатор строки (может быть пустым, но должен присутствовать)
- proto_command — код команды
- proto_typename — тип данных
- proto_slv — адрес устройства
- proto_adr0 — начальный адрес
Соответствие типов данных (`proto_typename`) внутреннему типу:
- REAL → flt
- BOOL → b
- UINT → uns
- USINT → uch
Соответствие комбинации proto_command + proto_typename блоку:
- (0x01, BOOL) → ModbusCoilIn
- (0x02, BOOL) → ModbusDInputIn
- (0x03, UINT) → ModbusRegIn
- (0x03, REAL) → ModbusFltIn
- (0x04, UINT) → ModbusAInputIn
- (0x04, REAL) → ModbusFltIn
- (0x05, USINT) → ModbusCoilOut
- (0x06, UINT) → ModbusRegOut
- (0x0F, BOOL) → ModbusCoilsOut
- (0x10, UINT) → ModbusRegsOut
- (0x10, REAL) → ModbusFltOut
Опциональные теги (необязательные, но могут быть полезны):
- proto_hold / proto_in — режим хранения/чтения
- proto_ord_w — порядок слов
- proto_ord_b — порядок байтов
- value — значение по умолчанию
- comments — комментарии
- prop_... — любые свойства, начинающиеся с "prop_"
Примечание: Все остальные теги игнорируются при импорте и не обрабатываются.
Пример минимально необходимой структуры
| index | input_ma | input_typ | input_lprt | input_lip | input_sdr | input_rprt | input_ip | proto_cmd | proto_typ | proto_slv | proto_adr |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MTCP_Master | TcpIpClA | 502 | ... | / | 502 | "10.2.4.5" | |||||
| 0x03 | UINT | 1 | 51 |
Для такой таблицы можно не выбирать блок, так как в ней есть теги конфигурационного блока, которые будут использоваться для поиска или создания удалённого устройства.
Описание параметров импорта
Удалять из проекта данные, отсутствующие в файлах
Если активировать эту опцию, появится выбор между Все блоки и Только стандартные блоки.
Этот выбор определяет, какие блоки следует удалять: если выбран вариант Только стандартные блоки, то удаляются только те блоки, которые ранее были явно заданы в файле (на основе комбинации команды и типа).
Добавлять точки данных (только для ВУ)
При включении этой опции можно выбрать, как часто будет появляться диалог создания точек данных:
- Один раз
- Для каждого Master/Slave
- Для каждой команды
Этот выбор определяет кратность вызова диалога с параметрами создания точек.
Пример диалогового окна:

Автоматически объединять данные в один запрос (только для ВУ)
Опция предназначена для автоматического объединения блоков данных, чтобы не требовалось вручную следить за их порядком в файле.
Данные считываются в порядке строк, и предполагается, что адреса adr0 идут по возрастанию — от меньшего к большему.
Пример содержимого файла:
| index | input_ma | input_typ | input_lprt | input_lip | input_sdr | input_rprt | input_ip | proto_cmd | proto_typ | proto_slv | proto_adr |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MTCP_Master | TcpIpClA | 502 | ... | / | 502 | "10.2.4.5" | |||||
| 0x03 | UINT | 1 | 52 | ||||||||
| 0x03 | UINT | 1 | 51 |
Если сравнить вторую и третью строки, видно, что adr0 идут в неверном порядке. Без объединения это будут два разных блока.
Параметр «Автоматически объединять данные в один запрос» позволяет объединить такие строки в один функциональный блок, если они логически продолжают друг друга.
Пример без параметра:

Пример с параметром:
