diagslave is a simple command line based Modbus slave simulator and test utility. diagslave is using the FieldTalk™ Modbus driver.
Diagslave binaries are available for the following operating system platforms and architectures:
- Windows PCs
- Linux PCs
- Raspberry Pi, BeagleBoard and other ARM based Linux devices
diagslave-3.5.zip | |
diagslave-3.5.tgz | |
System Requirements |
|
---|---|
License | This program is free; you can use it and redistribute it under the terms of the accompanying License document. |
Installation
Windows
Download into a folder and extract the zip archive. The diagslave.exe command must be run from a Command Prompt:win\diagslave -h
Linux
Download into a folder. Then unpack the tarball:tar xzf diagslave-3.2.tgzThe tarball contains multiple binaries for different CPU architectures. Run the version matching your system from the command line. Example for Raspberry Pi:
cd diagslave linux_arm-eabihf/diagslave -h
Usage
Usage: diagslave [OPTIONS] [SERIALPORT] Arguments: SERIALPORT Serial port when using Modbus ASCII or Modbus RTU protocol COM1, COM2 ... on Windows /dev/ttyS0, /dev/ttyS1 ... on Linux General options: -m ascii Modbus ASCII protocol -m rtu Modbus RTU protocol (default if SERIALPORT set) -m tcp MODBUS/TCP protocol (default otherwise) -m udp MODBUS UDP -m enc Encapsulated Modbus RTU over TCP -o # Master activity time-out in seconds (1.0 - 100, 3 s is default) -a # Slave address (1-255 for RTU/ASCII, 0-255 for TCP) Options for MODBUS/TCP, UDP and RTU over TCP: -p # TCP port number (502 is default) -c # Connection time-out in seconds (1.0 - 3600, 60 s is default) Options for Modbus ASCII and Modbus RTU: -b # Baudrate (e.g. 9600, 19200, ...) (19200 is default) -d # Databits (7 or 8 for ASCII protocol, 8 for RTU) -s # Stopbits (1 or 2, 1 is default) -p none No parity -p even Even parity (default) -p odd Odd parity -4 # RS-485 mode, RTS on while transmitting and another # ms after Options for Modbus RTU: -f # Tolerance for inter-frame gap detection in ms (0-20)
Usage Examples
To get help on usage run the following command:diagslave -hTo run a Modbus RTU server at 9600 baud on COM1 run:
diagslave -b 9600 -p none -m rtu COM1To run a Modbus/TCP server on Ethernet run:
diagslave -m tcp