vLock-Digital-LOTO

vLock - Digital LOTO Demo for Ignition Automation

An Ignition Perspective SCADA/HMI demonstration of digital Lockout/Tagout (LOTO), equipment lock status, restart interlocks, and PostgreSQL event logging.

Purpose

During maintenance, operators need to know which equipment is marked “Do Not Operate,” who applied that status, and why.

vLock demonstrates how to display that information in an HMI, record lock apply/release events, and require a deliberate reset before restarting equipment.

The project is intended for controls engineers, Ignition developers, and learners exploring industrial automation workflows. It includes a simulated conveyor and VFDs, so no PLC is required.

How it works

The interface demonstrates two VFDs. The project uses Perspective views, UDTs, Python/Jython scripts, Named Queries, and PostgreSQL event history.

Unsigned sessions use Demo User.

Installation

Version: 1.0.0
Requirements: Ignition 8.3 with Perspective, PostgreSQL, and a writable tag provider named default.

  1. Download the repository ZIP and extract it.
  2. Run database-schema.sql in PostgreSQL.
  3. Create an Ignition database connection named exactly vlock-db, pointing to that database with read/write access.
  4. Import vlock-digital-loto.zip into an Ignition project.
  5. Import vlock-udts.json into UDT Definitions and vlock-tags.json into Tags, both at the root of the default provider.
  6. In Perspective Page Configuration, map /vlock to Exchange/VLock/MainPage, then save.
  7. Open http://<gateway>:8088/data/perspective/client/<project-name>/vlock, replacing the Gateway address and project name.

Page Configuration, Session Properties, and Project Properties are excluded from the export. Add /vlock manually and keep your existing home route.

Try the demo

  1. Click Start.
  2. Apply a lock with a reason and confirm that Start is blocked.
  3. Release the lock. Equipment should remain stopped.
  4. Press Reset, then Start.
  5. Check the Apply and Release records in the event-history table.

Screenshots

Conveyor demonstration running

Apply a digital lock

Equipment locked and Start blocked

Release the digital lock

Current limitations

Possible future improvements

These are proposed improvements, not features included in the current release.

Contributions

Contributions are welcome. Open an issue to discuss an improvement, report a reproducible problem, or propose an integration.

Pull requests should include setup instructions and describe how the change was tested.

Scope

This demonstration supports an established LOTO process. It is not a safety-rated energy-isolation system and does not replace physical lockout/tagout procedures or approved hazardous-energy control methods.

Author and other projects

License

MIT License. Copyright (c) 2026 Ender Celik.