12286 lines
397 KiB
C
12286 lines
397 KiB
C
/*
|
||
* File: HVAC_model.c
|
||
*
|
||
* Code generated for Simulink model 'HVAC_model'.
|
||
*
|
||
* Model version : 1.760
|
||
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
|
||
* C/C++ source code generated on : Fri Apr 3 18:15:49 2026
|
||
*
|
||
* Target selection: ert.tlc
|
||
* Embedded hardware selection: ARM Compatible->ARM Cortex-M
|
||
* Emulation hardware selection:
|
||
* Differs from embedded hardware (MATLAB Host)
|
||
* Code generation objectives: Unspecified
|
||
* Validation result: Not run
|
||
*/
|
||
|
||
#include "HVAC_model.h"
|
||
#include <stdint.h>
|
||
#include <stdbool.h>
|
||
#include "HVAC_model_private.h"
|
||
#include <math.h>
|
||
#include "HVAC_model_types.h"
|
||
#include "Rs_Cal_Base.h"
|
||
|
||
/* Named constants for Test Sequence: '<Root>/Test Sequence' */
|
||
#define IN_step_1 ((uint8_t)1U)
|
||
#define IN_step_2 ((uint8_t)2U)
|
||
#define IN_step_3 ((uint8_t)3U)
|
||
|
||
/* Exported block states */
|
||
ActuatorCmdBus Actuator_Ch0_Command_Model;/* '<S381>/Data Store Memory15' */
|
||
ActuatorCmdBus Actuator_Ch1_Command_Model;/* '<S382>/Data Store Memory15' */
|
||
ActuatorCmdBus Actuator_Ch2_Command_Model;/* '<S383>/Data Store Memory15' */
|
||
CmdBusStatus Status_Sensor_Model; /* '<S2>/Data Store Memory' */
|
||
CmdBusError CCU_Errors_Model; /* '<Root>/Data Store Memory3' */
|
||
CmdBusPWMGet PWM_Get; /* '<S5>/Data Store Memory1' */
|
||
|
||
/* Block signals (default storage) */
|
||
B rtB;
|
||
|
||
/* Block states (default storage) */
|
||
DW rtDW;
|
||
|
||
/* External outputs (root outports fed by signals with default storage) */
|
||
ExtY rtY;
|
||
|
||
/* Real-time model */
|
||
static RT_MODEL rtM_;
|
||
RT_MODEL *const rtM = &rtM_;
|
||
uint16_t look1_iu16bs16lu64n32_binlcse(uint16_t u0, const int16_t bp0[], const
|
||
uint16_t table[], uint32_t maxIndex)
|
||
{
|
||
uint64_t frac;
|
||
uint32_t iLeft;
|
||
uint16_t y;
|
||
uint16_t yL_0d0;
|
||
uint16_t yR_0d0;
|
||
|
||
/* Column-major Lookup 1-D
|
||
Search method: 'binary'
|
||
Use previous index: 'off'
|
||
Interpolation method: 'Linear point-slope'
|
||
Extrapolation method: 'Clip'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Remove protection against out-of-range input in generated code: 'off'
|
||
Rounding mode: 'simplest'
|
||
*/
|
||
/* Prelookup - Index and Fraction
|
||
Index Search method: 'binary'
|
||
Extrapolation method: 'Clip'
|
||
Use previous index: 'off'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Remove protection against out-of-range input in generated code: 'off'
|
||
Rounding mode: 'simplest'
|
||
*/
|
||
yR_0d0 = u0;
|
||
if (u0 > 32767) {
|
||
yR_0d0 = 32767U;
|
||
}
|
||
|
||
if (u0 < bp0[0U]) {
|
||
iLeft = 0U;
|
||
frac = 0ULL;
|
||
} else if ((int16_t)yR_0d0 < bp0[maxIndex]) {
|
||
uint32_t bpIdx;
|
||
uint32_t iRght;
|
||
|
||
/* Binary Search */
|
||
bpIdx = maxIndex >> 1U;
|
||
iLeft = 0U;
|
||
iRght = maxIndex;
|
||
while (iRght - iLeft > 1U) {
|
||
if ((int16_t)yR_0d0 < bp0[bpIdx]) {
|
||
iRght = bpIdx;
|
||
} else {
|
||
iLeft = bpIdx;
|
||
}
|
||
|
||
bpIdx = (iRght + iLeft) >> 1U;
|
||
}
|
||
|
||
frac = ((uint64_t)(u0 - (uint32_t)bp0[iLeft]) << 32) / (uint32_t)(bp0[iLeft
|
||
+ 1U] - bp0[iLeft]);
|
||
} else {
|
||
iLeft = maxIndex - 1U;
|
||
frac = 4294967296ULL;
|
||
}
|
||
|
||
/* Column-major Interpolation 1-D
|
||
Interpolation method: 'Linear point-slope'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Rounding mode: 'simplest'
|
||
Overflow mode: 'wrapping'
|
||
*/
|
||
yR_0d0 = table[iLeft + 1U];
|
||
yL_0d0 = table[iLeft];
|
||
if (yR_0d0 >= yL_0d0) {
|
||
y = (uint16_t)((uint32_t)(uint16_t)(((uint16_t)((uint32_t)yR_0d0 - yL_0d0) *
|
||
frac) >> 32) + yL_0d0);
|
||
} else {
|
||
y = (uint16_t)((uint32_t)yL_0d0 - (uint16_t)(((uint16_t)((uint32_t)yL_0d0 -
|
||
yR_0d0) * frac) >> 32));
|
||
}
|
||
|
||
return y;
|
||
}
|
||
|
||
uint32_t binsearch_u32s16(int16_t u, const int16_t bp[], uint32_t startIndex,
|
||
uint32_t maxIndex)
|
||
{
|
||
uint32_t bpIdx;
|
||
uint32_t bpIndex;
|
||
uint32_t iRght;
|
||
|
||
/* Binary Search */
|
||
bpIdx = startIndex;
|
||
bpIndex = 0U;
|
||
iRght = maxIndex;
|
||
while (iRght - bpIndex > 1U) {
|
||
if (u < bp[bpIdx]) {
|
||
iRght = bpIdx;
|
||
} else {
|
||
bpIndex = bpIdx;
|
||
}
|
||
|
||
bpIdx = (iRght + bpIndex) >> 1U;
|
||
}
|
||
|
||
return bpIndex;
|
||
}
|
||
|
||
uint8_t look2_iu8bu8s16lu64n32_binlcse(uint8_t u0, uint8_t u1, const uint8_t
|
||
bp0[], const int16_t bp1[], const uint8_t table[], const uint32_t maxIndex[],
|
||
uint32_t stride)
|
||
{
|
||
uint64_t fractions[2];
|
||
uint64_t frac;
|
||
uint32_t bpIndices[2];
|
||
uint32_t bpIdx;
|
||
uint32_t iLeft;
|
||
uint32_t iRght;
|
||
uint8_t bpLeftVar;
|
||
uint8_t y;
|
||
uint8_t yL_0d0;
|
||
uint8_t yL_1d;
|
||
|
||
/* Column-major Lookup 2-D
|
||
Search method: 'binary'
|
||
Use previous index: 'off'
|
||
Interpolation method: 'Linear point-slope'
|
||
Extrapolation method: 'Clip'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Remove protection against out-of-range input in generated code: 'off'
|
||
Rounding mode: 'simplest'
|
||
*/
|
||
/* Prelookup - Index and Fraction
|
||
Index Search method: 'binary'
|
||
Extrapolation method: 'Clip'
|
||
Use previous index: 'off'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Remove protection against out-of-range input in generated code: 'off'
|
||
Rounding mode: 'simplest'
|
||
*/
|
||
if (u0 <= bp0[0U]) {
|
||
iLeft = 0U;
|
||
frac = 0ULL;
|
||
} else if (u0 < bp0[maxIndex[0U]]) {
|
||
/* Binary Search */
|
||
bpIdx = maxIndex[0U] >> 1U;
|
||
iLeft = 0U;
|
||
iRght = maxIndex[0U];
|
||
while (iRght - iLeft > 1U) {
|
||
if (u0 < bp0[bpIdx]) {
|
||
iRght = bpIdx;
|
||
} else {
|
||
iLeft = bpIdx;
|
||
}
|
||
|
||
bpIdx = (iRght + iLeft) >> 1U;
|
||
}
|
||
|
||
bpLeftVar = bp0[iLeft];
|
||
frac = ((uint64_t)((uint32_t)u0 - bpLeftVar) << 32) / ((uint32_t)bp0[iLeft +
|
||
1U] - bpLeftVar);
|
||
} else {
|
||
iLeft = maxIndex[0U] - 1U;
|
||
frac = 4294967296ULL;
|
||
}
|
||
|
||
fractions[0U] = frac;
|
||
bpIndices[0U] = iLeft;
|
||
|
||
/* Prelookup - Index and Fraction
|
||
Index Search method: 'binary'
|
||
Extrapolation method: 'Clip'
|
||
Use previous index: 'off'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Remove protection against out-of-range input in generated code: 'off'
|
||
Rounding mode: 'simplest'
|
||
*/
|
||
if (u1 < bp1[0U]) {
|
||
iLeft = 0U;
|
||
frac = 0ULL;
|
||
} else if (u1 < bp1[maxIndex[1U]]) {
|
||
/* Binary Search */
|
||
bpIdx = maxIndex[1U] >> 1U;
|
||
iLeft = 0U;
|
||
iRght = maxIndex[1U];
|
||
while (iRght - iLeft > 1U) {
|
||
if (u1 < bp1[bpIdx]) {
|
||
iRght = bpIdx;
|
||
} else {
|
||
iLeft = bpIdx;
|
||
}
|
||
|
||
bpIdx = (iRght + iLeft) >> 1U;
|
||
}
|
||
|
||
frac = ((uint64_t)(u1 - (uint32_t)bp1[iLeft]) << 32) / (uint32_t)(bp1[iLeft
|
||
+ 1U] - bp1[iLeft]);
|
||
} else {
|
||
iLeft = maxIndex[1U] - 1U;
|
||
frac = 4294967296ULL;
|
||
}
|
||
|
||
/* Column-major Interpolation 2-D
|
||
Interpolation method: 'Linear point-slope'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Rounding mode: 'simplest'
|
||
Overflow mode: 'wrapping'
|
||
*/
|
||
bpIdx = iLeft * stride + bpIndices[0U];
|
||
bpLeftVar = table[bpIdx + 1U];
|
||
yL_0d0 = table[bpIdx];
|
||
if (bpLeftVar >= yL_0d0) {
|
||
yL_1d = (uint8_t)((uint32_t)(uint8_t)(((uint8_t)((uint32_t)bpLeftVar -
|
||
yL_0d0) * fractions[0U]) >> 32) + yL_0d0);
|
||
} else {
|
||
yL_1d = (uint8_t)((uint32_t)yL_0d0 - (uint8_t)(((uint8_t)((uint32_t)yL_0d0 -
|
||
bpLeftVar) * fractions[0U]) >> 32));
|
||
}
|
||
|
||
bpIdx += stride;
|
||
bpLeftVar = table[bpIdx + 1U];
|
||
yL_0d0 = table[bpIdx];
|
||
if (bpLeftVar >= yL_0d0) {
|
||
bpLeftVar = (uint8_t)((uint32_t)(uint8_t)(((uint8_t)((uint32_t)bpLeftVar -
|
||
yL_0d0) * fractions[0U]) >> 32) + yL_0d0);
|
||
} else {
|
||
bpLeftVar = (uint8_t)((uint32_t)yL_0d0 - (uint8_t)(((uint8_t)((uint32_t)
|
||
yL_0d0 - bpLeftVar) * fractions[0U]) >> 32));
|
||
}
|
||
|
||
if (bpLeftVar >= yL_1d) {
|
||
y = (uint8_t)((uint32_t)(uint8_t)(((uint8_t)((uint32_t)bpLeftVar - yL_1d) *
|
||
frac) >> 32) + yL_1d);
|
||
} else {
|
||
y = (uint8_t)((uint32_t)yL_1d - (uint8_t)(((uint8_t)((uint32_t)yL_1d -
|
||
bpLeftVar) * frac) >> 32));
|
||
}
|
||
|
||
return y;
|
||
}
|
||
|
||
int16_t look1_iu16tdIs16_binlcs(uint16_t u0, const uint16_t bp0[], const double
|
||
table[], uint32_t maxIndex)
|
||
{
|
||
double frac;
|
||
double yL_0d0;
|
||
int32_t tmp_1;
|
||
uint32_t iLeft;
|
||
int16_t tmp;
|
||
int16_t tmp_0;
|
||
|
||
/* Column-major Lookup 1-D
|
||
Search method: 'binary'
|
||
Use previous index: 'off'
|
||
Interpolation method: 'Linear point-slope'
|
||
Extrapolation method: 'Clip'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Remove protection against out-of-range input in generated code: 'off'
|
||
*/
|
||
/* Prelookup - Index and Fraction
|
||
Index Search method: 'binary'
|
||
Extrapolation method: 'Clip'
|
||
Use previous index: 'off'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Remove protection against out-of-range input in generated code: 'off'
|
||
*/
|
||
if (u0 <= bp0[0U]) {
|
||
iLeft = 0U;
|
||
frac = 0.0;
|
||
} else if (u0 < bp0[maxIndex]) {
|
||
uint32_t bpIdx;
|
||
uint32_t iRght;
|
||
|
||
/* Binary Search */
|
||
bpIdx = maxIndex >> 1U;
|
||
iLeft = 0U;
|
||
iRght = maxIndex;
|
||
while (iRght - iLeft > 1U) {
|
||
if (u0 < bp0[bpIdx]) {
|
||
iRght = bpIdx;
|
||
} else {
|
||
iLeft = bpIdx;
|
||
}
|
||
|
||
bpIdx = (iRght + iLeft) >> 1U;
|
||
}
|
||
|
||
uint16_t bpLeftVar;
|
||
bpLeftVar = bp0[iLeft];
|
||
frac = (double)((uint32_t)u0 - bpLeftVar) / (double)((uint32_t)bp0[iLeft +
|
||
1U] - bpLeftVar);
|
||
} else {
|
||
iLeft = maxIndex - 1U;
|
||
frac = 1.0;
|
||
}
|
||
|
||
/* Column-major Interpolation 1-D
|
||
Interpolation method: 'Linear point-slope'
|
||
Use last breakpoint for index at or above upper limit: 'off'
|
||
Overflow mode: 'saturate'
|
||
*/
|
||
yL_0d0 = table[iLeft];
|
||
if (yL_0d0 < 32768.0) {
|
||
if (yL_0d0 >= -32768.0) {
|
||
tmp = (int16_t)yL_0d0;
|
||
} else {
|
||
tmp = INT16_MIN;
|
||
}
|
||
} else {
|
||
tmp = INT16_MAX;
|
||
}
|
||
|
||
frac *= table[iLeft + 1U] - yL_0d0;
|
||
if (frac < 32768.0) {
|
||
if (frac >= -32768.0) {
|
||
tmp_0 = (int16_t)frac;
|
||
} else {
|
||
tmp_0 = INT16_MIN;
|
||
}
|
||
} else {
|
||
tmp_0 = INT16_MAX;
|
||
}
|
||
|
||
tmp_1 = tmp + tmp_0;
|
||
if (tmp_1 > 32767) {
|
||
tmp_1 = 32767;
|
||
} else if (tmp_1 < -32768) {
|
||
tmp_1 = -32768;
|
||
}
|
||
|
||
return (int16_t)tmp_1;
|
||
}
|
||
|
||
uint32_t plook_u32s16_bincka(int16_t u, const int16_t bp[], uint32_t maxIndex)
|
||
{
|
||
uint32_t bpIndex;
|
||
|
||
/* Prelookup - Index only
|
||
Index Search method: 'binary'
|
||
Extrapolation method: 'Clip'
|
||
Use previous index: 'off'
|
||
Use last breakpoint for index at or above upper limit: 'on'
|
||
Remove protection against out-of-range input in generated code: 'off'
|
||
*/
|
||
if (u <= bp[0U]) {
|
||
bpIndex = 0U;
|
||
} else if (u < bp[maxIndex]) {
|
||
bpIndex = binsearch_u32s16(u, bp, maxIndex >> 1U, maxIndex);
|
||
} else {
|
||
bpIndex = maxIndex;
|
||
}
|
||
|
||
return bpIndex;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S91>/get_tg_FLL_for_LVL'
|
||
* '<S119>/get_tg_FLL_for_LVL'
|
||
* '<S67>/get_tg_for_LVL'
|
||
* '<S200>/get_tg_FLL_for_LVL'
|
||
* '<S228>/get_tg_FLL_for_LVL'
|
||
* '<S176>/get_tg_for_LVL'
|
||
*/
|
||
void get_tg_FLL_for_LVL(uint8_t rtu_ambient_Lvl, uint8_t rtu_set_tmp, int16_t
|
||
*rty_vals)
|
||
{
|
||
int32_t i;
|
||
uint32_t qY;
|
||
int16_t tmp[78];
|
||
|
||
/* : table = [ */
|
||
/* : g_assTG_FLL_LV0; */
|
||
/* : g_assTG_FLL_LV1; */
|
||
/* : g_assTG_FLL_LV2; */
|
||
/* : g_assTG_FLL_LV3; */
|
||
/* : g_assTG_FLL_LV4; */
|
||
/* : g_assTG_FLL_LV5 */
|
||
/* : ]; */
|
||
/* : vals = table(ambient_Lvl + 1, set_tmp - 16); */
|
||
for (i = 0; i < 13; i++) {
|
||
tmp[6 * i] = g_assTG_FLL_LV0[i];
|
||
tmp[6 * i + 1] = g_assTG_FLL_LV1[i];
|
||
tmp[6 * i + 2] = g_assTG_FLL_LV2[i];
|
||
tmp[6 * i + 3] = g_assTG_FLL_LV3[i];
|
||
tmp[6 * i + 4] = g_assTG_FLL_LV4[i];
|
||
tmp[6 * i + 5] = g_assTG_FLL_LV5[i];
|
||
}
|
||
|
||
i = (int32_t)(rtu_ambient_Lvl + 1U);
|
||
if (rtu_ambient_Lvl + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */
|
||
qY = rtu_set_tmp - 16U;
|
||
|
||
/* MW:end MISRA2012:D4.1 CERT-C:INT30-C */
|
||
if (rtu_set_tmp - 16U > rtu_set_tmp) {
|
||
qY = 0U;
|
||
}
|
||
|
||
*rty_vals = tmp[(((int32_t)qY - 1) * 6 + i) - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S98>/get_tg_FLL_for_LVL'
|
||
* '<S126>/get_tg_FLL_for_LVL'
|
||
* '<S73>/get_tg_FLL_for_LVL'
|
||
* '<S207>/get_tg_FLL_for_LVL'
|
||
* '<S235>/get_tg_FLL_for_LVL'
|
||
* '<S182>/get_tg_FLL_for_LVL'
|
||
*/
|
||
void get_tg_FLL_for_LVL_j(uint8_t rtu_ambient_Lvl, uint8_t rtu_set_tmp, int16_t *
|
||
rty_vals)
|
||
{
|
||
int32_t i;
|
||
uint32_t qY;
|
||
int16_t tmp[78];
|
||
|
||
/* : table = [ */
|
||
/* : g_assTG_FRL_LV0; */
|
||
/* : g_assTG_FRL_LV1; */
|
||
/* : g_assTG_FRL_LV2; */
|
||
/* : g_assTG_FRL_LV3; */
|
||
/* : g_assTG_FRL_LV4; */
|
||
/* : g_assTG_FRL_LV5 */
|
||
/* : ]; */
|
||
/* : vals = table(ambient_Lvl + 1, set_tmp - 16); */
|
||
for (i = 0; i < 13; i++) {
|
||
tmp[6 * i] = g_assTG_FRL_LV0[i];
|
||
tmp[6 * i + 1] = g_assTG_FRL_LV1[i];
|
||
tmp[6 * i + 2] = g_assTG_FRL_LV2[i];
|
||
tmp[6 * i + 3] = g_assTG_FRL_LV3[i];
|
||
tmp[6 * i + 4] = g_assTG_FRL_LV4[i];
|
||
tmp[6 * i + 5] = g_assTG_FRL_LV5[i];
|
||
}
|
||
|
||
i = (int32_t)(rtu_ambient_Lvl + 1U);
|
||
if (rtu_ambient_Lvl + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */
|
||
qY = rtu_set_tmp - 16U;
|
||
|
||
/* MW:end MISRA2012:D4.1 CERT-C:INT30-C */
|
||
if (rtu_set_tmp - 16U > rtu_set_tmp) {
|
||
qY = 0U;
|
||
}
|
||
|
||
*rty_vals = tmp[(((int32_t)qY - 1) * 6 + i) - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S88>/g_assFLOW_BI_AMB_TGT'
|
||
* '<S89>/g_assFLOW_BI_AMB_TGT'
|
||
* '<S197>/g_assFLOW_BI_AMB_TGT'
|
||
* '<S198>/g_assFLOW_BI_AMB_TGT'
|
||
*/
|
||
void g_assFLOW_BI_AMB_TGT_n(uint8_t rtu_LVL, int16_t *rty_c_g_assFLOW_BI_AMB_TGT)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : c_g_assFLOW_BI_AMB_TGT = g_assFLOW_BI_AMB_TGT(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_c_g_assFLOW_BI_AMB_TGT = g_assFLOW_BI_AMB_TGT[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S29>/Bilevel'
|
||
* '<S30>/Bilevel'
|
||
*/
|
||
void Bilevel(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9], uint8_t
|
||
rtu_setTempFL, uint8_t rtu_setTempFR)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
int16_t rtb_u_eg;
|
||
uint16_t rtb_FLF_NEW;
|
||
uint16_t rtb_FRF_NEW;
|
||
uint16_t rtb_Switch2_a_idx_0;
|
||
uint16_t rtb_Switch2_a_idx_1;
|
||
uint16_t rtb_Switch2_c_0;
|
||
int8_t rtb_X;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN;
|
||
uint8_t rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX;
|
||
uint8_t rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX_n;
|
||
uint8_t rtb_c_g_aucFLOW_BI_FOOT_VALVE_MIN;
|
||
uint8_t rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX;
|
||
uint8_t rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h;
|
||
uint8_t rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN;
|
||
uint8_t rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a;
|
||
|
||
/* MATLAB Function: '<S91>/get_tg_FLL_for_LVL' */
|
||
/* : c_g_assFLOW_BI_TEMP_TGT = g_assFLOW_BI_TEMP_TGT(LVL + 1); */
|
||
get_tg_FLL_for_LVL(rtu_LVL, rtu_setTempFL, &rtb_u_eg);
|
||
|
||
/* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT' */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Sum: '<S91>/ 1' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
rtb_u_eg = (int16_t)(g_assFLOW_BI_TEMP_TGT[tmp_0 - 1] - rtb_u_eg);
|
||
|
||
/* Gain: '<S91>/Gain6' */
|
||
tmp_0 = 13107 * rtb_u_eg;
|
||
rtb_X = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 &
|
||
65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17));
|
||
|
||
/* Switch: '<S86>/Switch1' incorporates:
|
||
* Gain: '<S86>/Gain6'
|
||
* Sum: '<S86>/Add'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_FOOT_PLUS = g_aucFLOW_BI_FOOT_PLUS(LVL + 1); */
|
||
if (rtb_X >= 0) {
|
||
rtb_FLF_NEW = rty_Out1[4];
|
||
} else {
|
||
/* MATLAB Function: '<S86>/g_aucFLOW_BI_FOOT_PLUS_LEFT' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Gain: '<S86>/Gain6' incorporates:
|
||
* MATLAB Function: '<S86>/g_aucFLOW_BI_FOOT_PLUS_LEFT'
|
||
* Product: '<S86>/Product3'
|
||
*/
|
||
tmp_0 = g_aucFLOW_BI_FOOT_PLUS[tmp_0 - 1] * rtb_X * 13107;
|
||
rtb_FLF_NEW = (uint16_t)((int16_t)rty_Out1[4] - (int8_t)(((((uint32_t)tmp_0
|
||
& 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17)));
|
||
}
|
||
|
||
/* End of Switch: '<S86>/Switch1' */
|
||
|
||
/* MATLAB Function: '<S86>/g_aucFLOW_BI_FOOT_VALVE_MAX1' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_FOOT_VALVE_MAX = g_aucFLOW_BI_FOOT_VALVE_MAX(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX_n = g_aucFLOW_BI_FOOT_VALVE_MAX[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S86>/g_aucFLOW_BI_FOOT_VALVE_MAX1' */
|
||
|
||
/* MATLAB Function: '<S86>/g_aucFLOW_BI_FOOT_VALVE_MIN1' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI_FOOT_VALVE_MIN(LVL +1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI_FOOT_VALVE_MIN[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S86>/g_aucFLOW_BI_FOOT_VALVE_MIN1' */
|
||
|
||
/* MATLAB Function: '<S98>/get_tg_FLL_for_LVL' */
|
||
/* : c_g_assFLOW_BI_TEMP_TGT = g_assFLOW_BI_TEMP_TGT(LVL + 1 + 6); */
|
||
get_tg_FLL_for_LVL_j(rtu_LVL, rtu_setTempFR, &rtb_u_eg);
|
||
|
||
/* MATLAB Function: '<S98>/g_assFLOW_BI_TEMP_TGT_RIGHT' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Sum: '<S98>/ 1' incorporates:
|
||
* MATLAB Function: '<S98>/g_assFLOW_BI_TEMP_TGT_RIGHT'
|
||
*/
|
||
rtb_u_eg = (int16_t)(g_assFLOW_BI_TEMP_TGT[tmp - 1] - rtb_u_eg);
|
||
|
||
/* Gain: '<S98>/Gain6' */
|
||
tmp_0 = 13107 * rtb_u_eg;
|
||
rtb_X = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 &
|
||
65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17));
|
||
|
||
/* Switch: '<S87>/Switch3' incorporates:
|
||
* Gain: '<S87>/Gain7'
|
||
* Sum: '<S87>/Add1'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_FOOT_PLUS = g_aucFLOW_BI_FOOT_PLUS(LVL + 1 + 6); */
|
||
if (rtb_X >= 0) {
|
||
rtb_FRF_NEW = rty_Out1[6];
|
||
} else {
|
||
/* MATLAB Function: '<S87>/g_aucFLOW_BI_FOOT_PLUS_RIGHT' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Gain: '<S87>/Gain7' incorporates:
|
||
* MATLAB Function: '<S87>/g_aucFLOW_BI_FOOT_PLUS_RIGHT'
|
||
* Product: '<S87>/Product4'
|
||
*/
|
||
tmp_0 = g_aucFLOW_BI_FOOT_PLUS[tmp - 1] * rtb_X * 13107;
|
||
rtb_FRF_NEW = (uint16_t)((int16_t)rty_Out1[6] - (int8_t)(((((uint32_t)tmp_0
|
||
& 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17)));
|
||
}
|
||
|
||
/* End of Switch: '<S87>/Switch3' */
|
||
|
||
/* MATLAB Function: '<S87>/g_aucFLOW_BI_FOOT_VALVE_MAX2' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_FOOT_VALVE_MAX = g_aucFLOW_BI_FOOT_VALVE_MAX(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX = g_aucFLOW_BI_FOOT_VALVE_MAX[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S87>/g_aucFLOW_BI_FOOT_VALVE_MAX2' */
|
||
|
||
/* MATLAB Function: '<S87>/g_aucFLOW_BI_FOOT_VALVE_MIN2' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_FOOT_VALVE_MIN = g_aucFLOW_BI_FOOT_VALVE_MIN(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI_FOOT_VALVE_MIN = g_aucFLOW_BI_FOOT_VALVE_MIN[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S87>/g_aucFLOW_BI_FOOT_VALVE_MIN2' */
|
||
|
||
/* MATLAB Function: '<S88>/g_assFLOW_BI_AMB_TGT' */
|
||
/* : c_g_aucFLOW_BI_VENT_PLUS = g_aucFLOW_BI_VENT_PLUS(LVL + 1); */
|
||
g_assFLOW_BI_AMB_TGT_n(rtu_LVL, &rtb_u_eg);
|
||
|
||
/* MATLAB Function: '<S88>/g_aucFLOW_BI_VENT_PLUS' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Gain: '<S88>/Gain2' incorporates:
|
||
* Sum: '<S88>/deg'
|
||
*/
|
||
tmp = (int16_t)(rtb_u_eg - rtu_Amb_Fb) * 13107;
|
||
|
||
/* Product: '<S88>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* Gain: '<S88>/Gain'
|
||
* Gain: '<S88>/Gain2'
|
||
* MATLAB Function: '<S88>/g_aucFLOW_BI_VENT_PLUS'
|
||
*/
|
||
rtb_u_eg = (int16_t)((int8_t)(((((uint32_t)tmp & 65536U) != 0U) &&
|
||
((((uint32_t)tmp & 65535U) != 0U) || (tmp > 0))) + (tmp >> 17)) * (int32_t)
|
||
((g_aucFLOW_BI_VENT_PLUS[tmp_0 - 1] * 205U + 1024U) >> 11));
|
||
|
||
/* DataTypeConversion: '<S88>/Data Type Conversion' incorporates:
|
||
* Sum: '<S88>/ '
|
||
* Switch: '<S104>/Switch2'
|
||
*/
|
||
rtb_Switch2_a_idx_0 = (uint16_t)((uint16_t)((rty_Out1[0] - rtb_u_eg) >> 1) <<
|
||
1);
|
||
rtb_Switch2_a_idx_1 = (uint16_t)((uint16_t)((rty_Out1[1] - rtb_u_eg) >> 1) <<
|
||
1);
|
||
|
||
/* MATLAB Function: '<S88>/g_aucFLOW_BI_VENT_VALVE_MAX' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_VENT_VALVE_MAX = g_aucFLOW_BI_VENT_VALVE_MAX(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h = g_aucFLOW_BI_VENT_VALVE_MAX[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S88>/g_aucFLOW_BI_VENT_VALVE_MAX' */
|
||
|
||
/* MATLAB Function: '<S88>/g_aucFLOW_BI_VENT_VALVE_MIN' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_VENT_VALVE_MIN = g_aucFLOW_BI_VENT_VALVE_MIN(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a = g_aucFLOW_BI_VENT_VALVE_MIN[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S88>/g_aucFLOW_BI_VENT_VALVE_MIN' */
|
||
|
||
/* MATLAB Function: '<S89>/g_assFLOW_BI_AMB_TGT' */
|
||
/* : c_g_aucFLOW_BI_VENT_PLUS = g_aucFLOW_BI_VENT_PLUS(LVL + 1 + 6); */
|
||
g_assFLOW_BI_AMB_TGT_n(rtu_LVL, &rtb_u_eg);
|
||
|
||
/* MATLAB Function: '<S89>/g_aucFLOW_BI_VENT_PLUS' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Gain: '<S89>/Gain2' incorporates:
|
||
* Sum: '<S89>/deg'
|
||
*/
|
||
tmp_0 = (int16_t)(rtb_u_eg - rtu_Amb_Fb) * 13107;
|
||
|
||
/* Product: '<S89>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* Gain: '<S89>/Gain'
|
||
* Gain: '<S89>/Gain2'
|
||
* MATLAB Function: '<S89>/g_aucFLOW_BI_VENT_PLUS'
|
||
*/
|
||
rtb_u_eg = (int16_t)((int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) &&
|
||
((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)) *
|
||
(int32_t)((g_aucFLOW_BI_VENT_PLUS[tmp - 1] * 205U + 1024U)
|
||
>> 11));
|
||
|
||
/* MATLAB Function: '<S89>/g_aucFLOW_BI_VENT_VALVE_MAX' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_VENT_VALVE_MAX = g_aucFLOW_BI_VENT_VALVE_MAX(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX = g_aucFLOW_BI_VENT_VALVE_MAX[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S89>/g_aucFLOW_BI_VENT_VALVE_MAX' */
|
||
|
||
/* MATLAB Function: '<S89>/g_aucFLOW_BI_VENT_VALVE_MIN' incorporates:
|
||
* MATLAB Function: '<S91>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI_VENT_VALVE_MIN = g_aucFLOW_BI_VENT_VALVE_MIN(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN = g_aucFLOW_BI_VENT_VALVE_MIN[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S89>/g_aucFLOW_BI_VENT_VALVE_MIN' */
|
||
|
||
/* DataTypeConversion: '<S89>/Data Type Conversion' incorporates:
|
||
* Sum: '<S89>/ '
|
||
* Switch: '<S109>/Switch2'
|
||
*/
|
||
rtb_Switch2_c_0 = (uint16_t)((uint16_t)((rty_Out1[0] - rtb_u_eg) >> 1) << 1);
|
||
|
||
/* Switch: '<S104>/Switch2' incorporates:
|
||
* RelationalOperator: '<S104>/LowerRelop1'
|
||
* RelationalOperator: '<S104>/UpperRelop'
|
||
* Switch: '<S104>/Switch'
|
||
*/
|
||
if (rtb_Switch2_a_idx_0 > rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h) {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[0] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h;
|
||
} else if (rtb_Switch2_a_idx_0 < rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a) {
|
||
/* Switch: '<S104>/Switch' incorporates:
|
||
* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]'
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[0] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a;
|
||
} else {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
* Switch: '<S104>/Switch'
|
||
*/
|
||
rty_Out1[0] = rtb_Switch2_a_idx_0;
|
||
}
|
||
|
||
/* Switch: '<S109>/Switch2' incorporates:
|
||
* RelationalOperator: '<S109>/LowerRelop1'
|
||
* RelationalOperator: '<S109>/UpperRelop'
|
||
* Switch: '<S109>/Switch'
|
||
*/
|
||
if (rtb_Switch2_c_0 > rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX) {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[2] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX;
|
||
} else if (rtb_Switch2_c_0 < rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN) {
|
||
/* Switch: '<S109>/Switch' incorporates:
|
||
* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]'
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[2] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN;
|
||
} else {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
* Switch: '<S109>/Switch'
|
||
*/
|
||
rty_Out1[2] = rtb_Switch2_c_0;
|
||
}
|
||
|
||
/* DataTypeConversion: '<S89>/Data Type Conversion' incorporates:
|
||
* Sum: '<S89>/ '
|
||
* Switch: '<S109>/Switch2'
|
||
*/
|
||
rtb_Switch2_c_0 = (uint16_t)((uint16_t)((rty_Out1[1] - rtb_u_eg) >> 1) << 1);
|
||
|
||
/* Switch: '<S104>/Switch2' incorporates:
|
||
* RelationalOperator: '<S104>/LowerRelop1'
|
||
* RelationalOperator: '<S104>/UpperRelop'
|
||
* Switch: '<S104>/Switch'
|
||
*/
|
||
if (rtb_Switch2_a_idx_1 > rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h) {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[1] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX_h;
|
||
} else if (rtb_Switch2_a_idx_1 < rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a) {
|
||
/* Switch: '<S104>/Switch' incorporates:
|
||
* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]'
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[1] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN_a;
|
||
} else {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
* Switch: '<S104>/Switch'
|
||
*/
|
||
rty_Out1[1] = rtb_Switch2_a_idx_1;
|
||
}
|
||
|
||
/* Switch: '<S109>/Switch2' incorporates:
|
||
* RelationalOperator: '<S109>/LowerRelop1'
|
||
* RelationalOperator: '<S109>/UpperRelop'
|
||
* Switch: '<S109>/Switch'
|
||
*/
|
||
if (rtb_Switch2_c_0 > rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX) {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[3] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MAX;
|
||
} else if (rtb_Switch2_c_0 < rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN) {
|
||
/* Switch: '<S109>/Switch' incorporates:
|
||
* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]'
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[3] = rtb_c_g_aucFLOW_BI_VENT_VALVE_MIN;
|
||
} else {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
* Switch: '<S109>/Switch'
|
||
*/
|
||
rty_Out1[3] = rtb_Switch2_c_0;
|
||
}
|
||
|
||
/* Switch: '<S90>/Switch2' incorporates:
|
||
* RelationalOperator: '<S90>/LowerRelop1'
|
||
* RelationalOperator: '<S90>/UpperRelop'
|
||
* Switch: '<S90>/Switch'
|
||
*/
|
||
if (rtb_FLF_NEW > rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX_n) {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [5]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[4] = rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX_n;
|
||
} else if (rtb_FLF_NEW < rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN) {
|
||
/* Switch: '<S90>/Switch' incorporates:
|
||
* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [5]'
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[4] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN;
|
||
} else {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [5]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
* Switch: '<S90>/Switch'
|
||
*/
|
||
rty_Out1[4] = rtb_FLF_NEW;
|
||
}
|
||
|
||
/* End of Switch: '<S90>/Switch2' */
|
||
|
||
/* Switch: '<S97>/Switch2' incorporates:
|
||
* RelationalOperator: '<S97>/LowerRelop1'
|
||
* RelationalOperator: '<S97>/UpperRelop'
|
||
* Switch: '<S97>/Switch'
|
||
*/
|
||
if (rtb_FRF_NEW > rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX) {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[6] = rtb_c_g_aucFLOW_BI_FOOT_VALVE_MAX;
|
||
} else if (rtb_FRF_NEW < rtb_c_g_aucFLOW_BI_FOOT_VALVE_MIN) {
|
||
/* Switch: '<S97>/Switch' incorporates:
|
||
* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]'
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
*/
|
||
rty_Out1[6] = rtb_c_g_aucFLOW_BI_FOOT_VALVE_MIN;
|
||
} else {
|
||
/* Assignment: '<S35>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]' incorporates:
|
||
* SignalConversion generated from: '<S35>/Out1'
|
||
* Switch: '<S97>/Switch'
|
||
*/
|
||
rty_Out1[6] = rtb_FRF_NEW;
|
||
}
|
||
|
||
/* End of Switch: '<S97>/Switch2' */
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S116>/g_assFLOW_BI_AMB_TGT'
|
||
* '<S117>/g_assFLOW_BI_AMB_TGT'
|
||
* '<S225>/g_assFLOW_BI_AMB_TGT'
|
||
* '<S226>/g_assFLOW_BI_AMB_TGT'
|
||
*/
|
||
void g_assFLOW_BI_AMB_TGT_e(uint8_t rtu_LVL, int16_t
|
||
*rty_c_g_assFLOW_BI2_AMB_TGT)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : c_g_assFLOW_BI2_AMB_TGT = g_assFLOW_B2I_AMB_TGT(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_c_g_assFLOW_BI2_AMB_TGT = g_assFLOW_B2I_AMB_TGT[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S29>/Bilevel2'
|
||
* '<S30>/Bilevel2'
|
||
*/
|
||
void Bilevel2(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9], uint8_t
|
||
rtu_setTempFL, uint8_t rtu_setTempFR)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
int16_t rtb_u_abl;
|
||
uint16_t rtb_FLF_NEW;
|
||
uint16_t rtb_FRF_NEW;
|
||
uint16_t rtb_Switch2_i_idx_0;
|
||
uint16_t rtb_Switch2_i_idx_1;
|
||
uint16_t rtb_Switch2_p_0;
|
||
int8_t rtb_X;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX_l;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN_l;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN;
|
||
uint8_t rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f;
|
||
|
||
/* MATLAB Function: '<S119>/get_tg_FLL_for_LVL' */
|
||
/* : c_g_assFLOW_BI2_TEMP_TGT = g_assFLOW_BI2_TEMP_TGT(LVL + 1); */
|
||
get_tg_FLL_for_LVL(rtu_LVL, rtu_setTempFL, &rtb_u_abl);
|
||
|
||
/* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT' */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Sum: '<S119>/ 1' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
rtb_u_abl = (int16_t)(g_assFLOW_BI2_TEMP_TGT[tmp_0 - 1] - rtb_u_abl);
|
||
|
||
/* Gain: '<S119>/Gain6' */
|
||
tmp_0 = 13107 * rtb_u_abl;
|
||
rtb_X = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 &
|
||
65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17));
|
||
|
||
/* Switch: '<S114>/Switch1' incorporates:
|
||
* Gain: '<S114>/Gain6'
|
||
* Sum: '<S114>/Add'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_FOOT_PLUS = g_aucFLOW_BI2_FOOT_PLUS(LVL + 1); */
|
||
if (rtb_X >= 0) {
|
||
rtb_FLF_NEW = rty_Out1[4];
|
||
} else {
|
||
/* MATLAB Function: '<S114>/g_aucFLOW_BI_FOOT_PLUS_LEFT' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Gain: '<S114>/Gain6' incorporates:
|
||
* MATLAB Function: '<S114>/g_aucFLOW_BI_FOOT_PLUS_LEFT'
|
||
* Product: '<S114>/Product3'
|
||
*/
|
||
tmp_0 = g_aucFLOW_BI2_FOOT_PLUS[tmp_0 - 1] * rtb_X * 13107;
|
||
rtb_FLF_NEW = (uint16_t)((int16_t)rty_Out1[4] - (int8_t)(((((uint32_t)tmp_0
|
||
& 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17)));
|
||
}
|
||
|
||
/* End of Switch: '<S114>/Switch1' */
|
||
|
||
/* MATLAB Function: '<S114>/g_aucFLOW_BI_FOOT_VALVE_MAX1' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_FOOT_VALVE_MAX = g_aucFLOW_BI2_FOOT_VALVE_MAX(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX_l = g_aucFLOW_BI2_FOOT_VALVE_MAX[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S114>/g_aucFLOW_BI_FOOT_VALVE_MAX1' */
|
||
|
||
/* MATLAB Function: '<S114>/g_aucFLOW_BI_FOOT_VALVE_MIN1' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI2_FOOT_VALVE_MIN(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI2_FOOT_VALVE_MIN[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S114>/g_aucFLOW_BI_FOOT_VALVE_MIN1' */
|
||
|
||
/* MATLAB Function: '<S126>/get_tg_FLL_for_LVL' */
|
||
/* : c_g_assFLOW_BI2_TEMP_TGT = g_assFLOW_BI2_TEMP_TGT(LVL + 1 + 6); */
|
||
get_tg_FLL_for_LVL_j(rtu_LVL, rtu_setTempFR, &rtb_u_abl);
|
||
|
||
/* MATLAB Function: '<S126>/g_assFLOW_BI2_TEMP_TGT_RIGHT' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Sum: '<S126>/ 1' incorporates:
|
||
* MATLAB Function: '<S126>/g_assFLOW_BI2_TEMP_TGT_RIGHT'
|
||
*/
|
||
rtb_u_abl = (int16_t)(g_assFLOW_BI2_TEMP_TGT[tmp - 1] - rtb_u_abl);
|
||
|
||
/* Gain: '<S126>/Gain6' */
|
||
tmp_0 = 13107 * rtb_u_abl;
|
||
rtb_X = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 &
|
||
65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17));
|
||
|
||
/* Switch: '<S115>/Switch3' incorporates:
|
||
* Gain: '<S115>/Gain7'
|
||
* Sum: '<S115>/Add1'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_FOOT_PLUS = g_aucFLOW_BI2_FOOT_PLUS(LVL + 1 + 6); */
|
||
if (rtb_X >= 0) {
|
||
rtb_FRF_NEW = rty_Out1[6];
|
||
} else {
|
||
/* MATLAB Function: '<S115>/g_aucFLOW_BI_FOOT_PLUS_RIGHT' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Gain: '<S115>/Gain7' incorporates:
|
||
* MATLAB Function: '<S115>/g_aucFLOW_BI_FOOT_PLUS_RIGHT'
|
||
* Product: '<S115>/Product4'
|
||
*/
|
||
tmp_0 = g_aucFLOW_BI2_FOOT_PLUS[tmp - 1] * rtb_X * 13107;
|
||
rtb_FRF_NEW = (uint16_t)((int16_t)rty_Out1[6] - (int8_t)(((((uint32_t)tmp_0
|
||
& 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17)));
|
||
}
|
||
|
||
/* End of Switch: '<S115>/Switch3' */
|
||
|
||
/* MATLAB Function: '<S115>/g_aucFLOW_BI_FOOT_VALVE_MAX2' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_FOOT_VALVE_MAX = g_aucFLOW_BI2_FOOT_VALVE_MAX(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX = g_aucFLOW_BI2_FOOT_VALVE_MAX[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S115>/g_aucFLOW_BI_FOOT_VALVE_MAX2' */
|
||
|
||
/* MATLAB Function: '<S115>/g_aucFLOW_BI_FOOT_VALVE_MIN2' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_FOOT_VALVE_MIN = g_aucFLOW_BI2_FOOT_VALVE_MIN(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN_l = g_aucFLOW_BI2_FOOT_VALVE_MIN[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S115>/g_aucFLOW_BI_FOOT_VALVE_MIN2' */
|
||
|
||
/* MATLAB Function: '<S116>/g_assFLOW_BI_AMB_TGT' */
|
||
/* : c_g_aucFLOW_BI2_VENT_PLUS = g_aucFLOW_BI2_VENT_PLUS(LVL + 1); */
|
||
g_assFLOW_BI_AMB_TGT_e(rtu_LVL, &rtb_u_abl);
|
||
|
||
/* MATLAB Function: '<S116>/g_aucFLOW_BI_VENT_PLUS' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Gain: '<S116>/Gain2' incorporates:
|
||
* Sum: '<S116>/deg'
|
||
*/
|
||
tmp = (int16_t)(rtb_u_abl - rtu_Amb_Fb) * 13107;
|
||
|
||
/* Product: '<S116>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* Gain: '<S116>/Gain'
|
||
* Gain: '<S116>/Gain2'
|
||
* MATLAB Function: '<S116>/g_aucFLOW_BI_VENT_PLUS'
|
||
*/
|
||
rtb_u_abl = (int16_t)((int8_t)(((((uint32_t)tmp & 65536U) != 0U) &&
|
||
((((uint32_t)tmp & 65535U) != 0U) || (tmp > 0))) + (tmp >> 17)) * (int32_t)
|
||
((g_aucFLOW_BI2_VENT_PLUS[tmp_0 - 1] * 205U + 1024U) >>
|
||
11));
|
||
|
||
/* DataTypeConversion: '<S116>/Data Type Conversion' incorporates:
|
||
* Sum: '<S116>/ '
|
||
* Switch: '<S132>/Switch2'
|
||
*/
|
||
rtb_Switch2_i_idx_0 = (uint16_t)((uint16_t)((rty_Out1[0] - rtb_u_abl) >> 1) <<
|
||
1);
|
||
rtb_Switch2_i_idx_1 = (uint16_t)((uint16_t)((rty_Out1[1] - rtb_u_abl) >> 1) <<
|
||
1);
|
||
|
||
/* MATLAB Function: '<S116>/g_aucFLOW_BI_VENT_VALVE_MAX' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_VENT_VALVE_MAX = g_aucFLOW_BI2_VENT_VALVE_MAX(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k = g_aucFLOW_BI2_VENT_VALVE_MAX[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S116>/g_aucFLOW_BI_VENT_VALVE_MAX' */
|
||
|
||
/* MATLAB Function: '<S116>/g_aucFLOW_BI_VENT_VALVE_MIN' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_VENT_VALVE_MIN = g_aucFLOW_BI2_VENT_VALVE_MIN(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f = g_aucFLOW_BI2_VENT_VALVE_MIN[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S116>/g_aucFLOW_BI_VENT_VALVE_MIN' */
|
||
|
||
/* MATLAB Function: '<S117>/g_assFLOW_BI_AMB_TGT' */
|
||
/* : c_g_aucFLOW_BI2_VENT_PLUS = g_aucFLOW_BI2_VENT_PLUS(LVL + 1 + 6); */
|
||
g_assFLOW_BI_AMB_TGT_e(rtu_LVL, &rtb_u_abl);
|
||
|
||
/* MATLAB Function: '<S117>/g_aucFLOW_BI_VENT_PLUS' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Gain: '<S117>/Gain2' incorporates:
|
||
* Sum: '<S117>/deg'
|
||
*/
|
||
tmp_0 = (int16_t)(rtb_u_abl - rtu_Amb_Fb) * 13107;
|
||
|
||
/* Product: '<S117>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* Gain: '<S117>/Gain'
|
||
* Gain: '<S117>/Gain2'
|
||
* MATLAB Function: '<S117>/g_aucFLOW_BI_VENT_PLUS'
|
||
*/
|
||
rtb_u_abl = (int16_t)((int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) &&
|
||
((((uint32_t)tmp_0 & 65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17)) *
|
||
(int32_t)((g_aucFLOW_BI2_VENT_PLUS[tmp - 1] * 205U +
|
||
1024U) >> 11));
|
||
|
||
/* MATLAB Function: '<S117>/g_aucFLOW_BI_VENT_VALVE_MAX' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_VENT_VALVE_MAX = g_aucFLOW_BI2_VENT_VALVE_MAX(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX = g_aucFLOW_BI2_VENT_VALVE_MAX[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S117>/g_aucFLOW_BI_VENT_VALVE_MAX' */
|
||
|
||
/* MATLAB Function: '<S117>/g_aucFLOW_BI_VENT_VALVE_MIN' incorporates:
|
||
* MATLAB Function: '<S119>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_BI2_VENT_VALVE_MIN = g_aucFLOW_BI2_VENT_VALVE_MIN(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN = g_aucFLOW_BI2_VENT_VALVE_MIN[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S117>/g_aucFLOW_BI_VENT_VALVE_MIN' */
|
||
|
||
/* DataTypeConversion: '<S117>/Data Type Conversion' incorporates:
|
||
* Sum: '<S117>/ '
|
||
* Switch: '<S137>/Switch2'
|
||
*/
|
||
rtb_Switch2_p_0 = (uint16_t)((uint16_t)((rty_Out1[0] - rtb_u_abl) >> 1) << 1);
|
||
|
||
/* Switch: '<S132>/Switch2' incorporates:
|
||
* RelationalOperator: '<S132>/LowerRelop1'
|
||
* RelationalOperator: '<S132>/UpperRelop'
|
||
* Switch: '<S132>/Switch'
|
||
*/
|
||
if (rtb_Switch2_i_idx_0 > rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k) {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[0] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k;
|
||
} else if (rtb_Switch2_i_idx_0 < rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f) {
|
||
/* Switch: '<S132>/Switch' incorporates:
|
||
* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]'
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[0] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f;
|
||
} else {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
* Switch: '<S132>/Switch'
|
||
*/
|
||
rty_Out1[0] = rtb_Switch2_i_idx_0;
|
||
}
|
||
|
||
/* Switch: '<S137>/Switch2' incorporates:
|
||
* RelationalOperator: '<S137>/LowerRelop1'
|
||
* RelationalOperator: '<S137>/UpperRelop'
|
||
* Switch: '<S137>/Switch'
|
||
*/
|
||
if (rtb_Switch2_p_0 > rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX) {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[2] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX;
|
||
} else if (rtb_Switch2_p_0 < rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN) {
|
||
/* Switch: '<S137>/Switch' incorporates:
|
||
* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]'
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[2] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN;
|
||
} else {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
* Switch: '<S137>/Switch'
|
||
*/
|
||
rty_Out1[2] = rtb_Switch2_p_0;
|
||
}
|
||
|
||
/* DataTypeConversion: '<S117>/Data Type Conversion' incorporates:
|
||
* Sum: '<S117>/ '
|
||
* Switch: '<S137>/Switch2'
|
||
*/
|
||
rtb_Switch2_p_0 = (uint16_t)((uint16_t)((rty_Out1[1] - rtb_u_abl) >> 1) << 1);
|
||
|
||
/* Switch: '<S132>/Switch2' incorporates:
|
||
* RelationalOperator: '<S132>/LowerRelop1'
|
||
* RelationalOperator: '<S132>/UpperRelop'
|
||
* Switch: '<S132>/Switch'
|
||
*/
|
||
if (rtb_Switch2_i_idx_1 > rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k) {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[1] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX_k;
|
||
} else if (rtb_Switch2_i_idx_1 < rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f) {
|
||
/* Switch: '<S132>/Switch' incorporates:
|
||
* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]'
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[1] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN_f;
|
||
} else {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
* Switch: '<S132>/Switch'
|
||
*/
|
||
rty_Out1[1] = rtb_Switch2_i_idx_1;
|
||
}
|
||
|
||
/* Switch: '<S137>/Switch2' incorporates:
|
||
* RelationalOperator: '<S137>/LowerRelop1'
|
||
* RelationalOperator: '<S137>/UpperRelop'
|
||
* Switch: '<S137>/Switch'
|
||
*/
|
||
if (rtb_Switch2_p_0 > rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX) {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[3] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MAX;
|
||
} else if (rtb_Switch2_p_0 < rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN) {
|
||
/* Switch: '<S137>/Switch' incorporates:
|
||
* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]'
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[3] = rtb_c_g_aucFLOW_BI2_VENT_VALVE_MIN;
|
||
} else {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
* Switch: '<S137>/Switch'
|
||
*/
|
||
rty_Out1[3] = rtb_Switch2_p_0;
|
||
}
|
||
|
||
/* Switch: '<S118>/Switch2' incorporates:
|
||
* RelationalOperator: '<S118>/LowerRelop1'
|
||
* RelationalOperator: '<S118>/UpperRelop'
|
||
* Switch: '<S118>/Switch'
|
||
*/
|
||
if (rtb_FLF_NEW > rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX_l) {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [5]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[4] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX_l;
|
||
} else if (rtb_FLF_NEW < rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN) {
|
||
/* Switch: '<S118>/Switch' incorporates:
|
||
* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [5]'
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[4] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN;
|
||
} else {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [5]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
* Switch: '<S118>/Switch'
|
||
*/
|
||
rty_Out1[4] = rtb_FLF_NEW;
|
||
}
|
||
|
||
/* End of Switch: '<S118>/Switch2' */
|
||
|
||
/* Switch: '<S125>/Switch2' incorporates:
|
||
* RelationalOperator: '<S125>/LowerRelop1'
|
||
* RelationalOperator: '<S125>/UpperRelop'
|
||
* Switch: '<S125>/Switch'
|
||
*/
|
||
if (rtb_FRF_NEW > rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX) {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[6] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MAX;
|
||
} else if (rtb_FRF_NEW < rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN_l) {
|
||
/* Switch: '<S125>/Switch' incorporates:
|
||
* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]'
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
*/
|
||
rty_Out1[6] = rtb_c_g_aucFLOW_BI2_FOOT_VALVE_MIN_l;
|
||
} else {
|
||
/* Assignment: '<S36>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]' incorporates:
|
||
* SignalConversion generated from: '<S36>/Out1'
|
||
* Switch: '<S125>/Switch'
|
||
*/
|
||
rty_Out1[6] = rtb_FRF_NEW;
|
||
}
|
||
|
||
/* End of Switch: '<S125>/Switch2' */
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S38>/g_aucFLOW_AF_FOOT_VALVE_MAX'
|
||
* '<S39>/g_aucFLOW_AF_FOOT_VALVE_MAX'
|
||
* '<S147>/g_aucFLOW_AF_FOOT_VALVE_MAX'
|
||
* '<S148>/g_aucFLOW_AF_FOOT_VALVE_MAX'
|
||
*/
|
||
void g_aucFLOW_AF_FOOT_VALVE_MAX_e(uint8_t rtu_LVL, uint8_t
|
||
*rty_c_g_aucFLOW_AF_FOOT_VALVE_MAX)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : c_g_aucFLOW_AF_FOOT_VALVE_MAX = g_aucFLOW_AF_FOOT_VALVE_MAX(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_c_g_aucFLOW_AF_FOOT_VALVE_MAX = g_aucFLOW_AF_FOOT_VALVE_MAX[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S40>/g_assFLOW_AF_AMB_TGT'
|
||
* '<S41>/g_assFLOW_AF_AMB_TGT'
|
||
* '<S65>/g_assFLOW_AF_AMB_TGT'
|
||
* '<S149>/g_assFLOW_AF_AMB_TGT'
|
||
* '<S150>/g_assFLOW_AF_AMB_TGT'
|
||
* '<S174>/g_assFLOW_AF_AMB_TGT'
|
||
*/
|
||
void g_assFLOW_AF_AMB_TGT_g(uint8_t rtu_LVL, int16_t *rty_c_g_assFLOW_AF_AMB_TGT)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : c_g_assFLOW_AF_AMB_TGT = g_assFLOW_AF_AMB_TGT(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_c_g_assFLOW_AF_AMB_TGT = g_assFLOW_AF_AMB_TGT[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S29>/Afoot'
|
||
* '<S30>/Afoot'
|
||
*/
|
||
void Afoot(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9], uint8_t
|
||
rtu_setTempFL, uint8_t rtu_setTempFR)
|
||
{
|
||
int32_t i;
|
||
int32_t tmp_0;
|
||
uint32_t qY;
|
||
int16_t tmp[78];
|
||
int16_t rtb_deg_en;
|
||
uint16_t rtb_FLF_NEW;
|
||
uint16_t rtb_FRF_NEW;
|
||
uint16_t rtb_Switch2_ar_idx_0;
|
||
uint16_t rtb_Switch2_ar_idx_1;
|
||
uint16_t rtb_Switch2_j_idx_0;
|
||
uint16_t rtb_Switch2_j_idx_1;
|
||
int8_t rtb_X;
|
||
uint8_t rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX;
|
||
uint8_t rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k;
|
||
|
||
/* MATLAB Function: '<S43>/get_tg_for_LVL' */
|
||
/* : c_g_aucFLOW_AF_BLR_AF_TGT = g_aucFLOW_AF_BLR_AF_TGT(LVL + 1); */
|
||
/* : table = [ */
|
||
/* : g_assVTG_FL_LV0; */
|
||
/* : g_assVTG_FL_LV1; */
|
||
/* : g_assVTG_FL_LV2; */
|
||
/* : g_assVTG_FL_LV3; */
|
||
/* : g_assVTG_FL_LV4; */
|
||
/* : g_assVTG_FL_LV5 */
|
||
/* : ]; */
|
||
/* : vals = table(ambient_Lvl + 1, set_tmp - 16); */
|
||
for (i = 0; i < 13; i++) {
|
||
tmp[6 * i] = g_assVTG_FL_LV0[i];
|
||
tmp[6 * i + 1] = g_assVTG_FL_LV1[i];
|
||
tmp[6 * i + 2] = g_assVTG_FL_LV2[i];
|
||
tmp[6 * i + 3] = g_assVTG_FL_LV3[i];
|
||
tmp[6 * i + 4] = g_assVTG_FL_LV4[i];
|
||
tmp[6 * i + 5] = g_assVTG_FL_LV5[i];
|
||
}
|
||
|
||
/* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT' */
|
||
i = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* MATLAB Function: '<S43>/get_tg_for_LVL' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */
|
||
qY = rtu_setTempFL - 16U;
|
||
|
||
/* MW:end MISRA2012:D4.1 CERT-C:INT30-C */
|
||
if (rtu_setTempFL - 16U > rtu_setTempFL) {
|
||
qY = 0U;
|
||
}
|
||
|
||
/* Gain: '<S43>/Gain6' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
* MATLAB Function: '<S43>/get_tg_for_LVL'
|
||
* Sum: '<S43>/ 1'
|
||
*/
|
||
i = (int16_t)(g_aucFLOW_AF_BLR_AF_TGT[i - 1] - tmp[(((int32_t)qY - 1) * 6 +
|
||
tmp_0) - 1]) * 13107;
|
||
rtb_X = (int8_t)(((((uint32_t)i & 65536U) != 0U) && ((((uint32_t)i & 65535U)
|
||
!= 0U) || (i > 0))) + (i >> 17));
|
||
|
||
/* Switch: '<S38>/Switch1' incorporates:
|
||
* Gain: '<S38>/Gain6'
|
||
* Sum: '<S38>/Add'
|
||
*/
|
||
/* : c_g_aucFLOW_AF_FOOT_PLUS = g_aucFLOW_AF_FOOT_PLUS(LVL + 1); */
|
||
if (rtb_X >= 0) {
|
||
rtb_FLF_NEW = rty_Out1[4];
|
||
} else {
|
||
/* MATLAB Function: '<S38>/g_aucFLOW_AF_FOOT_PLUS' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
i = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* Gain: '<S38>/Gain6' incorporates:
|
||
* MATLAB Function: '<S38>/g_aucFLOW_AF_FOOT_PLUS'
|
||
* Product: '<S38>/Product3'
|
||
*/
|
||
i = g_aucFLOW_AF_FOOT_PLUS[i - 1] * rtb_X * 13107;
|
||
rtb_FLF_NEW = (uint16_t)((int16_t)rty_Out1[4] - (int8_t)(((((uint32_t)i &
|
||
65536U) != 0U) && (((uint32_t)i & 65535U) != 0U)) + (i >> 17)));
|
||
}
|
||
|
||
/* End of Switch: '<S38>/Switch1' */
|
||
|
||
/* MATLAB Function: '<S38>/g_aucFLOW_AF_FOOT_VALVE_MAX' */
|
||
g_aucFLOW_AF_FOOT_VALVE_MAX_e(rtu_LVL, &rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX);
|
||
|
||
/* Switch: '<S42>/Switch2' incorporates:
|
||
* RelationalOperator: '<S42>/LowerRelop1'
|
||
*/
|
||
if (rtb_FLF_NEW > rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX) {
|
||
rtb_FLF_NEW = rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX;
|
||
}
|
||
|
||
/* End of Switch: '<S42>/Switch2' */
|
||
|
||
/* MATLAB Function: '<S49>/get_vtg_for_LVL' */
|
||
/* : c_g_aucFLOW_AF_BLR_AF_TGT = g_aucFLOW_AF_BLR_AF_TGT(LVL + 1); */
|
||
/* : table = [ */
|
||
/* : g_assVTG_FR_LV0; */
|
||
/* : g_assVTG_FR_LV1; */
|
||
/* : g_assVTG_FR_LV2; */
|
||
/* : g_assVTG_FR_LV3; */
|
||
/* : g_assVTG_FR_LV4; */
|
||
/* : g_assVTG_FR_LV5 */
|
||
/* : ]; */
|
||
/* : vals = table(ambient_Lvl + 1, set_tmp - 16); */
|
||
for (i = 0; i < 13; i++) {
|
||
tmp[6 * i] = g_assVTG_FR_LV0[i];
|
||
tmp[6 * i + 1] = g_assVTG_FR_LV1[i];
|
||
tmp[6 * i + 2] = g_assVTG_FR_LV2[i];
|
||
tmp[6 * i + 3] = g_assVTG_FR_LV3[i];
|
||
tmp[6 * i + 4] = g_assVTG_FR_LV4[i];
|
||
tmp[6 * i + 5] = g_assVTG_FR_LV5[i];
|
||
}
|
||
|
||
/* MATLAB Function: '<S49>/g_aucFLOW_AF_BLR_AF_TGT' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
i = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* MATLAB Function: '<S49>/get_vtg_for_LVL' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
qY = rtu_setTempFR - 16U;
|
||
if (rtu_setTempFR - 16U > rtu_setTempFR) {
|
||
qY = 0U;
|
||
}
|
||
|
||
/* Sum: '<S49>/ 1' incorporates:
|
||
* MATLAB Function: '<S49>/g_aucFLOW_AF_BLR_AF_TGT'
|
||
* MATLAB Function: '<S49>/get_vtg_for_LVL'
|
||
*/
|
||
rtb_deg_en = (int16_t)(g_aucFLOW_AF_BLR_AF_TGT[i - 1] - tmp[(((int32_t)qY - 1)
|
||
* 6 + tmp_0) - 1]);
|
||
|
||
/* Gain: '<S49>/Gain6' */
|
||
i = 13107 * rtb_deg_en;
|
||
rtb_X = (int8_t)(((((uint32_t)i & 65536U) != 0U) && ((((uint32_t)i & 65535U)
|
||
!= 0U) || (i > 0))) + (i >> 17));
|
||
|
||
/* Switch: '<S39>/Switch3' incorporates:
|
||
* Gain: '<S39>/Gain7'
|
||
* Sum: '<S39>/Add1'
|
||
*/
|
||
/* : c_g_aucFLOW_AF_FOOT_PLUS = g_aucFLOW_AF_FOOT_PLUS(LVL + 1 + 6); */
|
||
if (rtb_X >= 0) {
|
||
rtb_FRF_NEW = rty_Out1[6];
|
||
} else {
|
||
/* MATLAB Function: '<S39>/g_aucFLOW_AF_FOOT_PLUS' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
i = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)i + 6U);
|
||
if ((uint32_t)i + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Gain: '<S39>/Gain7' incorporates:
|
||
* MATLAB Function: '<S39>/g_aucFLOW_AF_FOOT_PLUS'
|
||
* Product: '<S39>/Product4'
|
||
*/
|
||
i = g_aucFLOW_AF_FOOT_PLUS[tmp_0 - 1] * rtb_X * 13107;
|
||
rtb_FRF_NEW = (uint16_t)((int16_t)rty_Out1[6] - (int8_t)(((((uint32_t)i &
|
||
65536U) != 0U) && (((uint32_t)i & 65535U) != 0U)) + (i >> 17)));
|
||
}
|
||
|
||
/* End of Switch: '<S39>/Switch3' */
|
||
|
||
/* MATLAB Function: '<S39>/g_aucFLOW_AF_FOOT_VALVE_MAX' */
|
||
g_aucFLOW_AF_FOOT_VALVE_MAX_e(rtu_LVL, &rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX);
|
||
|
||
/* MATLAB Function: '<S40>/g_assFLOW_AF_AMB_TGT' */
|
||
/* : c_g_aucFLOW_AF_VENT_PLUS = g_aucFLOW_AF_VENT_PLUS(LVL + 1); */
|
||
g_assFLOW_AF_AMB_TGT_g(rtu_LVL, &rtb_deg_en);
|
||
|
||
/* Sum: '<S40>/deg' */
|
||
rtb_deg_en -= rtu_Amb_Fb;
|
||
|
||
/* Gain: '<S40>/Gain2' */
|
||
i = 13107 * rtb_deg_en;
|
||
rtb_X = (int8_t)(((((uint32_t)i & 65536U) != 0U) && ((((uint32_t)i & 65535U)
|
||
!= 0U) || (i > 0))) + (i >> 17));
|
||
|
||
/* Switch: '<S40>/if (deg < 0)' incorporates:
|
||
* Sum: '<S40>/ '
|
||
* Switch: '<S54>/Switch2'
|
||
*/
|
||
if (rtb_X >= 0) {
|
||
rtb_Switch2_ar_idx_0 = rty_Out1[0];
|
||
rtb_Switch2_ar_idx_1 = rty_Out1[1];
|
||
} else {
|
||
/* MATLAB Function: '<S40>/g_aucFLOW_AF_VENT_PLUS' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
i = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* Product: '<S40>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* Gain: '<S40>/Gain'
|
||
* MATLAB Function: '<S40>/g_aucFLOW_AF_VENT_PLUS'
|
||
*/
|
||
rtb_deg_en = (int16_t)((int32_t)((g_aucFLOW_AF_VENT_PLUS[i - 1] * 205U +
|
||
1024U) >> 11) * rtb_X);
|
||
rtb_Switch2_ar_idx_0 = (uint16_t)(rty_Out1[0] - rtb_deg_en);
|
||
rtb_Switch2_ar_idx_1 = (uint16_t)(rty_Out1[1] - rtb_deg_en);
|
||
}
|
||
|
||
/* End of Switch: '<S40>/if (deg < 0)' */
|
||
|
||
/* MATLAB Function: '<S40>/g_aucFLOW_AF_VENT_VALVE_MAX' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_AF_VENT_VALVE_MAX = g_aucFLOW_AF_VENT_VALVE_MAX(LVL + 1); */
|
||
i = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k = g_aucFLOW_AF_VENT_VALVE_MAX[i - 1];
|
||
|
||
/* End of MATLAB Function: '<S40>/g_aucFLOW_AF_VENT_VALVE_MAX' */
|
||
|
||
/* Switch: '<S54>/Switch2' incorporates:
|
||
* RelationalOperator: '<S54>/LowerRelop1'
|
||
*/
|
||
if (rtb_Switch2_ar_idx_0 > rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k) {
|
||
rtb_Switch2_ar_idx_0 = rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k;
|
||
}
|
||
|
||
if (rtb_Switch2_ar_idx_1 > rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k) {
|
||
rtb_Switch2_ar_idx_1 = rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k;
|
||
}
|
||
|
||
/* End of Switch: '<S54>/Switch2' */
|
||
|
||
/* MATLAB Function: '<S41>/g_assFLOW_AF_AMB_TGT' */
|
||
/* : c_g_aucFLOW_AF_VENT_PLUS = g_aucFLOW_AF_VENT_PLUS(LVL + 1 + 6); */
|
||
g_assFLOW_AF_AMB_TGT_g(rtu_LVL, &rtb_deg_en);
|
||
|
||
/* Gain: '<S41>/Gain2' incorporates:
|
||
* Sum: '<S41>/deg'
|
||
*/
|
||
i = (int16_t)(rtb_deg_en - rtu_Amb_Fb) * 13107;
|
||
rtb_X = (int8_t)(((((uint32_t)i & 65536U) != 0U) && ((((uint32_t)i & 65535U)
|
||
!= 0U) || (i > 0))) + (i >> 17));
|
||
|
||
/* Switch: '<S41>/if (deg < 0)' incorporates:
|
||
* DataTypeConversion: '<S41>/Data Type Conversion'
|
||
* Sum: '<S41>/ '
|
||
* Switch: '<S58>/Switch2'
|
||
*/
|
||
if (rtb_X >= 0) {
|
||
rtb_Switch2_j_idx_0 = rty_Out1[0];
|
||
rtb_Switch2_j_idx_1 = rty_Out1[1];
|
||
} else {
|
||
/* MATLAB Function: '<S41>/g_aucFLOW_AF_VENT_PLUS' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
i = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)i + 6U);
|
||
if ((uint32_t)i + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Product: '<S41>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* Gain: '<S41>/Gain'
|
||
* MATLAB Function: '<S41>/g_aucFLOW_AF_VENT_PLUS'
|
||
*/
|
||
rtb_deg_en = (int16_t)((int32_t)((g_aucFLOW_AF_VENT_PLUS[tmp_0 - 1] * 205U +
|
||
1024U) >> 11) * rtb_X);
|
||
rtb_Switch2_j_idx_0 = (uint16_t)((int16_t)rty_Out1[0] - rtb_deg_en);
|
||
rtb_Switch2_j_idx_1 = (uint16_t)((int16_t)rty_Out1[1] - rtb_deg_en);
|
||
}
|
||
|
||
/* End of Switch: '<S41>/if (deg < 0)' */
|
||
|
||
/* MATLAB Function: '<S41>/g_aucFLOW_AF_VENT_VALVE_MAX' incorporates:
|
||
* MATLAB Function: '<S43>/g_assFLOW_BI2_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_AF_VENT_VALVE_MAX = g_aucFLOW_AF_VENT_VALVE_MAX(LVL + 1 + 6); */
|
||
i = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)i + 6U);
|
||
if ((uint32_t)i + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k = g_aucFLOW_AF_VENT_VALVE_MAX[tmp_0 - 1];
|
||
|
||
/* End of MATLAB Function: '<S41>/g_aucFLOW_AF_VENT_VALVE_MAX' */
|
||
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
* Switch: '<S54>/Switch2'
|
||
*/
|
||
rty_Out1[0] = rtb_Switch2_ar_idx_0;
|
||
|
||
/* Switch: '<S58>/Switch2' incorporates:
|
||
* RelationalOperator: '<S58>/LowerRelop1'
|
||
*/
|
||
if (rtb_Switch2_j_idx_0 > rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k) {
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
*/
|
||
rty_Out1[2] = rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k;
|
||
} else {
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
*/
|
||
rty_Out1[2] = rtb_Switch2_j_idx_0;
|
||
}
|
||
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
* Switch: '<S54>/Switch2'
|
||
*/
|
||
rty_Out1[1] = rtb_Switch2_ar_idx_1;
|
||
|
||
/* Switch: '<S58>/Switch2' incorporates:
|
||
* RelationalOperator: '<S58>/LowerRelop1'
|
||
*/
|
||
if (rtb_Switch2_j_idx_1 > rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k) {
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
*/
|
||
rty_Out1[3] = rtb_c_g_aucFLOW_AF_VENT_VALVE_MAX_k;
|
||
} else {
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
*/
|
||
rty_Out1[3] = rtb_Switch2_j_idx_1;
|
||
}
|
||
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [5]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
*/
|
||
rty_Out1[4] = rtb_FLF_NEW;
|
||
|
||
/* Switch: '<S48>/Switch2' incorporates:
|
||
* RelationalOperator: '<S48>/LowerRelop1'
|
||
*/
|
||
if (rtb_FRF_NEW > rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX) {
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
*/
|
||
rty_Out1[6] = rtb_c_g_aucFLOW_AF_FOOT_VALVE_MAX;
|
||
} else {
|
||
/* Assignment: '<S33>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]' incorporates:
|
||
* SignalConversion generated from: '<S33>/Out1'
|
||
* Switch: '<S48>/Switch'
|
||
*/
|
||
rty_Out1[6] = rtb_FRF_NEW;
|
||
}
|
||
|
||
/* End of Switch: '<S48>/Switch2' */
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S62>/g_aucFLOW_AFSM_FOOT_VALVE_MAX'
|
||
* '<S63>/g_aucFLOW_AF_FOOT_VALVE_MAX'
|
||
* '<S171>/g_aucFLOW_AFSM_FOOT_VALVE_MAX'
|
||
* '<S172>/g_aucFLOW_AF_FOOT_VALVE_MAX'
|
||
*/
|
||
void g_aucFLOW_AFSM_FOOT_VALVE_MAX_f(uint8_t rtu_LVL, uint8_t
|
||
*rty_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : c_g_aucFLOW_AFSM_FOOT_VALVE_MAX = g_aucFLOW_AFSM_FOOT_VALVE_MAX(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX = g_aucFLOW_AFSM_FOOT_VALVE_MAX[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S29>/Afoot_Summer'
|
||
* '<S30>/Afoot_Summer'
|
||
*/
|
||
void Afoot_Summer(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9],
|
||
uint8_t rtu_setTempFL, uint8_t rtu_setTempFR)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
int16_t rtb_deg_c;
|
||
uint16_t rtb_FLF_NEW;
|
||
uint16_t rtb_FRF_NEW;
|
||
uint16_t rtb_Switch2_j1_idx_0;
|
||
uint16_t rtb_Switch2_j1_idx_1;
|
||
uint16_t rtb_Switch2_l_idx_0;
|
||
uint16_t rtb_Switch2_l_idx_1;
|
||
int8_t rtb_X;
|
||
uint8_t rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX;
|
||
uint8_t rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g;
|
||
|
||
/* MATLAB Function: '<S67>/get_tg_for_LVL' */
|
||
/* : c_g_assFLOW_AFSM_TEMP_TGT = g_assFLOW_AFSM_TEMP_TGT(LVL + 1); */
|
||
get_tg_FLL_for_LVL(rtu_LVL, rtu_setTempFL, &rtb_deg_c);
|
||
|
||
/* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT' */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Sum: '<S67>/ 1' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
rtb_deg_c = (int16_t)(g_assFLOW_AFSM_TEMP_TGT[tmp_0 - 1] - rtb_deg_c);
|
||
|
||
/* Gain: '<S67>/Gain6' */
|
||
tmp_0 = 13107 * rtb_deg_c;
|
||
rtb_X = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 &
|
||
65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17));
|
||
|
||
/* Switch: '<S62>/Switch1' incorporates:
|
||
* Gain: '<S62>/Gain6'
|
||
* Sum: '<S62>/Add'
|
||
*/
|
||
/* : c_g_aucFLOW_AFSM_FOOT_PLUS = g_aucFLOW_AFSM_FOOT_PLUS(LVL + 1); */
|
||
if (rtb_X >= 0) {
|
||
rtb_FLF_NEW = rty_Out1[4];
|
||
} else {
|
||
/* MATLAB Function: '<S62>/g_aucFLOW_AFSM_FOOT_PLUS' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Gain: '<S62>/Gain6' incorporates:
|
||
* MATLAB Function: '<S62>/g_aucFLOW_AFSM_FOOT_PLUS'
|
||
* Product: '<S62>/Product3'
|
||
*/
|
||
tmp_0 = g_aucFLOW_AFSM_FOOT_PLUS[tmp_0 - 1] * rtb_X * 13107;
|
||
rtb_FLF_NEW = (uint16_t)((int16_t)rty_Out1[4] - (int8_t)(((((uint32_t)tmp_0
|
||
& 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17)));
|
||
}
|
||
|
||
/* End of Switch: '<S62>/Switch1' */
|
||
|
||
/* MATLAB Function: '<S62>/g_aucFLOW_AFSM_FOOT_VALVE_MAX' */
|
||
g_aucFLOW_AFSM_FOOT_VALVE_MAX_f(rtu_LVL, &rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX);
|
||
|
||
/* Switch: '<S66>/Switch2' incorporates:
|
||
* RelationalOperator: '<S66>/LowerRelop1'
|
||
*/
|
||
if (rtb_FLF_NEW > rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX) {
|
||
rtb_FLF_NEW = rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX;
|
||
}
|
||
|
||
/* End of Switch: '<S66>/Switch2' */
|
||
|
||
/* MATLAB Function: '<S73>/get_tg_FLL_for_LVL' */
|
||
/* : c_g_assFLOW_AFSM_TEMP_TGT = g_assFLOW_AFSM_TEMP_TGT(LVL + 1 + 6); */
|
||
get_tg_FLL_for_LVL_j(rtu_LVL, rtu_setTempFR, &rtb_deg_c);
|
||
|
||
/* MATLAB Function: '<S73>/g_assFLOW_AFSM_TEMP_TGT' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Gain: '<S73>/Gain6' incorporates:
|
||
* MATLAB Function: '<S73>/g_assFLOW_AFSM_TEMP_TGT'
|
||
* Sum: '<S73>/ 1'
|
||
*/
|
||
tmp_0 = (int16_t)(g_assFLOW_AFSM_TEMP_TGT[tmp - 1] - rtb_deg_c) * 13107;
|
||
rtb_X = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 &
|
||
65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17));
|
||
|
||
/* Switch: '<S63>/Switch3' incorporates:
|
||
* Gain: '<S63>/Gain7'
|
||
* Sum: '<S63>/Add1'
|
||
*/
|
||
/* : c_g_aucFLOW_AFSM_FOOT_PLUS = g_aucFLOW_AFSM_FOOT_PLUS(LVL + 1 + 6); */
|
||
if (rtb_X >= 0) {
|
||
rtb_FRF_NEW = rty_Out1[6];
|
||
} else {
|
||
/* MATLAB Function: '<S63>/g_aucFLOW_AFSM_FOOT_PLUS' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Gain: '<S63>/Gain7' incorporates:
|
||
* MATLAB Function: '<S63>/g_aucFLOW_AFSM_FOOT_PLUS'
|
||
* Product: '<S63>/Product4'
|
||
*/
|
||
tmp_0 = g_aucFLOW_AFSM_FOOT_PLUS[tmp - 1] * rtb_X * 13107;
|
||
rtb_FRF_NEW = (uint16_t)((int16_t)rty_Out1[6] - (int8_t)(((((uint32_t)tmp_0
|
||
& 65536U) != 0U) && (((uint32_t)tmp_0 & 65535U) != 0U)) + (tmp_0 >> 17)));
|
||
}
|
||
|
||
/* End of Switch: '<S63>/Switch3' */
|
||
|
||
/* MATLAB Function: '<S63>/g_aucFLOW_AF_FOOT_VALVE_MAX' */
|
||
g_aucFLOW_AFSM_FOOT_VALVE_MAX_f(rtu_LVL, &rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX);
|
||
|
||
/* MATLAB Function: '<S64>/g_assFLOW_AFSM_AMB_TGT' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_AFSM_VENT_PLUS = g_aucFLOW_AFSM_VENT_PLUS(LVL + 1); */
|
||
/* : c_g_assFLOW_AFSM_AMB_TGT = g_assFLOW_AFSM_AMB_TGT(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Sum: '<S64>/deg' incorporates:
|
||
* MATLAB Function: '<S64>/g_assFLOW_AFSM_AMB_TGT'
|
||
*/
|
||
rtb_deg_c = (int16_t)(g_assFLOW_AFSM_AMB_TGT[tmp_0 - 1] - rtu_Amb_Fb);
|
||
|
||
/* Gain: '<S64>/Gain2' */
|
||
tmp_0 = 13107 * rtb_deg_c;
|
||
rtb_X = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 &
|
||
65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17));
|
||
|
||
/* Switch: '<S64>/if (deg < 0)' incorporates:
|
||
* Sum: '<S64>/ '
|
||
* Switch: '<S78>/Switch2'
|
||
*/
|
||
if (rtb_X >= 0) {
|
||
rtb_Switch2_l_idx_0 = rty_Out1[0];
|
||
rtb_Switch2_l_idx_1 = rty_Out1[1];
|
||
} else {
|
||
/* MATLAB Function: '<S64>/g_aucFLOW_AFSM_VENT_PLUS' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Product: '<S64>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* Gain: '<S64>/Gain'
|
||
* MATLAB Function: '<S64>/g_aucFLOW_AFSM_VENT_PLUS'
|
||
*/
|
||
rtb_deg_c = (int16_t)((int32_t)((g_aucFLOW_AFSM_VENT_PLUS[tmp_0 - 1] * 205U
|
||
+ 1024U) >> 11) * rtb_X);
|
||
rtb_Switch2_l_idx_0 = (uint16_t)(rty_Out1[0] - rtb_deg_c);
|
||
rtb_Switch2_l_idx_1 = (uint16_t)(rty_Out1[1] - rtb_deg_c);
|
||
}
|
||
|
||
/* End of Switch: '<S64>/if (deg < 0)' */
|
||
|
||
/* MATLAB Function: '<S64>/g_aucFLOW_AF_VENT_VALVE_MAX' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_AFSM_VENT_VALVE_MAX = g_aucFLOW_AFSM_VENT_VALVE_MAX(LVL + 1); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g = g_aucFLOW_AFSM_VENT_VALVE_MAX[tmp_0 -
|
||
1];
|
||
|
||
/* End of MATLAB Function: '<S64>/g_aucFLOW_AF_VENT_VALVE_MAX' */
|
||
|
||
/* Switch: '<S78>/Switch2' incorporates:
|
||
* RelationalOperator: '<S78>/LowerRelop1'
|
||
*/
|
||
if (rtb_Switch2_l_idx_0 > rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g) {
|
||
rtb_Switch2_l_idx_0 = rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g;
|
||
}
|
||
|
||
if (rtb_Switch2_l_idx_1 > rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g) {
|
||
rtb_Switch2_l_idx_1 = rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g;
|
||
}
|
||
|
||
/* End of Switch: '<S78>/Switch2' */
|
||
|
||
/* MATLAB Function: '<S65>/g_assFLOW_AF_AMB_TGT' */
|
||
/* : c_g_aucFLOW_AFSM_VENT_PLUS = g_aucFLOW_AFSM_VENT_PLUS(LVL + 1 + 6); */
|
||
g_assFLOW_AF_AMB_TGT_g(rtu_LVL, &rtb_deg_c);
|
||
|
||
/* Gain: '<S65>/Gain2' incorporates:
|
||
* Sum: '<S65>/deg'
|
||
*/
|
||
tmp_0 = (int16_t)(rtb_deg_c - rtu_Amb_Fb) * 13107;
|
||
rtb_X = (int8_t)(((((uint32_t)tmp_0 & 65536U) != 0U) && ((((uint32_t)tmp_0 &
|
||
65535U) != 0U) || (tmp_0 > 0))) + (tmp_0 >> 17));
|
||
|
||
/* Switch: '<S65>/if (deg < 0)' incorporates:
|
||
* DataTypeConversion: '<S65>/Data Type Conversion'
|
||
* Sum: '<S65>/ '
|
||
* Switch: '<S82>/Switch2'
|
||
*/
|
||
if (rtb_X >= 0) {
|
||
rtb_Switch2_j1_idx_0 = rty_Out1[0];
|
||
rtb_Switch2_j1_idx_1 = rty_Out1[1];
|
||
} else {
|
||
/* MATLAB Function: '<S65>/g_aucFLOW_AF_VENT_PLUS' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
/* Product: '<S65>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* Gain: '<S65>/Gain'
|
||
* MATLAB Function: '<S65>/g_aucFLOW_AF_VENT_PLUS'
|
||
*/
|
||
rtb_deg_c = (int16_t)((int32_t)((g_aucFLOW_AFSM_VENT_PLUS[tmp - 1] * 205U +
|
||
1024U) >> 11) * rtb_X);
|
||
rtb_Switch2_j1_idx_0 = (uint16_t)((int16_t)rty_Out1[0] - rtb_deg_c);
|
||
rtb_Switch2_j1_idx_1 = (uint16_t)((int16_t)rty_Out1[1] - rtb_deg_c);
|
||
}
|
||
|
||
/* End of Switch: '<S65>/if (deg < 0)' */
|
||
|
||
/* MATLAB Function: '<S65>/g_aucFLOW_AF_VENT_VALVE_MAX' incorporates:
|
||
* MATLAB Function: '<S67>/g_assFLOW_AFSM_TEMP_TGT_LEFT'
|
||
*/
|
||
/* : c_g_aucFLOW_AFSM_VENT_VALVE_MAX = g_aucFLOW_AFSM_VENT_VALVE_MAX(LVL + 1 + 6); */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g = g_aucFLOW_AFSM_VENT_VALVE_MAX[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S65>/g_aucFLOW_AF_VENT_VALVE_MAX' */
|
||
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
* Switch: '<S78>/Switch2'
|
||
*/
|
||
rty_Out1[0] = rtb_Switch2_l_idx_0;
|
||
|
||
/* Switch: '<S82>/Switch2' incorporates:
|
||
* RelationalOperator: '<S82>/LowerRelop1'
|
||
*/
|
||
if (rtb_Switch2_j1_idx_0 > rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g) {
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
*/
|
||
rty_Out1[2] = rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g;
|
||
} else {
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
*/
|
||
rty_Out1[2] = rtb_Switch2_j1_idx_0;
|
||
}
|
||
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [1-2]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
* Switch: '<S78>/Switch2'
|
||
*/
|
||
rty_Out1[1] = rtb_Switch2_l_idx_1;
|
||
|
||
/* Switch: '<S82>/Switch2' incorporates:
|
||
* RelationalOperator: '<S82>/LowerRelop1'
|
||
*/
|
||
if (rtb_Switch2_j1_idx_1 > rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g) {
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
*/
|
||
rty_Out1[3] = rtb_c_g_aucFLOW_AFSM_VENT_VALVE_MAX_g;
|
||
} else {
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [3-4]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
*/
|
||
rty_Out1[3] = rtb_Switch2_j1_idx_1;
|
||
}
|
||
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [5]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
*/
|
||
rty_Out1[4] = rtb_FLF_NEW;
|
||
|
||
/* Switch: '<S72>/Switch2' incorporates:
|
||
* RelationalOperator: '<S72>/LowerRelop1'
|
||
*/
|
||
if (rtb_FRF_NEW > rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX) {
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
*/
|
||
rty_Out1[6] = rtb_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX;
|
||
} else {
|
||
/* Assignment: '<S34>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> [7]' incorporates:
|
||
* SignalConversion generated from: '<S34>/Out1'
|
||
* Switch: '<S72>/Switch'
|
||
*/
|
||
rty_Out1[6] = rtb_FRF_NEW;
|
||
}
|
||
|
||
/* End of Switch: '<S72>/Switch2' */
|
||
}
|
||
|
||
double rt_roundd(double u)
|
||
{
|
||
double y;
|
||
if (fabs(u) < 4.503599627370496E+15) {
|
||
if (u >= 0.5) {
|
||
y = floor(u + 0.5);
|
||
} else if (u > -0.5) {
|
||
y = 0.0;
|
||
} else {
|
||
y = ceil(u - 0.5);
|
||
}
|
||
} else {
|
||
y = u;
|
||
}
|
||
|
||
return y;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S9>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left'
|
||
* '<S9>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> right'
|
||
*/
|
||
void left(uint8_t rtu_idx, uint16_t rty_vals[9])
|
||
{
|
||
int32_t i;
|
||
int32_t rtu_idx_0;
|
||
uint16_t tmp[45];
|
||
|
||
/* : table = [ */
|
||
/* : g_ausFLOW_FR_VE2VALVE; */
|
||
/* : g_ausFLOW_FR_BIVALVE; */
|
||
/* : g_ausFLOW_FR_BI2VALVE; */
|
||
/* : g_ausFLOW_FR_AF2VALVE; */
|
||
/* : g_ausFLOW_FR_AF2VALVE_SUMMER */
|
||
/* : ]; */
|
||
/* : idx = idx / 10; */
|
||
/* : vals = table(idx, :); */
|
||
rtu_idx_0 = (int32_t)rt_roundd((double)rtu_idx / 10.0);
|
||
for (i = 0; i < 9; i++) {
|
||
tmp[5 * i] = g_ausFLOW_FR_VE2VALVE[i];
|
||
tmp[5 * i + 1] = g_ausFLOW_FR_BIVALVE[i];
|
||
tmp[5 * i + 2] = g_ausFLOW_FR_BI2VALVE[i];
|
||
tmp[5 * i + 3] = g_ausFLOW_FR_AF2VALVE[i];
|
||
tmp[5 * i + 4] = g_ausFLOW_FR_AF2VALVE_SUMMER[i];
|
||
rty_vals[i] = tmp[(5 * i + rtu_idx_0) - 1];
|
||
}
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S382>/Stop Mode'
|
||
* '<S383>/Stop Mode'
|
||
*/
|
||
void StopMode(int8_t rtu_stepIn, int8_t *rty_step, const uint8_t
|
||
*rtd_Busy_private_a, uint8_t rtd_COM_private_h[9], const uint8_t
|
||
*rtd_Error_Connect_private_f, uint8_t rtd_MODE_private_a[9])
|
||
{
|
||
int32_t i;
|
||
|
||
/* If: '<S452>/If1' incorporates:
|
||
* DataStoreRead: '<S452>/Data Store Read1'
|
||
* DataStoreRead: '<S452>/Data Store Read2'
|
||
*/
|
||
if ((*rtd_Busy_private_a == 0) && (*rtd_Error_Connect_private_f == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S452>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S475>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S475>/Data Store Write' */
|
||
rtd_MODE_private_a[i] = 2U;
|
||
|
||
/* DataStoreWrite: '<S475>/Data Store Write1' */
|
||
rtd_COM_private_h[i] = 1U;
|
||
}
|
||
|
||
/* Sum: '<S475>/step inc' incorporates:
|
||
* Constant: '<S475>/Constant'
|
||
*/
|
||
*rty_step = (int8_t)(rtu_stepIn + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S452>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S452>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S476>/Action Port'
|
||
*/
|
||
/* SignalConversion generated from: '<S476>/stepIn' */
|
||
*rty_step = rtu_stepIn;
|
||
|
||
/* End of Outputs for SubSystem: '<S452>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S452>/If1' */
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S524>/g_assSTART_ENTER_INCAR'
|
||
* '<S525>/g_assSTART_ENTER_INCAR'
|
||
*/
|
||
void g_assSTART_ENTER_INCAR_a(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = int16(g_assSTART_ENTER_INCAR(LVL+1)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_assSTART_ENTER_INCAR[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S519>/Level 3'
|
||
* '<S519>/Level 4'
|
||
* '<S519>/Level 5'
|
||
*/
|
||
void Level3(int8_t *rty_step1, const uint16_t *rtd_ECT, const uint8_t *rtd_LEVEL,
|
||
const double *rtd_MODE_DRIVER)
|
||
{
|
||
int32_t q0;
|
||
uint32_t qY;
|
||
|
||
/* MATLAB Function: '<S527>/g_assSTART_ENTER_COOLANT ' incorporates:
|
||
* DataStoreRead: '<S527>/Data Store Read3'
|
||
*/
|
||
/* : out = int16(g_assSTART_ENTER_COOLANT(LVL + 1 - 3)); */
|
||
q0 = (int32_t)(*rtd_LEVEL + 1U);
|
||
if (*rtd_LEVEL + 1U > 255U) {
|
||
q0 = 255;
|
||
}
|
||
|
||
/* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */
|
||
qY = (uint32_t)q0 - 3U;
|
||
|
||
/* MW:end MISRA2012:D4.1 CERT-C:INT30-C */
|
||
if ((uint32_t)q0 - 3U > (uint32_t)q0) {
|
||
qY = 0U;
|
||
}
|
||
|
||
/* Switch: '<S527>/Switch' incorporates:
|
||
* Constant: '<S527>/AUTO'
|
||
* Constant: '<S527>/Constant'
|
||
* Constant: '<S527>/Constant1'
|
||
* DataStoreRead: '<S527>/Data Store Read'
|
||
* DataStoreRead: '<S527>/Data Store Read1'
|
||
* Logic: '<S527>/AND'
|
||
* MATLAB Function: '<S527>/g_assSTART_ENTER_COOLANT '
|
||
* RelationalOperator: '<S527>/Relational Operator'
|
||
* RelationalOperator: '<S527>/Relational Operator2'
|
||
*/
|
||
if ((*rtd_ECT < g_assSTART_ENTER_COOLANT[(int32_t)qY - 1]) &&
|
||
(*rtd_MODE_DRIVER == 1.0)) {
|
||
*rty_step1 = 0;
|
||
} else {
|
||
*rty_step1 = -1;
|
||
}
|
||
|
||
/* End of Switch: '<S527>/Switch' */
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S520>/Level 0'
|
||
* '<S520>/Level 1'
|
||
* '<S520>/Level 2'
|
||
* '<S780>/Level 0'
|
||
* '<S780>/Level 1'
|
||
*/
|
||
void Level0(int8_t *rty_step)
|
||
{
|
||
/* SignalConversion generated from: '<S537>/step' incorporates:
|
||
* Constant: '<S537>/Constant'
|
||
*/
|
||
*rty_step = 1;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S540>/incar filter down'
|
||
* '<S541>/incar filter down'
|
||
* '<S542>/incar filter down'
|
||
* '<S552>/incar filter down'
|
||
* '<S553>/incar filter down'
|
||
* '<S555>/incar filter down'
|
||
* '<S556>/incar filter down'
|
||
* '<S557>/incar filter down'
|
||
* '<S620>/incar filter down'
|
||
* '<S621>/incar filter down'
|
||
* ...
|
||
*/
|
||
void incarfilterdown(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_INCAR_FLT_DN(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_INCAR_FLT_DN[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S540>/incar filter up'
|
||
* '<S541>/incar filter up'
|
||
* '<S542>/incar filter up'
|
||
* '<S552>/incar filter up'
|
||
* '<S553>/incar filter up'
|
||
* '<S555>/incar filter up'
|
||
* '<S556>/incar filter up'
|
||
* '<S557>/incar filter up'
|
||
* '<S620>/incar filter up'
|
||
* '<S621>/incar filter up'
|
||
* ...
|
||
*/
|
||
void incarfilterup(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_INCAR_FLT_UP(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_INCAR_FLT_UP[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S541>/g_assSTART_COOLANT_STEP0_TO_1 '
|
||
* '<S542>/g_assSTART_COOLANT_STEP0_TO_1 '
|
||
*/
|
||
void g_assSTART_COOLANT_STEP0_TO_1_k(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t q0;
|
||
uint32_t qY;
|
||
|
||
/* : out = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 1 - 2)); */
|
||
q0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
q0 = 255;
|
||
}
|
||
|
||
/* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */
|
||
qY = (uint32_t)q0 - 2U;
|
||
|
||
/* MW:end MISRA2012:D4.1 CERT-C:INT30-C */
|
||
if ((uint32_t)q0 - 2U > (uint32_t)q0) {
|
||
qY = 0U;
|
||
}
|
||
|
||
*rty_out = g_assSTART_COOLANT_STEP0_TO_1[(int32_t)qY - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S552>/3 way valve status'
|
||
* '<S553>/3 way valve status'
|
||
* '<S555>/3 way valve status'
|
||
* '<S556>/3 way valve status'
|
||
* '<S557>/3 way valve status'
|
||
*/
|
||
void uwayvalvestatus(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_3WAY_OPEN(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_3WAY_OPEN[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S552>/Dtg_FrontLower_X'
|
||
* '<S553>/Dtg_FrontLower_X'
|
||
* '<S555>/Dtg_FrontLower_X'
|
||
*/
|
||
void Dtg_FrontLower_X(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_DUCT_TGT_STEP2_FX_L(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_DUCT_TGT_STEP2_FX_L[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S552>/Dtg_FrontUpper_X'
|
||
* '<S553>/Dtg_FrontUpper_X'
|
||
* '<S555>/Dtg_FrontUpper_X'
|
||
*/
|
||
void Dtg_FrontUpper_X(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_DUCT_TGT_STEP2_FX_U(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_DUCT_TGT_STEP2_FX_U[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S552>/Incar temp goto from step 1 to step 2 '
|
||
* '<S553>/Incar temp goto from step 1 to step 2 '
|
||
* '<S555>/Incar temp goto from step 1 to step 2 '
|
||
* '<S556>/Incar temp goto from step 1 to step 2 '
|
||
* '<S557>/Incar temp goto from step 1 to step 2 '
|
||
*/
|
||
void Incartempgotofromstep1tostep2(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = int16(g_assSTART_INCAR_STEP1_TO_2(LVL + 1)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_assSTART_INCAR_STEP1_TO_2[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S552>/blower FR'
|
||
* '<S553>/blower FR'
|
||
*/
|
||
void blowerFR(uint8_t rtu_LVL, uint16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_ausSTART_BLR_AF_STEP12_F(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_ausSTART_BLR_AF_STEP12_F[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S552>/mode FR step 1'
|
||
* '<S553>/mode FR step 1'
|
||
* '<S555>/mode FR step 1'
|
||
* '<S556>/mode FR step 1'
|
||
* '<S557>/mode FR step 1'
|
||
*/
|
||
void modeFRstep1(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_VALVE_IDX_STEP1(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_VALVE_IDX_STEP1[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S552>/window heating'
|
||
* '<S553>/window heating'
|
||
* '<S555>/window heating'
|
||
* '<S556>/window heating'
|
||
* '<S557>/window heating'
|
||
*/
|
||
void windowheating(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_ELEC_WINDOW(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_ELEC_WINDOW[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S553>/Time goto from step 1 to step 2 '
|
||
* '<S555>/Time goto from step 1 to step 2 '
|
||
* '<S556>/Time goto from step 1 to step 2 '
|
||
* '<S557>/Time goto from step 1 to step 2 '
|
||
*/
|
||
void Timegotofromstep1tostep2(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
uint16_t tmp_0;
|
||
|
||
/* : out = int16(g_ausSTART_TIME_STEP1_TO_2(LVL + 1)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = g_ausSTART_TIME_STEP1_TO_2[tmp - 1];
|
||
if (tmp_0 > 32767) {
|
||
tmp_0 = 32767U;
|
||
}
|
||
|
||
*rty_out = (int16_t)tmp_0;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S586>/ECT min max'
|
||
* '<S600>/ECT min max'
|
||
* '<S613>/ECT min max'
|
||
*/
|
||
void ECTminmax(uint8_t rtu_LVL, int16_t rty_out[2])
|
||
{
|
||
int32_t q0;
|
||
uint32_t qY;
|
||
|
||
/* : min = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 1 - 2)); */
|
||
/* : max = int16(g_assSTART_COOLANT_TO_STEP2(1)); */
|
||
/* : out = [min, max]; */
|
||
q0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
q0 = 255;
|
||
}
|
||
|
||
/* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */
|
||
qY = (uint32_t)q0 - 2U;
|
||
|
||
/* MW:end MISRA2012:D4.1 CERT-C:INT30-C */
|
||
if ((uint32_t)q0 - 2U > (uint32_t)q0) {
|
||
qY = 0U;
|
||
}
|
||
|
||
rty_out[0] = g_assSTART_COOLANT_STEP0_TO_1[(int32_t)qY - 1];
|
||
rty_out[1] = g_assSTART_COOLANT_TO_STEP2[0];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S586>/blower min max'
|
||
* '<S600>/blower min max'
|
||
* '<S613>/blower min max'
|
||
*/
|
||
void blowerminmax(uint8_t rtu_LVL, uint16_t rty_out[2])
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : min = 20; */
|
||
/* : max = g_ausSTART_BLR_AF_STEP12_F(LVL + 1); */
|
||
/* : out = [min, max]; */
|
||
rty_out[0] = 20U;
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rty_out[1] = g_ausSTART_BLR_AF_STEP12_F[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S521>/Level 4'
|
||
* '<S521>/Level 5'
|
||
*/
|
||
void Level4(int8_t *rty_step, uint16_t *rtd_Blower_FL, uint16_t *rtd_Blower_FR,
|
||
uint8_t *rtd_Dtg_FLL, uint8_t *rtd_Dtg_FLR, uint8_t *rtd_Dtg_FUL,
|
||
uint8_t *rtd_Dtg_FUR, const uint16_t *rtd_ECT, uint8_t
|
||
*rtd_El_window_heating, const int16_t *rtd_Incar_FL, uint8_t
|
||
*rtd_Incar_filter_down_value, uint8_t *rtd_Incar_filter_up_value,
|
||
const uint8_t *rtd_LEVEL, uint8_t *rtd_Mode_FL, uint8_t *rtd_Mode_FR,
|
||
double *rtd_Recirculation, uint8_t *rtd_Valve_3_way, const int8_t
|
||
*rtd_step_start_controle_front, const uint32_t *rtd_t_now, DW_Level4
|
||
*localDW)
|
||
{
|
||
int32_t tmp;
|
||
int16_t rtb_out_ns[2];
|
||
int16_t rtb_out_g3;
|
||
int16_t rtb_out_hk;
|
||
uint16_t rtb_out_gp[2];
|
||
uint8_t rtb_out_oc;
|
||
bool rtb_Equal_c;
|
||
bool rtb_RelationalOperator1_f;
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write8' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read10'
|
||
* MATLAB Function: '<S556>/3 way valve status'
|
||
*/
|
||
uwayvalvestatus(*rtd_LEVEL, rtd_Valve_3_way);
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read1'
|
||
* MATLAB Function: '<S556>/incar filter up'
|
||
*/
|
||
incarfilterup(*rtd_LEVEL, rtd_Incar_filter_up_value);
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read2'
|
||
* MATLAB Function: '<S556>/incar filter down'
|
||
*/
|
||
incarfilterdown(*rtd_LEVEL, rtd_Incar_filter_down_value);
|
||
|
||
/* MATLAB Function: '<S556>/mode FR step 1' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read5'
|
||
*/
|
||
modeFRstep1(*rtd_LEVEL, &rtb_out_oc);
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write2' */
|
||
*rtd_Mode_FR = rtb_out_oc;
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write3' */
|
||
*rtd_Mode_FL = rtb_out_oc;
|
||
|
||
/* MATLAB Function: '<S556>/window heating' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read6'
|
||
*/
|
||
windowheating(*rtd_LEVEL, &rtb_out_oc);
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write4' */
|
||
*rtd_El_window_heating = rtb_out_oc;
|
||
|
||
/* MATLAB Function: '<S600>/blower min max' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read7'
|
||
*/
|
||
blowerminmax(*rtd_LEVEL, rtb_out_gp);
|
||
|
||
/* MATLAB Function: '<S600>/ECT min max' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read7'
|
||
*/
|
||
ECTminmax(*rtd_LEVEL, rtb_out_ns);
|
||
|
||
/* Lookup_n-D: '<S600>/blower <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ECT' incorporates:
|
||
* DataStoreRead: '<S600>/engine coolant temp'
|
||
* DataStoreWrite: '<S556>/Data Store Write5'
|
||
*/
|
||
*rtd_Blower_FR = look1_iu16bs16lu64n32_binlcse(*rtd_ECT, rtb_out_ns,
|
||
rtb_out_gp, 1U);
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write6' incorporates:
|
||
* DataStoreWrite: '<S556>/Data Store Write5'
|
||
*/
|
||
*rtd_Blower_FL = *rtd_Blower_FR;
|
||
|
||
/* MATLAB Function: '<S556>/Dtg_FrontUpper_X' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read8'
|
||
*/
|
||
/* : out = g_aucSTART_DUCT_TGT_STEP2_FX_U(LVL + 1); */
|
||
tmp = (int32_t)(*rtd_LEVEL + 1U);
|
||
if (*rtd_LEVEL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_out_oc = g_aucSTART_DUCT_TGT_STEP2_FX_U[tmp - 1];
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write10' */
|
||
*rtd_Dtg_FUR = rtb_out_oc;
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write11' */
|
||
*rtd_Dtg_FUL = rtb_out_oc;
|
||
|
||
/* MATLAB Function: '<S556>/Dtg_FrontLower_X' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read8'
|
||
* DataStoreRead: '<S556>/Data Store Read9'
|
||
* MATLAB Function: '<S556>/Dtg_FrontUpper_X'
|
||
*/
|
||
/* : out = g_aucSTART_DUCT_TGT_STEP2_FX_L(LVL + 1); */
|
||
tmp = (int32_t)(*rtd_LEVEL + 1U);
|
||
if (*rtd_LEVEL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_out_oc = g_aucSTART_DUCT_TGT_STEP2_FX_L[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S556>/Dtg_FrontLower_X' */
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write12' */
|
||
*rtd_Dtg_FLR = rtb_out_oc;
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write13' */
|
||
*rtd_Dtg_FLL = rtb_out_oc;
|
||
|
||
/* DataStoreWrite: '<S556>/Data Store Write7' incorporates:
|
||
* Constant: '<S556>/Recirc logic Partial REC'
|
||
*/
|
||
*rtd_Recirculation = 1.0;
|
||
|
||
/* RelationalOperator: '<S556>/Equal' incorporates:
|
||
* DataStoreRead: '<S556>/current step'
|
||
*/
|
||
rtb_Equal_c = (*rtd_step_start_controle_front == 1);
|
||
|
||
/* MATLAB Function: '<S556>/Incar temp goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read3'
|
||
*/
|
||
Incartempgotofromstep1tostep2(*rtd_LEVEL, &rtb_out_g3);
|
||
|
||
/* MATLAB Function: '<S556>/Time goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S556>/Data Store Read4'
|
||
*/
|
||
Timegotofromstep1tostep2(*rtd_LEVEL, &rtb_out_hk);
|
||
|
||
/* RelationalOperator: '<S556>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S598>/Data Store Read4'
|
||
* Gain: '<S556>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Sum: '<S598>/Subtract'
|
||
* UnitDelay: '<S598>/t_start_delay_private '
|
||
*/
|
||
rtb_RelationalOperator1_f = (*rtd_t_now -
|
||
localDW->t_start_delay_private_DSTATE > (uint32_t)(1000 * rtb_out_hk));
|
||
|
||
/* Switch: '<S598>/Switch' incorporates:
|
||
* DataStoreRead: '<S598>/Data Store Read4'
|
||
* Logic: '<S598>/Logical Operator3'
|
||
* Logic: '<S598>/Logical Operator4'
|
||
* UnitDelay: '<S598>/Cond_prev_private '
|
||
* UnitDelay: '<S598>/t_start_delay_private '
|
||
*/
|
||
if (rtb_Equal_c && (!localDW->Cond_prev_private_DSTATE)) {
|
||
localDW->t_start_delay_private_DSTATE = *rtd_t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S598>/Switch' */
|
||
|
||
/* Switch: '<S556>/Switch' incorporates:
|
||
* Constant: '<S556>/go to next step'
|
||
* Constant: '<S556>/stay at step 1'
|
||
* DataStoreRead: '<S556>/incar temp'
|
||
* Logic: '<S556>/Logical Operator'
|
||
* RelationalOperator: '<S556>/Relational Operator'
|
||
*/
|
||
if ((*rtd_Incar_FL > rtb_out_g3) || rtb_RelationalOperator1_f) {
|
||
*rty_step = 2;
|
||
} else {
|
||
*rty_step = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S556>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S598>/Cond_prev_private ' */
|
||
localDW->Cond_prev_private_DSTATE = rtb_Equal_c;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S620>/3 way valve status'
|
||
* '<S621>/3 way valve status'
|
||
* '<S623>/3 way valve status'
|
||
* '<S624>/3 way valve status'
|
||
* '<S625>/3 way valve status'
|
||
*/
|
||
void uwayvalvestatus_m(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_3WAY_OPEN(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_3WAY_OPEN[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S627>/time for step'
|
||
* '<S657>/time for step'
|
||
* '<S687>/time for step'
|
||
* '<S718>/time for step'
|
||
* '<S749>/time for step'
|
||
*/
|
||
void timeforstep(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_DUCT_TGT_STEP2_FX_L(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_DUCT_TGT_STEP2_FX_L[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S628>/time for step'
|
||
* '<S658>/time for step'
|
||
* '<S688>/time for step'
|
||
* '<S719>/time for step'
|
||
* '<S750>/time for step'
|
||
*/
|
||
void timeforstep_a(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_DUCT_TGT_STEP2_FX_U(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_DUCT_TGT_STEP2_FX_U[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S620>/Time goto from step 2 to step 3 '
|
||
* '<S621>/Time goto from step 2 to step 3 '
|
||
* '<S623>/Time goto from step 2 to step 3 '
|
||
* '<S624>/Time goto from step 2 to step 3 '
|
||
* '<S625>/Time goto from step 2 to step 3 '
|
||
*/
|
||
void Timegotofromstep2tostep3(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
uint16_t tmp_0;
|
||
|
||
/* : out = int16(g_ausSTART_TIME_STEP2_TO_3(LVL + 1)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = g_ausSTART_TIME_STEP2_TO_3[tmp - 1];
|
||
if (tmp_0 > 32767) {
|
||
tmp_0 = 32767U;
|
||
}
|
||
|
||
*rty_out = (int16_t)tmp_0;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S631>/blower step'
|
||
* '<S661>/blower step'
|
||
* '<S692>/blower step'
|
||
* '<S723>/blower step'
|
||
* '<S754>/blower step'
|
||
*/
|
||
void blowerstep(uint8_t rtu_LVL, uint16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_ausSTART_BLR_SPD_STEP2_F(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_ausSTART_BLR_SPD_STEP2_F[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S631>/blower time for step'
|
||
* '<S661>/blower time for step'
|
||
* '<S692>/blower time for step'
|
||
* '<S723>/blower time for step'
|
||
* '<S754>/blower time for step'
|
||
*/
|
||
void blowertimeforstep(uint8_t rtu_LVL, uint16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_ausSTART_BLR_SPD_STEP2_F(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_ausSTART_BLR_SPD_STEP2_F[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S634>/step'
|
||
* '<S664>/step'
|
||
* '<S695>/step'
|
||
* '<S726>/step'
|
||
* '<S757>/step'
|
||
*/
|
||
void step_l(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_VALVE_CHANGE_SPD_F(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_VALVE_CHANGE_SPD_F[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S634>/time for step'
|
||
* '<S664>/time for step'
|
||
* '<S695>/time for step'
|
||
* '<S726>/time for step'
|
||
* '<S757>/time for step'
|
||
*/
|
||
void timeforstep_f(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_VALVE_CHANGE_SPD_F(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_VALVE_CHANGE_SPD_F[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S621>/window heating'
|
||
* '<S623>/window heating'
|
||
* '<S624>/window heating'
|
||
* '<S625>/window heating'
|
||
*/
|
||
void windowheating_k(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_ELEC_WINDOW(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_ELEC_WINDOW[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S623>/autodemist (autodefog)'
|
||
* '<S624>/autodemist (autodefog)'
|
||
* '<S625>/autodemist (autodefog)'
|
||
*/
|
||
void autodemistautodefog(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_AUTODEMIST2_STEP2(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_AUTODEMIST2_STEP2[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S522>/Level 3'
|
||
* '<S522>/Level 4'
|
||
*/
|
||
void Level3_d(int8_t *rty_step, uint8_t *rtd_Autodefog, uint16_t *rtd_Blower_FL,
|
||
uint16_t *rtd_Blower_FR, const uint16_t *rtd_Blower_logic_FL,
|
||
uint8_t *rtd_Dtg_FLL, uint8_t *rtd_Dtg_FLR, uint8_t *rtd_Dtg_FUL,
|
||
uint8_t *rtd_Dtg_FUR, const uint8_t *rtd_Dtg_logic_FLL, const
|
||
uint8_t *rtd_Dtg_logic_FUL, uint8_t *rtd_El_window_heating, const
|
||
bool *rtd_HI_logic_on, uint8_t *rtd_Incar_filter_down_value,
|
||
uint8_t *rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL,
|
||
uint8_t *rtd_Mode_FL, uint8_t *rtd_Mode_FR, const uint8_t
|
||
*rtd_Mode_logic_FL, double *rtd_Recirculation, uint8_t
|
||
*rtd_Valve_3_way, const int8_t *rtd_step_start_controle_front,
|
||
const uint32_t *rtd_t_now, DW_Level3_h *localDW)
|
||
{
|
||
int32_t tmp;
|
||
int16_t rtb_out_jl;
|
||
uint16_t rtb_out_apg;
|
||
uint16_t rtb_out_g1;
|
||
uint8_t rtb_out_f4;
|
||
uint8_t rtb_out_fo;
|
||
uint8_t rtb_out_j5;
|
||
bool rtb_Cond_prev_private_l2;
|
||
bool rtb_RelationalOperator1_f;
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write8' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read10'
|
||
* MATLAB Function: '<S623>/3 way valve status'
|
||
*/
|
||
uwayvalvestatus_m(*rtd_LEVEL, rtd_Valve_3_way);
|
||
|
||
/* MATLAB Function: '<S687>/step' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read9'
|
||
*/
|
||
Dtg_FrontLower_X(*rtd_LEVEL, &rtb_out_j5);
|
||
|
||
/* MATLAB Function: '<S687>/time for step' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read9'
|
||
*/
|
||
timeforstep(*rtd_LEVEL, &rtb_out_fo);
|
||
|
||
/* Switch: '<S687>/Switch' incorporates:
|
||
* Constant: '<S687>/Constant'
|
||
* Constant: '<S697>/epsilon'
|
||
* DataStoreRead: '<S687>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S687>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S687>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S623>/Data Store Write12'
|
||
* Product: '<S687>/Product1'
|
||
* Product: '<S687>/change rate (dtg//sec)'
|
||
* Product: '<S687>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S687>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S697>/Relational Operator'
|
||
* RelationalOperator: '<S701>/Relational Operator'
|
||
* Sum: '<S687>/Add'
|
||
* Sum: '<S697>/Add'
|
||
* Sum: '<S698>/Subtract'
|
||
* Switch: '<S701>/Switch'
|
||
* UnitDelay: '<S698>/Unit Delay'
|
||
*/
|
||
if ((uint8_t)(*rtd_Dtg_FLL - *rtd_Dtg_logic_FLL) <= 0.01) {
|
||
*rtd_Dtg_FLR = *rtd_Dtg_logic_FLL;
|
||
} else {
|
||
if (*rtd_Dtg_FLL <= *rtd_Dtg_logic_FLL) {
|
||
/* Switch: '<S701>/Switch' incorporates:
|
||
* Constant: '<S701>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S701>/Switch' incorporates:
|
||
* Constant: '<S701>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Dtg_FLR = (uint8_t)((double)rtb_out_j5 / (double)rtb_out_fo / 1000.0 *
|
||
(double)(*rtd_t_now - localDW->UnitDelay_DSTATE) * (double)tmp + (double)*
|
||
rtd_Dtg_FLL);
|
||
}
|
||
|
||
/* End of Switch: '<S687>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write13' incorporates:
|
||
* DataStoreWrite: '<S623>/Data Store Write12'
|
||
*/
|
||
*rtd_Dtg_FLL = *rtd_Dtg_FLR;
|
||
|
||
/* MATLAB Function: '<S688>/step' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read8'
|
||
*/
|
||
Dtg_FrontUpper_X(*rtd_LEVEL, &rtb_out_j5);
|
||
|
||
/* MATLAB Function: '<S688>/time for step' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read8'
|
||
*/
|
||
timeforstep_a(*rtd_LEVEL, &rtb_out_fo);
|
||
|
||
/* Switch: '<S688>/Switch' incorporates:
|
||
* Constant: '<S688>/Constant'
|
||
* Constant: '<S702>/epsilon'
|
||
* DataStoreRead: '<S688>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S688>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S688>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S623>/Data Store Write10'
|
||
* Product: '<S688>/Product1'
|
||
* Product: '<S688>/change rate (dtg//sec)'
|
||
* Product: '<S688>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S688>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S702>/Relational Operator'
|
||
* RelationalOperator: '<S706>/Relational Operator'
|
||
* Sum: '<S688>/Add'
|
||
* Sum: '<S702>/Add'
|
||
* Sum: '<S703>/Subtract'
|
||
* Switch: '<S706>/Switch'
|
||
* UnitDelay: '<S703>/Unit Delay'
|
||
*/
|
||
if ((uint8_t)(*rtd_Dtg_FUL - *rtd_Dtg_logic_FUL) <= 0.01) {
|
||
*rtd_Dtg_FUR = *rtd_Dtg_logic_FUL;
|
||
} else {
|
||
if (*rtd_Dtg_FUL <= *rtd_Dtg_logic_FUL) {
|
||
/* Switch: '<S706>/Switch' incorporates:
|
||
* Constant: '<S706>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S706>/Switch' incorporates:
|
||
* Constant: '<S706>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Dtg_FUR = (uint8_t)((double)rtb_out_j5 / (double)rtb_out_fo / 1000.0 *
|
||
(double)(*rtd_t_now - localDW->UnitDelay_DSTATE_e) * (double)tmp + (double)*
|
||
rtd_Dtg_FUL);
|
||
}
|
||
|
||
/* End of Switch: '<S688>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write11' incorporates:
|
||
* DataStoreWrite: '<S623>/Data Store Write10'
|
||
*/
|
||
*rtd_Dtg_FUL = *rtd_Dtg_FUR;
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read1'
|
||
* MATLAB Function: '<S623>/incar filter up'
|
||
*/
|
||
incarfilterup(*rtd_LEVEL, rtd_Incar_filter_up_value);
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read2'
|
||
* MATLAB Function: '<S623>/incar filter down'
|
||
*/
|
||
incarfilterdown(*rtd_LEVEL, rtd_Incar_filter_down_value);
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write14' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read3'
|
||
* MATLAB Function: '<S623>/autodemist (autodefog)'
|
||
*/
|
||
autodemistautodefog(*rtd_LEVEL, rtd_Autodefog);
|
||
|
||
/* Sum: '<S712>/Add' incorporates:
|
||
* DataStoreRead: '<S695>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S695>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtb_out_j5 = (uint8_t)(*rtd_Mode_FL - *rtd_Mode_logic_FL);
|
||
|
||
/* MATLAB Function: '<S695>/step' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read5'
|
||
*/
|
||
step_l(*rtd_LEVEL, &rtb_out_fo);
|
||
|
||
/* MATLAB Function: '<S695>/time for step' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read5'
|
||
*/
|
||
timeforstep_f(*rtd_LEVEL, &rtb_out_f4);
|
||
|
||
/* Switch: '<S695>/Switch' incorporates:
|
||
* Constant: '<S695>/Constant'
|
||
* Constant: '<S712>/epsilon'
|
||
* DataStoreRead: '<S695>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S695>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S695>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S623>/Data Store Write2'
|
||
* Product: '<S695>/Product1'
|
||
* Product: '<S695>/change rate (step//sec)'
|
||
* Product: '<S695>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S695>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S712>/Relational Operator'
|
||
* RelationalOperator: '<S716>/Relational Operator'
|
||
* Sum: '<S695>/Add'
|
||
* Sum: '<S713>/Subtract'
|
||
* Switch: '<S716>/Switch'
|
||
* UnitDelay: '<S713>/Unit Delay'
|
||
*/
|
||
if (rtb_out_j5 <= 0.01) {
|
||
*rtd_Mode_FR = *rtd_Mode_logic_FL;
|
||
} else {
|
||
if (*rtd_Mode_FL <= *rtd_Mode_logic_FL) {
|
||
/* Switch: '<S716>/Switch' incorporates:
|
||
* Constant: '<S716>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S716>/Switch' incorporates:
|
||
* Constant: '<S716>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Mode_FR = (uint8_t)((double)rtb_out_fo / (double)rtb_out_f4 / 1000.0 *
|
||
(double)(*rtd_t_now - localDW->UnitDelay_DSTATE_h) * (double)tmp + (double)*
|
||
rtd_Mode_FL);
|
||
}
|
||
|
||
/* End of Switch: '<S695>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write3' incorporates:
|
||
* DataStoreWrite: '<S623>/Data Store Write2'
|
||
*/
|
||
*rtd_Mode_FL = *rtd_Mode_FR;
|
||
|
||
/* MATLAB Function: '<S623>/window heating' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read6'
|
||
*/
|
||
windowheating_k(*rtd_LEVEL, &rtb_out_j5);
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write4' */
|
||
*rtd_El_window_heating = rtb_out_j5;
|
||
|
||
/* Sum: '<S707>/Add' incorporates:
|
||
* DataStoreRead: '<S692>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S692>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtb_out_g1 = (uint16_t)(*rtd_Blower_FL - *rtd_Blower_logic_FL);
|
||
|
||
/* RelationalOperator: '<S707>/Relational Operator' incorporates:
|
||
* Constant: '<S707>/epsilon'
|
||
*/
|
||
rtb_Cond_prev_private_l2 = (rtb_out_g1 <= 0.01);
|
||
|
||
/* MATLAB Function: '<S692>/blower step' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read7'
|
||
*/
|
||
blowerstep(*rtd_LEVEL, &rtb_out_apg);
|
||
|
||
/* MATLAB Function: '<S692>/blower time for step' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read7'
|
||
*/
|
||
blowertimeforstep(*rtd_LEVEL, &rtb_out_g1);
|
||
|
||
/* Switch: '<S692>/Switch' incorporates:
|
||
* Constant: '<S692>/Constant'
|
||
* DataStoreRead: '<S692>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S692>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S692>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S623>/Data Store Write5'
|
||
* Product: '<S692>/Product1'
|
||
* Product: '<S692>/change rate (step//sec)'
|
||
* Product: '<S692>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S692>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S711>/Relational Operator'
|
||
* Sum: '<S692>/Add'
|
||
* Sum: '<S708>/Subtract'
|
||
* Switch: '<S711>/Switch'
|
||
* UnitDelay: '<S708>/Unit Delay'
|
||
*/
|
||
if (rtb_Cond_prev_private_l2) {
|
||
*rtd_Blower_FR = *rtd_Blower_logic_FL;
|
||
} else {
|
||
if (*rtd_Blower_FL <= *rtd_Blower_logic_FL) {
|
||
/* Switch: '<S711>/Switch' incorporates:
|
||
* Constant: '<S711>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S711>/Switch' incorporates:
|
||
* Constant: '<S711>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Blower_FR = (uint16_t)((double)rtb_out_apg / (double)rtb_out_g1 /
|
||
1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_o) * (double)tmp
|
||
+ (double)*rtd_Blower_FL);
|
||
}
|
||
|
||
/* End of Switch: '<S692>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write6' incorporates:
|
||
* DataStoreWrite: '<S623>/Data Store Write5'
|
||
*/
|
||
*rtd_Blower_FL = *rtd_Blower_FR;
|
||
|
||
/* DataStoreWrite: '<S623>/Data Store Write7' incorporates:
|
||
* Constant: '<S623>/Recirc logic Partial REC'
|
||
*/
|
||
*rtd_Recirculation = 1.0;
|
||
|
||
/* RelationalOperator: '<S623>/Equal' incorporates:
|
||
* DataStoreRead: '<S623>/current step'
|
||
*/
|
||
rtb_Cond_prev_private_l2 = (*rtd_step_start_controle_front == 1);
|
||
|
||
/* MATLAB Function: '<S623>/Time goto from step 2 to step 3 ' incorporates:
|
||
* DataStoreRead: '<S623>/Data Store Read4'
|
||
*/
|
||
Timegotofromstep2tostep3(*rtd_LEVEL, &rtb_out_jl);
|
||
|
||
/* RelationalOperator: '<S623>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S689>/Data Store Read4'
|
||
* Gain: '<S623>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Sum: '<S689>/Subtract'
|
||
* UnitDelay: '<S689>/t_start_delay_private '
|
||
*/
|
||
rtb_RelationalOperator1_f = (*rtd_t_now -
|
||
localDW->t_start_delay_private_DSTATE > (uint32_t)(1000 * rtb_out_jl));
|
||
|
||
/* Switch: '<S689>/Switch' incorporates:
|
||
* DataStoreRead: '<S689>/Data Store Read4'
|
||
* Logic: '<S689>/Logical Operator3'
|
||
* Logic: '<S689>/Logical Operator4'
|
||
* UnitDelay: '<S689>/Cond_prev_private '
|
||
* UnitDelay: '<S689>/t_start_delay_private '
|
||
*/
|
||
if (rtb_Cond_prev_private_l2 && (!localDW->Cond_prev_private_DSTATE)) {
|
||
localDW->t_start_delay_private_DSTATE = *rtd_t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S689>/Switch' */
|
||
|
||
/* Switch: '<S623>/Switch' incorporates:
|
||
* Constant: '<S623>/go to next step'
|
||
* Constant: '<S623>/stay at step 1'
|
||
* DataStoreRead: '<S623>/Data Store Read'
|
||
* Logic: '<S623>/Logical Operator'
|
||
*/
|
||
if (rtb_RelationalOperator1_f || (*rtd_HI_logic_on)) {
|
||
*rty_step = 2;
|
||
} else {
|
||
*rty_step = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S623>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S698>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S687>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S703>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S688>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE_e = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S713>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S695>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE_h = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S708>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S692>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE_o = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S689>/Cond_prev_private ' */
|
||
localDW->Cond_prev_private_DSTATE = rtb_Cond_prev_private_l2;
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S517>/Step 3'
|
||
* '<S518>/Step 3'
|
||
*/
|
||
void Step3(int8_t *rty_step, int8_t *rtd_start_control_finished_front)
|
||
{
|
||
/* DataStoreWrite: '<S523>/Data Store Write10' incorporates:
|
||
* Constant: '<S523>/True'
|
||
*/
|
||
*rtd_start_control_finished_front = 1;
|
||
|
||
/* SignalConversion generated from: '<S523>/step' incorporates:
|
||
* Constant: '<S523>/Constant1'
|
||
*/
|
||
*rty_step = 3;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S784>/g_ausSTART_ENTER_SETTEMP'
|
||
* '<S785>/g_ausSTART_ENTER_SETTEMP'
|
||
* '<S786>/g_ausSTART_ENTER_SETTEMP'
|
||
*/
|
||
void g_ausSTART_ENTER_SETTEMP_p(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
uint16_t tmp_1;
|
||
|
||
/* : out = int16(g_ausSTART_ENTER_SETTEMP(LVL+1+6)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp_1 = g_ausSTART_ENTER_SETTEMP[tmp_0 - 1];
|
||
if (tmp_1 > 32767) {
|
||
tmp_1 = 32767U;
|
||
}
|
||
|
||
*rty_out = (int16_t)tmp_1;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S785>/g_assSTART_ENTER_INCAR'
|
||
* '<S786>/g_assSTART_ENTER_INCAR'
|
||
* '<S787>/g_assSTART_ENTER_INCAR'
|
||
* '<S788>/g_assSTART_ENTER_INCAR'
|
||
* '<S789>/g_assSTART_ENTER_INCAR'
|
||
*/
|
||
void g_assSTART_ENTER_INCAR_l(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = int16(g_assSTART_ENTER_INCAR(LVL+1+6)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_assSTART_ENTER_INCAR[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S787>/g_assSTART_ENTER_COOLANT '
|
||
* '<S788>/g_assSTART_ENTER_COOLANT '
|
||
* '<S789>/g_assSTART_ENTER_COOLANT '
|
||
*/
|
||
void g_assSTART_ENTER_COOLANT_i(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = int16(g_assSTART_ENTER_COOLANT(LVL + 1)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_assSTART_ENTER_COOLANT[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S779>/Level 4'
|
||
* '<S779>/Level 5'
|
||
*/
|
||
void Level4_i(int8_t *rty_step1, const uint16_t *rtd_ECT, const int16_t
|
||
*rtd_Incar_RR, const uint8_t *rtd_LEVEL, const double
|
||
*rtd_MODE_RR_passenger)
|
||
{
|
||
int16_t rtb_out_dtd;
|
||
int16_t rtb_out_mu;
|
||
|
||
/* MATLAB Function: '<S788>/g_assSTART_ENTER_INCAR' incorporates:
|
||
* DataStoreRead: '<S788>/Data Store Read4'
|
||
*/
|
||
g_assSTART_ENTER_INCAR_l(*rtd_LEVEL, &rtb_out_mu);
|
||
|
||
/* MATLAB Function: '<S788>/g_assSTART_ENTER_COOLANT ' incorporates:
|
||
* DataStoreRead: '<S788>/Data Store Read3'
|
||
*/
|
||
g_assSTART_ENTER_COOLANT_i(*rtd_LEVEL, &rtb_out_dtd);
|
||
|
||
/* Switch: '<S788>/Switch' incorporates:
|
||
* Constant: '<S788>/AUTO'
|
||
* Constant: '<S788>/Constant'
|
||
* Constant: '<S788>/Constant1'
|
||
* DataStoreRead: '<S788>/Data Store Read'
|
||
* DataStoreRead: '<S788>/Data Store Read1'
|
||
* DataStoreRead: '<S788>/Data Store Read2'
|
||
* Logic: '<S788>/AND'
|
||
* Logic: '<S788>/AND1'
|
||
* RelationalOperator: '<S788>/Relational Operator'
|
||
* RelationalOperator: '<S788>/Relational Operator1'
|
||
* RelationalOperator: '<S788>/Relational Operator2'
|
||
*/
|
||
if (((*rtd_Incar_RR < rtb_out_mu) || (*rtd_ECT < rtb_out_dtd)) &&
|
||
(*rtd_MODE_RR_passenger == 1.0)) {
|
||
*rty_step1 = 0;
|
||
} else {
|
||
*rty_step1 = -1;
|
||
}
|
||
|
||
/* End of Switch: '<S788>/Switch' */
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S805>/incar filter down'
|
||
* '<S806>/incar filter down'
|
||
* '<S807>/incar filter down'
|
||
* '<S808>/incar filter down'
|
||
*/
|
||
void incarfilterdown_j(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_INCAR_FLT_DN(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_INCAR_FLT_DN[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S805>/incar filter up'
|
||
* '<S806>/incar filter up'
|
||
* '<S807>/incar filter up'
|
||
* '<S808>/incar filter up'
|
||
*/
|
||
void incarfilterup_d(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_INCAR_FLT_UP(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_INCAR_FLT_UP[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S806>/g_assSTART_COOLANT_STEP0_TO_1 '
|
||
* '<S807>/g_assSTART_COOLANT_STEP0_TO_1 '
|
||
* '<S808>/g_assSTART_COOLANT_STEP0_TO_1 '
|
||
*/
|
||
void g_assSTART_COOLANT_STEP0_TO_1_g(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 3)); */
|
||
tmp = (int32_t)(rtu_LVL + 3U);
|
||
if (rtu_LVL + 3U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_assSTART_COOLANT_STEP0_TO_1[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S780>/Level 4'
|
||
* '<S780>/Level 5'
|
||
*/
|
||
void Level4_h(int8_t *rty_step1, uint16_t *rtd_Blower_RL, uint16_t
|
||
*rtd_Blower_RR, uint8_t *rtd_Dtg_RL, uint8_t *rtd_Dtg_RR, const
|
||
uint16_t *rtd_ECT, uint8_t *rtd_Incar_filter_down_value, uint8_t
|
||
*rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, uint8_t
|
||
*rtd_Mode_RL, uint8_t *rtd_Mode_RR, uint8_t *rtd_Valve_2_way,
|
||
uint8_t *rtd_Valve_3_way)
|
||
{
|
||
int16_t rtb_out_dfj;
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write5' incorporates:
|
||
* Constant: '<S807>/Constant2'
|
||
*/
|
||
*rtd_Blower_RR = 10U;
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write6' incorporates:
|
||
* Constant: '<S807>/Constant3'
|
||
*/
|
||
*rtd_Blower_RL = 10U;
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write10' incorporates:
|
||
* Constant: '<S807>/Constant4'
|
||
*/
|
||
*rtd_Dtg_RR = 80U;
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write11' incorporates:
|
||
* Constant: '<S807>/Constant5'
|
||
*/
|
||
*rtd_Dtg_RL = 80U;
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S807>/Data Store Read1'
|
||
* MATLAB Function: '<S807>/incar filter up'
|
||
*/
|
||
incarfilterup_d(*rtd_LEVEL, rtd_Incar_filter_up_value);
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S807>/Data Store Read2'
|
||
* MATLAB Function: '<S807>/incar filter down'
|
||
*/
|
||
incarfilterdown_j(*rtd_LEVEL, rtd_Incar_filter_down_value);
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write2' incorporates:
|
||
* Constant: '<S807>/Mode - foot'
|
||
*/
|
||
*rtd_Mode_RR = 60U;
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write3' incorporates:
|
||
* Constant: '<S807>/Mode - foot'
|
||
*/
|
||
*rtd_Mode_RL = 60U;
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write8' incorporates:
|
||
* Constant: '<S807>/Valve open'
|
||
*/
|
||
*rtd_Valve_3_way = 1U;
|
||
|
||
/* DataStoreWrite: '<S807>/Data Store Write9' incorporates:
|
||
* Constant: '<S807>/Valve open'
|
||
*/
|
||
*rtd_Valve_2_way = 1U;
|
||
|
||
/* MATLAB Function: '<S807>/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates:
|
||
* DataStoreRead: '<S807>/Data Store Read3'
|
||
*/
|
||
g_assSTART_COOLANT_STEP0_TO_1_g(*rtd_LEVEL, &rtb_out_dfj);
|
||
|
||
/* Switch: '<S807>/Switch' incorporates:
|
||
* DataStoreRead: '<S807>/Engine coolant temp'
|
||
* RelationalOperator: '<S807>/Relational Operator'
|
||
*/
|
||
*rty_step1 = (int8_t)(*rtd_ECT > rtb_out_dfj);
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S821>/2 way valve'
|
||
* '<S822>/2 way valve'
|
||
* '<S823>/2 way valve'
|
||
* '<S824>/2 way valve'
|
||
* '<S825>/2 way valve'
|
||
* '<S826>/2 way valve'
|
||
* '<S891>/2 way valve'
|
||
* '<S892>/2 way valve'
|
||
* '<S893>/2 way valve'
|
||
* '<S894>/2 way valve'
|
||
* ...
|
||
*/
|
||
void uwayvalve(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_2WAY_OPEN(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_2WAY_OPEN[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S821>/Dtg_rear'
|
||
* '<S822>/Dtg_rear'
|
||
* '<S823>/Dtg_rear'
|
||
* '<S824>/Dtg_rear'
|
||
* '<S825>/Dtg_rear'
|
||
* '<S826>/Dtg_rear'
|
||
*/
|
||
void Dtg_rear(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_DUCT_TGT_STEP2_RX(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_DUCT_TGT_STEP2_RX[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S821>/Incar temp goto from step 1 to step 2 '
|
||
* '<S822>/Incar temp goto from step 1 to step 2 '
|
||
* '<S823>/Incar temp goto from step 1 to step 2 '
|
||
* '<S824>/Incar temp goto from step 1 to step 2 '
|
||
* '<S825>/Incar temp goto from step 1 to step 2 '
|
||
* '<S826>/Incar temp goto from step 1 to step 2 '
|
||
*/
|
||
void Incartempgotofromstep1tostep2_b(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = int16(g_assSTART_INCAR_STEP1_TO_2(LVL + 1 + 6)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_assSTART_INCAR_STEP1_TO_2[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S821>/Time goto from step 1 to step 2 '
|
||
* '<S822>/Time goto from step 1 to step 2 '
|
||
* '<S823>/Time goto from step 1 to step 2 '
|
||
* '<S824>/Time goto from step 1 to step 2 '
|
||
* '<S825>/Time goto from step 1 to step 2 '
|
||
* '<S826>/Time goto from step 1 to step 2 '
|
||
* '<S891>/Time goto from step 1 to step 2 '
|
||
* '<S892>/Time goto from step 1 to step 2 '
|
||
* '<S893>/Time goto from step 1 to step 2 '
|
||
* '<S894>/Time goto from step 1 to step 2 '
|
||
* ...
|
||
*/
|
||
void Timegotofromstep1tostep2_h(uint8_t rtu_LVL, int16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
uint16_t tmp_1;
|
||
|
||
/* : out = int16(g_ausSTART_TIME_STEP1_TO_2(LVL + 1 + 6)); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp_1 = g_ausSTART_TIME_STEP1_TO_2[tmp_0 - 1];
|
||
if (tmp_1 > 32767) {
|
||
tmp_1 = 32767U;
|
||
}
|
||
|
||
*rty_out = (int16_t)tmp_1;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S821>/mode rear step 1'
|
||
* '<S822>/mode rear step 1'
|
||
* '<S823>/mode rear step 1'
|
||
* '<S824>/mode rear step 1'
|
||
* '<S825>/mode rear step 1'
|
||
* '<S826>/mode rear step 1'
|
||
*/
|
||
void moderearstep1(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_VALVE_IDX_STEP1(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_VALVE_IDX_STEP1[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S781>/Level 0'
|
||
* '<S781>/Level 1'
|
||
*/
|
||
void Level0_h(int8_t *rty_step, uint16_t *rtd_Blower_RL, uint16_t *rtd_Blower_RR,
|
||
uint8_t *rtd_Dtg_RL, uint8_t *rtd_Dtg_RR, const int16_t
|
||
*rtd_Incar_RR, uint8_t *rtd_Incar_filter_down_value, uint8_t
|
||
*rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, uint8_t
|
||
*rtd_Mode_RL, uint8_t *rtd_Mode_RR, double *rtd_Recirculation,
|
||
uint8_t *rtd_Valve_2_way, const int8_t
|
||
*rtd_step_start_controle_rear, const uint32_t *rtd_t_now,
|
||
DW_Level0_p *localDW)
|
||
{
|
||
int32_t tmp;
|
||
uint32_t rtb_dt_dl;
|
||
int16_t rtb_out_gl;
|
||
int16_t rtb_out_ni;
|
||
uint16_t rtb_out_it;
|
||
uint8_t rtb_out_c5o;
|
||
bool rtb_Equal_ix;
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write9' incorporates:
|
||
* DataStoreRead: '<S821>/Data Store Read6'
|
||
* MATLAB Function: '<S821>/2 way valve'
|
||
*/
|
||
uwayvalve(*rtd_LEVEL, rtd_Valve_2_way);
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S821>/Data Store Read1'
|
||
* MATLAB Function: '<S821>/incar filter up'
|
||
*/
|
||
incarfilterup_d(*rtd_LEVEL, rtd_Incar_filter_up_value);
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S821>/Data Store Read2'
|
||
* MATLAB Function: '<S821>/incar filter down'
|
||
*/
|
||
incarfilterdown_j(*rtd_LEVEL, rtd_Incar_filter_down_value);
|
||
|
||
/* MATLAB Function: '<S821>/mode rear step 1' incorporates:
|
||
* DataStoreRead: '<S821>/Data Store Read5'
|
||
*/
|
||
moderearstep1(*rtd_LEVEL, &rtb_out_c5o);
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write2' */
|
||
*rtd_Mode_RR = rtb_out_c5o;
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write3' */
|
||
*rtd_Mode_RL = rtb_out_c5o;
|
||
|
||
/* MATLAB Function: '<S821>/blower rear' incorporates:
|
||
* DataStoreRead: '<S821>/Data Store Read7'
|
||
*/
|
||
/* : out = g_ausSTART_BLR_AF_STEP12_R(LVL + 1); */
|
||
tmp = (int32_t)(*rtd_LEVEL + 1U);
|
||
if (*rtd_LEVEL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rtb_out_it = g_ausSTART_BLR_AF_STEP12_R[tmp - 1];
|
||
|
||
/* End of MATLAB Function: '<S821>/blower rear' */
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write5' */
|
||
*rtd_Blower_RR = rtb_out_it;
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write6' */
|
||
*rtd_Blower_RL = rtb_out_it;
|
||
|
||
/* MATLAB Function: '<S821>/Dtg_rear' incorporates:
|
||
* DataStoreRead: '<S821>/Data Store Read8'
|
||
*/
|
||
Dtg_rear(*rtd_LEVEL, &rtb_out_c5o);
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write10' */
|
||
*rtd_Dtg_RR = rtb_out_c5o;
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write11' */
|
||
*rtd_Dtg_RL = rtb_out_c5o;
|
||
|
||
/* DataStoreWrite: '<S821>/Data Store Write7' incorporates:
|
||
* Constant: '<S821>/Recirc logic Partial REC'
|
||
*/
|
||
*rtd_Recirculation = 1.0;
|
||
|
||
/* RelationalOperator: '<S821>/Equal' incorporates:
|
||
* DataStoreRead: '<S821>/current step'
|
||
*/
|
||
rtb_Equal_ix = (*rtd_step_start_controle_rear == 1);
|
||
|
||
/* MATLAB Function: '<S821>/Incar temp goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S821>/Data Store Read3'
|
||
*/
|
||
Incartempgotofromstep1tostep2_b(*rtd_LEVEL, &rtb_out_ni);
|
||
|
||
/* Sum: '<S830>/Subtract' incorporates:
|
||
* DataStoreRead: '<S830>/Data Store Read4'
|
||
* UnitDelay: '<S830>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_dl = *rtd_t_now - localDW->t_start_delay_private_DSTATE;
|
||
|
||
/* MATLAB Function: '<S821>/Time goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S821>/Data Store Read4'
|
||
*/
|
||
Timegotofromstep1tostep2_h(*rtd_LEVEL, &rtb_out_gl);
|
||
|
||
/* Switch: '<S830>/Switch' incorporates:
|
||
* DataStoreRead: '<S830>/Data Store Read4'
|
||
* Logic: '<S830>/Logical Operator3'
|
||
* Logic: '<S830>/Logical Operator4'
|
||
* UnitDelay: '<S830>/Cond_prev_private '
|
||
* UnitDelay: '<S830>/t_start_delay_private '
|
||
*/
|
||
if (rtb_Equal_ix && (!localDW->Cond_prev_private_DSTATE)) {
|
||
localDW->t_start_delay_private_DSTATE = *rtd_t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S830>/Switch' */
|
||
|
||
/* Switch: '<S821>/Switch' incorporates:
|
||
* Constant: '<S821>/go to next step'
|
||
* Constant: '<S821>/stay at step 1'
|
||
* DataStoreRead: '<S821>/incar temp'
|
||
* Gain: '<S821>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Logic: '<S821>/Logical Operator'
|
||
* RelationalOperator: '<S821>/Relational Operator'
|
||
* RelationalOperator: '<S821>/Relational Operator1'
|
||
*/
|
||
if ((*rtd_Incar_RR < rtb_out_ni) || (rtb_dt_dl > (uint16_t)(1000 * rtb_out_gl)))
|
||
{
|
||
*rty_step = 2;
|
||
} else {
|
||
*rty_step = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S821>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S830>/Cond_prev_private ' */
|
||
localDW->Cond_prev_private_DSTATE = rtb_Equal_ix;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S850>/blower start finish'
|
||
* '<S862>/blower start finish'
|
||
* '<S874>/blower start finish'
|
||
* '<S885>/blower start finish'
|
||
*/
|
||
void blowerstartfinish(uint8_t rtu_LVL, uint16_t rty_out[2])
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : start = g_ausSTART_BLR_AF_STEP12_R(LVL + 1); */
|
||
/* : finish = g_ausSTART_BLR_AF_STEP12_R(LVL + 1 + 6); */
|
||
/* : out = [start, finish]; */
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
rty_out[0] = g_ausSTART_BLR_AF_STEP12_R[tmp_0 - 1];
|
||
tmp_0 = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
tmp = (int32_t)((uint32_t)tmp_0 + 6U);
|
||
if ((uint32_t)tmp_0 + 6U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rty_out[1] = g_ausSTART_BLR_AF_STEP12_R[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S862>/ECT min max'
|
||
* '<S874>/ECT min max'
|
||
* '<S885>/ECT min max'
|
||
*/
|
||
void ECTminmax_h(uint8_t rtu_LVL, int16_t rty_out[2])
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : min = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 3)); */
|
||
/* : max = int16(g_assSTART_COOLANT_TO_STEP2(3)); */
|
||
/* : out = [min, max]; */
|
||
tmp = (int32_t)(rtu_LVL + 3U);
|
||
if (rtu_LVL + 3U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
rty_out[0] = g_assSTART_COOLANT_STEP0_TO_1[tmp - 1];
|
||
rty_out[1] = g_assSTART_COOLANT_TO_STEP2[2];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S781>/Level 4'
|
||
* '<S781>/Level 5'
|
||
*/
|
||
void Level4_d(int8_t *rty_step, uint16_t *rtd_Blower_RL, uint16_t *rtd_Blower_RR,
|
||
uint8_t *rtd_Dtg_RL, uint8_t *rtd_Dtg_RR, const uint16_t *rtd_ECT,
|
||
const int16_t *rtd_Incar_RR, uint8_t *rtd_Incar_filter_down_value,
|
||
uint8_t *rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL,
|
||
uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, double
|
||
*rtd_Recirculation, uint8_t *rtd_Valve_2_way, const int8_t
|
||
*rtd_step_start_controle_rear, const uint32_t *rtd_t_now,
|
||
DW_Level4_m *localDW)
|
||
{
|
||
uint32_t rtb_dt_k;
|
||
int16_t rtb_out_l1[2];
|
||
int16_t rtb_out_a4;
|
||
int16_t rtb_out_hj;
|
||
uint16_t rtb_out_bd[2];
|
||
uint8_t rtb_out_m1;
|
||
bool rtb_Equal_hg;
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write9' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read6'
|
||
* MATLAB Function: '<S825>/2 way valve'
|
||
*/
|
||
uwayvalve(*rtd_LEVEL, rtd_Valve_2_way);
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read1'
|
||
* MATLAB Function: '<S825>/incar filter up'
|
||
*/
|
||
incarfilterup_d(*rtd_LEVEL, rtd_Incar_filter_up_value);
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read2'
|
||
* MATLAB Function: '<S825>/incar filter down'
|
||
*/
|
||
incarfilterdown_j(*rtd_LEVEL, rtd_Incar_filter_down_value);
|
||
|
||
/* MATLAB Function: '<S825>/mode rear step 1' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read5'
|
||
*/
|
||
moderearstep1(*rtd_LEVEL, &rtb_out_m1);
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write2' */
|
||
*rtd_Mode_RR = rtb_out_m1;
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write3' */
|
||
*rtd_Mode_RL = rtb_out_m1;
|
||
|
||
/* MATLAB Function: '<S874>/blower start finish' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read7'
|
||
*/
|
||
blowerstartfinish(*rtd_LEVEL, rtb_out_bd);
|
||
|
||
/* MATLAB Function: '<S874>/ECT min max' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read7'
|
||
*/
|
||
ECTminmax_h(*rtd_LEVEL, rtb_out_l1);
|
||
|
||
/* Lookup_n-D: '<S874>/blower <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ECT' incorporates:
|
||
* DataStoreRead: '<S874>/engine coolant temp'
|
||
* DataStoreWrite: '<S825>/Data Store Write5'
|
||
*/
|
||
*rtd_Blower_RR = look1_iu16bs16lu64n32_binlcse(*rtd_ECT, rtb_out_l1,
|
||
rtb_out_bd, 1U);
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write6' incorporates:
|
||
* DataStoreWrite: '<S825>/Data Store Write5'
|
||
*/
|
||
*rtd_Blower_RL = *rtd_Blower_RR;
|
||
|
||
/* MATLAB Function: '<S825>/Dtg_rear' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read8'
|
||
*/
|
||
Dtg_rear(*rtd_LEVEL, &rtb_out_m1);
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write10' */
|
||
*rtd_Dtg_RR = rtb_out_m1;
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write11' */
|
||
*rtd_Dtg_RL = rtb_out_m1;
|
||
|
||
/* DataStoreWrite: '<S825>/Data Store Write7' incorporates:
|
||
* Constant: '<S825>/Recirc logic Partial REC'
|
||
*/
|
||
*rtd_Recirculation = 1.0;
|
||
|
||
/* RelationalOperator: '<S825>/Equal' incorporates:
|
||
* DataStoreRead: '<S825>/current step'
|
||
*/
|
||
rtb_Equal_hg = (*rtd_step_start_controle_rear == 1);
|
||
|
||
/* MATLAB Function: '<S825>/Incar temp goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read3'
|
||
*/
|
||
Incartempgotofromstep1tostep2_b(*rtd_LEVEL, &rtb_out_hj);
|
||
|
||
/* Sum: '<S872>/Subtract' incorporates:
|
||
* DataStoreRead: '<S872>/Data Store Read4'
|
||
* UnitDelay: '<S872>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_k = *rtd_t_now - localDW->t_start_delay_private_DSTATE;
|
||
|
||
/* MATLAB Function: '<S825>/Time goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S825>/Data Store Read4'
|
||
*/
|
||
Timegotofromstep1tostep2_h(*rtd_LEVEL, &rtb_out_a4);
|
||
|
||
/* Switch: '<S872>/Switch' incorporates:
|
||
* DataStoreRead: '<S872>/Data Store Read4'
|
||
* Logic: '<S872>/Logical Operator3'
|
||
* Logic: '<S872>/Logical Operator4'
|
||
* UnitDelay: '<S872>/Cond_prev_private '
|
||
* UnitDelay: '<S872>/t_start_delay_private '
|
||
*/
|
||
if (rtb_Equal_hg && (!localDW->Cond_prev_private_DSTATE)) {
|
||
localDW->t_start_delay_private_DSTATE = *rtd_t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S872>/Switch' */
|
||
|
||
/* Switch: '<S825>/Switch' incorporates:
|
||
* Constant: '<S825>/go to next step'
|
||
* Constant: '<S825>/stay at step 1'
|
||
* DataStoreRead: '<S825>/incar temp'
|
||
* Gain: '<S825>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Logic: '<S825>/Logical Operator'
|
||
* RelationalOperator: '<S825>/Relational Operator'
|
||
* RelationalOperator: '<S825>/Relational Operator1'
|
||
*/
|
||
if ((*rtd_Incar_RR > rtb_out_hj) || (rtb_dt_k > (uint16_t)(1000 * rtb_out_a4)))
|
||
{
|
||
*rty_step = 2;
|
||
} else {
|
||
*rty_step = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S825>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S872>/Cond_prev_private ' */
|
||
localDW->Cond_prev_private_DSTATE = rtb_Equal_hg;
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S898>/time for step'
|
||
* '<S921>/time for step'
|
||
* '<S944>/time for step'
|
||
* '<S967>/time for step'
|
||
* '<S990>/time for step'
|
||
* '<S1013>/time for step'
|
||
*/
|
||
void timeforstep_fu(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_DUCT_TGT_STEP2_RX(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_DUCT_TGT_STEP2_RX[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S901>/blower step'
|
||
* '<S924>/blower step'
|
||
* '<S947>/blower step'
|
||
* '<S970>/blower step'
|
||
* '<S993>/blower step'
|
||
* '<S1016>/blower step'
|
||
*/
|
||
void blowerstep_j(uint8_t rtu_LVL, uint16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_ausSTART_BLR_SPD_STEP2_R(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_ausSTART_BLR_SPD_STEP2_R[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S901>/blower time for step'
|
||
* '<S924>/blower time for step'
|
||
* '<S947>/blower time for step'
|
||
* '<S970>/blower time for step'
|
||
* '<S993>/blower time for step'
|
||
* '<S1016>/blower time for step'
|
||
*/
|
||
void blowertimeforstep_a(uint8_t rtu_LVL, uint16_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_ausSTART_BLR_SPD_STEP2_R(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_ausSTART_BLR_SPD_STEP2_R[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S904>/step'
|
||
* '<S927>/step'
|
||
* '<S950>/step'
|
||
* '<S973>/step'
|
||
* '<S996>/step'
|
||
* '<S1019>/step'
|
||
*/
|
||
void step_c(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
|
||
/* : out = g_aucSTART_VALVE_CHANGE_SPD_R(LVL + 1); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_VALVE_CHANGE_SPD_R[tmp - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for atomic system:
|
||
* '<S904>/time for step'
|
||
* '<S927>/time for step'
|
||
* '<S950>/time for step'
|
||
* '<S973>/time for step'
|
||
* '<S996>/time for step'
|
||
* '<S1019>/time for step'
|
||
*/
|
||
void timeforstep_h(uint8_t rtu_LVL, uint8_t *rty_out)
|
||
{
|
||
int32_t tmp;
|
||
int32_t tmp_0;
|
||
|
||
/* : out = g_aucSTART_VALVE_CHANGE_SPD_R(LVL + 1 + 6); */
|
||
tmp = (int32_t)(rtu_LVL + 1U);
|
||
if (rtu_LVL + 1U > 255U) {
|
||
tmp = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)tmp + 6U);
|
||
if ((uint32_t)tmp + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
*rty_out = g_aucSTART_VALVE_CHANGE_SPD_R[tmp_0 - 1];
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S782>/Level 0'
|
||
* '<S782>/Level 1'
|
||
*/
|
||
void Level0_j(int8_t *rty_step, uint16_t *rtd_Blower_RL, uint16_t *rtd_Blower_RR,
|
||
const uint16_t *rtd_Blower_logic_RR, uint8_t *rtd_Dtg_RL, uint8_t *
|
||
rtd_Dtg_RR, const uint8_t *rtd_Dtg_logic_RR, uint8_t
|
||
*rtd_Incar_filter_down_value, uint8_t *rtd_Incar_filter_up_value,
|
||
const uint8_t *rtd_LEVEL, uint8_t *rtd_Mode_RL, uint8_t
|
||
*rtd_Mode_RR, const uint8_t *rtd_Mode_logic_RR, double
|
||
*rtd_Recirculation, uint8_t *rtd_Valve_2_way, const int8_t
|
||
*rtd_step_start_controle_rear, const uint32_t *rtd_t_now,
|
||
DW_Level0_n *localDW)
|
||
{
|
||
int32_t tmp;
|
||
uint32_t rtb_dt_l;
|
||
int16_t rtb_out_gw;
|
||
uint16_t rtb_out_jki;
|
||
uint16_t rtb_out_ma;
|
||
uint8_t rtb_out_ke;
|
||
uint8_t rtb_out_mz;
|
||
bool rtb_RelationalOperator1_em;
|
||
|
||
/* DataStoreWrite: '<S891>/Data Store Write9' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read6'
|
||
* MATLAB Function: '<S891>/2 way valve'
|
||
*/
|
||
uwayvalve(*rtd_LEVEL, rtd_Valve_2_way);
|
||
|
||
/* MATLAB Function: '<S898>/step' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read8'
|
||
*/
|
||
Dtg_rear(*rtd_LEVEL, &rtb_out_mz);
|
||
|
||
/* MATLAB Function: '<S898>/time for step' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read8'
|
||
*/
|
||
timeforstep_fu(*rtd_LEVEL, &rtb_out_ke);
|
||
|
||
/* Switch: '<S898>/Switch' incorporates:
|
||
* Constant: '<S898>/Constant'
|
||
* Constant: '<S905>/epsilon'
|
||
* DataStoreRead: '<S898>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S898>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S898>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S891>/Data Store Write10'
|
||
* Product: '<S898>/Product1'
|
||
* Product: '<S898>/change rate (dtg//sec)'
|
||
* Product: '<S898>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S898>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S905>/Relational Operator'
|
||
* RelationalOperator: '<S909>/Relational Operator'
|
||
* Sum: '<S898>/Add'
|
||
* Sum: '<S905>/Add'
|
||
* Sum: '<S906>/Subtract'
|
||
* Switch: '<S909>/Switch'
|
||
* UnitDelay: '<S906>/Unit Delay'
|
||
*/
|
||
if ((uint8_t)(*rtd_Dtg_RR - *rtd_Dtg_logic_RR) <= 0.01) {
|
||
*rtd_Dtg_RR = *rtd_Dtg_logic_RR;
|
||
} else {
|
||
if (*rtd_Dtg_RR <= *rtd_Dtg_logic_RR) {
|
||
/* Switch: '<S909>/Switch' incorporates:
|
||
* Constant: '<S909>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S909>/Switch' incorporates:
|
||
* Constant: '<S909>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Dtg_RR = (uint8_t)((double)rtb_out_mz / (double)rtb_out_ke / 1000.0 *
|
||
(double)(*rtd_t_now - localDW->UnitDelay_DSTATE) * (double)tmp + (double)*
|
||
rtd_Dtg_RR);
|
||
}
|
||
|
||
/* End of Switch: '<S898>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S891>/Data Store Write11' incorporates:
|
||
* DataStoreWrite: '<S891>/Data Store Write10'
|
||
*/
|
||
*rtd_Dtg_RL = *rtd_Dtg_RR;
|
||
|
||
/* DataStoreWrite: '<S891>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read1'
|
||
* MATLAB Function: '<S891>/incar filter up'
|
||
*/
|
||
incarfilterup_d(*rtd_LEVEL, rtd_Incar_filter_up_value);
|
||
|
||
/* DataStoreWrite: '<S891>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read2'
|
||
* MATLAB Function: '<S891>/incar filter down'
|
||
*/
|
||
incarfilterdown_j(*rtd_LEVEL, rtd_Incar_filter_down_value);
|
||
|
||
/* Sum: '<S915>/Add' incorporates:
|
||
* DataStoreRead: '<S904>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S904>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtb_out_mz = (uint8_t)(*rtd_Mode_RR - *rtd_Mode_logic_RR);
|
||
|
||
/* RelationalOperator: '<S915>/Relational Operator' incorporates:
|
||
* Constant: '<S915>/epsilon'
|
||
*/
|
||
rtb_RelationalOperator1_em = (rtb_out_mz <= 0.01);
|
||
|
||
/* MATLAB Function: '<S904>/step' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read5'
|
||
*/
|
||
step_c(*rtd_LEVEL, &rtb_out_ke);
|
||
|
||
/* MATLAB Function: '<S904>/time for step' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read5'
|
||
*/
|
||
timeforstep_h(*rtd_LEVEL, &rtb_out_mz);
|
||
|
||
/* Switch: '<S904>/Switch' incorporates:
|
||
* Constant: '<S904>/Constant'
|
||
* DataStoreRead: '<S904>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S904>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S904>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S891>/Data Store Write2'
|
||
* Product: '<S904>/Product1'
|
||
* Product: '<S904>/change rate (step//sec)'
|
||
* Product: '<S904>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S904>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S919>/Relational Operator'
|
||
* Sum: '<S904>/Add'
|
||
* Sum: '<S916>/Subtract'
|
||
* Switch: '<S919>/Switch'
|
||
* UnitDelay: '<S916>/Unit Delay'
|
||
*/
|
||
if (rtb_RelationalOperator1_em) {
|
||
*rtd_Mode_RR = *rtd_Mode_logic_RR;
|
||
} else {
|
||
if (*rtd_Mode_RR <= *rtd_Mode_logic_RR) {
|
||
/* Switch: '<S919>/Switch' incorporates:
|
||
* Constant: '<S919>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S919>/Switch' incorporates:
|
||
* Constant: '<S919>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Mode_RR = (uint8_t)((double)rtb_out_ke / (double)rtb_out_mz / 1000.0 *
|
||
(double)(*rtd_t_now - localDW->UnitDelay_DSTATE_a) * (double)tmp + (double)*
|
||
rtd_Mode_RR);
|
||
}
|
||
|
||
/* End of Switch: '<S904>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S891>/Data Store Write3' incorporates:
|
||
* DataStoreWrite: '<S891>/Data Store Write2'
|
||
*/
|
||
*rtd_Mode_RL = *rtd_Mode_RR;
|
||
|
||
/* MATLAB Function: '<S901>/blower step' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read7'
|
||
*/
|
||
blowerstep_j(*rtd_LEVEL, &rtb_out_ma);
|
||
|
||
/* MATLAB Function: '<S901>/blower time for step' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read7'
|
||
*/
|
||
blowertimeforstep_a(*rtd_LEVEL, &rtb_out_jki);
|
||
|
||
/* Switch: '<S901>/Switch' incorporates:
|
||
* Constant: '<S901>/Constant'
|
||
* Constant: '<S910>/epsilon'
|
||
* DataStoreRead: '<S901>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S901>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S901>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S891>/Data Store Write5'
|
||
* Product: '<S901>/Product1'
|
||
* Product: '<S901>/change rate (step//sec)'
|
||
* Product: '<S901>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S901>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S910>/Relational Operator'
|
||
* RelationalOperator: '<S914>/Relational Operator'
|
||
* Sum: '<S901>/Add'
|
||
* Sum: '<S910>/Add'
|
||
* Sum: '<S911>/Subtract'
|
||
* Switch: '<S914>/Switch'
|
||
* UnitDelay: '<S911>/Unit Delay'
|
||
*/
|
||
if ((uint16_t)(*rtd_Blower_RR - *rtd_Blower_logic_RR) <= 0.01) {
|
||
*rtd_Blower_RR = *rtd_Blower_logic_RR;
|
||
} else {
|
||
if (*rtd_Blower_RR <= *rtd_Blower_logic_RR) {
|
||
/* Switch: '<S914>/Switch' incorporates:
|
||
* Constant: '<S914>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S914>/Switch' incorporates:
|
||
* Constant: '<S914>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Blower_RR = (uint16_t)((double)rtb_out_ma / (double)rtb_out_jki /
|
||
1000.0 * (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_l) * (double)tmp
|
||
+ (double)*rtd_Blower_RR);
|
||
}
|
||
|
||
/* End of Switch: '<S901>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S891>/Data Store Write6' incorporates:
|
||
* DataStoreWrite: '<S891>/Data Store Write5'
|
||
*/
|
||
*rtd_Blower_RL = *rtd_Blower_RR;
|
||
|
||
/* DataStoreWrite: '<S891>/Data Store Write7' incorporates:
|
||
* Constant: '<S891>/Recirc logic Partial REC'
|
||
*/
|
||
*rtd_Recirculation = 1.0;
|
||
|
||
/* RelationalOperator: '<S891>/Equal' incorporates:
|
||
* DataStoreRead: '<S891>/current step'
|
||
*/
|
||
rtb_RelationalOperator1_em = (*rtd_step_start_controle_rear == 1);
|
||
|
||
/* Sum: '<S899>/Subtract' incorporates:
|
||
* DataStoreRead: '<S899>/Data Store Read4'
|
||
* UnitDelay: '<S899>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_l = *rtd_t_now - localDW->t_start_delay_private_DSTATE;
|
||
|
||
/* Switch: '<S899>/Switch' incorporates:
|
||
* DataStoreRead: '<S899>/Data Store Read4'
|
||
* Logic: '<S899>/Logical Operator3'
|
||
* Logic: '<S899>/Logical Operator4'
|
||
* UnitDelay: '<S899>/Cond_prev_private '
|
||
* UnitDelay: '<S899>/t_start_delay_private '
|
||
*/
|
||
if (rtb_RelationalOperator1_em && (!localDW->Cond_prev_private_DSTATE)) {
|
||
localDW->t_start_delay_private_DSTATE = *rtd_t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S899>/Switch' */
|
||
|
||
/* MATLAB Function: '<S891>/Time goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S891>/Data Store Read4'
|
||
*/
|
||
Timegotofromstep1tostep2_h(*rtd_LEVEL, &rtb_out_gw);
|
||
|
||
/* Switch: '<S891>/Switch' incorporates:
|
||
* Constant: '<S891>/go to next step'
|
||
* Constant: '<S891>/stay at step 1'
|
||
* Gain: '<S891>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* RelationalOperator: '<S891>/Relational Operator1'
|
||
*/
|
||
if (rtb_dt_l > (uint16_t)(1000 * rtb_out_gw)) {
|
||
*rty_step = 2;
|
||
} else {
|
||
*rty_step = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S891>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S906>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S898>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S916>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S904>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE_a = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S911>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S901>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE_l = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S899>/Cond_prev_private ' */
|
||
localDW->Cond_prev_private_DSTATE = rtb_RelationalOperator1_em;
|
||
}
|
||
|
||
/*
|
||
* Output and update for action system:
|
||
* '<S782>/Level 2'
|
||
* '<S782>/Level 3'
|
||
* '<S782>/Level 4'
|
||
* '<S782>/Level 5'
|
||
*/
|
||
void Level2(int8_t *rty_step, uint16_t *rtd_Blower_RL, uint16_t *rtd_Blower_RR,
|
||
const uint16_t *rtd_Blower_logic_RR, uint8_t *rtd_Dtg_RL, uint8_t
|
||
*rtd_Dtg_RR, const uint8_t *rtd_Dtg_logic_RR, const bool
|
||
*rtd_HI_logic_on, uint8_t *rtd_Incar_filter_down_value, uint8_t
|
||
*rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, uint8_t
|
||
*rtd_Mode_RL, uint8_t *rtd_Mode_RR, const uint8_t *rtd_Mode_logic_RR,
|
||
double *rtd_Recirculation, uint8_t *rtd_Valve_2_way, const int8_t
|
||
*rtd_step_start_controle_rear, const uint32_t *rtd_t_now, DW_Level2 *
|
||
localDW)
|
||
{
|
||
int32_t tmp;
|
||
uint32_t rtb_dt_h;
|
||
int16_t rtb_out_aa;
|
||
uint16_t rtb_out_i3;
|
||
uint16_t rtb_out_oi;
|
||
uint8_t rtb_out_b2p;
|
||
uint8_t rtb_out_cy;
|
||
bool rtb_Cond_prev_private_ax;
|
||
|
||
/* DataStoreWrite: '<S893>/Data Store Write9' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read6'
|
||
* MATLAB Function: '<S893>/2 way valve'
|
||
*/
|
||
uwayvalve(*rtd_LEVEL, rtd_Valve_2_way);
|
||
|
||
/* MATLAB Function: '<S944>/step' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read8'
|
||
*/
|
||
Dtg_rear(*rtd_LEVEL, &rtb_out_b2p);
|
||
|
||
/* MATLAB Function: '<S944>/time for step' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read8'
|
||
*/
|
||
timeforstep_fu(*rtd_LEVEL, &rtb_out_cy);
|
||
|
||
/* Switch: '<S944>/Switch' incorporates:
|
||
* Constant: '<S944>/Constant'
|
||
* Constant: '<S951>/epsilon'
|
||
* DataStoreRead: '<S944>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S944>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S944>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S893>/Data Store Write10'
|
||
* Product: '<S944>/Product1'
|
||
* Product: '<S944>/change rate (dtg//sec)'
|
||
* Product: '<S944>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S944>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S951>/Relational Operator'
|
||
* RelationalOperator: '<S955>/Relational Operator'
|
||
* Sum: '<S944>/Add'
|
||
* Sum: '<S951>/Add'
|
||
* Sum: '<S952>/Subtract'
|
||
* Switch: '<S955>/Switch'
|
||
* UnitDelay: '<S952>/Unit Delay'
|
||
*/
|
||
if ((uint8_t)(*rtd_Dtg_RR - *rtd_Dtg_logic_RR) <= 0.01) {
|
||
*rtd_Dtg_RR = *rtd_Dtg_logic_RR;
|
||
} else {
|
||
if (*rtd_Dtg_RR <= *rtd_Dtg_logic_RR) {
|
||
/* Switch: '<S955>/Switch' incorporates:
|
||
* Constant: '<S955>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S955>/Switch' incorporates:
|
||
* Constant: '<S955>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Dtg_RR = (uint8_t)((double)rtb_out_b2p / (double)rtb_out_cy / 1000.0 *
|
||
(double)(*rtd_t_now - localDW->UnitDelay_DSTATE) * (double)tmp + (double)*
|
||
rtd_Dtg_RR);
|
||
}
|
||
|
||
/* End of Switch: '<S944>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S893>/Data Store Write11' incorporates:
|
||
* DataStoreWrite: '<S893>/Data Store Write10'
|
||
*/
|
||
*rtd_Dtg_RL = *rtd_Dtg_RR;
|
||
|
||
/* DataStoreWrite: '<S893>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read1'
|
||
* MATLAB Function: '<S893>/incar filter up'
|
||
*/
|
||
incarfilterup_d(*rtd_LEVEL, rtd_Incar_filter_up_value);
|
||
|
||
/* DataStoreWrite: '<S893>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read2'
|
||
* MATLAB Function: '<S893>/incar filter down'
|
||
*/
|
||
incarfilterdown_j(*rtd_LEVEL, rtd_Incar_filter_down_value);
|
||
|
||
/* Sum: '<S961>/Add' incorporates:
|
||
* DataStoreRead: '<S950>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S950>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtb_out_b2p = (uint8_t)(*rtd_Mode_RR - *rtd_Mode_logic_RR);
|
||
|
||
/* RelationalOperator: '<S961>/Relational Operator' incorporates:
|
||
* Constant: '<S961>/epsilon'
|
||
*/
|
||
rtb_Cond_prev_private_ax = (rtb_out_b2p <= 0.01);
|
||
|
||
/* MATLAB Function: '<S950>/step' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read5'
|
||
*/
|
||
step_c(*rtd_LEVEL, &rtb_out_cy);
|
||
|
||
/* MATLAB Function: '<S950>/time for step' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read5'
|
||
*/
|
||
timeforstep_h(*rtd_LEVEL, &rtb_out_b2p);
|
||
|
||
/* Switch: '<S950>/Switch' incorporates:
|
||
* Constant: '<S950>/Constant'
|
||
* DataStoreRead: '<S950>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S950>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S950>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S893>/Data Store Write2'
|
||
* Product: '<S950>/Product1'
|
||
* Product: '<S950>/change rate (step//sec)'
|
||
* Product: '<S950>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S950>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S965>/Relational Operator'
|
||
* Sum: '<S950>/Add'
|
||
* Sum: '<S962>/Subtract'
|
||
* Switch: '<S965>/Switch'
|
||
* UnitDelay: '<S962>/Unit Delay'
|
||
*/
|
||
if (rtb_Cond_prev_private_ax) {
|
||
*rtd_Mode_RR = *rtd_Mode_logic_RR;
|
||
} else {
|
||
if (*rtd_Mode_RR <= *rtd_Mode_logic_RR) {
|
||
/* Switch: '<S965>/Switch' incorporates:
|
||
* Constant: '<S965>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S965>/Switch' incorporates:
|
||
* Constant: '<S965>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Mode_RR = (uint8_t)((double)rtb_out_cy / (double)rtb_out_b2p / 1000.0 *
|
||
(double)(*rtd_t_now - localDW->UnitDelay_DSTATE_j) * (double)tmp + (double)*
|
||
rtd_Mode_RR);
|
||
}
|
||
|
||
/* End of Switch: '<S950>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S893>/Data Store Write3' incorporates:
|
||
* DataStoreWrite: '<S893>/Data Store Write2'
|
||
*/
|
||
*rtd_Mode_RL = *rtd_Mode_RR;
|
||
|
||
/* MATLAB Function: '<S947>/blower step' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read7'
|
||
*/
|
||
blowerstep_j(*rtd_LEVEL, &rtb_out_i3);
|
||
|
||
/* MATLAB Function: '<S947>/blower time for step' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read7'
|
||
*/
|
||
blowertimeforstep_a(*rtd_LEVEL, &rtb_out_oi);
|
||
|
||
/* Switch: '<S947>/Switch' incorporates:
|
||
* Constant: '<S947>/Constant'
|
||
* Constant: '<S956>/epsilon'
|
||
* DataStoreRead: '<S947>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S947>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* DataStoreRead: '<S947>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* DataStoreWrite: '<S893>/Data Store Write5'
|
||
* Product: '<S947>/Product1'
|
||
* Product: '<S947>/change rate (step//sec)'
|
||
* Product: '<S947>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S947>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* RelationalOperator: '<S956>/Relational Operator'
|
||
* RelationalOperator: '<S960>/Relational Operator'
|
||
* Sum: '<S947>/Add'
|
||
* Sum: '<S956>/Add'
|
||
* Sum: '<S957>/Subtract'
|
||
* Switch: '<S960>/Switch'
|
||
* UnitDelay: '<S957>/Unit Delay'
|
||
*/
|
||
if ((uint16_t)(*rtd_Blower_RR - *rtd_Blower_logic_RR) <= 0.01) {
|
||
*rtd_Blower_RR = *rtd_Blower_logic_RR;
|
||
} else {
|
||
if (*rtd_Blower_RR <= *rtd_Blower_logic_RR) {
|
||
/* Switch: '<S960>/Switch' incorporates:
|
||
* Constant: '<S960>/Constant'
|
||
*/
|
||
tmp = 1;
|
||
} else {
|
||
/* Switch: '<S960>/Switch' incorporates:
|
||
* Constant: '<S960>/Constant1'
|
||
*/
|
||
tmp = -1;
|
||
}
|
||
|
||
*rtd_Blower_RR = (uint16_t)((double)rtb_out_i3 / (double)rtb_out_oi / 1000.0
|
||
* (double)(*rtd_t_now - localDW->UnitDelay_DSTATE_m) * (double)tmp +
|
||
(double)*rtd_Blower_RR);
|
||
}
|
||
|
||
/* End of Switch: '<S947>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S893>/Data Store Write6' incorporates:
|
||
* DataStoreWrite: '<S893>/Data Store Write5'
|
||
*/
|
||
*rtd_Blower_RL = *rtd_Blower_RR;
|
||
|
||
/* DataStoreWrite: '<S893>/Data Store Write7' incorporates:
|
||
* Constant: '<S893>/Recirc logic Partial REC'
|
||
*/
|
||
*rtd_Recirculation = 1.0;
|
||
|
||
/* RelationalOperator: '<S893>/Equal' incorporates:
|
||
* DataStoreRead: '<S893>/current step'
|
||
*/
|
||
rtb_Cond_prev_private_ax = (*rtd_step_start_controle_rear == 1);
|
||
|
||
/* Sum: '<S945>/Subtract' incorporates:
|
||
* DataStoreRead: '<S945>/Data Store Read4'
|
||
* UnitDelay: '<S945>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_h = *rtd_t_now - localDW->t_start_delay_private_DSTATE;
|
||
|
||
/* MATLAB Function: '<S893>/Time goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S893>/Data Store Read4'
|
||
*/
|
||
Timegotofromstep1tostep2_h(*rtd_LEVEL, &rtb_out_aa);
|
||
|
||
/* Switch: '<S945>/Switch' incorporates:
|
||
* DataStoreRead: '<S945>/Data Store Read4'
|
||
* Logic: '<S945>/Logical Operator3'
|
||
* Logic: '<S945>/Logical Operator4'
|
||
* UnitDelay: '<S945>/Cond_prev_private '
|
||
* UnitDelay: '<S945>/t_start_delay_private '
|
||
*/
|
||
if (rtb_Cond_prev_private_ax && (!localDW->Cond_prev_private_DSTATE)) {
|
||
localDW->t_start_delay_private_DSTATE = *rtd_t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S945>/Switch' */
|
||
|
||
/* Switch: '<S893>/Switch' incorporates:
|
||
* Constant: '<S893>/go to next step'
|
||
* Constant: '<S893>/stay at step 1'
|
||
* DataStoreRead: '<S893>/Data Store Read'
|
||
* Gain: '<S893>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Logic: '<S893>/Logical Operator'
|
||
* RelationalOperator: '<S893>/Relational Operator1'
|
||
*/
|
||
if ((rtb_dt_h > (uint16_t)(1000 * rtb_out_aa)) || (*rtd_HI_logic_on)) {
|
||
*rty_step = 2;
|
||
} else {
|
||
*rty_step = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S893>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S952>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S944>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S962>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S950>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE_j = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S957>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S947>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
localDW->UnitDelay_DSTATE_m = *rtd_t_now;
|
||
|
||
/* Update for UnitDelay: '<S945>/Cond_prev_private ' */
|
||
localDW->Cond_prev_private_DSTATE = rtb_Cond_prev_private_ax;
|
||
}
|
||
|
||
/* Model step function */
|
||
void HVAC_model_step(void)
|
||
{
|
||
double rtb_Divide1_ja[9];
|
||
double rtb_Divide1;
|
||
double rtb_Divide3;
|
||
int32_t i;
|
||
int32_t tmp_0;
|
||
uint32_t rtb_dt_du;
|
||
uint32_t rtb_dt_h;
|
||
int16_t tmp[6];
|
||
int16_t rtb_out_nh[2];
|
||
int16_t AMB;
|
||
int16_t Eva_F;
|
||
int16_t Eva_R;
|
||
int16_t Incar_FL;
|
||
int16_t Incar_FR;
|
||
int16_t Incar_RL;
|
||
int16_t Incar_RR;
|
||
int16_t Pressure;
|
||
uint16_t Merge[9];
|
||
uint16_t rtb_vals_m[9];
|
||
uint16_t rtb_out_fw[2];
|
||
uint16_t Blower_FR;
|
||
uint16_t rtb_out_jk;
|
||
int8_t rtb_Switch_hx;
|
||
uint8_t rtb_get_modes_for_levels[78];
|
||
uint8_t Autodefog;
|
||
uint8_t Dtg_FUR;
|
||
uint8_t El_window_heating;
|
||
uint8_t Mode_FR;
|
||
uint8_t Valve_2_way;
|
||
uint8_t rtb_Gain2;
|
||
uint8_t rtb_Gain_l;
|
||
uint8_t rtb_u_pe;
|
||
bool rtb_RelationalOperator_htm[9];
|
||
bool rtb_FailCond;
|
||
bool rtb_FailCond_a;
|
||
bool rtb_FailCond_b;
|
||
bool rtb_FailCond_e;
|
||
bool rtb_FailCond_f;
|
||
bool rtb_FailCond_g;
|
||
bool rtb_FailCond_l;
|
||
bool rtb_FailCond_mg;
|
||
bool rtb_LogicalOperator1;
|
||
bool rtb_LogicalOperator1_ca;
|
||
bool rtb_LogicalOperator1_f;
|
||
bool rtb_LogicalOperator1_k;
|
||
bool rtb_LogicalOperator1_lc;
|
||
bool rtb_LogicalOperator1_lk;
|
||
bool rtb_LogicalOperator3_f3;
|
||
bool rtb_LogicalOperator3_oi;
|
||
|
||
/* Product: '<S251>/Divide1' incorporates:
|
||
* Constant: '<S251>/Constant'
|
||
* Constant: '<S251>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S251>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.Sensor_Ambient_Temp / 4095.0 * 5.0;
|
||
|
||
/* Logic: '<S251>/Logical Operator' incorporates:
|
||
* Constant: '<S293>/Constant'
|
||
* Constant: '<S294>/Constant'
|
||
* RelationalOperator: '<S293>/Compare'
|
||
* RelationalOperator: '<S294>/Compare'
|
||
*/
|
||
rtb_FailCond = ((rtb_Divide1 < 0.1) || (rtb_Divide1 > 4.9));
|
||
|
||
/* Logic: '<S251>/Logical Operator1' incorporates:
|
||
* Constant: '<S295>/Constant'
|
||
* DataStoreRead: '<S296>/Data Store Read4'
|
||
* RelationalOperator: '<S295>/Compare'
|
||
* Sum: '<S296>/Subtract'
|
||
* UnitDelay: '<S296>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator1 = (rtb_FailCond && (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE >= 3000U));
|
||
|
||
/* Switch: '<S251>/Switch' incorporates:
|
||
* Constant: '<S251>/Constant2'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* DataStoreWrite: '<S251>/Data Store Write'
|
||
* Lookup_n-D: '<S251>/1-D Lookup Table'
|
||
*/
|
||
if (rtb_LogicalOperator1) {
|
||
AMB = 100;
|
||
} else {
|
||
AMB = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_Ambient_Temp,
|
||
rtConstP.pooled32, rtConstP.uDLookupTable_tableData, 1023U);
|
||
}
|
||
|
||
/* End of Switch: '<S251>/Switch' */
|
||
|
||
/* MATLAB Function: '<S251>/Write Ambient' incorporates:
|
||
* DataStoreRead: '<S251>/Data Store Read'
|
||
* DataStoreWrite: '<S251>/Data Store Write'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Ambient = %d * 0.1 C\n',Ambient); */
|
||
printf("Ambient = %d * 0.1 C\n", AMB);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S251>/Write Ambient' */
|
||
|
||
/* MATLAB Function: '<S251>/Write ERROR' incorporates:
|
||
* DataStoreRead: '<S251>/Data Store Read'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1) {
|
||
/* : if(AmbientErr) */
|
||
/* : fprintf('CCU_Body_Err.CCU_AmbienTemptSenErr_Stat = 0x1 (Failure), Sensor_Ambient_Temp = %f V\n',Sensor_Ambient_Temp); */
|
||
printf("CCU_Body_Err.CCU_AmbienTemptSenErr_Stat = 0x1 (Failure), Sensor_Ambient_Temp = %f V\n",
|
||
rtb_Divide1);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S251>/Write ERROR' */
|
||
|
||
/* Switch: '<S296>/Switch' incorporates:
|
||
* DataStoreRead: '<S296>/Data Store Read4'
|
||
* Logic: '<S296>/Logical Operator3'
|
||
* Logic: '<S296>/Logical Operator4'
|
||
* UnitDelay: '<S296>/Cond_prev_private '
|
||
* UnitDelay: '<S296>/t_start_delay_private '
|
||
*/
|
||
if (rtb_FailCond && (!rtDW.Cond_prev_private_DSTATE)) {
|
||
rtDW.t_start_delay_private_DSTATE = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S296>/Switch' */
|
||
|
||
/* Product: '<S252>/Divide1' incorporates:
|
||
* Constant: '<S252>/Constant'
|
||
* Constant: '<S252>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S252>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.Sensor_Evap_Temp / 4095.0 * 5.0;
|
||
|
||
/* Logic: '<S252>/Logical Operator' incorporates:
|
||
* Constant: '<S300>/Constant'
|
||
* Constant: '<S301>/Constant'
|
||
* RelationalOperator: '<S300>/Compare'
|
||
* RelationalOperator: '<S301>/Compare'
|
||
*/
|
||
rtb_FailCond_f = ((rtb_Divide1 < 0.1) || (rtb_Divide1 > 4.9));
|
||
|
||
/* Logic: '<S252>/Logical Operator1' incorporates:
|
||
* Constant: '<S302>/Constant'
|
||
* DataStoreRead: '<S303>/Data Store Read4'
|
||
* RelationalOperator: '<S302>/Compare'
|
||
* Sum: '<S303>/Subtract'
|
||
* UnitDelay: '<S303>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator1_f = (rtb_FailCond_f && (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_p >= 3000U));
|
||
|
||
/* Switch: '<S252>/Switch' incorporates:
|
||
* Constant: '<S252>/Constant2'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* DataStoreWrite: '<S252>/Data Store Write1'
|
||
* Lookup_n-D: '<S252>/1-D Lookup Table'
|
||
*/
|
||
if (rtb_LogicalOperator1_f) {
|
||
Eva_F = -100;
|
||
} else {
|
||
Eva_F = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_Evap_Temp,
|
||
rtConstP.pooled32, rtConstP.pooled3, 1023U);
|
||
}
|
||
|
||
/* End of Switch: '<S252>/Switch' */
|
||
|
||
/* MATLAB Function: '<S252>/Write ERROR' incorporates:
|
||
* DataStoreRead: '<S252>/Data Store Read'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1_f) {
|
||
/* : if(EvapFErr) */
|
||
/* : fprintf('CCU_Body_Err.CCU_EvaTempSenErrF_Stat = 0x1 (Failure), Sensor_Evap_Temp = %f V\n',Sensor_Evap_Temp); */
|
||
printf("CCU_Body_Err.CCU_EvaTempSenErrF_Stat = 0x1 (Failure), Sensor_Evap_Temp = %f V\n",
|
||
rtb_Divide1);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S252>/Write ERROR' */
|
||
|
||
/* MATLAB Function: '<S252>/Write Eva_F' incorporates:
|
||
* DataStoreRead: '<S252>/Data Store Read'
|
||
* DataStoreWrite: '<S252>/Data Store Write1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Eva_F = %d * 0.1 C\n',Eva_F); */
|
||
printf("Eva_F = %d * 0.1 C\n", Eva_F);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S252>/Write Eva_F' */
|
||
|
||
/* Switch: '<S303>/Switch' incorporates:
|
||
* DataStoreRead: '<S303>/Data Store Read4'
|
||
* Logic: '<S303>/Logical Operator3'
|
||
* Logic: '<S303>/Logical Operator4'
|
||
* UnitDelay: '<S303>/Cond_prev_private '
|
||
* UnitDelay: '<S303>/t_start_delay_private '
|
||
*/
|
||
if (rtb_FailCond_f && (!rtDW.Cond_prev_private_DSTATE_h)) {
|
||
rtDW.t_start_delay_private_DSTATE_p = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S303>/Switch' */
|
||
|
||
/* Product: '<S253>/Divide1' incorporates:
|
||
* Constant: '<S253>/Constant'
|
||
* Constant: '<S253>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S253>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.Sensor_Rear_Evap_Temp / 4095.0 * 5.0;
|
||
|
||
/* Logic: '<S253>/Logical Operator' incorporates:
|
||
* Constant: '<S307>/Constant'
|
||
* Constant: '<S308>/Constant'
|
||
* RelationalOperator: '<S307>/Compare'
|
||
* RelationalOperator: '<S308>/Compare'
|
||
*/
|
||
rtb_FailCond_g = ((rtb_Divide1 < 0.1) || (rtb_Divide1 > 4.9));
|
||
|
||
/* Logic: '<S253>/Logical Operator1' incorporates:
|
||
* Constant: '<S309>/Constant'
|
||
* DataStoreRead: '<S310>/Data Store Read4'
|
||
* RelationalOperator: '<S309>/Compare'
|
||
* Sum: '<S310>/Subtract'
|
||
* UnitDelay: '<S310>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator1_k = (rtb_FailCond_g && (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_pk >= 3000U));
|
||
|
||
/* Switch: '<S253>/Switch' incorporates:
|
||
* Constant: '<S253>/Constant2'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* DataStoreWrite: '<S253>/Data Store Write1'
|
||
* Lookup_n-D: '<S253>/1-D Lookup Table'
|
||
*/
|
||
if (rtb_LogicalOperator1_k) {
|
||
Eva_R = -100;
|
||
} else {
|
||
Eva_R = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_Rear_Evap_Temp,
|
||
rtConstP.pooled32, rtConstP.pooled3, 1023U);
|
||
}
|
||
|
||
/* End of Switch: '<S253>/Switch' */
|
||
|
||
/* MATLAB Function: '<S253>/Write ERROR' incorporates:
|
||
* DataStoreRead: '<S253>/Data Store Read'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1_k) {
|
||
/* : if(EvapRErr) */
|
||
/* : fprintf('CCU_Body_Err.CCU_EvaTempSenErrR_Stat = 0x1 (Failure), Sensor_Rear_Evap_Temp = %f V\n',Sensor_Rear_Evap_Temp); */
|
||
printf("CCU_Body_Err.CCU_EvaTempSenErrR_Stat = 0x1 (Failure), Sensor_Rear_Evap_Temp = %f V\n",
|
||
rtb_Divide1);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S253>/Write ERROR' */
|
||
|
||
/* MATLAB Function: '<S253>/Write Eva_F' incorporates:
|
||
* DataStoreRead: '<S253>/Data Store Read'
|
||
* DataStoreWrite: '<S253>/Data Store Write1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Eva_R = %d * 0.1 C\n',Eva_R); */
|
||
printf("Eva_R = %d * 0.1 C\n", Eva_R);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S253>/Write Eva_F' */
|
||
|
||
/* Switch: '<S310>/Switch' incorporates:
|
||
* DataStoreRead: '<S310>/Data Store Read4'
|
||
* Logic: '<S310>/Logical Operator3'
|
||
* Logic: '<S310>/Logical Operator4'
|
||
* UnitDelay: '<S310>/Cond_prev_private '
|
||
* UnitDelay: '<S310>/t_start_delay_private '
|
||
*/
|
||
if (rtb_FailCond_g && (!rtDW.Cond_prev_private_DSTATE_i)) {
|
||
rtDW.t_start_delay_private_DSTATE_pk = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S310>/Switch' */
|
||
|
||
/* Product: '<S269>/Divide1' incorporates:
|
||
* Constant: '<S269>/Constant'
|
||
* Constant: '<S269>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S269>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.Sensor_AC_Pressure / 4095.0 * 5.0;
|
||
|
||
/* Logic: '<S269>/Logical Operator' incorporates:
|
||
* Constant: '<S329>/Constant'
|
||
* Constant: '<S330>/Constant'
|
||
* RelationalOperator: '<S329>/Compare'
|
||
* RelationalOperator: '<S330>/Compare'
|
||
*/
|
||
rtb_FailCond_mg = ((rtb_Divide1 < 0.1) || (rtb_Divide1 > 4.9));
|
||
|
||
/* Logic: '<S269>/Logical Operator1' incorporates:
|
||
* Constant: '<S331>/Constant'
|
||
* DataStoreRead: '<S332>/Data Store Read4'
|
||
* RelationalOperator: '<S331>/Compare'
|
||
* Sum: '<S332>/Subtract'
|
||
* UnitDelay: '<S332>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator1_lk = (rtb_FailCond_mg && (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_e >= 3000U));
|
||
|
||
/* Switch: '<S269>/Switch' incorporates:
|
||
* Constant: '<S269>/Constant2'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* DataStoreWrite: '<S269>/Data Store Write'
|
||
* Lookup_n-D: '<S269>/1-D Lookup Table'
|
||
*/
|
||
if (rtb_LogicalOperator1_lk) {
|
||
Pressure = 32;
|
||
} else {
|
||
Pressure = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_AC_Pressure,
|
||
rtConstP.pooled32, rtConstP.uDLookupTable_tableData_f, 1023U);
|
||
}
|
||
|
||
/* End of Switch: '<S269>/Switch' */
|
||
|
||
/* MATLAB Function: '<S269>/Write' incorporates:
|
||
* DataStoreRead: '<S269>/Data Store Read'
|
||
* DataStoreWrite: '<S269>/Data Store Write'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('AC_Pressure = %d * ATM\n',AC_Pressure); */
|
||
printf("AC_Pressure = %d * ATM\n", Pressure);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S269>/Write' */
|
||
|
||
/* MATLAB Function: '<S269>/Write ERROR' incorporates:
|
||
* DataStoreRead: '<S269>/Data Store Read'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1_lk) {
|
||
/* : if(AC_PressureErr) */
|
||
/* : fprintf('CCU_Body_Err.CCU_PressSenErr_Stat = 0x1 (Failure), Sensor_AC_Pressure = %f V\n',Sensor_AC_Pressure); */
|
||
printf("CCU_Body_Err.CCU_PressSenErr_Stat = 0x1 (Failure), Sensor_AC_Pressure = %f V\n",
|
||
rtb_Divide1);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S269>/Write ERROR' */
|
||
|
||
/* Switch: '<S332>/Switch' incorporates:
|
||
* DataStoreRead: '<S332>/Data Store Read4'
|
||
* Logic: '<S332>/Logical Operator3'
|
||
* Logic: '<S332>/Logical Operator4'
|
||
* UnitDelay: '<S332>/Cond_prev_private '
|
||
* UnitDelay: '<S332>/t_start_delay_private '
|
||
*/
|
||
if (rtb_FailCond_mg && (!rtDW.Cond_prev_private_DSTATE_e)) {
|
||
rtDW.t_start_delay_private_DSTATE_e = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S332>/Switch' */
|
||
|
||
/* Product: '<S286>/Divide1' incorporates:
|
||
* Constant: '<S286>/Constant'
|
||
* Constant: '<S286>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S286>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.Sensor_Incar_Temp_FL / 4095.0 * 5.0;
|
||
|
||
/* Logic: '<S286>/Logical Operator' incorporates:
|
||
* Constant: '<S352>/Constant'
|
||
* Constant: '<S353>/Constant'
|
||
* RelationalOperator: '<S352>/Compare'
|
||
* RelationalOperator: '<S353>/Compare'
|
||
*/
|
||
rtb_FailCond_e = ((rtb_Divide1 < 0.15) || (rtb_Divide1 > 4.9));
|
||
|
||
/* Logic: '<S286>/Logical Operator1' incorporates:
|
||
* Constant: '<S354>/Constant'
|
||
* DataStoreRead: '<S358>/Data Store Read4'
|
||
* RelationalOperator: '<S354>/Compare'
|
||
* Sum: '<S358>/Subtract'
|
||
* UnitDelay: '<S358>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator1_ca = (rtb_FailCond_e && (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_b >= 3000U));
|
||
|
||
/* Switch: '<S286>/Switch' incorporates:
|
||
* Constant: '<S286>/Constant2'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* DataStoreWrite: '<S286>/Data Store Write'
|
||
* Lookup_n-D: '<S286>/1-D Lookup Table'
|
||
*/
|
||
if (rtb_LogicalOperator1_ca) {
|
||
Incar_FL = 200;
|
||
} else {
|
||
Incar_FL = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_Incar_Temp_FL,
|
||
rtConstP.pooled32, rtConstP.pooled4, 1023U);
|
||
}
|
||
|
||
/* End of Switch: '<S286>/Switch' */
|
||
|
||
/* Product: '<S286>/Divide3' incorporates:
|
||
* Constant: '<S286>/Constant3'
|
||
* Constant: '<S286>/Constant4'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S286>/Divide2'
|
||
*/
|
||
rtb_Divide3 = (double)rtDW.ADC_Data_Model.Sensor_Incar_Temp_RL / 4095.0 * 5.0;
|
||
|
||
/* Logic: '<S286>/Logical Operator2' incorporates:
|
||
* Constant: '<S355>/Constant'
|
||
* Constant: '<S356>/Constant'
|
||
* RelationalOperator: '<S355>/Compare'
|
||
* RelationalOperator: '<S356>/Compare'
|
||
*/
|
||
rtb_FailCond_a = ((rtb_Divide3 < 0.15) || (rtb_Divide3 > 4.9));
|
||
|
||
/* Logic: '<S286>/Logical Operator3' incorporates:
|
||
* Constant: '<S357>/Constant'
|
||
* DataStoreRead: '<S359>/Data Store Read4'
|
||
* RelationalOperator: '<S357>/Compare'
|
||
* Sum: '<S359>/Subtract'
|
||
* UnitDelay: '<S359>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator3_f3 = (rtb_FailCond_a && (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_j >= 3000U));
|
||
|
||
/* Switch: '<S286>/Switch1' incorporates:
|
||
* Constant: '<S286>/Constant5'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* DataStoreWrite: '<S286>/Data Store Write1'
|
||
* Lookup_n-D: '<S286>/1-D Lookup Table1'
|
||
*/
|
||
if (rtb_LogicalOperator3_f3) {
|
||
Incar_RL = 200;
|
||
} else {
|
||
Incar_RL = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_Incar_Temp_RL,
|
||
rtConstP.pooled32, rtConstP.pooled4, 1023U);
|
||
}
|
||
|
||
/* End of Switch: '<S286>/Switch1' */
|
||
|
||
/* MATLAB Function: '<S286>/Write ERROR' incorporates:
|
||
* DataStoreRead: '<S286>/Data Store Read'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1_ca) {
|
||
/* : if(IncarFLErr) */
|
||
/* : fprintf('CCU_Body_Err.CCU_IncarTempErrF_Stat = 0x1 (Failure), Sensor_Incar_Temp_FL = %f V\n',Sensor_Incar_Temp_FL); */
|
||
printf("CCU_Body_Err.CCU_IncarTempErrF_Stat = 0x1 (Failure), Sensor_Incar_Temp_FL = %f V\n",
|
||
rtb_Divide1);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S286>/Write ERROR' */
|
||
|
||
/* MATLAB Function: '<S286>/Write ERROR1' incorporates:
|
||
* DataStoreRead: '<S286>/Data Store Read1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator3_f3) {
|
||
/* : if(IncarRLErr) */
|
||
/* : fprintf('CCU_Body_Err.CCU_IncarTempErrF_Stat = 0x1 (Failure), Sensor_Incar_Temp_RL = %f V\n',Sensor_Incar_Temp_RL); */
|
||
printf("CCU_Body_Err.CCU_IncarTempErrF_Stat = 0x1 (Failure), Sensor_Incar_Temp_RL = %f V\n",
|
||
rtb_Divide3);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S286>/Write ERROR1' */
|
||
|
||
/* MATLAB Function: '<S286>/Write IncarFL' incorporates:
|
||
* DataStoreRead: '<S286>/Data Store Read'
|
||
* DataStoreWrite: '<S286>/Data Store Write'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('IncarFL = %d * 0.1 C\n',IncarFL); */
|
||
printf("IncarFL = %d * 0.1 C\n", Incar_FL);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S286>/Write IncarFL' */
|
||
|
||
/* MATLAB Function: '<S286>/Write IncarRL' incorporates:
|
||
* DataStoreRead: '<S286>/Data Store Read1'
|
||
* DataStoreWrite: '<S286>/Data Store Write1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('IncarRL = %d * 0.1 C\n',IncarRL); */
|
||
printf("IncarRL = %d * 0.1 C\n", Incar_RL);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S286>/Write IncarRL' */
|
||
|
||
/* Switch: '<S358>/Switch' incorporates:
|
||
* DataStoreRead: '<S358>/Data Store Read4'
|
||
* Logic: '<S358>/Logical Operator3'
|
||
* Logic: '<S358>/Logical Operator4'
|
||
* UnitDelay: '<S358>/Cond_prev_private '
|
||
* UnitDelay: '<S358>/t_start_delay_private '
|
||
*/
|
||
if (rtb_FailCond_e && (!rtDW.Cond_prev_private_DSTATE_c)) {
|
||
rtDW.t_start_delay_private_DSTATE_b = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S358>/Switch' */
|
||
|
||
/* Switch: '<S359>/Switch' incorporates:
|
||
* DataStoreRead: '<S359>/Data Store Read4'
|
||
* Logic: '<S359>/Logical Operator3'
|
||
* Logic: '<S359>/Logical Operator4'
|
||
* UnitDelay: '<S359>/Cond_prev_private '
|
||
* UnitDelay: '<S359>/t_start_delay_private '
|
||
*/
|
||
if (rtb_FailCond_a && (!rtDW.Cond_prev_private_DSTATE_b)) {
|
||
rtDW.t_start_delay_private_DSTATE_j = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S359>/Switch' */
|
||
|
||
/* Product: '<S287>/Divide1' incorporates:
|
||
* Constant: '<S287>/Constant'
|
||
* Constant: '<S287>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S287>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.Sensor_Incar_Temp_FR / 4095.0 * 5.0;
|
||
|
||
/* Logic: '<S287>/Logical Operator' incorporates:
|
||
* Constant: '<S366>/Constant'
|
||
* Constant: '<S367>/Constant'
|
||
* RelationalOperator: '<S366>/Compare'
|
||
* RelationalOperator: '<S367>/Compare'
|
||
*/
|
||
rtb_FailCond_l = ((rtb_Divide1 < 0.15) || (rtb_Divide1 > 4.9));
|
||
|
||
/* Logic: '<S287>/Logical Operator1' incorporates:
|
||
* Constant: '<S368>/Constant'
|
||
* DataStoreRead: '<S372>/Data Store Read4'
|
||
* RelationalOperator: '<S368>/Compare'
|
||
* Sum: '<S372>/Subtract'
|
||
* UnitDelay: '<S372>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator1_lc = (rtb_FailCond_l && (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_bh >= 3000U));
|
||
|
||
/* Switch: '<S287>/Switch' incorporates:
|
||
* Constant: '<S287>/Constant2'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* DataStoreWrite: '<S287>/Data Store Write1'
|
||
* Lookup_n-D: '<S287>/1-D Lookup Table'
|
||
*/
|
||
if (rtb_LogicalOperator1_lc) {
|
||
Incar_FR = 200;
|
||
} else {
|
||
Incar_FR = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_Incar_Temp_FR,
|
||
rtConstP.pooled32, rtConstP.pooled4, 1023U);
|
||
}
|
||
|
||
/* End of Switch: '<S287>/Switch' */
|
||
|
||
/* Product: '<S287>/Divide3' incorporates:
|
||
* Constant: '<S287>/Constant3'
|
||
* Constant: '<S287>/Constant4'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S287>/Divide2'
|
||
*/
|
||
rtb_Divide3 = (double)rtDW.ADC_Data_Model.Sensor_Incar_Temp_RR / 4095.0 * 5.0;
|
||
|
||
/* Logic: '<S287>/Logical Operator2' incorporates:
|
||
* Constant: '<S369>/Constant'
|
||
* Constant: '<S370>/Constant'
|
||
* RelationalOperator: '<S369>/Compare'
|
||
* RelationalOperator: '<S370>/Compare'
|
||
*/
|
||
rtb_FailCond_b = ((rtb_Divide3 < 0.15) || (rtb_Divide3 > 4.9));
|
||
|
||
/* Logic: '<S287>/Logical Operator3' incorporates:
|
||
* Constant: '<S371>/Constant'
|
||
* DataStoreRead: '<S373>/Data Store Read4'
|
||
* RelationalOperator: '<S371>/Compare'
|
||
* Sum: '<S373>/Subtract'
|
||
* UnitDelay: '<S373>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator3_oi = (rtb_FailCond_b && (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_bx >= 3000U));
|
||
|
||
/* Switch: '<S287>/Switch1' incorporates:
|
||
* Constant: '<S287>/Constant5'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* DataStoreWrite: '<S287>/Data Store Write2'
|
||
* Lookup_n-D: '<S287>/1-D Lookup Table1'
|
||
*/
|
||
if (rtb_LogicalOperator3_oi) {
|
||
Incar_RR = 200;
|
||
} else {
|
||
Incar_RR = look1_iu16tdIs16_binlcs(rtDW.ADC_Data_Model.Sensor_Incar_Temp_RR,
|
||
rtConstP.pooled32, rtConstP.pooled4, 1023U);
|
||
}
|
||
|
||
/* End of Switch: '<S287>/Switch1' */
|
||
|
||
/* MATLAB Function: '<S287>/Write ERROR' incorporates:
|
||
* DataStoreRead: '<S287>/Data Store Read'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator1_lc) {
|
||
/* : if(IncarRLErr) */
|
||
/* : fprintf('CCU_Body_Err.CCU_IncarTempErrR_Stat = 0x1 (Failure), Sensor_Incar_Temp_FR = %f V\n',Sensor_Incar_Temp_FR); */
|
||
printf("CCU_Body_Err.CCU_IncarTempErrR_Stat = 0x1 (Failure), Sensor_Incar_Temp_FR = %f V\n",
|
||
rtb_Divide1);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S287>/Write ERROR' */
|
||
|
||
/* MATLAB Function: '<S287>/Write ERROR1' incorporates:
|
||
* DataStoreRead: '<S287>/Data Store Read1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if ((rtDW.LOGGER_ACP != 0.0) && rtb_LogicalOperator3_oi) {
|
||
/* : if(IncarRLErr) */
|
||
/* : fprintf('CCU_Body_Err.CCU_IncarTempErrR_Stat = 0x1 (Failure), Sensor_Incar_Temp_RR = %f V\n',Sensor_Incar_Temp_RR); */
|
||
printf("CCU_Body_Err.CCU_IncarTempErrR_Stat = 0x1 (Failure), Sensor_Incar_Temp_RR = %f V\n",
|
||
rtb_Divide3);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S287>/Write ERROR1' */
|
||
|
||
/* MATLAB Function: '<S287>/Write IncarFR' incorporates:
|
||
* DataStoreRead: '<S287>/Data Store Read'
|
||
* DataStoreWrite: '<S287>/Data Store Write1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('IncarFR = %d * 0.1 C\n',IncarFR); */
|
||
printf("IncarFR = %d * 0.1 C\n", Incar_FR);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S287>/Write IncarFR' */
|
||
|
||
/* MATLAB Function: '<S287>/Write IncarRR' incorporates:
|
||
* DataStoreRead: '<S287>/Data Store Read1'
|
||
* DataStoreWrite: '<S287>/Data Store Write2'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('IncarRR = %d * 0.1 C\n',IncarRR); */
|
||
printf("IncarRR = %d * 0.1 C\n", Incar_RR);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S287>/Write IncarRR' */
|
||
|
||
/* Switch: '<S372>/Switch' incorporates:
|
||
* DataStoreRead: '<S372>/Data Store Read4'
|
||
* Logic: '<S372>/Logical Operator3'
|
||
* Logic: '<S372>/Logical Operator4'
|
||
* UnitDelay: '<S372>/Cond_prev_private '
|
||
* UnitDelay: '<S372>/t_start_delay_private '
|
||
*/
|
||
if (rtb_FailCond_l && (!rtDW.Cond_prev_private_DSTATE_j)) {
|
||
rtDW.t_start_delay_private_DSTATE_bh = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S372>/Switch' */
|
||
|
||
/* Switch: '<S373>/Switch' incorporates:
|
||
* DataStoreRead: '<S373>/Data Store Read4'
|
||
* Logic: '<S373>/Logical Operator3'
|
||
* Logic: '<S373>/Logical Operator4'
|
||
* UnitDelay: '<S373>/Cond_prev_private '
|
||
* UnitDelay: '<S373>/t_start_delay_private '
|
||
*/
|
||
if (rtb_FailCond_b && (!rtDW.Cond_prev_private_DSTATE_f)) {
|
||
rtDW.t_start_delay_private_DSTATE_bx = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S373>/Switch' */
|
||
|
||
/* BusCreator: '<S2>/Bus Creator' incorporates:
|
||
* DataStoreRead: '<S2>/Data Store Read10'
|
||
* DataStoreRead: '<S2>/Data Store Read11'
|
||
* DataStoreRead: '<S2>/Data Store Read4'
|
||
* DataStoreRead: '<S2>/Data Store Read5'
|
||
* DataStoreRead: '<S2>/Data Store Read6'
|
||
* DataStoreRead: '<S2>/Data Store Read7'
|
||
* DataStoreRead: '<S2>/Data Store Read8'
|
||
* DataStoreRead: '<S2>/Data Store Read9'
|
||
* DataStoreWrite: '<S2>/Data Store Write2'
|
||
*/
|
||
Status_Sensor_Model.Battery = 0;
|
||
Status_Sensor_Model.AMB = AMB;
|
||
Status_Sensor_Model.Incar_FL = Incar_FL;
|
||
Status_Sensor_Model.Incar_FR = Incar_FR;
|
||
Status_Sensor_Model.Incar_RL = Incar_RL;
|
||
Status_Sensor_Model.Incar_RR = Incar_RR;
|
||
Status_Sensor_Model.Eva_F = Eva_F;
|
||
Status_Sensor_Model.Eva_R = Eva_R;
|
||
Status_Sensor_Model.Pressure = Pressure;
|
||
Status_Sensor_Model.Duct_FL_Upper = 0;
|
||
Status_Sensor_Model.Duct_FL_Lower = 0;
|
||
Status_Sensor_Model.Duct_FR_Upper = 0;
|
||
Status_Sensor_Model.Duct_FR_Lower = 0;
|
||
Status_Sensor_Model.Duct_RL = 0;
|
||
Status_Sensor_Model.Duct_RR = 0;
|
||
Status_Sensor_Model.Duct_Side_FL = 0;
|
||
Status_Sensor_Model.Duct_Side_FR = 0;
|
||
Status_Sensor_Model.Duct_Side_RL = 0;
|
||
Status_Sensor_Model.Duct_Side_RR = 0;
|
||
Status_Sensor_Model.AQS = 0;
|
||
|
||
/* DataStoreWrite: '<S2>/Data Store Write' incorporates:
|
||
* Constant: '<S2>/Constant'
|
||
*/
|
||
rtDW.LOGGER_ACP = 0.0;
|
||
|
||
/* Product: '<S254>/Divide1' incorporates:
|
||
* Constant: '<S254>/Constant'
|
||
* Constant: '<S254>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S254>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV1 /
|
||
4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S254>/Write' incorporates:
|
||
* Constant: '<S254>/Constant2'
|
||
* Constant: '<S254>/Constant3'
|
||
* DataStoreRead: '<S254>/Data Store Read'
|
||
* Product: '<S254>/Divide2'
|
||
* Product: '<S254>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5120_2EKA_ShutoffValvePowerTXV1 V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5120_2EKA_ShutoffValvePowerTXV1 V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S254>/Write' */
|
||
|
||
/* Product: '<S255>/Divide1' incorporates:
|
||
* Constant: '<S255>/Constant'
|
||
* Constant: '<S255>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S255>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV2 /
|
||
4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S255>/Write' incorporates:
|
||
* Constant: '<S255>/Constant2'
|
||
* Constant: '<S255>/Constant3'
|
||
* DataStoreRead: '<S255>/Data Store Read'
|
||
* Product: '<S255>/Divide2'
|
||
* Product: '<S255>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5120_2EKA_ShutoffValvePowerTXV2 V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5120_2EKA_ShutoffValvePowerTXV2 V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S255>/Write' */
|
||
|
||
/* Product: '<S256>/Divide1' incorporates:
|
||
* Constant: '<S256>/Constant'
|
||
* Constant: '<S256>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S256>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ChannelPTCPower1 /
|
||
4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S256>/Write' incorporates:
|
||
* Constant: '<S256>/Constant2'
|
||
* Constant: '<S256>/Constant3'
|
||
* DataStoreRead: '<S256>/Data Store Read'
|
||
* Product: '<S256>/Divide2'
|
||
* Product: '<S256>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5180_2EKA_ChannelPTCPower1 V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5180_2EKA_ChannelPTCPower1 V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S256>/Write' */
|
||
|
||
/* Product: '<S257>/Divide1' incorporates:
|
||
* Constant: '<S257>/Constant'
|
||
* Constant: '<S257>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S257>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ChannelPTCPower2 /
|
||
4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S257>/Write' incorporates:
|
||
* Constant: '<S257>/Constant2'
|
||
* Constant: '<S257>/Constant3'
|
||
* DataStoreRead: '<S257>/Data Store Read'
|
||
* Product: '<S257>/Divide2'
|
||
* Product: '<S257>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5180_2EKA_ChannelPTCPower2 V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5180_2EKA_ChannelPTCPower2 V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S257>/Write' */
|
||
|
||
/* Product: '<S258>/Divide1' incorporates:
|
||
* Constant: '<S258>/Constant'
|
||
* Constant: '<S258>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S258>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_FrontIncarMotor /
|
||
4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S258>/Write' incorporates:
|
||
* Constant: '<S258>/Constant2'
|
||
* Constant: '<S258>/Constant3'
|
||
* DataStoreRead: '<S258>/Data Store Read'
|
||
* Product: '<S258>/Divide2'
|
||
* Product: '<S258>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5180_2EKA_FrontIncarMotor V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5180_2EKA_FrontIncarMotor V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S258>/Write' */
|
||
|
||
/* Product: '<S259>/Divide1' incorporates:
|
||
* Constant: '<S259>/Constant'
|
||
* Constant: '<S259>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S259>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_RearIncarMotor / 4095.0
|
||
* 5.0;
|
||
|
||
/* MATLAB Function: '<S259>/Write' incorporates:
|
||
* Constant: '<S259>/Constant2'
|
||
* Constant: '<S259>/Constant3'
|
||
* DataStoreRead: '<S259>/Data Store Read'
|
||
* Product: '<S259>/Divide2'
|
||
* Product: '<S259>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5180_2EKA_RearIncarMotor V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5180_2EKA_RearIncarMotor V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S259>/Write' */
|
||
|
||
/* Product: '<S260>/Divide1' incorporates:
|
||
* Constant: '<S260>/Constant'
|
||
* Constant: '<S260>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S260>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ReservePowerSupply /
|
||
4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S260>/Write' incorporates:
|
||
* Constant: '<S260>/Constant2'
|
||
* Constant: '<S260>/Constant3'
|
||
* DataStoreRead: '<S260>/Data Store Read'
|
||
* Product: '<S260>/Divide2'
|
||
* Product: '<S260>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5180_2EKA_ReservePowerSupply V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5180_2EKA_ReservePowerSupply V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S260>/Write' */
|
||
|
||
/* Product: '<S261>/Divide1' incorporates:
|
||
* Constant: '<S261>/Constant'
|
||
* Constant: '<S261>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S261>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveFront /
|
||
4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S261>/Write' incorporates:
|
||
* Constant: '<S261>/Constant2'
|
||
* Constant: '<S261>/Constant3'
|
||
* DataStoreRead: '<S261>/Data Store Read'
|
||
* Product: '<S261>/Divide2'
|
||
* Product: '<S261>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5180_2EKA_ShutOFFValveFront V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5180_2EKA_ShutOFFValveFront V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S261>/Write' */
|
||
|
||
/* Product: '<S262>/Divide1' incorporates:
|
||
* Constant: '<S262>/Constant'
|
||
* Constant: '<S262>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S262>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveRear /
|
||
4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S262>/Write' incorporates:
|
||
* Constant: '<S262>/Constant2'
|
||
* Constant: '<S262>/Constant3'
|
||
* DataStoreRead: '<S262>/Data Store Read'
|
||
* Product: '<S262>/Divide2'
|
||
* Product: '<S262>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5180_2EKA_ShutOFFValveRear V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5180_2EKA_ShutOFFValveRear V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S262>/Write' */
|
||
|
||
/* Product: '<S263>/Divide1' incorporates:
|
||
* Constant: '<S263>/Constant'
|
||
* Constant: '<S263>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S263>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.BTS5180_2EKA_TwoWayValve / 4095.0 *
|
||
5.0;
|
||
|
||
/* MATLAB Function: '<S263>/Write' incorporates:
|
||
* Constant: '<S263>/Constant2'
|
||
* Constant: '<S263>/Constant3'
|
||
* DataStoreRead: '<S263>/Data Store Read'
|
||
* Product: '<S263>/Divide2'
|
||
* Product: '<S263>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('BTS5180_2EKA_TwoWayValve V = %f Iout = %f\n',U,I); */
|
||
printf("BTS5180_2EKA_TwoWayValve V = %f Iout = %f\n", rtb_Divide1,
|
||
rtb_Divide1 / 1200.0 * 550.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S263>/Write' */
|
||
|
||
/* MATLAB Function: '<S264>/Write' incorporates:
|
||
* Constant: '<S264>/Constant'
|
||
* Constant: '<S264>/Constant1'
|
||
* DataStoreRead: '<S264>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S264>/Divide'
|
||
* Product: '<S264>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('IGN_ANS = %f V\n',data); */
|
||
printf("IGN_ANS = %f V\n", (double)rtDW.ADC_Data_Model.IGN_ANS / 4095.0 *
|
||
27.75);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S264>/Write' */
|
||
|
||
/* MATLAB Function: '<S265>/Write' incorporates:
|
||
* Constant: '<S265>/Constant'
|
||
* Constant: '<S265>/Constant1'
|
||
* DataStoreRead: '<S265>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S265>/Divide'
|
||
* Product: '<S265>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('PBATT_CHECK V = %f\n',U); */
|
||
printf("PBATT_CHECK V = %f\n", (double)rtDW.ADC_Data_Model.PBATT_CHECK /
|
||
4095.0 * 33.4375);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S265>/Write' */
|
||
|
||
/* MATLAB Function: '<S266>/Write' incorporates:
|
||
* Constant: '<S266>/Constant'
|
||
* Constant: '<S266>/Constant1'
|
||
* DataStoreRead: '<S266>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S266>/Divide'
|
||
* Product: '<S266>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Pressure_DIAG V = %f\n',U); */
|
||
printf("Pressure_DIAG V = %f\n", (double)rtDW.ADC_Data_Model.Pressure_DIAG /
|
||
4095.0 * 6.0638);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S266>/Write' */
|
||
|
||
/* MATLAB Function: '<S267>/Write' incorporates:
|
||
* Constant: '<S267>/Constant'
|
||
* Constant: '<S267>/Constant1'
|
||
* DataStoreRead: '<S267>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S267>/Divide'
|
||
* Product: '<S267>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Reserve_Sensor_Duct_Temp_1 V = %f\n',U); */
|
||
printf("Reserve_Sensor_Duct_Temp_1 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_1 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S267>/Write' */
|
||
|
||
/* MATLAB Function: '<S268>/Write' incorporates:
|
||
* Constant: '<S268>/Constant'
|
||
* Constant: '<S268>/Constant1'
|
||
* DataStoreRead: '<S268>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S268>/Divide'
|
||
* Product: '<S268>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Reserve_Sensor_Duct_Temp_2 V = %f\n',U); */
|
||
printf("Reserve_Sensor_Duct_Temp_2 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_2 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S268>/Write' */
|
||
|
||
/* MATLAB Function: '<S270>/Write' incorporates:
|
||
* Constant: '<S270>/Constant'
|
||
* Constant: '<S270>/Constant1'
|
||
* DataStoreRead: '<S270>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S270>/Divide'
|
||
* Product: '<S270>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Front_Duct1 V = %f\n',U); */
|
||
printf("Sensor_Front_Duct1 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Front_Duct1 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S270>/Write' */
|
||
|
||
/* MATLAB Function: '<S271>/Write' incorporates:
|
||
* Constant: '<S271>/Constant'
|
||
* Constant: '<S271>/Constant1'
|
||
* DataStoreRead: '<S271>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S271>/Divide'
|
||
* Product: '<S271>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Front_Duct2 V = %f\n',U); */
|
||
printf("Sensor_Front_Duct2 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Front_Duct2 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S271>/Write' */
|
||
|
||
/* MATLAB Function: '<S272>/Write' incorporates:
|
||
* Constant: '<S272>/Constant'
|
||
* Constant: '<S272>/Constant1'
|
||
* DataStoreRead: '<S272>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S272>/Divide'
|
||
* Product: '<S272>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Front_Duct3 V = %f\n',U); */
|
||
printf("Sensor_Front_Duct3 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Front_Duct3 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S272>/Write' */
|
||
|
||
/* MATLAB Function: '<S273>/Write' incorporates:
|
||
* Constant: '<S273>/Constant'
|
||
* Constant: '<S273>/Constant1'
|
||
* DataStoreRead: '<S273>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S273>/Divide'
|
||
* Product: '<S273>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Front_Duct4 V = %f\n',U); */
|
||
printf("Sensor_Front_Duct4 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Front_Duct4 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S273>/Write' */
|
||
|
||
/* MATLAB Function: '<S274>/Write' incorporates:
|
||
* Constant: '<S274>/Constant'
|
||
* Constant: '<S274>/Constant1'
|
||
* DataStoreRead: '<S274>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S274>/Divide'
|
||
* Product: '<S274>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Front_Duct5 V = %f\n',U); */
|
||
printf("Sensor_Front_Duct5 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Front_Duct5 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S274>/Write' */
|
||
|
||
/* MATLAB Function: '<S275>/Write' incorporates:
|
||
* Constant: '<S275>/Constant'
|
||
* Constant: '<S275>/Constant1'
|
||
* DataStoreRead: '<S275>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S275>/Divide'
|
||
* Product: '<S275>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Front_Duct V = %f\n',U); */
|
||
printf("Sensor_Front_Duct V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Front_Duct6 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S275>/Write' */
|
||
|
||
/* MATLAB Function: '<S276>/Write' incorporates:
|
||
* Constant: '<S276>/Constant'
|
||
* Constant: '<S276>/Constant1'
|
||
* DataStoreRead: '<S276>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S276>/Divide'
|
||
* Product: '<S276>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Rear_Duct1 V = %f\n',U); */
|
||
printf("Sensor_Rear_Duct1 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Rear_Duct1 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S276>/Write' */
|
||
|
||
/* MATLAB Function: '<S277>/Write' incorporates:
|
||
* Constant: '<S277>/Constant'
|
||
* Constant: '<S277>/Constant1'
|
||
* DataStoreRead: '<S277>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S277>/Divide'
|
||
* Product: '<S277>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Rear_Duct2 V = %f\n',U); */
|
||
printf("Sensor_Rear_Duct2 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Rear_Duct2 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S277>/Write' */
|
||
|
||
/* MATLAB Function: '<S278>/Write' incorporates:
|
||
* Constant: '<S278>/Constant'
|
||
* Constant: '<S278>/Constant1'
|
||
* DataStoreRead: '<S278>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S278>/Divide'
|
||
* Product: '<S278>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Rear_Duct3 V = %f\n',U); */
|
||
printf("Sensor_Rear_Duct3 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Rear_Duct3 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S278>/Write' */
|
||
|
||
/* MATLAB Function: '<S279>/Write' incorporates:
|
||
* Constant: '<S279>/Constant'
|
||
* Constant: '<S279>/Constant1'
|
||
* DataStoreRead: '<S279>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S279>/Divide'
|
||
* Product: '<S279>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Rear_Duct4 V = %f\n',U); */
|
||
printf("Sensor_Rear_Duct4 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Rear_Duct4 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S279>/Write' */
|
||
|
||
/* MATLAB Function: '<S280>/Write' incorporates:
|
||
* Constant: '<S280>/Constant'
|
||
* Constant: '<S280>/Constant1'
|
||
* DataStoreRead: '<S280>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S280>/Divide'
|
||
* Product: '<S280>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Rear_Duct5 V = %f\n',U); */
|
||
printf("Sensor_Rear_Duct5 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Rear_Duct5 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S280>/Write' */
|
||
|
||
/* MATLAB Function: '<S281>/Write' incorporates:
|
||
* Constant: '<S281>/Constant'
|
||
* Constant: '<S281>/Constant1'
|
||
* DataStoreRead: '<S281>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S281>/Divide'
|
||
* Product: '<S281>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Sensor_Rear_Duct6 V = %f\n',U); */
|
||
printf("Sensor_Rear_Duct6 V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.Sensor_Rear_Duct6 / 4095.0 * 5.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S281>/Write' */
|
||
|
||
/* MATLAB Function: '<S282>/Write' incorporates:
|
||
* Constant: '<S282>/Constant'
|
||
* Constant: '<S282>/Constant1'
|
||
* DataStoreRead: '<S282>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S282>/Divide'
|
||
* Product: '<S282>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB V = %f\n',U); */
|
||
printf("VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB /
|
||
4095.0 * 17.5);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S282>/Write' */
|
||
|
||
/* MATLAB Function: '<S283>/Write' incorporates:
|
||
* Constant: '<S283>/Constant'
|
||
* Constant: '<S283>/Constant1'
|
||
* DataStoreRead: '<S283>/Data Store Read'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S283>/Divide'
|
||
* Product: '<S283>/Divide1'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('VN7008AJ_DIAG_RearLINActuatorPowerDriverC V = %f\n',U); */
|
||
printf("VN7008AJ_DIAG_RearLINActuatorPowerDriverC V = %f\n", (double)
|
||
rtDW.ADC_Data_Model.VN7008AJ_DIAG_RearLINActuatorPowerDriverC /
|
||
4095.0 * 17.5);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S283>/Write' */
|
||
|
||
/* Product: '<S284>/Divide1' incorporates:
|
||
* Constant: '<S284>/Constant'
|
||
* Constant: '<S284>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S284>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)
|
||
rtDW.ADC_Data_Model.VN7008AJ_FrontLINActuatorPowerDriverAB / 4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S284>/Write' incorporates:
|
||
* Constant: '<S284>/Constant2'
|
||
* Constant: '<S284>/Constant3'
|
||
* DataStoreRead: '<S284>/Data Store Read'
|
||
* Product: '<S284>/Divide2'
|
||
* Product: '<S284>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('VN7008AJ_FrontLINActuatorPowerDriverAB V = %f Iout = %f\n',U,I); */
|
||
printf("VN7008AJ_FrontLINActuatorPowerDriverAB V = %f Iout = %f\n",
|
||
rtb_Divide1, rtb_Divide1 / 2490.0 * 5890.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S284>/Write' */
|
||
|
||
/* Product: '<S285>/Divide1' incorporates:
|
||
* Constant: '<S285>/Constant'
|
||
* Constant: '<S285>/Constant1'
|
||
* DataStoreRead: '<S2>/Data Store Read1'
|
||
* Product: '<S285>/Divide'
|
||
*/
|
||
rtb_Divide1 = (double)rtDW.ADC_Data_Model.VN7008AJ_RearLINActuatorPowerDriverC
|
||
/ 4095.0 * 5.0;
|
||
|
||
/* MATLAB Function: '<S285>/Write' incorporates:
|
||
* Constant: '<S285>/Constant2'
|
||
* Constant: '<S285>/Constant3'
|
||
* DataStoreRead: '<S285>/Data Store Read'
|
||
* Product: '<S285>/Divide2'
|
||
* Product: '<S285>/Divide3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('VN7008AJ_RearLINActuatorPowerDriverC V = %f Iout = %f\n',U,I); */
|
||
printf("VN7008AJ_RearLINActuatorPowerDriverC V = %f Iout = %f\n",
|
||
rtb_Divide1, rtb_Divide1 / 2490.0 * 5890.0);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S285>/Write' */
|
||
|
||
/* MATLAB Function: '<S2>/Write' incorporates:
|
||
* DataStoreRead: '<S2>/Data Store Read2'
|
||
* DataStoreRead: '<S2>/Data Store Read3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('ST_ReservePower = %u \n',data); */
|
||
printf("ST_ReservePower = %u \n", rtDW.ADC_Key_Data_Model.ST_ReservePower);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S2>/Write' */
|
||
|
||
/* MATLAB Function: '<S2>/Write1' incorporates:
|
||
* DataStoreRead: '<S2>/Data Store Read2'
|
||
* DataStoreRead: '<S2>/Data Store Read3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('ST_BATTChiller = %u \n',data); */
|
||
printf("ST_BATTChiller = %u \n", rtDW.ADC_Key_Data_Model.ST_BATTChiller);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S2>/Write1' */
|
||
|
||
/* MATLAB Function: '<S2>/Write2' incorporates:
|
||
* DataStoreRead: '<S2>/Data Store Read2'
|
||
* DataStoreRead: '<S2>/Data Store Read3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('EmergencyAirCleanSwitch = %u \n',data); */
|
||
printf("EmergencyAirCleanSwitch = %u \n",
|
||
rtDW.ADC_Key_Data_Model.EmergencyAirCleanSwitch);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S2>/Write2' */
|
||
|
||
/* MATLAB Function: '<S2>/Write3' incorporates:
|
||
* DataStoreRead: '<S2>/Data Store Read2'
|
||
* DataStoreRead: '<S2>/Data Store Read3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('FireExtinguishSwitch = %u \n',data); */
|
||
printf("FireExtinguishSwitch = %u \n",
|
||
rtDW.ADC_Key_Data_Model.FireExtinguishSwitch);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S2>/Write3' */
|
||
|
||
/* MATLAB Function: '<S2>/Write4' incorporates:
|
||
* DataStoreRead: '<S2>/Data Store Read2'
|
||
* DataStoreRead: '<S2>/Data Store Read3'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (rtDW.LOGGER_ACP != 0.0) {
|
||
/* : fprintf('Ign_Wakeup = %u \n',data); */
|
||
printf("Ign_Wakeup = %u \n", rtDW.ADC_Key_Data_Model.Ign_Wakeup);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S2>/Write4' */
|
||
|
||
/* BusCreator: '<Root>/Bus Creator' incorporates:
|
||
* DataStoreRead: '<Root>/Data Store Read'
|
||
* DataStoreWrite: '<Root>/Data Store Write'
|
||
* DataTypeConversion: '<S251>/Data Type Conversion'
|
||
* DataTypeConversion: '<S252>/Data Type Conversion'
|
||
* DataTypeConversion: '<S253>/Data Type Conversion'
|
||
* DataTypeConversion: '<S269>/Data Type Conversion'
|
||
* DataTypeConversion: '<S286>/Data Type Conversion'
|
||
* DataTypeConversion: '<S287>/Data Type Conversion'
|
||
* Logic: '<S286>/Logical Operator4'
|
||
* Logic: '<S287>/Logical Operator4'
|
||
*/
|
||
CCU_Errors_Model.CCU_IncarTempErrF_Stat = (uint8_t)(rtb_LogicalOperator1_ca ||
|
||
rtb_LogicalOperator3_f3);
|
||
CCU_Errors_Model.CCU_IncarTempErrR_Stat = (uint8_t)(rtb_LogicalOperator1_lc ||
|
||
rtb_LogicalOperator3_oi);
|
||
CCU_Errors_Model.CCU_DuctTempSenErrF_Stat = 0U;
|
||
CCU_Errors_Model.CCU_DuctTempSenErrR_Stat = 0U;
|
||
CCU_Errors_Model.CCU_EvaTempSenErrF_Stat = rtb_LogicalOperator1_f;
|
||
CCU_Errors_Model.CCU_EvaTempSenErrR_Stat = rtb_LogicalOperator1_k;
|
||
CCU_Errors_Model.CCU_DeflectorSwErrF_Stat = 0U;
|
||
CCU_Errors_Model.CCU_DeflectorSwErrR_Stat = 0U;
|
||
CCU_Errors_Model.CCU_PressSenErr_Stat = rtb_LogicalOperator1_lk;
|
||
CCU_Errors_Model.CCU_AmbienTemptSenErr_Stat = rtb_LogicalOperator1;
|
||
CCU_Errors_Model.CCU_SealingValveErr_Stat = 0U;
|
||
CCU_Errors_Model.CCU_ETXVerr_Stat = 0U;
|
||
CCU_Errors_Model.CCU_HVACfanOrTXVerrF_Stat = 0U;
|
||
CCU_Errors_Model.CCU_HVACfanOrTXVerrR_Stat = 0U;
|
||
CCU_Errors_Model.CCU_ActuatorErrF_Stat = rtDW.CCU_ActuatorErrF_Stat_private;
|
||
CCU_Errors_Model.CCU_ActuatorErrR_Stat = 0U;
|
||
CCU_Errors_Model.CCU_UltravioletErr_Stat = 0U;
|
||
CCU_Errors_Model.CCU_VinRecordErr_Stat = 0U;
|
||
CCU_Errors_Model.CCU_AirQualSenErr_Stat = 0U;
|
||
CCU_Errors_Model.CCU_CommErr_Stat = 0U;
|
||
CCU_Errors_Model.CCU_TWVerr_Stat = 0U;
|
||
CCU_Errors_Model.CCU_IonizationErr_Stat = 0U;
|
||
CCU_Errors_Model.CCU_AromaErr_Stat = 0U;
|
||
|
||
/* BusCreator: '<S5>/Bus Creator' incorporates:
|
||
* Constant: '<S5>/Constant'
|
||
* Constant: '<S5>/Constant1'
|
||
* Constant: '<S5>/Constant2'
|
||
* Constant: '<S5>/Constant3'
|
||
* DataStoreWrite: '<S5>/Data Store Write'
|
||
*/
|
||
PWM_Get.pwmPercentFront = 30U;
|
||
PWM_Get.pwmPercentRear = 30U;
|
||
PWM_Get.pwmPercentFrontReserved = 30U;
|
||
PWM_Get.pwmPercentRearReserved = 30U;
|
||
|
||
/* Saturate: '<S8>/Saturation' incorporates:
|
||
* DataStoreRead: '<S1>/Data Store Read'
|
||
*/
|
||
/* : if(LOGGER) */
|
||
if (AMB > 1000) {
|
||
Eva_F = 1000;
|
||
} else if (AMB < -1000) {
|
||
Eva_F = -1000;
|
||
} else {
|
||
Eva_F = AMB;
|
||
}
|
||
|
||
/* End of Saturate: '<S8>/Saturation' */
|
||
|
||
/* MATLAB Function: '<S8>/Convert_g_assAMB_LV_UP' */
|
||
/* : c_g_assAMB_LV_UP = [-1000, g_assAMB_LV_UP(5), g_assAMB_LV_UP(4), g_assAMB_LV_UP(3), g_assAMB_LV_UP(2), g_assAMB_LV_UP(1)]; */
|
||
tmp[0] = -1000;
|
||
tmp[1] = g_assAMB_LV_UP[4];
|
||
tmp[2] = g_assAMB_LV_UP[3];
|
||
tmp[3] = g_assAMB_LV_UP[2];
|
||
tmp[4] = g_assAMB_LV_UP[1];
|
||
tmp[5] = g_assAMB_LV_UP[0];
|
||
|
||
/* SwitchCase: '<S8>/Switch Case' incorporates:
|
||
* Lookup_n-D: '<S8>/1-D Lookup Table'
|
||
* Saturate: '<S8>/Saturation'
|
||
*/
|
||
switch ((int8_t)rtConstP.uDLookupTable_tableData_h[plook_u32s16_bincka(Eva_F,
|
||
tmp, 5U)]) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S8>/Switch Case Action Subsystem' incorporates:
|
||
* ActionPort: '<S12>/Action Port'
|
||
*/
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* MATLAB Function: '<S12>/Convert_g_assAMB_LV_UP_1'
|
||
* RelationalOperator: '<S12>/Relational Operator'
|
||
* Switch: '<S12>/Switch'
|
||
*/
|
||
/* : c_g_assAMB_LV_UP_1 = g_assAMB_LV_UP(1); */
|
||
rtB.Merge_b = (uint8_t)(Eva_F <= g_assAMB_LV_UP[0]);
|
||
|
||
/* End of Outputs for SubSystem: '<S8>/Switch Case Action Subsystem' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S8>/Switch Case Action Subsystem1' incorporates:
|
||
* ActionPort: '<S13>/Action Port'
|
||
*/
|
||
/* Switch: '<S13>/Switch' incorporates:
|
||
* MATLAB Function: '<S13>/Convert_g_assAMB_LV_UP_2'
|
||
* RelationalOperator: '<S13>/Relational Operator'
|
||
*/
|
||
/* : c_g_assAMB_LV_DN_1 = g_assAMB_LV_DN(1); */
|
||
/* : c_g_assAMB_LV_UP_2 = g_assAMB_LV_UP(2); */
|
||
if (Eva_F > g_assAMB_LV_UP[1]) {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* MATLAB Function: '<S13>/Convert_g_assAMB_LV_DN_1'
|
||
* RelationalOperator: '<S13>/Relational Operator1'
|
||
*/
|
||
rtB.Merge_b = (uint8_t)(Eva_F <= g_assAMB_LV_DN[0]);
|
||
} else {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S13>/Constant_Lv2'
|
||
*/
|
||
rtB.Merge_b = 2U;
|
||
}
|
||
|
||
/* End of Switch: '<S13>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S8>/Switch Case Action Subsystem1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S8>/Switch Case Action Subsystem2' incorporates:
|
||
* ActionPort: '<S14>/Action Port'
|
||
*/
|
||
/* Switch: '<S14>/Switch2' incorporates:
|
||
* MATLAB Function: '<S14>/Convert_g_assAMB_LV_UP_3'
|
||
* RelationalOperator: '<S14>/Relational Operator'
|
||
*/
|
||
/* : c_g_assAMB_LV_DN_2 = g_assAMB_LV_DN(2); */
|
||
/* : c_g_assAMB_LV_UP_3 = g_assAMB_LV_UP(3); */
|
||
if (Eva_F > g_assAMB_LV_UP[2]) {
|
||
/* Switch: '<S14>/Switch3' incorporates:
|
||
* MATLAB Function: '<S14>/Convert_g_assAMB_LV_DN_2'
|
||
* RelationalOperator: '<S14>/Relational Operator1'
|
||
*/
|
||
if (Eva_F > g_assAMB_LV_DN[1]) {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S14>/Constant_Lv1'
|
||
*/
|
||
rtB.Merge_b = 1U;
|
||
} else {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S14>/Constant_Lv2'
|
||
*/
|
||
rtB.Merge_b = 2U;
|
||
}
|
||
|
||
/* End of Switch: '<S14>/Switch3' */
|
||
} else {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S14>/Constant_Lv3'
|
||
*/
|
||
rtB.Merge_b = 3U;
|
||
}
|
||
|
||
/* End of Switch: '<S14>/Switch2' */
|
||
/* End of Outputs for SubSystem: '<S8>/Switch Case Action Subsystem2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S8>/Switch Case Action Subsystem3' incorporates:
|
||
* ActionPort: '<S15>/Action Port'
|
||
*/
|
||
/* Switch: '<S15>/Switch2' incorporates:
|
||
* MATLAB Function: '<S15>/Convert_g_assAMB_LV_UP_4'
|
||
* RelationalOperator: '<S15>/Relational Operator'
|
||
*/
|
||
/* : c_g_assAMB_LV_DN_3 = g_assAMB_LV_DN(3); */
|
||
/* : c_g_assAMB_LV_UP_4 = g_assAMB_LV_UP(4); */
|
||
if (Eva_F > g_assAMB_LV_UP[3]) {
|
||
/* Switch: '<S15>/Switch3' incorporates:
|
||
* MATLAB Function: '<S15>/Convert_g_assAMB_LV_DN_3'
|
||
* RelationalOperator: '<S15>/Relational Operator1'
|
||
*/
|
||
if (Eva_F > g_assAMB_LV_DN[2]) {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S15>/Constant_Lv2'
|
||
*/
|
||
rtB.Merge_b = 2U;
|
||
} else {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S15>/Constant_Lv3'
|
||
*/
|
||
rtB.Merge_b = 3U;
|
||
}
|
||
|
||
/* End of Switch: '<S15>/Switch3' */
|
||
} else {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S15>/Constant_Lv4'
|
||
*/
|
||
rtB.Merge_b = 4U;
|
||
}
|
||
|
||
/* End of Switch: '<S15>/Switch2' */
|
||
/* End of Outputs for SubSystem: '<S8>/Switch Case Action Subsystem3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S8>/Switch Case Action Subsystem4' incorporates:
|
||
* ActionPort: '<S16>/Action Port'
|
||
*/
|
||
/* Switch: '<S16>/Switch2' incorporates:
|
||
* MATLAB Function: '<S16>/Convert_g_assAMB_LV_UP_5'
|
||
* RelationalOperator: '<S16>/Relational Operator'
|
||
*/
|
||
/* : c_g_assAMB_LV_DN_4 = g_assAMB_LV_DN(4); */
|
||
/* : c_g_assAMB_LV_UP_5 = g_assAMB_LV_UP(5); */
|
||
if (Eva_F > g_assAMB_LV_UP[4]) {
|
||
/* Switch: '<S16>/Switch3' incorporates:
|
||
* MATLAB Function: '<S16>/Convert_g_assAMB_LV_DN_4'
|
||
* RelationalOperator: '<S16>/Relational Operator1'
|
||
*/
|
||
if (Eva_F > g_assAMB_LV_DN[3]) {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S16>/Constant_Lv3'
|
||
*/
|
||
rtB.Merge_b = 3U;
|
||
} else {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S16>/Constant_Lv4'
|
||
*/
|
||
rtB.Merge_b = 4U;
|
||
}
|
||
|
||
/* End of Switch: '<S16>/Switch3' */
|
||
} else {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S16>/Constant_Lv5'
|
||
*/
|
||
rtB.Merge_b = 5U;
|
||
}
|
||
|
||
/* End of Switch: '<S16>/Switch2' */
|
||
/* End of Outputs for SubSystem: '<S8>/Switch Case Action Subsystem4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S8>/Switch Case Action Subsystem5' incorporates:
|
||
* ActionPort: '<S17>/Action Port'
|
||
*/
|
||
/* Switch: '<S17>/Switch1' incorporates:
|
||
* MATLAB Function: '<S17>/Convert_g_assAMB_LV_DN_5'
|
||
* RelationalOperator: '<S17>/Relational Operator'
|
||
*/
|
||
/* : c_g_assAMB_LV_DN_5 = g_assAMB_LV_DN(5); */
|
||
if (Eva_F > g_assAMB_LV_DN[4]) {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S17>/Constant_Lv4'
|
||
*/
|
||
rtB.Merge_b = 4U;
|
||
} else {
|
||
/* Merge: '<S8>/Merge' incorporates:
|
||
* Constant: '<S17>/Constant_Lv5'
|
||
*/
|
||
rtB.Merge_b = 5U;
|
||
}
|
||
|
||
/* End of Switch: '<S17>/Switch1' */
|
||
/* End of Outputs for SubSystem: '<S8>/Switch Case Action Subsystem5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S8>/Switch Case' */
|
||
|
||
/* Saturate: '<S1>/Saturation' incorporates:
|
||
* DataStoreRead: '<S1>/Data Store Read1'
|
||
*/
|
||
if (rtDW.SET_FL > 290.0) {
|
||
rtb_Divide1 = 290.0;
|
||
} else if (rtDW.SET_FL < 170.0) {
|
||
rtb_Divide1 = 170.0;
|
||
} else {
|
||
rtb_Divide1 = rtDW.SET_FL;
|
||
}
|
||
|
||
/* Gain: '<S9>/Gain' incorporates:
|
||
* Saturate: '<S1>/Saturation'
|
||
*/
|
||
i = 13107 * (int16_t)floor(rtb_Divide1);
|
||
rtb_Gain_l = (uint8_t)((((uint32_t)i & 65536U) != 0U) + (i >> 17));
|
||
|
||
/* MATLAB Function: '<S9>/Modes for levels' */
|
||
/* : get_modes_for_levels = [g_aucMODE_BY_SET_F_LV0; */
|
||
/* : g_aucMODE_BY_SET_F_LV1; */
|
||
/* : g_aucMODE_BY_SET_F_LV2; */
|
||
/* : g_aucMODE_BY_SET_F_LV3; */
|
||
/* : g_aucMODE_BY_SET_F_LV4; */
|
||
/* : g_aucMODE_BY_SET_F_LV5; */
|
||
/* : ]; */
|
||
for (i = 0; i < 13; i++) {
|
||
rtb_get_modes_for_levels[6 * i] = g_aucMODE_BY_SET_F_LV0[i];
|
||
rtb_get_modes_for_levels[6 * i + 1] = g_aucMODE_BY_SET_F_LV1[i];
|
||
rtb_get_modes_for_levels[6 * i + 2] = g_aucMODE_BY_SET_F_LV2[i];
|
||
rtb_get_modes_for_levels[6 * i + 3] = g_aucMODE_BY_SET_F_LV3[i];
|
||
rtb_get_modes_for_levels[6 * i + 4] = g_aucMODE_BY_SET_F_LV4[i];
|
||
rtb_get_modes_for_levels[6 * i + 5] = g_aucMODE_BY_SET_F_LV5[i];
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S9>/Modes for levels' */
|
||
|
||
/* Lookup_n-D: '<S9>/<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Left' incorporates:
|
||
* Gain: '<S9>/Gain'
|
||
* Merge: '<S8>/Merge'
|
||
*/
|
||
rtb_u_pe = look2_iu8bu8s16lu64n32_binlcse(rtB.Merge_b, rtb_Gain_l,
|
||
rtConstP.pooled61, rtConstP.pooled29, rtb_get_modes_for_levels,
|
||
rtConstP.pooled23, 6U);
|
||
|
||
/* MATLAB Function: '<S9>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> left' */
|
||
left(rtb_u_pe, rtb_vals_m);
|
||
|
||
/* Saturate: '<S1>/Saturation1' incorporates:
|
||
* DataStoreRead: '<S1>/Data Store Read2'
|
||
*/
|
||
if (rtDW.SET_FR >= 170) {
|
||
i = rtDW.SET_FR;
|
||
} else {
|
||
i = 170;
|
||
}
|
||
|
||
/* Gain: '<S9>/Gain2' incorporates:
|
||
* Saturate: '<S1>/Saturation1'
|
||
*/
|
||
i *= 13107;
|
||
rtb_Gain2 = (uint8_t)((((uint32_t)i & 65536U) != 0U) + (i >> 17));
|
||
|
||
/* SwitchCase: '<S29>/Switch for Left ' incorporates:
|
||
* DataStoreRead: '<S1>/Data Store Read'
|
||
*/
|
||
switch (rtb_u_pe) {
|
||
case 10:
|
||
break;
|
||
|
||
case 20:
|
||
for (i = 0; i < 9; i++) {
|
||
/* Outputs for IfAction SubSystem: '<S29>/Bilevel' incorporates:
|
||
* ActionPort: '<S35>/Action Port'
|
||
*/
|
||
Merge[i] = rtb_vals_m[i];
|
||
|
||
/* End of Outputs for SubSystem: '<S29>/Bilevel' */
|
||
}
|
||
|
||
/* Outputs for IfAction SubSystem: '<S29>/Bilevel' incorporates:
|
||
* ActionPort: '<S35>/Action Port'
|
||
*/
|
||
Bilevel(AMB, rtB.Merge_b, Merge, rtb_Gain_l, rtb_Gain2);
|
||
|
||
/* End of Outputs for SubSystem: '<S29>/Bilevel' */
|
||
break;
|
||
|
||
case 30:
|
||
for (i = 0; i < 9; i++) {
|
||
/* Outputs for IfAction SubSystem: '<S29>/Bilevel2' incorporates:
|
||
* ActionPort: '<S36>/Action Port'
|
||
*/
|
||
Merge[i] = rtb_vals_m[i];
|
||
|
||
/* End of Outputs for SubSystem: '<S29>/Bilevel2' */
|
||
}
|
||
|
||
/* Outputs for IfAction SubSystem: '<S29>/Bilevel2' incorporates:
|
||
* ActionPort: '<S36>/Action Port'
|
||
*/
|
||
Bilevel2(AMB, rtB.Merge_b, Merge, rtb_Gain_l, rtb_Gain2);
|
||
|
||
/* End of Outputs for SubSystem: '<S29>/Bilevel2' */
|
||
break;
|
||
|
||
case 40:
|
||
for (i = 0; i < 9; i++) {
|
||
/* Outputs for IfAction SubSystem: '<S29>/Afoot' incorporates:
|
||
* ActionPort: '<S33>/Action Port'
|
||
*/
|
||
Merge[i] = rtb_vals_m[i];
|
||
|
||
/* End of Outputs for SubSystem: '<S29>/Afoot' */
|
||
}
|
||
|
||
/* Outputs for IfAction SubSystem: '<S29>/Afoot' incorporates:
|
||
* ActionPort: '<S33>/Action Port'
|
||
*/
|
||
Afoot(AMB, rtB.Merge_b, Merge, rtb_Gain_l, rtb_Gain2);
|
||
|
||
/* End of Outputs for SubSystem: '<S29>/Afoot' */
|
||
break;
|
||
|
||
case 50:
|
||
for (i = 0; i < 9; i++) {
|
||
/* Outputs for IfAction SubSystem: '<S29>/Afoot_Summer' incorporates:
|
||
* ActionPort: '<S34>/Action Port'
|
||
*/
|
||
Merge[i] = rtb_vals_m[i];
|
||
|
||
/* End of Outputs for SubSystem: '<S29>/Afoot_Summer' */
|
||
}
|
||
|
||
/* Outputs for IfAction SubSystem: '<S29>/Afoot_Summer' incorporates:
|
||
* ActionPort: '<S34>/Action Port'
|
||
*/
|
||
Afoot_Summer(AMB, rtB.Merge_b, Merge, rtb_Gain_l, rtb_Gain2);
|
||
|
||
/* End of Outputs for SubSystem: '<S29>/Afoot_Summer' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S29>/Switch for Left ' */
|
||
|
||
/* Lookup_n-D: '<S9>/<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Right' incorporates:
|
||
* Gain: '<S9>/Gain2'
|
||
* Merge: '<S8>/Merge'
|
||
*/
|
||
rtb_u_pe = look2_iu8bu8s16lu64n32_binlcse(rtB.Merge_b, rtb_Gain2,
|
||
rtConstP.pooled61, rtConstP.pooled29, rtb_get_modes_for_levels,
|
||
rtConstP.pooled23, 6U);
|
||
|
||
/* MATLAB Function: '<S9>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> right' */
|
||
left(rtb_u_pe, rtb_vals_m);
|
||
|
||
/* SwitchCase: '<S30>/Switch for Left ' incorporates:
|
||
* DataStoreRead: '<S1>/Data Store Read'
|
||
*/
|
||
switch (rtb_u_pe) {
|
||
case 10:
|
||
break;
|
||
|
||
case 20:
|
||
for (i = 0; i < 9; i++) {
|
||
/* Outputs for IfAction SubSystem: '<S30>/Bilevel' incorporates:
|
||
* ActionPort: '<S144>/Action Port'
|
||
*/
|
||
Merge[i] = rtb_vals_m[i];
|
||
|
||
/* End of Outputs for SubSystem: '<S30>/Bilevel' */
|
||
}
|
||
|
||
/* Outputs for IfAction SubSystem: '<S30>/Bilevel' incorporates:
|
||
* ActionPort: '<S144>/Action Port'
|
||
*/
|
||
Bilevel(AMB, rtB.Merge_b, Merge, rtb_Gain_l, rtb_Gain2);
|
||
|
||
/* End of Outputs for SubSystem: '<S30>/Bilevel' */
|
||
break;
|
||
|
||
case 30:
|
||
for (i = 0; i < 9; i++) {
|
||
/* Outputs for IfAction SubSystem: '<S30>/Bilevel2' incorporates:
|
||
* ActionPort: '<S145>/Action Port'
|
||
*/
|
||
Merge[i] = rtb_vals_m[i];
|
||
|
||
/* End of Outputs for SubSystem: '<S30>/Bilevel2' */
|
||
}
|
||
|
||
/* Outputs for IfAction SubSystem: '<S30>/Bilevel2' incorporates:
|
||
* ActionPort: '<S145>/Action Port'
|
||
*/
|
||
Bilevel2(AMB, rtB.Merge_b, Merge, rtb_Gain_l, rtb_Gain2);
|
||
|
||
/* End of Outputs for SubSystem: '<S30>/Bilevel2' */
|
||
break;
|
||
|
||
case 40:
|
||
for (i = 0; i < 9; i++) {
|
||
/* Outputs for IfAction SubSystem: '<S30>/Afoot' incorporates:
|
||
* ActionPort: '<S142>/Action Port'
|
||
*/
|
||
Merge[i] = rtb_vals_m[i];
|
||
|
||
/* End of Outputs for SubSystem: '<S30>/Afoot' */
|
||
}
|
||
|
||
/* Outputs for IfAction SubSystem: '<S30>/Afoot' incorporates:
|
||
* ActionPort: '<S142>/Action Port'
|
||
*/
|
||
Afoot(AMB, rtB.Merge_b, Merge, rtb_Gain_l, rtb_Gain2);
|
||
|
||
/* End of Outputs for SubSystem: '<S30>/Afoot' */
|
||
break;
|
||
|
||
case 50:
|
||
for (i = 0; i < 9; i++) {
|
||
/* Outputs for IfAction SubSystem: '<S30>/Afoot_Summer' incorporates:
|
||
* ActionPort: '<S143>/Action Port'
|
||
*/
|
||
Merge[i] = rtb_vals_m[i];
|
||
|
||
/* End of Outputs for SubSystem: '<S30>/Afoot_Summer' */
|
||
}
|
||
|
||
/* Outputs for IfAction SubSystem: '<S30>/Afoot_Summer' incorporates:
|
||
* ActionPort: '<S143>/Action Port'
|
||
*/
|
||
Afoot_Summer(AMB, rtB.Merge_b, Merge, rtb_Gain_l, rtb_Gain2);
|
||
|
||
/* End of Outputs for SubSystem: '<S30>/Afoot_Summer' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S30>/Switch for Left ' */
|
||
|
||
/* MATLAB Function: '<S8>/Log Ambient Lv' */
|
||
/* : if (isempty(current_Ambient_Lv)) */
|
||
if (!rtDW.current_Ambient_Lv_not_empty) {
|
||
/* : current_Ambient_Lv = Ambient_Lv; */
|
||
rtDW.current_Ambient_Lv = rtB.Merge_b;
|
||
rtDW.current_Ambient_Lv_not_empty = true;
|
||
|
||
/* : fprintf("13.1.3.1 Ambient level: in_Amb_Fb = %d; Set Ambient lvl (init) = %u \n", in_Amb_Fb, Ambient_Lv); */
|
||
printf("13.1.3.1 Ambient level: in_Amb_Fb = %d; Set Ambient lvl (init) = %u \n",
|
||
Eva_F, rtB.Merge_b);
|
||
fflush(stdout);
|
||
|
||
/* : else */
|
||
/* : if (current_Ambient_Lv ~= Ambient_Lv) */
|
||
} else if (rtDW.current_Ambient_Lv != rtB.Merge_b) {
|
||
/* : current_Ambient_Lv = Ambient_Lv; */
|
||
rtDW.current_Ambient_Lv = rtB.Merge_b;
|
||
|
||
/* : fprintf("13.1.3.1 Ambient level: in_Amb_Fb = %d; Set Ambient lvl = %u \n", in_Amb_Fb, Ambient_Lv); */
|
||
printf("13.1.3.1 Ambient level: in_Amb_Fb = %d; Set Ambient lvl = %u \n",
|
||
Eva_F, rtB.Merge_b);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S8>/Log Ambient Lv' */
|
||
|
||
/* DataStoreWrite: '<S3>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S3>/Data Store Read1'
|
||
*/
|
||
rtDW.SET_FR = rtDW.FIU_CCU1_MODEL.FIU_TargetTempFR_Val_ro;
|
||
|
||
/* Gain: '<S380>/Gain1' incorporates:
|
||
* Bias: '<S380>/Bias'
|
||
* DataStoreRead: '<S3>/Data Store Read1'
|
||
* DataStoreWrite: '<S3>/Data Store Write1'
|
||
* DataTypeConversion: '<S380>/Data Type Conversion'
|
||
* Gain: '<S380>/Gain'
|
||
*/
|
||
rtDW.SET_FL = (0.5 * (double)rtDW.FIU_CCU1_MODEL.FIU_TargetTempFL_Val_ro +
|
||
15.5) * 10.0;
|
||
|
||
/* Switch: '<S381>/Switch' incorporates:
|
||
* Constant: '<S381>/Constant1'
|
||
* DataStoreRead: '<S381>/Data Store Read'
|
||
* DataStoreRead: '<S381>/Data Store Read2'
|
||
*/
|
||
if (rtDW.stepSig_private > 0) {
|
||
rtb_Switch_hx = rtDW.stepSig_private;
|
||
} else {
|
||
rtb_Switch_hx = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S381>/Switch' */
|
||
|
||
/* SwitchCase: '<S381>/Switch Case' */
|
||
switch (rtb_Switch_hx) {
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Stop Mode' incorporates:
|
||
* ActionPort: '<S394>/Action Port'
|
||
*/
|
||
/* If: '<S394>/If1' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* DataStoreWrite: '<S381>/Data Store Write'
|
||
* DataStoreWrite: '<S381>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch0_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch0_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S394>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S441>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S441>/Data Store Write' */
|
||
rtDW.MODE_private[i] = 2U;
|
||
|
||
/* DataStoreWrite: '<S441>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S441>/Data Store Read'
|
||
*/
|
||
rtDW.COM_private[i] = rtDW.ErrorCalibration_private[i];
|
||
}
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Constant: '<S441>/Constant'
|
||
* Sum: '<S441>/step inc'
|
||
*/
|
||
rtB.Merge_l = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S394>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S394>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S442>/Action Port'
|
||
*/
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S442>/stepIn'
|
||
*/
|
||
rtB.Merge_l = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S394>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S394>/If1' */
|
||
/* End of Outputs for SubSystem: '<S381>/Stop Mode' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Initial CPOS Min' incorporates:
|
||
* ActionPort: '<S390>/Action Port'
|
||
*/
|
||
/* If: '<S390>/If' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* DataStoreWrite: '<S381>/Data Store Write'
|
||
* DataStoreWrite: '<S381>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch0_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch0_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S390>/If Action Subsystem' incorporates:
|
||
* ActionPort: '<S429>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S429>/Data Store Write' */
|
||
rtDW.POS_private[i] = 6000U;
|
||
|
||
/* Product: '<S429>/Divide' incorporates:
|
||
* DataStoreRead: '<S429>/Data Store Read'
|
||
* DataStoreWrite: '<S429>/Data Store Write1'
|
||
*/
|
||
rtDW.COM_private[i] = (uint8_t)(rtDW.ErrorCalibration_private[i] << 1);
|
||
}
|
||
|
||
/* MATLAB Function: '<S429>/Initial CPOS Min' incorporates:
|
||
* DataStoreRead: '<S429>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK Initial CPOS Min - 6000\n'); */
|
||
printf("LIN1 SIMULINK Initial CPOS Min - 6000\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S429>/Initial CPOS Min' */
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Constant: '<S429>/Constant'
|
||
* Merge: '<S390>/Merge'
|
||
* SignalConversion generated from: '<S429>/step'
|
||
* Sum: '<S429>/step inc'
|
||
*/
|
||
rtB.Merge_l = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S390>/If Action Subsystem' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S390>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S430>/Action Port'
|
||
*/
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Merge: '<S390>/Merge'
|
||
* SignalConversion generated from: '<S430>/stepIn1'
|
||
*/
|
||
rtB.Merge_l = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S390>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S390>/If' */
|
||
/* End of Outputs for SubSystem: '<S381>/Initial CPOS Min' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Normal Mode' incorporates:
|
||
* ActionPort: '<S393>/Action Port'
|
||
*/
|
||
/* If: '<S393>/If1' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* DataStoreWrite: '<S381>/Data Store Write'
|
||
* DataStoreWrite: '<S381>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch0_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch0_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S393>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S438>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S438>/Data Store Write' */
|
||
rtDW.MODE_private[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S438>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S438>/Data Store Read'
|
||
*/
|
||
rtDW.COM_private[i] = rtDW.ErrorCalibration_private[i];
|
||
}
|
||
|
||
/* MATLAB Function: '<S438>/Normal Mode' incorporates:
|
||
* DataStoreRead: '<S438>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK Normal Mode\n'); */
|
||
printf("LIN1 SIMULINK Normal Mode\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S438>/Normal Mode' */
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Constant: '<S438>/Constant'
|
||
* SignalConversion generated from: '<S438>/step'
|
||
* Sum: '<S438>/step inc'
|
||
*/
|
||
rtB.Merge_l = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S393>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S393>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S439>/Action Port'
|
||
*/
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S439>/stepIn'
|
||
*/
|
||
rtB.Merge_l = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S393>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S393>/If1' */
|
||
/* End of Outputs for SubSystem: '<S381>/Normal Mode' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Move to position Min' incorporates:
|
||
* ActionPort: '<S392>/Action Port'
|
||
*/
|
||
/* If: '<S392>/If1' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* DataStoreWrite: '<S381>/Data Store Write'
|
||
* DataStoreWrite: '<S381>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch0_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch0_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S392>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S435>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S435>/Data Store Write4' incorporates:
|
||
* Constant: '<S435>/Constant1'
|
||
*/
|
||
rtDW.Autos_private[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S435>/Data Store Write2' incorporates:
|
||
* Constant: '<S435>/Constant10'
|
||
*/
|
||
rtDW.Stall_private[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S435>/Data Store Write3' incorporates:
|
||
* Constant: '<S435>/Constant11'
|
||
*/
|
||
rtDW.Lnoise_private[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S435>/Data Store Write6' incorporates:
|
||
* Constant: '<S435>/Constant14'
|
||
*/
|
||
rtDW.Coils_private[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S435>/Data Store Write5' incorporates:
|
||
* Constant: '<S435>/Constant2'
|
||
*/
|
||
rtDW.Speed_private[i] = 3U;
|
||
|
||
/* DataStoreWrite: '<S435>/Data Store Write' */
|
||
rtDW.POS_private[i] = 1U;
|
||
|
||
/* Product: '<S435>/Divide' incorporates:
|
||
* Constant: '<S435>/Constant9'
|
||
* DataStoreRead: '<S435>/Data Store Read'
|
||
* DataStoreWrite: '<S435>/Data Store Write1'
|
||
*/
|
||
rtDW.COM_private[i] = (uint8_t)(rtDW.ErrorCalibration_private[i] * 3U);
|
||
}
|
||
|
||
/* MATLAB Function: '<S435>/Move to position Min' incorporates:
|
||
* DataStoreRead: '<S435>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK Move to position Min - 1\n'); */
|
||
printf("LIN1 SIMULINK Move to position Min - 1\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S435>/Move to position Min' */
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Constant: '<S435>/Constant'
|
||
* SignalConversion generated from: '<S435>/step'
|
||
* Sum: '<S435>/step inc'
|
||
*/
|
||
rtB.Merge_l = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S392>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S392>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S436>/Action Port'
|
||
*/
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S436>/stepIn'
|
||
*/
|
||
rtB.Merge_l = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S392>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S392>/If1' */
|
||
/* End of Outputs for SubSystem: '<S381>/Move to position Min' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Check Stall Min' incorporates:
|
||
* ActionPort: '<S387>/Action Port'
|
||
*/
|
||
/* RelationalOperator: '<S387>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* RelationalOperator: '<S387>/Relational Operator'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch0_Status_Model.in_Act_Stall_Slave[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S387>/Relational Operator1' */
|
||
|
||
/* Logic: '<S387>/Logical Operator2' incorporates:
|
||
* RelationalOperator: '<S387>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* RelationalOperator: '<S387>/Relational Operator' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch0_Status_Model.in_CPOS_ALL[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S387>/Relational Operator' */
|
||
|
||
/* Logic: '<S387>/Logical Operator1' incorporates:
|
||
* RelationalOperator: '<S387>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1_f = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1_f = (rtb_LogicalOperator1_f ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* If: '<S387>/If2' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* DataStoreWrite: '<S381>/Data Store Write'
|
||
* DataStoreWrite: '<S381>/Data Store Write1'
|
||
* DataTypeConversion: '<S387>/Data Type Conversion'
|
||
* DataTypeConversion: '<S387>/Data Type Conversion1'
|
||
* Logic: '<S387>/Logical Operator'
|
||
* Logic: '<S387>/Logical Operator1'
|
||
* Logic: '<S387>/Logical Operator2'
|
||
*/
|
||
if ((rtDW.Actuator_Ch0_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch0_Status_Model.Error_Connect == 0) &&
|
||
(rtb_LogicalOperator1 || rtb_LogicalOperator1_f)) {
|
||
/* Outputs for IfAction SubSystem: '<S387>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S399>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S399>/Data Store Write1' */
|
||
for (i = 0; i < 9; i++) {
|
||
rtDW.MinPositionCh0_private[i] =
|
||
rtDW.Actuator_Ch0_Status_Model.in_CPOS_ALL[i];
|
||
}
|
||
|
||
/* End of DataStoreWrite: '<S399>/Data Store Write1' */
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Constant: '<S399>/Constant'
|
||
* Sum: '<S399>/step inc'
|
||
*/
|
||
rtB.Merge_l = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* MATLAB Function: '<S399>/MIN POSITION' incorporates:
|
||
* DataStoreRead: '<S399>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK Min_position_Ch0 '); */
|
||
printf("LIN1 SIMULINK Min_position_Ch0 ");
|
||
fflush(stdout);
|
||
|
||
/* : for i = 1:numel(step) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : fprintf('%d ', int16(step(i))); */
|
||
printf("%d ", rtDW.Actuator_Ch0_Status_Model.in_CPOS_ALL[i]);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* : fprintf('\n'); */
|
||
printf("\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S399>/MIN POSITION' */
|
||
/* End of Outputs for SubSystem: '<S387>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S387>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S400>/Action Port'
|
||
*/
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S400>/stepIn'
|
||
*/
|
||
rtB.Merge_l = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S387>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S387>/If2' */
|
||
/* End of Outputs for SubSystem: '<S381>/Check Stall Min' */
|
||
break;
|
||
|
||
case 6:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Initial CPOS Max' incorporates:
|
||
* ActionPort: '<S389>/Action Port'
|
||
*/
|
||
/* If: '<S389>/If1' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* DataStoreWrite: '<S381>/Data Store Write'
|
||
* DataStoreWrite: '<S381>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch0_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch0_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S389>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S426>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* Product: '<S426>/Divide' incorporates:
|
||
* DataStoreRead: '<S426>/Data Store Read'
|
||
* DataStoreWrite: '<S426>/Data Store Write1'
|
||
*/
|
||
rtDW.COM_private[i] = (uint8_t)(rtDW.ErrorCalibration_private[i] << 1);
|
||
|
||
/* DataStoreWrite: '<S426>/Data Store Write' */
|
||
rtDW.POS_private[i] = 1U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S426>/Initial CPOS Max' incorporates:
|
||
* DataStoreRead: '<S426>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK Initial CPOS Max - 1\n'); */
|
||
printf("LIN1 SIMULINK Initial CPOS Max - 1\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S426>/Initial CPOS Max' */
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Constant: '<S426>/Constant'
|
||
* SignalConversion generated from: '<S426>/step'
|
||
* Sum: '<S426>/step inc'
|
||
*/
|
||
rtB.Merge_l = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S389>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S389>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S427>/Action Port'
|
||
*/
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S427>/stepIn'
|
||
*/
|
||
rtB.Merge_l = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S389>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S389>/If1' */
|
||
/* End of Outputs for SubSystem: '<S381>/Initial CPOS Max' */
|
||
break;
|
||
|
||
case 7:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Move to position Max' incorporates:
|
||
* ActionPort: '<S391>/Action Port'
|
||
*/
|
||
/* If: '<S391>/If1' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* DataStoreWrite: '<S381>/Data Store Write'
|
||
* DataStoreWrite: '<S381>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch0_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch0_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S391>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S432>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S432>/Data Store Write4' incorporates:
|
||
* Constant: '<S432>/Constant1'
|
||
*/
|
||
rtDW.Autos_private[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S432>/Data Store Write2' incorporates:
|
||
* Constant: '<S432>/Constant10'
|
||
*/
|
||
rtDW.Stall_private[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S432>/Data Store Write3' incorporates:
|
||
* Constant: '<S432>/Constant11'
|
||
*/
|
||
rtDW.Lnoise_private[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S432>/Data Store Write6' incorporates:
|
||
* Constant: '<S432>/Constant14'
|
||
*/
|
||
rtDW.Coils_private[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S432>/Data Store Write5' incorporates:
|
||
* Constant: '<S432>/Constant2'
|
||
*/
|
||
rtDW.Speed_private[i] = 3U;
|
||
|
||
/* DataStoreWrite: '<S432>/Data Store Write' */
|
||
rtDW.POS_private[i] = 6000U;
|
||
|
||
/* Product: '<S432>/Divide' incorporates:
|
||
* Constant: '<S432>/Constant9'
|
||
* DataStoreRead: '<S432>/Data Store Read'
|
||
* DataStoreWrite: '<S432>/Data Store Write1'
|
||
*/
|
||
rtDW.COM_private[i] = (uint8_t)(rtDW.ErrorCalibration_private[i] * 3U);
|
||
}
|
||
|
||
/* MATLAB Function: '<S432>/Move to position Max' incorporates:
|
||
* DataStoreRead: '<S432>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK Move to position Max - 6000\n'); */
|
||
printf("LIN1 SIMULINK Move to position Max - 6000\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S432>/Move to position Max' */
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Constant: '<S432>/Constant'
|
||
* SignalConversion generated from: '<S432>/step'
|
||
* Sum: '<S432>/step inc'
|
||
*/
|
||
rtB.Merge_l = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S391>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S391>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S433>/Action Port'
|
||
*/
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S433>/stepIn'
|
||
*/
|
||
rtB.Merge_l = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S391>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S391>/If1' */
|
||
/* End of Outputs for SubSystem: '<S381>/Move to position Max' */
|
||
break;
|
||
|
||
case 8:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Check Stall Max' incorporates:
|
||
* ActionPort: '<S386>/Action Port'
|
||
*/
|
||
/* RelationalOperator: '<S386>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* RelationalOperator: '<S386>/Relational Operator'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch0_Status_Model.in_Act_Stall_Slave[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S386>/Relational Operator1' */
|
||
|
||
/* Logic: '<S386>/Logical Operator2' incorporates:
|
||
* RelationalOperator: '<S386>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* RelationalOperator: '<S386>/Relational Operator' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch0_Status_Model.in_CPOS_ALL[i] == 6000);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S386>/Relational Operator' */
|
||
|
||
/* Logic: '<S386>/Logical Operator1' incorporates:
|
||
* RelationalOperator: '<S386>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1_f = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1_f = (rtb_LogicalOperator1_f ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* If: '<S386>/If2' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read1'
|
||
* DataStoreWrite: '<S381>/Data Store Write'
|
||
* DataStoreWrite: '<S381>/Data Store Write1'
|
||
* DataTypeConversion: '<S386>/Data Type Conversion'
|
||
* DataTypeConversion: '<S386>/Data Type Conversion1'
|
||
* Logic: '<S386>/Logical Operator'
|
||
* Logic: '<S386>/Logical Operator1'
|
||
* Logic: '<S386>/Logical Operator2'
|
||
*/
|
||
if ((rtDW.Actuator_Ch0_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch0_Status_Model.Error_Connect == 0) &&
|
||
(rtb_LogicalOperator1 || rtb_LogicalOperator1_f)) {
|
||
/* Outputs for IfAction SubSystem: '<S386>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S396>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S396>/Data Store Write1' */
|
||
for (i = 0; i < 9; i++) {
|
||
rtDW.MinPositionCh0_private[i] =
|
||
rtDW.Actuator_Ch0_Status_Model.in_CPOS_ALL[i];
|
||
}
|
||
|
||
/* End of DataStoreWrite: '<S396>/Data Store Write1' */
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* Constant: '<S396>/Constant'
|
||
* Sum: '<S396>/step inc'
|
||
*/
|
||
rtB.Merge_l = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* MATLAB Function: '<S396>/MIN POSITION' incorporates:
|
||
* DataStoreRead: '<S396>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK Max_position_Ch0 '); */
|
||
printf("LIN1 SIMULINK Max_position_Ch0 ");
|
||
fflush(stdout);
|
||
|
||
/* : for i = 1:numel(step) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : fprintf('%d ', int16(step(i))); */
|
||
printf("%d ", rtDW.Actuator_Ch0_Status_Model.in_CPOS_ALL[i]);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* : fprintf('\n'); */
|
||
printf("\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S396>/MIN POSITION' */
|
||
/* End of Outputs for SubSystem: '<S386>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S386>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S397>/Action Port'
|
||
*/
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S397>/stepIn'
|
||
*/
|
||
rtB.Merge_l = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S386>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S386>/If2' */
|
||
/* End of Outputs for SubSystem: '<S381>/Check Stall Max' */
|
||
break;
|
||
|
||
case 9:
|
||
/* Outputs for IfAction SubSystem: '<S381>/Homing' incorporates:
|
||
* ActionPort: '<S388>/Action Port'
|
||
*/
|
||
/* Product: '<S402>/Divide1' incorporates:
|
||
* Constant: '<S388>/ACT2'
|
||
* Constant: '<S402>/ACT1'
|
||
* DataStoreRead: '<S402>/MIN ACT1T '
|
||
* DataStoreWrite: '<S388>/Data Store Write1'
|
||
* Sum: '<S402>/ACT1T'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_Divide1_ja[i] = (double)(int16_t)(rtConstP.ACT2_Value[i] -
|
||
rtDW.MinPositionCh0_private[i]) / (double)rtConstP.ACT1_Value[i];
|
||
}
|
||
|
||
/* End of Product: '<S402>/Divide1' */
|
||
|
||
/* SwitchCase: '<S388>/Switch Case' incorporates:
|
||
* DataStoreRead: '<S388>/Data Store Read4'
|
||
*/
|
||
switch (rtDW.stepHoming_private) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S388>/Switch Case Action Subsystem' incorporates:
|
||
* ActionPort: '<S405>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* RelationalOperator: '<S410>/Compare' */
|
||
rtb_Divide1 = rtb_Divide1_ja[i];
|
||
|
||
/* Logic: '<S405>/Logical Operator' incorporates:
|
||
* Constant: '<S410>/Constant'
|
||
* Constant: '<S411>/Constant'
|
||
* RelationalOperator: '<S410>/Compare'
|
||
* RelationalOperator: '<S411>/Compare'
|
||
*/
|
||
rtb_LogicalOperator1 = ((rtb_Divide1 >= 0.9) && (rtb_Divide1 <= 1.1));
|
||
rtb_RelationalOperator_htm[i] = rtb_LogicalOperator1;
|
||
|
||
/* DataTypeConversion: '<S412>/Data Type Conversion' incorporates:
|
||
* DataStoreRead: '<S412>/Data Store Read'
|
||
* DataStoreWrite: '<S412>/Data Store Write'
|
||
* Logic: '<S412>/Logical Operator'
|
||
* Logic: '<S412>/Logical Operator1'
|
||
*/
|
||
rtDW.ErrorCalibration_private[i] = (uint8_t)((!rtb_LogicalOperator1) &&
|
||
(rtDW.ErrorCalibration_private[i] != 0));
|
||
}
|
||
|
||
/* Logic: '<S405>/Logical Operator1' */
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 &&
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* Switch: '<S405>/Switch' incorporates:
|
||
* Logic: '<S405>/Logical Operator1'
|
||
*/
|
||
if (rtb_LogicalOperator1) {
|
||
/* Merge: '<S388>/Merge' incorporates:
|
||
* Constant: '<S405>/Constant1'
|
||
*/
|
||
rtB.Merge_h = 4;
|
||
} else {
|
||
/* Merge: '<S388>/Merge' incorporates:
|
||
* Constant: '<S405>/Constant'
|
||
*/
|
||
rtB.Merge_h = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S405>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S388>/Switch Case Action Subsystem' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S388>/Switch Case Action Subsystem1' incorporates:
|
||
* ActionPort: '<S406>/Action Port'
|
||
*/
|
||
/* RelationalOperator: '<S414>/Compare' incorporates:
|
||
* Constant: '<S414>/Constant'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] = (rtb_Divide1_ja[i] > 1.5);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S414>/Compare' */
|
||
|
||
/* Logic: '<S413>/Logical Operator' */
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* DataTypeConversion: '<S413>/Data Type Conversion' incorporates:
|
||
* DataStoreWrite: '<S413>/Data Store Write1'
|
||
* Logic: '<S413>/Logical Operator'
|
||
*/
|
||
rtDW.CCU_ActuatorErrF_Stat_private = rtb_LogicalOperator1;
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataTypeConversion: '<S413>/Data Type Conversion1' incorporates:
|
||
* DataStoreWrite: '<S413>/Data Store Write2'
|
||
*/
|
||
rtDW.COM_private[i] = rtb_RelationalOperator_htm[i];
|
||
|
||
/* DataStoreWrite: '<S413>/Data Store Write' */
|
||
rtDW.MODE_private[i] = 2U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S413>/Write ERROR' incorporates:
|
||
* DataStoreRead: '<S413>/Data Store Read6'
|
||
*/
|
||
/* : if(LOGGER==1) */
|
||
if (rtDW.LOGGER_LIN == 1.0) {
|
||
/* : for i = 1:numel(ErrCallibration) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : if ErrCallibration(i) == 1 */
|
||
if (rtb_RelationalOperator_htm[i]) {
|
||
/* : fprintf('LIN1 Failure with actuator #%d\n', int16(i)); */
|
||
printf("LIN1 Failure with actuator #%d\n", (int16_t)(i + 1));
|
||
fflush(stdout);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S413>/Write ERROR' */
|
||
|
||
/* DataTypeConversion: '<S406>/Data Type Conversion' incorporates:
|
||
* DataStoreRead: '<S406>/Data Store Read'
|
||
* DataStoreWrite: '<S406>/Data Store Write'
|
||
* Logic: '<S406>/Logical Operator'
|
||
* Logic: '<S406>/Logical Operator1'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtDW.ErrorCalibration_private[i] = (uint8_t)
|
||
((!rtb_RelationalOperator_htm[i]) && (rtDW.ErrorCalibration_private[i]
|
||
!= 0));
|
||
}
|
||
|
||
/* End of DataTypeConversion: '<S406>/Data Type Conversion' */
|
||
|
||
/* Merge: '<S388>/Merge' incorporates:
|
||
* Constant: '<S406>/Constant'
|
||
* Constant: '<S406>/Constant2'
|
||
* Sum: '<S406>/step inc'
|
||
*/
|
||
rtB.Merge_h = 2;
|
||
|
||
/* End of Outputs for SubSystem: '<S388>/Switch Case Action Subsystem1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S388>/Switch Case Action Subsystem2' incorporates:
|
||
* ActionPort: '<S407>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* Logic: '<S407>/Logical Operator3' incorporates:
|
||
* Constant: '<S417>/Constant'
|
||
* DataStoreRead: '<S407>/Data Store Read'
|
||
* RelationalOperator: '<S417>/Compare'
|
||
*/
|
||
rtb_LogicalOperator1 = ((rtb_Divide1_ja[i] <= 0.97) &&
|
||
(rtDW.ErrorCalibration_private[i] != 0));
|
||
rtb_RelationalOperator_htm[i] = rtb_LogicalOperator1;
|
||
|
||
/* DataTypeConversion: '<S407>/Data Type Conversion' incorporates:
|
||
* DataStoreWrite: '<S407>/Data Store Write1'
|
||
*/
|
||
rtDW.ErrorCalibration_private[i] = rtb_LogicalOperator1;
|
||
}
|
||
|
||
/* Logic: '<S407>/Logical Operator2' */
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 &&
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* Switch: '<S407>/Switch' incorporates:
|
||
* Logic: '<S407>/Logical Operator2'
|
||
*/
|
||
if (rtb_LogicalOperator1) {
|
||
/* Merge: '<S388>/Merge' incorporates:
|
||
* Constant: '<S407>/Constant3'
|
||
*/
|
||
rtB.Merge_h = 4;
|
||
} else {
|
||
/* Merge: '<S388>/Merge' incorporates:
|
||
* Constant: '<S407>/Constant1'
|
||
*/
|
||
rtB.Merge_h = 3;
|
||
}
|
||
|
||
/* End of Switch: '<S407>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S388>/Switch Case Action Subsystem2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S388>/Switch Case Action Subsystem3' incorporates:
|
||
* ActionPort: '<S408>/Action Port'
|
||
*/
|
||
/* If: '<S408>/If' incorporates:
|
||
* DataStoreRead: '<S408>/Data Store Read1'
|
||
*/
|
||
if (rtDW.ErrorHomming_private < 10.0) {
|
||
/* Outputs for IfAction SubSystem: '<S408>/If Action Subsystem' incorporates:
|
||
* ActionPort: '<S419>/Action Port'
|
||
*/
|
||
/* Logic: '<S419>/AND' incorporates:
|
||
* DataStoreRead: '<S419>/Data Store Read'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.ErrorCalibration_private[0] != 0);
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 &&
|
||
(rtDW.ErrorCalibration_private[i + 1] != 0));
|
||
}
|
||
|
||
rtb_LogicalOperator1 = !rtb_LogicalOperator1;
|
||
|
||
/* End of Logic: '<S419>/AND' */
|
||
|
||
/* If: '<S419>/If' incorporates:
|
||
* DataStoreRead: '<S422>/Data Store Read'
|
||
* Sum: '<S422>/Subtract'
|
||
* UnitDelay: '<S422>/t_start_delay_private '
|
||
*/
|
||
if (rtDW.t_now - rtDW.t_start_delay_private_DSTATE_h > 3000U) {
|
||
/* Outputs for IfAction SubSystem: '<S419>/If Action Subsystem' incorporates:
|
||
* ActionPort: '<S421>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S421>/Data Store Write' incorporates:
|
||
* Constant: '<S421>/Constant'
|
||
*/
|
||
rtDW.stepSig_private = 1;
|
||
|
||
/* DataStoreWrite: '<S421>/Data Store Write1' incorporates:
|
||
* Constant: '<S421>/Constant2'
|
||
* DataStoreRead: '<S421>/Data Store Read1'
|
||
* Sum: '<S421>/step inc'
|
||
*/
|
||
rtDW.ErrorHomming_private++;
|
||
|
||
/* SignalConversion generated from: '<S421>/Out1' */
|
||
rtB.OutportBufferForOut1 = 2;
|
||
|
||
/* End of Outputs for SubSystem: '<S419>/If Action Subsystem' */
|
||
}
|
||
|
||
/* End of If: '<S419>/If' */
|
||
|
||
/* Merge: '<S388>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S419>/Out2'
|
||
*/
|
||
rtB.Merge_h = rtB.OutportBufferForOut1;
|
||
|
||
/* Switch: '<S422>/Switch' incorporates:
|
||
* DataStoreRead: '<S422>/Data Store Read'
|
||
* Logic: '<S422>/Logical Operator3'
|
||
* Logic: '<S422>/Logical Operator4'
|
||
* UnitDelay: '<S422>/Cond_prev_private '
|
||
* UnitDelay: '<S422>/t_start_delay_private '
|
||
*/
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_dq)) {
|
||
rtDW.t_start_delay_private_DSTATE_h = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S422>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S422>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_dq = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S408>/If Action Subsystem' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S408>/If Action Subsystem1' incorporates:
|
||
* ActionPort: '<S420>/Action Port'
|
||
*/
|
||
/* Logic: '<S423>/Logical Operator' incorporates:
|
||
* DataStoreRead: '<S420>/Data Store Read'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.ErrorCalibration_private[0] != 0);
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 ||
|
||
(rtDW.ErrorCalibration_private[i + 1] != 0));
|
||
}
|
||
|
||
/* DataTypeConversion: '<S423>/Data Type Conversion' incorporates:
|
||
* DataStoreWrite: '<S423>/Data Store Write1'
|
||
* Logic: '<S423>/Logical Operator'
|
||
*/
|
||
rtDW.CCU_ActuatorErrF_Stat_private = rtb_LogicalOperator1;
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S423>/Data Store Write2' incorporates:
|
||
* DataStoreRead: '<S420>/Data Store Read'
|
||
*/
|
||
rtDW.COM_private[i] = rtDW.ErrorCalibration_private[i];
|
||
|
||
/* DataStoreWrite: '<S423>/Data Store Write' */
|
||
rtDW.MODE_private[i] = 2U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S423>/Write ERROR' incorporates:
|
||
* DataStoreRead: '<S420>/Data Store Read'
|
||
* DataStoreRead: '<S423>/Data Store Read6'
|
||
*/
|
||
/* : if(LOGGER==1) */
|
||
if (rtDW.LOGGER_LIN == 1.0) {
|
||
/* : for i = 1:numel(ErrCallibration) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : if ErrCallibration(i) == 1 */
|
||
if (rtDW.ErrorCalibration_private[i] == 1) {
|
||
/* : fprintf('LIN1 Failure with actuator #%d\n', int16(i)); */
|
||
printf("LIN1 Failure with actuator #%d\n", (int16_t)(i + 1));
|
||
fflush(stdout);
|
||
}
|
||
}
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S423>/Write ERROR' */
|
||
|
||
/* DataStoreWrite: '<S420>/Data Store Write' */
|
||
for (i = 0; i < 9; i++) {
|
||
rtDW.ErrorCalibration_private[i] = 0U;
|
||
}
|
||
|
||
/* End of DataStoreWrite: '<S420>/Data Store Write' */
|
||
|
||
/* Merge: '<S388>/Merge' incorporates:
|
||
* Constant: '<S420>/Constant'
|
||
* SignalConversion generated from: '<S420>/Output'
|
||
*/
|
||
rtB.Merge_h = 4;
|
||
|
||
/* End of Outputs for SubSystem: '<S408>/If Action Subsystem1' */
|
||
}
|
||
|
||
/* End of If: '<S408>/If' */
|
||
/* End of Outputs for SubSystem: '<S388>/Switch Case Action Subsystem3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S388>/Switch Case Action Subsystem4' incorporates:
|
||
* ActionPort: '<S409>/Action Port'
|
||
*/
|
||
/* Merge: '<S388>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S409>/step'
|
||
*/
|
||
rtB.Merge_h = 0;
|
||
|
||
/* End of Outputs for SubSystem: '<S388>/Switch Case Action Subsystem4' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S388>/Switch Case' */
|
||
|
||
/* DataStoreWrite: '<S388>/Data Store Write2' */
|
||
rtDW.stepHoming_private = rtB.Merge_h;
|
||
|
||
/* Merge: '<S381>/Merge' incorporates:
|
||
* DataStoreRead: '<S388>/Data Store Read7'
|
||
*/
|
||
rtB.Merge_l = rtDW.stepSig_private;
|
||
|
||
/* MATLAB Function: '<S388>/MAX POSITION' incorporates:
|
||
* Constant: '<S388>/ACT2'
|
||
* DataStoreRead: '<S388>/Data Store Read5'
|
||
* DataStoreWrite: '<S388>/Data Store Write1'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK MAX POSITION '); */
|
||
printf("LIN1 SIMULINK MAX POSITION ");
|
||
fflush(stdout);
|
||
|
||
/* : for i = 1:numel(step) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : fprintf('%d ', int16(step(i))); */
|
||
printf("%d ", rtConstP.ACT2_Value[i]);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* : fprintf('\n'); */
|
||
printf("\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S388>/MAX POSITION' */
|
||
|
||
/* MATLAB Function: '<S388>/MIN POSITION' incorporates:
|
||
* DataStoreRead: '<S388>/Data Store Read3'
|
||
* DataStoreRead: '<S388>/Data Store Read6'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 SIMULINK MIN POSITION '); */
|
||
printf("LIN1 SIMULINK MIN POSITION ");
|
||
fflush(stdout);
|
||
|
||
/* : for i = 1:numel(step) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : fprintf('%d ', int16(step(i))); */
|
||
printf("%d ", rtDW.MinPositionCh0_private[i]);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* : fprintf('\n'); */
|
||
printf("\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S388>/MIN POSITION' */
|
||
/* End of Outputs for SubSystem: '<S381>/Homing' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S381>/Switch Case' */
|
||
|
||
/* DataStoreWrite: '<S381>/Finish write stepSig' */
|
||
rtDW.stepSig_private = rtB.Merge_l;
|
||
for (i = 0; i < 9; i++) {
|
||
/* BusCreator: '<S384>/Bus Creator' incorporates:
|
||
* DataStoreRead: '<S384>/Data Store Read'
|
||
* DataStoreRead: '<S384>/Data Store Read1'
|
||
* DataStoreRead: '<S384>/Data Store Read2'
|
||
* DataStoreRead: '<S384>/Data Store Read3'
|
||
* DataStoreRead: '<S384>/Data Store Read4'
|
||
* DataStoreRead: '<S384>/Data Store Read5'
|
||
* DataStoreRead: '<S384>/Data Store Read6'
|
||
* DataStoreRead: '<S384>/Data Store Read7'
|
||
* DataStoreRead: '<S384>/Data Store Read8'
|
||
* DataStoreWrite: '<S384>/Data Store Write'
|
||
*/
|
||
Actuator_Ch0_Command_Model.POS[i] = rtDW.POS_private[i];
|
||
Actuator_Ch0_Command_Model.BUS_ADR[i] = rtDW.BUS_ADR_private[i];
|
||
Actuator_Ch0_Command_Model.MODE[i] = rtDW.MODE_private[i];
|
||
Actuator_Ch0_Command_Model.COM[i] = rtDW.COM_private[i];
|
||
Actuator_Ch0_Command_Model.Stall_SET[i] = rtDW.Stall_private[i];
|
||
Actuator_Ch0_Command_Model.Lnoise_SET[i] = rtDW.Lnoise_private[i];
|
||
Actuator_Ch0_Command_Model.Autos_SET[i] = rtDW.Autos_private[i];
|
||
Actuator_Ch0_Command_Model.Speed_SET[i] = rtDW.Speed_private[i];
|
||
Actuator_Ch0_Command_Model.Coils_Stop_SET[i] = rtDW.Coils_private[i];
|
||
|
||
/* DataStoreWrite: '<S385>/Data Store Write' */
|
||
rtDW.COM_private[i] = 0U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S381>/Write' incorporates:
|
||
* DataStoreRead: '<S381>/Data Store Read3'
|
||
*/
|
||
/* : if(LOGGER == 2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN1 step = %d\n',step); */
|
||
printf("LIN1 step = %d\n", rtb_Switch_hx);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S381>/Write' */
|
||
|
||
/* DataStoreWrite: '<S382>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
*/
|
||
rtb_Gain_l = rtDW.Actuator_Ch1_Status_Model.Busy;
|
||
|
||
/* DataStoreWrite: '<S382>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
*/
|
||
rtb_Gain2 = rtDW.Actuator_Ch1_Status_Model.Error_Connect;
|
||
|
||
/* Switch: '<S382>/Switch' incorporates:
|
||
* Constant: '<S382>/Constant1'
|
||
* DataStoreRead: '<S382>/Data Store Read'
|
||
* DataStoreRead: '<S382>/Data Store Read2'
|
||
*/
|
||
if (rtDW.stepSig_private_c > 0) {
|
||
rtb_Switch_hx = rtDW.stepSig_private_c;
|
||
} else {
|
||
rtb_Switch_hx = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S382>/Switch' */
|
||
|
||
/* SwitchCase: '<S382>/Switch Case' */
|
||
switch (rtb_Switch_hx) {
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S382>/Stop Mode' incorporates:
|
||
* ActionPort: '<S452>/Action Port'
|
||
*/
|
||
StopMode(rtb_Switch_hx, &rtB.Merge_c, &rtb_Gain_l, rtDW.COM_private_h,
|
||
&rtb_Gain2, rtDW.MODE_private_a);
|
||
|
||
/* End of Outputs for SubSystem: '<S382>/Stop Mode' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S382>/Initial CPOS Min' incorporates:
|
||
* ActionPort: '<S448>/Action Port'
|
||
*/
|
||
/* If: '<S448>/If' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* DataStoreWrite: '<S382>/Data Store Write'
|
||
* DataStoreWrite: '<S382>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch1_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch1_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S448>/If Action Subsystem' incorporates:
|
||
* ActionPort: '<S463>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S463>/Data Store Write' */
|
||
rtDW.POS_private_c[i] = 6000U;
|
||
|
||
/* DataStoreWrite: '<S463>/Data Store Write1' */
|
||
rtDW.COM_private_h[i] = 2U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S463>/Initial CPOS Min' incorporates:
|
||
* DataStoreRead: '<S463>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN2 SIMULINK Initial CPOS Min - 6000\n'); */
|
||
printf("LIN2 SIMULINK Initial CPOS Min - 6000\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S463>/Initial CPOS Min' */
|
||
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* Constant: '<S463>/Constant'
|
||
* Merge: '<S448>/Merge'
|
||
* SignalConversion generated from: '<S463>/step'
|
||
* Sum: '<S463>/step inc'
|
||
*/
|
||
rtB.Merge_c = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S448>/If Action Subsystem' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S448>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S464>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* Merge: '<S448>/Merge'
|
||
* SignalConversion generated from: '<S464>/stepIn1'
|
||
*/
|
||
rtB.Merge_c = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S448>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S448>/If' */
|
||
/* End of Outputs for SubSystem: '<S382>/Initial CPOS Min' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S382>/Normal Mode' incorporates:
|
||
* ActionPort: '<S451>/Action Port'
|
||
*/
|
||
/* If: '<S451>/If1' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* DataStoreWrite: '<S382>/Data Store Write'
|
||
* DataStoreWrite: '<S382>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch1_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch1_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S451>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S472>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S472>/Data Store Write' */
|
||
rtDW.MODE_private_a[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S472>/Data Store Write1' */
|
||
rtDW.COM_private_h[i] = 1U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S472>/Normal Mode' incorporates:
|
||
* DataStoreRead: '<S472>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN2 SIMULINK Normal Mode\n'); */
|
||
printf("LIN2 SIMULINK Normal Mode\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S472>/Normal Mode' */
|
||
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* Constant: '<S472>/Constant'
|
||
* SignalConversion generated from: '<S472>/step'
|
||
* Sum: '<S472>/step inc'
|
||
*/
|
||
rtB.Merge_c = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S451>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S451>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S473>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S473>/stepIn'
|
||
*/
|
||
rtB.Merge_c = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S451>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S451>/If1' */
|
||
/* End of Outputs for SubSystem: '<S382>/Normal Mode' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S382>/Move to position Min' incorporates:
|
||
* ActionPort: '<S450>/Action Port'
|
||
*/
|
||
/* If: '<S450>/If1' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* DataStoreWrite: '<S382>/Data Store Write'
|
||
* DataStoreWrite: '<S382>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch1_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch1_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S450>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S469>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S469>/Data Store Write4' incorporates:
|
||
* Constant: '<S469>/Constant1'
|
||
*/
|
||
rtDW.Autos_private_m[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S469>/Data Store Write2' incorporates:
|
||
* Constant: '<S469>/Constant10'
|
||
*/
|
||
rtDW.Stall_private_j[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S469>/Data Store Write3' incorporates:
|
||
* Constant: '<S469>/Constant11'
|
||
*/
|
||
rtDW.Lnoise_private_d[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S469>/Data Store Write6' incorporates:
|
||
* Constant: '<S469>/Constant14'
|
||
*/
|
||
rtDW.Coils_private_n[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S469>/Data Store Write5' incorporates:
|
||
* Constant: '<S469>/Constant2'
|
||
*/
|
||
rtDW.Speed_private_o[i] = 3U;
|
||
|
||
/* DataStoreWrite: '<S469>/Data Store Write' */
|
||
rtDW.POS_private_c[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S469>/Data Store Write1' incorporates:
|
||
* Constant: '<S469>/Constant9'
|
||
*/
|
||
rtDW.COM_private_h[i] = 3U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S469>/Move to position Min' incorporates:
|
||
* DataStoreRead: '<S469>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN2 SIMULINK Move to position Min - 1\n'); */
|
||
printf("LIN2 SIMULINK Move to position Min - 1\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S469>/Move to position Min' */
|
||
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* Constant: '<S469>/Constant'
|
||
* SignalConversion generated from: '<S469>/step'
|
||
* Sum: '<S469>/step inc'
|
||
*/
|
||
rtB.Merge_c = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S450>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S450>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S470>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S470>/stepIn'
|
||
*/
|
||
rtB.Merge_c = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S450>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S450>/If1' */
|
||
/* End of Outputs for SubSystem: '<S382>/Move to position Min' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S382>/Check Stall Min' incorporates:
|
||
* ActionPort: '<S446>/Action Port'
|
||
*/
|
||
/* RelationalOperator: '<S446>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* RelationalOperator: '<S446>/Relational Operator'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch1_Status_Model.in_Act_Stall_Slave[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S446>/Relational Operator1' */
|
||
|
||
/* Logic: '<S446>/Logical Operator2' incorporates:
|
||
* RelationalOperator: '<S446>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* RelationalOperator: '<S446>/Relational Operator' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch1_Status_Model.in_CPOS_ALL[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S446>/Relational Operator' */
|
||
|
||
/* Logic: '<S446>/Logical Operator1' incorporates:
|
||
* RelationalOperator: '<S446>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1_f = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1_f = (rtb_LogicalOperator1_f ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* If: '<S446>/If2' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* DataStoreWrite: '<S382>/Data Store Write'
|
||
* DataStoreWrite: '<S382>/Data Store Write1'
|
||
* DataTypeConversion: '<S446>/Data Type Conversion'
|
||
* DataTypeConversion: '<S446>/Data Type Conversion1'
|
||
* Logic: '<S446>/Logical Operator'
|
||
* Logic: '<S446>/Logical Operator1'
|
||
* Logic: '<S446>/Logical Operator2'
|
||
*/
|
||
if ((rtDW.Actuator_Ch1_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch1_Status_Model.Error_Connect == 0) &&
|
||
(rtb_LogicalOperator1 || rtb_LogicalOperator1_f)) {
|
||
/* Outputs for IfAction SubSystem: '<S446>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S457>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* Constant: '<S457>/Constant'
|
||
* Sum: '<S457>/step inc'
|
||
*/
|
||
rtB.Merge_c = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* MATLAB Function: '<S457>/MIN POSITION' incorporates:
|
||
* DataStoreRead: '<S457>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN2 SIMULINK Min_position_Ch0 '); */
|
||
printf("LIN2 SIMULINK Min_position_Ch0 ");
|
||
fflush(stdout);
|
||
|
||
/* : for i = 1:numel(step) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : fprintf('%d ', int16(step(i))); */
|
||
printf("%d ", rtDW.Actuator_Ch1_Status_Model.in_CPOS_ALL[i]);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* : fprintf('\n'); */
|
||
printf("\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S457>/MIN POSITION' */
|
||
/* End of Outputs for SubSystem: '<S446>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S446>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S458>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S458>/stepIn'
|
||
*/
|
||
rtB.Merge_c = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S446>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S446>/If2' */
|
||
/* End of Outputs for SubSystem: '<S382>/Check Stall Min' */
|
||
break;
|
||
|
||
case 6:
|
||
/* Outputs for IfAction SubSystem: '<S382>/Initial CPOS Max' incorporates:
|
||
* ActionPort: '<S447>/Action Port'
|
||
*/
|
||
/* If: '<S447>/If1' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* DataStoreWrite: '<S382>/Data Store Write'
|
||
* DataStoreWrite: '<S382>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch1_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch1_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S447>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S460>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S460>/Data Store Write1' */
|
||
rtDW.COM_private_h[i] = 2U;
|
||
|
||
/* DataStoreWrite: '<S460>/Data Store Write' */
|
||
rtDW.POS_private_c[i] = 1U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S460>/Initial CPOS Max' incorporates:
|
||
* DataStoreRead: '<S460>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN2 SIMULINK Initial CPOS Max - 1\n'); */
|
||
printf("LIN2 SIMULINK Initial CPOS Max - 1\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S460>/Initial CPOS Max' */
|
||
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* Constant: '<S460>/Constant'
|
||
* SignalConversion generated from: '<S460>/step'
|
||
* Sum: '<S460>/step inc'
|
||
*/
|
||
rtB.Merge_c = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S447>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S447>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S461>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S461>/stepIn'
|
||
*/
|
||
rtB.Merge_c = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S447>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S447>/If1' */
|
||
/* End of Outputs for SubSystem: '<S382>/Initial CPOS Max' */
|
||
break;
|
||
|
||
case 7:
|
||
/* Outputs for IfAction SubSystem: '<S382>/Move to position Max' incorporates:
|
||
* ActionPort: '<S449>/Action Port'
|
||
*/
|
||
/* If: '<S449>/If1' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* DataStoreWrite: '<S382>/Data Store Write'
|
||
* DataStoreWrite: '<S382>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch1_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch1_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S449>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S466>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S466>/Data Store Write4' incorporates:
|
||
* Constant: '<S466>/Constant1'
|
||
*/
|
||
rtDW.Autos_private_m[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S466>/Data Store Write2' incorporates:
|
||
* Constant: '<S466>/Constant10'
|
||
*/
|
||
rtDW.Stall_private_j[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S466>/Data Store Write3' incorporates:
|
||
* Constant: '<S466>/Constant11'
|
||
*/
|
||
rtDW.Lnoise_private_d[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S466>/Data Store Write6' incorporates:
|
||
* Constant: '<S466>/Constant14'
|
||
*/
|
||
rtDW.Coils_private_n[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S466>/Data Store Write5' incorporates:
|
||
* Constant: '<S466>/Constant2'
|
||
*/
|
||
rtDW.Speed_private_o[i] = 3U;
|
||
|
||
/* DataStoreWrite: '<S466>/Data Store Write' */
|
||
rtDW.POS_private_c[i] = 6000U;
|
||
|
||
/* DataStoreWrite: '<S466>/Data Store Write1' incorporates:
|
||
* Constant: '<S466>/Constant9'
|
||
*/
|
||
rtDW.COM_private_h[i] = 3U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S466>/Move to position Max' incorporates:
|
||
* DataStoreRead: '<S466>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN2 SIMULINK Move to position Max - 6000\n'); */
|
||
printf("LIN2 SIMULINK Move to position Max - 6000\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S466>/Move to position Max' */
|
||
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* Constant: '<S466>/Constant'
|
||
* SignalConversion generated from: '<S466>/step'
|
||
* Sum: '<S466>/step inc'
|
||
*/
|
||
rtB.Merge_c = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S449>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S449>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S467>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S467>/stepIn'
|
||
*/
|
||
rtB.Merge_c = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S449>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S449>/If1' */
|
||
/* End of Outputs for SubSystem: '<S382>/Move to position Max' */
|
||
break;
|
||
|
||
case 8:
|
||
/* Outputs for IfAction SubSystem: '<S382>/Check Stall Max' incorporates:
|
||
* ActionPort: '<S445>/Action Port'
|
||
*/
|
||
/* RelationalOperator: '<S445>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* RelationalOperator: '<S445>/Relational Operator'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch1_Status_Model.in_Act_Stall_Slave[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S445>/Relational Operator1' */
|
||
|
||
/* Logic: '<S445>/Logical Operator2' incorporates:
|
||
* RelationalOperator: '<S445>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* RelationalOperator: '<S445>/Relational Operator' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch1_Status_Model.in_CPOS_ALL[i] == 6000);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S445>/Relational Operator' */
|
||
|
||
/* Logic: '<S445>/Logical Operator1' incorporates:
|
||
* RelationalOperator: '<S445>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1_f = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1_f = (rtb_LogicalOperator1_f ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* If: '<S445>/If2' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read1'
|
||
* DataStoreWrite: '<S382>/Data Store Write'
|
||
* DataStoreWrite: '<S382>/Data Store Write1'
|
||
* DataTypeConversion: '<S445>/Data Type Conversion'
|
||
* DataTypeConversion: '<S445>/Data Type Conversion1'
|
||
* Logic: '<S445>/Logical Operator'
|
||
* Logic: '<S445>/Logical Operator1'
|
||
* Logic: '<S445>/Logical Operator2'
|
||
*/
|
||
if ((rtDW.Actuator_Ch1_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch1_Status_Model.Error_Connect == 0) &&
|
||
(rtb_LogicalOperator1 || rtb_LogicalOperator1_f)) {
|
||
/* Outputs for IfAction SubSystem: '<S445>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S454>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* Constant: '<S454>/Constant'
|
||
* Sum: '<S454>/step inc'
|
||
*/
|
||
rtB.Merge_c = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* MATLAB Function: '<S454>/MIN POSITION' incorporates:
|
||
* DataStoreRead: '<S454>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN2 SIMULINK Max_position_Ch0 '); */
|
||
printf("LIN2 SIMULINK Max_position_Ch0 ");
|
||
fflush(stdout);
|
||
|
||
/* : for i = 1:numel(step) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : fprintf('%d ', int16(step(i))); */
|
||
printf("%d ", rtDW.Actuator_Ch1_Status_Model.in_CPOS_ALL[i]);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* : fprintf('\n'); */
|
||
printf("\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S454>/MIN POSITION' */
|
||
/* End of Outputs for SubSystem: '<S445>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S445>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S455>/Action Port'
|
||
*/
|
||
/* Merge: '<S382>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S455>/stepIn'
|
||
*/
|
||
rtB.Merge_c = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S445>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S445>/If2' */
|
||
/* End of Outputs for SubSystem: '<S382>/Check Stall Max' */
|
||
break;
|
||
|
||
case 9:
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S382>/Switch Case' */
|
||
|
||
/* DataStoreWrite: '<S382>/Finish write stepSig' */
|
||
rtDW.stepSig_private_c = rtB.Merge_c;
|
||
for (i = 0; i < 9; i++) {
|
||
/* BusCreator: '<S443>/Bus Creator' incorporates:
|
||
* DataStoreRead: '<S443>/Data Store Read'
|
||
* DataStoreRead: '<S443>/Data Store Read1'
|
||
* DataStoreRead: '<S443>/Data Store Read2'
|
||
* DataStoreRead: '<S443>/Data Store Read3'
|
||
* DataStoreRead: '<S443>/Data Store Read4'
|
||
* DataStoreRead: '<S443>/Data Store Read5'
|
||
* DataStoreRead: '<S443>/Data Store Read6'
|
||
* DataStoreRead: '<S443>/Data Store Read7'
|
||
* DataStoreRead: '<S443>/Data Store Read8'
|
||
* DataStoreWrite: '<S443>/Data Store Write'
|
||
*/
|
||
Actuator_Ch1_Command_Model.POS[i] = rtDW.POS_private_c[i];
|
||
Actuator_Ch1_Command_Model.BUS_ADR[i] = rtDW.BUS_ADR_private_p[i];
|
||
Actuator_Ch1_Command_Model.MODE[i] = rtDW.MODE_private_a[i];
|
||
Actuator_Ch1_Command_Model.COM[i] = rtDW.COM_private_h[i];
|
||
Actuator_Ch1_Command_Model.Stall_SET[i] = rtDW.Stall_private_j[i];
|
||
Actuator_Ch1_Command_Model.Lnoise_SET[i] = rtDW.Lnoise_private_d[i];
|
||
Actuator_Ch1_Command_Model.Autos_SET[i] = rtDW.Autos_private_m[i];
|
||
Actuator_Ch1_Command_Model.Speed_SET[i] = rtDW.Speed_private_o[i];
|
||
Actuator_Ch1_Command_Model.Coils_Stop_SET[i] = rtDW.Coils_private_n[i];
|
||
|
||
/* DataStoreWrite: '<S444>/Data Store Write' */
|
||
rtDW.COM_private_h[i] = 0U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S382>/Write Ignition' incorporates:
|
||
* DataStoreRead: '<S382>/Data Store Read3'
|
||
*/
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN2 step = %d\n',step); */
|
||
printf("LIN2 step = %d\n", rtb_Switch_hx);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S382>/Write Ignition' */
|
||
|
||
/* DataStoreWrite: '<S383>/Data Store Write' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
*/
|
||
rtb_Gain_l = rtDW.Actuator_Ch2_Status_Model.Busy;
|
||
|
||
/* DataStoreWrite: '<S383>/Data Store Write1' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
*/
|
||
rtb_Gain2 = rtDW.Actuator_Ch2_Status_Model.Error_Connect;
|
||
|
||
/* Switch: '<S383>/Switch' incorporates:
|
||
* Constant: '<S383>/Constant1'
|
||
* DataStoreRead: '<S383>/Data Store Read'
|
||
* DataStoreRead: '<S383>/Data Store Read2'
|
||
*/
|
||
if (rtDW.stepSig_private_p > 0) {
|
||
rtb_Switch_hx = rtDW.stepSig_private_p;
|
||
} else {
|
||
rtb_Switch_hx = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S383>/Switch' */
|
||
|
||
/* SwitchCase: '<S383>/Switch Case' */
|
||
switch (rtb_Switch_hx) {
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S383>/Stop Mode' incorporates:
|
||
* ActionPort: '<S486>/Action Port'
|
||
*/
|
||
StopMode(rtb_Switch_hx, &rtB.Merge_cs, &rtb_Gain_l, rtDW.COM_private_j,
|
||
&rtb_Gain2, rtDW.MODE_private_an);
|
||
|
||
/* End of Outputs for SubSystem: '<S383>/Stop Mode' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S383>/Initial CPOS Min' incorporates:
|
||
* ActionPort: '<S482>/Action Port'
|
||
*/
|
||
/* If: '<S482>/If' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreWrite: '<S383>/Data Store Write'
|
||
* DataStoreWrite: '<S383>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch2_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch2_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S482>/If Action Subsystem' incorporates:
|
||
* ActionPort: '<S497>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S497>/Data Store Write' */
|
||
rtDW.POS_private_a[i] = 6000U;
|
||
|
||
/* DataStoreWrite: '<S497>/Data Store Write1' */
|
||
rtDW.COM_private_j[i] = 2U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S497>/Initial CPOS Min' incorporates:
|
||
* DataStoreRead: '<S497>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN3 SIMULINK Initial CPOS Min - 6000\n'); */
|
||
printf("LIN3 SIMULINK Initial CPOS Min - 6000\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S497>/Initial CPOS Min' */
|
||
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* Constant: '<S497>/Constant'
|
||
* Merge: '<S482>/Merge'
|
||
* SignalConversion generated from: '<S497>/step'
|
||
* Sum: '<S497>/step inc'
|
||
*/
|
||
rtB.Merge_cs = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S482>/If Action Subsystem' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S482>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S498>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* Merge: '<S482>/Merge'
|
||
* SignalConversion generated from: '<S498>/stepIn1'
|
||
*/
|
||
rtB.Merge_cs = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S482>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S482>/If' */
|
||
/* End of Outputs for SubSystem: '<S383>/Initial CPOS Min' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S383>/Normal Mode' incorporates:
|
||
* ActionPort: '<S485>/Action Port'
|
||
*/
|
||
/* MATLAB Function: '<S485>/Write Ignition' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreRead: '<S485>/Data Store Read3'
|
||
* DataStoreWrite: '<S383>/Data Store Write'
|
||
*/
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('Busy_private = %u\n',step); */
|
||
printf("Busy_private = %u\n", rtDW.Actuator_Ch2_Status_Model.Busy);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S485>/Write Ignition' */
|
||
|
||
/* MATLAB Function: '<S485>/Write Ignition1' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreWrite: '<S383>/Data Store Write1'
|
||
*/
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.Actuator_Ch2_Status_Model.Error_Connect == 2) {
|
||
/* : fprintf('Error_Connect_private = %u\n',step); */
|
||
printf("Error_Connect_private = %u\n",
|
||
rtDW.Actuator_Ch2_Status_Model.Error_Connect);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S485>/Write Ignition1' */
|
||
|
||
/* If: '<S485>/If1' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreWrite: '<S383>/Data Store Write'
|
||
* DataStoreWrite: '<S383>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch2_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch2_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S485>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S506>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S506>/Data Store Write' */
|
||
rtDW.MODE_private_an[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S506>/Data Store Write1' */
|
||
rtDW.COM_private_j[i] = 1U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S506>/Normal Mode' incorporates:
|
||
* DataStoreRead: '<S506>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN3 SIMULINK Normal Mode\n'); */
|
||
printf("LIN3 SIMULINK Normal Mode\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S506>/Normal Mode' */
|
||
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* Constant: '<S506>/Constant'
|
||
* SignalConversion generated from: '<S506>/step'
|
||
* Sum: '<S506>/step inc'
|
||
*/
|
||
rtB.Merge_cs = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S485>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S485>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S507>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S507>/stepIn'
|
||
*/
|
||
rtB.Merge_cs = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S485>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S485>/If1' */
|
||
/* End of Outputs for SubSystem: '<S383>/Normal Mode' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S383>/Move to position Min' incorporates:
|
||
* ActionPort: '<S484>/Action Port'
|
||
*/
|
||
/* If: '<S484>/If1' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreWrite: '<S383>/Data Store Write'
|
||
* DataStoreWrite: '<S383>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch2_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch2_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S484>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S503>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S503>/Data Store Write4' incorporates:
|
||
* Constant: '<S503>/Constant1'
|
||
*/
|
||
rtDW.Autos_private_j[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S503>/Data Store Write2' incorporates:
|
||
* Constant: '<S503>/Constant10'
|
||
*/
|
||
rtDW.Stall_private_n[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S503>/Data Store Write3' incorporates:
|
||
* Constant: '<S503>/Constant11'
|
||
*/
|
||
rtDW.Lnoise_private_j[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S503>/Data Store Write6' incorporates:
|
||
* Constant: '<S503>/Constant14'
|
||
*/
|
||
rtDW.Coils_private_f[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S503>/Data Store Write5' incorporates:
|
||
* Constant: '<S503>/Constant2'
|
||
*/
|
||
rtDW.Speed_private_e[i] = 3U;
|
||
|
||
/* DataStoreWrite: '<S503>/Data Store Write' */
|
||
rtDW.POS_private_a[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S503>/Data Store Write1' incorporates:
|
||
* Constant: '<S503>/Constant9'
|
||
*/
|
||
rtDW.COM_private_j[i] = 3U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S503>/Move to position Min' incorporates:
|
||
* DataStoreRead: '<S503>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN3 SIMULINK Move to position Min - 1\n'); */
|
||
printf("LIN3 SIMULINK Move to position Min - 1\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S503>/Move to position Min' */
|
||
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* Constant: '<S503>/Constant'
|
||
* SignalConversion generated from: '<S503>/step'
|
||
* Sum: '<S503>/step inc'
|
||
*/
|
||
rtB.Merge_cs = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S484>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S484>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S504>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S504>/stepIn'
|
||
*/
|
||
rtB.Merge_cs = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S484>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S484>/If1' */
|
||
/* End of Outputs for SubSystem: '<S383>/Move to position Min' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S383>/Check Stall Min' incorporates:
|
||
* ActionPort: '<S480>/Action Port'
|
||
*/
|
||
/* RelationalOperator: '<S480>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* RelationalOperator: '<S480>/Relational Operator'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch2_Status_Model.in_Act_Stall_Slave[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S480>/Relational Operator1' */
|
||
|
||
/* Logic: '<S480>/Logical Operator2' incorporates:
|
||
* RelationalOperator: '<S480>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* RelationalOperator: '<S480>/Relational Operator' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch2_Status_Model.in_CPOS_ALL[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S480>/Relational Operator' */
|
||
|
||
/* Logic: '<S480>/Logical Operator1' incorporates:
|
||
* RelationalOperator: '<S480>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1_f = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1_f = (rtb_LogicalOperator1_f ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* If: '<S480>/If2' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreWrite: '<S383>/Data Store Write'
|
||
* DataStoreWrite: '<S383>/Data Store Write1'
|
||
* DataTypeConversion: '<S480>/Data Type Conversion'
|
||
* DataTypeConversion: '<S480>/Data Type Conversion1'
|
||
* Logic: '<S480>/Logical Operator'
|
||
* Logic: '<S480>/Logical Operator1'
|
||
* Logic: '<S480>/Logical Operator2'
|
||
*/
|
||
if ((rtDW.Actuator_Ch2_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch2_Status_Model.Error_Connect == 0) &&
|
||
(rtb_LogicalOperator1 || rtb_LogicalOperator1_f)) {
|
||
/* Outputs for IfAction SubSystem: '<S480>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S491>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* Constant: '<S491>/Constant'
|
||
* Sum: '<S491>/step inc'
|
||
*/
|
||
rtB.Merge_cs = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* MATLAB Function: '<S491>/MIN POSITION' incorporates:
|
||
* DataStoreRead: '<S491>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN3 SIMULINK Min_position_Ch0 '); */
|
||
printf("LIN3 SIMULINK Min_position_Ch0 ");
|
||
fflush(stdout);
|
||
|
||
/* : for i = 1:numel(step) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : fprintf('%d ', int16(step(i))); */
|
||
printf("%d ", rtDW.Actuator_Ch2_Status_Model.in_CPOS_ALL[i]);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* : fprintf('\n'); */
|
||
printf("\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S491>/MIN POSITION' */
|
||
/* End of Outputs for SubSystem: '<S480>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S480>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S492>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S492>/stepIn'
|
||
*/
|
||
rtB.Merge_cs = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S480>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S480>/If2' */
|
||
/* End of Outputs for SubSystem: '<S383>/Check Stall Min' */
|
||
break;
|
||
|
||
case 6:
|
||
/* Outputs for IfAction SubSystem: '<S383>/Initial CPOS Max' incorporates:
|
||
* ActionPort: '<S481>/Action Port'
|
||
*/
|
||
/* If: '<S481>/If1' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreWrite: '<S383>/Data Store Write'
|
||
* DataStoreWrite: '<S383>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch2_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch2_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S481>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S494>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S494>/Data Store Write1' */
|
||
rtDW.COM_private_j[i] = 2U;
|
||
|
||
/* DataStoreWrite: '<S494>/Data Store Write' */
|
||
rtDW.POS_private_a[i] = 1U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S494>/Initial CPOS Max' incorporates:
|
||
* DataStoreRead: '<S494>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN3 SIMULINK Initial CPOS Max - 1\n'); */
|
||
printf("LIN3 SIMULINK Initial CPOS Max - 1\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S494>/Initial CPOS Max' */
|
||
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* Constant: '<S494>/Constant'
|
||
* SignalConversion generated from: '<S494>/step'
|
||
* Sum: '<S494>/step inc'
|
||
*/
|
||
rtB.Merge_cs = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S481>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S481>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S495>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S495>/stepIn'
|
||
*/
|
||
rtB.Merge_cs = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S481>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S481>/If1' */
|
||
/* End of Outputs for SubSystem: '<S383>/Initial CPOS Max' */
|
||
break;
|
||
|
||
case 7:
|
||
/* Outputs for IfAction SubSystem: '<S383>/Move to position Max' incorporates:
|
||
* ActionPort: '<S483>/Action Port'
|
||
*/
|
||
/* If: '<S483>/If1' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreWrite: '<S383>/Data Store Write'
|
||
* DataStoreWrite: '<S383>/Data Store Write1'
|
||
*/
|
||
if ((rtDW.Actuator_Ch2_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch2_Status_Model.Error_Connect == 0)) {
|
||
/* Outputs for IfAction SubSystem: '<S483>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S500>/Action Port'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
/* DataStoreWrite: '<S500>/Data Store Write4' incorporates:
|
||
* Constant: '<S500>/Constant1'
|
||
*/
|
||
rtDW.Autos_private_j[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S500>/Data Store Write2' incorporates:
|
||
* Constant: '<S500>/Constant10'
|
||
*/
|
||
rtDW.Stall_private_n[i] = 1U;
|
||
|
||
/* DataStoreWrite: '<S500>/Data Store Write3' incorporates:
|
||
* Constant: '<S500>/Constant11'
|
||
*/
|
||
rtDW.Lnoise_private_j[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S500>/Data Store Write6' incorporates:
|
||
* Constant: '<S500>/Constant14'
|
||
*/
|
||
rtDW.Coils_private_f[i] = 0U;
|
||
|
||
/* DataStoreWrite: '<S500>/Data Store Write5' incorporates:
|
||
* Constant: '<S500>/Constant2'
|
||
*/
|
||
rtDW.Speed_private_e[i] = 3U;
|
||
|
||
/* DataStoreWrite: '<S500>/Data Store Write' */
|
||
rtDW.POS_private_a[i] = 6000U;
|
||
|
||
/* DataStoreWrite: '<S500>/Data Store Write1' incorporates:
|
||
* Constant: '<S500>/Constant9'
|
||
*/
|
||
rtDW.COM_private_j[i] = 3U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S500>/Move to position Max' incorporates:
|
||
* DataStoreRead: '<S500>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN3 SIMULINK Move to position Max - 6000\n'); */
|
||
printf("LIN3 SIMULINK Move to position Max - 6000\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S500>/Move to position Max' */
|
||
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* Constant: '<S500>/Constant'
|
||
* SignalConversion generated from: '<S500>/step'
|
||
* Sum: '<S500>/step inc'
|
||
*/
|
||
rtB.Merge_cs = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* End of Outputs for SubSystem: '<S483>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S483>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S501>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S501>/stepIn'
|
||
*/
|
||
rtB.Merge_cs = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S483>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S483>/If1' */
|
||
/* End of Outputs for SubSystem: '<S383>/Move to position Max' */
|
||
break;
|
||
|
||
case 8:
|
||
/* Outputs for IfAction SubSystem: '<S383>/Check Stall Max' incorporates:
|
||
* ActionPort: '<S479>/Action Port'
|
||
*/
|
||
/* RelationalOperator: '<S479>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* RelationalOperator: '<S479>/Relational Operator'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch2_Status_Model.in_Act_Stall_Slave[i] == 1);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S479>/Relational Operator1' */
|
||
|
||
/* Logic: '<S479>/Logical Operator2' incorporates:
|
||
* RelationalOperator: '<S479>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1 = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1 = (rtb_LogicalOperator1 ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* RelationalOperator: '<S479>/Relational Operator' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
*/
|
||
for (i = 0; i < 9; i++) {
|
||
rtb_RelationalOperator_htm[i] =
|
||
(rtDW.Actuator_Ch2_Status_Model.in_CPOS_ALL[i] == 6000);
|
||
}
|
||
|
||
/* End of RelationalOperator: '<S479>/Relational Operator' */
|
||
|
||
/* Logic: '<S479>/Logical Operator1' incorporates:
|
||
* RelationalOperator: '<S479>/Relational Operator'
|
||
*/
|
||
rtb_LogicalOperator1_f = rtb_RelationalOperator_htm[0];
|
||
for (i = 0; i < 8; i++) {
|
||
rtb_LogicalOperator1_f = (rtb_LogicalOperator1_f ||
|
||
rtb_RelationalOperator_htm[i + 1]);
|
||
}
|
||
|
||
/* If: '<S479>/If2' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read1'
|
||
* DataStoreWrite: '<S383>/Data Store Write'
|
||
* DataStoreWrite: '<S383>/Data Store Write1'
|
||
* DataTypeConversion: '<S479>/Data Type Conversion'
|
||
* DataTypeConversion: '<S479>/Data Type Conversion1'
|
||
* Logic: '<S479>/Logical Operator'
|
||
* Logic: '<S479>/Logical Operator1'
|
||
* Logic: '<S479>/Logical Operator2'
|
||
*/
|
||
if ((rtDW.Actuator_Ch2_Status_Model.Busy == 0) &&
|
||
(rtDW.Actuator_Ch2_Status_Model.Error_Connect == 0) &&
|
||
(rtb_LogicalOperator1 || rtb_LogicalOperator1_f)) {
|
||
/* Outputs for IfAction SubSystem: '<S479>/If Action Subsystem2' incorporates:
|
||
* ActionPort: '<S488>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* Constant: '<S488>/Constant'
|
||
* Sum: '<S488>/step inc'
|
||
*/
|
||
rtB.Merge_cs = (int8_t)(rtb_Switch_hx + 1);
|
||
|
||
/* MATLAB Function: '<S488>/MIN POSITION' incorporates:
|
||
* DataStoreRead: '<S488>/Data Store Read3'
|
||
*/
|
||
/* : y = step; */
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN3 SIMULINK Max_position_Ch0 '); */
|
||
printf("LIN3 SIMULINK Max_position_Ch0 ");
|
||
fflush(stdout);
|
||
|
||
/* : for i = 1:numel(step) */
|
||
for (i = 0; i < 9; i++) {
|
||
/* : fprintf('%d ', int16(step(i))); */
|
||
printf("%d ", rtDW.Actuator_Ch2_Status_Model.in_CPOS_ALL[i]);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* : fprintf('\n'); */
|
||
printf("\n");
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S488>/MIN POSITION' */
|
||
/* End of Outputs for SubSystem: '<S479>/If Action Subsystem2' */
|
||
} else {
|
||
/* Outputs for IfAction SubSystem: '<S479>/If Action Subsystem3' incorporates:
|
||
* ActionPort: '<S489>/Action Port'
|
||
*/
|
||
/* Merge: '<S383>/Merge' incorporates:
|
||
* SignalConversion generated from: '<S489>/stepIn'
|
||
*/
|
||
rtB.Merge_cs = rtb_Switch_hx;
|
||
|
||
/* End of Outputs for SubSystem: '<S479>/If Action Subsystem3' */
|
||
}
|
||
|
||
/* End of If: '<S479>/If2' */
|
||
/* End of Outputs for SubSystem: '<S383>/Check Stall Max' */
|
||
break;
|
||
|
||
case 9:
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S383>/Switch Case' */
|
||
|
||
/* Outport: '<Root>/Out1' incorporates:
|
||
* DataStoreRead: '<Root>/Data Store Read10'
|
||
*/
|
||
rtY.Out1 = CCU_Errors_Model;
|
||
|
||
/* DataStoreWrite: '<S383>/Finish write stepSig' */
|
||
rtDW.stepSig_private_p = rtB.Merge_cs;
|
||
for (i = 0; i < 9; i++) {
|
||
/* BusCreator: '<S477>/Bus Creator' incorporates:
|
||
* DataStoreRead: '<S477>/Data Store Read'
|
||
* DataStoreRead: '<S477>/Data Store Read1'
|
||
* DataStoreRead: '<S477>/Data Store Read2'
|
||
* DataStoreRead: '<S477>/Data Store Read3'
|
||
* DataStoreRead: '<S477>/Data Store Read4'
|
||
* DataStoreRead: '<S477>/Data Store Read5'
|
||
* DataStoreRead: '<S477>/Data Store Read6'
|
||
* DataStoreRead: '<S477>/Data Store Read7'
|
||
* DataStoreRead: '<S477>/Data Store Read8'
|
||
* DataStoreWrite: '<S477>/Data Store Write'
|
||
*/
|
||
Actuator_Ch2_Command_Model.POS[i] = rtDW.POS_private_a[i];
|
||
Actuator_Ch2_Command_Model.BUS_ADR[i] = rtDW.BUS_ADR_private_f[i];
|
||
Actuator_Ch2_Command_Model.MODE[i] = rtDW.MODE_private_an[i];
|
||
Actuator_Ch2_Command_Model.COM[i] = rtDW.COM_private_j[i];
|
||
Actuator_Ch2_Command_Model.Stall_SET[i] = rtDW.Stall_private_n[i];
|
||
Actuator_Ch2_Command_Model.Lnoise_SET[i] = rtDW.Lnoise_private_j[i];
|
||
Actuator_Ch2_Command_Model.Autos_SET[i] = rtDW.Autos_private_j[i];
|
||
Actuator_Ch2_Command_Model.Speed_SET[i] = rtDW.Speed_private_e[i];
|
||
Actuator_Ch2_Command_Model.Coils_Stop_SET[i] = rtDW.Coils_private_f[i];
|
||
|
||
/* DataStoreWrite: '<S478>/Data Store Write' */
|
||
rtDW.COM_private_j[i] = 0U;
|
||
}
|
||
|
||
/* MATLAB Function: '<S383>/Write Ignition' incorporates:
|
||
* DataStoreRead: '<S383>/Data Store Read3'
|
||
*/
|
||
/* : if(LOGGER==2) */
|
||
if (rtDW.LOGGER_LIN == 2.0) {
|
||
/* : fprintf('LIN3 step = %d\n',step); */
|
||
printf("LIN3 step = %d\n", rtb_Switch_hx);
|
||
fflush(stdout);
|
||
}
|
||
|
||
/* End of MATLAB Function: '<S383>/Write Ignition' */
|
||
|
||
/* DataStoreWrite: '<S4>/Data Store Write' incorporates:
|
||
* Constant: '<S4>/Constant'
|
||
*/
|
||
rtDW.LOGGER_LIN = 2.0;
|
||
|
||
/* If: '<S6>/<2F><><EFBFBD><EFBFBD> SC front <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' incorporates:
|
||
* DataStoreRead: '<S6>/Data Store Read1'
|
||
*/
|
||
if (rtDW.start_control_finished_front == 0) {
|
||
/* Outputs for IfAction SubSystem: '<S6>/Start Control Front' incorporates:
|
||
* ActionPort: '<S517>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S517>/Switch Case' incorporates:
|
||
* DataStoreRead: '<S517>/Data Store Read'
|
||
*/
|
||
switch (rtDW.step_start_controle_front) {
|
||
case -1:
|
||
/* Outputs for IfAction SubSystem: '<S517>/Step -1 F' incorporates:
|
||
* ActionPort: '<S519>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S519>/Switch Case' incorporates:
|
||
* DataStoreWrite: '<S8>/Data Store Write'
|
||
*/
|
||
switch (rtB.Merge_b) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S519>/Level 0' incorporates:
|
||
* ActionPort: '<S524>/Action Port'
|
||
*/
|
||
/* MATLAB Function: '<S524>/g_assSTART_ENTER_INCAR' */
|
||
g_assSTART_ENTER_INCAR_a(rtB.Merge_b, &AMB);
|
||
|
||
/* MATLAB Function: '<S524>/g_ausSTART_ENTER_SETTEMP' */
|
||
/* : out = g_ausSTART_ENTER_SETTEMP(LVL+1); */
|
||
i = (int32_t)(rtB.Merge_b + 1U);
|
||
if (rtB.Merge_b + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* Switch: '<S524>/Switch' incorporates:
|
||
* Constant: '<S524>/AUTO'
|
||
* DataStoreRead: '<S524>/Data Store Read'
|
||
* DataStoreRead: '<S524>/Data Store Read1'
|
||
* DataStoreRead: '<S524>/Data Store Read2'
|
||
* Logic: '<S524>/AND'
|
||
* MATLAB Function: '<S524>/g_ausSTART_ENTER_SETTEMP'
|
||
* RelationalOperator: '<S524>/Relational Operator'
|
||
* RelationalOperator: '<S524>/Relational Operator1'
|
||
* RelationalOperator: '<S524>/Relational Operator2'
|
||
*/
|
||
if ((Incar_FL > AMB) && (rtDW.MODE_DRIVER == 1.0) && (rtDW.SET_FL <
|
||
g_ausSTART_ENTER_SETTEMP[i - 1])) {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S524>/Constant1'
|
||
* SignalConversion generated from: '<S524>/step'
|
||
*/
|
||
rtB.Merge_i = 0;
|
||
} else {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S524>/Constant'
|
||
* SignalConversion generated from: '<S524>/step'
|
||
*/
|
||
rtB.Merge_i = -1;
|
||
}
|
||
|
||
/* End of Switch: '<S524>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S519>/Level 0' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S519>/Level 1' incorporates:
|
||
* ActionPort: '<S525>/Action Port'
|
||
*/
|
||
/* MATLAB Function: '<S525>/g_assSTART_ENTER_INCAR' */
|
||
g_assSTART_ENTER_INCAR_a(rtB.Merge_b, &AMB);
|
||
|
||
/* MATLAB Function: '<S525>/g_ausSTART_ENTER_SETTEMP' */
|
||
/* : out = int16(g_ausSTART_ENTER_SETTEMP(LVL+1)); */
|
||
i = (int32_t)(rtB.Merge_b + 1U);
|
||
if (rtB.Merge_b + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
Blower_FR = g_ausSTART_ENTER_SETTEMP[i - 1];
|
||
if (Blower_FR > 32767) {
|
||
Blower_FR = 32767U;
|
||
}
|
||
|
||
/* Switch: '<S525>/Switch' incorporates:
|
||
* Constant: '<S525>/AUTO'
|
||
* DataStoreRead: '<S525>/Data Store Read'
|
||
* DataStoreRead: '<S525>/Data Store Read1'
|
||
* DataStoreRead: '<S525>/Data Store Read2'
|
||
* Logic: '<S525>/AND'
|
||
* MATLAB Function: '<S525>/g_ausSTART_ENTER_SETTEMP'
|
||
* RelationalOperator: '<S525>/Relational Operator'
|
||
* RelationalOperator: '<S525>/Relational Operator1'
|
||
* RelationalOperator: '<S525>/Relational Operator2'
|
||
*/
|
||
if ((Incar_FL > AMB) && (rtDW.MODE_DRIVER == 1.0) && (rtDW.SET_FL <
|
||
Blower_FR)) {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S525>/Constant1'
|
||
*/
|
||
rtB.Merge_i = 0;
|
||
} else {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S525>/Constant'
|
||
*/
|
||
rtB.Merge_i = -1;
|
||
}
|
||
|
||
/* End of Switch: '<S525>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S519>/Level 1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S519>/Level 2' incorporates:
|
||
* ActionPort: '<S526>/Action Port'
|
||
*/
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S526>/Constant'
|
||
* SignalConversion generated from: '<S526>/step'
|
||
*/
|
||
rtB.Merge_i = 0;
|
||
|
||
/* End of Outputs for SubSystem: '<S519>/Level 2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S519>/Level 3' incorporates:
|
||
* ActionPort: '<S527>/Action Port'
|
||
*/
|
||
Level3(&rtB.Merge_i, &rtDW.ECT, &rtB.Merge_b, &rtDW.MODE_DRIVER);
|
||
|
||
/* End of Outputs for SubSystem: '<S519>/Level 3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S519>/Level 4' incorporates:
|
||
* ActionPort: '<S528>/Action Port'
|
||
*/
|
||
Level3(&rtB.Merge_i, &rtDW.ECT, &rtB.Merge_b, &rtDW.MODE_DRIVER);
|
||
|
||
/* End of Outputs for SubSystem: '<S519>/Level 4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S519>/Level 5' incorporates:
|
||
* ActionPort: '<S529>/Action Port'
|
||
*/
|
||
Level3(&rtB.Merge_i, &rtDW.ECT, &rtB.Merge_b, &rtDW.MODE_DRIVER);
|
||
|
||
/* End of Outputs for SubSystem: '<S519>/Level 5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S519>/Switch Case' */
|
||
/* End of Outputs for SubSystem: '<S517>/Step -1 F' */
|
||
break;
|
||
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S517>/Step 0 F' incorporates:
|
||
* ActionPort: '<S520>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S520>/Switch Case' incorporates:
|
||
* DataStoreWrite: '<S8>/Data Store Write'
|
||
*/
|
||
switch (rtB.Merge_b) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S520>/Level 0' incorporates:
|
||
* ActionPort: '<S537>/Action Port'
|
||
*/
|
||
Level0(&rtB.Merge_i);
|
||
|
||
/* End of Outputs for SubSystem: '<S520>/Level 0' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S520>/Level 1' incorporates:
|
||
* ActionPort: '<S538>/Action Port'
|
||
*/
|
||
Level0(&rtB.Merge_i);
|
||
|
||
/* End of Outputs for SubSystem: '<S520>/Level 1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S520>/Level 2' incorporates:
|
||
* ActionPort: '<S539>/Action Port'
|
||
*/
|
||
Level0(&rtB.Merge_i);
|
||
|
||
/* End of Outputs for SubSystem: '<S520>/Level 2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S520>/Level 3' incorporates:
|
||
* ActionPort: '<S540>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S540>/Data Store Write6' incorporates:
|
||
* Constant: '<S540>/Constant3'
|
||
*/
|
||
rtDW.Blower_FL = 20U;
|
||
|
||
/* DataStoreWrite: '<S540>/Data Store Write11' incorporates:
|
||
* Constant: '<S540>/Constant5'
|
||
*/
|
||
rtDW.Dtg_FUL = 60U;
|
||
|
||
/* DataStoreWrite: '<S540>/Data Store Write13' incorporates:
|
||
* Constant: '<S540>/Constant7'
|
||
*/
|
||
rtDW.Dtg_FLL = 80U;
|
||
|
||
/* DataStoreWrite: '<S540>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S540>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S540>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S540>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* DataStoreWrite: '<S540>/Data Store Write3' incorporates:
|
||
* Constant: '<S540>/Mode - def'
|
||
*/
|
||
rtDW.Mode_FL = 80U;
|
||
|
||
/* DataStoreWrite: '<S540>/Data Store Write7' incorporates:
|
||
* Constant: '<S540>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* DataStoreWrite: '<S540>/Data Store Write8' incorporates:
|
||
* Constant: '<S540>/Valve open'
|
||
*/
|
||
rtb_u_pe = 1U;
|
||
|
||
/* DataStoreWrite: '<S540>/Data Store Write9' incorporates:
|
||
* Constant: '<S540>/Valve open'
|
||
*/
|
||
Valve_2_way = 1U;
|
||
|
||
/* MATLAB Function: '<S540>/g_assSTART_COOLANT_STEP0_TO_1 ' */
|
||
/* : out = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 1 - 2)); */
|
||
i = (int32_t)(rtB.Merge_b + 1U);
|
||
if (rtB.Merge_b + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
rtb_dt_du = (uint32_t)i - 2U;
|
||
if ((uint32_t)i - 2U > (uint32_t)i) {
|
||
rtb_dt_du = 0U;
|
||
}
|
||
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* DataStoreRead: '<S540>/Engine coolant temp'
|
||
* MATLAB Function: '<S540>/g_assSTART_COOLANT_STEP0_TO_1 '
|
||
* RelationalOperator: '<S540>/Relational Operator'
|
||
* Switch: '<S540>/Switch'
|
||
*/
|
||
rtB.Merge_i = (int8_t)(rtDW.ECT > g_assSTART_COOLANT_STEP0_TO_1[(int32_t)
|
||
rtb_dt_du - 1]);
|
||
|
||
/* End of Outputs for SubSystem: '<S520>/Level 3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S520>/Level 4' incorporates:
|
||
* ActionPort: '<S541>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S541>/Data Store Write6' incorporates:
|
||
* Constant: '<S541>/Constant3'
|
||
*/
|
||
rtDW.Blower_FL = 20U;
|
||
|
||
/* DataStoreWrite: '<S541>/Data Store Write11' incorporates:
|
||
* Constant: '<S541>/Constant5'
|
||
*/
|
||
rtDW.Dtg_FUL = 60U;
|
||
|
||
/* DataStoreWrite: '<S541>/Data Store Write13' incorporates:
|
||
* Constant: '<S541>/Constant7'
|
||
*/
|
||
rtDW.Dtg_FLL = 80U;
|
||
|
||
/* DataStoreWrite: '<S541>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S541>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S541>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S541>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* DataStoreWrite: '<S541>/Data Store Write3' incorporates:
|
||
* Constant: '<S541>/Mode - def'
|
||
*/
|
||
rtDW.Mode_FL = 80U;
|
||
|
||
/* DataStoreWrite: '<S541>/Data Store Write7' incorporates:
|
||
* Constant: '<S541>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* DataStoreWrite: '<S541>/Data Store Write8' incorporates:
|
||
* Constant: '<S541>/Valve open'
|
||
*/
|
||
rtb_u_pe = 1U;
|
||
|
||
/* DataStoreWrite: '<S541>/Data Store Write9' incorporates:
|
||
* Constant: '<S541>/Valve open'
|
||
*/
|
||
Valve_2_way = 1U;
|
||
|
||
/* MATLAB Function: '<S541>/g_assSTART_COOLANT_STEP0_TO_1 ' */
|
||
g_assSTART_COOLANT_STEP0_TO_1_k(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* DataStoreRead: '<S541>/Engine coolant temp'
|
||
* RelationalOperator: '<S541>/Relational Operator'
|
||
* Switch: '<S541>/Switch'
|
||
*/
|
||
rtB.Merge_i = (int8_t)(rtDW.ECT > Incar_FL);
|
||
|
||
/* End of Outputs for SubSystem: '<S520>/Level 4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S520>/Level 5' incorporates:
|
||
* ActionPort: '<S542>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S542>/Data Store Write6' incorporates:
|
||
* Constant: '<S542>/Constant3'
|
||
*/
|
||
rtDW.Blower_FL = 20U;
|
||
|
||
/* DataStoreWrite: '<S542>/Data Store Write11' incorporates:
|
||
* Constant: '<S542>/Constant5'
|
||
*/
|
||
rtDW.Dtg_FUL = 80U;
|
||
|
||
/* DataStoreWrite: '<S542>/Data Store Write13' incorporates:
|
||
* Constant: '<S542>/Constant7'
|
||
*/
|
||
rtDW.Dtg_FLL = 80U;
|
||
|
||
/* DataStoreWrite: '<S542>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S542>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S542>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S542>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* DataStoreWrite: '<S542>/Data Store Write3' incorporates:
|
||
* Constant: '<S542>/Mode - def'
|
||
*/
|
||
rtDW.Mode_FL = 80U;
|
||
|
||
/* DataStoreWrite: '<S542>/Data Store Write7' incorporates:
|
||
* Constant: '<S542>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* DataStoreWrite: '<S542>/Data Store Write8' incorporates:
|
||
* Constant: '<S542>/Valve open'
|
||
*/
|
||
rtb_u_pe = 1U;
|
||
|
||
/* DataStoreWrite: '<S542>/Data Store Write9' incorporates:
|
||
* Constant: '<S542>/Valve open'
|
||
*/
|
||
Valve_2_way = 1U;
|
||
|
||
/* MATLAB Function: '<S542>/g_assSTART_COOLANT_STEP0_TO_1 ' */
|
||
g_assSTART_COOLANT_STEP0_TO_1_k(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* DataStoreRead: '<S542>/Engine coolant temp'
|
||
* RelationalOperator: '<S542>/Relational Operator'
|
||
* Switch: '<S542>/Switch'
|
||
*/
|
||
rtB.Merge_i = (int8_t)(rtDW.ECT > Incar_FL);
|
||
|
||
/* End of Outputs for SubSystem: '<S520>/Level 5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S520>/Switch Case' */
|
||
/* End of Outputs for SubSystem: '<S517>/Step 0 F' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S517>/Step 1 F' incorporates:
|
||
* ActionPort: '<S521>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S521>/Switch Case' incorporates:
|
||
* DataStoreWrite: '<S8>/Data Store Write'
|
||
*/
|
||
switch (rtB.Merge_b) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S521>/Level 0' incorporates:
|
||
* ActionPort: '<S552>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S552>/Data Store Write8' incorporates:
|
||
* MATLAB Function: '<S552>/3 way valve status'
|
||
*/
|
||
uwayvalvestatus(rtB.Merge_b, &rtb_u_pe);
|
||
|
||
/* DataStoreWrite: '<S552>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S552>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S552>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S552>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* DataStoreWrite: '<S552>/Data Store Write3' incorporates:
|
||
* MATLAB Function: '<S552>/mode FR step 1'
|
||
*/
|
||
modeFRstep1(rtB.Merge_b, &rtDW.Mode_FL);
|
||
|
||
/* DataStoreWrite: '<S552>/Data Store Write11' incorporates:
|
||
* MATLAB Function: '<S552>/window heating'
|
||
*/
|
||
windowheating(rtB.Merge_b, &rtDW.Dtg_FUL);
|
||
|
||
/* DataStoreWrite: '<S552>/Data Store Write6' incorporates:
|
||
* MATLAB Function: '<S552>/blower FR'
|
||
*/
|
||
blowerFR(rtB.Merge_b, &rtDW.Blower_FL);
|
||
|
||
/* DataStoreWrite: '<S552>/Data Store Write11' incorporates:
|
||
* MATLAB Function: '<S552>/Dtg_FrontUpper_X'
|
||
*/
|
||
Dtg_FrontUpper_X(rtB.Merge_b, &rtDW.Dtg_FUL);
|
||
|
||
/* DataStoreWrite: '<S552>/Data Store Write13' incorporates:
|
||
* MATLAB Function: '<S552>/Dtg_FrontLower_X'
|
||
*/
|
||
Dtg_FrontLower_X(rtB.Merge_b, &rtDW.Dtg_FLL);
|
||
|
||
/* DataStoreWrite: '<S552>/Data Store Write7' incorporates:
|
||
* Constant: '<S552>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* RelationalOperator: '<S552>/Equal' incorporates:
|
||
* DataStoreRead: '<S552>/current step'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.step_start_controle_front == 1);
|
||
|
||
/* MATLAB Function: '<S552>/Incar temp goto from step 1 to step 2 ' */
|
||
Incartempgotofromstep1tostep2(rtB.Merge_b, &AMB);
|
||
|
||
/* MATLAB Function: '<S552>/Time goto from step 1 to step 2 ' */
|
||
/* : out = int16(g_ausSTART_TIME_STEP1_TO_2(LVL + 1)); */
|
||
i = (int32_t)(rtB.Merge_b + 1U);
|
||
if (rtB.Merge_b + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
Blower_FR = g_ausSTART_TIME_STEP1_TO_2[i - 1];
|
||
if (Blower_FR > 32767) {
|
||
Blower_FR = 32767U;
|
||
}
|
||
|
||
/* Switch: '<S552>/Switch' incorporates:
|
||
* DataStoreRead: '<S552>/incar temp'
|
||
* DataStoreRead: '<S562>/Data Store Read4'
|
||
* Gain: '<S552>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Logic: '<S552>/Logical Operator'
|
||
* MATLAB Function: '<S552>/Time goto from step 1 to step 2 '
|
||
* RelationalOperator: '<S552>/Relational Operator'
|
||
* RelationalOperator: '<S552>/Relational Operator1'
|
||
* Sum: '<S562>/Subtract'
|
||
* UnitDelay: '<S562>/t_start_delay_private '
|
||
*/
|
||
if ((Incar_FL < AMB) || (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_i > (uint16_t)(1000 * Blower_FR)))
|
||
{
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S552>/go to next step'
|
||
* SignalConversion generated from: '<S552>/step'
|
||
*/
|
||
rtB.Merge_i = 2;
|
||
} else {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S552>/stay at step 1'
|
||
* SignalConversion generated from: '<S552>/step'
|
||
*/
|
||
rtB.Merge_i = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S552>/Switch' */
|
||
|
||
/* Switch: '<S562>/Switch' incorporates:
|
||
* DataStoreRead: '<S562>/Data Store Read4'
|
||
* Logic: '<S562>/Logical Operator3'
|
||
* Logic: '<S562>/Logical Operator4'
|
||
* UnitDelay: '<S562>/Cond_prev_private '
|
||
* UnitDelay: '<S562>/t_start_delay_private '
|
||
*/
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_it)) {
|
||
rtDW.t_start_delay_private_DSTATE_i = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S562>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S562>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_it = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S521>/Level 0' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S521>/Level 1' incorporates:
|
||
* ActionPort: '<S553>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S553>/Data Store Write8' incorporates:
|
||
* MATLAB Function: '<S553>/3 way valve status'
|
||
*/
|
||
uwayvalvestatus(rtB.Merge_b, &rtb_u_pe);
|
||
|
||
/* DataStoreWrite: '<S553>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S553>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S553>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S553>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* DataStoreWrite: '<S553>/Data Store Write3' incorporates:
|
||
* MATLAB Function: '<S553>/mode FR step 1'
|
||
*/
|
||
modeFRstep1(rtB.Merge_b, &rtDW.Mode_FL);
|
||
|
||
/* DataStoreWrite: '<S553>/Data Store Write11' incorporates:
|
||
* MATLAB Function: '<S553>/window heating'
|
||
*/
|
||
windowheating(rtB.Merge_b, &rtDW.Dtg_FUL);
|
||
|
||
/* DataStoreWrite: '<S553>/Data Store Write6' incorporates:
|
||
* MATLAB Function: '<S553>/blower FR'
|
||
*/
|
||
blowerFR(rtB.Merge_b, &rtDW.Blower_FL);
|
||
|
||
/* DataStoreWrite: '<S553>/Data Store Write11' incorporates:
|
||
* MATLAB Function: '<S553>/Dtg_FrontUpper_X'
|
||
*/
|
||
Dtg_FrontUpper_X(rtB.Merge_b, &rtDW.Dtg_FUL);
|
||
|
||
/* DataStoreWrite: '<S553>/Data Store Write13' incorporates:
|
||
* MATLAB Function: '<S553>/Dtg_FrontLower_X'
|
||
*/
|
||
Dtg_FrontLower_X(rtB.Merge_b, &rtDW.Dtg_FLL);
|
||
|
||
/* DataStoreWrite: '<S553>/Data Store Write7' incorporates:
|
||
* Constant: '<S553>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* RelationalOperator: '<S553>/Equal' incorporates:
|
||
* DataStoreRead: '<S553>/current step'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.step_start_controle_front == 1);
|
||
|
||
/* MATLAB Function: '<S553>/Incar temp goto from step 1 to step 2 ' */
|
||
Incartempgotofromstep1tostep2(rtB.Merge_b, &AMB);
|
||
|
||
/* MATLAB Function: '<S553>/Time goto from step 1 to step 2 ' */
|
||
Timegotofromstep1tostep2(rtB.Merge_b, &Eva_F);
|
||
|
||
/* RelationalOperator: '<S553>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S573>/Data Store Read4'
|
||
* Gain: '<S553>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Sum: '<S573>/Subtract'
|
||
* UnitDelay: '<S573>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator1_f = (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_gu > (uint32_t)(1000 * Eva_F));
|
||
|
||
/* Switch: '<S573>/Switch' incorporates:
|
||
* DataStoreRead: '<S573>/Data Store Read4'
|
||
* Logic: '<S573>/Logical Operator3'
|
||
* Logic: '<S573>/Logical Operator4'
|
||
* UnitDelay: '<S573>/Cond_prev_private '
|
||
* UnitDelay: '<S573>/t_start_delay_private '
|
||
*/
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_l)) {
|
||
rtDW.t_start_delay_private_DSTATE_gu = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S573>/Switch' */
|
||
|
||
/* Switch: '<S553>/Switch' incorporates:
|
||
* DataStoreRead: '<S553>/incar temp'
|
||
* Logic: '<S553>/Logical Operator'
|
||
* RelationalOperator: '<S553>/Relational Operator'
|
||
*/
|
||
if ((Incar_FL < AMB) || rtb_LogicalOperator1_f) {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S553>/go to next step'
|
||
*/
|
||
rtB.Merge_i = 2;
|
||
} else {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S553>/stay at step 1'
|
||
*/
|
||
rtB.Merge_i = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S553>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S573>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_l = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S521>/Level 1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S521>/Level 2' incorporates:
|
||
* ActionPort: '<S554>/Action Port'
|
||
*/
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S554>/Constant'
|
||
* SignalConversion generated from: '<S554>/step'
|
||
*/
|
||
rtB.Merge_i = 2;
|
||
|
||
/* End of Outputs for SubSystem: '<S521>/Level 2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S521>/Level 3' incorporates:
|
||
* ActionPort: '<S555>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S555>/Data Store Write8' incorporates:
|
||
* MATLAB Function: '<S555>/3 way valve status'
|
||
*/
|
||
uwayvalvestatus(rtB.Merge_b, &rtb_u_pe);
|
||
|
||
/* DataStoreWrite: '<S555>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S555>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S555>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S555>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* DataStoreWrite: '<S555>/Data Store Write3' incorporates:
|
||
* MATLAB Function: '<S555>/mode FR step 1'
|
||
*/
|
||
modeFRstep1(rtB.Merge_b, &rtDW.Mode_FL);
|
||
|
||
/* DataStoreWrite: '<S555>/Data Store Write11' incorporates:
|
||
* MATLAB Function: '<S555>/window heating'
|
||
*/
|
||
windowheating(rtB.Merge_b, &rtDW.Dtg_FUL);
|
||
|
||
/* MATLAB Function: '<S586>/blower min max' */
|
||
blowerminmax(rtB.Merge_b, rtb_out_fw);
|
||
|
||
/* MATLAB Function: '<S586>/ECT min max' */
|
||
ECTminmax(rtB.Merge_b, rtb_out_nh);
|
||
|
||
/* DataStoreWrite: '<S555>/Data Store Write6' incorporates:
|
||
* DataStoreRead: '<S586>/engine coolant temp'
|
||
* Lookup_n-D: '<S586>/blower <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ECT'
|
||
*/
|
||
rtDW.Blower_FL = look1_iu16bs16lu64n32_binlcse(rtDW.ECT, rtb_out_nh,
|
||
rtb_out_fw, 1U);
|
||
|
||
/* DataStoreWrite: '<S555>/Data Store Write11' incorporates:
|
||
* MATLAB Function: '<S555>/Dtg_FrontUpper_X'
|
||
*/
|
||
Dtg_FrontUpper_X(rtB.Merge_b, &rtDW.Dtg_FUL);
|
||
|
||
/* DataStoreWrite: '<S555>/Data Store Write13' incorporates:
|
||
* MATLAB Function: '<S555>/Dtg_FrontLower_X'
|
||
*/
|
||
Dtg_FrontLower_X(rtB.Merge_b, &rtDW.Dtg_FLL);
|
||
|
||
/* DataStoreWrite: '<S555>/Data Store Write7' incorporates:
|
||
* Constant: '<S555>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* RelationalOperator: '<S555>/Equal' incorporates:
|
||
* DataStoreRead: '<S555>/current step'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.step_start_controle_front == 1);
|
||
|
||
/* MATLAB Function: '<S555>/Incar temp goto from step 1 to step 2 ' */
|
||
Incartempgotofromstep1tostep2(rtB.Merge_b, &AMB);
|
||
|
||
/* Sum: '<S584>/Subtract' incorporates:
|
||
* DataStoreRead: '<S584>/Data Store Read4'
|
||
* UnitDelay: '<S584>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_h = rtDW.t_now - rtDW.t_start_delay_private_DSTATE_nk;
|
||
|
||
/* MATLAB Function: '<S555>/Time goto from step 1 to step 2 ' */
|
||
Timegotofromstep1tostep2(rtB.Merge_b, &Eva_F);
|
||
|
||
/* Switch: '<S584>/Switch' incorporates:
|
||
* DataStoreRead: '<S584>/Data Store Read4'
|
||
* Logic: '<S584>/Logical Operator3'
|
||
* Logic: '<S584>/Logical Operator4'
|
||
* UnitDelay: '<S584>/Cond_prev_private '
|
||
* UnitDelay: '<S584>/t_start_delay_private '
|
||
*/
|
||
/* : out = int16(g_assSTART_COOLANT_TO_STEP2(LVL + 1 - 3)); */
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_a)) {
|
||
rtDW.t_start_delay_private_DSTATE_nk = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S584>/Switch' */
|
||
|
||
/* MATLAB Function: '<S555>/g_assSTART_COOLANT_TO_STEP2 ' */
|
||
i = (int32_t)(rtB.Merge_b + 1U);
|
||
if (rtB.Merge_b + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* MW:begin MISRA2012:D4.1 CERT-C:INT30-C 'Justifying MISRA CPP rule violation' */
|
||
rtb_dt_du = (uint32_t)i - 3U;
|
||
|
||
/* MW:end MISRA2012:D4.1 CERT-C:INT30-C */
|
||
if ((uint32_t)i - 3U > (uint32_t)i) {
|
||
rtb_dt_du = 0U;
|
||
}
|
||
|
||
/* Switch: '<S555>/Switch' incorporates:
|
||
* DataStoreRead: '<S555>/engine coolant temp'
|
||
* DataStoreRead: '<S555>/incar temp'
|
||
* Gain: '<S555>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Logic: '<S555>/Logical Operator'
|
||
* MATLAB Function: '<S555>/g_assSTART_COOLANT_TO_STEP2 '
|
||
* RelationalOperator: '<S555>/Relational Operator'
|
||
* RelationalOperator: '<S555>/Relational Operator1'
|
||
* RelationalOperator: '<S555>/Relational Operator2'
|
||
*/
|
||
if ((Incar_FL < AMB) || (rtb_dt_h > (uint32_t)(1000 * Eva_F)) ||
|
||
(rtDW.ECT > g_assSTART_COOLANT_TO_STEP2[(int32_t)rtb_dt_du - 1])) {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S555>/go to next step 2'
|
||
*/
|
||
rtB.Merge_i = 2;
|
||
} else {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S555>/stay at step 1'
|
||
*/
|
||
rtB.Merge_i = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S555>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S584>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_a = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S521>/Level 3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S521>/Level 4' incorporates:
|
||
* ActionPort: '<S556>/Action Port'
|
||
*/
|
||
Level4(&rtB.Merge_i, &rtDW.Blower_FL, &Blower_FR, &rtDW.Dtg_FLL,
|
||
&Valve_2_way, &rtDW.Dtg_FUL, &Dtg_FUR, &rtDW.ECT,
|
||
&El_window_heating, &Incar_FL, &rtb_Gain2, &rtb_Gain_l,
|
||
&rtB.Merge_b, &rtDW.Mode_FL, &Mode_FR, &rtb_Divide1, &rtb_u_pe,
|
||
&rtDW.step_start_controle_front, &rtDW.t_now, &rtDW.Level4_lz);
|
||
|
||
/* End of Outputs for SubSystem: '<S521>/Level 4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S521>/Level 5' incorporates:
|
||
* ActionPort: '<S557>/Action Port'
|
||
*/
|
||
Level4(&rtB.Merge_i, &rtDW.Blower_FL, &Blower_FR, &rtDW.Dtg_FLL,
|
||
&Valve_2_way, &rtDW.Dtg_FUL, &Dtg_FUR, &rtDW.ECT,
|
||
&El_window_heating, &Incar_FL, &rtb_Gain2, &rtb_Gain_l,
|
||
&rtB.Merge_b, &rtDW.Mode_FL, &Mode_FR, &rtb_Divide1, &rtb_u_pe,
|
||
&rtDW.step_start_controle_front, &rtDW.t_now, &rtDW.Level5_l);
|
||
|
||
/* End of Outputs for SubSystem: '<S521>/Level 5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S521>/Switch Case' */
|
||
/* End of Outputs for SubSystem: '<S517>/Step 1 F' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S517>/Step 2 F' incorporates:
|
||
* ActionPort: '<S522>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S522>/Switch Case' incorporates:
|
||
* DataStoreWrite: '<S8>/Data Store Write'
|
||
*/
|
||
switch (rtB.Merge_b) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S522>/Level 0' incorporates:
|
||
* ActionPort: '<S620>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S620>/Data Store Write8' incorporates:
|
||
* MATLAB Function: '<S620>/3 way valve status'
|
||
*/
|
||
uwayvalvestatus_m(rtB.Merge_b, &rtb_u_pe);
|
||
|
||
/* MATLAB Function: '<S627>/step' */
|
||
Dtg_FrontLower_X(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S627>/time for step' */
|
||
timeforstep(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Switch: '<S627>/Switch' incorporates:
|
||
* Constant: '<S636>/epsilon'
|
||
* DataStoreRead: '<S627>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S627>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S636>/Relational Operator'
|
||
* RelationalOperator: '<S640>/Relational Operator'
|
||
* Sum: '<S636>/Add'
|
||
* Switch: '<S640>/Switch'
|
||
*/
|
||
if ((uint8_t)(rtDW.Dtg_FLL - rtDW.Dtg_logic_FLL) <= 0.01) {
|
||
/* DataStoreWrite: '<S620>/Data Store Write13' */
|
||
rtDW.Dtg_FLL = rtDW.Dtg_logic_FLL;
|
||
} else {
|
||
if (rtDW.Dtg_FLL <= rtDW.Dtg_logic_FLL) {
|
||
/* Switch: '<S640>/Switch' incorporates:
|
||
* Constant: '<S640>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S640>/Switch' incorporates:
|
||
* Constant: '<S640>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S620>/Data Store Write13' incorporates:
|
||
* Constant: '<S627>/Constant'
|
||
* DataStoreRead: '<S627>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S627>/Product1'
|
||
* Product: '<S627>/change rate (dtg//sec)'
|
||
* Product: '<S627>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S627>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S627>/Add'
|
||
* Sum: '<S637>/Subtract'
|
||
* Switch: '<S640>/Switch'
|
||
* UnitDelay: '<S637>/Unit Delay'
|
||
*/
|
||
rtDW.Dtg_FLL = (uint8_t)((double)rtb_Gain_l / (double)rtb_Gain2 /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_lc) * (double)i
|
||
+ (double)rtDW.Dtg_FLL);
|
||
}
|
||
|
||
/* End of Switch: '<S627>/Switch' */
|
||
|
||
/* MATLAB Function: '<S628>/step' */
|
||
Dtg_FrontUpper_X(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S628>/time for step' */
|
||
timeforstep_a(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Switch: '<S628>/Switch' incorporates:
|
||
* Constant: '<S641>/epsilon'
|
||
* DataStoreRead: '<S628>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S628>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S641>/Relational Operator'
|
||
* RelationalOperator: '<S645>/Relational Operator'
|
||
* Sum: '<S641>/Add'
|
||
* Switch: '<S645>/Switch'
|
||
*/
|
||
if ((uint8_t)(rtDW.Dtg_FUL - rtDW.Dtg_logic_FUL) <= 0.01) {
|
||
/* DataStoreWrite: '<S620>/Data Store Write11' */
|
||
rtDW.Dtg_FUL = rtDW.Dtg_logic_FUL;
|
||
} else {
|
||
if (rtDW.Dtg_FUL <= rtDW.Dtg_logic_FUL) {
|
||
/* Switch: '<S645>/Switch' incorporates:
|
||
* Constant: '<S645>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S645>/Switch' incorporates:
|
||
* Constant: '<S645>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S620>/Data Store Write11' incorporates:
|
||
* Constant: '<S628>/Constant'
|
||
* DataStoreRead: '<S628>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S628>/Product1'
|
||
* Product: '<S628>/change rate (dtg//sec)'
|
||
* Product: '<S628>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S628>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S628>/Add'
|
||
* Sum: '<S642>/Subtract'
|
||
* Switch: '<S645>/Switch'
|
||
* UnitDelay: '<S642>/Unit Delay'
|
||
*/
|
||
rtDW.Dtg_FUL = (uint8_t)((double)rtb_Gain_l / (double)rtb_Gain2 /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_jz) * (double)i
|
||
+ (double)rtDW.Dtg_FUL);
|
||
}
|
||
|
||
/* End of Switch: '<S628>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S620>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S620>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S620>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S620>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Sum: '<S651>/Add' incorporates:
|
||
* DataStoreRead: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtb_Gain_l = (uint8_t)(rtDW.Mode_FL - rtDW.Mode_logic_FL);
|
||
|
||
/* RelationalOperator: '<S651>/Relational Operator' incorporates:
|
||
* Constant: '<S651>/epsilon'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtb_Gain_l <= 0.01);
|
||
|
||
/* MATLAB Function: '<S634>/step' */
|
||
step_l(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* MATLAB Function: '<S634>/time for step' */
|
||
timeforstep_f(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* Switch: '<S634>/Switch' incorporates:
|
||
* DataStoreRead: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S655>/Relational Operator'
|
||
* Switch: '<S655>/Switch'
|
||
*/
|
||
if (rtb_LogicalOperator1) {
|
||
/* DataStoreWrite: '<S620>/Data Store Write3' incorporates:
|
||
* DataStoreRead: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtDW.Mode_FL = rtDW.Mode_logic_FL;
|
||
} else {
|
||
if (rtDW.Mode_FL <= rtDW.Mode_logic_FL) {
|
||
/* Switch: '<S655>/Switch' incorporates:
|
||
* Constant: '<S655>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S655>/Switch' incorporates:
|
||
* Constant: '<S655>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S620>/Data Store Write3' incorporates:
|
||
* Constant: '<S634>/Constant'
|
||
* DataStoreRead: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S634>/Product1'
|
||
* Product: '<S634>/change rate (step//sec)'
|
||
* Product: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S634>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S634>/Add'
|
||
* Sum: '<S652>/Subtract'
|
||
* Switch: '<S655>/Switch'
|
||
* UnitDelay: '<S652>/Unit Delay'
|
||
*/
|
||
rtDW.Mode_FL = (uint8_t)((double)rtb_Gain2 / (double)rtb_Gain_l /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_d) * (double)i
|
||
+ (double)rtDW.Mode_FL);
|
||
}
|
||
|
||
/* End of Switch: '<S634>/Switch' */
|
||
|
||
/* Sum: '<S646>/Add' incorporates:
|
||
* DataStoreRead: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
/* : out = g_aucSTART_ELEC_WINDOW(LVL + 1 + 6); */
|
||
Blower_FR = (uint16_t)(rtDW.Blower_FL - rtDW.Blower_logic_FL);
|
||
|
||
/* RelationalOperator: '<S646>/Relational Operator' incorporates:
|
||
* Constant: '<S646>/epsilon'
|
||
*/
|
||
rtb_LogicalOperator1 = (Blower_FR <= 0.01);
|
||
|
||
/* MATLAB Function: '<S631>/blower step' */
|
||
blowerstep(rtB.Merge_b, &rtb_out_jk);
|
||
|
||
/* MATLAB Function: '<S631>/blower time for step' */
|
||
blowertimeforstep(rtB.Merge_b, &Blower_FR);
|
||
|
||
/* Switch: '<S631>/Switch' incorporates:
|
||
* DataStoreRead: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S650>/Relational Operator'
|
||
* Switch: '<S650>/Switch'
|
||
*/
|
||
if (rtb_LogicalOperator1) {
|
||
/* DataStoreWrite: '<S620>/Data Store Write6' incorporates:
|
||
* DataStoreRead: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtDW.Blower_FL = rtDW.Blower_logic_FL;
|
||
} else {
|
||
if (rtDW.Blower_FL <= rtDW.Blower_logic_FL) {
|
||
/* Switch: '<S650>/Switch' incorporates:
|
||
* Constant: '<S650>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S650>/Switch' incorporates:
|
||
* Constant: '<S650>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S620>/Data Store Write6' incorporates:
|
||
* Constant: '<S631>/Constant'
|
||
* DataStoreRead: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S631>/Product1'
|
||
* Product: '<S631>/change rate (step//sec)'
|
||
* Product: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S631>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S631>/Add'
|
||
* Sum: '<S647>/Subtract'
|
||
* Switch: '<S650>/Switch'
|
||
* UnitDelay: '<S647>/Unit Delay'
|
||
*/
|
||
rtDW.Blower_FL = (uint16_t)((double)rtb_out_jk / (double)Blower_FR /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_n) * (double)i
|
||
+ (double)rtDW.Blower_FL);
|
||
}
|
||
|
||
/* End of Switch: '<S631>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S620>/Data Store Write7' incorporates:
|
||
* Constant: '<S620>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* RelationalOperator: '<S620>/Equal' incorporates:
|
||
* DataStoreRead: '<S620>/current step'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.step_start_controle_front == 1);
|
||
|
||
/* Sum: '<S629>/Subtract' incorporates:
|
||
* DataStoreRead: '<S629>/Data Store Read4'
|
||
* UnitDelay: '<S629>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_du = rtDW.t_now - rtDW.t_start_delay_private_DSTATE_n;
|
||
|
||
/* Switch: '<S629>/Switch' incorporates:
|
||
* DataStoreRead: '<S629>/Data Store Read4'
|
||
* Logic: '<S629>/Logical Operator3'
|
||
* Logic: '<S629>/Logical Operator4'
|
||
* UnitDelay: '<S629>/Cond_prev_private '
|
||
* UnitDelay: '<S629>/t_start_delay_private '
|
||
*/
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_p)) {
|
||
rtDW.t_start_delay_private_DSTATE_n = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S629>/Switch' */
|
||
|
||
/* MATLAB Function: '<S620>/Time goto from step 2 to step 3 ' */
|
||
Timegotofromstep2tostep3(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* Switch: '<S620>/Switch' incorporates:
|
||
* Gain: '<S620>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* RelationalOperator: '<S620>/Relational Operator1'
|
||
*/
|
||
if (rtb_dt_du > (uint32_t)(1000 * Incar_FL)) {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S620>/go to next step'
|
||
*/
|
||
rtB.Merge_i = 2;
|
||
} else {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S620>/stay at step 1'
|
||
*/
|
||
rtB.Merge_i = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S620>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S637>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S627>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_lc = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S642>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S628>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_jz = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S652>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S634>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_d = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S647>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S631>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_n = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S629>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_p = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S522>/Level 0' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S522>/Level 1' incorporates:
|
||
* ActionPort: '<S621>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S621>/Data Store Write8' incorporates:
|
||
* MATLAB Function: '<S621>/3 way valve status'
|
||
*/
|
||
uwayvalvestatus_m(rtB.Merge_b, &rtb_u_pe);
|
||
|
||
/* MATLAB Function: '<S657>/step' */
|
||
Dtg_FrontLower_X(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S657>/time for step' */
|
||
timeforstep(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Switch: '<S657>/Switch' incorporates:
|
||
* Constant: '<S666>/epsilon'
|
||
* DataStoreRead: '<S657>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S657>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S666>/Relational Operator'
|
||
* RelationalOperator: '<S670>/Relational Operator'
|
||
* Sum: '<S666>/Add'
|
||
* Switch: '<S670>/Switch'
|
||
*/
|
||
if ((uint8_t)(rtDW.Dtg_FLL - rtDW.Dtg_logic_FLL) <= 0.01) {
|
||
/* DataStoreWrite: '<S621>/Data Store Write13' */
|
||
rtDW.Dtg_FLL = rtDW.Dtg_logic_FLL;
|
||
} else {
|
||
if (rtDW.Dtg_FLL <= rtDW.Dtg_logic_FLL) {
|
||
/* Switch: '<S670>/Switch' incorporates:
|
||
* Constant: '<S670>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S670>/Switch' incorporates:
|
||
* Constant: '<S670>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S621>/Data Store Write13' incorporates:
|
||
* Constant: '<S657>/Constant'
|
||
* DataStoreRead: '<S657>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S657>/Product1'
|
||
* Product: '<S657>/change rate (dtg//sec)'
|
||
* Product: '<S657>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S657>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S657>/Add'
|
||
* Sum: '<S667>/Subtract'
|
||
* Switch: '<S670>/Switch'
|
||
* UnitDelay: '<S667>/Unit Delay'
|
||
*/
|
||
rtDW.Dtg_FLL = (uint8_t)((double)rtb_Gain_l / (double)rtb_Gain2 /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_p) * (double)i
|
||
+ (double)rtDW.Dtg_FLL);
|
||
}
|
||
|
||
/* End of Switch: '<S657>/Switch' */
|
||
|
||
/* MATLAB Function: '<S658>/step' */
|
||
Dtg_FrontUpper_X(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S658>/time for step' */
|
||
timeforstep_a(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Switch: '<S658>/Switch' incorporates:
|
||
* Constant: '<S671>/epsilon'
|
||
* DataStoreRead: '<S658>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S658>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S671>/Relational Operator'
|
||
* RelationalOperator: '<S675>/Relational Operator'
|
||
* Sum: '<S671>/Add'
|
||
* Switch: '<S675>/Switch'
|
||
*/
|
||
if ((uint8_t)(rtDW.Dtg_FUL - rtDW.Dtg_logic_FUL) <= 0.01) {
|
||
/* DataStoreWrite: '<S621>/Data Store Write11' */
|
||
rtDW.Dtg_FUL = rtDW.Dtg_logic_FUL;
|
||
} else {
|
||
if (rtDW.Dtg_FUL <= rtDW.Dtg_logic_FUL) {
|
||
/* Switch: '<S675>/Switch' incorporates:
|
||
* Constant: '<S675>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S675>/Switch' incorporates:
|
||
* Constant: '<S675>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S621>/Data Store Write11' incorporates:
|
||
* Constant: '<S658>/Constant'
|
||
* DataStoreRead: '<S658>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S658>/Product1'
|
||
* Product: '<S658>/change rate (dtg//sec)'
|
||
* Product: '<S658>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S658>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S658>/Add'
|
||
* Sum: '<S672>/Subtract'
|
||
* Switch: '<S675>/Switch'
|
||
* UnitDelay: '<S672>/Unit Delay'
|
||
*/
|
||
rtDW.Dtg_FUL = (uint8_t)((double)rtb_Gain_l / (double)rtb_Gain2 /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_g) * (double)i
|
||
+ (double)rtDW.Dtg_FUL);
|
||
}
|
||
|
||
/* End of Switch: '<S658>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S621>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S621>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S621>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S621>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Sum: '<S681>/Add' incorporates:
|
||
* DataStoreRead: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtb_Gain_l = (uint8_t)(rtDW.Mode_FL - rtDW.Mode_logic_FL);
|
||
|
||
/* MATLAB Function: '<S664>/step' */
|
||
step_l(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* MATLAB Function: '<S664>/time for step' */
|
||
timeforstep_f(rtB.Merge_b, &rtb_u_pe);
|
||
|
||
/* Switch: '<S664>/Switch' incorporates:
|
||
* Constant: '<S681>/epsilon'
|
||
* DataStoreRead: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S681>/Relational Operator'
|
||
* RelationalOperator: '<S685>/Relational Operator'
|
||
* Switch: '<S685>/Switch'
|
||
*/
|
||
if (rtb_Gain_l <= 0.01) {
|
||
/* DataStoreWrite: '<S621>/Data Store Write3' incorporates:
|
||
* DataStoreRead: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtDW.Mode_FL = rtDW.Mode_logic_FL;
|
||
} else {
|
||
if (rtDW.Mode_FL <= rtDW.Mode_logic_FL) {
|
||
/* Switch: '<S685>/Switch' incorporates:
|
||
* Constant: '<S685>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S685>/Switch' incorporates:
|
||
* Constant: '<S685>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S621>/Data Store Write3' incorporates:
|
||
* Constant: '<S664>/Constant'
|
||
* DataStoreRead: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S664>/Product1'
|
||
* Product: '<S664>/change rate (step//sec)'
|
||
* Product: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S664>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S664>/Add'
|
||
* Sum: '<S682>/Subtract'
|
||
* Switch: '<S685>/Switch'
|
||
* UnitDelay: '<S682>/Unit Delay'
|
||
*/
|
||
rtDW.Mode_FL = (uint8_t)((double)rtb_Gain2 / (double)rtb_u_pe / 1000.0
|
||
* (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_l) * (double)i +
|
||
(double)rtDW.Mode_FL);
|
||
}
|
||
|
||
/* End of Switch: '<S664>/Switch' */
|
||
|
||
/* MATLAB Function: '<S621>/window heating' */
|
||
windowheating_k(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* Sum: '<S676>/Add' incorporates:
|
||
* DataStoreRead: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
Blower_FR = (uint16_t)(rtDW.Blower_FL - rtDW.Blower_logic_FL);
|
||
|
||
/* RelationalOperator: '<S676>/Relational Operator' incorporates:
|
||
* Constant: '<S676>/epsilon'
|
||
*/
|
||
rtb_LogicalOperator1 = (Blower_FR <= 0.01);
|
||
|
||
/* MATLAB Function: '<S661>/blower step' */
|
||
blowerstep(rtB.Merge_b, &rtb_out_jk);
|
||
|
||
/* MATLAB Function: '<S661>/blower time for step' */
|
||
blowertimeforstep(rtB.Merge_b, &Blower_FR);
|
||
|
||
/* Switch: '<S661>/Switch' incorporates:
|
||
* DataStoreRead: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S680>/Relational Operator'
|
||
* Switch: '<S680>/Switch'
|
||
*/
|
||
if (rtb_LogicalOperator1) {
|
||
/* DataStoreWrite: '<S621>/Data Store Write6' incorporates:
|
||
* DataStoreRead: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtDW.Blower_FL = rtDW.Blower_logic_FL;
|
||
} else {
|
||
if (rtDW.Blower_FL <= rtDW.Blower_logic_FL) {
|
||
/* Switch: '<S680>/Switch' incorporates:
|
||
* Constant: '<S680>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S680>/Switch' incorporates:
|
||
* Constant: '<S680>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S621>/Data Store Write6' incorporates:
|
||
* Constant: '<S661>/Constant'
|
||
* DataStoreRead: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S661>/Product1'
|
||
* Product: '<S661>/change rate (step//sec)'
|
||
* Product: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S661>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S661>/Add'
|
||
* Sum: '<S677>/Subtract'
|
||
* Switch: '<S680>/Switch'
|
||
* UnitDelay: '<S677>/Unit Delay'
|
||
*/
|
||
rtDW.Blower_FL = (uint16_t)((double)rtb_out_jk / (double)Blower_FR /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_gw) * (double)i
|
||
+ (double)rtDW.Blower_FL);
|
||
}
|
||
|
||
/* End of Switch: '<S661>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S621>/Data Store Write7' incorporates:
|
||
* Constant: '<S621>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* RelationalOperator: '<S621>/Equal' incorporates:
|
||
* DataStoreRead: '<S621>/current step'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.step_start_controle_front == 1);
|
||
|
||
/* Sum: '<S659>/Subtract' incorporates:
|
||
* DataStoreRead: '<S659>/Data Store Read4'
|
||
* UnitDelay: '<S659>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_du = rtDW.t_now - rtDW.t_start_delay_private_DSTATE_bd;
|
||
|
||
/* Switch: '<S659>/Switch' incorporates:
|
||
* DataStoreRead: '<S659>/Data Store Read4'
|
||
* Logic: '<S659>/Logical Operator3'
|
||
* Logic: '<S659>/Logical Operator4'
|
||
* UnitDelay: '<S659>/Cond_prev_private '
|
||
* UnitDelay: '<S659>/t_start_delay_private '
|
||
*/
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_d)) {
|
||
rtDW.t_start_delay_private_DSTATE_bd = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S659>/Switch' */
|
||
|
||
/* MATLAB Function: '<S621>/Time goto from step 2 to step 3 ' */
|
||
Timegotofromstep2tostep3(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* Switch: '<S621>/Switch' incorporates:
|
||
* Gain: '<S621>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* RelationalOperator: '<S621>/Relational Operator1'
|
||
*/
|
||
if (rtb_dt_du > (uint32_t)(1000 * Incar_FL)) {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S621>/go to next step'
|
||
*/
|
||
rtB.Merge_i = 2;
|
||
} else {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S621>/stay at step 1'
|
||
*/
|
||
rtB.Merge_i = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S621>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S667>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S657>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_p = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S672>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S658>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_g = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S682>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S664>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_l = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S677>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S661>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_gw = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S659>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_d = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S522>/Level 1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S522>/Level 2' incorporates:
|
||
* ActionPort: '<S622>/Action Port'
|
||
*/
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S622>/Constant'
|
||
* SignalConversion generated from: '<S622>/step'
|
||
*/
|
||
rtB.Merge_i = 3;
|
||
|
||
/* End of Outputs for SubSystem: '<S522>/Level 2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S522>/Level 3' incorporates:
|
||
* ActionPort: '<S623>/Action Port'
|
||
*/
|
||
Level3_d(&rtB.Merge_i, &Autodefog, &rtDW.Blower_FL, &Blower_FR,
|
||
&rtDW.Blower_logic_FL, &rtDW.Dtg_FLL, &Valve_2_way,
|
||
&rtDW.Dtg_FUL, &Dtg_FUR, &rtDW.Dtg_logic_FLL,
|
||
&rtDW.Dtg_logic_FUL, &El_window_heating, &rtDW.HI_logic_on,
|
||
&rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b, &rtDW.Mode_FL, &Mode_FR,
|
||
&rtDW.Mode_logic_FL, &rtb_Divide1, &rtb_u_pe,
|
||
&rtDW.step_start_controle_front, &rtDW.t_now, &rtDW.Level3_dl);
|
||
|
||
/* End of Outputs for SubSystem: '<S522>/Level 3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S522>/Level 4' incorporates:
|
||
* ActionPort: '<S624>/Action Port'
|
||
*/
|
||
Level3_d(&rtB.Merge_i, &Autodefog, &rtDW.Blower_FL, &Blower_FR,
|
||
&rtDW.Blower_logic_FL, &rtDW.Dtg_FLL, &Valve_2_way,
|
||
&rtDW.Dtg_FUL, &Dtg_FUR, &rtDW.Dtg_logic_FLL,
|
||
&rtDW.Dtg_logic_FUL, &El_window_heating, &rtDW.HI_logic_on,
|
||
&rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b, &rtDW.Mode_FL, &Mode_FR,
|
||
&rtDW.Mode_logic_FL, &rtb_Divide1, &rtb_u_pe,
|
||
&rtDW.step_start_controle_front, &rtDW.t_now, &rtDW.Level4_g);
|
||
|
||
/* End of Outputs for SubSystem: '<S522>/Level 4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S522>/Level 5' incorporates:
|
||
* ActionPort: '<S625>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S625>/Data Store Write8' incorporates:
|
||
* MATLAB Function: '<S625>/3 way valve status'
|
||
*/
|
||
uwayvalvestatus_m(rtB.Merge_b, &rtb_u_pe);
|
||
|
||
/* MATLAB Function: '<S749>/step' */
|
||
Dtg_FrontLower_X(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S749>/time for step' */
|
||
timeforstep(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Switch: '<S749>/Switch' incorporates:
|
||
* Constant: '<S759>/epsilon'
|
||
* DataStoreRead: '<S749>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S749>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S759>/Relational Operator'
|
||
* RelationalOperator: '<S763>/Relational Operator'
|
||
* Sum: '<S759>/Add'
|
||
* Switch: '<S763>/Switch'
|
||
*/
|
||
if ((uint8_t)(rtDW.Dtg_FLL - rtDW.Dtg_logic_FLL) <= 0.01) {
|
||
/* DataStoreWrite: '<S625>/Data Store Write13' */
|
||
rtDW.Dtg_FLL = rtDW.Dtg_logic_FLL;
|
||
} else {
|
||
if (rtDW.Dtg_FLL <= rtDW.Dtg_logic_FLL) {
|
||
/* Switch: '<S763>/Switch' incorporates:
|
||
* Constant: '<S763>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S763>/Switch' incorporates:
|
||
* Constant: '<S763>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S625>/Data Store Write13' incorporates:
|
||
* Constant: '<S749>/Constant'
|
||
* DataStoreRead: '<S749>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S749>/Product1'
|
||
* Product: '<S749>/change rate (dtg//sec)'
|
||
* Product: '<S749>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S749>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S749>/Add'
|
||
* Sum: '<S760>/Subtract'
|
||
* Switch: '<S763>/Switch'
|
||
* UnitDelay: '<S760>/Unit Delay'
|
||
*/
|
||
rtDW.Dtg_FLL = (uint8_t)((double)rtb_Gain_l / (double)rtb_Gain2 /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE) * (double)i +
|
||
(double)rtDW.Dtg_FLL);
|
||
}
|
||
|
||
/* End of Switch: '<S749>/Switch' */
|
||
|
||
/* MATLAB Function: '<S750>/step' */
|
||
Dtg_FrontUpper_X(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S750>/time for step' */
|
||
timeforstep_a(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Switch: '<S750>/Switch' incorporates:
|
||
* Constant: '<S764>/epsilon'
|
||
* DataStoreRead: '<S750>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S750>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S764>/Relational Operator'
|
||
* RelationalOperator: '<S768>/Relational Operator'
|
||
* Sum: '<S764>/Add'
|
||
* Switch: '<S768>/Switch'
|
||
*/
|
||
if ((uint8_t)(rtDW.Dtg_FUL - rtDW.Dtg_logic_FUL) <= 0.01) {
|
||
/* DataStoreWrite: '<S625>/Data Store Write11' */
|
||
rtDW.Dtg_FUL = rtDW.Dtg_logic_FUL;
|
||
} else {
|
||
if (rtDW.Dtg_FUL <= rtDW.Dtg_logic_FUL) {
|
||
/* Switch: '<S768>/Switch' incorporates:
|
||
* Constant: '<S768>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S768>/Switch' incorporates:
|
||
* Constant: '<S768>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S625>/Data Store Write11' incorporates:
|
||
* Constant: '<S750>/Constant'
|
||
* DataStoreRead: '<S750>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S750>/Product1'
|
||
* Product: '<S750>/change rate (dtg//sec)'
|
||
* Product: '<S750>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S750>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S750>/Add'
|
||
* Sum: '<S765>/Subtract'
|
||
* Switch: '<S768>/Switch'
|
||
* UnitDelay: '<S765>/Unit Delay'
|
||
*/
|
||
rtDW.Dtg_FUL = (uint8_t)((double)rtb_Gain_l / (double)rtb_Gain2 /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_b) * (double)i
|
||
+ (double)rtDW.Dtg_FUL);
|
||
}
|
||
|
||
/* End of Switch: '<S750>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S625>/Data Store Write' incorporates:
|
||
* MATLAB Function: '<S625>/incar filter up'
|
||
*/
|
||
incarfilterup(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S625>/Data Store Write1' incorporates:
|
||
* MATLAB Function: '<S625>/incar filter down'
|
||
*/
|
||
incarfilterdown(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* MATLAB Function: '<S625>/autodemist (autodefog)' */
|
||
autodemistautodefog(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* Sum: '<S774>/Add' incorporates:
|
||
* DataStoreRead: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtb_Gain2 = (uint8_t)(rtDW.Mode_FL - rtDW.Mode_logic_FL);
|
||
|
||
/* MATLAB Function: '<S757>/step' */
|
||
step_l(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S757>/time for step' */
|
||
timeforstep_f(rtB.Merge_b, &rtb_u_pe);
|
||
|
||
/* Switch: '<S757>/Switch' incorporates:
|
||
* Constant: '<S774>/epsilon'
|
||
* DataStoreRead: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S774>/Relational Operator'
|
||
* RelationalOperator: '<S778>/Relational Operator'
|
||
* Switch: '<S778>/Switch'
|
||
*/
|
||
if (rtb_Gain2 <= 0.01) {
|
||
/* DataStoreWrite: '<S625>/Data Store Write3' incorporates:
|
||
* DataStoreRead: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtDW.Mode_FL = rtDW.Mode_logic_FL;
|
||
} else {
|
||
if (rtDW.Mode_FL <= rtDW.Mode_logic_FL) {
|
||
/* Switch: '<S778>/Switch' incorporates:
|
||
* Constant: '<S778>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S778>/Switch' incorporates:
|
||
* Constant: '<S778>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S625>/Data Store Write3' incorporates:
|
||
* Constant: '<S757>/Constant'
|
||
* DataStoreRead: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S757>/Product1'
|
||
* Product: '<S757>/change rate (step//sec)'
|
||
* Product: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S757>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S757>/Add'
|
||
* Sum: '<S775>/Subtract'
|
||
* Switch: '<S778>/Switch'
|
||
* UnitDelay: '<S775>/Unit Delay'
|
||
*/
|
||
rtDW.Mode_FL = (uint8_t)((double)rtb_Gain_l / (double)rtb_u_pe /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_m) * (double)i
|
||
+ (double)rtDW.Mode_FL);
|
||
}
|
||
|
||
/* End of Switch: '<S757>/Switch' */
|
||
|
||
/* MATLAB Function: '<S625>/window heating' */
|
||
windowheating_k(rtB.Merge_b, &rtb_Gain2);
|
||
|
||
/* Sum: '<S769>/Add' incorporates:
|
||
* DataStoreRead: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
Blower_FR = (uint16_t)(rtDW.Blower_FL - rtDW.Blower_logic_FL);
|
||
|
||
/* RelationalOperator: '<S769>/Relational Operator' incorporates:
|
||
* Constant: '<S769>/epsilon'
|
||
*/
|
||
rtb_LogicalOperator1 = (Blower_FR <= 0.01);
|
||
|
||
/* MATLAB Function: '<S754>/blower step' */
|
||
blowerstep(rtB.Merge_b, &rtb_out_jk);
|
||
|
||
/* MATLAB Function: '<S754>/blower time for step' */
|
||
blowertimeforstep(rtB.Merge_b, &Blower_FR);
|
||
|
||
/* Switch: '<S754>/Switch' incorporates:
|
||
* DataStoreRead: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
* RelationalOperator: '<S773>/Relational Operator'
|
||
* Switch: '<S773>/Switch'
|
||
*/
|
||
if (rtb_LogicalOperator1) {
|
||
/* DataStoreWrite: '<S625>/Data Store Write6' incorporates:
|
||
* DataStoreRead: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> auto (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)'
|
||
*/
|
||
rtDW.Blower_FL = rtDW.Blower_logic_FL;
|
||
} else {
|
||
if (rtDW.Blower_FL <= rtDW.Blower_logic_FL) {
|
||
/* Switch: '<S773>/Switch' incorporates:
|
||
* Constant: '<S773>/Constant'
|
||
*/
|
||
i = 1;
|
||
} else {
|
||
/* Switch: '<S773>/Switch' incorporates:
|
||
* Constant: '<S773>/Constant1'
|
||
*/
|
||
i = -1;
|
||
}
|
||
|
||
/* DataStoreWrite: '<S625>/Data Store Write6' incorporates:
|
||
* Constant: '<S754>/Constant'
|
||
* DataStoreRead: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blower '
|
||
* DataStoreRead: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S754>/Product1'
|
||
* Product: '<S754>/change rate (step//sec)'
|
||
* Product: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
* Product: '<S754>/<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||
* Sum: '<S754>/Add'
|
||
* Sum: '<S770>/Subtract'
|
||
* Switch: '<S773>/Switch'
|
||
* UnitDelay: '<S770>/Unit Delay'
|
||
*/
|
||
rtDW.Blower_FL = (uint16_t)((double)rtb_out_jk / (double)Blower_FR /
|
||
1000.0 * (double)(rtDW.t_now - rtDW.UnitDelay_DSTATE_j) * (double)i
|
||
+ (double)rtDW.Blower_FL);
|
||
}
|
||
|
||
/* End of Switch: '<S754>/Switch' */
|
||
|
||
/* DataStoreWrite: '<S625>/Data Store Write7' incorporates:
|
||
* Constant: '<S625>/Recirc logic Partial REC'
|
||
*/
|
||
rtb_Divide1 = 1.0;
|
||
|
||
/* RelationalOperator: '<S625>/Equal' incorporates:
|
||
* DataStoreRead: '<S625>/current step'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.step_start_controle_front == 1);
|
||
|
||
/* MATLAB Function: '<S625>/Time goto from step 2 to step 3 ' */
|
||
Timegotofromstep2tostep3(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* RelationalOperator: '<S625>/Relational Operator1' incorporates:
|
||
* DataStoreRead: '<S751>/Data Store Read4'
|
||
* Gain: '<S625>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Sum: '<S751>/Subtract'
|
||
* UnitDelay: '<S751>/t_start_delay_private '
|
||
*/
|
||
rtb_LogicalOperator1_f = (rtDW.t_now -
|
||
rtDW.t_start_delay_private_DSTATE_g > (uint32_t)(1000 * Incar_FL));
|
||
|
||
/* Switch: '<S751>/Switch' incorporates:
|
||
* DataStoreRead: '<S751>/Data Store Read4'
|
||
* Logic: '<S751>/Logical Operator3'
|
||
* Logic: '<S751>/Logical Operator4'
|
||
* UnitDelay: '<S751>/Cond_prev_private '
|
||
* UnitDelay: '<S751>/t_start_delay_private '
|
||
*/
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_fw)) {
|
||
rtDW.t_start_delay_private_DSTATE_g = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S751>/Switch' */
|
||
|
||
/* Switch: '<S625>/Switch' incorporates:
|
||
* DataStoreRead: '<S625>/Data Store Read'
|
||
* Logic: '<S625>/Logical Operator'
|
||
*/
|
||
if (rtb_LogicalOperator1_f || rtDW.HI_logic_on) {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S625>/go to next step'
|
||
*/
|
||
rtB.Merge_i = 2;
|
||
} else {
|
||
/* Merge: '<S517>/Merge' incorporates:
|
||
* Constant: '<S625>/stay at step 1'
|
||
*/
|
||
rtB.Merge_i = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S625>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S760>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S749>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S765>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S750>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_b = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S775>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S757>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_m = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S770>/Unit Delay' incorporates:
|
||
* DataStoreRead: '<S754>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>'
|
||
*/
|
||
rtDW.UnitDelay_DSTATE_j = rtDW.t_now;
|
||
|
||
/* Update for UnitDelay: '<S751>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_fw = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S522>/Level 5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S522>/Switch Case' */
|
||
/* End of Outputs for SubSystem: '<S517>/Step 2 F' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S517>/Step 3' incorporates:
|
||
* ActionPort: '<S523>/Action Port'
|
||
*/
|
||
Step3(&rtB.Merge_i, &rtDW.start_control_finished_front);
|
||
|
||
/* End of Outputs for SubSystem: '<S517>/Step 3' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S517>/Switch Case' */
|
||
|
||
/* DataStoreWrite: '<S517>/Data Store Write' */
|
||
rtDW.step_start_controle_front = rtB.Merge_i;
|
||
|
||
/* End of Outputs for SubSystem: '<S6>/Start Control Front' */
|
||
}
|
||
|
||
/* End of If: '<S6>/<2F><><EFBFBD><EFBFBD> SC front <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' */
|
||
|
||
/* If: '<S6>/<2F><><EFBFBD><EFBFBD> SC rear <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1' incorporates:
|
||
* DataStoreRead: '<S6>/Data Store Read3'
|
||
*/
|
||
if (rtDW.start_control_finished_rear == 0.0) {
|
||
/* Outputs for IfAction SubSystem: '<S6>/Start Control Rear' incorporates:
|
||
* ActionPort: '<S518>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S518>/Switch Case' incorporates:
|
||
* DataStoreRead: '<S518>/Data Store Read'
|
||
*/
|
||
switch (rtDW.step_start_controle_rear) {
|
||
case -1:
|
||
/* Outputs for IfAction SubSystem: '<S518>/Step -1 F' incorporates:
|
||
* ActionPort: '<S779>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S779>/Switch Case' incorporates:
|
||
* DataStoreRead: '<S779>/Data Store Read1'
|
||
*/
|
||
switch (rtB.Merge_b) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S779>/Level 0' incorporates:
|
||
* ActionPort: '<S784>/Action Port'
|
||
*/
|
||
/* MATLAB Function: '<S784>/g_ausSTART_ENTER_SETTEMP' incorporates:
|
||
* DataStoreRead: '<S784>/Data Store Read4'
|
||
*/
|
||
/* : out = int16(g_assSTART_ENTER_INCAR(LVL + 1 + 6)); */
|
||
g_ausSTART_ENTER_SETTEMP_p(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* MATLAB Function: '<S784>/g_assSTART_ENTER_INCAR' incorporates:
|
||
* DataStoreRead: '<S784>/Data Store Read3'
|
||
*/
|
||
i = (int32_t)(rtB.Merge_b + 1U);
|
||
if (rtB.Merge_b + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)i + 6U);
|
||
if ((uint32_t)i + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
/* Switch: '<S784>/Switch' incorporates:
|
||
* Constant: '<S784>/AUTO'
|
||
* DataStoreRead: '<S3>/Data Store Read2'
|
||
* DataStoreRead: '<S784>/Data Store Read'
|
||
* DataStoreRead: '<S784>/Data Store Read1'
|
||
* DataStoreWrite: '<S3>/Data Store Write2'
|
||
* Logic: '<S784>/AND'
|
||
* MATLAB Function: '<S784>/g_assSTART_ENTER_INCAR'
|
||
* RelationalOperator: '<S784>/Relational Operator'
|
||
* RelationalOperator: '<S784>/Relational Operator1'
|
||
* RelationalOperator: '<S784>/Relational Operator2'
|
||
*/
|
||
if ((Incar_RR > g_assSTART_ENTER_INCAR[tmp_0 - 1]) &&
|
||
(rtDW.MODE_RR_passenger == 1.0) &&
|
||
(rtDW.FIU_CCU2_MODEL.FIU_TargetTempRR_Val_ro < Incar_FL)) {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S784>/Constant1'
|
||
*/
|
||
rtB.Merge_d = 0;
|
||
} else {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S784>/Constant'
|
||
*/
|
||
rtB.Merge_d = -1;
|
||
}
|
||
|
||
/* End of Switch: '<S784>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S779>/Level 0' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S779>/Level 1' incorporates:
|
||
* ActionPort: '<S785>/Action Port'
|
||
*/
|
||
/* MATLAB Function: '<S785>/g_assSTART_ENTER_INCAR' incorporates:
|
||
* DataStoreRead: '<S785>/Data Store Read3'
|
||
*/
|
||
g_assSTART_ENTER_INCAR_l(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* MATLAB Function: '<S785>/g_ausSTART_ENTER_SETTEMP' incorporates:
|
||
* DataStoreRead: '<S785>/Data Store Read4'
|
||
*/
|
||
g_ausSTART_ENTER_SETTEMP_p(rtB.Merge_b, &AMB);
|
||
|
||
/* Switch: '<S785>/Switch' incorporates:
|
||
* Constant: '<S785>/AUTO'
|
||
* DataStoreRead: '<S3>/Data Store Read2'
|
||
* DataStoreRead: '<S785>/Data Store Read'
|
||
* DataStoreRead: '<S785>/Data Store Read1'
|
||
* DataStoreWrite: '<S3>/Data Store Write2'
|
||
* Logic: '<S785>/AND'
|
||
* RelationalOperator: '<S785>/Relational Operator'
|
||
* RelationalOperator: '<S785>/Relational Operator1'
|
||
* RelationalOperator: '<S785>/Relational Operator2'
|
||
*/
|
||
if ((Incar_RR > Incar_FL) && (rtDW.MODE_RR_passenger == 1.0) &&
|
||
(rtDW.FIU_CCU2_MODEL.FIU_TargetTempRR_Val_ro < AMB)) {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S785>/Constant1'
|
||
*/
|
||
rtB.Merge_d = 0;
|
||
} else {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S785>/Constant'
|
||
*/
|
||
rtB.Merge_d = -1;
|
||
}
|
||
|
||
/* End of Switch: '<S785>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S779>/Level 1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S779>/Level 2' incorporates:
|
||
* ActionPort: '<S786>/Action Port'
|
||
*/
|
||
/* MATLAB Function: '<S786>/g_assSTART_ENTER_INCAR' incorporates:
|
||
* DataStoreRead: '<S786>/Data Store Read3'
|
||
*/
|
||
g_assSTART_ENTER_INCAR_l(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* MATLAB Function: '<S786>/g_ausSTART_ENTER_SETTEMP' incorporates:
|
||
* DataStoreRead: '<S786>/Data Store Read4'
|
||
*/
|
||
g_ausSTART_ENTER_SETTEMP_p(rtB.Merge_b, &AMB);
|
||
|
||
/* Switch: '<S786>/Switch' incorporates:
|
||
* Constant: '<S786>/AUTO'
|
||
* DataStoreRead: '<S3>/Data Store Read2'
|
||
* DataStoreRead: '<S786>/Data Store Read'
|
||
* DataStoreRead: '<S786>/Data Store Read1'
|
||
* DataStoreWrite: '<S3>/Data Store Write2'
|
||
* Logic: '<S786>/AND'
|
||
* RelationalOperator: '<S786>/Relational Operator'
|
||
* RelationalOperator: '<S786>/Relational Operator1'
|
||
* RelationalOperator: '<S786>/Relational Operator2'
|
||
*/
|
||
if ((Incar_RR < Incar_FL) && (rtDW.MODE_RR_passenger == 1.0) &&
|
||
(rtDW.FIU_CCU2_MODEL.FIU_TargetTempRR_Val_ro > AMB)) {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S786>/Constant1'
|
||
*/
|
||
rtB.Merge_d = 0;
|
||
} else {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S786>/Constant'
|
||
*/
|
||
rtB.Merge_d = -1;
|
||
}
|
||
|
||
/* End of Switch: '<S786>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S779>/Level 2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S779>/Level 3' incorporates:
|
||
* ActionPort: '<S787>/Action Port'
|
||
*/
|
||
/* MATLAB Function: '<S787>/g_assSTART_ENTER_INCAR' incorporates:
|
||
* DataStoreRead: '<S787>/Data Store Read4'
|
||
*/
|
||
g_assSTART_ENTER_INCAR_l(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* MATLAB Function: '<S787>/g_assSTART_ENTER_COOLANT ' incorporates:
|
||
* DataStoreRead: '<S787>/Data Store Read3'
|
||
*/
|
||
g_assSTART_ENTER_COOLANT_i(rtB.Merge_b, &AMB);
|
||
|
||
/* MATLAB Function: '<S787>/g_ausSTART_ENTER_SETTEMP' incorporates:
|
||
* DataStoreRead: '<S787>/Data Store Read6'
|
||
*/
|
||
/* : out = int16(g_ausSTART_ENTER_SETTEMP(LVL+1+6)); */
|
||
i = (int32_t)(rtB.Merge_b + 1U);
|
||
if (rtB.Merge_b + 1U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
tmp_0 = (int32_t)((uint32_t)i + 6U);
|
||
if ((uint32_t)i + 6U > 255U) {
|
||
tmp_0 = 255;
|
||
}
|
||
|
||
Blower_FR = g_ausSTART_ENTER_SETTEMP[tmp_0 - 1];
|
||
if (Blower_FR > 32767) {
|
||
Blower_FR = 32767U;
|
||
}
|
||
|
||
/* Switch: '<S787>/Switch' incorporates:
|
||
* Constant: '<S787>/AUTO'
|
||
* DataStoreRead: '<S3>/Data Store Read2'
|
||
* DataStoreRead: '<S787>/Data Store Read'
|
||
* DataStoreRead: '<S787>/Data Store Read1'
|
||
* DataStoreRead: '<S787>/Data Store Read2'
|
||
* DataStoreWrite: '<S3>/Data Store Write2'
|
||
* Logic: '<S787>/AND'
|
||
* Logic: '<S787>/AND1'
|
||
* MATLAB Function: '<S787>/g_ausSTART_ENTER_SETTEMP'
|
||
* RelationalOperator: '<S787>/Relational Operator'
|
||
* RelationalOperator: '<S787>/Relational Operator1'
|
||
* RelationalOperator: '<S787>/Relational Operator2'
|
||
* RelationalOperator: '<S787>/Relational Operator3'
|
||
*/
|
||
if (((Incar_RR < Incar_FL) || (rtDW.ECT < AMB)) &&
|
||
(rtDW.MODE_RR_passenger == 1.0) &&
|
||
(rtDW.FIU_CCU2_MODEL.FIU_TargetTempRR_Val_ro > Blower_FR)) {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S787>/Constant1'
|
||
*/
|
||
rtB.Merge_d = 0;
|
||
} else {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S787>/Constant'
|
||
*/
|
||
rtB.Merge_d = -1;
|
||
}
|
||
|
||
/* End of Switch: '<S787>/Switch' */
|
||
/* End of Outputs for SubSystem: '<S779>/Level 3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S779>/Level 4' incorporates:
|
||
* ActionPort: '<S788>/Action Port'
|
||
*/
|
||
Level4_i(&rtB.Merge_d, &rtDW.ECT, &Incar_RR, &rtB.Merge_b,
|
||
&rtDW.MODE_RR_passenger);
|
||
|
||
/* End of Outputs for SubSystem: '<S779>/Level 4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S779>/Level 5' incorporates:
|
||
* ActionPort: '<S789>/Action Port'
|
||
*/
|
||
Level4_i(&rtB.Merge_d, &rtDW.ECT, &Incar_RR, &rtB.Merge_b,
|
||
&rtDW.MODE_RR_passenger);
|
||
|
||
/* End of Outputs for SubSystem: '<S779>/Level 5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S779>/Switch Case' */
|
||
/* End of Outputs for SubSystem: '<S518>/Step -1 F' */
|
||
break;
|
||
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S518>/Step 0 F' incorporates:
|
||
* ActionPort: '<S780>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S780>/Switch Case' incorporates:
|
||
* DataStoreRead: '<S780>/Data Store Read1'
|
||
*/
|
||
switch (rtB.Merge_b) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S780>/Level 0' incorporates:
|
||
* ActionPort: '<S803>/Action Port'
|
||
*/
|
||
Level0(&rtB.Merge_d);
|
||
|
||
/* End of Outputs for SubSystem: '<S780>/Level 0' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S780>/Level 1' incorporates:
|
||
* ActionPort: '<S804>/Action Port'
|
||
*/
|
||
Level0(&rtB.Merge_d);
|
||
|
||
/* End of Outputs for SubSystem: '<S780>/Level 1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S780>/Level 2' incorporates:
|
||
* ActionPort: '<S805>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S805>/Data Store Write5' incorporates:
|
||
* Constant: '<S805>/Constant2'
|
||
*/
|
||
rtDW.Blower_RR = 10U;
|
||
|
||
/* DataStoreWrite: '<S805>/Data Store Write10' incorporates:
|
||
* Constant: '<S805>/Constant4'
|
||
*/
|
||
rtDW.Dtg_RR = 65U;
|
||
|
||
/* MATLAB Function: '<S805>/incar filter up' incorporates:
|
||
* DataStoreRead: '<S805>/Data Store Read1'
|
||
*/
|
||
incarfilterup_d(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S805>/incar filter down' incorporates:
|
||
* DataStoreRead: '<S805>/Data Store Read2'
|
||
*/
|
||
incarfilterdown_j(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S805>/Data Store Write2' incorporates:
|
||
* Constant: '<S805>/Mode - foot'
|
||
*/
|
||
rtDW.Mode_RR = 60U;
|
||
|
||
/* MATLAB Function: '<S805>/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates:
|
||
* DataStoreRead: '<S805>/Data Store Read3'
|
||
*/
|
||
/* : out = int16(g_assSTART_COOLANT_STEP0_TO_1(LVL + 3)); */
|
||
i = (int32_t)(rtB.Merge_b + 3U);
|
||
if (rtB.Merge_b + 3U > 255U) {
|
||
i = 255;
|
||
}
|
||
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* DataStoreRead: '<S805>/Engine coolant temp'
|
||
* MATLAB Function: '<S805>/g_assSTART_COOLANT_STEP0_TO_1 '
|
||
* RelationalOperator: '<S805>/Relational Operator'
|
||
* Switch: '<S805>/Switch'
|
||
*/
|
||
rtB.Merge_d = (int8_t)(rtDW.ECT > g_assSTART_COOLANT_STEP0_TO_1[i - 1]);
|
||
|
||
/* End of Outputs for SubSystem: '<S780>/Level 2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S780>/Level 3' incorporates:
|
||
* ActionPort: '<S806>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S806>/Data Store Write5' incorporates:
|
||
* Constant: '<S806>/Constant2'
|
||
*/
|
||
rtDW.Blower_RR = 10U;
|
||
|
||
/* DataStoreWrite: '<S806>/Data Store Write10' incorporates:
|
||
* Constant: '<S806>/Constant4'
|
||
*/
|
||
rtDW.Dtg_RR = 65U;
|
||
|
||
/* MATLAB Function: '<S806>/incar filter up' incorporates:
|
||
* DataStoreRead: '<S806>/Data Store Read1'
|
||
*/
|
||
incarfilterup_d(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* MATLAB Function: '<S806>/incar filter down' incorporates:
|
||
* DataStoreRead: '<S806>/Data Store Read2'
|
||
*/
|
||
incarfilterdown_j(rtB.Merge_b, &rtb_Gain_l);
|
||
|
||
/* DataStoreWrite: '<S806>/Data Store Write2' incorporates:
|
||
* Constant: '<S806>/Mode - foot'
|
||
*/
|
||
rtDW.Mode_RR = 60U;
|
||
|
||
/* MATLAB Function: '<S806>/g_assSTART_COOLANT_STEP0_TO_1 ' incorporates:
|
||
* DataStoreRead: '<S806>/Data Store Read3'
|
||
*/
|
||
g_assSTART_COOLANT_STEP0_TO_1_g(rtB.Merge_b, &Incar_RR);
|
||
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* DataStoreRead: '<S806>/Engine coolant temp'
|
||
* RelationalOperator: '<S806>/Relational Operator'
|
||
* Switch: '<S806>/Switch'
|
||
*/
|
||
rtB.Merge_d = (int8_t)(rtDW.ECT > Incar_RR);
|
||
|
||
/* End of Outputs for SubSystem: '<S780>/Level 3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S780>/Level 4' incorporates:
|
||
* ActionPort: '<S807>/Action Port'
|
||
*/
|
||
Level4_h(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &Dtg_FUR,
|
||
&rtDW.Dtg_RR, &rtDW.ECT, &rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b,
|
||
&El_window_heating, &rtDW.Mode_RR, &Valve_2_way, &rtb_u_pe);
|
||
|
||
/* End of Outputs for SubSystem: '<S780>/Level 4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S780>/Level 5' incorporates:
|
||
* ActionPort: '<S808>/Action Port'
|
||
*/
|
||
Level4_h(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &Dtg_FUR,
|
||
&rtDW.Dtg_RR, &rtDW.ECT, &rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b,
|
||
&El_window_heating, &rtDW.Mode_RR, &Valve_2_way, &rtb_u_pe);
|
||
|
||
/* End of Outputs for SubSystem: '<S780>/Level 5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S780>/Switch Case' */
|
||
/* End of Outputs for SubSystem: '<S518>/Step 0 F' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S518>/Step 1 F' incorporates:
|
||
* ActionPort: '<S781>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S781>/Switch Case' incorporates:
|
||
* DataStoreRead: '<S781>/Data Store Read1'
|
||
*/
|
||
switch (rtB.Merge_b) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S781>/Level 0' incorporates:
|
||
* ActionPort: '<S821>/Action Port'
|
||
*/
|
||
Level0_h(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &Dtg_FUR,
|
||
&rtDW.Dtg_RR, &Incar_RR, &rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b,
|
||
&El_window_heating, &rtDW.Mode_RR, &rtb_Divide1, &Valve_2_way,
|
||
&rtDW.step_start_controle_rear, &rtDW.t_now, &rtDW.Level0_he);
|
||
|
||
/* End of Outputs for SubSystem: '<S781>/Level 0' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S781>/Level 1' incorporates:
|
||
* ActionPort: '<S822>/Action Port'
|
||
*/
|
||
Level0_h(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &Dtg_FUR,
|
||
&rtDW.Dtg_RR, &Incar_RR, &rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b,
|
||
&El_window_heating, &rtDW.Mode_RR, &rtb_Divide1, &Valve_2_way,
|
||
&rtDW.step_start_controle_rear, &rtDW.t_now, &rtDW.Level1_h);
|
||
|
||
/* End of Outputs for SubSystem: '<S781>/Level 1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S781>/Level 2' incorporates:
|
||
* ActionPort: '<S823>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S823>/Data Store Write2' incorporates:
|
||
* DataStoreRead: '<S823>/Data Store Read1'
|
||
* DataStoreRead: '<S823>/Data Store Read2'
|
||
* DataStoreRead: '<S823>/Data Store Read5'
|
||
* DataStoreRead: '<S823>/Data Store Read6'
|
||
* MATLAB Function: '<S823>/2 way valve'
|
||
* MATLAB Function: '<S823>/incar filter down'
|
||
* MATLAB Function: '<S823>/incar filter up'
|
||
* MATLAB Function: '<S823>/mode rear step 1'
|
||
*/
|
||
uwayvalve(rtB.Merge_b, &rtDW.Mode_RR);
|
||
incarfilterup_d(rtB.Merge_b, &rtDW.Mode_RR);
|
||
incarfilterdown_j(rtB.Merge_b, &rtDW.Mode_RR);
|
||
moderearstep1(rtB.Merge_b, &rtDW.Mode_RR);
|
||
|
||
/* MATLAB Function: '<S850>/blower start finish' incorporates:
|
||
* DataStoreRead: '<S823>/Data Store Read7'
|
||
*/
|
||
blowerstartfinish(rtB.Merge_b, rtb_out_fw);
|
||
|
||
/* MATLAB Function: '<S850>/ECT min max' */
|
||
/* : min = int16(g_assSTART_COOLANT_STEP0_TO_1(5)); */
|
||
/* : max = int16(g_assSTART_COOLANT_TO_STEP2(2)); */
|
||
/* : out = [min, max]; */
|
||
rtb_out_nh[0] = g_assSTART_COOLANT_STEP0_TO_1[4];
|
||
rtb_out_nh[1] = g_assSTART_COOLANT_TO_STEP2[1];
|
||
|
||
/* Lookup_n-D: '<S850>/blower <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ECT' incorporates:
|
||
* DataStoreRead: '<S850>/engine coolant temp'
|
||
* DataStoreWrite: '<S823>/Data Store Write5'
|
||
*/
|
||
rtDW.Blower_RR = look1_iu16bs16lu64n32_binlcse(rtDW.ECT, rtb_out_nh,
|
||
rtb_out_fw, 1U);
|
||
|
||
/* DataStoreWrite: '<S823>/Data Store Write10' incorporates:
|
||
* DataStoreRead: '<S823>/Data Store Read8'
|
||
* MATLAB Function: '<S823>/Dtg_rear'
|
||
*/
|
||
Dtg_rear(rtB.Merge_b, &rtDW.Dtg_RR);
|
||
|
||
/* RelationalOperator: '<S823>/Equal' incorporates:
|
||
* DataStoreRead: '<S823>/current step'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.step_start_controle_rear == 1);
|
||
|
||
/* MATLAB Function: '<S823>/Incar temp goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S823>/Data Store Read3'
|
||
*/
|
||
Incartempgotofromstep1tostep2_b(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* Sum: '<S848>/Subtract' incorporates:
|
||
* DataStoreRead: '<S848>/Data Store Read4'
|
||
* UnitDelay: '<S848>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_du = rtDW.t_now - rtDW.t_start_delay_private_DSTATE_l;
|
||
|
||
/* MATLAB Function: '<S823>/Time goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S823>/Data Store Read4'
|
||
*/
|
||
Timegotofromstep1tostep2_h(rtB.Merge_b, &AMB);
|
||
|
||
/* Switch: '<S848>/Switch' incorporates:
|
||
* DataStoreRead: '<S848>/Data Store Read4'
|
||
* Logic: '<S848>/Logical Operator3'
|
||
* Logic: '<S848>/Logical Operator4'
|
||
* UnitDelay: '<S848>/Cond_prev_private '
|
||
* UnitDelay: '<S848>/t_start_delay_private '
|
||
*/
|
||
/* : out = int16(g_assSTART_COOLANT_TO_STEP2(2)); */
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_hp)) {
|
||
rtDW.t_start_delay_private_DSTATE_l = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S848>/Switch' */
|
||
|
||
/* Switch: '<S823>/Switch' incorporates:
|
||
* DataStoreRead: '<S823>/engine coolant temp'
|
||
* DataStoreRead: '<S823>/incar temp'
|
||
* Gain: '<S823>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Logic: '<S823>/Logical Operator'
|
||
* MATLAB Function: '<S823>/g_assSTART_COOLANT_TO_STEP2 '
|
||
* RelationalOperator: '<S823>/Relational Operator'
|
||
* RelationalOperator: '<S823>/Relational Operator1'
|
||
* RelationalOperator: '<S823>/Relational Operator2'
|
||
*/
|
||
if ((Incar_RR > Incar_FL) || (rtb_dt_du > (uint16_t)(1000 * AMB)) ||
|
||
(rtDW.ECT > g_assSTART_COOLANT_TO_STEP2[1])) {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S823>/go to next step'
|
||
*/
|
||
rtB.Merge_d = 2;
|
||
} else {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S823>/stay at step 1'
|
||
*/
|
||
rtB.Merge_d = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S823>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S848>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_hp = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S781>/Level 2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S781>/Level 3' incorporates:
|
||
* ActionPort: '<S824>/Action Port'
|
||
*/
|
||
/* DataStoreWrite: '<S824>/Data Store Write2' incorporates:
|
||
* DataStoreRead: '<S824>/Data Store Read1'
|
||
* DataStoreRead: '<S824>/Data Store Read2'
|
||
* DataStoreRead: '<S824>/Data Store Read5'
|
||
* DataStoreRead: '<S824>/Data Store Read6'
|
||
* MATLAB Function: '<S824>/2 way valve'
|
||
* MATLAB Function: '<S824>/incar filter down'
|
||
* MATLAB Function: '<S824>/incar filter up'
|
||
* MATLAB Function: '<S824>/mode rear step 1'
|
||
*/
|
||
uwayvalve(rtB.Merge_b, &rtDW.Mode_RR);
|
||
incarfilterup_d(rtB.Merge_b, &rtDW.Mode_RR);
|
||
incarfilterdown_j(rtB.Merge_b, &rtDW.Mode_RR);
|
||
moderearstep1(rtB.Merge_b, &rtDW.Mode_RR);
|
||
|
||
/* MATLAB Function: '<S862>/blower start finish' incorporates:
|
||
* DataStoreRead: '<S824>/Data Store Read7'
|
||
*/
|
||
blowerstartfinish(rtB.Merge_b, rtb_out_fw);
|
||
|
||
/* MATLAB Function: '<S862>/ECT min max' incorporates:
|
||
* DataStoreRead: '<S824>/Data Store Read7'
|
||
*/
|
||
ECTminmax_h(rtB.Merge_b, rtb_out_nh);
|
||
|
||
/* Lookup_n-D: '<S862>/blower <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ECT' incorporates:
|
||
* DataStoreRead: '<S862>/engine coolant temp'
|
||
* DataStoreWrite: '<S824>/Data Store Write5'
|
||
*/
|
||
rtDW.Blower_RR = look1_iu16bs16lu64n32_binlcse(rtDW.ECT, rtb_out_nh,
|
||
rtb_out_fw, 1U);
|
||
|
||
/* DataStoreWrite: '<S824>/Data Store Write10' incorporates:
|
||
* DataStoreRead: '<S824>/Data Store Read8'
|
||
* MATLAB Function: '<S824>/Dtg_rear'
|
||
*/
|
||
Dtg_rear(rtB.Merge_b, &rtDW.Dtg_RR);
|
||
|
||
/* RelationalOperator: '<S824>/Equal' incorporates:
|
||
* DataStoreRead: '<S824>/current step'
|
||
*/
|
||
rtb_LogicalOperator1 = (rtDW.step_start_controle_rear == 1);
|
||
|
||
/* MATLAB Function: '<S824>/Incar temp goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S824>/Data Store Read3'
|
||
*/
|
||
Incartempgotofromstep1tostep2_b(rtB.Merge_b, &Incar_FL);
|
||
|
||
/* Sum: '<S860>/Subtract' incorporates:
|
||
* DataStoreRead: '<S860>/Data Store Read4'
|
||
* UnitDelay: '<S860>/t_start_delay_private '
|
||
*/
|
||
rtb_dt_du = rtDW.t_now - rtDW.t_start_delay_private_DSTATE_m;
|
||
|
||
/* MATLAB Function: '<S824>/Time goto from step 1 to step 2 ' incorporates:
|
||
* DataStoreRead: '<S824>/Data Store Read4'
|
||
*/
|
||
Timegotofromstep1tostep2_h(rtB.Merge_b, &AMB);
|
||
|
||
/* Switch: '<S860>/Switch' incorporates:
|
||
* DataStoreRead: '<S860>/Data Store Read4'
|
||
* Logic: '<S860>/Logical Operator3'
|
||
* Logic: '<S860>/Logical Operator4'
|
||
* UnitDelay: '<S860>/Cond_prev_private '
|
||
* UnitDelay: '<S860>/t_start_delay_private '
|
||
*/
|
||
/* : out = int16(g_assSTART_COOLANT_TO_STEP2(3)); */
|
||
if (rtb_LogicalOperator1 && (!rtDW.Cond_prev_private_DSTATE_im)) {
|
||
rtDW.t_start_delay_private_DSTATE_m = rtDW.t_now;
|
||
}
|
||
|
||
/* End of Switch: '<S860>/Switch' */
|
||
|
||
/* Switch: '<S824>/Switch' incorporates:
|
||
* DataStoreRead: '<S824>/engine coolant temp'
|
||
* DataStoreRead: '<S824>/incar temp'
|
||
* Gain: '<S824>/<2F><> <20><><EFBFBD> <20> <20><>'
|
||
* Logic: '<S824>/Logical Operator'
|
||
* MATLAB Function: '<S824>/g_assSTART_COOLANT_TO_STEP2 '
|
||
* RelationalOperator: '<S824>/Relational Operator'
|
||
* RelationalOperator: '<S824>/Relational Operator1'
|
||
* RelationalOperator: '<S824>/Relational Operator2'
|
||
*/
|
||
if ((Incar_RR > Incar_FL) || (rtb_dt_du > (uint16_t)(1000 * AMB)) ||
|
||
(rtDW.ECT > g_assSTART_COOLANT_TO_STEP2[2])) {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S824>/go to next step'
|
||
*/
|
||
rtB.Merge_d = 2;
|
||
} else {
|
||
/* Merge: '<S518>/Merge' incorporates:
|
||
* Constant: '<S824>/stay at step 1'
|
||
*/
|
||
rtB.Merge_d = 1;
|
||
}
|
||
|
||
/* End of Switch: '<S824>/Switch' */
|
||
|
||
/* Update for UnitDelay: '<S860>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_im = rtb_LogicalOperator1;
|
||
|
||
/* End of Outputs for SubSystem: '<S781>/Level 3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S781>/Level 4' incorporates:
|
||
* ActionPort: '<S825>/Action Port'
|
||
*/
|
||
Level4_d(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &Dtg_FUR,
|
||
&rtDW.Dtg_RR, &rtDW.ECT, &Incar_RR, &rtb_Gain2, &rtb_Gain_l,
|
||
&rtB.Merge_b, &El_window_heating, &rtDW.Mode_RR, &rtb_Divide1,
|
||
&Valve_2_way, &rtDW.step_start_controle_rear, &rtDW.t_now,
|
||
&rtDW.Level4_di);
|
||
|
||
/* End of Outputs for SubSystem: '<S781>/Level 4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S781>/Level 5' incorporates:
|
||
* ActionPort: '<S826>/Action Port'
|
||
*/
|
||
Level4_d(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &Dtg_FUR,
|
||
&rtDW.Dtg_RR, &rtDW.ECT, &Incar_RR, &rtb_Gain2, &rtb_Gain_l,
|
||
&rtB.Merge_b, &El_window_heating, &rtDW.Mode_RR, &rtb_Divide1,
|
||
&Valve_2_way, &rtDW.step_start_controle_rear, &rtDW.t_now,
|
||
&rtDW.Level5_p);
|
||
|
||
/* End of Outputs for SubSystem: '<S781>/Level 5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S781>/Switch Case' */
|
||
/* End of Outputs for SubSystem: '<S518>/Step 1 F' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S518>/Step 2 F' incorporates:
|
||
* ActionPort: '<S782>/Action Port'
|
||
*/
|
||
/* SwitchCase: '<S782>/Switch Case' incorporates:
|
||
* DataStoreRead: '<S782>/Data Store Read1'
|
||
*/
|
||
switch (rtB.Merge_b) {
|
||
case 0:
|
||
/* Outputs for IfAction SubSystem: '<S782>/Level 0' incorporates:
|
||
* ActionPort: '<S891>/Action Port'
|
||
*/
|
||
Level0_j(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR,
|
||
&rtDW.Blower_logic_RR, &Dtg_FUR, &rtDW.Dtg_RR,
|
||
&rtDW.Dtg_logic_RR, &rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b,
|
||
&El_window_heating, &rtDW.Mode_RR, &rtDW.Mode_logic_RR,
|
||
&rtb_Divide1, &Valve_2_way, &rtDW.step_start_controle_rear,
|
||
&rtDW.t_now, &rtDW.Level0_jq);
|
||
|
||
/* End of Outputs for SubSystem: '<S782>/Level 0' */
|
||
break;
|
||
|
||
case 1:
|
||
/* Outputs for IfAction SubSystem: '<S782>/Level 1' incorporates:
|
||
* ActionPort: '<S892>/Action Port'
|
||
*/
|
||
Level0_j(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR,
|
||
&rtDW.Blower_logic_RR, &Dtg_FUR, &rtDW.Dtg_RR,
|
||
&rtDW.Dtg_logic_RR, &rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b,
|
||
&El_window_heating, &rtDW.Mode_RR, &rtDW.Mode_logic_RR,
|
||
&rtb_Divide1, &Valve_2_way, &rtDW.step_start_controle_rear,
|
||
&rtDW.t_now, &rtDW.Level1_ha);
|
||
|
||
/* End of Outputs for SubSystem: '<S782>/Level 1' */
|
||
break;
|
||
|
||
case 2:
|
||
/* Outputs for IfAction SubSystem: '<S782>/Level 2' incorporates:
|
||
* ActionPort: '<S893>/Action Port'
|
||
*/
|
||
Level2(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &rtDW.Blower_logic_RR,
|
||
&Dtg_FUR, &rtDW.Dtg_RR, &rtDW.Dtg_logic_RR, &rtDW.HI_logic_on,
|
||
&rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b, &El_window_heating,
|
||
&rtDW.Mode_RR, &rtDW.Mode_logic_RR, &rtb_Divide1, &Valve_2_way,
|
||
&rtDW.step_start_controle_rear, &rtDW.t_now, &rtDW.Level2_al);
|
||
|
||
/* End of Outputs for SubSystem: '<S782>/Level 2' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S782>/Level 3' incorporates:
|
||
* ActionPort: '<S894>/Action Port'
|
||
*/
|
||
Level2(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &rtDW.Blower_logic_RR,
|
||
&Dtg_FUR, &rtDW.Dtg_RR, &rtDW.Dtg_logic_RR, &rtDW.HI_logic_on,
|
||
&rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b, &El_window_heating,
|
||
&rtDW.Mode_RR, &rtDW.Mode_logic_RR, &rtb_Divide1, &Valve_2_way,
|
||
&rtDW.step_start_controle_rear, &rtDW.t_now, &rtDW.Level3_n);
|
||
|
||
/* End of Outputs for SubSystem: '<S782>/Level 3' */
|
||
break;
|
||
|
||
case 4:
|
||
/* Outputs for IfAction SubSystem: '<S782>/Level 4' incorporates:
|
||
* ActionPort: '<S895>/Action Port'
|
||
*/
|
||
Level2(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &rtDW.Blower_logic_RR,
|
||
&Dtg_FUR, &rtDW.Dtg_RR, &rtDW.Dtg_logic_RR, &rtDW.HI_logic_on,
|
||
&rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b, &El_window_heating,
|
||
&rtDW.Mode_RR, &rtDW.Mode_logic_RR, &rtb_Divide1, &Valve_2_way,
|
||
&rtDW.step_start_controle_rear, &rtDW.t_now, &rtDW.Level4_c);
|
||
|
||
/* End of Outputs for SubSystem: '<S782>/Level 4' */
|
||
break;
|
||
|
||
case 5:
|
||
/* Outputs for IfAction SubSystem: '<S782>/Level 5' incorporates:
|
||
* ActionPort: '<S896>/Action Port'
|
||
*/
|
||
Level2(&rtB.Merge_d, &Blower_FR, &rtDW.Blower_RR, &rtDW.Blower_logic_RR,
|
||
&Dtg_FUR, &rtDW.Dtg_RR, &rtDW.Dtg_logic_RR, &rtDW.HI_logic_on,
|
||
&rtb_Gain2, &rtb_Gain_l, &rtB.Merge_b, &El_window_heating,
|
||
&rtDW.Mode_RR, &rtDW.Mode_logic_RR, &rtb_Divide1, &Valve_2_way,
|
||
&rtDW.step_start_controle_rear, &rtDW.t_now, &rtDW.Level5_e);
|
||
|
||
/* End of Outputs for SubSystem: '<S782>/Level 5' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S782>/Switch Case' */
|
||
/* End of Outputs for SubSystem: '<S518>/Step 2 F' */
|
||
break;
|
||
|
||
case 3:
|
||
/* Outputs for IfAction SubSystem: '<S518>/Step 3' incorporates:
|
||
* ActionPort: '<S783>/Action Port'
|
||
*/
|
||
Step3(&rtB.Merge_d, &rtDW.start_control_finished_front);
|
||
|
||
/* End of Outputs for SubSystem: '<S518>/Step 3' */
|
||
break;
|
||
}
|
||
|
||
/* End of SwitchCase: '<S518>/Switch Case' */
|
||
|
||
/* DataStoreWrite: '<S518>/Data Store Write' */
|
||
rtDW.step_start_controle_rear = rtB.Merge_d;
|
||
|
||
/* End of Outputs for SubSystem: '<S6>/Start Control Rear' */
|
||
}
|
||
|
||
/* End of If: '<S6>/<2F><><EFBFBD><EFBFBD> SC rear <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1' */
|
||
|
||
/* Test Sequence: '<Root>/Test Sequence' */
|
||
if (rtDW.temporalCounter_i1 < 7U) {
|
||
rtDW.temporalCounter_i1++;
|
||
}
|
||
|
||
if (rtDW.is_active_c371_HVAC_model == 0U) {
|
||
rtDW.is_active_c371_HVAC_model = 1U;
|
||
rtDW.temporalCounter_i1 = 0U;
|
||
rtDW.is_c371_HVAC_model = IN_step_1;
|
||
|
||
/* : ADC_Data_Model.Sensor_Ambient_Temp= uint16(300); */
|
||
rtDW.ADC_Data_Model.Sensor_Ambient_Temp = 300U;
|
||
|
||
/* : FIU_CCU1_MODEL.FIU_TargetTempFL_Val_ro = uint8(13); */
|
||
rtDW.FIU_CCU1_MODEL.FIU_TargetTempFL_Val_ro = 13U;
|
||
|
||
/* : ADC_Data_Model.IGN_ANS = uint16(300); */
|
||
rtDW.ADC_Data_Model.IGN_ANS = 300U;
|
||
|
||
/* : t_now = uint32(0); */
|
||
rtDW.t_now = 0U;
|
||
} else {
|
||
switch (rtDW.is_c371_HVAC_model) {
|
||
case IN_step_1:
|
||
/* : sf_internal_predicateOutput = after(2, sec); */
|
||
if (rtDW.temporalCounter_i1 >= 2U) {
|
||
rtDW.temporalCounter_i1 = 0U;
|
||
rtDW.is_c371_HVAC_model = IN_step_2;
|
||
|
||
/* : ADC_Data_Model.Sensor_Ambient_Temp = uint16(800); */
|
||
rtDW.ADC_Data_Model.Sensor_Ambient_Temp = 800U;
|
||
|
||
/* : t_now = uint32(2000); */
|
||
rtDW.t_now = 2000U;
|
||
} else {
|
||
/* : ADC_Data_Model.Sensor_Ambient_Temp= uint16(300); */
|
||
rtDW.ADC_Data_Model.Sensor_Ambient_Temp = 300U;
|
||
|
||
/* : FIU_CCU1_MODEL.FIU_TargetTempFL_Val_ro = uint8(13); */
|
||
rtDW.FIU_CCU1_MODEL.FIU_TargetTempFL_Val_ro = 13U;
|
||
|
||
/* : ADC_Data_Model.IGN_ANS = uint16(300); */
|
||
rtDW.ADC_Data_Model.IGN_ANS = 300U;
|
||
|
||
/* : t_now = uint32(0); */
|
||
rtDW.t_now = 0U;
|
||
}
|
||
break;
|
||
|
||
case IN_step_2:
|
||
/* : sf_internal_predicateOutput = after(5, sec); */
|
||
if (rtDW.temporalCounter_i1 >= 5U) {
|
||
rtDW.is_c371_HVAC_model = IN_step_3;
|
||
|
||
/* : ADC_Data_Model.IGN_ANS = uint16(0); */
|
||
rtDW.ADC_Data_Model.IGN_ANS = 0U;
|
||
} else {
|
||
/* : ADC_Data_Model.Sensor_Ambient_Temp = uint16(800); */
|
||
rtDW.ADC_Data_Model.Sensor_Ambient_Temp = 800U;
|
||
|
||
/* : t_now = uint32(2000); */
|
||
rtDW.t_now = 2000U;
|
||
}
|
||
break;
|
||
|
||
default:
|
||
/* case IN_step_3: */
|
||
/* : ADC_Data_Model.IGN_ANS = uint16(0); */
|
||
rtDW.ADC_Data_Model.IGN_ANS = 0U;
|
||
break;
|
||
}
|
||
}
|
||
|
||
/* End of Test Sequence: '<Root>/Test Sequence' */
|
||
|
||
/* Update for UnitDelay: '<S296>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE = rtb_FailCond;
|
||
|
||
/* Update for UnitDelay: '<S303>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_h = rtb_FailCond_f;
|
||
|
||
/* Update for UnitDelay: '<S310>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_i = rtb_FailCond_g;
|
||
|
||
/* Update for UnitDelay: '<S332>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_e = rtb_FailCond_mg;
|
||
|
||
/* Update for UnitDelay: '<S358>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_c = rtb_FailCond_e;
|
||
|
||
/* Update for UnitDelay: '<S359>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_b = rtb_FailCond_a;
|
||
|
||
/* Update for UnitDelay: '<S372>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_j = rtb_FailCond_l;
|
||
|
||
/* Update for UnitDelay: '<S373>/Cond_prev_private ' */
|
||
rtDW.Cond_prev_private_DSTATE_f = rtb_FailCond_b;
|
||
}
|
||
|
||
/* Model initialize function */
|
||
void HVAC_model_initialize(void)
|
||
{
|
||
{
|
||
int32_t i;
|
||
|
||
/* Start for DataStoreMemory: '<S381>/Data Store Memory1' */
|
||
for (i = 0; i < 9; i++) {
|
||
rtDW.ErrorCalibration_private[i] = 1U;
|
||
}
|
||
|
||
/* End of Start for DataStoreMemory: '<S381>/Data Store Memory1' */
|
||
|
||
/* Start for DataStoreMemory: '<S6>/Data Store Memory' */
|
||
rtDW.step_start_controle_front = -1;
|
||
|
||
/* Start for DataStoreMemory: '<S6>/Data Store Memory1' */
|
||
rtDW.step_start_controle_rear = -1;
|
||
|
||
/* Start for DataStoreMemory: '<Root>/Data Store Memory42' */
|
||
rtDW.ADC_Data_Model = rtConstP.DataStoreMemory42_InitialValue;
|
||
|
||
/* Start for DataStoreMemory: '<Root>/Data Store Memory5' */
|
||
rtDW.t_now = 10U;
|
||
|
||
/* SystemInitialize for IfAction SubSystem: '<S381>/Homing' */
|
||
/* SystemInitialize for IfAction SubSystem: '<S388>/Switch Case Action Subsystem3' */
|
||
/* SystemInitialize for IfAction SubSystem: '<S408>/If Action Subsystem' */
|
||
/* SystemInitialize for IfAction SubSystem: '<S419>/If Action Subsystem' */
|
||
/* SystemInitialize for SignalConversion generated from: '<S421>/Out1' */
|
||
rtB.OutportBufferForOut1 = 2;
|
||
|
||
/* End of SystemInitialize for SubSystem: '<S419>/If Action Subsystem' */
|
||
/* End of SystemInitialize for SubSystem: '<S408>/If Action Subsystem' */
|
||
/* End of SystemInitialize for SubSystem: '<S388>/Switch Case Action Subsystem3' */
|
||
/* End of SystemInitialize for SubSystem: '<S381>/Homing' */
|
||
}
|
||
}
|
||
|
||
/* Model terminate function */
|
||
void HVAC_model_terminate(void)
|
||
{
|
||
/* (no terminate code required) */
|
||
}
|
||
|
||
/*
|
||
* File trailer for generated code.
|
||
*
|
||
* [EOF]
|
||
*/
|