SCADA SAMUTAGSCADA SAMUTAGРуководство пользователя Открыть Studio
РуководствоРабота с проектами

Работа с проектами

Создание, история изменений, экспорт и восстановление.

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

Создание и импорт доступны в пределах прав пользователя Studio и установленного администратором количества проектов. Если лимит достигнут, для создания следующего проекта потребуется удалить ненужный проект или обратиться к администратору.

  1. На начальной странице нажмите «+ Новый проект» и откройте вкладку «Создать».
  2. Введите название, например TrainingStation. Используйте латинские буквы, цифры и подчёркивание; первый символ — буква или подчёркивание. Имя должно быть свободным.
  3. В описании укажите понятное название объекта, например «Учебная насосная станция».
  4. Задайте пароль root проекта. Это пароль встроенного администратора данного проекта, а не пароль входа в Studio.
  5. Нажмите «Создать проект». Откроется рабочая область; далее настройте пользователей, права и узлы.
Название, описание и пароль root нового проекта
Создание учебного проекта TrainingStation. Описание можно писать по-русски; техническое имя задаётся латиницей. Нажмите на изображение, чтобы открыть его в полном размере.

Пользователи и группы проекта

Пользователи проекта применяются при входе в проект и работе оператора на АРМ. Права удобно выдавать группам, например Operators для операторов и Engineers для инженеров.

  1. Войдите в проект как root и откройте вкладку «Пользователи» в панели деревьев.
  2. Нажмите «Добавить группу». Задайте имя и описание, затем нажмите «Создать».
  3. Нажмите «Добавить пользователя». Введите имя, описание, новый пароль и его повтор. Оставьте пользователя включённым и выберите группы.
  4. Нажмите «Создать». Пользователь появится в списке; двойной щелчок по строке открывает его редактор.
  5. В редакторе пользователя на вкладке «Группы» проверьте членство и нажмите «Сохранить». Затем назначьте разрешения группам по следующей инструкции.
Создание группы пользователей проекта
Пример группы Observers для наблюдения. Имя группы само по себе не выдаёт права: разрешения задаются в свойствах проекта и объектов. Нажмите на изображение, чтобы открыть его в полном размере.
Создание пользователя Operator2 с выбором групп
Форма нового пользователя. Укажите пароль и повтор, затем выберите одну или несколько групп. Нажмите на изображение, чтобы открыть его в полном размере.
Список пользователей учебного проекта и команды назначения групп
Список пользователей: имя, описание, группы и состояние. «Добавить в группу» сохраняет прежнее членство; «Перенести» заменяет прежние группы выбранной. Нажмите на изображение, чтобы открыть его в полном размере.
Выбор групп существующего пользователя Operator1
Группы пользователя Operator1. Изменения применяются кнопкой «Сохранить». Нажмите на изображение, чтобы открыть его в полном размере.

У существующего пользователя оставьте поля нового пароля пустыми, если пароль менять не требуется. Для временного отключения снимите «Включён». Встроенный root имеет полный доступ; его членство в Admins не изменяется.

Разрешения на просмотр и редактирование

  1. Нажмите ⚙ рядом с именем проекта, чтобы открыть «Настройки проекта».
  2. Включите «Использовать безопасность». При необходимости включите «Разрешить выбор пользователя при входе», чтобы имя выбиралось из списка.
  3. В «Разрешение на просмотр» отметьте группы, которым нужен вход в проект для просмотра.
  4. В «Разрешение на редактирование» отметьте группы инженеров. Редактирование включает просмотр.
  5. Нажмите «Сохранить». Выйдите из проекта и проверьте вход под созданным пользователем.
  6. Для команд операторов дополнительно настройте права записи соответствующих тэгов и доступ к видеокадрам. Загрузите изменения на узлы и проверьте работу под операторской учётной записью.
Безопасность проекта и разрешения групп Operators и Engineers
Пример: Operators получает просмотр, Engineers — просмотр и редактирование. Токен служебного обмена расположен в этой же форме, но не является паролем пользователя. Нажмите на изображение, чтобы открыть его в полном размере.

Настройки доступа к тэгам определяют возможность записи значений, а ограничения видеокадра — доступ к экрану. Подробнее: пользователи проекта и операторские команды. Право пользователя Studio на загрузку проекта на узлы задаётся отдельно.

