Table of Contents

Описание файла модели ПЛК

3.4.2 Описание модели ПЛК в системе AutomiqAutomation

3.4.2.1 Общее назначение модели ПЛК

Модель ПЛК — это центральный конфигурационный файл в формате Excel, используемый системой AutomiqAutomation для автоматизированной генерации:

  • глобальный словарь для импорта в проект Unimod 2,
  • программных секций FBD в проект Unimod 2 с вызовом и обвязкой в соответствии с шаблонам в проекте библиотечном проекте,
  • программных секций ST в проект Unimod 2 привязкой входов\выходов, логикой ПСД итд,
  • программных секций ST в проект Unimod 2 привязкой переменных массивов Modbus к фходам функциональных блоков,
  • объектов в alpha.DevStudio (уровень PLC),
  • мнемосхем HMI и панелей Weintek,
  • документации,
  • итд.

Модель ПЛК находится в папке:
JSC\USR\PRJ\Conf\Models\PLC\Logic\{Имя_ПЛК}.xlsx

Она описывает:

  • общие настройки ПЛК,
  • модули В\В ПЛК,
  • экземпляры технических объектов (через листы OBJ.*),
  • данные специфические для направлений проекта АСУ (РСУ, ПАЗ, АСПСиПТ, АСУЭ).

3.4.2.2 Структура папки JSC и место модели ПЛК

📁 JSC
└── 📁 USR
   └── 📁 PRJ
      └── 📁 Conf
         └── 📁 Models
            └── 📁 PLC
               └── 🧠 Logic   — логические модели ПЛК

🔗 Модель ПЛК — файл на локальном уровне, определяющий конфигурацию конкретного контроллера.


3.4.2.3 Лист PlcOptions — общие настройки ПЛК

Это основной лист модели ПЛК. В примере M0-85-050-JF01-CA1001.xlsx он называется без префикса, но содержит конфигурационные параметры.

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

Столбец Описание
# Признак объявления переменных
VQ Признак переменной конфигурации (Variable Qualifier)
VD Признак переменной данных (Variable Data)
@ Строки с @ — комментарии, игнорируются системой

Ключевые параметры (из M0-85-050-JF01-CA1001.xlsx):

Параметр Значение в примере Назначение
Префикс имени ПЛК M0-85-050-JF01-CA1001-1A1 Базовое имя ПЛК, используется в путях и тегах
Начальный индекс глобального словаPя 100 Начальный индекс для глобальных переменных в Unimod
Версия Unimod 2x Указывает на версию среды Unimod (2x)
Добавление конф-ции modbus в проект Unimod2 x Флаг: добавлять ли конфигурацию Modbus в проект Unimod
Создавать переменные для словаPя x Создавать ли глобальные переменные
Создавать привязку ST x Генерировать ли ST-код для привязки
Создавать секции FBD (Unimod2) x Генерировать ли FBD-секции
Генерировать данные для мапинга Modbus x Генерировать ли данные для привязки регистров
Создавать объекты DevStudio x Создавать ли объекты в alpha.DevStudio
Создавать мнемосхемы с привязками x Генерировать ли HMI-символы
Генерировать данные для Wientek - Генерировать ли данные для панелей Weintek
Имя листа с типовыми в файле WientekTypes.xls Afa Имя листа с типами для Weintek
Discrete input start address 200 Начальный адрес DI
COIL start address 200 Начальный адрес COIL
Input Registers start address 200 Начальный адрес IR
Holding Registers start address 200 Начальный адрес HR
Регулярное выражение для разбиения тэга на части _+ Регулярное выражение для парсинга тега (например, TIC_101["TIC", "101"])
Регулярное выражение для склеивания частей вместе - Регулярное выражение для формирования тега обратно
Имя файла для генерации PSaLA_MST Имя выходного файла (например, для FBD)

Глобальные параметры (начинаются с $):

$|VQ|UnimodFolder|Аппаратная №2 МОТ/M0_85_050_JF01_CA_1001
$|VQ|Description|Аппаратная №2 МОТ
  • UnimodFolder — путь к папке проекта Unimod.
  • Description — описание ПЛК.

3.4.2.4 Листы MB.* — настройки Modbus-устройств

Описывают устройства, которые опрашиваются ПЛК по Modbus (например, датчики, КАУ, панели).

