https://www.automationdirect.com/do-more (VID-DM-0015) - Step by step instructions on how to setup and use a serial bar code scanner with the Do-more PLC on both the internal and external serial ports. Includes a Stage programming example too!
The bar code scanner used in this video is a Symbol LS2208 with the optional RS232 interface cable (Motorola part number CBA-R37-C09ZAR) which provides a Female DB9 for us to connect to.
We made a custom adapter to get from the LS2208 Interface Cable Serial connector output (Female DB9) to the Do-more PLC Serial Port (RJ12).
The final chain of cables and interfaces looked like this:
LS2208 .........RS232 Cable **.............. Custom ....... DoMore! PLC
Bar Code....... Interface ....................... Adapter........ RJ11
Scanner.........(CBA-R37-C09ZAR) ...... Cable ........... RS232 Port
The custom adapter was wired like this:
Male ....... Male
DB9........ RJ12 (6-pin)
..5............. 1
..2............. 3
..3............. 4
** Not an AutomationDirect part.
Note: The table in the LS2208 user guide on page 3-7 shows the pin out of the scanner, NOT the RS232 add-on interface cable that we are referring to above.
Check out all of our videos at
https://www.AutomationDirect.com/VideosTo subscribe:
https://www.youtube.com/user/automationdirect?sub_confirmation=1Facebook:
https://www.facebook.com/AutomationDirectTwitter:
https://twitter.com/AutomationDirecLinkedIn:
https://www.linkedin.com/company/automationdirect**Prices were valid at the time the video was released and are subject to change.
Hide Transcript
View Transcript
Getting a bar code scanner up and running
on some PLCÃs can be a real hassle. The DoMore makes it so easy. LetÃs take a look: Step 1: Plug the scanner into the serial port
on the front of the CPU. Step 2: Configure the hardware: Click on System
configuration. Under Serial Port Mode, choose General Purpose
and device Settings. Our device is running at 9600 baud, 8 bits,
1 stop bit, odd parity and no controls. WeÃre good to go. Step 3: Ladder Code. You only need one instruction to read the
bar code scanner: that would be STREAMIN. We want to select the Device that we are connected
to ñ which is our internal serial port. And we want to determine when the message
is complete. In our case we are going to be using a 10
character bar code with no delimiters. Note that you can delimit on a carriage return,
line feed, or any character you want and look at this: You can even have the instruction
trim the delimiters from the string that ends up in your result. We donÃt need that so we will turn that off. And we are also not going to have a timeout. WeÃre just going to let this thing run continuously. Since this is a string, we are going to have
it end up in a string structure. If you had numeric data coming in you would
select this option. So thatÃs all you need. You just select the serial port you are plugged
into, when the message is complete, and where you want the result to end up. Now you can tell from this little triangle
here, that this message is edge triggered. LetÃs go ahead and put a control but in here,
IÃll use C10 that we can use to enable the instruction with. LetÃs create a Data view so we can monitor
some things. The first thing we want to see is the string
result, which was a String Short 1 back here in our stream in instruction. LetÃs add a control bit, C10, so we can turn
this thing on. And letÃs add one more thing. IÃm going to add the internal serial port
ñ dot ñ ìIn-queue.î That tells me how many characters are buffered up in the In
Queue. IÃm going to reach over here and run a couple
barcodes into the bar code scanner. Ok, I just ran four in. And you can see, we collected 40 characters
in our queue. That was four, ten character bar codes. To pull those bar codes out of the queue,
we just enable C10. LetÃs turn on our edit mode. Make some room so we can view that string,
and toggle C10. When we do that, we pull the first barcode
out of the queue. The queue gets reduced by 10 characters, and
we are good to go. LetÃs toggle C10 off, and back on, and my
second bar code comes in and I dropped down another 10 characters. One more time, my third bar code, IÃm down
to 10 characters. And one more time. I see my fourth bar code and my buffer is
empty. ThatÃs all there is to hooking up the bar
code scanner to the Do-more. LetÃs do one more thing ñ letÃs put this
in a code block that you can run to continuously retrieve bar code messages, without having
to toggle that C10 bit. LetÃs go ahead and turn C10 off to get it
out of our way. WeÃll create a new Program, and weÃll call
this BarCode. And weÃre going to use a simple stage program
to implement this. WeÃre going to come over here and say our
first stage is going to be Stage 0. In that stage we want to do a STREAMIN. WeÃre going to choose our internal serial
port. We have a 10 character Barcode. No delimiters, no timeout. DonÃt need any of that. WeÃll go ahead and put him in String StructureÖ
weÃll put him back in String Short 1. And this time we are going to exit on success
ñ weÃre going to jump to stage S0 - the same stage. If we have an error, we will jump to stage
1. Stage 1 ñ this is our error stage. Remember, if we have an error up here in STREAMIN
weÃre going to jump to stage 1. And all I want to do here is increment a counter
so I can see if I have any errors. Once that is done, I am going to jump straight
back to stage zero. ThatÃs it. So when we come into this stage, it automatically
enables STREAMIN for us, pulls 10 characters out of the buffer. When that is complete, we jump back to stage
zero and do it again. If we have an error, we jump down here to
stage 1 where we increment a counter and then jump back to stage 0 where we will start the
process all over again. LetÃs accept that new routine. Go back to main, and we want to run that routine. And for this example we are just going to
run it on the first scan. Remember ñ this is a program code block. Once you initiate it, it continues to run
until something shuts it down. So we only need to do that once. WeÃll accept that change, save it, write
it out to the PLC, and we are ready to go. So now in our program, we have our original
STREAMIN which we are not going to use ñ weÃll just leave C10 turned off. And we have our new program which got initiated
on the first scan, and continues to run for the duration of our program. We can see right here, it ran this scan. IÃm going to clear out our string, just so
we can see changes. C10 is off, thatÃs good. Our serial In Queue is zero. Because this program is running on its own
in the background, all I have to do is hit our barcode scanner with some bar codes, and
if you watch carefully here ... each time I do that the bar code changes. My In Queue appears to be zero because each
time the message comes in, it gets pulled right back out. Perfect. So thatÃs exactly what we were looking for. Every time a bar code comes in, it immediately
gets put into the string structure SS1 and we can now use it anywhere we want in the
program. What if you wanted to do this on an EXTERNAL
serial port? ThatÃs easy. Just define the external serial port over
here: System Configuration, Module Configuration, choose that serial port. And letÃs say we want to plug the bar code
scanner into port A. As you can see, IÃve already given it a name. We select general purpose. Device settings and here are all the same
settings we used before on our bar code scanner. Now that we have configured that external
serial port for the barcode scanner, all we have to do is move the cable from our internal
serial port to our external serial port. Change our program to point to that external
serial port. Say OK, accept it, save it, write it out,
and we are ready to go. Now if I run some bar codes through, it works
just like before ñ EXCEPT this time it is coming from the external serial port. Very, very easy. That ought to be enough to get you up and
running with the barcode scanner on the Automation Direct DoMore PLC. Be sure to check out the other videos in this
series for more ways to get up and running quickly with this controller. And as always, please send us any comments
you may have, we appreciate the feedback. Spend Less, Do More, from AutomationDirect.