Apache PLC4X는 산업용 등급 PLC(프로그래밍 가능 논리 컨트롤러)와 균일한 방식으로 통신하기 위한 라이브러리 세트를 만들기 위한 노력입니다. 우리는 다음과 같은 용도로 라이브러리를 배송할 계획입니다.
PLC4X는 다음과 같은 다른 Apache 프로젝트와도 통합됩니다.
다음과 같은 독립형(Java) 유틸리티를 제공합니다.
또한 애플리케이션 내부에서 사용할 수 있는 (Java) 도구도 제공합니다.
프로그래밍 언어에 따라 사용법이 다르므로 PLC4X 웹사이트의 시작하기로 이동하여 원하는 언어를 찾아보세요.
참고: 현재 Apache PLC4X의 모든 부분 구축을 지원하는 Java 버전은 Java 19 이상입니다(Java 21까지 모든 버전을 테스트했습니다). 그러나 현재 이 버전이 필요한 것은 Java 도구 UI뿐입니다. 다른 모든 모듈에는 Java 11 이상이 필요합니다.
Java 애플리케이션에서 PLC4X 사용을 시작하려면 웹사이트의 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에서는 Preferences(기본 설정) | 빌드, 실행, 배포 | 빌드 도구 | 메이븐 | 실행기: JVM 옵션.
더 자세한 설명은 당사 웹사이트에서 확인하실 수 있습니다:
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
로 이동됩니다. 그 이유는 그렇지 않으면 아티팩트가 소스 릴리스 아티팩트와 함께 패키지되어 12GB 이상의 zip 아카이브가 생성되기 때문입니다. 그러나 이를 기본 target
디렉터리에 저장하면 mvn clean
이 실행될 때마다 빌드가 로컬 저장소를 삭제하게 됩니다. 그러나 out
디렉토리는 기본적으로 어셈블리 설명자에서 제외되므로 소스 zim에 포함되지 않습니다.
시스템에 Java 11 이상이 설치되어 있어야 하며 Maven Central에 연결되어 있어야 합니다(외부 타사 종속성을 다운로드하려면). 빌드하려면 Maven 3.6이 필요하므로 시스템에 Maven 3.6이 설치되어 있고 사용 가능한지 확인하세요.
참고: 현재 Java 21을 사용하는 경우 필요한 플러그인 중 하나가 이 버전과 호환되지 않는 것으로 입증되었으므로 Apache Kafka 통합 모듈이 빌드에서 제외됩니다.
참고: 저장소에 편리한 Maven-Wrapper가 설치되어 있으며, 이를 사용하면 Maven이 자동으로 다운로드되어 설치됩니다. 이를 사용하려면 일반 mvn
명령 대신 ./mvnw
또는 mvnw
사용하십시오.
참고: source-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에 따라 출시됩니다.