PLC Fleet Dashboard — User Guide

How to use the PLC Fleet Dashboard in PSI Tools to inspect, compare, and understand PLC programs across all archived projects.


What Is This?

The PLC Fleet Dashboard is a page in PSI Tools that gives you visibility into the PLC programs for every archived project. It answers questions like:

  • “What processor does Job 2326 use?”
  • “Which projects use a 1769-IF8 analog input?”
  • “How does Job 2377’s code compare to Job 2298?”
  • “What does the Cycle_Control routine actually do?”
  • “Does this project have a safety program?”
  • “Are the I/O modules in the PLC program also in the BOM?”

Today it covers 88 archived Allen-Bradley projects — every project that has an ACD file on the K: drive and has been analyzed by the nightly scan.


Who Is This For?

Controls Engineer

What you can do today:

  • Look up any archived project’s modules, tags, programs, and routine structure
  • Read AI-generated intent summaries that explain what each routine does in plain English
  • Search across all 88 projects for specific tags, modules, or program names
  • Compare two projects side by side to see what’s different before cloning
  • Check a project’s quality scorecard to gauge code health

What you can’t do yet:

  • “Find similar project” by machine type or I/O similarity — you have to search by keywords manually
  • Export module lists, tag lists, or I/O maps to CSV/Excel for wiring documentation
  • View individual rung logic or pseudo-code (only routine-level summaries)
  • See which UDTs a project uses (data exists but not surfaced in the UI)

Controls Lead

What you can do today:

  • View fleet-wide scorecard averages across all 4 dimensions (complexity, safety, reuse, documentation)
  • See the good/fair/poor distribution across the fleet
  • View the top 10 scored projects in a table
  • Drill into any project to see specific findings (e.g., “MainRoutine has 171 rungs”, “3 OTL without matching OTU”)
  • Check recent nightly scan results to see who changed what

What you can’t do yet:

  • Sort the fleet scorecard table by column (data comes in fixed order from the server)
  • See fleet-wide pattern adoption rates (e.g., “78/88 projects use Cycle_Control”) — the data exists in scorecards but there’s no aggregated reuse dashboard
  • Set quality gates or enforcement rules (e.g., “don’t ship if safety < 70”)
  • See an engineer-centric view (who’s working on what, workload distribution)

Project Manager

What you can do today:

  • Check when a project’s PLC code was last modified (controller summary bar shows dates)
  • View the version history timeline with change details
  • Run I/O Verify to cross-reference PLC modules against the project BOM

What you can’t do yet:

  • See controls engineering status within LDS phases (no LDS integration)
  • Link PLC changes to ECNs or Redbooks
  • See a project timeline with milestones

Field Service

What you can do today:

  • Look up the installed module list for any archived machine (catalog numbers, slot positions, IP addresses, firmware versions)
  • Check version history to see what changed and when
  • See the spare parts summary with inventory status per module type

What you can’t do yet:

  • Export or print the module list to take to the field offline
  • Look up fault codes by browsing all FLT.* tags in a dedicated view (you can type “FLT” in the tag search as a workaround — it finds tags containing “FLT” in the name)
  • See the I/O point map (which physical terminal maps to which tag)
  • Access projects not yet archived (only 88 of 507 ACD files are covered — v34 only)

Mechanical / Purchasing

What you can do today:

  • Use I/O Verify to see which PLC modules match BOM line items
  • See unmatched modules (in PLC but not in BOM) as a gap list
  • Check current inventory status (on-hand quantities) for each module type

What you can’t do yet:

  • Export the matched/unmatched module list to Excel for a purchase order
  • See cost or lead time for modules
  • See obsolescence or end-of-life status for installed hardware

Getting There

  1. Open PSI Tools
  2. Log in with your PSI Azure AD account
  3. Click “PLC Fleet” in the top navigation bar

You’ll see the Fleet Dashboard with fleet-wide statistics, scorecards, charts, search, and comparison tools.


Fleet Dashboard (Top Level)

When you first land on PLC Fleet, you see the fleet-wide view with these sections:

Fleet Stats

Four cards showing totals across all archived projects:

  • Archived Projects — how many projects have been analyzed
  • Total Rungs — total ladder logic rungs across the fleet
  • Total Modules — total I/O modules
  • Total Tags — total controller-scoped tags

Fleet Scorecard Summary

Fleet-wide quality averages across 4 dimensions:

  • Complexity — Is the code well-structured? (rung count, routine size, nesting)
  • Safety — Does the code follow safety best practices? (E-Stop gating, fault aggregation, latch discipline)
  • Reuse — Does the code use PSI standards? (standard UDTs, tag naming, routine names)
  • Documentation — Can someone else understand this code? (tag descriptions, naming quality)

Each dimension is scored 0-100. Color coding: green (>70 = good), amber (40-70 = fair), red (<40 = needs attention).

The distribution bar shows how many projects fall into each category. Below that, a table lists the top 10 scored projects. Click any job number to drill into that project.

Processor Distribution

Horizontal bar chart showing which processor types are used across the fleet (e.g., 1756-L83E, 1769-L33ER). Helps answer “What’s our most common platform?”

Top Modules

Horizontal bar chart showing the 10 most-used I/O module catalog numbers across all projects. Useful for standardization and spare parts planning.

Recent Nightly Scan Results

Shows the last 5 nightly scans with which projects changed, who made the change, and a brief summary. Click any job number to drill in.

Search for tags, modules, or programs across all 88 projects. The search box accepts text patterns.

Example searches:

  • E_Stop — find all projects with E-Stop related tags
  • 1769-IF8 — find which projects use an analog input module (select “Modules” type)
  • ABB — find all projects with ABB robot integration
  • DustHouse — find projects with dust collection routines

Use the type dropdown (All Types, Tags, Modules, Programs) to narrow results. Click any job number in the results to drill in.

Project Comparison

Enter two job numbers to see a side-by-side comparison:

  • Controller type and firmware version
  • Tag count, module count, program count
  • Tags unique to each project
  • Summary of differences

Per-Project View (Drill-Down)

There are three ways to drill into a specific project:

  1. Type a job number in the “Job #” input at the top right of the fleet dashboard and click Open
  2. Click any job number anywhere on the fleet page (scorecard table, search results, recent changes)
  3. Use the Ask the Fleet AI chat to ask about a project — it will reference the same data

Once you drill in, you see a back button (“Back to Fleet Dashboard”) and the project view with a controller summary bar and 7 sub-tabs.

Controller Summary Bar

Always visible at the top, showing:

  • Processor — e.g., “1756-L83E”
  • Firmware — e.g., “v34.11”
  • Source file — the ACD filename
  • Created / Modified dates (if available)
  • Safety Program — green badge if a safety program exists, amber “No Safety” if not
  • Secured — purple lock badge if a security code is set

Modules Tab

Full table of every I/O module in the PLC program:

ColumnWhat It Shows
NameModule name in the I/O tree
Catalog #Rockwell catalog number (e.g., 1769-IQ16)
SlotRack/slot position
TypeDigital Input, Digital Output, Analog, Communication, etc.
RPIRequested Packet Interval in ms — amber if >50ms, red if >100ms (slow scan)
IP AddressEthernet IP (if applicable)
FWFirmware version (major.minor)
StatusGreen dot = OK, amber “INHIBITED” badge, red “FAULT” badge

Filter by name, catalog number, vendor, or product type. Rows with faults are highlighted red; inhibited modules highlighted amber.

Tags Tab

All controller-scoped tags with:

ColumnWhat It Shows
Tag NameFull tag name (monospace)
Data TypeBOOL, DINT, REAL, UDT name, etc.
CLock icon if the tag is a constant
DimsArray dimensions (e.g., [10])
Tag TypeBase, Alias, Produced, Consumed
AccessRead/Write, Read Only, None

Below the tag name, you may see “Used by” chips — these show which routines write to that tag (from the intent analysis). This helps answer “What routine controls this output?”

Filter by typing in the search box (matches tag name or data type as a substring) or use the data type dropdown to show only a specific type. Paginated at 50 tags per page.

Tip: To find all fault-related tags, type FLT in the search box. This matches any tag with “FLT” anywhere in the name.

Programs Tab

Expandable tree view of all programs and their routines:

  • Program row — name, routine count, rung count, disabled badge, brain icon (if intent analysis exists)
  • Click to expand — shows all routines with language type badge (RLL, ST, FBD, SFC) and rung count
  • Search filter at top — type to filter by program or routine name; matching programs auto-expand

When intent analysis is available (brain icon), each routine shows:

  • Intent description — plain English summary of what the routine does
  • Functional area — color-coded badge (Machine Control, Safety, Communication, etc.)
  • Complexity — simple / moderate / complex
  • Key states — state machine states (e.g., Ready, InCycle, Faulted)
  • Outputs — tags that this routine writes to
  • Safety dependencies — expandable list of safety-related tags the routine checks

History Tab

