Simply Modbus logo

Support and Troubleshooting

Common Questions

Do the tools work on Windows 10 & 11?

The Simply Modbus Software products can be used on Windows 10 & 11. The software used to compile them does not claim compliance because it was released before Win10 & 11. We’ve had very few issues reported regarding the 8.x.x versions on Windows 10 & 11.

Here is the main issue and a workaround. Windows 10 & 11 may not allow write access to the Program Files (x86) folders for non-administrators. This folder is where the Simply Modbus programs normally saves config and log files.  Error 8 appears when trying to save to the read-only folder.

When launching the Simkply Modbus tools, select "Run as administrator" from the right-click menu of the exe or shortcut. This should allow saving files to the default folder.

Can a license be transferred to another PC?

A  license can be transferred from one PC to another.   You simply install the program and license on the new PC in the same way as the original PC.  When the program is started and prompts for a license code, use the same original license code.   We suggest uninstalling the program from the original PC for good license management.

Do the licenses expire?

No, the license keys do not expire.  They are valid for all current and future versions of the tool.

Why would a license key show as invalid?

Be sure the license code is entered with all letters as capital letters and no spaces at the start or end.

We have 3 tools available. Please make sure you are entering the key in the correct tool.

          The TCP Client requests data from a TCP Server (aka TCP Slave) 
          similar to the Master program except
          connection is through your PC's Ethernet port.
         
          The RTU/ASCII Master requests data from a Slave
          similar to the TCP Client program except
          connection is through your PC's serial port.
         
          The RTU/ASCII Slave looks for requests from a Master
          and sends data responses 
          through your PC's serial port on a serial network.  

How do I avoid having to enter the license key every time I start the program?

The issue is likely due to permissions. It is not an issue with most users. Try making the folder  "C:\simplymodbus\licenses\"  before entering the key. This may help the program 'remember' the license key.  

Can the Master tool connect to the Slave tool?

Yes, using hardware. Both tools use a serial port to communicate. Therfore as long as you have two ports available and a null-modem cable to run beween them, communication between the two tools will work well.     more info...

What if there is no response from the slave?

Check the slave address, wiring, termination resistors, and serial settings. Also verify that the slave device is powered and configured correctly.     more info...

If the message fails immediately, make sure the “fail in” time is not too low or set to 0.   This is the amount of time the program will look for response bytes before timing out and chalking up a failed message. I suggest using at least 2 seconds or maybe 5 if the slave is slow to respond.  

What if the TCP Client doesn't connect?

TCP Connect is a windows function and the TCP Client program does not have a lot of control over this.
It may help if the first 3 numbers in the TCP client's IP address are the same as the first 3 numbers in the slave (TCP server).
eg.    158.10.14.9  and 158.10.14.12     more info...
 

What if the Master or Slave can't open the COM port?

Make sure no other software is using the COM port. Check Windows Device Manager to confirm the COM port number and verify drivers are installed for any serial converter you may be using. You may need to restart for some programs to release the port.  

What if there are CRC errors?

CRC errors are usually caused by incorrect baud rate, parity, or wiring issues. Verify serial settings match the slave device and check RS485 A/B wiring.  

How do I stop the settings from changing?

Uncheck "Use defaults". This option is designed to help the user select the right settings. If checked, whenever First Register is changed, its value is used to lookup and preset some of the settings for you.

For example, setting First Register to 40100 with "use defaults" checked,    will also select function code 03, offset 40001 and 16 bit register size.    (for a standard modbus holding register request). If you want to use other settings, uncheck "Use defaults".  

Error Codes

What do these error codes mean?

TARGETDIR2 error while installing

TARGETDIR2 is undefined - the Directory table seems malformed. Aborting...
See this Knowledge Base article.  TARGETDIR2 installation error (NI Knowledge Base)
Try making the directory "C:\Users\Public\Documents" before installing.

Error 1

The source of Error 1 is unknown but may go away if you try again. The only decription provided is "An input parameter is invalid", which isn't much help. If in the Write window, try closing and re-opening it. If that doesn't work, you may need to restart the program, or the whole PC.

Error 8

Windows 10 & 11 may show error 8 and not allow write access to the  Program Files (x86) folder.
The default location for config and log files is in the "Installed in folder"... in Program Files (x86). 

Even as an administrator, when launching the program you may need to right click on the exe (or a shortcut) and select "run as administrator" to have write access to the required folders.

Error 37

