This ObjectTypedefines a type for the representation of temporary file transfers. It is formally defined in Table 13. The Methods GenerateFileForReador GenerateFileForWritegenerate a temporary FileType Objectthat is not browsable in the AddressSpaceand can only be accessed with the NodeIdand FileHandlereturned by the Methodsin the same Session.This Objectis used to transfer the temporary file between OPC UA Clientand Server.
Table 13– TemporaryFileTransferType
Attribute |
Value |
|||||
BrowseName |
TemporaryFileTransferType |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
|
Subtype of the BaseObjectType defined in OPC 10000-5 |
||||||
HasProperty |
Variable |
ClientProcessingTimeout |
Duration |
PropertyType |
Mandatory |
|
HasComponent |
Method |
GenerateFileForRead |
Defined in 4.4.3 |
Mandatory |
||
HasComponent |
Method |
GenerateFileForWrite |
Defined in 4.4.4 |
Mandatory |
||
HasComponent |
Method |
CloseAndCommit |
Defined in 4.4.5 |
Mandatory |
||
HasComponent |
Object |
<TransferState> |
|
FileTransferStateMachineType |
OptionalPlaceholder |
|
Conformance Units |
||||||
Base Info TemporaryFileTransferType Base |
The Property ClientProcessingTimeoutdefines the maximum time in milliseconds the Serveraccepts between Methodcalls necessary to complete a file read transfer or a file write transfer transaction. This includes the Methodcalls to read or write the file content from the virtual temporary FileType Object. If the Clientexceeds the timeout between Methodcalls, the Servermay close the file and cancel the corresponding transfer transaction. Any open temporary transfer file shall be deleted if the Sessionused to create the file is no longer valid.
The TransferState Objectsare used to expose the state of a transfer transaction in the case that the preparation of a file for reading or the processing of the file after writing completes asynchronous after the corresponding Methodexecution. If the transactions are completed when the Methodis returned, the optional TransferState Objectsare not available. A Servermay allow more than one parallel read transfer. A Servermay not allow more than one write transfer or a parallel read and writer transfer.
The sequence of Methodcalls necessary to execute a read file transfer transaction is illustrated in Figure 2.
Figure 2– Read file transfer example sequence
The read file transfer transaction is started with the Method GenerateFileForReaddefined by the TemporaryFileTransferType. After a successful call of this Method, the Clientreads the file content by calling the Method Readdefined by the FileTypeuntil the whole file is transferred from the Serverto the Client. The transaction is completed by calling the Method Closedefined by the FileType.
The sequence of Methodcalls necessary to execute a write file transfer transaction is illustrated in Figure 3.
Figure 3– Write file transfer example sequence
The write file transfer transaction is started with the Method StartWriteTransferdefined by the TemporaryFileTransferType. After a successful call of this Method, the Clientwrites the file content by calling the Method Writedefined by the FileTypeuntil the whole file is transferred from the Client to the Server. The transaction is completed by calling the Method CloseAndCommitdefined by the TemporaryFileTransferType. If the Clientwants to abort the operation it uses the Close Methodof the temporary FileType Object.
GenerateFileForReadis used to start the read file transaction. A successful call of this Methodcreates a temporary FileType Objectwith the file content and returns the NodeIdof this Objectand the file handle to access the Object.
Signature
GenerateFileForRead(
[in] BaseDataType generateOptions
[out] NodeId fileNodeId
[out] UInt32 fileHandle
[out] NodeId completionStateMachine
);
Argument |
Description |
generateOptions |
The optional parameter can be used to specify server specific file generation options. To allow such options, the Servershall specify a concrete DataTypein the Argument Structurefor this argument in the instance of the Method. If the DataTypeis BaseDataType, the Client shall pass Null for this argument. Examples for concrete DataTypes are OptionSetUsed to provide a bit mask for file content selection String Can be used to provide a string filter or a regular expression StructureCan be used to provide a structure with create settings e.g. to create a report EnumerationCan be used to provide a list of options |
fileNodeId |
NodeId of the temporary file. |
fileHandle |
The fileHandle of the opened TransferFile. The fileHandle can be used to access the TransferFile Methods Readand Close. |
completionStateMachine |
If the creation of the file is completed asynchronous, the parameter returns the NodeId of the corresponding FileTransferStateMachineType Object. If the creation of the file is already completed, the parameter is null. If a FileTransferStateMachineType Object NodeId is returned, the ReadMethod of the file fails until the TransferStatechanged to ReadTransfer. |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_UserAccessDenied |
See OPC 10000-4for a general description. |
Table 14specifies the AddressSpacerepresentation for the GenerateFileForRead Method.
Table 14– GenerateFileForRead Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
GenerateFileForRead |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |
Conformance Units |
|||||
Base Info TemporaryFileTransferType Base |
GenerateFileForWriteis used to start the write file transaction. A successful call of this Methodcreates a temporary FileType Objectand returns the NodeIdof this Objectand the file handle to access the Object.
Signature
GenerateFileForWrite(
[in] BaseDataTypegenerateOptions
[out] NodeId fileNodeId
[out] UInt32 fileHandle
);
Argument |
Description |
generateOptions |
The optional parameter can be used to specify server specific file generation options. To allow such options, the Servershall specify a concrete DataTypein the Argument Structurefor this argument in the instance of the Method. If the DataTypeis BaseDataType, the Client shall pass Null for this argument. Examples for concrete DataTypes are OptionSetUsed to provide a bit mask for file use selection StructureCan be used to provide a structure with create settings e.g. firmware update settings EnumerationCan be used to provide a list of options like file handling options |
fileNodeId |
NodeId of the temporary file. |
fileHandle |
The fileHandle of the opened TransferFile. The fileHandle can be used to access the TransferFile Methods Writeand Close. |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_UserAccessDenied |
See OPC 10000-4for a general description. |
Table 15specifies the AddressSpacerepresentation for the GenerateFileForWrite Method.
Table 15– GenerateFileForWrite Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
GenerateFileForWrite
|
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |
Conformance Units |
|||||
Base Info TemporaryFileTransferType Base |
CloseAndCommitis used to apply the content of the written file and to delete the temporary file after the completion of the transaction.
Signature
CloseAndCommit(
[in] UInt32 fileHandle
[out] NodeId completionStateMachine
);
Argument |
Description |
fileHandle |
The fileHandle used to write the file. |
completionStateMachine |
If the processing of the file is completed asynchronous, the parameter returns the NodeId of the corresponding FileTransferStateMachineType Object. If the processing of the file is already completed, the parameter is null. If a FileTransferStateMachineType Object NodeId is returned, the processing is in progress until the TransferStatechanged to Idle. |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_UserAccessDenied |
See OPC 10000-4for a general description. |
Table 16specifies the AddressSpacerepresentation for the CloseAndCommit Method.
Table 16– CloseAndCommit Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
CloseAndCommit |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |
Conformance Units |
|||||
Base Info TemporaryFileTransferType Base |
The states of the file transfer state machine are shown in Figure 4.
Figure 4– File transfer States
The FileTransferStateMachineTypeand the related type are illustrated in Figure 5.
Figure 5– FileTransferStateMachineType
This ObjectTypedefines the StateMachine for asynchronous processing of temporary file transfers. It is formally defined in Table 17. The transitions are formally defined in Table 19.
Table 17– FileTransferStateMachineType
Attribute |
Value |
|||||
BrowseName |
FileTransferStateMachineType |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
|
Subtype of the FiniteStateMachineType defined in B.4.5. |
||||||
HasComponent |
Object |
Idle |
|
InitialStateType |
|
|
HasComponent |
Object |
ReadPrepare |
|
StateType |
|
|
HasComponent |
Object |
ReadTransfer |
|
StateType |
|
|
HasComponent |
Object |
ApplyWrite |
|
StateType |
|
|
HasComponent |
Object |
Error |
|
StateType |
|
|
HasComponent |
Object |
IdleToReadPrepare |
|
TransitionType |
|
|
HasComponent |
Object |
ReadPrepareToReadTransfer |
|
TransitionType |
|
|
HasComponent |
Object |
ReadTransferToIdle |
|
TransitionType |
|
|
HasComponent |
Object |
IdleToApplyWrite |
|
TransitionType |
|
|
HasComponent |
Object |
ApplyWriteToIdle |
|
TransitionType |
|
|
HasComponent |
Object |
ReadPrepareToError |
|
TransitionType |
|
|
HasComponent |
Object |
ReadTransferToError |
|
TransitionType |
|
|
HasComponent |
Object |
ApplyWriteToError |
|
TransitionType |
|
|
HasComponent |
Object |
ErrorToIdle |
|
TransitionType |
|
|
HasComponent |
Method |
Reset |
Defined in 4.4.7 |
Mandatory |
||
Conformance Units |
||||||
Base Info TemporaryFileTransferType Base |
The component Variablesof the FileTransferStateMachineTypehave additional Attributesdefined in Table 18.
Table 18– FileTransferStateMachineType Attribute values for child Nodes
Source Path |
Value Attribute |
||
|
1 |
||
|
2 |
||
|
3 |
||
|
4 |
||
|
5 |
||
|
12 |
||
|
23 |
||
|
31 |
||
|
14 |
||
|
41 |
||
|
25 |
||
|
35 |
||
|
45 |
||
|
51 |
Table 19– FileTransferStateMachineType Additional References
SourceBrowsePath |
References |
IsForward |
TargetBrowsePath |
IdleToReadPrepare |
FromState |
True |
Idle |
|
ToState |
True |
ReadPrepare |
|
HasEffect |
True |
TransitionEventType |
ReadPrepareToReadTransfer |
FromState |
True |
ReadPrepare |
|
ToState |
True |
ReadTransfer |
|
HasEffect |
True |
TransitionEventType |
ReadTransferToIdle |
FromState |
True |
ReadTransfer |
|
ToState |
True |
Idle |
|
HasEffect |
True |
TransitionEventType |
IdleToApplyWrite |
FromState |
True |
Idle |
|
ToState |
True |
ApplyWrite |
|
HasEffect |
True |
TransitionEventType |
ApplyWriteToIdle |
FromState |
True |
ApplyWrite |
|
ToState |
True |
Idle |
|
HasEffect |
True |
TransitionEventType |
ReadPrepareToError |
FromState |
True |
ReadPrepare |
|
ToState |
True |
Error |
|
HasEffect |
True |
TransitionEventType |
ReadTransferToError |
FromState |
True |
ReadTransfer |
|
ToState |
True |
Error |
|
HasEffect |
True |
TransitionEventType |
ApplyWriteToError |
FromState |
True |
ApplyWrite |
|
ToState |
True |
Error |
|
HasEffect |
True |
TransitionEventType |
ErrorToIdle |
FromState |
True |
Error |
|
ToState |
True |
Idle |
|
HasEffect |
True |
TransitionEventType |
Resetis used to reset the Error state of a FileTransferStateMachineType Object.
Signature
Reset();
Table 20specifies the AddressSpacerepresentation for the Reset Method.
Table 20– Reset Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
Reset |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Conformance Units |
|||||
Base Info TemporaryFileTransferType Base |
_____________