• 大小: 27.26MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-05
  • 语言: 其他
  • 标签: 课程资源  

资源简介

课件园:大三下学期 微型计算机控制技术 华中科技大学自动化学院

资源截图

代码片段和文件信息

/*
 * sfun_ad.c: a level 2 S-function.
 *
 */


/*
 * You must specify the S_FUNCTION_NAME as the name of your S-function
 * (i.e. replace sfuntmpl_basic with the name of your S-function).
 */

#define S_FUNCTION_NAME  sfun_pid_pos
#define S_FUNCTION_LEVEL 2
#define MAX_INPUT        10

#define KP        2.016
#define Ti        0.87
#define Td        0.154
#define T         0.05

/*
 * Need to include simstruc.h for the definition of the SimStruct and
 * its associated macro definitions.
 */
#include “simstruc.h“



/* Error handling
 * --------------
 *
 * You should use the following technique to report errors encountered within
 * an S-function:
 *
 *       ssSetErrorStatus(S“Error encountered due to ...“);
 *       return;
 *
 * Note that the 2nd argument to ssSetErrorStatus must be persistent memory.
 * It cannot be a local variable. For example the following will cause
 * unpredictable errors:
 *
 *      mdlOutputs()
 *      {
 *         char msg[256];         {ILLEGAL: to fix use “static char msg[256];“}
 *         sprintf(msg“Error due to %s“ string);
 *         ssSetErrorStatus(Smsg);
 *         return;
 *      }
 *
 * See matlabroot/simulink/src/sfuntmpl_doc.c for more details.
 */

/*====================*
 * S-function methods *
 *====================*/

/* Function: mdlInitializeSizes ===============================================
 * Abstract:
 *    The sizes information is used by Simulink to determine the S-function
 *    block‘s characteristics (number of inputs outputs states etc.).
 */
static void mdlInitializeSizes(SimStruct *S)
{
    /* See sfuntmpl_doc.c for more details on the macros below */

    ssSetNumSFcnParams(S 0);  /* Number of expected parameters */
    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {
        /* Return if number of expected != number of actual parameters */
        return;
    }

    ssSetNumContStates(S 0);
    ssSetNumDiscStates(S 0);

    if (!ssSetNumInputPorts(S 1)) return;
    ssSetInputPortWidth(S 0 1);
    ssSetInputPortRequiredContiguous(S 0 true); /*direct input signal access*/
    /*
     * Set direct feedthrough flag (1=yes 0=no).
     * A port has direct feedthrough if the input is used in either
     * the mdlOutputs or mdlGetTimeOfNextVarHit functions.
     * See matlabroot/simulink/src/sfuntmpl_directfeed.txt.
     */
    ssSetInputPortDirectFeedThrough(S 0 1);

    if (!ssSetNumOutputPorts(S 1)) return;
    ssSetOutputPortWidth(S 0 1);

    ssSetNumSampleTimes(S 1);
    ssSetNumRWork(S 10);
    ssSetNumIWork(S 0);
    ssSetNumPWork(S 0);
    ssSetNumModes(S 0);
    ssSetNumNonsampledZCs(S 0);

    ssSetOptions(S 0);
}



