diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus.md
index 679af9d..4239ba8 100644
--- a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus.md
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus.md
@@ -32,8 +32,44 @@
 
 ## Description
 
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
+The Modbus adapter allows to connect to a PLC using the Modbus specification.
 
 ***
 
+## Configuration
+
+The following configuration options are available when creating the adapter:
+
+### PLC Address
+
+The IP address of the Modbus device without any prefix, which will be added automatically when creating the adapter.
+
+### PLC Port
+
+The PLC port refers to the port of the PLC, such as 502.
+
+### Node ID
+
+The Node ID refers to the ID of the specific device.
+
+### Nodes
+
+The `Nodes` section requires configuration options for the individual nodes.
+Nodes can be either imported from a comma-separated CSV file, or can be directly assigned in the configuration menu.
+
+The following fields must be provided for each node:
+
+* Runtime Name: Refers to the field to internally identify the node, e.g., in the data explorer or pipeline editor.
+* Node Address: Refers to the address of the Node in Modbus, e.g., 1
+* Object Type: Can be selected from the available options `DiscreteInput`, `Coil`, `InputRegister`,
+  or `HoldingRegister`. 
+
+An example CSV file looks as follows:
+
+```
+Runtime Name,Node Address,Object Type,
+field1,1,Coil
+temperature,2,Coil
+```
+
+Note that the CSV header must exactly match the titles `Runtime Name`, `Node Address` and `Object Type`.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.s7.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.s7.md
index a8dde67..9e22be6 100644
--- a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.s7.md
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.s7.md
@@ -32,8 +32,65 @@
 
 ## Description
 
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
+The adapter allows to connect with a Siemens S7 PLC.
 
 ***
 
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+In addition to the pure IP, other parameters supported by Apache PLC4X can be provided as an URL parameter:
+
+* `local-rack`
+* `local-slot`
+* `local-tsap`
+* `remote-rack`
+* `remote-slot`
+
+Additional configs are separated by `&`.
+
+Example address: `192.68.34.56?remote-rack=0&remote-slot=3&controller-type=S7_400`
+
+See the <a href="https://plc4x.apache.org/users/protocols/s7.html">Apache PLC4X documentation</a> for more information.
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Nodes
+
+In the Nodes section, the PLC nodes that should be gathered are defined.
+There are two options to define the nodes:
+
+* Manual configuration: The address must be assigned manually by providing a runtime name, the node name and the
+  datatype. The `Runtime Name` will be the StreamPipes-internal name of the field, which will also show up in the data
+  explorer and pipeline editor. The `Node Name` refers to the node address of the PLC, e.g., `%Q0.4`. Finally, the data
+  type can be selected from the available selection. Currently available data types
+  are `Bool`, `Byte`, `Int`, `Word`, `Real`, `Char`, `String`, `Date`, `Time of Day` and `Date and Time`.
+* Instead of providing the node information manually, a CSV file can be uploaded. The CSV file can, for instance, be
+  exported from TIA and then be enriched with the appropriate runtime names. This is especially useful when many fields
+  should be added as nodes. Here is an example export enriched with the runtime name:
+
+```
+Runtime Name,Path,Data Type,Node Name
+I_High_sensor,Tag table_1,Bool,%I0.0,
+I_Low_sensor,Tag table_1,Bool,%I0.1,
+I_Pallet_sensor,Tag table_1,Bool,%I0.2,
+I_Loaded,Tag table_1,Bool,%I0.3,
+```
+
+Note that the CSV can contain additional columns, but only the columns `Runtime Name`, `Data Type` and `Node Name` are
+used, while all other columns will be ignored.
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
