Do-more FAQs
(Last Update: 20-Feb-2023, Do-more FAQ0057)

POWERPOINT SLIDES USED IN TECH TRAINING

Tech Training Slides

Click on the picture for a table of available slides to download...

Do-more FAQ0001
06-Sep-2012
Q: Will it be possible to program the older DL-PLCs with Do-more Designer?
A: No, only the DM1 and DM1E are currently programmable with Do-more Designer.

Originally we intended to allow the programming of the older DL-PLCs, but as the design developed we realized by moving to strong data types and structures we were fundamentally changing the way we did some critical things which moved us further and further away from maintaining compatibility with DL-PLCs. So the decision was made to build the best controller and software we could instead of trying to maintain compatibility with DL-PLCs.


Do-more FAQ0002
06-Sep-2012
Q: Will there be a DirectSOFT6 for the older DL-PLCs?
A: Yes. After Do-more is rolled out, there are plans to do another major release of DirectSOFT for the older DL-PLCs.


Do-more FAQ0003 
06-Sep-2012
Q: Why are there no ISG (Initial Stage) instructions?
A:
In the DL-PLCs there is no program modularity and users are therefore forced to modularize their programs with stages and therefore multiple ISGs were needed.  By contrast, Do-more PLCs are designed to be modular (Task & Program code blocks) with Program code blocks supporting stages. Since each Program code block can have its own block of 128 stages running independently and the very first stage is the initial one, then the ISG instruction is not needed. This simplifies stages and encourages a better programming practice of having a single well-defined entry point for a sequence.

If multiple parallel sequences are needed in a single Program code block, use the SGDIVRG (Jump to Mulitple Stages) instruction in the first stage or simply set the other stages from the first stage.

In a Do-more PLC, Program code blocks should be thought of as individual sequencing operations and each sequencing operation should have one starting point.


Do-more FAQ0004
06-Sep-2012
Q: Does the Do-more CPU have more memory than the DL260?
A: Yes.

MEMORY ELEMENT DL260 DM1/DM1E
Data 34 Kbytes 256 Kbytes
Program 15,872 instruction words 65,536 instruction words

Do-more FAQ0005
06-Sep-2012
Q: Are the more complex high-level instructions (e.g. DLRX/DLWX/MRX/MWX and MATH) more efficient than IBoxes in the DL260?
A: Except for MATH, yes. IBoxes are just macros whereas all the complex instructions in Do-more are native and all of the interlocking to the instruction and device driver are internal. But as for MATH it is still much faster in the Do-more (e.g. integer MATH in Do-more is nearly as fast as the simple contact/coil instructions!).


Do-more FAQ0006
06-Sep-2012
Q: What is the typical scantime of a Do-more PLC?
A: Like all things PLC, this is a wide open question. The minimum scan time is about 150 �s. Certain modules that tax the DL205 backplane a bit (e.g. CTRIO/CTRIO2) will raise that. With a single CTRIO2 in the base the minimum scan is about 258 �s. Boolean instructions, math and boolean stack operations, and most integer math operations are all very fast, generally running at about 50 ns per instruction, or 50 �s per K of logic.

More complex instructions, of course, will increase the scan accordingly. Given typical PLC programming the typical scantime will probably be submillisecond to a few milliseconds. So for most users, speed won't be an issue, especially if Stages and modularity mechanisms are utilized as intended.


Do-more FAQ0007
06-Sep-2012
Q: Will interrupts be supported?
A: Not at this point. We are considering come changes to that in the future, but it is not critical for the Do-more PLC given its performance (speed).


Do-more FAQ0008
06-Sep-2012
Q: Is the serial communication half or full duplex?
A: Full duplex. It is possible to fill the Do-more base with SERIO-4 modules and run Do-more Server, Modbus RTU Server, Modbus RTU Client, K-Sequence Server, or even custom protocols on every port simultaneously.


Do-more FAQ0009
06-Sep-2012
Q: How many Modbus TCP clients (masters) can talk to the DM1E internal Ethernet port?
A: The DM1E can maintain 16 connections as a Modbus TCP Server (slave). If the 17th master attempts a TCP connection, the DM1E would simply reject the connection request.


Do-more FAQ0010
19-Sep-2012
Q: Is Do-more Designer software free?
A: Yes, and it will always be free!


Do-more FAQ0011
01-Oct-2018
Q: Is there any type of utility (like DNLoader) that the end customer can use to update the Do-more PLC without needing a copy of Do-more Designer and without knowing the PLC password?
A: Do-more Designer v1.3 has a utility called DMLoader (Do-more Loader). It can be run from within Do-more Designer, or you can download and install it from http://www.dmloader.com.

 DMLoader

DMLoader can download the image of a Do-more PLC into another Do-more PLC. Hence, Do-more PLCs can be programmed without the need to know the details of Do-more Designer.

The first half of this utility is the Image Generator, which runs within Do-more Designer. Easily replicate an online PLC from within Desinger via the File --> Export --> Generate DMLoader Image menu. Various options include password protecting the image file itself, downloading the PLC firmware as part of the image download, and customize the look of the DMLoader.EXE utility with your logo and your detailed instructions.

Once the DMLoader image file (.DLI) is generated, anyone can install DMLoader.EXE utility from the Internet and upgrade their Do-more PLC if they have this DLI file, without the need of understanding Do-more Designer or without the original Do-more Designer project file.


Do-more FAQ0012
19-Sep-2012
Q: What kind of program security does Do-more have?
A: Each code block in a Do-more PLC can be individually configured as Full Access or Locked. When Locked, the block's logic is not viewable without a password. But even after entering a password, it remains viewable only for that one Do-more Designer session.


Do-more FAQ0013
14-Apr-2016
Q: Is there a utility that will translate DL230, DL240, DL250(-1) and DL260 projects into Do-more Designer projects?
A: Yes. As of Do-more Designer v1.3.1.1 (03-Apr-2014) a DirectLOGIC Migration Utility was added to help migrate existing DirectSOFT projects to Do-more Designer projects.


Do-more FAQ0014
27-Nov-2012
Q: What communication protocols are supported by Do-more PLC?
A: The following:

Natively:

Write your own:


Do-more FAQ0015
17-May-2021
Q: Will HMIs or PCs that support protocols that worked with the older DL-PLCs also work with the Do-more PLCs?
A: Yes, using either Modbus or K-sequence drivers. In both cases the memory that will be utilized is called "guest memory" in the Do-more.

If using a Modbus protocol with the Do-more PLC as the server (slave), then the memory that will be read from and written to is:
MC - Modbus Coils
MI - Modbus Inputs
MIR - Modbus Input Registers
MHR - Modbus Holding Registers

If using a K-sequence protocol with the Do-more PLC as the server (slave), then the memory that will be read from and written to is:
DLC - Direct Logic Coils (with octal addressing)
DLX - Direct Logic Inputs (with octal addressing)
DLY - Direct Logic Outputs (with octal addressing)
DLV - Direct Logic V-memory (with octal addressing)

NOTE: The default sizes of all these guest memories can be increased as needed by using PLC --> Memory Configuration.


Do-more FAQ0016
06-Sep-2012
Q: What are the highest values for timers and counters?
A: Timers are all millisecond resolution using 32-bit signed numbers (-2,147,483,648 to +2,147,438,647), thus millisecond resolution for more than 24 days. Counters are also 32-bit signed numbers, hence you can count up to 2,147,438,647 or down to -2,147,438,648.


Do-more FAQ0017
06-Sep-2012
Q: Are the familiar DL-PLC memory types supported in Do-more PLCs?
A: Most DL memory types also exist in a Do-more PLC. X, Y, and C are Discrete Input, Discrete Output, and Internal Bits. However, Do-more element blocks are numbered in decimal, not octal. So, yes, there is an X8 (and an X9).

V memory in Do-more is a 16-bit unsigned integer, with a range of 0-65,535. Instead of storing 32-bit IEEE real numbers in V memory, or 32-bit signed integers in V memory, or 16-bit signed integers in V memory, we created three additional memory blocks, RD and N, respectively. Each element in the R block is a 32-bit real number. Each element in the D block is a 32-bit signed 2's complement integer number. Each element in the N block is a 16-bit signed 2's complement integer number. All of these blocks also have decimal IDs.

Use V memory when you need integer values 0-65535.
Use N memory when you need signed integer values -32,768 to +32,767
Use D memory when you need signed integer values -2,147,483,648 to +2,147,438,647
Use R memory when you need real (floating point) values.


The good news is that the MATH instruction can properly handle mixing and matching any of these data types in Do-more. For instance, this is a valid MATH expression:
(ROUND(SQRT(R0)) + V8) * D3.

Timer/Counter bits and accumulator values are now part of Timer and Counter structures. T0 represents the entire Timer structure for timer T0. Within these structures are various "dot fields," e.g. .Done .Acc .Reset. To know when Timer #0 is done, enter T0.Done. To look at Counter #9's accumulator, enter CT9.Acc. This means that V0 is User V memory, not T0's accumulator like in the DL-PLCs. Also, all of the .Acc accumulators are 32-bit signed integers with a range of -2,147,438,648 to +2,147,438,647.


Do-more FAQ0018
17-May-2021
Q: What is the instruction list for Do-more?
A: For a complete list of Do-more instructions, install Do-more Designer (free!), then go to the Help file and click on Instruction Set.


Do-more FAQ0019
06-Sep-2012
Q: What do the PUBLISH and SUBSCRIB instructions do?
A: These instructions could possibly be needed when an external system is providing data or the Do-more PLC is providing data to an external system and the data types do not exactly match. These instructions let you move/convert/align the data to Do-more memory locations. Both of these are table instructions, where for each row in the table instruction, you enter a source, destination and number of elements and the options for converting it.

Those options are:

The way it was envisioned was to stick one or more SUBSCRIB instructions in the system task $TopOfScan, and one or more PUBLISH instructions at the system task $BottomOfScan, whose sole purpose is to move/convert data to/from 'public' memory and from/to 'internal' memory. Clean and well-bounded.


Do-more FAQ0020
06-Sep-2012
Q: Is there an OROUT instruction (or equivalent) so that an output can be controlled from more than one ladder rung?
A: There is no OROUT instruction or an equivalent. However the functionality of an OROUT can be implemented by using the system block $TopOfScan and an RST of the output there. Then elsewhere in the program use SET of that same output.


Do-more FAQ0021
06-Sep-2012
Q: The XRef (cross reference) only shows addresses. Can it show rung numbers instead?
A: The address that is shown is a hotlink to the instruction that it is used in. Rung numbers map to multiple instructions. Clicking on the link will jump to the rung and the block cursor will be overtop of the exact instruction. Once there, the rung number is seen in the margin. However, in a future version of Do-more Designer we are considering keeping the link to be addressed-based but the display you actually see is the rung number.


Do-more FAQ0022
06-Sep-2012
Q: How can I clear a string (Short String (SS) or StringLong (SL))?
A: Use the STRCLEAR instruction.


 Do-more FAQ0023
06-Sep-2012
Q: What is the functional equivalent to a DirectLOGIC LD (Load) instruction?
A: Use the INIT or MOVE instruction.


Do-more FAQ0024
<REMOVED>


Do-more FAQ0025
13-May-2021
Q: Cannot connect to PLC using USB.

A: This issue can be divided into one of two categories; (1) Problems using the USB POM (BX-P-USB-B) on BRX PLC, or, (2) Problems using the built-in USB port on the H2-DM1/E PLC.

(1) Problems using the USB POM (BX-P-USB-B) on BRX PLC

This usually manifests itself by connecting only once, but when you try to reconnect any number of subsequent times, it fails. The error message is usually, "Error reading system config from PLC, perhaps due to old PLC firmware."

USBPOMERROR

This issue, we believe, was due to a problem not accounted for in the booter of the BRX PLC.

This was fixed with v1.0.9 of the Booter released 19-Jan-2021.

(2) Problems using the built-in USB port on the H2-DM1/E PLC

The most common cause of this issue is a program that comes preloaded on Dell PCs called "Dell Stage." This program grabs the USB port of your PC and thus makes it unusable for Do-more Designer. You must close Dell Stage and particularly the weather widget before your USB port will be freed up to work.


Dell Stage Screenshot

To close Dell Stage & the weather widget:
  1. To close Dell Stage itself, hover the mouse over the long bar (Music, Photos, Video, etc...) and then click on the (X) that appears.
  2. To close the weather widget, hover the mouse over the widget itself and then click on the (X) that appears
To keep Dell Stage from loading every time the PC is rebooted:
  1. Click the Start button.
  2. Type in msconfig in the box and press <Enter> key.
  3. Goto the Startup tab.
  4. In the list of Startup Items, uncheck DELL Stage.
  5. Click the <Apply> button, then <OK> button.
  6. Reboot.
If this does not fix your issue then you may have a bad port on your Do-more CPU, or you may need to attempt to discover what is actually using the USB port. To do this requires you download a free utility. It is called Process Explorer and can be downloaded from http://www.sysinternals.com.

After you have downloaded Process Explorer and installed, follow these steps to assertain what program is using your USB port:

1.  Right-click on My Computer icon on your desktop and choose Manage. This pulls up the Computer Management dialog.

Computer Management dialog

2.  Click on Device Manager. This will pull up the system devices list in the middle pane.
3.  Expand Human Interface Devices. This will list all the devices. It is under here where, when you plug your USB cable from your PC to the USB port on the Do-more CPU that two extra devices will show up. However, they are not readily identifiable.
4.  Do the following sub-steps for each entry:
     a)  Double-click on the device. This pulls up that device's properties.
     b)  Click on the Details tab. This will display each individual Property in the Value window as chosen from the pull-down list.
     c)  Select the Property called Physical Device Object name. The Value displayed in the window should look something like this:

          \Device\00000083

          ...it could also look something like this:

          \Device\USBPDO-4

          The ones that have the leading zeros are the ones you are most interested in.
     d)  Write each of these Physical Device Object names down, or copy/paste them somewhere to remember them exactly.

HID-compliant device Properties

5.  Start Process Explorer program you downloaded and installed.
6.  In Process Explorer program click on the binocular icon (or do Find --> Find Handle or DLL), or just press <CTRL><F> for find.
7.  Paste (or type in) the Physical Device Object name of each of the devices you recorded in Step 4 above and press the <Search> button. At this point Process Explorer will show which process is using that device. for instance, in the case of Do-more Designer you will see:

     CSMainDm.exe     15372     File     \Device\00000084

     ...or something similar. If you click on this item, you will see it show up in Process Explorer's main window underneath DmDesigner.exe and even our name Host Engineering, Inc.

Process Explorer

In this manner you can identify what process is using the USB port.

NOTE: If you plug up your USB cable from your PC to the Do-more CPU's USB port but you do not have Do-more Designer running, then the devices will appear, but Process Explorer will not find anything using them simply because nothing is (you don't have Do-more Designer running and using the link).

Do-more FAQ0026
18-Sep-2012
Q: Can a TMR (or any time-based instruction) be used inside a Task code block?
A: That depends.

There are basically 3 primary ways a Task code block can be enabled:
  1. Edge triggered
  2. Power-flow enabeld with a non-zero time base (e.g. when ENTASK - EnableTask has power, run this task once every 500 milliseconds)
  3. Power-flow enabled with a zero time base (e.g. run it when ENTASK - Enable Task has power flow)
Task TMR Picture

In the example above, the Ladder View on the right is MyTask, which is a Task code-block.  It contains a simple 5.0 second TMR. The Ladder View on the left is $Main and it contains the 3 possible ways an ENTASK instruction can be used to Enable the logic inside a Task code-block.
  1. Will run MyTask once when X0 goes from OFF to ON. The TMR will get one ladder scan's worth of time, which if the scan time is less than a millisecond, it will be 0ms. This will not work.
  2. Will run MyTask every 500 milliseconds whenever X1 is ON. So every 500 milliseconds, the TMR will get one ladder scan's worth of time, not the 500 milliseconds. This will not work.
  3. Will run MyTask every scan whenever X2 is ON. This means that X2 acts as a big Master Line Controller for the logic inside MyTask. The TMR inside MyTask will properly accumulate time. This is because the ENTASK is not edge triggered (it is power-flow enabled) and its Interval is 0ms, meaning that whenver the ENTASK has power, MyTask will run.
So X2 must be on for the X10/TMR logic inside MyTask to even execute. So if X2 is ON, then MyTask will run. But then X10 must be ON to enable the TMR. If X2 goes off (even if X10 is ON), TMR T0 in MyTask will reset because the X2/ENTASK rung in $Main indirectly controls the execution behavior in MyTask. Since there is no longer any power to the TMR instruction (whose input leg is an Enable/Reset type), then T0 will reset when X2 (or X10) goes OFF.

And if a TMR instruction is run inside a Task code block using method #1 or #2, the Program Check utility will flag #1 and #2, but not usage #3 (because TMR will properly accmulate time in #3).


Task TMR Program Check

(see the Check toolbar button in the online toolbar, it also gets run automatically when the project is downloaded to the PLC)

Note: Since Program code blocks (when flagged to run) run every scan, then Program code-blocks do nothave this issue like a Task code blocks do.


Do-more FAQ0027
04-Aug-2022
Q: What instructions are used for the types of communication and protocols?
A: That depends on the type of Do-more PLC, its configuration and the modules plugged into its base. See the 3 tables below for more details on the H2-DM1E, the T1H-DM1E and all BRX PLCs:

H2-DM1E
PROTOCOL BUILT-IN PORTS H2-SERIO / H2-SERIO-4
H2-ECOM100
Ethernet
Serial
USB
Client (Master)
Server (Slave)
Client (Master)
Server (Slave)
Client (Master)
Server (Slave)
Instruction
Config
Instruction
Config
Instruction
Config
Instruction
Config
Instruction
Config
Instruction
Config
Do-more Protocol
X
X
X


None (1)
(2)


None (1)
Enable Do-more Protocol


None (1)
None (13)
Ethernet I/O
X


Any
Enable Ethernet I/O Master










Peerlink
X


Use PEERLINK instruction (3)(14)




Configure Peerlink using web interface (3)(13)(15)
Modbus TCP
X


MRX, MWX
Modbus TCP Client device exists by default (4)
None (5)
Modbus TCP Server device enabled by default (6)




DLRX, DLWX (16)
Configure Peer-to-peer Table Entry (Modbus TCP) in NetEdit
None (9)(16)
None
Modbus I/O Scanner















Do-more Peer-to-Peer (7)
X


RX, WX
Do-more Peer-to-Peer Client device exists by default (8)
None (1)
Do-more Peer-to-Peer Server exists by default (8)








DirectLOGIC RX/WX
X


DLRX, DLWX
DirectLOGIC Client device exists by default (8)
None (9)
DirectLOGIC Server device exists by default (8)




DLRX, DLWX
Configure Peer-to-peer Table (ECOM) in NetEdit
None (9)
None
MQTT (IoT)















DMX512















HTTP















FTP














EtherNet/IP Explicit (7)
X


EIPMSG
EIP Client device exists by default (4)
None (10)
Enable EIP Server/Adapter & define blocks








EtherNet/IP Implicit (17)
X




None (10)
Enable EIP Server/Adapter & define blocks








K-seq
X
X



None (9)
Enable K-Sequence Server


None (9)
Enable K-Sequence Server


None (9)
None
Modbus RTU

X

MRX, MWX
Enable Modbus RTU Client
None (5)
Enable Modbus RTU Server
MRX, MWX
Enable Modbus RTU Client
None (5)
Enable Modbus RTU Server




SMTP (Email)
X


EMAIL
Create SMTP Client (Email) device










SNTP (Time)
X


NETTIME
None










Do-more TimeSync
X


None
Select Client or Alternate
None
Select Server or Alternate








Custom UDP
X


PACKETIN, PACKETOUT (11)
Create UDP Connection device
PACKETIN, PACKOUT (11)
Create UDP Connection device








Custom TCP
X


OPENTCP, STREAMIN, STREAMOUT (12)
Create TCP Client device
TCPLISTEN, STREAMIN, STREAMOUT (12)
Create TCP Server device








Custom Serial (e.g. ASCII)

X

STREAMIN, STREAMOUT (12)
Enable Program Control
STREAMIN, STREAMOUT (12)
Enable Program Control
STREAMIN, STREAMOUT (12)
Enable Program Control
STREAMIN, STREAMOUT (12)
Enable Program Control




NOTES:
(1)
Serves up Do-more memory
(2) Ethernet & USB ports always enabled for Do-more Programming. Serial port is Do-more Programming by default.
(3) Uses Ethernet broadcasts, so functionality is limited to a particular IP address broadcast domain (e.g. won't work over routers)
(4) Highly recommended to create a client/master device for each server/slave to be communicated with.
(5) Serves up M-memory
(6) Can be disabled
(7) Added with v1.4
(8) Cannot be disabled
(9) Serves up DL-memory
(10) Serves up memory blocks as defined in configuration
(11) Device's structure member bit .PacketAvailable indicates when a packet has been received
(12) Device's structure member .InQueue value indicates number of bytes in the buffer
(13) Firmware must be v4.0.1776 (26-Mar-2012) or later
(14) Uses PL-memory
(15) Web configuration is done to "V-memory," but in a Do-more PLC this maps into DLV-memory
(16) NOT RECOMMENDED! ...because the mapping is difficult to program. But if you insist, you must use the appropriate (i.e. client/server) page in the ECOM100 Server Client Mapping (Do-more).PDF chart to determine mapping
(17) Added with v2.9

T1HDM1E
PROTOCOL
BUILT-IN PORTS
Ethernet Serial
USB Client (Master) Server (Slave)
Instruction
Config
Instruction
Config
Do-more Protocol
X
X
X


None (1)
(2)
Ethernet I/O
X


Any
Enable Ethernet I/O Master


Peerlink
X


Use PEERLINK instruction (3)(13)
Modbus TCP
X


MRX, MWX
Modbus TCP Client device exists by default (4)
None (5)
Modbus TCP Server device enabled by default (6)
Modbus I/O Scanner







Do-more Peer-to-Peer (7)
X


RX, WX
Do-more Peer-to-Peer Client device exists by default (8)
None (1)
Do-more Peer-to-Peer Server exists by default (8)
DirectLOGIC RX/WX
X


DLRX, DLWX
DirectLOGIC Client device exists by default (8)
None (9)
DirectLOGIC Server device exists by default (8)
MQTT (IoT)







DMX512







HTTP







FTP






EtherNet/IP Explicit (7)
X


EIPMSG
EIP Client device exists by default (4)
None (10)
Enable EIP Server/Adapter & define blocks
EtherNet/IP Implicit (14)
X




None (10)
Enable EIP Server/Adapter & define blocks
K-seq
X
X



None (9)
Enable K-Sequence Server
Modbus RTU

X

MRX, MWX
Enable Modbus RTU Client
None (5)
Enable Modbus RTU Server
SMTP (Email)
X


EMAIL
Create SMTP Client (Email) device


SNTP (Time)
X


NETTIME
None


Do-more TimeSync
X


None
Select Client or Alternate
None
Select Server or Alternate
Custom UDP
X


PACKETIN, PACKETOUT (11)
Create UDP Connection device
PACKETIN, PACKETOUT (11)
Create UDP Connection device
Custom TCP
X


OPENTCP, STREAMIN, STREAMOUT (12)
Create TCP Client device
TCPLISTEN, STREAMIN, STREAMOUT (12)
Create TCP Server device
Custom Serial (e.g. ASCII)

X

STREAMIN, STREAMOUT (12)
Enable Program Control
STREAMIN, STREAMOUT (12)
Enable Program Control
NOTES:
(1)
Serves up Do-more memory
(2) Ethernet & USB ports always enabled to Do-more Programming. Serial port is Do-more Programming by default
(3) Uses Ethernet broadcasts, so functionality is limited to a particular IP address broadcast domain (e.g. won't work over routers)
(4) Highly recommended to create a client/master device for each server/slave to be communicated with.
(5) Serves up M-memory
(6) Can be disabled
(7) Added with v1.4
(8) Cannot be disabled
(9) Serves up DL-memory
(10) Serves up memory blocks as defined in configuration
(11) Device's structure member bit .PacketAvailable indicates when a packet has been received
(12) Device's structure member .InQueue value indicates number of bytes in the buffer
(13) Uses PL-memory
(14) Added with v2.9


BRX
PROTOCOL
BUILT-IN PORTS
BX-SERIO
BX POMs
Ethernet
Serial
USB
Client (Master)
Server (Slave)
Client (Master)
Server (Slave)
SER2/4
ECOMEX ECOMLT
USB-B
Client (Master
Server (Slave)
Instruction
Config
Instruction
Config
Instruction
Config
Instruction
Config
Instruction
Config
Instruction
Config
Do-more Protocol
X
X
X


None (1)
(2)


None (1)
Enable Do-more Protocol
X
X X
X


None (1)
Default
Ethernet I/O
X


Any
Enable Ethernet I/O Master







X

Any
Enable Ethernet I/O Master


Peerlink
X


Use PEERLINK instruction (3)(13)





X

Use PEERLINK instruction (3)(13)
Modbus TCP
X


MRX, MWX
Modbus TCP Client device exists by default (4)
None (5)
Modbus TCP Server device enabled by default (6)





X X (18)
MRX, MWX
Modbus TCP Client device exists by default (4)
None (5)
POMServer device exists by default (8)
Modbus I/O Scanner (20)
X
X

Any (21)
Enable Modbus I/O Scanner & configure scanner, client, & server (22)


Any (21)
Enable Modbus I/O Scanner & configure scanner, client, & server (22)


X
X

Any (21)
Enable Modbus I/O Scanner & configure scanner, client, & server (22)


Do-more Peer-to-Peer (7)
X


RX, WX
Do-more Peer-to-Peer Client device exists by default (8)
None (1)
Do-more Peer-to-Peer Server exists by default (8)





X X (18)
RX, WX
Do-more Peer-to-Peer Client device exists by default (8)
None (1)
Do-more Peer-to-Peer Server exists by default (8)
DirectLOGIC RX/WX
X


DLRX, DLWX
DirectLOGIC Client device exists by default (8)
None (9)
DirectLOGIC Server device exists by default (8)





X

DLRX, DLWX
DirectLOGIC Client device exists by default (8)
None (9)
DirectLOGIC Server device exists by default (8)
MQTT (IoT) (14)
X


MQTTSUB, MQTTPUB
Create MQTT Client (IoT) device







X

MQTTSUB, MQTTPUB
Create MQTT Client (IoT) device


DMX512 (15)







None (16)
Enable DMX512 Controller
None (16)
Enable DMX512 Slave








HTTP (15)
X


HTTPCMD (17)
Create TCP Client device







X

HTTPCMD (17)
Create TCP Client device


FTP (19) X

FTPGET, FTPPUT Create FTP Client (File Transfer) device







X

FTPGET, FTPPUT Create FTP Client (File Transfer) device

EtherNet/IP Explicit (7)
X


EIPMSG
EIP Client device exists by default (4)
None (10)
Enable EIP Server/Adapter & define blocks





X

EIPMSG
EIP Client device exists by default (4)
None (10)
Enable EIP Server/Adapter & define blocks
EtherNet/IP Implicit (20)
X




None (10)
Enable EIP Server/Adapter & define blocks





X



None (10)
Enable EIP Server/Adapter & define blocks
K-seq
X
X



None (9)
Enable K-Sequence Server


None (9)
Enable K-Sequence Server
X
X



None (9)
Enable K-Sequence Server
Modbus RTU

X

MRX, MWX
Enable Modbus RTU Client
None (5)
Enable Modbus RTU Server
MRX, MWX
Enable Modbus RTU Client
None (5)
Enable Modbus RTU Server
X



MRX, MWX
Enable Modbus RTU Client
None (5)
Enable Modbus RTU Server
SMTP (Email)
X


EMAIL
Create SMTP Client (Email) device







X

EMAIL Create SMTP Client (Email) device

SNTP (Time)
X


NETTIME
None







X

NETTIME
None


Do-more TimeSync
X


None
Select Client or Alternate
None
Select Server or Alternate





X

None
Select Client or Alternate
None
Select Server or Alternate
Custom UDP
X


PACKETIN, PACKETOUT (11)
Create UDP Connection device
PACKETIN, PACKETOUT (11)
Create UDP Connection device





X

PACKETIN, PACKETOUT (11)
Create UDP Connection device
PACKETIN, PACKETOUT (11)
Create UDP Connection device
Custom TCP
X


OPENTCP, STREAMIN, STREAMOUT (12)
Create TCP Client device
TCPLISTEN, STREAMIN, STREAMOUT (12)
Create TCP Server device





X

OPENTCP, STREAMIN, STREAMOUT (12)
Create TCP Client device
TCPLISTEN, STREAMIN, STREAMOUT (12)
Create TCP Server device
Custom Serial (e.g. ASCII)

X

STREAMIN, STREAMOUT (12)
Enable Program Control
STREAMIN, STREAMOUT (12)
Enable Program Control
STREAMIN, STREAMOUT (12)
Enable Program Control
STREAMIN, STREAMOUT (12)
Enable Program Control
X



STREAMIN, STREAMOUT (12)
Enable Program Control
STREAMIN, STREAMOUT (12)
Enable Program Control
NOTES:
(1) Serves up Do-more memory
(2) Ethernet & USB ports always enabled for Do-more Programming. Serial port is Do-more Programming by default.
(3) Uses Ethernet broadcasts, so functionality is limited to a particular IP address broadcast domain (e.g. won't work over routers)
(4) Highly recommended to create a client/master device for each server/slave to be communicated with.
(5) Serves up M-memory
(6) Can be disabled
(7) Added with v1.4
(8) Cannot be disabled
(9) Serves up DL-memory
(10) Serves up memory blocks as defined in configuration
(11) Device's structure member bit .PacketAvailable indicates when a packet has been received
(12) Device's structure member .InQueue value indicates number of bytes in the buffer
(13) Uses PL-memory
(14) Added with v2.3
(15) Added with v2.5.2
(16) Utilizes DMX-memory which doesn't exist until DMX512 is enabled
(17) Though a TCP Client device must be created, the otherwise normal OPENTCP, STREAMIN and STREAMOUT instructions are not utilized

(18) Server functions only. No Client capability supported.
(19) Added with v2.8.1
(20) Added with v2.9.1
(21) MSREGRD & MSREGWR can be used for data in the I/O device that you do not want configured for regular scanning
(22) Must create one client/master device and one scanner device for each server/slave. Optionally configure UDT (User Defined Type) & memory blocks to contain server/slave I/O data.


Do-more FAQ0028 (see also CTRIO FAQ0086)
14-Mar-2013
Q: Must CTRIO Workbench be used to configure CTRIO and CTRIO2s in Do-more?
A: No, CTRIO Workbench cannot be used with Do-more. Instead, the configuration of CTRIO/CTRIO2 modules is done in Do-more Designer software in the PLC --> System Configuration --> Module Configuration. The CTRIO/CTRIO2 configuration is no longer stored in the module itself, but rather the Do-more CPU (DM1/DM1E).

Also, in Do-more the CTRIO/CTRIO2 parameters are not mapped into V-memory as was the case in DL-PLCs. Instead the various CTRIO/CTRIO2 parameters are mapped to Do-more Structured memory as Structured members (e.g. CTRIO_000_C1F1.AtResetValue is CTRIO zero Channel 1 Function 1's "at reset" parameter bit). See table below for members that can exist. Not all members exist for every CTRIO/CTRIO2 configuration. See Do-more Designer Help file for specific details for any given CTRIO/CTRIO2 configuration and useage (i.e. ladder instructions):

STRUCTURE
e.g. CTRIO_000_...
FUNCTION (2) GENERAL DESCRIPTION
(see Do-more Help file for specifics)
INPUT SCHEMAS OUTPUT SCHEMAS GLOBAL
MEMBER (1) Counter Pulse Catch Edge Timer Discrete Raw Pulse
CxFx.AtResetValue RO





BIT - Indicates when count is at the Reset value
CxFx.CaptureComplete

RO



BIT - Indicates the 2nd edge has been detected and a timer value is available
CxFx.CapturedStart
RO RO



BIT - Indicates an edge has been detected (Pulse Catch) or 1st edge has been detected (Edge Timer)
CxFx.CountCaptured RO





BIT - Indicates an edge has been detected and a count value is available
CxFx.EnableCapture R/W R/W R/W



BIT - ON enables Pulse Catch or Edge Timer function
CxFx.fReg1 RO
RO



REAL - Various meanings based on configuration (e.g. floating-point scaled count for Counter)
CxFx.fReg2 RO
RO



REAL - Various meanings based on configuration
CxFx.iReg1 RO
RO



DWORD - Various meanings based on configuration (e.g. raw count for Counter)
CxFx.iReg2 RO
RO



DWORD - Various meanings based on configuration (e.g. raw count if Counter value is scaled)
CxFx.Output
RO




BIT - Output pulse of Pulse Catch function
CxFx.Reset R/W





BIT - ON resets Counter value to Reset value
CxFx.Timeout

RO



BIT - Indicates edge not seen in allotted time
Outx.AtPosition




RO
BIT - Indicates output pulse has reached commanded position
Outx.AtVelocity




RO
BIT - Indicates output frequency has reached commanded frequency
Outx.Direction




RO
BIT - Indicates cloclwise (OFF) or counter-clockwise (ON) direction for Pulse Output
Outx.EnableOutput


R/W
RO
BIT - ON enables output for Discrete function use with Discrete Tables
Outx.GotoPosition




R/W
BIT - Must be turned ON to move to target position; CTRIO/CTRIO2 will reset OFF when moving
Outx.Output



R/W

BIT - Turn ON to turn Raw output ON
Outx.OutputActive



RO RO
BIT - Indicates with Output is ON or generating pulses
Outx.OutputEnabled


RO
RO
BIT - Indicates if Output has been enabled
Outx.OutputPosition (3)




RO
DWORD - Current position of pulse output
Outx.OutputStalled




RO
BIT - Indicates if Pulse output has stalled (not able to keep up)
Outx.OutputSuspended




RO
BIT - Indicates if Pulse output has been suspended
Outx.OutputVelocity (3)




RO
DWORD - Current frequency of the Pulse output
Outx.TableComplete


RO


BIT - Indicates when a Discrete Table has reached its last entry
.ErrorCode





RO WORD - Last error code
.Mode





RO WORD - 1=PROGRAM; 2=RUN
.ScanTime





RO WORD - Scantime in microseconds
.MaxScanTime





RO WORD - Maximum scantime in microseconds
.InputState





RO WORD - Lower byte indicates input's states (see details in Help file)
.OutputState





RO WORD - Output configuration (see deatils in Help file)
.ChxA





RO BIT - Indicates state of Channel x Input A
.ChxB





RO BIT - Indicates state of Channel x Input B
.ChxC





RO BIT - Indicates state of Channel x Input C
.ChxD





RO BIT - Indicates state of Channel x Input D
.OutxType





RO BIT - Indicates if Output x is configured for Pulse output
.OutxDiscOn





RO BIT - Indicates Output x logic is ON (if Output is enabled then physical output will also be ON)
.OutxDiscEnabled





RO BIT - Indicates if Output x is configured for Discrete output
.OutxPulseActive





RO BIT - Indicates Output x is generating pulses
NOTES:
(1) The "x" in the name is the digit 0, 1, 2 or 3
(2) RO means Read-Only; R/W means Read/Write
(3) Only supported with CTRIO2 (not CTRIO)

Do-more FAQ0029
18-Mar-2013
Q: Getting "This application has failed to start because its side by side configuration is incorrect" error when trying to run Do-more Designer.
A: Try one of the following:


Do-more FAQ0030
04-Mar-2013
Q: Using DL drivers writing to DLV memory, the write fails if the range is above DLV7777 or below DLV40000.
A:
This is a bug in the Do-more v1.0 that will not allow writes and reads between DLV10000-37777. This should be fixed in Do-more v1.1.

Do-more FAQ0031 (see also ERM FAQ0063)
26-Jun-2013
Q: The ERROR light is blinking on ERM100. What does this mean?
A:  The ERM100's ERROR light is used more liberally than it was with the ERM so as to provide an instant visual indication of a problem to the user. This light on the ERM100 indicates one of the following:
The flashing or blinking rate is basically irrelevant because when it occurs (at whatever rate), the troubleshooting method is the same; start ERM Workbench which will indicate what the error is. That said, however, technically the flashing or blinking rate is directly related to how often the ERM100 is encountering one of the issues listed.

For example, if the ERM100 is running normally and reading/writing his slaves, and one of those slaves begins to report an error, then the ERM100's ERROR light will flash every scan (about every 50ms). If, however, the ERM100 is running normally and reading/writing his slaves and one of those slaves drops offline (the EBC/EBC100 gets disconnected), then the ERM100 will log that slave out of the normal scan and then attempt to re-acquire that slave only once every 500ms (by default), so the light will blink at a slower rate in this case. The 500ms value can be altered in ERM Workbench under the <Config ERM...> button and then <Advanced...> button.

Do-more FAQ0032 (see also ERM FAQ0064, EBC FAQ0090)
01-Jul-2013
Q: Shortly after power-up, sometimes the ERM100's slaves (EBC/EBC100s) temporarily get an ERR light (watchdog failure) which goes away and then the ERROR light on the ERM100 stays ON even though communication seems to be working.
A:  This is caused by a bug in ERM100's firmware v4.0.82.
The problem was the improper handling of an error in normal communications shortly after power-up (about 5-10 seconds).

New firmware:
H2-ERM100 v4.0.116 (or later)
H4-ERM100 v4.0.116 (or later)


Do-more FAQ0033
24-Feb-2022
Q: Which versions of Do-more Designer work with which versions of Windows?
A: See chart below:
Do-more
Designer
Windows Operating Systems
Win3.11 Win95 Win98 WinME WinNT4 Win2K WinXP(2) WinVista(2) Win7(2) Win8(2)(3) Win8.1 Win10 Win11
1.0.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes (1) (1)
1.1.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes (1) (1)
1.2.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes (1) (1)
1.3.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes (1) (1)
1.4.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes Yes (1)
2.0.x     (1) (1) (1) (1) (1) (1) Yes (1) (1) Yes (1)
2.1.x     (1) (1) (1) (1) (1) (1) Yes (1) (1) Yes (1)
2.2.x     (1) (1) (1) (1) (1) (1) Yes (1) (1) Yes (1)
2.3.x     (1) (1) (1) (1) (1) (1) Yes (1) (1) Yes (1)
2.5.x     (1) (1) (1) (1) (1) (1) Yes (1) (1) Yes (1)
2.6.x     (1) (1) (1) (1) (1) (1) Yes (1) (1) Yes (1)
2.7.x     (1) (1) (1) (1) (1) (1) (1) (1) (1) Yes (1)
2.8.x     (1) (1) (1) (1) (1) (1) (1) (1) (1) Yes Yes
2.9.x     (1) (1) (1) (1) (1) (1) (1) (1) (1) Yes Yes

NOTES:
(1) -
Have not tested officially but probably will work.
(2)Both 32-bit and 64-bit versions work.
(3) - Win8 RT version not supported.


Do-more FAQ0034
15-Sep-2015
Q: Cannot connect to Do-more PLC with USB, or sometimes it takes multiple connection attempts.
A: This can be caused by a "USB Virtual Device". If you are not using a virtual machine, please check the USB devices in Control Panel --> Device Manager for one called "USB Virtual Device". If this entry exists, please uninstall it.


Do-more FAQ0035 (similar to DirectSOFT FAQ0066; ECOM FAQ0016; DS Data FAQ0089)
05-Nov-2019
Q: How can I make a link with Do-more Designer to single or multiple Do-more CPUs (with on board Ethernet ports) over the Internet?
A: There are a number of ways to accomplish this due to the versatile ways in which Internet connectivity is established.

Method #1 (Direct Connect): Requires the remote Do-more CPU(s) to have a registered Internet IP address.
Method #2 (Indirect Connect): Requires access to the remote gateway/router which must be configured to translate TCP port #s.
Method #3 (ISP VPN): Requires the ISP (Internet Service Provider) set up a VPN (Virtua
l l l Private Network).
Method #4 (VPN Software): Requires the use of some form of VPN software (e.g. PC Anywhere, LogMeIn, etc.).

Method #1 (Direct Connect)

Multiple Do-more CPU Instructions: In this method it is assumed that each Do-more CPU has its own registered Internet IP address and therefore to connect to each of them only requires that you make separate links to each one.

Do-more Designer Link Configuration to connect to PLC1:
     1.  Build link in Do-more Designer.
          a.  On PLC tab select:
                    PLC Family - Do-more H2 Series
                    PLC Type - H2-DM1E

          b.  On the Port tab select:
                    Devices - Ethernet
                    Transport Protocol - UDP/IP
                    Node Address - IP Address xxx.xxx.xxx.xxx (Registered Internet IP Address of your Do-more CPU)
                    Advanced Settings - Timeout (Increase?)
 

               NOTE: To determine how much the "Timeout" setting should be increased:
                               1.  Go to the DOS Command Prompt (Start --> Programs --> Accessories --> Command Prompt)
                               2.  Type in:    ping xxx.xxx.xxx.xxx (Registered Internet IP Address of your Do-more CPU)
                               3.  Make note of the "Maximum" time as listed and increase this number by at least 50%.
                               4.  Enter this number as the "Timeout" setting.

                    UDP Port Number (if it is displayed) - 28,784 (this is the default; must always be this number*)

*NOTE: The exception to this is if in Do-more Designer System Configuration --> CPU Configuration in the Secondary Ethernet Connection box (available as of Do-more Designer v1.1) the "Enable Secondary Ethernet Connection" is checked and a second UDP Port Number is provided. In this case the Do-more CPU is listening on two UDP ports; the default one (28,784 decimal (7070 hex)) and this secondary UDP Port Number. Thus either one of them can be used in the Do-more Designer Link's UDP Port Number parameter.

          c.  On the Protocol tab select:
                    Protocols - Do-more

          d.  Click <Auto>. Should beep for success.

          e.  Enter a name for the link and click <Accept>.

 

Method #2 (Indirect Connect)

Multiple Do-more CPU Instructions: In this method if connecting to multiple Do-more CPUs, they are assumed to be located behind the gateway/router on an internal network with internal IP addresses assigned to them. Therefore, the Do-more Designer links to each of them must use the same IP address of the gateway/router (because from the Internet, that is all it can see). Thus, the only way to differentiate between the multiple Do-more CPUs on the other side of the gateway is by Do-more Designer using different TCP port #s for each. In order to accomplish this the remote gateway/router must be configured to translate the TCP port #s to different IP addresses behind its firewall.

Do-more Designer Link Configuration to connect to PLC4:

     1.  Build link in Do-more Desginer.
          a.  On PLC tab select:
                    
PLC Family - Do-more H2 Series
                    PLC Type - H2-DM1E


          b.  On the Port tab select:
                    
Devices - Ethernet
                    Transport Protocol - UDP/IP
                    Node Address - IP Address 
xxx.xxx.xxx.xxx (Registered Internet IP Address of your Gateway/Router)
                    Advanced Settings - Timeout (Increase?)

 

               NOTE: To determine how much the "Timeout" setting should be increased:
                               1.  Go to the DOS Command Prompt (Start --> Programs --> Accessories --> Command Prompt
                               2.  Type in:    ping xxx.xxx.xxx.xxx (Registered Internet IP Address of your Gateway/Router)
                               3.  Make note of the "Maximum" time as listed and increase this number by at least 50%.
                               4.  Enter this number as the "Timeout" setting.

                    UDP Port Number - 28,787 (can be any free configurable Port # on your particular Gateway/Router)

          c.  On the Protocol tab select:
                    Protocols - Do-more

          d.  Click <Auto>. Should beep for success.

          e.  Enter a name for the link and click <Accept>.

Gateway Configuration Table:

PLC Do-more Designer Link Node Address (Gateway) Do-more Designer Link Port # Nontranslated Do-more CPU Node Address Do-more CPU Port # (cannot be changed)*
PLC1 xxx.xxx.xxx.xxx
(your Gateway/Router IP)
28,784 (0x7070) 192.168.20.1 28,784 (0x7070)*
PLC2 xxx.xxx.xxx.xxx
(your Gateway/Router IP)
28,785 (0x7071) 192.168.20.2 28,784 (0x7070)*
PLC3 xxx.xxx.xxx.xxx
(your Gateway/Router IP)
28,786 (0x7072) 192.168.20.3 28,784 (0x7070)*
PLC4 xxx.xxx.xxx.xxx
(your Gateway/Router IP)
28,787 (0x7073) 192.168.20.4 28,784 (0x7070)*

*NOTE: The exception to this is if in Do-more Designer System Configuration --> CPU Configuration in the Secondary Ethernet Connection box (available as of Do-more Designer v1.1) the "Enable Secondary Ethernet Connection" is checked and a second UDP Port Number is provided. In this case the Do-more CPU is listening on two UDP ports; the default one (28,784 decimal (7070 hex)) and this secondary UDP Port Number. Thus either one of them can be used in the Do-more Designer Link's UDP Port Number parameter.

Method #3 (ISP VPN)

This method requires that you work with your ISP (Internet Service Provider) and have them set up a VPN (Virtual Private Network) for you so you can connect to the remote network where the Do-more CPUs are located. There are quite a variety of ways in which your ISP can do this for you. Some may require you use their own software to do it. But in most cases once the VPN is established, the connection to the Do-more CPUs on the remote network is exactly like Method #1 (Direct Connect) above.

Multiple Do-more CPU Instructions: Once VPN connection is established it is assumed that each Do-more CPU has its own IP address on the remote network and therefore to connect to each of them only requires that you make separate links to each one.

 

Method #4 (VPN Software)

This method requires the use of some form of VPN software (e.g. PC Anywhere, LogMeIn, etc.). The Do-more CPU cannot be accessed directly with this method but instead the VPN software allows you to control a PC (with Do-more Designer installed) at the remote site that is on the same  network as the Do-more CPUs. Thus, after the connection using the VPN software is established, the connection to the Do-more CPUs on the remote network is exactly like Method #1 (Direct Connect) above.

Multiple Do-more CPU Instructions: Once VPN connection is established it is assumed that each Do-more CPU has its own IP address on the remote network and therefore to connect to each of them only requires that you make separate links to each one.


Do-more FAQ0036
<DELETED>


Do-more FAQ0037 (see also DirectSOFT FAQ0233)
10-Jul-2015
Q: When using Do-more Designer's Migration Tool, the ONDTMR and OFFDTMR IBoxes translated with the "Delay Time" 10x too big.
A: Oops. This is a bug in all versions of Do-more Designer up to v1.4. This will be corrected in the next version of Do-more Designer (v1.4.1?). For now, the "On Delay Time" or "Off Delay Time" parameters will have to be manually edited and corrected.
Migration Tool Bug


Do-more FAQ0038 (see also CTRIO FAQ0046; EBC FAQ0047; ECOM FAQ0036; EDRV FAQ0009; ERM FAQ0030; EZ Ethernet FAQ0018; PBC FAQ0009; PSCM FAQ0001; WinPLC FAQ0018; NetEdit FAQ0014; MB-GATEWAY FAQ0003)
21-May-2021
Q: What software tool do I use to upgrade/downgrade my Host Engineering hardware?

A: Refer to the following:
HARDWARE(1)
P/N Upgrade Tool
CTRIO
Workbench
ERM
Workbench
WinPLC
Workbench
EZ-Touch
NetEdit3
Do-more
Designer


CTRIO/CTRIO2 H0-CTRIO/2
X





H2-CTRIO/2
X




X

H4-CTRIO
X






T1H-CTRIO/2
X




X
DM1/DM1E H2-DM1/E





X
T1H-DM1/E





X

BX-DM1/E





X

DMIO
BX-DMIO




X

EBC/EBC100 H2-EBC/100



X

H4-EBC




X


T1H-EBC/100




X


BX-EBC100




X


ECOM/ECOM100 H*-ECOM/100



X
ECOMEX (POM)
BX-P-ECOMEX




X
ECOMLT (POM)
BX-P-ECOMLT




X
EDRV/EDRV100 GS-EDRV/100




X
ERM/ERM100 H2-ERM/100




X
H4-ERM/100




X

EZ-Ethernet EZ-Ethernet



X

EZ-EtherPLUS



X


HSIO BX-HSIO1/2/4





X
MBIO
BX-MBIO




X
MB-GATEWAY
MB-GATEWAY




X
Profibus H0-PSCM




X
H2-PBC




X

T1H-PBC




X

SERIO/SERIO4(2) H2-SERIO/4






BX-SERIO/4







WinPLC
H2-WPLCx


X


NOTES:
(1)
All the firmware, except for the DM1/DM1E, can be downloaded using NetEdit3's File --> Live Update. The firmware files are stored in c:\Users\Public\Documents\HAPTools\Images folder. For the DM1/DM1E and CTRIOs used with DM1/DM1E, the firmware is under c:\Users\Public\Documents\Do-more\Designer2_8\Bin\Images and you can download the latest for those devices in Do-more Designer using PLC --> Update Firmware or PLC --> Monitor CTRIO Module.
(2) These are not field-upgradable but very rarely ever need upgrading.


Do-more FAQ0039
24-Feb-2022
Q: What instruction is best for moving/copying data?
A: Choose the type of operation you want in the leftmost column and then move along that row to see what Do-more instruction can do that operation best for you. See also Do-more Designer Help Topic DMD0431.

OPERATION INSTRUCTION as of v2.9.1
COPY
INIT
MAPIO
MEMCLEAR (7)
MEMCOPY
MOVE
MOVEBIT
MOVER
PUBLISH (8)
REFWRITE (7)
SETNUMR
SUBSCRIB (8)
STRPRINT (7)
STRSUB (7)
STRCLEAR
STRCOPY STRCOPYR RST
RSTR
SET
SETR
OUT
Bit OFF Y
Y
Y
Y


Y




    Y Y

Y
Bit ON
Y
Y


Y


Y




   

Y Y Y
Bit range OFF
Y
Y
Y
Y(6)


Y(6)

Y(6)




   
Y


Bit range ON
Y
Y


Y(6)


Y(6)

Y(6)




   


Y
Bit to bit
Y
Y Y
Y Y Y Y
Y




   



Y
Bit to bit range
Y(1)
Y(1)
Y(1)












   




Bit range to bit range
Y
Y(2)
Y(2)

Y Y(6)

Y Y(6)

Y(6)
Y(6)



   




Value to memory
Y
Y
Y(3)

Y

Y Y Y Y


   




Value to memory range
Y
Y
Y(3)




Y
Y Y


   




Memory to memory
Y
Y Y
Y Y
Y Y Y Y Y


   




Memory to memory range
Y(1)
Y Y(1)







Y



   




Memory range to memory range
Y
Y(2)
Y(2)

Y Y(6)

Y Y

Y


   




Text to string
Y


Y(4)








Y
Y(4)
Y  




Text to string range
Y


Y(4)










Y(4)
Y  




String to string
Y



Y






Y Y
Y Y




String to string range
Y(1)














Y  




String range to string range
Y



Y









  Y




Value to structure
Y


Y(5)











   




Structure to structure
Y



Y









   




Structure to structure range
Y(1)














   




Structure range to structure range
Y



Y









 
 




Structure to memory range




Y









   




Structure range to memory range




Y









   




Memory range to structure




Y









   




Memory range to structure range




Y









   




NOTES:
(1) Using multiple table entries of same locaton to multiple locations
(2) Using multiple table entires for individual locations
(3) Can only write a zero
(4) Can only clear the string
(5) Can only clear all the structure members (zeros; OFF)
(6) Only possible with casting
(7) Does not support casting
(8) Supports unaligned memory (e.g. V1/V2 as a double-word instead of requiring V0/V1 as a double-word)


Do-more FAQ0040
27-Sep-2017
Q: What are all the different files associated with Do-more Designer?
A: The following lists detail the files that are created by Do-more Designer for it's own use, as part of each project, or as part of working with some of the built-in utilities.

Each project will contain files with the following extension:

The following files and file extensions are used with some of the built-in utilities:

The following files are created by Do-more Designer for its own use:


Do-more FAQ0041
30-Nov-2017
Q: What are the steps to getting the PID Process Simulator working on Do-more Designer's Virtual PLC (SIM)?
A: The PID Process Simulator should be used to simulate a real-world environment for the purpose of playing with and learning Do-more PID loop tuning. It will basically use:
(1) If the SIM is cleared, write a dummy program to the SIM to "download" the PID Process Simulator driver

If you look at a cleared SIM and click on the Sim menu, you'll notice Setup PID Process Simulator is grayed out.

SIM (No Driver)

By downloading a dummy program to the SIM from Do-more Designer it will download the driver to make this option available.

(2) Select Sim --> Setup PID Process Simulator, check the "Enabled" box at the bottom to enable it, then read the top portion.

SIM-Read

(3) Press the <What else do I need to do?> button and follow the 4 steps as instructed.

SIM-WhatElse

(4) Press the <OK> button and <Cancel> to dismiss all the SIM dialogs.

(5) In Do-more Designer, open the PID Overview (View --> PID Overview).

SIM-PIDOverview

(6) In the PID Overview window, double-click the face plate for MyLoop; this will open the PID View window

SIM-PIDView

(7) Switch the SIM to RUN mode.

(8) Enable the contact(s) driving the PID and SCALE instruction boxes; note that the loop mode changed from Manual to Auto.

SIM-PIDAuto

(9) On the SIM, drag WX1 slider to mid scale (or close to it).

SIM-WX1MidScale

(10) In the PID View, press the <Auto-Tune...> button; this will pull up the Auto-Tune for MyLoop dialog

SIM-PIDAutoTune

(11) Leaving all defaults, press the <Start Tuning> button.

(12) Drag the Auto-Tune for MyLoop dialog to the side and watch the show.

SIM-PIDAutoTuningProcess

(13) When tuning is complete, press the <Return Control to the Ladder Program> button.

SIM-PIDReturnControl

(14) Bump WX1 up or down and watch the loop operate.

(15) Pat yourself on the back for becoming a Process Engineer.


NOTE: But what about all that other stuff in the dialogs? Read the Help file and you can discover how to adjust both the PID Process Simulator in the SIM to say, be a more erratic process (noisy). Or you can manually adjust the PID parameters to see how this effects the control of the loop.

Do-more FAQ0042
16-May-2019
Q: Upgraded firmware and now the C-more gets "P009" error?
A: According to the C-more manual, this error means "Invalid Value in the Function Code returned from the PLC." This is usually caused by having written a project in the PLC using v1.1.0 and then upgrading to something greater. The problem is the project stores the wrong values in DST24 ($DefaultBlockVer) and DST25 ($DefaultHeapVer). That wrong value is "2." This value should be "1."

The easiest fix is to write "1" to DST24 and DST25 on the first scan of the PLC. Use $tFirstScan System Task code block; like this:

INITLadder
Do-more FAQ0043
05-Sep-2019
Q: How do I change the Element that a Nickname is assigned to (e.g. say, an actual wire was moved on an X-input module)?
A: This is currently (Do-more Designer v2.6.2) not easily done. The easiest way is to utilize a temporary Unassigned Nickname:

  1. Create a new Unassigned Nickname
  2. Search & Replace original Nickname with new Unassigned Nickname
  3. Using Documentation Editor, delete the original assigned Nickname from its Element
  4. Edit the Unassigned Nickname to the Nickname you used originally
  5. Assign the Unassigned Nickname to the new Element
The above steps are shown in detail in the following EXAMPLE:

Example Ladder

The above is a ladder logic example. Let's say I want to change Nickname "Betty" to be assigned to C10 instead of C2. Notice "Betty" C2 is used on 3 rungs. Rather than edit 3 rungs (or more), follow these steps:

(1) Create a new Unassigned Nickname

To create a new Unassigned Nickname, pretend you are going to add a contact in Ladder logic, then type in a new Nickname that you know is not used. For the sake of simplicity, I chose one to call mine "Nickname." When you press <Enter> it will pull up the Create Nickname - Normally Open Contact dialog. Here, choose, "...leave unassigned" radio button, and choose the Type, in this case, "Bit (X, Y, C, etc.)".

Create Unassigned Nickname

Press the <OK> button. You'll then want to delete the pretend rung since it served no other purpose other than allowing you to create the Unassigned Nickname.

(2) Search & Replace original Nickname with new Unassigned Nickname.

Using the menu, Search --> Replace, replace "Betty" with "Unassigned."

Replace

Now the Ladder logic will look like this:

Ladder After Replace

My Nickname is a bit long for the display (>8 characters), so it can only display the "Unassign" portion of "Unassigned." Nevertheless, you can now see it worked.


(3) Using Documentation Editor delete the original assigned Nickname from its Element

From the menu, Tools --> Documentation Editor. This window looks like this:

Doc Editor Before Delete Betty

Delete "Betty" by simply clicking on it and pressing the <Del> button. Now it looks like this:

Doc Editor After Delete Betty

Move the cursor to the next location. I always do this because the record doesn't get written until you move off of the one you are editing.


(4) Edit the Unassigned Nickname to the the name you used originally

Do this by double-clicking on the Unassigned Nickname and changing it to "Betty":

Doc Editor Betty Unassigned

Now the Ladder logic will look like this:

New Betty Unassigned

(5) Assign the Unassigned Nickname of "Betty" to the new Element

From the menu, Tools --> Assign Nicknames. Notice the Unassigned Nicknames at the top. In the Target Element box, assign the new Element to the Unassigned Nickname "Betty." In this example, put C10 here and be sure to press the <Assign> button, then OK the change and press <Exit> button.

Assign Betty C10

Success! Now Ladder logic looks like what I want:

Success


Do-more FAQ0044
25-Feb-2022
Q: Which version of Do-more Designer supports which BRX PLC I/O expansion modules?

A: BRX PLC support came out with Do-more Designer v2.0. So, the following table lists all Do-more BRX PLC I/O expansion modules and which revision of Do-more Designer is required to support them starting with v2.0. The "X" (and the color) shows at what version of Do-more Designer support for a particular module as added. All subsequent releases support this module after its initial add. In other words, if it was added in v2.3, then all subsequent versions (v2.4, v2.5, v2.6, v2.7, v2.8, v2.9) support the module as well. Do-more Designer v2.9 is the first version that has not added additional modules.

PART #
Do-more Designer Version

DESCRIPTION
v2.0
v2.1
v2.3
v.2.5
v2.6 v2.7 v2.8
v2.9
DC Input Modules
BX-08ND3
X







8in, 12-24VDC, sink/source
BX-12ND3
X







12in, 12-24VDC, sink/source
BX-16ND3
X







16in, 12-24VDC, sink/source
BX-32ND3


X





32in, 12-24VDC, sink/source
BX-08NF3
X







8in, 3-5VDC, sink/source
BX-16NF3






X
16in, 3-5VDC, sink/source
BX-08SIM


X




8in, SPST dipswitches
 DC Output Modules
BX-08TD1
X






8out, 12-24VDC, sink
BX-08TD2
X






8out, 12-24VDC, source
BX-12TD1
X






12out, 12-24VDC, sink
BX-12TD2
X






12out, 12-24VDC, source
BX-16TD1
X






16out, 12-24VDC, sink
BX-16TD2
X






16out, 12-24VDC, source
BX-32TD1


X




32out, 12-24VDC, sink
BX-32TD2


X




32out, 12-24VDC, source
BX-16TF2






X
16out, 5VDC TTL, source
DC Combo Modules
BX-08CD3R
X






4in, 12-24VDC, sink/source
4out relay, 12-24VDC/12-240vac, SPST
BX-12CD3D1
X






8in, 12-24VDC, sink/source
4out, 12-24VDC, sink
BX-12CD3D2
X






8in, 12-24VDC, sink/source
4out, 12-24VDC, source
BX-16CD3D1
X






8in, 12-24VDC, sink/source
8out, 12-24VDC, sink
BX-16CD3D2
X






8in, 12-24VDC, sink/source
8out, 12-24VDC, source
BX-16CF3F2






X
8in, 5VDC TTL, sink/source
8out, 5VDC TTL, source
AC Input Modules
BX-08NB
X







8in, 12-24vac
BX-12NB
X






12in, 12-24vac
BX-16NB
X






16in, 12-24vac
BX-08NA
X






8in, 120-240vac
BX-12NA
X






12in, 120-240vac
BX-16NA
X






16in, 120-240vac
AC Output Modules
BX-08TA
X






8out, 120-240vac
BX-12TA
X






16out, 120-240vac
Relay Output Modules
BX-08TR X






8out relay, 12-48VDC/12-240vac, SPST
BX-12TR
X







12out relay, 12-48VDC/12-240vac, SPST
BX-16TR
X







16out relay, 12-48VDC/12-240vac, SPST
BX-05TRS
X







5out relay, 12-48VDC/12-240vac, SPDT
BX-05TRS-1





X
5out relay, 12-48VDC/12-240vac /
100-125VDC, high current, SPST
BX-08TRZ





X
8out relay, dry contact
BX-16TRZ





X
16out relay, dry contact
Analog Input Modules
BX-04ADM-1


X





4in, 0/4-20mA, sink, 14-bit
BX-04AD-1


X




4in, 0/4-20mA, sink, 16-bit
BX-08AD-1

X





8in, 0/4-20mA, sink, 16-bit
BX-16AD-1




X


16in, 0/4-20mA, sink, 16-bit
BX-04AD-2B


X




4in, +/-10VDC, sink, 16-bit
BX-08AD-2B

X





8in, +/-10VDC, sink, 16-bit
BX-16AD-2B




X


16in, +/-10VDC, sink, 16-bit
BX-04AD-3





X

4in, universal: +/-10VDC, +/-20mA
BX-08AD-3





X

8in, universal: +/-10VDC, +/-20mA
Analog Output Modules
BX-04DA-1


X




4out, 0/4-20mA, source, 16-bit
BX-08DA-1

X





8out, 0/4-20mA, source, 16-bit
BX-04DA-2B


X




4out, +/-10VDC, source, 16-bit
BX-08DA-2B

X





8out, +/-10VDC, source, 16-bit
BX-04DA-3





X

4out, universal: +/-10VDC, +/-20mA
BX-08DA-3





X

8out, universal: +/-10VDC, +/-20mA
Analog Combo Modules
BX-2AD2DA-1




X


2in, 0/4-20mA, sink, 16-bit
2out, 0/4-20mA, source, 16-bit
BX-4AD2DA-1




X


4in, 0/4-20mA, sink, 16-bit
2out, 0/4-20mA, source, 16-bit
BX-2AD2DA-2B




X


2in, +/-10VDC, sink, 16-bit
2out, +/-10VDC, source, 16-bit
BX-4AD2DA-2B




X


4in, +/-10VDC, sink, 16-bit
2out, +/-10VDC, source, 16-bit
BX-2AD2DA-3





X

2in, +/-10VDC, +/-20mA
2out, +/-10VDC, +/-20mA
BX-4AD4DA-3





X

4in, +/-10VDC, +/-20mA
4out, +/-10VDC, +/-20mA
BX-4THM4DA-1




X


4in, thermocouple, 16-bit
4out, +/-10VDC, source, 16-bit
BX-4RTD4DA-1




X


4in, RTD, 16-bit
4out, +/-10VDC, source, 16-bit
BX-4UT4DA-3





X

4in, universal: thermocouple/RTD/thermistor
4out, +/-10VDC, +/-20mA
BX-4UT4TD1





X

4in, universal: thermocouple/RTD/thermistor
4out, 24VDC, sink
BX-4UT4TD2





X

4in, universal: thermocouple/RTD/thermistor
4out, 24VDC, source
BX-4UT4TR





X

4in, universal: thermocouple/RTD/thermistor
4out, Form A relay
Temperature Input Modules
BX-04THM

X





4in, thermocouple, 16-bit
BX-08THM


X




8in, thermocouple, 16-bit
BX-06RTD


X




6in, RTD, 16-bit
BX-08NTC


X




8in, thermistor, 16-bit
BX-04UT





X

4in, universal: thermocouple/RTD/thermistor
BX-08UT





X

8in, universal: thermocouple/RTD/thermistor
Specialty
BX-HSIO1



X




8ch, high-speed in, 12-24VDC, sink/source
8ch, high-speed out, 12-24VDC, sink
BX-HSIO2



X



8ch, high-speed in, 12-24VDC, sink/source
8ch, high-speed out, 12-24VDC, source
BX-HSIO4






X
8ch, high-speed in, 2MHz, 5VDC, sink/source
8ch, high-speed out, 2MHz, 5VDC, source
BX-SERIO



X



4port, serial comm, RS-232/RS-485
BX-SERIO-2





X

4port, serial comm, RS-232 flow control
BX-SERIO-4





X

4port, serial comm, RS-422
BX-APAD





X

Active pad, emulates other BRX I/O

Do-more FAQ0045
23-Oct-2019
Q: My BRX PLC expansion analog I/O card stops working after upgrading the BRX PLC's Booter.

A: This is because there was a change made to the BRX PLC's FPGA (which is included in the Booter upgrade), that was critical to make future modules work properly. Later OS versions (v2.4.0 or later) comprehend the older Booter (v1.0.3 or older), but older versions of the OS do not. Thus, if you happen to have an older version of OS (v2.3.2 or older) and upgrade the Booter to a later version (v1.0.5 or later) first, this will cause the analog modules to stop working. Of course the solution is to go ahead and upgrade the OS as well, then the analog will work again.

Analog modules were introduced in OS v2.1.0. So here is a table describing which combinations of Booter vs OS where the analog expansion I/O work and don't work as or 23-Oct-2019. Of course, all future versions of Booter & OS will function:

Expansion Analog I/O Functionality?

Booter
OS
2.1.0
2.2.0
2.2.1
2.3.0
2.3.1
2.3.2
2.4.0
2.5.0
2.5.1
2.5.2
2.6.0
2.6.1
2.6.2
2.6.3
1.0.0
Yes
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
1.0.2
Yes
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
1.0.3
Yes
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
1.0.5
No
No No No No No Yes Yes Yes Yes Yes Yes Yes Yes
1.0.6
No
No No No No No Yes Yes Yes Yes Yes Yes Yes Yes


Do-more FAQ0046
17-Mar-2021
Q: Do-more Designer connects only one time to my USB POM on my BRX PLC. If I disconnect and reconnect, it fails to reconnect. (e.g. error message: "Error! Error reading system configuration from PLC")
A: This problem has been fixed in the BRX PLC booter v1.0.9 released 19-Jan-2021.

Do-more FAQ0047
31-Mar-2020
Q: Getting, "Encountered a hardware I/O error while accessing..." error when using a network drive for my project files.
A: This error does not come from Do-more Designer software itself, but is one from the Windows OS. It is caused by an intermittent connection dropping to your remote server's folder where you project file is being saved. This is usually manifested via a mapped network drive with a letter other than "c:". If the mapped drive is temporarily dropped and re-connected, this hardware I/O error results.

To fix, the network connection must be stable. One way of possibly helping this is to disable any power saving features from Windows and the PC's BIOS. For instance, set the power plan for your PC to be "High Performance." You may have to unhide that option.

High Performance power plan



Do-more FAQ0048
14-Apr-2021
Q: Getting, "Monitor signature incorrect" error in I/O System View after selecting Ethernet I/O slave.
A: This error simply means that the slave you are trying to capture for Ethernet I/O already has another Ethernet I/O master.

Monitor Signature Incorrect

Solution: Make sure there is only one Ethernet I/O master, then power-cycle the slave. In future releases, the wording of this error may make the issue more readily apparent to the user.
Explanation: The "Monitor signature" actually monitors the link between master and slave. It contains a GUID (Globally Unique Identifier) that is utilized in the master's and slave's telegrams to each other. This helps ensures that only one master can control a particular slave.


Do-more FAQ0049
11-May-2021 (see also EDRV FAQ0034)
Q: How are the Block Transfer Parameter blocks used in GS-EDRV100?

A: These parameters are used to consolidate noncontiguous drive parameters so they can be written or read as a contiguous group. For example, if you wanted to write to 3 non-contiguous parameters, say, P1.00, P1.02, and P1.04 it would normally require 3 separate Modbus write telegrams.
3Telegrams

But by use of these Block Transfer Parameters, all 3 of these could be written to with one telegram.

1Telegram

In the GS-Drives, the mapping of these parameters is generally the same for the GS1, GS2, and GS3 drives, but quite a bit different in the GS4. The mapping looks like this:

Drive Parameter GS1(1) GS2(1) GS3(1) GS4(2)
P9.09


Block Transfer Parm 1
P9.10


Block Transfer Parm 2
P9.11
Block Transfer Parm 1
Block Transfer Parm 3
P9.12
Block Transfer Parm 2
Block Transfer Parm 4
P9.13
Block Transfer Parm 3 Block Transfer Parm 5
P9.14
Block Transfer Parm 4
Block Transfer Parm 6
P9.15
Block Transfer Parm 5
Block Transfer Parm 7
P9.16
Block Transfer Parm 6
Block Transfer Parm 8
P9.17
Block Transfer Parm 7
Block Transfer Parm 9
P9.18
Block Transfer Parm 8
Block Transfer Parm 10
P9.19
Block Transfer Parm 9
Block Transfer Parm 11
P9.20
Block Transfer Parm 10
Block Transfer Parm 12
P9.21
Block Transfer Parm 11
Block Transfer Parm 13
P9.22
Block Transfer Parm 12
Block Transfer Parm 14
P9.23
Block Transfer Parm 13
Block Transfer Parm 15
P9.24
Block Transfer Parm 14
Block Transfer Parm 16
P9.25
Block Transfer Parm 15

NOTES:
(1) To set the pointers for these locations, it must be done manually from the GS drive's keypad.
(2) To set the pointers for these locations, it can be done manually, or by writing the pointer to P9.69 through P9.84 respectively

Notice how the GS4 shifted these up two locations, and also has one more parameter to work with (16 instead of just 15 like the GS1, GS2, and GS3.)

When used with the GS-EDRV100 in a Do-more PLC these Block Transfer Parameters are mapped into the Do-more PLC's GS-EDRV100 device memory structure when you configure the GS-EDRV100 as a Do-more Ethernet I/O slave.

How to normally use with GS1, GS2, and GS3 without Do-more:

(1) Manually set P9.11-P9.25 to point to whatever non-contiguous drive parameters you want to read/write.
          This must be done by using the keyboard display on the drive itself.
          Example: Set P9.11 = 5.00, and P9.12 = 5.02
(2) Using one Modbus read/write from/to any of the contiguous locations P9.11-P9.25 will instead, read/write from/to whatever they are pointing to.
         
Example: If P9.11 is set to P5.00, and P9.12 is set to P5.02, then one Modbus read from P9.11 of 2 locations, will actually return the values in P5.00 and P5.02 instead.

How to use with GS4 without Do-more:
(1) Set P9.69-P9.84 to point to whatever non-contiguous drive parameters you want to read/write.
          This can be done by using the keyboard display on the drive itself or by using a Modbus write to P9.69-P9.84.
          Example: Set P9.69 = 5.00, and P9.70 = 5.02
(2) Using one Modbus read/write from/to any of the contiguous locations P9.09-P9.24 will instead, read/write from/to whatever they are pointing to.
         
Example: If P9.69 is set to P5.00, and P9.70 is set to P5.02, then one Modbus read from P9.09 of 2 locations, will actually return the values in P5.00 and P5.02 instead.

How Do-more uses GS-Drives: Unless you are going to manage the Modbus communications manually to the drives, then an easier way to use the GS-Drives with a Do-more PLC is to use a GS-EDRV100 for each drive. Then in the Do-more PLC utilize the Ethernet I/O built-in port and enslave each GS-EDRV100. In this manner, automatic communications are established, and the more-commonly-used drive parameters are automatically mapped to the structure memory of the Do-more PLC for easy read/write (output frequency, status monitor 1 & 2, run command, etc). Also, nearly any drive parameter can be read from or written to using the GSREGWR and GSREGRD instruction. Here is a list of the GS-EDRV100 Do-more structure memory members and their corresponding GS-Drive parameters:

Structure Member Size(*) GS1 GS2 GS3 GS4
.OutputFrequency Word/RO  / 48452
.OutputCurrent Word/RO / 48453
.StatusMonitor1 Word/RO P6.31 / 48449
.StatusMonitor2 Word/RO / 48450
.RunCommand Word/RW P9.27 / 42332
.RS485SpeedRef Word/RW P9.26 / 42331
.ExtCommFault Bit/RO P9.29 / 42334
.IntCommFault Bit/RO <GS-EDRV100>
.Direction Bit/RW P9.28 / 42333
.ResetCommFault Bit/RW P9.30 / 42335
.BlockParm1 Word/RW P9.11 / 42316
P9.09 / 42314
.BlockParm2 Word/RW P9.12 / 42317
P9.10 / 42315
.BlockParm3 Word/RW P9.13 / 42318
P9.11 / 42316
.BlockParm4 Word/RW P9.14 / 42319
P9.12 / 42317
.BlockParm5 Word/RW P9.15 / 42320
P9.13 / 42318
.BlockParm6 Word/RO P9.16 / 42321
P9.14 / 42319
.BlockParm7 Word/RO P9.17 / 42322
P9.15 / 42320
.BlockParm8 Word/RO P9.18 / 42323
P9.16 / 42321
.BlockParm9 Word/RO P9.19 / 42324
P9.17 / 42322
.BlockParm10 Word/RO P9.20 / 42325
P9.18 / 42323
.BlockParm11 Word/RO P9.21 / 42326
P9.19 / 42324
.BlockParm12 Word/RO P9.22 / 42327
P9.20 / 42325
.BlockParm13 Word/RO P9.23 / 42328
P9.21 / 42326
.BlockParm14 Word/RO P9.24 / 42329
P9.22 / 42327
.BlockParm15 Word/RO P9.25 / 42330
P9.23 / 42328

Word
P9.24 / 42329

(*) RO = Read Only, RW = Read/Write

Because the Structure Members are updated constantly with the regular I/O cycle, we chose to only make Block Parameters 1-5 as writable (pink background in above chart). The other ones (6-15) are read-only (light blue background in above chart). Thus to read and write these parameters only requires using them in Ladder logic (or Data View) as you would any other memory Element in the Do-more PLC.


Do-more FAQ0050
11-May-2021
Q: What do the Memory Configuration Memory Blocks size parameters mean?

A: These parameters are:

- Current Size: This shows the total amount of Image Register memory currently used by the System Memory Blocks, User Memory Blocks, and Heap Items. It is calculated by adding up the size of each Memory Block and Heap Item and subtracting it from the Max Size. The only extra thing here is there will be an extra 4160 bytes included in this number in which the details are not shown in this display. These extra bytes are used by the PLC's system for various necessary overhead.
- Max Size: This shows the maximum size possible for the Image Register.
- Space Available: This shows the available Image Register space. It is the difference between Max Size and Current Size.

Thus, if you click on each individual entry in the Memory Blocks table, and each individual entry in the Heap Items table, and look down at the bottom of the table, you can see the size of that individual entry shown in bytes (as shown in the pic below). If you painstakingly do this and record each block's size, add them up, and then add the 4160 bytes of hidden system memory, you will come to the value shown in the Current Size parameter.

BlockSize



Do-more FAQ0051
03-Aug-2022
Q: Trying to upgrade (or downgrade) my firmware (or booter) but get, "Error! Error committing image to rom!" or "Error! Invalid gate array file!"

A: Barring any defects in the files (not likely), or hardware (even less likely), these errors are due to incompatibilities of the v2x BRX hardware and the firmware/booter files.

ErrorCommit2Rom  InvalidGAfile


The BRX CPU hardware v2x has minimal versions of firmware/booter that it must have to operate. Not only does Do-more Designer protect this, but its own operating system will protect this as well.

BRX CPU Hardware v2x minimal requirements:
- Firmware: v2.9.1
- Booter: 1.1.0

Any attempt to downgrade to lower versions on the BRX CPU Hardware v2x will result in one of those errors.

This usually begs the question, "Can other versions of BRX CPU Hardware (e.g. 5x, 6x, or 8x) be upgraded to firmware v2.9.1 or booter v1.1.0?" And the answer is yes.

How to find out your BRX CPU Hardware version:

CPU Version Info
Do-more Designer: PLC --> System Information. NOTE: The 2nd number is the internal BRX Output board hardware version, the 3rd is the internal BRX Input board hardware version.


PWB Rev
NetEdit3: Click on your BRX CPU, see "General Info" box at the bottom.


HW Rev Label
BRX PLC Label: Physical label on the left-hand side of the unit.
NOTE: The 2nd number is the internal BRX Output board hardware version, the 3rd is the internal BRX Input board hardware version.

The following chart shows the whys. Find out what hardware your BRX CPU is and cross that with your Do-more Designer version in the chart below. Then ask yourself, "Can my version of BRX CPU hardware be upgraded/downgraded with my version of Do-more Designer software?

BRX CPU Do-more Designer
v2.8 or earlier
v2.9 or later
Firmware Booter Firmware Booter
Upgrade Downgrade Upgrade Downgrade Upgrade Downgrade Upgrade Downgrade
Hardware: 5x
Yes Yes Yes Yes Yes Yes Yes Yes
Hardware: 6x Yes Yes Yes Yes Yes Yes Yes Yes
Hardware: 8x Yes Yes Yes Yes Yes Yes Yes Yes
Hardware: 2x
Firmware: 2.9.1
Booter: 1.1.0
Yes No (1) No (2) No (1) Yes No (1) Yes No (3)
NOTES:
(1) "Error! Error committing image to rom!" This because the BRX CPU is protecting itself. It needs its minimal versions of Firmware/Booter as shown.
(2) "Error! Error committing image to rom!" This is because Do-more Designer v2.8 doesn't know how to upgrade v2x BRX CPU hardware with a new booter.
(3) "Error! Invalid gate array file!" This is because Do-more Designer v2.9 knows the booter must be a minimal version as shown.

Do-more FAQ0052
19-Jan-2022
Q: Can Do-more Designer software be installed silently?

A: Yes. First you have to install it manually so that it can record your responses to the various install prompts and create a response file called Setup.iss in the c:\Windows folder. Then using this response file in conjunction with the normal setup file, you can thereafter install Do-more Designer silently on a PC.

     (1) Goto Automation Direct's website and download the free zip install executable (currently named, SetupDmD_R2_8_3_Production.zip).
     (2) Unzip this file wherever you want. This will result in two files. For example, SetupDmD_R2_8_3_Production.exe and Updates.pdf.
     (3) Goto your Windows Command Prompt, change the folder to wherever this .exe file is, and type the following and press <Enter>:   SetupDmD_R2_8_3_Production.exe /r
     (4) This will start the install for Do-more Designer. Respond to the prompts ever how you want your silent install to work. The "/r" you entered above is recording your responses and creating the Setup.iss file.
     (5) Use your Windows Explorer and copy the newly-created Setup.iss file from the c:\Windows folder to the same folder as your .exe file.
     (6) These two files together (the .exe and the .iss) have to be copied to the PC that you want to install Do-more Designer silently. They need to be in the same folder (e.g. c:\Temp).
     (7) When this is done, go to the Windows Command Prompt on that PC, change the folder to wherever you copied them to, and type the following and press <Enter>:   SetupDmD_R2_8_3_Production.exe /s /f1"c:\Temp\setup.iss"

Note that the "/f1" above is "f" and the number one (not a lowercase "L"). Also, there is no space between the "f1" and the double-quotes. This will install Do-more Designer silently on that PC using the responses you recorded when you installed it in Step (3) above.

Do-more FAQ0053
31-Jan-2022
Q: How to program a range of C-bits so that only one is true at a time in that range? Like a "radio-button" range?

A: The following ladder diagram is a simple version of this followed by an explanation:

Radio C-bits

Since this uses casting (:UW), word boundaries must be observed. At the bottom of the scan (last rung), the bit range of C0-C15 is stored in D0. Somewhere above that, the first rung exists. If the bit range of C0-C15 ever changes (i.e. a different bit is set in that range), the Delta Contact will generate an edge (Leading-Edge Oneshot element) to ensure the MATH only executes once. In the MATH, the new value of the range (C0:UW) is XOR'd with the old value stored in D0. This will result in only the new bit set and the rest of the range cleared. The :UW is the casting suffix that means, in this case, start at C0 and grab 16 bits (UW means Unsigned Word) and use these bits as a single word. Any logic in between these two rungs will only see one bit in the range of C0-C15 ON at one time. Any rungs above the MATH could see two or more bits in that range on at a time.

Do-more FAQ0054
15-Jun-2022
Q: Can a Gmail account be used to send Email using the EMAIL instruction in a BRX?

A: Yes. It involves setting up your Gmail account to use both "2-Step Verification" and "App Passwords." However, this will only work on the Do-more BRX PLCs because it must use SSL security, which is not available on the Do-more H2, or the Do-more T1H PLCs.

Gmail Setup
1. Log into your Gmail account in a web browser.
2. In the top right, just to the left of your icon, click the checkerboard icon.


3. Choose the "Account" icon. This will open up a new tab with your Google Account.



4. In the very left menu, click on "Security." This will take you to the Security settings.



5. In the "Signing in to Google" box, make sure "2-Step Verification" is turned ON. You may have to re-enter your Gmail (Google) password again, and click the <OK> button.



6. Back at the "Signing in to Google" box, click on "App passwords." You may have to re-enter your Gmail (Google) password again, and click the <OK> button.



7. Click on the "Select app" pulldown arrow, and choose "Other (Custom name)", and then enter any name you want (e.g. MyBRX PLC).



8. Click "Generate." This will generate a 16-character password.



9. Write down your 16-character password because you will use it when you configure your BRX PLC. Notice there appears to be spaces between each of the sets of 4 characters (i.e. it looks like 16 characters + 3 spaces = 19 total). But you will not use the spaces. They are only there to help you distinguish the password.



Do-more BRX Setup
1. In Do-more Designer's menu, choose PLC --> System Configuration, and click on "Device Configuration."
2. In the top right, click the <New Device> button. This will open the "New Device" dialog.
3. In the "Available Devices" window, choose "SMTP Client (EMail)", and press the <OK> button. This will pull up the "Edit SMTP Client Settings" dialog.
4. In the "Edit SMTP Client Settings" dialog:
SMTP Server Address box:
User Server Name: smtp.gmail.com
Security (only available on BRX platform) box:
Check "Enable SSL/TLS"
Choose "SSL (usually port 465)"
Other Settings box:
Server Port: 465
Timeout: e.g. 30 seconds
'From' Email Address: e.g. MyEmail@gmail.com

Account Authentication box:
Choose "AUTH PLAIN"
Username: e.g. MyEmail@gmail.com
Password: (Enter your newly obtained 16-character password). Remember, do not use the spaces between the sets of 4 characters.




5. Now you can press the <Test settings and verify server credentials> button.
6. Press <OK> button in the "Edit SMTP Client Settings" dialog to save.
7. Press <OK> button in the "System Configuration" dialog to save.
8. Write this configuration down to your BRX PLC.

Do-more FAQ0055 (see also NetEdit FAQ0046, EBC FAQ0097, ECOM FAQ0125, EDRV FAQ0035, ERM FAQ0070, EZEthernet FAQ0033, MB-GATEWAY FAQ0006)
09-Aug-2022
Q:  Why do I not see my device in NetEdit3
? My device does not show up in the list.
A:  Try one or all of the following possible solutions: One (or more) of these solutions should cause your device to show up in NetEdit3's list after pressing the <Scan Network> button.
Do-more FAQ0056
18-Nov-2022
Q:  Which instructions are available in which versions of Do-more?

A:  Download the following table in PDF format, and you can see: Do-more Designer Instructions.PDF.
Do-more FAQ0057
21-Feb-2023
Q:  How does the software watchdog and hardware watchdog behave?

A:  The following charts highlight the configuration and behavior of each of the watchdogs.

SOFTWARE WATCHDOG (Default)
The default behavior is determined by the values of the two CONFIG System Elements, ST37 ($DisableSwWdog) & DST23 ($WatchdogTimeVal). In this configuration, if a software watchdog happens (e.g. due to an extended scantime that exceeds the DST23 interval in milliseconds), then the PLC will drop out of RUN into STOP mode. Communications are maintained, however. Thus, a Data View could be used to ascertain from the PARAMS listed below what has occurred. Also, an entry is made in the System Event Log as noted. Notice, however, after the PLC is manually switched to RUN mode the only clue left as to what may have happened is ST15 ($PgmModeRestart) is ON, though this does not exclusively indicate this particular event. The entry in the System Event Log will be there both of the event and the manual restart as shown in the notes below.
SOFTWARE WATCHDOG
(DEFAULT BEHAVIOR)
---> DEFAULT BEHAVIOR --->
STARTING
CONDITION
W
A
T
C
H
D
O
G
PLC transitions
from
RUN --> STOP (4)
S
W
I
T
C
H

T
O

R
U
N
PLC transitions
from
STOP --> RUN (5)
CONFIG ST37
$DisableSwWdog
OFF - -
DST23
$WatchdogTimeVal
1000 - -
PARMS ST15
$PgmModeRestart
OFF - ON
ST128
$WatchdogTimeout
OFF ON OFF
DST5
$Errors
0 1 (1) 0
DST30
$LastError1
0 33 (2) 0
DST51
$FatalTermCode
0 1 (3) 0

NOTES:
- The '-' means no change in the status
(1) A value of 1 means Bit0 of this status word is ON, indicating WATCHDOGTIMEOUT
(2) A value of 33 means WATCHDOGTIMEOUT - Watchdog timeout.
(3) A value of 1 has numerous meanings, one of which is, "...watchdog timeout..." This value will be a 5 if induced by the WATCHDOG instruction.
(4) A date/time stamped entry is made in the System Event Log (PLC --> System Information... --> Event Log): "Program was halted due to the software watchdog firing."
(5) A date/time stamped entry is made in the System Event Log (PLC --> System Information... --> Event Log): "Default User changed mode to RUN"


SOFTWARE WATCHDOG (Disabled)
If you disable the software watchdog by setting ST37 ($DisableSwWdog) = ON, then when the software watchdog occurs due to an extended scantime that exceeds the DST23 ($WatchdogTimeVal) interval in milliseconds, then the PLC will remain in RUN mode and none of the parameters will give any indication that the software watchdog occurred.
Neither is there a System Even Log entry made. This means that the scan time could exceed the DST23 value resulting in a possible anomaly in the control of your machine and yet there be no other indication the issue had occurred. This is not usually the optimal runtime mode of operation, therefore caution is advised.
SOFTWARE WATCHDOG
(DISABLED)
---> DISABLED --->
STARTING
CONDITION

W
A
T
C
H
D
O
G
PLC stays in
RUN

CONFIG ST37
$DisableSwWdog
ON -
DST23
$WatchdogTimeVal
1000 -
PARMS ST15
$PgmModeRestart
OFF -
ST128
$WatchdogTimeout
OFF -
DST5
$Errors
0 -
DST30
$LastError1
0 -
DST51
$FatalTermCode
0 -

NOTES:
- The '-' means no change in the status


HARWARE WATCHDOG (Default)
The default behavior is determined by the values of the two CONFIG System Elements, ST24 ($HwWatchdogMode) & ST25 ($DisableHwWdog). In this configuration, if a hardware watchdog occurs (e.g. for >2 seconds the hardware circuit is not reset by the PLC's operating system), then the PLC will increment the value in DST385 ($WatchdogReboots) and then reboot itself. Under normal circumstances, if this was a transitory event, the PLC will return to RUN mode. Thus, monitoring the value in DST385 will indicate how many reboots have occurred. Notice, however, after the PLC has rebooted 10 times, the PLC will set ST13 ($WatchdogReboot) ON and remain in STOP mode. DST385 will have rolled over from a value of 9 back to zero. It is possible to write whatever value you want to DST385 if, for some reason, you need to prevent the PLC from ever going to STOP on a hardware watchdog.  After the PLC is manually switched to RUN mode the only clue left as to what may have happened is ST15 ($PgmModeRestart) is ON, though this does not exclusively indicate this particular event. The entry in the System Event Log will be there both of the event and the manual restart as shown in the notes below.
HARDWARE WATCHDOG
(DEFAULT BEHAVIOR)
---> DEFAULT BEHAVIOR --->
STARTING
CONDITION
W
A
T
C
H
D
O
G
PLC reboots &
returns to RUN (2)
After 10th reboot,
PLC remains in STOP (2)
S
W
I
T
C
H

T
O

R
U
N
PLC transitions
from
STOP --> RUN (3)
IG ST24
$HwWatchdogMode
OFF - - -
ST25
$DisableHwWdog
OFF - - -
PARMS ST13
$WatchdogReboot
OFF - ON OFF
ST15
$PgmModeRestart
OFF - - ON
DST385
$WatchdogReboots
0 1...9 (1) 0 0

NOTES:
- The '-' means no change in the status
(1) Every time a reboot happens, this value increments by 1 until it reaches 9. If it happens a 10th time the value will rollover to zero.
(2) Four date/time stamped
entries are made in the System Event Log (PLC --> System Information... --> Event Log): "PLC rebooted following hardware watchdog timeout", "System was turned off", "System was turned on," and a blank entry.
(3)
A date/time stamped entry is made in the System Event Log (PLC --> System Information... --> Event Log): "Default User changed mode to RUN"

HARDWARE WATCHDOG (Shutdown Mode)
If the mode of the hardware watchdog is changed from its default reboot mode to that of shutdown mode by ssetting ST24 ($HwWatchdogMode) = ON, then when the watchdog occurs the PLC will turn all its front-panel lights ON as red. It will remain in this shutdown mode until power to the PLC is recycled. When the power returns, the PLC will return to RUN mode but there is no indication in the PARMS that anything has occurred. For example, notice DST385 ($WatchdogReboots) is not incremented and the entries in the System Event Log only show the power cycle has occurred.
HARDWARE WATCHDOG
(SHUTDOWN MODE)
---> SHUTDOWN MODE --->
STARTING
CONDITION
W
A
T
C
H
D
O
G
PLC shutsdown,
all lights RED
P
O
W
E
R

C
Y
C
L
E
PLC returns to
RUN (1)
CONFIG ST24
$HwWatchdogMode
ON (?) OFF
ST25
$DisableHwWdog
OFF (?) -
PARMS ST13
$WatchdogReboot
OFF (?) -
ST15
$PgmModeRestart
OFF (?) -
DST385
$WatchdogReboots
0 (?) -

NOTES:
- The '-' means no change in the status
(1) Three
date/time stamped entries are made in the System Event Log (PLC --> System Information... --> Event Log): "System was turned off", "System was turned on," and a blank entry.


HARDWARE WATCHDOG (Disabled)
NEVER DISABLE THE HARDWARE WATCHDOG! Disabling the hardware watchdog by setting ST25 ($DisableHwWdog) ON is never recommended. This feature is only used for Host Engineering for debug testing. If you disable it the PLC will lock up with no indication on the front panel (i.e. lights freeze), PLC ladder logic is no longer executed, and communication is no longer even possible. The only way out of this situation is a power cycle. After the power cycle there is no indication in the PARMS that anything has happened
and the entries in the System Event Log only show the power cycle has occurred..
HARDWARE WATCHDOG
(DISABLED)
---> DISABLED (1) --->
STARTING
CONDITION
W
A
T
C
H
D
O
G

PLC locks up,
lights freeze, no comms
P
O
W
E
R

C
Y
C
L
E

PLC returns to
RUN (3)
CONFIG ST24
$HwWatchdogMode
X (2)
(?) OFF
ST25
$DisableHwWdog
ON (?) OFF
PARMS ST13
$WatchdogReboot
OFF (?) -
ST15
$PgmModeRestart
OFF (?) -
DST385
$WatchdogReboots
0 (?) -

NOTES:
- The '-' means no change in the status

(1) NEVER DISABLE THE HARDWARE WATCHDOG.
(2) The 'X' means it doesn't matter whether this bit is ON or OFF, the behavior is the same.
(3) Three date/time stamped entries are made in the System Event Log (PLC --> System Information... --> Event Log): "System was turned off", "System was turned on," and a blank entry.