A Data-Driven Identification Procedure for HVAC Processes with Laboratory and Real-World Validation
Abstract
:1. Introduction
1.1. Motivation
1.2. HVAC Processes Identification
2. Materials and Methods
2.1. Control System Platform and Its Functions
- The platform is based on well-known open-source tools (MySQL, Apache web server, Java) resulting in low-cost implementation and high flexibility.
- Multiple operation systems are supported—Windows, Linux, Mac OS.
- Advanced numerical computing platforms are supported—MATLAB, Scilab. This is an advantage as most control system R&D laboratories, universities, individuals use MATLAB/Simulink or some similar open-source clone such as Scilab/Xcos to implement advanced control techniques. ASServer is directly using these computing platforms for their execution.
2.2. Data-Driven Identification Function
Row 1—name of output folder path and file where to store results. Row 2—informative message or any optional string. Row 3—number of input parameters (matrices) for identification. Row 4—number of results (if previous results from analysis need to be considered). * Row 5—definition of matrix dimensions (number of rows and columns). Row 6—the first row of matrix (timestamp and value of measurement). Row 7..(x − 1)—other rows of matrix (each row is on new line—new measurement). † Row x—number of initial parameters or previous results respectively. Row (x + 1)..(x + y)—matrix dimensions and rows values—analogous to part between * and †. |
- At first the process input/output and enable/disable signals are withdrawn from the input data file, after which their synchronisation in terms of start time is performed. Only data from a measurement in which the enabled signal has a value of logical 1 are taken into account in the identification. Subsequently, each of three signals is processed separately. Within this preprocessing embedded function a sampling time of the signal in seconds, signal duration and segmented time, as well as amplitude vector of the signal are determined. Their segmentation is evaluated based on a data continuity check and NaN samples finding. In case there are omitted samples in measurements, the function handles this by interpolating the values or by breaking the signal into two segments at that sample. For more information see [7] where the same approach was used.
- Next, the procedure continues by evaluating the number of their segments and searching for their data overlap. Each signal is truncated according to the manner the intersections of the segments were determined. In consequence, the requirement defined by operator—minimum length of signal segments to be identified—is checked. If there are suitable signal segments, the function processIdent() in the graphical mode shows them in a graphical window.
- Once the pre-processing is finished the system identification is performed. We remark that only the first Ljung’s modelling entity has been implemented by this point and the second and third point still need to be evaluated. The above mentioned Identification Toolbox is used to address these two stages. Specifically, to create the model structure idmodel() function is used, which is contained in armax() as well as arx() function of this toolbox. The armax() and arx() functions are used for estimation of model parameters based on input–output data by recursive least squares method—third Ljung’s modelling entity.
- After parameter estimation, the model is validated by fit_model() function which computes Mean Square Sum Error (MSSE), being the mean of squared differences between measured and simulated output. This sequence of estimation and model validation is evaluated in cycle in as many times as is the maximum model order set by the operator. Yet, if there is no improvement in model with higher order in comparison with previous one, the cycle is terminated. Improvement of the model is based on comparing MSSE of the last estimated model with the best one so far. In addition, the distance between the poles and zeros of the model polynomials is compared in order to avoid the model to be over-ordered. The same procedure is evaluated for both ARMAX and ARX modelling methods. The decision on the best model found is made afterwards, and the best model is selected based on the minimal MSSE of the particular model with data in all signal segments. If there is a previously identified model available in the input data file, this model is also validated with new data and compared with newly estimated model. If there is an improvement, the new model is written to the output data file as a result and thus it is also taken as a model for comparison in further function evaluation. In case of graphical mode, the graphical output is provided to operator.
- Finally, the result is written to the output data file created with the path and saved with the name defined in the input data file. The structure of the output data file is presented in Listing 2. The status of the procedure evaluation is also available to the user in GMS or PV, respectively, where it is loaded from the generated output data file. Note that the above identification procedure can be used as a basis for online tuning of the PID controller or other advanced control functions.
Row 1—return message for user (status of the procedure evaluation). Row 2—the best attained fit by the procedure. Row 3—value of model improvement rate. Row 4—new model polynomials if better have been found. |
2.3. Laboratory HVAC System and Residential House
3. Results
3.1. Experimental Setup
3.2. Experimental Results and Discussion
4. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A. Input and Output Data File Example
- Input:
- C:/Users/minarcik/Desktop/processIdent/identOutput_2c.dat
- string
- 3
- 1
- 1000,2
- 1584536132898,0.000000
- 1584536133903,1.000000
- 1584536134907,1.000000
- 1584536135912,1.000000
- …
- 1584537164659,0.000000
- 1584537165664,0.000000
- 1584537166670,0.000000
- 1584537167675,0.000000
- 1000,2
- 1584536132898,0.003565
- 1584536133903,0.005111
- 1584536134907,-0.006437
- 1584536135912,0.001828
- …
- 1584537164659,0.001854
- 1584537165664,0.005423
- 1584537166670,0.007792
- 1584537167675,-0.001491
- 1000,2
- 1584536132898,1.000000
- 1584536133903,1.000000
- 1584536134907,1.000000
- 1584536135912,1.000000
- …
- 1584537164659,1.000000
- 1584537165664,1.000000
- 1584537166670,1.000000
- 1584537167675,1.000000
- Previous results
- 2
- 1,3
- 1,-1.486232,0.534421
- 1,3
- 0,-0.190926,0.239978
- Output:
- MESSAGE: OK: Identification done!;
- MATRIX_0: [91.3938];
- MATRIX_1: [1];
- MATRIX_2: [[1,-1.9517779,0.9565069][0,-0.0197048,0.0244584][0,0,0]];
Appendix B. Scilab Console List during the processIdent() Procedure
- –>processIdent(’identInput_2c.dat’)
- -> Reading data from file…
- OK: Data have been read from file.
- OK: Input data have been read.
- OK: Previous results have been read.
- -> Data preprocessing…
- OK: The signal is not continuous-time and has been divided into 2 segments.
- OK: A duration of the 1. segment is 964.623 [s], being more than 50 [s], so this segment will be considered in further procedure.
- WARNING: A duration of the 2. segment is 34.652 [s], being less than 50 [s], so this segment will not be considered in further procedure.
- OK: The signal is not continuous-time and has been divided into 2 segments.
- OK: A duration of the 1. segment is 964.623 [s], being more than 50 [s], so this segment will be considered in further procedure.
- WARNING: A duration of the 2. segment is 34.652 [s], being less than 50 [s], so this segment will not be considered in further procedure.
- OK: The signal is not continuous-time and has been divided into 4 segments.
- OK: A duration of the 1. segment is 249.522 [s], being more than 50 [s], so this segment will be considered in further procedure.
- WARNING: A duration of the 2. segment is Nan [s], being less than 50 [s], so this segment will not be considered in further procedure.
- OK: A duration of the 3. segment is 683.947 [s], being more than 50 [s], so this segment will be considered in further procedure.
- WARNING: A duration of the 4. segment is 34.652 [s], being less than 50 [s], so this segment will not be considered in further procedure.
- OK: Selected signals have same sample time and will be identified.
- OK: The maximum number of segments is 2.
- OK: The minimum number of segments is 1.
- OK: There are two minimum numbers of segments, which are equal to 1.
- -> Finding data intersection in segments…
- OK: Intersection 1-1 is long enough.
- OK: Intersection 1-2 is long enough.
- OK: Intersection 2-1 is long enough.
- OK: Intersection 2-2 is long enough.
- OK: The 1. segment of intersection has been found in the 1. segment of the 3. signal.
- WARNING: The 1. segment of intersection has not been found in the 2. segment of the 3. signal.
- WARNING: The 2. segment of intersection has not been found in the 1. segment of the 3. signal.
- OK: The 2. segment of intersection has been found in the 2. segment of the 3. signal.
- OK: Data preprocessing done!
- -> System identification…
- -> System identification of the segment 1:
- OK: ARMAX model for 1. segment has been identified with the 1. order and the fit is 0.0350957.
- OK: ARMAX model for 1. segment has been identified with the 2. order and the fit is 0.0307637.
- OK: ARMAX model for 1. segment has been identified with the 3. order and the fit is 0.0237152.
- OK: ARMAX model for 1. segment has been identified with the 4. order and the fit is 0.0191336.
- OK: ARMAX model for 1. segment has been identified with the 5. order and the fit is 0.0144833.
- OK: ARX model for 1. segment has been identified with the 1. order and the fit is 0.0495796.
- OK: ARX model for 1. segment has been identified with the 2. order and the fit is 0.0022246.
- WARNING: ARX model with the 3. order is for 1. segment unstable.
- OK: The best fit model is 2. order ARX model with the fit equals to 0.0022246.
- OK: The best fit model has denominator A: 1,-1.943951,0.9487626, and numerator B: 0,-0.0137613,0.0186812,.
- -> System identification of the segment 2:
- OK: ARMAX model for 2. segment has been identified with the 1. order and the fit is 0.0113851.
- OK: ARMAX model for 2. segment has been identified with the 2. order and the fit is 0.0102139.
- OK: ARMAX model for 2. segment has been identified with the 3. order and the fit is 0.0085340.
- OK: ARMAX model for 2. segment has been identified with the 4. order and the fit is 0.0072503.
- OK: ARMAX model for 2. segment has been identified with the 5. order and the fit is 0.0058398.
- OK: ARX model for 2. segment has been identified with the 1. order and the fit is 0.0191615.
- OK: ARX model for 2. segment has been identified with the 2. order and the fit is 0.0011383.
- WARNING: ARX model with the 3. order is for 2. segment unstable.
- OK: The best fit model is 2. order ARX model with the fit equals to 0.0011383.
- OK: The best fit model has denominator A: 1,-1.9517779,0.9565069, and numerator B: 0,-0.0197048,0.0244584,.
- OK: There is previously identified model available with denominator A: 1,-1.9486232,0.9534421, and numerator B: 0,-0.0190926,0.0239978, thus will be considered in further validation.
- OK: The best model coming from validation comparison has denominator A: 1,-1.9517779,0.9565069, and numerator B: 0,-0.0197048,0.0244584, with 0.0023938 complex fit.
- OK: Better model has been found.
- -> Writing results to file…
- OK: Results have been written to the text file.
- ans =
- OK: Identification done!
References
- Al Dakheel, J.; Del Pero, C.; Aste, N.; Leonforte, F. Smart buildings features and key performance indicators: A review. Sustain. Cities Soc. 2020, 61, 102328. [Google Scholar] [CrossRef]
- Mirnaghi, M.S.; Haghighat, F. Fault detection and diagnosis of large-scale HVAC systems in buildings using data-driven methods: A comprehensive review. Energy Build. 2020, 229, 110492. [Google Scholar] [CrossRef]
- Gholamzadehmir, M.; Del Pero, C.; Buffa, S.; Fedrizzi, R.; Aste, N. Adaptive-predictive control strategy for HVAC systems in smart buildings—A review. Sustain. Cities Soc. 2020, 63, 102480. [Google Scholar] [CrossRef]
- Yao, Y.; Shekhar, D.K. State of the art review on model predictive control (MPC) in Heating Ventilation and Air-conditioning (HVAC) field. Build. Environ. 2021, 200, 107952. [Google Scholar] [CrossRef]
- Afram, A.; Janabi-Sharifi, F.; Fung, A.S.; Raahemifar, K. Artificial neural network (ANN) based model predictive control (MPC) and optimization of HVAC systems: A state of the art review and case study of a residential HVAC system. Energy Build. 2017, 141, 96–113. [Google Scholar] [CrossRef]
- Ljung, L. System Identification: Theory for the User, 2nd ed.; Pearson: London, UK, 1998. [Google Scholar]
- Minarčík, P.; Procházka, H.; Gulan, M. Advanced supervision of smart buildings using a novel open-source control platform. Sensors 2021, 21, 160. [Google Scholar] [CrossRef] [PubMed]
- Global Alliance for Buildings and Construction. 2019 Global Status Report for Buildings and Construction. 2019. Available online: https://globalabc.org/resources/publications/2019-global-status-report-buildings-and-construction (accessed on 15 December 2021).
- Global Alliance for Buildings and Construction. 2020 Global Status Report for Buildings and Construction. 2020. Available online: https://globalabc.org/resources/publications/2020-global-status-report-buildings-and-construction (accessed on 15 December 2021).
- Global Alliance for Buildings and Construction. 2021 Global Status Report for Buildings and Construction. 2021. Available online: https://globalabc.org/resources/publications/2021-global-status-report-buildings-and-construction (accessed on 15 December 2021).
- Eurostat. Disaggregated Final Energy Consumption in Households—Quantities. 2020. Available online: https://ec.europa.eu/eurostat/web/products-datasets/-/nrg_d_hhq (accessed on 2 October 2021).
- Homod, R.Z. Review on the HVAC system modeling types and the shortcomings of their application. J. Energy 2013, 2013, 768632. [Google Scholar] [CrossRef]
- Afroz, Z.; Shafiullah, G.; Urmee, T.; Higgins, G. Modeling techniques used in building HVAC control systems: A review. Renew. Sustain. Energy Rev. 2018, 83, 64–84. [Google Scholar] [CrossRef]
- Tangirala, A.K. Principles of System Identification: Theory and Practice; CRC Press: Boca Raton, FL, USA, 2014. [Google Scholar]
- Afram, A.; Janabi-Sharifi, F. Review of modeling methods for HVAC systems. Appl. Therm. Eng. 2014, 67, 507–519. [Google Scholar] [CrossRef]
- Ala’raj, M.; Radi, M.; Abbod, M.F.; Majdalawieh, M.; Parodi, M. Data-driven based HVAC optimisation approaches: A Systematic Literature Review. J. Build. Eng. 2021, 46, 103678. [Google Scholar] [CrossRef]
- Zeng, T.; Brooks, J.; Barooah, P. Simultaneous identification of linear building dynamic model and disturbance using sparsity-promoting optimization. Automatica 2021, 129, 109631. [Google Scholar] [CrossRef]
- Guo, Z.; Coffman, A.R.; Munk, J.; Im, P.; Kuruganti, T.; Barooah, P. Aggregation and data driven identification of building thermal dynamic model and unmeasured disturbance. Energy Build. 2021, 231, 110500. [Google Scholar] [CrossRef]
- Afram, A.; Fung, A.S.; Janabi-Sharifi, F.; Raahemifar, K. Development and performance comparison of low-order black-box models for a residential HVAC system. J. Build. Eng. 2018, 15, 137–155. [Google Scholar] [CrossRef]
- Afram, A.; Janabi-Sharifi, F. Black-box modeling of residential HVAC system and comparison of gray-box and black-box modeling methods. Energy Build. 2015, 94, 121–149. [Google Scholar] [CrossRef]
- Killian, M.; Mayer, B.; Kozek, M. Effective fuzzy black-box modeling for building heating dynamics. Energy Build. 2015, 96, 175–186. [Google Scholar] [CrossRef]
- Royer, S.; Thil, S.; Talbert, T.; Polit, M. Black-box modeling of buildings thermal behavior using system identification. IFAC Proc. Vol. 2014, 47, 10850–10855. [Google Scholar] [CrossRef] [Green Version]
- Gulan, M.; Salaj, M.; Rohaľ-Ilkiv, B. Application of adaptive multivariable generalized predictive control to a HVAC system in real time. Arch. Control. Sci. 2014, 24, 67–84. [Google Scholar] [CrossRef] [Green Version]
- Minarčík, P.; Gulan, M. Intelligent supervision concept integrated into a laboratory HVAC system. In Proceedings of the 23rd International Conference on Process Control, Štrbské Pleso, Slovakia, 1–4 June 2021; pp. 319–324. [Google Scholar]
- Prosystemy, s.r.o. About Us. 2020. Available online: http://prosystemy.sk/index.php?lang=en (accessed on 15 September 2021).
- Novotny, M. Identification Toolbox. 2012. Available online: https://atoms.scilab.org/toolboxes/identification/1.1.1 (accessed on 15 December 2021).
- Todorović, M.; Ristanović, M.; Galić, R.; Bajc, T. A novel laboratory set-up for investigation of intelligent automatic control in complex HVAC systems. FME Trans. 2016, 44, 65–70. [Google Scholar] [CrossRef]
- Koçyığıt, N.; Şahin, M. Design of a Laboratory Unit Air-Conditioning System with Matlab/Simulink Software. Acta Phys. Pol. A 2017, 132, 839–842. [Google Scholar] [CrossRef]
Modelling Technique | Criteria | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Easiness of Tuning | Auto Tuning | Robustness to Parameters | Robustness to Disturbances | Model Noisy Data | Prediction Accuracy | Generalization Capability | Linear/Non-Linear Models | Tuning Parameters Count | SISO/MIMO Models | ||
Black-box models | Frequency domain models with dead time | ⦿ | ✓ | ✓ | ✗ | ✗ | ⦿ | ⊙ | L | ⊙ | M |
Data mining algorithms | ⦿ | ✗ | ✗ | ✗ | ✓ | ◉ | ⊙ | N | ◉ | M | |
Fuzzy logic models | ⦿ | ✗ | ✓ | ✓ | ✗ | ◉ | ⦿ | N | ⦿ | M | |
Statistical models | ◉ | ✓ | ✗ | ✗ | ✓ | ⊙ | ⦿ | L | ◉ | S | |
State-space models | ⊙ | ✗ | ✗ | ✗ | ✗ | ◉ | ⊙ | L | ◉ | M | |
Geometrical models | ⦿ | ✗ | ✗ | ✗ | ✗ | ⦿ | ⦿ | N | ⦿ | S | |
Case based reasoning | ⦿ | ✓ | ✓ | ✗ | ✓ | ⦿ | ⦿ | N | ⦿ | M | |
Stochastic models | ⊙ | ✗ | ✗ | ✗ | ✓ | ◉ | ⊙ | N | ⊙ | M | |
Instantaneous models | ⦿ | ✗ | ✗ | ✗ | ✗ | ⦿ | ⊙ | N | ⊙ | M | |
White-box models | ⊙ | ✗ | ✗ | ✗ | ✗ | ⊙ | ◉ | L/N | ⊙ | M | |
Grey-box models | ⊙ | ✓ | ✓ | ✓ | ✓ | ◉ | ⦿ | L/N | ⊙ | M |
Air Type | Description |
---|---|
Exhausted air Ⓐ | Air exhausted from the room-1. |
Relief air Ⓑ | Part of exhausted air, which is exhausted to outside. |
Return air Ⓒ | Part of exhausted air, returned back to the air circulation of the system. |
Outside air Ⓓ | Fresh air aspirated to the system from the outdoor environment. |
Mixed air Ⓔ | Air created by mixing return and outside air flows. |
Conditioned air Ⓕ | Air conditioned by HCU-1 and humidifying device. |
Supplied air Ⓖ | Air blown by ventilator to the room-1. |
Parameter | Value |
---|---|
Label | Process Identification |
Computational platform URL | http://127.0.0.1/ASS/ass/aspcall.php |
Procedure call | processIdent |
Priority | 50 |
Scheduled | EVERY 14400 SEC |
Input control variable | cfn:: EV4_out0 |
Output control variable | cfn:: T4_out0 |
Enable control variable | cfn:: E4_out0 |
Input string | string |
Input structure | Duration of identified signal:CONTROL_VARIABLE[21600SEC], |
Minimum signal length: [600SEC], | |
Maximum model order: 5, | |
Initial numerator: 0, | |
Initial denominator: 0, | |
Initial disturbances: 0, | |
Result structure | Model numerator: REAL:0, |
Model denominator: REAL:0, | |
Model disturbances: REAL:0, | |
Result record size | 10 |
Result record resend | 1 |
Visualisation notification | Better model for selected process has been found. |
Visualisation alarm | |
GMS alarm | |
GMS warning | |
GMS notification |
Model | Experiment Environment | ||||
---|---|---|---|---|---|
Laboratory | Real-World | ||||
Experiment 1 | Experiment 2 | Experiment 1 | Experiment 2 | ||
of the segment no. | 1 | ||||
2 | |||||
3 | |||||
Best | |||||
MSSE | 1.9563 | 2.0216 | 0.6600 | 0.0219 | |
Fit | 61.1732 | 87.4249 | 45.5519 | 59.2458 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Minarčík, P.; Procházka, H.; Gulan, M. A Data-Driven Identification Procedure for HVAC Processes with Laboratory and Real-World Validation. Processes 2022, 10, 83. https://doi.org/10.3390/pr10010083
Minarčík P, Procházka H, Gulan M. A Data-Driven Identification Procedure for HVAC Processes with Laboratory and Real-World Validation. Processes. 2022; 10(1):83. https://doi.org/10.3390/pr10010083
Chicago/Turabian StyleMinarčík, Peter, Hynek Procházka, and Martin Gulan. 2022. "A Data-Driven Identification Procedure for HVAC Processes with Laboratory and Real-World Validation" Processes 10, no. 1: 83. https://doi.org/10.3390/pr10010083
APA StyleMinarčík, P., Procházka, H., & Gulan, M. (2022). A Data-Driven Identification Procedure for HVAC Processes with Laboratory and Real-World Validation. Processes, 10(1), 83. https://doi.org/10.3390/pr10010083