Начало работы

Эта страница описывает версию 2.6, в которой Сервер состоит из отдельных процессов (смотрите Состав Сервера).

Системные требования

  • ОС Windows 10 и выше (Сервер и Клиент) или Linux (только Сервер, без программы настройки scada-setup — смотрите Установка под Linux)
  • Права администратора Windows для установки и настройки Сервера
  • Сеть TCP/IP между компьютерами объекта; Клиенты подключаются к процессу scada-proxy по порту 2000 (смотрите Настройка сети)
  • Файл лицензии, выданный на нужные процессы Сервера (смотрите Лицензия)

Загрузка

Дистрибутивы публикуются на странице выпусков ОИК Телеконтроль на GitHub.

ВНИМАНИЕ: опубликованный сейчас выпуск 2.5.7 — предыдущего устройства: он устанавливает Сервер одной службой Telecontrol SCADA Server и не содержит отдельных процессов версии 2.6. Для него действуют прежние правила: служба Telecontrol SCADA Server, аппаратный ключ HASP или Guardant, конфигурация в папке %ProgramData%\Telecontrol\SCADA Server\Configuration.

Выбор процессов Сервера

Сервер версии 2.6 всегда устанавливается из нескольких процессов: процессы протокольного уровня получают конфигурацию от scada-config и не хранят ее сами, поэтому один такой процесс без scada-config работать не может.

Наименьший набор, который создает scada-setup:

  • scada-config — хранит конфигурацию;
  • один или несколько процессов протокольного уровня (scada-modbus, scada-iec104, scada-iec61850, на Windows также scada-opc и scada-vidicon);
  • scada-filesystem — без него scada-setup apply выводит предупреждение, и серверная файловая система (мнемосхемы на Сервере) недоступна;
  • scada-proxy — к нему подключаются Клиенты.

Для архива значений и событий добавьте scada-historian; без него архива нет.

Лицензия должна называть каждый из этих процессов, в том числе config, filesystem и proxy, а не только процессы протокольного уровня: процесс, которого нет в лицензии, останавливается сразу после запуска, а scada-setup apply отказывается его устанавливать.

Все процессы можно установить на один компьютер или распределить по нескольким. Назначение каждого процесса и порядок запуска описаны в разделе Состав Сервера.

Установка под Windows

Один установщик содержит все процессы Сервера и программу настройки scada-setup. Какие процессы будут работать, определяет лицензия.

  1. Установите пакет:

    msiexec /i telecontrol-scada-<версия>.msi /qn
    
  2. Поместите файл лицензии в %ProgramData%\Telecontrol\SCADA Server\license.json.

  3. В командной строке с правами администратора выполните:

    "C:\Program Files\Telecontrol SCADA\bin\scada-setup.exe" apply --svc-password <пароль> --root-password <пароль root>
    

    <пароль> — пароль служебной учетной записи svc, через которую процессы подключаются друг к другу. Он должен быть одинаковым на всех компьютерах объекта. <пароль root> — пароль встроенной учетной записи root, смотрите Пароль root. Запишите оба пароля в надежном месте: они понадобятся при каждом обновлении и при восстановлении из резервной копии.

Команда apply включает все процессы, на которые выдана лицензия (список можно ограничить параметром --tiers), создает для каждого файл параметров %ProgramData%\Telecontrol\SCADA Server\<процесс>\server.json (у scada-filesystem папка называется filestore), создает сертификат Сервера в C:\Program Files\Telecontrol SCADA\data\Certificates, если его там еще нет, создает конфигурационные БД (существующие не перезаписываются), регистрирует по службе Windows на процесс и запускает их в нужном порядке. Проверить результат:

scada-setup status

Несколько компьютеров. Сначала настройте центральный компьютер, затем компьютеры с процессами протокольного уровня, указав адрес центрального:

rem Центральный компьютер:
scada-setup apply --tiers config,historian,filesystem,proxy --svc-password <пароль> --root-password <пароль root>
rem Компьютер рядом с оборудованием:
scada-setup apply --tiers modbus,iec104 --central 10.0.0.10 --svc-password <пароль>

Процессам протокольного уровня пароль root не нужен: учетные записи для них хранит scada-config. На компьютере без scada-config параметр --central обязателен. Остальные связи между процессами настраиваются автоматически.

Запишите, с какими --tiers, --central и --advertise вы выполнили apply на каждом компьютере и повторяйте их при каждом следующем apply. Без --tiers команда включает все процессы из лицензии, в том числе на компьютере, где их быть не должно. Все команды scada-setup описаны в разделе Сервер.

Графический клиент устанавливается на одной или нескольких рабочих станциях; Сервер и Клиент могут находиться на одном компьютере.

Отображение мнемосхем

Клиент версии 2.6 отображает мнемосхемы Модус (файлы .sde и .xsde) сам, модулем отображения мнемосхем, который должен находиться в папке Клиента рядом с его исполняемым файлом. Компонент ActiveXeme Клиентом версии 2.6 не используется. Если модуля нет, в окне мнемосхемы выводится сообщение «Модуль отображения мнемосхем не установлен» с причиной. Для редактирования мнемосхем по-прежнему нужен Графический редактор Модус.

Установка под Linux

Процессы Сервера работают под Linux, но scada-setup там не устанавливает и не запускает процессы (доступна только команда scada-setup generate, которая создает файлы параметров): запустите исполняемые файлы нужных процессов, каждый со своим файлом параметров (смотрите Развертывание под Linux). Для контейнерного развертывания используется единый Docker-образ.

Графический клиент под Linux не поддерживается.

Лицензия

Лицензия — подписанный файл license.json, в котором перечислены приобретенные процессы и срок действия. Один и тот же файл кладется на все компьютеры объекта. Процесс, не названный в лицензии, останавливается сразу после запуска.

Срок действия. Срок окончания лицензии показывает команда scada-setup status (строка License: … (expires …); у истекшей — OUTSIDE VALIDITY WINDOW). Проверяйте его сами: предупреждения об окончании срока Сервер выдает только системными событиями в Клиенте, за 30 дней до окончания. После окончания срока процессы продолжают работать, но отклоняют запросы Клиентов, пока лицензия не будет заменена.

Замена файла лицензии. Работающие процессы перечитывают файл каждые 5 секунд и подхватывают новую лицензию без перезапуска. Поэтому заменяйте файл за один шаг: скопируйте новую лицензию в ту же папку под временным именем, а затем переименуйте ее в license.json, заменив старый файл:

copy new-license.json "%ProgramData%\Telecontrol\SCADA Server\license.new"
move /y "%ProgramData%\Telecontrol\SCADA Server\license.new" "%ProgramData%\Telecontrol\SCADA Server\license.json"

ВНИМАНИЕ: если в момент проверки файла нет или он записан не полностью (например, при копировании поверх старого файла), процесс считает, что лицензии нет, и останавливается. Windows такую службу автоматически не перезапускает: после замены файла запустите процессы командой scada-setup start.

Добавление процесса. Замените файл новой лицензией на всех компьютерах и на компьютере, где будет работать новый процесс, выполните scada-setup apply с полным списком процессов этого компьютера в --tiers, включая новый, и с теми же остальными параметрами, что и при установке.

Файлы параметров, созданные scada-setup, уже содержат "license": {"require_gcp_binding": false}. Если вы составляете файл параметров вручную и Сервер работает не в Google Cloud, задайте этот параметр сами — иначе процесс не сможет проверить лицензию и не будет обслуживать запросы. Подробности — в разделе Лицензирование.

Пароль root

Встроенная учетная запись root имеет все права. Ее пароль задается параметром --root-password команды scada-setup apply (или переменной окружения SCADA_SETUP_ROOT_PASSWORD). На компьютере, где работает хотя бы один из процессов scada-config, scada-proxy, scada-historian и scada-filesystem, apply без этого пароля не выполняется: у каждого из этих процессов своя учетная запись root, и без заданного пароля она принимала бы вход с пустым паролем.

scada-setup сохраняет пароль в параметрах служб Windows этих процессов, а не в файлах параметров, и процессы заново записывают его при каждом запуске. Поэтому:

  • чтобы сменить пароль root, выполните scada-setup apply с новым --root-password — пароль, измененный из Клиента, при следующем запуске процесса будет заменен заданным в apply;
  • при каждом повторном apply, в том числе при обновлении, указывайте действующий пароль root.

Подробности — в разделе Пароль root.

Настройка сети

scada-setup правила брандмауэра не создает — откройте порты вручную:

  • с рабочих мест Клиентов — только входящий порт TCP 2000 на компьютере с scada-proxy;
  • между компьютерами объекта (если процессы установлены на нескольких) — порты OPC UA процессов из таблицы ниже.
Процесс OPC UA Клиенты
scada-proxy 4840 2000
scada-config 4841 2001
scada-historian 4842 2002
scada-modbus 4843 2003
scada-iec104 4844 2004
scada-iec61850 4845 2005
scada-filesystem 4846 2006
scada-opc 4847 2007
scada-vidicon 4848 2008

ВНИМАНИЕ: порты OPC UA 4840–4848 должны быть доступны только с компьютеров объекта. Процессы регистрируются у scada-proxy и scada-config без проверки подлинности, анонимный вход по OPC UA предлагается всегда, а проверка сертификатов клиентов OPC UA по умолчанию выключена (смотрите Сертификат Сервера). Компьютер, получивший доступ к этим портам, может подключиться к процессам Сервера или выдать себя за один из них.

Порты 2001–2008 остальных процессов тоже принимают вход пользователей, но Клиентам не нужны: не открывайте их.

Подготовка проекта

Если у вас есть готовая конфигурационная БД проекта (configuration.sqlite3 версии 2.6), положите ее в папки Configuration трех процессов, каждый из которых работает со своей копией: scada-config передает конфигурацию процессам протокольного уровня, scada-proxy проверяет по ней имена и пароли пользователей Клиента, scada-historian берет из нее список архивов и их назначение объектам.

  1. Остановите процессы: scada-setup stop.
  2. Скопируйте файл в папки config\Configuration, proxy\Configuration и historian\Configuration внутри %ProgramData%\Telecontrol\SCADA Server, заменив созданные apply базы.
  3. Выполните scada-setup apply с теми же параметрами, что и при установке. Он сохраняет скопированные базы и добавляет в них служебную учетную запись svc (идентификатор 100), без которой процессы не смогут подключиться друг к другу. Пользователь проекта с идентификатором 100 будет заменен учетной записью svc. Если база взята с другого объекта версии 2.6, в ней сохранен пароль svc того объекта: на этом объекте нужен тот же пароль svc, иначе процессы не подключатся друг к другу.

Конфигурацию Сервера версии 2.5 переносите командой scada-setup migrate: она переносит и пароли пользователей, которые версия 2.5 хранила в отдельном файле (смотрите Обновление с версии 2.5).

На каждом рабочем месте скопируйте файлы мнемосхем (.sde) в папку %ProgramData%\Telecontrol\SCADA Client. При использовании серверной файловой системы достаточно загрузить файлы мнемосхем на сервер.

Чтобы ознакомиться с системой без оборудования, задайте объектам эмуляцию.

Подробности о создании проекта и настройке оборудования смотрите в разделе Проектирование.

Запуск Сервера

Службы процессов запускаются автоматически вместе с Windows; вход пользователя в систему не требуется. При сбое процесса Windows перезапускает его службу (смотрите Службы Windows). Запустить или остановить все процессы компьютера в правильном порядке можно командами scada-setup start и scada-setup stop.

Для диагностики процесс может быть запущен в консольном режиме.

Запуск Клиента

Для запуска Клиента используйте пиктограмму Клиент на рабочем столе или из меню Пуск — ОИК Телеконтроль. При этом будут запрошены реквизиты пользователя ОИК для подключения к Серверу:

При первом запуске войдите как root с паролем, заданным параметром --root-password при установке.

В поле Сервер введите имя или адрес IP компьютера, где работает процесс scada-proxy, если он отличается от текущего. Иначе поле Сервер оставьте пустым.

При установленном флаге Входить автоматически в следующий раз программа будет использовать указанные реквизиты при каждом последующем запуске без отображения окна входа. Чтобы в Windows один раз войти с другими реквизитами, удерживайте Ctrl при запуске Клиента; в других ОС такой возможности нет.

Первые шаги после входа

После входа в систему:

  1. Откройте панель объектов — меню Дополнительно — Объекты. В панели отображается дерево объектов с текущими значениями. Двойной клик по объекту открывает его график.

  2. Просмотрите мнемосхемы — меню Мнемосхема. Выберите доступную схему из списка.

  3. Проверьте состояние оборудования — меню Дополнительно — Оборудование. Иконки слева от устройств показывают состояние связи.

  4. Создайте пользователей — меню Дополнительно — Пользователи. Создайте учетные записи для операторов и работайте под ними, а не под root. Смотрите Конфигурирование пользователей.

Далее смотрите описание Клиента.

Обновление

Этот порядок — для обновления версии 2.6 и новее. Сервер версии 2.5 и ранее был одним процессом с одной службой, и его данные нужно перенести в процессы версии 2.6 — смотрите ниже.

Перед обновлением сделайте резервную копию — смотрите Резервное копирование. Затем на каждом компьютере:

scada-setup stop
msiexec /i telecontrol-scada-<новая версия>.msi /qn
scada-setup apply --tiers <процессы этого компьютера> [--central <адрес>] [--advertise <адрес>] --svc-password <пароль> --root-password <пароль root>

Повторите в apply те же --tiers, --central и --advertise, что и при установке, и тот же пароль svc. Установщик заменяет только исполняемые файлы; apply заново создает файлы параметров (изменения, внесенные в них вручную, теряются) и не трогает данные. На компьютерах только с процессами протокольного уровня --root-password можно не указывать.

Обновление с версии 2.5

Сервер версии 2.5 работал одной службой Telecontrol SCADA Server и использовал аппаратный ключ. Для перехода на версию 2.6 на компьютере, где он работал:

  1. Получите лицензию версии 2.6 и положите ее в %ProgramData%\Telecontrol\SCADA Server\license.json.
  2. Сделайте резервную копию папки %ProgramData%\Telecontrol\SCADA Server.
  3. Установите пакет версии 2.6 (msiexec /i telecontrol-scada-<версия>.msi /qn).
  4. Выполните scada-setup migrate и прочитайте план: что и куда будет скопировано и что мешает переходу. Команда ничего не меняет.
  5. В командной строке с правами администратора выполните scada-setup migrate --execute --svc-password <пароль> --root-password <пароль root>. Команда удаляет старую службу, копирует конфигурацию, пользователей с паролями, архивы и файлы мнемосхем в папки процессов 2.6 и запускает их, как apply (в том числе создает сертификат Сервера). Пароль root версии 2.5 при этом заменяется паролем из --root-password (смотрите Пароль root).
  6. Проверьте работу Клиентом.

Старые папки Configuration, History и FileSystem не изменяются и не удаляются. Подробности — в разделе Переход с версии 2.5.

Устранение неполадок

Клиент не может подключиться к Серверу
Убедитесь, что служба Telecontrol SCADA Proxy запущена (scada-setup status на ее компьютере). Проверьте, что порт 2000 разрешен в брандмауэре и доступен по сети.
Процесс Сервера останавливается сразу после запуска
Нет действительного файла лицензии или лицензия не включает этот процесс, либо удален один из файлов сертификата Сервера (в журнале — Can't open file; scada-setup apply в этом случае сообщает, какого файла не хватает). Причина записывается в журнал процесса. Смотрите Лицензирование.
Все процессы остановились после замены файла лицензии
Файл был недоступен или записан не полностью в момент проверки. Положите действительный файл (смотрите Замена файла лицензии) и выполните scada-setup start.
Процесс работает, но отклоняет запросы
Лицензия не проверена или истекла (срок — в выводе scada-setup status). Вне Google Cloud проверьте, что задан "license": {"require_gcp_binding": false}; при истекшей лицензии замените файл — перезапуск не нужен.
Значения перестали записываться в архив
После перезапуска службы процесса протокольного уровня (например, Telecontrol SCADA IEC 104), в том числе автоматического после сбоя, запись в архив значений его объектов прекращается. Перезапустите службу Telecontrol SCADA Historian. Смотрите Наблюдение за работой.
Мнемосхемы не отображаются
Если в окне мнемосхемы выводится «Модуль отображения мнемосхем не установлен», в папке Клиента нет модуля отображения мнемосхем — обратитесь в ООО «Телеконтроль». Иначе проверьте, что файл мнемосхемы есть в папке %ProgramData%\Telecontrol\SCADA Client или в серверной файловой системе.
Значения объектов отображаются серым цветом
Серый текст значения означает недостоверное значение: например, нет связи с устройством. Проверьте состояние устройств в панели оборудования (Дополнительно — Оборудование). Мигающий желтый фон строки означает другое — у объекта есть неквитированное событие.