I am working on a new Vision project that is going to be controlling one machine/process. After we get this project done, we are going to duplicate the project 5 more times on the same gateway to control 5 other machines.
I have created a unique database connection, tag provider, and OPC path for each of the machines.
My plan is:
Duplicate the 'good' project.
Change default tag provider and database provider
Export tags, in Notepad++ change OPC Path to the new OPC Path and then Import into the New Tag Provider in Tag Browser.
I tried this and the only issue that I ran into was that when I use the Tag selector on the Property Bindings, I have to manually delete the Tag Provider from the Binding Property or it won't use the selected Project Default. Is there away to stop the Tag Selector from adding the Tag Provider? Or is there away to mass change a projects Tag Providers?
Are there any other gotchas that I need to look out for?
Make a folder per machine in the same tag provider. Share all the UDTs. Make every top-level window use a string parameter (root container custom prop) that contains the folder path of one machine.
Do all tag bindings indirectly in your windows using that tag path. Pass the tag path (or concatenations) to nested templates and popup windows.
One project. Same windows and templates run all the machines.
You can also make the database a parameter in your named queries.
I would only entertain separate projects & providers for the same views if you also need to control / limit access to each machine differently (User1 can operate only Machines 1 & 3, User2 can only operate Machine 2, etc). In that scenario, use project inheritance, so that desired resources auto-propagate from a parent project, and then you apply overrides where necessary (default tag provider & database, project & provider permissions, etc). While this can be handled in tag security alone, I prefer the multiple layers that a separate project & provider awards.
Not that I'm aware of...but you can find/replace all views after you're done developing to double-check that you removed them all