Recipol UI is a desktop application for inspecting MTP (.aml) files and recipe (.xml) files, visualizing the parsed hierarchy, and monitoring recipe execution as a Sequential Function Chart (SFC). It provides a Home page for file management, an MTP Viewer for browsing services/procedures/parameters, a Recipe Monitor with an SFC diagram, and a Logs page for execution output.
Features
- Home page file manager for importing
.aml(MTP) and.xml(recipe) files and grouping them by type. - Multi-select table with quick actions to Import, Delete Selected, and Reset Selection.
- One-click Inspect that parses selected files and drives the rest of the UI.
- MTP Viewer that shows the parsed hierarchy (Service ? Procedure ? Parameter) with IDs, types, default values, and limits.
- Recipe Monitor that renders Sequential Function Chart (SFC) flows with steps and transitions, including zoom controls.
- Optional recipe execution via OPC UA, with live highlighting of active steps/transitions.
- Execution log view to track parsing, generation, and run-time status messages.
Requirements
- Python 3.10+ (the code uses
X | Noneunion type hints). - Dependencies (install via
pip):PyQt6qfluentwidgetsasyncuadefusedxmlxmlschema
Example:
pip install PyQt6 qfluentwidgets asyncua defusedxml xmlschemaUsage
- Start the app:
python gui_main.py
- Home page workflow:
- Click Import File to add
.aml(MTP) and/or.xml(recipe) files. - Imported files are copied to
Code/Recipol/Artifact. - Select one or more rows in the table to enable Inspect.
- Use Delete Selected to remove files from the artifact folder.
- Use Reset Selection to clear the table selection and reset progress.
- Click Import File to add
- Inspect files:
- Click Inspect to parse MTP files and/or generate SFC data from recipe files.
- Progress is shown in the progress bar, and details appear in Logs.
- MTP Viewer:
- Switch to MTP Viewer to browse parsed modules.
- Use the dropdown to select an MTP module.
- Expand the tree to view Services, Procedures, and Parameters with IDs and values.
- Recipe Monitor (SFC):
- Switch to Recipe Monitor to view SFC diagrams generated from recipes.
- Choose a recipe from the dropdown to render its flow.
- Use the on-canvas controls to zoom in/out or reset the view.
- Execute recipe (OPC UA):
- After Inspect, click Execute Recipe (enabled when MTP data is available).
- The monitor highlights running steps and transitions.
- If the backend requests input, a prompt dialog appears.
- Logs:
- Open Logs to see parsing status, warnings, and execution output.
Contributors
- Yuanchen Zhao
- Alicia Eve
Third-Party Notices This project uses the following third-party packages. Copyright remains with their respective authors and contributors. See each package's license for details.
PyQt6qfluentwidgetsasyncuadefusedxmlxmlschema