This ObjectType represents a FileType that can be used to maintain ConnectionConfigurationSets. The content of this File shall correspond to F.2.
Reading the File allows the retrieval of the contents of the ConnectionConfigurationSets Folder of a ConnectionManager with one operation; writing it allows to add, remove, or replace ConnectionConfigurationSets.
The ConnectionManagerConfigurationType is formally defined in Table F.36.
Table F.36 – ConnectionManagerConfigurationType definition
Attribute |
Value |
||||
BrowseName |
4:ConnectionManagerConfigurationType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of FileType defined in OPC 10000-20. |
|||||
HasComponent |
Method |
4:CloseAndUpdate |
Defined in F.3.2. |
Mandatory |
|
Conformance Units |
|||||
UAFX ConnectionManager Configuration |
The standard Open Method is used for file operations, but this specification does impose security restrictions. The Open Method shall not support modes other than Read (0x01) and Write + EraseExisting (0x06). The Client shall be authorized to modify the configuration for the ConnectionManager functionality when invoking this Method on the Server with modes Write + EraseExisting (0x06). For this mode, it is recommended that this Method be restricted to Client connections that have the well-known Role ConfigureAdmin (see 5.9).
This Method closes the File and applies updates to the ConnectionConfigurationSets. It can only be called if the File was opened for writing. If the Close Method is called, any cached data is discarded, and the ConnectionManager configuration is not changed.
The file content shall be a UABinaryFileDataType as defined in Table F.35.Table F.41
The Client shall be authorized to modify the configuration for the ConnectionManager functionality when invoking this Method on the Server. It is recommended that this Method be restricted to Client connections that have the well-known Role ConfigureAdmin (see 5.9). If the file also contains SKS configuration, then it is recommended that the Client also have the well-known Role SecurityKeyServerAdmin (see OPC 10000-14).
The signature of the Method is described below, and the arguments are described in Table 37.
Signature
CloseAndUpdate (
[in]UInt32 FileHandle,
[in]Boolean RequireCompleteUpdate,
[in] ConnectionConfigurationSetOperation[] Operations,
[out]Boolean ChangesApplied,
[out]StatusCode[] OperationResults,
[out]NodeId[] ConfigurationObjects
);
Table F. 37 – CloseAndUpdate Arguments
Argument |
Description |
FileHandle |
The handle of the previously opened file. |
RequireCompleteUpdate |
If TRUE, the modification is only applied if all changes can be applied to all objects. |
Operations |
Defines the operations to apply to a ConnectionManager’s ConnectionConfigurationSets for the array of ConnectionConfigurationSetConfDataType elements in the written file. The length of the array and the order of its elements shall match the array of ConnectionConfigurationSetConfDataType in the written file. |
ChangesApplied |
If TRUE and RequireCompleteUpdate was set to TRUE, all changes were applied. If TRUE and RequireCompleteUpdate was set to FALSE, one or more changes were applied. If FALSE, no changes were applied. Detailed errors are provided in the OperationResults argument. |
OperationResults |
Results of the Operations. The length of the array and the order of its elements shall match the length and order of the Operations array. |
ConfigurationObjects |
NodeIds of the related Objects If NodeIds are returned, the length of the array and the order of its elements shall match the array contained in the written file. If the Server does not support the creation of NodeIds, the array is null or empty. |
The possible Method result codes are formally defined in Table 38, and the OperationResult Element Result Codes are defined in Table 39.
Table F.38 - Method Result Codes
ResultCode |
Description |
Bad_TypeMismatch |
The file content is not a UABinaryFileDataType with an array of ConnectionConfigurationSetConfDataType as Body. |
Bad_InvalidArgument |
The FileHandle is not valid. |
Bad_InvalidState |
The File was not opened for write access. |
Bad_UserAccessDenied |
The Session user is not allowed to modify the ConnectionManager configuration. |
Bad_NothingToDo |
Table F.39 - OperationResult Element Result Codes
ResultCode |
Description |
Bad_BrowseNameDuplicated |
A ConnectionConfigurationSet with the BrowseName already exists in the ConnectionConfigurationSetFolder.The ConnectionConfigurationSet cannot be added. |
Bad_NoMatch |
A ConnectionConfigurationSet with the BrowseName does not exist in the ConnectionConfigurationSetFolder.The ConnectionConfigurationSet cannot be removed or replaced. |
Bad_NothingToDo |
No ConnectionConfigurationSetOperation was specified. |
Bad_InvalidArgument |
An invalid combination of ConnectionConfigurationSetOperation was set, or a ConnectionConfigurationSetOperation unknown to the implementation. |
Bad_UserAccessDenied |
The user has no permissions to modify the ConnectionConfigurationSets. |
Bad_InvalidState |
A ConnectionConfigurationSet with the name is currently being processed or edited. The ConnectionConfigurationSet cannot be removed or replaced. |
The CloseAndUpdate Method representation in the AddressSpace is formally defined in Table F.40.
Table F.40 - CloseAndUpdate Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
4:CloseAndUpdate |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
M |
0:HasProperty |
Variable |
0:OutputArguments |
0:Argument[] |
0:PropertyType |
M |
|
|
|
|
|
|
ConformanceUnits |
|||||
UAFX AutomationComponent Base |
The CloseAndUpdate Method allows to add, remove, or replace ConnectionConfigurationSets.
ConnectionConfigurationSets are addressed by BrowseName and ConnectionConfigurationSetFolder (see 6.7.2).
The ConnectionConfigurationSetOperation ElementAdd adds the ConnectionConfigurationSet to the ConnectionConfigurationSets Folder tree in the Folder specified by the ConnectionConfigurationSetFolder. If Folders on the given path do not exist, they will be created.
The operation ElementAdd does not include processing the ConnectionConfigurationSet. Processing may be triggered either by a Client using the ProcessConnectionConfigurationSets Method (see 6.7.5) or by vendor-specific means.
The ConnectionConfigurationSetOperation ElementRemove removes the ConnectionConfigurationSet from the ConnectionConfigurationSetFolder. For ElementRemove, all elements of the ConnectionConfigurationSetConfDataType except BrowseName and ConnectionConfigurationSetFolder are ignored and may be set to null or empty by the caller.
The ConnectionManager shall call the CloseConnections Method on all affected AutomationComponents (see 6.2.5) with Remove set to TRUE for all Connections contained in the ConnectionConfigurationSet.
The ConnectionConfigurationSetOperation ElementReplace replaces the ConnectionConfigurationSet in the ConnectionConfigurationSetFolder.
The ConnectionManager shall call the CloseConnections Method on all affected AutomationComponents (see 6.2.5) with Remove set to TRUE for all contained Connections in the ConnectionConfigurationSet.
The operation ElementReplace does not include processing the new ConnectionConfigurationSet. Processing may be triggered either by a Client using the ProcessConnectionConfigurationSets Method (see 6.7.5) or by vendor-specific means.
This OptionSet defines flags indicating the operation on a ConnectionConfigurationSetConfDataType. The value of the OptionSet is null if none of the bits are set.
The possible element operations are ElementAdd, ElementRemove, and ElementReplace. Only one of the element operation bits shall be set. If more than one of these bits are set, the operation shall fail.
The ConnectionConfigurationSetOperation values are formally defined in Table F.41.
Table F.41 – ConnectionConfigurationSetOperation values
Value |
Bit No. |
Description |
ElementAdd |
0 |
If this bit is set, the ConnectionConfigurationSet is added to the ConnectionManager configuration. |
ElementRemove |
1 |
If this bit is set, the ConnectionConfigurationSet is removed from the ConnectionManager configuration. The ConnectionConfigurationSet to be removed is identified via the string part of the BrowseName and the ConnectionConfigurationSetFolder. All other elements in the ConnectionConfigurationSetConfDataType are ignored in this case. It is recommended to set all arrays in the DataType to null or empty. |
ElementReplace |
2 |
If this bit is set, the ConnectionConfigurationSet is replaced in the ConnectionManager configuration. The ConnectionConfigurationSet to be replaced is identified via the string part of the BrowseName and the ConnectionConfigurationSetFolder. |
Bits 3:7 are reserved for future use. The ConnectionConfigurationSetOperation representation in the AddressSpace is formally defined in Table F.42.
Table F.42 – ConnectionConfigurationSetOperation definition
Attribute |
Value |
|||||
BrowseName |
4:ConnectionConfigurationSetOperation |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of the Byte type defined in OPC 10000-3. |
||||||
0:HasProperty |
Variable |
OptionSetValues |
LocalizedText[] |
PropertyType |
|
|
ConformanceUnits |
||||||
UAFX ConnectionManager Configuration |