Properties, Methods & Events

Overview

The following steps depict the behavioral model of the OPOS driver and scanner.

  1. The scanner reads encoded data from a label.
  2. When the Control receives input, it queues a DataEvent.
  3. If the AutoDisable property is TRUE, the Control is disabled when a DataEvent is queued.
  4. The Control can deliver a queued DataEvent to the application when the DataEventEnabled property is TRUE. Just before delivering this event, the Control copies the data into properties and disables further data events by setting the DataEventEnabled property to FALSE. This causes the Control to queue subsequent input data while the application processes the current input and associated properties. When the application finishes the current input and is ready for more data, it re-enables events by setting DataEventEnabled to TRUE.
  5. The Control queues an ErrorEvent (or events) if it encounters an error while gathering or processing input, and delivers this to the application when the DataEventEnabled property is TRUE.
  6. The DataCount property contains the number of DataEvents queued by the Control.
  7. Call the ClearInput method to delete all input that the Control queued.

Scanned data is placed into the property ScanData. If the application sets the property DecodeData to TRUE, the data is decoded into ScanDataLabel and ScanDataType.

The following steps depict the behavioral model of the OPOS driver and scale.

  1. The user/OPOS application performs read weight operation scale.
  2. When the ReadWeight method successfully returns a value, scale control returns the weight data to the POS application.

Deviations from OPOS Specifications

The Zebra Scanner OPOS Driver includes several deviations from the OPOS specification for more flexibility. For example, the Claim method and Claimed property have significant deviations. According to the OPOS model, one control accesses only one physical device. The Zebra Scanner OPOS Driver allows access to multiple scanners simultaneously. Hence, a claim succeeds with one or more scanners. Also, several applications can share one scanner.

In addition to the Zebra Scanner OPOS Driver's architectural aspects, the following special behaviors occur:

  • When there is no scanner connected to a cordless base, Zebra Scanner OPOS Driver considers the cordless base a scanner. Therefore a claim succeeds with a cordless base.
  • In serial mode, a claim succeeds even when no scanner is connected to the port. In this case, it indicates the success of the port opening.
  • Since the Zebra Scanner OPOS Driver supports multiple scanners, it implements the OPOS retrieveStatistics method call with certain deviations.

    • When claiming multiple scanners, scanner details appear sequentially with comma separation. The order is the same for all scanner statistics.
    • When there are multiple scanners, OPOS schema validation can fail because some date fields contain comma-separated multiple dates.
    • Non-RSM scanners, including serial scanners in Wincor-Nixdorf RS-232 Mode B, do not provide Model Number and Serial number. These values appear as empty strings.

Supported Feature Set

This section describes the supported feature set per the OPOS specification.

Properties

Table 1: Common Properties

Property Version Type Access May Use After Comments on Zebra Scanner Support
AutoDisable 1.2 Boolean R/W Open Supported
BinaryConversion 1.2 Int32 R/W Open Supported
CapCompareFirmwareVersion 1.9 Boolean R Open Not Supported
CapPowerReporting 1.3 Int32 R Open Not Supported
CapStatisticsReporting 1.8 Boolean R Open Supported
CapUpdateFirmware 1.9 Boolean R Open Not Supported
CapUpdateStatistics 1.8 Boolean R Open Supported
CheckHealthText 1.0 String R Open Supported
Claimed 1.0 Boolean R/W Open Supported (see Deviations from OPOS Specifications)
DataCount 1.2 Int32 R Open Supported
DataEventEnabled 1.0 Boolean R/W Open Supported
DeviceEnabled 1.0 Boolean R/W Open & Claim Supported
FreezeEvents 1.0 Boolean R/W Open Supported
OpenResult 1.5 Int32 R n/a Supported
PowerNotify 1.3 Int32 R/W Open Not supported. Always returns OPOS_E_ILLEGAL
PowerState 1.3 Int32 R Open Supported
ResultCode 1.0 Int32 R n/a Supported
ResultCodeExtended 1.0 Int32 R Open Supported
State 1.0 Int32 R n/a Supported
ControlObjectDescription 1.0 Int32 R n/a Supported
ControlObjectVersion 1.0 Int32 R n/a Supported
ServiceObjectDescription 1.0 String R Open Supported
ServiceObjectVersion 1.0 Int32 R Open Supported
DeviceDescription 1.0 String R Open Supported
DeviceName 1.0 String R Open Supported

