You are on page 1of 17

Operation Manual

Simply Modbus Master 8


Modbus RTU Master and Modbus ASCII Master Emulator

System Requirements:

Windows NT, 95, 2000, XP, Windows7, Windows8

display resolution: 800 x 600 minimum

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

Installation - Simply Modbus Master 8.1.2:

SimplyModbusMaster8.1.2Install.zip
118 MB - click to download

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

setup.exe - the install program


setup.ini
nidist.id
license (folder)
bin (folder)
supportfiles (folder)

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

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

Starting the program

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

You will see the demonstration startup 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

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

Yellow: Controls (inputs) that can be changed by the user.


Blue: Indicators (outputs) that cannot be directly changed.

Serial Settings

Select Modbus RTU or Modbus ASCII protocol. more info...

COM port: PC serial port to a modbus slave device. Range: COM1 to


COM99
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.

Build a Request String

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...

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.

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

The 3rd and 4th bytes in the Request string


The coil or register number at the start of the block to read. more
info...

This value is subtracted from the First Register to give the


data address used in the Request.

The 5th and 6th bytes in the Request string


The quantity of registers or coils in the block to read.
check to automatically set the default values function code, offset
and register size
when the value of First Register is changed.

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...

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.

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.
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

The data bytes in the response are displayed in the middle 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.

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.

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.

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

Empties the log contents.

Log Results

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

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
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

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

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

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

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

Displays an '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.
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...
Columns A & B contain the setting descriptions and their values.

Column C contains the data types 0 through 13,

Each number representing the data Type shown in the Notes Column D

Column E contains the register register numbers (hex values plus offset)

Column F contains the register values from the last poll, if any

Cell G1 contains the result string from the last poll, if any
Load Before Send - Sending a series of requests

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

Displays the Simply Modbus Master Write 6.4.1 window


Yellow: Controls (inputs) that can be changed by the user.
Blue: Indicators (outputs) that cannot be directly changed.

Serial Settings

Select Modbus RTU or Modbus ASCII protocol. more info...

COM port: PC serial port to a modbus slave device. Range: COM1 to


COM99
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.

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

Build a Command String

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...

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.

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

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...

This value is subtracted from the First Register to give the


data address used in the Command.

The 5th and 6th bytes in the Command string


The quantity of registers or coils in the block to be written.

check to automatically set the default values for function code,


offset and register size
when the value of First Register is changed.

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

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

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

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.

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.

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

Empties the log contents

RTS Delay

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

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

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

Home • FAQ • Enron • Download • Purchase • Contact


Copyright © 2020 Simply Modbus. All rights reserved

You might also like