Эксплуатационное руководство · 16 глав

От установки до рабочего проекта

Пошаговое руководство: установка, создание проекта, подключение устройств, настройка экранов, запуск и поиск ошибок.

Актуально: 19 августа 2026 Снимки экрана: основные окна Studio Содержание: 16 практических разделов

Быстрый старт · около 20 минут

Сначала запустите готовый проект на Simulator

Установите Studio, скачайте учебные проекты, откройте wave-one/project.xml и нажмите «Локальный предпросмотр». Так вы проверите полный путь без ПЛК, OPC UA-сервера и удалённого хоста.

  1. Распакуйте архив и откройте wave-one/project.xml.
  2. Нажмите «Собрать»; в панели «Проблемы» не должно быть ошибок.
  3. Нажмите «Локальный предпросмотр»; откроется браузерный HMI.
  4. Введите 95 в NumericInput: прогресс и приборы должны перейти в аварийное состояние.

Архив учебных проектов · 8,8 КБ · SHA-256: 16a4d75fba1ba7ef83fdd247ceabdb6cf06016b100be7fbde39f00b708f57556

Инженер данных

Устройства и теги

Главы 03–06: каналы, Modbus TCP, OPC UA, пакетные операции и Excel.

HMI-разработчик

Экран и поведение

Главы 07–12: дизайнер, привязки, события, переменные, библиотеки и приборы.

Интерфейс и запуск

Навигация, запуск и поиск ошибок

Главы 13–16: общий слой, меню, окна, сборка, удалённый запуск и отчёт об ошибке.

01

Установка и первый запуск работает

РезультатMetaSCADA запускается и показывает стартовую страницу.
ПотребуетсяКомпьютер с Windows x64.
Установщик MetaSCADA для Windows Один файл: скачайте, запустите и завершите установку.
Скачать установщик
  1. Скачайте установщик. Если кнопка выше не сработала, скачайте файл по прямой ссылке.
  2. Запустите скачанный файл и следуйте указаниям на экране. После завершения откройте MetaSCADA.
Дополнительная проверка скачанного файла

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

Get-FileHash .\MetaSCADA-Setup-latest.exe -Algorithm SHA256

Windows SmartScreen может показать предупреждение, потому что установщик пока не имеет цифровой подписи. Продолжайте установку только для файла, скачанного с этого сайта.

Кнопки Создать проект и Открыть проект на стартовой странице MetaSCADA Studio
Стартовая страница. После установки доступны создание нового проекта и открытие существующего.
Проверка результатаMetaSCADA открывается без сообщения об ошибке и показывает кнопки создания и открытия проекта.
02

Создание и сохранение проекта работает

РезультатПроект повторно открывается без потери экрана и тегов.
ПотребуетсяПапка, доступная текущему пользователю на запись.
  1. Нажмите «Создать проект», выберите пустую папку и задайте понятное имя, например Ventilation Demo.
  2. Проверьте дерево: системы и подключения, теги, объекты, библиотеки, сборка и развёртывание. В текущей сборке интерфейс дополнительно разделён на общий слой, навигацию, рабочие экраны и всплывающие окна.
  3. Сохраните проект сочетанием Ctrl+S, закройте его и откройте файл project.xml повторно.
  4. Убедитесь, что проект появился в недавних. Булавка закрепляет запись, крестик удаляет её только из списка и не удаляет файлы.
  5. После неожиданного завершения сначала рассмотрите предложение восстановления автосохранения, затем сохраните восстановленную копию под новым именем.
Ventilation Demo/
├─ project.xml
├─ tags.xml
├─ screens/
│  └─ main.screen.xml
└─ components/
   └─ status-panel.component.xml
Учебный проект Ventilation Demo открыт в MetaSCADA Studio
Учебный проект Ventilation Demo. Минимальный экран и реальная структура проекта.
Тот же экран открыт во вкладке XML MetaSCADA Studio
Одна модель. Вкладки «Дизайнер» и «XML» редактируют один экран, а не две независимые копии.
Проверка результатаПосле повторного открытия имя, экран и теги совпадают; внизу окна нет новых ошибок модели.
03

Устройство и канал протокола нужна проверка

РезультатВ проекте создано устройство с отдельным Modbus TCP или OPC UA-каналом.
БезопасностьПервую проверку выполняйте на стенде или Simulator.
  1. В дереве раскройте «Системы → Устройства», нажмите ПКМ и выберите «Добавить устройство».
  2. Задайте инженерное имя, описание и адрес узла. Для документации используем зарезервированный пример 192.0.2.20 — замените его адресом стенда.
  3. Нажмите ПКМ по устройству, добавьте канал и выберите Modbus TCP либо OPC UA.
  4. Для Modbus задайте порт, Unit ID, таймаут и период опроса. Для OPC UA укажите endpoint и параметры безопасности.
  5. Если один физический объект требует разных Unit ID или endpoint, создайте несколько каналов внутри одного устройства.
ПолеПример стендаЧто проверить
УстройствоPLC_VentilationИмя понятно в дереве и журнале.
Адрес192.0.2.20Маршрут и firewall разрешают соединение.
Modbus502 / Unit ID 1Параметры совпадают с ПЛК.
OPC UAopc.tcp://192.0.2.20:4840Policy, сертификат и доступ пользователя приняты на стенде.
Проверка результатаКанал сохраняется после повторного открытия проекта; в дереве он расположен под правильным устройством.
Не подключайте запись сразу к объекту. Сначала подтвердите чтение, типы и адреса на тестовом контроллере.
04

Пакетное создание тегов Modbus TCP нужен стенд

РезультатЧетыре Float32-тега созданы одной операцией и читаются через Runtime.
ПотребуетсяModbus TCP-стенд либо заранее согласованная карта регистров.
  1. Откройте Modbus-канал, создайте папку AI и запустите пакетное добавление тегов.
  2. Выберите FC03 / Holding Registers, тип Float32, стартовый адрес 0, количество 4 и шаг 2.
  3. Задайте шаблон имени AI_Pressure_{n} и выполните предварительную проверку.
  4. После создания проверьте масштаб, смещение, порядок байтов и порядок регистров каждого тега.
  5. Запустите локальный Runtime или подключитесь к испытательному узлу, затем включите Online.
  6. Для writable-тега выполняйте пробную запись только на безопасном стенде. Дождитесь совпавшего обратного чтения.
ПараметрЗначение примера
ФункцияFC03 · Holding Registers
ТипFloat32
Начало / количество / шаг0 / 4 / 2
ИменаAI_Pressure_1…4
Масштаб1,0; смещение 0,0
Проверка результатаOnline показывает значение, quality и timestamp; при записи появляется подтверждённый результат, а не только факт отправки команды.

Частые ошибки: адресация со смещением 0/1, неверный Unit ID, перепутанный word order, запись в read-only область и firewall на порту 502.

05

Импорт и повторное сканирование OPC UA нужен стенд

РезультатВыбранная ветка импортирована с BrowsePath и повторно сопоставляется после изменения сервера.
ПотребуетсяТестовый endpoint, policy и сертификаты конкретного сервера.
  1. Откройте OPC UA-канал и нажмите «Сканировать».
  2. Раскройте только нужную ветку адресного пространства, например Objects/Ventilation.
  3. Выберите лист, ветку или всё поддерево и импортируйте элементы. Studio сохранит BrowsePath и восстановит иерархию папок.
  4. После изменения сервера запустите повторный scan. Разберите категории «новые», «существующие» и «удалённые» до применения.
  5. Для большого дерева раскрывайте следующий уровень по требованию. Полное раскрытие свыше 500 узлов требует подтверждения и может быть отменено.
Endpoint: opc.tcp://192.0.2.20:4840
Ветка: Objects/Ventilation
Импорт: выбранное поддерево
Повторный scan: сначала сравнение, затем применение
Проверка результатаИмпортированные теги сохраняют иерархию и BrowsePath; Runtime создаёт одну сессию/подписку на endpoint и восстанавливает соединение.
Совместимость принимается на вашем сервере. Проверьте security policy, сертификаты, права, revised limits, reconnect и запись writable node.
06

Экспорт и импорт тегов через Excel работает

РезультатНовые и изменённые теги применены после предварительного сравнения.
Главное правилоНе редактируйте стабильный TagId вручную.
  1. Выберите устройство или канал и экспортируйте таблицу.
  2. Изменяйте инженерные столбцы: имя, путь, адрес, тип, масштаб, единицу и writable. Служебный ID оставляйте без изменений.
  3. Для нового тега скопируйте строку, очистите ID и задайте новое имя и адрес.
  4. Импортируйте книгу и изучите предварительное сравнение: добавлено, изменено, удалено.
  5. Выберите добавление или замену осознанно. После замены перепроверьте привязки удалённых тегов.
ОперацияIDРезультат
ПереименованиеСохранитьПривязка остаётся на том же теге.
Новая строкаОчиститьStudio создаёт новый стабильный ID.
Замена набораПо предпросмотруУдалённые ссылки требуют проверки.
Проверка результатаКоличество тегов и итог сравнения совпадают с ожиданием; переименование не разрывает привязку по стабильному ID.
07

Первый экран в визуальном дизайнере работает

РезультатНа экране размещены текст, фигура, значение и кнопка; изменения отменяются и повторяются.
Учебный проектwave-one/project.xml показывает палитру и интерактивные элементы.
  1. Создайте экран и задайте его размер, фон, рамку, скругление и сетку.
  2. Откройте вкладку «Компоненты». Перетащите текст, окружность, элемент значения и кнопку на холст.
  3. Проверьте выбор кликом и рамкой, добавление к выделению через Ctrl/Shift, копирование и вставку.
  4. Измените размер маркерами, переместите объект стрелками и нажмите Esc для снятия выделения.
  5. Проверьте Ctrl+Z/Ctrl+Y, затем создайте слой, скройте и заблокируйте его.
  6. Откройте вкладку «XML», измените безопасное свойство и вернитесь в «Дизайнер»: обе вкладки должны показать одну модель.
Палитра компонентов и экран First Wave Components в MetaSCADA Studio
Палитра и холст. Слева — реальные категории компонентов, в центре — экран первой волны элементов.
Полный интерфейс дизайнера MetaSCADA Studio с холстом, деревом и панелью свойств
Рабочее пространство Studio. Дерево проекта, дизайнер, свойства и панель проблем остаются в одном окне.
Проверка результатаПосле сохранения и повторного открытия геометрия, слои и порядок объектов не изменились; панель «Проблемы» пуста.

Навигация по холсту: колесо — вертикальная прокрутка, Shift+колесо — горизонтальная, Ctrl+колесо — масштаб, средняя кнопка — панорама.

08

Свойства, прямые и динамические привязки работает

РезультатЦвет и текст объекта меняются по значению, а для плохого качества задано отдельное отображение.
ПримерDemo.Value: норма до 70, предупреждение 70–90, авария от 90.
  1. Выберите объект и найдите свойство через поиск в правой панели.
  2. Перетащите тег из дерева на совместимое свойство либо выберите его по имени и полному пути.
  3. Откройте редактор динамической привязки. Для Boolean используйте именованные результаты, для числа — диапазоны, для цвета — значения или градиент.
  4. Настройте отображение при отсутствующем значении и отдельное поведение при плохом качестве.
  5. Запустите локальный предпросмотр и проверьте каждую границу, включая ровно 70 и 90.
ДиапазонЦветОжидаемое состояние
< 70#11AA66Норма
70…<90#FFAA00Предупреждение
≥ 90#DD3344Авария
Bad / отсутствуетСерый + штриховкаНет достоверных данных
Проверка результатаЗначение 69 показывает норму, 70 — предупреждение, 90 — аварию; отключение источника не оставляет устаревшее «хорошее» состояние.
09

События и последовательности действий работает

РезультатКнопка включает режим редактирования и выдаёт подтверждающий импульс 500 мс.
Модель выполненияГруппы — последовательно, действия одной группы — параллельно.
  1. Создайте экранную Boolean-переменную EditMode со значением false.
  2. На отображаемом значении добавьте событие «Клик» и действие EditMode = true.
  3. Привяжите видимость обычного значения и поля ввода к противоположным состояниям EditMode.
  4. На кнопке подтверждения создайте первую группу с действием «Выдать импульс» для тега подтверждения, длительность 500 мс.
  5. Во второй группе установите EditMode = false. Не помещайте задержку и сброс в одну параллельную группу.
  6. Проверьте порядок в локальном предпросмотре сначала на Simulator.
Значение.Click
└─ Группа 1 → EditMode = true

Кнопка «Подтвердить».Click
├─ Группа 1 → Импульс PLC.SetpointConfirm, 500 мс
└─ Группа 2 → EditMode = false
Проверка результатаРежим ввода открывается кликом, подтверждение удерживается около 500 мс и гарантированно сбрасывается, интерфейс возвращается к просмотру.
Это не пользовательский скрипт. MetaSCADA выполняет декларативные события и действия без произвольного кода внутри HMI.
10

Локальные и системные переменные работает

РезультатЭкран хранит собственный режим, а HMI показывает состояние Runtime через read-only SYS.*.
ОбластиПроект, экран и экземпляр компонента.
  1. Откройте «Проект → Переменные HMI» или ветку «Системы → Переменные HMI».
  2. Создайте EditMode, выберите область экрана, тип Boolean и начальное значение false.
  3. Для массовой работы используйте импорт/экспорт Excel и предварительное сравнение.
  4. Подключите Online и проверьте текущее локальное значение.
  5. Добавьте диагностические источники SYS.*. Они доступны только для чтения.
