Logic that the next engineer can read.
Most PLC programs are read far more often than they are written. We write code that someone else can open in three years, understand in an afternoon and change without breaking something on the other side of the plant.
Code is a document as much as it is a program.
A PLC program is the most accurate description of how a plant works that most facilities own. It is also, frequently, the least readable. Undocumented rungs, tag names like N7:14, and logic that only makes sense to the person who left two years ago.
We write with structure: consistent naming, grouped routines, comments explaining why rather than restating what the instruction does, and a sequence of operations in plain language that matches the code.
This is not craftsmanship for its own sake. It is the difference between a two hour fix and a two day one when the line is down at 3am and we are not the ones on site.
We do not password protect programs against the owner, and we do not build in dependencies that require calling us. If you can find someone cheaper next year, the code will not stop you.
Platforms we program
- Allen-Bradley, ControlLogix, CompactLogix, MicroLogix, SLC 500, PLC-5
- Siemens, S7-1500, S7-1200, S7-400, S7-300, TIA Portal, Step 7
- Opto 22, groov EPIC, SNAP PAC, PAC Control, Node RED
- Wago, PFC200, PFC100, e!COCKPIT, CODESYS
- Imported and clone controllers on a case by case basis
Every stage of the work.
New systems are a minority of the work. Most of what we do is changing something that already runs.
New programs
Greenfield machine and process control written from a specification, or from a conversation with the people who will run it.
Upgrades
Adding equipment, changing recipes or extending capability on a system that has to keep producing while the work happens.
Migrations
Moving from obsolete processors, SLC 500, PLC-5, S7-300, onto current hardware without losing process knowledge embedded in the old code.
Logic changes
Small, surgical changes to running systems, tested and documented, with a rollback position defined before we start.
Code review
An independent read of an existing program before you commit to a project, or after one has gone badly.
Documentation recovery
Rebuilding I/O lists, tag descriptions and sequence documentation for systems that arrived with none.
How we approach a program.
Understand the process first
Before writing anything we want the sequence of operations in words, from someone who runs the equipment. Code written from a P&ID alone tends to be correct and unusable.
Structure before logic
Tag naming convention, routine breakdown and I/O mapping are agreed up front. Retrofitting structure into a finished program never happens.
Write and simulate
Logic developed and tested off site against simulated I/O, so the first time it meets your hardware is not the first time it has run.
Test against hardware
Loop checks, forced I/O verification and functional testing with the equipment, before production depends on it.
Commission and document
Live startup with the operators present, then the documentation package: source, tags, drawings, sequence description and backups.
Answers before you call.
Allen-Bradley ControlLogix, CompactLogix and MicroLogix; Siemens S7-1200, S7-1500, S7-300 and S7-400; Opto 22 groov EPIC and SNAP PAC; and Wago PFC100 and PFC200. We also work on imported controllers that are functional clones of these families.
Yes, unlocked, along with the tag database and backups. You can hand it to any other integrator without asking us.
That is most of what we do. We will usually want to read it before quoting, because the state of an existing program is the single biggest factor in how long a change takes.
Simulation off site first, then testing against real hardware where a spare processor or test rig can be arranged. For changes to running plant we agree the cutover window and the rollback plan before touching anything.
Ladder where maintenance staff will maintain it, structured text where the logic is genuinely computational, function block for continuous control and SFC for sequences. The choice should be driven by who has to read it later.
Send us the program. We will read it first.
Whether it is a new build or a change to something running, the first step is understanding what is already there.
Or call (801) 946-2710, Monday, Friday, 8:00am, 4:30pm MT