Стартовая страница › Форумы › Разработка и интеграция › Архитектура RapidScada 5.7
- В этой теме 12 ответов, 3 участника, последнее обновление 4 года, 8 месяцев назад сделано lost_post.
-
АвторСообщения
-
13.06.2019 в 09:38 #12211manjey73Участник
Интересует концепция и архитектура новой версии.
Вот есть папка Instances, в которой папки с конфигами Коммуникатора, Сервера и WEB.
Есть удаленные машины с разным составом устройств. Куда собственно пихать библиотеки устройств, конфигурации устройств и так далее ?Все валить в общую кучу ? (так работает), но как-то это не совсем правильно….
Как теперь поступать с драйверами ?
Так же папка lib есть только в ScadaSdmin, а для ScadaComm нет ?
При создании каналов система ищет файл настроек xml в Instatnce, но если он там, драйвер не работает, так как ищет именно в ScadaComm\Config — требуется дублировать файлы ?
Если положить туда конфигурацию то следующая ошибка
Ссылка на объект не указывает на экземпляр объекта.13.06.2019 в 09:46 #12215manjey73УчастникВ общем нужно понимание, что куда и откуда идет. Что изменять в коде драйверов ?
13.06.2019 в 10:09 #12218manjey73УчастникПростая пересборка DLL с новыми ссылками не приводит ни к какому результату.
Что править в Датском королевстве ?13.06.2019 в 13:49 #12219manjey73УчастникНашел у себя ошибку при формировании каналов управления…
13.06.2019 в 16:04 #12223MikhailМодераторВ настройках Администратора прописаны пути к Серверу и Коммуникатору. Модули и драйвера берутся из указанных папок (с учётом подпапок Mod и KP). Но если Ваш модуль требует любую другую DLL, то надо эту библиотеку положить в Lib к Администратору, чтобы он её нашёл.
13.06.2019 в 16:05 #12224MikhailМодераторПри создании каналов система ищет файл настроек xml в Instatnce, но если он там, драйвер не работает, так как ищет именно в ScadaComm\Config — требуется дублировать файлы ?
Если запускается GIU драйвера из проекта, то файл настроек драйвера ищется в инстансе. А при передаче проекта на сервер, файл настроек попадает в ScadaComm\Config, где и берётся логикой драйвера.
13.06.2019 в 16:42 #12229manjey73УчастникХорошо, у нас несколько удаленных Коммуникаторов и один Сервер, проект при этом общий. На разных Коммуникаторах разные устройства.
Как при этом будут копироваться на удаленные машины библиотеки устройств ? из одного общего котла папки КП ? Или такие вещи не копируются, а копируются только настройки ?
Собственно и хотелось бы понять архитектуру, как все это планировалось ?
- Этот ответ был изменен 4 года, 10 месяцев назад от manjey73.
14.06.2019 в 19:28 #12241MikhailМодераторСами DLL копируются руками. При передаче проекта копируются только настройки.
Собственно и хотелось бы понять архитектуру, как все это планировалось ?
Спрашивайте, конечно.
30.07.2019 в 16:24 #12987lost_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.
30.07.2019 в 16:29 #12989manjey73УчастникНа счет Mercury23x странно, драйвер не использует сам загрузку каких либо файлов, а у вас ошибка System.IO.FileNotFoundException ???
Может саму библиотеку не положили ?
Агент Scada не копирует библиотеки драйверов на удаленный сервер, он копирует только конфигурации.
- Этот ответ был изменен 4 года, 8 месяцев назад от manjey73.
30.07.2019 в 16:59 #12991lost_postУчастникMercury23x — действительно забыл dll скопировать, но скопировав — ошибки ушли, а данные не появились. Опрос запущен, TCP соединение устанавливает, а дальше тишина.
Telegram — все также, — все запросы неуспешные.
Где посмотреть какие ошибки и у того и у другого модуля??
- Этот ответ был изменен 4 года, 8 месяцев назад от lost_post.
30.07.2019 в 17:22 #12994MikhailМодераторДобрый день!
Заведите, пожалуйста, отдельную тему. Эта тема не подходит по смыслу проблемы.
Укажите, какие версии драйверов используется.Постоянные ошибки во время сеансов связи.
Нужен лог линии связи.
30.07.2019 в 19:33 #13000 -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.