7.1.1 RioChannelGroupType

The RioChannelGroupType allows the aggregation of RIO Channels for diagnostic purposes and for asset relations. The RioChannelGroupType contains References to RioChannelType Objects. In addition, the server might provide configuration information common to all aggregated channels.

Table 18 – RioChannelGroupType Definition
Attribute Value
BrowseNameRioChannelGroupType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the 0:BaseObjectType defined in OPC 10000-5.
0:HasPropertyVariable NumberOfChannels0:UInt16[5]0:PropertyTypeM, RO
0:HasPropertyVariableApplicationTag0:String0:PropertyTypeO, RO
0:HasComponentMethodSetApplicationTagO
0:HasPropertyVariable LastParameterChange0:DateTime0:PropertyTypeO, RO
HasRioInputChannelObject<RioInputChannel>RioChannelTypeOP
HasRioOutputChannelObject<RioOutputChannel>RioChannelTypeOP
HasRioConfigurationObjectChannelGroupConfigRioChannelGroupConfigTypeO, RO
0:GeneratesEventObjectTypeRioChannelDiagnosisEventType
0:GeneratesEventObjectTypeRioChannelDiagnosisAlarmType
0:HasComponentObjectLock2:LockingServicesTypeO
Conformance Units
PNRIO Channel Groups

The NumberOfChannels array Variable contains 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]
0Number of digital input channels
1Number of digital output channels
2Number of analog input channels
3Number of analog output channels
4Number of universal channels.

The ApplicationTag Variable contains application specific data which can be used by Clients to obtain additional semantic information. Clients can modify the content of this Variable by invoking the SetApplicationTag Method.

If no subordinated RIO Channel Objects are provided, the Channel Group level ApplicationTag Variable is the only possibility to store Client specific semantic information. Servers can support tagging on RIO Channel level by providing Channel Objects.

The <RioInputChannel> Reference links one aggregated Input Channel Object. For each aggregated Input Channel Object, one HasRioInputChannel Reference shall be part of the RioChannelGroupType Object.

The <RioOutputChannel> Reference links one aggregated Output Channel Object. For each aggregated Output Channel Object, one HasRioOutputChannel Reference shall be part of the RioChannelGroupType Object.

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

The Server might provide diagnosis data by sending RioChannelDiagnosisEventType Events and / or RioChannelDiagnosisAlarmType Events. The diagnosis data of the RioChannelGroup Object includes the diagnosis information of all aggregated RIO Channel Objects.

The used cross-aspect ReferenceTypes 0:RepresentsSameFunctionalityAs and 0:RepresentsSameEntityAs (see below) can only exist if the Server provides the PROFINET aspect of the Information Model.

If the PROFINET aspect is provided by the Server, the RIO Channel Group Object shall be linked to the associated PN Submodule using a 0:RepresentsSameFunctionalityAs Reference. The associated submodule addresses the same IO data as the Channel Group Object provides.

The Lock Object ensures exclusive write access and Method call for one Client. The Client locks the Channel Group Object by invoking the InitLock Method of the Lock Object. The Client invokes ExitLock to release the lock.

Before invoking a Method of the Channel Group Object, Clients must gain exclusive write access (“lock” the Channel Group Object) using the Lock Object.

7.1.1.1 SetApplicationTag Method

This Method sets the Value of the ApplicationTag Variable. The security constraints defined in chapter 6.7 apply.

Signature

	SetApplicationTag (
		[in] 0:String	 ApplicationTag
		);
	
Argument Description
ApplicationTagString containing the desired content of the ApplicationTag Variable.

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

Table 19 – Possible Method result codes
Result Code Description
GoodThe Method execution was successful.
Bad_UserAccessDeniedThe Client has not the right to execute the Method.
Bad_InvalidArgumentThe Server is 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_UnexpectedErrorThe server is not able to execute the function because an unexpected error occurred. The Device might be temporarily unavailable or unreachable due to network failure.

If the SetApplicationTag Method is invoked or if configuration data provided by the subordinated RioChannelGroupConfigType Object is changed, the value of the LastParameterChange timestamp Variable shall be changed by the Server.