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