Повідомлення створено: 27. 03. 2014 [09:09]
|
s60ru
Антон Петров
Автор теми
Зареєстрован(а) с: 10.05.2012
Повідомлення: 141
|
Замечено на Modbus, на остальных не проверял
Что делаю:
1) Есть контроллер в модуле Modbus, у него тип "Стандарт", у него есть параметр, у параметра список атрибутов.
2) Меняю тип параметра с "Стандарт" на "Логический" - перечень атрибутов исчезает.
3) Возвращаю тип "Стандарт" - список атрибутов не появляется.
4) Предполагая, что изменения коснулись только объектов в памяти и, жму "Загрузка данных элемента из БД" + обновить деерво = атрибуты не появились.
5) Закрываю openSCADA, запускаю снова = параметр исчез ! Т.е. У контроллера -1 парметр стало.
6) Поскольку у контроллера несколько параметров повторяю эксперимент = еще один параметр исчез....
Так и должно быть ?
|
Повідомлення створено: 27. 03. 2014 [10:08]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"s60ru" wrote:
Замечено на Modbus, на остальных не проверял
Что делаю:
1) Есть контроллер в модуле Modbus, у него тип "Стандарт", у него есть параметр, у параметра список атрибутов.
2) Меняю тип параметра с "Стандарт" на "Логический" - перечень атрибутов исчезает.
3) Возвращаю тип "Стандарт" - список атрибутов не появляется.
4) Предполагая, что изменения коснулись только объектов в памяти и, жму "Загрузка данных элемента из БД" + обновить деерво = атрибуты не появились.
Мало ли чего Вы предполагаете!
Вы подумайте, что будет и как он узнает что делать если Вы сменили тип и сохранили новый и новый тоже попал в свою таблицу не удалившись в старой. В таком случае после загрузки Вы получите всегда старый и не сможете сменить тип, поэтому операция смены типа равноценна удалению предыдущего параметра и если Вы новый не сохраните тогда это ваши проблемы!
Не ошибка!
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 27. 03. 2014 [13:17]
|
s60ru
Антон Петров
Автор теми
Зареєстрован(а) с: 10.05.2012
Повідомлення: 141
|
"roman" wrote:
Мало ли чего Вы предполагаете!
Ну а какой глагол ВЫ предлагаете ?
Формата/шаблона оформления бага нет - пишу в свободной форме....
"roman" wrote:
если Вы сменили тип и сохранили новый и новый тоже попал в свою таблицу не удалившись в старой.
1) в том то и дело, что я НЕ СОХРАНЯЛ дерево проекта в БД после смены типа параметра
2) изменения типа параметра происходят в памяти
3) "поэтому операция смены типа равноценна удалению предыдущего параметра" - получается openSCADA самостоятельно (т.е. без нажатия кнопки "Сохранить данные элемента в БД") записывает текущую конфигурацию дерева из памяти в БД ?
4) в продолжение темы:
- добавляю параметр контроллеру, ничего не сохраняю
- нажимаю кнопку "Загрузка данных элемента из БД", одновляю дерево - новосозданный параметр остается
- ставлю фокус моей рабочей БД (где этот контроллер), жму "Загрузить систему из этой БД", обновляю дерево проекта - новосозданного нет
Два вопроса:
1) Почему при смене типа параметра и несохранении изменения в БД этот параметр удаляется из БД ?
2) Почему "Загрузка данных элемента из БД" не равнозначна "Загрузке системы из БД" ? Из описания кнопок следует, что информация и там и там берется из БД .....
|
Повідомлення створено: 27. 03. 2014 [15:00]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 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.
|