Datalogic™ OPOS Service Objects User Manual
Datalogic ADC, Inc. 959 Terry Street Eugene, OR 97402 USA Telephone: (541) 683-5700 Fax: (541) 345-7140 ©2008-2014 Datalogic ADC, Inc. An Unpublished Work - All rights reserved. No part of the contents of this documentation or the procedures described therein may be reproduced or transmitted in any form or by any means without prior written permission of Datalogic ADC, Inc. or its subsidiaries or affiliates ("Datalogic" or "Datalogic ADC").
Table of Contents DATALOGIC™ OPOS SERVICE OBJECTS ................................................................................................................................. 1 Introduction ........................................................................................................................................................................................1 Document Conventions ..............................................................................................................
Contents NOTES ii Datalogic™ OPOS Service Objects
Datalogic™ OPOS Service Objects Introduction Document Conventions Formatting conventions are used throughout this guide to provide a consistent method for representing screen shots and command entries. Notes contain additional information of interest to the user. The CAUTION symbol advises you of actions that could damage equipment or property. CAUTION Keystrokes: Filenames, paths, field selections, and data or keystrokes entered by the user are shown in this monospaced typeface.
Introduction Datalogic Products Supported .
Installation GBT44XX GM44XX QS6000+ QS2500 QS6500 QS6500BT QD23XX QD21XX PD71XX OEM USB RS232 SC RS232 Std GD44XX RS232 SC OEM USB Scale USB-COM Device Type RS232 Std Scanner Handheld Scanners (continued) Installation Running the Install Uninstall any previous DATALOGIC or PSC OPOS scanner/scale service objects before proceeding with the installation of the DATALOGIC OPOS Service Objects.
Installation 2. Double-click DatalogicOPOS.msi to run the install program. 3. Follow the on-screen instructions to complete the installation. Version and date fields will be different depending on the version of the downloaded file. Silent Install from Command Prompt To perform a “silent install,” open a command window and cd to the directory containing the DatalogicOPOS.msi file. Type the following command to execute the install process: > DatalogicOPOS.
Utilities Utilities DualTest Utility The Datalogic OPOS package contains a utility called DualTest that provides customers with the ability to quickly connect and test the operation of a Datalogic scanner/scale with the Datalogic service objects. Simple OPOS operations such as Open, Claim, Enable, Read Weights, bar code scanning, bar code type, Release, and Close can be exercised with this utility.
Utilities 6 2. Open Scanner: 3.
Utilities User Manual 4. Select Power Notify: 5.
Utilities 8 6. Click the “DataEventEnable” button and check the “AutoDataEventEnable” box, and scan a bar code. The bar code data and type will be displayed as shown here: 7. Unplug the Scanner from the system. Power Status will show the new scanner power state.
Utilities 8. Plug the scanner back into the system. Power Status will update again with the new scanner power state. Firmware Update with DualTest The Datalogic OPOS Scanner Service Object supports the ability to update firmware on select scanners in accordance with the UPOS Specification (version 1.9 and above). The user’s application may be written to take advantage of this capability in the service (see the UPOS specification for details).
Utilities 1. OpenFile: Locate the firmware file on your machine or network. Firmware files are interface and scanner specific and may be obtained from Datalogic Tech Support. 2.
Utilities Firmware Update Started The Status field will update at every 1% of the upload. Depending on the scanner interface and parameters such as baud rate, the update may take from approximately 7 minutes to 40 minutes.
Utilities Firmware Update Finished NOTE that the service will stop at 99% complete until the scanner reboots and comes on line, which may take several seconds. Finalized: The scanner is now back on line and fully operational.
Utilities Firmware Update from the Command Line 1. Navigate to the install directory. 2. Execute the update program: CFirmwareUpdate User Manual 3. Wait until the program finishes: 4. After program exits, update is complete.
Utilities Scale with DualTest To connect to a Scale, follow these steps after installing the OPOS package from Datalogic: 14 1. Select Device: 2.
Utilities User Manual 3. Claim: 4.
Utilities 5.
Utilities Live Weight Display The Datalogic OPOS Scale Service Object supports the ability to provide Live Weight Display functionality in accordance with the UPOS Specification (version 1.9 and above). The user’s application may be written to take advantage of this capability in the service (see the UPOS specification for details).
Utilities 18 2. Enable: (Live Weight Begins immediately / Zero Weight) 3. Underweight: An under zero condition has occurred.
Utilities User Manual 4. In motion: The scale is in motion and has not stabilized. 5. Overweight: The scale’s weight capacity has been exceeded.
Utilities 20 6. Stable Large Weight: 7.
Registry Registry Windows Management Instrumentation (WMI) Compatible Datalogic OPOS Service Objects provide WMI compatible Remote Management for certain scanners when properly configured. For scanners that support this data gathering capability, the Service Objects must be configured via registry settings to provide scanner data to the WMI data store.
Registry Scanner Under SCANNER in the registry, there are a number of named entities: HandScanner, MagellanSC, QS6000, and so forth. Note that some of these are duplicates that have been maintained for legacy purposes: for example, “HandScanner” and “USBHHScanner” refer to the same device (a handheld scanner running OEM USB interface); “MagellanSC” is the same as “SCRS232Scanner”; “TableScanner” and “USBScanner” are equivalent; QS6000 and RS232Scanner are equivalent, QSLScanner is a unique entry.
Registry • • • • UPCEANCheckDigitCalc – defaulted to active, the service will calcu- late the check digit for a UPC/EAN label if it is not present on the scanner interface, and append this to the data in the ScanDataLabel property. Usage – this is the USB “usage” for the scanner device. (The USB spec defines this in hexadecimal). User should not modify this entry. USBMonitor – defaulted to active, the service will periodically ensure that the scanner and host “enable” state is the same.
Registry • • RTSControl – defaulted to active. Service will set CTS line active at the host port and leave it set high. StopBits – defaulted to 1, same caveat as for baud rate. RS232Scanner = QS6000 Common fields as above; in addition the following field is: • IncludeCR – This will add a {0x0D} to the end of barcodes. Default • TransmitUnknown - when set to 0, the service will not send barcodes to the application if the symbology is unknown.
Registry There are no unique fields for this scanner, but some of the settings default to different values because of limited capabilities: • • FirmwareUpdate – defaults to 0; this device cannot be updated by the service. CheckIHSOnClaim – defaults to 0; this device does not support commands needed to determine scanner health and status. TableScanner = USBScanner Settings are identical to USBHHScanner/HandScanner, except that Usage = 18944 (4A00 hex), and DeviceNameOverride = “…USB Scanner”.
Registry Scale Under the SCALE in the registry, there are five named entities. Some are redundant and have been maintained for legacy applications. The following screen shots cover the important user-configurable settings for each category of scale. MagellanSC = SCRS232Scale IMPORTANT NOTE: COM port settings for this scale device are identical to the corresponding scanner names; this is because the two devices share the same COM port and must use the same communication parameters.
Registry • Metric – defaulted to 0. This setting controls the type of Weight Request sent to the scale by the service; the default is English Weight Request. The user can set this to 1 to obtain Metric weights. The scanner/scale must be programmed to the same data type or weight requests will fail. CAUTION • ZeroValid – defaulted to Active. When active, the service will deliver a stable zero weight as a valid weight to the host. When set to 0, the service will follow the pre-1.
Registry TableScale = USBScale Logging The DLS Service Objects have the ability to log various data items to a file for reporting, troubleshooting, and monitoring. The logging level is controlled by registry settings under the location: HKEY_LOCAL_MACHINE\SOFTWARE\DATALOGIC\DL_OPOS_SERVICE. By default, only Error logging is turned on upon installation. If desired, the user can log various reporting levels by turning on settings.
Registry Registry Service Properties • • • • • • • • • • User Manual CompanyName: Value is the name displayed in the Service Object. This value should not be changed. DeviceName: Value is the name displayed in the Service Object. This value should not be changed. LogFile: Contains the location where the log files are written. Changing this value may cause logging failures under Windows 7 and newer operating systems. MSDELAY: Contains the global lock feedback timeout. This value should not be changed.
Registry Additional Logging The DLS OPOS Service Object can also create two additional logs. A “StatsFile” is created every time the scanner is “claimed”, provided the “CheckIHSOnClaim” control is set to active in the scanner registry. This file holds the result of the latest “info-health-statistics” call to the scanner, and is overwritten upon each “claim”. This file holds information about the scanner that may be of interest to customers, and is similar to the UPOS Statistics data.
Developers Guide Developers Guide OPOS service objects export a uniform interface; however there may be slight differences between the same types of devices from different vendors and models. Queries of OPOS properties reveal these differences. Below listed properties, methods, and events are DATALOGIC device specific return values. Other DATALOGIC service objects with different interfaces may produce slightly different results.
Developers Guide DataCount: Returns the number of Data Events Queued. DataEventEnabled: Returns TRUE or FALSE depending on the previous SetProperty call. DeviceEnabled: Returns TRUE or FALSE depending on the previous SetProperty call. FreezeEvents: Returns TRUE or FALSE depending on the previous SetProperty call. OpenResult: Returns 0. PowerNotify: Returns OPOS_PN_DISABLED or OPOS_PN_ENABLED. PowerState: Returns OPOS_PS_ONLINE.
Developers Guide PhysicalDeviceDescription: Returns a descriptive string depending on the interface and device type. PhysicalDeviceName: Returns a descriptive string depending on the interface and device type. Device Specific Properties DecodeData: Returns TRUE or FALSE depending on the previous SetProperty call. ScanData: Holds the raw scanned data received from the scanner. ScanData property always has bar code data when a DataEvent is fired.
Developers Guide Scanner Methods Common Methods Open: Returns OPOS_SUCCESS OPOS_E_NOSERVICE OPOS_E_NOEXIST OPOS_E_ILLEGAL Close: Returns OPOS_SUCCESS ClaimDevice: Returns OPOS_SUCCESS OPOS_E_NOSERVICE OPOS_E_ILLEGAL OPOS_E_CLAIMED This call will activate the communication with the device. DATALOGIC devices are exclusive. It is recommended that a program keep the device Claimed as long as the application is running. CheckHealth: OPOS_CH_INTERNAL is supported. OPOS_CH_EXTERNAL is not supported.
Developers Guide DirectIO: (continued) OPOS_E_OFFLINE OPOS_E_ILLEGAL Please refer to DR90000351, Datalogic UPOS DirectIO Commands (available at www.datalogic.com) for a complete list of DirectIO commands and implementation details. ReleaseDevice: Returns OPOS_SUCCESS, OPOS_E_ILLEGAL, or OPOS_E_NOTCLAIMED. This call will deactivate the communication with the device. ResetStatistics: Returns OPOS_E_ILLEGAL DATALOGIC service objects do not support reset statistics.
Developers Guide Scanner Events Common Event DataEvent: This event fires when a label is forwarded from scanner. DirectIOEvent: Not supported. ErrorEvent: Not used.
Developers Guide CapPowerReporting: Returns OPOS_PR_STANDARD. CapStatisticsReporting: Returns FALSE. CapUpdateStatistics: Returns FALSE. CapUpdateFirmware: Returns FALSE. CheckHealthText: Internal HCheck: not supported, will return OPOS_E_ILLEGAL. External HCheck: not supported. Interactive HCheck: not supported. Claimed: Returns TRUE after Claim method has been called. FALSE otherwise. DATALOGIC devices are exclusive.
Developers Guide If PowerNotify is set to "OPOS_PN_ENABLED", then: • If the Scanner is Plugged and Enabled: • otherwise: OPOS_PS_ONLINE OPOS_PS_OFF_OFFLINE ResultCode: Returns result of last operation. ResultCodeExtended: Returns extended result if the last operation produced an OPOS_E_EXTENDED. Otherwise this value is considered invalid. State: Returns OPOS_S_CLOSED OPOS_S_IDLE OPOS_S_ERROR DeviceServiceDescription: Returns a descriptive string depending on the interface and device type.
Developers Guide CapStatusUpdate: Returns TRUE. CapTareWeight: Returns FALSE. CapZeroScale: Returns TRUE. AsyncMode: Returns TRUE or FALSE depending on the previous SetProperty call. MaxDisplayTextChars: Returns 0. MaximumWeight: Returns 15000 in metric mode. Returns 30000 in pound mode. ScaleLiveWeight: Updated if LiveWeight is enabled. StatusNotify: If CapStatusUpdate is TRUE, the application can set StatusNotify to either SCAL_SN_DISABLED or SCAL_SN_ENABLED. SalesPrice: Returns 0 currency.
Developers Guide Scale Methods Common Methods Open: Returns OPOS_SUCCESS OPOS_E_NOSERVICE OPOS_E_ILLEGAL Close: Returns OPOS_SUCCESS. ClaimDevice: Returns OPOS_SUCCESS OPOS_E_NOSERVICE OPOS_E_ILLEGAL OPOS_E_CLAIMED This call will activate the communication with the device. DATALOGIC devices are exclusive. It is recommended that a program keep the device Claimed as long as the application is running. CheckHealth: OPOS_CH_INTERNAL is not supported. OPOS_CH_EXTERNAL is not supported.
Developers Guide DirectIO: Returns OPOS_E_NOTCLAIMED OPOS_E_OFFLINE OPOS_E_ILLEGAL Please refer to DR90000351, Datalogic UPOS DirectIO Commands (available at www.datalogic.com) for a complete list of DirectIO commands and implementation details. ReleaseDevice: Returns OPOS_SUCCESS. OPOS_E_ILLEGAL if the device has not been claimed. This call will deactivate the communication with the device. It is recommended that a program keep the device Claimed until an application quits.
Developers Guide Device Specific Methods GetSalesPrice: Returns 0 Not implemented GetUnitPrice: Returns 0 Not implemented SetUnitPrice: Returns OPOS_E_ILLEGAL Not implemented DisplayText: Returns OPOS_E_ILLEGAL ReadWeight: Returns OPOS_SUCCESS OPOS_E_EXTENDED OPOS_E_TIMEOUT CANCELLED OPOS_E_NOTCLAIMED OPOS_E_DISABLED OPOS_E_OFFLINE OPOS_E_ILLEGAL OPOS_E_FAILURE OPOS_E_BUSY OPOS_E_NOHARDWARE If the result is OPOS_SUCCESS valid weight is returned.
Developers Guide Scale Events Common Event DataEvent: Used for asynchronous weight requests DirectIOEvent: Not supported ErrorEvent: Used if a cancel weight is called during an asynchronous weight request StatusUpdateEvent: Supported as per LiveWeightDisplay as documented in the UPOS specification.
Developers Guide NOTES 44 Datalogic™ OPOS Service Objects
www.datalogic.com ©2008-2014 Datalogic ADC, Inc. All rights reserved. Datalogic and the Datalogic logo are registered trademarks of Datalogic S.p.A. in many countries, including the U.S.A. and the E.U. Datalogic ADC, Inc.