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)

(Relational CONTACT) Store If Greater Than or Equal To

 

STRE / ANDE / ORE - Store If Equal

(Relational CONTACT) 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)

(Relational CONTACT) Store If Less Than

 

STRND /ANDND / ORND - Store Negative Differential

(CONTACT) Store Negative Differential

 

STRNE / ANDNE / ORNE - Store If Not Equal

(Relational CONTACT) 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

(CONTACT) 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

RTC - Subroutine Return Conditional

n/a

 

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:

(Relational CONTACT) Store If Equal

(Relational CONTACT) Store If Not Equal
(Relational CONTACT) Store If Greater Than

(Relational CONTACT) Store If Greater Than or Equal
(Relational CONTACT )Store If Less Than

(Relational CONTACT) 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 Formatted

OUTH - High Speed Out Coil

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:

Migrate DirectSOFT Project

 

DirectLOGIC to Do-More Instruction Map

 


Related Topics:

Insert Instructions from a File


Using Cut / Copy / Paste to Move Rungs and Code Blocks