Описание файла модели ПЛК
- Описание файла модели ПЛК
- 3.4.2 Описание модели ПЛК в системе AutomiqAutomation
- 3.3.2.6 Листы, используемые при разработке проектов АСПСиПТ
- 3.3.2.6.1 Листы
LPSM.
— состав шлейфов датчиков, подключенных к МУПС-3 и МОПС-3 - 3.3.2.6.2 Листы
LPSK.
— состав шлейфов датчиков, подключенных к КАУ-2 - 3.3.2.6.3 Листы
CE.
— описание логики причинно-следственных связей - 3.3.2.6.4 Роль листов
LPSM.
,LPSK.
иCE.
в процессе генерации - 3.3.2.6.5 Вывод
- 3.3.2.7 Связь с другими моделями
- 3.3.2.6.1 Листы
- 3.3.2.8 Вывод
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 формирует:
Исходные данные для формирования запросов Modbus:
- Определяется количество и структура фреймов опроса.
- Формируются адреса регистров для каждого датчика.
- Генерируются ST код для привязки модбас переменных к фходам функциональных блоков Unimod 2.
Создание переменных массивов:
- Формируются глобальные массивы для хранения состояний датчиков.
- Создаются переменные для буферизации данных с шлейфов.
Создание диагностических структур:
- Генерируются переменные для диагностики качества связи (
Invalid
,Fault
). - Создаются структуры для отслеживания состояния шлюзов и каналов.
- Генерируются переменные для диагностики качества связи (
Формирование программ ST для привязки:
- Генерируются файлы ST-кода:
*_inST
— привязка регистров на чтение к входам функциональных блоков.*_outST
— привязка регистров на запись.*_statusST
— диагностика состояния фреймов.*_actWriteST
,*_resetWriteST
— активация и сброс команд.
- Программы ST обеспечивают корректную передачу данных между Modbus-устройствами и функциональными блоками в проекте Unimod 2.
- Генерируются файлы ST-кода:
Генерация логики причинно-следственных связей:
- На основе
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.*
.
Правильное оформление модели ПЛК критично для успешной и стабильной генерации проекта.