Connecting Zebra DS3678 SR Series Scanner to Ignition Without Sepasoft Barcode Scanner Module

Is it possible to connect a Zebra DS3678 SR Series Scanner to Ignition without utilizing the Sepasoft Barcode Scanner module?

I've reviewed a few posts, but I'm still seeking further insights regarding the feasibility of achieving this without the Sepasoft module.

My objective is to scan barcodes and import the data into Ignition.

If you are using Perspective, then yes you can use the scanner without the sepasoft module. The sepasoft module is specifically for Vision.

For Perspective, use the Barcode Scanner Input component with your scanner operating as a keyboard wedge.

What can we configure in Session events for 'Barcode' so that 'scan' gets populated into 'BarcodeScannerInput'?

No need. It listens to keyboard input and looks for either matching prefix/suffix characters or a matching regex. Matching input gets added to the component's data property and fires the component's onActionPerformed event.
image

1 Like

Could you please share your configuration settings for data and regex? I'm currently scanning barcodes, and while I can see them appearing in the '123Scan' app, they aren't populating under Ignition.

Also I've set the onActionPerformed event as following

The 'Barcode Scanner Input' component and the 'Scan Barcode' action represent two completely different ways to gather a barcode.

The 'Barcode Scanner Input' is always listening for keystrokes, which match a particular pattern (regex, or prefix + suffix, per the component's settings). While it's on the window, if your scanner acts as a keyboard wedge, it will automatically collect input and add it to its internal buffer.

The 'Scan Barcode' action invokes a scan using the mobile device's built in hardware - it currently only works on the installed native apps on Android and iOS, and may or may not be compatible with your mobile computer/how it performs scanning.

You should pick one or the other, not try to use both.

2 Likes

When using the Barcode Scanner Input component, you don't need an onActionPerformed event to pickup scans. That is for doing something once the scan is captured.

Get the component working with your scanner before trying to handle the data. Program your barcode scanner to add a prefix and suffix character that will frame the scan for easy detection. The other option, again, is to create a regular expression that matches the pattern of your barcode format.

Set one of the two up, and start scanning. You should see the barcode data appear inside the component itself. After that is working, then add an onActionPerformed script to get the scan from its data property and do what you will with it.

1 Like

Thanks for the clarification, @PGriffith and @dkhayes117. I've noticed that when I scan a barcode, it utilizes that regex and provides me with a value after each keystroke in designer. How can I make this process dynamic so that any scan appends the value to the data?

ScannerData

If you want to allow any barcode format and distinguish between actual keyboard input, your best option is to add a prefix and suffix character to the scan by programming the scanner to do so.

For example, you scan 1234567 your scanner will append a prefix and suffix of your choice, like, $1234567*. Then the component knows when to capture input as a scan because it is framed with $ and *.

Regex is more suited to filtering scans to a specific pattern, "I need only this barcode format to be picked up - A-123-002-1"

3 Likes