eec-pro-development · git:20260920.72e113c · 2026-09-20 · sha256 f4061e3c9d0b6a87

eec-pro-development git:20260920.72e113cA

Immutable. This exact content is served forever at /api/v1/blob/f4061e3c9d0b6a87.

---
name: eec-pro-development
description: Develop with EPLAN EEC Pro 2026 — the mechatronic model and typicals (variants, conditions), the formula language, configuration interfaces (Form-UI, Excel/CSV/XML/IMX import), commands and C# scripting, and generation into EPLAN Electric P8, Pro Panel, PLC, Graph2D and text/Office targets, locally or through the Job Server. Use when building or debugging EEC Pro libraries, typical workbooks, configurations or generation pipelines, or decoding what an EEC-generated project did.
---

# EPLAN EEC Pro development

EEC Pro generates engineering deliverables — EPLAN Electric P8 schematics, Pro Panel
layouts, PLC programs, Graph2D documents, Word/Office files — from a **mechatronic
model plus a configuration**, instead of drawing them by hand. This skill teaches the
mental model and the workflow; the *details* (every formula function, every command,
every parameter) live in a searchable documentation index — see "Looking things up".

## The pipeline

```
mechatronic model  +  configuration values  ──►  generation  ──►  target output
(typicals, params,      (GUI, Form-UI,         (resolve          (P8 project, Pro
 conditions,             Excel/CSV/XML/IMX,     conditions,       Panel, PLC, text)
 formulas, commands)     SAP, manual entry)     insert macros)
```

1. **The mechatronic model** describes the product independent of any target system:
   functions, parameters, and the rules connecting them. Tutorials: `tutmechatronic`.
2. **Typicals** are the reusable building blocks. A typical wraps target artifacts
   (macro files, document templates) behind **variants** and **conditions** — e.g.
   "include this macro only when `CS=L` and `TNEUTRAL_R` is `TT` or `TNS`". Condition
   expressions are written in the formula language; filenames encode them as
   `_CS=L`, `Y(...)` for AND, `O(...)` for OR.
3. **Configuration** assigns concrete values to the parameters — through the GUI, a
   custom **Form-UI** (`refformui`), bulk import (`refexcel`, `refcsv`, `refxml`,
   `refimx`), or SAP (`eecsap`).
4. **Generation** evaluates the conditions against the configuration and produces
   the target artifacts — in-process, or queued on a **Job Server**
   (`eecjobserver`, `refjobserver`, `tutjobs`) for unattended/distributed runs.

For the ECAD module the output is a "typical workbook" — one sheet per mounting
location listing the page/window macros to insert, already filtered to the resolved
configuration. The full field-proven decode of that workbook (column layout, `####`
group markers, why you must *not* re-evaluate the conditions) lives in the companion
skill: `../eplan-p8/eplan-development/references/eec-typicals.md`.

## Where the work is

- **Formula language** (`refformulas` — the single biggest doc category, ~317 pages):
  computing parameter values, conditions, string building. Functions and operators
  are exact identifiers — look them up, never invent them.
- **Commands** (`refcommands`): the automation verbs EEC runs during generation and
  scripting (open, import, assign, generate, export…).
- **Scripting** (`refscripting` + `eecscripting`): custom logic inside EEC Pro.
- **Form-UI** (`refformui`): building the configuration dialogs users fill in.
- **Administration** (`admin` — ~304 pages): installation, system configuration,
  VMArgs (EEC Pro runs on a JVM — startup tuning lives here).
- **Per-target modules**: `eececad` (EPLAN P8), `eecpropanel`, `eecplc` (incl. the
  Step7 workflow), `eecgraph2d`, `eectext`/`reftextgen` (document generation to
  Word), `eecoffice`, `eecsap`.

## Looking things up — never guess identifiers

EEC Pro identifiers (formula functions, commands, parameters, VMArgs) are exact and
many are documented only in the official help. Resolve them against the doc index:

1. **`eecpro-rag` MCP** (if configured — this repo ships it in `.mcp.json`):
   `eecpro_search(query, topK, category?)` — semantic search over the full EEC Pro
   2026 documentation (~6,760 vectors, 36 categories). Pass `category` to scope the
   search — the category map is in `references/doc-categories.md`. `eecpro_stats`
   reports index health.
2. **Same index over REST**, no MCP needed:

   ```bash
   curl -X POST https://rageecpro.covaga.xyz/search -H "Content-Type: application/json" \
        -d '{"query": "formula function to read a parameter value", "topK": 5, "category": "refformulas"}'
   ```

   `GET /stats` and `GET /health` are also exposed.
3. Query in **English**, prefer several narrow queries, and use the `category`
   filter whenever you know which subsystem owns the answer — the index is small
   enough (~1,648 source pages) that an unfiltered query can pull a same-named
   concept from the wrong module.

## Relationship to the P8 skill

EEC Pro's main output *is* an EPLAN Electric P8 project. The moment the task crosses
to the P8 side — inserting the generated macros, renaming pages to the workbook's
structure, scripting the EPLAN API, driving EPLAN remotely — load
`../eplan-p8/eplan-development/`. Typical boundary:

- Configurator/model/conditions/formulas side → this skill.
- `.elk` project, `.ema`/`.emp` macros, `Eplan.EplApi.*`, Remote Client → `eplan-development`.

## Golden rules

1. **A generated workbook is already condition-filtered.** Do not re-evaluate `_CS=L`
   / `Y()`/`O()` conditions against the parameters — EEC resolved them when it wrote
   the sheet. (Field-proven: `eec-typicals.md`.)
2. **Never guess a formula function, command or parameter name.** Search the index
   first; identifiers are exact and the docs are the authority.
3. **Conditions, parameters and variants are model data, not code decoration.**
   Changing them changes what generation produces — understand the mechatronic model
   before editing.
4. **Generation is a batch, not a preview.** Run it against scratch/test targets
   until the output is verified; a Job Server run is not a dry run.
5. **EEC Pro ≠ EEC One ≠ EPLAN P8 scripting.** Same vendor, different products and
   different extensibility surfaces. When a docs hit describes P8's API
   (`Eplan.EplApi.*`), that is the *target* system's API — switch skills.