Apache PLC4X 致力于创建一组库,用于以统一的方式与工业级可编程逻辑控制器 (PLC) 进行通信。我们计划将库用于:
PLC4X 还与其他 Apache 项目集成,例如:
并带来独立(Java)实用程序,例如:
它还提供了在应用程序内部使用的 (Java) 工具:
根据编程语言的不同,用法也会有所不同,因此请访问 PLC4X 网站上的入门指南查找所选语言。
注意:目前支持构建 Apache PLC4X 所有部分的 Java 版本至少是 Java 19(我们已经测试了 Java 21 之前的所有版本),但是现在只有 Java 工具 UI 需要此功能。所有其他模块至少需要 Java 11。
请参阅网站上的 PLC4J 用户指南,开始在 Java 应用程序中使用 PLC4X:https://plc4x.apache.org/plc4x/latest/users/getting-started/plc4j.html
目前,该项目配置为需要以下软件:
JAVA_HOME
Java 和 Scala 模块。passive-mode
驱动程序警告:代码生成使用的实用程序需要一些额外的 VM 设置。从根目录运行构建时,会自动应用.mvn/jvm.config
中的设置。仅构建子模块时,设置 vm 参数非常重要: --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
。例如,在 Intellij 中,在 IDE 设置中设置这些设置:Preferences |构建、执行、部署 |构建工具| Maven |运行器:JVM 选项。
更详细的描述可以在我们的网站上找到:
https://plc4x.apache.org/plc4x/latest/developers/preparing/index.html
PLC4C
我们还需要:所有需求均由构建本身检索
PLC4Go
我们还需要:所有需求均由构建本身检索
PLC4Py
我们还需要:PLC4Net
我们还需要:通过此设置,您将能够构建 PLC4X 的 Java 部分。
在进行完整构建时,我们会自动运行先决条件检查,如果未满足所有要求,则构建失败并给出解释。
如果你不想在普通系统上设置环境,并且已经安装了 Docker,那么你也可以在 Docker 容器中构建所有内容:
docker compose up
这将构建一个本地 Docker 容器,能够构建 PLC4X 的所有部分,并将运行该容器内本地目录的 Maven 构建。
默认构建将运行本地发布构建,因此它也可用于确保发布时构建的可重现构建。
默认情况下它将在本地存储文件:
out/.repository
out/.local-snapshots-dir
这样做的原因是,否则这些工件将与源发布工件一起打包,从而产生 12GB 或更多的 zip 存档。但是,将其保存在主target
目录中将使构建在每次运行mvn clean
时删除本地存储库。然而, out
目录默认从程序集描述符中排除,因此它不包含在源 zim 中。
您的系统上必须至少安装 Java 11 并连接到 Maven Central(用于下载外部第三方依赖项)。构建需要 Maven 3.6,因此请确保它已安装并在您的系统上可用。
注意:当前使用 Java 21 时,Apache Kafka 集成模块被排除在构建之外,因为它所需的插件之一已被证明与此版本不兼容。
注意:存储库中安装了一个方便的 Maven-Wrapper,使用时,它会自动下载并安装 Maven。如果您想使用它,请使用./mvnw
或mvnw
而不是普通的mvn
命令。
注意:从sources-zip运行时, mvnw
可能无法在Mac
或Linux
上执行。通过在目录中运行以下命令可以轻松修复此问题。
$ chmod +x mvnw
注意:如果您使用的是Windows
系统,请在以下构建命令中使用mvnw.cmd
而不是./mvnw
。
构建 PLC4X Java jar 并将其安装在本地 Maven 存储库中
./mvnw install
您现在可以构建使用 PLC4X 的 Java 应用程序。 PLC4X 示例是一个很好的起点,可以在plc4j/examples
目录中找到。
可以通过启用with-go
配置文件来构建Go
驱动程序:
./mvnw -P with-go install
可以通过启用with-java
配置文件来构建Java
驱动程序:
./mvnw -P with-java install
C# / .Net
实现目前处于work in progress
状态。为了能够构建C# / .Net
模块,您当前需要激活: with-dotnet
配置文件。
./mvnw -P with-dotnet install
Python 实现目前处于某种不干净的状态,仍然需要重构。为了能够构建 Python 模块,您当前需要激活: with-python
配置文件。
./mvnw -P with-python install
为了构建所有内容,以下命令应该起作用:
./mvnw -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks,update-generated-code install
使用以下渠道之一加入 PLC4X 社区。我们很乐意提供帮助!
订阅以下邮件列表:
在 Twitter 上获取最新的 PLC4X 新闻:https://twitter.com/ApachePlc4x
您可以通过多种形式参与 PLC4X 项目。
这些是但不限于:
我们是一群非常友好的人,所以不要害怕向前迈出一步。如果您想为 PLC4X 做出贡献,请查看我们的贡献指南!
Apache PLC4X 根据 Apache 许可证版本 2.0 发布。