From OpenSCADAWiki
Jump to: navigation, search

КОНЦЕПТУАЛЬНЕ > Загальна Концепція Зберігання Даних

  • Концепцію загалом уніфіковано специфікацією прямого сховку та визначенням Загального Сховку "*.*", як комбінація Конфігураційного Файлу та робочої Бази Даних, коли Конфігураційний Файл є пріоритетним у доступі до наявних даних, а База Даних для нових даних;
  • 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().