Open-source tools for analyzing and migrating B&R Automation Studio 4 (AS4) projects to Automation Studio 6 (AS6).
Detects obsolete libraries, unsupported hardware, deprecated functions - and includes helper scripts for automatic code conversion.
⚠️ Disclaimer: This project is unofficial and not provided or endorsed by B&R Industrial Automation.
It is offered as an open-source tool, with no warranty or guarantees.
Use at your own risk - contributions and improvements are very welcome!
- Analyze AS4 project structure and content
- Detect obsolete and deprecated libraries
- Identify unsupported hardware components
- Find deprecated function blocks and functions
- Suggest library upgrades and replacements
- Check project and hardware file compatibility with AS6
- Includes helper scripts for code migration and conversion
- Easily extendable to support more patterns and conversions
-
✅ Recommended: Download the latest release from GitHub Releases
Unzip and runas6-migration-tools.exe. -
🐍 Alternative (Python source):
Runpip install -r requirements.txt
Launch gui_launcher.py to open the GUI.
Choose the target script, browse to your AS4 project, and click Run.
Run any of the scripts from the command line:
usage: python as4_to_as6_analyzer.py project_path [options]
Scans Automation Studio project for transition from AS4 to AS6
positional arguments:
project_path Automation Studio 4.x path containing *.apj file
options:
-h, --help Show this help message and exit
-v, --verbose Outputs verbose information
--no-file Skip creating the analysis file in the AS folder
Example:
Run the main script to analyze an Automation Studio 4.12.x project:
python as4_to_as6_analyzer.py "C:\path\to\AutomationStudio4Project"💡 Tip: If you're using WSL, convert Windows paths like this:
C:\Projects\MyProject→/mnt/c/Projects/MyProject
| Script | Purpose |
|---|---|
gui_launcher.py |
GUI for running the scripts |
as4_to_as6_analyzer.py |
Main analysis and migration report generator |
helpers/asmath_to_asbrmath.py |
Replaces deprecated AsMath functions |
helpers/asstring_to_asbrstr.py |
Replaces deprecated AsString functions |
helpers/asopcua_update.py |
Updates OPC UA client code for AR 6 compatibility |
helpers/create_mapp_folders.py |
Creates the newer folders for the mapp components |
helpers/mappmotion_update.py |
Updates mappMotion code for mappMotion 6 compatibility |
Additional helper scripts may be added in future versions - pull requests welcome.
Due to the structure of the project, calling python helpers/<anyscript>.py will result in an error.
To prevent this, either use the GUI or change the call to python -m helpers.<anyscript> (omit the .py extension)
- Python 3.12 (tested)
- Designed for Automation Studio 4.12 projects
- Generates reports to assist in migration to Automation Studio 6.x
- This tool does not perform full automatic migration of projects.
- It provides analysis and recommendations to assist developers during migration.
- Helper scripts make best-effort changes based on known patterns, but may not cover all edge cases.
- Manual review and validation is always required after running the tool.
- Found an issue? Please open a GitHub issue.
- Have ideas or improvements?
Fork the repo and submit a pull request - contributions are very welcome!- Please run the black formatter prior to committing any changes to ensure a consistent style.
Hint: PyCharm allows to do so automatically via Settings->Tools->Black
- Please run the black formatter prior to committing any changes to ensure a consistent style.
MIT License - free to use for personal or commercial purposes.
This project is built by and for the B&R developer community.
It helps analyze existing AS4 projects, detect potential upgrade issues, and simplify the transition to AS6.
We hope it saves you time and gives you a head start - feedback and pull requests are always welcome 🚀