Table 2: Scanner Specific Properties

Property Version Type Access May User After Comments on Zebra Scanner Support
DecodeData 1.2 Boolean R/W Open Supported
ScanData 1.0 BSTR R Open Supported
ScanDataLabel 1.2 BSTR R Open Supported
ScanDataType 1.2 Int32 R Open Supported

Table 3: Scale Specific Properties

Property Version Type Access May User After Comments on Zebra Scanner Support
MaximumWeight 1.2 Int32 R Open Supported
WeightUnits 1.0 Int32 R Open Supported
AsyncMode 1.3 Boolean R/W Open Supported
MaxDisplayTextChars 1.13 Int32 R Open Not Supported
TareWeight 1.3 Int32 R/W Open & Claim Not Supported
ScaleLiveWeight 1.9 Int32 R Open Not Supported
StatusNotify 1.9 Int32 R/W Open Not Supported
ZeroValid 1.13 Boolean R/W Open Supported
CapDisplay 1.2 Boolean R Open Not Supported
CapDisplayText 1.3 Boolean R Open Not Supported
CapPriceCalculating 1.3 Boolean R Open Not Supported
CapTareWeight 1.3 Boolean R Open Not Supported
CapZeroScale 1.3 Boolean R Open Supported
CapStatusUpdate 1.9 Boolean R Open Not Supported

Methods

Table 4: Common Methods

Method Version May Use After Comments on Zebra Scanner Support
Open 1.0 n/a Supported
Close 1.0 Open Supported
ClaimDevice 1.0 Open Supported (see Deviations from OPOS Specifications)
ReleaseDevice 1.0 Open & Claim Supported
CheckHealth 1.0 Open, Claim & Enable Supported
  • CheckHealthInternal / CH_INTERNAL - Supported
  • CheckHealthExternal / CH_EXTERNAL - Supported
  • CheckHealthInteractive / CH_INTERACTIVE
    • Scanner - Supported
    • Scale - Not supported. Always returns OPOS_E_ILLEGAL
ClearInput 1.0 Open & Claim Supported
ClearInputProperties 1.10 Open & Claim Supported
DirectIO 1.0 Open Not supported. Always returns OPOS_E_ILLEGAL
compareFirmwareVersion 1.9 Open, Claim & Enable Not Supported
resetStatistic 1.8 Open, Claim, Enable Supported
retrieveStatistics 1.8 Open, Claim & Enable Supported
updateFirmware 1.9 Open, Claim & Enable Not Supported
updateStatistics 1.8 Open, Claim & Enable Supported

Table 5: Scale Specific Methods

Method Version May Use After Comments on Zebra Scanner Support
DisplayText 1.3 Open, Claim & Enable Not Supported
ReadWeightReadWeight 1.3 Open, Claim & Enable Supported
ZeroScale 1.3 Open, Claim & Enable Supported

Zero Scale Operation

The weight reading of the scale can be set to zero by performing the Zero Scale operation. Once performed, the reading is set to Zero.

  • The range of values is 0-60 (default is 60)
  • In Lbs mode: 0 = 0.00 lb - 60 = 0.60 lb (increments of 0.01 lbs)
  • In Kgs mode: 0 = 0.00 kg - 60 = 0.300 kg (increments of 0.005 kg)

Events

Table 6: Events

Event Version May Use After Comments On Scale Support Comments on Scanner Support
DataEvent 1.0 Open, Claim & Enable Supported Supported
DirectIOEvent 1.0 Open, Claim Not Supported Not Supported
ErrorEvent 1.0 Open, Claim & Enable Supported Not Supported
StatusUpdateEvent 1.3 Open, Claim & Enable Not Supported Not Supported