Sign in to follow this  
Followers 0
Bob O

Barcode Scanner Comms?

22 posts in this topic

Which communication method would the forum recommend for reading about 2000 barcodes/min? I will be using an AB controller and my understanding is the Sick scanner can do serial, DeviceNet and maybe Ethernet. I am trying to help out a friend and learn something in the process since I have never done a scanner application. Thanks

Share this post


Link to post
Share on other sites
A lot of it will be specific on what controller your using and what communications options you already have available. Also, how specifically can the SICK communicate with AB over Ethernet? Obviously serial would be the most economically, but I hate to tie up my serial port if the controller only has one serial port. If a small controller is required, I would us a Micrologix 1100 and put it on Ethernet. This way you don't completely tie up the serial port. That is if the SICK scanner can communicate with the Micrologix 1100 over Ethernet. If it is strictly CIP then it won't. If you going for a SLC, then I wouldn't waste the money for the 5/05. I would go Devicenet. Or if the SICK's Ethernet protocol can handle traditional AB Ethernet messaging that would be compatible with native AB then look at a 1761-NET-ENI

Share this post


Link to post
Share on other sites
I have used either RS232 or RS422, Devicenet would be too slow for the amount of barcodes that you want to read. Ethernet is based on a solid network and this is hard to do with the conflicts that I have had with IT departments in warehouses. Also, how do you get the IT department to solve your problem when the network is dropping a barcode message of one out of 2000? Hardware for the cable RS232 - This cable is garenteed to work up to 500ft Personnally i have not had problems out of using this method Black Box EDDC EMN04A-0500 (500 ft cable Control hardware ControlNet module POINT I/O ControlNet Adapter Catalog Number 1734-ACNR with POINT I/O RS-232 and RS-485 ASCII Modules (Cat. No. 1734-232ASC, 1734-485ASC) frame the data from the scanner like this STX <barcode data> ETX

Share this post


Link to post
Share on other sites
There will two scanners total. One will need to read at the 2000 barcodes/min rate and the other will be located at the final tape station for the completed box. We were thinking about using the ML1400 with two serial ports and an Ethernet port. I would use the two serial ports for the scanners and the Ethernet for programming. Thanks Again

Share this post


Link to post
Share on other sites
when i run the math you are talking about speeds above 1000 ft/min with a size of 3 inch box with gap of 3 inches. or speed of 350 fpm with a size of 1 inch with a gap of 1 inch. Higher speed is a bigger size but its basically the above specs. I guess the next question is the speed the conveyor. Your reading 2000 pieces per minute. You have to gap and track the correct barcode with the right piece. Is this a camera system for this read rate? Also, presentation and mil of barcode is critical for this read rate. You need to work closely with the barcode scanner manufacturer giving them an example barcode, speed of your conveyor, and other parameters that they need. Hopefully you have a 20mil barcode that is 1 inch in height as a minumum. Its critical that the bar code manufacturer give you a config file for your scanner. Again critical to get the right scanner for this rate. If your tracking in this area do you need to reject bad barcodes?

Share this post


Link to post
Share on other sites
2000 codes per minute == 30 milliseconds per code. Therefore you'll need a program scan time of 15 msec or less to not miss a code every so often. Others can tell what baud you'll need to communicate the STX, ETX and say 8 digits of the code in 30 milliseconds. just rough I get 10 bytes in 30 ms or 3ms per byte,

Share this post


Link to post
Share on other sites
My friend has sent the barcodes in for evaluation to Sick but hasn't heard back yet. We have talked a bit about the triggering but our first concern was to select the correct communication that could handle worst case of 2000 reads/min. Also, I haven't used a serial port for more then a upload, download or a HMI connection but 2000 read/min seems to be a lot through the serial port but I don't know. Thanks Edit...There isn't suppose to be any rejection. My friends customer would like it to just set an alarm light/horn if the barcodes do not match so it "should" be a small program. Edited by Bob O

Share this post


Link to post
Share on other sites
There are a couple ways out of this if you go Ethernet. Both are very reliable. Effectively I've been doing this for quite some time with ZERO hiccups. It's just a matter of realizing that the key is to protect the IO from traffic issues either externally or internally. Keep in mind that you do NOT want DHCP except under a special circumstance I'll get to below. Option #1: If the processor is a Controllogix (still no mention of processor), then you have two ports on the ENBT. Put the scanner on one port and the rest of the network on the other port. To further prevent future conflicts, if IT uses 192.168.x.x, use 10.x.x.x, or vice versa. You can still program nearly everything remotely over the CLX "bridge" function but IT can't normally get into your network somehow. You will have to play with your laptop settings when you first configure everything but after that unless you have to change network settings (IP addresses), it's all done. Option #2 is to buy a good quality managed switch. I'd recommend either a Hirschmann rail switch, or one from N-Tron or Sixnet. My personal preference is Hirschmann although they are more expensive. Either way, expect to pay about $1K for the switch. I highly recommend that you buy a brand such as Hirschmann for two reasons. First, it's not Cisco and almost all your IT stuff will be Cisco. You don't want them to even be able to understand the switch enough to screw with it or let them have any hand in managing it. This also means you want something a good deal easier to configure than Cisco. Don't worry about any "compatibility" issues. We're going to configure the thing to resemble a dumb (unmanaged) switch from their point of view, and it is far more compatible with standards than Cisco is any day of the week. Plug your network into the switch including the PLC and IO (scanner). Plug the IT stuff into a single port on the same switch. Do NOT get suckered into wiring your stuff up through their equipment. We want to have the ability to actually UNPLUG the IT network if something goes wrong and let the switch turn into an island with the controls equipment clicking along as if nothing happened. Be forewarned that you need this in the event of a power outage. Typical IT settings take 10's of minutes (or longer) to recover while your switch will probably reboot and begin operating within 60-90 seconds. Set up the switch to perform IGMP querying AND snooping. Set the IGMP query rate just slow enough so that in the event that the IT system is available and functioning, IGMP configuration will allow the local IT switch to manage things. This takes care of some issues you may have with RS-Linx acting funny. You don't need this if you're not using Ethernet/IP. It's just a safe guard for multicasting. Configure port priority so that the PLC and your IO have the highest priority. All other ports get the lowest priority. Also set bandwidth limiting to a comfortable limit for both PLC and IO. Usually this is about 1000-1500 packets per second for IO, and maybe 2500-3000 packets per second for the PLC if it's a CLX processor (documentation will tell you the maximum packet rate). Set it low (800-1000 packets/second) if you are dealing with a non-CLX processor. Do NOT set up trunking. Leave it alone. You definitely do not want to use this option. This will cause it to interact with the IT equipment. What this will do is first limit total traffic on all ports to protect all of your equipment from broadcast storms and spamming either externally or internally. Furthermore, since the priorities are usually 8:1, when queues start filling up, your IO traffic has priority over the general network traffic by an 8:1 margin. This gaurantees solid 24/7 connectivity in spite of any IT hiccups. Also, if IT fails to set up IGMP correctly or their system goes on the fritz, the switch will automatically take over the IGMP coordination responsibility, ensuring that if you are using Ethernet/IP, it won't create a broadcast storm by allowing multicast traffic to revert to broadcast. I mentioned not using DHCP above (only static addresses). You HAVE to have static addresses regardless of how you set things up, and using DHCP normally creates another dependency and another point of failure. If you want to avoid this, you will need to buy DHCP servers that understand Option 82 configuration BY PORT. The only one I know of that sells for something under $1K is Hanewin DHCP. AutoIP is another option that works somewhat differently and costs a little more. It costs $100/copy and I suggest you buy two copies since the cost is small. You MUST have a server PC (any PC that is up 24/7) for this. With this setup, configure all of your equipment to use DHCP. In the switch, turn on Option 82 addressing (relay agent). Program the switch with the IP address of your DHCP server (or two servers if you have redundancy). Configure the DHCP server to assign your IP addresses according to the port and switch IP address. If you buy the memory stick dongles for the Hirschmann switches mentioned above, you are even better off. In this configuration, if you have to replace an IO card involved with the network, the DHCP servers will reprogram the IP address according to the port that the device is plugged into. You can't simply swap ports willy-nilly anymore because the port number is important (it controls the IP address), unlike the conventional configuration. In addition if you used the memory sticks for the Hirschmann switches and leave the sticks in the ports 24/7, if a switch fails, you can simply pull it and swap for a new one. When you insert the memory stick, the switch will autoprogram with the old settings. This makes for dip-switch and laptop-free IO configuration on the CLX platform using Ethernet/IP. Finally recommendation is to get a copy of Wireshark on your laptop and buy a second Ethernet card for your laptop. It doesn't have to be fancy. USB or PCMCIA Ethernet ports are just fine. This is an invaluable troubleshooting tool. To use it, first plug the extra port in somewhere, either into your switch or into a general IT device somewhere. I often carry a spare "dumb" unmanaged switch around from Walmart just for this purpose. Plug the other port into a spare diagnostic port on your switch. Configure the switch so that the diagnostic port has port mirroring with the port you want to monitor. Start up Wireshark and have it monitor that port only. You probably want regular network connectivity at all and that's what the auxiliary connection is all about. Now you can pick apart and look at every single packet going in or out of your switch's ports and monitor for problems. This will require a fair amount of reading and studying on your part to understand what all the traffic is doing, but this is the basics of how to set it up. By the way, your IT department can and will do all kinds of crazy crap and try to talk you into all kinds of screwy things like VLAN's (unnecessary complication), letting them have management control from some centralized thing that regularly fails (or when some IT goon decides it's a good idea to change things because everyone is "at lunch"), trunking through their network (until they screw something up), messing around with auto-config/manual config of speeds and full/duplexing, and so forth. What I've outlined above follows the KISS principle when it comes to Ethernet configuration. Rockwell & Cisco also push VLAN's. About the only thing it does for you is that you could in theory put your controls network on a separate "virtual" network and wire things up normally. You can still communicate from the general network with this network and configure things but all your packets will be routed through the nearest layer 3 switch or router and then back into the controls VLAN. Everything will be fine as long as IT doesn't screw anything up. Broadcast traffic is isolated (rather than controlled the way that I described it), but you still need the same bandwidth limiting settings anyways to prevent "spamming" from a broken network device. So it's actually an improvement but adds a lot of complication to the system and a dependence on IT that they don't decide to reconfigure something on you some day. You will also have to explicitly set up things in RS-Linx since it won't be able to automatically browse your Ethernet/IP devices anymore (crossing broadcast domains). Edited by paulengr

Share this post


Link to post
Share on other sites
RS232 read rate Lets assume that you have a 20 character barcode and using STX and ETX as framing = 22 char If reading at this speed from the serial port 9600 bps msec of barcode = (1/9600) * 22 char = 2.3mSec or 0.0023 sec to read the barcode 19200 bps msec of barcode = (1/19200) * 22 char = 1.2 mSec or 0.001145 sec to read the barcode It basically this math, maybe Bob F has some other variables that go into this, dont know. get the picture? The spec I gave you on the cable should be able to handle this speed. Just dont use a cheap cable. Low capacitance cable spec I gave you should do the trick for all the motors that are in warehouses.

Share this post


Link to post
Share on other sites
Nice Math ControlsDude. I was looking at it from the PLC end of the pipeline. Assume each Barcode is in a box/window and they are evenly spaced. How much time max can each code box/window consume. Answer 30ms. Therfore to allow for scan variation and a small percentage of oversample you must check every 15 ms or even better 10ms. Your math works from the scanner end of the pipeline and shows that a code takes 2.3msec plus overhead to transmit. My only question is 9600 bytes per second or bits per seconds. If bits then we need to multiply your 22 by 8 qne your 2.3 becomes 18.4 msec. I am not sure which is correct. I am after all an old "Joe relay" kinduh guy on some things.

Share this post


Link to post
Share on other sites
If just doing a simple read check many barcode readers offer a 'code match' function. You may wan't to look into that. I'm sure the scanner itself can do a quicker job of the comparison.

Share this post


Link to post
Share on other sites
i looked it up for RS232 is 19,200 baud is 20kps (kilo bits per second) so i am a little off but I remember looking up this before when a collegue said I was all wet and it turned out my calc was right but slightly off. thanks for the check. I have run cases through systems at 12 inch gaps at 500ft/min and had the barcode on the box everytime for 75-120msec when I tailed out of the box. The shortest box was 9" . So I believe the calc works in practice and was using rs232 that time. But have used Rs422 with these same speeds and gaps. This was for scanner systems that tracked the case bar code out of the scan tunnel. Edited by controlsdude

Share this post


Link to post
Share on other sites
Has anyone used any of these SICK scanners serial comms? I have not used them but everything I have used from to do serial comms I have had to request the info before I got a response. It was not just spitting out the info. Maybe everybody else is aware of that and it is a common thing. Sorry if I am way out in left field I haven't looked into these scanners yet.

Share this post


Link to post
Share on other sites
I used SICK Scanners to read package IDs on a job a few years ago, They were triggered to read by a package present photoeye and sent a data packet whenever a valid bar code was seen, the unit timed out or another trigger was seen. No polling of the scanner was required over the serial port only the digital trigger input going high.

