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 發布。