DSData/DDE Server FAQs

FAQ0001
02-May-2002
Q: What causes "data error" in "Link info?"
A: DSData thinks it is actually wrong data (i.e. wrong length, wrong character).


FAQ0002 (see also DirectSOFT FAQ0001)
06-May-2002
Q: Using both DirectSoft Programming and DSData simultaneously, why does my PC lock-up?
A: You are probably using a common link. Instead, create two different links.


FAQ0003
08-May-2002
Q: Does DSData support Wonderware's Fast DDE?
A: Yes.


FAQ0004
08-May-2002
Q: What version of OPC does DSData support?
A: OPC v1.1


FAQ0005 (see also ECOM FAQ0042; DirectSOFT FAQ0048; DL Plus FAQ0009; DNLoader FAQ0010; EZ Ethernet FAQ0008; HA-TADP FAQ0002; Lookout Direct FAQ0014; NetEdit FAQ0005; SDK FAQ0020)
31-Jan-2008
Q: Why doesn't the ECOM use subnet mask or gateway address like the ECOM100?
A: Since the ECOM doesn't do "master"-type communications, it doesn't use the subnet mask or gateway address. Whatever talks to the ECOM will be using IPX or UDP/IP, and the ECOM simply swaps the destination and source addresses in the telegram and responds in this way, not "caring" about the subnet or gateway. However, the ECOM100 acts more like a conventional TCP/IP device. The ECOM100 has the capability to be a master and has a full-blown TCP stack inside. Thus, if it is to transmit to an IP address not on its subnet, it will, of course, transmit to its configured gateway address instead.


FAQ0006
06-Feb-2008
Q: Running LabView in Lookout Direct, get this error: "Unable to launch DSData OPC Server: Error occurred when reading OPC proxy information from CCDB. Is the OPC proxy registered?"
A: This is a LabView issue as documented on National Instruments website:

http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/8571c6771328088486256b330058032e?OpenDocument

If the above link dies, please either search NI's website for this error, or send an e-mail to support@hosteng.com, and we will send you the full text (it is rather lengthy).


FAQ0007
27-Jun-2002
Q: Attempting to use two NICs in PC, getting CSMain error.
A: Edit the DS400.INI (see DirectSOFT FAQ0204) and disable COM settings and retry. If it works, there is a conflict with the COM ports. If it doesn't work, edit the files again disabling Ethernet links. If it works, then there is a conflict between the NICs.


FAQ0008
02-Jul-2002
Q: What if I want to use DSData on multiple machines?
A: License agreement states you can install it on multiple machines, but can only have one PC actively using it. Therefore to use on multiple machines, multiple copies of DSData should be purchased.


FAQ0009
04-Dec-2002
Q: How can I speed up the data throughput of my DSData application?
A: Consider the following:

  1. If using serial communication, then use fastest possible baud (bps). 
  2. Use an ECOM instead of serial connection . . . much faster.
  3. Creating Subtopics in DSData will allow you to assign different update intervals, thus enabling you to prioritize, thus increasing throughput on higher priority Items.
  4. Win95, Win98, WinME operating systems are terribly slow; therefore use WinNT, Win2K or WinXP, these are sometimes 10x faster. 
  5. If using ECOM, give it an isolated network if possible, as network traffic can effect data through-put.
  6. Use fastest PC possible. 
  7. If using the Ethernet SDK, use asynchronous reads as opposed to synchronous reads in your application code. 
  8. Each write is handled individually, therefore if writing to individual bits it is better to group them together and write once to the imaged V-memory of the PLC instead of each bit having its own write. For example, if using DL260 CPU, instead of writing to C0, C1, C2 individually, set these bits in a word and write the single word to V40600 where C0, C1 and C2 are imaged. (See user manual for the mapping for each DL CPU). 
  9. Each read is grouped automatically by DSData whenever it can. Therefore, if possible when doing reads, group your data in contiguous blocks.
  10. Creating Items manually in DSData cuts down on execution code in DSData because the Item only gets created once (manually by you) as opposed to being created every time per request when memory references are used. Therefore, Creating Items (e.g. "Fred") and using them in the DDE/OPC reference instead of using memory references (e.g. "V2000") will speed up data throughput.
  11. ECOMs do at least 1 comm cycle of approximately 128 bytes per PLC scan, but in faster CPUs it can do as many as 3. So using a faster PLC CPU (e.g. 260 instead of a 240) will help. 
  12. Since the ECOM comm cycle is PLC scan dependent, then anything you can do to make the PLC scan faster will help. 
  13. Make sure no other applications or devices are talking to the same PLC via the same ECOM or serial port (e.g. like having DirectSOFT doing status while DSData is running, or PLC doing/responding to RX/WX from other PLC). There is only so much bandwidth between the serial port/ECOM and the CPU itself.

Measuring the speed:


FAQ0010
23-Dec-2002
Q: How to copy or save a DSData "project?"
A: COMMSERV.RST contains the link information; DSDATA.RST contains the topic information.


FAQ0011
23-Dec-2002
Q: Can DSData run without DirectSOFT installed?
A: Yes.


FAQ0012
30-Dec-2002
Q: Can an application that supports DDE and one that supports OPC both be used to talk to a DL06 via DSData?
A: Yes. DSData supports DDE and OPC data formats.


FAQ0013
30-Dec-2002
Q: Does the OEM License version of DSData allow me to send a copy of DSData to customer's PC as part of his application I am writing?
A: Yes. DSData OEM is for distribution with PCs sold as part of your customer's application.


FAQ0014
13-Jan-2002
Q: Using DDE Server v1.0 and getting "No foreign application responded."
A: Either: 

  1. The DDE Server isn't running, or . . .
  2. There is a typo in the service name "DSDDE," or . . . 
  3. There is a typo in the topic name.

FAQ0015
13-Jan-2002
Q: DSData has a nickname for an element that does not show up in the DirectSoft project.
A: Since nicknames are first created in DirectSoft then the correct project must not be loaded. Reload DirectSoft project.


FAQ0016 (see also DirectSOFT FAQ0081)
13-Feb-2008
Q: Upon starting DSData or DirectSOFT, get "Critical error 1004 invalid INI file."
A: The "INI file" is a reference pointing to the initialization file for DSData and DirectSOFT (i.e. DS400.INI or DS500.INI files). This error means one of two things (See 1. & 2. below):

  1. Can't find the .INI file.
  1. The .INI file is invalid.

If none of the above works use the Search function on your PC and find all occurrences of the .INI file; delete them; uninstall DSData (or DirectSOFT) and reinstall.

NOTE: On a Win2K Server, the .INI file must be in the Administrator's WinNT folder.


FAQ0017
21-Jan-2003
Q: Does DSData require IPX or can it run only on TCP/IP?
A: DSData does not require IPX (if you have v4.0 Build 18). Earlier versions used an older CommServer that had some issues with not having IPX protocol loaded. See DSData FAQ0093 for installing protocols.


FAQ0018
21-Jan-2003
Q: Can DSData be set up to use a different IPX network number?
A: No, DSData only uses IPX network number 0000 0000. Any other number and it won't talk.


FAQ0019
28-Jan-2003
Q: What is the fastest way to retrieve data from V-memory up to PC? Serial or ECOM?
A: To go from PLC to PC, ECOM is the fastest using DSData.


FAQ0020
28-Jan-2003
Q: Is there any way to define a single Item to address a block of V-memory?
A: Unfortunately this is not possible with DSData and the ECOM. It was an engineering decision given the then pros and cons. There must be a one-to-one correspondence between PLC data types and OPC/DDE reference types. So the problem begins with the fact that there's no block (or array) data type in the Direct Logic (DL) PLCs sold by Automation Direct. Without this data type in the PLC, there's no way for any DDE/OPC client to create an Item that can reference a range of data in the PLC. However, each read that you request from DSData is grouped automatically by DSData whenever it can. In other words, when you do reads of contiguous V-memory locations, DSData groups them into one read for the communications server (CommServer; CSMAIN) and they are read from the PLC as fast as possible. Once the data is gathered in this manner, DSData then separates this block of data into the individual Items.


FAQ0021 (Similar to FAQ0044 & FAQ0064)
13-Jun-2003
Q: Is it possible to use a single application over a single Topic/Link to connect to multiple remote modems?
A: This would only be possible using HyperTerminal (or something similar) and a DSData Serial Link instead of a Modem Link. Also, the restriction would be that you cannot connect to multiple modems simultaneously. It has to be only one at a time because the DirectSOFT CommServer can only manage one modem link at a time.

There are quite a variety of ways of doing this, but here is a general outline of the steps:
  1. Use HyperTerminal to talk to local modem via a COM port.
  2. Use standard AT commands in HyperTerminal to call first remote PLC modem.
  3. Once remote modem connects, shut down HyperTerminal. You may have to configure HyperTerminal to NOT hang up the modem when it closes.
  4. In DSData create a Topic with a Serial Link to the COM port associated with the modem. (Do not create a Modem Link!).
  5. Use application to access values in the PLC.
  6. When finished, hang up modem, then repeat for next remote PLC modem phone number.

FAQ0022
27-Jan-2003
Q: Using DSData and OPC's AsyncRefresh routine and getting the wrong response for the TransactionID.
A: The AsyncRefresh routine is a OPC v2.02 routine. DSData only supports OPC v1.0a and the corresponding routine is IOPCAsyncIO::Refresh) and the parameter "TransactionID" is handled differently. Therefore you must switch to OPC v1.0a .dlls for this to work.


FAQ0023
04-Feb-2003
Q: Can remote PC get data from DSData running on local PC?
A: No, not directly. However, if the application running on the local PC has the ability, it could share the data with the remote PC, but this is a function of the local application getting data from DSData and not a function of DSData itself. But DSData was not designed for remote access, nor has it ever been tested this way. It's licensed to run on a single PC and provide a data connection to one or more applications on that PC.


FAQ0024
04-Feb-2003
Q: What are the restrictions on characters used in user-created Item Names?
A: DSData's restrictions for Item Names are as follows:

  1. The first character must be an alphabet or underscore (A-Z, a-z or _)
  2. Must not be a valid PLC address (e.g. V40400).
  3. Must be unique.
  4. Must not be empty.
  5. The client accessing DSData may have further restrictions on length and other.

FAQ0025
22-Nov-2002
Q: Will DSData work with NetDDE?
A: NetDDE was used in the days when DSData was a 16-bit application running on Win95. However, even then, Host was never able to get this reliably working.


FAQ0026
10-Dec/2002
Q: How do I access a subtopic in Visual Basic?
A: Like this::

In Visual Basic (the subtopic is actually part of the item, so it is referenced on the .LinkItem property):
Test.LinkTopic = "DsData|TopicName"
Test.LinkItem = "SubTopic.V1510"
Test.LinkMode = 1


FAQ0027
10-Dec/2002
Q: Can DSData be run as a service, or work with a client that is a service?
A: DSData is not a service application. If the OPC client talking to DSData is a service, it probably won't talk (will get errors). A WinNT service typically runs regardless of the login. And a WinNT service typically has two separate components, a user interface and a runtime. DSData has its GUI and runtime unified in a single application. Changing this would be a huge (read prohibitively expensive) undertaking. We've tried a few of the "run any executable as an NT service" programs with little success. The unified interface kills it.


FAQ0028
11-Feb-2003
Q: Have a PC using Matrikon OPC Explorer and DSData talking to 60 ECOMs. Is there a way to add a new ECOM without having to restart DSData?
A: No. There is no way to do anything to a DSData Topic while any Topic is being accessed. Must restart.


FAQ0029
23-Jul-2002
Q: Getting "Remote data not accessible" when starting client application.
A: This and various other errors like the following have a variety of solutions. Other errors somewhat related are:

Reasons for these errors:


FAQ0030
28-Feb-2003
Q: Do you have any examples of how to use Microsoft Access with DSData?
A: No. However in Microsoft Access you can use the Visual Basic editor to write code to access DSData. This is described in Chapter 5 of the manual.


FAQ0031
28-Feb-2003
Q: Is it possible to enable and disable a link in DSData using Visual Basic?
A: Yes. This is described in Chapter 5 of the DSData manual. The procedure starts on page 5-8 entitled "Using Subroutines To Read and Write Data." In this procedure instead of setting the LinkItem equal to a memory location in the PLC, set it to "Enable." This Item is one of the many that DSData predefines for every link created. By writing a "1" to Enable the link is accessible, by writing a "0" it is disabled.


FAQ0032
02-Dec-2008
Q: How can I write a column of data words in an Excel spreadsheet to V-memory?
A: You must create a macro in Excel, give it a name, enter the code and then execute this macro in some manner (manually, or on some trigger). Here is an example of writing a list of 16 words from column 'A' to V-memory starting with V2000 via a DSData Topic named "mytopic":

     Sub WritePLC()

          'Declare these variables as local
          Dim StartingAddress
          Dim NumberOfRows
          Dim CurrentAddress
          Dim RowPosition
          Dim VMemoryAddress

          StartingAddress = 2000     'Starting V-memory address in octal (e.g. V2000).
          NumberOfRows = 16     'Number of consecutive V-memory locations to write to.

          'The following formula converts the StartingAddress to a string, then...
          '...adds the &O (octal) radix prefix to that string, then...
          '...converts the octal representation to a usable decimal number.
          CurrentAddress = Val("&O" & Str(StartingAddress))

          'Open the DDE channel that uses a DSData TopicName called "mytopic"
          'You can change this to whatever your DSData Topic is named.
          Channel = DDEInitiate("dsdata", "mytopic")

          For RowPosition = 1 To NumberOfRows
               VMemoryAddress = "V" & Oct(CurrentAddress)     'Converts the CurrentAddress to a V-memory octal string.
               DDEPoke Channel, VMemoryAddress, Cells(RowPosition, 1)     'Writes data in the cell position to V-memory.
               CurrentAddress = CurrentAddress + 1
          Next RowPosition

          DDETerminate (Channel)

     End Sub


FAQ0033
04-Mar-2003
Q: Why can't v3.0 and v4.0 of DSData be installed on the same PC?
A: Because both v3.0 and v4.0 of DSData have the OPC Service name of "DSData OPC Server." And on a given PC only one name can be registered as an OPC Service name. Thus when you are installing v4.0 it will ask you to uninstall v3.0.


FAQ0034 (similar to DSData FAQ0009; see also DirectSOFT FAQ0065; ECOM FAQ0014)
07-Mar-2003
Q: How can I speed up the data throughput of my ECOM?
A: Consider the following:

  1. Give the ECOM an isolated network if possible, as network traffic can effect data through-put.
  2. ECOMs do at least 1 comm cycle of approximately 128 bytes per PLC scan, but in faster CPUs (e.g. DL260, DL05, DL06) it can do as many as 3. So using a faster PLC CPU will help. 
  3. Since the ECOM comm cycle is PLC scan dependent, then anything you can do to make the PLC scan faster will help. 
  4. Make sure no other applications or devices are talking to the same PLC via the same ECOM or serial port (e.g. like having DirectSOFT doing status while DSData is running, or PLC doing/responding to RX/WX from other PLC). There is only so much bandwidth between the serial port/ECOM and the CPU itself.

FAQ0035
17-Mar-2003
Q: Can't get OPC Client to browse OPC Items in DSData.
A: Probably one of these:


FAQ0036
18-Jun-2002
Q: Attempting event-based data logging. When Excel cell data changes, want to start data logging. Can you offer any hints?
A: There are two types of cell data changes (1) Editing the cell; (2) Non-editing cell data change.

(1) EDITING THE CELL - If the cell data changes based on an Excel edit, then Excel has a Visual Basic subroutine called "Worksheet_Change" that gets executed every time an edit occurs in Excel.

  1. Select Tools --> Macro --> Visual Basic Editor. 
  2. In the “Project – VBAProject” window at left, double-click on “Sheet1 (Sheet1)” to open it up. 
  3. In the “General” combo box at the top left of this now open Sheet1, select “Worksheet.” 
  4. In the combo box at the top right select the subroutine called “Change.” 
  5. Now enter this sample code:

          Private Sub Worksheet_Change(ByVal Target As Range)
               Dim cell As Range
               For Each cell In Target.Cells
                    If cell.Row = 1 And cell.Column = 1 Then
                         MsgBox "cell changed to " & cell.Value
                    End If
               Next cell
          End Sub

  1. After entering the code, then, of course save it. 
  2. Switch back to the Worksheet view (normal Excel view).
  3. Now if you edit Cell A1, you will get a message box (e.g. “cell changed to ”). 

This is just a sample. It is used to fire up a message box, but it could be used to execute a macro.

(2) NON-EDITING CELL DATA CHANGE - If the cell data changes based on something other than an Excel edit (e.g. macro changes it; value read from PLC changes it) then Excel has a Visual Basic subroutine called "Worksheet_Calculate" that gets executed every time Excel recalculates all its formulas:

  1. Select Tools --> Macro --> Visual Basic Editor
  2. In the “Project – VBAProject” window at left, double-click on “Sheet1 (Sheet1)” to open it up. 
  3. In the “General” combo box at the top left of this now open Sheet1, select “Worksheet.” 
  4. In the combo box at the top right select the subroutine called “Caculate.” 
  5. Now enter this sample code:

          Private Sub Worksheet_Calculate()
               MsgBox "cell changed to " & Cells(1, 1).Value
          End Sub

  1. After entering the code, then, of course save it. 
  2. Switch back to the Worksheet view (normal Excel view).
  3. Now if the data in Cell A1 changes, you will get a message box (e.g. “cell changed to ”). 

This, too, is just a sample. It is used to fire up a message box, but it could be used to execute a macro. For example, if the name of the macro was "MyMacro" then the subroutine would look like:

     Private Sub Worksheet_Calculate()
          MyMacro
     End Sub

Furthermore, note that the above Worksheet_Calculate() executes if ANY data changes in ANY cell of the worksheet. If, for example you just wanted to trigger a macro based on the data of a SINGLE cell changing it could look like this:

     Private Sub Worksheet_Calculate()
     'In this example we are interested as to whether Cell A1 changed value or not.
     'We store the previous value in Cell J10.
     'NOTE: For this to work properly, the FIRST time, you must copy the value of A1...
     '...to J10 beforehand either manually or with some startup routine.

          If Cells(10, 10).Value <> Cells(1, 1).Value Then     'Checks to see if Cell J10 is equal to Cell A1
              MyMacro     'If A1 has changed from its previous value (J10) then execute MyMacro
          End If     'If A1 has not changed from its previous value (J10) then do nothing.

          Cells(10, 10) = Cells(1, 1).Value     'Cell J10 is updated to its new value so the check will work the next time.

     End Sub


FAQ0037
25-Mar-2003
Q: Can an SQL Server get data from DSData?
A: The real question is can your SQL Server support DDE or OPC? If so, then, of course, you can get data directly from DSData.


FAQ0038
13-Aug-2002
Q: DSData works at first, but then after a while it locks up and my client can no longer get data from it.
A: This is probably caused by the client asking DSData for too much data too fast. Slow its access intervals and this should remedy the problem.


FAQ0039
31-Mar-2003
Q: Downloaded DSSTART from your website, but I can't get it to work. The line in my INI file looks like this:

App2=APP.EXE /r c:\he3\he3datalog.txt,C:\Program Files\Personal Folder\Folder,6

A: One of the drawbacks of DSSTART is that it does not support long filenames. Thus, the reason yours doesn't work is probably because you have long filenames as your working directory. Try shortening the pathname to the "hashed" one. For example:

