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.

About Apache PLC4X

Apache PLC4X is an effort to create a set of libraries for communicating with industrial grade programmable logic controllers (PLCs) in a uniform way. We are planning on shipping libraries for usage in:

  1. Java

  2. Go

  3. C (not ready for usage)

  4. Python (not ready for usage)

  5. C# (.Net) (not ready for usage - abandoned)

PLC4X also integrates with other Apache projects, such as:

And brings stand-alone (Java) utils like:

  • OPC-UA Server: Enables you to communicate with legacy devices using PLC4X with OPC-UA.

  • PLC4X Server: Enables you to communicate with a central PLC4X Server which then communicates with devices via PLC4X.

It also provides (Java) tools for usage inside an application:

  • 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)