|
Розширення зберігання конфігураційних даних у конфігураційному файлі
|
|
![](uploads/pics/cfgnetcopy.png) Міжстанційне копіювання конфігурації OpenSCADA. ![](uploads/pics/BD.DBGate.png) Модуль BD.DBGate.
Збереження конфігураційних даних OpenSCADA у конфігураційному файлі функціями TBDS::dataSeek(), TBDS::dataGet() та TBDS::dataSet(), розширено для роботи із конфігураційним XML-контекстом, дещо загалом вдосконалено та виправлено.
Конфігураційний XML-контекст функцій конфігурації застосовано у копіюванні між станціями основними конфігураторами OpenSCADA та у новому модулі BD.DBGate.
Копіювання між станціями є найшвидшим шляхом переміщення-синхронізації конфігурації OpenSCADA від однієї локальної або віддаленої станції до іншої віддаленої або локальної станції, використовуючи стандартні операції копіювання основних конфігураторів OpenSCADA — QTCfg та WebCfgD. Цю функцію ви також можете використовувати у користувацьких процедурах OpenSCADA, функцією користувацького API cntrReq(), оскільки це просто розширення загальних функції "save" та "load" інтерфейсу керування OpenSCADA.
Новий модуль BD.DBGate є модулем підсистеми "Бази даних" для розміщення-віддзеркалення баз даних віддалених OpenSCADA станцій до локальних. В своїй роботі модуль використовує Власний Протокол OpenSCADA та сервісні функції підсистеми "Бази даних". Цей модуль може бути корисним: - у множинному-мережевому доступі до БД віддалених станцій, побудованих на основі локальних на кшталт
SQLite, таким чином трансформуючи їх у мережеві; - у проксі-доступі до БД віддалених станцій, побудованих на основі мережевих СУБД, через інтерфейс контролю OpenSCADA, який може також бути безпечним, використовуючи
SSL; - у рознесені між мережевими станціями функцій складного користувацького простору із частинами Збору Даних та Графічного Інтерфейсу, пов'язаних на БД на кшталт
Рецепти.
Інші вдосконалення та виправлення збереження конфігураційних даних у конфігураційному файлі передбачають: - запобігання отримання попереднього значення при завантажені із конфігураційного файлу, встановленням типового значення;
- доповнення зміною-збереженням наявних записів у конфігураційному файлі, замість цілковитого збереження всіх їх у типовій БД;
- виявлення та виправлення втрат даних за конкурентного доступу до БД
SQLite, коли генерується несуттєва помилка нерозпочатої транзакції "cannot commit - no transaction is active(1)", яка однак перериває запис даних.
|
|
|