IntesisBox® DK-AC-MBS-1 IntesisBox User’s Manual r1.2 eng ® DK-AC-MBS-1 v.0.4 MODBUS RTU (RS-485) Interface for Daikin air conditioners. Compatible with Domestic line models User Manual Issue Date: 09/2014 Order Codes: DK-AC-MBS-1: Modbus RTU Interface for Daikin air conditioners © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 1 / 15 IntesisBox® DK-AC-MBS-1 User’s Manual r1.2 eng © Intesis Software S.L. 20014. All Rights Reserved. Information in this document is subject to change without notice. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or any means electronic or mechanical, including photocopying and recording for any purpose other than the purchaser’s personal use without the written permission of Intesis Software S.L. Intesis Software S.L. Milà i Fontanals, 1 bis 08700 Igualada Spain TRADEMARKS All trademarks and tradenames used in this document are acknowledged to be the copyright of their respective holders. © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 2 / 15 IntesisBox® DK-AC-MBS-1 User’s Manual r1.2 eng INDEX 1. Presentation .................................................................................................... 4 2. Connection ...................................................................................................... 5 2.1 Connect to the AC indoor unit ......................................................................... 5 2.2 Connection to the RS485 bus .......................................................................... 5 3. Modbus Interface Specification ........................................................................... 6 3.1 Modbus physical layer .................................................................................... 6 3.2 Modbus Registers .......................................................................................... 6 3.2.1 Control and status registers ...................................................................... 6 3.2.2 Configuration Registers ............................................................................ 7 3.3 DIP-switch Configuration Interface .................................................................. 8 3.4 Implemented Functions .................................................................................. 9 3.5 Device LED indicator .................................................................................... 10 3.6 RS485 bus. Termination resistors and Fail Safe Biasing mechanism ................... 10 4. Specifications................................................................................................. 12 5. List of supported AC Unit Types ........................................................................ 12 5.1 Error Codes ................................................................................................ 13 © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 3 / 15 IntesisBox® DK-AC-MBS-1 User’s Manual r1.2 eng 1. Presentation The DK-AC-MBS-1 interface allows a complete and natural integration of Daikin air conditioners into Modbus RTU (RS-485) networks. Compatible with Domestic line models. Check section 5 for more information. Reduced dimensions. 93 x 53 x 58 mm. Quick and easy installation. Mountable on DIN rail, wall, or even inside the indoor unit in some models of AC. External power not required. Direct connection to MODBUS RTU (RS-485) networks. DK-AC-MBS-1 is a Modbus slave device. Direct connection to the AC indoor unit. The cable for this connection is also supplied. Configuration from both on-board DIP-switches and MODBUS RTU. Total Control and Supervision. Real states of the AC unit's internal variables. Allows using simultaneously the IR remote control and MODBUS RTU. Modbus RTU RS485 network Modbus RTU master device DK-AC-MBS-1 Up to 63 AC indoor units DK-AC-MBS-1 SCADA PLC DDC BMS HMI Controller etc DK-AC-MBS-1 © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 4 / 15 IntesisBox® DK-AC-MBS-1 User’s Manual r1.2 eng 2. Connection The interface comes with cable + connectors for direct connection to the AC indoor unit, and with a plug-in terminal block of 2 poles for connection to a Modbus RTU RS-485 network. 2.1 Connect to the AC indoor unit To connect the DK-AC-MBS-1 interface to the AC indoor unit follow these steps: Disconnect mains power from the AC unit. Open the front cover of the indoor unit in order to have access to the electronic circuit. In the electronic circuit locate the socket connector marked as: S21 in Domestic line models Using the cable that comes with the interface, insert one of its connectors, the biggest one, into the socket of the DK-AC-MBS-1, and the other connector, the one installed in the largest uncovered part, to the socket S21 of the AC unit's electronic circuit. Close the AC indoor unit's front cover again. Do not modify the length of the cable supplied with the interface, it may affect to the correct operation of the interface. Use this hole to fix the cable using the staple and screw provided with the interface. AC indoor unit Electronic circuit board S21 53 mm Connection cable supplied with the interface. AC Unit IntesisBox® 90 mm DK-AC-MBS-1 RS485 A B Modbus RTU RS485 Bus 2.2 Connection to the RS485 bus Connect the RS485 bus wires to the plug-in terminal block (the one of two poles) of DK-ACMBS-1, respect the polarity on this connection (A+ and B-). Respect the maximum distance of 1.200 meters for the bus, no loop or star topologies are allowed for RS485 bus, a terminator resistor of 120 must be present at each end of the bus to avoid signal reflections and also a fail-safe biasing mechanism (see section 3.6 for more details). © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 5 / 15 IntesisBox® DK-AC-MBS-1 User’s Manual r1.2 eng 3. Modbus Interface Specification 3.1 Modbus physical layer DK-AC-MBS-1 implements a MODBUS RTU (slave) interface, to be connected to an RS-485 line. It performs an 8N2 (8N1-compatible) communication (8 data bits, no parity and 1 or 2 stop bit) with several available baudrates (2400 bps, 9600 bps -default-, 19200 bps and 57600 bps). 3.2 Modbus Registers All registers are of type “16-bit unsigned Holding Register”, in standard ModBus’ big endian notation. 3.2.1 Control and status registers Register Address (protocol address) Register Address (PLC address) R/W 0 1 R/W Description AC unit On/Off 0: Off 1: On AC unit Mode1 1 2 R/W 0: 1: 2: 3: 4: Auto Heat Dry Fan Cool AC unit Fan Speed1 2 3 1 2 3 3 4 R/W R/W 4 5 R/W 6 7 R/W 7 8 R/W 8 9 R/W 0: 1: 2: 3: 4: Auto Low Mid-1 Mid-2 High AC unit Up/Down Vane Position1 0: Auto 10: Swing AC unit Temperature Setpoint1,2 16..31 (ºC) 61..90 (ºF) Window Contact 0: Closed 1: Open DK-AC-MBS-1 Control disablement3 0: AC control enabled 1: AC control disabled AC’s Remote Control Disablement3 0: Remote Control enabled 1: Remote Control disabled See Section 5 for detail on indoor unit model differences and function availability Magnitude for this register can be adjusted to Celsius (default) or Fahrenheit through DIP switch P5 This value is stored in non-volatile memory © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 6 / 15 IntesisBox® DK-AC-MBS-1 Register Address (protocol address) Register Address (PLC address) User’s Manual r1.2 eng R/W 9 10 R/W 10 11 R 11 12 R 26 27 R/W Description AC unit Operation Time4 0..65535 (hours). Counts the time the AC unit is in “On” state. AC unit Alarm Status 0: No alarm condition 1: Alarm condition Error Code. Details in section 5.1 AC unit Left/Right Vane Position1 0: Auto 10: Swing AC Humidification Value 28 29 R/W Register Address (PLC address) R/W 0: Off 1: Low Humidification 2: Medium Humidification 3: High Humidification 10: Continuous 3.2.2 Configuration Registers Register Address (protocol address) 13 14 R/W Description “Open Window” switch-off timeout5, 4 0..30 (minutes) Factory setting: 30 (minutes) Modbus RTU baud-rate6, 4 14 15 R 2400 bps 4800 bps 9600 bps 19200 bps Factory setting: (9600 bps) Device's Modbus slave address6, 3 4 5 6 15 16 R 21 22 R 49 50 R 50 51 R 1..63 Factory setting: 0 (no address / configured at DIP-switch) Max number of fan speeds Value is always 5 Device definition: 0x700 (DK-AC-MBS-1) Software version This value is stored in non-volatile memory Once window contact is open, a count-down to switch off the AC Unit will start from this configured value This value is set-up from device’s on-board DIP-switches. See Section 3.3 © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 7 / 15 IntesisBox® DK-AC-MBS-1 3.3 User’s Manual r1.2 eng DIP-switch Configuration Interface All configuration values on DK-AC-MBS-1 can be written and read from ModBus interface. Though, some of them can also be setup from its on-board DIP-switch interface. They are DIP-switches P5, P6* and P7 on the device, in the following location: P6* P6* ON 1 2 3 4 CABLE FIXING AC UNIT * DIP-Switch P6 is not used by current version of DK-ACMBS-1 AC Unit IntesisBox® DK-AC-MBS-1 RS485 A B ON 1 2 3 4 5 6 7 8 P7 ON 1 2 3 4 P5 P7 P7 P5 P5 The following table applies for configuration of the interface through these DIP-switches: P7 – Modbus protocol: Slave address and baudrate Add Switches 1 2 3 4 5 6 7 8 Add Switches 1 2 3 4 5 6 7 8 Add Switches 1 2 3 4 5 6 7 8 Add Switches 1 2 3 4 5 6 7 8 0 x x 16 x x 32 x x 48 x x 1* x x 17 x x 33 x x 49 x x 2 x x 18 x x 34 x x 50 x x 3 x x 19 x x 35 x x 51 x x 4 x x 20 x x 36 x x 52 x x 5 x x 21 x x 37 x x 53 x x 6 x x 22 x x 38 x x 54 x x 7 x x 23 x x 39 x x 55 x x 8 x x 24 x x 40 x x 56 x x 9 x x 25 x x 41 x x 57 x x 10 x x 26 x x 42 x x 58 x x 11 x x 27 x x 43 x x 59 x x 12 x x 28 x x 44 x x 60 x x 13 x x 29 x x 45 x x 61 x x 14 x x 30 x x 46 x x 62 x x 15 x x 31 x x 47 x x 63 x x Table 3.1 P7: Modbus Slave address * Default value © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 8 / 15 IntesisBox® DK-AC-MBS-1 User’s Manual r1.2 eng Binary value b0…b8 Decimal value Switches 1 2 3 4 5 6 7 8 xxxxxx00 0 x x x x x x 2400bps xxxxxx10 1 x x x x x x 4800bps xxxxxx01 2 x x x x x x 9600bps (- default value) xxxxxx11 3 x x x x x x 19200bps Description Table 3.2 P7: Modbus baud rate P5 – Other: Degrees/Decidegress (x10), temperature magnitude (ºC/ºF) and EIA485 termination resistor Binary value b0…b4 Decimal value Switches 1 2 3 4 Description 0xxx 0 x x x Temperature values in Modbus register are represented in degrees (x1) (default value) 1xxx 1 x x x Temperature values in Modbus register are represented in decidegrees (x10) x0xx 0 x x x Temperature values in Modbus register are represented in Celsius degrees (default value) x1xx 1 x x x Temperature values in Modbus register are represented in Fahrenheit degrees xxx0 0 x x x EIA485 bus without termination resistor (default value) xxx1 1 x x x Internal termination resistor of 120Ω connected to EIA485 bus** Table 3.3 Temperature and termination configuration 3.4 Implemented Functions DK-AC-MBS-1 implements the following standard MODBUS functions: 3: Read Holding Registers 4: Read Input Registers 6: Write Single Register 16: Write Multiple Registers (Although this function is allowed, the interface does not allow write operations on more than 1 register with the same request, this means that length field should always be 1 when using this function for writes) Only in the interfaces connected at both ends of the bus must be activated the termination resistor. More information in section 3.6 ** © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 9 / 15 IntesisBox® DK-AC-MBS-1 3.5 User’s Manual r1.2 eng Device LED indicator The device includes a LED indicator to signal its different possible operational states. In the following table are presented the different indications it can perform and its meaning. Device status LED indication ON / OFF Period Meaning On power-up LED pulse ON for 5 seconds / OFF after Device reset / power-up During normal operation LED flashing 200ms ON / 2s OFF Device correctly configured and working During normal operation LED OFF OFF continuously No Modbus slave address configured LED blinking 200ms ON / 200ms OFF During normal operation 3.6 Communication Error with the AC unit RS485 bus. Termination resistors and Fail Safe Biasing mechanism RS485 bus requires a 120Ω terminator resistor at each end of the bus to avoid signal reflections. In order to prevent fail status detections by the receivers "listening" the bus when all the transmitters outputs are in three-state (high impedance), it is also required a fail-safe biasing mechanism. This mechanism provides a safe status (a correct voltage level) in the bus when all the transmitters’ outputs are in three-state. The DK-AC-MBS-1 device includes an on-board terminator resistor of 120Ω that can be connected to the RS485 bus by using DIP-switch P5 (see below). A fail safe biasing circuit has also been included in the board of DK-AC-MBS-1, it can be connected to the RS485 bus by placing the internal jumpers JP2 and JP3 (see details below). This fail safe biasing of the RS485 bus must only be supplied by one of the devices connected to the bus. As this fail safe biasing circuit also provides a termination resistance, only one of both must be selected in the DK-AC-MBS-1 device, fail safe biasing (jumpers JP2 and JP3 placed) or terminator resistor (DIP-switch P5 position 4 to ON). The device providing fail safe biasing or terminator resistor should be the one connected at one end of the bus. At the other end of the bus, if there is also a DK-AC-MBS-1 device, select the 120Ω terminator resistor through DIP-switch P5, or if there is a master device not providing internal 120Ω terminator resistor, connect an external 120Ω resistor in the bus terminal block connection of such master device. Some Modbus RTU RS485 master devices can provide also internal 120Ω terminator resistor and/or fail safe biasing (consult the technical documentation of the master device connected to the RS485 network in every case). © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 10 / 15 IntesisBox® DK-AC-MBS-1 User’s Manual r1.2 eng Location of jumpers and DIP-switches for RS485 bus Termination resistor or Fail Safe Biasing selection: CABLE AC UNIT FIXING JP1 P5 ON JP3: ON (jumper placed) JP2: ON (jumper placed) JP3 JP2 Fail safe biasing circuit connected to the RS485 bus 1 2 3 4 ON OFF 120Ω Terminator resistor No resistor CABLE To access to internal jumpers JP2 and JP3, extract the top cover of the interface inserting a small screw-driver or clip in the holes located at both sides of the cover. AC UNIT FIXING AC Unit IntesisBox® DK-AC-MBS-1 RS485 A B © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 11 / 15 IntesisBox® DK-AC-MBS-1 User’s Manual r1.2 eng 4. Specifications Dimensions: Weight: Operating Temperature: Stock Temperature: Operating Humidity: Stock Humidity: Isolation voltage: Isolation resistance: Modbus Media: 93 x 53 x 58 mm 85 g -40 . . . 85ºC -40 . . . 85ºC <95% RH, non-condensing <95% RH, non-condensing 1000 VDC 1000 MΩ Compatible with Modbus RTU - RS485 networks LED Indicator AC Unit connection DIP Switches DIP Switches 58 mm RS485 Port 53 mm 93 mm 5. List of supported AC Unit Types A list of Daikin indoor unit model references compatible with DK-AC-MBS-1 and their available features can be found in: http://www.intesis.com/pdf/IntesisBox_DK-AC-xxx-1_AC_Compatibility.pdf © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 12 / 15 IntesisBox® DK-AC-MBS-1 5.1 User’s Manual r1.2 eng Error Codes Error Code Error in Remote Controller 0 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 N/A A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AH AJ AE AF C0 C3 C4 C5 C6 C7 C8 C9 CA CH CC CJ CE CF E0 E1 E3 E4 E5 E6 E7 E8 E9 EA EH EC EJ EE EF H0 H1 H2 H3 H4 H5 H6 H7 Error category Error Description DK-AC-MBS-1 No active error External protection devices activated Indoor unit PCB assembly failure Interlock error for fan Drain level system error Temperature of heat exchanger (1) error Temperature of heat exchanger (2) error Fan motor locked, overload, over current Swing flap motor error Overcurrent of AC input Electronic expansion valve drive error Heater overheat Dust collector error / No-maintenance filter error Capacity setting error (indoor) Shortage of water supply Malfunctions of a humidifier system (water leaking) Indoor Unit Malfunctions in a sensor system Sensor system of drain water error Heat exchanger (1) (Liquid pipe) thermistor system error Heat exchanger (1) (Gas pipe) thermistor system error Sensor system error of fan motor locked, overload Sensor system of swing flag motor error Sensor system of over-current of AC input Suction air thermistor error Discharge air thermistor system error Contamination sensor error Humidity sensor error Remote control thermistor error Radiation sensor error High pressure switch sensor Protection devices activated Outdoor uni9t PCB assembly failure High pressure switch (HPS) activated Low pressure switch (LPS) activated Overload of inverter compressor motor Over current of STD compressor motor Overload of fan motor / Over current of fan motor Over current of AC input Electronic expansion valve drive error Four-way valve error Pump motor over current Outdoor Unit Water temperature abnormal (Site installed) Protection device activated Malfunctions in a drain water Ice thermal storage unit error Malfunctions in a sensor system Air temperature thermistor error Sensor system of power supply error High Pressure switch is faulty Low pressure switch is faulty Compressor motor overload sensor is abnormal Compressor motor over current sensor is abnormal Overload or over current sensor of fan motor is abnormal © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 13 / 15 IntesisBox® DK-AC-MBS-1 73 74 75 76 77 79 80 81 82 83 84 87 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 111 112 113 116 117 118 119 120 121 122 123 125 129 130 132 133 134 135 136 142 H8 H9 HA HH HC HE HF F0 F1 F2 F3 F6 FA FH FC FE FF J0 J1 J2 J3 J4 J5 J6 J7 J8 J9 JA JH JC JE JF L0 L3 L4 L5 L6 L7 L8 L9 LA LC P0 P1 P3 P4 P5 P6 P7 PJ 145 U0 146 147 148 U1 U2 U3 149 U4 150 U5 151 U6 System User’s Manual r1.2 eng Sensor system of over-current of AC input Outdoor air thermistor system error Discharge air thermistor system error Pump motor sensor system of over current is abnormal Water temperature sensor system error Sensor system of drain water is abnormal Ice thermal storage unit error (alarm) No.1 and No.2 common protection device operates. No.1 protection device operates. No.2 protection device operates Discharge pipe temperature is abnormal Temperature of heat exchanger(1) abnormal Discharge pressure abnormal Oil temperature is abnormally high Suction pressure abnormal Oil pressure abnormal Oil level abnormal Sensor system error of refrigerant temperature Pressure sensor error Current sensor error Discharge pipe thermistor system error Low pressure equivalent saturated temperature sensor system error Suction pipe thermistor system error Heat exchanger(1) thermistor system error Heat exchanger(2) thermistor system error Oil equalizer pipe or liquid pipe thermistor system error Double tube heat exchanger outlet or gas pipe thermistor system error Discharge pipe pressure sensor error Oil temperature sensor error Suction pipe pressure sensor error Oil pressure sensor error Oil level sensor error Inverter system error Temperature rise in a switch box Radiation fin (power transistor) temperature is too high Compressor motor grounded or short circuit, inverter PCB fault Compressor motor grounded or short circuit, inverter PCB fault Over current of all inputs Compressor over current, compressor motor wire cut Stall prevention error (start-up error) Compressor locked, etc. Power transistor error Communication error between inverter and outdoor control unit Shortage of refrigerant (thermal storage unit) Power voltage imbalance, open phase Sensor error of temperature rise in a switch box Radiation fin temperature sensor error DC current sensor system error AC or DC output current sensor system error Total input current sensor error Capacity setting error (outdoor) Low pressure drop due to insufficient refrigerant or electronic expansion valve error, etc. Reverse phase, Open phase Power voltage failure / Instantaneous power failure Failure to carry out check operation, transmission error Communication error between indoor unit and outdoor unit, communication error between outdoor unit and BS unit Communication error between remote control and indoor unit / Remote control board failure or setting error for remote control Communication error between indoor units © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 14 / 15 IntesisBox® DK-AC-MBS-1 152 U7 153 U8 154 U9 155 UA 156 UH 157 158 UC UJ 159 UE 160 UF 209 210 211 212 213 214 217 219 220 221 222 223 224 226 227 228 229 241 242 243 244 245 258 259 260 261 262 263 267 268 269 339 345 347 349 65535 60 61 62 63 64 65 68 6A 6H 6C 6J 6E 6F 51 52 53 54 40 41 42 43 44 31 32 33 34 35 36 3A 3H 3C M2 M8 MA MC N/A User’s Manual r1.2 eng Communication error between outdoor units / Communication error between outdoor unit and ice thermal storage unit Communication error between main and sub remote controllers (sub remote control error) / Combination error of other indoor unit / remote control in the same system (model) Communication error between other indoor unit and outdoor unit in the same system / Communication error between other BS unit and indoor/outdoor unit Combination error of indoor/BS/outdoor unit (model, quantity, etc.), setting error of spare parts PCB when replaced Improper connection of transmission wiring between outdoor and outdoor unit outside control adaptor Centralized address duplicated Attached equipment transmission error Communication error between indoor unit and centralized control device Failure to carry out check operation Indoor-outdoor, outdoor-outdoor communication error, etc. All system error PC board error Ozone density abnormal Contamination sensor error Indoor air thermistor system error Outdoor air thermistor system error HVU error (Ventiair dust-collecting unit) Dumper system error Door switch error Replace the humidity element Replace the high efficiency filter Replace the deodorization catalyst Simplified remote controller error Fan motor of supply air over current or overload Fan motor of return air over current / Fan motor of return air overload Inverter system error (supply air side) Inverter system error (return air side) Others Humidifying valve error Chilled water valve error Hot water valve error Heat exchanger of chilled water error Heat exchanger of hot water error The humidity sensor of return air sensor Outdoor air humidity sensor error Supply air temperature sensor error Return air temperature sensor error Outdoor air temperature sensor error Remote controller temperature sensor error Water leakage sensor 1 error Water leakage sensor 2 error Dew condensation error Centralized remote controller PCB error Communication error between centralized remote control devices Centralized remote control devices inappropriate combination Centralized remote controller address setting error DK-AC-MBS-1 Error in the communication of DK-AC-MBS-1device with the AC unit In case you detect an error code not listed, contact your nearest Daikin technical support service. © Intesis Software S.L. - All rights reserved This information is subject to change without notice IntesisBox® is a registered trademark of Intesis Software SL URL Email tel http://www.intesis.com [email protected] +34 938047134 15 / 15
© Copyright 2024