6.7 KiB
6.7 KiB
Plant Overview
The system operates in a manufacturing plant where:
- ALPLA: Bottle manufacturing (blow molding)
- HENKEL: Bottle filling operations
- AUTEFA: Empty bottle storage logistics
- Vetromeccanica: Bottle conveyor system and inter-system communications hub
System Architecture
graph TD
subgraph "Line N"
Q1[Q1 PLC] --> Q2[Q2 PLC]
Q1 --> Q3[Q3 PLC]
Q1 --> Q4[Q4 PLC]
Q1 <--> H[Henkel]
end
subgraph "Supervisor PLC"
S[Supervisor]
end
Q1 <--> S
S <--> AU[AUTEFA]
S <--> AL[ALPLA]
PLC Distribution
- Q1 PLCs: Main line controller, interfaces with Henkel and other line PLCs
- Q2-Q4 PLCs: Secondary line controllers for conveyor sections
- Supervisor PLC: Central system managing communications with ALPLA and AUTEFA
Batch Identification System
ID Types and Formats
-
HENKEL System
- PO_NUMBER: 12-char Production Order number
- IDH_BTL: 12-char Article Number (bottle specifications)
- IDH_CON: Container specifications
-
ALPLA System
- CustomArticleNum: 12-char identifier
- Article Variant (AV): Numeric ID
- Product Family: Numeric ID for recipe selection
-
AUTEFA System
- Uses ALPLA's Article Variant (AV) ID
ID Conversion Process
graph LR
A[Henkel IDH_BTL] -->|Q1 Processing- Ask Supervisor| B[CustomArticleNum/FamilyNumber - Vetro Recipe Number]
B -->|Supervisor Search on ALPLA OPC Table| C[ALPLA SKU]
C -->|Extract| D[Article Variant ID]
D -->|TG10 Telegram| E[AUTEFA]
Data Flow Details
1. Q1 PLC (Client) Functions
- Receives data from Henkel in Data_From_EbConvey[0-49] array
- Performs byte-swapping based on data type:
CASE index OF 0, 10, 20, 35..40, 44..49: // Control words & IDs // 4-byte swap ELSE: // 2-byte word swap END_CASE;
2. Supervisor PLC (Server) Functions
- Manages SKU database (AlplaSkuList)
- Performs ID conversions and validations
- Handles AUTEFA telegram communications
- Provides OPC-UA interface for ALPLA
Batch Management
Data Location in HENKEL Array
Current Batch (AB):
- PO_NUMBER: di[44-46]
- IDH_BTL: di[35-37]
Next Batch (NB):
- PO_NUMBER: di[47-49]
- IDH_BTL: di[38-40]
Next+1 Batch:
- PO_NUMBER: di[1-3]
- IDH_BTL: di[7-9]
- IDH_CON: di[4-6]
Identifier Explanations
Prefix | Meaning | Usage |
---|---|---|
AB | Actual Batch | Current production batch being processed |
NB | Next Batch | Next scheduled production batch |
IDH | Internal Henkel ID | Unique identifier used by HENKEL |
BTL | Bottle | Relates to bottle specifications |
CON | Container | Relates to container specifications |
PO | Production Order | Order number for batch tracking |
PO_NUMBER : Batch IDH_CON ( 12 char ) IDH_BTL : Article Number ( 12 char )
ACTUAL | NEXT | NEXT + 1 | ||||
---|---|---|---|---|---|---|
PO_NUMBER | Batch IDH_CON | 44-46 | 47-49 | 1-3 | ||
IDH_BTL | Batch Article Number | 35-37 | 38-40 | 7-9 | ||
IDH_CON | 4-6 |
AUTEFA Telegram System
-
TG10 - Production Info
- Sends current and next batch information
- Includes Article Variant IDs and batch targets
-
TG20/21 - Line Change Request
- Used for tray loader assignment changes
- Includes validation of product compatibility
-
TG40 - Speed Updates
- Line speed synchronization
- Values from 0-100 in steps of 10
Each telegram type (TG10, TG20, etc.) has three associated control bits:
- Trigger_TGxx
- Purpose: Initiates sending of new telegram
- Usage: Set when new data needs to be transmitted
- Example:
Trigger_TG10
set when batch information changes
- TT_TGxx (Test Trigger)
- Purpose: Manual testing of telegram transmission
- Usage: Can be set from HMI for testing communications
- Example:
TT_TG10
for testing production info transmission
- KT_TGxx (Kill Trigger)
- Purpose: Cancels pending telegram transmission
- Usage: Set to stop telegram from being sent
- Example:
KT_TG10
to cancel production info update
SKU Search Process
// In Supervisor PLC
FOR #i := 0 TO 249 DO
IF LineN[line].ReqActualCustomProdNum =
AlplaSkuList[#i].CustomArticleNum THEN
// Store complete SKU info
LineN[line].SkuActualReq := AlplaSkuList[#i];
// Mark search complete
LineN[line].SearchActualSku := FALSE;
EXIT;
END_IF;
END_FOR;
Line Indexing System
The system uses a consistent line indexing system across all communications:
Index | Configuration | Line Reference |
---|---|---|
0 | Fill_TL21_L23 | Line 23 |
1 | Fill_TL22_L25 | Line 25 |
2 | Fill_TL23_L43 | Line 43 |
3 | Fill_TL25_L41 | Line 41 |
4 | Fill_TL26_L42 | Line 42 |
5 | Fill_TL27_L40 | Line 40 |
Change Management Process
-
Batch Change Initiation
- HENKEL sends "CalculatedBottlesRemainingToFill" = 0
- Line clearance verification process starts
-
Change Execution
- Q1 initiates emptying sequence
- Supervisor coordinates with AUTEFA
- New batch parameters loaded after confirmation
-
Production Resume
- System waits for all confirmations
- New batch counters initialized
- Production flow resumes
Error Handling
-
Communication Timeouts
- 60-second threshold for Q1-Henkel communication
- Automatic reconnection attempts
-
SKU Validation
- Not found conditions trigger warnings
- Invalid format handling
- Automatic zero-padding for string fields
-
Batch Change Safety
- Multiple confirmation requirements
- Line status verification
- Product compatibility checks
NEXT2 Batch Information (New Implementation)
Position From Henkel | Data Type | Processing | Description |
---|---|---|---|
di[1]-di[3] | SINT | Direct transfer | Production Order Number for second next batch (PO_NUMBER_NEXT2) |
di[4]-di[6] | SINT | Direct transfer | Container ID for second next batch (IDH_CON_NEXT2) |
di[7]-di[9] | SINT | Direct transfer | Bottle ID for second next batch (IDH_BTL_NEXT2) |