Skip to content
DOCS

Quick Start.

Install Glyphsix, inspect your first project, and run your first diff in under 3 minutes.

Prerequisites

  • Python 3.10+ — check with python --version
  • Any supported project file — .zdat, .L5X, .project, .tsproj, .gwbk, .ACD, and 50+ more formats

Install

pip install glyphsix

Verify the installation:

glyphsix --version
# glyphsix 0.3.0

This installs all three tools: glyphsix, glyphsix-plc, and glyphsix-hmi.

Your first inspect

The inspect command reads any supported project file and prints a structured summary. Glyphsix auto-detects the vendor and format — no flags needed.

HMI projects:

glyphsix-hmi inspect my-project.zdat
  Provider    Vijeo Designer 6.2 (Schneider Electric)
  Encrypted   Twofish-256 CBC ✓ decrypted
  Panels      12 panels (2 popups)
  Widgets     187 total across all panels
  Variables   64 internal, 23 external
  Alarms      23 alarm groups
  Recipes     4 recipe definitions

PLC projects:

glyphsix-plc inspect MainProgram.L5X
  Provider    Rockwell Logix 5000 (Studio 5000 v33)
  Controller  1756-L83E/B CompactLogix
  Programs    4  │  Routines:  23  │  AOIs:  8
  Tags        1,247  │  UDTs:  34  │  Modules:  12

Your first diff

The diff command compares two project versions and shows semantic changes — added, removed, or modified entities with field-level detail.

glyphsix-plc diff WaterTreatment_v2.1.L5X WaterTreatment_v2.2.L5X
  Routines:
    + Added:    ChemDosing_Control (new routine, ST)
    ~ Modified: MainRoutine (12 rungs changed)
    - Removed:  Debug_Routine

  Tags:
    + Added:    ChemDose_SP (REAL)
    ~ Changed:  FlowRate_SP type INT → REAL
    - Removed:  Debug_Flag

Your first cross-validation

The real power — pair an HMI project with a PLC project and find mismatches that live in the gap between tools.

glyphsix validate --hmi project.zdat --plc project.L5X
  ✓ Panel naming conventions        passed
  ✓ Widget bounds check             passed
  ⚠ Orphaned variables              2 found
      ReactorTempSP_Old (INT) — defined in HMI, not bound to any widget
  ⚠ Cross-ref HMI ↔ PLC            3 mismatches
      HMI:Pump_Status → PLC:Pump_Run (type mismatch: STRING vs BOOL)
      HMI:Spare_04 — no matching PLC tag found

  Result: 8 passed, 2 warnings, 0 errors

What next

Dive deeper into each command:

  • inspect — full reference for project inspection
  • diff — full reference for project comparison
  • validate — full reference for project validation
  • Demo page — see more examples across vendors
  • Glyphsix Cloud — team collaboration, version history, and automated diffing
glyphsix

Pre-release preview