Obsidean_VM/04-InLavoro/HENKEL/93040 - HENKEL - BowlingGreen/Description/HENKEL - ALPLA - AUTEFA - B.../HENKEL - ALPLA - AUTEFA - D...

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

  1. HENKEL System

    • PO_NUMBER: 12-char Production Order number
    • IDH_BTL: 12-char Article Number (bottle specifications)
    • IDH_CON: Container specifications
  2. ALPLA System

    • CustomArticleNum: 12-char identifier
    • Article Variant (AV): Numeric ID
    • Product Family: Numeric ID for recipe selection
  3. 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

  1. TG10 - Production Info

    • Sends current and next batch information
    • Includes Article Variant IDs and batch targets
  2. TG20/21 - Line Change Request

    • Used for tray loader assignment changes
    • Includes validation of product compatibility
  3. 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:

  1. 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
  2. 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
  3. 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

  1. Batch Change Initiation

    • HENKEL sends "CalculatedBottlesRemainingToFill" = 0
    • Line clearance verification process starts
  2. Change Execution

    • Q1 initiates emptying sequence
    • Supervisor coordinates with AUTEFA
    • New batch parameters loaded after confirmation
  3. Production Resume

    • System waits for all confirmations
    • New batch counters initialized
    • Production flow resumes

Error Handling

  1. Communication Timeouts

    • 60-second threshold for Q1-Henkel communication
    • Automatic reconnection attempts
  2. SKU Validation

    • Not found conditions trigger warnings
    • Invalid format handling
    • Automatic zero-padding for string fields
  3. 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)