Create an OEM Layer
As you design your OEM layer, it may be helpful to remember that as inheritance works for the VTScada layer, so it will work for yours.
Consider a new, standard application:
- It starts with a set of tags including fonts, alarm priorities, etc. Those are copied to your new application because instances exist in the VTScada layer. If you create tags in your OEM layer, they will be copied to every new application based on your layer.
- The new standard application does not contain any I/O tags. But, you can create new ones. I/O tags are defined in the VTScada layer, but there aren't any instances.
- No standard application that you ever create will have an Alarm page. At least, it will never have its own instance of an Alarm page. That's because in the VTScada layer, we include only the compiled code for the Alarm page, not the source code. The next time you upgrade to a new version of VTScada, you might see a completely reconfigured Alarms page.
- Every standard application you create will have its own copy of the Overview page as soon as you open that page in the Idea Studio. The next time you upgrade to a new version of VTScada, we might replace that with a completely new page, but you will continue to use your local copy.
Step 1
The first step is to decide whether an OEM layer would be useful for you. If any of the following use-cases apply, then yes.
- You are a system integrator who deploys SCADA/HMI applications with similar general functionality such as wells, or gas plants.
- Your organization uses a standard set of SCADA/HMI functionality across two or more facilities.
- You work for an original equipment manufacturer that deploys a common user interface with their equipment, where the user interface needs minimal or no unique configuration for each equipment installation.
- You have developers who can modify parts of your application, but you want to ensure that certain core features are out of their hands.
Step 2
Next, decide what will go into that layer. If you are thinking of including user-interface elements, consider grouping those into a widget rather than distributing the page. If you supply widgets, then at the application level, developers can add your widget to their pages, and can extra information around it. If you supply pages, then what you create is what they get.
Step 3
Prepare the OEM layer for distribution. Everything you created while designing that application will show up in the applications built on your layer. Delete every tag instance that you created unless it is supposed to exist in every new application. Disabling these is not sufficient. Delete your test pages. If you changed display settings to suit yourself during development, change those back to VTScada defaults.
The Overview page is a special case. If you opened the Idea Studio while building the OEM layer, then a local copy was made of the Overview page's source code. If you distribute a Snapshot ChangeSet file without source code, then applications built on your OEM layer will treat Overview like any other page that you distribute with your OEM layer, meaning that no application built using your OEM layer will be able to edit its Overview page. If this is not desirable...
Step 3a
Delete the Overview page. (Unless you have customized it to be something that you do want to distribute as part of your OEM layer.) A warning message will inform you that the Overview page from the VTScada layer is still available.
Customize the top level of your menu system, adding the (VTScada version) of the Overview page back.
Do not open the Overview page in the Idea Studio again until after Step 4. If you do, repeat this step.
When installing the Snapshot, it is important to use "Create from ChangeSet" and never "Clone from ChangeSet". A clone will have a different GUID, and you will never be able to distribute updates to it.
Step 4
Create a ChangeSet for distribution. If you do not intend to distribute your source code and do not want the people receiving the OEM layer to be able to edit it, then create a Snapshot ChangeSet, and choose not to include the source code files.
If you are sending the application to a colleague who is helping with development, then do send a standard ChangeSet.
Step 5
Create and distribute updates. Things change, and new ideas come along. Your OEM layer will evolve. Ensure that you clean up the development tags, pages, etc. as before, then create a new Snapshot. At the destination, use the Apply ChangeSet command in the Application Configuration dialog.
If you plan to use Snapshot ChangeSets without code for your OEM layer, you will need a separate workstation (or, perhaps a virtual workstation) where you can keep the source code for the layer. What you cannot do is have both the full version with code and the snapshot version without code in the same VTScada folder.