Page top

page-top

Omron uses cookies to improve your experience on this website. By continuing to use the website, you hereby agree to our Privacy and Cookie Policy # PLC: Difference between Binary and BCD Forms

FAQ No. FAQ02069

Question

What is the difference between the binary and BCD forms of math instructions?

The Internal Code of Math Instructions

When using CX-Programmer FA Integrated Tool Package, as shown in the ladder program in Figure 1, both BINARY ADD instructions and BCD ADD instructions can be input and displayed in decimal form. The data conversion function of CX-Programmer makes this possible. You can see by looking at the internal code in the Watch Window in Figure 1 or the numeral data in Figure 2, that the internal code processed by the CPU Unit is actually binary. Programming: CS1/CJ1-series Programmable Controller

Figure1. Ladder Program and Watch Window Figure2. DM Area Monitor Display for Programmable Controller Memory (Binary Mode)

The BINARY ADD instructions can handle a range of values 3.27 times that of the BCD ADD instructions.

Choosing an Instruction: Checkpoint 1

As previously described, the internal code for the instructions is either binary or BCD format. The value ranges for the instructions are shown in Table 1.

 Mnemonic Instruction name Data type Value range + SIGNED BINARY ADD WITH CARRY INT -32768 to 32767 +B BCD ADD WITHOUT CARRY UNIT_BCD 0 to 9999

Table 1

As shown in Table 1, the difference between the "+" instruction and the +B instruction is whether the values are signed or unsigned. It can also be seen that the "+" instruction can handle a range of values 3.27 times that of the +B instruction even when the value range is limited to positive numbers. This difference in the range of values that can be handled is an important factor when selecting math instructions.

Considering the I/O Values of Programmable Controllers

Choosing an Instruction: Checkpoint 2

Should binary or BCD format be selected? One more important point to be considered when selecting the instruction is the form of the numeric inputs for the math instruction. Table 2 shows a list of common I/O signals used by Programmable Controllers and the main code (BCD or binary) that would be used for math processing.

 Item BCD BIN Input Thumbwheel switches Yes Ten-key switches Yes Parallel transfer data Yes Yes Serial communications data (ASCll) Yes Yes A/D conversion data Yes Output Digital display units Yes Printers (ASCll) Yes Parallel transfer data Yes Yes Serial communications data (ASCll) Yes Yes D/A conversion data Yes

Table2. I/O Signals for Programmable Controllers

Case Study of Selecting Math Instructions (Overview)

To summarize the above, the two checkpoints for math instruction selection are as follows:

1.The difference in range of values handled by binary instructions and BCD instructions

2.I/O format for math formulas

Here we will give some examples of how to decide math instructions using checkpoints 1 and 2.

Example 1: Relatively Simple Calculation

An internal offset value is added to a 4-digit BCD input value from a thumbwheel switch, and the result is output as a 4-digit BCD value to a digital display unit.

Use BINARY DIVIDE

A 12-bit binary value from an A/D conversion unit is divided by an internal variable, and a 12-bit binary value is output to a D/A conversion unit after scaling.

Example 2: Comparatively Complex Calculation with Multiple Input Parameters

When there are multiple input parameters, depending on the input device and communications control specifications, BCD data and binary data may both exist. When this occurs consider the following two questions as a general guide to select the math instruction:

1.What is the form of the output value?

2.What is the value range during calculation processing?

After the instruction has been decided, other data in other forms will be converted into binary or BCD using the binary or BCD conversation instructions.