Resolving AI-1300 Object Not Found Error in Schneider Concept 2.6

Claire Rousseau12 min read
HMI ProgrammingSchneider ElectricTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

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:

  1. FFB substitution prompt: "FFB 'PIDFF' was changed. Do you want to substitute all instances of old version?"
  2. 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.

Affected platforms: Modicon Quantum (140 CPU 3xx/4xx/6xx), Modicon Premium (TSX P57 xxxx), Momentum (171 CCS / M1), and Micro PLCs that target the Concept IEC 61131-3 editor. The AI-1300 family of errors is specific to the Concept application database engine and does not appear in Unity Pro (EcoStruxure Control Expert) or subsequent Schneider Electric engineering suites.

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:

  1. 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.
  2. 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.DTY is missing from C:\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 .asc import, so the converter regenerates *.PRJ while 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.exe from 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.

  1. Confirm version: Help → About Concept. Record the build string (e.g., "V2.6 SR6").
  2. Inspect the ASC header: Open the .asc file in a text editor. The first line must read CP_VRS AI: x.x DBGEN: x.x Conv expand DATE: ... CONCEPT_x.x SPx. If it does not, the ASC was truncated.
  3. 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.
  4. Verify CONT_CTL.DTY: Confirm the file exists at C:\Concept\LIB\CONT_CTL.DTY and is non-zero length. Open it in Notepad and confirm the string PIDFF appears in the TYPE / STRUCT declarations.
  5. 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.
Critical safety step: Before any import or copy operation, copy the entire project folder to a backup directory and timestamp it. Never overwrite a project from an OEM archive in-place; the converter will regenerate the binary pool and discard the original signatures.

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.

  1. Uninstall Concept through Control Panel → Programs and Features. Remove "Concept V2.6" and any "Concept V2.6 SRx" patches.
  2. Delete the directory C:\Concept\ entirely. Do not rename - the install scripts reuse directory state if any residue remains.
  3. 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.
  4. Apply the 2.6 SR6 patch in ascending order if your environment requires it.
  5. Restart the engineering station. Verify C:\Concept\LIB\CONT_CTL.DTY exists.
  6. 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.

  1. Create a fresh working directory, e.g., C:\Concept\RECOVER\<projectname>\. Copy only the .asc file from the OEM archive into this directory. Do not copy any .C*, .P*, .Q*, .PRJ, .CCO, .DSK, or .JJJ files.
  2. Launch Concept Converter (dbconv.exe) shipped with your Concept 2.6 SR6 install. Choose Import ASC and point at the single .asc file in the new directory.
  3. 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_VRS line and the *.Q1/*.Q2 rack maps.
  4. 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 .CCO cross-reference output.
  5. Open Concept 2.6 SR6. Use File → Open Project and select the regenerated .PRJ in the recovery folder.
  6. 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.DTY in place, the substitution succeeds and the project opens cleanly. Click the Project Browser icon to confirm program sections are visible.
  7. 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.

  1. Create the recovery folder as in Section 6 step 1, but copy the entire binary pool from the OEM archive (skipping .asc).
  2. Launch Concept 2.6 SR6 and open .PRJ from the recovery folder. When AI-1300 fires, click OK to dismiss.
  3. 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.
  4. 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.
  5. After all substitutions are accepted, run Project → Save As to write a fresh .PRJ. Concept will recompile the section pool and regenerate .CCO.
Do not paste or replace individual FFB instances from one section to another. The DTY signature is keyed to the project database, not the section. Always work at project scope.

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

  1. After recovery, open the project in Concept 2.6 SR6 and confirm the Project Browser lists all program sections.
  2. Open each section and confirm no FFB instance displays the yellow caution triangle that indicates an unresolved library reference.
  3. Run Project → Analyze → Cross Reference to regenerate the .CCO. Confirm it completes without error.
  4. Run PLC → Connect and verify the online / offline comparison passes. A clean diff confirms the recovered project matches the controller's binary.
  5. 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.
  6. Export the recovered project as a fresh .asc using 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.exe in a versioned archive directory. The 2.6 SR6 dbconv.exe cannot import a pre-2.5 project directly without an intermediate conversion step.
Concept 2.6 is end-of-life software. For new deployments, Schneider Electric recommends migrating to EcoStruxure Control Expert (formerly Unity Pro). Existing Concept projects can be migrated using the Concept → Unity Pro converter, but FFB signatures are not 1:1 - every PIDFF instance must be re-validated on the target hardware.

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.

Back to blog