Пошаговое руководство: установка, создание проекта, подключение устройств, настройка экранов, запуск и поиск ошибок.
Актуально: 19 августа 2026Снимки экрана: основные окна StudioСодержание: 16 практических разделов
Быстрый старт · около 20 минут
Сначала запустите готовый проект на Simulator
Установите Studio, скачайте учебные проекты, откройте wave-one/project.xml и нажмите «Локальный предпросмотр». Так вы проверите полный путь без ПЛК, OPC UA-сервера и удалённого хоста.
Запустите скачанный файл и следуйте указаниям на экране. После завершения откройте MetaSCADA.
Дополнительная проверка скачанного файла
Проверка контрольной суммы не обязательна для обычной установки. Если она нужна по правилам вашей организации, выполните команду и сравните результат с контрольной суммой на странице загрузки.
Windows SmartScreen может показать предупреждение, потому что установщик пока не имеет цифровой подписи. Продолжайте установку только для файла, скачанного с этого сайта.
Стартовая страница. После установки доступны создание нового проекта и открытие существующего.
Проверка результатаMetaSCADA открывается без сообщения об ошибке и показывает кнопки создания и открытия проекта.
02
Создание и сохранение проекта работает
РезультатПроект повторно открывается без потери экрана и тегов.
ПотребуетсяПапка, доступная текущему пользователю на запись.
Нажмите «Создать проект», выберите пустую папку и задайте понятное имя, например Ventilation Demo.
Проверьте дерево: системы и подключения, теги, объекты, библиотеки, сборка и развёртывание. В текущей сборке интерфейс дополнительно разделён на общий слой, навигацию, рабочие экраны и всплывающие окна.
Сохраните проект сочетанием Ctrl+S, закройте его и откройте файл project.xml повторно.
Убедитесь, что проект появился в недавних. Булавка закрепляет запись, крестик удаляет её только из списка и не удаляет файлы.
После неожиданного завершения сначала рассмотрите предложение восстановления автосохранения, затем сохраните восстановленную копию под новым именем.
Учебный проект Ventilation Demo. Минимальный экран и реальная структура проекта.Одна модель. Вкладки «Дизайнер» и «XML» редактируют один экран, а не две независимые копии.
Проверка результатаПосле повторного открытия имя, экран и теги совпадают; внизу окна нет новых ошибок модели.
03
Устройство и канал протокола нужна проверка
РезультатВ проекте создано устройство с отдельным Modbus TCP или OPC UA-каналом.
БезопасностьПервую проверку выполняйте на стенде или Simulator.
В дереве раскройте «Системы → Устройства», нажмите ПКМ и выберите «Добавить устройство».
Задайте инженерное имя, описание и адрес узла. Для документации используем зарезервированный пример 192.0.2.20 — замените его адресом стенда.
Нажмите ПКМ по устройству, добавьте канал и выберите Modbus TCP либо OPC UA.
Для Modbus задайте порт, Unit ID, таймаут и период опроса. Для OPC UA укажите endpoint и параметры безопасности.
Если один физический объект требует разных Unit ID или endpoint, создайте несколько каналов внутри одного устройства.
Поле
Пример стенда
Что проверить
Устройство
PLC_Ventilation
Имя понятно в дереве и журнале.
Адрес
192.0.2.20
Маршрут и firewall разрешают соединение.
Modbus
502 / Unit ID 1
Параметры совпадают с ПЛК.
OPC UA
opc.tcp://192.0.2.20:4840
Policy, сертификат и доступ пользователя приняты на стенде.
Проверка результатаКанал сохраняется после повторного открытия проекта; в дереве он расположен под правильным устройством.
Не подключайте запись сразу к объекту. Сначала подтвердите чтение, типы и адреса на тестовом контроллере.
04
Пакетное создание тегов Modbus TCP нужен стенд
РезультатЧетыре Float32-тега созданы одной операцией и читаются через Runtime.
ПотребуетсяModbus TCP-стенд либо заранее согласованная карта регистров.
Откройте Modbus-канал, создайте папку AI и запустите пакетное добавление тегов.
Выберите FC03 / Holding Registers, тип Float32, стартовый адрес 0, количество 4 и шаг 2.
Задайте шаблон имени AI_Pressure_{n} и выполните предварительную проверку.
После создания проверьте масштаб, смещение, порядок байтов и порядок регистров каждого тега.
Запустите локальный Runtime или подключитесь к испытательному узлу, затем включите Online.
Для 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 и сертификаты конкретного сервера.
Откройте OPC UA-канал и нажмите «Сканировать».
Раскройте только нужную ветку адресного пространства, например Objects/Ventilation.
Выберите лист, ветку или всё поддерево и импортируйте элементы. Studio сохранит BrowsePath и восстановит иерархию папок.
После изменения сервера запустите повторный scan. Разберите категории «новые», «существующие» и «удалённые» до применения.
Для большого дерева раскрывайте следующий уровень по требованию. Полное раскрытие свыше 500 узлов требует подтверждения и может быть отменено.
Endpoint: opc.tcp://192.0.2.20:4840
Ветка: Objects/Ventilation
Импорт: выбранное поддерево
Повторный scan: сначала сравнение, затем применение
Проверка результатаИмпортированные теги сохраняют иерархию и BrowsePath; Runtime создаёт одну сессию/подписку на endpoint и восстанавливает соединение.
Совместимость принимается на вашем сервере. Проверьте security policy, сертификаты, права, revised limits, reconnect и запись writable node.
06
Экспорт и импорт тегов через Excel работает
РезультатНовые и изменённые теги применены после предварительного сравнения.
Выберите устройство или канал и экспортируйте таблицу.
Изменяйте инженерные столбцы: имя, путь, адрес, тип, масштаб, единицу и writable. Служебный ID оставляйте без изменений.
Для нового тега скопируйте строку, очистите ID и задайте новое имя и адрес.
Импортируйте книгу и изучите предварительное сравнение: добавлено, изменено, удалено.
Выберите добавление или замену осознанно. После замены перепроверьте привязки удалённых тегов.
Операция
ID
Результат
Переименование
Сохранить
Привязка остаётся на том же теге.
Новая строка
Очистить
Studio создаёт новый стабильный ID.
Замена набора
По предпросмотру
Удалённые ссылки требуют проверки.
Проверка результатаКоличество тегов и итог сравнения совпадают с ожиданием; переименование не разрывает привязку по стабильному ID.
07
Первый экран в визуальном дизайнере работает
РезультатНа экране размещены текст, фигура, значение и кнопка; изменения отменяются и повторяются.
Учебный проектwave-one/project.xml показывает палитру и интерактивные элементы.
Создайте экран и задайте его размер, фон, рамку, скругление и сетку.
Откройте вкладку «Компоненты». Перетащите текст, окружность, элемент значения и кнопку на холст.
Проверьте выбор кликом и рамкой, добавление к выделению через Ctrl/Shift, копирование и вставку.
Измените размер маркерами, переместите объект стрелками и нажмите Esc для снятия выделения.
Проверьте Ctrl+Z/Ctrl+Y, затем создайте слой, скройте и заблокируйте его.
Откройте вкладку «XML», измените безопасное свойство и вернитесь в «Дизайнер»: обе вкладки должны показать одну модель.
Палитра и холст. Слева — реальные категории компонентов, в центре — экран первой волны элементов.Рабочее пространство Studio. Дерево проекта, дизайнер, свойства и панель проблем остаются в одном окне.
Проверка результатаПосле сохранения и повторного открытия геометрия, слои и порядок объектов не изменились; панель «Проблемы» пуста.
Навигация по холсту: колесо — вертикальная прокрутка, Shift+колесо — горизонтальная, Ctrl+колесо — масштаб, средняя кнопка — панорама.
08
Свойства, прямые и динамические привязки работает
РезультатЦвет и текст объекта меняются по значению, а для плохого качества задано отдельное отображение.
ПримерDemo.Value: норма до 70, предупреждение 70–90, авария от 90.
Выберите объект и найдите свойство через поиск в правой панели.
Перетащите тег из дерева на совместимое свойство либо выберите его по имени и полному пути.
Откройте редактор динамической привязки. Для Boolean используйте именованные результаты, для числа — диапазоны, для цвета — значения или градиент.
Настройте отображение при отсутствующем значении и отдельное поведение при плохом качестве.
Запустите локальный предпросмотр и проверьте каждую границу, включая ровно 70 и 90.
Диапазон
Цвет
Ожидаемое состояние
< 70
#11AA66
Норма
70…<90
#FFAA00
Предупреждение
≥ 90
#DD3344
Авария
Bad / отсутствует
Серый + штриховка
Нет достоверных данных
Проверка результатаЗначение 69 показывает норму, 70 — предупреждение, 90 — аварию; отключение источника не оставляет устаревшее «хорошее» состояние.
09
События и последовательности действий работает
РезультатКнопка включает режим редактирования и выдаёт подтверждающий импульс 500 мс.
Модель выполненияГруппы — последовательно, действия одной группы — параллельно.
Создайте экранную Boolean-переменную EditMode со значением false.
На отображаемом значении добавьте событие «Клик» и действие EditMode = true.
Привяжите видимость обычного значения и поля ввода к противоположным состояниям EditMode.
На кнопке подтверждения создайте первую группу с действием «Выдать импульс» для тега подтверждения, длительность 500 мс.
Во второй группе установите EditMode = false. Не помещайте задержку и сброс в одну параллельную группу.
Проверьте порядок в локальном предпросмотре сначала на Simulator.
Значение.Click
└─ Группа 1 → EditMode = true
Кнопка «Подтвердить».Click
├─ Группа 1 → Импульс PLC.SetpointConfirm, 500 мс
└─ Группа 2 → EditMode = false
Проверка результатаРежим ввода открывается кликом, подтверждение удерживается около 500 мс и гарантированно сбрасывается, интерфейс возвращается к просмотру.
Это не пользовательский скрипт. MetaSCADA выполняет декларативные события и действия без произвольного кода внутри HMI.
10
Локальные и системные переменные работает
РезультатЭкран хранит собственный режим, а HMI показывает состояние Runtime через read-only SYS.*.
Проверка результатаEditMode изменяется действиями экрана; попытка записать SYS.* недоступна, а Online показывает актуальные счётчики Runtime.
11
Библиотечный датчик или арматура работает
РезультатОдин тип компонента используется многократно с разным контекстом и отдельным состоянием.
ИнструментыСистемные символы, SVG, векторные операции, порты, @.* и @local.*.
В дереве выберите «Библиотеки → Компоненты → Добавить компонент», задайте имя и базовый размер.
Перетащите готовый символ из промышленного каталога либо соберите графику из линии, ломаной, Безье, дуги и фигур. Для замкнутых фигур доступны объединение, пересечение и вычитание.
Связанные части выделите вместе и нажмите Ctrl+G. Для разгруппировки используйте Ctrl+Shift+G.
При необходимости импортируйте SVG как редактируемые контуры. SVG со скриптами, обработчиками событий или внешними ссылками Studio отклонит.
Выберите внутренний объект и щёлкните по строке нужного свойства во вкладке «Свойства». Для относительной ссылки введите, например, @.num и нажмите Enter: значение сохранится, а редактор останется открытым.
Перейдите во вкладку «Публичные параметры» и нажмите «Создать из выбранного свойства». Для ссылки @.num Studio создаст параметр num; затем можно уточнить его тип, направление, значение по умолчанию и описание.
Для привязки к объекту используйте @.Opened; для отдельного режима экземпляра — @local.EditMode.
Для динамического состояния привяжите независимо заливку, контур, текст, прозрачность, видимость, активность или мигание. Выберите логическое правило, диапазоны, значения, битовую маску либо реакцию на качество.
Для трубопроводной арматуры добавьте именованные точки подключения и задайте им положение, направление и тип.
Разместите экземпляр на экране и задайте контекст, например PLC.Valves[12]. При копировании меняйте только контекст.
Если объекту нужна отдельная панель управления, создайте её и привяжите к библиотечному компоненту. Панель будет открываться с тегами выбранного объекта.
Проверка результатаДва экземпляра имеют общую графику, разные теги и независимое @local.EditMode; изменение библиотечного элемента видно после следующего предварительного просмотра или сборки.
Граница текущего редактора. Булевы операции рассчитаны на замкнутые фигуры. Сложный SVG с групповыми transform оставляйте ресурсом изображения либо предварительно преобразуйте в простые контуры.
12
Стрелочный прибор и пороги работает
РезультатПрибор, прогресс и индикатор синхронно показывают норму, предупреждение и аварию.
ОграничениеРазмер и подписи принимаются визуально на целевом разрешении.
Перетащите стрелочный или аналоговый прибор и привяжите Demo.Value.
Задайте минимум -25, максимум 125, warning 70 и alarm 90.
Выберите цвета нормы, предупреждения и аварии, а также маркеры, полосу либо цветные сектора.
В локальном HMI установите значения 42, 75 и 95.
Повторите проверку на фактическом разрешении панели оператора.
Норма · 42. Runtime отрисовывает интерактивные элементы из собранного проекта.Авария · 95. Прогресс, приборы и EventIndicator меняются от одного значения.
Проверка результата42 показывает норму, 75 — предупреждение, 95 — аварию; отметки минимум/максимум и единица измерения читаются без наложений.
13
Общий слой, меню и всплывающие окна 0.2.15
РезультатДва рабочих экрана используют один общий слой, переходят через меню и открывают параметризованное окно.
ДоступностьВходит в стабильный установщик MetaSCADA Studio 0.2.15.
В ветке «Интерфейс → Рабочие экраны» создайте две мнемосхемы. Стартовым может быть только рабочий экран.
В ветке «Интерфейс → Общий слой» создайте общий экран и разместите на нём постоянные элементы: шапку, часы, строку состояния или область меню.
В ветке «Интерфейс → Навигация» создайте меню. Добавьте раздел и пункты перехода на оба рабочих экрана, затем настройте представление, подменю, поиск и кнопки назад/вперёд.
Откройте общий слой и перетащите из группы «Навигация» компонент «Меню навигации». Проверьте выбранное меню и его оформление.
В ветке «Всплывающие окна и диалоги» создайте Popup или Dialog. Настройте заголовок, модальность, перемещение, изменение размера, Esc и закрытие кликом снаружи.
Добавьте входной параметр, например EquipmentName типа String. На кнопке рабочего экрана создайте действие «Открыть всплывающее окно» и передайте значение параметра.
Соберите проект и проверьте в Runtime: общий слой остаётся на месте, меню меняет рабочую мнемосхему, назад/вперёд работают, а окно получает переданное значение.
Проверка результатаПереход между рабочими экранами не пересоздаёт общий слой; немодальное окно может остаться открытым при переходе, а модальный Dialog удерживает фокус и закрывается по Esc.
Подтверждённые ограничения. Выходные значения окна пока не возвращаются вызывающему объекту. История, положение окон, состояние меню и стек Popup сбрасываются после перезагрузки вкладки.
14
Сборка, локальный предпросмотр и Online работает
РезультатСоздан .metapkg, запущен отдельный Runtime, открыты HMI и Online.
ПринципOnline наблюдает текущий пакет и не применяет несохранённые правки автоматически.
Сохраните проект и нажмите «Собрать». Проверьте панель «Проблемы», путь пакета и SHA-256.
Нажмите «Локальный предпросмотр». Studio запустит комплектный Runtime отдельным процессом и откроет браузерный HMI.
Нажмите «Локальный Online». Studio получит текущее состояние и будет принимать обновления от Runtime.
Измените проект. До нажатия «Применить локально» работающий Runtime должен остаться на прежнем пакете.
Примените правки, затем проверьте новое значение, качество, время обновления, исходное и обработанное значение, а также результат последней записи.
Проверьте остановку и повторный запуск. При закрытии Studio запущенный ею локальный предварительный просмотр должен остановиться штатно.
Проверка результатаRuntime Agent сообщает правильный проект и выпуск; HMI и Online доступны; после намеренно неудачного обновления восстановлены предыдущий выпуск и созданная перед обновлением резервная копия данных.
Текущее ограничение. Один выбранный узел исполняет весь проект. Распределение устройств между узлами и резервирование пока не реализованы.
16
Диагностика и отчёт об ошибке работает
РезультатОтчёт содержит воспроизводимые шаги, время, версии и безопасные журналы.
Не отправляйтеПароли, токены, закрытые ключи и проект без отдельного согласования.
Сразу после ошибки запишите местное время, открытый проект, выбранный объект и последнее действие.
В Studio откройте «Сервис → Открыть диагностические журналы».
Приложите актуальный studio-*.jsonl и при проблеме запуска — startup.log.
Для Runtime приложите снимок диагностики, последние сообщения процесса и runtime-last-exit.json Runtime Agent.
Передайте отчёт ответственному за испытательный стенд по согласованному каналу. Не публикуйте журналы в открытом доступе.
Версия 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 Agent
runtime-last-exit.json и последние строки stderr
Ограничение
5 МиБ на файл, до десяти журналов Studio
Проверка результатаДругой инженер может повторить действия по отчёту и найти событие по времени/session ID; типовые секреты в JSONL заменены на [REDACTED].
i
Материалы для поддержки пока собираются вручнуюЕдиной кнопки для создания архива с журналами и сведениями о системе пока нет.
Ничего не найдено
Попробуйте более короткий запрос: «тег», «Runtime», «OPC» или «привязка».