Simply Modbus logo

 


Home

About
MODBUS


About
Enron
MODBUS


RTU Master
manual6
manual7
manual8

RTU Slave

TCP Client

Download

Purchase

Contact

   

 

Operation Manual

Simply Modbus Master 7.1.2

Modbus RTU Master and Modbus ASCII Master Emulator

System Requirements:

Windows NT, 95, 2000, XP, Windows7

display resolution: 800 x 600 minimum

PC with serial port (built in, serial card or USB serial port)
 

Installation - Simply Modbus Master 7.1.2 (8.60 MB):

Click to download  SimplyModbusMaster7.1.2Install.zip

Unzip the compressed files into a common folder on your hard drive.

setup.exe                          - the install program
setup.ini
data.cab
install.msi
InstMsi.exe
InstMsiW.exe
Readme Master 7.1.2.txt                - documentation
Read me for Windows7.txt    - documentation

- Run setup.exe to start the Simply Modbus Master 7.1.2 Installation Wizard

- Follow the prompts. The program will start automatically when the installation is complete.

- Running setup.exe a second time will uninstall the program.

For Windows 7, In the exe file properties, set XP Compatibilty : SP3.

Known Issue with version 7.1:  Error-1073807202 is shown when the VISA drivers cannot be found.
Downloading and installing NI-VISA run time engine 4.2 from the NI website should resolve the error. http://www.ni.com/download/ni-visa-run-time-engine-4.2/832/en/

Simply Modbus Master 8.0 looks and runs exactly like Simply Modbus Master 7.1.2 but was created using a newer compiler. It is a significantly larger download and install program. It is compatible with the newer Windows versions.

Simply Modbus Master 8.0 will automatically use a license for Simply Modbus Master if already installed on the PC.

 

Starting the program

Select Simply Modbus Master 7.1.2 from the Program area of the Start Menu.

You will see the demonstration startup window.

Master 7.1.2 loading demo window

The progress bar will take approximately 15 seconds to load the demonstration version.
During this time, you can press the ENTER KEY and see

 'Enter License Key' popup

After purchasing and receiving a license key by email, enter the key and press OK.

The licensed program
               - goes immediately to the main Simply Modbus Master Read window and bypasses the Loading Demo startup window.
               - allows unlimited reads and writes.

The demo version
               - offers full functionality
               - requires a program restart to send more than six read requests or one write command.

The Simply Modbus Master - Read Window

Master 7.1.2 main window

Controls (inputs) that can be changed by the user have a yellow.background
Indicators (outputs) have a blue ackground and cannot be directly changed.

Set the controls to build the Request string.

 'mode' RTU or ASCII control      Select RTU or ASCII mode.  more info... 

             COM port,baud,databits,stop bits,parity controls      Select the serial port on your PC that is connected to a modbus slave device.
                                                                                  range: COM1 to COM99

serial settings:  Set these settings to match the setting of the modbus slave device connected.
                      baud:   The baud rate (bits per second) of the serial connection.
                     data bits:  The number of data bits in each byte, RTU mode requires 8, ASCII mode is usually 7 but may be 8.
                     stop bits: The number of stop bits for each byte sent.  allowable values are 1, 1.5 or  2 .
                     parity: The value of the parity bit for each byte sent. allowable values are none, odd, even, mark or space.

