Creation process of an add-on
An add-on in the context of SloopTool is a "software package" that can extend an existing Supervisory Control and Data Acquisition (SCADA) software or SCADA project with functionality.
Here we distinguish between several add-on types. Currently, the following add-on types can be uploaded to the store:
- Engineering – Underpin the engineering process of new or existing projects.
- Grafic Library – Collection of multiple reusable graphic objects.
- External Widget Object (EWO) – Is a graphic object (a widget) that can be embedded in a WinCC OA Panel.
- Framework – Programming framework for object-oriented software development as well as component-based development approaches.
- Entire Plant – Complete systems projects (However, it is recommended to add the database later).
- Northbound Interface – Interface to communication at a higher level (e.g., operational level).
- Southbound Interface – Interface to communication at a lower level (e.g., control plane).
- Business Logic – Software libraries or scripts that can be used in existing projects.
- Plant Component – Parts of plants that can be reused in other projects.
- Connectivity - enhancements to communication between different platforms.
- Demo - Examples Projects by providers demonstrating their add-ons.
Development of the add-on
In the first step, the add-on must be developed according to your ideas. There are the following prerequisites:
- The add-on will be installed as a subproject for the customer. Therefore, this must have the structure of a WinCC OA subproject.
- If the document requires [techAdd-OnName], the technical name of the add-on should be used.
The technical name of the add-on consists of the following components:
- [Provider abbreviation][Add-on name](important: replace spaces with \)
- Example: SLT_Installation_Layer
- The separation between add-on name and technical add-on name makes it possible to use several "identically named" add-ons from different vendors in a project. It is also possible to rename an add-on in the store without having to rebuild the entire subproject structure.
License exam preparation
There is a control extension that should be used in the control code to determine if there is a required license for the add-on. The functions that are available and how they are used are described in the following chapter: SLTLicense-Control Extension.
If you want to distribute EWOs or other Control Extensions yourself, there is a static library containing these test functions. This will be delivered on request. Please send an e-mail with the subject line "Static Library" to the following e-mail address: firstname.lastname@example.org.
The following files must be present in each add-on:
- Symbols for system administration under the following paths (the sizes of the pictures are included in the paths):
- Picture (400 × 400) to display the add-on in an "Add-on Information" panel
Panels, scripts, and libraries must not be manually encrypted. This is due to controls performed in the Quality Gate with the sources. However, these are encrypted before delivery in the Quality Gate. Files that should not be encrypted must use the following comment headers: // SLT:NO_ENCRYPT. This comment just has to be inserted at the beginning of the file. Non-add-on relevant files must be deleted (for example, unnecessary bak files). The following folder of the project structure must also be deleted:
- config (config.level is allowed and will not be deleted)
- DB (Exception are add-ons that are delivered as complete projects, whereby we recommend not to deliver a database, but to import the data into the existing database)
Quick Start Guide for Packaging the Add-on
- Create folder. Folder name: [techAdd-OnName]
- All required files and folders will be copied to this folder as a WinCC OA subproject structure, provided that it is not yet a subproject.
- Then the folder is packed in a ZIP package. The package name is independent of the content name of the ZIP package. Example: Installation_Layer.zip contains a folder named SLT_Installation_Layer where the subproject structure exists. At a later date, a test folder will be present next to the [techAdd-OnName] folder. This folder will contain the additional tests for the Quality Gate.
- The created ZIP package is ready and can be uploaded to the SloopTools provider backend.
The ZIP package created in the last chapter must be uploaded via the SloopTools provider backend. The precondition for backend access is accessor authorization for at least one company that has been promoted to the provider. A company can be created in the store via My Account-> My Company.
The creator of a company is automatically accessor and has all rights to edit the company. Team members can be added as additional accessors under My Company -> Accessors. To obtain provider status and access to the backend, the user must send an "Upgrade to Provider" request to SloopTools. There is a button under My Company - Settings. This request is not processed automatically and may take a time. Once the upgrade has been performed, the admin button will be displayed next to the user in the upper right corner of the store.
In the backend, the user must select the menu item Add-ons and either create a new add-on there or select an existing add-on to update it. The upload of the version is done in the menu item "Versions" of the add-on. Subsequently, a new version must be created.
For the newly created versions, all required fields must be completed. Finally, you must select the ZIP package under Add-on File and save the version. During this process, the ZIP package is uploaded, the information entered is saved and Quality Gate checks are started with the add-on.
After the Quality Gate has achieved a positive result, the add-on can be released. This happens depending on the release date settings automatically (as early as possible), at a given time or manually. If one of the quality gates returns zero (0), the errors displayed in the result must be corrected and the add-on uploaded again.
Install the add-on
To verify that all processes have worked, you must now install and test the add-on. The following steps are required:
- [Store] Add the add-on through the store to the account via the "5 Days Demo" button.
- [Installer] If the installation layer is not yet installed, install it. (If the installation layer is not automatically added to the account, you have to buy it in the store, there are no costs.)
- [Installer] Install the add-on via the "Add-ons" tab.
- [Installer] Add the add-on to an installed project via the "Projects" tab.
- [Installer] Assign a license to the add-on via the "License" tab. The add-on can now be tested with the project to which it has been added.