Ключевые столбцы:

Поле Описание
modbus.gate Имя шлюза Modbus (в Unimod). Формируется как PIxxx_yyy (номер преобразователя + порт).
modbus.name Имя устройства в Unimod (например, KAU2_9030, MUPS3).
TAG Тег устройства. Должен совпадать с тегом на листах OBJ.* и LPSM..
modbus.ipAddress IP-адрес устройства
port Порт (обычно 502)
ING Путь к файлу с описанием фреймов (например, JSC\Conf\Models\System\Modbus\Devices\KAU2_9030_PLC.xls)
IGM Путь к файлу с картой регистров (например, JSC\USR\PRJ\Conf\Models\PlcModbusDevices\KAU2_9030.xls)
Maps Имя листа с картой регистров
prefix, postfix Префиксы/постфиксы для тегов

Пример (гипотетический):

#|modbus.name|TAG|modbus.ipAddress|port|ING|IGM|Maps|prefix|postfix
d|KAU2_9030|M0_85_050_JF01_CA_1001_KAU2_9030|192.168.1.10|502|[ING.Path]\KAU2_9030_PLC.xls|[IGM.Path]\KAU2_9030.xls|KAU2_9030_Map|||

?? Важно: Тег TAG в MB.* должен точно совпадать с тегом на листах OBJ.*, LPSM. и LPSK..


3.3.2.5 Листы OBJ.* — описание экземпляров объектов

Эти листы содержат экземпляры технических объектов, созданных на основе моделей OBJTYPE.

Основные параметры на листах OBJ.:

Столбец Описание
TAG Тег экземпляра (например, TIC101)
OBJTYPENAME Имя модели OBJTYPE (например, AiProc3, CE_A)
Template Шаблон из OBJTYPE (например, 4_20mA_R3)
HmiTag Имя кадра для HMI (автоматическая генерация всех символов для выбранного OBJTYPE)
PathDevStudio Путь к объекту в DevStudio (уровень PLC)
parentDescr Наименование оборудования
EqtDescr Описание оборудования
SystemPosition Расположение оборудования
localObject Локальный или глобальный объект (x — локальный)
isMapped Выдача данных наверх (x — да)
DeadbandDS Зона нечувствительности по значению
HistoryPeriodDS Период архивации (мс)
DataCategory Категория данных
Type Тип датчика (для HMI)
AlarmLevel Уровень аварии (см. AplhaAlarms.xls) На уровне ПЛК используется для листов объявления DI, DO итд (объекты имеющие атрибуты для конфигурирования аварии на уровне объекта DevStudio)

💡 Перечень параметров может быть отличаться и зависит от типа объектов, которые объявляются на конкретном листе. В таблице выше перечислены основные параметры, актуальные для любого листв OBJ/

Пример (из M0-85-050-JF01-CA1001.xlsx):

# VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ VQ
H PathDevStudio HmiTag TAG parentDescr EqtDescr SystemPosition OBJTYPENAME Template InstallPlace Type localObject isMapped DeadbandDS HistoryPeriodDS DataCategory
@ Pасположение тега в devStudio ЭкPан для генеPации ТЕГ Наименование Описание обоPудования Pасположение обоPудования Тип объекта Шаблон Место установки Тип Pасположение (локальное/глобальное) Выдача данных навеPх Зона нечувствительности по значению Зона нечувствительности по вPемени КатегоPия данных
d root.M0_85_050.JF_CA_1001.Diagnostic M0_85_050_JF_CA_1001 M0_85_050_JF01_CA_1001_MUPS1 МУПС 3 МУПС_3 Mups3_PLC main x 1 5000

?? При обработке:

  • Система находит модель Mups3_PLC.xls,
  • Загружает шаблон main,
  • Подставляет [TAG] = M0_85_050_JF01_CA_1001_MUPS1,
  • Генерирует FB, DevStudio-объект, привязку по Modbus.

3.3.2.6 Листы, используемые при разработке проектов АСПСиПТ

В рамках разработки проектов АСПСиПТ (Автоматизированная система пожарной сигнализации и оповещения) используются специализированные листы в модели ПЛК, предназначенные для описания состава адресных шлейфов датчиков и логики причинно-следственных связей. Эти листы служат основой для генерации конфигурации связи по протоколу Modbus, создания переменных в ПЛК и формирования программной привязки.

