One very powerful feature of InduSoft Web Studio (IWS) SCADA software is the Linked Symbols. Within this great feature, there are also some advanced tricks that could be used to speed up the project development process even further.
Using Classes and Arrays within the linked symbols allows the user to create a powerful symbol that requires minimal configuration once it is deployed to a screen.
Here is how it works:
First, let’s remember that when you are creating a Linked Symbol, instead of assigning Tags to the dynamic properties, you assign a Symbol Property using the syntax #<Property Name>:, for instance, #TagName:
When assigning a Symbol Property, you can also assign an initial value, or even a tag, as initial parameter. It would be something like this:
After you assign properties, then you can add an initial value or tag. Once you bring these objects into a Linked Symbol, when you insert it on a screen, it will be very simple to configure it:
The advanced feature comes into play when you have several members of the same class tag being used on a linked symbol.
Let’s say that you are going to interact with PID controls on your project, utilizing Class tags. You will build a PID Faceplate that will be used in several places, with KP, KI, KD, Setpoint, Process Value and Output Value.
The Class cPID on your project may look like this:
So, in order to use the feature that we are talking about, you must create a tag that will be of this Class type. If you intend to have arrays being used, you should create this tag as an Array.
Now comes the trick: when you are creating the symbol and configuring the properties, you will assign the same property name everywhere where there is a member of that class tag to be used.
For example, on the bargraphs that will show the SP, PV and MV, you would have something like this:
Please notice on the screenshot above that the Symbol Property name is #TagName: and the class members from the tag called PID are being used in 3 different places, but the property name stays the same.
Now, adding the other objects to the PID Faceplate (always using the PID tag class members and the same property name #TagName:):
Now, we can group all these objects into a Linked Symbol, that we will call PID_Faceplate:
As you insert the PID_Faceplate on a screen and open the object properties, instead of needing to configure 10 properties, you only need to configure 1, which will be the Tag name, which must be from the same cPID class type as the PID tag.
As an example, let’s create a couple of PID tags in the Project Tags database, and then use them on the screens:
So, as we insert the PID_Faceplate on a screen and open the object properties, it is simply a matter of replacing the PID tag, by one of our tags:
If we use the Inlet_Pressure:
Or the Temperature for the Zone 1 (Temperature_Zone)
In case you duplicate the Temperature_Zone and want to configure it with another zone number, let’s say, 2, you could use the Replace button, choose the Tags + Properties option, select Replace by Parts and then simply replace the Array Index:
As you can see, you can easily create several PID screens in minutes or even seconds by simply replacing the Main Tag Name or the Array index, without the need to go in each one of the properties and configure the Tag, array index and the Class Member.