📄 dtc_svm_416_acc.c
字号:
}
}
if (ssIsSampleHit(S, 6, tid)) { /* Sample time: [0.0001, 0.0] */
/* ZeroOrderHold: '<Root>/Zero-Order Hold4' */
dtc_svm_416_B->Zero_Order_Hold4 = dtc_svm_416_B->Fcn1_a;
}
if (ssIsSampleHit(S, 2, tid)) { /* Sample time: [1.0E-006, 0.0] */
/* Sum: '<S7>/Sum' */
rtb_Sum_b = dtc_svm_416_B->Saturation2_a - dtc_svm_416_B->Zero_Order_Hold4;
}
if (ssIsSampleHit(S, 6, tid)) { /* Sample time: [0.0001, 0.0] */
/* DiscreteIntegrator: '<S21>/Discrete-Time Integrator'
*
* Regarding '<S21>/Discrete-Time Integrator':
* Limited, w/o Saturation Port
*/
dtc_svm_416_B->Discrete_Time_Integrat_d =
dtc_svm_416_DWork->Discrete_Time_Integrat_d_DSTATE;
if ( dtc_svm_416_B->Discrete_Time_Integrat_d >=
dtc_svm_416_P->Discrete_Time_Integrat_d_UpperS ) {
dtc_svm_416_B->Discrete_Time_Integrat_d =
dtc_svm_416_P->Discrete_Time_Integrat_d_UpperS;
} else if ( dtc_svm_416_B->Discrete_Time_Integrat_d <=
dtc_svm_416_P->Discrete_Time_Integrat_d_LowerS ) {
dtc_svm_416_B->Discrete_Time_Integrat_d =
dtc_svm_416_P->Discrete_Time_Integrat_d_LowerS;
}
}
if (ssIsSampleHit(S, 2, tid)) { /* Sample time: [1.0E-006, 0.0] */
/* Sum: '<S21>/Sum6' incorporates:
* Gain: '<S21>/Kp4'
*
* Regarding '<S21>/Kp4':
* Gain value: dtc_svm_416_P->Kp4_b_Gain
*/
rtb_temp183 = (rtb_Sum_b * dtc_svm_416_P->Kp4_b_Gain)
+ dtc_svm_416_B->Discrete_Time_Integrat_d;
/* Saturate: '<S21>/Saturation2'
*
* Regarding '<S21>/Saturation2':
* Lower limit: dtc_svm_416_P->Saturation2_b_LowerSat
* Upper limit: dtc_svm_416_P->Saturation2_b_UpperSat
*/
if (rtb_temp183 >= dtc_svm_416_P->Saturation2_b_UpperSat) {
dtc_svm_416_B->Saturation2_b = dtc_svm_416_P->Saturation2_b_UpperSat;
} else if (rtb_temp183 <= dtc_svm_416_P->Saturation2_b_LowerSat) {
dtc_svm_416_B->Saturation2_b = dtc_svm_416_P->Saturation2_b_LowerSat;
} else {
dtc_svm_416_B->Saturation2_b = rtb_temp183;
}
/* MATLABFcn: '<S7>/MATLAB Fcn' */
/* Call into Simulink to run the Matlab Fcn block. */
ssCallAccelRunBlock(S, 8, 39, SS_CALL_MDL_OUTPUTS);
}
if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */
/* Constant: '<S25>/Constant3' */
dtc_svm_416_B->Constant3 = dtc_svm_416_P->Constant3_Value;
/* Switch: '<S25>/Switch' */
if (dtc_svm_416_B->MATLAB_Fcn[1] >= dtc_svm_416_P->Switch_a_Threshold) {
rtb_temp189 = dtc_svm_416_B->Constant2_a;
} else {
rtb_temp189 = dtc_svm_416_B->Constant3;
}
}
if (ssIsSampleHit(S, 2, tid)) { /* Sample time: [1.0E-006, 0.0] */
/* Sum: '<S25>/Sum' incorporates:
* Gain: '<S25>/Gain'
*
* Regarding '<S25>/Gain':
* Gain value: dtc_svm_416_P->Gain_a_Gain
*/
dtc_svm_416_B->Sum_c = - dtc_svm_416_B->MATLAB_Fcn[1]
+ (dtc_svm_416_B->MATLAB_Fcn[0] * dtc_svm_416_P->Gain_a_Gain);
}
if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */
/* Switch: '<S25>/Switch1' */
if (dtc_svm_416_B->Sum_c >= dtc_svm_416_P->Switch1_a_Threshold) {
rtb_Switch1_a = dtc_svm_416_B->Constant2_a;
} else {
rtb_Switch1_a = dtc_svm_416_B->Constant3;
}
}
if (ssIsSampleHit(S, 2, tid)) { /* Sample time: [1.0E-006, 0.0] */
/* Sum: '<S25>/Sum1' incorporates:
* Gain: '<S25>/Gain1'
*
* Regarding '<S25>/Gain1':
* Gain value: dtc_svm_416_P->Gain1_a_Gain
*/
dtc_svm_416_B->Sum1_a = - dtc_svm_416_B->MATLAB_Fcn[1]
+ (dtc_svm_416_B->MATLAB_Fcn[0] * dtc_svm_416_P->Gain1_a_Gain);
}
if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */
/* Switch: '<S25>/Switch2' */
if (dtc_svm_416_B->Sum1_a >= dtc_svm_416_P->Switch2_Threshold) {
rtb_Switch2 = dtc_svm_416_B->Constant2_a;
} else {
rtb_Switch2 = dtc_svm_416_B->Constant3;
}
/* Sum: '<S25>/Sum2' incorporates:
* Gain: '<S25>/Gain2'
* Gain: '<S25>/Gain3'
*
* Regarding '<S25>/Gain2':
* Gain value: dtc_svm_416_P->Gain2_a_Gain
*
* Regarding '<S25>/Gain3':
* Gain value: dtc_svm_416_P->Gain3_a_Gain
*/
dtc_svm_416_B->temp116 = rtb_temp189
+ (rtb_Switch1_a * dtc_svm_416_P->Gain2_a_Gain)
+ (rtb_Switch2 * dtc_svm_416_P->Gain3_a_Gain);
}
if (ssIsSampleHit(S, 2, tid)) { /* Sample time: [1.0E-006, 0.0] */
/* Gain: '<S29>/Gain1'
*
* Regarding '<S29>/Gain1':
* Gain value: dtc_svm_416_P->Gain1_b_Gain
*/
rtb_temp183 = dtc_svm_416_B->MATLAB_Fcn[1] * dtc_svm_416_P->Gain1_b_Gain;
/* Sum: '<S29>/Sum1' */
dtc_svm_416_B->Sum1_b = rtb_temp183 - dtc_svm_416_B->MATLAB_Fcn[0];
}
if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */
/* Constant: '<S9>/Constant' */
dtc_svm_416_B->Constant_a = dtc_svm_416_P->Constant_a_Value;
/* Constant: '<S9>/Constant1' */
dtc_svm_416_B->Constant1_a = dtc_svm_416_P->Constant1_a_Value;
/* Fcn: '<S29>/Fcn2'
*
* Regarding '<S29>/Fcn2':
* Expression: u(1)*u(2)/u(3)
*/
rtb_temp189 = dtc_svm_416_B->Sum1_b * dtc_svm_416_B->Constant_a /
dtc_svm_416_B->Constant1_a;
/* Gain: '<S29>/Gain3'
*
* Regarding '<S29>/Gain3':
* Gain value: dtc_svm_416_P->Gain3_b_Gain
*/
rtb_temp189 *= dtc_svm_416_P->Gain3_b_Gain;
}
if (ssIsSampleHit(S, 2, tid)) { /* Sample time: [1.0E-006, 0.0] */
/* Sum: '<S29>/Sum' */
dtc_svm_416_B->Sum_d = rtb_temp183 + dtc_svm_416_B->MATLAB_Fcn[0];
}
if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */
/* Fcn: '<S29>/Fcn1'
*
* Regarding '<S29>/Fcn1':
* Expression: u(1)*u(2)/u(3)
*/
rtb_temp184 = dtc_svm_416_B->Sum_d * dtc_svm_416_B->Constant_a /
dtc_svm_416_B->Constant1_a;
/* Gain: '<S29>/Gain2'
*
* Regarding '<S29>/Gain2':
* Gain value: dtc_svm_416_P->Gain2_b_Gain
*/
rtb_temp184 *= dtc_svm_416_P->Gain2_b_Gain;
/* Gain: '<S27>/Gain2'
*
* Regarding '<S27>/Gain2':
* Gain value: dtc_svm_416_P->Gain2_c_Gain
*/
rtb_Gain2_c = rtb_temp189 * dtc_svm_416_P->Gain2_c_Gain;
}
if (ssIsSampleHit(S, 2, tid)) { /* Sample time: [1.0E-006, 0.0] */
/* Gain: '<S29>/Gain'
*
* Regarding '<S29>/Gain':
* Gain value: dtc_svm_416_P->Gain_b_Gain
*/
dtc_svm_416_B->Gain_b = dtc_svm_416_B->MATLAB_Fcn[1] *
dtc_svm_416_P->Gain_b_Gain;
}
if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */
/* Fcn: '<S29>/Fcn'
*
* Regarding '<S29>/Fcn':
* Expression: u(1)*u(2)/u(3)
*/
rtb_temp185 = dtc_svm_416_B->Gain_b * dtc_svm_416_B->Constant_a /
dtc_svm_416_B->Constant1_a;
/* Gain: '<S27>/Gain'
*
* Regarding '<S27>/Gain':
* Gain value: dtc_svm_416_P->Gain_c_Gain
*/
rtb_temp186 = rtb_temp185 * dtc_svm_416_P->Gain_c_Gain;
/* Gain: '<S27>/Gain1'
*
* Regarding '<S27>/Gain1':
* Gain value: dtc_svm_416_P->Gain1_c_Gain
*/
rtb_temp190 = rtb_temp184 * dtc_svm_416_P->Gain1_c_Gain;
/* MultiPortSwitch: '<S27>/Multiport Switch' */
switch ((int_T)dtc_svm_416_B->temp116) {
case 1:
rtb_Multiport_Switch_a = rtb_temp189;
break;
case 2:
rtb_Multiport_Switch_a = rtb_temp184;
break;
case 3:
rtb_Multiport_Switch_a = rtb_Gain2_c;
break;
case 4:
rtb_Multiport_Switch_a = rtb_temp186;
break;
case 5:
rtb_Multiport_Switch_a = rtb_temp185;
break;
case 6:
rtb_Multiport_Switch_a = rtb_temp190;
break;
default:
/* Result undefined */
#if defined(MATLAB_MEX_FILE)
(void)mexPrintf("Error: Invalid control input for block:"
"<S27>/Multiport Switch\n"
"Result is undefined.");
#endif
break;
}
/* MultiPortSwitch: '<S27>/Multiport Switch1' */
switch ((int_T)dtc_svm_416_B->temp116) {
case 1:
rtb_Multiport_Switch1_a = rtb_temp184;
break;
case 2:
rtb_Multiport_Switch1_a = rtb_temp186;
break;
case 3:
rtb_Multiport_Switch1_a = rtb_temp185;
break;
case 4:
rtb_Multiport_Switch1_a = rtb_temp189;
break;
case 5:
rtb_Multiport_Switch1_a = rtb_temp190;
break;
case 6:
rtb_Multiport_Switch1_a = rtb_Gain2_c;
break;
default:
/* Result undefined */
#if defined(MATLAB_MEX_FILE)
(void)mexPrintf("Error: Invalid control input for block:"
"<S27>/Multiport Switch1\n"
"Result is undefined.");
#endif
break;
}
/* Fcn: '<S27>/Fcn'
*
* Regarding '<S27>/Fcn':
* Expression: u(3)-u(2)-u(1)
*/
rtb_temp190 = dtc_svm_416_B->Constant_a - rtb_Multiport_Switch1_a -
rtb_Multiport_Switch_a;
}
if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */
/* Switch: '<S27>/Switch' */
if (rtb_temp190 >= dtc_svm_416_P->Switch_b_Threshold) {
dtc_svm_416_B->Switch_b = rtb_Multiport_Switch_a;
} else {
{
/* simstruct variables */
dtc_svm_416_BlockIO *dtc_svm_416_B = (dtc_svm_416_BlockIO *)
_ssGetBlockIO(S);
/* Fcn: '<S27>/Fcn1'
*
* Regarding '<S27>/Fcn1':
* Expression: u(1)*u(3)/(u(1)+u(2))
*/
dtc_svm_416_B->Fcn1_k = rtb_Multiport_Switch_a *
dtc_svm_416_B->Constant_a / ( rtb_Multiport_Switch_a +
rtb_Multiport_Switch1_a );
}
dtc_svm_416_B->Switch_b = dtc_svm_416_B->Fcn1_k;
}
}
if (ssIsSampleHit(S, 1, tid)) { /* Sample time: [0.0, 1.0] */
/* Switch: '<S27>/Switch1' */
if (rtb_temp190 >= dtc_svm_416_P->Switch1_b_Threshold) {
dtc_svm_416_B->Switch1_b = rtb_Multiport_Switch1_a;
} else {
{
/* simstruct variables */
dtc_svm_416_BlockIO *dtc_svm_416_B = (dtc_svm_416_BlockIO *)
_ssGetBlockIO(S);
/* Fcn: '<S27>/Fcn2'
*
* Regarding '<S27>/Fcn2':
* Expression: u(2)*u(3)/(u(1)+u(2))
*/
dtc_svm_416_B->Fcn2_g = rtb_Multiport_Switch1_a *
dtc_svm_416_B->Constant_a / ( rtb_Multiport_Switch_a +
rtb_Multiport_Switch1_a );
}
dtc_svm_416_B->Switch1_b = dtc_svm_416_B->Fcn2_g;
}
/* Gain: '<S26>/Gain' incorporates:
* Sum: '<S26>/Sum1'
*
* Regarding '<S26>/Gain':
* Gain value: dtc_svm_416_P->Gain_d_Gain
*/
rtb_temp190 = (-dtc_svm_416_B->Switch_b - dtc_svm_416_B->Switch1_b +
dtc_svm_416_B->Constant_a) * dtc_svm_416_P->Gain_d_Gain;
/* Sum: '<S26>/Sum2' incorporates:
* Gain: '<S26>/Gain2'
*
* Regarding '<S26>/Gain2':
* Gain value: dtc_svm_416_P->Gain2_d_Gain
*/
rtb_temp186 = (dtc_svm_416_B->Switch_b * dtc_svm_416_P->Gain2_d_Gain)
+ rtb_temp190;
/* Sum: '<S26>/Sum' incorporates:
* Gain: '<S26>/Gain1'
*
* Regarding '<S26>/Gain1':
* Gain value: dtc_svm_416_P->Gain1_d_Gain
*/
rtb_temp185 = (dtc_svm_416_B->Switch1_b * dtc_svm_416_P->Gain1_d_Gain)
+ rtb_temp186;
/* MultiPortSwitch: '<S26>/Multiport Switch' */
switch ((int_T)dtc_svm_416_B->temp116) {
case 1:
dtc_svm_416_B->Multiport_Switch_b = rtb_temp186;
break;
case 2:
dtc_svm_416_B->Multiport_Switch_b = rtb_temp190;
break;
case 3:
dtc_svm_416_B->Multiport_Switch_b = rtb_temp190;
break;
case 4:
dtc_svm_416_B->Multiport_Switch_b = rtb_temp185;
break;
case 5:
dtc_svm_416_B->Multiport_Switch_b = rtb_temp185;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -