Learn PLCs free
Intermediate20 min readMaterial Handling

Eaton Structured Text for Conveyor Systems

Learn Structured Text programming for Conveyor Systems using Eaton XSoft-CoDeSys-3 / easySoft. Includes code examples, best practices, and step-by-step implementation guide for Material Handling applications.

πŸ’»
Platform
XSoft-CoDeSys-3 / easySoft
πŸ“Š
Complexity
Beginner to Intermediate
⏱️
Project Duration
1-3 weeks

Learning to implement Structured Text for Conveyor Systems using Eaton's XSoft-CoDeSys-3 / easySoft is an essential skill for PLC programmers working in Material Handling. This comprehensive guide walks you through the fundamentals, providing clear explanations and practical examples that you can apply immediately to real-world projects.

Eaton has established itself as Moderate - Strong in electrical / panel-builder and OEM markets, making it a strategic choice for Conveyor Systems applications. With 2% global market share and 5 popular PLC families including the easyE4 and XC-100, Eaton provides the robust platform needed for beginner to intermediate complexity projects like Conveyor Systems.

The Structured Text approach is particularly well-suited for Conveyor Systems because complex calculations, data manipulation, advanced control algorithms, and when code reusability is important. This combination allows you to leverage powerful for complex logic while managing the typical challenges of Conveyor Systems, including product tracking and speed synchronization.

Throughout this guide, you'll discover step-by-step implementation strategies, working code examples tested on XSoft-CoDeSys-3 / easySoft, and industry best practices specific to Material Handling. Whether you're programming your first Conveyor Systems system or transitioning from another PLC platform, this guide provides the practical knowledge you need to succeed with Eaton Structured Text programming.

Eaton XSoft-CoDeSys-3 / easySoft for Conveyor Systems

Eaton's PLC software portfolio is centred on two tools. XSoft-CoDeSys-3 is the main IDE for the XC-100, XC-152, XC-202, and XC-303 controllers β€” a direct Codesys-based environment supporting all five IEC 61131-3 languages. easySoft is the simpler, form-based tool for the easyE4 smart-relay range, used primarily for machine lighting, pump control, small HVAC, and building automation projects where a full PLC is overkill. The Eaton range inherits from the Moeller heritage (Moeller was acquired by ...

Platform Strengths for Conveyor Systems:

  • Codesys-based IEC 61131-3 workflow

  • easyE4 smart relay is a popular entry-level product

  • Strong integration with Eaton VFDs and HMIs

  • Broad product range from micro to mid-tier


Unique ${brand.software} Features:

  • Codesys-based IEC 61131-3 in XSoft-CoDeSys-3

  • easySoft form-based programming for easyE4 smart relays

  • Strong integration with Eaton VFDs, soft starters, and HMI

  • Broad global distributor network through Eaton electrical


Key Capabilities:

The XSoft-CoDeSys-3 / easySoft environment excels at Conveyor Systems applications through its codesys-based iec 61131-3 workflow. This is particularly valuable when working with the 5 sensor types typically found in Conveyor Systems systems, including Photoelectric sensors, Proximity sensors, Encoders.

Control Equipment for Conveyor Systems:

  • Belt conveyors with motor-driven pulleys

  • Roller conveyors (powered and gravity)

  • Modular plastic belt conveyors

  • Accumulation conveyors (zero-pressure, minimum-pressure)


Eaton's controller families for Conveyor Systems include:

  • easyE4: Suitable for beginner to intermediate Conveyor Systems applications

  • XC-100: Suitable for beginner to intermediate Conveyor Systems applications

  • XC-152: Suitable for beginner to intermediate Conveyor Systems applications

  • XC-202: Suitable for beginner to intermediate Conveyor Systems applications

Hardware Selection Guidance:

CPU selection on Eaton starts at easyE4 for the smallest applications (binary logic, simple timers and counters, 12 I/O base), moves through XC-100 and XC-152 for entry-level Codesys projects with small I/O counts, XC-202 for mid-range process machinery, and XC-303 for complex process and discrete control. Selection depends on programming complexity, fieldbus requirements, and whether HMI is embed...

Industry Recognition:

Moderate - Strong in electrical / panel-builder and OEM markets. Eaton's PLC presence in automotive is modest relative to Siemens or Rockwell but covers sub-system control β€” lighting, door-closer automation in assembly plants, cooling fan control, and electrical panel-builder automation. Tier-3 automotive suppliers and regional panel builders use Eaton XC-series ...

Investment Considerations:

With $$ pricing, Eaton positions itself in the mid-range segment. For Conveyor Systems projects requiring beginner skill levels and 1-3 weeks development time, the total investment includes hardware, software licensing, training, and ongoing support.

Understanding Structured Text for Conveyor Systems

Structured Text (ST) is a high-level, text-based programming language defined in IEC 61131-3. It resembles Pascal and provides powerful constructs for complex algorithms, calculations, and data manipulation.

Execution Model:

Code executes sequentially from top to bottom within each program unit. Variables maintain state between scan cycles unless explicitly reset.

Core Advantages for Conveyor Systems:

  • Powerful for complex logic: Critical for Conveyor Systems when handling beginner to intermediate control logic

  • Excellent code reusability: Critical for Conveyor Systems when handling beginner to intermediate control logic

  • Compact code representation: Critical for Conveyor Systems when handling beginner to intermediate control logic

  • Good for algorithms and calculations: Critical for Conveyor Systems when handling beginner to intermediate control logic

  • Familiar to software developers: Critical for Conveyor Systems when handling beginner to intermediate control logic


Why Structured Text Fits Conveyor Systems:

Conveyor Systems systems in Material Handling typically involve:

  • Sensors: Photoelectric sensors for product detection and zone occupancy, Proximity sensors for metal product detection, Encoders for speed feedback and position tracking

  • Actuators: AC motors with VFDs for variable speed control, Motor starters for fixed-speed sections, Pneumatic diverters and pushers for sorting

  • Complexity: Beginner to Intermediate with challenges including Maintaining product tracking through merges and diverters


Programming Fundamentals in Structured Text:

Variables:
- declaration: VAR / VAR_INPUT / VAR_OUTPUT / VAR_IN_OUT / VAR_GLOBAL sections
- initialization: Variables can be initialized at declaration: Counter : INT := 0;
- constants: VAR CONSTANT section for read-only values

Operators:
- arithmetic: + - * / MOD (modulo)
- comparison: = <> < > <= >=
- logical: AND OR XOR NOT

ControlStructures:
- if: IF condition THEN statements; ELSIF condition THEN statements; ELSE statements; END_IF;
- case: CASE selector OF value1: statements; value2: statements; ELSE statements; END_CASE;
- for: FOR index := start TO end BY step DO statements; END_FOR;

Best Practices for Structured Text:

  • Use meaningful variable names with consistent naming conventions

  • Initialize all variables at declaration to prevent undefined behavior

  • Use enumerated types for state machines instead of magic numbers

  • Break complex expressions into intermediate variables for readability

  • Use functions for reusable calculations and function blocks for stateful operations


Common Mistakes to Avoid:

  • Using = instead of := for assignment (= is comparison)

  • Forgetting semicolons at end of statements

  • Integer division truncation - use REAL for decimal results

  • Infinite loops from incorrect WHILE/REPEAT conditions


Typical Applications:

1. PID control: Directly applicable to Conveyor Systems
2. Recipe management: Related control patterns
3. Statistical calculations: Related control patterns
4. Data logging: Related control patterns

Understanding these fundamentals prepares you to implement effective Structured Text solutions for Conveyor Systems using Eaton XSoft-CoDeSys-3 / easySoft.

Implementing Conveyor Systems with Structured Text

Conveyor control systems manage the movement of materials through manufacturing and distribution facilities. PLCs coordinate multiple conveyor sections, handle product tracking, manage zones and accumulation, and interface with other automated equipment.

This walkthrough demonstrates practical implementation using Eaton XSoft-CoDeSys-3 / easySoft and Structured Text programming.

System Requirements:

A typical Conveyor Systems implementation includes:

Input Devices (Sensors):
1. Photoelectric sensors for product detection and zone occupancy: Critical for monitoring system state
2. Proximity sensors for metal product detection: Critical for monitoring system state
3. Encoders for speed feedback and position tracking: Critical for monitoring system state
4. Barcode readers and RFID scanners for product identification: Critical for monitoring system state
5. Weight scales for product verification: Critical for monitoring system state

Output Devices (Actuators):
1. AC motors with VFDs for variable speed control: Primary control output
2. Motor starters for fixed-speed sections: Supporting control function
3. Pneumatic diverters and pushers for sorting: Supporting control function
4. Servo drives for precision positioning: Supporting control function
5. Brake modules for controlled stops: Supporting control function

Control Equipment:

  • Belt conveyors with motor-driven pulleys

  • Roller conveyors (powered and gravity)

  • Modular plastic belt conveyors

  • Accumulation conveyors (zero-pressure, minimum-pressure)


Control Strategies for Conveyor Systems:

1. Primary Control: Automated material handling using conveyor belts with PLC control for sorting, routing, and tracking products.
2. Safety Interlocks: Preventing Product tracking
3. Error Recovery: Handling Speed synchronization

Implementation Steps:

Step 1: Map conveyor layout with all zones, sensors, and motor locations

In XSoft-CoDeSys-3 / easySoft, map conveyor layout with all zones, sensors, and motor locations.

Step 2: Define product types, sizes, weights, and handling requirements

In XSoft-CoDeSys-3 / easySoft, define product types, sizes, weights, and handling requirements.

Step 3: Create tracking data structure with product ID, location, and destination

In XSoft-CoDeSys-3 / easySoft, create tracking data structure with product id, location, and destination.

Step 4: Implement zone control logic with proper handshaking between zones

In XSoft-CoDeSys-3 / easySoft, implement zone control logic with proper handshaking between zones.

Step 5: Add product tracking using sensor events and encoder feedback

In XSoft-CoDeSys-3 / easySoft, add product tracking using sensor events and encoder feedback.

Step 6: Program diverter/sorter logic based on product routing data

In XSoft-CoDeSys-3 / easySoft, program diverter/sorter logic based on product routing data.


Eaton Function Design:

Eaton projects typically build atop Codesys's standard FB libraries (timers, counters, PID, motion) plus Eaton-specific libraries for SmartWire-DT device control and easyE4 smart-relay integration. OEMs often maintain private function-block libraries for their machine families. Code reuse practices mirror mainstream Codesys conventions; OOP extensions are available but not heavily adopted.

Common Challenges and Solutions:

1. Maintaining product tracking through merges and diverters

  • Solution: Structured Text addresses this through Powerful for complex logic.


2. Handling products of varying sizes and weights

  • Solution: Structured Text addresses this through Excellent code reusability.


3. Preventing jams at transitions and merge points

  • Solution: Structured Text addresses this through Compact code representation.


4. Coordinating speeds between connected conveyors

  • Solution: Structured Text addresses this through Good for algorithms and calculations.


Safety Considerations:

  • E-stop functionality with proper zone isolation

  • Pull-cord emergency stops along conveyor length

  • Guard interlocking at all pinch points

  • Speed monitoring to prevent runaway conditions

  • Light curtains at operator access points


Performance Metrics:

  • Scan Time: Optimize for 5 inputs and 5 outputs

  • Memory Usage: Efficient data structures for easyE4 capabilities

  • Response Time: Meeting Material Handling requirements for Conveyor Systems

Eaton Diagnostic Tools:

XSoft-CoDeSys-3 integrated debugger with breakpoints, watch, and trace,easySoft project simulator for easyE4 logic development without hardware,CoDeSys trace buffer β€” capture variable histories during live operation,XSoft-CoDeSys-3 network analyzer for EtherCAT and PROFINET fieldbus diagnostics,Online parameter comparison between development PC and running controller,easyE4 webserver interface β€” remote status view from any browser,SmartWire-DT diagnostics for Eaton's own device-level network,Modbus TCP protocol analyzer built into XSoft-CoDeSys-3,Controller self-diagnostics via LED codes (standard Codesys behaviour),Eaton Automation Portal online documentation and firmware archive

Eaton's XSoft-CoDeSys-3 / easySoft provides tools for performance monitoring and optimization, essential for achieving the 1-3 weeks development timeline while maintaining code quality.

Eaton Structured Text Example for Conveyor Systems

Complete working example demonstrating Structured Text implementation for Conveyor Systems using Eaton XSoft-CoDeSys-3 / easySoft. Follows Eaton naming conventions. Tested on easyE4 hardware.

(* Eaton XSoft-CoDeSys-3 / easySoft - Conveyor Systems Control *)
(* Structured Text Implementation for Material Handling *)
(* Eaton Codesys projects follow IEC 61131-3 conventions β€” camelCase for  *)

PROGRAM PRG_CONVEYOR_SYSTEMS_Control

VAR
    (* State Machine Variables *)
    eState : E_CONVEYOR_SYSTEMS_States := IDLE;
    bEnable : BOOL := FALSE;
    bFaultActive : BOOL := FALSE;

    (* Timers *)
    tonDebounce : TON;
    tonProcessTimeout : TON;
    tonFeedbackCheck : TON;

    (* Counters *)
    ctuCycleCounter : CTU;

    (* Process Variables *)
    rPhotoelectricsensors : REAL := 0.0;
    rACDCmotors : REAL := 0.0;
    rSetpoint : REAL := 100.0;
END_VAR

VAR CONSTANT
    (* Material Handling Process Parameters *)
    C_DEBOUNCE_TIME : TIME := T#500MS;
    C_PROCESS_TIMEOUT : TIME := T#30S;
    C_BATCH_SIZE : INT := 50;
END_VAR

(* Input Conditioning *)
tonDebounce(IN := bStartButton, PT := C_DEBOUNCE_TIME);
bEnable := tonDebounce.Q AND NOT bEmergencyStop AND bSafetyOK;

(* Main State Machine - Pattern: State machines on Eaton controllers are  *)
CASE eState OF
    IDLE:
        rACDCmotors := 0.0;
        ctuCycleCounter(RESET := TRUE);
        IF bEnable AND rPhotoelectricsensors > 0.0 THEN
            eState := STARTING;
        END_IF;

    STARTING:
        (* Ramp up output - Gradual start *)
        rACDCmotors := MIN(rACDCmotors + 5.0, rSetpoint);
        IF rACDCmotors >= rSetpoint THEN
            eState := RUNNING;
        END_IF;

    RUNNING:
        (* Conveyor Systems active - Conveyor control systems manage the movement of ma *)
        tonProcessTimeout(IN := TRUE, PT := C_PROCESS_TIMEOUT);
        ctuCycleCounter(CU := bCyclePulse, PV := C_BATCH_SIZE);

        IF ctuCycleCounter.Q THEN
            eState := COMPLETE;
        ELSIF tonProcessTimeout.Q THEN
            bFaultActive := TRUE;
            eState := FAULT;
        END_IF;

    COMPLETE:
        rACDCmotors := 0.0;
        (* Log production data - Data logging patterns range from simple CSV append via Codesys file-IO FBs to networked SQL writes via OPC UA or MQTT. The easyE4 webserver provides basic data-export functionality for small-scale monitoring. For serious logging, XC-303 controllers with SD-card storage and SCADA integration are typical. *)
        eState := IDLE;

    FAULT:
        rACDCmotors := 0.0;
        (* Alarm handling on XC-series controllers typically uses custom FB-based alarm managers that write timestamped events to a buffer, with optional logging to SD card or networked databases. For easyE4, alarm-like behaviour is implemented by setting output bits tied to HMI indicators or SMS-notification via the optional WiFi/cellular module. Engineers wanting richer alarm handling typically move to XC. *)
        IF bFaultReset AND NOT bEmergencyStop THEN
            bFaultActive := FALSE;
            eState := IDLE;
        END_IF;
END_CASE;

(* Safety Override - Always executes *)
IF bEmergencyStop OR NOT bSafetyOK THEN
    rACDCmotors := 0.0;
    eState := FAULT;
    bFaultActive := TRUE;
END_IF;

END_PROGRAM

Code Explanation:

  • 1.Enumerated state machine (State machines on Eaton controllers are most commonly implemented as CASE-of-INT in ST with named state constants, or via CFC (Continuous Function Chart) for visual representation. For complex sequencing, IEC SFC is supported. easyE4 applications rarely implement full state machines; they use block-level logic for simpler sequencing patterns.) for clear Conveyor Systems sequence control
  • 2.Constants define Material Handling-specific parameters: cycle time 30s, batch size
  • 3.Input conditioning with debounce timer prevents false triggers in industrial environment
  • 4.STARTING state implements soft-start ramp - prevents mechanical shock
  • 5.Process timeout detection identifies stuck conditions - critical for reliability
  • 6.Safety override section executes regardless of state - Eaton best practice for beginner to intermediate systems

Best Practices

  • βœ“Follow Eaton naming conventions: Eaton Codesys projects follow IEC 61131-3 conventions β€” camelCase for variables,
  • βœ“Eaton function design: Eaton projects typically build atop Codesys's standard FB libraries (timers, cou
  • βœ“Data organization: Codesys-based Eaton projects use IEC 61131-3 global variable lists and PROGRAM V
  • βœ“Structured Text: Use meaningful variable names with consistent naming conventions
  • βœ“Structured Text: Initialize all variables at declaration to prevent undefined behavior
  • βœ“Structured Text: Use enumerated types for state machines instead of magic numbers
  • βœ“Conveyor Systems: Use rising edge detection for sensor events, not level
  • βœ“Conveyor Systems: Implement proper debouncing for mechanical sensors
  • βœ“Conveyor Systems: Add gap checking before merges to prevent collisions
  • βœ“Debug with XSoft-CoDeSys-3 / easySoft: Use XSoft-CoDeSys-3 online monitoring with trace buffers rather than p
  • βœ“Safety: E-stop functionality with proper zone isolation
  • βœ“Use XSoft-CoDeSys-3 / easySoft simulation tools to test Conveyor Systems logic before deployment

Common Pitfalls to Avoid

  • ⚠Structured Text: Using = instead of := for assignment (= is comparison)
  • ⚠Structured Text: Forgetting semicolons at end of statements
  • ⚠Structured Text: Integer division truncation - use REAL for decimal results
  • ⚠Eaton common error: Codesys V3 vs V2 project incompatibility for engineers migrating from legacy Moe
  • ⚠Conveyor Systems: Maintaining product tracking through merges and diverters
  • ⚠Conveyor Systems: Handling products of varying sizes and weights
  • ⚠Neglecting to validate Photoelectric sensors for product detection and zone occupancy leads to control errors
  • ⚠Insufficient comments make Structured Text programs unmaintainable over time

Related Certifications

πŸ†Eaton Automation Certified Specialist
πŸ†Codesys-based programming certifications
πŸ†Advanced Eaton Programming Certification

Mastering Structured Text for Conveyor Systems applications using Eaton XSoft-CoDeSys-3 / easySoft requires understanding both the platform's capabilities and the specific demands of Material Handling. This guide has provided comprehensive coverage of implementation strategies, working code examples, best practices, and common pitfalls to help you succeed with beginner to intermediate Conveyor Systems projects.

Eaton's 2% market share and moderate - strong in electrical / panel-builder and oem markets demonstrate the platform's capability for demanding applications. The platform excels in Material Handling applications where Conveyor Systems reliability is critical.

By following the practices outlined in this guideβ€”from proper program structure and Structured Text best practices to Eaton-specific optimizationsβ€”you can deliver reliable Conveyor Systems systems that meet Material Handling requirements.

Next Steps for Professional Development:

1. Certification: Pursue Eaton Automation Certified Specialist to validate your Eaton expertise
2. Advanced Training: Consider Codesys-based programming certifications for specialized Material Handling applications
3. Hands-on Practice: Build Conveyor Systems projects using easyE4 hardware
4. Stay Current: Follow XSoft-CoDeSys-3 / easySoft updates and new Structured Text features

Structured Text Foundation:

Structured Text (ST) is a high-level, text-based programming language defined in IEC 61131-3. It resembles Pascal and provides powerful constructs for...

The 1-3 weeks typical timeline for Conveyor Systems projects will decrease as you gain experience with these patterns and techniques. Remember: Use rising edge detection for sensor events, not level

For further learning, explore related topics including Recipe management, Warehouse distribution, and Eaton platform-specific features for Conveyor Systems optimization.