The OPEN-SCS model for event management when adapted to OPC UA results in several methods attached to an event manager object.

The event manager receives unsolicited events through the event methods. All but one of the event methods have the same method signature. The specific methods supported by an event manager are defined in profiles.

image016.png

Figure 12 – Event Manager Methods and Data

Table 21 is the AddressSpace definition of an OPENSCSEventManagerObjectType.

Table 21 – OPENSCSEventManagerObjectType AddressSpace Definition

Attribute

Value

BrowseName

OPENSCSEventManagerObjectType

IsAbstract

False

References

NodeClass

BrowseName

Data Type

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5

0:HasComponent

Object

EPCISStream

TemporaryFileTransferType

Optional

0:HasComponent

Method

SNInvalidatingEvent

See 6.3.2.1

Optional

0:HasComponent

Method

LabelsEncodingEvent

See 6.3.2.3

Optional

0:HasComponent

Method

LabelsScrappingEvent

See 6.3.2.4.

Optional

0:HasComponent

Method

LabelsInspectingEvent

See 6.3.2.5.

Optional

0:HasComponent

Method

LabelsSamplingEvent

See 6.3.2.6.

Optional

0:HasComponent

Method

SIDCommissioningEvent

See 6.3.2.7.

Optional

0:HasComponent

Method

SIDDestroyingEvent

See 6.3.2.8.

Optional

0:HasComponent

Method

SIDShippingEvent

See 6.3.2.9.

Optional

0:HasComponent

Method

SIDInspectingEvent

See 6.3.2.10.

Optional

0:HasComponent

Method

SIDDecommissioningEvent

See 6.3.2.11

Optional

0:HasProperty

Variable

MaxEvents

0:UInt32

0:PropertyType

Mandatory

0:HasProperty

Variable

MaxEPCISObjectEventSIDs

0:UInt32

0:PropertyType

Mandatory

0:HasProperty

Variable

MaxEPCISaggregationEvents

0:UInt32

0:PropertyType

Mandatory

MaxEvents - Defines the read-only maximum number of SN, Label, or SID events which can be received in a single method call.

MaxEPCISObjectEventSIDs – Defines the read-only maximum number of SIDs (SGTINs) in EPCIS object events that may be written in a single EPCISStream file transfer.

MaxEPCISAggregationEvents – Defines the read-only maximum number of EPCIS aggregation events that may be written in a single EPCISStream file transfer

The EPCIS file transfer services are provided through a TemporaryFileTransferType, defined in OPC 10000-5. The transferred information is in the form of an EPCIS structured XML file, as described in Annex C. The EPCISStream object is used to push EPCIS Object Events (with various Business Steps in business process such as “urn:epcglobal:cbv:bizstep:commissioning”, “urn:epcglobal:cbv:bizstep:inspecting”, “urn:epcglobal:cbv:bizstep:packing”, “urn:epcglobal:cbv:bizstep:shipping”) and EPCIS Object Aggregation Events (with Business Steps as ‘urn:epcglobal:cbv:bizstep:packing’) to an OPC UA EventManager server.

The OPC UA TemporaryFileTransferType method GenerateFileForWrite is used to start the write file transaction. A successful call of this Method creates a temporary FileType Object and returns the NodeId of this Object and the file handle to access the Object. (From OPC 10000-5). The returned FileType object is not browsable in the AddressSpace and can only be accessed with the NodeId and FileHandle returned by the method in the same Session. The returned FileType Object is used to transfer the file stream between OPC UA Client and Server.

The EPCIS structured file is then transferred in blocks to the Event Manager server using the Write method. Once the transfer is complete the CloseAndCommit method is used to close the transfer, and the EventManager processes the transferred information.

The general use of the EPCISStream to transfer an EPCIS file is illustrated in Figure 13.

image017.png

Figure 13 – EPCIS File Transfer Example

The GenerateFileForRead method of the EPCISStream object is not specified and shall always return an error from the EventManager.

The generateOptions is used for the GenerateFileForWrite to transfer arguments to the EventManager server that match the arguments used in the EventManager server’s event methods.

An EventManager Server shall specify OPENSCSEventStreamArgumentDataType as the concrete DataType of for the Argument Structure for the generateOptions argument in the instance of the GenerateFileForWrite method.

SNInvalidatingEvent – This method is used to send unsolicited notification of Serial Number Invalidating events to an OPC Server that is performing serial number event management.

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

Signature

