东北大学网络控制系统Truetime仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

东北大学网络控制系统Truetime仿真beta1.执行器初始化文件actuator_init.mfunctionactuator_initttInitKernel(0,1,'prioFP');deadline=100;prio=1;ttCreateTask('act_task',deadline,prio,'actuatorcode');ttCreateInterruptHandler('nw_handler',prio,'msgRcvActuator');ttInitNetwork(2,'nw_handler');2.执行器代码actuatorcode.mfunction[exectime,data]=actuatorcode(seg,data)switchsegcase1,data.u=ttGetMsg;exectime=0.0005;case2,ttAnalogOut(1,data.u);exectime=-1;end3.控制器初始化controller_init.mfunctioncontroller_initttInitKernel(1,0,'prioFP');period=0.01;deadline=period;prio=1;data.K=1.5;data.Ti=0.14;data.Td=0.035;data.N=100000;data.h=period;data.u=0;data.rold=0;data.Iold=0;data.Dold=0;data.yold=0;ttCreateTask('pid_task',deadline,prio,'ctrlcode',data);ttCreateInterruptHandler('nw_handler',prio,'msgRcvCtrl');ttInitNetwork(1,'nw_handler');4.控制器代码ctrlcode.mfunction[exectime,data]=ctrlcode(seg,data)switchseg,case1,r=ttAnalogIn(1);y=ttGetMsg;data=pidcalc(data,r,y);exectime=0.0005;case2,ttSendMsg(2,data.u,80);exectime=-1;end5.PID计算pidcal.mfunctiondata=pidcalc(data,r,y)P=data.K*(r-y);I=data.Iold+data.K*data.h/data.Ti*(r-y);D=data.Td/(data.N*data.h+data.Td)*data.Dold+data.N*data.K*data.Td/(data.N*data.h+data.Td)*(r-data.rold+data.yold-y);data.u=P+I+D;data.Iold=I;data.Dold=D;data.yold=y;data.rold=r;6.传感器初始化sensor_init.mfunctionsensor_initttInitKernel(1,0,'prioFP');data.y=0;offset=0;period=0.01;prio=1;ttCreatePeriodicTask('sensor_task',offset,period,prio,'sensorcode',data);ttCreateInterruptHandler('nw_handler',prio,'msgRcvSensor');ttInitNetwork(3,'nw_handler');7.传感器代码sensorcode.mfunction[exectime,data]=sensorcode(seg,data)switchsegcase1,data.y=ttAnalogIn(1);exectime=0.00005;case2,ttSendMsg(1,data.y,80);exectime=0.0004;case3exectime=-1;end8.msgRcvActuator.mfunction[exectime,data]=msgRcvActuator(seg,data)ttCreateJob('act_task');exectime=-1;9.msgRcvCtrl.mfunction[exectime,data]=msgRcvCtrl(seg,data)ttCreateJob('pid_task');exectime=-1;10.msgRcvSensor.mfunction[exectime,data]=msgRcvSensor(seg,data)disp('ERROR:sensorreceivedamessage');exectime=-1;PID控制器的参数与书中所给一致,但图像差别很大。大家可以看下truetime工具箱中给的examples中一个distributed的例子,其中是pd控制器,除了Ti以外,其他控制器参数和书中的pid的参数一致,而且仿真图像和书中的一致。怎么可以这样!!!!!!!!!!故程序图像参数仅供参考。大家可以自己调pid的参数,找自己满意的图像想下全部文件的童鞋请点击

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功