The RIO Channel Group ObjectTypesare listed in Table 17. There are Channel Grouptypes defined for digital and analog IO for RIOforFA and RIOforPA. There is no distinction regarding Inputand Output, the Channel Group Objectsaggregate Inputand Output Channel Objects. All Channel Grouptypes are derived from the RioChannelGroupTypedefined in chapter 7.1.1.

Table 17– RIO Channel Group Types

Profile

Channel Groups

Digital

Analog

RIOforPA

RioPaDigitalChannelGroupType

RioPaAnalogChannelGroupType

RIOforFA

RioFaDigitalChannelGroupType

RioFaAnalogChannelGroupType

The RioChannelGroupTypeallows the aggregation of RIO Channelsfor diagnostic purposes and for asset relations. The RioChannelGroupTypecontains Referencesto RioChannelType Objects. In addition, the server might provide configuration information common to all aggregated channels.

Table 18– RioChannelGroupType Definition

Attribute

Value

BrowseName

RioChannelGroupType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectTypedefined in OPC 10000-5.

0:HasProperty

Variable

NumberOfChannels

0:UInt16[5]

0:PropertyType

M, RO

0:HasProperty

Variable

ApplicationTag

0:String

0:PropertyType

O, RO

0:HasComponent

Method

SetApplicationTag

O

0:HasProperty

Variable

LastParameterChange

0:DateTime

0:PropertyType

O, RO

HasRioInputChannel

Object

<RioInputChannel>

RioChannelType

OP

HasRioOutputChannel

Object

<RioOutputChannel>

RioChannelType

OP

HasRioConfiguration

Object

ChannelGroupConfig

RioChannelGroupConfigType

O, RO

0:GeneratesEvent

ObjectType

RioChannelDiagnosisEventType

0:GeneratesEvent

ObjectType

RioChannelDiagnosisAlarmType

0:HasComponent

Object

Lock

2:LockingServicesType

O

Conformance Units

PNRIO Channel Groups

The NumberOfChannels array Variablecontains the number of channels of each supported type represented by the RIO Channel Group. The following table contains the relationship of array index and the channel number information stored at the respective index:

Index

Content of NumberOfChannels[Index]

0

Number of digital input channels

1

Number of digital output channels

2

Number of analog input channels

3

Number of analog output channels

4

Number of universal channels.

The ApplicationTag Variablecontains application specific data which can be used by Clientsto obtain additional semantic information. Clientscan modify the content of this Variableby invoking the SetApplicationTag Method.

If no subordinated RIO Channel Objectsare provided, the Channel Grouplevel ApplicationTag Variableis the only possibility to store Clientspecific semantic information. Serverscan support tagging on RIO Channellevel by providing Channel Objects.

The <RioInputChannel> Referencelinks one aggregated Input Channel Object. For each aggregated Input Channel Object, one HasRioInputChannel Referenceshall be part of the RioChannelGroupType Object.

The <RioOutputChannel> Referencelinks one aggregated Output Channel Object. For each aggregated Output Channel Object, one HasRioOutputChannel Referenceshall be part of the RioChannelGroupType Object.

If provided, the ChannelGroupConfig Objectcontains an arbitrary subset of read-only configuration properties of the represented RIO Channel Objects.

The Servermight provide diagnosis data by sending RioChannelDiagnosisEventType Events and / or RioChannelDiagnosisAlarmType Events. The diagnosis data of the RioChannelGroup Objectincludes the diagnosis information of all aggregated RIO Channel Objects.

The used cross-aspect ReferenceTypes 0:RepresentsSameFunctionalityAsand 0:RepresentsSameEntityAs (see below) can only exist if the Serverprovides the PROFINET aspect of the Information Model.

If the PROFINET aspect is provided by the Server,the RIO Channel Group Objectshall be linked to the associated PN Submoduleusing a 0:RepresentsSameFunctionalityAs Reference. The associated submodule addresses the same IO data as the Channel Group Objectprovides.

The Lock Object ensures exclusive write access and Methodcall for one Client. The Clientlocks the Channel Group Objectby invoking the InitLock Methodof the Lock Object. The Client invokes ExitLockto release the lock.

Before invoking a Methodof the Channel Group Object, Clientsmust gain exclusive write access (“lock” the Channel Group Object) using the Lock Object.

This Methodsets the Valueof the ApplicationTag Variable. The security constraints defined in chapter 6.7apply.

Signature

SetApplicationTag(

[in] 0:StringApplicationTag

);

Argument

