/PLCreX

Approaches towards the analysis and reuse capabilities of IEC 61131-3 Programmable Logic Controllers

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

PLCreX - Approaches towards the analysis and reuse capabilities of IEC 61131-3 Programmable Logic Controllers

Maintenance Windows Python 3.11 Tests Coverage Documentation Status GPLv3 license


Quick links

Releases · Documentation · Quick Start · Key Features · Licenses · Acknowledgments


Quick Start

Explore the docs »

  • Download IEC-Checker v0.4 via IEC-Checker's GitHub releases [.url]
  • Download NuSMV symbolic model checker v2.6.0 via NuSMV's homepage [.url]
  • Install PLCreX via PyPI: pip install plcrex or
  • Install PLCreX via PLCreX's GitHub repository: install-windows.bat
    • [optional] Run local tests: coverage run -m pytest ./tests/ --verbose
    • Activate virtual environment (venv): run.bat

Key Features

Explore the docs »

Usage: python -m plcrex --help

Tool Usage Script Version Design flow
FBD-Optimizer plcrex fbd-optimizer [OPTIONS] SOURCE EXE EXPORT FILENAME st2x 2.2.0 *.xml → fbd2st → *.st → st2x → *.st
FBD-to-ST Compiler plcrex fbd-to-st [OPTIONS] SOURCE EXPORT FILENAME fbd2st 1.4.0 *.xml → fbd2st → *.st
IEC-Checker plcrex iec-checker [OPTIONS] SOURCE EXE EXPORT FILENAME iec_checker 1.2.0 *.st → iec_checker → *.log
I/O-Impact Analysis plcrex impact-analysis [OPTIONS] SOURCE EXPORT FILENAME st2ia 1.4.1 *.xml → fbd2st → *.st → st2ia → *.dot
ST-Parser plcrex st-parser [OPTIONS] SOURCE EXPORT FILENAME st2ast 1.2.0 *.st → st2ast → .dot/.txt
Test-Case-Generator plcrex test-case-gen [OPTIONS] FORMULA EXPORT FILENAME ds2ts 2.1.2 FORMULA:str → ds2ts → *.log
XML-Validator plcrex xml-validator [OPTIONS] SOURCE xml_val 1.2.0 *.xml → xml_val → stdout

NOTE: Use the "--help" option to see feature details

Licenses

PLCreX and its dependencies are licensed as follows:

Tool Version License
PLCreX 1.2.0 GPLv3
IEC-Checker 0.4 LGPL v3.0
NuSMV 2.6.0 LGPL v2.1

Acknowledgments

Inspiration, code snippets, etc.