Learn PLCs free
Intermediate25 min readPackaging

Unitronics Structured Text for Bottle Filling

Learn Structured Text programming for Bottle Filling using Unitronics VisiLogic / UniLogic. Includes code examples, best practices, and step-by-step implementation guide for Packaging applications.

πŸ’»
Platform
VisiLogic / UniLogic
πŸ“Š
Complexity
Intermediate to Advanced
⏱️
Project Duration
3-6 weeks

Implementing Structured Text for Bottle Filling using Unitronics VisiLogic / UniLogic requires translating theory into working code that performs reliably in production. This hands-on guide focuses on practical implementation steps, real code examples, and the pragmatic decisions that make the difference between successful and problematic Bottle Filling deployments.

Unitronics's platform serves Moderate - US small-integrator market, OEM machines, building automation, providing the proven foundation for Bottle Filling implementations. The VisiLogic / UniLogic environment supports 3 programming languages, with Structured Text being particularly effective for Bottle Filling because complex calculations, data manipulation, advanced control algorithms, and when code reusability is important. Practical implementation requires understanding not just language syntax, but how Unitronics's execution model handles 5 sensor inputs and 5 actuator outputs in real-time.

Real Bottle Filling projects in Packaging face practical challenges including precise fill volume, high-speed operation, and integration with existing systems. Success requires balancing powerful for complex logic against steeper learning curve, while meeting 3-6 weeks project timelines typical for Bottle Filling implementations.

This guide provides step-by-step implementation guidance, complete working examples tested on Jazz 2, practical design patterns, and real-world troubleshooting scenarios. You'll learn the pragmatic approaches that experienced integrators use to deliver reliable Bottle Filling systems on schedule and within budget.

Unitronics VisiLogic / UniLogic for Bottle Filling

Unitronics takes a distinctive approach to PLC programming: every controller ships with an integrated colour touchscreen HMI, and the development tool handles PLC logic and HMI design in a single workspace. VisiLogic is the legacy tool for the Vision, Samba, and Jazz product families; UniLogic is the current-generation environment for the UniStream line. Both are free to download and include a complete built-in simulator covering PLC logic, HMI screens, alarms, recipes, and data tables β€” the sim...

Platform Strengths for Bottle Filling:

  • Combined PLC + HMI in one unit reduces panel cost

  • Free VisiLogic and UniLogic IDEs

  • Built-in simulator with both PLC and HMI simulation

  • Strong US small-integrator community


Unique ${brand.software} Features:

  • Combined PLC + HMI in one unit across Jazz, Samba, Vision, and UniStream

  • Free VisiLogic (legacy) and UniLogic (current) IDEs

  • Built-in simulator covering PLC logic, HMI, alarms, data tables, and recipes

  • Integrated data sampling and trend logging without separate SCADA


Key Capabilities:

The VisiLogic / UniLogic environment excels at Bottle Filling applications through its combined plc + hmi in one unit reduces panel cost. This is particularly valuable when working with the 5 sensor types typically found in Bottle Filling systems, including Level sensors, Flow meters, Pressure sensors.

Control Equipment for Bottle Filling:

  • Filling nozzles (gravity, pressure, vacuum)

  • Product tanks with level control

  • CIP (clean-in-place) systems

  • Cap feeding and sorting equipment


Unitronics's controller families for Bottle Filling include:

  • Jazz 2: Suitable for intermediate to advanced Bottle Filling applications

  • Samba 7": Suitable for intermediate to advanced Bottle Filling applications

  • Vision V350: Suitable for intermediate to advanced Bottle Filling applications

  • Vision V570: Suitable for intermediate to advanced Bottle Filling applications

Hardware Selection Guidance:

CPU selection across Unitronics ranges from the Jazz 2 micro series (tiny applications, basic motor control, simple process monitoring with 10-20 I/O) through Samba 7" (small machine control with touchscreen HMI), Vision V350/V570 (medium machinery with larger HMI), and UniStream 7" / 15.6" (flagship combined PLC+HMI for mid-to-high complexity applications with advanced features like UniCloud, cel...

Industry Recognition:

Moderate - US small-integrator market, OEM machines, building automation. Unitronics' combined PLC+HMI controllers are uncommon in high-volume automotive manufacturing but appear in automotive tier-2 and tier-3 supplier shops, single-machine workcells, and after-market test fixtures. The cost advantage and single-unit PLC+HMI approach makes Unitronics attractive for small...

Investment Considerations:

With $$ pricing, Unitronics positions itself in the mid-range segment. For Bottle Filling projects requiring advanced skill levels and 3-6 weeks development time, the total investment includes hardware, software licensing, training, and ongoing support.

Understanding Structured Text for Bottle Filling

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 Bottle Filling:

  • Powerful for complex logic: Critical for Bottle Filling when handling intermediate to advanced control logic

  • Excellent code reusability: Critical for Bottle Filling when handling intermediate to advanced control logic

  • Compact code representation: Critical for Bottle Filling when handling intermediate to advanced control logic

  • Good for algorithms and calculations: Critical for Bottle Filling when handling intermediate to advanced control logic

  • Familiar to software developers: Critical for Bottle Filling when handling intermediate to advanced control logic


Why Structured Text Fits Bottle Filling:

Bottle Filling systems in Packaging typically involve:

  • Sensors: Bottle presence sensors (fiber optic or inductive) for container detection, Level sensors (capacitive, ultrasonic, or optical) for fill detection, Load cells for gravimetric (weight-based) filling

  • Actuators: Servo-driven filling valves for precise flow control, Pneumatic pinch valves for on/off flow control, Bottle handling star wheels and timing screws

  • Complexity: Intermediate to Advanced with challenges including Preventing dripping and stringing after fill cutoff


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 Bottle Filling
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 Bottle Filling using Unitronics VisiLogic / UniLogic.

Implementing Bottle Filling with Structured Text

Bottle filling control systems manage the precise dispensing of liquids into containers at high speeds while maintaining accuracy and preventing spillage. PLCs coordinate container handling, fill control, capping, and quality inspection in an integrated packaging line.

This walkthrough demonstrates practical implementation using Unitronics VisiLogic / UniLogic and Structured Text programming.

System Requirements:

A typical Bottle Filling implementation includes:

Input Devices (Sensors):
1. Bottle presence sensors (fiber optic or inductive) for container detection: Critical for monitoring system state
2. Level sensors (capacitive, ultrasonic, or optical) for fill detection: Critical for monitoring system state
3. Load cells for gravimetric (weight-based) filling: Critical for monitoring system state
4. Flow meters (magnetic or mass flow) for volumetric filling: Critical for monitoring system state
5. Encoder feedback for rotary filler position: Critical for monitoring system state

Output Devices (Actuators):
1. Servo-driven filling valves for precise flow control: Primary control output
2. Pneumatic pinch valves for on/off flow control: Supporting control function
3. Bottle handling star wheels and timing screws: Supporting control function
4. Capping chuck drives (servo or pneumatic): Supporting control function
5. Torque limiters for cap tightening: Supporting control function

Control Equipment:

  • Filling nozzles (gravity, pressure, vacuum)

  • Product tanks with level control

  • CIP (clean-in-place) systems

  • Cap feeding and sorting equipment


Control Strategies for Bottle Filling:

1. Primary Control: Automated bottle filling and capping systems using PLCs for precise volume control, speed optimization, and quality assurance.
2. Safety Interlocks: Preventing Precise fill volume
3. Error Recovery: Handling High-speed operation

Implementation Steps:

Step 1: Characterize product flow properties (viscosity, foaming, temperature sensitivity)

In VisiLogic / UniLogic, characterize product flow properties (viscosity, foaming, temperature sensitivity).

Step 2: Determine fill method based on accuracy requirements and product type

In VisiLogic / UniLogic, determine fill method based on accuracy requirements and product type.

Step 3: Design container handling for smooth, jam-free operation

In VisiLogic / UniLogic, design container handling for smooth, jam-free operation.

Step 4: Implement fill sequence with proper valve timing and deceleration

In VisiLogic / UniLogic, implement fill sequence with proper valve timing and deceleration.

Step 5: Add bulk/dribble transition logic for gravimetric filling

In VisiLogic / UniLogic, add bulk/dribble transition logic for gravimetric filling.

Step 6: Program calibration routines for automatic fill adjustment

In VisiLogic / UniLogic, program calibration routines for automatic fill adjustment.


Unitronics Function Design:

Function block design in Unitronics uses user-defined FBs in UniLogic (more limited in VisiLogic). Extensive vendor-provided helper FBs cover common tasks (PID, motion, communication, HMI utilities). OEM machine builders typically maintain private FB libraries for their common machine patterns, though code reuse is less mature than in mainstream PLC ecosystems.

Common Challenges and Solutions:

1. Preventing dripping and stringing after fill cutoff

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


2. Handling foaming products that give false level readings

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


3. Maintaining accuracy at high speeds

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


4. Synchronizing multi-head rotary fillers

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


Safety Considerations:

  • Guarding around rotating components

  • Interlocked access doors with safe stop

  • Bottle breakage detection and containment

  • Overpressure protection for pressure filling

  • Chemical handling safety for cleaning solutions


Performance Metrics:

  • Scan Time: Optimize for 5 inputs and 5 outputs

  • Memory Usage: Efficient data structures for Jazz 2 capabilities

  • Response Time: Meeting Packaging requirements for Bottle Filling

Unitronics Diagnostic Tools:

UniLogic (current) and VisiLogic (legacy) integrated debuggers with breakpoints,Built-in simulator covering PLC logic, HMI screens, alarms, recipes, and data tables,Web visualisation for UniStream β€” remote HMI viewing without additional software,SD card logging with PC-side export tools for offline trend analysis,Modbus RTU/TCP transaction logging built into the IDE,Controller status monitor β€” CPU load, scan time, memory usage,HMI event logger capturing operator actions for audit purposes,CAN bus diagnostic tools for CANopen-equipped models,Remote support tool β€” Unitronics' own screen-sharing for technical support,User community forum with active troubleshooting discussions

Unitronics's VisiLogic / UniLogic provides tools for performance monitoring and optimization, essential for achieving the 3-6 weeks development timeline while maintaining code quality.

Unitronics Structured Text Example for Bottle Filling

Complete working example demonstrating Structured Text implementation for Bottle Filling using Unitronics VisiLogic / UniLogic. Follows Unitronics naming conventions. Tested on Jazz 2 hardware.

(* Unitronics VisiLogic / UniLogic - Bottle Filling Control *)
(* Structured Text Implementation for Packaging *)
(* Unitronics projects use IDE-managed tag names rather than raw memory a *)

PROGRAM PRG_BOTTLE_FILLING_Control

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

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

    (* Counters *)
    ctuCycleCounter : CTU;

    (* Process Variables *)
    rLevelsensors : REAL := 0.0;
    rServomotors : REAL := 0.0;
    rSetpoint : REAL := 100.0;
END_VAR

VAR CONSTANT
    (* Packaging 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 are commonly implemented  *)
CASE eState OF
    IDLE:
        rServomotors := 0.0;
        ctuCycleCounter(RESET := TRUE);
        IF bEnable AND rLevelsensors > 0.0 THEN
            eState := STARTING;
        END_IF;

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

    RUNNING:
        (* Bottle Filling active - Bottle filling control systems manage the precise  *)
        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:
        rServomotors := 0.0;
        (* Log production data - Data logging uses UniLogic's Data Samplers β€” configured triggers (time-based or event-based) write structured records to Data Tables or SD card in CSV format. Exported files can be pushed via FTP or email. For cloud integration, UniCloud provides managed data ingestion. Simpler VisiLogic projects use HMI-triggered SD writes via custom ladder code. *)
        eState := IDLE;

    FAULT:
        rServomotors := 0.0;
        (* Alarm handling uses UniLogic's built-in Alarm Manager β€” configure alarm conditions in tables with severity, message text, and logging behaviour, and the engine handles detection, acknowledgement, history, and HMI display without custom code. VisiLogic uses a simpler alarm approach via HMI event handlers. *)
        IF bFaultReset AND NOT bEmergencyStop THEN
            bFaultActive := FALSE;
            eState := IDLE;
        END_IF;
END_CASE;

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

END_PROGRAM

Code Explanation:

  • 1.Enumerated state machine (State machines are commonly implemented in ladder with step-counter registers or in ST using CASE structures with named state constants. UniLogic's HMI graphical bindings make state-to-screen visualisation straightforward β€” a single state variable drives both logic and operator screen transitions. SFC is not a primary language on Unitronics; state logic is typically CASE or ladder.) for clear Bottle Filling sequence control
  • 2.Constants define Packaging-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 - Unitronics best practice for intermediate to advanced systems

Best Practices

  • βœ“Follow Unitronics naming conventions: Unitronics projects use IDE-managed tag names rather than raw memory addressing.
  • βœ“Unitronics function design: Function block design in Unitronics uses user-defined FBs in UniLogic (more limi
  • βœ“Data organization: Unitronics uses its own tag database concept rather than IEC-standard data block
  • βœ“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
  • βœ“Bottle Filling: Use minimum 10 readings for statistical fill tracking
  • βœ“Bottle Filling: Implement automatic re-zero of scales at regular intervals
  • βœ“Bottle Filling: Provide separate parameters for each product recipe
  • βœ“Debug with VisiLogic / UniLogic: Use the built-in simulator to reproduce issues before hardware visit
  • βœ“Safety: Guarding around rotating components
  • βœ“Use VisiLogic / UniLogic simulation tools to test Bottle Filling 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
  • ⚠Unitronics common error: VisiLogic-to-UniLogic migration issues β€” not all projects convert cleanly
  • ⚠Bottle Filling: Preventing dripping and stringing after fill cutoff
  • ⚠Bottle Filling: Handling foaming products that give false level readings
  • ⚠Neglecting to validate Bottle presence sensors (fiber optic or inductive) for container detection leads to control errors
  • ⚠Insufficient comments make Structured Text programs unmaintainable over time

Related Certifications

πŸ†Unitronics Certified Integrator
πŸ†UniLogic Developer Training
πŸ†Advanced Unitronics Programming Certification

Mastering Structured Text for Bottle Filling applications using Unitronics VisiLogic / UniLogic requires understanding both the platform's capabilities and the specific demands of Packaging. This guide has provided comprehensive coverage of implementation strategies, working code examples, best practices, and common pitfalls to help you succeed with intermediate to advanced Bottle Filling projects.

Unitronics's 1% market share and moderate - us small-integrator market, oem machines, building automation demonstrate the platform's capability for demanding applications. The platform excels in Packaging applications where Bottle Filling reliability is critical.

By following the practices outlined in this guideβ€”from proper program structure and Structured Text best practices to Unitronics-specific optimizationsβ€”you can deliver reliable Bottle Filling systems that meet Packaging requirements.

Next Steps for Professional Development:

1. Certification: Pursue Unitronics Certified Integrator to validate your Unitronics expertise
2. Advanced Training: Consider UniLogic Developer Training for specialized Packaging applications
3. Hands-on Practice: Build Bottle Filling projects using Jazz 2 hardware
4. Stay Current: Follow VisiLogic / UniLogic 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 3-6 weeks typical timeline for Bottle Filling projects will decrease as you gain experience with these patterns and techniques. Remember: Use minimum 10 readings for statistical fill tracking

For further learning, explore related topics including Recipe management, Pharmaceutical liquid filling, and Unitronics platform-specific features for Bottle Filling optimization.