Skip to main content

PLCreX - Simplification, Transformation, Analysis, and Validation of IEC 61131-3 Programmable Logic Controllers

Project description

PLCreX - Simplification, Transformation, Analysis, and Validation of IEC 61131-3 Programmable Logic Controllers

Maintenance Windows Python 3.9 Tests Coverage Documentation Status GPLv3 license



Quick Start

Explore the docs »

  • Download Python v3.9 [.url]
  • 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
    • Activate virtual environment (venv): run.bat
    • [optional] Run local tests: coverage run -m pytest ./tests/ --verbose

Key Features

 Usage: plcrex [OPTIONS] COMMAND [ARGS]...

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version                                                                                                                                                │
│ --install-completion        [bash|zsh|fish|powershell|pwsh]  Install completion for the specified shell. [default: None]                                 │
│ --show-completion           [bash|zsh|fish|powershell|pwsh]  Show completion for the specified shell, to copy it or customize the installation.          │
│                                                              [default: None]                                                                             │
│ --help                                                       Show this message and exit.                                                                 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ fbd-optimizer                  FBD-Optimizer           *.xml → fbd2st → *.st → st2x → *.st/*.sctx                                                        │
│ fbd-to-st                      FBD-to-ST Compiler      *.xml → fbd2st → *.st                                                                             │
│ iec-checker                    IEC-Checker             *.st → iecchecker → *.log                                                                         │
│ impact-analysis                I/O-Impact Analysis     *.xml → fbd2st → *.st → st2ia → *.dot                                                             │
│ st-parser                      ST-Parser               *.st → st2ast → *.dot/*.txt                                                                       │
│ test-case-gen                  Test-Case-Generator     FORMULA:str → ds2ts → stdout                                                                      │
│ xml-validator                  XML-Validator           *.xml → xmlval → stdout                                                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

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.3.1 *.xml → fbd2st → *.st → st2x → *.st / *.sctx
FBD-to-ST Compiler plcrex fbd-to-st [OPTIONS] SOURCE EXPORT FILENAME fbd2st 1.4.1 *.xml → fbd2st → *.st
IEC-Checker plcrex iec-checker [OPTIONS] SOURCE EXE EXPORT FILENAME iecchecker 1.2.1 *.st → iecchecker → *.log
I/O-Impact Analysis plcrex impact-analysis [OPTIONS] SOURCE EXPORT FILENAME st2ia 1.4.2 *.xml → fbd2st → *.st → st2ia → *.dot
ST-Parser plcrex st-parser [OPTIONS] SOURCE EXPORT FILENAME st2ast 1.2.1 *.st → st2ast → *.dot / *.txt
Test-Case-Generator plcrex test-case-gen [OPTIONS] FORMULA EXPORT FILENAME ds2ts 3.1.0 FORMULA:str → ds2ts → stdout
XML-Validator plcrex xml-validator [OPTIONS] SOURCE xmlval 1.2.1 *.xml → xmlval → stdout

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

Licenses

PLCreX and its dependencies are licensed as follows:

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

Acknowledgments

Inspiration, code snippets, etc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plcrex-1.3.0.tar.gz (409.1 kB view hashes)

Uploaded Source

Built Distribution

plcrex-1.3.0-py3-none-any.whl (421.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page