Skip to content

Commit f97fc94

Browse files
committed
Updated documentation
1 parent 7b839be commit f97fc94

File tree

5 files changed

+110
-41
lines changed

5 files changed

+110
-41
lines changed

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,15 @@ For customization options check [full documentation](https://paulorb.github.io/m
5050

5151
1. Pull the Modbus Simulator
5252

53+
```
5354
docker pull paulorb/modbus-simulator-cli
55+
```
5456

5557
2. Run the Modbus Simulator
5658

57-
docker run --rm -p 5002:5002 paulorb/modbus-simulator-cli:v0.0.99-beta.2 -sr
58-
59+
```
60+
docker run --rm -p 5002:5002 paulorb/modbus-simulator-cli -sr
61+
```
5962

6063
## Author
6164
Contact me on [![LinkedIn](https://img.shields.io/badge/-LinkedIn-0A66C2?logo=linkedin&style=flat-square)](https://www.linkedin.com/in/paulo-roberto-balbino/)
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Quick Start
2+
3+
The most simple and quick way to run the modbus simulator is by using docker,
4+
in this example we will run the modbus simulator without simulation.
5+
6+
1. Pull the Modbus Simulator
7+
8+
```
9+
docker pull paulorb/modbus-simulator-cli
10+
```
11+
12+
2. Run the Modbus Simulator
13+
14+
```
15+
docker run --rm -p 5002:5002 paulorb/modbus-simulator-cli
16+
```
17+
18+
This simulator offers many other types of simulation, **predefined ones** or **custom** (based on a configuration file)
19+
20+
## Predefined Simulations
21+
22+
### Random values
23+
By specifying **-sr** argument the simulator will generate random numbers for register values, each time a read operation
24+
is performed, write operations are ignored.
25+
26+
27+
## Custom Simulation
28+
To be documented!

examples/configuration_basic.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="US-ASCII" ?>
2+
<device ip="0.0.0.0" port="502">
3+
<configuration initializeUndefinedRegisters="true" initialValue="0">
4+
<registers>
5+
</registers>
6+
</configuration>
7+
</device>
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<?xml version="1.0" encoding="US-ASCII" ?>
2+
<device ip="0.0.0.0" port="502">
3+
<configuration initializeUndefinedRegisters="true" initialValue="0">
4+
<registers>
5+
<register addressType="HOLDING_REGISTER" address="14" symbol="RPM_MOTOR">500</register>
6+
<register addressType="HOLDING_REGISTER" address="8" datatype="FLOAT32" symbol="MOTOR_SPEED1">123.7</register>
7+
<register addressType="HOLDING_REGISTER" address="10" datatype="FLOAT32" symbol="TEMPERATURE1">-12.5</register>
8+
<register addressType="HOLDING_REGISTER" address="0" datatype="INT16" symbol="RPM_MOTOR1">1</register>
9+
<register addressType="HOLDING_REGISTER" address="1" datatype="INT16" symbol="RPM_MOTOR2">-2</register>
10+
<register addressType="HOLDING_REGISTER" address="2" datatype="INT16" symbol="RPM_MOTOR3">3</register>
11+
<register addressType="HOLDING_REGISTER" address="3" datatype="INT16" symbol="RPM_MOTOR4">4</register>
12+
<register addressType="HOLDING_REGISTER" address="4" datatype="INT16" symbol="RPM_MOTOR5">5</register>
13+
<register addressType="HOLDING_REGISTER" address="5" datatype="INT16" symbol="RPM_MOTOR6">6</register>
14+
<register addressType="HOLDING_REGISTER" address="6" datatype="INT16" symbol="RPM_MOTOR7">7</register>
15+
<register addressType="HOLDING_REGISTER" address="7" datatype="INT16" symbol="RPM_MOTOR8">8</register>
16+
<register addressType="COIL" address="1" symbol="RELAYON">1</register>
17+
<register addressType="COIL" address="2" symbol="RELAYON2">1</register>
18+
<register addressType="COIL" address="3" symbol="RELAYON3">1</register>
19+
<register addressType="DISCRETE_INPUT" address="0" symbol="RELAY_STATUS">1</register>
20+
<register addressType="DISCRETE_INPUT" address="1" symbol="RELAY_STATUS2">0</register>
21+
<register addressType="DISCRETE_INPUT" address="2" symbol="RELAY_STATUS3">1</register>
22+
<register addressType="DISCRETE_INPUT" address="3" symbol="RELAY_STATUS4">0</register>
23+
<register addressType="DISCRETE_INPUT" address="4" symbol="RELAY_STATUS5">1</register>
24+
<register addressType="INPUT_REGISTER" address="0" symbol="RPM">1</register>
25+
<register addressType="INPUT_REGISTER" address="2" symbol="RPM2">2</register>
26+
<register addressType="INPUT_REGISTER" address="4" symbol="RPM3">3</register>
27+
<register addressType="INPUT_REGISTER" address="6" symbol="RPM4">4</register>
28+
<register addressType="INPUT_REGISTER" address="8" symbol="RPM5">5</register>
29+
<register addressType="INPUT_REGISTER" address="10" symbol="RPM6">6</register>
30+
<register addressType="INPUT_REGISTER" address="12" symbol="RPM7">7</register>
31+
</registers>
32+
</configuration>
33+
<simulation plcScanTime="1000">
34+
<delay>500</delay>
35+
<set symbol="RPM">50</set>
36+
<set symbol="RELAYON">0</set>
37+
<set symbol="RELAY_STATUS">0</set>
38+
<set symbol="RPM_MOTOR">100</set>
39+
<set symbol="MOTOR_SPEED1">100.5</set>
40+
<random symbol="TEMPERATURE1" valueMin="-50.0" valueMax="10.0"/>
41+
<delay>500</delay>
42+
<set symbol="RPM">60</set>
43+
<set symbol="MOTOR_SPEED1">190.5</set>
44+
<linear symbol="RPM_MOTOR1" a="5" b="4" minX="500" maxX="1000" replay="false" step="3"/>
45+
<set symbol="RELAYON">1</set>
46+
<set symbol="RELAY_STATUS">1</set>
47+
<set symbol="RPM_MOTOR">400</set>
48+
<delay>1000</delay>
49+
<add symbol="MOTOR_SPEED1">15</add>
50+
<add symbol="RPM7">1</add>
51+
<delay>1000</delay>
52+
<add symbol="MOTOR_SPEED1">15</add>
53+
<add symbol="RPM7">1</add>
54+
<delay>1000</delay>
55+
<add symbol="MOTOR_SPEED1">15</add>
56+
<add symbol="RPM7">1</add>
57+
<delay>1000</delay>
58+
<add symbol="MOTOR_SPEED1">15</add>
59+
<add symbol="RPM7">1</add>
60+
<delay>1000</delay>
61+
<add symbol="MOTOR_SPEED1">15</add>
62+
<add symbol="RPM7">1</add>
63+
<delay>1000</delay>
64+
<add symbol="MOTOR_SPEED1">15</add>
65+
<add symbol="RPM7">1</add>
66+
<delay>1000</delay>
67+
<add symbol="RPM_MOTOR4">12</add>
68+
<sub symbol="RPM_MOTOR1">12</sub>
69+
</simulation>
70+
</device>
Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,5 @@
11
<?xml version="1.0" encoding="US-ASCII" ?>
22
<device ip="0.0.0.0" port="502">
33
<configuration initializeUndefinedRegisters="true" initialValue="0">
4-
<registers>
5-
<register addressType="HOLDING_REGISTER" address="14" symbol="RPM_MOTOR">500</register>
6-
<register addressType="HOLDING_REGISTER" address="8" datatype="FLOAT32" symbol="MOTOR_SPEED1">123.7</register>
7-
<register addressType="HOLDING_REGISTER" address="10" datatype="FLOAT32" symbol="TEMPERATURE1">-12.5</register>
8-
<register addressType="HOLDING_REGISTER" address="0" datatype="INT16" symbol="RPM_MOTOR1">1</register>
9-
<register addressType="HOLDING_REGISTER" address="1" datatype="INT16" symbol="RPM_MOTOR2">-2</register>
10-
<register addressType="HOLDING_REGISTER" address="2" datatype="INT16" symbol="RPM_MOTOR3">3</register>
11-
<register addressType="HOLDING_REGISTER" address="3" datatype="INT16" symbol="RPM_MOTOR4">4</register>
12-
<register addressType="HOLDING_REGISTER" address="4" datatype="INT16" symbol="RPM_MOTOR5">5</register>
13-
<register addressType="HOLDING_REGISTER" address="5" datatype="INT16" symbol="RPM_MOTOR6">6</register>
14-
<register addressType="HOLDING_REGISTER" address="6" datatype="INT16" symbol="RPM_MOTOR7">7</register>
15-
<register addressType="HOLDING_REGISTER" address="7" datatype="INT16" symbol="RPM_MOTOR8">8</register>
16-
<register addressType="COIL" address="1" symbol="RELAYON">1</register>
17-
<register addressType="COIL" address="2" symbol="RELAYON2">1</register>
18-
<register addressType="COIL" address="3" symbol="RELAYON3">1</register>
19-
<register addressType="DISCRETE_INPUT" address="0" symbol="RELAY_STATUS">1</register>
20-
<register addressType="DISCRETE_INPUT" address="1" symbol="RELAY_STATUS2">0</register>
21-
<register addressType="DISCRETE_INPUT" address="2" symbol="RELAY_STATUS3">1</register>
22-
<register addressType="DISCRETE_INPUT" address="3" symbol="RELAY_STATUS4">0</register>
23-
<register addressType="DISCRETE_INPUT" address="4" symbol="RELAY_STATUS5">1</register>
24-
<register addressType="INPUT_REGISTER" address="10" symbol="RPM">10</register>
25-
</registers>
264
</configuration>
27-
<simulation plcScanTime="1000">
28-
<delay>500</delay>
29-
<set symbol="RELAYON">0</set>
30-
<set symbol="RELAY_STATUS">0</set>
31-
<set symbol="RPM_MOTOR">100</set>
32-
<set symbol="MOTOR_SPEED1">100.5</set>
33-
<random symbol="TEMPERATURE1" valueMin="-50.0" valueMax="10.0"/>
34-
<delay>500</delay>
35-
<set symbol="MOTOR_SPEED1">190.5</set>
36-
<linear symbol="RPM_MOTOR1" a="5" b="4" minX="500" maxX="1000" replay="false" step="3"/>
37-
<set symbol="RELAYON">1</set>
38-
<set symbol="RELAY_STATUS">1</set>
39-
<set symbol="RPM_MOTOR">400</set>
40-
<delay>100</delay>
41-
<add symbol="MOTOR_SPEED1">RPM_MOTOR1</add>
42-
<sub symbol="MOTOR_SPEED1">12</sub>
43-
</simulation>
445
</device>

0 commit comments

Comments
 (0)