Description

ApplicationTag

String containing the desired content of the ApplicationTag Variable.

The MethodResult Codes (defined in Call Service) are defined in Table 19.

Table 19– Possible Methodresult codes

Result Code

Description

Good

The Methodexecution was successful.

Bad_UserAccessDenied

The Clienthas not the right to execute the Method.

Bad_InvalidArgument

The Serveris not able to apply the name. The ApplicationTag string may be too long or may contain invalid characters. The server may also reject duplicates.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Devicemight be temporarily unavailable or unreachable due to network failure.

If the SetApplicationTag Method is invoked or if configuration data provided by the subordinated RioChannelGroupConfigType Objectis changed, the value of the LastParameterChangetimestamp Variableshall be changed by the Server.

The RioChannelGroupConfigTypecontains all configuration properties which are common to all RIO Channelconfiguration types. A Servermay support an arbitrary subset of these properties. Each supported property applies to all represented channels of the RIO Channel Group.

The Servermay provide only one of the PaDigitalSubstituteValue, FaDigitalSubstituteValuebit fields, as well as the PaAnalogSubstituteValueand FaAnalogSubstituteValuearrays. But these variables shall be provided only if individual RIO Channel Objectsare not provided.

Table 20– RioChannelGroupConfigType Definition

Attribute

Value

BrowseName

RioChannelGroupConfigType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectTypedefined in OPC 10000-5.

0:HasProperty

Variable

SignalType

RioSignalTypeEnumeration

0:PropertyType

O, RO

0:HasProperty

Variable

InversionEnabled

0:Boolean

0:PropertyType

O, RO

0:HasProperty

Variable

ShortCircuitCheckEnabled

0:Boolean

0:PropertyType

O, RO

0:HasProperty

Variable

WireCheckEnabled

0:Boolean

0:PropertyType

O, RO

0:HasProperty

Variable

SupplyVoltageCheckEnabled

0:Boolean

0:PropertyType

O, RO

0:HasProperty

Variable

LoadVoltageCheckEnabled

0:Boolean

0:PropertyType

O, RO

0:HasProperty

Variable

SubstitutePolicy

RioSubstitutePolicyEnumeration

0:PropertyType

O, RO

0:HasComponent

Variable

PaDigitalSubstituteValue

RioBitFieldDataType

RioBitFieldVariableType

O, RO

0:HasComponent

Variable

FaDigitalSubstituteValue

RioBitFieldDataType

RioBitFieldVariableType

O, RO

0:HasProperty

Variable

PaAnalogSubstituteValue

RioAnalogDataType[]

0:PropertyType

O, RO

0:HasProperty

Variable

FaAnalogSubstituteValue

RioAnalogDataType[]

0:PropertyType

O, RO

0:HasProperty

Variable

SubstituteTime

0:Float

0:PropertyType

O, RO

0:HasProperty

Variable

Damping

0:Float

0:PropertyType

O, RO

0:HasProperty

Variable

HighLimit

RioAnalogDataType

0:PropertyType

O, RO

0:HasProperty

Variable

LowLimit

RioAnalogDataType

0:PropertyType

O, RO

Conformance Units

PNRIO Configuration

The SignalType Propertycontains the signal type encoded as RioSignalTypeEnumeration.

The InversionEnabled Propertycontains True if the digital signal is inverted in the Function Block, otherwise False.

The ShortCircuitCheckEnabled Propertycontains True if short circuit check is active for the channel, otherwise False.

The WireCheckEnabled Propertycontains True if wire check is active for the channel, otherwise False.

The SupplyVoltageCheckEnabled Propertycontains True if supply voltage check is active for the channel, otherwise False.

The LoadVoltageCheckEnabled Propertycontains True if load voltage check is active for the channel, otherwise False.

The SubstitutePolicy Propertycontains the substitute value setting of the channel encoded as RioSubstitutePolicyEnumeration.

The PaDigitalSubstituteValue bit fieldPropertycontains the substitute values for the Process Valueof the represented digital RIOforPA channels which shall be used if a failure is detected. The usage of the substitute value depends on the actual value of the SubstitutePolicy Property.

The FaDigitalSubstituteValue bit fieldPropertycontains the substitute values for the Process Valueof the represented digital RIOforFA channels which shall be used if a failure is detected. The usage of the substitute value depends on the actual value of the SubstitutePolicy Property.

