Controls Engineerwith a software engineering edge

I develop Allen-Bradley PLC logic, build Ignition operator interfaces, and connect equipment data across systems. My software engineering background helps me build maintainable control logic, automate testing, and troubleshoot across the entire system.

01 / SELECTED WORK

My Latest Project
Fuel Tank Monitoring & SCADA

Built an integrated fuel-monitoring system for a shipboard application, bringing tank levels, alarm states, and operator displays together through Allen-Bradley PLCs and Ignition.

SHIPBOARD FUEL MONITORING
48 fuel tanksPlanned monitoring capacityMy rolePLC · HMI · Integration
HOW IT WORKS

Tank level signals PLC checks for high / low levels Ignition shows levels and alarms

DR PROCESS EXPLORER
SIMULATED DATA

Fuel tank overview

Six sample tanks from the planned 48-tank system.
Select a tank to explore its level and alarm status.

6 DEMO TANKS
Normal AlarmIllustrative HMI
SELECTED TANKTK-01
62%LEVEL
NORMAL RANGE
0LOW 20HIGH 80100%

Move past a threshold to see the alarm state change.

What I focused on

I built the core PLC, HMI, and data-integration layers—from controller logic and operator displays to Python logging and automated testing tools.

PLC PROGRAMMINGReusable tank logic & alarms

Implemented Structured Text logic with alarm thresholds, delays, hysteresis, and structured tank data.

HMI & INTEGRATIONConnected PLC data to operator displays

Integrated controller tags with Ignition, resolved data-mapping issues, and built reusable tank views.

DATA & VALIDATIONBuilt logging & automated test tools

Created Python clients to log OPC UA readings in PostgreSQL and compare controller outputs against expected results.

About This Demo +

This independent portfolio demonstration uses synthetic data. It does not expose employer code, an operational network, or a live PLC. The hero illustration is conceptual, not the actual rack configuration.

02 / TECHNICAL SKILLS

The tools I use.
The work I do.

From physical PLC hardware to operator screens,
data integration, and automated testing.

01 / PROGRAM

PLC Programming

  • Allen-Bradley ControlLogix
  • Studio 5000
  • Structured Text
  • Add-On Instructions
  • User-Defined Types

Develop modular control logic, organize controller data, and implement programs on physical PLC hardware.

02 / MONITOR

Signals & Alarm Logic

  • 4–20 mA inputs
  • Analog signal processing
  • Alarm thresholds
  • Delay & hysteresis
  • Heartbeat monitoring

Process analog inputs, evaluate alarm conditions, and monitor equipment status and communication health.

03 / VISUALIZE

HMI & SCADA

  • Ignition Gateway
  • Perspective
  • Tag configuration
  • UDT instances
  • Bindings & parameters

Build operator dashboards, equipment detail screens, navigation, and reusable displays driven by controller tags.

04 / CONNECT

Integration & Networking

  • OPC UA
  • PLC-to-Ignition integration
  • Ethernet connectivity
  • Static IP configuration
  • Tag & data-type mapping

Connect the controller, gateway, and data clients; troubleshoot communication and tag-quality issues.

05 / AUTOMATE

Python & Databases

  • Python scripting
  • SQL
  • PostgreSQL
  • OPC UA clients
  • Data logging

Collect equipment readings and store them in a queryable history for review and troubleshooting.

06 / VERIFY

Testing & Diagnostics

  • Expected-vs-actual checks
  • Test automation
  • Live tag inspection
  • Signal tracing
  • Task timing

Check controller behavior and isolate issues across PLC logic, communications, and operator displays.

03 / SOFTWARE ENGINEERING ADVANTAGE

A software background.
A stronger controls engineer.

My software engineering skills help me write better control logic, automate testing, and troubleshoot connected systems.

SOFTWARE SKILL

Python

Automate controls testing

I use Python to collect PLC data and check whether controller outputs match expected results.

Why it helpsRepeatable checks make changes easier to verify.
SOFTWARE SKILL

SQL & Databases

Understand equipment behavior

I store equipment readings in PostgreSQL so they can be queried and reviewed after a test.

Why it helpsA history of readings provides evidence for troubleshooting.
SOFTWARE SKILL

Programming Fundamentals

Build consistent PLC logic

I apply reusable data structures and programming patterns to tank logic and Ignition displays.

Why it helpsConsistent designs are easier to extend and maintain.
SOFTWARE SKILL

Debugging & Integration

Troubleshoot across the system

I trace values from PLC tags through communications to the HMI, checking paths and data types.

Why it helpsA systematic approach helps isolate where a problem starts.
CONTROLS / SCADA / SYSTEM INTEGRATION

Let’s Talk.

Let’s discuss controls engineering, automation,
and opportunities to collaborate.

Send me an email or reach out on LinkedIn.

PHILADELPHIA, PA