Skip to main content
Glama
feelautom

T-IA Connect (Siemens TIA Portal)

by feelautom
README.md
ο»Ώ# T-IA Copilot : GenAI Bridge for Siemens PLCs

**Submission for the GenAI ZΓΌrich Hackathon 2026 β€” Siemens Challenge**

> **Tagline:** Bridging LLMs and Siemens TIA Portal safely. Generates deterministic PLC logic (SCL/ISA-88) from natural language using Sovereign GenAI models.

πŸš€ **Get started in 5 minutes!** Download the core engine at [t-ia-connect.com](https://t-ia-connect.com/) and enjoy a **14-day full-featured free trial**.

## About This Repository
This repository contains the **Generative AI bridging components** built specifically during the hackathon.

> **Note:** The core proprietary engine (the deterministic SimaticML XML builder and the TIA Portal Openness API connector) remains private. This open-source repository demonstrates how we successfully connected Sovereign LLMs to our deterministic industrial backend.

---

## MCP Integration (Claude Desktop & Cursor)

You can easily connect T-IA Connect to your favorite AI Assistant using the Model Context Protocol (MCP).

Add the following configuration to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "tia-connect": {
      "command": "C:\\Program Files\\T-IA Connect\\TiaPortalApi.App.exe",
      "args": ["--mcp"]
    }
  }
}
```

### Key MCP Tools Available
Once connected, the AI gains access to 120+ TIA Portal capabilities, including:
- `get_project_overview`: Understand the entire PLC program structure instantly.
- `list_blocks` / `get_block_details`: Explore specific folders, OBs, FBs, and FCs.
- `create_scl_block` / `import_scl_source`: Inject AI-generated logic directly into your project.
- `compile_device`: Trigger TIA compilation directly from the chat.
- `plcsim_start_simulation` / `plcsim_write_tag`: Automate testing using PLCSim Advanced.

---

## Quick Start β€” Headless API Blueprint

### Prerequisites
- **T-IA Connect** installed ([t-ia-connect.com](https://t-ia-connect.com))
- **Siemens TIA Portal** V17, V18, V19, V20 or V21
- A TIA Portal project file (`.ap17` / `.ap18` / `.ap19` / `.ap20`)

### 1. Launch in Headless Mode
```powershell
# No GUI, no WPF window β€” just a REST API ready to receive commands
TiaPortalApi.App.exe --headless

# Output:
#   T-IA Connect β€” Headless Mode
#   API: http://localhost:9000/
#   Swagger: http://localhost:9000/swagger
#   Press Ctrl+C to stop.
```

### 2. Open a TIA Portal Project (silently)
```powershell
curl -X POST http://localhost:9000/api/projects/open `
  -H "X-API-Key: your-key" `
  -H "Content-Type: application/json" `
  -d '{ "projectPath": "C:\\Projects\\WaterPlant.ap20" }'
```

### 3. Generate a PLC Block from Natural Language
```powershell
curl -X POST http://localhost:9000/api/blocks/generate `
  -H "X-API-Key: your-key" `
  -H "Content-Type: application/json" `
  -d '{
    "deviceName": "PLC_1",
    "blockType": "FB",
    "blockName": "FB_WaterPump",
    "description": "Water pump with Start/Stop, thermal fault (TON 5s), Manual/Auto mode",
    "language": "SCL"
  }'
```

### 4. Compile β€” Done
```powershell
curl -X POST http://localhost:9000/api/blocks/compile `
  -H "X-API-Key: your-key" `
  -H "Content-Type: application/json" `
  -d '{ "deviceName": "PLC_1", "blockName": "FB_WaterPump" }'
```

> No TIA Portal window ever opened. The block is compiled and ready.

### Full Automated Script
See [`examples/Run-Headless-Demo.ps1`](examples/Run-Headless-Demo.ps1) for a complete end-to-end script.

---

## Architecture

```text
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   AI Agent      β”‚     β”‚  T-IA Connect    β”‚     β”‚  TIA Portal   β”‚
β”‚  (Claude, etc.) │────▢│  REST API        │────▢│  Openness API β”‚
β”‚                 β”‚ MCP β”‚  + Deterministic β”‚     β”‚  (headless)   β”‚
β”‚  "Create a pump β”‚ or  β”‚    XML Engine    β”‚     β”‚               β”‚
β”‚   sequence..."  β”‚ HTTPβ”‚                  β”‚     β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚  β”‚ FB_Pump β”‚  β”‚        
                                                 β”‚  β”‚ compiledβ”‚  β”‚    
                                                 β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
                                                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

---

## Key Hackathon Components

### 1. Sovereign AI Integration (`src/OpenAiProvider.cs`)
- Custom C# provider connecting to European-hosted AI models (OVHcloud AI Endpoints)
- Ensures sensitive PLC logic never leaves the EU
- Tested with `Qwen3-Coder-30B-Instruct` for precise SCL generation

### 2. MCP Bridge E2E Tests (`tests/`)
- Demonstrates headless WPF boot β†’ TIA Portal silent open β†’ MCP `tools/call` execution
- Full lifecycle orchestration without any user interaction

---

## How It Works (The T-IA Copilot Workflow)

| Step | What happens | Who does it |
|------|-------------|-------------|
| 1. **Prompt** | "Generate a pump sequence with a thermal fault" | Engineer or AI Agent |
| 2. **AI Reasoning** | LLM designs the state machine logic (SCL/JSON) | Sovereign LLM (Qwen) |
| 3. **Deterministic Compile** | C# engine builds strict SimaticML XML (no AI hallucination) | T-IA Connect |
| 4. **Deploy** | Block imported + compiled headlessly in TIA Portal | Openness API |

**Result:** Chat prompt β†’ Compiled PLC block in under 30 seconds.

---

---

## Skills, Prompts, and Resources

To maximize your efficiency with T-IA Connect, we have included the following:

- **Skills (MCP Tools):** 120+ specialized tools to interact with TIA Portal (Blocks, Tags, HMI, PLC Simulation, etc.).
- **[Prompts](./PROMPTS.md):** A guide to the best natural language prompts to generate industrial-grade PLC code.
- **Resources:** T-IA Connect provides read-only access to your project structure via specialized resources, allowing the AI to "browse" your project tree without manual intervention.

---

## Tech Stack
| Component | Technology |
|-----------|-----------|
| Backend | C# / .NET Framework 4.8 |
| Target | Siemens TIA Portal V17-V21 (Openness API) |
| AI Models | Qwen3-Coder-30B via OVHcloud AI Endpoints |
| Protocol | MCP (Model Context Protocol) by Anthropic |
| API | REST + SignalR (real-time job notifications) |
| Tools | 126 MCP tools for full TIA Portal orchestration |

---

## Links
- **Website:** [t-ia-connect.com](https://t-ia-connect.com)
- **DevPost:** [T-IA Copilot on DevPost](https://devpost.com/software/t-ia-copilot-genai-for-industrial-plcs)
- **Hackathon:** [GenAI ZΓΌrich 2026](https://genaizurich2026.devpost.com/)