We program PLCs and HMIs the way the next engineer would want to inherit them — clearly named tags, consistent program structure, and documentation that matches what’s actually running.
01// PS-04 · Duty/standby pump control · v2.3 02IF TK01.Level > SP.StartHi THEN 03 DutyPump.Run := TRUE; 04 Standby.RunRequest := FALSE; 05ELSIF TK01.Level < SP.StopLo THEN 06 DutyPump.Run := FALSE; 07END_IF; 09// Alternate duty every 12 h to even runtime 10IF Timer.DutySwap.DN THEN 11 Duty := NOT Duty; 12 Timer.DutySwap.RES := TRUE; 13END_IF; 15// Failover on duty fault 16IF DutyPump.Fault THEN 17 Standby.Run := TRUE; 18 Alarm.Raise("PS04_DUTY_FAULT"); 19END_IF;
MCC and switchboard design from single-line through to as-built documentation. Built to AS/NZS 3000 and the relevant section of AS/NZS 61439, with protection coordination that’s calculated — not copied.
We deliver Ignition projects that operators actually use — clean graphics, sensible navigation, alarms that mean something, and SQL-backed history you can query later.
| Tag | Type | Value | Quality |
|---|---|---|---|
| PS04.TK01.Level | AI | 3.42 m | Good |
| PS04.P101.Run | DI | TRUE | Good |
| PS04.P101.Fault | DI | FALSE | Good |
| PS04.P102.Run | DI | FALSE | Good |
| PS04.Inlet.Flow | AI | 42.8 L/s | Good |
| PS04.MCC.Volts | AI | 415 V | Good |
| PS04.Comms.RTU | DI | TRUE | Good |
We commission what we design, and we support what we commission. Factory acceptance, site acceptance, IO validation, plant shutdowns and remote troubleshooting — the same engineers who wrote the code are the ones on site.
Most automation projects suffer at the handoffs. Ours don’t have many — the engineer who scopes the work is one of the engineers who commissions it.
We walk the plant, read what’s already there, and write a scope document you can actually plan against — with the assumptions and the risks called out, not buried.
PLC code, HMI graphics and panel build happen in parallel. Factory acceptance testing happens in our workshop with you in the room before anything leaves.
Site acceptance, operator training and 24/7 remote support after go-live. The codebase you receive matches what’s running, with documentation that stays current.
Whether it’s a single component, a full system migration, or you’re not sure where to start — we’ll scope the work with you and come back with a realistic plan. Most initial responses inside one business day.