Создание каналов КП в Администарторе

Стартовая страница Форумы Разработка и интеграция Создание каналов КП в Администарторе

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

    Михаил, есть вопросы по данному поводу.

    Простой вариант для драйвера работает.
    Прототипы каналов для Администратора

    1. Как для конкретного экземпляра КП получить имя файла конфигурации (какой именно xml) был использован в определенном КП на определенной линии связи ?

    Если администратор на другом компьютере, то как читаются разные xml  шаблоны, привязанные к разным КП и линиям связи ??????
    Ведь шаблон мы указываем непосредственно уже в Коммуникаторе на линии связи, создавая опрос конкретного экземпляра прибора ?
    Например я могу разнести опрос прибора на 2 этапа, один для текущих данных в цикле, и один для конфигурационных раз в сутки например.
    И приборов может быть более одного ?

    2. Есть ли аналог ExecWriteToLog(string text) для KpView ?
    А то вот не совсем пойму как в KpView обрабатывать ошибки. Использованная мной функция чтения файла не предполагает оператора out string, и все равно как строку исключения записать в журнал сервера или администратора ?

    #11814
    manjey73
    Участник

    Новая напасть. По кнопке «Свойство КП» перестала открываться Форма. Уже и перегружался, и сносил форму и по новой создавал — хрен, ничего не помогает вообще…
    Несколько раз уже перепроверил, как отрезало…

    И при этом никаких ошибок при сборке 🙁

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

    using Scada.Comm.Devices.KpPulsarT;

    Ругается на KpPulsarT в KpXXXView

    Серьезность Код Описание Проект Файл Строка Состояние подавления
    Ошибка CS0234 Тип или имя пространства имен «KpPulsarT» не существует в пространстве имен «Scada.Comm.Devices» (возможно, отсутствует ссылка на сборку). KpPulsarT E:\Work_Work\Programm\KpPulsarT\KpPulsarT\KpPulsarTView.cs 36 Активный

    Вот с какого спрашивается ?????? долбанная Визуал Студия… Что ей не так ????

    #11817
    Romiros
    Участник

    По кнопке «Свойство КП» перестала открываться Форма.

    Проверьте привязано ли к событию OnClick кнопки процедура вызова формы.

    Ругается на KpPulsarT в KpXXXView

    Что-то не так с пространство имен. Посмотрите внимательно, проверьте пути файлов.

    #11818
    manjey73
    Участник

    Про OnClick можно подробнее ? вроде же там в KpXXXView просто указано разрешение, что можно окно настройки открывать, а остальное должен делать Коммуникатор ?

    Та пути каких файлов ? Ссылок ? так вроде они копируются при сборке или речь о чем-то другом ?

    И как оно могло работать а потом бац и перестать ????

    #11819
    Romiros
    Участник

    Да должен делать комуникатор. Я просто не понял.
    В конструкторе KpView должно быть
    CanShowProps = true;
    Или например так
    CanShowProps = number > 0;
    И должен быть определен метод

    public override void ShowProps()
    {
    new FrmConfig(AppDirs, Number).ShowDialog();
    }
    Соответственно у FrmConfig должен быть реализован метод ShowDialog().
    Вроде бы и все.

    #11820
    Romiros
    Участник

    Проверьте пространства имён вашей KpPulsarT.
    У файлов KpPulsarTLogic и KpPulsarTView
    namespace должен быть Scada.Comm.Devices

    У Вас может и форма поэтому не работает.

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

    так блин работала, потом что-то ковырял и перестала. Снес все нафик, сделал на новом, скопировал код, Все вроде проверил чтобы было и нивкакую…
    Старые файлы открываются и там нормально во View using Scada.Comm.Devaces.XXXXX

    А тут вроде все тоже самое и ругается…

    Завтра буду еще раз все перепроверять, что я там мог наколдовать даже не пойму..

    Больше всего интересует вывод в лог Администратора, нифига непонятно почему кагалы не создаются. Ошибка и все тут и НИКАКОЙ инфы почему???

    Как узнать, считался файл из KpXXView или нет, и вообще выполняется код или нет ???

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

    Я Вам не про using scada говорю
    Проверьте namespace. Иначе коммуникатор с Вашей Kp работать не будет.

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

    Есть ли аналог ExecWriteToLog(string text) для KpView ?

    KpView не ведёт лога. Но у вас есть ссылка на объект AppDirs, в котором Вы можете получить директорию логов и считать из неё то, что нужно, или записать.

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

    Как узнать, считался файл из KpXXView или нет, и вообще выполняется код или нет ???

    Используйте отладчик VS. Для этого нужно собрать DLL в конфигурации Debug, положить её Коммуникатору, а затем подклюиться к выполняемому процессу Debug -> Attach to Process. Этот процесс будет для KpView: ScadaCommCtrl или ScadaAdmin.

    #11831
    manjey73
    Участник

    У View.cs namespace Scada.Comm.Devices все как положено.
    Но в старом драйвере Меркурия во View.cs — using Scada.Comm.Devices.KpMercury23x в активном состоянии
    А вот на Пульсаре using Scada.Comm.Devices.KpPulsarT не активен, типа директива using не нужна. а почему не нужна непонятно ???? во View то я ничего такого не менял вообще

    Это к тому, что существенных отличий между драйверами в данной части нет, только на Меркурии окно открывается, а на Пульсаре шишь…

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

    Понятно, придется еще изучать как отлаживать все это хозяйство….
    Тут бы разобраться что я такого натворил, что вызов окна перестал работать 🙁 уже глаза сломал чего не хватает, вроде все на месте…

    УРРРА! нашел… 🙂

    // Отобразить свойства КП
    public override void ShowProps()
    {
    FormSetting.ShowDialog(Number, KPProps, AppDirs); // отображение фармы параметров
    }
    Все таки я это зацепил 🙂

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

    Вообще пожелания к Михаилу.

    Создать некий Kp, только не KpTest, он слишком примитивен и подходит для пожалуй датчиков температуры/влажности или небольших приборов с полностью фиксированным набором данных. KpModbus вообще идеальный вариант конечно.

    И полностью его по полочкам разложить на комментарии. Для чего тот или иной класс, как он работает (что выполняет в рамках драйвера), в том числе и комментирование графического интерфейса работы драйвера.

    Потому что когда читаешь в Дорожной карте
    Любые новые драйверы Приветствуется помощь сообщества
    Хочется плакать… Потому что Михаил, вы кажется не понимаете, что сообщество Scada (при чем любой) состоит в большинстве своем их АСУТП-шников, где на сотню дай бог будет один профессиональный программист (замечу, который должен выбрать именно RapidScada). И чтобы таким как я надо полгода потратить только на понимание какой-то одной функции в вашем коде, к которому вы отсылаете.
    По этому давно предлагал, сделайте качественные примеры с описанием от и до хотя бы для драйверов. Не говорю уже про модули сервера и плагины…

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

    #11836
    Romiros
    Участник

    Я же Вам писал про ShowProps().
    Ошибки, которые Вы описываете, обычно возникают, когда вы переносите старые наработки в новый проект. Здесь важна ВНИМАТЕЛЬНОСТЬ! Сам не раз крыл матом VisualStudio, но проблема была в моей невнимательности :).

    Для отладки используйте подключение к процессу, как написал Михаил, так можно пошагово контролировать работу кода драйвера.

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