Error 37 occurs when the program cannot find the selected serial port. This can be due to the port not existing on the PC, or another program is holding exclusive access to it,  or a missing serial port driver file. If using a tool version lower than version 7,  first make sure the file named 'serpdrv' is in the same folder as the exe. This file is included in the zip download.

Error 62

Error 62 - "Connection aborted" appears when the system thinks the slave (TCP Server) is closing the internet connection.  Disconnecting and reconnecting may solve the issue. Otherwise try restarting the PC.

Error 63

Error 63 appears when the program can’t find the server. Check to make sure you have the IP address and port entered that exactly match the settings in the server you are trying to connect to. No hidden spaces or other characters. Try setting the first 3 numbers in the slave/server ip address to match the ip address in your PC, the client/master.   Is the slave set to use something other than the default port 502? If in the Write window, try closing and re-opening it.

Error 66

Error 66 occurs if the TCP/IP connection is "closed by the peer". In this case, Windows notices that no data is returned within a certain time, and it closes the TCP/IP connection. When the program attempts to communicate after Windows closes the connection, error 66 is the result.  Again, disconnecting and reconnecting helps sometimes. If in the Write window, try closing and re-opening it.

Error -1073807194

This is a communications error that can appear if you disconnect the serial cable when as it is trying to read the targets registers.  The only way to resore it is to close and reopen the tool.  For more information, see   Error 1073807194 when communicating over serial port

Error -1073807202

This is shown in version 7.x when the VISA drivers cannot be found. Re-installing or Downloading and installing NI-VISA run time engine 4.2 from the NI website should resolve the error. Download NI-VISA Runtime Engine Upgrading to Version 8.x should also fix the error.

Error -1073807253

A Framing error occurred during the transfer. This could possibly be fixed by trying different serial settings for stop bits or partity.

Error -1073807298

Could not perform operation because of I/O error. We are not sure what causes this error. National Instruments suggests: "Ensure that there are no processes interfering with the I/O ports of your device (Modbus I/O Servers, etc.)." Closing and restarting the seeion may resolve the issue. Trying a different serial port or adifferent port adapter may help.

Error -1073807339

Timeout expired before operation completed. Try restarting the program or increasing the “fail in” time, or maybe a different baud rate..

Do you have a TCP Server tool?

Sorry but we do not have a TCP Server (slave) simulator, just the RTU/ASCII Slave. The RTU/ASCII Slave connects through a serial (COM) port.

You may be able to find a virtual serial port program that redirects the COM port traffic to an IP address, or hardware that can do the same. This could work with the RTU Slave program for RTU-over-TCP protocol, but not Modbus TCP/IP which adds a header to the RTU message and removes the CRC error check.  

Can I send a Function code 08?

Function code 08 is for dignostics and is not included in the list of supported function codes, but there is a way to send these.  
The standard read function codes use an 8 byte request.  For example:
    01   Slave ID
    03   Function Code
    00 00   First Register requested
    00 01   The number of registers requested
    84 0A   CRC for error detection
 
A Function code 8 request is also 8 characters:
    01   Slave ID
    08   Function Code
    00 02   Sub-Function code
    00 00   Data (usually 00 00)
    41 CB   CRC for error detection
 
Use these settings for sub function 02 for example.
    Uncheck "Use defaults" so you can change to function code 8.
    Enter the sub function code as the First register.  0 for 00, 11 for 0B
    Enter the data, 0, as the No. of Registers
 

The response is an echo of the request for sub function 00.
The response is the "Total Message Count" for sub function 0B.  

Can I write String Data Types?

The Simply Modbus programs does not directly support writing 'string' datatypes.But you can fake it.
Here is a standard Modbus RTU example with 16 bit registers (2 characters per register)

String to write: "Gallon/Min"
This string is 10 characters long, so it will need 10 bytes (5 registers).
Each register need a value equal to the Combined integer of the two ASCII codes.

ASCII
Characters
ASCII codes
(decimal)
ASCII codes
(hexadecimal)
Combined
16 bit integer
(decimal
G a 71   97 47 61 18273
l l 108 108 6C 6C 27756
o n 111 110 6F 6E 28526
/ M 47   77 2F 4D 12109
i n 105 110 69 6E 26990
If you write these five 16 bit integers into consecutive registers using the Simply Modbus Master or TCP Client write window, the main read window can read them back as the 10 character string "Gallon/Min".  

Contact Support

If you cannot find the answer to your question, please contact support and include details about your setup, Modbus device, Program name (RTU Master, TCP Client, etc.), Description of the problem and Screenshot if possible.

Email Support