Version timeline showing every time the project’s ACD file changed:

  • Date and engineer who made the change
  • Confidence badge — how certain the attribution is
  • Summary — what changed (firmware update, rungs added, modules changed, etc.)
  • Change deltas — inline badges showing exactly what changed:
    • +3 tags (green), -1 tag (red), ~2 modified (amber)
    • +1 module / -1 module
    • +45 rungs / -12 rungs
  • Click any delta badge to expand and see the actual tag/module names

Scorecard Tab

The per-project quality scorecard:

  • Overall score (0-100) with color coding
  • Complexity, Safety, Reuse, Documentation — each with score and sub-metric breakdown
  • Findings — specific issues found with severity and dimension labels (e.g., “MainRoutine has 171 rungs (>50)”, “3 OTL without matching OTU”)
  • Notes — lower-confidence observations

I/O Verify Tab

Cross-references the PLC program’s I/O modules against the project’s BOM:

  1. Summary banner — shows total PLC modules and how many matched to BOM items
  2. Matched modules — PLC module catalog number found in BOM, with part number, description, match method, and on-hand inventory
  3. Unmatched PLC modules — modules in the PLC program that aren’t in the BOM (potential purchasing gap)
  4. BOM items not in PLC — I/O-related parts in the BOM that don’t appear in the PLC program
  5. Spare parts summary — for each module type: catalog number, PSI part number, PLC quantity, current stock, status badge (None / Low / OK)

Compare Tab

Compare this project against any other archived project:

  • Enter a second job number and click Compare
  • See controller type/firmware side by side
  • Tag, module, and program counts
  • Tags unique to each project (red = only in A, green = only in B)
  • Summary of key differences

Common Workflows

Controls Engineer: “Which past project should I clone for a new build?”

  1. Go to PLC FleetFleet Search
  2. Search for subsystem keywords that match your new machine (e.g., ABB for robot integration, DustHouse for dust collection, Conveyor for material handling)
  3. Note which projects appear in multiple searches — these share the most subsystems with your needs
  4. Click into the top candidates → check the Scorecard tab — a higher overall score means better-structured, safer code
  5. Use the Compare tab between your top two candidates to see exactly what’s different
  6. Check the Programs tab to verify the candidate has the routines you need (Cycle_Control, Fault, etc.)

Limitation: This is manual keyword searching. There is no automated “find similar project” feature that ranks projects by I/O overlap or machine type similarity — that’s a planned future capability.

Controls Engineer: “I need to understand unfamiliar code — the original engineer is unavailable”

  1. Open the project → Programs tab
  2. Use the search filter to find the routine you’re investigating
  3. If a brain icon appears next to the program name, intent analysis is available:
    • Expand the program to see each routine’s plain-English intent summary
    • Check outputs to see what tags the routine controls
    • Check safety dependencies to see what safety conditions it checks
    • Check key states to understand the state machine
  4. Cross-reference with the Tags tab — search for a tag name to see its data type and which other routines use it (via the “Used by” chips)

Limitation: Intent summaries are routine-level (what the routine does), not rung-level (what each individual rung does). If you need rung-by-rung detail, you’ll still need to open the ACD file in Studio 5000.

Controls Lead: “Which projects have the worst safety scores?”

  1. On the Fleet Dashboard, scroll to Fleet Scorecard Summary
  2. The project table shows the top 10 projects with their dimension scores
  3. To check a specific project’s safety details, click its job number → Scorecard tab → look at the Safety dimension sub-metrics and any safety-related findings

Limitation: The fleet table currently shows the top 10 projects in a fixed sort order — you cannot re-sort by clicking column headers. To see projects with the lowest safety scores specifically, use the Ask the Fleet AI chat: “Which projects have safety score below 50?”

Project Manager: “Does the BOM match the PLC program before we order?”

  1. Drill into the project → click I/O Verify tab
  2. Check the summary banner: “X of Y PLC modules matched to BOM”
  3. Review the unmatched PLC modules list — these are modules the PLC program expects but the BOM doesn’t include (potential purchasing miss)
  4. Review the spare parts summary — check for “None” status badges indicating zero inventory on hand

Limitation: I/O Verify matches PLC module catalog numbers to BOM line items using description matching and parts search. The matching accuracy has not been validated across all projects — some modules may show as unmatched due to BOM description variations, not actual missing items. Always verify critical mismatches manually.

Field Service: “I need the I/O module list for a machine in the field”

  1. Go to PLC Fleet → type the job number in the input box → click Open
  2. Click the Modules tab
  3. You’ll see the full module list with catalog numbers, slot positions, IP addresses, firmware versions, and current status

