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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file plcrex-1.3.0.tar.gz.

File metadata

  • Download URL: plcrex-1.3.0.tar.gz
  • Upload date:
  • Size: 409.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for plcrex-1.3.0.tar.gz
Algorithm Hash digest
SHA256 5e72209a5a7a343e960d627934fcd06eec24e2710135f2b388dc171ddc1c7f4e
MD5 57fa1ea06913fffa849e1c02a2865277
BLAKE2b-256 f8e99c5338397023743a3c78a9680421fd7be25253f59eaf3e2872df7e9244c2

See more details on using hashes here.

File details

Details for the file plcrex-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: plcrex-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 421.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for plcrex-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc4672962007e6daf75b99e2b32c6cac15bd68662c0c62238b44ab6626a6e9a5
MD5 6baa142f6304bda329c7cb700d551959
BLAKE2b-256 fa90b31123ff875c9134249499c294e0ec2a8fbc6867aa6dbd6b9c38b6489787

See more details on using hashes here.

Supported by

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