C# Industrial Recipe Automation
Budget: ₹75,000 – ₹150,000 INR
Industrial Recipe Control and Monitoring System (C# /.NET + SQL Server)
## Objective
Design and develop an industrial control and monitoring software system to manage process recipes, monitor furnace/moulding units, record process data (temperature, pressure, CO %, CPMV etc.), handle alarms, and generate reports.
The system must interface with Siemens S7-1200 PLCs over Ethernet using the S7 TCP/IP protocol and store all production data in Microsoft SQL Server.
---
## System Overview
| Layer | Technology / Component | Description |
| ----------------------- | ---------------------------- | ---------------------------------------------------------- |
| **Field Layer** | Siemens S7-1200 PLCs | Control process logic, sensors and actuators. |
| **Communication Layer** | C# Service using S7.NetPlus | Reads/writes PLC data over Ethernet (S7 TCP). |
| **Data Layer** | Microsoft SQL Server 2019 + | Stores recipes, telemetry, alarms, batch history. |
| **Application Layer** | C# WPF Desktop App (Phase 1) | Operator interface for control, monitoring, and reporting. |
| **Optional Phase 2** | ASP.NET Core Web Dashboard | Browser-based view for supervisors (read-only). |
---
## Functional Requirements
### 3.1 Recipe Management
* Create, edit and delete process recipes.
* Each recipe contains multiple phases with:
* Target Temperature (°C)
* Target Pressure (bar)
* Duration (minutes)
* Stop Condition (type & value)
* Maintain versioning and change audit.
### 3.2 Batch Execution
* Assign a recipe to any unit (e.g., GCF1, GCF2, VFC1, VFC2).
* Start, Pause, Resume, Stop batch operations.
* Each phase runs until:
* its time expires, or
* its condition (temperature/pressure) is met.
* On completion, trigger alarm and buzzer.
* Operator acknowledges alarm, and next phase begins.
* Batch completion recorded with status (Completed / Aborted / Re-inspect).
### 3.3 Live Data Acquisition
* Poll PLCs every 2 seconds for sensor values.
* Store timestamped readings to SQL Server.
* Auto-reconnect on communication loss.
### 3.4 Alarm Handling
* Generate alarms automatically on phase end or abnormal conditions.
* Audible/visual alerts on operator station.
* Operator “OK” acknowledgement recorded (user & time).
* Optional write-back of acknowledgment bit to PLC.
### 3.5 Reporting and Graphs
* Display temperature/pressure graphs vs time per batch.
* Export detailed batch reports to PDF (iTextSharp / QuestPDF).
* Filter by date, unit, or recipe.
### 3.6 User Management
* Roles: Operator / Supervisor / Administrator.
* Secure login and audit log of key operations.
---
## 4 Non-Functional Requirements
| Area | Specification |
| --------------------- | --------------------------------------------------- |
| **Performance** | PLC poll ≤ 2 s; UI update ≤ 3 s. |
| **Reliability** | 24 × 7 runtime with auto-restart. |
| **Scalability** | New units can be added via config file. |
| **Security** | LAN-only access; Windows Authentication for SQL. |
| **Offline Tolerance** | Cache readings if SQL offline → sync on reconnect. |
| **Reporting** | PDF and CSV export. |
| **Technology** | .NET 8 (C#), SQL Server 2019 +, S7 NetPlus library. |
---
## 5 System Architecture
```
+-------------------------+
| Siemens S7-1200 PLCs |
| (Furnace / Mould Units)|
+-----------+-------------+
|
| S7 TCP/IP
v
+---------------------------+
| Data Collector Service |
| (C# /.NET + S7.NetPlus) |
+-----------+---------------+
|
v
+---------------------------+
| SQL Server Database |
| Recipes / Batches / |
| Telemetry / Alarms |
+-----------+---------------+
|
v
+---------------------------+
| WPF Desktop Application |
| • Recipe Editor |
| • Batch Control |
| • Live Graphs |
| • Alarm Ack & Reports |
+---------------------------+
(Optional Web Dashboard – Phase 2)
```
---
## Proposed Database Structure (High Level)
| Table | Key Fields | Purpose |
| --------------- | ------------------------------------------------------- | ------------------------- |
| **Recipe** | RecipeId, Name | Recipe header |
| **RecipePhase** | PhaseId, RecipeId, TargetTemp, TargetPressure, Duration | Steps per recipe |
| **Batch** | BatchId, RecipeId, UnitName, Start/End Time, Status | Each production run |
| **Telemetry** | TelemetryId, BatchId, TagName, Value, Timestamp | Real-time data log |
| **AlarmLog** | AlarmId, BatchId, UnitName, Text, AckBy, AckAt | Alarms & acknowledgements |
| **UserAccount** | UserId, UserName, Role | Security management |
---
## Deliverables
1. Design & Architecture Document (including ER diagram & PLC tag map)
2. Source Code (C# Service + Desktop App + SQL scripts)
3. Executable Installer for runtime deployment
4. Configuration Manual (PLC IP / DB settings)
5. Testing Report & User Manual
---
## Implementation Phases & Indicative Timeline
| Phase | Scope | Duration | Output |
| ------------ | --------------------------------------- | -------- | -------------------- |
| 1 | Requirements & Design Finalization | 1 week | Design Doc + ERD |
| 2 | Data Collector Service (PLC ↔ SQL) | 2 weeks | Functional service |
| 3 | WPF Desktop UI (Recipe & Batch Control) | 3 weeks | Operator application |
| 4 | Reporting & User Management | 2 weeks | Reports + Security |
| 5 | Integration & Factory Testing | 1 week | Acceptance testing |
| 6 (optional) | Web Dashboard (LAN Monitoring) | 2 weeks | Browser dashboard |
**Total (core)** ≈ 8 weeks (**with optional web**) ≈ 10 weeks
---
## Technology Stack
| Layer | Tool / Framework | Purpose |
| ----------------- | ----------------------------- | ------------------------------- |
| PLC Communication | S7.NetPlus | Read/write Siemens S7-1200 tags |
| Core Logic | .NET 8 / C# | Application development |
| Database | SQL Server 2019 / Express | Data storage |
| UI | WPF (.NET 8) | Operator interface |
| Charts | ScottPlot / LiveCharts 2 | Real-time trend graphs |
| PDF | iTextSharp / QuestPDF | Report generation |
| OS | Windows 10 / 11 Industrial PC | Deployment environment |
---
## Acceptance Criteria
* PLC data collected every ≤ 60 seconds without loss.
* Complete recipe cycle execution with phase logic and alarms.
* Alarm sound and acknowledgement workflow functional.
* Reports generated accurately with graphs per batch.
* System stable for 24 × 7 operation.
---
## Summary
Develop a new industrial recipe control and monitoring system using C# /.NET 8 and SQL Server, communicating directly with Siemens S7-1200 PLCs via S7 TCP/IP.
The solution will provide recipe management, batch execution, live data logging, alarm handling, and PDF reporting within a secure, LAN-based environment.
## Objective
Design and develop an industrial control and monitoring software system to manage process recipes, monitor furnace/moulding units, record process data (temperature, pressure, CO %, CPMV etc.), handle alarms, and generate reports.
The system must interface with Siemens S7-1200 PLCs over Ethernet using the S7 TCP/IP protocol and store all production data in Microsoft SQL Server.
---
## System Overview
| Layer | Technology / Component | Description |
| ----------------------- | ---------------------------- | ---------------------------------------------------------- |
| **Field Layer** | Siemens S7-1200 PLCs | Control process logic, sensors and actuators. |
| **Communication Layer** | C# Service using S7.NetPlus | Reads/writes PLC data over Ethernet (S7 TCP). |
| **Data Layer** | Microsoft SQL Server 2019 + | Stores recipes, telemetry, alarms, batch history. |
| **Application Layer** | C# WPF Desktop App (Phase 1) | Operator interface for control, monitoring, and reporting. |
| **Optional Phase 2** | ASP.NET Core Web Dashboard | Browser-based view for supervisors (read-only). |
---
## Functional Requirements
### 3.1 Recipe Management
* Create, edit and delete process recipes.
* Each recipe contains multiple phases with:
* Target Temperature (°C)
* Target Pressure (bar)
* Duration (minutes)
* Stop Condition (type & value)
* Maintain versioning and change audit.
### 3.2 Batch Execution
* Assign a recipe to any unit (e.g., GCF1, GCF2, VFC1, VFC2).
* Start, Pause, Resume, Stop batch operations.
* Each phase runs until:
* its time expires, or
* its condition (temperature/pressure) is met.
* On completion, trigger alarm and buzzer.
* Operator acknowledges alarm, and next phase begins.
* Batch completion recorded with status (Completed / Aborted / Re-inspect).
### 3.3 Live Data Acquisition
* Poll PLCs every 2 seconds for sensor values.
* Store timestamped readings to SQL Server.
* Auto-reconnect on communication loss.
### 3.4 Alarm Handling
* Generate alarms automatically on phase end or abnormal conditions.
* Audible/visual alerts on operator station.
* Operator “OK” acknowledgement recorded (user & time).
* Optional write-back of acknowledgment bit to PLC.
### 3.5 Reporting and Graphs
* Display temperature/pressure graphs vs time per batch.
* Export detailed batch reports to PDF (iTextSharp / QuestPDF).
* Filter by date, unit, or recipe.
### 3.6 User Management
* Roles: Operator / Supervisor / Administrator.
* Secure login and audit log of key operations.
---
## 4 Non-Functional Requirements
| Area | Specification |
| --------------------- | --------------------------------------------------- |
| **Performance** | PLC poll ≤ 2 s; UI update ≤ 3 s. |
| **Reliability** | 24 × 7 runtime with auto-restart. |
| **Scalability** | New units can be added via config file. |
| **Security** | LAN-only access; Windows Authentication for SQL. |
| **Offline Tolerance** | Cache readings if SQL offline → sync on reconnect. |
| **Reporting** | PDF and CSV export. |
| **Technology** | .NET 8 (C#), SQL Server 2019 +, S7 NetPlus library. |
---
## 5 System Architecture
```
+-------------------------+
| Siemens S7-1200 PLCs |
| (Furnace / Mould Units)|
+-----------+-------------+
|
| S7 TCP/IP
v
+---------------------------+
| Data Collector Service |
| (C# /.NET + S7.NetPlus) |
+-----------+---------------+
|
v
+---------------------------+
| SQL Server Database |
| Recipes / Batches / |
| Telemetry / Alarms |
+-----------+---------------+
|
v
+---------------------------+
| WPF Desktop Application |
| • Recipe Editor |
| • Batch Control |
| • Live Graphs |
| • Alarm Ack & Reports |
+---------------------------+
(Optional Web Dashboard – Phase 2)
```
---
## Proposed Database Structure (High Level)
| Table | Key Fields | Purpose |
| --------------- | ------------------------------------------------------- | ------------------------- |
| **Recipe** | RecipeId, Name | Recipe header |
| **RecipePhase** | PhaseId, RecipeId, TargetTemp, TargetPressure, Duration | Steps per recipe |
| **Batch** | BatchId, RecipeId, UnitName, Start/End Time, Status | Each production run |
| **Telemetry** | TelemetryId, BatchId, TagName, Value, Timestamp | Real-time data log |
| **AlarmLog** | AlarmId, BatchId, UnitName, Text, AckBy, AckAt | Alarms & acknowledgements |
| **UserAccount** | UserId, UserName, Role | Security management |
---
## Deliverables
1. Design & Architecture Document (including ER diagram & PLC tag map)
2. Source Code (C# Service + Desktop App + SQL scripts)
3. Executable Installer for runtime deployment
4. Configuration Manual (PLC IP / DB settings)
5. Testing Report & User Manual
---
## Implementation Phases & Indicative Timeline
| Phase | Scope | Duration | Output |
| ------------ | --------------------------------------- | -------- | -------------------- |
| 1 | Requirements & Design Finalization | 1 week | Design Doc + ERD |
| 2 | Data Collector Service (PLC ↔ SQL) | 2 weeks | Functional service |
| 3 | WPF Desktop UI (Recipe & Batch Control) | 3 weeks | Operator application |
| 4 | Reporting & User Management | 2 weeks | Reports + Security |
| 5 | Integration & Factory Testing | 1 week | Acceptance testing |
| 6 (optional) | Web Dashboard (LAN Monitoring) | 2 weeks | Browser dashboard |
**Total (core)** ≈ 8 weeks (**with optional web**) ≈ 10 weeks
---
## Technology Stack
| Layer | Tool / Framework | Purpose |
| ----------------- | ----------------------------- | ------------------------------- |
| PLC Communication | S7.NetPlus | Read/write Siemens S7-1200 tags |
| Core Logic | .NET 8 / C# | Application development |
| Database | SQL Server 2019 / Express | Data storage |
| UI | WPF (.NET 8) | Operator interface |
| Charts | ScottPlot / LiveCharts 2 | Real-time trend graphs |
| PDF | iTextSharp / QuestPDF | Report generation |
| OS | Windows 10 / 11 Industrial PC | Deployment environment |
---
## Acceptance Criteria
* PLC data collected every ≤ 60 seconds without loss.
* Complete recipe cycle execution with phase logic and alarms.
* Alarm sound and acknowledgement workflow functional.
* Reports generated accurately with graphs per batch.
* System stable for 24 × 7 operation.
---
## Summary
Develop a new industrial recipe control and monitoring system using C# /.NET 8 and SQL Server, communicating directly with Siemens S7-1200 PLCs via S7 TCP/IP.
The solution will provide recipe management, batch execution, live data logging, alarm handling, and PDF reporting within a secure, LAN-based environment.
Related categories:
C Programming
.NET
C# Programming
Software Architecture
C++ Programming
WPF
Database Administration
ASP.NET