Настройки драйвера передать в конфигурацию

Стартовая страница Форумы Разработка и интеграция Настройки драйвера передать в конфигурацию

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)
  • Автор
    Записи
  • #38304
    JurasskPark
    Участник

    У нас при открытии драйвера можно передать LineConfig lineConfig и DeviceConfig deviceConfig и эти настройки увидеть в драйвере.
    А вот можно ли при передать измененные настройки в LineConfig и DeviceConfig из драйвера и сохранить их в проекте?

    #38306
    manjey73
    Участник

    По идее из кода View можно иметь доступ к базе конфигурации. но не уверен точно.
    А вот из кода Drv вряд ли.

    #38307
    JurasskPark
    Участник

    Ладно. Короче… будет простая защита от дурака… показывать настройки линии и девайса в режиме .Enabled = False, чтобы было видно IP, порт, адрес устройства, время опроса, а изменять нельзя было…

    #38308
    manjey73
    Участник

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

    Вообще вся проблема связана с тем, что
    1. Коммуникатор может находиться на другом ПК
    2. Коммуникатор пишет в папку Config в себе самом, но не в Project.

    Как-то задавался этим же вопросом, можно ли сохранить сразу в Project?

    А так получается ты драйвером пишешь шаблон в Config, потом делаешь загрузку с Сервера, и потом запускаешь свойства View (там даже кнопка есть «Свойства», только вот не использовал пока) и соответственно можешь сделать обновления из шаблона уже в проекте.

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

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

    #38316
    JurasskPark
    Участник

    применить в проекте.

    Сложно.

    Я думал, что будет что-то такого…

    
     public override bool ShowProperties()
     {
         if (new FrmConfig(AppDirs, LineConfig, DeviceConfig, DeviceNum).ShowDialog() == DialogResult.OK) 
         {
             LineConfigModified = true;
             DeviceConfigModified = true;
    
             // file project
             string configFileName = Path.Combine(AppDirs.ConfigDir, DriverUtils.GetFileName(DeviceNum));
    
             // load a configuration
             if (File.Exists(configFileName) && !project.Load(configFileName, out string errMsg))
             {
                 ScadaUiUtils.ShowError(errMsg);
             }
    
             LineConfig.Name = "Вася Пупкин";
    
             return true;
         }
         else
         {
             return false;
         }
     }

    А там только get у LineConfig…

    Значит только визуализацию буду делать, чтобы видно было настройки…

    #38317
    JurasskPark
    Участник

    Вообщем меня неправильно поняли.

    Можно ли получить доступ к методам DrvCnlBasic из View своего драйвера каким-то образом?
    Пример.
    Я в драйвере выбрал тип Последовательный порт, нажал кнопку Сохранить, настройки передались в Линию и тип поменялся с Не выбрано на Последовательный порт.

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

    Попробуйте в классе *View изменить настройки линии через свойство LineConfig, а затем установить свойство LineConfigModified равным true. Не помню, должно ли так работать или нет. Но точно из интерфейса драйвера можно изменить пользовательские параметры линии связи, например.

    #38320
    manjey73
    Участник

    LineConfig это вроде настройки в Опросе Линии.
    А ему нужно уровнем выше, разве из View напрямую это делается ?
    Например изменить COM порт, настройки порта. то, что попадает в ScadaCommConfig.xml

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

    Канал связи является частью конфигурации линии связи. Возможно, я ошибаюсь.

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