SYS.Runtime.Online
SYS.Runtime.UptimeSeconds
SYS.Runtime.Version
SYS.Project.Id
SYS.Tags.TotalCount
SYS.Tags.GoodCount
SYS.Tags.BadCount
SYS.Tags.ForcedCount
SYS.Commands.QueueLength
Проверка результатаEditMode изменяется действиями экрана; попытка записать SYS.* недоступна, а Online показывает актуальные счётчики Runtime.
11

Библиотечный датчик или арматура работает

РезультатОдин тип компонента используется многократно с разным контекстом и отдельным состоянием.
ИнструментыСистемные символы, SVG, векторные операции, порты, @.* и @local.*.
  1. В дереве выберите «Библиотеки → Компоненты → Добавить компонент», задайте имя и базовый размер.
  2. Перетащите готовый символ из промышленного каталога либо соберите графику из линии, ломаной, Безье, дуги и фигур. Для замкнутых фигур доступны объединение, пересечение и вычитание.
  3. Связанные части выделите вместе и нажмите Ctrl+G. Для разгруппировки используйте Ctrl+Shift+G.
  4. При необходимости импортируйте SVG как редактируемые контуры. SVG со скриптами, обработчиками событий или внешними ссылками Studio отклонит.
  5. Выберите внутренний объект и щёлкните по строке нужного свойства во вкладке «Свойства». Для относительной ссылки введите, например, @.num и нажмите Enter: значение сохранится, а редактор останется открытым.
  6. Перейдите во вкладку «Публичные параметры» и нажмите «Создать из выбранного свойства». Для ссылки @.num Studio создаст параметр num; затем можно уточнить его тип, направление, значение по умолчанию и описание.
  7. Для привязки к объекту используйте @.Opened; для отдельного режима экземпляра — @local.EditMode.
  8. Для динамического состояния привяжите независимо заливку, контур, текст, прозрачность, видимость, активность или мигание. Выберите логическое правило, диапазоны, значения, битовую маску либо реакцию на качество.
  9. Для трубопроводной арматуры добавьте именованные точки подключения и задайте им положение, направление и тип.
  10. Разместите экземпляр на экране и задайте контекст, например PLC.Valves[12]. При копировании меняйте только контекст.
  11. Если объекту нужна отдельная панель управления, создайте её и привяжите к библиотечному компоненту. Панель будет открываться с тегами выбранного объекта.
<Component id="status_panel" name="Status panel" viewBoxWidth="240" viewBoxHeight="100">
  <Parameters>
    <Parameter name="Label" target="status.text" default="Fan" />
    <Parameter name="StateBinding" target="status.binding"
               default="Objects.Ventilation.Fan.IsRunning" />
  </Parameters>
  <Template>
    <Lamp id="status" width="240" height="100" text="Fan" />
  </Template>
</Component>
Проверка результатаДва экземпляра имеют общую графику, разные теги и независимое @local.EditMode; изменение библиотечного элемента видно после следующего предварительного просмотра или сборки.
Граница текущего редактора. Булевы операции рассчитаны на замкнутые фигуры. Сложный SVG с групповыми transform оставляйте ресурсом изображения либо предварительно преобразуйте в простые контуры.
12

Стрелочный прибор и пороги работает

РезультатПрибор, прогресс и индикатор синхронно показывают норму, предупреждение и аварию.
ОграничениеРазмер и подписи принимаются визуально на целевом разрешении.
  1. Перетащите стрелочный или аналоговый прибор и привяжите Demo.Value.
  2. Задайте минимум -25, максимум 125, warning 70 и alarm 90.
  3. Выберите цвета нормы, предупреждения и аварии, а также маркеры, полосу либо цветные сектора.
  4. В локальном HMI установите значения 42, 75 и 95.
  5. Повторите проверку на фактическом разрешении панели оператора.
Браузерный Runtime MetaSCADA при значении 42 в нормальном состоянии
Норма · 42. Runtime отрисовывает интерактивные элементы из собранного проекта.
Браузерный Runtime MetaSCADA при значении 95 в аварийном состоянии
Авария · 95. Прогресс, приборы и EventIndicator меняются от одного значения.
Проверка результата42 показывает норму, 75 — предупреждение, 95 — аварию; отметки минимум/максимум и единица измерения читаются без наложений.
14

Сборка, локальный предпросмотр и Online работает

