Skip to content

ModbusMapDocGenerator

Статья описывает назначение внешнего модуля ModbusMapDocGenerator, его место в цепочке генерации и структуру итогового Excel-файла ModbusMap.xls.

Внешний модуль ModbusMapDocGenerator входит в библиотеку StandardModules.dll и предназначен для создания Excel-документа ModbusMap с картой регистров Modbus выбранного ПЛК для передачи сторонним организациям.

Модуль формирует таблицу соответствия:

  • человекочитаемого наименования сигнала;
  • тега тех. объекта;
  • типа данных;
  • адресов регистров чтения и записи;
  • кодов Modbus-функций;
  • текстовых состояний дискретных сигналов.

Результат используется для сдачи проектной документации, согласования карты Modbus с интеграторами и проверки назначенных адресов после генерации.

Внешний вид модуля в Uniplant Atomix

Section titled “Внешний вид модуля в Uniplant Atomix”

Внешний вид модуля ModbusMapDocGenerator в Uniplant Atomix

Карточка внешнего модуля «ModbusMapDocGenerator» в Uniplant Atomix

Роль в цепочке генерации

Section titled “Роль в цепочке генерации”

Перед выгрузкой Excel-документа модуль использует результат MapCreator: карта Modbus строится по инстансам выбранного ПЛК, после чего данные переносятся в шаблон Excel.

Адреса регистров и коды Modbus-функций в ModbusMap.xls рассчитываются по тому же алгоритму, что и при генерации словаря Unimod: стартовые адреса из PlcOptions, отбор экземпляров по isMapped, сортировка по TechObject.modbusTemplate, привязка каналов по mapping и опция округления DI/COIL. Подробное описание правил — в статье Алгоритм присвоения адресов Modbus; пошаговый пример — в Пример адресации Modbus: AiProc3 / 4_20mA_namur.

Пользователь запускает ModbusMapDocGenerator кнопкой Play; MapCreator отрабатывает автоматически внутри общей цепочки генерации.

После успешного выполнения модуль сохраняет файл ModbusMap.xls в каталог документации ПЛК:

%JSC%\USR\PRJ\ResultFiles\PLC\<PlcName>\Docs\ModbusMap\ModbusMap.xls

Для быстрого доступа к файлу используйте кнопку «Открыть папку документации» в разделе «Результат сборки» (аналогично Выгрузке упаковки DI в Modbus).

Шаблон оформления Excel берётся из глобальной настройки [MODBUS_BASE_PATH] (по умолчанию %JSC%\Conf\Models\System\Docs\ModbusBase.xls). Подробнее: Глобальные настройки SettingManager.

Структура файла ModbusMap.xls

Section titled “Структура файла ModbusMap.xls”

Итоговый документ содержит один лист с таблицей сигналов. Первая строка — заголовки колонок, далее по одной строке на каждый Modbus-канал.

КолонкаНазначение
Наименование сигналаЧеловекочитаемое описание: имя ПЛК, типовой блок и канал (например, «Входной сигнал Открыт», «Недостоверность сигнала Открыт»).
ТегПолный тег тех. объекта и канала (P0_72MOV0001.InOpen, P0_72MOV0001.OprOpen).
Минимум шкалыНижняя граница шкалы для аналоговых сигналов.
Максимум шкалыВерхняя граница шкалы для аналоговых сигналов.
Ед. измеренияЕдиница измерения (C, bar, % и т.п.).
Коэф. масштабированияКоэффициент масштабирования значения.
State 0 (FALSE)Текстовое состояние логического 0 (для дискретных сигналов).
Признак State 0 (FALSE)Подпись/признак для состояния FALSE.
State 1 (TRUE)Текстовое состояние логического 1 (например, «Сработка», «Пуск команды»).
Признак State 1 (TRUE)Подпись/признак для состояния TRUE.
Тип данныхBool, Integer, Real.
Адрес регистра чтения (дес.)Десятичный Modbus-адрес для чтения.
Адрес регистра записи (дес.)Десятичный Modbus-адрес для записи; заполняется для команд и параметров с двусторонним обменом.
БитНомер бита в слове для дискретных сигналов в packed-формате (если используется упаковка).
Код функцииModbus-функции чтения и/или записи.
Значение командыЗначение команды (если задано в карте).
ПримечаниеДополнительный комментарий к строке.
  1. Проверяется контекст выбранного ПЛК и инициализация настроек.
  2. MapCreator строит Modbus-карту по инстансам модели ПЛК.
  3. Данные карты переносятся в Excel-шаблон [MODBUS_BASE_PATH].
  4. Итоговый файл ModbusMap.xls сохраняется в Docs\ModbusMap каталога результатов ПЛК.
  5. В логе фиксируется завершение операции; у модуля отображается статус успешного выполнения.