AB SLC Basic Module


Thread Starter


We have got machine equipped with MS710 barcode scanner(microscan),its function is to read barcode
labels on both product and carrier, then make comparison between them,pass if match,fail if
mismatch and trigger output to inform operator
that machine stops. Now, I want to use basic module linking with two scanners to process the math operation.The SLC CPU model is 5/02 or 5/03, the label was read once per 0.09second, it's fast, I think. Therefore,I wonder if CPU and basic module have ability to handle data in time, this is time critical application, in my opinion. Could anyone give me a favor? Thanks!

kalpak dabir

No it may not be fast enough, but AB has a new faster BAS module which might do the trick (but the price might scare you). Or as I read at this web site that the BAS module can also be proged in assembly by using tools from IAR, which might make it fast enough.
kalpak dabir
[email protected]
I've tried polling serveral scale r232 and DH-485 signals with an AIC Moduleand a 5/05. Did not work to well,it took serveral seconds to poll six scales. When I speeded up the poll time, I ended up either missing data or getting garbage in my acii registers.
The MS-710 is a pretty fast decoder; the raster scan is over 300 lines per second and the decoder is quick, too.

What you want to avoid is what Dave Bores described; polling the barcode readers with their host protocol. It'll take too much time between BASIC module string handling and too much time for the MS-710 to respond (it's main purpose is scanning barcodes, not attending to host commands).

If you use a 1746-BAS or BAS-T with both PRT1 and PRT2 configured for ASCII input, connected separately to two MS-710's, it should be a trivial matter to compare two incoming strings and set bits in the SLC I/O table to indicate a mismatch or match.

Can you do it in 90 milliseconds? Probably. Microscan can help you determine how long the MS-710 will take to decode one of your specific
labels. Sending 10 bytes of ASCII at 9600 baud.... maybe 10 milliseconds. The BASIC module needs to run it's program, and the SLC needs to run it's program.... a lot depends on what else your SLC is busy doing. If you have the opportunity to specify the inexpensive 8K 5/03 controller instead of the 5/02, you should do so.

The fastest multi-scanner barcode system I ever did was 12 readers with MS-710's going into DeviceNet/ASCII interfaces (Microscan or DIP, same
thing). Because the DNet system took care of the data transfer, I didn't need a host polling serial scheme and I got strings from all 12 readers in 30 milliseconds.

Good luck,

Ken Roach
A-B Seattle
kiroach[email protected]

Michael Griffin

I have used several bar code readers with basic modules (Siemens CP521 Basic). You have not mentioned some rather important facts.

1) How much time do you have to perform the reads and analyse the results?
2) How much data is being transmitted? (How many characters are you reading?)
3) How are you triggering the read? Is it by a contact input, or by serial command?

I have usually found that the best way to handle bar code readers is to bring the data back into the PLC CPU and do the comparison there. This
allows you to display the results of a read operation on an operator display unit, which can be a big help in diagnosing label problems.
In our applications we are always reading a label and comparing it to an expected value (to make sure we are putting the correct label on the
finished product).

Michael Griffin
London, Ont. Canada
[email protected]

Barb, Manufacturing Programmer, Hewlett-

I have seen as high as 50ms scan times on SLC PLCs alone, with large ladder programs in them. Look and see what your PLC's average scan time is without this code. If the PLCs are slow, and you are trying to get 90ms cycle times, especially with having the BASIC modules send the strings into the PLC for processing, I think it will be close.