Стартовая страница › Форумы › Разработка и интеграция › Настройки драйвера передать в конфигурацию
- В этой теме 9 ответов, 3 участника, последнее обновление 1 год, 4 месяца назад сделано
Mikhail.
-
АвторЗаписи
-
06.05.2025 в 10:41 #38304
JurasskParkУчастникУ нас при открытии драйвера можно передать LineConfig lineConfig и DeviceConfig deviceConfig и эти настройки увидеть в драйвере.
А вот можно ли при передать измененные настройки в LineConfig и DeviceConfig из драйвера и сохранить их в проекте?06.05.2025 в 11:31 #38306
manjey73УчастникПо идее из кода View можно иметь доступ к базе конфигурации. но не уверен точно.
А вот из кода Drv вряд ли.06.05.2025 в 11:59 #38307
JurasskParkУчастникЛадно. Короче… будет простая защита от дурака… показывать настройки линии и девайса в режиме .Enabled = False, чтобы было видно IP, порт, адрес устройства, время опроса, а изменять нельзя было…
06.05.2025 в 12:58 #38308
manjey73УчастникТы же можешь поступить иначе. (дурная мысль) Из драйвера занести инфу в шаблон, потом в коде View его обработать и создать все необходимое в базе.
Вообще вся проблема связана с тем, что
1. Коммуникатор может находиться на другом ПК
2. Коммуникатор пишет в папку Config в себе самом, но не в Project.Как-то задавался этим же вопросом, можно ли сохранить сразу в Project?
А так получается ты драйвером пишешь шаблон в Config, потом делаешь загрузку с Сервера, и потом запускаешь свойства View (там даже кнопка есть «Свойства», только вот не использовал пока) и соответственно можешь сделать обновления из шаблона уже в проекте.
06.05.2025 в 13:59 #38313
MikhailМодераторДобрый день!
Такой подход: драйвером (логической частью) сгенерировать выгружаемый файл, затем скопировать его на тот компьютер, на котором редактируется проект, и применить в проекте.06.05.2025 в 15:02 #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…
Значит только визуализацию буду делать, чтобы видно было настройки…
07.05.2025 в 10:58 #38317
JurasskParkУчастникВообщем меня неправильно поняли.
Можно ли получить доступ к методам DrvCnlBasic из View своего драйвера каким-то образом?
Пример.
Я в драйвере выбрал тип Последовательный порт, нажал кнопку Сохранить, настройки передались в Линию и тип поменялся с Не выбрано на Последовательный порт.07.05.2025 в 11:47 #38319
MikhailМодераторПопробуйте в классе *View изменить настройки линии через свойство LineConfig, а затем установить свойство LineConfigModified равным true. Не помню, должно ли так работать или нет. Но точно из интерфейса драйвера можно изменить пользовательские параметры линии связи, например.
07.05.2025 в 12:31 #38320
manjey73УчастникLineConfig это вроде настройки в Опросе Линии.
А ему нужно уровнем выше, разве из View напрямую это делается ?
Например изменить COM порт, настройки порта. то, что попадает в ScadaCommConfig.xml08.05.2025 в 13:58 #38336
MikhailМодераторКанал связи является частью конфигурации линии связи. Возможно, я ошибаюсь.
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.