Files
Codesys-MCP/python_scripting/what-you-can-do.md

47 lines
1.7 KiB
Markdown

# What You Can Do with Python in CODESYS
Python in CODESYS is mainly for **engineering automation** (IDE/project automation), not for PLC runtime logic execution.
## Typical use cases
- **Project scaffolding**
- Create project structures, folders, and naming templates automatically.
- **Bulk edits**
- Create or modify many POUs/objects consistently.
- **Consistency checks**
- Enforce naming conventions, library versions, and structure rules.
- **Build/export automation**
- Trigger exports and produce repeatable build artifacts.
- **Documentation generation**
- Extract project metadata and generate docs/reports.
- **Pre-release validation**
- Run scripted checks before handing over a project.
## Practical examples
- Generate standard folder trees and placeholder POUs for new machines.
- Scan all variables and report naming/style violations.
- Export project data for review and commit audit trails.
- Produce release notes from project metadata.
## What Python in CODESYS is NOT
- Not a replacement for IEC 61131-3 application logic running on the PLC.
- Not typically used for hard real-time control loops on the target runtime.
## Good practices
- Keep scripts idempotent where possible (safe to run multiple times).
- Add a `dry-run` mode for scripts that change project data.
- Write action logs (what changed, where, and when).
- Use one script per purpose (small, focused scripts are easier to maintain).
- Test against project copies before production use.
## Suggested first automation tasks
1. A read-only project inventory script (devices, POUs, libraries).
2. A naming-convention checker script.
3. A release/export helper script.
These three give immediate value while keeping risk low.