From OpenSCADAWiki
КОНЦЕПТУАЛЬНЕ > Загальна Концепція Зберігання Даних
- Концепцію загалом уніфіковано специфікацією прямого сховку та визначенням Загального Сховку "*.*", як комбінація Конфігураційного Файлу та робочої Бази Даних, коли Конфігураційний Файл є пріоритетним у доступі до наявних даних, а База Даних для нових даних;
- TBDS::{dataSeek,dataGet,dataSet,dataDel,genDBGet,genDBSet}() переведено на бітові прапорці TBDS::ReqGenFlg;
- the TBDS::dbList() переведено на бітові прапорці TBDS::DBLsFlg;
- TCntrNode доповнено функціями storage() та setStorage() для відстеження наявності даних вузла у різних сховках і надання черги сховків для механізму послідовного видалення дублікатів, а також їх використання у функціях об'єкту DB(), fullDB(), setDB();
- об'єкти адаптовано до відстеження багатьох сховків та доповнено послідовним видаленням дублікатів: Security.{User,Group}, Transport.{Input,Output}, DAQ.{Controller,TemplateLib}, Archives.{VArchive,VArchiver,MArchiver}, DAQ.JavaLikeCalc.Lib, Protocol.{ModBus,OPC_UA,UserProtocol}.*, UI.WebUser.Page, UI.{VCAEngine,Vision}.{WdgLib,Proj};
- функції доступу до загальних параметрів TBDS::genDBGet() та TBDS::genPrmSet() переведено під нову концепцію сховків через використання TBDS::dataGet() та TBDS::dataSet() відповідно, та перейменовано всюди у genPrmGet() та genPrmSet();
- на використання нової функції dataDelTbl() переведено об'єкти: DAQ.{TController,TPrmTmplLib,JavaLikeCalc,LogicLev,BlockCalc,ModBus,Siemens,OPC_UA}, Archive.DBArch, UI.{VCAEngine,Vision}.{WdgLib,Proj};
- переведено на статичні та всюди використано функції: TBDS::{dbList,dataSeek,dataGet,dataSet,dataDel,dataDelTbl}();
- надлишкові адреси сховків із таблицями скорочено до стандартних адрес сховку із уніфікацією назви таблиці, де попередні нестандартні назви залишено для редагування до релізу 1.0, для об'єктів: SYS, DAQ.{TemplateLib,JavaLikeCalc.Lib}, UI.{VCAEngine,Vision}.{WdgLib,Proj};
- перемкнуто до обрання лише БД: Archive.DBArch, Protocol.HTTP;
- кореневий об'єкт підсистеми БД TTypeBD доповнено основою пріоритету БД [0...9] у загальному переліку сховків та об'єкт Бази Даних TBD доповнено конфігураційним полем "Пріоритет у переліку" для контролю порядку баз даних із TBDS::dbList(), чим контролюючи порядок завантаження;
- зміну конфігураційного поля "Робоча БД" вимкнено щодо позначення всіх вузлів до модифікації;
КОНФІГУРАЦІЙНИЙ ФАЙЛ
- реалізація конфігураційних параметрів та таблиць у загальному контексті функцій TBDS::data{Seek,Get,Set}();
ПЕРЕРОБЛЕННЯ ПРАПОРЦІВ TCntrNode
- TCntrNode::{chldDel,nodeDis}() переведено на пряме використання TCntrNode::EnDisFlag;
- прапорці TCntrNode::{NodeRemove,NodeRemoveOnlyStor} всюди використано для перевірки у функції postDisable() та виклику chldDel().