Carel Pco5 Programming Software Top [ PRO · 2026 ]

It sounds like you’re looking for a piece of Carel PCO5 programming software — likely the top part of a program (e.g., a main routine, a configuration header, or a state machine start).

Since Carel PCO controllers are typically programmed in CAREL μC (microC) or structured text (similar to IEC 61131-3), below is a commented example of a top-level program section for a PCO5 controller managing a HVAC/refrigeration unit.

This example includes:

// **********************************************************************
// Program:     MAIN_TOP
// Controller:  Carel PCO5
// Language:    CAREL μC (C-like)
// Description: Top-level program section for HVAC/Refrigeration unit control
// **********************************************************************

// ---------------------------------------------------------------------- // 1. INPUT DEFINITIONS (Physical & Virtual) // ---------------------------------------------------------------------- // Analog Inputs (from PCO5 expansion or onboard) AI_AI1 : // Pressure transducer (4-20 mA) -> Bar AI_AI2 : // Temperature probe NTC (Evaporator) AI_AI3 : // Suction temperature

// Digital Inputs DI_ON_OFF : // Unit enable (ON=1) DI_SAFETY_CHAIN : // High pressure / low pressure safety (OK=1) DI_DOOR_OPEN : // Refrigerated cabinet door status

// ---------------------------------------------------------------------- // 2. OUTPUT DEFINITIONS // ---------------------------------------------------------------------- DO_COMPRESSOR : // Compressor contactor DO_FAN : // Condenser fan DO_ALARM_BUZZER : // Alarm output

// ---------------------------------------------------------------------- // 3. INTERNAL VARIABLES // ---------------------------------------------------------------------- VAR running : bool; // Unit running flag alarm_active : bool; // Global alarm status compressor_delay : int; // Anti-short cycle delay (seconds) temp_setpoint : real; // Temperature setpoint (°C) temp_deadband : real; // Deadband value state : int; // 0=Off, 1=Pre-run, 2=Run, 3=Fault END_VAR

// ---------------------------------------------------------------------- // 4. INITIALIZATION (Executes once at power-up) // ---------------------------------------------------------------------- INIT: running = FALSE; alarm_active = FALSE; compressor_delay = 0; temp_setpoint = 2.0; // °C for refrigeration temp_deadband = 1.0; state = 0; carel pco5 programming software top

// Force outputs safe state
DO_COMPRESSOR = 0;
DO_FAN = 0;
DO_ALARM_BUZZER = 0;

END_INIT

// ---------------------------------------------------------------------- // 5. TOP-LEVEL CYCLIC LOGIC (Main state machine start) // ---------------------------------------------------------------------- BEGIN_CYCLE:

// Read inputs (refresh in PCO5)
// (Carel μC reads I/O automatically before each cycle)
// 5.1 SAFETY OVERRIDE
IF (DI_SAFETY_CHAIN == 0) THEN
    state = 3;   // Fault state
    alarm_active = TRUE;
END_IF
// 5.2 STATE MACHINE (top-level control)
CASE state OF
0:  // Unit OFF
        DO_COMPRESSOR = 0;
        DO_FAN = 0;
        IF (DI_ON_OFF == 1 AND DI_SAFETY_CHAIN == 1) THEN
            state = 1;    // Move to Pre-run
            compressor_delay = 60;  // 60 sec anti-short cycle
        END_IF
1:  // Pre-run (delay before start)
        IF (compressor_delay <= 0) THEN
            state = 2;
        ELSE
            compressor_delay = compressor_delay - 1;  // Decrement per second
            // (Assume cycle time = 1 sec for simplicity)
        END_IF
2:  // Running
        DO_COMPRESSOR = 1;
        DO_FAN = 1;
// Basic temperature control (example)
        // IF evaporator temp > setpoint+deadband -> stay on
        // ELSE IF temp < setpoint -> stop (back to state 0)
        IF (AI_AI2 < (temp_setpoint - temp_deadband)) THEN
            DO_COMPRESSOR = 0;
            DO_FAN = 0;
            state = 0;
        END_IF
// Safety check
        IF (DI_SAFETY_CHAIN == 0 OR DI_ON_OFF == 0) THEN
            state = 3;
        END_IF
3:  // Fault/Alarm state
        DO_COMPRESSOR = 0;
        DO_FAN = 0;
        DO_ALARM_BUZZER = 1;  // Activate alarm output
// Manual reset required (toggle ON/OFF to reset)
        IF (DI_ON_OFF == 0) THEN
            alarm_active = FALSE;
            state = 0;
        END_IF
END_CASE

END_CYCLE

// ---------------------------------------------------------------------- // 6. END OF TOP-LEVEL PROGRAM // ----------------------------------------------------------------------

Notes for actual use on PCO5:

If you meant the top part of a specific Carel application (like a supermarket rack controller or AHU), please clarify, and I can adjust the example accordingly. It sounds like you’re looking for a piece

The Carel pCO5 controller is a cornerstone of HVAC/R engineering, designed for high-efficiency climate control. Programming it involves a sophisticated ecosystem that balances powerful software tools with convenient field hardware updates. The Core: 1tool Development Environment

The primary "brain" behind the pCO5 is the 1tool software. It is a comprehensive suite that manages every phase of an application's life, from initial logic design to final testing and commissioning.

Modular Architecture: 1tool uses a library of "atoms" (basic elements), "macroblocks" (complex algorithms), and full functional modules. This allows developers to drag and drop pre-tested HVAC/R routines, such as compressor management or PID loops, significantly reducing development time.

Integrated Environments: The suite contains five distinct sub-environments that share data in real-time, allowing for instant error reporting and seamless transitions between logic programming and user interface design.

Software Portability: One of 1tool's greatest strengths is its portability; programs written for one pCO platform can be quickly adapted for others (like the pCO3) by simply remapping the inputs and outputs. The Evolution: STone and c.suite

While 1tool remains a standard, newer models of the pCO5+ support modern environments:

STone: Introduced in 2024, this environment uses Structured Text (ST) language and focuses on high-level efficiency, security, and IEC 6244 cybersecurity standards. "macroblocks" (complex algorithms)

c.suite: Used primarily for the c.pCO family but sharing logic principles, it supports multiple IEC 61131-compliant languages (Ladder, FBD, SFC) and enables multi-developer teamwork. User Manual


While 1Tool handles the "brains" (the logic), the e-Design software is the "top" choice for creating the user interface (HMI). If your pCO5 is connected to a Carel terminal (like a pCO3+ terminal or a pGD display), e-Design is used to create the graphical pages, buttons, and data displays that the end-user interacts with.

The Carel PCO5 is a powerful, programmable controller widely used in HVAC/R applications — from chiller management to supermarket refrigeration. But its true potential is unlocked only when you master its native programming environment: Carel c.Suite (with c.Programming and c.View).

If you’re developing for the PCO5 platform, here’s what you need to know to write efficient, reliable, and maintainable code.

The pCO5 is a master on the pLAN network. With TOP, you can program:

If your pCO5 is connected to a pGD graphic terminal, TOP lets you program dynamic softkeys. Example: "Press F1 for Manual Defrost" or "Press F2 to view Historical Alarms."


Modern TOP programming includes native support for BACnet/IP and Modbus TCP. You can map internal variables directly to BACnet objects without a separate gateway.

Before you can program, you must connect. For older legacy systems that still utilize the pCO5 (rather than the newer pCO5+ or pCO6), technicians often rely on Pro-Plus Manager.

It sounds like you’re looking for a piece of Carel PCO5 programming software — likely the top part of a program (e.g., a main routine, a configuration header, or a state machine start).

Since Carel PCO controllers are typically programmed in CAREL μC (microC) or structured text (similar to IEC 61131-3), below is a commented example of a top-level program section for a PCO5 controller managing a HVAC/refrigeration unit.

This example includes:

// **********************************************************************
// Program:     MAIN_TOP
// Controller:  Carel PCO5
// Language:    CAREL μC (C-like)
// Description: Top-level program section for HVAC/Refrigeration unit control
// **********************************************************************

// ---------------------------------------------------------------------- // 1. INPUT DEFINITIONS (Physical & Virtual) // ---------------------------------------------------------------------- // Analog Inputs (from PCO5 expansion or onboard) AI_AI1 : // Pressure transducer (4-20 mA) -> Bar AI_AI2 : // Temperature probe NTC (Evaporator) AI_AI3 : // Suction temperature

// Digital Inputs DI_ON_OFF : // Unit enable (ON=1) DI_SAFETY_CHAIN : // High pressure / low pressure safety (OK=1) DI_DOOR_OPEN : // Refrigerated cabinet door status

// ---------------------------------------------------------------------- // 2. OUTPUT DEFINITIONS // ---------------------------------------------------------------------- DO_COMPRESSOR : // Compressor contactor DO_FAN : // Condenser fan DO_ALARM_BUZZER : // Alarm output

// ---------------------------------------------------------------------- // 3. INTERNAL VARIABLES // ---------------------------------------------------------------------- VAR running : bool; // Unit running flag alarm_active : bool; // Global alarm status compressor_delay : int; // Anti-short cycle delay (seconds) temp_setpoint : real; // Temperature setpoint (°C) temp_deadband : real; // Deadband value state : int; // 0=Off, 1=Pre-run, 2=Run, 3=Fault END_VAR

// ---------------------------------------------------------------------- // 4. INITIALIZATION (Executes once at power-up) // ---------------------------------------------------------------------- INIT: running = FALSE; alarm_active = FALSE; compressor_delay = 0; temp_setpoint = 2.0; // °C for refrigeration temp_deadband = 1.0; state = 0;

// Force outputs safe state
DO_COMPRESSOR = 0;
DO_FAN = 0;
DO_ALARM_BUZZER = 0;

END_INIT

// ---------------------------------------------------------------------- // 5. TOP-LEVEL CYCLIC LOGIC (Main state machine start) // ---------------------------------------------------------------------- BEGIN_CYCLE:

// Read inputs (refresh in PCO5)
// (Carel μC reads I/O automatically before each cycle)
// 5.1 SAFETY OVERRIDE
IF (DI_SAFETY_CHAIN == 0) THEN
    state = 3;   // Fault state
    alarm_active = TRUE;
END_IF
// 5.2 STATE MACHINE (top-level control)
CASE state OF
0:  // Unit OFF
        DO_COMPRESSOR = 0;
        DO_FAN = 0;
        IF (DI_ON_OFF == 1 AND DI_SAFETY_CHAIN == 1) THEN
            state = 1;    // Move to Pre-run
            compressor_delay = 60;  // 60 sec anti-short cycle
        END_IF
1:  // Pre-run (delay before start)
        IF (compressor_delay <= 0) THEN
            state = 2;
        ELSE
            compressor_delay = compressor_delay - 1;  // Decrement per second
            // (Assume cycle time = 1 sec for simplicity)
        END_IF
2:  // Running
        DO_COMPRESSOR = 1;
        DO_FAN = 1;
// Basic temperature control (example)
        // IF evaporator temp > setpoint+deadband -> stay on
        // ELSE IF temp < setpoint -> stop (back to state 0)
        IF (AI_AI2 < (temp_setpoint - temp_deadband)) THEN
            DO_COMPRESSOR = 0;
            DO_FAN = 0;
            state = 0;
        END_IF
// Safety check
        IF (DI_SAFETY_CHAIN == 0 OR DI_ON_OFF == 0) THEN
            state = 3;
        END_IF
3:  // Fault/Alarm state
        DO_COMPRESSOR = 0;
        DO_FAN = 0;
        DO_ALARM_BUZZER = 1;  // Activate alarm output
// Manual reset required (toggle ON/OFF to reset)
        IF (DI_ON_OFF == 0) THEN
            alarm_active = FALSE;
            state = 0;
        END_IF
END_CASE

END_CYCLE

// ---------------------------------------------------------------------- // 6. END OF TOP-LEVEL PROGRAM // ----------------------------------------------------------------------

Notes for actual use on PCO5:

If you meant the top part of a specific Carel application (like a supermarket rack controller or AHU), please clarify, and I can adjust the example accordingly.

The Carel pCO5 controller is a cornerstone of HVAC/R engineering, designed for high-efficiency climate control. Programming it involves a sophisticated ecosystem that balances powerful software tools with convenient field hardware updates. The Core: 1tool Development Environment

The primary "brain" behind the pCO5 is the 1tool software. It is a comprehensive suite that manages every phase of an application's life, from initial logic design to final testing and commissioning.

Modular Architecture: 1tool uses a library of "atoms" (basic elements), "macroblocks" (complex algorithms), and full functional modules. This allows developers to drag and drop pre-tested HVAC/R routines, such as compressor management or PID loops, significantly reducing development time.

Integrated Environments: The suite contains five distinct sub-environments that share data in real-time, allowing for instant error reporting and seamless transitions between logic programming and user interface design.

Software Portability: One of 1tool's greatest strengths is its portability; programs written for one pCO platform can be quickly adapted for others (like the pCO3) by simply remapping the inputs and outputs. The Evolution: STone and c.suite

While 1tool remains a standard, newer models of the pCO5+ support modern environments:

STone: Introduced in 2024, this environment uses Structured Text (ST) language and focuses on high-level efficiency, security, and IEC 6244 cybersecurity standards.

c.suite: Used primarily for the c.pCO family but sharing logic principles, it supports multiple IEC 61131-compliant languages (Ladder, FBD, SFC) and enables multi-developer teamwork. User Manual


While 1Tool handles the "brains" (the logic), the e-Design software is the "top" choice for creating the user interface (HMI). If your pCO5 is connected to a Carel terminal (like a pCO3+ terminal or a pGD display), e-Design is used to create the graphical pages, buttons, and data displays that the end-user interacts with.

The Carel PCO5 is a powerful, programmable controller widely used in HVAC/R applications — from chiller management to supermarket refrigeration. But its true potential is unlocked only when you master its native programming environment: Carel c.Suite (with c.Programming and c.View).

If you’re developing for the PCO5 platform, here’s what you need to know to write efficient, reliable, and maintainable code.

The pCO5 is a master on the pLAN network. With TOP, you can program:

If your pCO5 is connected to a pGD graphic terminal, TOP lets you program dynamic softkeys. Example: "Press F1 for Manual Defrost" or "Press F2 to view Historical Alarms."


Modern TOP programming includes native support for BACnet/IP and Modbus TCP. You can map internal variables directly to BACnet objects without a separate gateway.

Before you can program, you must connect. For older legacy systems that still utilize the pCO5 (rather than the newer pCO5+ or pCO6), technicians often rely on Pro-Plus Manager.