Limitation: There is no export or print button. If you need the data offline, you can select and copy the table contents manually, or use the Ask the Fleet AI chat to request the module list in a text format you can copy.

Field Service: “What are the fault codes for this machine?”

  1. Drill into the project → click the Tags tab
  2. Type FLT in the search box — this shows all tags with “FLT” in the name
  3. These are the machine’s fault tags — the tag name describes the fault (e.g., FLT.MotorOLFlt = motor overload fault, FLT.SystemFlt = system fault)

Limitation: Tag names encode the fault meaning but there’s no dedicated fault code table with descriptions. The tag name is all you get — there are no user-entered fault descriptions in the analysis data.

Purchasing: “Which I/O modules do we need to stock as spares?”

  1. Drill into the project → click I/O Verify tab
  2. Scroll to the Spare parts summary table
  3. This shows each unique module type, how many are installed in the PLC, current stock on hand, and a status badge:
    • None (red) — zero in inventory, order needed
    • Low (amber) — stock is less than installed count
    • OK (green) — adequate stock

Limitation: No export capability. Spare parts status is based on current AFTEC inventory data — it does not include cost, lead time, or obsolescence information.


Ask the Fleet (AI Chat)

For questions that don’t fit a specific sub-tab workflow, use the Ask the Fleet AI chat panel (click the chat icon or press Ctrl+K). The AI has access to the same 46 MCP tools that power the dashboard and can answer freeform questions:

  • “What processor does Job 2326 use?”
  • “Compare the I/O modules between Job 2298 and Job 2377”
  • “Which projects have more than 1000 rungs?”
  • “Show me all projects that use the 1769-IF8 module”
  • “What’s the scorecard for Job 2326?”

The AI can combine data from multiple tools in one answer — useful when your question spans multiple sub-tabs.


Data Source & Freshness

  • Data comes from the PLC Fleet Archive — a Git-backed repository on PS-PROXY
  • A nightly GitHub Actions workflow runs at 11 PM ET:
    1. Scans K: drive for ACD file changes (MD5 hash comparison)
    2. Analyzes any changed files → updates analysis.json
    3. Computes structural diffs (tags/modules/rungs added/removed)
    4. Attributes changes to engineers (NTFS file owner + AFTEC lookup)
    5. Commits results to Git
  • The MCP server at PS-PROXY:3100 serves the data to the UI
  • Coverage: 88 of 507 ACD files (currently limited to Studio 5000 v34 projects)
  • Data is at most 1 day old — reflects the K: drive state as of the last nightly scan

Limitations

LimitationDetailWorkaround
v34 onlyOnly projects saved in Studio 5000 v34 are analyzed. 178 more projects need the v20 SDK.Ask IT to install v20 on PS-PROXY to unlock older projects.
Allen-Bradley onlySiemens, Mitsubishi, and other PLC platforms are not covered.Use BOM data and electrical drawings for non-AB machines.
No export/printNo CSV, Excel, or print capability on any tab.Copy-paste table data manually, or use AI chat to get text-format data.
No column sortingFleet scorecard table and module tables are not sortable by column.Use AI chat to ask for sorted data (e.g., “list projects sorted by safety score”).
Intent coverage variesNot all projects have AI-generated intent summaries.Check for the brain icon — if absent, intent analysis hasn’t run for that project.
I/O Verify accuracyBOM matching uses description text — some valid modules may show as unmatched.Always verify critical mismatches manually in AFTEC.
88 of 507 projectsOnly ~17% of ACD files are currently archived and analyzed.Use AI chat or K: drive directly for non-archived projects.
Read-onlyYou cannot modify PLC programs from the UI.Continue editing in Studio 5000 — the nightly scan picks up changes automatically.

Planned Improvements

These features are described in the PLC Code Intelligence vision but are not yet built:

  • Find Similar Project — automated matching by machine type, I/O overlap, and code similarity to recommend the best project to clone
  • Export/CSV — download module lists, tag lists, and I/O maps for offline use
  • Column Sorting — click-to-sort on fleet scorecard table and module tables
  • Fleet Reuse Dashboard — fleet-wide view of standard routine/UDT adoption rates
  • Fault Code Table — dedicated view of all FLT.* tags with descriptions
  • I/O Point Map — physical terminal to tag mapping for field wiring reference
  • GHE Integration — branch-per-project version control with auto-PRs and code review
  • LDS Phase Gates — quality checks tied to project milestones (Design, Develop, Demonstrate, Deliver)
  • Engineer Workload — who’s working on what, change volume per engineer