Learn PLCs free
Intermediate20 min readUniversal

Phoenix Contact Structured Text for Sensor Integration

Learn Structured Text programming for Sensor Integration using Phoenix Contact PLCnext Engineer. Includes code examples, best practices, and step-by-step implementation guide for Universal applications.

πŸ’»
Platform
PLCnext Engineer
πŸ“Š
Complexity
Beginner to Intermediate
⏱️
Project Duration
1-2 weeks

Mastering advanced Structured Text techniques for Sensor Integration in Phoenix Contact's PLCnext Engineer unlocks capabilities beyond basic implementations. This guide explores sophisticated programming patterns, optimization strategies, and advanced features that separate expert Phoenix Contact programmers from intermediate practitioners in Universal applications.

Phoenix Contact's PLCnext Engineer contains powerful advanced features that many programmers never fully utilize. With 3% market share and deployment in demanding applications like environmental monitoring and process measurement, Phoenix Contact has developed advanced capabilities specifically for beginner to intermediate projects requiring powerful for complex logic and excellent code reusability.

Advanced Sensor Integration implementations leverage sophisticated techniques including multi-sensor fusion algorithms, precise actuator timing, and intelligent handling of signal conditioning. When implemented using Structured Text, these capabilities are achieved through complex calculations patterns that exploit Phoenix Contact-specific optimizations.

This guide reveals advanced programming techniques used by expert Phoenix Contact programmers, including custom function blocks, optimized data structures, advanced Structured Text patterns, and PLCnext Engineer-specific features that deliver superior performance. You'll learn implementation strategies that go beyond standard documentation, based on years of practical experience with Sensor Integration systems in production Universal environments.

Phoenix Contact PLCnext Engineer for Sensor Integration

PLCnext Engineer is Phoenix Contact's IDE for the PLCnext Technology platform β€” a family of Linux-based controllers (AXC F 1152, 2152, 3152, and RFC 4072S) that uniquely allow IEC 61131-3 ladder and structured text to coexist with C++, Python, and MATLAB Simulink code in the same project. Released in 2017, PLCnext targets the Industry 4.0 and IIoT segments, with open REST APIs, MQTT support, and first-class integration with cloud platforms. The IDE is free to download and install; runtime licenc...

Platform Strengths for Sensor Integration:

  • Mix IEC ladder/ST with C++ and Python in one project

  • Open Linux runtime on AXC F controllers

  • Strong PROFINET and Industry 4.0 ecosystem

  • Active developer community (PLCnext Community)


Unique ${brand.software} Features:

  • Mix IEC 61131-3 with C++, Python, and MATLAB Simulink in one project

  • Linux-based open runtime on AXC F controllers

  • Global Data Space (GDS) interconnects code written in different languages

  • REST API exposes every PLC variable for external integration


Key Capabilities:

The PLCnext Engineer environment excels at Sensor Integration applications through its mix iec ladder/st with c++ and python in one project. This is particularly valuable when working with the 5 sensor types typically found in Sensor Integration systems, including Analog sensors (4-20mA, 0-10V), Digital sensors (NPN, PNP), Smart sensors (IO-Link).

Phoenix Contact's controller families for Sensor Integration include:

  • AXC F 1152: Suitable for beginner to intermediate Sensor Integration applications

  • AXC F 2152: Suitable for beginner to intermediate Sensor Integration applications

  • AXC F 3152: Suitable for beginner to intermediate Sensor Integration applications

  • RFC 4072S: Suitable for beginner to intermediate Sensor Integration applications

Hardware Selection Guidance:

CPU selection ranges from the AXC F 1152 (small machines, basic PLC logic, limited IIoT) through the AXC F 2152 (typical medium-complexity machines with PROFINET and MQTT), AXC F 3152 (complex applications with multi-language workloads), to the RFC 4072S (redundant high-availability applications). Controller choice depends more on IIoT and multi-language needs than on I/O count alone; even smaller...

Industry Recognition:

Rising - Strong in wind turbines, water treatment, Industry 4.0 pilots. Phoenix Contact PLCnext controllers appear in automotive body shops, assembly lines, and test stands where the Industry 4.0 and IIoT angles are prioritised. The multi-language capability (IEC plus C++, Python, MATLAB) suits automotive R&D teams building test benches and digital twins, where algorith...

Investment Considerations:

With $$ pricing, Phoenix Contact positions itself in the mid-range segment. For Sensor Integration projects requiring beginner skill levels and 1-2 weeks development time, the total investment includes hardware, software licensing, training, and ongoing support.

Understanding Structured Text for Sensor Integration

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 Sensor Integration:

  • Powerful for complex logic: Critical for Sensor Integration when handling beginner to intermediate control logic

  • Excellent code reusability: Critical for Sensor Integration when handling beginner to intermediate control logic

  • Compact code representation: Critical for Sensor Integration when handling beginner to intermediate control logic

  • Good for algorithms and calculations: Critical for Sensor Integration when handling beginner to intermediate control logic

  • Familiar to software developers: Critical for Sensor Integration when handling beginner to intermediate control logic


Why Structured Text Fits Sensor Integration:

Sensor Integration systems in Universal typically involve:

  • Sensors: Discrete sensors (proximity, photoelectric, limit switches), Analog sensors (4-20mA, 0-10V transmitters), Temperature sensors (RTD, thermocouple, thermistor)

  • Actuators: Not applicable - focus on input processing

  • Complexity: Beginner to Intermediate with challenges including Electrical noise affecting analog signals


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 Sensor Integration
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 Sensor Integration using Phoenix Contact PLCnext Engineer.

Implementing Sensor Integration with Structured Text

Sensor integration involves connecting various measurement devices to PLCs for process monitoring and control. Proper sensor selection, wiring, signal conditioning, and programming ensure reliable data for control decisions.

This walkthrough demonstrates practical implementation using Phoenix Contact PLCnext Engineer and Structured Text programming.

System Requirements:

A typical Sensor Integration implementation includes:

Input Devices (Sensors):
1. Discrete sensors (proximity, photoelectric, limit switches): Critical for monitoring system state
2. Analog sensors (4-20mA, 0-10V transmitters): Critical for monitoring system state
3. Temperature sensors (RTD, thermocouple, thermistor): Critical for monitoring system state
4. Pressure sensors (gauge, differential, absolute): Critical for monitoring system state
5. Level sensors (ultrasonic, radar, capacitive, float): Critical for monitoring system state

Output Devices (Actuators):
1. Not applicable - focus on input processing: Primary control output

Control Strategies for Sensor Integration:

1. Primary Control: Integrating various sensors with PLCs for data acquisition, analog signal processing, and digital input handling.
2. Safety Interlocks: Preventing Signal conditioning
3. Error Recovery: Handling Sensor calibration

Implementation Steps:

Step 1: Select sensor appropriate for process conditions (temperature, pressure, media)

In PLCnext Engineer, select sensor appropriate for process conditions (temperature, pressure, media).

Step 2: Design wiring with proper shielding, grounding, and routing

In PLCnext Engineer, design wiring with proper shielding, grounding, and routing.

Step 3: Configure input module for sensor type and resolution

In PLCnext Engineer, configure input module for sensor type and resolution.

Step 4: Develop scaling routine with calibration parameters

In PLCnext Engineer, develop scaling routine with calibration parameters.

Step 5: Implement signal conditioning (filtering, rate limiting)

In PLCnext Engineer, implement signal conditioning (filtering, rate limiting).

Step 6: Add fault detection with appropriate response

In PLCnext Engineer, add fault detection with appropriate response.


Phoenix Contact Function Design:

Phoenix Contact maintains an extensive PLCnext Store library of free and paid function blocks covering motion, communication (MQTT, OPC UA, HTTPS), signal processing, and industry-specific patterns (water treatment, packaging, wind turbine control). Engineers build atop these FBs rather than reimplementing, and contribute back to the Store for reuse across projects.

Common Challenges and Solutions:

1. Electrical noise affecting analog signals

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


2. Sensor drift requiring periodic recalibration

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


3. Ground loops causing measurement errors

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


4. Response time limitations for fast processes

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


Safety Considerations:

  • Use intrinsically safe sensors and barriers in hazardous areas

  • Implement redundant sensors for safety-critical measurements

  • Design for fail-safe operation on sensor loss

  • Provide regular sensor calibration for safety systems

  • Document measurement uncertainty for safety calculations


Performance Metrics:

  • Scan Time: Optimize for 5 inputs and 1 outputs

  • Memory Usage: Efficient data structures for AXC F 1152 capabilities

  • Response Time: Meeting Universal requirements for Sensor Integration

Phoenix Contact Diagnostic Tools:

PLCnext Engineer integrated debugger with ST breakpoints and IEC variable watch,Live cross-language traces that show IEC variables alongside C++ / Python variables,PLCnext Store app deployment with version rollback from the IDE,REST API Explorer (web UI) for browsing and writing every exposed variable,Docker integration β€” run custom diagnostics containers directly on AXC F controllers,Wireshark integration for PROFINET and OPC UA frame-level debugging,Linux journalctl access on PLCnext for system-level log inspection,Multi-language Global Data Space inspector β€” see data flowing between IEC, C++, Python,Git-backed project versioning built into PLCnext Engineer,PLCnext Community forum β€” vendor engineers actively answer issues

Phoenix Contact's PLCnext Engineer provides tools for performance monitoring and optimization, essential for achieving the 1-2 weeks development timeline while maintaining code quality.

Phoenix Contact Structured Text Example for Sensor Integration

Complete working example demonstrating Structured Text implementation for Sensor Integration using Phoenix Contact PLCnext Engineer. Follows Phoenix Contact naming conventions. Tested on AXC F 1152 hardware.

(* Phoenix Contact PLCnext Engineer - Sensor Integration Control *)
(* Structured Text Implementation for Universal *)
(* PLCnext projects follow IEC 61131-3 naming with camelCase for variable *)