If the number of RIOforFA Channelsthe RIO Channel Grouprepresents exceeds the capacity of the RioBitFieldVariableType(which is 32), as many RioBitFieldVariableType Variablesshall be part of the RIO Channel Group Objectas are needed to represent the substitute values of all RIOforFA Channels. The BrowseNamesof the RioBitFieldVariableType Variableshall be extended with a suffix ensuring uniqueness and indicating the section of the bitfield the variable represents in this case, e.g. “FaDigitalSubstituteValue_0_31”, “FaDigitalSubstituteValue _32_47”, and so on.

The optional Offset Propertyof the RioBitFieldVariableType Variablesshall be provided in this case and contain the start of the range the RioBitFieldVariableType Variablerepresents. Possible Valuesfor Offsetare 0, 32, 64, and so on. The Offset Valueadded to the bit number shall be used as the RioChannelNumber Property Valueof the corresponding RIO Channel Objects if these Objectsare provided.

The PaAnalogSubstituteValue arrayPropertycontains the substitute values for the Process Valueof the represented analog RIOforPA channels which shall be used if a failure is detected. The usage of the substitute value depends on the actual value of the SubstitutePolicy Property.

The FaAnalogSubstituteValue arrayPropertycontains the substitute values for the Process Valueof the represented analog RIOforFA channels which shall be used if a failure is detected. The usage of the substitute value depends on the actual value of the SubstitutePolicy Property.

The bit numbers and array indexes in the range 0 to <number of Input Channelsminus 1> constitute the RioChannelNumbersof the represented Input Channels. The bit numbers and array indexes in the range <number of Input Channels> to <number of Input Channels+ number of Output Channelsminus 1> constitute the RioChannelNumbersof the represented Output Channels.

The SubstituteTime Propertycontains the time in seconds from the detection of a failure to a reaction (substitute value is set for the Process Value).

The Damping Propertycontains the damping time (T63) in seconds applied to an analog signal in the Function Block.

The HighLimit Propertycontains the upper limit of an analog signal.

The LowLimit Propertycontains the lower limit of an analog signal.

The RioPaAnalogChannelGroupType aggregatesRioPaAnalogInputChannelType Objects andRioPaAnalogOutputChannelType Objects.

Table 21– RioPaAnalogChannelGroupType Definition

Attribute

Value

BrowseName

RioPaAnalogChannelGroupType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the RioChannelGroupType.

HasRioProcessVariable

Variable

InputValues

RioPaAnalogValueDataType[]

0:BaseDataVariableType

O, RO

HasRioProcessVariable

Variable

OutputValues

RioPaAnalogValueDataType[]

0:BaseDataVariableType

O, RO

0:HasProperty

Variable

SimulationValues

RioPaAnalogValueDataType[]

0:PropertyType

O, RO

0:HasComponent

Variable

SimulationEnabled

0:Boolean[]

0:BaseDataVariableType

O, RO

0:HasComponent

Method

SetSimulation

O

0:HasComponent

Method

SetSimulationValue

O

Conformance Units

PNRIO Channel Groups

The InputValuesarray Variablecontains the Input Process Valuesof the Input Channelsthe RIO Channel Group Objectrepresents. The InputValues Variableis linked to the associated PnIoTelegramType Objectusing a 0:RepresentsSameEntityAs Reference(see Figure 20).

The array indexes must be equal to the RioChannelNumber of the represented Input Channels. The RioChannelNumbersof the Input Channelsshall have the value range 0 to <size of InputValuesarray> minus 1.

The OutputValuesarray Variablecontains the Output Process Valuesof the Output Channelsthe RIO Channel Group Objectrepresents. The OutputValues Variableis linked to the associated PnIoTelegramType Objectusing a 0:RepresentsSameEntityAs Reference.

The array indexes must be equal to the RioChannelNumberof the represented Output Channelsminus <size of the InputValuesarray>. The RioChannelNumbersof the Output Channelsshall have the value range <size of InputValuesarray> to <size of InputValuesarray + size of OutputValuesarray> minus 1.

The type of each array element is RioPaAnalogValueDataTypewhich has two members: Valuecontains the Process Valueand QualifierValuecontains the status information associated with each value.

The SimulationValuesarray of RioPaAnalogValueDataTypestructures contains the values and qualifiers used as Process Valuefor each represented analog channel if simulation is active for the channel.

The SimulationEnabledarray Variablecontains True for each array element if simulation is enabled for the corresponding RIO Channel, otherwise False.

The array indexes of the SimulationValuesand the SimulationEnabledarrays must be equal to the RioChannelNumberof the referenced RIO Channels.

