Users

This part of the PLC4X website is dedicated to people wanting to use Apache PLC4X.

It will provide information on the features and how to use them as well as documentation on how to use the different integration modules.

Apache PLC4X allows you to communicate directly with your industrial Hardware, without having to retrofit it.

This is possible, as PLC4X implements the protocols for the most common industrial communication protocols and uses these to communicate with the various types of devices. The one thing that separates PLC4X from most other, mostly commercial drivers, is that we don’t try to implement each protocol that it would be a certifiable protocol-stack, but concentrate on making a core set of operations available the identical way over all drivers.

This allows users to develop software mostly independent of the actual type of hardware used.

Currently, we support the following protocols:



Another speciality, which is why it’s called PLC4 X and not PLC4 J, is that we generally try to make our drivers available in various programming languages. In contrast to other projects, we don’t do this by wrapping C-type libraries with stubs for various languages, we generate most of our code and are hereby able to build implementation native to the language being used, which lets us take full advantage of the corresponding programming language features and concepts.



Besides providing access to devices using one of above protocols, Apache PLC4X also ships with integration modules for the following tools and frameworks.



As last category of tools come modules that can be used in your applications:

  • Connection Cache (Connection Cache for PLC connections)

  • Object PLC Mapping (OPM) (Object PLC Mapping - Like JPA for PLC data)

  • Scraper (Util for automating fetching PLC data using a variety of triggers)

  • Testing-Utils (Want to build/test an application without having a PLC? …​ this is the tool for you)