3.3.2.6.1 Листы LPSM. — состав шлейфов датчиков, подключенных к МУПС-3 и МОПС-3

Назначение: Лист LPSM. описывает состав адресных шлейфов датчиков, подключенных к контроллерам МУПС-3 и МОПС-3 производства НПП «Рубеж». На этом листе задается логическая структура шлейфов, привязка датчиков к каналам контроллера и формируются теги для последующей генерации.

Ключевые столбцы (на основе анализа файла M0-85-050-JF01-CA1001.xlsx):

Столбец Описание
TAG Уникальный тег датчика или контроллера (например, M0_85_050_JF01_CA_1001_MUPS1, M0_93MA3001FA)
DEVICE_TAGNAME Полное имя устройства (например, M0_93MA3001FA)
modbus.name Имя шлюза Modbus (например, KAU5) — соответствует имени устройства на листе MB.*
devNumber Номер канала в шлюзе (например, 1, 2, 3)

⚠️ Обязательные требования:

  • На листе OBJ.* должны быть объявлены экземпляры с OBJTYPENAME = Mups3_PLC и OBJTYPENAME = Mops3_PLC.
  • Тег TAG должен совпадать с тегом на листе MB.*.

3.3.2.6.2 Листы LPSK. — состав шлейфов датчиков, подключенных к КАУ-2

Назначение: Лист LPSK. описывает состав адресных шлейфов датчиков, подключенных к контроллеру КАУ-2 производства НПП «Рубеж». На этом листе задается распределение датчиков по линиям (шлейфам), их адресация и типы, что является основой для формирования Modbus-опроса.

Ключевые столбцы (на основе изображения):

Столбец Описание
TAG Уникальный тег датчика (например, M0_85_050_FA_BTH_038)
tagGroup Группа тегов (например, M0_85_050_FA_BTH_038)
modbus.name Имя шлюза Modbus (например, KAU4, KAU5) — должно совпадать с modbus.name на листе MB.*
line Номер линии (шлейфа) в КАУ-2 (например, 2, 1)
devNumber Номер канала в шлюзе (например, 28, 1)
EqtDescr Описание оборудования (например, ИП 212_164 Извещатель дымовой, Изолятор ИЗ 1)
typeId Идентификатор типа оборудования (например, 143, 106)

Пример:

# VAR @ modbus.name line devNumber EqtDescr typeId tmpl
d M0_85_050_FA_BTH_038 KAU4 2 28 ИП 212_164 Извещатель дымовой 143
d M0_85_050_JF01_CA_1001_KAU5 KAU5 КАУ_2 9030 61

⚠️ Обязательные требования:

  • Тег TAG должен совпадать с тегом на листе MB.*.
  • modbus.name должен соответствовать имени устройства на листе MB.*.
  • typeId должен соответствовать коду из таблицы типов оборудования.

3.3.2.6.3 Листы CE. — описание логики причинно-следственных связей

Назначение: Листы с префиксом CE. используются для описания причинно-следственных связей (Cause-Effect) на основе матрицы причин и следствий (документ LN 7510.001). На их основе формируется логика реакции системы на пожар и генерируются тексты программ ST, реализующих эту логику.

Столбец Описание
causeEffectTag Имя зоны контроля пожарной сигнализации (ЗКПС), объявленной на листе OBJ.CauseEffects
conditionTag Теги датчиков, участвующих в формировании причины (например, TIC101, SD102)
condFire Сигнал активации пожара (например, AFA_Output.DeviceTriggered)
condFault Сигнал неисправности (например, AFA_Output.Fault)
condInvalid Сигнал недостоверности (например, AFA_Output.Invalid)
condCommFailure Сигнал обрыв связи (например, AFA_Output.CommFailure)
destination Результат выплнения условий ПСД (например, AutoOnCmd)

Пример (из M0-85-050-JF01-CA1001.xlsx): | # | VQ | VQ | VQ | VQ | VQ | VQ | VQ | |-----|------|------|------|------|------|------|------| | H | causeEffectTag | causeEffectFb | conditionTag | condFire | condFault | conInvalid | condCommFailure | | @ | Марка тех.объекта CauseEffect | Марка тех.объекта CauseEffect | Тег переменной | | | | | | d | M0_85_050_ZKPS1 | M0_85_050_FA_BTH_001 | AFA_Output.DeviceTriggered | AFA_Output.Fault | AFA_Output.Invalid | AFA_Output.CommFailure | |

