Technical Reference > Parameters Overview > Hierarchical Parameters

Hierarchical Parameters

As CitectSCADA supports clustering and the ability to run multiple servers of the same type on one machine, there are circumstances when the server component parameters (Alarm, Report, Trend, IOServer) need to be tuned to a finer level than just machine level. For this reason, these parameters are hierarchical parameters that are capable of being implemented at a number of levels:

These parameters support hierarchical inheritance, that is, a parameter will:

  1. Apply a value set for it at a server level;
  2. If that is not specified, apply a value set for it at a cluster level;
  3. If that is not specified, apply a value set for it at a component level;
  4. If that is not specified, apply the default value for that parameter.

Example

The following Citect.ini file is applied to Server1 and Server2 both in Cluster1, and to Server3 and Server4 both in Cluster2.

[Alarm]SavePeriod = 500
[Alarm.Cluster1]SavePeriod = 600
[Alarm.Cluster1.Server1]SavePeriod = 1000

This is illustrated in the diagram below.

The values applied at each server for [Alarm]SavePeriod would be as follows:

Cluster Name

Computer Name

SavePeriod Value

Cluster1

Server1

1000

Cluster1

Server2

600

Cluster2

Server3

500

Cluster2

Server4

500

Note: Hierarchical parameters may be set in the parameters database. In this case normal rules of precedence will apply. For more information see Parameter Precedence.