Getting started
One data model, four compiled products
FDSIQ captures a Functional Design Specification once, as structured data instead of prose. Everything downstream, ScaffIQ, the Sequence Engine and the Perspective Engine, compiles from that same JSON. This page walks through what gets compiled, how a project moves through the pipeline, and the shape of the data itself.
What EngineeredIQ compiles
A tag defined once in FDSIQ is referenced by dropdown in every step after it, never re-typed. Locking a revision exports two artifacts at once: a client-ready .docx built on your corporate template, and the .json that becomes the compile target for everything downstream.
ScaffIQ compiles that JSON into an I/O framework and tag declarations. It also runs standalone, without FDSIQ, if you enter or upload I/O data directly. The Sequence Engine compiles the same JSON into PLC sequence logic, when the source data includes sequence definitions. The Perspective Engine compiles it into a reusable Ignition Perspective symbol library and a single Overview page.
The five-stage pipeline
Every project moves through the same five stages:
01 Define Structured 10-step wizard, no free-text tag entry 02 Compile Lock a revision, export .docx + .json 03 Validate AI checks the data, not the prose, before export 04 Deploy ScaffIQ I/O framework, Sequence Engine PLC logic 05 Build Perspective Engine symbol library and Overview page
Stage 03 never touches the safety_functions block, that field is locked at the infrastructure level (ai_write: false, ai_read: false), not just by convention. Stages 04 and 05 are independent and additive, opting into the Sequence Engine has no bearing on whether you also generate Perspective views.
Your first project
At the Documents step, choose whichever fits your project: import a JSON export from FDSIQ, or upload your own I/O List, Functional Specification, P&ID, Instrument List and Motor List directly. Either path runs through the same Pre-Flight cross-reference engine, and the same three checkpoints: resolved I/O mapping, AOI loop assignment and task architecture with engineer sign-off. Nothing generates until you’ve confirmed every checkpoint.
Requirements
Nothing to install. Every EngineeredIQ product runs entirely in the browser: a current version of Chrome, Edge, Firefox or Safari with JavaScript and cookies enabled, and a reliable connection, 25 Mbps or faster recommended, since every save, validation run and compile is a live call with no offline mode.
You’ll also need software to open what gets generated: Word or another .docx viewer for FDSIQ, Studio 5000 for ScaffIQ and Sequence Engine, or Ignition Designer for Perspective Engine. A credit card with sufficient available funds is required, held on file via Stripe and charged automatically at your first locked revision or compile. The structured wizards and checkpoint review screens are built for a desktop or laptop screen, not optimised for a phone.
EngineeredIQ products are built for qualified engineers (Controls, Process Control, Systems Integration, EI&C or Applications), not as a substitute for one. The Engineer of Record must review and authorise every generated output before it reaches a live system, accepting full professional responsibility for the result.
Accessibility
Every page, the Next.js app and the standalone FDSIQ and ScaffIQ landing, legal and contact pages, carries a skip-to-content link: hidden until keyboard-focused, it jumps straight past the header to the page’s main content. The header navigation and mobile menu are fully keyboard-operable, with aria-expanded and aria-controls wired to the toggle button, and the mobile menu closes on Escape or an outside click.
This covers keyboard navigation and focus handling. Color contrast and screen-reader behavior have not been through a full accessibility audit yet.
Corporate base template
Every project needs a base template before compilation: the controller definition, AOI library, UDTs and task structure a scaffold gets built against. Use the built-in ScaffIQ Standard Template (ControlLogix 5580, 6 AOIs, 3 UDTs, 2 tasks, ready with no upload required), or upload your own corporate .L5X exported from Studio 5000. AOIs in an uploaded template are classified automatically by name and parameter shape.
AOI classification
Each device in the I/O list is matched to an AOI class, Motor DOL, Motor VSD, Valve On/Off, Valve Motor Operated, Valve Modulating, Level Sensor, Temperature Sensor, Analog Input, and Discrete Input, using the device’s name and its AOI’s parameter shape. A low-confidence or unmatched classification is flagged for manual review at the AOI checkpoint, never silently guessed.
Task architecture
The final checkpoint sets the task and program structure the scaffold compiles into, inherited from the base template by default, or a custom continuous/periodic split. This is also where the responsible Controls Engineer signs off: name and liability acknowledgement, required before Generate is enabled.
The FDSIQ export
An FDSIQ export is a single JSON document. The fields that matter for compilation:
{
"schema_version": "1.1",
"project": {
"name": "...",
"client_name": "...",
"site_name": "...",
"vertical": "...",
"plc_platform": "..."
},
"tag_register": [ ... ],
"equipment_modules": [ ... ],
"revision_history": [ ... ],
"sequences": { ... } // optional, unlocks the Sequence Engine
}sequences is the only optional block above. Its presence is what determines whether a project reaches the Sequence Engine’s review step at all, an export without it skips straight to the Perspective Engine opt-in.
Tag register fields
Every entry in tag_register carries at minimum a tag name, an I/O type and a device type, the three fields ScaffIQ’s import validates as required:
tag CONV014_ZN3_OVRN_DI io_type DI | DO | AI | AO device_type motor | valve | instrument | ...
Sequence Engine walkthrough
Reached automatically when an FDSIQ export includes a sequences block. Review shows the proposed state machines, interlocks and alarms before you commit, generation produces executable rung-level logic, not scaffolding, so this step carries its own liability sign-off separate from the base scaffold’s. You can decline and fall back to a base-only scaffold at this step, or at the errors screen if the source data can’t be compiled.
Perspective Engine walkthrough
An independent opt-in step, offered after the Sequence Engine decision regardless of which way it went. Every confirmed device is grouped by symbol class onto a single Overview page. This output is structure and layout only, targeting Ignition Perspective 8.3, no live tag bindings are created, the engineer wires every symbol to a real tag after import.
Each device’s symbol class is assigned automatically from its equipment type, the same real ambiguity ScaffIQ resolves for AOI assignment (a valve could be On/Off, Motor Operated or Modulating), reviewable and overridable per device at the Symbol Assignment checkpoint before anything generates.
Don’t auto-bind tags to these symbols.
The compiler has no visibility into your target Gateway’s actual tag structure at generation time, so it can’t produce a reliable binding path. A script that guesses tag paths by name match can bind a symbol to the wrong tag silently, showing live data with no error. This is most dangerous on status indicators for valves, interlocks or anything safety-adjacent, since a wrong-but-plausible binding looks correct until something goes wrong on the floor. Wire every symbol to its real tag by hand and verify it against the actual equipment before the view goes live.