5 Model ToC Previous Next

5.2 Object Types ToC Previous Next

5.2.3 Stream ToC Previous Next

5.2.3.1 Type definition: StreamType ObjectType ToC Model

This ObjectType defines the structure of a Stream Object. Figure 10 depicts the StreamType hierarchy. It is formally defined in Table 33.


readme_files/image013.png

Figure 10 - StreamType Hierarchy

StreamType is a subtype of TopologyElementType.

A Stream may have Parameters. If a Stream has Parameters they appear in an Object called ParameterSet as a flat list of Parameters. Parameters of a Stream are identified by the <ParameterIdentifier> browse name. Parameters of a Stream can be organized in FunctionalGroups identified as <GroupIdentifier> browse name.

StreamType defines seven mandatory FunctionalGroups (see clause 5.2.1.4 for more details):

  • Configuration - used to organize Parameters representing the high-level configuration items of the stream, which are expected to be modified by end users.
  • Status - used to organize Parameters which describe the general health of the stream.
  • AcquistionSettings - used to organize Parameters which describe the conditions of the following acquisition on a stream.
  • AcquisitionStatus – used to organize Parameters which describe the status of an ongoing acquisition on a stream.
  • AcquisitionData - used to organize all Parameters which represent data retrieved at the end of the data acquisition.
  • ChemometricModelSettings - used to organize Parameters which describe/configure the chemometric models used during the data acquisition
  • Context - used to organize all Parameters which provide the context for the data acquired through the Stream. Context Parameters are not generally used by the analyser but can be published to uniquely tie acquired data with the controlling process. Examples of context Parameters are: CampaignID, BatchID, LotID, MaterialID, and SampleId.

readme_files/image014.png

Figure 11 - Stream FunctionalGroups

Table 33 – StreamType Definition

Attribute Value
BrowseName StreamType
IsAbstract False

Subtype of the TopologyElementType defined in [OPC 10000-100].

References NodeClass BrowseName DataType TypeDefinition ModellingRule
           
HasComponent Object ParameterSet   BaseObjectType Mandatory
           
HasComponent Object <GroupIdentifier>   FunctionalGroupType OptionalPlaceHolder
HasComponent Object Configuration   FunctionalGroupType Mandatory
HasComponent Object Status   FunctionalGroupType Mandatory
HasComponent Object AcquisitionSettings   FunctionalGroupType Mandatory
HasComponent Object AcquisitionStatus   FunctionalGroupType Mandatory
HasComponent Object AcquisitionData   FunctionalGroupType Mandatory
HasComponent Object ChemometricModelSettings   FunctionalGroupType Mandatory
HasComponent Object Context   FunctionalGroupType Mandatory

5.2.3.2 Parameters of StreamType ToC

Parameters defined for the StreamType are described in the following tables. The tables correspond to mandatory FunctionalGroups defined for the StreamType. Additional Parameters may be defined for Stream on subtypes of AnalyserDeviceType and associated with those FunctionalGroups.

All Stream Parameters exist as components of the ParameterSet Object defined on that Stream. Each Parameter defined for a Stream shall be accessible through one and only one FunctionalGroup defined on that Stream. Note, that the same Parameter is not instantiated more than once. Both, ParameterSet and a specific FunctionalGroup maintain References to the same instance of the Parameter.

Table 34 describes the Parameters that are organized by the Configuration FunctionalGroup of a Stream.

Table 34 –Stream Configuration Parameters

BrowseName Description VariableType Optional/
Mandatory
IsEnabled True if this stream maybe used to perform acquisition.
This Parameter is mainly used for maintenance.
DataItemType
(DataType=Boolean)
M
IsForced True if this Stream is forced, which means that is the only Stream on this AnalyserChannel that can be used to perform acquisitions.
This Parameter is mainly used for maintenance.
DataItemType
(DataType=Boolean)
O

Table 35 describes the Parameters that are organized by the Status FunctionalGroup of a Stream. All Parameters organized by this FunctionalGroup shall be read-only.

Table 35 –Stream Status Parameters

