The signature of this Method is specified below.

Signature

LoadByNodeId (

[in]0:ExpandedNodeId Id

[out]0:Int32 Status

);

Table 71 specifies the Arguments.

Table 71 – LoadByNodeId Method Arguments

Argument

Description

Id

ExpandedNodeId pointing to an instance of FileType representing a task control program or module

Status

0 – OK – Everything is OK

1 – E_SystemState – The system is not in correct state for this operation

2 – E_UnexpectedError – Unexpected Error during the method call

3 – E_ActiveAlarm – An Active Alarm prevents the system start

4 – E_AcknowledgeRequired – Condition needs to be acknowledged

<0 – shall be used for vendor-specific errors.

>0 – are reserved for errors defined by this and future standards

The LoadByNodeId Method is called by a Client to load a program or a module into a task control.

For the storage of programs, the Server may support the Programs folder defined within the ControllerType. (see 7.18). This method can be used to load the program or module into the Task Control if the program or module itself is available in the address space (e.g. within the Programs folder). The Id input argument shall be used to identify the program in the address space. This method can be a synchronous or an asynchronous method. In case it is a synchronous method, the return output arguments may contain more information about the Success or Failure of the method call. If the system is in the Idle state when the method is called, and something goes wrong internally then instead of the IdleToReady transition, the IdleToIdle transition shall be observed by the client. If the system is already in the Ready state and the LoadByNodeId is called and fails, it is system dependent, whether the system goes back to the Idle state or remains in the Ready state. Calling LoadByNodeId in the Executing state will fail in normal circumstances.

The possible Method result codes are formally defined in Table 72. Some of these StatusCodes  correspond to the ProgramId  input argument.

Clients  may inspect the Status output argument to determine if the program was successfully loaded or if it failed.

Table 72 – Method Result Codes (defined in Call Service)

Result Code

Description

Good

The task control operation succeeded

Bad_InternalError

The task control operation failed because of an internal error

Bad_ResourceUnavailable

The Method is locked by another Client/Clientgroup

Bad_UserAccessDenied

The caller is not allowed to call this Method.

Bad_NodeIdUnknown

The NodeId refers to a non-existent TCProgram.

Bad_NodeIdInvalid

The syntax of the NodeId is not valid.

The LoadByNodeId Method representation in the AddressSpace is formally defined in Table 73.

Table 73 – LoadByNodeId Method AddressSpace definition

Attribute

Value

BrowseName

LoadByNodeId

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

M

ConformanceUnits

Rob Task Control Operation