Формат имени листа:

  • CE.CauseEffects_ZKPS — для зон контроля пожарной сигнализации.
  • CE.CauseEffects_UPI — для логики управления панелью оповещения (УПИ).
  • CE.CauseEffects_<Имя> — для других типов связей.

💡 Процесс генерации: На основе данных листов CE.* генерируются ST-программы для реализации логики: CauseEffects_Conditions CauseEffects_Destinations

ДОПИСАТЬ ВЗАИМОСВЯЗИ JSC


3.3.2.6.4 Роль листов LPSM., LPSK. и CE. в процессе генерации

На основании данных, описанных на листах LPSM., LPSK. и CE., система AutomiqAutomation формирует:

  1. Исходные данные для формирования запросов Modbus:

    • Определяется количество и структура фреймов опроса.
    • Формируются адреса регистров для каждого датчика.
    • Генерируются ST код для привязки модбас переменных к фходам функциональных блоков Unimod 2.
  2. Создание переменных массивов:

    • Формируются глобальные массивы для хранения состояний датчиков.
    • Создаются переменные для буферизации данных с шлейфов.
  3. Создание диагностических структур:

    • Генерируются переменные для диагностики качества связи (Invalid, Fault).
    • Создаются структуры для отслеживания состояния шлюзов и каналов.
  4. Формирование программ ST для привязки:

    • Генерируются файлы ST-кода:
      • *_inST — привязка регистров на чтение к входам функциональных блоков.
      • *_outST — привязка регистров на запись.
      • *_statusST — диагностика состояния фреймов.
      • *_actWriteST, *_resetWriteST — активация и сброс команд.
    • Программы ST обеспечивают корректную передачу данных между Modbus-устройствами и функциональными блоками в проекте Unimod 2.
  5. Генерация логики причинно-следственных связей:

    • На основе CE.* генерируются FBD-диаграммы и ST-программы, реализующие реакцию на пожар.
    • Формируются легенды с указанием источника (P&ID, страница).

3.3.2.6.5 Вывод

Листы LPSM., LPSK. и CE. являются ключевыми для проектов АСПСиПТ, так как:

  • Описывают физическое подключение адресных датчиков к контроллерам МУПС-3, МОПС-3 и КАУ-2.
  • Определяют логику реакции системы на срабатывание датчиков.
  • Обеспечивают однозначную привязку тегов, адресов и типов оборудования.
  • Служат исходными данными для автоматической генерации:
    • конфигурации Modbus,
    • переменных в ПЛК,
    • диагностических структур,
    • программ ST,
    • FBD-логики причинно-следственных связей.

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


3.3.2.7 Связь с другими моделями

Модель Назначение Путь
OBJTYPE Описание типовых объектов JSC\Conf\Models\ObjTypes\
Modbus Devices Описание фреймов и карт регистров JSC\Conf\Models\System\Modbus\Devices\
PlcModbusDevices Карты регистров для ПЛК JSC\USR\PRJ\Conf\Models\PlcModbusDevices\
AplhaAlarms.xls Настройки сигнализации JSC\Conf\Models\System\Events\Alpha\AplhaAlarms.xls
ModbusDeviceList.xlsx Список устройств для DevStudio JSC\USR\PRJ\Conf\DevStudioDevs\Modbus\ModbusDeviceList.xlsx
NetSwitches.xls Сетевые коммутаторы JSC\USR\PRJ\Conf\NetSwitches\NetSwitches.xls

3.3.2.8 Вывод

Модель ПЛК в AutomiqAutomation — это централизованный Excel-файл, который:

  • определяет структуру и настройки контроллера,
  • служит входными данными для генераторов,
  • обеспечивает связь между OBJTYPE, DevStudio, Unimod и HMI.

Особое внимание уделяется:

  • корректному заполнению LPSM. и LPSK. для шлейфов МУПС/МОПС и КАУ-2,
  • обязательному объявлению Mups3_PLC и Mops3_PLC на OBJ.*,
  • точному совпадению TAG на листах OBJ.*, LPSM. и MB.*.

Правильное оформление модели ПЛК критично для успешной и стабильной генерации проекта.