I understand control a lot better than software, but I'm trying to change that. I'm taking a DB class in school right now and historically working in controls. I haven't used proview, but it is something that has always remained in the back of mind to want to learn more about and use if presented the option. Being that it is open source, I think is a good option for learning. I'm trying to understand better how the databases work in Proview. like 10,000 ft view. Maybe if I have time, I will try and dig through source code, but I really need a high level overview.
I understand there is the workbench database (configuration database). It is typically a Berklee DB database. The database is a tree structure of objects. Are tree of objects then represented in native XML files? And the XML files are modified with the application as user modifies there volumes?
I know storage station uses mysql, but the designer guide also makes it seem like you can use a mysql database for the workbench
Is that true? Does the application automatically know you are using a mysql database and the application can automatically handle this in the backend? If you use mysql does the application just create XML documents at every save point and dump the XML documents into Mysql? Is there a way to modify objects in the mysql DB and write back to Preview (XML?) What are main pros/cons of using Berklee vs Mysql as workbench?
I understand that the rtdb is generated from the workbench. Is the rtdb also a berklee DB? How does using mysql as workbench affect this process?
Is there more information somewhere about the databases that someone can point me to?
Real world example...Let's say theoretically, I need to program a new plant. I have signal data and some basic control narrative information in a spreadsheet (like how each signal is related to equipment e.g. signal is open limit on discrete valve,etc...) from engineering design contractor that needs to be transformed into a control program. Now, I wanted to be able to manipulate/create plant objects in bulk (say in creating a new plant database with 3000 signals/channels and 2000 PLC objects (to control those signals). Rather than using the GUI, what is the best route to get data into preview in bulk? Is writing scripts to generate XML documents directly the best option? What if you use Mysql as the DB? Can you create your classes, open the mysql db in mysql workbench and perform a series of manipulations (queries/joins/imports...) to input the spreadsheet data into mysql and then generate the XML back to preview? Is there a better way to handle bulk configuration changes/creation? Is there any built in tools to assist in this?