Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

L5K Tuner

Utility to edit Rockwell Studio 5000 .L5K files for use with AVEVA Edge (formerly Indusoft Web Studio) tag integration. Automatically resolves nested parameters to base types and allows for selective pruning of AOI parameters, UDT members, and tags, helping to manage tag count to stay within license limits.

Features

  • Import .l5k files and display header, UDTs, AOIs, controller tags, and program tags in a tree with include/exclude controls.
  • Export a filtered .l5k based on current selections.
  • Save/Load project state to .l5kproj (restores selections and descriptions without needing the original .l5k).
  • Merge updated .l5k files with ordered differences, bulk add/remove controls, and per-item export selection.
  • Identify newly merged tree items with bold text until the project is saved.
  • View filters: show all, enabled-only, or disabled-only items while preserving tree expansion, selection, and position.
  • Prompt to save project changes before closing, opening another project, or importing a new file.
  • Log viewer (Help -> Show Log) and status/title updates that reflect the current file.

Requirements

  • Python 3.12+ (source install only)

Installation

Windows installer

Download the latest Windows installer from GitHub Releases. This does not require Python.

Source (Python)

python -m venv .venv
.venv\Scripts\activate  # Windows
pip install -r requirements.txt

Running

python -m L5KTuner.main

If installed via the Windows installer, launch from the Start Menu.

Usage

  • File -> Import (or "Import L5K" button): load an .l5k file.
  • Inspect the tree and toggle inclusion with the right-panel checkbox or the Include/Exclude buttons.
  • File -> Export: write a filtered .l5k with only selected items.
  • File -> Save / Save As: save project state to .l5kproj (includes selections/descriptions).
  • File -> Open: reload a saved .l5kproj without the original .l5k.
  • File -> Merge Updated L5K: preview differences, choose additions/removals, and control whether added items are included in exports.
  • View -> Show: filter the tree (all/enabled/disabled).
  • Help -> Show Log: open the log viewer.

Testing

Run the test suite from the repo root:

pytest

Tk-dependent tests auto-skip if Tk is unavailable.

Project layout

  • L5KTuner/: parser (l5k_parser.py), GUI (gui.py), domain models (models.py), helpers (strings.py, patterns.py, utils.py, exporter.py, tree_state.py, view_filter.py, l5k_types.py).
  • data/: sample .L5K files.
  • tests/: parsing/export/filtering/persistence tests.

Logging

  • Logs to %USERPROFILE%\Documents\EWEB Apps\L5K Tuner\logs\l5k_tuner.log by default.
  • Override with L5KTUNER_LOG_DIR.

License

MIT License (see LICENSE).

About

GUI tool for modifying Rockwell Logix .l5k files, normalizes nested AOI/UDT member datatypes to base types for AVEVA Edge import

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages