Task:
We are receiving barcodes (EAN-13) from a serial port. We have some barcode scanners connected. Each one sends data when read. Data contains an identification number (the first character) and barcode information (thirteen digits). When the Data Logger receives the information from the serial port, he adds a date and time stamp. This information is registered in a log file correctly, but we should create other ASCII file with different structure in the CSV format.
Fig.1. Barcode scanner data captured by the serial data logger software
Requirements:
It is assumed that:
You've configured communication parameters (baud rate, the number of data bits, flow control, etc.) in the data logger and can receive any data without communication errors.
Solution:
The figure above shows that the data flow is very simple. Each record has a fixed size and a fixed position of each item. We need to recognize the ending characters of each data record. Please, enable display output for non-printable characters with a character code below than 0x20h. Please, set the following options.
Fig.2. Data view setup
Then click the "OK" button and try to receive data from a port. You should receive the data as in the figure below.
Fig.3. Barcode scanner data logger. Data received.
It is another view of the received data. All non-printable characters were replaced with their code like #0D. Now, it is clear that a data packet (in a green rectangle) ends with #0D (underlined by red).
Now, we are ready for configuring modules. First, please, select the "ASCII data parser and query" plug-in (fig.4a, pos.1) from a drop-down list. Then, enable a parsing option for data received (fig. 4a, pos. 2) and select necessary data export plug-ins. The DDE server (fig.4b, pos.3) will help us check that the data packet is parsed and exported. The "Local database" plug-in will write data to an ASCII file with the CSV format.
Pic.4a. Barcode scanner data logger. The data parser plug-in.
Pic.4b. Barcode scanner data logger. Data export plug-ins.
Now, please, open a configuration window of the ASCII parser and query plug-in (click the "Setup" button near a drop-down box fig.4a, pos.1). The dialog window will appear on the desktop (fig.5).
Fig.5. Barcode scanner data logger. The configuration window of the parser.
The configuration process will be very simple if you've examined your data flow in the data logger window (fig.3). You should type in the same as in the data logger window in fields 1 and 2. Field #1 marks the beginning of the data block, and field #2 marks the end. In the example, our data block does not contain a start marker. You should type a value from figure 3, which is underlined by red. Field #3 is empty because our data packet doesn't contain characters, which should be ignored.
Ok. We are going to the next page. It is a very important part of the parser configuration. The parser uses this information to extract parser items (variables) from a data packet. Our data packet contains two data items, which should be split into different variables. Later, these variables will be used in the data export and data filter plug-ins. In our case, variables' values will be placed on different columns of a target CSV file.
Fig.6. Barcode scanner data logger. Parser items.
You should add two new items by clicking the "Add item" button (fig.6, pos.7). Before adding an item, the program will ask you about an item description. You can type any characters here, which will help you to remember a variable's content. We've added all variables with corresponding descriptions on the fig.6
Each parser item has few properties:
The second item has the same parameters, just the position and the length are different.
On the next page (fig.7), you can specify basic format options. Because we've specified the "String" data type for both parser variables, then the first two options allow removing blank spaces from a value. Other options are not applicable in our case.
Fig.7. Barcode scanner data logger. Format options.
Please, click the "OK" button and close the configuration window and then click the "OK" button again in the options window.
Now, our parser is ready, and we can test it. Connect your device and power it on and try to receive a data packet from a port. If the parser is configured correctly, then the DDE server window will display our variables name and value (fig.8).
Fig.8. Barcode scanner data logger. The DDE server window.
How to write data to a log file with the necessary format is described in the second part.