Firstly, is the barcode reader connected to the inbuilt RS232 port on the PLC (directly under the peripheral port) or is it connected to a communications board mounted in the CPU. The plugin board could be a C200HW-COM02 / COM03 / COM04 / COM05 OR COM06. The COM04, COM05 and COM06 cards all support the Protocol Macro Function. (i'll explain later).
There are basically two ways to get the data into the PLC. One where the communication ports are set to dumb RS232 ports (see the PLC setup) and require the Recieve (RXD) instruction to read the incoming data. Or if using the communication boards the program could be using a protocol macro function (PMCR).
If you examine the PLC program for either of the instructions then you can get an idea of what is happening with the barcode data...
The RXD(--) and PMCR(--) functions are both expansion functions, therefore I cannot determine the function number associated with each instruction without examining the function mapping.
RXD(--) - Receive
Three parameters make up this instruction....
D -Destination
C -Control Word
N -Number of bytes
RXD(--) reads N bytes of data received at the port specified in the control word, and then writes that data in words D to D+(N/2)-1. Up to 256 bytes of data can be read at one time.
Basically look at the destination specifed by D, this will be the start of where the data will be. The RXD instruction will include all of the Data recieved from the bar code reader ie STX.......etc
If fewer than N bytes are received, the amount received will be read.
The PLC will be incapable of receiving more data once 256 bytes have been received if received data is not read using RXD(--). Read data as soon as possible after the Reception Completed Flag is turned ON. e.g. (AR 08.06 for the RS 232C port, AR 08.14 for the peripheral port for a CQM1H). See the relevant manuals for other PLC's.
Protocol Macro
PMCR(--)
Three parameters make up this instruction....
C -Control Word
S -Source Word
D -Destination
PMCR(--) calls and executes the specified communications sequence (protocol data) that has been registered in the Communications Board installed in the PC. The communication sequence would have been created with a software package called CX-Protocol. (A neat completee package that lets you create protocols and sequences for data exchange with external RS232 devices using one instruction in the PLC ladder logic.)
The send/receive message for the communications sequence registered in the Communications Board must be set to read or write word data when DM isn't specified for S and D. Use a constant when it isn't necessary to set a word for the first output word.
When the communications sequence doesn't require an input word, specify a word address anyway. Data won't be stored in the specified word and the contents of the word will be retained. When the communications sequence does require input words, specify words that aren't used for any other purpose in the program.
The input and output (S and D) can also be set in the communications sequence registered in the Communications Board.
Basically look at the destination specifed by D, this will be the start of where the data will be. D in this case will contain the number of bytes recieved and D+1 will most likely contain the data (depends on how the protocol was wriiten with the CX-Protocol software.) If the Protocol was written correctly then the Raw Data returneed from the Bar Code reader should be there (ie the STX...etc would have been discarded.)
For both cases of the instructions if there ia a * character preceeding the D (ie *DMxxxx)then the programmer is using indirect addressing which I will leave for you to look up.
Apart from that do as bdanelon suggested - contact your local Omron office. They generally have excellent support, and most likely won't ask you for an order number for it like some other suppliers.........