17. MetaView — подготовьте данные для HMI-панели и SCADA
В предыдущих главах мы проверяли программу и визуализацию в MetaPlatform Runtime: подавали тестовые сигналы, смотрели результаты и управляли компонентом с экрана. Конечная цель — перенести проект на целевые платформы: программу в ПЛК, а визуализацию — на панель оператора или в SCADA. Загрузку кода в Siemens и CODESYS мы уже рассмотрели. Теперь подготовим данные для сторонней визуализации.
MetaPlatform создаёт таблицы тегов, тревог и трендов для Weintek и WinCC. Данные берутся из того же проекта, из которого получена программа ПЛК. MetaGen рассчитывает адреса там, где это возможно, а для символьных и OPC UA-подключений используются адреса из соответствующего экспорта. MetaView собирает результат в формат, подходящий выбранному редактору.
| Для какой визуализации | Что получаем из MetaPlatform |
|---|---|
| Weintek | Таблицы тегов, тревог и трендов для импорта в EasyBuilder Pro |
| WinCC | Таблицы тегов, тревог и трендов для импорта в WinCC, файл настройки трендов |
| MetaView в Runtime | Экраны из наших шаблонов и их привязки к данным ПЛК по OPC UA |
На схеме показано, какие платформы можно соединить и каким способом. Сверху — подготовка файлов в MetaPlatform. Ниже — обмен данными после загрузки программы и настройки визуализации: ПЛК обменивается данными напрямую с HMI-панелью или программой визуализации.
Нажмите на схему, чтобы открыть её крупнее. Двунаправленные стрелки показывают чтение значений и передачу команд; подписи — протокол или драйвер и используемую адресацию.
Например, один проект Siemens можно подготовить для Weintek по абсолютным адресам, Weintek по OPC UA или WinCC с PLC-тегами в TIA Portal. Для CODESYS 3.5 доступны символьные адреса Weintek, а для CODESYS 2.3 и 3.5 — Modbus для Weintek и WinCC. Выбираем нужное подключение и получаем соответствующие файлы; перечень этих файлов приведён в пункте 6.
Подключение MetaView Runtime к целевому ПЛК уже подготовлено в главе 16. В этой части работаем со сторонней визуализацией: выбираем профиль HMI, получаем таблицы и переносим их в EasyBuilder Pro или WinCC. Панель Weintek при необходимости можно сначала проверить с программой в MetaCore.
1. Проверьте HMI-панель с MetaCore
Теперь обратная задача: проект HMI-панели уже разрабатывается, а целевого ПЛК под рукой нет. Запустите программу в MetaCore и подключите к нему панель Weintek по OPC UA. Так можно проверить показания, ввод уставок, команды и реакцию экранов на изменение состояний до подключения к рабочему контроллеру.
Программа выполняется в нашем софт-ПЛК, а оператор работает с тем интерфейсом, который вы создаёте для объекта. Например, меняет поправку из Weintek, а результат рассчитывает MetaCore. Для подачи изменяющегося измерения можно использовать уже подготовленный сценарий MetaLab.
Для Weintek выберите в проекте платформу MetaCore, а в MetaView — профиль Weintek OPC UA. Адреса OPC UA создаются автоматически при генерации. Полученные файлы тегов, тревог и трендов предназначены для EasyBuilder Pro; в подключении панели укажите endpoint работающего MetaCore.
Если редактор внешней визуализации принимает описание тегов в XML, для MetaCore можно получить OPC UA NodeSet2. Экспорт этого файла рассмотрим в конце главы.
2. Выберите, какие файлы должен подготовить MetaView
Платформу ПЛК мы уже выбирали в меню Проект. Теперь укажем, для какой визуализации нужны файлы.
Откройте MetaView → Действия — кнопку с тремя точками рядом с разделом MetaView. Отметьте нужный профиль. Можно включить несколько вариантов, например подготовить и панель Weintek, и WinCC для одного проекта Siemens.

На снимке выбраны MetaView OPC UA и Weintek OPC UA: получим и экран для Runtime, и таблицы для панели. Для другой платформы состав меню изменится.
| Платформа проекта | Доступные профили MetaView |
|---|---|
| MetaCore | MetaView OPC UA; Weintek OPC UA |
| TIA Portal | MetaView OPC UA; Weintek OPC UA; Weintek Siemens Absolute; WinCC Internal |
| CoDeSys 3.5 | MetaView OPC UA; Weintek CoDeSys V3; Weintek Modbus; WinCC Modbus |
| CoDeSys 2.3 | Weintek Modbus; WinCC Modbus |
Каждая галочка отвечает за одноимённую папку в архиве. Для экранов Runtime включите MetaView OPC UA — это правило действует и для MetaCore, и для Siemens, и для CODESYS 3.5. Если профиль выключен, его папка не создаётся. Если снять все галочки, MetaViewArtifact.zip не будет в результате генерации.
Сохраните выбор в проекте. Дальше для каждого подключения разберём, откуда берутся адреса и какие файлы получит редактор визуализации.
3. Подготовьте подключение для рабочей визуализации
После проверки алгоритма переходим к той связке, которая будет работать на объекте: программа в выбранном ПЛК, визуализация — на HMI-панели или в SCADA. Здесь MetaView готовит адреса и таблицы для конкретного способа связи.
Siemens и Weintek: абсолютные адреса
Для платформы TIA Portal MetaGen при генерации автоматически рассчитывает абсолютные адреса опубликованных данных Conf и View. Они появляются в Теги HMI с типом Siemens Absolute.
Вот несколько адресов из нашего примера:
| Данные программы | Адрес | Что находится по этому адресу |
|---|---|---|
Conf.Offset_1 |
DB1.DBD0 |
Поправка первого канала, REAL |
Conf.Offset_2 |
DB1.DBD4 |
Поправка второго канала, REAL |
View.Signals_fRaw1 |
DB2.DBD0 |
Копия исходного измерения, REAL |
View.Correction_Inst_inout_bManual_1 |
DB2.DBX8.0 |
Флаг ручного режима, BOOL |
В записи DB1.DBD0 указаны блок DB1 и начальный байт 0 для 32-битного значения. В DB2.DBX8.0 — блок DB2, байт 8 и бит 0. Номера смещений генератор рассчитывает по составу данных.
Поставьте галочку Weintek Siemens Absolute. MetaView подготовит Conf.db, View.db и таблицы HMI в формате EasyBuilder Pro. Например, адрес DB1.DBD0 представляется в полях импорта Weintek как тип DBDn и адрес 10000, а DB2.DBX8.0 — как DBnBit и 200080. Это преобразование уже выполняет генератор.
Так панель Weintek можно подключить к аппаратному Siemens, а для предварительной проверки — к PLCSIM Advanced с настроенной связью Ethernet. В EasyBuilder Pro используется драйвер Siemens S7-1200/S7-1500 (Absolute Addressing) (Ethernet). Для этого варианта OPC UA XML не требуется.
В проекте TIA должны совпадать принятые генератором номера: Conf — DB1, View — DB2, оба блока со стандартным, неоптимизированным доступом. Если изменить номера DB или расположение полей, прежние абсолютные адреса перестанут соответствовать программе.
Siemens и WinCC: PLC-теги в общем проекте TIA Portal
Если программа Siemens и визуализация WinCC находятся в одном проекте TIA Portal, удобно связать HMI-теги с символами программы. При генерации MetaGen подготавливает адреса типа PLC Tag: например, Conf.Offset_1 и View.Signals_fRaw1.
Поставьте галочку WinCC Internal. В результате получите таблицы тегов, тревог и трендов для WinCC. Например, строка тега Conf_Offset_1 будет ссылаться на PLC-тег Conf.Offset_1. В TIA этот тег относится к настроенной связи с вашим Siemens PLC.
Это уже рабочая визуализация объекта: оператор меняет настройку на экране WinCC, программа читает её из Conf, а результат возвращается на экран через View. Для подготовки этих символьных связей экспорт OPC UA не нужен.
Siemens и Weintek: OPC UA
Если для панели выбрана связь по OPC UA, используйте сервер Siemens. Программа может выполняться в аппаратном ПЛК или в PLCSIM Advanced.
Поставьте галочку Weintek OPC UA и импортируйте XML из TIA Portal в Теги HMI, как показано ниже. MetaView сопоставит имена с NodeId сервера и подготовит файлы для OPC UA-подключения Weintek.
Настройки, команды и значения остаются теми же. Меняется способ обращения к ним: например, к поправке обращаемся по ns=3;s="Conf"."Offset_1" из нашего XML. Панели затем задаётся endpoint выбранного Siemens PLC.
CODESYS 3.5 и Weintek: символьные адреса
Для этой связки поставьте галочку Weintek CoDeSys V3. Импортируйте XML символьной конфигурации, полученный рядом с проектом CODESYS после генерации кода. В таблице появятся адреса вида Application.MetaGen.Conf.Offset_1 и Application.MetaGen.View.fRaw1.
В EasyBuilder Pro выберите драйвер CoDeSys V3 Ethernet. Он использует символьную адресацию CODESYS. Так можно подготовить панель для своего CODESYS-контроллера и проверить её с софт-ПЛК перед подключением к оборудованию.
Тот же XML символьной конфигурации мы использовали при подготовке MetaLab. Файл описывает данные программы, а выбранный профиль определяет формат их адресов для визуализации. Отдельный профиль Weintek OPC UA для CODESYS 3.5 не поддерживается.
CODESYS 2.3 и 3.5: Weintek или WinCC по Modbus
Для обеих платформ CODESYS MetaGen автоматически рассчитывает карту регистров Modbus для опубликованных данных Conf и View. Она появляется в Теги HMI с типом адреса Modbus — подобно тому, как для Siemens создаются абсолютные адреса DB.
В нашем примере CODESYS 3.5 получаются такие адреса:
| Данные программы | Адрес в таблице MetaView | Назначение |
|---|---|---|
Conf.Offset_1 |
%MW0 |
Поправка первого канала |
Conf.Offset_2 |
%MW2 |
Поправка второго канала |
View.fRaw1 |
%MW4 |
Копия исходного измерения |
View.Correction_Inst_inout_bManual_1 |
%MW8.0 |
Бит ручного режима |
REAL занимает два 16-битных регистра, поэтому следующая поправка начинается с %MW2. Адрес %MW8.0 обозначает бит 0 соответствующего слова. Это формат карты MetaPlatform; представление адреса в драйвере HMI зависит от выбранного профиля.
Для панели Weintek поставьте галочку Weintek Modbus, для WinCC — WinCC Modbus. Можно выбрать оба профиля. Генератор подготовит таблицы для нужных редакторов; XML OPC UA для этого не требуется.
Так к WinCC или панели Weintek можно подключить ПЛК на CODESYS 2.3 или CODESYS 3.5. На стороне контроллера нужно настроить сервер Modbus и связать его регистры с Conf и View по рассчитанной карте. Генерация карты сама по себе сервер связи в ПЛК не запускает.
4. Подготовьте адреса своего профиля
Для Siemens Absolute, WinCC Internal, Modbus и MetaCore OPC UA адреса создаются генератором. Для Siemens по OPC UA и CODESYS 3.5 по символьным адресам нужен XML своего ПЛК.
Если вы уже выполнили импорт в MetaView → Теги HMI по главе 16, повторять его не требуется: эти же адреса используются соответствующим профилем Weintek.
| Подключение | Команда в MetaView → Теги HMI → Действия | Файл |
|---|---|---|
| Siemens OPC UA | Импорт адресов OPC UA | XML из TIA Portal |
| CODESYS 3.5 | Импорт адресов CoDeSys V3 | XML символьной конфигурации рядом с проектом CODESYS |
Пошаговый импорт со скриншотами приведён в главе 16. Импорт XML только в MetaLab → OPC UA Tags не заполняет таблицу HMI: у модулей отдельные таблицы с разным назначением.
5. Посмотрите, что будет видеть оператор
Откройте Теги HMI и найдите поправки, измерения и команды нашего компонента. В учебном примере для каждого подготовленного типа адреса получается 13 HMI-тегов. Один тег может повторяться с разными типами адреса: это варианты обращения к одному значению для разных подключений.
Убедитесь, что у нужных строк заполнен Адрес, а Тип адреса соответствует выбранному варианту. Например, для Weintek с CODESYS нужны строки CoDeSys V3, для Siemens по OPC UA — OPC UA. Номер строки после генерации может измениться; ориентируйтесь на имя тега.
Исходный вход и его копия выполняют разные задачи. MetaLab подаёт сигнал в fRaw1, а визуализация показывает View.fRaw1 при пустом Area или View.Signals_fRaw1 при Area = Signals. Настройки оператор меняет через Conf, команды передаёт через соответствующие поля View. Этот путь данных мы разобрали в разделе global.
Если после импорта нужная привязка не появилась, проверьте, что XML относится к текущему проекту и содержит соответствующие поля Conf и View, затем повторите импорт.
6. Получите файлы для выбранной визуализации
Откройте Проект → Действия → Сгенерировать. После завершения выберите в том же меню Скачать.

