?? fox_nofcn.c
字號:
/*
* File: fox_noFCN.c
*
* Real-Time Workshop code generated for Simulink model fox_noFCN.
*
* Model version : 1.166
* Real-Time Workshop file version : 7.0 (R2007b) 02-Aug-2007
* Real-Time Workshop file generated on : Mon Jun 30 02:19:40 2008
* TLC version : 7.0 (Jul 26 2007)
* C source code generated on : Mon Jun 30 02:19:41 2008
*/
#include "fox_noFCN.h"
#include "fox_noFCN_private.h"
/* Block signals (auto storage) */
BlockIO_fox_noFCN fox_noFCN_B;
/* Block states (auto storage) */
D_Work_fox_noFCN fox_noFCN_DWork;
/* External inputs (root inport signals with auto storage) */
ExternalInputs_fox_noFCN fox_noFCN_U;
/* External outputs (root outports fed by signals with auto storage) */
ExternalOutputs_fox_noFCN fox_noFCN_Y;
/* Model step function */
void fox_noFCN_step(void)
{
/* local block i/o variables */
real_T rtb_Sum;
real_T rtb_u;
real_T rtb_u_h;
real_T rtb_Switch;
/* Memory: '<Root>/Memory' */
rtb_Switch = fox_noFCN_DWork.Memory_PreviousInput;
/* Outport: '<Root>/Out1' */
fox_noFCN_Y.Out1 = rtb_Switch;
/* Sum: '<Root>/Sum' incorporates:
* Inport: '<Root>/In1'
*/
rtb_Sum = fox_noFCN_U.In1 - rtb_Switch;
/* Gain: '<Root>/ ' */
rtb_u = 1.8 * rtb_Sum;
/* DiscreteIntegrator: '<Root>/Discrete-Time Integrator ' */
if (fox_noFCN_DWork.DiscreteTimeIntegrator_SYSTEM_E) {
fox_noFCN_B.DiscreteTimeIntegrator =
fox_noFCN_DWork.DiscreteTimeIntegrator_DSTATE;
fox_noFCN_DWork.DiscreteTimeIntegrator_SYSTEM_E = 0U;
} else {
fox_noFCN_B.DiscreteTimeIntegrator = 20.0 * rtb_Sum +
fox_noFCN_DWork.DiscreteTimeIntegrator_DSTATE;
}
/* DiscreteTransferFcn: '<Root>/Discrete Transfer Fcn ' */
rtb_Switch = 1.0*rtb_Sum;
rtb_Switch += -1.0*fox_noFCN_DWork.DiscreteTransferFcn_DSTATE;
/* Gain: '<Root>/ ' */
rtb_u_h = 0.2 * rtb_Switch;
/* Switch: '<Root>/Switch' incorporates:
* Fcn: '<Root>/Fcn'
* Gain: '<Root>/ '
* Gain: '<Root>/ '
*/
if (fabs(rtb_Sum) >= 0.8) {
rtb_Switch = 0.0 * rtb_Sum;
} else {
rtb_Switch = 0.05 * fox_noFCN_B.DiscreteTimeIntegrator;
}
/* Update for Memory: '<Root>/Memory' incorporates:
* Sum: '<Root>/Sum2'
*/
fox_noFCN_DWork.Memory_PreviousInput = (rtb_u + rtb_u_h) + rtb_Switch;
/* Update for DiscreteIntegrator: '<Root>/Discrete-Time Integrator ' */
fox_noFCN_DWork.DiscreteTimeIntegrator_DSTATE =
fox_noFCN_B.DiscreteTimeIntegrator;
/* DiscreteTransferFcn Block: '<Root>/Discrete Transfer Fcn ' */
{
fox_noFCN_DWork.DiscreteTransferFcn_DSTATE = rtb_Sum + (0.0)*
fox_noFCN_DWork.DiscreteTransferFcn_DSTATE;
}
}
/* Model initialize function */
void fox_noFCN_initialize(boolean_T firstTime)
{
(void)firstTime;
/* InitializeConditions for Memory: '<Root>/Memory' */
fox_noFCN_DWork.Memory_PreviousInput = 0.0;
/* Enable for DiscreteIntegrator: '<Root>/Discrete-Time Integrator ' */
fox_noFCN_DWork.DiscreteTimeIntegrator_SYSTEM_E = 1U;
}
/* File trailer for Real-Time Workshop generated code.
*
* [EOF]
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -