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

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

?? servo_init.cpp

?? 由瑞典人開發的一個可以在Matlab環境中應用的實時數據傳輸控制的工具包
?? 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, 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*(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 1a ----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 1b ----double blockcode(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 2 ----double pidcode2(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 3 ----double pidcode3(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 3 ----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;  // 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.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;  // IMPLEMENTATION 1a: using the built-in support for periodic tasks  //  ttCreatePeriodicTask("pid_task", offset, period, prio, pidcode1, d);  // IMPLEMENTATION 1b: 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, blockcode, d2);  // IMPLEMENTATION 2: sleepUntil and loop back  //  // ttCreateTask("pid_task", deadline, prio, pidcode2, d);  // ttCreateJob("pid_task");    // IMPLEMENTATION 3: 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, pidcode3, d);}void cleanup() {   delete d;  if (d2) delete d2;  if (hdl_data) delete hdl_data;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天综合| 成人免费毛片高清视频| 久久久精品天堂| 欧美亚洲一区三区| 国产精品一区二区x88av| 一区二区三区四区激情| 26uuu精品一区二区| 欧美在线你懂的| 国产成人精品亚洲午夜麻豆| 婷婷夜色潮精品综合在线| 国产精品视频线看| 欧美草草影院在线视频| 欧洲人成人精品| 成人精品视频.| 久久99久久久久久久久久久| 亚洲一区二区三区四区在线| 国产精品无圣光一区二区| 日韩欧美电影在线| 欧美三级资源在线| 91视频在线观看| 成人黄色在线看| 国产一区二区久久| 免费看日韩精品| 午夜精品福利久久久| 一区二区三区在线视频观看58| 久久久精品天堂| 欧美精品一区二区三区视频| 91精品国产欧美日韩| 欧美亚洲国产bt| 91久久精品日日躁夜夜躁欧美| 成人久久视频在线观看| 国产美女娇喘av呻吟久久| 久久草av在线| 奇米在线7777在线精品| 天天综合色天天综合色h| 亚洲一区二区三区四区五区中文| 日韩理论片中文av| 日韩理论片在线| 亚洲三级理论片| 亚洲日本va在线观看| 日韩一区中文字幕| 国产精品久久久久精k8| 《视频一区视频二区| 日韩毛片精品高清免费| 亚洲男人天堂av| 一区二区三区精密机械公司| 一区二区三区四区乱视频| 一区av在线播放| 亚洲一区二区三区小说| 亚洲国产精品久久久久婷婷884| 一级日本不卡的影视| 亚洲国产日韩a在线播放性色| 亚洲午夜视频在线观看| 性久久久久久久| 丝袜诱惑亚洲看片| 免费在线欧美视频| 国产在线不卡视频| 国产91丝袜在线播放九色| www.一区二区| 色狠狠桃花综合| 欧美精三区欧美精三区| 欧美一级一区二区| 精品欧美一区二区三区精品久久| 久久这里只有精品6| 欧美国产精品v| 亚洲激情欧美激情| 日本在线不卡一区| 国产一区在线观看视频| 成人爱爱电影网址| 欧美亚洲一区二区在线观看| 777久久久精品| 国产亚洲欧洲一区高清在线观看| 国产精品欧美经典| 亚洲高清视频在线| 色综合天天综合狠狠| 欧美伊人精品成人久久综合97| 日韩三级中文字幕| 欧美国产在线观看| 亚洲成人tv网| 黄色小说综合网站| 色哟哟国产精品| 欧美电影免费观看高清完整版在线观看 | 成人av网站免费观看| 日本国产一区二区| 欧美不卡一二三| 亚洲色图视频网| 精品一区二区在线视频| 91免费版在线| 欧美变态口味重另类| 亚洲精品乱码久久久久久| 捆绑调教美女网站视频一区| av电影天堂一区二区在线| 制服丝袜av成人在线看| 国产精品乱码久久久久久| 天堂影院一区二区| av中文字幕不卡| 日韩欧美卡一卡二| 亚洲一区二区欧美日韩| 国产激情一区二区三区桃花岛亚洲| 色国产综合视频| 国产亚洲成av人在线观看导航| 亚洲成人在线网站| 成人免费毛片app| 日韩三级免费观看| 一区二区在线免费观看| 黄一区二区三区| 5566中文字幕一区二区电影| 中文字幕在线视频一区| 久久99久久99小草精品免视看| 在线亚洲一区二区| 久久精品免费在线观看| 琪琪一区二区三区| 欧美三级蜜桃2在线观看| 国产精品乱码一区二区三区软件 | 欧美一区二区女人| 亚洲综合在线五月| 成人动漫精品一区二区| 久久久久久久久久久黄色| 五月激情六月综合| 欧美性感一区二区三区| 中文字幕一区二区三区不卡| 国产精品中文字幕日韩精品| 欧美一级xxx| 成人avav影音| 久久影院电视剧免费观看| 婷婷中文字幕一区三区| 欧美色中文字幕| 一区二区三区在线观看视频 | 国产91丝袜在线播放0| 精品国产污污免费网站入口| 男女激情视频一区| 日韩亚洲欧美中文三级| 秋霞国产午夜精品免费视频| 欧美高清视频一二三区| 视频精品一区二区| 欧美日韩国产高清一区二区三区| 一区二区三区中文在线| 在线亚洲高清视频| 亚洲自拍偷拍麻豆| 欧美日韩亚洲综合一区| 亚洲va欧美va人人爽| 欧美日韩大陆一区二区| 性做久久久久久免费观看| 欧美日韩成人综合| 日韩电影在线观看一区| 欧美一区二区三区视频| 免费高清成人在线| 精品国产3级a| 国产不卡在线一区| 中文字幕色av一区二区三区| av在线播放不卡| 一级特黄大欧美久久久| 欧美日本一区二区三区| 日韩av在线免费观看不卡| 欧美一卡2卡三卡4卡5免费| 九九九精品视频| 日本一区二区视频在线观看| 成人av先锋影音| 一区二区三区免费网站| 欧美日韩国产一级二级| 麻豆成人久久精品二区三区小说| 欧美mv日韩mv| eeuss鲁片一区二区三区在线观看| 国产91丝袜在线播放0| 国产精品久久久久久久第一福利| 99re66热这里只有精品3直播| 一区二区三区精品在线观看| 欧美一区二区久久| 国产精品一卡二卡在线观看| 日韩美女啊v在线免费观看| 欧美丰满一区二区免费视频| 精品中文字幕一区二区| 国产精品少妇自拍| 欧美三级电影一区| 另类成人小视频在线| 国产精品乱码久久久久久| 欧美精品高清视频| 国产成人av福利| 亚洲第一综合色| 久久嫩草精品久久久久| 色一情一乱一乱一91av| 美女视频一区在线观看| 中文字幕在线不卡一区 | 欧美午夜精品理论片a级按摩| 日本午夜精品视频在线观看| 国产精品私人影院| 69成人精品免费视频| 国产成人av福利| 日韩影院在线观看| 国产精品成人午夜| 日韩一级大片在线| 91啦中文在线观看| 国产一区二区视频在线播放| 亚洲国产裸拍裸体视频在线观看乱了 | 色哟哟一区二区| 国产一区二区在线观看视频| 亚洲中国最大av网站| 国产免费成人在线视频| 制服.丝袜.亚洲.另类.中文 | 在线成人av网站|