Распакуйте полученный общий архив и возьмите MetaViewArtifact.zip. Используйте результат генерации, выполненной после импорта адресов и выбора профилей.
Если генерация сообщает, что для выбранного профиля не подготовлены адреса, исправьте указанную причину и повторите генерацию. Вернитесь к подготовке выбранного подключения: проверьте платформу проекта, наличие рассчитанных адресов и, где требуется, импорт XML.
Изменение только импортированных адресов или профилей визуализации не требует повторной загрузки программы в ПЛК. Если менялся состав данных или PLC-код, сначала обновите программу и XML в среде разработки ПЛК.
Откройте MetaViewArtifact.zip. Найдите папку своего профиля: из неё будем брать файлы при импорте в EasyBuilder Pro или WinCC.
| Папка | Что в ней находится | Где используется |
|---|---|---|
MetaView OPC UA |
Экраны, описание сцен и привязки тегов | MetaView в RT; загружается весь MetaViewArtifact.zip |
Weintek OPC UA |
HMI Tags.csv, HMI Alarms.xls, HMI Trends.xls |
EasyBuilder Pro, подключение OPC UA |
Weintek CoDeSys V3 |
HMI Tags.csv, HMI Alarms.xls, HMI Trends.xls |
EasyBuilder Pro, драйвер CoDeSys V3 Ethernet |
Weintek Siemens Absolute |
Conf.db, View.db, таблицы тегов, тревог и трендов |
EasyBuilder Pro, абсолютная адресация Siemens |
Weintek Modbus |
HMI Tags.csv, HMI Alarms.xls, HMI Trends.xls |
EasyBuilder Pro, Modbus |
WinCC Internal или WinCC Modbus |
HMI Tags.csv, HMI Alarms.csv, HMI Trends.csv, TrendView_Loaded_Body.vbs |
WinCC, соответствующий вариант подключения |
Например, для Siemens с отмеченными MetaView OPC UA и Weintek OPC UA в архиве будут только эти две папки. При следующей генерации состав архива снова определяется выбранными галочками. Для CODESYS с профилем Weintek CoDeSys V3 берите файлы из папки Weintek CoDeSys V3. Имена файлов похожи, но адреса и формат подготовлены для соответствующего редактора.
Тревоги и тренды берутся из описания проекта. При добавлении каналов и повторной генерации их таблицы обновляются вместе с тегами. Экраны для Weintek и WinCC вы разрабатываете в этих редакторах; HTML-карточки из MetaView OPC UA используются в MetaView Runtime.
7. Получите XML OPC UA для MetaCore
У MetaCore тоже есть описание опубликованных тегов в XML. Оно нужно, когда внешняя программа умеет импортировать OPC UA NodeSet2: можно передать ей имена, типы и NodeId нашего софт-ПЛК вместо заполнения адресов вручную.
Данные обслуживает MetaCore в Runtime, а файл описания подготавливается в MetaPlatform по сгенерированному проекту:
- Выберите платформу MetaCore и выполните генерацию проекта.
- Откройте MetaView → Теги HMI.
- В меню Действия этой таблицы выберите Экспорт OPC UA NodeSet2.
- Сохраните файл
MetaCore.NodeSet2.xml.

В XML содержатся адреса вида ns=2;s=Conf.Offset_1 и ns=2;s=View.fRaw1. Они соответствуют публикации того проекта, который загружается в MetaCore. Текущие значения и endpoint в этот файл не входят: адрес подключения к работающему MetaCore задайте во внешней программе отдельно.
Для подключения MetaView Runtime к MetaCore отдельный XML не требуется: достаточно выбрать MetaView OPC UA и сгенерировать артефакты. Для профиля Weintek OPC UA также уже подготовлены таблицы CSV/XLS. Экспорт NodeSet2 используйте, когда описание тегов нужно другой программе, принимающей этот формат.
Теперь у нас есть выбор: проверить алгоритм с экраном Runtime, отладить проект HMI-панели с программой в MetaCore или подготовить рабочую связку ПЛК с Weintek либо WinCC. Для выбранного варианта файлы получены. Дальше импортируем их в редактор визуализации: WinCC Professional — глава 18, Weintek и EasyBuilder Pro — глава 19.