Topic: DMD0185

Help File Version: 2.9.4.37

Instruction Set for Do-more CPUs

Switch to Categorized List


Do-more Designer uses the differently colored triangles in the upper left corner (called class designators) to draw attention to instructions that require special consideration when using them.

Fully Asynchronous Instructions are dependent on a shared device (like the Ethernet Port or a serial port), which means that the instruction may have to wait on the availability of the shared resource before it can run.

 

Multi-scan Instructions will take two or more PLC scans to complete, typically because the instruction has Termination Logic that needs to run on the scan immediately after the instruction completes.

 

Skipping Instructions will alter the normal execution order by moving the execution pointer forward or backward in the ladder logic diagram, for example, the GOTO instruction can skip sections of ladder logic by moving forward, or repeat section of ladder logic by skipping backwards.

 

Yielding Instructions can temporarily suspend its processing on the current scan and resume processing at that same point on the subsequent scan. When using any of the looping instruction (for / next, do / while ...) this allows you to specify how much time to allow on each scan for the loop to run.

 

Yielding / Skipping Instructions can alter the normal execution order by moving the execution pointer forward or backward in the ladder logic diagram, AND can temporarily suspend its processing on the current scan and resume processing at that point on the subsequent scan.


Some of the Instructions have additional logic that is used to reset the internal state of the instructions when they are disabled so that they will run properly when they are next enabled. This logic is called Termination Logic.

Has Termination Logic means these instructions have additional actions that are performed when they stop executing.

 

These instructions have termination logic but that logic in NOT performed if the instruction is in an Interrupt Service Routine.


Some of the instructions cannot be placed inside certain types of code-blocks.

These instruction can only be placed in a Program.

 

These instructions can not be placed in an Interrupt Service Routine.

 

These instructions can not be placed in a Subroutine.

 

These instructions can be placed in a Subroutine if the input leg is configured as power flow enabled.


Some of the instructions require optional hardware resources, such as the on-board Ethernet port or a CTRIO module.

On-board Ethernet Port means these instruction can only be used on Do-more CPUs with an on-board Ethernet port.

 

Requires the addition of a CTRIO or CTRIO2 module.

 

Requires the addition of a CTRIO2 module - these are NOT for use with the CTRIO module.

 

Requires High-Speed I/O discrete input and / or output points - for example the on-board 24 Volt DC inputs and outputs of the BRX PLCs.

 

Requires the use of on-board discrete inputs and outputs of the BRX PLCs, or a BX-HSIO1, BX-HSIO2, or BX-HSIO4 module.

 


 

 

 

A

                           

ABS - Absolute Value

                           

ACOS - Arccosine in Radians

                           

ALDEV - Deviation Alarm

                           

ALHILO - High / Low Alarm

                           

ALRATE - Rate Of Change Alarm

                       

ASIN - Arcsine in Radians

                           

ATAN - Arctangent in Radians

                           

AVGR - Average of a Range of Values

                           

AXCAM - Axis Electronic Camming

                 

AXCONFIG - Axis Configuration

                 

AXFOLLOW - Axis Position Following with Offset

                 

AXGEAR - Axis Electronic Gearing

                 

AXHOME - Axis Perform Home Search

                 

AXJOG - Axis Jog Mode

                 

AXPOSSCRV - Axis Move to Position Using S-Curve

                 

AXPOSTRAP - Axis Move to Position Using Trapezoid

                 

AXRSTFAULT - Reset Axis Fault Limit

                 

AXSCRIPT - Run a Sequence of Axis Commands

                 

AXSETPROP - Axis Set Properties

                 

AXVEL - Axis Set Velocity Mode

                 

 

B

                           

BCDTO - BCD To Integer / Real

                           

BREAK - Exit Loop

                       

 

C

                           

CALL - Call Subroutine

                         

CHECKSUM - Checksum Algorithm

                           

CLAMP - Limit Range

                           

CLOSE - Close Device

                     

COMMON_TIMER - Common Timer

                       

CNT - Up Counter

                   

CNTDN - Down Counter

                   

(CONTACT) - Delta ( STRDLT / ANDDLT / ORDLT )

                       

(CONTACT) - if Equal ( STRE / ANDE / ORE )

                           

(CONTACT) - if Greater Than ( STRGT / ANDGT / ORGT )

                           

(CONTACT) - if Greater Than or Equal ( STRGE / ANDGE / ORGE )

                           

(CONTACT) - if Less Than ( STRLT / ANDLT / ORLT )

                           

(CONTACT) - if Less Than or Equal ( STRLE / ANDLE / ORLE )

                           

(CONTACT) - if Not Equal ( STRN / ANDN / ORN )

                           

(CONTACT) - Negative Differential (One Shot Falling) ( STRND / ANDND / ORND )

                       

(CONTACT) - Normally Closed ( STRN / ANDN / ORN )

                           

(CONTACT) - Normally Open ( STR / AND / OR )

                           

(CONTACT) - Positive Differential (One Shot Rising) ( STRPD / ANDPD / ORPD )

                       

CONTINUE - Skip to Loop End

                       

COPY - Copy Data

                           

COS - Cosine of Radian Angle

                           

COUNTIF (EQ, GE, GT, LE, LT, NE) - Count If

                           

CTAXCFG - CTRIO2 Axis Configuration

                   

CTAXDYNP - CTRIO2 Axis Run Dynamic Position Mode

                   

CTAXDYNV - CTRIO2 Axis Run Dynamic Velocity Mode

                   

CTAXJOG - CTRIO2 Axis Jog Mode

                   

CTAXLIMIT - CTRIO2 Axis Run Trapezoid w/ Limits

                   

CTAXTRAP - CTRIO2 Axis Run Trapezoid

                   

CTDYNPOS - CTRIO Run Dynamic Position Mode

                   

CTDYNVEL - CTRIO Run Dynamic Velocity Mode

                   

CTPLSADD - CTRIO Add Entry to PLS

                   

CTPLSEDT - CTRIO Edit PLS Entry

                   

CTREGRD - CTRIO Read Register

                   

CTREGWR - CTRIO Write Register

                   

CTRUNPOS - CTRIO Run Position Mode

                   

CTRUNVEL - CTRIO Run Velocity Mode

                   

CTTBLADD - CTRIO Add Entry to Preset Table

                   

CTTBLCLR - CTRIO Clear Table

                   

CTTBLEDT - CTRIO Edit Preset Table Entry

                   

CTTBLLD - CTRIO Load Table

                   

CTUPDLVL - CTRIO Update Level

                   

 

D

                           

DATAINFO - Query Information about Data Memory

                           

DEADBAND - Deadband

                           

DEC - Decrement Value

                           

DECO - Decode to Set Bit

                           

DEBOUNCE - Reduce Discrete Input Chatter

                       

DEG - Convert Radians to Degrees

                           

DEVCLEAR - Clear Device

                     

DEVREAD - Read Device Register

                         

DEVWRITE - Write Device Register

                         

DLRX - DirectLOGIC Network Read

                     

DLWX - DirectLOGIC Network Write

                     

DNSLOOKUP - Name to IP Address

                   

DMLOGGER - Broadcast String to DMLogger.exe

                   

DRUM - Drum

                     

DT2EPOCH - Convert Date / Time to 1970 Epoch

                           

DTCMP - Compare Date / Time

                           

DTDIFF - Difference between two Date / Times

                           

DTOFFSET - Add Offset to Date / Time

                           

 

E

                           
EIPMSG - Send EtherNet/IP Message                    

ENCO - Encode Bit Position

                           

END - End Program or Task

                         

ENDC - Conditional End of Code Block

                         

ENTASK - Enable Task

                       

EMAIL - Send Email

                   

EPOCH2DT - Convert 1970 Epoch Time to Date / Time

                           

EXIT - Exit This Program or Task

                     

 

F
                           

FIFOLOAD - Load First In / First Out

                           

FIFORESET - Reset FIFO Queue

                           

FIFOUNLOAD - Unload First In / First Out

                           

FILECLOSE - Close File

                     

FILECOPY - Copy File

                     

FILEDEL - Delete File

                     

FILELOG - Log to File

                     

FILENEWFLDR - Make New Folder

                     
FILEOPEN - Open File                      
FILEQUERY - Query File or Folder Information                      
FILEREAD - Read from File                      
FILESEEK - Seek to Position in File                      

FILESYSCMD - Perform File System Command

                     
FILETRUNC - Truncate File                      
FILEWRITE - Write to File                      

FILTER - First Order Filter

                     

FLASHER - Cycle Output On / Off

                       

FOR - Index Loop

                         

FRAC - Fractional Portion of a Real Number

                           

FREQCNT - Frequency Counter

                   

FREQTMR - Frequency Timer

                   

FTPGET - Retrieve File FROM Remote

                   

FTPPUT - Store File TO Remote

                   

 

G

                           

GOTO - Go To Label

                       

GSREGRD - GS EDrive Register Read

                   

GSREGWR - GS EDrive Register Write

                   

GRAY - Gray Code to Integer

                           

 

H

                           

HALT - Halt Program or Task

                           

HSCNT - High Speed Counting

                       

HSEDGE - Precise Edge to Edge Timing

                       

HSPULSEC - Catch Pulse Input

                       

HWCONFIG - Configure Hardware

                           

HWINFO - Get Hardware Information

                           

HTTPCMD - Execute HTTP Command

                   

 

I

                           

IF - If / Else Expression

                           

INC - Increment Value

                           

INI - Immediate Discrete Input

                         

INIT - Initialize Data

                           

INTCONFIG - Configure Interrupts

                         

INTDECONFIG - Deconfigure Interrupt

                         

INTEGRAT - Integrate Over Time

                     

INTRESUME - Resume Interrupts

                         

INTSUSPEND - Suspend Interrupts

                         

ISCLEAR - Is Structure Cleared

                           

 

J

                           

JMP - Jump To Stage

                     

JMPI - Indexed Jump

                     

JSONBUILD - Build JSON Record

                   

JSONPARSE - Parse JSON Record

                   

 

K

L

                           

LABEL - Program Label

                           

LERP - Linear Interpolation

                           

LIFOLOAD - Load Last in / First Out

                           

LIFOUNLOAD - Unload Last in / First Out

                           

LIFORESET - Reset LIFO Queue

                           

LN - Natural Log

                           

LOG - Log Base 10

                           

 

M

                           

MAPIO - Map Inputs and Outputs

                           

MATH - Calculate Expression

                           

MAX - Maximum Between Two Expressions

                           

MAXR - Maximum Value Across a Range of Values

                           

MEMCLEAR - Clear Memory Range

                           

MEMCOPY - Copy Memory Range

                           

MIN - Minimum Between Two Expressions

                           

MINR - Minimum Value Across a Range of Values

                           

MOVE - Move Value

                           

MOVEBIT - Move Single Bit

                           

MOVER - Move Range of Values

                           

MQTTPUB - IoT Publish MQTT Topics

                       

MQTTSUB - IoT Subscribe to MQTT Topics

                       
MRX - Modbus Network Read                      

MWX - Modbus Network Write

                     

 

N

                           

ND - Trailing Edge One Shot

                       

NDPF - Trailing Edge Powerflow Modifier ( ANDNDPF )

                       

NETTIME - SNTP Client

                   

NEXT - Index By Step

                       

NOP - No Operation

                           

NOT -Invert Powerflow ( NOT)

                           

NOW - Get Date / Time as a 32-bit Integer

                           

 

O

                           

OFFDTMR - Off Delay Timer

                   

ONDTMR - On Delay Timer

                   

OPENDEV - Open Device

                     

OPENTCP - Open TCP Connection

                   

OUT - Output Coil

                         

OUTI - Output Immediate Coil

                         

 

P

                           

PACKETIN - Input Data from Packet Device

                   

PACKETOUT - Output UDP to Packet Device

                   

PD - Leading Edge One-Shot

                       

PDPF - Leading Edge Powerflow Modifier ( ANDPDPF )

                         

PEERLINK - Share Global Data

                 

PI - Return PI

                           

PID - Closed Loop Controller

                     

PIDINIT - Set PID Tuning Constants

                       

PING - Ping Ethernet Device

                       

PONOFF - Push On / Push Off

                       

PUBLISH - Translate from Do-more

                           

PWMOUT - Pulse Width Modulated Output

                 

 

Q

R

                           

RAD - Convert Degrees to Radians

                           

RANDINT - Random Integer

                           

RANDREAL - Random Real Number

                           

RANDSEED - Random Number Seed

                           

RANGECHECK - Value In / Out of Range

                           

RAMPSOAK - Ramp / Soak Profile

                     

RD - Read from Intelligent Module

                         

REBOOT - Reboot PLC

                         

REF - Read Value Indirectly

                           

REFWRITE - Write Value Indirectly

                           

REPEAT - Loop Until Condition is Non-Zero

                         

RESTART - Restart Program or Task

                     
RET - Return Back to Call                            
RETC - Conditional Return Back to Call                            

ROTL - Rotate Left

                           

ROTR - Rotate Right

                           

ROUND - Round Real to Nearest Whole Number

                           

RST - Reset Coil

                           

RSTCT - Reset Counter

                           

RSTI - Reset Immediate Bit

                         

RSTR - Reset Range

                           

RSTT - Reset Timer

                           

RUN - Run Program

                       
RX - Do-more Network Read                      

S
                           

SCALE - Scale Value

                           

SEG - Hex / BCD to 7 Segment Display

                           

SET - Set Coil

                           

SETI - Set Immediate Bit

                         

SETNUMR - Set Numeric Range

                           

SETR - Set Range

                           

SETTIME - Set PLC Date / Time

                       

SETUPIP - Setup TCP/IP Parameters

                   

SETUPNOD - Setup Ethernet Node Parameters

                     

SETUPSER - Setup Serial Port

                     

SG - Stage

                     

SGCONVRG - Converge Multiple Stages to SG

                     

SGDIVRG - Jump to Multiple Stages

                     

SGRST - Disable Stage

                       

SGRSTI - Indexed Disable Stage

                       

SGRSTR - Disable Range of Stages

                       

SGSET- Enable Stage

                       

SGSETI - Indexed Enable Stage

                       

SIN - Sine of Radian Angle

                           

SLOPE - Calculate Slope

                     

SQRT - Square Root

                           

SR - Shift Register

                       

STDEVPR - Population Standard Deviation of a Range

                           

STDEVR - Sample Standard Deviation of a Range

                           

STOP - Switch to Program Mode

                         

STR2INT - Convert String to Integer

                         

STR2REAL - Convert String to Real

                         

STRCASE - Convert String to UPPER / Lower Case

                         

STRCLEAR - Clear Strings

                         

STRCMP - String Compare

                         

STRCOPY - Copy String

                         

STRCOPYR - Copy a Range of Strings

                         

STRDELETE - Delete Substring

                         

STREAMIN - Stream In Data from Device

                     

STREAMOUT - Stream Out Data to Device

                     

STRFIND - Find Within String

                         

STRGETB - Get Bytes Out of a String

                         

STRINSERT - Insert Substring

                         

STRPRINT - Print to String

                         

STRPUTB - Put Bytes Into a String

                         

STRSUB - Get Sub-String

                         

STRTRIM - Trim Whitespace

                         

STRTRUNC - Set String Length

                           

SUBSCRIB - Translate to Do-more

                           

SUMR - Sum Range of a Range of Values

                           

SUMBITS - Sum Bits

                           

SUMIF (EQ, GE, GT, LE, LT, NE) - Sum If

                           

SUSPEND - Suspend Program or Task

                           

SWAPB - Swap Bytes

                           

 

T

                           

TAN - Tangent of Radian Angle

                           

TCPLISTEN - Start Listening on TCP Port

                   

TDODECFG - Deconfigure Table Driven Output

                 

TDOPLS - Programmable Limit Switch on Table Driven Output

                 

TDOPRESET - Run Preset Table on Table Driven Output

                 

TESTNUM - Classify Numeric Value Types

                           

TICKms - Get Millisecond System Timer Value

                           

TICKus - Get Microsecond System Timer Value

                           

TIMEDOUT - Timed Output

                       

TIMEPROP - Time Proportional Control

                     

TMR - Up Timer

                   

TMRA - Accumulating Up Timer

                   

TMRDOWN - Down Timer

                   

TMRADOWN - Accumulating Down Timer

                   

TMRAG - Global Accumulating Up Timer

                     

TOBCD - Integer / Real to BCD

                           

TOINT - Convert to Integer

                           

TOREAL - Convert to Real

                           

TRUNC - Truncate Real to Whole Number

                           

 

U

                           

UDC - Up / Down Counter

                   

UDCG - Global Up / Down Counter

                     

UNTIL - Repeat Until Condition is Non-Zero

                       

 

V

W

                           

WATCHDOG - Force Watchdog Error

                         

WEND - While End

                       

WHILE - Loop While Powerflow is True

                         

WT - Write to Intelligent Module

                         
WX - Do-more Network Write                      

 

X

Y

                           

YIELD - Yield Program or Task

                     

 

Z