The OPEN-SCS model for pool management when adapted to OPC UA results in a number of methods attached to a pool manager object, as illustrated in Figure 11.

A pool manager may manage one or more pools of serial numbers. Depending on the profile supported the pool manager may:

  • Return serial numbers of the appropriate state based on a request method from a specified pool in the server (SNRequestUnassigned, SNRequestUnallocated and SNRequestAllocated).
  • Accept returned serial numbers of the appropriate state based on a return method to a specified pool in the server (SNReturnUnallocated and SNReturnAllocated).
  • Accept unsolicited serial number of a specified state to be added to the server’s pool (SNtoUnallocated, SNtoAllocated and SNtoEncoded).

The pool manager may use pool selection criteria to determine which pool is to be used on a method call. The pool selection criteria available from the pool manager are available in the PoolSelectionCriteria key/value pairs. The selection criteria are read only and are defined by the configuration of the pool manager server.

The formats for the returned serial number are defined by the SNFormat parameter and must match a serial number format defined in the pool manager server.

image015.png

Figure 11 – Pool Manager Methods and Data

Table 4 is the AddressSpace definition of an OPENSCSPoolManagerObjectType.

Table 4 – OPENSCSPoolManagerObjectType AddressSpace Definition

Attribute

Value

BrowseName

OPENSCSPoolManagerObjectType

IsAbstract

False

References

NodeClass

BrowseName

Data Type

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5

0:HasComponent

Method

SNRequestUnassigned

See 6.3.1.2

O

0:HasComponent

Method

SNRequestUnallocated

See 6.3.1.3

O

0:HasComponent

Method

SNRequestAllocated

See 6.3.1.4

O

0:HasComponent

Method

SNReturnUnallocated

See 6.3.1.5

O

0:HasComponent

Method

SNReturnAllocated

See 6.3.1.6

O

0:HasComponent

Method

SNtoUnallocated

See 6.3.1.7

O

0:HasComponent

Method

SNtoAllocated

See 6.3.1.8

O

0:HasComponent

Method

SNtoEncoded

See 6.3.1.9

O

0:HasProperty

Variable

PoolSelectionCriteria

OPENSCSKeyValueDataType[]

0:PropertyType

M

0:HasProperty

Variable

SNFormat

0:String[]

0:PropertyType

M

0:HasProperty

Variable

MaxSNRequestable

0:UInt32

0:PropertyType

M

0:HasProperty

Variable

MaxSNReturnable

0:UInt32

0:PropertyType

M

0:HasProperty

Variable

MaxSNPushable

0:UInt32

0:PropertyType

M

PoolSelectionCriteria - Defines a read-only set of key value pairs which define the selection criteria used to determine the pool from which serial numbers are requested or returned. For example: “GTIN”, “SCSCGP”, and “PoolID”.

SNFormat – Defines a read-only set of possible serial number formats that may be used on pushes, requests or returns of serial numbers. For example: “SERIALONLY”, “LITERAL”, and “EPCURI”. As a minimum the value “SERIALONLY” shall be supported.

MaxSNRequestable - Defines a read-only maximum number of serial numbers which can be requested in a single method call. If the request methods are not supported, this number shall be zero.

MaxSNReturnable - Defines a read-only maximum number of serial numbers which can be returned in a single method call. If the return methods are not supported, this number shall be zero.

MaxSBPushable - Defines a read-only maximum number of serial numbers which can be pushed to the server in a single method call. If the push methods (SNtoUnallocated, SNtoAllocated, SNtoEncoded) methods are not supported, this number shall be zero.

SNRequestUnassigned –This Method requests unassigned serial numbers from an OPC UA Server that is performing serial number management for a specific Serial Number Collection.

The signature of this Method is specified below. Table 5 and Table 6 specify the Arguments and AddressSpace representation, respectively.

Signature

SNRequestUnassigned (

[in]String SNCollectionID

[in]UInt32 Count

[in]String SNFormat

[in]OPENSCSKeyValueDataType[]PoolSelectionCriteria

[in]String RequestToken

[out]OPENSCSReturnEnum ReturnStatus

[out]OPENSCSSNCollectionDataType SNCollection

[out]String ReturnedRequestToken

);

Table 5 – SNRequestUnassigned Method Arguments

Argument

Description

SNCollectionID

Identifies the Serial Number Collection from which unassigned Serial Numbers are to be provided.

If the Serial Number Collection ID does not match a Serial Number Collection managed by the Information Provider, then an “Invalid Serial Number Collection” error is returned.

If the Serial Number Collection ID is not provided, then the default Serial Number Collection shall be selected.

Count

Identifies the number of Serial Numbers requested.

If fewer Serial Numbers are available from the pool, then are requested, then an “Insufficient Serial Numbers” status is returned, and the number of Serial Numbers that are available are returned.

SNFormat

Defines the desired serial number format (see the OPENSCS PSS Specification for format definitions) for the requested serial numbers.