РезультатСоздан .metapkg, запущен отдельный Runtime, открыты HMI и Online.
ПринципOnline наблюдает текущий пакет и не применяет несохранённые правки автоматически.
  1. Сохраните проект и нажмите «Собрать». Проверьте панель «Проблемы», путь пакета и SHA-256.
  2. Нажмите «Локальный предпросмотр». Studio запустит комплектный Runtime отдельным процессом и откроет браузерный HMI.
  3. Нажмите «Локальный Online». Studio получит текущее состояние и будет принимать обновления от Runtime.
  4. Измените проект. До нажатия «Применить локально» работающий Runtime должен остаться на прежнем пакете.
  5. Примените правки, затем проверьте новое значение, качество, время обновления, исходное и обработанное значение, а также результат последней записи.
  6. Проверьте остановку и повторный запуск. При закрытии Studio запущенный ею локальный предварительный просмотр должен остановиться штатно.
build/<project-id>.metapkg
Package format: 1.0
Проверки: структура → ссылки → типы → упаковка → SHA-256
Проверка результатаHMI отвечает, Online показывает данные запущенного проекта, а Studio не создаёт вторые Modbus/OPC UA-подключения к оборудованию.
Один владелец соединений. Протоколами владеет Runtime; Studio и браузерный HMI являются клиентами единого потока данных.
15

Запуск проекта на другом компьютере нужна проверка

РезультатПроект передан на выбранный компьютер, запущен и доступен для проверки.
ПотребуетсяНастроенное подключение, права доступа и проверка возврата к предыдущему выпуску.
  1. В «Системы → Узлы Runtime» создайте профиль и выберите Managed SSH либо Existing Runtime Agent.
  2. Для SSH выберите ровно один способ входа: пароль или закрытый ключ. Автоматической подстановки другого способа нет.
  3. При первом соединении сравните отпечаток ключа SSH или сертификата TLS по независимому каналу. Не подтверждайте неизвестный ключ.
  4. Для первой установки соберите архив Runtime для нужной платформы: win-x64, win-arm64, linux-x64 или linux-arm64.
  5. Установите Runtime, проверьте Runtime Agent, соберите проект, загрузите выпуск и запустите его.
  6. Убедитесь, что Runtime запущен и загрузил нужный проект. Затем откройте HMI и Online и проверьте запуск, остановку и повторный запуск.
  7. Отдельно испытайте возврат к предыдущему проекту и восстановление его рабочих данных. Возврат версии Runtime выполняется отдельно.
СервисПорт по умолчаниюДоступ
SSH22Только административный контур.
Браузерный HMI5080Доверенная сеть/VPN.
Runtime Agent5091Не публиковать в недоверенную сеть.
powershell -ExecutionPolicy Bypass -File deploy/build_runtime_engine_release.ps1 `
  -RuntimeIdentifier linux-x64
Проверка результатаRuntime Agent сообщает правильный проект и выпуск; HMI и Online доступны; после намеренно неудачного обновления восстановлены предыдущий выпуск и созданная перед обновлением резервная копия данных.
Текущее ограничение. Один выбранный узел исполняет весь проект. Распределение устройств между узлами и резервирование пока не реализованы.
16

Диагностика и отчёт об ошибке работает

РезультатОтчёт содержит воспроизводимые шаги, время, версии и безопасные журналы.
Не отправляйтеПароли, токены, закрытые ключи и проект без отдельного согласования.
  1. Сразу после ошибки запишите местное время, открытый проект, выбранный объект и последнее действие.
  2. В Studio откройте «Сервис → Открыть диагностические журналы».
  3. Приложите актуальный studio-*.jsonl и при проблеме запуска — startup.log.
  4. Для Runtime приложите снимок диагностики, последние сообщения процесса и runtime-last-exit.json Runtime Agent.
  5. Передайте отчёт ответственному за испытательный стенд по согласованному каналу. Не публикуйте журналы в открытом доступе.
Версия Studio / Runtime:
ОС и архитектура:
Время ошибки с часовым поясом:
Что делал:
1.
2.
3.
Ожидал:
Получил:
Повторяется: всегда / иногда / один раз
Приложения: studio-*.jsonl, startup.log, Runtime diagnostics
Последний event / exception type:
Секреты и проект удалены или согласованы: да / нет
ИсточникРасположение / назначение
Studio JSONL%LOCALAPPDATA%\MetaSCADA\Studio\logs
Startup%LOCALAPPDATA%\MetaSCADA\Studio\startup.log
Runtime Agentruntime-last-exit.json и последние строки stderr
Ограничение5 МиБ на файл, до десяти журналов Studio
Проверка результатаДругой инженер может повторить действия по отчёту и найти событие по времени/session ID; типовые секреты в JSONL заменены на [REDACTED].
i
Материалы для поддержки пока собираются вручнуюЕдиной кнопки для создания архива с журналами и сведениями о системе пока нет.

Следующий шаг

Откройте учебный проект и пройдите быстрый старт