---
name: eae-se-process
description: >
Reference guide for SE.App2Base and SE.App2CommonProcess libraries in EAE.
Find and use standard industrial process blocks for motors, valves, PID
control, signals, and equipment modules.
license: MIT
compatibility: Designed for EcoStruxure Automation Expert 25.0+, Python 3.8+, PowerShell (Windows)
metadata:
version: "1.0.0"
author: Claude
domain: industrial-automation
parent-skill: eae-skill-router
user-invocable: true
platform: EcoStruxure Automation Expert
standard: IEC-61499
---
# EAE SE Process Libraries Reference
Reference skill for the **SE.App2Base** and **SE.App2CommonProcess** libraries - the standard industrial process control libraries in EcoStruxure Automation Expert.
**These libraries provide:**
- Signal processing (analog/digital I/O)
- Motor and valve control
- PID and process control
- Equipment modules (pumps, flow control)
- Interlocks, failures, permissives
- HMI-ready CATs with faceplates
> **Note:** SE.App2CommonProcess depends on SE.App2Base and Runtime.Base.
## Quick Start
```
User: I need a PID controller block
Claude: Use `PID` from SE.App2CommonProcess - a standard PID with auto/manual modes
User: What block handles analog input scaling?
Claude: Use `AnalogInput` CAT or `AISignalScaling` from SE.App2Base
```
## Triggers
- `/eae-se-process`
- "find process block"
- "motor control block"
- "valve control block"
- "PID block"
- "analog input block"
- "SE.App2Base"
- "SE.App2CommonProcess"
---
## Quick Reference by Task
### Signal Processing
| Task | Block | Library | Type |
|------|-------|---------|------|
| Read analog input | `AnalogInput` | SE.App2CommonProcess | CAT |
| Write analog output | `AnalogOutput` | SE.App2CommonProcess | CAT |
| Read digital input | `DigitalInput` | SE.App2CommonProcess | CAT |
| Write digital output | `DigitalOutput` | SE.App2CommonProcess | CAT |
| Scale analog signal | `AISignalScaling` | SE.App2Base | CAT |
| Totalize flow | `Total` | SE.App2CommonProcess | CAT |
| Multi-input analog | `MultiAnalogInput` | SE.App2CommonProcess | CAT |
### Motor Control
| Task | Block | Library | Type |
|------|-------|---------|------|
| Single-speed motor | `Motor` | SE.App2CommonProcess | CAT |
| Two-direction motor | `Motor2D` | SE.App2CommonProcess | CAT |
| Two-speed motor | `Motor2S` | SE.App2CommonProcess | CAT |
| Cyclic motor | `MotorCyc` | SE.App2CommonProcess | CAT |
| Variable speed motor | `MotorVs` | SE.App2CommonProcess | CAT |
### Valve Control
| Task | Block | Library | Type |
|------|-------|---------|------|
| On/Off valve | `Valve` | SE.App2CommonProcess | CAT |
| Two-output valve | `Valve2Op` | SE.App2CommonProcess | CAT |
| Control valve (analog) | `ValveControl` | SE.App2CommonProcess | CAT |
| Hand valve (monitor) | `ValveHand` | SE.App2CommonProcess | CAT |
| Motorized valve | `ValveM` | SE.App2CommonProcess | CAT |
| Motorized with position | `ValveMPos` | SE.App2CommonProcess | CAT |
### Process Control
| Task | Block | Library | Type |
|------|-------|---------|------|
| PID control | `PID` | SE.App2CommonProcess | CAT |
| PID with multiplexer | `PIDMultiplexer` | SE.App2CommonProcess | CAT |
| Lead/Lag compensation | `LeadLag` | SE.App2CommonProcess | CAT |
| Ramp generation | `Ramp` | SE.App2CommonProcess | CAT |
| Ratio control | `Ratio` | SE.App2CommonProcess | CAT |
| Split range | `Split2Range` | SE.App2CommonProcess | CAT |
| Step control (3-point) | `Step3` | SE.App2CommonProcess | CAT |
| PWM output | `PWM` | SE.App2CommonProcess | CAT |
### Equipment Modules
| Task | Block | Library | Type |
|------|-------|---------|------|
| Pump management | `PumpSet` | SE.App2CommonProcess | CAT |
| Pump asset | `PumpAssets` | SE.App2CommonProcess | CAT |
| Flow control | `FlowCtl` | SE.App2CommonProcess | CAT |
| Scheduler | `Scheduler` | SE.App2CommonProcess | CAT |
### Common Services
| Task | Block | Library | Type |
|------|-------|---------|------|
| Interlock item | `ilckCondItem` | SE.App2CommonProcess | Composite |
| Interlock summary | `IlckCondSum` | SE.App2CommonProcess | CAT |
| Failure item | `failCondItem` | SE.App2CommonProcess | Composite |
| Failure summary | `FailCondSum` | SE.App2CommonProcess | CAT |
| Permissive item | `permCondItem` | SE.App2CommonProcess | Composite |
| Permissive summary | `PermCondSum` | SE.App2CommonProcess | CAT |
| Preventive maintenance | `DevMnt` | SE.App2CommonProcess | CAT |
### Display/HMI (SE.App2Base)
| Task | Block | Library | Type |
|------|-------|---------|------|
| Display boolean | `DisplayBool` | SE.App2Base | CAT |
| Display integer | `DisplayInt` / `DisplayDint` | SE.App2Base | CAT |
| Display real | `DisplayReal` | SE.App2Base | CAT |
| Display string | `DisplayString` | SE.App2Base | CAT |
| Display time | `DisplayTime` | SE.App2Base | CAT |
| Set boolean | `SetBool` | SE.App2Base | CAT |
| Set integer | `SetInt` / `SetDint` | SE.App2Base | CAT |
| Set real | `SetReal` | SE.App2Base | CAT |
| Set string | `SetString` | SE.App2Base | CAT |
| Set time | `SetTime` | SE.App2Base | CAT |
### Alarms (SE.App2Base)
| Task | Block | Library | Type |
|------|-------|---------|------|
| Limit alarm | `LimitAlarm` | SE.App2Base | CAT |
| Deviation alarm | `DeviationAlarm` | SE.App2Base | CAT |
| Rate of change alarm | `ROCAlarm` | SE.App2Base | CAT |
| State alarm | `StateAlarm` | SE.App2Base | CAT |
| Digital signal alarm | `DiSignalAlarm` | SE.App2Base | CAT |
| Alarm summary | `AlarmSummary` | SE.App2CommonProcess | CAT |
---
## Library Architecture
```
Runtime.Base (IEC 61499 primitives)
│
▼
SE.App2Base (Foundation process library)
├── Basic FBs: alarmCalc, counterBasic, modeBase, etc.
├── Composites: aISignal, aOSignal, dISignal, dOSignal
├── Adapters: IAnalog, IDigital, IDInt, IString, ITime
├── DataTypes: Status, OwnerState, ActiveState, etc.
└── CATs: Display*, Set*, *Alarm, Mode, Owner
│
▼
SE.App2CommonProcess (Application CATs)
├── Signal Processing: AnalogInput, DigitalInput, etc.
├── Motors: Motor, Motor2D, Motor2S, MotorVs
├── Valves: Valve, Valve2Op, ValveControl, ValveM
├── Process Control: PID, Ramp, Ratio, LeadLag
├── Equipment: PumpSet, FlowCtl, Scheduler
└── Services: Interlocks, Failures, Permissives
```
---
## Scripts
### Block Lookup
Search SE.App2Base and SE.App2CommonProcess blocks by keyword, category, or list all:
```bash
# Find motor-related blocks
python scripts/lookup_block.py "motor"
# Returns: Motor, Motor2D, Motor2S, MotorCyc, MotorVs, motorLogic, etc.
# Find all PID blocks
python scripts/lookup_block.py "pid"
# Show category with results
python scripts/lookup_block.py "valve" --category
# Show library (App2Base vs App2CommonProcess) with results
python scripts/lookup_block.py "alarm" --library
# List all categories
python scripts/lookup_block.py --list-categories
# List all blocks
python scripts/lookup_block.py --list-all
# JSON output for automation
python scripts/lookup_block.py "analog" --json
```
**Features:**
- Searches block names, descriptions, and keywords
- Covers SE.App2Base (basics, composites, adapters, datatypes, CATs)
- Covers SE.App2CommonProcess (motors, valves, process control, equipment)
- Supports 20+ categories covering 100+ blocks
- JSON output for CI/CD integration
**Exit codes:**
- `0` - Success (matches found or list completed)
- `1` - Error (invalid arguments)
- `2` - No matches found
---
## Common Usage Patterns
See [common-patterns.md](references/common-patterns.md) for detailed patterns:
1. **Basic Analog Input** - AnalogInput with scaling and alarms
2. **Motor with Interlocks** - Motor CAT with ilckCondItem chain
3. **PID Control Loop** - PID with cascade mode
4. **Valve with Permissives** - Valve2Op with permCondItem chain
5. **Equipment Module** - PumpSet with FlowCtl coordination
---
## Key Adapters
### SE.App2Base Adapters
| Adapter | Purpose | Data Flow |
|---------|---------|-----------|
| `IAnalog` | Analog signal interface | Value, Status, Quality |
| `IDigital` | Digital signal interface | State, Status |
| `IDInt` | Integer signal interface | Value, Status |
| `IString` | String signal interface | Value, Status |
| `ITime` | Time signal interface | Value, Status |
### SE.App2CommonProcess Adapters
| Adapter | Purpose | Usage |
|---------|---------|-------|
| `IDevice` | Device command/status | Motor, Valve control |
| `IFailCondSum` | Failure condition chain | Connect failCondItem |
| `IIlckCondSum` | Interlock condition chain | Connect ilckCondItem |
| `IPermCondSum` | Permissive condition chain | Connect permCondItem |
| `ISeqData` | Sequence data interface | Recipe/batch control |
| `ICascadeLoop` | Cascade PID interface | PID cascade mode |
---
## Key DataTypes (SE.App2Base)
| Type | Purpose | Values |
|------|---------|--------|
| `Status` | Signal quality status | Good, Bad, Uncertain |
| `OwnerState` | Owner control state | Manual, Auto, Program |
| `ActiveState` | Active/inactive state | Enum |
| `StateSel` | State selection | Enum |
| `TimeFormat` | Time format selection | Enum |
---
## Namespaces
| Library | Namespace |
|---------|-----------|
| SE.App2Base | `SE.App2Base` |
| SE.App2CommonProcess | `SE.App2CommonProcess` |
**Usage in FBNetwork:**
```xml
```
---
## Related Skills
| Skill | When to Use |
|-------|-------------|
| [eae-runtime-base](../eae-runtime-base/SKILL.md) | Low-level IEC 61499 blocks (E_CYCLE, E_DELAY, MQTT) |
| [eae-cat](../eae-cat/SKILL.md) | Create new CAT blocks |
| [eae-composite-fb](../eae-composite-fb/SKILL.md) | Create composite blocks using SE process blocks |
| [eae-basic-fb](../eae-basic-fb/SKILL.md) | Create custom logic blocks |
| [eae-datatype](../eae-datatype/SKILL.md) | Create custom data types |
---
## References
- [Block Catalog](references/block-catalog.md) - Complete categorized block list
- [Common Patterns](references/common-patterns.md) - Usage patterns and examples
- [DataTypes Reference](references/datatypes.md) - SE.App2Base data types