Проект с несколькими коммуникаторами

Стартовая страница Форумы Вопросы по установке Проект с несколькими коммуникаторами

Просмотр 15 сообщений - с 1 по 15 (из 27 всего)
  • Автор
    Сообщения
  • #24170
    JurasskPark
    Участник

    Когда на одном сервере стоит и web, коммуникатор и база данных — всё хорошо и отлично работает под одним пользователем.
    Сейчас я попытался настроить систему, когда БД на одном сервере, WEB — на другом, у коммуникатора (их 3 штуки) — у каждого свой сервер (под сервером я подразумеваю отдельный физический сервер). И вот тут я мозг сломал. 🙂
    Во-первый, я понял, что не понимаю, будет ли один компонент работать без другого или нет, например, нужно ли для коммуникатора ставить ScadaAgent или нет. Пока я понял, что отдельно ставить Web без ScadaServer нет смысла т.к. там структура «предприятия» с линиями и тегами.
    Во-вторых, я понял, что не понимаю, как в экземпляре у коммуникатора указывается просто веб-сервер, а не конкретный конфигурационный файл xml, который он понимает, что это его…
    В-третьих, если локально передать конфиг и перезапустить службу — это работает, то как передавать конфиг на разные сервера и перезапускать там службу у конфигуратора должно быть учетная запись с правами администратора, которая это сделает, когда обращаясь к вебу увидит признак изменения… скачает его и перезапустит службу.

    Если не сложно, можно какой-нибудь гайд с примером, когда 2-3 коммуникатора работают с одним проектом и они понимают, что их, а что чужое?:)

    P.S. Текст немного выглядит сумбурно, но я весь день промучился и уже устал.

    #24171
    manjey73
    Участник

    ScadaAgent нужен, так как через него передается конфигурация для Коммуникатора
    Web так же может находиться на другом сервере, просто его надо настроить обращаться к требуемуму.

    У вас будут разные экземпляры для компонентов, ставите курсор на нужный экземпляр и передаете данные.

    #24172
    JurasskPark
    Участник

    manjey73, спасибо за ответ, но хотелось бы больше конкретики для пещерного человека, который только вышел в город. ))))

    Какой-нибудь пример с реальными портами, настройками, проектом, скриншотами, потому что мой мозг пока не буксует на следующем.

    Допустим на сервере коммуникаторе — установлен сам коммуникатор и агент.

    <CommonParams>
    <Param name=»ServerUse» value=»true» descr=»Использовать SCADA-Сервер» />
    <Param name=»ServerHost» value=»192.168.1.100″ descr=»Имя компьютера или IP-адрес SCADA-Сервера» />
    <Param name=»ServerPort» value=»10000″ descr=»Номер TCP-порта SCADA-Сервера» />
    <Param name=»ServerUser» value=»ScadaComm» descr=»Имя пользователя для подключения к SCADA-Серверу» />
    <Param name=»ServerPwd» value=»12345″ descr=»Пароль пользователя для подключения к SCADA-Серверу» />
    <Param name=»ServerTimeout» value=»10000″ descr=»Таймаут ожидания ответа SCADA-Сервера, мс» />
    <Param name=»WaitForStop» value=»10000″ descr=»Ожидание остановки линий связи, мс» />
    <Param name=»SendModData» value=»true» descr=»Передавать только изменившиеся теги КП» />
    <Param name=»SendAllDataPer» value=»60″ descr=»Период передачи всех тегов КП, с» />
    </CommonParams>

    <?xml version=»1.0″ encoding=»utf-8″?>
    <ScadaAgentConfig>
    <SecretKey>5ABF5A7FD01752A2F1DFD21370B96EA462B0AE5C66A64F8901C9E1E2A06E40F1</SecretKey>
    <Instances>
    <Instance name=»Default» directory=»C:\SCADA\» />
    </Instances>
    </ScadaAgentConfig>

    192.168.1.100 — это сервер БД, где установлен ScadaServer.
    ServerPort» value=»10000″ — 10000 порт один и менять не будет.

    А вот у агента есть только <SecretKey>5ABF5A7FD01752A2F1DFD21370B96EA462B0AE5C66A64F8901C9E1E2A06E40F1</SecretKey> — он должен у каждого коммуникатора различаться, чтобы каждый понимал, какой конфиг ему надо?

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

    #24173
    JurasskPark
    Участник

    Я тут подумал, а не должно ли в таблице Объекты базы данных создано 3 коммуникатора??? Ну то есть каждое «предприятие» — это и есть отдельный коммуникатор?

    • Этот ответ был изменен 1 год, 7 месяцев назад от JurasskPark.
    #24175
    manjey73
    Участник

    Запустите Администратор, там добавляете экземпляры. https://ibb.co/cQ9JYYn

    Экземпляр может состоять только из Коммуникатора, в котором импортирована(ы) линии связи. Код может быть любым, но он должен соответствовать экземпляру. Копировать можно по SSH если Linux или просто по RDP если Винда…
    То есть эти вещи необходимо сделать руками. Потом сама конфигурация передается уже из Администратора.
    Где хранится ключ и имя экземпляра надо смотреть в папке Агента

    Можно и Сервера + Быстрый шлюз, можно и Коммуникатор на нужный Сервер

    #24176
    JurasskPark
    Участник

    Спасибо большое! Попробую! 🙂

    #24177
    JurasskPark
    Участник

    Всё получилось! 🙂

    #27303
    Maxim Moriarty
    Участник

    JurasskPark добрый день! Пытаюсь реализовать подобную схему с коммуникатором на удаленном сервере. Не могу сообразить как законфигурировать основной сервер, чтобы были видны коммуникаторы на других серверах. Как с них получить информацию? Это указывается в Communication Lines?

    #27305
    JurasskPark
    Участник

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

    Чтобы были видны другие коммуникаторы как через модуль Быстрый шлюз — я вам не подскажу. Я такого не делал.
    У меня простая схема. Коммуникатор + Агент — оба настроены на Сервер. Служба запустилась, настройки прочитала — железку опросила, данные записала. Ни о каких соседях она не знает. 🙂 Просто в проекте несколько Экземпляров — каждый экземпляр — это отдельный физический сервер, который настроен на Сервер RapidScada.

    #27306
    manjey73
    Участник

    @maxim1802 у вас в дереве будет несколько Экземпляров
    1-й Сервер, Коммуникатор, WEB
    2-й и последующие только Коммуникаторы.

    На 2-ом и далее достаточно запущенного Агента и Коммуникатора, в настройках Коммуникатора указан IP и порты основного Сервера.

    В проекте, линии связи удаленных Коммуникаторов вы импортируете в Коммуникаторы требуемых Экземпляров.
    Ставите курсор на требуемый Экземпляр и передаете Коммуникатору изменения.—

    Если меняете ключи безопасности, то их надо в конфиги Агента ручками скопировать, используя SSH

    • Этот ответ был изменен 1 год назад от manjey73.
    #27335
    Maxim Moriarty
    Участник

    Выполнил ручную установку dotnet-runtime, ScadaAgent6 и ScadaComm6. К инстансу смог подключиться и передать конфиг. Коммуникатор стартует но выдает вот такую ошибку. С чем это может быть связано? Execution is impossible because active data sources are missed
    Статус коммуникатора в логах показывает Error.

    
    2023-02-11 10:13:42 [orangepizero2][root][ACT] Communicator 6.0.0.1 started
    2023-02-11 10:13:42 [orangepizero2][root][ACT] Storage FileStorage 6.0.0.0 loaded from file /opt/scada/ScadaComm/FileStorage.dll
    2023-02-11 10:13:42 [orangepizero2][root][ACT] Start logic processing
    2023-02-11 10:13:42 [orangepizero2][root][ACT] Driver DrvCnlBasic 6.0.0.0 loaded from file /opt/scada/ScadaComm/Drv/DrvCnlBasic.Logic.dll
    2023-02-11 10:13:42 [orangepizero2][root][ACT] Driver DrvModbus 6.0.0.0 loaded from file /opt/scada/ScadaComm/Drv/DrvModbus.Logic.dll
    2023-02-11 10:13:42 [orangepizero2][root][ERR] Execution is impossible because active data sources are missed
    
    #27337
    manjey73
    Участник

    не помню точно как по русски, но нет никаких данных для передачи…

    #27338
    Romiros
    Участник

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

    #27340
    Mikhail
    Модератор

    Пример https://ibb.co/mhyYqDM

    #27355
    Maxim Moriarty
    Участник

    Всем огромное спасибо! Данные передаются

Просмотр 15 сообщений - с 1 по 15 (из 27 всего)
  • Вы должны авторизироваться для ответа в этой теме.