Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

BaSyx / Documentation / Components / DataBridge / Features / Protocol Integration / PLC4X

PLC4X

The automation protocols such as Modbus, S7 leveraging apache PLC4X can be integrated with DataBridge. Apache PLC4X allows you to communicate directly with your industrial Hardware without retrofitting it [1]. For more information please refer to Apache PLC4X

Configuration

To configure the PLC4X source in DataBridge you need to provide the unique id, the connection details like host, port, and the service path (*), options (*), the driver and the tags. The driver could be any of the drivers supported by the PLC4X. For more information on the configuration please refer Camel PLC4X

* - Optional attributes

Sample Configuration

[
	{
		"uniqueId": "property1",
		"serverUrl": "localhost",
		"serverPort": 50201,
		"driver": "modbus-tcp",
		"servicePath": "",
		"options": "",
		"tags": [
			{
				"name": "value_1",
				"value": "holding-register:1"
			}
		]
	}
]

Configuring Options

There are currently two supported ways for configuring the options for PLC4X:

Option Configuration 1

[
	{
		******same config as defined above******

		"options": "period=100&autoReconnect=true",

		******same config as defined above******
	}
]

Option Configuration 2

[
	{
		******same config as defined above******

		"options": [
			{
				"name": "period",
				"value": "100"
			},
                        {
				"name": "autoReconnect",
				"value": "true"
			}
		]

		******same config as defined above******
	}
]

Similarly, you can configure multiple PLC4X inside the configuration file.

Naming Convention

The name of the PLC4X configuration file should be plc4xconsumer.json.

Working Example

The integration example with PLC4X as a data source, Json Jackson and JSONata as a transformer, and AAS as a data sink is on GitHub DataBridge Example. and in this article

Back to the top