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

Лицензирование компонентов

Лимиты хоста, запрос, проверка и установка лицензии.

Лицензия выдаётся на хост

Техническая лицензия привязана к идентификатору физической машины или ВМ. Смена проекта, имени узла, UUID, порта или IP не создаёт новую установку на этом хосте. При переустановке ОС с новым идентификатором может потребоваться перевыпуск.

Резервная пара получает один файл с двумя идентификаторами машин. На каждом хосте действует указанный лимит для суммы служб данного типа; общего сетевого пула между двумя компьютерами нет. При клонировании ВМ обеспечьте уникальные идентификаторы ОС.

Эти ограничения не распространяются на Studio. Использование лицензии отображается в просмотре соответствующего узла.

Что учитывается

КомпонентЕдиница учётаЛимиты
RuntimeТочки карт платных I/O-протоколов сверх 10 на каждый сервер, суммарно по Runtime хоста. Рабочий процесс отдельно не лицензируется.100, 500, 1000, 3000, 10000, 30000, 100000.
HistorianПараметры настроенной истории; аварии и события не увеличивают этот счётчик.32 бесплатно; 100, 500, 1000, 3000, 10000, 30000, 100000.
HMIОдновременные браузерные подключения суммарно по службам хоста.1, 3 или 5.

Modbus (все варианты), OPC UA, СП-Сеть и симулятор работают бесплатно: их точки не расходуют ёмкость Runtime. У каждого I/O-сервера остальных протоколов первые 10 точек также бесплатны и исключены из лимита. Для большего количества необходимо разрешение конкретного протокола в лицензии Runtime. В общий лимит входят только точки сверх 10.

Например, два сервера Siemens S7 TCP по 15 точек используют 10 лицензируемых точек суммарно. Сервер Modbus на 500 точек не увеличивает этот счётчик. Учитываются строки карты, переданные в Runtime, включая точки, к которым пока не привязаны тэги. Повтор одной карты в пакетах рабочих процессов узла не увеличивает счётчик.

Лицензия разрешает выбранные протоколы всем Runtime своего хоста; резервная пара сохраняет один файл на два хоста. Ранее выданные файлы без списка протоколов сохраняют свою ёмкость, но для работы платного протокола сверх 10 точек потребуется обновлённый файл с соответствующим разрешением.

Без своей лицензии HMI допускает одно подключение, если каждый независимый Runtime развёрнутого проекта подтверждает бесплатный режим и фактическое использование не более 32 I/O-тэгов. Малое фактическое число тэгов у Runtime с лицензией на более чем 32 I/O-тэга не предоставляет права на бесплатное подключение HMI.

Вкладки одного профиля браузера в одной службе и проекте используют общее место. Другой профиль или другая служба могут занимать отдельное. После прекращения запросов место освобождается не мгновенно; штатный срок — 60 секунд.

Получение запроса

Шаг 1. Откройте лицензию хоста в Studio

Откройте проект, перейдите на вкладку «Узлы» и откройте нужный Runtime, Historian или АРМ. Перейдите к просмотру состояния узла и разверните блок «Лицензия хоста» под его заголовком. Studio получит сведения от службы и покажет режим работы, лимит и текущее использование.

Просмотр Runtime в Studio: раскрытый блок Лицензия хоста, бесплатный лимит 32 и кнопки скачивания запроса и установки лицензии
Блок «Лицензия хоста» на странице просмотра узла. В примере Runtime работает в бесплатном режиме с лимитом 32 I/O-тэга. Нажмите на изображение, чтобы открыть его в полном размере.

Шаг 2. Скачайте и передайте запрос

  1. Нажмите «Скачать запрос активации». Браузер сохранит файл activation-…json или предложит выбрать место сохранения — в зависимости от своих настроек.
  2. Передайте этот файл поставщику и укажите нужный компонент и лимит: ёмкость и разрешённые I/O-протоколы для Runtime, параметров истории для Historian или подключений для АРМ.
  3. Для резервной пары получите запрос с каждого хоста и передайте оба файла для выдачи одной лицензии на пару.

Если кнопка скачивания недоступна, проверьте сообщение в блоке лицензии и связь Studio с узлом. После восстановления связи нажмите «Обновить».

Получение запроса без Studio

Запрос доступен и непосредственно из установленного компонента:

/opt/SAMUTAG/Server.Runtime/license-request.sh /tmp/runtime-request.json
/opt/SAMUTAG/Server.Historian/license-request.sh /tmp/historian-request.json
/opt/SAMUTAG/Server.HMI/license-request.sh /tmp/hmi-request.json

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

Проверка и установка файла

Шаг 3. Установите полученный файл через Studio

  1. Сохраните полученный от поставщика файл лицензии .json на компьютере, с которого открыта Studio.
  2. В просмотре нужного узла разверните «Лицензия хоста» и нажмите «Установить лицензию». Кнопка доступна пользователю с правом загрузки проекта на узлы и редактирования проекта.
  3. В окне выбора файла выберите полученную лицензию. После выбора Studio сразу отправит её на узел; отдельную кнопку «Сохранить» нажимать не требуется.
  4. Дождитесь состояния «Лицензия установлена» и проверьте указанный лимит. При ошибке её текст появится в этом же блоке; прежняя лицензия сохранится.
Лицензия успешно установлена через Studio: лимит 100, использование на хосте и текущем узле
Результат установки на учебном узле: вместо бесплатного режима отображается «Лицензия установлена» и новый лимит 100 I/O-тэгов. Нажмите на изображение, чтобы открыть его в полном размере.

Шаг 4. Проверьте состояние

В раскрытом блоке состояние обновляется автоматически; кнопка «Обновить» запрашивает его сразу. Значение «используется … на хосте» показывает общее использование лицензии компонента на компьютере, а «этот узел» — использование выбранным узлом.

Для Historian примените актуальный состав параметров; при необходимости загрузите обновлённый проект на Runtime. При изменении состава хостов или лимитов запросите новый файл лицензии у поставщика.

Проверка и установка без Studio

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

/opt/SAMUTAG/Server.Runtime/license-check.sh /tmp/runtime-license.json
/opt/SAMUTAG/Server.Runtime/license-install.sh /tmp/runtime-license.json

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

Общее хранилище и ошибки доступа

На Linux общий каталог — /var/lib/samutag-licensing. Он содержит лицензии компонентов и служебный реестр использования. Все службы должны иметь согласованный доступ под своей служебной учётной записью.

«Unable to open database file» или «Read-only file system» в этом каталоге чаще связаны с правами, владельцем или ограничениями systemd, а не с ёмкостью лицензии. Проверьте актуальность установщика и файла описания службы systemd (unit-файла). Не удаляйте реестр при работающих службах и не отключайте защиту целиком вместо исправления разрешённого каталога.

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