Do-more FAQs
(Last Update: 14-Apr-2016, Do-more FAQ0013)

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
28-May-2014
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).

 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
15-Jan-2014
Q: Will current OPC servers (e.g. KepDirect) for the DL-PLCs also work for the Do-more CPU?
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.

CAUTION: Currently there 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.

A Do-more driver for KepDirect is to be announced.


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
25-Oct-2012
Q: What is the instruction list for Do-more?
A: What follows is a complete instruction list for DM1 & DM1E CPUs:

Do-more Instruction Set v1.0 (09-Sep-2012)


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
07-Sep-2012
Q: When starting up Do-more Designer get the error, "Unable to initialize comm server".
A: If an old MX/MP Alpha/Beta/RC or Host Engineering "Technology Preview" version has previously been installed, the installation of Do-more Designer will try to merge with this installation. This could cause this error message. Thus, to prevent, or fix:

  1. Uninstall Do-more Designer.
  2. Uninstall this old pre-release version.
  3. Delete the old folder in which the old pre-released version resided.
  4. Reboot the PC.
  5. Re-install Do-more Designer.

Do-more FAQ0025
02-May-2013
Q: When connecting using USB, Do-more Designer cannot see my PC's USB ports.
A: 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 unuseable 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
28-Jul-2015
Q: What instructions are used for the types of communication?
A: That depends on both the Do-more memory configuration and the modules plugged into its base. See table below:

PROTOCOL DO-MORE INTERNAL PORTS SERIO/SERIO-4 ECOM/ECOM100 (1)
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 Programming

None (serves up Do-more memory) (2)

None (serves up Do-more memory) Enable Do-more Programming

None (serves up Do-more memory) (3)
Ethernet I/O

Any (I/O is mapped in) Enable Ethernet I/O Master









Peerlink

Use PEERLINK instruction (4)
(uses PL-memory)




Configure Peerlink feature (4)(5)
(uses DL-memory)
Modbus TCP

MRX, MWX Modbus TCP Client device exists by default (9)
None (serves up M-memory) Modbus TCP Server device enabled by default



DLRX, DLWX (6) Peer-to-peer Table Entry (Modbus TCP) in NetEdit None (serves up DL-memory) (6) None
Do-more Peer to Peer (10)


RX, WX Do-more Peer-to-peer Client device exists by default None (serves up Do-more memory) Do-more Peer-to-Peer Server exists by default (8)








DirectLOGIC RX/WX

DLRX, DLWX DirectLOGIC Client device exists by default None (serves up DL-memory) DirectLOGIC Server exists by default (8)




DLRX, DLWX Peer-to-peer Table Entry (ECOM) in NetEdit None (serves up DL-memory) None
Ethernet/IP (10)

EIPMSG EIP Client device exists by default (9)
None (serves up Blocks as configured) Enable EIP Server & define Blocks








K-seq


None (serves up DL-memory) Enable K-Sequence Server (7)

None (serves up DL-memory) Enable K-Sequence Server

None (serves up DL-memory) None
Modbus RTU

MRX, MWX Enable Modbus RTU Client None (serves up M-memory) Enable Modbus RTU Server MRX, MWX Enable Modbus RTU Client None (serves up M-memory) Enable Modbus RTU Server



SMTP (Email)

EMAIL Create SMTP Client (EMail) device









SNTP (Time)

NETTIME None









Custom UDP

PACKETIN, PACKETOUT, .PacketAvailable Create UDP Connection device PACKETIN, PACKETOUT, .PacketAvailable Create UDP Connection device







Custom TCP

OPENTCP, STREAMIN, STREAMOUT, .InQueue Create TCP Client device TCPLISTEN, STREAMIN, STREAMOUT, .InQueue Create TCP Server device







Custom Serial
(e.g. ASCII)


STREAMIN, STREAMOUT, .InQueue Enable General Purpose STREAMIN, STREAMOUT, .InQueue Enable General Purpose STREAMIN, STREAMOUT, .InQueue Enable General Purpose STREAMIN, STREAMOUT, .InQueue Enable General Purpose




NOTES:
(1) ECOM does not support Do-more ProgrammingPeerlink, nor Modbus TCP, but ECOM only supports DirectLOGIC RX/WX and K-seq.
(2) Internal Ethernet and USB ports are always enabled for Do-more Programming protocol. Internal Serial is enabled by default for Do-more Programming protocol.
(3) ECOM100 firmware version 4.0.1776 (26-Mar-2012) supports Do-more Programming protocol.
(4) Uses Ethernet broadcasts, so this limits its functionality to a particular IP address broadcast domain (e.g. won't work across routers).
(5) ECOM100 firmware version 4.0.1776 (26-Mar-2012) supports Peerlink feature as configured by ECOM100's web server.
(6) Use appropriate (i.e. client/server) page in the ECOM100 Server Client Mapping (Do-more).PDF chart to determine mapping.
(7) It is only necessary to enable the K-Sequence Server for serial; it is permanently enabled for Ethernet.
(8) Permanently enabled (cannot be disabled)
(9) It is highly recommended that a Client Device be created for each server device to be communicated with.
(10) Added with v1.4


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
18-Feb-2016
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
1.0.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes (1)
1.1.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes (1)
1.2.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes (1)
1.3.x     (1) (1) (1) (1) Yes Yes Yes Yes Yes (1)
1.4.x     (1) (1) (1) (1) Yes Yes Yes Yes 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)
07-Mar-2016
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.).

NOTE: Host Engineering, Inc has a Do-more CPU (with an on-board Ethernet port) on the Internet that you can practice with. Its IP Address is 50.240.100.172.

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 50.240.100.172 (Registered Internet IP Address of Host's 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 12.69.41.xxx
                               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 
50.240.100.172 (Registered Internet IP Address of Host's 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 50.240.100.172
                               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 50.240.100.174 28,784 (0x7070) 192.168.20.1 28,784 (0x7070)*
PLC2 50.240.100.174 28,785 (0x7071) 192.168.20.2 28,784 (0x7070)*
PLC3 50.240.100.174 28,786 (0x7072) 192.168.20.3 28,784 (0x7070)*
PLC4 50.240.100.174 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
27-Jan-2014
Q: How can I use Google's email (Gmail) to send EMAIL with Do-more CPU's Ethernet port?
A: Google email (Gmail) is a moving target.  They move their email server around to different IP addresses for SPAM prevention and security reasons. Therefore it is necessary that its current IP addressed be queried, then used in the Do-more SMTP Client's configuration. Then standard practice is to ping that server IP address to make sure it is online and if so, then send the EMAIL. The attached Gmail.TXT program code block will help you do this. Four steps are required:

  1. Make sure you have Do-more Designer v1.1 and updated firmware for the Do-more CPU (free upgrades). If you already have this, skip this step. The Do-more Designer installation program also installs the firmware needed for you Do-more CPU. To download the free update go here: http://support.automationdirect.com/products/domore.html. You must run Do-more Designer software to download the Do-more CPU firmware into your CPU.
  2. Import the attached program (Gmail.TXT) into your project (or a new Do-more Designer project). It is a Stage code-block named SendGMail that uses a dummy email address (for now). Make sure you are in Edit mode in ladders (CTRL+E) and goto Tools --> Insert Instructions From File, then in the Insert Instructions dialog, make sure you click the As Code Blocks in the Instruction Import Method group.
  3. Change the dummy email address in the code (see the EMAIL instruction in SendGMail) along with the Device Configuration for the @MySMTPClient device in the System Configuration dialog's Device entry page.

    NOTE: This program code block also uses some D-memory (and other memories) for success and error counts, so make sure you double-check all the element addresses used by this example and change them if they conflict with anything your program uses.

  4. Google requires all Port 25 users of Gmail to configure an SPF record for your domain. Read all about this from this Google support article: https://support.google.com/a/answer/176600?hl=en. Do-more does not support SSL, which you need to know for that article.
Of course to execute the EMAIL instruction contained in the Gmail.TXT program code block, you have to execute it from $Main using a RUN instruction.


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 FAQ0036; EBC FAQ0047; ECOM FAQ0036; EDRV FAQ0009; ERM FAQ0030; EZ Ethernet FAQ0018; PBC FAQ0009; PSCM FAQ0001; WinPLC FAQ0018; NetEdit FAQ0014; MB-GATEWAY FAQ0003)
23-Nov-2015
Q: What software tool do I use to upgrade/downgrade my Host Engineering hardware?
A: Refer to the following:
Host Hardware Part Number Firmware/Booter Upgrade Tool
CTRIO
CTRIO2
H0-CTRIO
H4-CTRIO
H0-CTRIO2
CTRIO Workbench
H2-CTRIO
T1H-CTRIO
H2-CTRIO2

T1H-CTRIO2
CTRIO Workbench or
Do-more Designer
EBC
EBC100
H2-EBC
H4-EBC
T1H-EBC
T1H-EBC100
H2-EBC100
NetEdit3
ECOM
ECOM100
H0-ECOM
H2-ECOM
H4-ECOM
H0-ECOM100
H2-ECOM100
EDRV
EDRV100
GS-EDRV
GS-EDRV100
ERM
ERM100
H2-ERM
H4-ERM
H2-ERM100
NetEdit3 or
ERM Workbench
EZ Ethernet EZ Ethernet
EZ EtherPLUS
EZ Touch
MB-GATEWAY MB-GATEWAY NetEdit3
PBC H2-PBC
PSCM
H0-PSCM
H2-PSCM
WinPLC WinPLC WinPLC Workbench

NOTE: All the firmware for the above products can be downloaded using NetEdit3's File --> Live Update... The firmware files are stored in c:\HAPTools\Images folder.


Do-more FAQ0039
03-Oct-2016
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.

SelectingMoveInstructions