controls and Request indicator                                                                                                                    

   'Slave ID' control      The 1st byte in the Command string
                    The unit address of the Slave device to get data from. normal range: 1 to 247 more info...

               '2 byte ID' checkbox    Setting a Slave ID over 255 will automatically check this box and allow Slave IDs up to 65535.   more info...
                              Remains on for all addresses until the Slave ID is lowered below 256 and the box manually unchecked.

    'function code' control     The 2nd byte in the Request string
                    Can be automatically set  more info...
                    Used to select which table to read from.  more info...
                    Read Window supports Function codes 01, 02, 03 & 04

    'First Register' control      The 3rd and 4th bytes in the Request string
                           The coil or register number at the start of the block to read.    more info...

                          'minus offset' control      This value is subtracted from the First Register to give the data address used in the Request.

     'No. of Regs' control     The 5th and 6th bytes in the Request string
                        The quantity of registers or coils in the block to read.

     'Use defaults' checkbox     check to automatically set the default values function code, offset and register size
                         when the value of First Register is changed.

                    'register size' control    The size of the registers in the block to be read.
                                                 This value should be set to 16 bit registers to read standard modbus registers.
                                                 and set to 1 bit coils to read standard modbus coils.
                                                 32 bit registers should be used for Enron modbus only. more info...

                  Events:   This box is checked when reading Enron events from register 32  more info...

                  History:   This box is checked when reading Enron historical records from register 701-799  more info...

Request indicator with RTU message            ASCII request
  RTU Mode                                                 ASCII Mode

crc  The last 2 bytes of the RTU Request are the cyclic redundancy check.  These are error detection bytes more info...

lrc  ASCII Mode messages are preceded with a colon and the crc is replaced with an longitudinal redundancy check, carriage return and line feed characters.   more info... 

Auto Set values:

First Register function code minus offset register size
1 to 10000 1 1 1 bit coils
10001 to 10000 2 10001 1 bit coils
30001 to 40000 4 30001 16 bit registers
40001 & greater 3 40001 16 bit registers

Exceptions (for reading Enron modbus data):

First Register function code minus offset register size
32 (events) 3 0 32 bit registers
701 to 799 (history) 3 0 32 bit registers
1001 to 1999 1 0 1 bit coils
3001 to 3999 3 0 16 bit registers
5001 to 5999 3 0 32 bit registers
7001 to 7999 3 0 32 bit registers

Physical Connection

Before sending a message, the serial port needs to be physically connected to a modbus slave device. The simplest connection is RS232C on a single serial cable.

DTE masters (PC serial ports) have DB9 male connectors which transmits on pin3, receives pin2 and grounds on pin5. A DCE slave will have a DB9 Female connector which will allow the use of a straight through cable. A DTE slave will have a DB9 Male connector and will require the use of a null modem cable.

RS232C 3-wire wiring

The RS232 specification states a maximum distance of 50 feet at 20kbaud. Slightly longer connections are possible at slower baud rates depending on cable quality and noise in the area.

Modems and radios are used to transmit longer distances. These are typically DCE devices so straight through cables can be used.  Some MDS non-spread spectrum radios require RTS Delay to be used so a 4th conductor is needed on pin 4.

RS485 converters can be used to extend the distance up to 4000 feet at 100kbaud. This can be a 4 wire or 2 wire system, depending on the converter. This also allows multi-dropping up to 32 devices on one pair of wires.

Sending the Request

Press the SEND button. The program then monitors the serial port and displays all bytes received in the Response indicator.

Request and Response indicators

 

While receiving, the response time counts up with a progress bar.          

Receiving stops when the expected response bytes are received or the time reaches the fail in value entered.

The 'expected response bytes' indicator is calculated from the input settings.
The response timer stops when this many bytes are received. 

The expected crc is calculated from the bytes in the response.

Troubleshooting

Check the physical connection to make sure the correct conductors are on the correct pins and the correct serial port.

Check the serial settings in the slave device to make sure they match the settings in the master.

Check the Slave device unit address to make sure it matches the Slave ID set in the master.

 

 

Reading the Response

    Data results table

The data bytes in the response are displayed in the bytes column of the response table.

Use the pull-down boxes in the first column to set the data type for each value. more info...
The copy down button sets all data types to match the setting for the first value.

      'Hi/Lo byte' & 'Hi/Lo word' checkboxes     The bytes and words can be swapped by toggling the High/Low check boxes.


The bytes are re-processed immediately as the settings are changed and the results are shown in the fourth column.
Sending another request for a new response is not required for a recalculation.

