Ask a Question

New Dynamic Point Licensing in CitectSCADA 7.0

Summary
The Citect website states that in CitectSCADA 7.0 there is "New dynamic-point licensing whereby customers only pay for the points they use". How does this work and how does it differ to the point system in previous versions of CitectSCADA?

Solution

In CitectSCADA 6.10 or earlier, multiple tags that share the same I/O device address will be counted as a single I/O point. This is calculated at compilation time and the compiler will report the number I/O points used in a project and is referred to as the Static Point Count. Any other tags used in super genies, read/written to via CTAPI, ODBC, DDE, TagRead() and TagWrite() are counted at runtime and are referred to the Dynamic Point Count. Thus, the total I/O point count will be equal to Dynamic Count plus Static Count, which is calculated at runtime.

However, in CitectSCADA 7.0 the compiler does not generate any static point count any more. CitectSCADA 7.0 counts all I/O device addresses dynamically at runtime. This includes all tags used by alarms, trends, reports, events, pages, in Super Genies, use of the TagRead() and TagWrite() Cicode functions, or read or written to using DDE, ODBC, or the CTAPI. A particular variable tag is only counted towards your point count the first time it is requested. That is, even though you may have configured a certain tag on a particular page in your project, unless you navigate to that page and request the data, the variable tag will not be counted towards your point count.

In addition to this, there have been a number of other changes that have been made to the licensing structure in CitectSCADA 7.0. These are listed below:

-I/O point count is now tag based not address based. For example, two tags that use the same PLC address will be counted twice. If two trend tags use the same variable tag, it will be counted once. The same applies to alarms.

-For the multi-process mode, each server component will accumulate its own point count. The server component point count is the count added up from all server components. If two server components use the same tags, say alarm and trend, the tags will be counted twice when the point count gets totalized.

-For the multi-process mode, the client component will also accumulate its own point count including super genie and CTAPI tags.

-For the multi-process mode, the machine point count will be the point count on the client component or the point count added up from all server components, whichever is bigger. For example, if the total point count for all server components is 100, and the client component point count including CTAPI and super genies is 95, the kernel "General" window will show 100. If the client component point count reaches 120 later and the server component point count still remains 100, the kernel "General" window will show 120.

-Reading properties of a tag with TagGetProperty() will cause that tag to be included in the point count, even if the value is not read.

-Writing to local variables or disk IO variable tags via OPC etc will also increase the point count. For example, if you use an OPC client to write to a local variable, each local variable will be counted once, the first time it is used.