Невозможно включить заявленное устройство, используя POS для.Net
Я использую ручной сканер штрих-кода Motorola DS4208. В прошлом мне удалось успешно настроить и использовать это устройство, однако недавно оно перестало работать. Это может быть результатом установки других устройств, которые также используют OPOS и POS для.Net интерфейсов.
Это устройство USB, поэтому я создал файл конфигурации управления с именем *Moto_Scanner.xml* и поместил его в правильное место.
<PointOfServiceConfig Version="1.0">
<ServiceObject Type="Scanner" Name="Example Scanner">
<HardwareId
From="HID\VID_05E0&PID_1300&REV_0100"
To="HID\VID_05E0&PID_1300&REV_0100" />
<HardwareId
From="HID\VID_05E0&PID_1300"
To="HID\VID_05E0&PID_1300" />
</ServiceObject>
</PointOfServiceConfig>
С помощью SOMgr.exe я вижу устройство в POSDevices с правильным путем. Затем я создал логическое имя MotoScan. Затем он появляется в списке логических имен, как и ожидалось.
Используя Microsoft Point Of Service\SDK\Samples\Sample Application\TestApp.exe, я могу открыть и запросить устройство. Однако после попытки установить флажок включения я получаю следующее сообщение об ошибке.
POSControlException ErrorCode(Failure) ExtendedErrorCode(0) occurred: Unable to enable the device. See inner exception for details.
System.ComponentModel.Win32Exception: The process cannot access the file because it is being used by another process
at Microsoft.PointOfService.ExampleServiceObjects.HidReader.HidThread.StartReading()
at Microsoft.PointOfService.ExampleServiceObjects.HidReader.OpenDevice()
at Microsoft.PointOfService.ExampleServiceObjects.ExampleScanner.set_DeviceEnabled(Boolean value)
Opened device: Example Scanner
Created instance of device: Example Scanner
Motorola предоставляет приложение под названием 123Scan для помощи в настройке и тестировании. С помощью этого приложения я могу подтвердить, что устройство работает. Это приложение было в конечном итоге удалено как часть устранения неполадок.
Любые предложения будут оценены.
2 ответа
Вы пытались установить драйвер OPOS?
РЕДАКТИРОВАТЬ:
Вместо того, чтобы связывать это каждый раз, когда он истекает, вы должны активно искать "OPOS Driver" на http://support.symbol.com/ чтобы вы могли скачать драйвер для соответствующей платформы.
В процессе обучения выяснилось, что открытие и получение устройства не означает, что оно действительно подключено. POS Explorer позволит вам открыть соединение и запросить устройство для эксклюзивного использования, даже если оно физически не подключено. Частично это связано с тем, что POS Explorer использует объект службы для связи с оборудованием.
Только после того, как вы включите устройство, вы получите положительное подтверждение того, что устройство доступно. На самом деле, если включить не удается, у вас есть подтверждение, что устройство не подключено.
Ручной сканер Motorola DS4208 не требует специального файла сопоставления конфигурации. После установки Motorola ADK устанавливаются правильные сервисные объекты, и внутри них хранятся аппаратные идентификаторы. В моем предыдущем коде я пытался использовать служебный объект "Пример сканера", доступный в POS Explorer SDK, для связи с этим оборудованием, что было моей основной ошибкой.
После установки драйвера OPOS для сканеров Symbol v3.31 у меня не было проблем с тестированием оборудования.