App2=APP.EXE /r c:\he\he3dat~1.xls,C:\Progra~1\Person~1\Folder,6

Unfortunately, in this example, if you happen to have more than one foldername that starts with "Personal" then the hashed foldername "Person~1" may not be correct. Instead it could be "Person~2" or "Person~3." Sometimes (depending on the operating system), you can go to the Command Prompt and using a DIR command see how the systems hashes the folder you are interested in. But, some Command Prompts support the long filenames. In such cases you would probably just have to change it blindly and experiment.


FAQ0040
04-Apr-2003
Q: Can I copy .ESD Nicknames into the Subtopic level of DSData?
A: This is not possible. They are only copied at the Topic level.


FAQ0041
04-Apr-2003
Q: How can I delete Items from the list that has been copied from the .ESD file?
A: This is not possible because DSData makes a link to the .ESD file when it powers up. To make changes, therefore, to this list, you would have to modify it from the DirectSoft documentation editor itself. However just because the Items exist in the DSData list does not mean they are active and taking up communication time or DSData processing time. Instead, they are only made active when and if the client using DSData requests data from them.


FAQ0042 (see also DirectSOFT FAQ0088)
10-Apr-2003
Q: What is DBWin32 application?
A: It is a debugging tool used to troubleshoot and log vital information for applications like DS Data and DirectSOFT Programming.

With DS Data it can be utilized in two ways:

With DirectSOFT Programming it can be utilized for troubleshooting only. Follow the same procedure as above except, of course, start DirectSOFT Programming instead of DS Data. When you start the applications (e.g. DS Data, DirectSOFT Programming) you may be asked if you are sure you want to dump information in the logger. Just answer "Yes."


FAQ0043
10-Apr-2003
Q: What are the limitations of the DSData Demo?
A: Time only. It is fully functional for 30 minutes.


FAQ0044 (Similar to FAQ0021 & FAQ0064)
08-Apr-2003
Q: Is it possible to use a single application over multiple Topics/Links to connect to multiple remote modems?
A: This is possible using multiple DSData Modem links. Also, the restriction would be that you cannot connect to multiple modems simultaneously. It has to be only one at a time because the DirectSOFT CommServer can only manage one modem link at a time.

You would simply use DSData and create multiple Topics utilizing multiple Modem Links (i.e. different phone numbers). Since the DirectSOFT CommServer only supports one Modem Link at a time then you must disable the previous Link (i.e. write a "0" to the "Enable" Item) before accessing the next Topic. Writing a "0" to the "Enable" Item will cause the Modem Link to hang up. If it doesn't then this means that the Application is keeping the link "hot" or "live." The only way around this kind of response is to close the Application (which will definitely hang up the modem) and then reopen it using a different link.


FAQ0045 (see also DirectSOFT FAQ0013; similar to ECOM FAQ0024)
18-Jun-2008
Q: Need general help on communications from PC to PLC and establishing a link.
A: First of all, always make sure you are using the latest version of DirectSOFT possible.

Secondly, if you are using an ECOM and have WinXP on your PC with a firewall (particularly with SP2), then you must do one of the following:

     (1)  Turn the firewall off, or
     (2) Create an exception for CSMAIN.EXE application (located in the BIN folder under your DirectSOFT folder), or
     (3) Create an exception for port #0x7070 (28784) for both TCP and UDP protocols, which is the port number that all of our Ethernet devices use for communication.

Thirdly, you can control which communications resources on your PC you want to let DirectSOFT use by entries in the DirectSOFT initialization file (DS400.INI):

COMMUNICATIONS RESOURCES

You must edit DirectSOFT's DS500.INI file to change communication resources.
(To pull up the .INI file for editing, see DirectSOFT FAQ0204)

There are 3 parameters that can be modified regarding communication resources:
     (1) COMxEnable - To edit this resource in the .INI file, see DirectSOFT FAQ0008.
     (2) ModemEnable - To edit this resource in the .INI file, see DirectSOFT FAQ0008.
     (3) EthernetEnable - To edit this resource in the .INI file, see DirectSOFT FAQ0008.

NOTE: In some extremely rare cases with DirectSOFT versions older than v4.0, to totally disable Ethernet resources you not only have to do the above, but also you may need to rename the files Devether.DLL and Protoecm.DLL to Devether.OLD and Protoecm.OLD. Don't forget to rename them back after troubleshooting!

STARTUP

  1. Using the resources enabled in the .INI file, DirectSOFT's CommServer tries to find PLCs.
  2. If it finds some, it creates DirectSOFT links to them.
  3. If it finds none, then it comes up without creating links.
  4. As it attempts to use communication resources on your PC then one of the following happens:
  1. DirectSOFT comes up normally. Yay!
     
  2. "Error connecting to PLC!" or "No response from PLC!"
  1. "Error: cannot access comm port. The port may not be present or another app may be using it"
  1. "Transport protocol error"
This means you are using Ethernet as a link and it timed out and is commonly due to one or more of the following issues:
  1. "PLC is not in terminal mode!..."
  1. "Unable to open Online Program"
  1. "CSMAIN.EXE error" or DirectSOFT locks up or mouse hangs up.
  1. "Error opening connection to Ethernet device"
  1. "Comm error reading program from PLC"
  1. "Knowledge base mismatch"
  1. "Error attempting to access unlocked device"
  1. Goes offline by itself after using the link.
  1. Sometimes gets a PLC password prompt; but the PLC doesn't have a password!
  1. "Comm error unlocking PLC"
  1. "Support for the PLC type specified in the link is not installed"

MODEM LINKS

Modem links must be configured manually. Here is a checklist for getting a modem connection working:

USB-TO-SERIAL

These devices have drivers with them that should make them act like regular COM ports. (See DS Data FAQ0053 for approved USB-to-Serial devices tested by Host Engineering). However there have been a few vendors that don't do this with their drivers. DirectSOFT "thinks" it is talking to a COM port, Ethernet NIC, or modem. It doesn't know a USB-to-serial device.

The order of installation, however, seems to be important:

  1. Install USB device driver first.
  2. Connect the USB device secondly.

AUTOSENSE

Once links have been created for DirectSOFT, it validates these each time you start it. You can stop this from happening by editing the .INI file and changing AutoSense:
- To pull up the .INI file for editing, see DirectSOFT FAQ0204.
- To edit Autosense parameter in the .INI file, see DirectSOFT FAQ0008.
 

DUMP (for troubleshooting SERIAL and MODEM links)

When you can't figure why things won't work exactly right, you can use this debug function with a little help from Automation Direct, or Host Engineering. This parameter is in the .INI file.
- To pull up the .INI file for editing, see DirectSOFT FAQ0204.
- To edit Dump parameter in the .INI file, see DirectSOFT FAQ0008.

After making this change you should start the debug window logger:

  1. Start --> Programs --> DirectSOFT --> DirectSOFT Program Tools --> DBWin32 Logger
  2. Start DirectSOFT.
  3. DirectSOFT will ask you if you want to enable the debug mode. Answer <YES>.
  4. Now DirectSOFT will dump information into the open debug window.
  5. Save this data into a text file and send to Automation Direct or Host Engineering.

FAQ0046 (similar to FAQ0045; see also DirectSOFT FAQ0037)
03-Feb-2003
Q: First time starting DirectSoft v4.0, crashes and gets CSMain.exe error.
A: The first thing to check is to make sure that IPX protocol is loaded for the NIC that is installed (see DSData FAQ0093 for installing protocols). Part of this problem was remedied in v4.0 Build 18 so upgrading may very well fix the problem. ReadMe_P.htm file says: "3. CommServer -- Fixed CommServer crash when IPX not installed -- we hope!" However, we know there are still some other issues centered around IPX protocol that we are currently debugging.


FAQ0047 (see also DirectSOFT FAQ0091)
16-Aug-2002
Q: I have DirectSoft v4.0 Build 16, and in DS Launch, all the versions show as v4.0.016 except for one; DSData.exe shows up as v4.0.012.
A:  This is a bug in v4.0 Build 16. To fix, upgrade to at least v4.0 Build 18.


FAQ0048
20-Aug-2002
Q: Using a modem link with DSData; is there a way to make the modem status window invisible?
A:  No, not with DSData. If, however, you are writing Visual Basic code it may be possible to have it minimize immediately after it is activated. For example, it may be possible to look for certain text on the Task Bar using Visual Basic code. But how to do this is a question that must be put to the Microsoft Visual Basic help line.


FAQ0049
20-Aug-2002
Q: Using a modem link with DSData; is there a way to read the modem errors that may occur?
A:  No, not directly with DSData. If you are using a modem link then you are allowing DSData to control the modem. Because of this there is no direct access to the modem itself. However, here is an idea if you are using Visual Basic to access DSData:

  1. Familiarize yourself with TAPI (Telephony Application Pgramming Interface) coding and then write Visual Basic code to control the modem yourself instead of allowing DSData to control it.
  2. Configure DSData to use a serial comm link (e.g. COM5) instead of a modem link.
  3. In your TAPI Visual Basic code, control the modem via this comm link (e.g. COM5).

Controlling the modem yourself with TAPI code would allow you to have access to the modem errors, however writing this type of control yourself is time consuming and takes quite a bit of Visual Basic coding.


FAQ0050
20-Aug-2002
Q: Is it possible to make the DSData server invisible when it is running?
A:  Yes. Follow these steps:

  1. Start DSData.
  2. From the menu select View --> Options... (This pulls up the DSData Server Options window).
  3. In the "Run DSData Server box," select "on System Tray."
  4. Click the OK button.
  5. Click the Minimize button at the top right of the DSData Server window. (Notice that DSData no longer appears on the Task Bar; instead the DSData icon appears on the System Tray at the bottom right.)
  6. Now right-mouse click on the icon in the System Tray and pick Close from the sub-menu.

Now, the next time you start DSData, it will not appear on the screen, nor will it appear on the Task Bar. Instead, all that will appear is the small DSData icon in the System Tray.


FAQ0051
15-Apr-2003
Q: Is it possible that data throughput is slower with DSData than with the DDE Server?
A:  Yes. On a few PC / Operating System / application combinations we've seen better responses with the DDE Server than with DSData. Without getting too technical, the 16-bit DDE Server basically had one copy of the DDE data and the pieces of the DDE Server sent messages to each other to process the data. Because of the protected-mode nature of 32-bit applications, the DSData Server requires two copies of the data; one in the communication server and on in DSData. This means that the various pieces need to send process messages as well as actual data to each other. The up-side is that WinNT and Win2K are optimized to handle these types of applications.


FAQ0052
15-Apr-2003
Q: My Visual Basic application is very slow to load when it uses DSData. Why is this and what can I do to make it faster?
A:  On startup, Visual Basic consumes an inordinate amount of CPU time. When it does this, it prevents the Windows DDE Messaging system and DSData from getting any CPU time to process communications requests. To make the problem worse, this lag causes the communications requests to time out, which in turn generates retries. Once Visual Basic (VB) has completed its startup, the communications can take place, and the system becomes responsive again. We've seen delays as high as 30 seconds on some PCs. However, there is a way to "trick" the system into coming up faster by causing all of the initial communications requests to fail immediately. In the FormLoad method, by setting the DDE Timeout value to 0 and ignoring any errors, we get a window of opportunity to get the data points logged into DSData. We then reset the Timeout values back to a reasonable value, like 50, after the form has successfully loaded. Here's an outline of the process:

Sub FormLoad
    On Error Resume Next

    TextBox1.LinkTimeout = 0
    TextBox1.LinkMode = 1

    'Repeat the above for each TextBox or Label.
    'If you create arrays of TextBox's or Label's, you can use a For/Next loop to do this

    Set TextBox1.LinkTimeout = 50
    'Repeat the above for each TextBox or Label

End Sub


FAQ0053 (see also DirectSOFT FAQ0011)
17-Jun-2002
Q: Trying to get USB adapter to work, getting "Comm Error - Cannot access comm port. The port may not be present or another application might be using it."
A: Make sure that there are not any other devices (like internal modems) using the COM port that the USB adapter driver is trying to use. Also, it is recommended that you upgrade DirectSoft to at least v4.0 Build 18, or v3.0 Build 80. Or make sure you use a USB that has been approved and tested by Host Engineering for use with DirectSoft. Also, it is recommended that you:

  1. Install USB device driver first.
  2. Connect the USB device secondly.

 This list is updated as we go:


FAQ0054
16-Apr-2003
Q: How can I display a value from DS Data in an Excel TextBox?
A: Following are two examples. First create a DS Data Topic (e.g. Test).

Example#1:

  1. In cell A5, enter     =dsdata|test!v7747    (V7747 in most DL PLCs is incrementing automatically).
  2. Right-click on your TextBox and pick Properties.
  3. Under the parameter called LinkCell enter A5.

Example#2:

  1. In cell A5, enter     =dsdata|test!v7747
  2. For the TextBox, on the formula line enter    =$a$5

FAQ0055
29-Feb-2008
Q: When I start up my PC, my client application starts trying to access DSData before it gets up and running. How can I remedy this?
A: Host Engineering has created a utility called DSStart that will allow you to sequence the startup of several applications with a single icon, usually in your Startup group. You specify the application name along with a delay time. However, this utility is an older 16-bit application that does not understand long file names. Therefore you must use the hashed names for pathnames that are longer than 8 characters (e.g. "c:\Program Files\.." would be entered as "c:\Progra~1"). You can download this utility here: DSStart.ZIP.


FAQ0056
09-Sep-2002
Q: In DSData there is an Item named "Enable" that I did not create. What is this used for?
A: This Item is automatically created for every Topic in DS Data. It allows you to manually control a link. If it is set to "1" then the link is enabled; if it is set to "0" then the link is disabled and is not being used. For details on how to use this see the DS Data manual (e.g. in 2nd Edtion Rev. A, Chapter 3, page 3-16). The basic format is:

     Sub DisableLink()

          Channel = DDEInitiate("dsdata", "mytopic")     'Open DDE channel to DS Data topic
          DDEPoke Channel, "Enable", Cells(1, 1)     'If Excel cell A1 (i.e. Cells(1, 1)) has a the value of "0", this will disable "mytopic" link.
          'To re-enable the link, make sure Excel cell A1 has the value of 1, and re-execute this macro.

          DDETerminate (Channel)     'Closes DDE channel to DS Data topic

     End Sub


FAQ0057
08-May-2003
Q: Using Excel, how can I log multiple V-memory locations using a macro, but without them continuously updating?
A: The following macro example gets 16 V-memory locations from the PLC staring at V2000. It is designed to work with a DS Data topic by the name of "Mytopic":

     Sub GetSomeData()

          'Declare these variables as local
          Dim StartingAddress
          Dim NumberOfRows
          Dim CurrentAddress
          Dim RowPosition
          Dim VMemoryAddress

          StartingAddress = 2000     'Starting V-memory address in octal (e.g. V2000).
          NumberOfRows = 16     'Number of consecutive V-memory locations to log.

          'The following formula converts the StartingAddress to a string, then...
          '...adds the &O (octal) radix prefix to that string, then...
          '...converts the octal representation to a usable decimal number.
          CurrentAddress = Val("&O" & Str(StartingAddress))

          'Open the DDE channel that uses a DS Data TopicName called "mytopic"
          'You can change this to whatever your DS Data Topic is named.
          Channel = DDEInitiate("dsdata", "mytopic")

          For RowPosition = 1 To NumberOfRows
              VMemoryAddress = "V" & Oct(CurrentAddress)     'Converts the CurrentAddress to a V-memory octal string.
              Cells(RowPosition, 1).Value = VMemoryAddress     'Lists the data point in the column beside the actual values. 1 is the A column.
              Cells(RowPosition, 2) = DDERequest(Channel, VMemoryAddress)     'Lists the actual value. 2 is the B column.
              CurrentAddress = CurrentAddress + 1
          Next RowPosition

          DDETerminate (Channel)

     End Sub


FAQ0058
06-Aug-2002
Q: Why can't I add an Item to DSData using the menus?
A: This is not possible at the moment. Now you have to right-click on the TopicName and select Add Item... However, this will probably be added to later versions of DSData (i.e. greater than Build 22).


FAQ0059
11-Sep-2002
Q: What is the Class ID number for DSData?
A:  5C03F88E-8AC9-11D3-A47D-00C0F0323521


FAQ0060
11-Sep-2002
Q: Can DSData be closed from another application?
A:  Yes. This is the same as shutting down any other Windows application. Like in VisualBasic you would use FindWindow API, followed by WM_CLOSE. DSData has actually 2 pieces; (1) DSData itself; (2) CommServer (CSMAIN). Closing DSData may not necessarily close the CommServer (CSMAIN) if, for example, you have DirectSoft Programming running. The reason is that both DSData and DirectSoft Programming use the same CommServer.


FAQ0061
21-Aug-2003
Q: Is it possible to get data into an Excel spreadsheet and perform mathematical operations on it before you output the data to a cell?
A:  Yes. The following macro is an example of how you can do this:

     Sub GetSomeData()

          Channel = DDEInitiate ("dsdata", "topic")
          Fred = DDERequest (Channel, "V7747")     'V7747 was picked because in most DL PLCs this is a changing clock value.

          'DDERequest returns an array data type. So now Fred is an array.

          Cells(1, 1) = Fred     'Displays the value from V7747 in Cell A1.
          Wilma = Fred(1) + 1000     'To use Fred in an expression, you must use its array form.
          Cells(2, 1) = Wilma     'Displays the new value in A2.

          DDETerminate (Channel)

     End Sub


FAQ0062
05-Dec-2002
Q: When I execute my Visual Basic program that is supposed to talk to DSData, I get "DDE method invoked with no channel open" error.
A:  According to MSN Internet website, this error means that a DDE method (LinkExecute, LinkPoke, LinkRequest, or LinkSend) was performed on a control that isn't involved in a valid DDE conversation. It lists two proposed solutions:

  1. Changing the LinkTopic property terminates an existing DDE conversation, but doesn't automatically establish a new conversation. After changing the LinkTopic property for a control, you must set the LinkMode property of the form to 1 (Automatic) or 2 (Manual) before executing a DDE method on this control.
  2. You executed a DDE method on a control with LinkMode set to 0 (None). Set LinkMode to 1 (Automatic) or 2 (Manual) and try again.

FAQ0063
09-Jun-2003
Q: How can I get my VB.NET application working with DSData?
A:  DSData has two means by which it passes information on to its client application; (1) DDE or (2) OPC. Therefore it is necessary that any client application wishing to communicate with DSData speak one of these protocols. By default VB.NET does not support DDE nor OPC. Therefore to get VB.NET to talk to DSData two software components must be added to VB.NET:

  1. OPCDA Client/Server.
  2. OPCDA.NET Wrapper Layer.

In the above diagram:

The components you need to purchase are being sold by a number of companies. One of those companies is called "Techno Software." (See http://www.technosoftware.com).


FAQ0064 (Similar to FAQ0021 & FAQ0044)
08-Oct-2003
Q: Is it possible to use a single application over multiple Topics/Links to connect to multiple modems simultaneously?
A:  Simultaneous Modem Links are not possible because the DirectSOFT CommServer can only manage one Modem Link at a time. However, it is possible by using HyperTerminal (or something similar) and multiple DSData Serial Links because DirectSOFT CommServer can manage multiple simultaneous Serial Links.

There are quite a variety of ways of doing this, but the general steps are outlined below:
  1. Use HyperTerminal to talk to first local modem via a Serial Link to the COM port associated with that modem.
  2. Use standard AT commands to call remote PLC modem.
  3. Once remote modem connects, shutdown HyperTerminal (you may have to configure HyperTerminal to NOT hangup when shutting down).
  4. Create a Topic with a Serial Link to the COM port connected to the modem. (Do not create a Modem Link).
  5. Repeat Steps 1-4 as needed for each modem.

When you are finished you should have your multiple modems connected simultaneously to multiple PLCs.


FAQ0065
14-Jul-2003
Q: If using DSData and the PC's power fails, when the PC comes back up instead of DSData starting back and working without manual action, I get the message, "Database not closed properly" and I have to manually close this. How can I get around having to take manual action?
A:  This is caused by shutting down improperly. By shutting down DSData properly this can be prevented. However, if this is not possible then as of DSData v3.0 Build 44 and later, you can turn all messages off for DSData by adding a line in the DS400.INI file. To edit the see DirectSOFT FAQ0204. Edit the file and make it look like:

[COMMON]
MessageBoxTime=5

The number '5' means that the startup error message will self-acknowledge and disappear in 5 seconds. If you put a zero there, it will wait forever (i.e. no change in behavior). You can set this number to just about any value you want (within reason, of course).

WARNING:  This line turns off messages for the CommServer which is the driver that DSData uses to talk to the DL PLCs. DirectSoft Programming software also uses the same CommServer; so turning these type messages off for DSData will also turn them off for DirectSoft Programming software.


FAQ0066
08-Dec-2003
Q: After attaching an ESD document to my DSData I noticed that none of the V-memory Nicknames were shown.
A:  This and a wide variety of other bizarre symptoms usually are associated with a corrupt documentation database in your DirectSoft Programming project. Many times when the database is corrupt it is not repairable and you must revert to a backup copy. See DirectSOFT FAQ0040 for possible solutions to this and other documentation problems.


FAQ0067
26-Sep-2002
Q: What is the maximum number of Topics that can be created in DSData?
A:  Essentially this is such an enormous number (greater than 16,000) that it is not practical to even publish the limit. So create as many as you need.


FAQ0068
26-Sep-2002
Q: Using Wonderware to talk to DSData. Application works for a long time and then gets, "DSData has received too many errors, shutting down the server."
A:  This is an accumulated error problem. Some things to consider and try:


FAQ0069 (see also DirectSOFT FAQ0125)
26-Sep-2002
Q: When configuring a link, on the Port tab, Advanced Settings, what does "Application Timeout" VS "Timeout" mean?
A:  Refer to the diagram. "Application Timeout" is the time the client will wait on the link to CommServer for a response. "Timeout" is the time the CommServer will wait for a response from the PLC.


FAQ0070 (see also DirectSOFT FAQ129; ECOM FAQ0030; NetEdit FAQ0009)
03-Oct-2002
Q: Does the ECOM work with DHCP? Or does the PC's NIC have to have a static IP address in order to communicate with an ECOM?
A: The ECOM does not support DHCP addressing, (ECOM100s support DHCP). The ECOM must have a static IP address. However, the PC that is talking to the ECOM does not have to have a static IP address. Things to consider:


FAQ0071
04-Sep-2002
Q: If I start DSData before my PLC, then the link in DSData is disabled and it can't be used even after the PLC is up and running.
A: This is because when DSData starts up it checks all its links and determines which ones are up and which ones are down. The ones that are down are disabled (Item "Enable" is set to 0). However, your application has full access to this "Enable" Item in DSData. It is created for all links. Therefore, after the PLC is up and running you can have your application to write a "1" to the "Enable" Item in DSData for this link and it will start working. It will stay "1" until you shut down DSData. It will even stay "1" if the PLC goes down after this.


FAQ0072
15-Oct-2002
Q: Which versions of DDE Server and DSData work on which versions of Windows?
A: See the following chart:

Product Version Windows Operating Systems
Win3.11 Win95 Win98 WinME WinNT4 Win2K WinXP WinXP64 WinVista WinVista64
DDE Server v1.7a X X X X X (1)          
DSData v3.0     X X X X X (2) X (2)
v4.0     X X X X X (2) X (2)

(1)  Runs in the WinNT NTVDM (virtual DOS machine) as a low-priority 16-bit application. It will fully utilize CPU time (e.g. 99%) when it can.
(2)  Have not tested officially but probably will work.


FAQ0073
01-Nov-2002
Q: Is there a way to use the DSData modifier suffixes in DSData itself?
A: No; this is a client-side feature. Whatever application is asking for data from DSData must add the data modifier suffix to the Item name; then DSData will recognize it and perform the desired data conversion.


FAQ0074 (see also DirectSOFT FAQ0155)
15-Nov-2002
Q: Are there any plans for a DSData, or DirectSOFT version for Pocket PCs (WinCE)?
A: Not as of 2004; but we are considering it.


FAQ0075
02-Dec-2002
Q: Are there any examples of how to use DSData?
A: Yes. These examples are located (by default) under c:\DirectSOFT4\Project\Examples\DSData folder.


FAQ0076
03-Dec-2002
Q: How do you set up Entivity using its OPC driver to talk to DSData?
A: You can download a Microsoft Word document here that shows how this is done in step-by-step format.


FAQ0077
04-Dec-2002
Q: When DSData is closed, I still see CSMAIN running in the Task Manager.
A: CSMAIN is the communications server (CommServer) that is used by DSData, DS Launch and DirectSOFT Programming. Therefore, if you have DirectSOFT Programming software running and shutdown DSData, the CSMAIN application stays up because it is being utilized by DirectSOFT Programming.


FAQ0078
19-Apr-2004
Q: How can I get data from PLC into Microsoft Word document?
A: Follow these steps:

  1. Start Microsoft Word: Start --> All Programs --> Microsoft Word.
  2. Select Insert --> Field.
  3. Press the <Formula...> button.
  4. Backspace over the = and type in DDEAUTO DSData LinkName ItemName.
  5. Click <OK> button.

Use the LinkName that you have configured in DSData; and use either an ItemName you have configured in DSData, or use an actual memory location (i.e. V2000). For complete details see the DSData to Microsoft Word.DOC.


FAQ0079
11-Dec-2002
Q: How many simultaneous links can I have in DSData?
A: As many as you like. The only limitation is the capabilities of your PC and its ability to keep up with the data.


FAQ0080
16-Dec-2002
Q: I am unable to write to the Enable Item in DSData; nothing happens.
A: This is a bug in DSData that occurs if you start up DSData with the Links disconnected. So if you desire to manipulate the Enable Item for a Topic, you have the following options as work-arounds:


FAQ0081
19-Dec-2002
Q: Getting various errors in client application (e.g. "Cannot obtain data from DSData for TopicName, ItemName).
A: These kind of errors are probably due to the client application asking for a memory location that is out of range for the particular PLC that you are connected to. For example asking for a VC2000 from a DL06 would be invalid because the last VC-memory location in a DL06 is VC1760.


FAQ0082
12-Nov-2002
Q: How can I print in DSData?
A: Unfortunately we have not added this feature to DSData as of yet. Currently the only way to do this is to do Print Screens; or Screen Captures (e.g. <ALT> <PrtScn> buttons).


FAQ0083
03-Feb-2003
Q: When I try to access DSData from my application I get, "No application can use this link."
A: This is probably because of one of three reasons:


FAQ0084 (see also DirectSOFT FAQ0170)
19-Nov-2002
Q: I need to make changes to my DS500.INI (or DS400.INI or DS300.INI) file but I can't edit it.
A: This is probably because the file is in the Windows folder and you do not have Admin privileges. We plan on either eliminating the need for this critical file in later versions of DirectSOFT (probably v5.0) and DSData, or putting it in a folder where Admin privileges are not required to edit it. But for now, you will have to have your Administrator help you out.


FAQ0085 (similar to DirectSOFT FAQ0016)
17-Sep-2004
Q: Installing DSData and get "Uninstaller setup failed to initialize" and then a crash with message "InstallShield engine has encountered a problem and needs to close."
A: This means that InstallShield was unable to create the UnDSD.ISU uninstall log file for some reason. This error is just a warning and shouldn't interfere with completing the installation. Possible fixes:
     - Just press the <OK> button and ignore the message.
     - Make sure you have Administrator rights on your PC.
     - Uninstall and then delete all the .ISU files associated with DirectSOFT and then try again:
          Files to delete:
          1)  UnDSP.ISU
          2)  UnDSD.ISU
          3)  UnCTRIO.ISU
          4)  UnERM.ISU


FAQ0086 (similar to DirectSOFT FAQ0016)
22-May-2003
Q: Trying to run the DSStart program in WinXP and get, "The Win16 SubSystem was unable to Enter Protected Mode. Dosx.exe must be in your Autoexec.nt and present in your Path."
A: This is an NTVDM (WinNT Virtual DOS Machine) subsystem error. Try the following link for a fix:  http://support.microsoft.com/default.aspx?scid=kb;EN-US;314106


FAQ0087 (see also DirectSOFT FAQ0180; NetEdit FAQ0012; EBC FAQ0052; ECOM FAQ0040; EDRV FAQ0010; ERM FAQ0034; EZ Ethernet FAQ0026)
27-Apr-2004
Q: Getting various errors when attempting to use NetEdit to see or establish a link to a Host Ethernet device.
A: Here are know errors and their suggested solutions:

CAUTION: You may want to consult your Network Administrator before doing any of the solutions below! He/she may not want you to change your PC's setup at all!


FAQ0088 (see also ECOM 0028; EBC FAQ0033, ERM FAQ0020, EDRV FAQ0007, EZ Ethernet FAQ0017; DirectSOFT FAQ0181; SDK FAQ0012; NetEdit FAQ0013)
20-Nov-2003
Q: What Ethernet protocols are used by your products?
A: Refer to chart below:

Product Ethernet Protocols
UDP/IP IPX TCP/IP Raw Ethernet Broadcast (1)
K-seq DirectNet ECOM (2) Koyo Backplane User Defined Data Proprietary (1) K-seq DirectNet ECOM (2) Proprietary (1) Modbus TCP Master Modbus TCP Slave Proprietary (1) Koyo Backplane
Hardware ECOM X X X X (3) X (4)   X X X         X (5)
ECOM100 X X X X (3) X (4)   X X X   X (6) X   X (5)
EBC           X       X        
EBC100           X       X   X    
ERM           X (7)       X (7) (8)      
EDRV           X       X   X (12)    
EZ Ethernet X X X       X X X          
EZ EtherPLUS X X X       X X X   X      
WinPLC                         X  
Software DirectSOFT X X X       X X X          
DSData X X X       X X X          
Ethernet SDK X (9) X       X X (9) X   X        
NetEdit X (10)         X (11) X (10)     X (11)        

(1)  Not an industry standard. However, protocol is available for 3rd-party development upon request.
(2)  Not really a distinct protocol. This setting is used to intelligently pick K-sequence or DirectNet as needed by the hardware/software.
(3)  Used when doing ECOM-to-ECOM via RX/WX instructions with RX/WX Node Map configured in sending ECOM.
(4)  Used when doing ECOM-to-PC (Report-by-Exception) via RX/WX instructions (Address 90 only) with ECOM's dipswitch 7 set ON.
(5)  Used when doing ECOM-to-ECOM via RX/WX instructions without RX/WX Node Map configured in sending ECOM.
(6)  RX/WX Node Map must be configured in ECOM.
(7)  ERM can talk to one slave with UDP/IP and another with IPX simultaneously.
(8)  Planned for Dec2004-Feb2005.
(9)  Requires K-sequence protocol spec (request from Automation Direct)
(10)  Uses K-sequence to perform "Test CPU Access!" function.
(11)  Uses this protocol to perform "Show Base Contents..." function.
(12)  The older HA-EDRV2 cannot talk Modbus TCP.


FAQ0089 (see also ECOM FAQ0016; DirectSOFT FAQ0066)
20-Mar-2008
Q: How can I make a link with DirectSOFT (or DS Data) to a single ECOM/ECOM100 or multiple ECOMs/ECOM100s 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 ECOM/ECOM100(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 (Virtual 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 single ECOM on the Internet that you can practice with. Its IP Address is 12.69.41.166.

Method #1 (Direct Connect)

Multiple ECOM/ECOM100 Instructions: In this method if connecting to multiple ECOM/ECOM100s, it is assumed that each ECOM/ECOM100 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.

DirectSOFT Link Configuration to connect to PLC1:
     1.  Build link in DirectSOFT.
          a.  On PLC tab select:
                    PLC Family - Direct LOGIC 205 Series
                    PLC Type - 250

          b.  On the Port tab select:
                    Devices - Ethernet
                    Transport - Winsock
                    Transport Protocol - UDP/IP
                    Node Address - IP Address 12.69.41.166 (Registered Internet IP Address of Host's ECOM)
                    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.166
                               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)

          c.  On the Protocol tab select:
                    Protocols - ECOM

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

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

 

Method #2 (Indirect Connect)

Multiple ECOM/ECOM100 Instructions: In this method if connecting to multiple ECOM/ECOM100s, they are assumed to be located behind the gateway/router on an internal n