This structure contains elements that chronicle the Program Invocation’s activity and can be used to aid in the diagnosis of Program problems.

Note The original ProgramDiagnosticDataType had flaws. To avoid collisions with existing implementations, a new version with name ProgramDiagnostic2DataType has been created.

Its composition is defined in Table 11.

Table 11 – ProgramDiagnostic2DataType structure

Name

Type

Description

ProgramDiagnostic2DataType

structure

createSessionId

NodeId

The CreateSessionId contains the SessionId of the Session on which the call to the Create Method was issued to create the Program Invocation.

createClientName

String

The CreateClientName is the name of the Client of the Session that created the Program Invocation.

invocationCreationTime

UtcTime

The InvocationCreationTime identifies the time the Program Invocation was created.

lastTransitionTime

UtcTime

The LastTransitionTime identifies the time of the last Program state transition that occurred.

lastMethodCall

String

The LastMethodCall identifies the last Program Method called on the Program Invocation.

lastMethodSessionId

NodeId

The LastMethodSessionId contains the SessionId of the Session on which the last Program Control Method call to the Program Invocation was issued.

lastMethodInputArguments

Argument[]

The LastMethodInputArguments provides the input arguments on the last Program Method call.

lastMethodOutputArguments

Argument[]

The LastMethodOutputArguments provides the output arguments on the last Program Method call.

lastMethodInputValues

BaseDataType[]

The LastMethodInputValues preserves the values of the input arguments on the last Program Method call. The size and order of this list matches the size and order of the lastMethodInputArguments field.

lastMethodOutputValues

BaseDataType[]

The LastMethodOutputValues preserves the values of the output arguments on the last Program Method call. The size and order of this list matches the size and order of the lastMethodOutputArguments field.

lastMethodCallTime

UtcTime

The LastMethodCallTime identifies the time of the last Method call to the Program Invocation.

lastMethodReturnStatus

StatusCode

The LastMethodReturnStatus preserves the value of the return status for the last Program Control Method requested for this Program Invocation.

Its representation in the AddressSpace is defined in Table 12.

Table 12 – ProgramDiagnostic2DataType definition

Attribute

Value

BrowseName

ProgramDiagnostic2DataType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of Structure defined in OPC 10000-5.

Conformance Units

Program Basic