PROGRAM PRG_SENSOR_INTEGRATION_Control

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

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

    (* Counters *)
    ctuCycleCounter : CTU;

    (* Process Variables *)
    rAnalogsensors420mA010V : REAL := 0.0;
    rNotapplicablefocusoninputprocessing : REAL := 0.0;
    rSetpoint : REAL := 100.0;
END_VAR

VAR CONSTANT
    (* Universal 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 PLCnext are typically  *)
CASE eState OF
    IDLE:
        rNotapplicablefocusoninputprocessing := 0.0;
        ctuCycleCounter(RESET := TRUE);
        IF bEnable AND rAnalogsensors420mA010V > 0.0 THEN
            eState := STARTING;
        END_IF;

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

    RUNNING:
        (* Sensor Integration active - Sensor integration involves connecting various mea *)
        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:
        rNotapplicablefocusoninputprocessing := 0.0;
        (* Log production data - Data logging on PLCnext often uses the PLCnext Technology Data Store Writer (SQLite) or a Python app that consumes GDS variables and writes to CSV / Parquet / cloud storage. The Linux foundation means engineers can use standard tools β€” Python pandas, duckdb, MQTT brokers β€” directly on the controller without external gateways. This is a distinctive advantage for IIoT projects. *)
        eState := IDLE;

    FAULT:
        rNotapplicablefocusoninputprocessing := 0.0;
        (* Alarm handling on PLCnext typically uses a dedicated FB that writes alarm events to a GDS array, from which a Python or C++ service forwards the events to MQTT, REST, or a local SQLite database. For simpler projects, PLCnext Store includes ready-made alarm-management FBs with acknowledgement tracking and persistent storage on the controller filesystem. *)
        IF bFaultReset AND NOT bEmergencyStop THEN
            bFaultActive := FALSE;
            eState := IDLE;
        END_IF;
END_CASE;

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

END_PROGRAM

Code Explanation:

  • 1.Enumerated state machine (State machines on PLCnext are typically implemented as CASE-of-INT in ST with an enumerated state variable exposed to GDS for HMI and REST access. More complex state handling may use IEC SFC, or β€” distinctively β€” a C++ or Python task that consumes state transitions from the IEC code for analytics or logging purposes without interfering with control logic.) for clear Sensor Integration sequence control
  • 2.Constants define Universal-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 - Phoenix Contact best practice for beginner to intermediate systems

Best Practices

  • βœ“Follow Phoenix Contact naming conventions: PLCnext projects follow IEC 61131-3 naming with camelCase for variables and Pasc
  • βœ“Phoenix Contact function design: Phoenix Contact maintains an extensive PLCnext Store library of free and paid fu
  • βœ“Data organization: PLCnext uses IEC 61131-3 global variable lists and structured types rather than
  • βœ“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
  • βœ“Sensor Integration: Document wire colors and termination points for maintenance
  • βœ“Sensor Integration: Use proper cold junction compensation for thermocouples
  • βœ“Sensor Integration: Provide test points for verification without disconnection
  • βœ“Debug with PLCnext Engineer: Use the Global Data Space viewer to watch cross-language data flow in
  • βœ“Safety: Use intrinsically safe sensors and barriers in hazardous areas
  • βœ“Use PLCnext Engineer simulation tools to test Sensor Integration 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
  • ⚠Phoenix Contact common error: Global Data Space (GDS) permissions denying cross-language writes between IEC an
  • ⚠Sensor Integration: Electrical noise affecting analog signals
  • ⚠Sensor Integration: Sensor drift requiring periodic recalibration
  • ⚠Neglecting to validate Discrete sensors (proximity, photoelectric, limit switches) leads to control errors
  • ⚠Insufficient comments make Structured Text programs unmaintainable over time

Related Certifications

πŸ†Phoenix Contact Certified PLCnext Engineer
πŸ†PLCnext Community Expert
πŸ†Advanced Phoenix Contact Programming Certification

Mastering Structured Text for Sensor Integration applications using Phoenix Contact PLCnext Engineer requires understanding both the platform's capabilities and the specific demands of Universal. 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 Sensor Integration projects.

Phoenix Contact's 3% market share and rising - strong in wind turbines, water treatment, industry 4.0 pilots demonstrate the platform's capability for demanding applications. The platform excels in Universal applications where Sensor Integration reliability is critical.

By following the practices outlined in this guideβ€”from proper program structure and Structured Text best practices to Phoenix Contact-specific optimizationsβ€”you can deliver reliable Sensor Integration systems that meet Universal requirements.

Next Steps for Professional Development:

1. Certification: Pursue Phoenix Contact Certified PLCnext Engineer to validate your Phoenix Contact expertise
2. Advanced Training: Consider PLCnext Community Expert for specialized Universal applications
3. Hands-on Practice: Build Sensor Integration projects using AXC F 1152 hardware
4. Stay Current: Follow PLCnext Engineer 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-2 weeks typical timeline for Sensor Integration projects will decrease as you gain experience with these patterns and techniques. Remember: Document wire colors and termination points for maintenance

For further learning, explore related topics including Recipe management, Process measurement, and Phoenix Contact platform-specific features for Sensor Integration optimization.