Пошаговая настройка доступа оператора к экранам, просмотру тэгов и записи уставки приведена в примере прав оператора.

Генерация токена связи с узлами

Поле «Токен Runtime» задаёт общий секрет служебного обмена проекта. Его используют Studio, Runtime, HMI и Historian. Операторы входят в АРМ со своими учётными записями; этот токен им вводить не требуется.

  1. Откройте ⚙ «Настройки проекта».
  2. Рядом с полем «Токен Runtime» нажмите «Сгенерировать». Если токен уже задан, подтвердите замену только при намеренной смене.
  3. Нажмите «Сохранить». До сохранения новое значение существует только в открытой форме.
  4. Скачайте конфигурации всех узлов проекта. В них будет записан сохранённый токен.
  5. При замене токена действующей системы обновите конфигурационные файлы на всех её службах и перезапустите их. Затем загрузите актуальный проект на Runtime и АРМ, примените конфигурацию Historian и проверьте соединение.
Поле Токен Runtime и кнопка Сгенерировать
Сгенерированный токен скрыт в поле ввода. Сохраните свойства проекта перед скачиванием конфигураций узлов. Нажмите на изображение, чтобы открыть его в полном размере.

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

Порядок скачивания и установки файлов приведён в разделе «Выгрузка конфигурации узла». Файлы содержат секрет подключения; передавайте их только обслуживающему персоналу.

Рабочая область и деревья

Левая панель служит для навигации по проекту. В ней выбирают раздел и нужный объект. Справа открывается рабочая область этого объекта: свойства, тэги, графика, скрипты или настройки соединений. Деревья показывают разные отношения между объектами одного проекта.

Разделы левой панели

Значки над деревом переключают разделы. При наведении на значок появляется его название.

Значок и разделЧто отображаетсяДля чего используется
◇ ШаблоныОпределения типов оборудования, их наследники, композиция и созданные экземпляры.Разработка общей структуры тэгов, скриптов и символов.
▦ МоделиИерархия технологических групп и размещённые в них экземпляры.Организация оборудования по участкам, установкам и агрегатам.
⌘ УзлыСерверы приложений, резервные узлы, Historian и АРМ.Назначение проекта службам, загрузка и диагностика.
▣ ВидеокадрыЭкраны проекта, сгруппированные по папкам.Создание и редактирование операторских экранов. Назначение экрана конкретному АРМ выполняется в настройках его узла.
⇄ I/O-серверыИсточники обмена с оборудованием и их устройства, если это предусмотрено типом сервера.Настройка соединений и карт переменных.
Пользователи — значок двух людейГруппы и пользователи проекта.Настройка учётных записей и членства в группах.

Шаблоны: дерево наследования

Подвкладка «Наследование» отвечает на вопрос: «На основе какого шаблона создан этот тип оборудования?». Базовый шаблон расположен выше, производные — под ним. На снимке PumpWithReserve наследуется от PumpBase: он получает общие тэги насоса и добавляет собственный признак ReserveReady.

Дерево наследования PumpBase и рабочая область PumpWithReserve
Слева выбрана строка PumpWithReserve. Справа показаны собственный тэг ReserveReady и унаследованные тэги насоса. Нажмите на изображение, чтобы открыть его в полном размере.

Значки ◇ и ▱ обозначают шаблоны, а ⬢ — экземпляры. У шаблона, включённого в композицию, подпись в скобках показывает место включения, например «в композиции: PumpGroup.N1». Это пояснение не меняет его настоящего базового шаблона. Ветка наследования показывает происхождение определения, а не состав группы оборудования.

Шаблоны: дерево композиции

Подвкладка «Композиция» отвечает на другой вопрос: «Из каких частей состоит оборудование?». Например, PumpGroup содержит два насоса с локальными именами N1 и N2. Эти имена используются в ссылках this.N1 и this.N2. Имя самого определения шаблона и имя его включения могут различаться.

Композиция PumpGroup с включениями N1 и N2
Состав выбранного PumpGroup в рабочей области: N1 и N2 — включения шаблонов. Справа расположены шаблоны, которые можно включить в состав. Нажмите на изображение, чтобы открыть его в полном размере.

