This version of Internet Explorer is no longer supported by Microsoft, and some features of our store will soon no longer be supported by this version of IE.

Please upgrade or use a different browser.

Please upgrade or use a different browser.

Direct Sales in US and Canada | 1-800-633-0405

The shipping cutoff for same-day FedEx shipments on Wednesday, Nov 21st is

Shopping Categories

- Cables
- Circuit Protection / Fuses / Disconnects
- Communications
- Drives
- Enclosures / Subpanels / Thermal Management / Lighting
- Field I/O
- HMI (Human Machine Interface)
- Industrial Monitors
- Manuals
- Motion Control
- Motor Controls
- Motors
- PC-based Control
- Pneumatic Components
- Power Products (Electrical)
- Power Transmission (Mechanical)
- Process Control & Measurement
- Programmable Controllers
- Pushbuttons / Switches / Indicators
- Relays / Timers
- Safety
- Sensors / Encoders
- Software Products
- Stacklights
- Terminal Blocks
- Tools & Test Equipment
- Water (Potable) Components
- Wiring Solutions
- Retired Products
- Remanufactured Products

Hover over to expand...

You are looking at:

Programmable Controllers > Do-more Series (BRX,... > The Spreadsheet style MATH instruction allows mixing of data types* and it accepts formulas and variables. The MATH instruction also allows nesting with parentheses to 8 levels, plus:

- Ten 'Real' Functions, including Natural Log, Log, e, PI, Square Root, and conversions
- All the standard Trig Functions
- Eight Statistical Functions, including Average, Min & Max, RANDINT and RANDREAL (to generate random values), Standard Deviation functions and more
- Thirteen Conditional functions, including six CountIF, six SumIF, and If/Else expressions with a full complement of binary operators

If that's not enough, how about Absolute Value, Time, Memory, and Indirect addressing? You even get access to system-level bits such as $IndexError, $OutOfRange, $Overflow, etc.

** Note about data types: integer and real types are really all you need but Do-more does include a few BCD and octal conversion instructions for legacy data types.*

Do-more Math Instruction (below) used to evaluate the volume of liquid in a vertical cylindrical tank:

Here is a list of ALL the operators and functions that can be used in the Math Instruction (from the Help file):

Description |
Example | |

+ |
Add |
D0 + D1 |

- |
Subtract |
D0 - D1 |

* |
Multiply |
D0 * D1 |

/ |
Divide |
D0 / D1 |

% |
Modulus/Remainder |
D0 % D1 |

** |
Raise to a Power |
D0 ** D1 |

< |
Less Than |
D0 < D1 |

<= |
Less Than or Equal To |
D0 <= D1 |

== |
Equal To |
D0 == D1 |

!= |
Not Equal To |
D0 != D1 |

>= |
Greater Than or Equal To |
D0 >= D1 |

> |
Greater Than |
D0 > D1 |

&& |
Logical AND |
X0 && X1 |

|| |
Logical OR |
X0 || X1 |

& |
Bit-wise AND |
D0 & 0x7FFF |

| |
Bit-wise OR |
D0 | 0xFFFF |

^ |
Bit-wise XOR |
D0 ^ D1 |

<< |
Shift Left |
D0 << 1 |

>> |
Shift Right |
D0 >> 1 |

>>> |
Unsigned Shift Right |
D0 >>> 1 |

Description |
Example | |

- |
Negate |
-D0 |

~ |
Bit-wise Invert |
~D0 |

! |
Logical Not |
!X0 |

Description |
Example | |

ABS |
Absolute Value |
ABS(D0) |

MAX |
Maximum Between Two Expressions |
MAX(D0 * D1, V2) |

MIN |
Minimum Between Two Expressions |
MIN(D0 * D1, V2) |

Description |
Example | |

E |
Euler's Constant e |
E() |

FRAC |
Fractional Portion of a Real Number |
FRAC(R0) |

LN |
Natural Log |
LN(R0) |

LOG |
Log Base 10 |
LOG(R0) |

PI |
Returns the value of PI (3.14159) |
PI() |

ROUND |
Round Real to Nearest Whole Number |
ROUND(R0) |

SQRT |
Square Root |
SQRT(R0) |

TOINT |
Convert to Integer |
TOINT(SQRT(R0)) |

TOREAL |
Convert to Real |
TOREAL(D0 + D1) |

TRUNC |
Truncate Real to a Whole Number |
TRUNC(R0) |

Description |
Example | |

ACOS |
Arccosine in Radians |
ACOS(R0) |

ASIN |
Arcsine in Radians |
ASIN(R0) |

ATAN |
Arctangent in Radians |
ATAN(D0) |

COS |
Cosine of Radian Angle |
COS(R0) |

DEG |
Convert Radians to Degrees |
DEG(R0) |

RAD |
Convert Degrees to Radians |
RAD(R0) |

SIN |
Sine of Radian Angle |
SIN(R0) |

TAN |
Tangent of Radian Angle |
TAN(R0) |

Description |
Example | |

AVGR |
Average of a Range of Values |
AVGR(D0,10) |

MAXR |
Maximum Value Across a Range of Values |
MAXR(D0,10) |

MINR |
Minimum Values Across a Range of Values |
MINR(D0, 10) |

RANDINT |
Get Random Integer in Range 0 ... 2147483647 |
RANDINT() |

RANDREAL |
Get Random Real in Range 0.0 ... 1.0 |
RANDREAL() |

STDEVPR |
Population Standard Deviation of a Range |
STDEVPR(R20, 8) |

STDEVR |
Sample Standard Deviation of a Range |
STDEVR(R20, 8) |

SUMR |
Sum of a Range of Values |
SUMR(D0,10) |

Description |
Example | |

COUNTIFEQ |
Count If Equal to Expression |
COUNTIFEQ(42, D0, 10) |

COUNTIFNE |
Count If Not Equal to Expression |
COUNTIFNE(42, D0, 10) |

COUNTIFGE |
Count If Greater Than or Equal to Expression |
COUNTIFGE(42, D0, 10) |

COUNTIFGT |
Count If Greater Than Expression |
COUNTIFGT(42, D0, 10) |

COUNTIFLE |
Count If Less Than or Equal to Expression |
COUNTIFLE(42, D0, 10) |

COUNTIFLT |
Count If Less Than Expression |
COUNTIFLT(42, D0, 10) |

IF |
If / Else Expression |
IF(C7, D0, D1) |

SUMIFEQ |
Sum if Equal to Expression |
SUMIFEQ(42, D0, 10) |

SUMIFNE |
Sum if Not Equal to Expression |
SUMIFNE(42, D0, 10) |

SUMIFGE |
Sum If Greater Than or Equal to Expression |
SUMIFGE(42, D0, 10) |

SUMIFGT |
Sum if Greater Than Expression |
SUMIFGT(42, D0, 10) |

SUMIFLE |
Sum if Less Than or Equal to Expression |
SUMIFLE(42, D0, 10) |

SUMIFLT |
Sum if Less Than Expression |
SUMIFLT(42, D0, 10) |

Description |
Example | |

NOW |
Get Date/Time Stamp as a 32-bit Integer (1970 Epoch) |
NOW() |

TICKms |
Get Millisecond System Timer Value |
TICKms() |

TICKus |
Get Microsecond System Timer Value |
TICKus() |

Description |
Example | |

REF |
Read Value Indirectly |
REF(D0, V0) |

[ ] |
Array Index Expression |
D[ (V10 * 16) + V11 ] |

Company Information

Career Opportunities

Voted
#1 mid-sized employer in Atlanta

We're a great place to work!Check out our job openings

Need Training?

PLC
Training by Interconnecting AutomationFREE Video Tutorials

Information & News

AutomationDirect
in the NewsFREE e-Newsletter

What's New

Product Pointers

Automation Notebook

Product Literature

White Papers

News, Product and Training Bulletins

Magazine Advertisements

Shop with confidence

Safe &
Secure
We accept VISA, MasterCard, Discover, American Express, PayPal or company purchase orders.

Copyright © 1999-Tue Nov 20 08:28:46 EST 2018 AutomationDirect. ALL RIGHTS RESERVED.

Updating...