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, from CitectSCADA
7.0 the compiler does not generate any static point count any more.
CitectSCADA counts I/O
device addresses dynamically at runtime. This includes 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 from 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 each server
component -if two server components use the same tags, say alarm
and trend, the tags will be counted twice when the point count gets
totaled.
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 each server component, whichever
is bigger. For example, if the total point count for each server
component 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.