Skip to content

Commit a90a855

Browse files
committed
update documentation
1 parent 8634f88 commit a90a855

File tree

1 file changed

+76
-1
lines changed

1 file changed

+76
-1
lines changed

docs/index.md

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Shared Memory Modbus TCP Client
22

3-
This project is a simple command line based Modbus TCP client for POXIX compatible operating systems that stores the contents of its registers in shared memory.
3+
This project is a simple command line based Modbus TCP client for POSIX compatible operating systems that stores the contents of its registers in shared memory.
4+
45

56
## Basic operating principle
67

@@ -29,6 +30,12 @@ This option should be used carefully, as it generates large amounts of output de
2930

3031
The ```--reconnect``` option can be used to specify that the application is not terminated when the master disconnects, but waits for a new connection.
3132

33+
The client creates four shared memories and names them ```modbus_DO```, ```modbus_DI```, ```modbus_AO``` and `````` by default.
34+
The prefix modbus_ can be changed via the argument ```--name-prefix```. The suffixes for the register type (DO, DI, AO, AI) cannot be changed and will always be appended to the prefix.
35+
36+
By default, the client starts with the maximum possible number of modbus registers (65536 per register type).
37+
The number of registers can be changed using the ```--xx-registers``` (replace xx with the register type) command line arguments.
38+
3239
### Use privileged ports
3340
Ports below 1024 cannot be used by standard users.
3441
Therefore, the default modbus port (502) cannot be used without further action.
@@ -53,6 +60,24 @@ setcap 'cap_net_bind_service=+ep' /path/to/binary
5360
```
5461

5562

63+
## Using the Flatpak package
64+
The flatpak package can be installed via the .flatpak file.
65+
This can be downloaded from the GitHub project page:
66+
https://github.com/NikolasK-source/modbus_tcp_client_shm/releases
67+
68+
```
69+
flatpak install --user modbus-tcp-client-shm.flatpak
70+
```
71+
72+
The application is then executed as follows:
73+
```
74+
flatpak run network.koesling.modbus-tcp-client-shm
75+
```
76+
77+
To enable calling with ```modbus-tcp-client-shm the``` following script can be used:
78+
https://gist.github.com/NikolasK-source/f0ef53fe4be7922901a1543e3cce8a97
79+
In order to be executable everywhere, the path in which the script is placed must be in the ```PATH``` environment variable.
80+
5681

5782
## Build from Source
5883

@@ -76,3 +101,53 @@ cmake --build build
76101
```
77102

78103
The binary is located in the build directory.
104+
105+
106+
## Links to related projects
107+
108+
### General Shared Memory Tools
109+
#### Shared Memory Dump
110+
https://nikolask-source.github.io/dump_shm/
111+
112+
#### Shared Memory Write
113+
https://nikolask-source.github.io/write_shm/
114+
115+
#### Shared Memory Random
116+
https://nikolask-source.github.io/shared_mem_random/
117+
118+
### Modbus Clients
119+
- **RTU:** https://nikolask-source.github.io/modbus_rtu_client_shm/
120+
- **TCP:** https://nikolask-source.github.io/modbus_tcp_client_shm/
121+
122+
### Modbus Shared Memory Tools
123+
124+
#### STDIN to Modbus
125+
https://nikolask-source.github.io/stdin_to_modbus_shm/
126+
127+
#### Float converter
128+
https://nikolask-source.github.io/modbus_conv_float/
129+
130+
131+
## License
132+
133+
MIT License
134+
135+
Copyright (c) 2021-2022 Nikolas Koesling
136+
137+
Permission is hereby granted, free of charge, to any person obtaining a copy
138+
of this software and associated documentation files (the "Software"), to deal
139+
in the Software without restriction, including without limitation the rights
140+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
141+
copies of the Software, and to permit persons to whom the Software is
142+
furnished to do so, subject to the following conditions:
143+
144+
The above copyright notice and this permission notice shall be included in all
145+
copies or substantial portions of the Software.
146+
147+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
148+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
149+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
150+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
151+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
152+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
153+
SOFTWARE.

0 commit comments

Comments
 (0)