EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

[BugWrong] [QTCfg] Сбор данных - Modbus - смена типа параметра = исчезает параметр


Author Message
Written on: 27. 03. 2014 [09:09]
s60ru
Антон Петров
Topic creator
registered since: 10.05.2012
Posts: 141
Замечено на Modbus, на остальных не проверял

Что делаю:
1) Есть контроллер в модуле Modbus, у него тип "Стандарт", у него есть параметр, у параметра список атрибутов.
2) Меняю тип параметра с "Стандарт" на "Логический" - перечень атрибутов исчезает.
3) Возвращаю тип "Стандарт" - список атрибутов не появляется.
4) Предполагая, что изменения коснулись только объектов в памяти и, жму "Загрузка данных элемента из БД" + обновить деерво = атрибуты не появились.
5) Закрываю openSCADA, запускаю снова = параметр исчез ! Т.е. У контроллера -1 парметр стало.
6) Поскольку у контроллера несколько параметров повторяю эксперимент = еще один параметр исчез....

Так и должно быть ?
Written on: 27. 03. 2014 [10:08]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"s60ru" wrote:

Замечено на Modbus, на остальных не проверял

Что делаю:
1) Есть контроллер в модуле Modbus, у него тип "Стандарт", у него есть параметр, у параметра список атрибутов.
2) Меняю тип параметра с "Стандарт" на "Логический" - перечень атрибутов исчезает.
3) Возвращаю тип "Стандарт" - список атрибутов не появляется.
4) Предполагая, что изменения коснулись только объектов в памяти и, жму "Загрузка данных элемента из БД" + обновить деерво = атрибуты не появились.

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

Не ошибка!

Learn, learn and learn better than work, work and work.
Written on: 27. 03. 2014 [13:17]
s60ru
Антон Петров
Topic creator
registered since: 10.05.2012
Posts: 141
"roman" wrote:

Мало ли чего Вы предполагаете!

Ну а какой глагол ВЫ предлагаете ?
Формата/шаблона оформления бага нет - пишу в свободной форме....

"roman" wrote:

если Вы сменили тип и сохранили новый и новый тоже попал в свою таблицу не удалившись в старой.


1) в том то и дело, что я НЕ СОХРАНЯЛ дерево проекта в БД после смены типа параметра
2) изменения типа параметра происходят в памяти
3) "поэтому операция смены типа равноценна удалению предыдущего параметра" - получается openSCADA самостоятельно (т.е. без нажатия кнопки "Сохранить данные элемента в БД") записывает текущую конфигурацию дерева из памяти в БД ?

4) в продолжение темы:
- добавляю параметр контроллеру, ничего не сохраняю
- нажимаю кнопку "Загрузка данных элемента из БД", одновляю дерево - новосозданный параметр остается
- ставлю фокус моей рабочей БД (где этот контроллер), жму "Загрузить систему из этой БД", обновляю дерево проекта - новосозданного нет

Два вопроса:
1) Почему при смене типа параметра и несохранении изменения в БД этот параметр удаляется из БД ?
2) Почему "Загрузка данных элемента из БД" не равнозначна "Загрузке системы из БД" ? Из описания кнопок следует, что информация и там и там берется из БД .....
Written on: 27. 03. 2014 [15:00]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"s60ru" wrote:

1) в том то и дело, что я НЕ СОХРАНЯЛ дерево проекта в БД после смены типа параметра

А нужно. Перечитываем мой ответ!

"s60ru" wrote:

2) изменения типа параметра происходят в памяти

Нет, эта операция равноценна удалению. Перечитываем мой ответ!

"s60ru" wrote:

3) "поэтому операция смены типа равноценна удалению предыдущего параметра" - получается openSCADA самостоятельно (т.е. без нажатия кнопки "Сохранить данные элемента в БД") записывает текущую конфигурацию дерева из памяти в БД ?

Не записывает. Удаление объекта это формально не запись.

"s60ru" wrote:

1) Почему при смене типа параметра и несохранении изменения в БД этот параметр удаляется из БД ?

Перечитываем мой ответ. Повторять больше не буду!

"s60ru" wrote:

2) Почему "Загрузка данных элемента из БД" не равнозначна "Загрузке системы из БД" ? Из описания кнопок следует, что информация и там и там берется из БД .....

Потому что это как минимум две разные функции. В "Загрузке системы из БД" была добавлена функция проверки и удаления объектов отсутствующих в БД, из которой он грузится, как минимум потому что в этот момент он перечитывает список объектов, чего не делается в случае загрузки отдельного объекта и сам себя он удалять не может и не должен.

Learn, learn and learn better than work, work and work.



11644