Skip to main content

A Simple Modbus TCP Device Simulator used for modpoll tool

Project description

ModSim - A Simple Modbus TCP Device Simulator

modsim is a simple Modbus TCP device simulator deployed at modsim.topmaker.net:502. It works as a remote Modbus-TCP (virtual) device, which has already been populated with all 4 types of registers, i.e.

  • Coil Type
  • Discrete input Type
  • Input register Type
  • Holding register Type

It is recommended to use modpoll tool to communicate with it, the example configuration is as following,

device,modsim01,1,,
poll,coil,0,16,BE_BE
ref,coil01-08,0,bool8,rw
ref,coil09-16,1,bool8,rw
poll,discrete_input,10000,16,BE_BE
ref,di01-08,10000,bool8,rw
ref,di09-16,10001,bool8,rw
poll,input_register,30000,20,BE_BE
ref,input_reg01,30000,uint16,rw
ref,input_reg02,30001,uint16,rw
ref,input_reg03,30002,uint16,rw
ref,input_reg04,30003,uint16,rw
ref,input_reg05,30004,int16,rw
ref,input_reg06,30005,int16,rw
ref,input_reg07,30006,int16,rw
ref,input_reg08,30007,int16,rw
ref,input_reg09,30008,uint32,rw
ref,input_reg10,30010,uint32,rw
ref,input_reg11,30012,int32,rw
ref,input_reg12,30014,int32,rw
ref,input_reg13,30016,float32,rw
ref,input_reg14,30018,float32,rw
poll,holding_register,40000,44,BE_BE
ref,holding_reg01,40000,uint16,rw
ref,holding_reg02,40001,uint16,rw
ref,holding_reg03,40002,uint16,rw
ref,holding_reg04,40003,uint16,rw
ref,holding_reg05,40004,int16,rw
ref,holding_reg06,40005,int16,rw
ref,holding_reg07,40006,int16,rw
ref,holding_reg08,40007,int16,rw
ref,holding_reg09,40008,uint32,rw
ref,holding_reg10,40010,uint32,rw
ref,holding_reg11,40012,int32,rw
ref,holding_reg12,40014,int32,rw
ref,holding_reg13,40016,float32,rw
ref,holding_reg14,40018,float32,rw
ref,holding_reg15,40020,uint64,rw
ref,holding_reg16,40024,int64,rw
ref,holding_reg17,40028,float64,rw
ref,holding_reg18,40032,float64,rw
ref,holding_reg19,40036,string16,rw

Quick Start

A docker image has been provided for user to directly run the program,

docker run -p 5020:5020 topmaker/modsim:latest

The above one-line command will create a virtual Modbus TCP device running at localhost:5020.

To verify it, you can test by modpoll tool with the following command,

modpoll \
  --tcp localhost \
  --tcp-port 5020 \
  --config https://raw.githubusercontent.com/gavinying/modpoll/master/examples/modsim.csv

Note: add sudo before docker run command if you want to use the Modbus TCP standard port 502.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modsim-0.5.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modsim-0.5.2-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file modsim-0.5.2.tar.gz.

File metadata

  • Download URL: modsim-0.5.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.12.8 Linux/6.8.0-1017-azure

File hashes

Hashes for modsim-0.5.2.tar.gz
Algorithm Hash digest
SHA256 f0ba5499b206c874600d8c8d2af12bdc647bbd7a71278a3a32d4732c576705fa
MD5 0206ae43223854b985337bb6e9d79412
BLAKE2b-256 59a73d8f9fab468ba8c69ff9c6cc06a36ee1633cc9cd34b278c4edea2cbf9991

See more details on using hashes here.

File details

Details for the file modsim-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: modsim-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.12.8 Linux/6.8.0-1017-azure

File hashes

Hashes for modsim-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e7f1586d5d84ca447a8ee0e85ed8134eabb57d5ce77a8e1a4bf4364e65cb19a6
MD5 b156d706417023236b03df842e910d38
BLAKE2b-256 abb642d60152d743c72a91819eba9822ffc19361397314bdd938a441573eef3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page