/* Function: mdlInitializeSampleTimes =========================================
 * Abstract:
 *    This function is used to specify the sample time(s) for your
 *    S-function. You must register the same number of sample times as

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......    308224  2012-06-05 00:10  微机控制课件(全)\微机控制课件(全)\作业\作业03.ppt

    .......    315904  2012-06-09 13:06  微机控制课件(全)\微机控制课件(全)\作业\作业04.ppt

    .......     85504  2012-05-15 00:45  微机控制课件(全)\微机控制课件(全)\作业\作业1.ppt

    .......     82432  2012-05-16 17:16  微机控制课件(全)\微机控制课件(全)\作业\作业2.ppt

     文件      30551  2012-05-21 23:59  微机控制课件(全)\微机控制课件(全)\作业\选做作业\ex5_3_pid_pos\ex5_3_pid_pos\Ex_pid_pos.mdl

     文件       7191  2008-06-03 20:03  微机控制课件(全)\微机控制课件(全)\作业\选做作业\ex5_3_pid_pos\ex5_3_pid_pos\sfun_pid_pos.asv

     文件       7220  2011-06-08 22:25  微机控制课件(全)\微机控制课件(全)\作业\选做作业\ex5_3_pid_pos\ex5_3_pid_pos\sfun_pid_pos.c

     文件      20480  2011-06-14 14:26  微机控制课件(全)\微机控制课件(全)\作业\选做作业\ex5_3_pid_pos\ex5_3_pid_pos\sfun_pid_pos.mexw32

    .......     15989  2012-06-09 13:05  微机控制课件(全)\微机控制课件(全)\作业\选做作业\ex5_3_pid_pos.rar

    .......    831488  2012-06-09 13:05  微机控制课件(全)\微机控制课件(全)\作业\选做作业\选做作业01.ppt

    .......    847880  2012-06-09 13:05  微机控制课件(全)\微机控制课件(全)\作业\选做作业.zip

    .......   3057152  2012-06-05 01:22  微机控制课件(全)\微机控制课件(全)\课件\5.1 数字控制器的模拟化设计.ppt

    .......    832512  2012-06-05 00:10  微机控制课件(全)\微机控制课件(全)\课件\5.2 数字控制器的离散化设计.ppt

    .......    949760  2012-06-09 13:06  微机控制课件(全)\微机控制课件(全)\课件\5.3 纯滞后控制技术.ppt

     文件    2384896  2012-06-14 12:34  微机控制课件(全)\微机控制课件(全)\课件\5.7 模糊控制.ppt

    .......   5649408  2012-06-09 13:06  微机控制课件(全)\微机控制课件(全)\课件\CCS_Pendulum.ppt

     文件    8680960  2012-06-14 17:03  微机控制课件(全)\微机控制课件(全)\课件\CCS_UAV.ppt

     文件      20839  2010-10-14 03:31  微机控制课件(全)\微机控制课件(全)\课件\ch5_mat\ex5_1\ex1.mdl

     文件        478  2011-06-07 17:28  微机控制课件(全)\微机控制课件(全)\课件\ch5_mat\ex5_1_m.m

     文件      26684  2008-06-04 17:32  微机控制课件(全)\微机控制课件(全)\课件\ch5_mat\ex5_2_pid\Ex_PID.mdl

     文件      22353  2011-06-08 22:26  微机控制课件(全)\微机控制课件(全)\课件\ch5_mat\ex5_3_pid_pos\Ex_pid_pos.mdl

     文件       7191  2008-06-03 20:03  微机控制课件(全)\微机控制课件(全)\课件\ch5_mat\ex5_3_pid_pos\sfun_pid_pos.asv

     文件       7220  2011-06-08 22:25  微机控制课件(全)\微机控制课件(全)\课件\ch5_mat\ex5_3_pid_pos\sfun_pid_pos.c

     文件      20480  2011-06-08 22:25  微机控制课件(全)\微机控制课件(全)\课件\ch5_mat\ex5_3_pid_pos\sfun_pid_pos.mexw32

    .......     26616  2012-06-09 13:06  微机控制课件(全)\微机控制课件(全)\课件\ch5_mat.rar

     文件       1997  2000-06-20 15:18  微机控制课件(全)\微机控制课件(全)\课件\Pendulum_mat\Pendulum_mat\1_MODEL\LQPNEW.M

     文件      35119  2000-06-20 15:18  微机控制课件(全)\微机控制课件(全)\课件\Pendulum_mat\Pendulum_mat\1_MODEL\model.mdl

     文件      44555  2000-06-20 15:18  微机控制课件(全)\微机控制课件(全)\课件\Pendulum_mat\Pendulum_mat\1_MODEL\modelncd.mdl

     文件      47263  2000-06-20 15:18  微机控制课件(全)\微机控制课件(全)\课件\Pendulum_mat\Pendulum_mat\1_MODEL\modelpid.mdl

     文件      37030  2000-06-20 15:18  微机控制课件(全)\微机控制课件(全)\课件\Pendulum_mat\Pendulum_mat\1_MODEL\model_ie.mdl

............此处省略39个文件信息

评论

共有 条评论