13 KiB
Infeed:
Outfeed:
The Tilter/SKID has the function to cool the bottom of the bottles that are transported inside.
The machine can be separated in two:
SKID:
- The SKID system cools the water circulating in the Tilter. It uses Pump M36 to circulate water through a heat-exchanger, which is cooled by liquid from the chiller. The cooling amount is controlled by the analog valve AMV1 using a PID controller.
!Pasted image 20250115140800.png
The logic for the SKID is done on the FB96
If all the conditions to run are meet then we set "DB Tilter".Switches."Conditions to Run Infeed"
to enable the Tilter to Run
FC380 - Net 2:
// Special conditions to Open Gate
UN "DB SKID"."Stop Filler for overtemperature"
U "DB Signal Transport".Signals.Digital.InputSignal[1]
U "DB SKID".SKID.isRunning
= "DB Tilter".Switches."Conditions to Run Infeed"
The temperature PID must be set up on-site. Due to the system's large inertia, this PID should be configured for a slow response. All this parametrization can be done on the Setup pages.
The primary sensors include:
- Pressure sensor SP60010: Measures the pressure exerted by the pump.
- Tank level sensor SP60030: Monitors the water level in the tank.
- Temperature sensor SP60050: Gauges the temperature of the water entering the tilter.
The system features a closed-loop water circulation that pumps water from the SKID tank through a heat exchanger. The heat exchanger has two circuits:
- Water Circuit: Water circulates from the SKID tank to the Tilter and back to the tank.
- Coolant Circuit: Coolant from an external chiller flows through the other side. We can only control the flow of this coolant using the modulating analog valve AMV1.
The AMV1 valve's position is regulated by a PID controller linked to the temperature sensor SP60050. To mitigate back pressure issues, the system includes a bypass valve AV3 that automatically opens if the AMV1 needs to close.
When the system starts, the SKID controls the minimum water level in the tank. If this level is reached, pump M36 activates, and the system uses a PID regulator to adjust the AMV1 valve, aiming to achieve the temperature set by the Tilter as the Set Point.
!Pasted image 20250115142627.png
The PID controller adjusts the AMV1 based on readings from the temperature sensor, scaling the value as shown on the next image.
!Pasted image 20250115142822.png
With the Time to smooth parameter the temperature of the sensor can be averaged to reduce small changes that dont need to be considered.
On the PID page, you can set the parameters for the PID control and adjust the Output scale as shown in the image below:
!Pasted image 20250115143131.png
The Feedforward parameters reduce the PID's workload by adjusting the valve opening proportional to the desired temperature.
Other PID parameters include:
- Kp: Proportional gain, multiplied by the error.
- Ki: Integral gain, multiplied by the accumulated error.
- Kd: Derivative gain, multiplied by the rate of change of error (usually unnecessary for slow systems).
- % to adjust by Integral Ki: Limits the integral part's influence on the PID output to a maximum of max%.
- Time to smooth: A time window to average the input value before error calculation.
When the PID is disabled due to lack of water or another condition, a fallback command can force the valve to a specific opening if necessary.
!Pasted image 20250115143943.png
Tilter FB621 System Overview
The tilter infeed system is controlled by FB621, executing in OB30 with a 3ms cycle time. The system manages three motors to coordinate bottle movement through the tilter mechanism.
The tilter infeed starts when conditions from the SKID and the maximum photocell at the outfeed are met.
Key sensors for infeed control include:
- Minimum/maximum accumulation photocells
- Phase sensor S50670 on the main chain motor (M34)
- Phase sensor S50740 on the Minimotor endless screw
- Encoders on both the endless screw and M34 motor
Motors
-
Belt Motor (M35)
- Primary function: Transport bottles from infeed to outfeed
- Speed synchronization: Matches main chain speed with correction factor
- Speed calculation: Chain_Speed * (1 + K_correction_Belt/100)
-
Main Chain Motor (M34)
- Function: Drives slotted chain for bottle transport
- Speed control: Multiple speed modes (Low, Production, Over Speed)
- Features dynamic speed adjustment based on bottle count
-
Doser Motor (M32) - Minimotor Endless Screw
- Function: Bottle separation and alignment with chain slots
- Speed calculation: Chain_Speed * Ratio * (1 + K_correction_Doser/100) + PID_Output
- Includes phase correction via PID control
Sensors
- Minimum/maximum accumulation photocells
- Phase sensors:
- S50670 (Main chain)
- S50740 (Endless screw)
- Encoders on both endless screw and M34
- Jam detection sensors at infeed/outfeed
There is 3 phases to phase the system:
When the dosser (endlessscrew) start from stop use:
Recipe."Offset Chain Phase Startup mm" to compensate the start ramp to phase as soon as posible with the main chain slot:
#"Offset Master Pulse Start"("Pulse In" := #"I_BottleStep_Chain",
"Step mm" := #"Fixed Paramters"."Chain Step",
"Ofsset in mm" := #Recipe."Offset Chain Phase Startup mm",
"Auto Calc Step Time" := FALSE,
"Fix Step Time" := #Aux."Estimated Step Time s");
This creates an artificial offset at startup, triggering the Status.Doser Enable := TRUE
which activates the minimotor.
// START PHASE
IF #Status."Conditions to Run Doser" AND NOT #Status."Doser Enable" AND #"Offset Master Pulse Start"."Pulse Out" THEN
#Aux."Search Angle To Stop" := FALSE;
#Status."Phase Start Doser" := TRUE;
#Status."Doser Enable" := TRUE;
#Aux.Counters[1] := 0;
END_IF;
After startup, the system switches to normal operation.
When the dosser maintain the phase with the main chain:
The PID is activated and the speed is controlled by the PID output
// Doser Speed
#Status."Doser Speed" := #"Chain Speed Scaled" * #Status."Ratio Doser Chain" * (1 + #Recipe."K coorection Doser" / 100.0) + #PID.PID."Output Scaled";
The error is calculated as the difference between the center of each bottle and the center of the slot in the main chain. If this difference increases, the PID controller compensates to minimize the error. The center of the bottle is set at the S50740 pulse. The center of the slot is determined by the S50670 pulse, adjusted by the Recipe.Offset Chain Phase mm
. This adjustment is applied to the pulse stored in the Offset Master Pulse DB.
When the dosser stop:
To stop the dosser, we must align it at a specific angle to allow the last bottle to exit while keeping the next one inside the endless screw. We use the Recipe."Angle to Start Stop"
to trigger the Status."Phase Stop Doser" := TRUE
, which halts the dosser. ==This parameter is linked to the Recipe."Offset Chain Phase Startup mm"
==, so adjusting one might require adjusting the other due to the impact on the startup phase offset. Additionally, modifying the Recipe."Low Speed"
could necessitate changes to Recipe."Offset Chain Phase Startup mm"
to ensure proper bottle phasing at startup.
// STOP PHASE
IF NOT #Status."Conditions to Run Doser" AND #Status."Doser Enable" AND #Aux."BottleStep_Doser Pulse" THEN
#Aux."Search Angle To Stop" := TRUE;
END_IF;
IF NOT #Status."Conditions to Run Doser" AND #Status."Doser Enable" AND #Aux."Search Angle To Stop" AND #Status."Doser Encoder" > #Recipe."Angle to Start Stop" THEN // #Aux."BottleStep_Doser Pulse" THEN
#Status."Phase Stop Doser" := TRUE;
END_IF;
The phasing of the Electronic Axis:
- First bottle phase:
Recipe."Offset Chain Phase Startup mm"
- This value determines the precise moment to start the doser.
- Production bottle phase:
Recipe.Offset Chain Phase mm
- This value represents the mechanical offset between sensors S50670 (Main chain) and S50740 (Endless screw).
- Correctly stopping the last bottle:
Recipe."Angle to Start Stop"
- This value specifies the angle needed for the endless screw to stop the last bottle correctly.
Control Logic
Start/Stop Conditions
-
Start Requirements:
- Automatic mode enabled
- No active alarms
- SKID conditions met
- Maximum photocell conditions satisfied
- Minimum accumulation met (unless bypassed)
-
Stop Sequence:
- Initiated when run conditions are lost
- Waits for specific angle position
- Controlled ramp-down over 0.5 bottle cycles
Speed Control System
Chain Speed Management
- Three primary speeds:
- Low Speed: < 25% of chain slots filled
- Production Speed: Normal operation
- Over Speed: High accumulation conditions
- Additional Refill Speed mode when replenishing
Speed Synchronization
-
Belt to Chain:
- Direct synchronization with correction factor
- Maintains consistent bottle flow
-
Doser to Chain:
- Phase-locked synchronization
- PID control for phase error correction
- Compensation for acceleration/deceleration
Safety Features
Alarm Conditions
-
Mechanical:
- Chain stretching limits (high/low)
- Motor faults
- Guide position errors
-
Process:
- Jam detection (infeed/outfeed)
- Maximum accumulation timeout
- Fallen bottle detection
-
Operational:
- Phase mismatch
- Missing selector enable
- Motor feedback failures
Emergency Handling
- Immediate stop on safety circuit break
- Controlled stop on process alarms
- Automatic alarm logging and display
Operational Modes
Normal Operation
-
Startup Sequence:
- Initial low speed operation
- Gradual speed increase based on bottle count
- Phase synchronization establishment
-
Running State:
- Dynamic speed adjustment
- Continuous phase monitoring
- Automatic gap control
Special Modes
-
Auto Emptying:
- Triggered by specific conditions
- Bypasses minimum accumulation check
- Controlled evacuation sequence
-
Energy Saving:
- Activates during extended idle periods
- Maintains system readiness
- Quick restart capability
Reference Tables
Alarm Codes
Code | Description | Trigger Condition | Impact |
---|---|---|---|
1 | Main Chain Motor not OK | Motor feedback failure | System stop |
2 | Belt Motor not OK | Belt motor feedback failure | System stop |
3 | Doser Motor not OK | Doser motor feedback failure | System stop |
4 | Chain Exit Sensor Guide Open | Rejector feedback state without expulsion | Warning |
5 | Chain Pulse not OK | Phase sensor malfunction | System stop |
6 | Chain Stretching Position High | Chain piston max sensor activated | System stop |
7 | Chain Stretching Position Low | Chain piston min sensor activated | System stop |
8 | Max Accumulation Timeout | Maximum accumulation timer expired | Production slowdown |
9 | Waiting Infeed Selector Enable | Selector not enabled | Production halt |
10 | Jam Infeed Chain | Jam photocell timer expired | System stop |
11 | Jam Outfeed Chain | Outfeed guide jam timer expired | System stop |
12 | Bottle Fallen Infeed | Bottle fallen sensor activated | Production halt |
Speed Transition Logic
Condition | Speed Mode | Calculation | Purpose |
---|---|---|---|
Bottles < 25% of chain slots | Low Speed | From recipe | Startup/low load |
Normal operation | Production Speed | From recipe | Standard operation |
High accumulation | Over Speed | From recipe | Clear accumulation |
Refilling needed | Refill Speed | From recipe | System refill |
Motor Speed Relationships
Motor | Base Speed | Correction Factor | Additional Control |
---|---|---|---|
Main Chain (M34) | Recipe defined | None | Dynamic based on conditions |
Belt (M35) | Chain speed | K correction Belt % | None |
Doser (M32) | Chain speed × Ratio | K correction Doser % | PID phase control |
Timer Settings
Function | Timer | ON Condition | Purpose |
---|---|---|---|
Min Accumulation | Timer[1] | Min sensor active | Start permission |
Max Accumulation | Timer[2] | Max sensor active | Speed control |
Low Speed | Timer[3] | Low speed sensor | Speed adjustment |
High Speed | Timer[4] | High speed sensor | Speed adjustment |
Jam Detection | Timer[5] | Jam photocell | Safety monitoring |
Outfeed Jam | Timer[6] | Guide jam condition | Safety monitoring |
Auto Emptying | Timer[7] | Auto empty conditions | Mode control |
Energy Saving | Timer[8] | Energy save conditions | Mode control |
SIDEL Communication
The customer requested that communication be handled via TRCV/TSEND. We've set up an example PLC in the project with data to be transferred. This data needs on-site control based on what the filler/transport can send or receive.
The communication is managed by FC601, which reads from and writes to DB601/DB602.
!Pasted image 20250115150555.png !Pasted image 20250115150605.png