️ Примечание: в настоящее время неактивно. Дополнительная разработка доступна в случае финансирования.? Контакт: [email protected]
Этот проект направлен на реализацию инструмента с открытым исходным кодом для анализа статического кода программ IEC 61131-3.
В настоящее время этот инструмент поддерживает язык структурированного текстового программирования, форматы Plcopen XML и SEL XML. Он работает с расширенным структурированным текстовым диалектом, который полностью совместим с Matiec Transpiler.
Если вы обнаружите, что 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, клонируйте репозиторий и используйте инструкции по установке в разделе «Linux».
Существует также удобный сценарий Checker.py, который завершает бинарную бинар и предоставляет дополнительные варианты, такие как расширенная поддержка форматирования и запуск плагинов 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 для отображения помощи.