| 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) Scala |
| 3) C/C++ |
| |
| As well as provide direct integration into other Apache projects, such as: |
| |
| 1) Apache Camel |
| 2) Apache Edgent |
| 3) Apache Kafka-Connect |
| |
| |
| Environment |
| ----------- |
| |
| Currently the project is configured to require the following software: |
| |
| 1) Java 8 JDK: For running Maven in general as well as compiling the Java and Scala modules `JAVA_HOME configured to point to that. |
| 2) (Optional) Graphwiz: For generating the graphs in the documentation (http://www.graphviz.org/) |
| |
| |
| Getting Started |
| --------------- |
| |
| You must have Java 8 installed on your system and connectivity to Maven Central |
| (for downloading external third party dependencies). Maven will be automatically |
| downloaded and installed by the maven wrapper `mvnw`. |
| |
| Build PLC4X jars and install them in your local maven repository |
| |
| $ ./mvnw install # add -DskipTests to omit running the tests |
| |
| You can now construct applications that use PLC4X. The PLC4X samples |
| are a good place to start and are available inside the `examples` |
| directory. |
| |
| |
| Additional Information |
| ---------------------- |
| |
| Some parts of PLC4X, especially the raw socket support, require installed versions |
| of libpcap/WinPcap. |
| |
| You can download the Mac/Linux version from: http://www.tcpdump.org/ |
| The windows version can be found here: https://www.winpcap.org/install/ |
| |
| |
| Licensing |
| --------- |
| |
| Apache PLC4X is released under the Apache License Version 2.0. |
| |
| Apache PLC4X is an effort undergoing incubation at The Apache Software Foundation (ASF), |
| sponsored by the Incubator PMC. Incubation is required of all newly accepted |
| projects until a further review indicates that the infrastructure, communications, |
| and decision making process have stabilized in a manner consistent with other |
| successful ASF projects. While incubation status is not necessarily a reflection |
| of the completeness or stability of the code, it does indicate that the project |
| has yet to be fully endorsed by the ASF. |