The ProgramManagerType provides the FunctionalUnit’s program manager. It is formally defined in Table 56.

Table 56 – ProgramManagerType Definition

Attribute

Value

BrowseName

ProgramManagerType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the TopologyElementType Type defined in OPC 10000-100

0:HasComponent

Object

ActiveProgram

ActiveProgramType

M

0:HasComponent

Object

ProgramTemplateSet

ProgramTemplateSetType

M

0:HasComponent

Object

ResultSet

ResultSetType

M

0:HasComponent

Method

Download

O

0:HasComponent

Method

Remove

O

0:HasComponent

Method

Upload

O

Conformance Units

LADS ProgramManagerType

ActiveProgram represents the ongoing operational state of a FunctionalUnit on a Device, providing user-friendly, sequential insight into the progress and context of the currently running program.

ProgramTemplateSet holds the template set associated with the ProgramManager.

ResultSet contains the results of program runs. It includes information about where and by whom the run was initiated, the template used along with any additional parameters, the samples included, contextual information to link the results with the associated samples, and where the results are provided.

Note: The Properties argument of the ProgramTemplateManager’s Upload and Download Method is intended to provide vendor-specific information and/or to extend the opaque ByteString with transparent metadata. This enables legacy devices to continue using proprietary program formats while also being able to transport transparent metadata for the LADS server itself or possible device drivers.

Note: Results must be created between the start (calling Start/StartProgram method or a manual start) and the end of a Program. So, the result must be complete before the ActiveProgram state machine transitions to the Complete state.

The Download Method is used to transfer a Program Template from the Server to the Client. The signature for this Method is specified below. Table 58 specifies its representation in the AddressSpace.

Signature

Download (

[in]StringTemplateId

[out]KeyValueType[]AdditionalParameters

[out]ByteStringData

)

Table 57 – Download Method Arguments

Argument

Description

TemplateId

Unique identifier of the template to be downloaded.

AdditionalParameters

Additional properties of the program template.

Data

Opaque program template data.

Table 58 – Download Method AddressSpace Definition

Attribute

Value

BrowseName

Download

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

M

The Remove Method deletes the Program Template from the Server. Table 60 specifies its representation in the AddressSpace.

Signature

Remove (

[in]StringTemplateId

)

Table 59 – Remove Method Arguments

Argument

Description

TemplateId

Unique identifier of the template to be removed.

Table 60 – Remove Method AddressSpace Definition

Attribute

Value

BrowseName

Remove

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

The Upload Method is used to transfer a Program Template from a Client to the Server. An instance of the ProgramTemplateType (see 7.2.5) needs to be created in the ProgramTemplateSet for each uploaded Program Template.

The properties of a Program Template and the information included are vendor specific. Considering the multiple different formats and ways of defining Program Templates in the laboratory and analytical domain, LADS handles the inner structure of the Program Template itself as a black box.

The properties of the instance of a ProgramTemplateType should be set via an Upload method call based on the Data and AdditionalParameter inputs.

Table 62 specifies its representation in the AddressSpace.

Signature

Upload

(

[in]KeyValueType[]AdditionalParameters

[in]ByteStringData

[out]StringTemplateId

)

Table 61 – Upload Method Arguments

Argument

Description

AdditionalParameters

Additional properties of the program template.

Data

Opaque program template data.

TemplateId

The unique identifier of the template which might be generated by the device/functional-unit itself or might be provided as element of the opaque input data..

Table 62 – Upload Method AddressSpace Definition

Attribute

Value

BrowseName

Upload

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

M