Apache PLC4X は、統一された方法で産業グレードのプログラマブル ロジック コントローラー (PLC) と通信するためのライブラリのセットを作成する取り組みです。次の用途に使用するライブラリを出荷する予定です。
PLC4X は、次のような他の Apache プロジェクトとも統合します。
また、次のようなスタンドアロン (Java) ユーティリティも提供します。
また、アプリケーション内で使用するための (Java) ツールも提供します。
プログラミング言語によって使用方法が異なるため、PLC4X Web サイトの「はじめに」にアクセスして、選択する言語を調べてください。
注: 現在、Apache PLC4X のすべての部分の構築をサポートする Java バージョンは少なくとも Java 19 (Java 21 までのすべてのバージョンをテストしました) ですが、現時点でこれが必要なのは Java ツール UI のみです。他のすべてのモジュールには少なくとも Java 11 が必要です。
Java アプリケーションで PLC4X の使用を開始するには、Web サイトの PLC4J ユーザー ガイドを参照してください: https://plc4x.apache.org/plc4x/latest/users/getting-started/plc4j.html
現在、プロジェクトは次のソフトウェアを必要とするように構成されています。
JAVA_HOME
がそれを指すように構成されています。passive-mode
ドライバーの使用用の libpcap/Npcap警告: コード生成では、追加の 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 設定でこれらを設定します。ビルド、実行、展開 |ビルドツール |メイブン |ランナー: JVM オプション。
より詳細な説明は、当社の Web サイトでご覧いただけます。
https://plc4x.apache.org/plc4x/latest/developers/preparing/index.html
PLC4C
構築するには、以下も必要です。すべての要件はビルド自体によって取得されます
PLC4Go
構築するには、以下も必要です。すべての要件はビルド自体によって取得されます
PLC4Py
構築するには、以下も必要です。PLC4Net
構築するには、以下も必要です。この設定により、PLC4X の Java 部分を構築できるようになります。
完全なビルドを実行する場合、前提条件チェックが自動的に実行され、すべての要件が満たされていない場合は、説明が表示されてビルドが失敗します。
通常のシステムに環境をセットアップする手間を省き、Docker がインストールされている場合は、すべてを Docker コンテナーに構築することもできます。
docker compose up
これにより、PLC4X のすべての部分をビルドできるローカル Docker コンテナが構築され、このコンテナ内のローカル ディレクトリの Maven ビルドが実行されます。
デフォルトのビルドはローカルのリリース ビルドを実行するため、リリース時に再現可能なビルドを保証するためにも使用できます。
デフォルトでは、ファイルはローカルに保存されます。
out/.repository
に移動しますout/.local-snapshots-dir
に移動しますその理由は、そうしないと、アーティファクトがソース リリース アーティファクトと一緒にパッケージ化され、12 GB 以上の zip アーカイブが作成されてしまうためです。ただし、これをメインのtarget
ディレクトリに保存すると、 mvn clean
実行されるたびにビルドによってローカル リポジトリが削除されます。ただし、 out
ディレクトリはデフォルトでアセンブリ記述子から除外されるため、ソース zim には含まれません。
システムに少なくとも Java 11 がインストールされており、Maven Central に接続できる必要があります (外部サードパーティの依存関係をダウンロードするため)。ビルドには Maven 3.6 が必要なので、システムにインストールされ、使用できることを確認してください。
注: 現在 Java 21 を使用している場合、必要なプラグインの 1 つがこのバージョンと互換性がないことが判明したため、Apache Kafka 統合モジュールはビルドから除外されます。
注: リポジトリには便利な Maven-Wrapper がインストールされており、使用すると、Maven が自動的にダウンロードされ、インストールされます。これを使用したい場合は、通常のmvn
コマンドの代わりに./mvnw
またはmvnw
使用してください。
注:sources-zip から実行する場合、 mvnw
Mac
またはLinux
では実行できない可能性があります。これは、ディレクトリで次のコマンドを実行することで簡単に修正できます。
$ chmod +x mvnw
注: Windows
システムで作業している場合は、次のビルド コマンドで./mvnw
の代わりにmvnw.cmd
を使用してください。
PLC4X Java jar をビルドし、ローカルの Maven リポジトリにインストールします
./mvnw install
PLC4X を使用する Java アプリケーションを構築できるようになりました。 PLC4X サンプルは開始するのに適しており、 plc4j/examples
ディレクトリ内で入手できます。
Go
ドライバーは、 with-go
プロファイルを有効にすることで構築できます。
./mvnw -P with-go install
Java
ドライバーは、 with-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 に基づいてリリースされています。