Создание клиентских АРМ
Настройка проекта
Имеется: настроенный проект SCADA ЭНТЕК на сервере.
Задача: организовать одно или несколько рабочих мест на клиентских машинах.
Решение: на компьютере, где организуется клиентское рабочее место, надо установить SCADA-систему ЭНТЕК (Меркурий Энергоучёт) и открыть уже имеющийся проект. Все настройки проекта хранятся в папке проекта (например, "C:\Program Files\ENTEK\Projects\ППГ"). Эту папку можно скопировать с сервера на клиента (без папки с базами данных) или открыть проект на клиентской машине из сетевой папки на сервере (предварительно организовав к ней общий доступ). Первый способ неудобен для дальнейшей поддержки системы – любое изменение проекта на сервере потребует синхронизации проектов на клиентских рабочих местах. Поэтому рекомендуется иметь одну папку проекта на сервере с доступом к ней клиентов по сети.
Рекомендация. В большинстве случае с клиентских рабочих мест нет необходимости иметь возможность редактировать проект (мнемосхемы и пр.), поэтому общую папку на сервере с проектом ЭНТЕК желательно открывать в режиме только для чтения. При этом у пользователей все равно будет возможность (если разрешены права в ЭНТЕКе), редактировать базу Справочников и модуля Энергоанализ.
Внимание! Получение данных от сервера к клиенту происходит по нескольким каналам по протоколу TCP/IP. Поэтому необходимо обеспечить разрешение работы клиентских и серверных приложение ЭНТЕКа – Сервер сбора данных, сервер БД Firebird – через установленные на компьютерах брандмауэры, а при сложной структуре сети – возможно и через сетевые роутеры. Рекомендуется первично добиться работы клиентских АРМ с отключенным брандмауэром на сервере и клиенте, а затем уже включать его обратно, и вводить разрешения.
Необходимо предоставить доступ к проекту клиентским станциям.
Модуль настройки сетевого взаимодействия запускается из группы "Настройки" модуля "Интегратор", кнопка "Станции".
Модуль "Станции".
В модуле "Станции" необходимо прописать IP адрес сервера:
"Свойства TCP/IP для сервера" - Адрес 1 и "Свойства TCP/IP для клиента" - Адрес 1".
Когда нет необходимости в организации резервирования, адреса для сервера должны быть идентичны адресам для клиента.
Так же, необходимо поставить галочку «Разрешить чтение значений параметров» для выбранной станции.
Если требуется разрешить чтение не с любой станции, а только с определённых, то надо в проект добавить эти станции (они станут «зарегистрированными»).
Настройки модуля "Станции" сохраняются в конфигурационном файле Stations.ini, расположенном в папке Configurator вашего проекта.
Базы данных
В проектах SCADA ЭНТЕК всегда есть несколько баз данных:
· БД пользователей (\Users.fdb) (Наличие БД в проекте обязательно!)
· БД событий (\Events.fdb) (Наличие БД в проекте обязательно!)
· БД диспетчера – Справочники и журналы (\Dispatcher.fdb)
· БД истории (их может быть сколько угодно), например Base\analog.fdb
Так как большинство небольших проектов реализовано на одном компьютере и не требуют доступа к данным с других машин, то в «Мастере создания проектов» по-умолчанию предлагается хранить базы данных в папке проекта и задаются относительные пути к базам данных (например, Base\Users.fdb), путь задается относительно каталога проекта.
Это позволяет легко переносить проект в другое место на том же компьютере, или на другую машину путём простого копирования папки проекта. Но для удалённого доступа к БД по сети требуется указание имени сервера и полного пути к файлу БД на этом сервере, даже если сама БД находится в папке проекта (например, «C:\Program Files\ENTEK\Projects\DEMO\Base\users.fdb»).
Наша задача изменить путь к БД, настроенный «Мастером создания проектов». Часть работы выполняется через графический интерфейс модулей, но путь к некоторым БД необходимо изменить в конфигурационных файлах.
База данных пользователей
Путь к БД пользователей задаётся при создании проекта в «Мастере создания проектов» и в дальнейшем не может быть изменён визуальными средствами, но можно изменить путь к БД пользователей вручную, редактируя файл Configurator\UserList.ini в папке проекта. Для этого надо открыть данный файл в любом текстовом редакторе и изменить значение ключа DBFileName в секции UserList.
Заходим в папку, в которой расположен проект, который мы собираемся сделать сетевым. Например, C:\ENTEK Projects\Сетевой проект
Файл UserList.ini будет иметь такое содержание:
[UserList]
ServerIsStation=1
ServerStationId=1
DBFileName=Base\Users.fdb
UserName=sysdba
Password=C8306653CF5F1FBAB4
[CacheList]
Public=
admin=
Используется режим ServerIsStation=1, в котором IP адрес сервера берется из настроек модуля Станции.
Настройка ServerStationId определяет идентификатор станции (станций может быть несколько).
То есть, используется пара настроек:
ServerIsStation=1
ServerStationId=<ID станции>
Путь к БД прописывается в строке DBFileName.
В примере путь к базе пользователей локального проекта (относительный путь):
DBFileName=Base\Users.fdb
Если в вашем проекте БД расположена не в папке с проектом, необходимо прописать полный путь к БД. На пример, C:\db\Users.fdb
Специализированный сервер в качестве сервера баз данных
В случае, если сервер БД будет размещён на отдельном компьютере, отключаем режим считывания IP адреса из модуля Станции: ServerIsStation=0
и добавляем ключ ServerName, в котором прописываем IP-адрес сервера БД:
ServerName=ххх.ххх.ххх.ххх
Пример:
[UserList]
ServerIsStation=0
ServerName=192.168.0.1
DBFileName=d:\Entek project\netproject\Base\Users.fdb
UserName=sysdba
Password=C8306653CF5F1FBAB4
[CacheList]
Public=
admin=
Глобальный путь к БД
Является ещё одним вариантом настройки пути к БД.
При использовании глобального пути к БД ключи ServerIsStation и ServerStationId не нужны. Их необходимо УДАЛИТЬ.
Глобальный путь к базе пользователей на сервере будет выглядеть следующим образом:
DataBase=SERVER:E:\DB-ENTELS\users.fdb
или так:
DataBase=192.168.0.1:E:\DB-ENTELS\users.fdb
Общий формат записи:
DataBase=<сетевое имя или IP-адрес сервера>:<полный путь к файлу БД на сервере>
Пример:
[UserList]
DataBase= 192.168.0.1: C:\ENTEK Projects\Сетевой проект \Base\Users.fdb
UserName=sysdba
Password=C8306653CF5F1FBAB4
[CacheList]
Public=
admin=
Сохраняем изменения, пробуем из «Интегратора» модуль «Пользователи», если модуль открылся, идем дальше, если не открылся, ищем ошибку в файле «UserList.ini»
Внимание!!! Если строки ServerIsStation=1 ServerStationId=1 не удалять, и прописать глобальный путь к БД, доступа к БД не будет,
поскольку путь к БД будет "задваиваться": 192.168.0.1:192.168.0.1: C:\ENTEK Projects\Сетевой проект \Base\Users.fdb
Настройка пути к БД Событий
Путь к БД событий также задаётся при создании проекта в «Мастере создания проектов» и может быть изменён в программе «События» в режиме настройки.
Запускаем модуль «События» из группы «Настройка» «Интегратора»:
Выставление Свойства (галочки) Сервер, Из проекта, приводит к тому, что сервер базы данных событий (имя компьютера или IP-адрес) будет использоваться тот, который настроен в модуле сетевых станций, и в данном окне он выбран из выпадающего списка.
Можно отключить галочку "Из проекта", и вписать в поле редактирования принудительно сетевое имя сервера или его IP-адрес.
В строке "Сервер" убираем галочку "из проекта" и, вместо названия станции, прописываем её IP или Hostname.
В поле "Файл БД на сервере" прописываем полный путь: C:\ENTEK Projects\Сетевой проект \Base \Events.fdb
Сохраняем изменения, нажимаем на кнопку "Проверить соединения", чтобы проверить работоспособность.
База данных Справочники
БД Справочники настраивается при создании проекта в «Мастере создания проектов» и для изменения пути к БД в дальнейшем необходимо редактировать файл Dispatcher\Dispatcher.ini в папке проекта. Для этого надо открыть данный файл в любом текстовом редакторе и изменить значение ключа DBFileName в секции DspDataBase.
Пример пути к базе Справочники в локальном проекте (относительный путь):
Путь к БД модуля "Справочники" прописывается по аналогии с БД пользователей.
База данных Истории
Базы данных истории создаются и настраиваются в программе «История».
Запускаем модуль «История» из «Интегратора»:
Делаем все тоже самое, что и в модуле «События». В строке "Сервер" убираем галочку "из проекта" и вместо названия станции, прописываем её IP адрес. Параметр "Файл БД" прописываем полный путь: C:\ENTEK Projects\Сетевой проект \Base\Ascue.fdb (для всех остальных баз данных делаем тоже самое).
Сохраняем изменения, нажимаем на кнопку "Проверить соединения", чтобы проверяем работоспособность.
Настройка общего доступа к проекту
Правой кнопкой мыши нажимаем по папке с нашим проектом «Проект №1» и заходим в свойства, на вкладку «Доступ»:
Рис.5
Выбираем нужных пользователей из локальной сети, либо же выбираем «Всех»:
Рис.6
Предоставляем права на «Чтение\запись»:
Рис.7
Нажимаем кнопку «Поделиться»:
Рис.8
Внимание!! Доступ к папка в БД открывать не надо!
Теперь закрываем все модули и сам «Интегратор», открываем проект из сетевой папки, ставим галочку «Проект по умолчанию», настройка сетевого проекта завершена.