Table of Contents

3.3.4 Описание модели карты Modbus-фреймов (файл Frames*.xls)

3.3.4.1 Назначение модели карты Modbus-фреймов

Модель карты Modbus-фреймов — это Excel-файл, используемый системой AutomiqAutomation для описания структуры запросов Modbus, опрашивающих устройства (например, МУПС-3, МОПС-3, КАУ-2).

Данный файл определяет:

  • состав и типы регистров (DI, COIL, IR, HR),
  • порядок байт (endianness),
  • период опроса,
  • структуру массивов данных,
  • диагностические переменные.

Этот файл является входными данными для генератора Modbus-обвязки в проекте Unimod 2. Он используется совместно с моделью ПЛК (на листе MB.*) через ссылку в столбце ING.

🔗 Расположение:
JSC\Conf\Models\System\Modbus\Devices\{Имя_устройства}.xls

Примеры: FramesMops3Ext.xls, FramesKAU2_9030.xls.


3.3.4.2 Структура листа Frames

Лист Frames содержит описание всех фреймов (запросов), которые будут сформированы в Unimod 2 для опроса устройства.

Структура листа:

Столбец Описание
# Признак объявления переменных
VQ Признак переменной конфигурации (Variable Qualifier)
H Заголовки столбцов
@ Комментарии (описание назначения столбцов)
d Строки с данными фреймов

3.3.4.3 Ключевые столбцы на листе Frames

Столбец Описание
FrameName Имя фрейма (например, status, commands). Используется для формирования имени массива данных.
type Тип данных: 16-bit Unsigned, 16-bit Signed, 32-bit Float, bool и др.
function Функция Modbus:
- 01 (0x01) READ COILS
- 02 (0x02) READ CONTACTS
- 03 (0x03) READ HOLDING REGISTERS
- 04 (0x04) READ INPUT REGISTERS
- 15 (0x0F) WRITE MULTIPLE COILS
- 16 (0x10) WRITE MULTIPLE REGISTERS
endianness Порядок байт: 1-0, 0-1, 1-0-3-2, 2-3-0-1 и др.
beginDataRemote Начальный адрес регистра на устройстве.
variablesCount Количество регистров в запросе.
pollingPeriod Период опроса в миллисекундах (например, 1000).
comment Комментарий к фрейму (например, ass, commands).
beginVariableLocal Имя локальной переменной (массива) в Unimod. Часто используется шаблон [modbus.name]_[FrameName].
diagVariable Имя диагностической структуры (например, [modbus.name]_[FrameName]_DIAG).
address Адрес slave-устройства (например, [slave]).
API.ALG Алгоритм расчета параметров фрейма (например, начального адреса или количества переменных).

3.3.4.4 Пример (из FramesMops3Ext.xls)

# VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ
H FrameName type function endianness beginDataRemote variablesCount pollingPeriod comment beginVariableLocal diagVariable address
@ Имя фрейма (массив для чтения\записи) Тип данных Функция Modbus Порядок байт Начальный адрес Количество переменных Период опроса (мс) Комментарий Имя фрейма (массив для чтения\записи) Диагностическая структура Для каждого фрейма указывается адрес Slave
d status 16-bit Unsigned 03 (0x03) READ HOLDING REGISTERS 1-0 0 28 1000 ass [modbus.name]_status [modbus.name]_status_DIAG [slave]
d commands 16-bit Unsigned 16 (0x10) WRITE MULTIPLE REGISTERS 1-0 0 2 1000 cmd [modbus.name]_commands [modbus.name]_commands_DIAG [slave]

3.3.4.5 Связь с моделью ПЛК

Модель карты фреймов связывается с моделью ПЛК через лист MB.*.

Параметр в MB.* Связь с Frames*.xls
ING Указывает путь к файлу с фреймами (например, [ING.Path]\FramesMops3Ext.xls)
modbus.name Используется в шаблонах beginVariableLocal и diagVariable
slave Передается в поле address

💡 Процесс генерации:

  1. Система читает лист MB.* модели ПЛК.
  2. Находит путь в ING.
  3. Загружает файл Frames*.xls.
  4. Для каждого фрейма создает:
    • массив данных в глобальном словаре Unimod,
    • диагностическую структуру,
    • Modbus-запрос с указанным периодом и функцией,
    • ST-код для привязки (*_inST, *_outST, *_statusST и др.).

3.3.4.6 Вывод

Модель карты Modbus-фреймов — это ключевой элемент для автоматизации опроса Modbus-устройств. Она обеспечивает:

  • единый формат описания запросов для всех устройств,
  • автоматическую генерацию массивов, диагностики и ST-кода,
  • согласованность между конфигурацией ПЛК и данными на устройстве.

Правильное описание фреймов критически важно для стабильной и надежной работы системы автоматизации.