Apache PLC4X คือความพยายามในการสร้างชุดไลบรารีสำหรับการสื่อสารกับ Programmable Logic Controllers (PLC) ระดับอุตสาหกรรมในลักษณะเดียวกัน เรากำลังวางแผนในการจัดส่งไลบรารีสำหรับการใช้งานใน:
PLC4X ยังทำงานร่วมกับโปรเจ็กต์ Apache อื่นๆ เช่น:
และนำยูทิลิตี้แบบสแตนด์อโลน (Java) เช่น:
นอกจากนี้ยังมีเครื่องมือ (Java) สำหรับการใช้งานภายในแอปพลิเคชัน:
การใช้งานจะแตกต่างกันไปขึ้นอยู่กับภาษาการเขียนโปรแกรม ดังนั้นโปรดไปที่การเริ่มต้นใช้งานบนเว็บไซต์ PLC4X เพื่อค้นหาภาษาที่เลือก
หมายเหตุ: ปัจจุบันเวอร์ชัน Java ที่รองรับการสร้างทุกส่วนของ Apache PLC4X คืออย่างน้อย Java 19 (เราได้ทดสอบทุกเวอร์ชันจนถึง Java 21) อย่างไรก็ตาม มีเพียง Java Tool UI เท่านั้นที่ต้องการในตอนนี้ โมดูลอื่นๆ ทั้งหมดต้องมี Java 11 เป็นอย่างน้อย
ดูคู่มือผู้ใช้ PLC4J บนเว็บไซต์เพื่อเริ่มใช้ PLC4X ในแอปพลิเคชัน Java ของคุณ: https://plc4x.apache.org/plc4x/latest/users/getting-started/plc4j.html
ปัจจุบัน โครงการได้รับการกำหนดค่าให้ต้องใช้ซอฟต์แวร์ต่อไปนี้:
JAVA_HOME
กำหนดค่าให้ชี้ไปที่นั้นpassive-mode
คำเตือน: การสร้างโค้ดใช้โปรแกรมอรรถประโยชน์ที่ต้องมีการตั้งค่า VM เพิ่มเติมบางอย่าง เมื่อรันบิลด์จากรูท การตั้งค่าใน . .mvn/jvm.config
จะถูกนำไปใช้โดยอัตโนมัติ เมื่อสร้างเฉพาะโมดูลย่อย สิ่งสำคัญคือต้องตั้งค่า vm args: --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 | สร้าง ดำเนินการ ปรับใช้ | เครื่องมือสร้าง | มาเวน | รองชนะเลิศ: ตัวเลือก JVM
คำอธิบายโดยละเอียดเพิ่มเติมมีอยู่ในเว็บไซต์ของเรา:
https://plc4x.apache.org/plc4x/latest/developers/preparing/index.html
PLC4C
เรายังต้องการ:ข้อกำหนดทั้งหมดจะถูกเรียกค้นโดยตัวบิลด์เอง
PLC4Go
เรายังต้องการ:ข้อกำหนดทั้งหมดจะถูกเรียกค้นโดยตัวบิลด์เอง
PLC4Py
เรายังต้องการ:PLC4Net
เรายังต้องการ:ด้วยการตั้งค่านี้ คุณจะสามารถสร้างส่วน Java ของ PLC4X ได้
เมื่อสร้างเวอร์ชันเต็ม เราจะดำเนินการตรวจสอบข้อกำหนดเบื้องต้นโดยอัตโนมัติและล้มเหลวในเวอร์ชันพร้อมคำอธิบาย หากไม่เป็นไปตามข้อกำหนดทั้งหมด
หากคุณไม่ต้องการตั้งค่าสภาพแวดล้อมบนระบบปกติของคุณให้ยุ่งยาก และคุณได้ติดตั้ง Docker ไว้แล้ว คุณสามารถสร้างทุกอย่างในคอนเทนเนอร์ Docker ได้:
docker compose up
สิ่งนี้จะสร้างคอนเทนเนอร์ Docker ภายในที่สามารถสร้างทุกส่วนของ PLC4X และจะเรียกใช้ maven build ของไดเร็กทอรีในเครื่องภายในคอนเทนเนอร์นี้
บิลด์เริ่มต้นจะรันรีลีสบิลด์ในเครื่อง ดังนั้นจึงสามารถใช้เพื่อรับประกันบิลด์ที่ทำซ้ำได้เมื่อรีลีส
ตามค่าเริ่มต้นมันจะเก็บไฟล์ไว้ในเครื่อง:
out/.repository
out/.local-snapshots-dir
เหตุผลก็คือ มิฉะนั้น อาร์ติแฟกต์จะถูกรวมเข้ากับอาร์ติแฟกต์การเผยแพร่ต้นทาง ซึ่งส่งผลให้มีไฟล์ zip ขนาด 12GB หรือมากกว่า อย่างไรก็ตาม การบันทึกลงในไดเร็กทอรี target
หลักจะทำให้บิลด์ลบ repo ในเครื่องทุกครั้งที่มีการรัน mvn clean
อย่างไรก็ตาม ไดเร็กทอรี out
จะถูกแยกออกตามค่าเริ่มต้นจากตัวอธิบายแอสเซมบลี และดังนั้นจึงไม่รวมอยู่ใน zim ต้นทาง
คุณต้องติดตั้ง Java 11 ไว้เป็นอย่างน้อยบนระบบของคุณและการเชื่อมต่อกับ Maven Central (สำหรับการดาวน์โหลดการพึ่งพาบุคคลที่สามภายนอก) จำเป็นต้องมี Maven 3.6 ในการสร้าง ดังนั้นโปรดตรวจสอบให้แน่ใจว่าได้ติดตั้งและพร้อมใช้งานบนระบบของคุณแล้ว
หมายเหตุ: เมื่อใช้ Java 21 ในปัจจุบัน โมดูลการรวม Apache Kafka จะไม่รวมอยู่ในบิลด์ เนื่องจากหนึ่งในปลั๊กอินที่ต้องการได้รับการพิสูจน์แล้วว่าเข้ากันไม่ได้กับเวอร์ชันนี้
หมายเหตุ: มีการติดตั้ง Maven-Wrapper ที่สะดวกสบายใน repo เมื่อใช้งานจะเป็นการดาวน์โหลดและติดตั้ง Maven โดยอัตโนมัติ หากคุณต้องการใช้สิ่งนี้ โปรดใช้ ./mvnw
หรือ mvnw
แทนคำสั่ง mvn
ปกติ
หมายเหตุ: เมื่อเรียกใช้จาก Sources-zip mvnw
อาจไม่สามารถเรียกใช้งานได้บน Mac
หรือ Linux
ซึ่งสามารถแก้ไขได้โดยการรันคำสั่งต่อไปนี้ในไดเร็กทอรี
$ chmod +x mvnw
หมายเหตุ: หากคุณกำลังทำงานบนระบบ Windows
โปรดใช้ mvnw.cmd
แทน ./mvnw
ในคำสั่ง build ต่อไปนี้
สร้าง PLC4X Java jars และติดตั้งลงในที่เก็บ Maven ในเครื่องของคุณ
./mvnw install
ตอนนี้คุณสามารถสร้างแอปพลิเคชัน Java ที่ใช้ PLC4X ได้แล้ว ตัวอย่าง 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 โดยใช้ช่องทางใดช่องทางหนึ่งต่อไปนี้ เรายินดีที่จะช่วยเหลือ!
สมัครสมาชิกรายชื่อผู้รับจดหมายต่อไปนี้:
รับข่าวสาร PLC4X ล่าสุดบน Twitter: https://twitter.com/ApachePlc4x
มีหลายรูปแบบที่คุณสามารถมีส่วนร่วมกับโปรเจ็กต์ PLC4X ได้
สิ่งเหล่านี้คือแต่ไม่จำกัดเฉพาะ:
เราเป็นกลุ่มที่เป็นมิตรมาก ดังนั้นอย่ากลัวที่จะก้าวไปข้างหน้า หากคุณต้องการสนับสนุน PLC4X โปรดดูคู่มือการสนับสนุนของเรา!
Apache PLC4X เปิดตัวภายใต้ Apache License เวอร์ชัน 2.0