User`s guide
37
Appendix E – C-code
E.1 – The relay algorithm
Code Composer Studio generates all necessary files and directories, I’ve chosen to only
include the main program files, since the rest aren’t program specific.
E.1.1 – TwinDFTs_CCS.c
/*
* TwinDFTs_CCS.c
*
* Real-Time Workshop code generation for Simulink model "TwinDFTs_CCS.mdl".
*
* Model Version : 1.377
* Real-Time Workshop version : 6.6 (R2007a) 01-Feb-2007
* C source code generated on : Sat Jul 26 15:12:18 2008
*/
#include "TwinDFTs_CCS.h"
#include "TwinDFTs_CCS_private.h"
/* Block signals (auto storage) */
BlockIO_TwinDFTs_CCS TwinDFTs_CCS_B;
/* Block states (auto storage) */
D_Work_TwinDFTs_CCS TwinDFTs_CCS_DWork;
/* Real-time model */
RT_MODEL_TwinDFTs_CCS TwinDFTs_CCS_M_;
RT_MODEL_TwinDFTs_CCS *TwinDFTs_CCS_M = &TwinDFTs_CCS_M_;
/* Model output function */
static void TwinDFTs_CCS_output(int_T tid)
{
/* local block i/o variables */
creal_T rtb_Gain;
creal_T rtb_Product;
creal_T rtb_Conjugat;
real_T rtb_UnitDelay;
real_T rtb_TrigonometricFunction;
real_T rtb_Gain_c[2];
real_T rtb_ComplextoMagnitudeAngle1_o2;
real_T rtb_RelayDFT1;
real_T rtb_RelayDFT2;
real_T rtb_Angle;
real_T rtb_PhaseRelay;
/* UnitDelay: '<S7>/Unit Delay' */
rtb_UnitDelay = TwinDFTs_CCS_DWork.UnitDelay_DSTATE;
/* Trigonometry: '<S7>/Trigonometric Function' */
rtb_TrigonometricFunction = sin(rtb_UnitDelay);