SNInvalidatingEvent (

[in]OPENSCSSNCollectionDataType SNCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[]OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 22 – SNInvalidatingEvent Method Arguments

Argument

Description

SNCollection

Identifies the Serial Number Collection.

SNFormat

Defines the format of the serial numbers associated to the event.

OPENSCSEventContext

Zero or mode key value pairs that define additional context information for the event, such as order number or lot number.

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 23 – SNInvalidatingEvent Method AddressSpace Definition

Attribute

Value

BrowseName

SNInvalidatingEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

LabelsEncodingEvent – This method is used to send unsolicited notification of Labels Encoding events to an OPC Server that is performing label event management.

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

Signature

LabelsEncodingEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 24 – LabelsEncodingEvent Method Arguments

Argument

Description

LabelCollection

Identifies the Label Collection with Serial Numbers and optional label properties.

SNFormat

Defines the format of the serial numbers associated to the event.

OPENSCSEventContext

Zero or mode key value pairs that define additional context information for the event, such as order number or lot number.

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 25 – LabelsEncodingEvent Method AddressSpace Definition

Attribute

Value

BrowseName

LabelsEncodingEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

LabelsScrappingEvent – This method is used to send unsolicited notification of Labels Destroying events to an OPC Server that is performing label event management.

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

Signature

LabelsScrappingEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 26 – LabelsScrappingEvent Method Arguments

Argument

Description

LabelCollection

See 6.3.2.3

SNFormat

See 6.3.2.3

OPENSCSEventContext

See 6.3.2.3

ReturnStatus

See 6.3.2.3

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

Table 27 – LabelsScrappingEvent Method AddressSpace Definition

Attribute

Value

BrowseName

LabelsScrappingEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

LabelsInspectingEvent – This method is used to send unsolicited notification of Label Inspecting events to an OPC Server that is performing label event management.

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

Signature

LabelsInspectingEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 28 – LabelsInspectingEvent Method Arguments

Argument

Description

LabelCollection

See 6.3.2.3

SNFormat

See 6.3.2.3

OPENSCSEventContext

See 6.3.2.3

ReturnStatus

See 6.3.2.3

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

Table 29 – LabelsInspectingEvent Method AddressSpace Definition

Attribute

Value

BrowseName

LabelsInspectingEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

LabelsSamplingEvent – This method is used to send unsolicited notification of Label Sampling events to an OPC Server that is performing label event management.

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

Signature

LabelsSamplingEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 30 – LabelsInspectingEvent Method Arguments

Argument

Description

LabelCollection

See 6.3.2.3

SNFormat

See 6.3.2.3

OPENSCSEventContext

See 6.3.2.3

ReturnStatus

See 6.3.2.3

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

Table 31 – LabelsInspectingEvent Method AddressSpace Definition

Attribute

Value

BrowseName

LabelsInspectingEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SIDCommissioningEvent – This method is used to send unsolicited notification of SID Commissioning events to an OPC Server that is performing SID event management.

The signature of this Method is specified below.

Table 32 and Table 33 specify the Arguments and AddressSpace representation, respectively.

Signature

SIDCommissioningEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 32 – SIDCommissioningEvent Method Arguments

Argument

Description

LabelCollection

See 6.3.2.3

SNFormat

See 6.3.2.3

OPENSCSEventContext

See 6.3.2.3

ReturnStatus

See 6.3.2.3

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

Table 33 – SIDCommissioningEvent Method AddressSpace Definition

Attribute

Value

BrowseName

SIDCommissioningEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SIDDestroyingEvent – This method is used to send unsolicited notification of SID Destroying events to an OPC Server that is performing SID event management.

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

Signature

SIDDestroyingEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 34 – SIDDestroyingEvent Method Arguments

Argument

Description

LabelCollection

See 6.3.2.3

SNFormat

See 6.3.2.3

OPENSCSEventContext

See 6.3.2.3

ReturnStatus

See 6.3.2.3

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

Table 35 – SIDDestroyingEvent Method AddressSpace Definition

Attribute

Value

BrowseName

SIDDestroyingEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SIDShippingEvent – This method is used to send unsolicited notification of SID Shipping events to an OPC Server that is performing SID event management.

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

Signature

SIDShippingEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 36 – SIDShippingEvent Method Arguments

Argument

Description

LabelCollection

See 6.3.2.3

SNFormat

See 6.3.2.3

OPENSCSEventContext

See 6.3.2.3

ReturnStatus

See 6.3.2.3

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

Table 37 – SIDShippingEvent Method AddressSpace Definition

Attribute

Value

BrowseName

SIDShippingEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SIDInspectingEvent – This method is used to send unsolicited notification of SID Inspecting events to an OPC Server that is performing SID event management.

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

Signature

SIDInspectingEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 38 – SIDInspectingEvent Method Arguments

Argument

Description

LabelCollection

See 6.3.2.3

SNFormat

See 6.3.2.3

OPENSCSEventContext

See 6.3.2.3

ReturnStatus

See 6.3.2.3

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

Table 39 – SIDInspectingEvent Method AddressSpace Definition

Attribute

Value

BrowseName

SIDInspectingEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

SIDDecommissioningEvent – This method is used to send unsolicited notification of SID Decommissioning events to an OPC Server that is performing SID event management.

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

Signature

SIDDecommissioningEvent (

[in]OPENSCSLabelCollectionDataTypeLabelCollection

[in]String SNFormat

[in]OPENSCSKeyValueDataType[] OPENSCSEventContext

[out]OPENSCSReturnEnum ReturnStatus

);

Table 40 – SIDDecommissioningEvent Method Arguments

Argument

Description

LabelCollection

See 6.3.2.3

SNFormat

See 6.3.2.3

OPENSCSEventContext

See 6.3.2.3

ReturnStatus

See 6.3.2.3

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

Table 41 – SIDDecommissioningEvent Method AddressSpace Definition

Attribute

Value

BrowseName

SIDDecommissioningEvent

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory