Skip to content

HMI-Генератор мнемосхем

Данный материал описывает функционал внешнего модуля HMI-Генератор мнемосхем.

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

Внешний модуль системы Uniplant Atomix, предназначенный для автоматизированной генерации мнемосхем в проекте Alpha.HMI на основе данных модели ПЛК и связанных моделей OBJTYPE. Создаёт структурированные мнемосхемы с привязанными символами, отражающими состояние оборудования.

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

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

Внешний вид модуля HMI:Генератор мнемосхем в Uniplant Atomix

Карточка внешнего модуля «HMI:Генератор мнемосхем» в Uniplant Atomix

  • Автоматическое создание мнемосхем с именем {HmiTag}_tags для каждого уникального значения HmiTag, указанного в модели ПЛК.
  • Генерация всех возможных символов (иконок) из листов HMI.* соответствующих моделей OBJTYPE.
  • Присвоение параметров инициализации каждому символу на основе данных из модели ПЛК и шаблонов OBJTYPE.
  • Поддержка работы без предварительного создания IOS-представлений — символы создаются, но без привязки; привязка выполняется позже через HMI Менеджер.

Дополнительные возможности:

  • Работает с любыми типами объектов, у которых есть листы HMI.* в OBJTYPE.
  • Поддерживает многократный запуск — при повторном запуске перезаписывает существующие мнемосхемы, если это требуется.
  • Интегрируется с HMI Менеджером для ручной или автоматической привязки символов к тегам DevStudio.
  • Модель ПЛК (JSC\Usr\Prj\Conf\Models\PLC\Logic\{Имя_ПЛК}.xlsx), содержащая:
    • Листы OBJ.* с указанием TAG, OBJTYPENAME, Template, HmiTag.
  • Модели OBJTYPE (JSC\Conf\Models\ObjTypes\{Имя_Типа}.xls), содержащие:
    • Листы HMI.*, описывающие доступные символы и их параметры инициализации.
  • Настройки проекта HMI, заданные в SettingManager (выбор целевого проекта HMI).
  • Должны быть сформированы объекты в alpha.DevStudio (включая представления на уровне IOS — рекомендуется, но не обязательно).
  • Запуск возможен как из внешнего модуля, так и через опцию «Генерация мнемосхем HMI» в интерфейсе конфигуратора ПЛК.

Модуль интегрирован в интерфейс конфигуратора Uniplant Atomix и доступен после выбора конкретного ПЛК. Визуально представлен иконкой с надписью «HMI: Генератор мнемосхем» и кнопками запуска/останова.

Интерфейс модуля HMI: Генератор мнемосхем

Рисунок 1 - “Интерфейс модуля HMI: Генератор мнемосхем”

Пример выбора опции ПЛК: Генератор мнемосхем HMI в интерфейсе конфигуратора Uniplant Atomix

Section titled “Пример выбора опции ПЛК: Генератор мнемосхем HMI в интерфейсе конфигуратора Uniplant Atomix”

Опция ПЛК: Генератор мнемосхем HMI

Рисунок 2 - “Опция ПЛК: Генератор мнемосхем HMI”

  1. Анализирует модель ПЛК и извлекает все строки с OBJ.*, содержащие HmiTag.
  2. Для каждого OBJTYPENAME загружает соответствующую модель OBJTYPE.
  3. Считывает все листы HMI.* из модели OBJTYPE — они содержат описание доступных символов и их параметров инициализации.
  4. Формирует список уникальных значений HmiTag.
  5. Для каждого HmiTag создаёт мнемосхему с именем {HmiTag}_tags.
  6. Размещает на мнемосхеме все символы, соответствующие типу объекта, с подстановкой значений из модели ПЛК (например, TAG, parentDescr, EqtDescr).
  7. Сохраняет результат в проект HMI, указанный в настройках Uniplant Atomix.

Детализация режима HmiTagsCreator (HMI/TagScreensCreator)

Section titled “Детализация режима HmiTagsCreator (HMI/TagScreensCreator)”

HMI: Генератор мнемосхем выполняется классом HmiTagsCreator и формирует/обновляет мнемосхемы *_tags по данным HmiData выбранных техобъектов.

Что попадает в обработку

Section titled “Что попадает в обработку”

1. Перед запуском должна быть включена хотя бы одна настройка:

  • Создавать мнемосхемы Diagnostic;
  • Создавать мнемосхемы DevStMbDevice;
  • Создавать мнемосхемы ПЛК.

Если все три настройки выключены, модуль завершается с ошибкой: «Не выбрано ни одного элемента для обработки».

2. По включённым настройкам загружаются наборы инстансов:

  • DiagnosticLoadAndGetUpdatedNetSwitches;
  • DevStMbDeviceLoadAndGetUpdatedDsModbusDevices;
  • ПЛКLoadOnlyPlc.

3. Если не загружен ни один объект, модуль завершается с ошибкой: «Не удалось загрузить указанные в настройках объекты».

1. Открывается проект DevStudio (Solution/Project) выбранного техобъекта, создаются AxmlHlp и Api.

2. По пути HMI из конфигурации (Parser.Config.HmiDirectory) и имени ПЛК открывается HmiProject.

3. Проверяется/находится список файлов Object Type (CheckOrFindObjectTypeFiles).

Как обрабатывается один инстанс

Section titled “Как обрабатывается один инстанс”

1. Если у инстанса нет HmiData, в лог пишется info-сообщение, и инстанс пропускается.

2. Для каждой записи HmiData:

  • если отсутствует MnemoName, запись пропускается с ошибкой в логе;
  • в значениях HmiData резолвятся подстановки переменных по AdditionData инстанса;
  • в HmiProject ищется или создаётся мнемосхема с именем MnemoName;
  • в мнемосхеме ищется или создаётся текстовый контейнер с именем, равным InstanceName;
  • в свойство Text контейнера записывается InstanceName;
  • внутри контейнера создаётся вложенный объект:
    • имя: <InstanceName>_<ViewName>;
    • тип: из HmiData;
    • Description: ViewName;
    • DisplayName: <InstanceName>_<ViewName>;
    • применяются параметры из HmiData (ApplyHmiOptions).

3. Для каждой обработанной мнемосхемы в лог пишется сообщение: «Мнемосхема ’…’ обновлена или создана».

При завершении без исключений:

  • вложенные объекты раскладываются по позициям (PlaceAllMnemosInnerObjects);
  • мнемосхемы сохраняются на диск (SaveAllMnemos);
  • созданные/обновлённые мнемосхемы добавляются в проект HMI;
  • эти же мнемосхемы помечаются как скрытые (AddMnemosToHidden).

При исключении в лог пишется сообщение: «Проект HMI не был сохранен так как возникла ошибка во время работы модуля», и сохранение не выполняется.

  • Создавать мнемосхемы Diagnostic — генерация по объектам диагностики (по умолчанию выключено).
  • Создавать мнемосхемы DevStMbDevice — генерация по Modbus-устройствам DevStudio (по умолчанию выключено).
  • Создавать мнемосхемы ПЛК — генерация по объектам ПЛК (по умолчанию выключено).

Ссылка на расположение проекта HMI

Рисунок 4 - “Ссылка на расположение проекта HMI”

Пример сгенерированных мнемосхем в Alpha.HMI

Section titled “Пример сгенерированных мнемосхем в Alpha.HMI”

На рисунке ниже показан проект Alpha.HMI, открытый в дизайнере. Проект содержит множество мнемосхем, сгенерированных внешним модулем HMI: Генератор мнемосхем. Каждая мнемосхема имеет имя формата {HmiTag}_tags и содержит набор графических элементов, соответствующих экземплярам объектов из модели ПЛК.

Пример сгенерированных мнемосхем в Alpha.HMI

Рисунок 5 - “Пример сгенерированных мнемосхем в Alpha.HMI”

  • HMI Менеджер — проверка, фильтрация и донастройка/перепривязка элементов на мнемосхемах после генерации.