A notes column is provided to enter labels for the values.

     'clear notes' button   Press the clear notes button to blank the whole notes column.

Byte History Log  

All bytes sent and received are added to the byte history log with date/time stamps. 

     'SAVE LOG' button   Displays a 'Save As..' dialog box to allow the log contents to be saved to a text file.

     'clear log' button      Empties the log contents.

Log Results  

All data results received can be saved to a data log with date/time stamps. 

     'LOG DATA' button   Displays a 'Save As..' dialog box to create a tabbed-text data file for logging the results.

                           register# and notes are used as column headers in the file.

                           When data is received, a row is added to the file with date/time and the results.

                           Pressing the button again will close the file and stop logging the results.

The data file can be loaded into just about any system or progam like Excel.
 

Send Continuously

 'send continuously' checkbox

  Check this box to send back to back requests.

  The seconds after the start of one send request until the start of the next send request.


 This will continuously send the same command unless combined with the load before send feature (see below)

 

Statistics

response time & statistics indicators

  The seconds taken for the slave to respond to last message.
  The number of message responses received (meeting the expected response bytes).
  The number of message with an incomplete or absent response

response time statistics and reset button

  The longest amount of seconds taken for a response (not including failed responses).
  The average amount of seconds taken for a response (not including failed responses).
 The shortest amount of seconds taken for a response (not including failed responses).
  Sets all statistical values back to zero. 

RTS Delay

 'RTS delay' checkbox and ON/OFF controls

  Check this option to communicate over devices requiring the RTS pin to be asserted before
   transmission.  Enter the milliseconds for the on and off delays.

 

Save and Restore Configurations

    'SAVE CFG' button       Displays a 'Save As..' dialog box to allow saving the current settings to a text file.

    'RESTORE CFG' button  Displays a 'Open File' dialog box to allow selecting a previously saved settings file to load.

The configuration file is saved in tabbed text format (tab separated values) and appears like this in notepad.

Configuration file in Notepad

The preset tabs in Notepad cause the cells with long labels to push the other columns over.
Sending it to, or opening it from, a spreadsheet program like Excel will use the tabs as column delimiters as shown here...

Configuration file in Excel

1st column contains descriptions, 2nd column contains values

3rd column contains the data types 0 through 11 in the order shown in its pull down menu.   

4th column is empty,  5th column contains the register numbers.

6th column contains the register values from the last poll, if any

 

Load Before Send - Sending a series of requests

 'load before send' checkbox

  When this box is selected, and the SEND button is pressed (or SEND CONTINUOUSLY is selected),
                             the program will Restore a previously defined Configuration File
                             and then SEND the request as saved in the file.

The filenames must be in the format:   request1.txt, request2.txt, etc...
and saved in the default folder (where the exe file is saved)

If request1.txt doesn’t exist, a window showing instructions similar to these will appear.

SEND CONTINUOUSLY is not saved in the configuration files.
SEND CONTINUOUSLY is always set to unselected when you use the RESTORE CFG button to restore a configuration file.
This keeps polling from automatically starting when you manually restore a configuration file.

If a request*.txt Configuration file is being loaded during a Load before Send,
and the file was saved with LOAD BEFORE SEND selected,
then both SEND CONTINUOUSLY and  LOAD BEFORE SEND will both be selected. 
Following the LOAD and SEND, the program will wait for the TIME BETWEEN SENDS to expire 
before the next LOAD (request2.txt) and SEND.

The program will continue to automatically LOAD, SEND and WAIT through a series of request*.txt files  
as long as each file has LOAD BEFORE SEND selected.
When the end of the series is reached and the next file is not found, the series will start over with request1.txt  
and continue until SEND CONTINUOUSLY is manually unchecked.

When a file is LOADED without LOAD BEFORE SEND selected,
following this last SEND, the series will STOP..

The series can be stopped at any time by unchecking SEND CONTINOUSLY.

                ------------------------------------------------------------------------------------

 

Writing Data

    'WRITE' button     Displays the Simply Modbus Master Write 7.1.2 window

Master 7.1.2 write window

Controls (inputs) that can be changed by the user are shown in yellow.
Indicators (outputs) shown in blue cannot be changed.

Serial Settings

The mode and serial settings are copied from the previous window and can also be changed here. more info...

   'Slave ID' control      The 1st byte in the Command string
                    The unit address of the Slave device to get data from.  normal range:  1 to 247 more info...

               '2 byte ID' checkbox    Setting a Slave ID over 255 will automatically check this box and allow Slave IDs up to 65535.   more info...
                              Remains on for all addresses until the Slave ID is lowered below 256 and the box manually unchecked.

    'function code' control     The 2nd byte in the Command string
                    Can be automatically set  more info...
                    Used to select which table to write to.  more info...
                    Write Window supports Function codes 05, 06, 15 & 16

    'First Register' control      The 3rd and 4th bytes in the Command string
                           The coil or register number at the start of the block to be written.    more info...

                          'minus offset' control      This value is subtracted from the First Register to give the data address used in the Command.

   '# Values to Write' control   The 5th and 6th bytes in the Command string
                          The quantity of registers or coils in the block to be written.

     'Use defaults' checkbox     check to automatically set the default values for function code, offset and register size
                         when the value of First Register is changed.

                     'register size' control    The size of the registers in the block to be written.
                                                 This value should be set to 16 bit registers to write standard modbus registers.
                                                 and set to 1 bit coils to write standard modbus coils.
                                                 32 bit registers should be used for Enron modbus only. more info...

Auto Set values:

First Register function code minus offset register size
1 to 7000 5 1 1 bit coils
7001 to 7999 (Enron modbus) 16 0 32 bit registers
8000 to 10000 5 1 1 bit coils
10001 to 30000 5 10001 1 bit coils
30001 to 40000 6 30001 16 bit registers
40001 & greater 6 40001 16 bit registers

Data to Write

 'Values to Write' control and indicators

The values to write are entered in the table shown.  The table size is automatically adjusted as the #values to write is changed.

    'Data Type' control   Use this pull-down box to set the data type for the whole table to be written.

     'Hi/Lo byte' & 'Hi/Lo word' checkboxes     The bytes and words can be swapped by toggling the High/Low check boxes.

Sending the Command

Press the SEND button. The program then monitors the serial port and displays all bytes received in the Response indicator.

 'Command' and 'Response' boxes

While receiving, the response time counts up with a progress bar.          

Receiving stops when the expected response bytes are received or the time reaches the fail in value entered.

The 'expected response bytes' indicator is calculated from the input settings.
The response timer stops when this many bytes are received. 

                                                                                                  The expected crc is calculated from the bytes in the response.

Reading the Response

The data bytes in the response are displayed in the bytes column of the response table.

Byte History Log  

All bytes sent and received are added to the byte history log with date/time stamps. 

     'SAVE LOG' button   Displays a 'Save As..' dialog box to allow saving the log contents to a text file.

     'clear log' button      Empties the log contents

RTS Delay

 'RTS delay' checkbox and ON/OFF controls

  Check this option to communicate over devices requiring the RTS pin to be asserted before
   transmission.  Enter the milliseconds for the on and off delays.

 

Save and Restore Configurations

    'SAVE CFG' button       Displays a 'Save As..' dialog box to allow saving the current settings and results to a text file.

    'RESTORE CFG' button  Displays an 'Open File' dialog box to allow selecting a previously saved settings file to load.

 

Press the Close box in the top corner to Exit the Write program.

 

Troubleshooting

Check the physical connection to make sure the correct conductors are on the correct pins and the correct serial port.

Check the serial settings in the slave device to make sure they match the settings in the master.

Make sure the serial port driver file (serpdrv) is in the same folder as Simply Modbus Master 6.4.1.exe

 

HomeFAQEnronDownloadPurchaseContact

Copyright © 2020 Simply Modbus. All rights reserved