This Methodsets the Valueof array elements of the SimulationEnabledarray Variable. The security constraints defined in chapter 6.7apply.

Signature

SetSimulation(

[in] 0:Boolean SimulationEnabled

[in] 0:Int16 Index

);

Argument

Description

SimulationEnabled

Value used to set the Value of one SimulationEnabledarray element.

Index

Index of array element to set. If -1, the SimulationEnabled parameter is assigned to all array elements.

The MethodResult Codes (defined in Call Service) are defined in Table 22.

Table 22– Possible Methodresult codes

Result Code

Description

Good

The Methodexecution was successful.

Bad_UserAccessDenied

The Clienthas not the right to execute the Methodsince the Operator Roleis not granted to the Client’s Session.

Bad_InvalidArgument

The Serveris not able to assign the value. Possible reason: Invalid index.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Devicemight be temporarily unavailable or unreachable due to network failure.

This Methodsets the Valueof array elements of the SimulationValue array Variable. The security constraints defined in chapter 6.7apply.

Signature

SetSimulationValue(

[in] RioAnalogDataTypeValue

[in] 0:Byte Qualifier

[in] 0:Int16 Index

);

Argument

Description

Value

Value used to set the Value member of the array element.

Qualifier

Value used to set the Qualifier member of the array element.

Index

Index of array element to set. If -1, the parameters are assigned to all array elements.

The MethodResult Codes (defined in Call Service) are defined in Table 23.

Table 23– Possible Methodresult codes

Result Code

Description

Good

The Methodexecution was successful.

Bad_UserAccessDenied

The Clienthas not the right to execute the Methodsince the Operator Roleis not granted to the Client’s Session

Bad_InvalidArgument

The Serveris not able to assign the values. Possible reasons: Invalid qualifier value, invalid index. The server might also reject invalid values outside the supported range.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Devicemight be temporarily unavailable or unreachable due to network failure.

The RioFaAnalogChannelGroupType aggregatesRioFaAnalogInputChannelType Objects andRioFaAnalogOutputChannelType Objects.

Table 24– RioFaAnalogChannelGroupType Definition

Attribute

Value

BrowseName

RioFaAnalogChannelGroupType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the RioChannelGroupType.

HasRioProcessVariable

Variable

InputImageValues

RioAnalogDataType[]

0:BaseDataVariableType

O, RO

HasRioProcessVariable

Variable

InputImageQualifiers

RioBitFieldDataType

RioBitFieldVariableType

O, RO

HasRioProcessVariable

Variable

OutputImageValues

RioAnalogDataType[]

0:BaseDataVariableType

O, RO

HasRioProcessVariable

Variable

OutputImageQualifiers

RioBitFieldDataType

RioBitFieldVariableType

O, RO

Conformance Units

PNRIO Channel Groups

The InputImageValuesarray Variablecontains the Input Process Valuesof the Input Channelsthe RIO Channel Group Objectrepresents. The InputImageValues Variableis linked to the associated PnIoTelegramType Input Objectusing a 0:RepresentsSameEntityAs Reference.

The InputImageQualifiers RioBitFieldVariableType Variablecontains a bit field representing the qualifier bits associated with each Input Process Valuethe RIO Channel Group Objectrepresents. The InputImageQualifiers Variableis linked to the associated PnIoSignalType Input Objectusing a 0:RepresentsSameEntityAs Reference.

The OutputImageValuesarray Variablecontains the Output Process Valuesof the Output Channelsthe RIO Channel Group Objectrepresents. The OutputImageValues Variableis linked to the associated PnIoTelegramType Output Objectusing a 0:RepresentsSameEntityAs Reference.

The OutputImageQualifiers RioBitFieldVariableType Variablecontains a bit field representing the qualifier bits associated with each Output Process Valuethe RIO Channel Group Objectrepresents. The OutputImageQualifiers Variableis linked to the associated PnIoSignalType Input Objectusing a 0:RepresentsSameEntityAs Reference.

The array index is used as the unambiguous assignment of qualifier bit and value. The array indexes and the bit numbers of the InputImageValuesarray and the InputImageQualifiersbit field must be equal to the RioChannelNumber Property Valuesof the corresponding RIO Channel Objects. The OutputImageValuesarray indexes and OutputImageQualifiersbit numbers must be mapped to the value range of the RioChannelNumbersof the referenced Output Channelsby adding the size of the InputImageValuesarray.

The RioChannelNumbersof the Input Channelsshall have the value range 0 to <size of InputImageValuesarray> minus 1. The RioChannelNumbersof the Output Channelsshall have the value range <size of InputImageValuesarray> to <size of InputImageValuesarray + size of OutputImageValuesarray> minus 1.

If the number of RIO Channelsthe RIO Channel Grouprepresents exceeds the capacity of the RioBitFieldVariableType(which is 32), as many RioBitFieldVariableType Variablesshall be part of the RIO Channel Group Objectas are needed to represent the qualifiers of all RIO Channels.

The BrowseNamesof the RioBitFieldVariableType Variablesshall be extended with a suffix ensuring uniqueness and indicating the section of the bitfield the variable represents in this case, e.g. “_0_31”, “_32_47”, and so on.

The optional Offset Propertyof the RioBitFieldVariableTypeshall be provided in this case and contain the start of the range the RioBitFieldVariableType Variablerepresents. Possible Valuesfor Offsetare 0, 32, 64, and so on. The Offset Valueadded to the bit number is equal to the array index of the corresponding Process Value. For bit fields representing Output Channelsthe array index must be mapped to the value range of the RioChannelNumbersof the referenced Output Channelsby adding the number of Input Channels(see above).

The RioPaDigitalChannelGroupType aggregatesRioPaDigitalInputChannelType Objects andRioPaDigitalOutputChannelType Objects.

Table 25– RioPaDigitalChannelGroupType Definition

Attribute

Value

BrowseName

RioPaDigitalChannelGroupType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the RioChannelGroupType.

HasRioProcessVariable

Variable

InputImage

RioPaDigitalValueDataType[]

0:BaseDataVariableType

O, RO

HasRioProcessVariable

Variable

OutputImage

RioPaDigitalValueDataType []

0:BaseDataVariableType

O, RO

0:HasProperty

Variable

SimulationValues

RioPaDigitalValueDataType[]

0:PropertyType

O, RO

0:HasComponent

Variable

SimulationEnabled

0:Boolean[]

0:BaseDataVariableType

O, RO

0:HasComponent

Method

SetSimulation

O

0:HasComponent

Method

SetSimulationValue

O

Conformance Units

PNRIO Channel Groups

The InputImagearray Variablecontains the Input Process Valuesof the Input Channelsthe RIO Channel Group Objectrepresents. The InputImage Variableis linked to the associated PnIoTelegramType Input Objectusing a 0:RepresentsSameEntityAs Reference.

The array indexes must be equal to the RioChannelNumbers of the represented Input Channels. The RioChannelNumbersof the Input Channelsshall have the value range 0 to <size of InputImagearray> minus 1.

The OutputImagearray Variablecontains the Output Process Valuesof the Output Channelsthe RIO Channel Group Objectrepresents. The OutputImage Variableis linked to the associated PnIoTelegramType Output Objectusing a 0:RepresentsSameEntityAs Reference (See Figure 21).

The array indexes must be equal to the RioChannelNumbersof the represented Output Channels minus <size of the InputImagearray>. The RioChannelNumbersof the Output Channelsshall have the value range <size of InputImagearray> to <size of InputImagearray + size of OutputImagearray> minus 1.

The type of each array element is RioPaDigitalValueDataTypewhich has two members: Valuecontains the Process Valueand QualifierValuecontains the status information associated with each value.

The SimulationValuesarray of RioPaDigitalValueDataTypestructures contains the values and qualifiers used as Process Valuefor each represented digital channel if simulation is active for the channel.

The SimulationEnabledarray Variablecontains True for each array element if simulation is enabled for the corresponding RIO Channel, otherwise False.

The array indexes of the SimulationValuesand the SimulationEnabledarrays must be equal to the RioChannelNumberof the referenced RIO Channels.

This Methodsets the Valueof array elements of the SimulationEnabledarray Variable. The security constraints defined in chapter 6.7apply.

Signature

SetSimulation(

[in] 0:Boolean SimulationEnabled

[in] 0:Int16 Index

);

Argument

Description

SimulationEnabled

Value used to set the Value of one SimulationEnabledarray element.

Index

Index of array element to set. If -1, the SimulationEnabled parameter is assigned to all array elements.

The MethodResult Codes (defined in Call Service) are defined in Table 26.

Table 26– Possible Methodresult codes

Result Code

Description

Good

The Methodexecution was successful.

Bad_UserAccessDenied

The Clienthas not the right to execute the Methodsince the Operator Roleis not granted to the Client’s Session.

Bad_InvalidArgument

The Serveris not able to assign the value. Possible reason: Invalid index.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Devicemight be temporarily unavailable or unreachable due to network failure.

This Methodsets the Valueof array elements of the SimulationValue Variable. The security constraints defined in chapter 6.7apply.

Signature

SetSimulationValue(

[in] 0:Boolean Value

[in] 0:Byte Qualifier

[in] 0:Int16 Index

);

Argument

Description

Value

Value used to set the Value member of the array element.

Qualifier

Value used to set the Qualifier member of the array element.

Index

Index of array element to set. If -1, the parameters are assigned to all array elements.

The MethodResult Codes (defined in Call Service) are defined in Table 27.

Table 27– Possible Methodresult codes

Result Code

Description

Good

The Methodexecution was successful.

Bad_UserAccessDenied

The Clienthas not the right to execute the Methodsince the Operator Roleis not granted to the Client’s Session

Bad_InvalidArgument

The Serveris not able to assign the values. Possible reasons: Invalid qualifier value, invalid index.

Bad_UnexpectedError

The server is not able to execute the function because an unexpected error occurred. The Devicemight be temporarily unavailable or unreachable due to network failure.

The RioFaDigitalChannelGroupType aggregatesRioFaDigitalInputChannelType Objects andRioFaDigitalOutputChannelType Objects. Alternatively, the server can omit the channel objects and provide Input- and Outputimage Variables only.

Table 28– RioFaDigitalChannelGroupType Definition

Attribute

Value

BrowseName

RioFaDigitalChannelGroupType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the RioChannelGroupType.

HasRioProcessVariable

Variable

InputImage

RioBitFieldDataType

RioBitFieldVariableType

O, RO

HasRioProcessVariable

Variable

InputImageQualifiers

RioBitFieldDataType

RioBitFieldVariableType

O, RO

HasRioProcessVariable

Variable

OutputImage

RioBitFieldDataType

RioBitFieldVariableType

O, RO

HasRioProcessVariable

Variable

OutputImageQualifiers

RioBitFieldDataType

RioBitFieldVariableType

O, RO

Conformance Units

PNRIO Channel Groups

The InputImage Variablecontains a bit field. The bit field contains the copy of one Input Telegram’smemory image associated with one PnIoSignalType Object. The InputImage Variableis linked to the associated PnIoSignalType Objectusing a 0:RepresentsSameEntityAs Reference.

The InputImageQualifiers Variablecontains a bit field containing the qualifier bits for each bit in the InputImage Variable. The InputImageQualifier Variableis linked to the associated PnIoSignalType Objectusing a 0:RepresentsSameEntityAs Reference.

The bit numbers must be equal to the RioChannelNumberof the represented Input Channels. The RioChannelNumbersof the Input Channelsshall have the value range 0 to <number of Input Channels> minus 1.

The OutputImage Variablecontains a bit field. The bit field contains the copy of one Output Telegram’smemory image associated with one PnIoSignalType Object. The OutputImage Variableis linked to the associated PnIoSignalType Objectusing a 0:RepresentsSameEntityAs Reference.

The OutputImageQualifiers Variablecontains a bit field containing the qualifier bits for each bit in the OutputImage Variable. The OutputImageQualifier Variableis linked to the associated PnIoSignalType Objectusing a 0:RepresentsSameEntityAs Reference.

The bit numbers must be equal to the RioChannelNumberof the represented Output Channelsminus the number of Input Channels. The RioChannelNumbersof the Output Channelsshall have the value range <number of Input Channels> to <number of Input Channels+ number of Output Channels> minus 1.

If the number of RIO Channelsthe RIO Channel Grouprepresents exceeds the capacity of the RioBitFieldVariableType(which is 32), as many RioBitFieldVariableType Variablesshall be part of the RIO Channel Group Objectas are needed to represent the qualifiers of all RIO Channels.

The BrowseNamesof the RioBitFieldVariableType Variablesshall be extended with a suffix ensuring uniqueness and indicating the section of the bitfield the variable represents in this case, e.g. “_0_31”, “_32_47”, and so on.

The optional Offset Propertyof the RioBitFieldVariableType Variablesshall be provided in this case and contain the start of the range the RioBitFieldVariableType Variablerepresents. Possible Valuesfor Offsetare 0, 32, 64, and so on. The Offset Valueadded to the bit number shall be used as the RioChannelNumberof the corresponding RIO Channels.For bit fields representing Output Channelsthe number of Input Channelsmust be added also to obtain the RioChannelNumberof the represented Output Channel(see above).