Переключение между «Наследование» и «Композиция» меняет способ просмотра связей. Оно не копирует объекты и не изменяет проект. Подробный пример приведён в разделе «Шаблоны, модели и тэги».

Модели: расположение конкретного оборудования

Дерево моделей показывает структуру объекта автоматизации. На снимке WaterSupply содержит модель PumpStation1, а в ней размещены экземпляры Pump1, Pump2 и PumpGroup1. У группы насосов раскрыты дочерние экземпляры N1 и N2.

Дерево моделей WaterSupply и PumpStation1 с экземплярами насосов
Слева — положение PumpStation1 в общей иерархии. Справа — вкладка «Экземпляры» выбранной модели. Нажмите на изображение, чтобы открыть его в полном размере.
  • ▦ и ▣ обозначают модели; ⬢ — экземпляры. Отступ и линия ветви показывают вложенность.
  • Имя в скобках у дочернего экземпляра — его локальное имя в композиции. Например, N1_1 (N1): N1_1 — имя экземпляра, N1 — имя его места в составе группы.
  • ★ у модели означает модель по умолчанию: в неё автоматически помещаются новые корневые экземпляры.
  • «Корневой уровень» содержит модели без родителя. «Непривязанные» показывает экземпляры, которые ещё не назначены модели.

Один и тот же экземпляр может быть виден в дереве шаблонов и в дереве моделей. Это один объект с одними значениями тэгов: первое представление помогает найти его исходный шаблон, второе — место оборудования в технологической структуре.

Узлы: размещение проекта

Список узлов и назначение видеокадров узлу Operator1
Слева выбран узел Operator1. Справа видно, какие видеокадры назначены этому АРМ; наличие кадра в проекте ещё не означает его назначения всем АРМ. Нажмите на изображение, чтобы открыть его в полном размере.

Список узлов описывает службы, на которых выполняется проект. Модели назначаются серверу приложений, видеокадры — АРМ. Значок ✱ у узла и на вкладке «Узлы» сообщает о неприменённых изменениях проекта после предыдущей загрузки; это не индикатор обрыва связи. Состояние соединения проверяется в просмотре узла.

I/O-серверы: источники данных

Раздел I/O-серверов с выбранным PLC_PumpStation и картой Modbus
Выбор PLC_PumpStation в левой панели открывает его настройки и карту переменных справа. Нажмите на изображение, чтобы открыть его в полном размере.

I/O-сервер представляет подключение к источнику данных. Его переменные связываются с тэгами экземпляров и моделей. Такое дерево показывает организацию обмена, а не наследование шаблонов или расположение оборудования в модели.

Как работать с ветвями и строками

  1. Выберите раздел значком над деревом.
  2. Нажмите треугольник слева от строки, чтобы раскрыть или свернуть её дочерние уровни. Кнопки «+» и «−» над деревом раскрывают и сворачивают все ветви текущего дерева; «+» рядом с заголовком раздела создаёт новый объект.
  3. В деревьях шаблонов и моделей один щелчок выделяет строку, двойной открывает её рабочую область. Выделенная строка имеет цветной фон. Сравните имя в строке и заголовок редактора справа.
  4. Введите имя или описание в поле поиска. Поиск шаблонов и моделей также находит экземпляры; над найденной строкой остаётся путь родительских уровней.
  5. Нажмите правой кнопкой на объект, чтобы открыть доступные ему команды. Состав меню зависит от типа объекта и прав пользователя.
  6. Если название не помещается, расширьте левую панель за её правую границу или наведите указатель на подпись. Для длинных ветвей используйте прокрутку.

В контекстном меню экземпляра на вкладке моделей команда «К родителю» открывает исходную ветку шаблонов. При переносе экземпляра в другую модель меняется его размещение; шаблон, по которому он создан, остаётся прежним.

Сохранение и неподтверждённые изменения

Введённые в форму изменения не становятся частью сохранённого проекта до применения настроек или сохранения редактора. При закрытии изменённого диалога через Escape, крестик или «Отмена» Studio предлагает подтвердить отказ от правок. Если настройки не менялись или уже применены, подтверждение закрытия не требуется.

