يعد Apache PLC4X بمثابة جهد لإنشاء مجموعة من المكتبات للتواصل مع وحدات التحكم المنطقية القابلة للبرمجة من الدرجة الصناعية (PLCs) بطريقة موحدة. نحن نخطط لشحن المكتبات لاستخدامها في:
يتكامل PLC4X أيضًا مع مشاريع Apache الأخرى، مثل:
ويجلب أدوات (Java) قائمة بذاتها مثل:
كما يوفر أدوات (Java) للاستخدام داخل التطبيق:
اعتمادًا على لغة البرمجة، سيختلف الاستخدام، لذا يرجى الانتقال إلى "بدء الاستخدام" على موقع PLC4X للبحث عن اللغة التي تختارها.
ملاحظة: إصدار Java الذي يدعم إنشاء جميع أجزاء Apache PLC4X حاليًا هو Java 19 على الأقل (لقد اختبرنا جميع الإصدارات حتى Java 21)، ومع ذلك فإن واجهة مستخدم أداة Java فقط هي التي تتطلب ذلك الآن. تحتاج جميع الوحدات الأخرى إلى 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: --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.
وصف أكثر تفصيلا متاح على موقعنا:
https://plc4x.apache.org/plc4x/latest/developers/preparing/index.html
PLC4C
نحتاج أيضًا إلى:يتم استرداد جميع المتطلبات بواسطة البناء نفسه
PLC4Go
نحتاج أيضًا إلى:يتم استرداد جميع المتطلبات بواسطة البناء نفسه
PLC4Py
نحتاج أيضًا إلى:PLC4Net
نحتاج أيضًا إلى:باستخدام هذا الإعداد، ستتمكن من إنشاء جزء Java من PLC4X.
عند إجراء إنشاء كامل، نقوم تلقائيًا بإجراء فحص المتطلبات الأساسية ونفشل في البناء مع توضيح ذلك، إذا لم يتم استيفاء جميع المتطلبات.
إذا كنت لا تريد أن تكلف نفسك عناء إعداد البيئة على نظامك العادي، وكان لديك Docker مثبتًا، فيمكنك أيضًا إنشاء كل شيء في حاوية Docker:
docker compose up
سيؤدي هذا إلى إنشاء حاوية Docker محلية قادرة على بناء جميع أجزاء PLC4X وسيقوم بتشغيل إنشاء مخضرم للدليل المحلي داخل هذه الحاوية.
سيتم تشغيل الإصدار الافتراضي بناءً على إصدار محلي، لذا يمكن استخدامه أيضًا لضمان الإصدارات القابلة للتكرار عند الإصدار.
افتراضيًا، سيتم تخزين الملفات محليًا:
out/.repository
out/.local-snapshots-dir
والسبب في ذلك هو أنه بخلاف ذلك سيتم تجميع القطع الأثرية مع قطعة أثرية إصدار المصدر، مما يؤدي إلى أرشيف مضغوط بسعة 12 جيجابايت أو أكثر. ومع ذلك، فإن حفظه في الدليل target
الرئيسي سيجعل البناء يحذف الريبو المحلي في كل مرة يتم فيها تشغيل mvn clean
. ومع ذلك، يتم استبعاد الدليل out
افتراضيًا من واصف التجميع، وبالتالي لا يتم تضمينه في zim المصدر.
يجب أن يكون لديك على الأقل Java 11 مثبتًا على نظامك وأن تكون متصلاً بـ Maven Central (لتنزيل تبعيات الطرف الثالث الخارجية). يلزم إنشاء Maven 3.6، لذا تأكد من تثبيته وتوافره على نظامك.
ملاحظة: عند استخدام Java 21 حاليًا، يتم استبعاد وحدة تكامل Apache Kafka من الإصدار حيث ثبت أن أحد المكونات الإضافية التي تتطلبها غير متوافق مع هذا الإصدار.
ملحوظة: هناك أداة Maven-Wrapper مثبتة في الريبو، عند استخدامها، تقوم تلقائيًا بتنزيل Maven وتثبيته. إذا كنت تريد استخدام هذا، فيرجى استخدام ./mvnw
أو mvnw
بدلاً من أمر mvn
العادي.
ملاحظة: عند التشغيل من source-zip، قد لا يكون mvnw
قابلاً للتنفيذ على نظام التشغيل Mac
أو Linux
. يمكن إصلاح ذلك بسهولة عن طريق تشغيل الأمر التالي في الدليل.
$ chmod +x mvnw
ملاحظة: إذا كنت تعمل على نظام Windows
، فيرجى استخدام mvnw.cmd
بدلاً من ./mvnw
في أوامر الإنشاء التالية.
قم ببناء مرطبانات Java PLC4X وقم بتثبيتها في مستودعك المحلي
./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 حاليًا في حالة غير نظيفة إلى حد ما ولا يزال بحاجة إلى إعادة البناء. لتتمكن من بناء وحدة بايثون، تحتاج حاليًا إلى تنشيط ملفات التعريف: 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 الإصدار 2.0.