Discussion about recent product features & solutions!
4 posts • Page 1 of 1
4 posts
• Page 1 of 1
treshnikov
Posts:16
Joined: Tue Nov 12, 2013 7:11 am
Custom RDB manager
Postby treshnikov »
Hello!
I have a requirement to store WinCC OA data and alarms in NoSQL DB (e.g. MongoDB) without using RAIMA and Oracle.
Is it possible to override RDB functionality and to use custom C++/C#/Java application to work with data and alarms in way like RbdManager works with Oracle?
In other words, need to replace Oracle/RAIMA to custom DB.
I saw mr Vogler's solution which insludes CtrlExtension, JavaManager etc, but this solution is not native for WinCC OA, because alarms and current dp values still store in RAIMA/Oracle.
How I see possible solution:
There is some API for RDB which can be redefined by using C++/C#/Java code.
WinCC OA customer can to create solution for store alarms&data in any storage (MsSQL, MySQL, any NoSQL DB, json files, etc).
This solution is native for WinCC OA. It means when I write Control-Script "dpGet(..) or dpGetPeriod(...)" it uses custom RDB manager. In this case all existing components(like trends and alarm-panel) and Drivers should still work like they work now.
Replacing the internal RAIMA database is currently not possible. However it is possible to create a database manager to archive/retrieve data and alarms in/from a custom backend, but the public API does not contain the files to use the '_archive' configs. Please get in contact with your WinCC OA sales contact for a custom RDB manager.
With an API/control manager it is possible to connect to values/alerts and store them in any storage.
When 'queryRDBdirect' is activated accessing historical data by control code is executed by a control extension, so this should also be possible with a custom storage control extension.
Even with the oracle RDB manager or a custom RDB manager the trend will get the values from the data manager, unless you use control code to put the values in the trend.
The alarm-panel, dpGet(...) and drivers are not affected by the oracle RDB manager or a custom RDB manager, because these are handled by the event manager.