Donations :

Support This Project
Code : Support
Get Modbus simulator at SourceForge.net. Fast, secure and Free Open Source software downloads

33days since
I'll be jobless.

on CodeGuru.com



on SoftPedia

User Documentation

Below is a a copy of the first half of the online built-in help you get in the simulator.

Overview

This simulator was originally designed to allow testing of modbus master devices, as such it also allows itself to use as a "virtual" PLC for training and simulating one or 2 other controllers
I encountered.

Setting up the simulation for use will cover it's configuration for different applications in detail. The first point we come to however is which media type the simulation should use.


(Simulator splash screen)

Purpose & features

This simulator was written to allow the testing of a MODBUS RTU serial driver without having to get 255 little MODBUS PLCs into one office. It is not, by any means, a full implementation of the protocol; it implements only the common functions used in MODBUS and other protocols supported
here.


It surpasses the limitations in other programs we have found in the past by:

  • Simulate more than one RTU at once. (register values shared for all RTUs).
  • Allows editing and display of all the registers.
  • Allow scanning of registers not actually in the display.
  • Running on >1 comm ports (You have to run two copies of the program.). You need to run the first copy; then, when you run it again, it defaults to use the next free RS-232 port. All copies will use the same settings though.
  • A way of disabling just certain stations. (Just click on the boxes at the bottom.)
  • Load and save values you type into each register (the file is saved in the same folder) as well as simulate changes in the values. Hotkey <CTRL>-L =Load and <CTRL>-A for sAve.
  • You can specify the MODBUS PDU length (Protocol Data Unit) to simulate RTU's with different internal telegram buffer sizes. Hotkey <CTRL>-M
  • Display values in different formats hex/dec etc.
  • Specify responsiveness of the simulator to simulate slow hardware. Hotkey <CTRL>-S .
  • Simulate certain types of comms errors that would be hard to do in a "lab" situation.
  • A basic comms debugger showing request/response. Hotkey : <CTRL>-C.
  • Emulation to simulate MODBUS MOSCAD RTU on modbus. Hotkey <CTRL>-S or <CTRL>-M .
  • Simulate noisy comms lines. Hotkey <CTRL>-N.
  • It does check the CRC of all messages.
  • It does handle flakey comms properly.
  • Almost totally free, just mail the author for a key (or compile your own).

Not supported

  • MODBUS ASCII protocol support :-(.
  • This application is not intended as a full implementation of MODBUS RTU nor TCP/IP nor Allen-Bradley DF1, it is not commercially supported and no liability is held for any damage or application changes made as a result of it's use.

Running this program

This is not a full feature list, just the basics, which most will get in 5 minutes anyway.

  • Launch the app, "mod_rssim.exe" and it should open the 1st free (RS-232 by default)port, select the desired protocol (if ethernet, no serial port is used/needed), and then click on the Port Settings..." button to change any settings. Settings are saved to WindowsTM registry.
  • Serial protcols:Hook up a cable (just a 2,3 and 7 crossed ,4,5 looped, and 6,8,20 looped should be fine, hardware handshaking is not my strong side), but there is some support there.
    Ethernet:U must have an ethernet adapter or loopback adapter installed.
  • The boxes at the bottom work like indicators to show which stations are active; the gray outline of each box will change color (they turn off after five seconds), and clicking them disables each station (only 60 are shown). The green background turns red to show a disabled station. Disabled stations will still show activity, but the sim. will just not respond back.
  • Double-click on the list-view over a register, to edit it's value, double-clicking on digital I/O just toggle them.
  • Switch between the Hex and Decimal views. (adddresses also come in hex, this is still being tested.)
  • For mouse-haters like me, a list of Hotkeys is provided.
    Some advanced options:
  • New option for starting with all devices offline added.
  • Load will not work unless you have saved first.
  • Save will save all the register values to a flat binary file (don't edit it, I can't) called 'modbus.dat', (ABDATA.DAT if using the DF1 protcol) in the current folder. This is nice to allow you to fill the registers with values, and then come back latter to the same setup. Comms will be slow and may time out during load/save, since they are interlocked.
  • Click on Animation Settings... to change the color of the indicators at the bottom, and set up some simulation data.
  • Zero values will clear all values (also the digitals become 0).
  • The "responsiveness" setting changes the delay in the program before it responds to a valid request.
  • Report any problems after trying for at least a day to figure out what U got wrong :-)

Modbus Ethernet Setup

  • Local IP Not settable, the local IP or computer name.
  • Remote IP Not settable, the remote IP or computer name of the 1st connected socket.
  • # Server connections The number of sockets the server will listen on.
  • Port (502) The port number to listen on.
  • Station ID Modbus station ID.
  • Responsiveness Delay in milliseconds after receiving a request, before the simulator will send a response, this setting allows simulation of turn-around time on a slower card/NOE.

Note: If the station indicator button for a station is off, the simulator will not respond to data requests for that station ID, even though the client is connected.


Subpages (2): Design and Code FAQ