The solvent recovery system can significantly reduce production costs and minimize environmental pollution, with automation control based on Siemens PLC as its core technical guarantee.

1. Hardware Configuration
In the solvent recovery control system, the hardware configuration is the foundation of the entire system. Depending on the project scale and control requirements, we typically choose Siemens S7-1200 or S7-1500 series PLCs as the control core.
PLC and Expansion Module Selection:
-
Main Controller: S7-1515-2PN (with powerful processing capability and dual Ethernet interfaces)
-
Analog Input Module: SM531 (8AI, 16-bit resolution, suitable for temperature, pressure, liquid level, and other sensor signal acquisition)
-
Analog Output Module: SM532 (4AO, for control of proportional valves and frequency converters)
-
Digital I/O Module: SM521/SM522 (for control and status feedback of pumps, valves, motors, etc.)
I/O Point Allocation Table (Partial Example):
| Address | Symbol Name | Data Type | Function Description |
|———–|————————–|———–|——————————-|
| %I0.0 | Pump1_Running_Feedback | Bool | Solvent Pump 1 Running Feedback|
| %I0.1 | Pump2_Running_Feedback | Bool | Solvent Pump 2 Running Feedback|
| %I0.2 | Tank_High_Level | Bool | High Liquid Level Alarm |
| %I0.3 | Emergency_Stop | Bool | Emergency Stop Button |
| %Q0.0 | Pump1_Start | Bool | Solvent Pump 1 Start Command |
| %Q0.1 | Pump2_Start | Bool | Solvent Pump 2 Start Command |
| %IW64 | Tank_Level | Int | Tank Liquid Level (4-20mA) |
| %IW66 | Solvent_Temperature | Int | Solvent Temperature (PT100) |
| %QW64 | Control_Valve | Int | Control Valve Opening (0-100%)|
2. Control Program Design
The program design of the solvent recovery system must follow structured programming principles, with reasonable planning of variables and functional modules.
Variable Definition Specifications:
-
Variable naming follows the format “Device_Function_Attribute”
-
Global variables are stored in the global DB
-
Device parameters are stored in a dedicated parameter DB
-
Temporary variables are defined within the corresponding FB
Program Architecture Design:
- OB1: Main Loop (calls various function blocks)
- OB30: Cyclic Interrupt (100ms, for PID control)
- OB82: Diagnostic Interrupt (handles hardware faults)
- FB10: Pump Control Function Block
- FB20: Temperature Control Function Block
- FB30: Pressure Control Function Block
- FB40: Alarm Handling Function Block
- DB10: System Parameter Data Block
- DB20: Operating Status Data Block
- DB30: Alarm Information Data Block
Function Block Design Example – Pump Control Function Block (FB10):
FUNCTION_BLOCK "Pump_Control"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
Start_Command : Bool; // Start Command
Stop_Command : Bool; // Stop Command
Auto_Mode : Bool; // Automatic Mode
Tank_Level : Real; // Tank Liquid Level
Low_Level_Limit : Real; // Low Level Limit
High_Level_Limit : Real; // High Level Limit
END_VAR
VAR_OUTPUT
Pump_Run : Bool; // Pump Run Output
Alarm_Status : Bool; // Alarm Status
Status_Message : String; // Status Message
END_VAR
VAR
Timer_On_Delay : TON; // Start Delay Timer
Status : Int; // Status Code
END_VAR
VAR_TEMP
Temp_Status : Bool; // Temporary Status Variable
END_VAR
BEGIN
// Status Detection and Protection Logic
IF Tank_Level < Low_Level_Limit THEN
Status := 1; // Liquid Level Too Low
Alarm_Status := TRUE;
Status_Message := 'Liquid level too low, pump stopped';
Pump_Run := FALSE;
RETURN;
END_IF;
// Automatic Mode Logic
IF Auto_Mode THEN
IF Tank_Level > High_Level_Limit THEN
Temp_Status := TRUE; // Need to Start Pump
Status := 2; // Automatic Operation
Status_Message := 'Automatic mode running';
ELSIF Tank_Level <= Low_Level_Limit + 10.0 THEN
Temp_Status := FALSE; // Need to Stop Pump
Status := 3; // Automatic Stop
Status_Message := 'Automatic mode stopped';
ELSE
Temp_Status := Pump_Run; // Maintain Current Status
END_IF;
ELSE
// Manual Mode Logic
IF Start_Command AND NOT Stop_Command THEN
Temp_Status := TRUE;
Status := 4; // Manual Start
Status_Message := 'Manual mode running';
ELSIF Stop_Command THEN
Temp_Status := FALSE;
Status := 5; // Manual Stop
Status_Message := 'Manual mode stopped';
ELSE
Temp_Status := Pump_Run; // Maintain Current Status
END_IF;
END_IF;
// Start Delay Processing (to prevent frequent start/stop)
Timer_On_Delay(IN := Temp_Status <> Pump_Run,
PT := T#3S,
Q => #Temp_Status);
IF Timer_On_Delay.Q THEN
Pump_Run := Temp_Status;
END_IF;
// Clear Inactive Alarms
IF Tank_Level >= Low_Level_Limit + 5.0 THEN
Alarm_Status := FALSE;
END_IF;
END_FUNCTION_BLOCK
3. System Debugging Methods
The solvent recovery system involves various physical parameters and control links, requiring systematic debugging methods to ensure safe and reliable operation.
Step-by-Step Debugging Method:
-
I/O Point Testing: Test each input and output point one by one to verify wiring and address configuration.
-
Digital Input: Simulate field switch signals, check PLC status
-
Digital Output: Force output commands, check corresponding device actions
-
Analog Input: Connect to an analog signal source, verify conversion accuracy
-
Analog Output: Check output curve, confirm proportional control effectiveness
Unit Function Testing: Test functional modules one by one, such as pump control, temperature control, pressure control, etc.
// Example: Pump Control Testing
1. Manual mode start/stop testing
2. Automatic mode high/low limit switching testing
3. Protection function testing (low liquid level protection)
4. Delay function testing (to prevent frequent start/stop)
Parameter Tuning Steps:
-
PID parameter tuning uses a step method, first set P, then add I, and finally adjust D
-
Temperature control loop: Start with a small P value (5-10%), gradually increase until slight oscillation occurs
-
Pressure control loop: Start with a medium P value (20-30%), fine-tune for fast response without overshoot
-
Flow control loop: Focus on adjusting I parameters to eliminate steady-state error
Abnormal Simulation Testing:
-
Power failure simulation: Check system recovery capability and data retention
-
Sensor failure simulation: Verify detection capability and failure protection measures
-
Actuator failure simulation: Test alarm and switch backup device functionality
-
Communication interruption simulation: Verify system degradation operation capability
4. Fault Diagnosis and Troubleshooting
Timely detection and elimination of faults during the operation of the solvent recovery system is key to ensuring reliable operation.
Common Fault Analysis:
| Fault Phenomenon | Possible Causes | Troubleshooting Methods |
|———|———|———|
| Solvent pump does not start | 1. Electrical connection issues2. Protection switch tripped3. PLC output failure4. Low liquid level limit triggered | 1. Check electrical wiring2. Check motor protection settings3. Test PLC output points4. Check liquid level sensor |
| Temperature control instability | 1. Inappropriate PID parameters2. Temperature sensor failure3. Heating/cooling element failure4. Control valve failure | 1. Retune PID parameters2. Verify temperature sensor3. Check heating/cooling system4. Test control valve response |
| Solvent purity not up to standard | 1. Process parameter setting issues2. Pressure control anomalies3. Flow instability4. Separation device failure | 1. Optimize process parameters2. Check pressure control loop3. Adjust flow control4. Check separation device |
Diagnostic Tool Usage:
-
STEP 7 Diagnostic Function: Use TIA Portal online diagnostic function to monitor PLC status.
-
Use VAT table to monitor key variables
-
Use tracking function to analyze control curves
-
Use program status to view execution flow
ProDiag Diagnostic Function: Utilize the advanced diagnostic features of S7-1500.
// Monitoring Block Configuration Example
MONITOR(S7-1500) "Tank_Level_Monitor"
ERROR "Tank_Level_Error"
TEXT := "Abnormal tank liquid level, please check the liquid level sensor";
CONDITION := "DB_Process".Tank_Level > "DB_Param".Tank_Max_Level OR
"DB_Process".Tank_Level < "DB_Param".Tank_Min_Level;
Custom Diagnostic Program: Develop targeted diagnostic programs based on system characteristics.
-
Sensor deviation detection
-
Actuator response time monitoring
-
Control accuracy statistical analysis
5. System Maintenance and Management
A good maintenance management strategy is the foundation for ensuring the long-term stable operation of the solvent recovery system.
Daily Maintenance Points:
-
Regular Data Backup: Complete backup of PLC programs, parameters, and configurations every month.
// Backup Checklist - PLC Program (.zap17) - HMI Project (.zh17) - Parameter Table (.xlsx) - Control Documents (.pdf) -
Equipment Inspection: Check the status of key equipment as scheduled.
-
Solvent Pump: Check seals and bearings weekly
-
Sensors: Calibration and cleaning monthly
-
Control Valves: Check operation and sealing quarterly
Program Inspection: Regularly check program operation status and performance.
-
CPU utilization monitoring
-
Scan cycle trend analysis
-
Memory usage check
System Upgrade Methods:
-
Upgrade Preparation:
-
Complete backup of the existing system
-
Develop a detailed upgrade plan and rollback strategy
-
Conduct offline testing and verification
Step-by-Step Implementation:
// Upgrade Steps
1. HMI System Upgrade (minimal disruption)
2. Non-critical control function upgrade
3. Critical control function upgrade (production downtime window)
4. Full system function verification
Upgrade Verification:
-
Comprehensive I/O function check
-
Control logic verification testing
-
Performance comparison analysis
Conclusion
The application of Siemens PLC in the solvent recovery system not only ensures production safety but also achieves efficient resource utilization. We welcome you to share your implementation experiences.