Readme files updates
This commit is contained in:
@@ -1,48 +1,45 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# Chiller Daikin AWV026B RTU
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **AWV026B**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
* **RS485 Transceiver**: [RS485 Shield for Arduino.](https://www.dfrobot.com/product-1024.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuration
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Comp1 Percent RLA**: **Ramp Strategy** set to 0.
|
||||
* **Comp2 Percent RLA**: **Ramp Strategy** set to 0.
|
||||
* **Chiller Enable SP**: Used to change to Running State (1).
|
||||
* **Outdoor Air Temp**: Read value to select between Ice or Cool mode, fixed 50 deg limit.
|
||||
* **Run Enabled**: set to 0 on enter state function.
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Comp1 Percent RLA**: **Ramp Strategy** set to 0, this setpoint will change on update.
|
||||
* **Comp2 Percent RLA**: **Ramp Strategy** set to 0, this setpoint will change on update.
|
||||
* **Actual Capacity**: **PID Strategy** Emulate actual speed control based on **Supply Temp**, this strategy uses **Active SP** as setpoint, this is modified based on outdoor temp, if it's below 50 it uses Ice setpoint, otherwise it uses Cool setpoint.
|
||||
* **Chiller Enable SP**: Used to change to Running State (0).
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
**Active Capacity Limit**: to set the max capacity of the motors.
|
||||
|
||||
* **Comp1 Percent RLA**: **Ramp Strategy** setpoint based on actual capacity, if its below 50%, the only compressor 1 goes from 0 to limit. If capacity is above 50% then load is divided between both compressors.
|
||||
* **Comp2 Percent RLA**: **Ramp Strategy** setpoint based on actual capacity, if its below 50%, only compressor 1 runs, compressor 2 will maintain off (0 setpoint), if capacity is above 50% then load is divided between both compressors.
|
||||
* **Outddor Air Temp** constant reading of this value to change the setpoint from ice to cool.
|
||||
|
||||
* **Run Enabled**: Set to 1 on enter state.
|
||||
|
||||
|
||||
### Fail State
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,35 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL RTU
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
* **RS485 Transceiver**: [RS485 Shield for Arduino.](https://www.dfrobot.com/product-1024.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -56,6 +56,7 @@ modbusMap mb_map[] =
|
||||
{
|
||||
{HR, 149, 0, "Speed Cmd"},
|
||||
{HR, 151, 0, "Start/Stop"},
|
||||
{HR, 152, 0, "HOA Command"},
|
||||
{HR, 100, 0, "Motor Speed Used"},
|
||||
{HR, 101, 0, "Motor Speed estimated"},
|
||||
{HR_10x, 105, 0, "Output Frequency"},
|
||||
|
||||
@@ -1,48 +1,35 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL RTU
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
* **RS485 Transceiver**: [RS485 Shield for Arduino.](https://www.dfrobot.com/product-1024.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
@@ -1,48 +1,33 @@
|
||||
# Daikin Chiller (RTU) Emulator
|
||||
# EQUIPMENT_TYPE MANUFACTURER MODEL TCP
|
||||
|
||||
This project is an Arduino-based emulator for a Daikin Chiller unit, communicating over Modbus RTU. It is designed to be a flexible template that can be adapted to simulate different types of chillers by modifying the configuration and state logic.
|
||||
## Brief Introduction
|
||||
Equipment specifc details that make it different from other devices
|
||||
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The chiller is idle but ready.
|
||||
* **Running**: The chiller is active and operational.
|
||||
* **Fail**: The chiller has encountered a fault condition.
|
||||
|
||||
## Features
|
||||
|
||||
* **Modbus RTU Communication**: Emulates a Modbus slave device.
|
||||
* **State Machine Logic**: Simulates different operational states (Standby, Running, Fail).
|
||||
* **Dynamic Value Simulation**: Uses "Strategies" (e.g., PID, Ramp) to generate realistic, changing values for Modbus points.
|
||||
* **Configurable Modbus Map**: The entire Modbus register map is defined in a single, easy-to-modify file (`config.h`).
|
||||
* **Extensible Design**: The structure allows for the addition of new states and behaviors.
|
||||
## List of Equipmentt
|
||||
This cofiguration has been used for these models:
|
||||
* **Model**: 09-15-22
|
||||
* **Model**: 09-15-23
|
||||
* **Model**: 09-15-25
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities and at least one hardware serial port for RS485 communication.
|
||||
|
||||
* **Microcontroller**: ESP8266, ESP32, or similar.
|
||||
* **RS485 Transceiver**: A module like the MAX485 to interface with the Modbus RTU bus.
|
||||
|
||||
## Software Dependencies
|
||||
|
||||
This project relies on a Modbus library. Ensure you have the correct library installed in your Arduino IDE.
|
||||
|
||||
* **Modbus Library**: The code uses a library that provides `ModbusRTU.h` and optionally `ModbusIP_ESP8266.h`.
|
||||
The code is written for an ESP8266/ESP32-style microcontroller with WiFi capabilities.
|
||||
* **Microcontroller**: [Firebeetle 2 ESP32.](https://www.dfrobot.com/product-2231.html)
|
||||
|
||||
---
|
||||
|
||||
## How to Customize for a New Chiller
|
||||
## States and Strategies
|
||||
Provide a brief description of what variables and strategies were used in this configuraiton
|
||||
|
||||
To adapt this template for a new chiller, follow these steps.
|
||||
### Standby State
|
||||
* **Equipment running**: set to 0
|
||||
* **Common Alarm**: set to 0
|
||||
* **SAT temperature**: set to 85
|
||||
|
||||
### 1. Configure Device-Specific Parameters (`config.h`)
|
||||
### Running State
|
||||
* **Equipment running**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 65 deg setpoint
|
||||
|
||||
Open `CH_Daikin_AWV026B_RTU/config.h`. This is the main file for device-specific settings.
|
||||
|
||||
#### Modbus RTU Settings
|
||||
Update the following constants for your device's serial communication setup.
|
||||
```c++
|
||||
const int BAUDRATE = 19200; // The serial communication speed
|
||||
const int RX_PIN = 17; // The GPIO pin for receiving data (RX)
|
||||
const int TX_PIN = 16; // The GPIO pin for transmitting data (TX)
|
||||
const int RST_PIN = 4; // The GPIO pin for RS485 direction control
|
||||
const int MODBUS_ID = 1; // The unique slave ID for this device
|
||||
### Fail State
|
||||
* **Commong Alarm**: set to 1
|
||||
* **SAT temperature**: **Ramp Strategy** set to 105 deg setpointset
|
||||
|
||||
22
src/README.md
Normal file
22
src/README.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Core Concepts
|
||||
|
||||
## Brief Introduction
|
||||
This file explains the concepts of States and strategies, needed to modify the different programs.
|
||||
|
||||
## State concepts
|
||||
The emulator operates on a state machine with three core states:
|
||||
* **Standby**: The equipment is idle but ready.
|
||||
* **Running**: The equipment is active and operational.
|
||||
* **Fail**: The equipment has encountered a fault condition.
|
||||
* **Other**: It's possible to add more states, but new states need to be generated in the core library as well; consider use the 3 basic states before adding more.
|
||||
|
||||
## Strategy concepts
|
||||
The emulator is able to run different predefined strategies to control the modbus registers, this is the list of available strategies:
|
||||
* **Single Value**: This strategy will set a value to a setpoint, it has the option to add noise to the value.
|
||||
* **Random**: Random value between 0 and 100, can be used to L1 testing.
|
||||
* **Ramp**: The selected value is going to be adjusted in a constant step rate, to a setpoint, setpoint can be updated in execution time.
|
||||
* **Saw Wave**: Moves the value between two sepoints with constart increments, once it reaches the limit it will reverse direction.
|
||||
* **Square Wave**: Constant change between two sepoints with instant change between them.
|
||||
* **PID**: Full PID controller, you need to give a output, input and setpoint modbus address, PID calculate the output based on the input and the PID constants.
|
||||
* **Totalizer**: Constant increment of a value, to emulate run hours.
|
||||
For more details read the specific strategy implementation
|
||||
Reference in New Issue
Block a user