In the paper industry, a reliable automation control system can significantly enhance production efficiency and product quality. This article will detail the core technical points of paper machine control, from hardware selection to program design.
1. Hardware Configuration Plan
1. PLC Selection Explanation
It is recommended to use Siemens S7-1500 series PLC for the paper machine control system, considering the following factors:
-
CPU Selection: CPU 1515-2 PN
-
Expansion Modules:
-
DI/DO Modules: 2 each of SM 521/522
-
AI/AO Modules: 1 each of SM 531/532
-
High-speed Counter: TM Count 2x24V
2. I/O Point Allocation Table
| Address | Signal Name | Description | Remarks |
|——|———-|——|——|
| I0.0 | START_PB | Start Button | Emergency Stop Interlock |
| I0.1 | STOP_PB | Stop Button | Normally Closed Contact |
| I0.2 | EMERGENCY | Emergency Stop Button | Safety Circuit |
| Q0.0 | MOTOR_RUN | Main Motor Running | Contactor Control |
| Q0.1 | VALVE_OPEN | Pulp Inlet Valve | Solenoid Valve Control |
| IW64 | SPEED_FEEDBACK | Speed Feedback | 4-20mA |
3. Peripheral Device Selection
-
Frequency Converter: Siemens G120 series, supports PROFINET communication
-
Sensor: E+H Pressure Transmitter, accuracy 0.2%
-
Actuator: SMC Solenoid Valve, fast response type
2. Control Program Design
1. Variable Definition Specification
// Global Data Block DB_Global
type TYPE_MACHINE_STATUS
BOOL bRunning; // Running Status
BOOL bAlarm; // Alarm Status
REAL rSpeed; // Current Speed
INT iProductCount; // Production Count
end_type
var
Status : TYPE_MACHINE_STATUS;
Parameter : STRUCT
rSpeedSetpoint : REAL; // Speed Setpoint
rTension : REAL; // Tension Setpoint
end_struct;
end_var
2. Function Block Design
FUNCTION_BLOCK FB_SpeedControl
VAR_INPUT
bEnable : BOOL; // Enable Signal
rSetpoint : REAL; // Setpoint
rFeedback : REAL; // Feedback Value
END_VAR
VAR_OUTPUT
rOutput : REAL; // Control Output
bFault : BOOL; // Fault Flag
END_VAR
VAR
fbPID : TON; // PID Controller
rError : REAL; // Error Value
END_VAR
// Main Program Logic
IF bEnable THEN
rError := rSetpoint - rFeedback;
// PID Control Calculation
fbPID(IN:=TRUE, PT:=T#100ms);
// Output Limiting
IF rOutput > 100.0 THEN
rOutput := 100.0;
ELSIF rOutput < 0.0 THEN
rOutput := 0.0;
END_IF;
ELSE
rOutput := 0.0;
END_IF;
3. State Control Design
1. Main State Machine Design
CASE iMachineState OF
0: // Initial State
IF bStartRequest AND NOT bEmergency THEN
iMachineState := 10;
END_IF;
10: // Pre-start Check
IF bAllConditionsOK THEN
iMachineState := 20;
ELSE
iAlarmCode := 1001;
iMachineState := 100;
END_IF;
20: // Running State
IF bStopRequest OR bEmergency THEN
iMachineState := 30;
END_IF;
30: // Shutdown Process
IF bStopComplete THEN
iMachineState := 0;
END_IF;
100: // Fault State
IF bResetRequest AND bFaultCleared THEN
iMachineState := 0;
END_IF;
END_CASE;
2. Exception Handling Mechanism
// Alarm Handling Function Block
FUNCTION_BLOCK FB_AlarmHandler
VAR_INPUT
bTrigger : BOOL; // Alarm Trigger
iAlarmID : INT; // Alarm ID
END_VAR
VAR
dtTimeStamp : DATE_AND_TIME; // Timestamp
sAlarmText : STRING[80]; // Alarm Text
END_VAR
// Alarm Record Logic
IF bTrigger THEN
dtTimeStamp := CURRENT_TIME();
CASE iAlarmID OF
1001: sAlarmText := 'Drive System Fault';
1002: sAlarmText := 'Tension Exceeded';
1003: sAlarmText := 'Speed Abnormal';
END_CASE;
// Write to Alarm Log
WriteAlarmLog(dtTimeStamp, iAlarmID, sAlarmText);
END_IF;
4. Operation Interface Design
1. Main Interface Layout
-
Top Area: System Status, Alarm Indication, Time Display
-
Middle Area: Process Flow Diagram, Real-time Data
-
Bottom Area: Operation Buttons, Parameter Settings Entry
2. Parameter Settings Interface
| Parameter Name | Current Value | Set Value | Unit |
|----------------|---------------|-----------|------|
| Speed | 350.0 | [350.0] | m/min|
| Tension | 2.5 | [2.5] | N/m |
| Basis Weight | 80.0 | [80.0] | g/m² |
3. Alarm Handling Interface
-
Real-time Alarm List: Displays current active alarms
-
Historical Record Query: Supports filtering by time and type
-
Alarm Acknowledgment Button: Operator acknowledgment and handling
5. System Debugging Methods
1. Step-by-step Debugging Process
-
Hardware Check
-
Check Power Supply Voltage
-
Verify I/O Wiring
-
Test Communication Connections
Single Machine Debugging
// Manual Mode Debugging Code
IF bManualMode THEN
// Test each actuator individually
IF bTestMotor THEN
qMotorRun := TRUE;
END_IF;
END_IF;
Linked Debugging
-
Empty Load Operation Test
-
Load Operation Test
-
Extreme Condition Testing
2. Parameter Tuning Steps
-
Speed Loop Tuning
-
Set P Parameter: Initial Value 0.5
-
Adjust I Parameter: Observe Steady-State Error
-
Optimize D Parameter: Improve Dynamic Response
Tension Loop Tuning
-
Use Critical Proportional Method
-
Record Oscillation Period
-
Calculate Using Ziegler-Nichols Formula
6. Actual Project Case Analysis
1. Project Background
A paper mill with an annual output of 100,000 tons of cultural paper had an aging relay control system that required automation upgrades.
2. Solution
-
Control System: S7-1500 PLC + PROFINET Network
-
Drive System: G120 Frequency Converter Group Control
-
Monitoring System: WinCC 7.5 SCADA
3. Implementation Results
-
Production efficiency increased by 15%
-
Product qualification rate reached 98%
-
Energy consumption reduced by 8%
-
Maintenance costs decreased by 30%
4. Key Code Example
// Core Algorithm for Tension Control
FUNCTION_BLOCK FB_TensionControl
VAR_INPUT
rActualTension : REAL; // Actual Tension
rSetTension : REAL; // Set Tension
bEnable : BOOL; // Enable Signal
END_VAR
VAR_OUTPUT
rSpeedCorrection : REAL; // Speed Correction Value
END_VAR
VAR
rKp : REAL := 0.8; // Proportional Coefficient
rKi : REAL := 0.1; // Integral Coefficient
rError : REAL; // Error
rIntegral : REAL; // Integral Value
END_VAR
// Control Algorithm Implementation
IF bEnable THEN
rError := rSetTension - rActualTension;
rIntegral := rIntegral + rError * 0.1; // Integral Time 0.1s
// PI Control Output
rSpeedCorrection := rKp * rError + rKi * rIntegral;
// Output Limiting ±10%
rSpeedCorrection := LIMIT(-10.0, rSpeedCorrection, 10.0);
ELSE
rIntegral := 0.0;
rSpeedCorrection := 0.0;
END_IF;
The development of the paper machine control system involves multiple technical aspects. This article focuses on core content such as hardware configuration, program design, and debugging methods. We welcome colleagues to share more practical experiences!