Share this post


Link to post
Share on other sites
Thanks Bob like I said I hadn't used them but I had used other SICK stuff and it had to be polled.

Share this post


Link to post
Share on other sites
Much as I like Sick BCR's I think that you are asking a lot of a traditional scanner with this. I would personally look at a vision system and consider "batch" reading. A camera should be able to read and decode several codes at once so your scan rate will decrease considerably. The downside is that you will need to provide suitable lighting which is always the Achilles heel of vision systems. I would suggest you speak to somebody like Cognex about this application. Andybr

Share this post


Link to post
Share on other sites
I have used Sick , accusort, and datalogics. I believe camera system manufactures (cognex etc have them too) I would recommend sick for the most part. I have done scanner integration with conveyor and sortation systems for 10 years. Using the rs232 or rs422 is typical. This is the tried and true method. The only reason I stick with it is that its on its own network and is not interfered with by other devices. I think at the speeds your requesting its a camera system for the 2000 pieces per minute with tracking out from the barcode tunnel to your point in the system. Sick also has camera systems and they will tell you if you need this for this application.

Share this post


Link to post
Share on other sites
First, thanks to everyone that has replied and sorry I have not responded sooner. I am trying to keep this separate from work as much as possible. We are looking at the CLV6xx scanner from Sick. It uses serial or Ethernet IP so instead of the ML1400 with two serial port we could do as TW mentioned and use a ML1100. Controlsdude Thanks for the information on the read rate. B carlton I just downloaded the manual for the CLV and will into the code match. Also, I have a Dualis OSI-100 scanner to “play” with. It doesn't have the read speed we need but it is another toy. Thanks Again

Share this post


Link to post
Share on other sites
i searched on the internet and found this one ,does this barcode reader support it ?

Share this post


Link to post
Share on other sites
I haven't tried it yet. Does it offer a free trial packages for users to check? If so, I will try it later. Best regards, Arron

Share this post


Link to post
Share on other sites
HI there I have tried it .I don't think this one will support that.Maybe we should search another one. Edited by Donna111

Share this post


Link to post
Share on other sites
well ,i tried it , providing free trial

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0