️ ملاحظة: حاليا غير نشط. مزيد من التطوير المتاح إذا تم تمويله.؟ الاتصال: [email protected]
يهدف هذا المشروع إلى تنفيذ أداة مفتوحة المصدر لتحليل التعليمات البرمجية الثابتة لبرامج IEC 61131-3.
تدعم هذه الأداة حاليًا لغة البرمجة النصية المنظمة ، وتنسيقات PLCOPEN XML و SEL XML. إنه يعمل مع لهجة النص المهيكلة الموسعة المتوافقة تمامًا مع Transpiler MatieC.
إذا وجدت ، فإن iec-checker لا يعمل مع امتدادات نصية منظمة يقدمها بائع PLC الخاص بك ، فيرجى إخبارنا بذلك. من المحتمل أن يتم تنفيذ هذا بسهولة مع بعض التعديلات في المحلل.
يتم تنفيذ الميزات التالية حاليًا:
--dump ) وإنتاج تحذيرات بتنسيق JSON ( --output-format-format json ).يمكنك تنزيل أحدث إصدار ثنائي لـ Linux و Windows X86_64 من إصدارات GitHub.
تثبيت أحدث مترجم OCAML و OPAM. النظر في تعليمات التثبيت في ocaml.org و opam.ocaml.org.
ثم تثبيت التبعيات المطلوبة:
opam install --deps-only . # first time only بناء وتثبيت bin/iec_checker ثنائي:
make buildتثبيت OCAML لنظام التشغيل Windows وفقًا لدليل التثبيت. يعمل مثبت الرسوم بشكل جيد "خارج المربع".
ثم افتح تركيب Cygwin Shell ، واستنساخ المستودع واستخدم تعليمات التثبيت من قسم "Linux".
يوجد أيضًا نص مريح checker.py يلف OCAML ثنائيًا ويوفر خيارات إضافية مثل دعم التنسيق الممتد وتشغيل الإضافات Python. يتم كتابة جناح الاختبار أيضًا في Python ويتطلب مترجم Python مع بعض الحزم الإضافية.
احصل على Python 3 وتثبيت التبعيات في البيئة الافتراضية:
virtualenv venv --python=/usr/bin/python3
source venv/bin/activate
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txtثم قم بتشغيل اختبارات الوحدة:
make test تحقق من بعض البرامج التجريبية المكتوبة في نص منظم:
bin/iec_checker test/st/*.st
يمكنك أيضًا استخدام -وسيطة --help لعرض المساعدة.