Currently it works as a keyboard wedge, and I have a text Input field where operators can touch, scan a barcode and then hit a button to enter that barcode into a table.
I want to get it to where the operators don't have to do all of that. I want to get it to where the barcode scanner is tied directly to a tag, and I can write a transaction group to update the table based on the tag changing. Much more user friendly for the operators. Then the operator would only need to to use the text field to manually remove an entry.
The problem i am having is that i am unsure of how to go about tying a specific handheld scanner to a tag. We have 7 of these on site, 1 at each station. I want to get 7 tags set up to point to 7 specific handheld scanners.
If anyone know how to configure a handheld scanner to be tied to a specific tag that would be very helpful. Thank you!
Generally, you would configure the scanner to communicate directly to the gateway, perhaps with an Ethernet-to-serial converter. Then use Ignition's TCP driver to receive the scans. (You will want to configure a delimiter in the scanner for that driver to catch.)
(This solution avoids Perspective, because Perspective can't really do this. A scanner connected to a Vision client's serial port can do this, as long as the client is running.)
So, you were given poor advice when selecting Perspective vs Vision.
Seems to me you have limited paths to follow:
Connect scanners direct to gateway
Convert HMI to Vision so you can run a background script in the client to monitor the scanner's USB serial option. (Most USB scanners on the market can be configured as keyboard wedges or as virtual serial ports.)
Make sure you have a Perspective Barcode Scanner Input on every page, with a reliable start/stop delimiters, with a script to write to the correct tags. (Probably need to use Client IP address for that latter.)
I've never used a barcode scanner before so pardon my ignorance but could you configure it to send you a string of characters right before it actually sends you the barcode numbers? So for example if you scan the barcode 012345 you get regexTest_012345 as a keystroke?
Then, on your perspective Session Events you add a Keystroke regex match script to look for the Pattern regexTest_, use it to send a message to your input field component so it to sets focus to itself.
This could be done with a script that when the input field is filled with the correct ammount of the type of string you're expecting (Filter for lengh and numericals only maybe?) it does the exact same thing the button does now.
Seems very convoluted, i know.
Yes, you can connect the USB scanners directly to the gateway if they are close. You'll need to use Ignition's serial port scripting functions in that case--more trouble than the TCP/UDP driver.
Consider something like this (not a sponsor) for quick conversion of your existing scanners:
To make the Perspective Barcode Scanner component reliable, you must specify start and end delimiters, and those must be distinct from the content. Setting your scanners to add ASCII control code prefix and suffix is most reliable.
For the TCP/UDP driver, you generally just need a reliable suffix delimiter.