亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? servo_init.cpp

?? 用于網絡控制系統仿真
?? CPP
字號:
// PID-control of a DC servo process.//// This example shows four ways to implement a periodic controller// activity in TrueTime. The task implements a standard// PID-controller to control a DC-servo process (2nd order system). #define S_FUNCTION_NAME servo_init#include "ttkernel.cpp"// PID data structure used in Implementations 1a, 2, and 3 below.class PID_Data {public:  struct { // states    double u, Iold, Dold, yold, t; // t used only in Implementation 2 below   } s;    struct { // params    double K, Ti, Td, beta, N, h;    int rChan, yChan, uChan;   } p;};// calculate PID control signal and update statesvoid pidcalc(PID_Data* d, double r, double y) {  double P = d->p.K*(d->p.beta*r-y);  double I = d->s.Iold;  double D = d->p.Td/(d->p.N*d->p.h+d->p.Td)*d->s.Dold+d->p.N*d->p.K*d->p.Td/(d->p.N*d->p.h+d->p.Td)*(d->s.yold-y);   d->s.u = P + I + D;  d->s.Iold = d->s.Iold + d->p.K*d->p.h/d->p.Ti*(r-y);  d->s.Dold = D;  d->s.yold = y;};// Variables used in Implementation 1b below.const int nInp = 2;                 // nbr of inputs to controller block const int nOutp = 2;                // nbr of outputs to controller block static double inp[] = {0.0, 0.0};   // block inputs static double outp[] = {0.0, 0.0};  // block outputs // ---- PID code function for Implementation 1 ----double pidcode1(int seg, void* data) {  double r, y;  PID_Data* d = (PID_Data*) data;  switch (seg) {  case 1:      r = ttAnalogIn(d->p.rChan);    y = ttAnalogIn(d->p.yChan);    pidcalc(d, r, y);     return 0.002;  case 2:        ttAnalogOut(d->p.uChan, d->s.u);    return FINISHED;  }  return FINISHED; // to supress compilation warnings}// ---- PID code function for Implementation 2 ----double pidcode2(int seg, void* data) {  switch (seg) {  case 1:     inp[0] = ttAnalogIn(1);    inp[1] = ttAnalogIn(2);    ttCallBlockSystem(nOutp, outp, nInp, inp, "controller");    return outp[1];     // execution time returned from block   case 2:        ttAnalogOut(1, outp[0]);    return FINISHED;  }  return FINISHED; // to supress compilation warnings}// ---- PID code function for Implementation 3 ----double pidcode3(int seg, void* data) {  double r, y;  PID_Data* d = (PID_Data*) data;  switch (seg) {  case 1:    d->s.t = ttCurrentTime();    return 0.0;  case 2:      r = ttAnalogIn(d->p.rChan);    y = ttAnalogIn(d->p.yChan);    pidcalc(d, r, y);     return 0.002;  case 3:        ttAnalogOut(d->p.uChan, d->s.u);    // Sleep    d->s.t += d->p.h;    ttSleepUntil(d->s.t);    return 0.0;  case 4:    ttSetNextSegment(2); // loop    return 0.0;  }  return FINISHED; // to supress compilation warnings}// ---- PID code function for Implementation 4 ----double pidcode4(int seg, void* data) {  double r;  double *y;  PID_Data* d = (PID_Data*) data;  switch (seg) {  case 1:      r = ttAnalogIn(d->p.rChan);    y = (double*) ttTryFetch("Samples");    pidcalc(d, r, *y);     delete y;    return 0.0018;  case 2:        ttAnalogOut(d->p.uChan, d->s.u);    return FINISHED;  }  return FINISHED; // to supress compilation warnings}// ---- Sampler code function for Implementation 4 ----double samplercode(int seg, void* data) {  double y;  int* d = (int*) data;  switch (seg) {  case 1:      y = ttAnalogIn(*d);    ttTryPost("Samples", new double(y)); // put sample in mailbox    ttCreateJob("pid_task");  // trigger task job    return 0.0002;  case 2:        return FINISHED;  }  return FINISHED; // to supress compilation warnings}#define NBROFINPUTS 2#define NBROFOUTPUTS 1#define SCHEDULER prioFPPID_Data *d;double *d2 = NULL;int *hdl_data = NULL;void init() {    // Initialize TrueTime kernel  ttInitKernel(NBROFINPUTS, NBROFOUTPUTS, SCHEDULER);  // Task attributes  double period = 0.006;  double offset = 0.0; // start of first task instance  double prio = 1.0;  double deadline = period;  // Create task data (local memory)  d = new PID_Data;  d->p.K = 0.96;  d->p.Ti = 0.12;  d->p.Td = 0.049;  d->p.beta = 0.5;  d->p.N = 10.0;  d->p.h = period;  d->s.u = 0.0;  d->s.t = 0.0; // only used in Implementation 2 below  d->s.Iold = 0.0;  d->s.Dold = 0.0;  d->s.yold = 0.0;  d->p.rChan = 1;  d->p.yChan = 2;  d->p.uChan = 1;  // Read the input argument from the block dialogue  mxArray *initarg = ttGetInitArg();  if (!mxIsDoubleScalar(initarg)) {    MEX_ERROR("The init argument must be a number!");    return;  }  int implementation = (int)mxGetPr(initarg)[0];  switch (implementation) {      case 1:    // IMPLEMENTATION 1: using the built-in support for periodic tasks        ttCreatePeriodicTask("pid_task", offset, period, prio, pidcode1, d);    break;  case 2:    // IMPLEMENTATION 2: calling Simulink block within code function        d2 = new double(0.0); // Only the control signal needs to be                           // stored between segments. Controller                           // states are stored internally by TrueTime.    ttCreatePeriodicTask("pid_task", offset, period, prio, pidcode2, d2);    break;  case 3:    // IMPLEMENTATION 3: sleepUntil and loop back      ttCreateTask("pid_task", deadline, prio, pidcode3, d);    ttCreateJob("pid_task");    break;      case 4:    // IMPLEMENTATION 4: sampling in timer handler, triggers task job      hdl_data = new int(2); // y_chan for reading samples    ttCreateInterruptHandler("timer_handler", prio, samplercode, hdl_data);    ttCreatePeriodicTimer("timer", offset, period, "timer_handler");    ttCreateMailbox("Samples", 10);    ttCreateTask("pid_task", deadline, prio, pidcode4, d);    break;  }}void cleanup() {  // This is called also in the case of an error  delete d;  if (d2) delete d2;  if (hdl_data) delete hdl_data;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久国产成人精品亚洲午夜| 一道本成人在线| 成人永久aaa| 欧美色男人天堂| 日韩欧美久久久| 精品剧情在线观看| 欧洲视频一区二区| 日韩精品电影在线观看| 91亚洲精品一区二区乱码| 欧美一级片在线| 亚洲一区精品在线| 99在线精品观看| 国产日韩精品一区二区浪潮av| 午夜精品免费在线| 色婷婷综合久久久久中文| 国产区在线观看成人精品| 六月丁香婷婷久久| 欧美日韩1234| 亚洲大片免费看| 日本精品一区二区三区四区的功能| 国产片一区二区三区| 九色综合狠狠综合久久| 日韩亚洲欧美成人一区| 亚洲电影视频在线| 欧美丝袜自拍制服另类| 亚洲精品日韩一| 日韩精品视频网站| 成人高清伦理免费影院在线观看| 日韩免费观看高清完整版在线观看| 亚洲五月六月丁香激情| 91视频在线观看| 国产精品福利一区二区| av一区二区三区在线| 久久久久久久久久电影| 国产麻豆91精品| 国产日韩精品一区二区浪潮av | 亚洲电影中文字幕在线观看| 91美女精品福利| 一区二区高清在线| 91福利区一区二区三区| 亚洲一区二区精品视频| 555www色欧美视频| 麻豆91精品91久久久的内涵| 欧美tk—视频vk| 国产精品一区三区| 国产精品传媒视频| 欧美亚洲国产一区二区三区va| 亚洲一区二区三区四区五区中文 | 天天色综合天天| 一区二区三区日韩精品| 91丨porny丨蝌蚪视频| 亚洲伊人伊色伊影伊综合网| 欧美日韩国产另类不卡| 麻豆专区一区二区三区四区五区| 精品久久久久久无| 99久久精品情趣| 亚洲二区在线视频| 久久蜜桃av一区二区天堂| 丁香桃色午夜亚洲一区二区三区| 亚洲免费伊人电影| 欧美一区二区啪啪| 成人精品国产福利| 五月婷婷久久综合| 久久久久久久久97黄色工厂| 91网站最新地址| 青青草国产精品97视觉盛宴| 国产欧美综合在线| 欧美日韩精品欧美日韩精品| 免费不卡在线观看| 久久精品一区二区三区不卡| 精品久久久久久久久久久院品网| 国产精品18久久久久久久久 | 欧美区在线观看| 国产乱妇无码大片在线观看| 一二三四社区欧美黄| 日韩精品一区二区三区中文不卡 | 麻豆精品视频在线观看视频| 国产精品午夜免费| 91精品国产综合久久久蜜臀粉嫩| 成人永久aaa| 久久狠狠亚洲综合| 亚洲综合在线免费观看| 久久久久久免费毛片精品| 精品1区2区3区| 成人精品国产一区二区4080| 喷白浆一区二区| 亚洲情趣在线观看| 国产亚洲一区二区三区四区 | 97国产精品videossex| 美女高潮久久久| 亚洲综合av网| 国产精品全国免费观看高清| 精品国产一区二区三区四区四| 在线免费亚洲电影| 99国产精品久久久久| 国产麻豆9l精品三级站| 久久精品国产成人一区二区三区| 亚洲一区二区三区四区不卡| 国产精品不卡一区二区三区| 精品久久久网站| 日韩情涩欧美日韩视频| 欧美日韩高清一区二区| 欧美影视一区在线| 色偷偷88欧美精品久久久| 成人免费看的视频| 国产精品99久久久久久有的能看| 久久99久久久欧美国产| 日韩精品成人一区二区三区| 亚洲一区二区不卡免费| 一区二区三区四区在线播放| 亚洲欧洲日韩一区二区三区| 国产精品人妖ts系列视频| 国产欧美日韩三区| 中文字幕欧美区| 日本一区二区综合亚洲| 欧美激情在线看| 日本一区二区三区在线不卡| 久久亚洲影视婷婷| 国产欧美日韩精品a在线观看| 精品国偷自产国产一区| 精品福利av导航| 久久久不卡影院| 国产精品人妖ts系列视频| 中文字幕日韩一区二区| 亚洲欧美日韩在线播放| 一级特黄大欧美久久久| 性欧美大战久久久久久久久| 日韩—二三区免费观看av| 久久99精品国产麻豆不卡| 国产一区二区视频在线播放| 国产成人鲁色资源国产91色综| 国产91对白在线观看九色| av一区二区三区四区| 欧洲精品中文字幕| 日韩视频在线观看一区二区| 亚洲精品在线观| ...xxx性欧美| 日韩高清在线不卡| 国产精品亚洲第一| 色噜噜狠狠成人网p站| 欧美三级视频在线观看| 精品国产乱码久久久久久1区2区| 国产喷白浆一区二区三区| 一区二区三区免费网站| 免费高清视频精品| 成人午夜看片网址| 欧美伦理视频网站| 久久精品视频在线看| 亚洲另类一区二区| 久久国产精品99精品国产| gogo大胆日本视频一区| 欧美精品自拍偷拍| 国产精品免费视频网站| 亚洲v中文字幕| 粉嫩aⅴ一区二区三区四区 | 国产精品久久久久影院| 五月婷婷激情综合网| 国产成人精品www牛牛影视| 欧美视频在线一区| 久久久亚洲精华液精华液精华液| 亚洲另类一区二区| 国产成人免费视频网站| 欧美年轻男男videosbes| 国产女主播一区| 日本欧美一区二区| 91国内精品野花午夜精品| 337p日本欧洲亚洲大胆精品| 亚洲在线观看免费| a在线欧美一区| 26uuuu精品一区二区| 午夜精品视频一区| 99久久婷婷国产综合精品| 精品少妇一区二区| 午夜精品久久久久久久99水蜜桃 | 亚洲免费视频中文字幕| 国产激情视频一区二区三区欧美| 欧美另类z0zxhd电影| 亚洲天堂中文字幕| 国产成人精品三级麻豆| 日韩欧美国产高清| 亚洲成人一区二区| 欧美在线一区二区| 日韩美女啊v在线免费观看| 国产麻豆精品在线观看| 日韩久久免费av| 日韩av一区二区三区四区| 在线观看日韩一区| 一区二区久久久久| 91麻豆视频网站| 日韩美女啊v在线免费观看| 成人一区在线观看| xnxx国产精品| 国产原创一区二区| 亚洲精品一区二区三区香蕉| 乱中年女人伦av一区二区| 3d成人h动漫网站入口| 天堂va蜜桃一区二区三区| 欧美日韩国产美女| 视频在线观看一区| 欧美一区二区三区视频免费播放|