Design and Implementation of Industrial Solid Waste Treatment Control System

Design and Implementation of Industrial Solid Waste Treatment Control System

The automation control system for industrial solid waste treatment can significantly improve processing efficiency and reduce environmental risks, serving as a key technological support for sustainable industrial development. This article details the control scheme based on Siemens PLC.

1. Hardware Configuration

PLC and Expansion Module Selection

Considering the characteristics of the industrial solid waste treatment system, we selected the Siemens S7-1500 series PLC as the main control unit, with the following specific configuration:

  • • CPU: S7-1516-3 PN/DP (with sufficient program storage space and high-speed processing capability)
  • • Digital Input Module: SM 521 DI 32x24VDC HF (for collecting switch signals)
  • • Digital Output Module: SM 522 DO 32x24VDC/0.5A (to control motors, valves, and other actuators)
  • • Analog Input Module: SM 531 AI 8xU/I/RTD/TC ST (for collecting analog signals such as temperature, pressure, and liquid level)
  • • Analog Output Module: SM 532 AO 4xU/I ST (to control inverters, proportional valves, etc.)

I/O Point Allocation Table

| Address | Function Description | Signal Type | Remarks |

|———–|————————-|———–|————————|

| I0.0-I0.7 | Solid Waste Feeding System Status | Digital Input | Includes limit switches, material level detection, etc. |

| I1.0-I1.7 | Crushing System Status | Digital Input | Motor operation, overload protection, etc. |

| I2.0-I2.7 | Conveying System Status | Digital Input | Conveyor status, material blockage detection, etc. |

| I3.0-I3.7 | Sorting System Status | Digital Input | Status of various sorting devices |

| IW64-IW72 | Temperature, Pressure, and Other Analog Measurement Values | Analog Input | Process parameters at each measurement point |

| Q0.0-Q0.7 | Feeding System Control | Digital Output | Control motors, valves, etc. |

| Q1.0-Q1.7 | Crushing System Control | Digital Output | Start/stop of the crusher, etc. |

| QW64-QW66 | Inverter Speed Control | Analog Output | Conveyor belt speed, etc. |

Design and Implementation of Industrial Solid Waste Treatment Control System

2. Control Program Design

Program Architecture Design

Based on the Siemens S7-1500 series PLC, we adopted a structured programming approach, dividing the entire control system into the following functional modules:

- OB1: Main loop program, responsible for calling various function blocks

- OB30: Time interrupt (100ms), for fast response process control

- OB100: Startup organization block, system initialization

- FB10: Feeding control function block

- FB20: Crushing control function block

- FB30: Conveying control function block

- FB40: Sorting control function block

- FB50: Exception handling function block

- DB10-DB50: Data blocks corresponding to function blocks

- DB100: Global data block, storing system configuration parameters

- DB200: Alarm information data block

Function Block Design

Below is the detailed design of the crushing control function block (FB20):

FUNCTION_BLOCK "Crushing Control"

{ S7_Optimized_Access := 'TRUE' }

VERSION : 0.1

   VAR_INPUT 

      Start_Command : Bool;   // HMI start command

      Stop_Command : Bool;   // HMI stop command

      Manual_Mode : Bool;   // TRUE=Manual, FALSE=Automatic

      Set_Speed : Real;   // Crusher set speed (rpm)

      Feed_Detection : Bool;   // Feed inlet material level sensor

   END_VAR


   VAR_OUTPUT

      Running_Status : Bool;   // Crusher running status

      Actual_Speed : Real;   // Crusher actual speed (rpm)

      Motor_Current : Real;   // Crusher motor current (A)

      Overload_Alarm : Bool;   // Motor overload alarm

   END_VAR


   VAR 

      Start_Delay : TON;    // Start delay timer

      Stop_Delay : TON;    // Stop delay timer

      Running_Time : TIME;   // Accumulated running time

      Start_Count : Int;    // Start count

   END_VAR


   VAR_TEMP 

      Temp_Variable1 : Real;

   END_VAR


BEGIN

   // 1. Automatic/manual mode switching logic

   IF #Manual_Mode THEN

      // In manual mode, directly respond to start/stop commands

      IF #Start_Command AND NOT #Stop_Command THEN

         #Running_Status := TRUE;

      ELSIF #Stop_Command THEN

         #Running_Status := FALSE;

      END_IF;

   ELSE

      // In automatic mode, control based on material level

      // Automatically start when there is material and no stop command

      IF #Feed_Detection AND NOT #Stop_Command THEN

         #Start_Delay(IN := TRUE,

                  PT := T#3S);  // Delay 3 seconds to start

         IF #Start_Delay.Q THEN

            #Running_Status := TRUE;

            #Start_Count := #Start_Count + 1;  // Increment counter by 1

         END_IF;

      ELSE

         // Stop when there is no material or a stop command

         #Start_Delay(IN := FALSE);

         #Stop_Delay(IN := TRUE,

                  PT := T#10S);  // Delay 10 seconds to stop

         IF #Stop_Delay.Q THEN

            #Running_Status := FALSE;

         END_IF;

      END_IF;

   END_IF;
   

   // 2. Overload protection

   IF #Motor_Current > 50.0 THEN  // Current exceeding 50A is considered overload

      #Overload_Alarm := TRUE;

      #Running_Status := FALSE;    // Force stop in case of overload

   ELSE

      #Overload_Alarm := FALSE;

   END_IF;
   

   // 3. Accumulated running time

   IF #Running_Status THEN

      #Running_Time := #Running_Time + 100; // Accumulate 100ms each cycle

   END_IF;
   

   // 4. Output control

   "Inverter Speed"(Start := #Running_Status,

               Set_Speed := #Set_Speed,

               Actual_Speed => #Actual_Speed);
END_FUNCTION_BLOCK

Status Control Design

The status control of the solid waste treatment system adopts a state machine design pattern, including the following main states:

  1. 1. Initialization State: System self-check after power on, equipment in place
  2. 2. Standby State: System ready, waiting for start command
  3. 3. Running State: Normal processing of solid waste
  4. 4. Paused State: Temporarily pausing processing, keeping equipment powered
  5. 5. Fault State: System detects an anomaly, requiring manual intervention
  6. 6. Maintenance State: System enters maintenance mode, prohibiting automatic operation

State transitions are triggered by operator commands, safety interlocks, and abnormal conditions, with each state having clear entry/exit actions and allowed operations.

// State machine implementation code segment

CASE #System_Status OF

   0:  // Initialization State

      IF #Self_Check_Complete THEN

         #System_Status := 1; // Transition to Standby State

      END_IF;
      

   1:  // Standby State

      IF #Start_Command AND NOT #Has_Fault THEN

         #System_Status := 2; // Transition to Running State

      ELSIF #Maintenance_Command THEN

         #System_Status := 5; // Transition to Maintenance State

      END_IF;
   

   2:  // Running State

      IF #Stop_Command THEN

         #System_Status := 1; // Transition to Standby State

      ELSIF #Pause_Command THEN

         #System_Status := 3; // Transition to Paused State

      ELSIF #Has_Fault THEN

         #System_Status := 4; // Transition to Fault State

      END_IF;
   
   // Other state handling...

END_CASE;

3. Fault Diagnosis and Troubleshooting

Common Fault Analysis

Common faults in the industrial solid waste treatment system and their handling methods:

  1. 1. Feed Blockage
  • • Detection Method: Feed inlet material level sensor remains high for an extended period, while downstream equipment detects no material
  • • Handling Method: Reverse the feeding device, vibrate to clear, and restore normal feeding
  • 2. Crusher Overload
    • • Detection Method: Crusher motor current exceeds set value, or motor thermal protection activates
    • • Handling Method: Stop and check for uncrushable materials, clean and restart
  • 3. Sorting System Anomaly
    • • Detection Method: Sorting efficiency decreases, false positive rate increases
    • • Handling Method: Clean sensors, check sorting algorithm parameters, recalibrate if necessary

    Using Diagnostic Tools

    Siemens PLC provides various diagnostic tools:

    1. 1. System Diagnostic View: Built-in diagnostic function in TIA Portal, allows real-time viewing of hardware status
    2. 2. Variable Monitoring Table: Create custom variable tables to monitor key signals online
    3. 3. Fault Diagnosis FB: Custom fault diagnosis function block, implementing the following functions:
    • • Signal validity check
    • • Sensor rationality verification
    • • Actuator response time monitoring
    • • Historical fault recording and statistics
    // Fault diagnosis function block example
    
    IF NOT #Sensor1_Value BETWEEN #Lower_Limit AND #Upper_Limit THEN
    
       #Sensor_Fault := TRUE;
    
       // Record fault
    
       #Fault_Code := 101;
    
       #Fault_Time := #System_Time;
    
       CALL "Record_Fault"(Fault_Code := #Fault_Code, 
    
                     Fault_Time := #Fault_Time,
    
                     Fault_Description := 'Sensor 1 out of range');
    
    END_IF;
    

    4. Operation Interface Design

    Interface Layout Description

    The HMI operation interface adopts a multi-level structure, mainly including:

    1. 1. Main Interface: Displays overall system status, provides entry to subsystems
    2. 2. Process Flow Interface: Displays a dynamic diagram of the complete process flow
    3. 3. Device Control Interface: Provides detailed operation interface for each device
    4. 4. Parameter Setting Interface: System parameter configuration
    5. 5. Alarm Interface: Displays current and historical alarms
    6. 6. Trend Interface: Trend graphs of key process parameters

    The interface design follows these principles:

    • • Clear information hierarchy, highlighting important information
    • • Short operation paths, core functions not exceeding 2 clicks
    • • Unified status colors, green for normal, red for abnormal
    • • Key operations require double confirmation

    Parameter Setting Description

    The parameter setting interface includes the following main parameter groups:

    1. 1. Process Parameters:
    • • Feeding Speed: 0.5-10 t/h
    • • Crushing Granularity: 10-50 mm
    • • Sorting Accuracy: 85%-99%
  • 2. Device Parameters:
    • • Motor Start/Stop Delay: 0-60s
    • • Inverter Acceleration/Deceleration Time: 5-30s
    • • Overload Protection Threshold: 30-60A
  • 3. System Parameters:
    • • Automatic Start/Stop Conditions
    • • Interlock Logic Configuration
    • • Alarm Limit Settings

    All parameters have access control, and modifications to critical parameters require high-level permissions and operation records.

    5. Data Management and Storage

    Data Block Example

    The global data block (DB100) stores system configuration parameters:

    DATA_BLOCK "System_Parameters_DB"
    
    { S7_Optimized_Access := 'TRUE' }
    
    VERSION : 0.1
    
    NON_RETAIN
    
       STRUCT 
    
          Process_Parameters : STRUCT
    
             Feeding_Speed_Set : Real := 5.0;    // Unit: t/h
    
             Crushing_Speed_Set : Real := 50.0;   // Unit: rpm
    
             Belt_Speed_Set : Real := 0.5;    // Unit: m/s
    
             Sorting_Sensitivity : Int := 85;        // Unit: %
    
          END_STRUCT;
          
    
          Device_Parameters : STRUCT
    
             Feeding_Start_Delay : Time := T#5S;
    
             Crushing_Start_Delay : Time := T#8S;
    
             Conveying_Start_Delay : Time := T#3S;
    
             System_Stop_Order : Int := 1;       // 1=stop feeding first, 2=stop simultaneously
    
          END_STRUCT;
          
    
          Alarm_Settings : STRUCT
    
             Motor_Overload_Threshold : Real := 45.0;   // Unit: A
    
             Blockage_Detection_Time : Time := T#30S;
    
             Temperature_Upper_Limit_Alarm : Real := 85.0;   // Unit: °C
    
             Pressure_Upper_Limit_Alarm : Real := 2.5;    // Unit: MPa
    
          END_STRUCT;
          
    
          Running_Statistics : STRUCT
    
             Total_Running_Time : Time;
    
             Total_Processing_Amount : Real;              // Unit: tons
    
             Fault_Count : Int;
    
             Start_Count : Int;
    
          END_STRUCT;
       END_STRUCT;
    
    BEGIN
    
       Process_Parameters.Feeding_Speed_Set := 5.0;
    
       Process_Parameters.Crushing_Speed_Set := 50.0;
    
       Process_Parameters.Belt_Speed_Set := 0.5;
    
       Process_Parameters.Sorting_Sensitivity := 85;
    
    END_DATA_BLOCK
    

    Running Data Recording

    The system automatically records the following running data:

    1. 1. Process Data: Records key process parameters every minute
    2. 2. Batch Data: Information on materials processed per batch
    3. 3. Energy Consumption Data: Statistics on equipment operating power and energy consumption
    4. 4. Quality Data: Records of processing effects and qualification rates

    The data storage structure adopts a dual-layer design:

    • • Short-term data is stored in PLC data blocks (24-hour rolling)
    • • Long-term data is transmitted to a database server via industrial Ethernet

    Conclusion

    The application of Siemens PLC in industrial solid waste treatment requires solid foundational knowledge as well as rich on-site experience. We welcome discussions on more technical challenges in solid waste treatment automation!

    Leave a Comment