The ProcessVariablesare used to provide a stable address space view from the user point of view even if the Analyser Serveraddress space changes, after the new configuration is loaded. This is important to simplify integration with systems like DCS or LIMS that often require a stable mapping.

All ProcessVariable Variables are most of the time located in the Stream AcquisitionData FunctionalGroup. The location of the ProcessVariablecan be found with these prioritized rules:

1) The location of a ProcessVariableshall remain constant between configurations. For example, if the number of Streamschanges from one configuration to the other, the ProcessVariablesshall be pushed one level up to the AnalyserChannel.

2) ProcessVariableshould be located in the same FunctionalGroupas its Source.

The following bullets describe how the above rules should be applied to common scenarios:

  • A typical lab analyser has one AnalyserChanneland one sample holder, which translates to a single Stream. In this case, ProcessVariablesshall be located at the Streamlevel.
  • A process analyser attached to a multi-port vessel with a fixed hardware setting, in this case also, ProcessVariablesshall be located at the Streamlevel.
  • A process analyser is installed on a dolly and can be attached to different vessels for diagnostic purposes. In this case, the number of Streamsis likely to change from configuration to configuration. ProcessVariablesshall be pushed to least AnalyserChannellevel.
  • An analyser publishes only a few values through ProcessVariablesto mimic a legacy system. In this case, it may make sense to place ProcessVariables at the AnalyserDevicelevel.
  • In gas chromatographs, new Chromatographic Applications(software AnalyserChannels) may be added over the time and similarly new Streamsmay be added or removed. Because these operations usually require hardware addition and they do not happen very often, it is strongly recommended to apply rule 2) to ensure the consistent way in which the control system views the gas chromatograph.

When a ProcessVariableis linked with another Variablethrough the Source Reference, it is the Server’s responsibility to copy and maintain in sync the following Attributesand Propertiesfrom the Sourcetarget:

Knowing that the ProcessVariablesare used to exchange values with control system, it is a good practice to keep the DataType, ValueRank andArrayDimensionsconsistent between configurations.

Also, when the Serverresponds to read or Subscription Services, the returned DataValueshall be the same for both the ProcessVariableand the Variablepointed by the Source Reference, especially the StatusCode, value and SourceTimestamp.

ProcessVariableType is formally defined in Table 87.

Table 87– ProcessVariableType Definition













Subtype of the DataItemTypedefined in [[OPC 10000-8]





(DataType defined by Source Variable)


Source is a Referencethat usually points to an output Variableof a model but it is allowed to point to another Variable. The DataTypeof the ProcessVariableshall be the same as the one pointed by Source Reference.