Tags, nodes, points, items, symbols – in our industry, we often see these terms thrown around, but in most instances, we’re all talking about the same thing. From the TOP Server OPC Server's perspective, we refer to them as tags. A tag is an OPC Server software application’s representation of a device address to use for communication. This is how your HMI, SCADA, MES, historian, or other client application is able to consume data. If you’re a TOP Server user, you know that you are required to configure tags to get data from your device, but did you know there are multiple options of how to accomplish this?
Our technical team often hears from users asking, “do I have to create tags in TOP Server?” The short answer is no, but in this Tech Support Corner blog, we seek to answer this question in more detail, share the differences between static and dynamic tags, and cover how to choose which type is right for your application. Whether you are an established user or building a foundational understanding of tags and tag addresses, I am certain this blog will provide some great tips for your TOP Server tag configuration and maintenance best practices.
Let’s get to the point then explore each in detail:
This confirms the answer to our question, “do I have to create tags in TOP Server?” The answer is “NO!” It is also important to know that this is not an “either or” choice. You can have static and dynamic tags in the same project, and you can change methods any time you want. The decision is yours.
Let’s look into each in more detail and the advantages and disadvantages of each method of telling TOP Server what you need to access in the PLC or device also known as Static vs Dynamic tags.
In the realm of computing, the term “static” is utilized to signify the unchanging and consistent nature of an element within the context of a program’s execution. As something that is fixed or unchanging, this aligns with the role of a “Static tag” in TOP Server.
User-defined static tags are addressed using the TOP Server tag address format that maps a user friendly name to a PLC or device memory address, which is specific to the device type and protocol. Static tags are explicitly configured in your TOP Server project to be a pointer to a tangible memory space in the device. The static tag is given a user defined tag name that the client then uses to read the associated address from TOP Server. For help with specific tag addresses, please refer to the TOP Server driver-specific help file. Below is an example of static tags defined in a configuration.
Initially you might think that there is a memory usage disadvantage, but the TOP Server runtime operates using very efficient memory pointers and underlying device memory addresses, only referencing friendly tagnames for the configuration & troubleshooting user interfaces and event logs. For this reason there is also not a performance disadvantage.
The most common disadvantage users see is that if they have to define a tag database in their client application such as the HMI, SCADA, Historian, or MES, then there is an initial configuration concern, which can be overcome with our many mass creation tools; however, the maintenance concern when there are changes is valid and a reason to instead consider dynamic tags, which many users do.
Static tags must be defined under a Device within a TOP Server project . Static tags are constructed from three primary parts and two others:
Note: To scale your TOP Server static tags from device raw data ranges to engineering units, we recommend referencing document on TOP Server Scaling.
The TOP Server Tag Configuration is shown below with the referenced items above highlighted that are part of the General Property group. Although the details for tag scaling are not shown, you can see the property group that if selected would provide the scaling options for the selected tag.
For some users, it is not feasible to configure tags individually, particularly when dealing with a larger quantity. TOP Server offers several different ways to create a large number of static tags, one of which is mentioned before as CSV import but all of which, including automatic tag generation from some devices, are outlined in another blog post, which we encourage you to also read: Three Ways to Mass Create TOP Server Static Tags.
Dynamic tag addressing is a alternative method of telling TOP Server what device data to access where the tags are only defined in the client application such as your HMI, SCADA, Historian or MES. Sometimes we hear users referring to this as “Direct” addressing.
The client defines tags using the direct tag address rather than referencing a static tag name in the server. Upon client connect, the TOP Server creates a virtual tag for that tag address and starts scanning for data as usual.
Dynamic tag addressing does not provide the option for scaling device values to engineering units a TOP Server project nor does it provide granular control on read/write access.
Also if you launch the OPC Quick client, you will see all the internal system tags but you won’t see any values of live data without configuring some tags using dynamic tag addressing in the OPC Quick Client. For this reason, we suggest you consider defining one static tag per device that would be helpful for troubleshooting. You can also build configurations of Dynamic Tags in the OPC Quick Client and save them off for common troubleshooting scenarios you may encounter.
Unlike Static tags, Dynamic tags will be defined in the client software application’s tag database. Instead of creating a tag item in the client that addresses a user defined tag in TOP Server, the user would instead create tag items in the client that directly accesses the device driver’s addresses. If any data type other than the default data type (specified in each driver help file) is required, TOP Server also supports appending an “@” symbol to the end of the address. Supported formats for dynamic tags are:
As shown in the below image, appending the tag address with @Short changed the data type from TOP Server’s default data type “Word” to “Short”.
Here is an example of dynamic tags passed down to the TOP Server from its built in OPC Quick Client application:
If you decide dynamic tag addressing fits your organization’s needs, you should still consider defining at least one static tag per device. This allows for easier troubleshooting between the server and the device should you experience communication issues because you will be able to quickly open the OPC Quick Client and see that tag’s value without having to dynamically add it. Remember, both static and dynamic tag addressing can be used at the same time in any client application. If a dynamic tag address matches the address referenced by a static tag, and the scan rates are the same or integer multiples of each other, TOP Server will optimize its device polling to the fastest rate required, and not duplicate the tag and duplicate the request for the data to the device.
There is not a difference in performance in terms of how fast TOP Server can get the data between the two options. Static tags will use a bit more memory than Dynamic tags, but underlying operations all use underlying memory addresses and highly efficient internal memory pointers. If you expect to have a very large project, which to us is over 100,000 tags, and you want to discuss memory usage and the results of our internal studies on this, please contact support.
Overall, TOP Server’s flexible configuration options allow you to specify to TOP Server what data you want to read and write to best fit your specific needs. This configurable functionality is one of the many advantages of using TOP Server. If you have any questions while determining which type of TOP Server tag specification meets your needs, please feel free to contact our support team.