Некоторые настройки видеокадров применяются отдельными запросами сразу. Закрытие такого окна не отменяет уже выполненное сохранение. Если связь оборвалась во время отправки, редактор сообщает об ошибке и сохраняет введённые данные для повторной попытки. Оставьте редактор открытым до успешного сохранения.

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

История изменений и возврат к версии

История сохраняет последовательность применённых изменений конфигурации проекта. По журналу можно определить, кто и когда изменил объект, и восстановить состояние проекта после выбранного шага. Номер версии здесь относится к конфигурации проекта, а не к версии установленной Studio.

1. Откройте историю

В рабочей области проекта нажмите значок часов с круговой стрелкой рядом с названием проекта. При наведении появляется подсказка «История изменений проекта». Для работы с историей нужны права редактирования проекта.

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

2. Найдите нужную версию

Вверху указаны текущая версия, количество записей, самое раннее доступное состояние и занятый объём архива. Журнал расположен от новых изменений к старым. В каждой строке показаны номер версии, время, описание изменения, пользователь и действия.

Журнал из трёх изменений: создание Pump, создание и изменение Setpoint
Учебный пример: в версии #2 создан Setpoint со значением по умолчанию 60; в версии #3 это значение изменено на 62. Нажмите на изображение, чтобы открыть его в полном размере.
  • «Записей на странице» задаёт размер страницы: 20, 50 или 100 записей. Кнопки внизу переходят между страницами, « и » — к первой и последней.
  • «Текущая» отмечает состояние, которое сейчас сохранено в Studio. Для этой строки «Восстановить» недоступно.
  • «Закрепить» защищает версию и необходимую для её восстановления цепочку от автоматической очистки. Повторное действие «Открепить» снимает защиту.

3. Восстановите выбранное состояние

  1. Завершите работу в открытых редакторах: сохраните нужные изменения или отмените их. Затем обновите страницу истории.
  2. Найдите версию, к которой хотите вернуться. В учебном примере выберите строку #2 и нажмите «Восстановить».
  3. Прочитайте подтверждение: восстанавливается весь проект, включая настройки безопасности. Подтвердите действие, если выбранное состояние подходит; иначе отмените.
  4. Дождитесь обновления страницы. В журнале появится новая запись «Восстановление состояния #2».
  5. Вернитесь в проект по ссылке вверху и заново откройте изменённый объект. В примере значение по умолчанию Setpoint снова равно 60.

Для возврата на один шаг можно нажать «Отменить последнее изменение». Эта команда также относится ко всему проекту и требует подтверждения.

После возврата к версии 2 появилась новая версия 4
Результат проверенного восстановления: текущая версия стала #4, а состояние проекта соответствует #2. Прежние записи остаются в журнале. Нажмите на изображение, чтобы открыть его в полном размере.

Возврат создаёт новую версию, поэтому номер в заголовке увеличивается. Если потребуется вернуться к состоянию до восстановления, выберите соответствующую прежнюю версию в журнале и восстановите её.

Работающие Runtime, HMI и Historian при этом не изменяются. После проверки восстановленного проекта загрузите его на нужные узлы и примените необходимые настройки. Возврат конфигурации не восстанавливает прежние оперативные значения тэгов и не отменяет команды, уже выполненные оборудованием. При восстановлении настроек безопасности может потребоваться прежний пароль проекта.

4. Настройте глубину хранения

  1. Раскройте «Настройки хранения».
  2. Укажите «Объём архива, МиБ». Ограничение учитывает журнал изменений и сохранённые черновики; по умолчанию выделено 5120 МиБ.
  3. Задайте «Минимум сохраняемых шагов»: это число последних шагов, защищённых от автоматической очистки.
  4. Нажмите «Применить настройки» и проверьте показатели хранилища.
Настройки объёма архива и минимального числа сохраняемых шагов
Квота и число сохраняемых шагов определяют глубину доступной истории. Закреплённые версии также защищены от очистки. Нажмите на изображение, чтобы открыть его в полном размере.

Если защищённые записи занимают весь доступный объём, увеличьте квоту или снимите ненужные закрепления. Когда освободить место невозможно, сохранение изменений отменяется. Уже удалённые при очистке состояния восстановить из этого журнала нельзя.

История хранится в базе Studio. Для переноса журнала вместе с проектом включите «Включить историю» при экспорте проекта.

Экспорт проекта с историей и без неё

Экспорт доступен из настроек проекта и из действий проекта на начальной странице. Перед выгрузкой выберите, нужна ли история изменений. При выключенном слайдере «Включить историю» архив содержит актуальное состояние; при включённом — также журнал изменений.

Для переноса рабочего проекта обычно достаточно текущего состояния. Включите историю, если требуется перенести предыдущие состояния проекта, в том числе удалённые объекты и старые настройки.

Сохраните файл в надёжном месте и проверьте, что загрузка завершилась. Экспорт Studio не включает архив PostgreSQL Historian, установленный дистрибутив, конфигурацию ОС и полный набор ключей и паролей установки. Эти части резервируются отдельно.

Импорт и восстановление

Для импорта нужен архив .samutag.zip, созданный при экспорте проекта из Studio. В примере ниже восстанавливается учебный проект TrainingStation под именем TrainingStation_Copy.

1. Откройте форму восстановления

Войдите в Studio под пользователем с правом создания проектов. На начальной странице нажмите «+ Новый проект», затем выберите вкладку «Восстановить из архива». Импорт учитывается в установленном администратором лимите проектов.

2. Выберите архив и имя проекта

  1. В поле «Новое имя проекта» укажите имя создаваемой копии. Если оставить поле пустым, Studio использует имя из архива. Если имя уже занято, к нему добавляется свободный номер; существующий проект не изменяется.
  2. В поле «Архив проекта» нажмите кнопку выбора файла и выберите сохранённый архив. Рядом с кнопкой появится его имя.
  3. Проверьте выбранный файл и нажмите «Восстановить проект». Кнопка «Отмена» возвращает к списку проектов без запуска восстановления.
Форма импорта Studio: вкладка Восстановить из архива, новое имя, выбранный файл и кнопка Восстановить проект
Выбор архива и имени независимой копии. При восстановлении создаются новые идентификаторы объектов, а внутренние ссылки перенаправляются на восстановленные объекты. Нажмите на изображение, чтобы открыть его в полном размере.

3. Проследите за ходом восстановления

Сначала архив передаётся на сервер Studio. После передачи открывается страница «Восстановление проекта». На ней отображаются текущий этап, полоса прогресса, процент выполнения и прошедшее время. Состояние обновляется автоматически.

Сообщение «Ожидание запуска» означает, что операция принята. Далее Studio проверяет архив и восстанавливает объекты проекта. Дождитесь сообщения о завершении.

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

Можно сохранить ссылку на эту страницу и вернуться к ней позже. Закрытие страницы не останавливает восстановление. Ссылка на операцию также доступна в блоке «Последние операции восстановления» на вкладке «Восстановить из архива».

4. Откройте восстановленный проект

После успешного завершения появится сообщение «Проект … восстановлен» и значение 100%. Нажмите «Открыть проект», чтобы перейти к входу в него, или «К проектам», чтобы вернуться к общему списку.

Успешное восстановление TrainingStation_Copy: 100 процентов и кнопка Открыть проект
Успешно восстановленный учебный проект. Кнопка «Открыть проект» ведёт к его странице входа. Нажмите на изображение, чтобы открыть его в полном размере.

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

При ошибке запишите её текст, этап и номер операции. После устранения причины нажмите «Повторить восстановление» и снова выберите архив. Порядок проверки приведён в разделе «Ошибки загрузки и восстановления проекта».

Перенос проекта
  1. Исходная StudioЭкспорт архива с историей изменений или без неё
  2. АрхивПередача файла на другой компьютер
  3. Целевая StudioВыбор архива и имени; восстановление
  4. ПроверкаОткрытие проекта, проверка связей и адресов узлов

Перенос одного шаблона

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

При импорте проверьте совпадения имён и при необходимости переименуйте добавляемый шаблон. После импорта проверьте внешние ссылки на I/O-серверы и экземпляры: они должны указывать на нужные объекты принимающего проекта.

Руководство SCADA системы SAMUTAG. © Самунов А.С. (2026)