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.
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 |