01-12-2023 07:34 AM
Hello rolfk,
Thanks for the information! I mentioned you too in the reply above, and I think you guys are both right.
Best regards,
Harm
01-12-2023 08:15 AM
Checkout this page: https://techdocs.zebra.com/dcs/scanners/sdk-windows/about/
It's an overview of the SDK. If you put your scanner into RS-232 mode over USB, what it really does is using the RS232 Nixdorf Mode B mode, and that is a fairly dumb one-way communication standard that was developed for Nixdorf cash registers. The operator presses a button on the scanner and this then sends the barcode to the cash register. Nothing more and nothing less.
The SDK is not something that simply plugs into VISA or such but provides its own API that you can access through C++ or C#. The C# interface is based on .Net and for your case most likely the most simple to interface to through the .Net functions in LabVIEW.
01-12-2023 11:03 AM - edited 01-12-2023 11:04 AM
@Harm_Le wrote:
Hello Jim and rolfk,
I think you guys are right, when I put it in SNAPI mode I can open SDK software from Zebra and there is a Soft trigger button that works. And it doesn't work when I emulate the USB to a COM/Serial port, which is needed to use VISA.
But how do I implement this SNAPI mode in Labview? Is there a SNAPI equivalent of VISA available in Labview or am I thinking in the wrong direction at this moment?
Best regards,
Harm
(This message is sent twice because it seems like something went wrong)
SNAPI isn't built into LabVIEW as it's proprietary to these scanners. These were formerly manufactured under the name "Symbol". SNAPI = Symbol Native API. To use that API you'll need to communicate through the CoreScanner driver one way or another.
The easiest way, IMO, with LabVIEW is to use the CSProxy .Net assembly. Unfortunately, the SDK hides that pretty well...
If you have the SDK installed then you should also have a Visual Studio project template shortcut in your start menu. The shortcut probably won't work for you as recent versions of Visual Studio no longer support VSI packages, but you can open it as an archive with an appropriate application (e.g. 7-Zip) or just rename it .zip and Windows Explorer should open it. You can manually install the template at that point, but it's not important that you do. The point is to grab the CSProxy dll and documentation from within. (There is also a sample app that is different from the sample that is installed by the SDK and uses the proxy DLL.)
The Interop.CoreScanner.dll assembly used in the normal C# sample is both somewhat less user friendly in C# and uses some .Net features that don't work with LabVIEW. To use the CSProxy wrapper, you will need to include both the Interop.CoreScanner.dll and CSProxy.dll assemblies in a location where LabVIEW will locate them.
01-13-2023 11:18 AM
It looks like you want to be in SSI over USB mode, not RS232 over USB mode. In that mode you can send some of the SSI commands, including START_SESSION (0xE4). This may be the wrong guide but it's probably close: