Архитектура RapidScada 5.7

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

    Интересует концепция и архитектура новой версии.

    Вот есть папка Instances, в которой папки с конфигами Коммуникатора, Сервера и WEB.
    Есть удаленные машины с разным составом устройств. Куда собственно пихать библиотеки устройств, конфигурации устройств и так далее ?

    Все валить в общую кучу ? (так работает), но как-то это не совсем правильно….

    Как теперь поступать с драйверами ?

    Так же папка lib есть только в ScadaSdmin, а для ScadaComm нет ?

    При создании каналов система ищет файл настроек xml в Instatnce, но если он там, драйвер не работает, так как ищет именно в ScadaComm\Config — требуется дублировать файлы ?

    Если положить туда конфигурацию то следующая ошибка
    Ссылка на объект не указывает на экземпляр объекта.

    • Эта тема была изменена 4 года, 9 месяцев назад от manjey73.
    • Эта тема была изменена 4 года, 9 месяцев назад от manjey73.
    • Эта тема была изменена 4 года, 9 месяцев назад от manjey73.
    #12215
    manjey73
    Участник

    В общем нужно понимание, что куда и откуда идет. Что изменять в коде драйверов ?

    #12218
    manjey73
    Участник

    Простая пересборка DLL с новыми ссылками не приводит ни к какому результату.
    Что править в Датском королевстве ?

    #12219
    manjey73
    Участник

    Нашел у себя ошибку при формировании каналов управления…

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

    В настройках Администратора прописаны пути к Серверу и Коммуникатору. Модули и драйвера берутся из указанных папок (с учётом подпапок Mod и KP). Но если Ваш модуль требует любую другую DLL, то надо эту библиотеку положить в Lib к Администратору, чтобы он её нашёл.

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

    При создании каналов система ищет файл настроек xml в Instatnce, но если он там, драйвер не работает, так как ищет именно в ScadaComm\Config — требуется дублировать файлы ?

    Если запускается GIU драйвера из проекта, то файл настроек драйвера ищется в инстансе. А при передаче проекта на сервер, файл настроек попадает в ScadaComm\Config, где и берётся логикой драйвера.

    #12229
    manjey73
    Участник

    Хорошо, у нас несколько удаленных Коммуникаторов и один Сервер, проект при этом общий. На разных Коммуникаторах разные устройства.

    Как при этом будут копироваться на удаленные машины библиотеки устройств ? из одного общего котла папки КП ? Или такие вещи не копируются, а копируются только настройки ?

    Собственно и хотелось бы понять архитектуру, как все это планировалось ?

    • Этот ответ был изменен 4 года, 9 месяцев назад от manjey73.
    #12241
    Mikhail
    Модератор

    Сами DLL копируются руками. При передаче проекта копируются только настройки.

    Собственно и хотелось бы понять архитектуру, как все это планировалось ?

    Спрашивайте, конечно.

    #12987
    lost_post
    Участник

    Добрый день. Недавно обновился на 5.7. На Windows все работает, на Linux не рабоет два модуля — Telegram и Mercury23x.dll .
    Telegram свои логи не ведет, в логах кп, линии связи понять в чем ошибка не получается. Ключ регистрации указал. Постоянные ошибки во время сеансов связи. Команды получает но сообщение не отправляет. Где искать причины?

    Mercury23x просто при запуске выдает ошибки, а после тишина.

    Scada.ScadaException: Error getting device logic type from the library KpMercury23x.dll: Invalid Image —> System.IO.FileNotFoundException: Invalid Image
    at (wrapper managed-to-native) System.Reflection.Assembly.LoadFile_internal(string)
    at System.Reflection.Assembly.LoadFile (System.String path, System.Security.Policy.Evidence securityEvidence) [0x0002b] in <7b0d87324cab49bf96eac679025e77d1>:0
    at System.Reflection.Assembly.LoadFile (System.String path) [0x00000] in <7b0d87324cab49bf96eac679025e77d1>:0
    at Scada.Comm.Devices.KPFactory.GetKPLogic (System.String kpDir, System.String dllName, System.Int32 kpNum) [0x00024] in <36febf21b4ff4ccb86cd72ca1dae7bec>:0
    — End of inner exception stack trace —
    at Scada.Comm.Devices.KPFactory.GetKPLogic (System.String kpDir, System.String dllName, System.Int32 kpNum) [0x0006f] in <36febf21b4ff4ccb86cd72ca1dae7bec>:0
    at Scada.Comm.Engine.CommLine.CreateKPLogic (System.Int32 kpNum, System.String dllName, Scada.Comm.AppDirs appDirs, System.Collections.Generic.Dictionary`
    2[TKey,TValue] kpTypes, Utils.Log appLog) [0x0003a] in <5f40884c707142e1a4a77bad45468e05>:0
    at Scada.Comm.Engine.CommLine.Create (Scada.Comm.Settings+CommLine commLineSett, Scada.Comm.Settings+CommonParams commonParams, Scada.Comm.AppDirs appDirs, Scada.Comm.Engine.CommLine+PassCmdDelegate passCmd, System.Collections.Generic.Dictionary`2[TKey,TValue] kpTypes, Utils.Log appLog) [0x00119] in <5f40884c707142e1a4a77bad45468e05>:0
    at Scada.Comm.Engine.Manager.CreateCommLine (Scada.Comm.Settings+CommLine commLineSett) [0x0002a] in <5f40884c707142e1a4a77bad45468e05>:0
    2019-07-30 15:26:09 <Gacrux><root><ACT> Load device library: KpMercury23x.dll
    2019-07-30 15:26:09 <Gacrux><root><EXC> Error creating communication line 8:
    Scada.ScadaException: Error getting device logic type from the library KpMercury23x.dll: Invalid Image —> System.IO.FileNotFoundException: Invalid Image
    at (wrapper managed-to-native) System.Reflection.Assembly.LoadFile_internal(string)
    at System.Reflection.Assembly.LoadFile (System.String path, System.Security.Policy.Evidence securityEvidence) [0x0002b] in <7b0d87324cab49bf96eac679025e77d1>:0
    at System.Reflection.Assembly.LoadFile (System.String path) [0x00000] in <7b0d87324cab49bf96eac679025e77d1>:0
    at Scada.Comm.Devices.KPFactory.GetKPLogic (System.String kpDir, System.String dllName, System.Int32 kpNum) [0x00024] in <36febf21b4ff4ccb86cd72ca1dae7bec>:0
    — End of inner exception stack trace —
    at Scada.Comm.Devices.KPFactory.GetKPLogic (System.String kpDir, System.String dllName, System.Int32 kpNum) [0x0006f] in <36febf21b4ff4ccb86cd72ca1dae7bec>:0
    at Scada.Comm.Engine.CommLine.CreateKPLogic (System.Int32 kpNum, System.String dllName, Scada.Comm.AppDirs appDirs, System.Collections.Generic.Dictionary`2[TKey,TValue] kpTypes, Utils.Log appLog) [0x0003a] in <5f40884c707142e1a4a77bad45468e05>:0
    at Scada.Comm.Engine.CommLine.Create (Scada.Comm.Settings+CommLine commLineSett, Scada.Comm.Settings+CommonParams commonParams, Scada.Comm.AppDirs appDirs, Scada.Comm.Engine.CommLine+PassCmdDelegate passCmd, System.Collections.Generic.Dictionary`2[TKey,TValue] kpTypes, Utils.Log appLog) [0x00119] in <5f40884c707142e1a4a77bad45468e05>:0
    at Scada.Comm.Engine.Manager.CreateCommLine (Scada.Comm.Settings+CommLine commLineSett) [0x0002a] in <5f40884c707142e1a4a77bad45468e05>:0

    Подскажите в чем может быть дело?

    • Этот ответ был изменен 4 года, 8 месяцев назад от lost_post.
    #12989
    manjey73
    Участник

    На счет Mercury23x странно, драйвер не использует сам загрузку каких либо файлов, а у вас ошибка System.IO.FileNotFoundException ???

    Может саму библиотеку не положили ?

    Агент Scada не копирует библиотеки драйверов на удаленный сервер, он копирует только конфигурации.

    • Этот ответ был изменен 4 года, 8 месяцев назад от manjey73.
    #12991
    lost_post
    Участник

    Mercury23x — действительно забыл dll скопировать, но скопировав — ошибки ушли, а данные не появились. Опрос запущен, TCP соединение устанавливает, а дальше тишина.

    Telegram — все также, — все запросы неуспешные.

    Где посмотреть какие ошибки и у того и у другого модуля??

    • Этот ответ был изменен 4 года, 8 месяцев назад от lost_post.
    #12994
    Mikhail
    Модератор

    Добрый день!
    Заведите, пожалуйста, отдельную тему. Эта тема не подходит по смыслу проблемы.
    Укажите, какие версии драйверов используется.

    Постоянные ошибки во время сеансов связи.

    Нужен лог линии связи.

    #13000
    lost_post
    Участник

    Создал отдельную тему

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