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 |
||||
BrowseName |
RioChannelGroupType |
||||
IsAbstract |
True |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 0:BaseObjectType defined 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 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] |
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 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.
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 |
ApplicationTag |
String 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 |
Good |
The Method execution was successful. |
Bad_UserAccessDenied |
|
Bad_InvalidArgument |
The 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_UnexpectedError |
The 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.