BrowseName Description VariableType Optional/
Mandatory
DiagnosticStatus Stream health status DataItemType
(DataType=DeviceHealthEnumeration)
M
LastCalibrationTime Time at which the last successful calibration was run. This is the SourceTimestamp of the main acquisition data of the first acquisition for this calibration.
If unknown, it shall be set to DateTime.MinValue.
DataItemType
(DataType=DateTime)
O
LastValidationTime Time at which the last successful validation was run. This is the SourceTimestamp of the main acquisition data of the first acquisition for this validation.
If unknown, it shall be set to DateTime.MinValue.
DataItemType
(DataType=DateTime)
O
LastSampleTime Time at which the last sample was acquired. This is the SourceTimestamp of the main acquisition data for this sample acquisition.
If unknown, it shall be set to DateTime.MinValue.
DataItemType
(DataType=DateTime)
M
       

Table 36 describes the Parameters that are organized by the AcquisitionSettings FunctionalGroup of a Stream.

Table 36 - Stream AcquisitionSettings Parameters

BrowseName Description VariableType Optional/
Mandatory
TimeBetweenSamples Number of milliseconds between two consecutive starts of acquisition.
Value 0 means “as fast as possible”
AnalogItemType
(DataType=Duration)
O

Table 37 describes the Parameters that are organized by theAcquisitionStatus FunctionalGroup of a Stream. All Parameters organized by this FunctionalGroup shall be read-only.

Table 37 –Stream AcquisitionStatus Parameters

BrowseName Description VariableType Optional/
Mandatory
IsActive True if this stream is actually running, acquiring data.
Only one Stream may be marked as IsActive on a given AnalyserChannel at any given time.
DataItemType
(DataType=Boolean)
M
ExecutionCycle Indicates which acquisition cycle is in progress DataItemType
(ExecutionCycleEnumeration)
M
ExecutionCycleSubcode Indicates a vendor defined code, which further describes the acquisition cycle. MultiStateDiscreteType M
Progress Indicates the progress of an acquisition (e.g. percentage of completion) DataItemType
(DataType=Float)
M

ExecutionCycle indicates the type of acquisition in progress and it is set in the SelectExecutionCycle state of the AnalyserChannel_OperatingModeExecuteSubStateMachine..

Progress is a float number from 0 to 100 defining the completion of the ongoing acquisition cycle. The granularity of the Progress update is vendor specific. It is set to 0 in the SelectExecutionCycle of the AnalyserChannel_OperatingModeExecuteSubStateMachine.

Table 38 describes the Parameters that are organized by the AcquisitionData FunctionalGroup of a Stream.

Table 38 –Stream AcquisitionData Parameters

BrowseName Description VariableType Optional/
Mandatory
AcquisitionCounter Simple counter incremented after each Sampling acquisition performed on this Stream; The counter is not incremented for acquisition cycles other than Sampling. It is used to support detection of missing acquisition. Wrap to 0 when it reaches 2147483647.
The starting value at power up is vendor specific
AnalogItemType
(DataType=Counter)
M
AcquisitionResultStatus Quality of the acquisition DataItemType
(AcquisitionResultStatusEnumeration)
M
<ProcessVariableIdentifier> Most commonly, it is a reference to process data produced as a result of applying the chemometric model to ScaledData.. There can be multiple Parameters representing process data and uniquely identified by the <ProcessVariableIdentifier> BrowseName. ProcessVariableType O
Offset The Offset Parameter holds the difference in milliseconds between the start of sample extraction and the start of the analysis. AnalogItemType
(DataType=Duration)
O
RawData Raw data produced as a result of data acquisition on the Stream (see definition of raw data) DataItemType
(DataType is defined on a subtype of AnalyserDeviceType)
O
ScaledData* Scaled data produced as a result of data acquisition on the Stream and applying the analyser model. The data type used is analyser dependent. (see definition of scaled data) DataItemType
(DataType is defined on a subtype of AnalyserDeviceType)
M
AcquisitionEndTime The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine.
This time should not be used for critical data synchronization but rather for correlation with other external events in the diagnostic context.
If unknown, AcquisitionEndTime shall be set to DateTime.MinValue
DataItemType
(DataType=DateTime)
M

*Definition of the ScaledData Parameter here is only to indicate that this Parameter must be defined for a Stream on a subtype of an AnalyserDeviceType. Since different analyser classes will produce scaled data of different type as their output, it is impossible to fully define this Parameter at this level. See ScaledData Parameter definition for specific class of analyser. If more than one ScaledData is required, Parameters representing those additional ScaledData shall be called ScaledData1, ScaledData2ScaledData<n>.

The Offset Parameter holds the difference in milliseconds between the start of sample extraction and the start of the analysis which is the time in millisconds between the WaitForXXXTrigger to ExtractXXXSample transition and the PrepareXXXSample to AnalyseXXXSample transition.

As a general rule, a single Parameter shall not be used to represent different data elements. For example, ScaledData shall be used for the Sample acquisition and another Parameter shall be used to publish the output of the Calibration acquisition. However, in the case where the Validation cycle consists only of acquisition of normal samples, the ScaledData Parameter may be used. A consumer of data from an Analyser Server must be able to correlate values collected from different Parameters. Specifically, it must be possible to associate scaled data with raw data, process data and context data collected during the same acquisition cycle. The data correlation is based on time-stamps used during data collection. SourceTimestamp shall be the time when the sampling system starts extracting the sample, defined by the start of the ExtractSample or ExtractCalibrationSample or ExtractValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine. The difference between the SourceTimestamp and the time when the sample is analysed, is reflected in the Offset Parameter defines in AcquisitionData.

To simplify integration with historians, Parameters in the AcquisitionData FunctionalGroup shall be updated once per acquisition cycle.

Time-stamp management rules:

  1. The time-stamp of the analyser main data (RawData, ScaledData) shall be the start time of the ExtractSample or ExtractCalibrationSample or ExtractValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine.
  2. All values derived from acquired data shall have the same SourceTimestamp as the acquired data. For example RawData, ScaledData, AcquisitionEndTime shall have the same SourceTimestamp.
  3. If a derived value combines acquired data from different data sources, the time-stamp of the “main” data shall be used. Which data source is the main data, is vendor specific, but shall be consistent and documented.
  4. If a derived value combines acquired data from different AnalyserChannels, the time-stamp of the “main” AnalyserChannel shall be used. Which AnalyserChannel is the main AnalyserChannel, is vendor specific, but shall be consistent and documented.
  5. The last item updated after the end of acquisition (PublishResults state) is AcquisitionResultStatus which is set to GOOD_1, BAD_2, UNKNOWN_3 or PARITAL_4. This implies that all items that are part of this acquisition shall have been updated; this includes items from AcquisitionData and Context FunctionalGroup.
  6. The OPC UA SourceTimestamp is always in UTC time. For details on SourceTimestamp elements of a DataValue see [OPC 10000-4].

When the analyser is working in a standalone mode i.e. it is not driven by a DCS or other external control system, the analyser should publish the Context Parameters using data provided by user or other system entry system like a barcode reader.

Table 39 describes the Parameters that are organized by the Context FunctionalGroup of a Stream.

Table 39 –Stream Context Parameters

BrowseName Description VariableType Optional/
Mandatory
CampaignId Defines the current campaign DataItemType
(DataType=String)
O
BatchId Defines the current batch DataItemType
(DataType=String)
O
SubBatchId Defines the current sub-batch DataItemType
(DataType=String)
O
LotId Defines the current lot DataItemType
(DataType=String)
O
MaterialId Defines the current material DataItemType
(DataType=String)
O
Process Current Process name DataItemType
(DataType=String)
O
Unit Current Unit name DataItemType
(DataType=String)
O
Operation Current Operation name DataItemType
(DataType=String)
O
Phase Current Phase name DataItemType
(DataType=String)
O
UserId Login name of the user who is logged on at the device console.
If no Operator logon, “System” shall be assigned to UserId.
DataItemType
(DataType=String)
O
SampleId Identifier for the sample DataItemType
(DataType=String)
O

Table 40 shows Parameters that will be organized by the ChemometricModelSettings FunctionalGroup.

Table 40 – Stream ChemometricModelSettings Parameters

BrowseName Description VariableType Optional/
Mandatory
<ChemometricModelId> Chemometric Model used to convert scaled data into process data ChemometricModelType
(DataType=Byte)
O

Previous Next