Skip to content

About

Graphing utility compatible with Allen Bradley PLC's

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PLC Trend Studio

PLC Trend Studio is a Windows desktop application for real-time monitoring, historical analysis, and troubleshooting of Allen-Bradley PLCs over EtherNet/IP. (It can also run under Python on Linux, although this configuration has not been fully tested.) Designed for controls engineers and maintenance technicians, PLC Trend Studio provides fast live trending, historical session playback, automatic data logging, and flexible graphing tools in a lightweight desktop application.

Trademarks

Allen-Bradley, ControlLogix, CompactLogix, Studio 5000, and EtherNet/IP are trademarks of Rockwell Automation, Inc. PLC Trend Studio is an independent open-source project and is not affiliated with, sponsored by, or endorsed by Rockwell Automation.

Major Features

  • 📈 Real-time PLC tag trending
  • 🔎 PLC Tag Browser with instant search and filtering by tag name or data type
  • ☑️ Multi-tag selection with persistent checkboxes, allowing users to search, select, and add multiple tags at once
  • 🧩 UDT and Array Browser for exploring structured tags, array elements, and individual bits
  • 🔄 Invert Trace Values with support for numeric negation and Boolean inversion (0 ↔ 1), including workspace and historical session persistence
  • ⚡ Background PLC tag database loading keeps the application responsive while downloading tags
  • 🕘 Live Review Mode for scrolling back through recorded data while remaining connected
  • 📂 Historical Session playback using .pts session files
  • 📊 Unlimited independently scaled Y-axes
  • 🌙 Light/Dark Mode with instant theme switching and saved preferences
  • 🏷 Display names, line styles, decimal formatting, and visibility control
  • 💾 Automatic CSV data logging
  • 🗂 Workspace save/load
  • 📁 Historical session management
  • 🖧 Friendly PLC names and PLC Manager
  • ✔ Supports controller tags, program-local tags, analog values, digital values, and individual bits
  • ⚡ Optimized graph rendering for responsive live trending

What's New in Version 8.2

  • Fixed program-local UDTs such as Program:ProgramName.tagname not opening in the UDT Browser.
  • Added a Bit Browser for SINT, INT, and DINT tags. Added the ability to select the whole numeric value, individual bits, or both.
  • Added Invert Value to the Trace Manager right-click menu.
  • Added numeric inversion, changing positive values to negative and vice versa.
  • Added Boolean inversion (0 ↔ 1).
  • Light / Dark Mode
  • Added View → Theme → Light / Dark.
  • Added immediate theme switching for the main window, graph, Trace Manager, and status bar.
  • Added saved theme preference so the application remembers the last selection.

What's New in Version 8.1

  • V8.1 brings a tag browser.
  • Show a loading message while the PLC tag database downloads.
  • Display matching tags and their data types and automatically filter results while typing.
  • Search by partial names, such as motor, speed, or fault.
  • Select multiple tags using checkboxes, keep checked tags selected while performing additional searches and add all selected tags in one operation.
  • Allows you to enter a UDT or Array, then a browser window pops up to allow you to select what tags you want out of those.

What's New in Version 8 Version 8 represents the largest feature expansion since PLC Trend Studio was created. The application has evolved from a live PLC trend viewer into a complete live and historical troubleshooting tool. Major Changes

  • Added Historical Session Mode with support for complete session playback using .pts session files.
  • Added Live Review Mode for reviewing recorded data while remaining connected to the PLC.
  • Redesigned startup workflow with Live/Historical selection, friendly PLC names, recent PLC list, and PLC Manager.
  • Added Connected startup screen with quick access to Open Workspace and Add PLC Tag.
  • Added unlimited right-side Y-axes with independent scaling and automatic axis restoration.
  • Expanded trace management with display names, line styles, decimal formatting, visibility control, and axis reassignment.
  • Added Workspace management to save and restore complete graph layouts.
  • Improved Add PLC Tag with program-local tag support, automatic display names, axis selection, and live PLC validation.
  • Added configurable data collection settings with persistent startup values.
  • Improved graph performance, rendering stability, and live responsiveness.

Trace Management Settings allow you to:

  • Configure Y-axis scaling
  • Add PLC tags
  • Adjust data collection settings The Trace Manager allows you to:
  • Move traces between axes
  • Change line styles
  • Rename display names
  • Adjust decimal precision
  • Hide/Show traces
  • Remove traces

          

View Menu The View menu provides:

  • Time windows from 30 seconds to 1 hour
  • Live Review Mode
  • Grid display
  • Live Mode toggle Dragging the graph automatically loads older CSV data for review while maintaining the live connection.

          

Release has a packaged .exe using PyInstaller. Use that or look through the code and package yourself.

Building

Prerequisites

  • Python 3.10 or newer

Install the required packages:

pip install -r requirements.txt

Build the Windows executable:

python -m PyInstaller --onefile --icon=C:\path\to\file\pts2.png --windowed PLC_Trend_StudioV8.1.py

PLC Trend Studio was created to provide many of the capabilities of commercial industrial trend software in a fast, easy-to-use application for everyday troubleshooting and process analysis.

PLC Trend Studio is built using the following open-source projects:

  • Python – Programming language - Python
  • PyQt6 – Graphical user interface - PyQt6
  • PyQtGraph – High-performance real-time plotting - PyQtGraph
  • PyLogix – Allen-Bradley Ethernet/IP communications - PyLogix
  • NumPy – Numerical data processing - NumPy
  • Pandas – CSV handling and data processing - Pandas
  • PyInstaller – PyInstaller bundles a Python application and all its dependencies into a single package. – PyInstaller
  • Pillow (PIL) – Image processing and screenshot support – https://python-pillow.org/

Special thanks to the developers and contributors of these projects for making them available to the community.

Disclaimer

PLC Trend Studio is intended as a diagnostic and troubleshooting tool.

It is not designed or intended to perform machine control or safety-related functions. Users are responsible for validating all data and ensuring safe operation of their equipment.

This project is licensed under the MIT License. See the LICENSE file for details.

About

Graphing utility compatible with Allen Bradley PLC's

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages