Topic: DMD0539

DirectLOGIC to Do-more Instruction Map


For DirectLOGIC PLC users that are familiar with the instruction set of the DirectLOGIC CPUs we have created a quick way to lookup the equivalent instruction in the Do-more instruction set - if one exists. The instructions are broken into the following four tables:

 

DirectLOGIC Contacts

DirectLOGIC Coils

DirectLOGIC Box Instructions

DirectLOGIC IBox Instructions

 

The tables are all sorted alphabetically by the DirectLOGIC mnemonic.

 


 

DirectLOGIC Contact

Do-more Equivalent

Notes

STR / AND / OR - Store
(Normally Open, one parameter)

Contact - Normally Open

 

STR / AND / OR - Store
(Normally Open, two parameters)

STRGE - Store If Greater Than or Equal To

 

STRE / ANDE / ORE - Store If Equal

STRE - Store If Equal

 

STRI / ANDI / ORI - Store Immediate

n/a

Immediate I/O not supported. Possibly use Contact - Normally Open.

STRN / ANDN / ORN - Store Not
(Normally Closed, one parameter)

Contact - Normally Closed

 

STRN / ANDN / ORN - Store Not
(Normally Closed, two parameters)

STRLT - Store If Less Than

 

STRND /ANDND / ORND - Store Negative Differential

STRND - Store Negative Differential

 

STRNE / ANDNE / ORNE - Store If Not Equal

STRNE - Store If Not Equal

 

STRNI / ANDNI / ORNI - Store Not Immediate

n/a

Immediate I/O not supported. Possibly use Contact - Normally Closed.

STRPD ANDPD - ORPD - Store Positive Differential

STRPD - Store Positive Differential

 

 


 

DirectLOGIC Coil

Do-more Equivalent

Notes

OROUT - OR Out

n/a

 

OUT - Output Coil

OUT - Output Coil

 

OUTI - Out Immediate

n/a

Immediate I/O not supported. Possibly use OUT - Output Coil.

RST - Reset

(one parameter)

RST - Reset Coil

 

RST - Reset

(two parameters)

RSTR - Reset Range

 

RST - Reset (Counter)

RSTCT - Reset Counter

 

RST - Reset (one Stage)

SGRST - Disable Stage

 

RST - Reset (two Stages)

SGRSTR - Disable Range of Stages

 

RST - Reset (Timer)

RSTT - Reset Timer

 

RSTI - Reset Immediate

(one parameter)

n/a

Immediate I/O not supported. Possibly use RST - Reset Coil

RSTI - Reset Immediate

(two parameters)

n/a

Immediate I/O not supported. Possibly use RSTR - Reset Range

RSTWT - Reset Watchdog Timer

n/a

 

RT - Subroutine Return

n/a

Possibly use END - End Program of Task

RTC - Subroutine Return Conditional

SET - Set

(one parameter)

SET - Set Coil

 

SET - Set

(two parameters)

SETR - Set Range

 

SET - Set (one Stage)

SGSET - Enable Stage

 

SET - Set (two Stages)

n/a

 

SETI - Set Immediate

(one parameter)

n/a

Immediate I/O not supported. Possibly use SET - Set Coil

SETI - Set Immediate

(two parameters)

n/a

Immediate I/O not supported. Possibly use SETR - Set Range

 


 

DirectLOGIC Box Instruction

Do-more Equivalent

Notes

ACON - ASCII Constant

n/a

 

ACOSR - Arc Cosine Real

MATH( ACOS( expression ) )

 

ADD - Add BCD

MATH( expression +expression )

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

 

Use the "+" operator inside the MATH - Calculate Expression instruction.

ADDB - Add Binary

ADDBD - Add Binary Double

ADDBS - Add Binary Top of Stack

ADDD - Add BCD Double

ADDF - Add Formatted

ADDR - Add Real

ADDS - Add BCD Top of  Stack

AEX - ASCII Extract

STRSUB - Get Substring

 

AFIND - ASCII Find

STRFIND - Find Within String

 

AIN - ASCII In

STREAMIN - Stream In Data From Device

 

AND - AND

MATH( expression & expression )

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

 

Use the "&" operator inside the MATH - Calculate Expression instruction.

ANDD - AND Double

ANDF - AND Formatted

ANDMOV - AND Move

ANDS - AND With Stack

ASIN - Arc Sine BCD

MATH( ASIN( expression ) )

 

ASINR - Arc Sine Real

ATAN - Arc Tangent BCD

MATH( ATAN( expression ) )

 

ATANR - Arc Tangent Real

ATH - ASCII to HEX

STR2INT - Convert String to Integer

 

ATT - Add to Top

MOVER - Move Range of Values

 

BCALL - Block Call

n/a

Use a PROGRAM code block that contains all of the Stages within the BCALL / BLK / BEND.

BCD - Binary Coded Decimal

TOBCD - Integer/Real to BCD

 

BCDCPL - Ten's Complement

n/a

Convert BCD to Integer using BCDTO - Integer/Real, then use MATH - Calculate Expression's subtract and negate operators, then convert the final answer back to BCD using TOBCD - Integer/Real to BCD.

BCDTOR - BCD to Real

BCDTO - Integer/Real

 

BCDTORD - Double BCD to Real

BEND - Block End

n/a

Use a PROGRAM code block that contains all of the Stages within the BCALL / BLK / BEND.

BIN - Binary

BCDTO - Integer/Real

 

BLK - Start Block

n/a

Use a PROGRAM code block that contains all of the Stages within the BCALL / BLK / BEND.

BREAK - Break

n/a

The closest Do-more instruction may be STOP - Switch to Program Mode.

BTOR - Binary to Real

MATH( TOREAL( expression ) )

 

CMP - Compare

 

Use the appropriate relational contact:

STRE - Store If Equal

STRNE - Store If Not Equal
STRGT - Store If Greater Than

STRGE - Store If Greater Than or Equal
STRLT- Store If Less Than

STRLE- Store If Less Than or Equal

 

Or use a relational operator inside a MATH - Calculate Expression instruction.

CMPD - Compare Double

CMPF - Compare Formatted

CMPR - Compare Real

CMPS - Compare with Stack

CMPV - Compare 2 Groups of V-Memory Registers

CNT - Counter

CNT - Up Counter

See also CNTDN - Down Counter.

COS - Cosine

MATH( COS( expression ) )

 

COSR - Cosine Real

CV - Converge Store

SG - Stage

 

CVJMP - Converge Jump

SGCONVRG - Converge Multiple Stages to SG

 

DATE - Date

SETTIME - Set PLC Date / Time

 

DEC - Decrement BCD

DEC - Decrement

 

DECB - Decrement Binary

DECO - Decode

DECO - Decode to Set Bit

 

DEG - Degrees BCD

MATH( DEG( expression ) )

 

DEGR - Degrees Real

DISI - Disable Interrupts

n/a

 

DIV - Divide BCD

MATH( expression / expression )

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

 

Use the "/" operator inside the MATH - Calculate Expression instruction.

DIVB - Divide Binary

DIVS - Divide Binary By Top of Stack

DIVD - Double Divide BCD

DIVF - Divide Formatted

DIVR - Divide Real

DIVS - Divide BCD By Top of Stack

DLBL - Data Label

n/a

 

DOIO - Do I/O

n/a

 

DRUM - Timed Drum with Discrete Outputs

DRUM - Drum

 

EDRUM - Time and Event Drum with Discrete Outputs

DRUM - Drum

 

ENCO - Encode

ENCO - Encode Bit Position

 

END - End

END - End Program or Task

 

ENI - Enable Interrupts

n/a

 

FAULT - Fault

n/a

May be able to use STREAMOUT - Stream Out Data to Device to send data to UserLog or DMLogger.

FDGT - Find Greater Than

n/a

 

FILL - Fill

SETNUMR - Set Numeric Range

See also INIT - Initialize Data.

FIND - Find

n/a

 

FINDB - Find Block

n/a

 

FOR - For / Next

FOR - Index Loop

 

GOTO - Goto Label

GOTO - Go To Label

 

GRAY - Gray Code

GRAY - Gray Code To Integer

 

GTS - Goto Subroutine

n/a

Use a Task or a Program.

HISTRY - History

n/a

May be able to use STREAMOUT - Stream Out Data to Device to send data to UserLog or DMLogger.

HTA - HEX to ASCII

n/a

May be able to use FmtInt() within a STRPRINT- Print to String instruction

INC - Increment BCD

INC - Increment

 

INCB - Increment Binary

INT - Interrupt

n/a

 

INV - Invert

MATH( ~( expression ) )

 

IRT - Interrupt Return

n/a

 

IRTC - Interrupt Return Conditional

n/a

 

ISG - Initial Stage

SG - Stage

The first SG - Stage instruction in a Program code-block is the Initial Stage.

JMP - Jump

JMP - Jump to Stage

 

LBL - Program Label

LABEL - Program Label

 

LCD - DL06 LCD Display Panel Instruction

n/a

 

LD - Load

n/a

Accumulator stack no longer used for loading parameters for multi-parameter instructions. Use MATH - Calculate Expression, MOVE - Move Value, or related instructions.

LDA - Load Address

LDD - Load Double

LDF - load Formatted

LDI - Load Immediate

LDIF - Load Immediate Formatted

LDR - Load Real

LDSX - Load Accumulator Indexed from Data Constants

LDX -  Load Accumulator Indexed

LDLBL - Load Label

n/a

 

MDRMD - Time/Event Drum with Discrete Outputs and Output Mask

DRUM - Drum

 

MDRMW - Time/Event Drum with Word Output and Output Mask

DRUM - Drum

 

MLR - Master Line Reset

n/a

 

MLS - Master Line Set

n/a

 

MOV - Move

MOVER - Move Range of Values

 

MOVBLK - Move Block

MOVMC - Move Memory Cartridge

MRX - Modbus Read From Network

MRX - Modbus Network Read

 

MUL - Multiply

MATH( expression * expression )

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

 

Use the "*" operator inside the MATH - Calculate Expression instruction.

MULB - Multiply Binary

MULBS Multiply Binary Top of Stack

MULD - Multiply Double

MULF - Multiply Formatted

MULR - Multiply Real

MULS - Multiply Top of Stack

MWX - Modbus Write to Network

MWX - Modbus Network Write

 

NCON - Numeric Constant

n/a

 

NEXT - Next

NEXT - Index By Step

 

NJMP - Not Jump

n/a

 

NOP - No Operation

NOP - No Operation

 

NOT - Not

NOT - Invert Powerflow

 

OR - OR

MATH( expression | expression )

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

 

Use the "|" operator inside the MATH - Calculate Expression instruction.

ORD - OR Double

ORF - OR Formatted

ORMOV - OR Move

ORS - OR With Stack

OUT - Output

n/a

Accumulator stack no longer used for loading parameters for multi-parameter instructions. Use MATH - Calculate Expression, MOVE - Move Value, or related instructions.

OUTD - Out Double

OUTF - Out Fomratted

OUTH - High Speed Out Coil

OUTI - Out Immediate

OUTIF - Out Immediate Formatted

OUTL - Out Least

OUTM - Out Most

OUTX - Out Indexed

PAUSE - Pause

n/a

 

PD - Positive Differential

PD - Leading Edge One Shot

 

POP - Pop

n/a

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

PRINT - Print Message Box

STRPRINT- Print to String and STREAMOUT - Stream Out Data to Device

 

PRINTV - Print from V-Memory to Communication Port

STREAMOUT - Stream Out Data to Device

 

RAD - Radians

MATH( RAD( expression ) )

 

RADR  - Radians Real

RD - Read From Intelligent Module

RD - Read From Intelligent Module

 

RDF - Read From File

n/a

 

RFB - Remove From Bottom

MOVE - Move Value

 

RFT - Remove From Table

MOVE - Move Value

 

ROTL - Rotate Left

ROTL - Rotate Left

 

ROTR - Rotate Right

ROTR - Rotate Right

 

RSTBIT - Reset Bit

n/a

RST - Reset Coil with an array reference,
for example: RST[ D100:15 ]

RTOB - Real Number to Binary Conversion

MATH( TOINT( expression ) )

 

RX - Read from Network

DLRX - DirectLOGIC Network Read

 

SBR - Goto Subroutine

n/a

Use a Task or a Program.

SEG - Segment

SEG - Hex BCD to 7 Segment Display

 

SETBIT - Set Bit

n/a

SET - Set Coil with an array reference,
for example: SET C[ V100 ]

SFDGT - Shuffle Digits

n/a

 

SG - Stage

SG - Stage

 

SGCNT - Stage Counter

n/a

Possibly use UDCG - Global Up / Down Counter.

SHFL - Shift Left

MATH( << ( expression ) )

 

SHFR - Shift Right

MATH( >> ( expression ) )

 

SIN - Sine

MATH( SIN( expression ) )

 

SINR - Sine Real

SQRT - Square Root

MATH( SQRT( expression ) )

 

SQRTR - Square Root Real

SR - Shift Register

SR - Shift Register

 

STOP - Stop

STOP - Switch to Program Mode

 

STT - Source To Table

MOVE - Move Value

 

SUB - Subtract

MATH( expression - expression )

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

 

Use the "-" operator inside the MATH - Calculate Expression instruction.

SUBB - Subtract Binary

SUBBD - Subtract Binary Double

SUBBS - Subtract Binary Top of Stack

SUBD - Subtract Double

SUBF - Subtract Formatted

SUBR - Subtract Real

SUBS - Subtract Top of Stack

SUM - Sum

SUMBITS - Sum Bits

 

SUSIO - Suspend I/O

n/a

 

SWAP - Swap

n/a

Possibly use three MOVER - Move Range of Values instructions.

SWAPB - Swap Bytes Within a Series of V-Memory Registers

SWAPB - Swap Bytes

 

TAN - Tangent

MATH( TAN( expression ) )

 

TANR - Tangent Real

TIME - Time

SETTIME - Set PLC Date / Time

 

TMR - Timer

TMR - Up Timer

 

TMRA - Accumulating Timer

TMRA - Accumulating Up Timer

 

TMRAF - Accumulating Fast Timer

TMRA - Accumulating Up Timer

 

TMRF - Fast Timer

TMR - Up Timer

 

TSHFL - Table Left Shift

MOVER - Move Range of Values

 

TTD - Table to Destination

MOVE - Move Value

 

UDC - Up Down Counter

UDC - Up Down Counter

 

VPRINT - ASCII Print to V-Memory

STRPRINT - Print to String

 

WT - Write to Intelligent Module

WT - Write to Intelligent Module

 

WTF - Write to File

n/a

 

WX - Write to Network

DLWX - DirectLOGIC Network Write

 

XOR - Exclusive OR

MATH( expression ^ expression )

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

 

Use the "^" operator inside the MATH - Calculate Expression instruction.

XORD - Exclusive OR Double

XORF - Exclusive OR Formatted

XORMOV - Exclusive OR Move

XORS - Exclusive OR With Stack

 


 

DirectLOGIC IBox Instruction

Do-more Equivalent

Notes

ANSCL - Analog Scale BCD to BCD

SCALE - Scale Value

 

ANSCLB - Analog Scale Binary to Binary

CTRADPT - CTRIO Add to End of Preset Table

CTTBLADD - CTRIO Add Entry to Preset Table

 

CTRCLRT - CTRIO Clear Preset Table

CTTBLCLR - CTRIO Clear Table

 

CTREDPT - CTRIO Edit Preset Table Entry

CTTBLEDT - CTRIO Edit Preset Table Entry

 

CTREDRL - CTRIO Edit Preset Table Entry and Reload

CTTBLEDT - CTRIO Edit Preset Table Entry

 

CTRINPT - CTRIO Initialize Preset Table

CTTBLADD - CTRIO Add Entry to Preset Table

 

CTRINTR - CTRIO Initialize Preset Table on Reset

CTTBLADD - CTRIO Add Entry to Preset Table

 

CTRIO - CTRIO Configuration

n/a

CTRIO modules have a Module Configuration.

CTRLDPR - CTRIO Load Profile

CTTBLLD - CTRIO Load Table

 

CTRRDERR - CTRIO Read Error Code

 

Each CTRIO module has a structure that contains a member field named .ErrorCode.

CTRRTLM - CTRIO Run to Limit Mode

CTRUNVEL - CTRIO Run Velocity Mode

 

CTRRTPM - CTRIO Run to Position Mode

CTRVELO - CTRIO Velocity Mode

CTRWFTR - CTRIO Write File to ROM

n/a

CTRIO modules have a Module Configuration where the files are automatically stored.

ECDHCPD - ECOM100 Disable DHCP

n/a

Do-more CPU Ethernet ports do not support DHCP.

ECDHCPE - ECOM100 Enable DHCP

ECDHCPQ  ECOM100 Query DHCP Setting

ECEMAIL - ECOM100 Send EMAIL

EMAIL - Send Email

 

ECEMRDS - ECOM100 Restore Default Email Setup

n/a

 

ECEMSUP - ECOM100 Email Setup

DEVWRITE - Write Device Register

Initial Email configuration is done through an SMTP Client Device in the System Configuration.

ECOM100 - ECOM100 Config

n/a

ECOM100 modules are configured through a Module Configuration.

ECRDDES - ECOM100 Read Description

n/a

Do-more CPU's System Description is stored in SysDesc.

ECRDGWA - ECOM100 Read Gateway Address

n/a

Do-more CPU's Ethernet port Gateway Address is stored in DWord Status register $Gateway(DST20).

ECRDIP - ECOM100 Read IP Address

n/a

Do-more CPU's Ethernet port TCP/IP Address is stored in DWord Status register $IPAddress(DST18).

ECRDMID - ECOM100 Read Module ID

n/a

Do-more CPU's Ethernet port Module ID is stored in DWord Status register $NodeNumber(DST17).

ECRDNAM - ECOM100 Read Name

n/a

Do-more CPU's System Name is stored in SysName.

ECRDSNM - ECOM100 Read Subnet Mask

n/a

Do-more CPU's Ethernet port Subnet Mask is stored in DWord Status register $NetMask(DST19).

ECRX - ECOM100 RX Network Read

DLRX - DirectLOGIC Network Read

 

ECWRDES - ECOM100 Write Description

SETUPNOD - Setup Ethernet Node Parameters

 

ECWRGWA - ECOM100 Write Gateway Address

SETUPIP - Setup TCP/IP Parameters

 

ECWRIP - ECOM100 Write IP Address

SETUPIP - Setup TCP/IP Parameters

 

ECWRMID - ECOM100 Write Module ID

SETUPNOD - Setup Ethernet Node Parameters

 

ECWRNAM - ECOM100 Write Name

SETUPNOD - Setup Ethernet Node Parameters

 

ECWRSNM - ECOM100 Write Subnet Mask

SETUPIP - Setup TCP/IP Parameters

 

ECWX - ECOM100 WX Network Write

DLWX - DirectLOGIC Network Write

 

FILTER - Filter Over Time - BCD

FILTER - First Order Filter

 

FILTERB - Filter Over Time - Binary

HILOAL - High Low Alarm - BCD

ALHILO - Hi Lo Alarm

 

HILOALB - High Low Alarm - Binary

MATHBCD - Math - BCD

MATH - Calculate Expression

 

MATHBIN - Math Binary

MATHR - Math Real

MOVED - Move Double Word

MOVE - Move Value

 

MOVEW - Move Single Word

NETCFG - Network Config

n/a

ECOM modules have a Module Configuration.

 

SERIO modules have a Module Configuration.

 

Onboard Serial port has a Device Configuration.

 

Onboard Ethernet Port has a Device Configuration.

NETRX - Network RX Read

DLRX - DirectLOGIC Network Read

 

NETWX - Network WX Read

DLWX - DirectLOGIC Network Write

 

OFFDTMR - Off Delay Timer

OFFDTMR - Off Delay Timer

 

ONDTMR - On Delay Timer

ONDTMR - On Delay Timer

 

ONESHOT - One Shot

PD - Leading Edge One Shot

See Also ND - Trailing Edge One Shot

PONOFF - Push ON / Push OFF

PONOFF - Push ON Push OFF

 

SQUARE - Square BCD

MATH( expression ** 2 )

Math operations are not performed using Accumulator Stack but through MATH - Calculate Expression instruction.

 

Use the "** 2" operator inside the MATH - Calculate Expression instruction.

SQUAREB - Square Binary

SQUARER - Square Real

SUMBCD - Sum BCD Numbers

SUMR - Sum a Range of Values

 

SUMBIN - Sum Binary Numbers

SUMR - Sum Real Numbers

 


See Also:

 


Related Topics: