documentation
This commit is contained in:
parent
1c8a3a2093
commit
fc78dc7f4d
53
readme.md
Normal file
53
readme.md
Normal file
@ -0,0 +1,53 @@
|
||||
# DigitalTwin1
|
||||
## Digital twin for Beckhoff BK-9000 Modbus-TCP coupler (and compatible Wago device)
|
||||
|
||||
|
||||
### Overview
|
||||
|
||||
This tool connects to a Modbus-TCP coupler, reads it process image and publishes
|
||||
|
||||
* the new state of a discrete input register (digital input) after a change
|
||||
* the new value of an input register (analog input) after a change
|
||||
* periodically publishes the current values of all input registers (analog inputs)
|
||||
|
||||
using MQTT messages. The topic is built from a configured prefix and the index of the particular registers.
|
||||
|
||||
Furthermore it subscribes to MQTT messages related to the coils for the setup and anytime a message is received, it set the particular coils accordingly.
|
||||
|
||||
|
||||
### Configuration
|
||||
|
||||
Configuration is done using a configuration file
|
||||
|
||||
[modbus]
|
||||
client = 172.16.2.157
|
||||
scanrate = 0.25
|
||||
|
||||
[mqtt]
|
||||
broker = 172.16.2.16
|
||||
digitalOutputTopicPrefix = dt1/coil
|
||||
digitalInputTopicPrefix = dt1/di
|
||||
analogInputEventTopicPrefix = dt1/ai/event
|
||||
analogInputPeriodicTopicPrefix = dt1/ai/periodic
|
||||
analogInputPublishPeriod = 10.0
|
||||
|
||||
|
||||
### Operation details
|
||||
|
||||
While the input and discrete input registers are scanned with the configured scanrate, an action on a coil according to a received message is issued immediately. At the same time the all input registers are scanned.
|
||||
|
||||
The MQTT messages related to change events of input or discrete input registers are marked as //retained//.
|
||||
|
||||
|
||||
### Usage
|
||||
|
||||
The tool is simply started using
|
||||
|
||||
python digitaltwin1.py
|
||||
|
||||
On default it searches the configuration file at ``$PWD/config``. This can be changed using the commandline argument ``-f``.
|
||||
|
||||
The Python modules ``pymodbus``, ``loguru`` and ``paho-mqtt`` are required.
|
||||
|
||||
A docker image with the required dependencies, the tool and a prepared default configuration in a volume is provided at ``registry.hottis.de/wolutator/digitaltwin1``.
|
||||
|
Loading…
x
Reference in New Issue
Block a user