If the Serial Number Format is not known to the server, then an “Invalid Serial Number Format” error is returned.

PoolSelectionCriteria

Identified value to be used by the method provider to determine which Serial Numbers to return.

If no Pool Selection Criteria is defined, then the default Pool Selection Criteria of the method provider is used.

If the pool selection criteria is not known to the server, then an “Invalid selection Criteria” error is returned.

RequestToken

If it has a value of null, then this is the initial request for Serial Numbers.

If the value is not null, then this is a follow-on request because the number of Serial Numbers requested in a previous call were not available as an immediate response.

RequestTokens are provided to 1) support asynchronous transactions, where there can be delays between requests and the availability of Serial Numbers, and 2) where more Serial Numbers are requested than can be exchanged in a single transaction.

If the Request Token has a value not understood by the Information Provider, then an “Invalid Parameter” error is returned.

ReturnStatus

Returns the status of the method execution.

SNCollection

Contains requested Serial Number collection with Serial Numbers of the specified state. If no serial numbers are returned (not available), then this argument returns null.

ReturnedRequestToken

If null or an empty string, then all requested numbers have been sent.

If non null or an empty string, then there are more serial numbers to be returned and the returned Request Token is to be passed as an input parameter on a subsequent call.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 and Table 95).

Table 6 – SNRequestUnassigned Method AddressSpace Definition

Attribute

Value

BrowseName

SNRequestUnassigned

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SNRequestUnassigned –This method requests unallocated serial numbers from an OPC UA Server that is performing serial number management for a specific Serial Number Pool.

The signature of this Method is specified below. Table 7 and Table 8 specify the Arguments and AddressSpace representation, respectively.

Signature

SNRequestUnallocated (

[in]String SNCollectionID

[in]UInt32 Count

[in]String SNFormat

[in]OPENSCSKeyValueDataType[]PoolSelectionCriteria

[in]String RequestToken

[out]OPENSCSReturnEnum ReturnStatus

[out]OPENSCSSNCollectionDataType SNCollection

[out]String ReturnedRequestToken

);

Table 7 – SNRequestUnallocated Method Arguments

Argument

Description

SNCollectionID

See 6.3.1.2.

Count

See 6.3.1.2.

SNFormat

See 6.3.1.2.

PoolSelectionCriteria

See 6.3.1.2.

RequestToken

See 6.3.1.2.

ReturnStatus

See 6.3.1.2.

SNCollection

See 6.3.1.2.

ReturnedRequestToken

See 6.3.1.2.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 and Table 95).

Table 8 – SNRequestUnallocated Method AddressSpace Definition

Attribute

Value

BrowseName

SNRequestUnallocated

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SNRequestAllocated –This method requests allocated serial numbers from an OPC UA Server that is performing serial number management for a specific Serial Number Pool.

The signature of this Method is specified below. Table 9 and Table 10 specify the Arguments and AddressSpace representation, respectively.

Signature

SNRequestAllocated (

[in]String SNCollectionID

[in]UInt32 Count

[in]String SNFormat

[in]OPENSCSKeyValueDataType[]PoolSelectionCriteria

[in]String RequestToken

[out]OPENSCSReturnEnum ReturnStatus

[out]OPENSCSSNCollectionDataType SNCollection

[out]String ReturnedRequestToken

);

Table 9 – SNRequestAllocated Method Arguments

Argument

Description

SNCollectionID

See 6.3.1.2.

Count

See 6.3.1.2.

SNFormat

See 6.3.1.2.

PoolSelectionCriteria

See 6.3.1.2.

RequestToken

See 6.3.1.2.

ReturnStatus

See 6.3.1.2.

SNCollection

See 6.3.1.2.

ReturnedRequestToken

See 6.3.1.2.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 and Table 95).

Table 10 – SNRequestAllocated Method AddressSpace Definition

Attribute

Value

BrowseName

SNRequestAllocated

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SNReturnUnallocated – This method sends unallocated serial numbers back to an OPC UA Server that is performing serial number management of unassigned serial numbers for a specific Serial Number Pool.

The signature of this Method is specified below. Table 11 and Table 12 specify the Arguments and AddressSpace representation, respectively.

Signature

SNReturnUnallocated (

[in]OPENSCSSNCollectionDataTypeSNCollection

[in]OPENSCSKeyValueDataType[]PoolSelectionCriteria

[in]String SNFormat

[out]OPENSCSReturnEnum ReturnStatus

);

Table 11 – SNReturnUnallocated Method Arguments

Argument

Description

SNCollection

Contains a Serial Number Collection from which Serial Numbers were originally provided.

If the Serial Number Collection ID does not match a Serial Number Collection managed by the Information Provider, then an “Invalid Serial Number Collection” error is returned.

PoolSelectionCriteria

Identified value to be used by the method provider to determine which pool to return the Serial Numbers to.

If no Pool Selection Criteria is defined, then the default Pool Selection Criteria of the method provider is used.

If the pool selection criteria is not known to the server, then an “Invalid selection Criteria” error is returned.

SNFormat

The serial number format of the serial numbers being returned.

If the Serial Number Format is not known to the method provider, then an “Invalid Serial Number Format” error is returned.

ReturnStatus

Returns the status of the method execution.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 and Table 95).

Table 12 – SNReturnUnallocated Method AddressSpace Definition

Attribute

Value

BrowseName

SNReturnUnallocated

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SNReturnAllocated – This method sends allocated serial numbers back to an OPC UA Server that is performing serial number management of unallocated serial numbers for a specific Serial Number Pool.

The signature of this Method is specified below. Table 13 and Table 14 specify the Arguments and AddressSpace representation, respectively.

Signature

SNReturnAllocated (

[in]OPENSCSSNCollectionDataTypeSNCollection

[in]OPENSCSKeyValueDataType[]PoolSelectionCriteria

[in]String SNFormat

[out]OPENSCSReturnEnum ReturnStatus

);

Table 13 – SNReturnAllocated Method Arguments

Argument

Description

SNCollection

See 6.3.1.5.

PoolSelectionCriteria

See 6.3.1.5.

SNFormat

See 6.3.1.5.

ReturnStatus

See 6.3.1.5.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 and Table 95).

Table 14 – SNReturnAllocated Method AddressSpace Definition

Attribute

Value

BrowseName

SNReturnAllocated

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SNtoUnallocated – This method sends unsolicited serial numbers to be placed into the unallocated state to an OPC UA Server that is performing serial number management for a specific Serial Number Pool.

The signature of this Method is specified below. Table 15 and Table 16 specify the Arguments and AddressSpace representation, respectively.

Signature

SNtoUnallocated (

[in]OPENSCSSNCollectionDataType SNCollection

[in]OPENSCSKeyValueDataType[]PoolSelectionCriteria

[in]String SNFormat

[out]OPENSCSReturnEnum ReturnStatus

);

Table 15 – SNtoUnallocated Method Arguments

Argument

Description

SNCollection

The Serial Number Collection containing Serial Numbers.

PoolSelectionCriteria

Identified value to be used to identify the pool that unused Serial Numbers can be sent back to.

If the pool selection criteria is not known to the server, then an “Invalid selection Criteria” error is returned.

SNFormat

The serial number format of the pushed serial numbers.

If the Serial Number Format is not known to the method provider, then an “Invalid Serial Number Format” error is returned.

ReturnStatus

Returns the status of the method execution.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 and Table 95).

Table 16 – SNtoUnallocated Method AddressSpace Definition

Attribute

Value

BrowseName

SNtoUnallocated

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SNtoAllocated – This method sends unsolicited serial numbers to be placed into the reserved state to an OPC UA Server that is performing serial number management for a specific Serial Number Pool.

The signature of this Method is specified below. Table 17 and Table 18 specify the Arguments and AddressSpace representation, respectively.

Signature

SNtoAllocated (

[in]OPENSCSSNCollectionDataType SNCollection

[in]OPENSCSKeyValueDataType[]PoolSelectionCriteria

[in]String SNFormat

[out]OPENSCSReturnEnum ReturnStatus

);

Table 17 – SNtoAllocated Method Arguments

Argument

Description

SNCollection

See 6.3.1.7.

PoolSelectionCriteria

See 6.3.1.7.

SNFormat

See 6.3.1.7.

ReturnStatus

See 6.3.1.7.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 and Table 95).

Table 18 – SNtoAllocated Method AddressSpace Definition

Attribute

Value

BrowseName

SNtoAllocated

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SNtoEncoded – This method sends unsolicited serial numbers to be placed into the encoded state to an OPC UA Server that is performing serial number management for a specific Serial Number Pool. It may include label properties associated with the encoding run.

The signature of this Method is specified below. Table 19 and Table 20 specify the Arguments and AddressSpace representation, respectively.

Method Signature

SNtoEncoded (

[in]OPENSCSSNCollectionTypeSNCollection

[in]OPENSCSKeyValueDataType[]PoolSelectionCriteria

[in]String SNFormat

[out]OPENSCSReturnEnum ReturnStatus

);

Table 19 – SNtoEncoded Method Arguments

Argument

Description

SNCollection

Identifies the Collection with Serial Numbers.

PoolSelectionCriteria

The pool selection criteria which are used to return unused serial numbers to a serial number management server.

SNFormat

The serial number format of the pushed serial numbers.

If the Serial Number Format is not known to the method provider, then an “Invalid Serial Number Format” error is returned.

ReturnStatus

Returns the status of the method execution.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 and Table 95).

Table 20 – SNtoEncoded Method AddressSpace Definition

Attribute

Value

BrowseName

SNtoEncoded

IsAbstract

True

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory