Стартовая страница › Форумы › Разработка и интеграция › Создание каналов КП в Администарторе
- В этой теме 63 ответа, 4 участника, последнее обновление 7 лет, 2 месяца назад сделано
Mikhail.
-
АвторЗаписи
-
23.05.2019 в 13:30 #11857
manjey73УчастникВсе нормально, имя файла конфигурации есть, усе хорошо, но при активной строке точка останова внутри функции не срабатывает вообще.
Подозрение что Администратор на чем то спотыкается, предположение что на Сериализации , но очень странно что вообще не заходит в функцию и не останавливается, просто вылетает нафик и все…
23.05.2019 в 13:39 #11858Romiros
УчастникА версии администратора, коммуникатора из одной сборки? А то в новой версии скады большие изменения.
23.05.2019 в 13:59 #11860
manjey73УчастникДа, все из одной, что стоит сейчас на ПК. Файлы подтягивались прямиком из C:\\SCADA куда она установлена.
Отправил Вам и Михаилу. Посмотрите.
Если это проблема в коде Администратора то лечится ли ? и как долго на излечение ?
Буду пробовать сейчас поставить бета версию и собрать на ней как разберусь.23.05.2019 в 14:06 #11861
manjey73УчастникОтправил еще одно письмо с файлом шаблона, забыл прилепить.
23.05.2019 в 19:07 #11887
MikhailМодераторУточните, Вы сейчас тестируете со «старым» Администратором?
В проекте и в Администраторе лежат одинаковые базовые библиотеки ScadaData.dll и ScadaCommCommon.dll?
При возникновении исключения при получении каналов, оно должно записаться в лог ошибок Администратора. Там есть что-нибудь?На своём компьютере у меня нет возможности запустить, потому что там совсем другие версии кода и dll работают.
23.05.2019 в 20:18 #11890
manjey73Участникустановлена была 5.6.0 если я правильно понял. Создавая проект сделал ссылки на нужные библиотеки прямо из папки SCADA.
Ошибок как таковых, почему не выполняется код с данной строкой не было, просто он не выполняется и все тут. Ошибка создания каналов, почему и из-за чего непонятно.
Ставил точку останова на входе функции, просто не останавливается там и все, как будто этой функции и нет.
-
Ответ изменён 7 лет, 2 месяца назад пользователем
manjey73.
23.05.2019 в 21:09 #11892Romiros
УчастникОшибка возникает при обращении к файлу. Там используется Ваша библиотека ScadaCommFunc. Может в ней нет обработки ошибок. У меня и при загрузке шаблона возникало исключени, пока вручную название файла конфига не прописал. Но я в версиях вообще не уверен. Там наверное сборная солянка. Нужно тоже переходить на последнюю и нормально тестировать. А так каналы прописанные Вами вручную создаются. Точка останова и у меня не срабатывает.
24.05.2019 в 08:57 #11895
manjey73УчастникRomiros Ну я посмотрел по переменным, Имя файла вроде корректное, хотя попробую прописать его полностью для проверки..
Исключения да, пока не обрабатываются, это несколько укороченный код, полный закоментирован, там попытка обработать исключение было (хотя вот то, что нет логирования самим Администратором как в Коммуникаторе не очень удобно). Не обязательно вывод в окно, а хотя бы в штатный файл лога…Собственно ориентировался на код KpModbus, но там другой способ чтения xml ну и там другой шаблон, привязанный к протоколу Modbus, что не подходит.
-
Ответ изменён 7 лет, 2 месяца назад пользователем
manjey73.
24.05.2019 в 09:31 #11897Romiros
УчастникЧто я имею ввиду. Сам механизм формирования каналов работает нормально. Проблема здесь FileFunc.LoadXml. Это Ваша закрытая библиотека. В ней есть обработка исключений?
Либо filename, либо filepath не передаются. И возникает исключение в сторонней библиотеке (ScadaCommFunc), которое не обрабатывается.
Просто проверьте, чтобы файл читался и тогда каналы будут нормально формироваться.-
Ответ изменён 7 лет, 2 месяца назад пользователем
Romiros.
24.05.2019 в 11:17 #11900
manjey73УчастникОна не закрыта 🙂 на Гите лежит.
https://github.com/Manjey73/OpnenKPs/tree/master/ScadaCommFunc
И это, «Мопед не мой, я только дал объяву» (с). В смысле код чтения и записи в XML был найден на просторах нета для сериализации. К тому же код работает в Коммуникаторе исправно в разделе Kp__Logic а вот в Kp__View спотыкается.
Обработки исключений там нет, ее надо прикручивать в Kp__Viewз.ы. нашел у себя ошибки при формировании тегов каналов, но это другая история…
Я вроде пробовал обернуть в try — catch, все равно спотыкается… Мне кажется тут в чем-то другом проблема, но это уже только Михаил сможет сказать. Полагаю у него больше способов отладки своей системы.
24.05.2019 в 13:05 #11903
manjey73УчастникДа, собственно о чем я. Предположим LoadXML не находит файла и там возникает исключение. Но ведь точка останова стоит на входе в функцию ????
Сперва должно остановиться, считать из KPProps имя файла и вот только тогда вылететь с исключением, разве нет ?
А оно даже в саму функцию не заходит, не происходит остановки.24.05.2019 в 13:18 #11904Romiros
УчастникДа у меня тоже самое. Непонятно. Может какие-то тонкости отладки :). У меня на буке, где стоит студия, просто уже три версии скады и драйвера собраны с разными. Хочу привести все к последней, чтобы нормально проверять. Потому как изменения есть, плагины написанные ранее не работают. Михаил сказал нужно пересобрать с новыми библиотеками. Сегодня заметил что один драйвер ругается при работе с treeView. Так что нужно для начала все обновить.
24.05.2019 в 13:33 #11905
manjey73УчастникНу я то собирал все с использованием одной версии и проверял на ней же.
Сейчас тут свои огрехи при опросе поправлю, кое что проверю на установленной 5.6.1
И попробую снова поставить 5.7.0 и на ней еще проверить.Но обычно моя интуиция редко подводит, раз в одной части кода работает как надо а в другой нет, то проблема вряд ли именно в LoadXML, а вот насколько она глубоко непонятно…
Мне собственно осталось допилить мелкие огрехи при опросе, когда ответ некорректный и разные мелочи. И в принципе драйвер рабочий для ручного использования :). Создать XML шаблон для своего счетчика тепла, который у меня есть.
А остальное это больше удобство, чтобы те же 30 каналов или больше руками не набивать в Администраторе, конфигурировать сам опрос из UI а не ручками лазить в XML как сейчас делаю и т.д.-
Ответ изменён 7 лет, 2 месяца назад пользователем
manjey73.
24.05.2019 в 16:31 #11911
MikhailМодераторСкопируйте Вашу DLL с функциями в папку Администратора. Он её не найдёт в папке Коммуникатора. В новом Администраторе есть директория C:\SCADA\ScadaAdmin\Lib для этих целей.
24.05.2019 в 16:51 #11912
manjey73УчастникУпс, понятно, он ищет функции у себя в директориях?
Что-то я про это совсем даже не подумал… Ноут на выходные заберу домой для дальнейших экспериментов. -
Ответ изменён 7 лет, 2 месяца назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.