1. Problem Summary
The AI-1300 "Object not found in database" error blocks project opening in Schneider Electric Concept 2.6 / 2.6 SR6 programming software. The fault fires when Concept's interpreter cannot reconcile a project database entry against the installed library definitions in CONT_CTL.DTY after an FFB substitution prompt is dismissed with Yes. Operators see two sequential dialogs:
- FFB substitution prompt: "FFB 'PIDFF' was changed. Do you want to substitute all instances of old version?"
- Database fault: "Object not found in database / Error Id: AI-1300"
The project browser never appears, the .PRJ is not opened, and no rollback is offered. The condition is recoverable without OEM involvement provided the original ASCII export (.asc) is intact.
2. Affected Software and Versions
| Concept Version | Project Header Tag | Converter Required | Notes |
|---|---|---|---|
| 2.1 | CONCEPT_2.1 | dbconv.exe 2.1 (older than V2.2) | Must export to ASC before 2.6 install |
| 2.2 SP2 | CONCEPT_2.2 SP2 | dbconv.exe 2.2 SP2 | AI: 15.1 / DBGEN: 14.0 origin format |
| 2.5 SR1 | CONCEPT_2.5 | dbconv.exe 2.5 SR1 | Conversion gate to 2.6 SR6 |
| 2.6 (base) | CONCEPT_2.6 | dbconv.exe 2.6 | Where AI-1300 first surfaced |
| 2.6 SR6 | CONCEPT_2.6 SR6 | dbconv.exe 2.6 SR6 | Most common reproduction environment |
The OEM archive in this case study contained the header line CP_VRS AI: 15.1 DBGEN: 14.0 Conv expand DATE: Tue Nov 20 11:29:25 2007 CONCEPT_2.2 SP2, identifying the source as a 2007-era Concept 2.2 SP2 project that had been exported through dbconv.exe to an ASC file before being zipped.
3. Root Cause Analysis
AI-1300 is not a database corruption error - it is an integrity check failure between two Concept subsystems:
-
The DTY-type library (
CONT_CTL.DTY) that describes the structure, I/O signature, and version of every standard Function Block Function (FFB), including PIDFF. -
The project database (
*.PRJ,*.C0-*.C5,*.P1-*.P4,*.Qx,*.CCO) which references the FFB version that was current when the project was authored.
When Concept opens a project, it scans every FFB instance and compares it against the loaded DTY. If the FFB signature has changed (parameter name, data type, version stamp), Concept prompts the user with the substitution dialog. The user accepts the substitution, Concept writes the new signature to the project - but if the install is incomplete, the library file is missing or the FFB was deleted from the project file pool, the resulting object reference cannot be resolved against the in-memory dictionary, and AI-1300 is raised.
Three independent failure paths converge on the same symptom:
-
Path A - Library absence:
CONT_CTL.DTYis missing fromC:\Concept\LIB\or is a downlevel version relative to the FFB being substituted. -
Path B - Mixed-version project pool: The same project folder contains both a full set of binary files and a more recent
.ascimport, so the converter regenerates*.PRJwhile older compiled sections remain in the directory. -
Path C - Ascending conversion skipped: The project was authored in Concept 2.1 / 2.2 and the user attempted to open it directly in 2.6 SR6 without first converting with the matching
dbconv.exefrom the older version. The "Version of project does not match" prompt is the upstream symptom; AI-1300 is the downstream symptom after a forced conversion.
4. Pre-Diagnosis Checklist
Run the following before any destructive operation. Record the output of each step.
- Confirm version: Help → About Concept. Record the build string (e.g., "V2.6 SR6").
-
Inspect the ASC header: Open the
.ascfile in a text editor. The first line must readCP_VRS AI: x.x DBGEN: x.x Conv expand DATE: ... CONCEPT_x.x SPx. If it does not, the ASC was truncated. -
List the project directory: A complete Concept project contains at least 16 binary files. The OEM archive in this study contained 18:
.asc, .C0, .C1, .C2, .C3, .C4, .C5, .CCO, .DSK, .his, .JJJ, .P1, .P2, .P3, .P4, .PRJ, .Q1, .Q2. -
Verify CONT_CTL.DTY: Confirm the file exists at
C:\Concept\LIB\CONT_CTL.DTYand is non-zero length. Open it in Notepad and confirm the stringPIDFFappears in the TYPE / STRUCT declarations. -
Test a fresh section: File → New Project, create a section, press Shift+F, type
PIDFF, place the FFB on the FBD sheet. If the FFB places cleanly without a warning, the DTY library is intact and AI-1300 is a project-specific corruption.
5. Recovery Path A - Clean Reinstall of Concept 2.6
Use this path when the local Concept install is suspect or when CONT_CTL.DTY is confirmed missing or corrupted.
- Uninstall Concept through Control Panel → Programs and Features. Remove "Concept V2.6" and any "Concept V2.6 SRx" patches.
- Delete the directory
C:\Concept\entirely. Do not rename - the install scripts reuse directory state if any residue remains. - Insert or mount the Concept 2.6 base media. Select Concept V2.6 basic during the install - the default "Typical" install includes only the IEC 61131-3 editor and the minimum library set; you need the Control library subset.
- Apply the 2.6 SR6 patch in ascending order if your environment requires it.
- Restart the engineering station. Verify
C:\Concept\LIB\CONT_CTL.DTYexists. - Open Concept, run the test section step from Section 4 (item 5). If PIDFF places cleanly, proceed to Recovery Path B.
6. Recovery Path B - ASCII Export / Import via Concept Converter
The Schneider Electric Concept 2.6 User Manual documents the converter workflow in the Upgrade.pdf file installed with the product. The procedure forces a clean rebuild of every binary file in the project pool.
- Create a fresh working directory, e.g.,
C:\Concept\RECOVER\<projectname>\. Copy only the.ascfile from the OEM archive into this directory. Do not copy any.C*,.P*,.Q*,.PRJ,.CCO,.DSK, or.JJJfiles. - Launch Concept Converter (
dbconv.exe) shipped with your Concept 2.6 SR6 install. Choose Import ASC and point at the single.ascfile in the new directory. - Select the target PLC family (Quantum 140 CPU 651 60 / Premium TSX P57 4634M / Momentum 171 CCS 760 00, etc.) matching the PLC that will run the project. The original PLC is identified by the
CP_VRSline and the*.Q1/*.Q2rack maps. - Click Convert. The converter regenerates a complete fresh project pool in the same folder:
.PRJ, six section files (.C0-.C5), four parameter files (.P1-.P4), configuration files, and the.CCOcross-reference output. - Open Concept 2.6 SR6. Use File → Open Project and select the regenerated
.PRJin the recovery folder. - When Concept raises the FFB substitution prompt ("FFB 'PIDFF' was changed. Do you want to substitute all instances of old version?"), click Yes. With the fresh
CONT_CTL.DTYin place, the substitution succeeds and the project opens cleanly. Click the Project Browser icon to confirm program sections are visible. - If Concept refuses to substitute at open time, click No to dismiss the prompt, then use Objects → Replace FFB to swap each FFB instance manually. Filter on the FFB name (e.g., PIDFF) and confirm the replacement version.
7. Recovery Path C - Manual FFB Substitution
Use this path when the converter refuses to regenerate, the ASC header is unparseable, or only the binary pool is available.
- Create the recovery folder as in Section 6 step 1, but copy the entire binary pool from the OEM archive (skipping
.asc). - Launch Concept 2.6 SR6 and open
.PRJfrom the recovery folder. When AI-1300 fires, click OK to dismiss. - Without closing Concept, use File → Open Section and manually open each section file (
.C0,.C1, ...). Each section may trigger the substitution prompt independently. Accept each substitution. - Use Objects → Replace FFB from the main menu to substitute PIDFF (and any other flagged FFB) at the project scope. The dialog lists all instances of the FFB and the target version.
- After all substitutions are accepted, run Project → Save As to write a fresh
.PRJ. Concept will recompile the section pool and regenerate.CCO.
8. CONT_CTL.DTY Library Reference
CONT_CTL.DTY is the data-type library for the Concept Control library - it carries every regulation-block DFB / EFB definition used by IEC 61131-3 programs written in Concept. The PIDFF block (PID with Feed Forward) is the most commonly substituted FFB because Concept has issued four formal revisions of its control algorithm since 2.1.
| Library File | Contents | Required For |
|---|---|---|
| CONT_CTL.DTY | PID, PIDFF, AUTOTUNE, INTEGRAL, DERIVATIVE, RAMP, LIMIT, HYST, TRANSFER, COMPAR | All closed-loop and process control sections |
| MATH_LIB.DTY | Mathematical operators, statistics, trigonometry | Sections that perform scaling or computation |
| COMM_LIB.DTY | Modbus, MBP_MSTR, READ_VAR, WRITE_VAR | Any section with explicit I/O scanning |
| DFB_LIB.DTY | User-defined DFB instances | Projects with custom derived blocks |
If any of the above are missing, AI-1300 can also fire on FFBs other than PIDFF. Repeat the verification and substitution procedure for each missing FFB.
9. Project File Structure Reference
| Extension | Role | Generated By |
|---|---|---|
| .PRJ | Project root, references all sub-files | Concept / dbconv.exe |
| .C0 - .C5 | Six program sections (ladder, FBD, ST, IL, SFC) | Concept editor |
| .P1 - .P4 | PLC configuration parameters (CPU, memory, scan) | Concept config |
| .Q1, .Q2 | I/O map and rack configuration | Concept config |
| .CCO | Compiled cross-reference output | Concept compiler |
| .DSK | Disk image snapshot | Concept / PLC upload |
| .JJJ | Job / runtime metadata | Concept |
| .his | Upload history | PLC upload |
| .asc | ASCII export (the canonical interchange format) | dbconv.exe export |
10. Diagnostic-to-Recovery Decision Matrix
| Symptom | Likely Cause | Recovery Path |
|---|---|---|
| "Version of project does not match" on first open | Concept 2.1/2.2 project opened in 2.6 without conversion | Path B - run dbconv.exe from matching version first, then 2.6 dbconv.exe |
| FFB substitution prompt followed by AI-1300 | CONT_CTL.DTY missing or wrong version, OR mixed binary pool | Path A (reinstall) then Path B (clean import) |
| AI-1300 with PIDFF after clicking Yes on substitution | Library version mismatch - PIDFF was updated post-project | Path C - manual Replace FFB at project scope |
| Project opens but program sections missing from Project Browser | Converter generated an empty section pool (source ASC corrupt) | Re-export ASC from the original engineering station; verify CP_VRS header |
| AI-1300 immediately, no substitution prompt | PRJ file references a DFB that does not exist in DFB_LIB.DTY | Restore DFB_LIB.DTY from install media; reinstall Concept 2.6 SR6 |
11. Verification Steps
- After recovery, open the project in Concept 2.6 SR6 and confirm the Project Browser lists all program sections.
- Open each section and confirm no FFB instance displays the yellow caution triangle that indicates an unresolved library reference.
- Run Project → Analyze → Cross Reference to regenerate the
.CCO. Confirm it completes without error. - Run PLC → Connect and verify the online / offline comparison passes. A clean diff confirms the recovered project matches the controller's binary.
- Download the project to the target CPU (or run in simulation mode) and exercise one PIDFF loop. Confirm the PV tracks SP and the CV output responds to step changes in SP.
- Export the recovered project as a fresh
.ascusing File → Export → ASCII. This becomes the canonical interchange artifact going forward.
12. Prevention and Best Practices
- Always archive the ASC, not the binary pool. The ASC is the only version-stable interchange format. Binary pools are coupled to the Concept version that generated them.
- Pin the Concept install. Document the exact Concept version (2.6 SR6 build) and patch level in the project README. Reproducibility is impossible without it.
-
Preserve CONT_CTL.DTY. Back up
C:\Concept\LIB\after every patch install. The DTY files are the single source of truth for FFB signatures. - Refuse cascading substitutions. If Concept prompts to substitute more than two or three FFBs at open time, cancel, verify the DTY file, and investigate before accepting.
-
Use a controlled converter workflow. When porting from Concept 2.1 / 2.2, retain a copy of the original
dbconv.exein a versioned archive directory. The 2.6 SR6dbconv.execannot import a pre-2.5 project directly without an intermediate conversion step.
What does AI-1300 mean in Concept 2.6 SR6?
AI-1300 is the Concept application-interpreter error code for "Object not found in database." It fires when the project database references an FFB instance (commonly PIDFF) whose signature cannot be reconciled against the installed CONT_CTL.DTY library. The error follows the FFB substitution prompt that appears when an FFB version has changed since the project was last saved.
Where is the PIDFF function block defined?
PIDFF (PID with Feed Forward) is defined in the Control library file CONT_CTL.DTY, located in C:\Concept\LIB\ after a standard Concept 2.6 install. You can confirm it is intact by opening the file in a text editor and searching for the string "PIDFF" within the TYPE / STRUCT declarations, or by creating a new section, pressing Shift+F, typing PIDFF, and placing it on the FBD sheet without warning.
How do I convert a Concept 2.1 or 2.2 project to 2.6 SR6?
Use Concept Converter (dbconv.exe) shipped with the older Concept version (2.1 or 2.2 SP2) to export the project as an .asc file. Then run the Concept 2.6 SR6 dbconv.exe to import the ASC into a fresh empty directory. Open the regenerated .PRJ in Concept 2.6 SR6 and accept the FFB substitution prompts. Do not copy the original binary files into the recovery directory - they will conflict with the regenerated pool.
Why does AI-1300 fire only after I click Yes on the FFB substitution?
Clicking Yes commits the new FFB signature to the in-memory project object model. If the local CONT_CTL.DTY is missing, version-mismatched, or the binary pool contains stale references, the new signature cannot be written back to the project database, and AI-1300 fires. Clicking No preserves the old signature and the project opens with the older FFB intact (which may then fail at compile or online connect).
Can I recover a project if I only have the binary files, no ASC?
Yes. Copy the entire binary pool (.PRJ, .C0-C5, .P1-P4, .Q1-Q2, .CCO, .DSK, .JJJ, .his) into a fresh directory. Open the .PRJ in Concept 2.6 SR6, accept the FFB substitution prompts, then use Objects → Replace FFB to repair any remaining library mismatches at project scope. Finally, export a fresh .asc as your long-term canonical artifact.