当前位置: 首页 > news >正文

凡科网做网站花多少钱php做网站麻烦吗

凡科网做网站花多少钱,php做网站麻烦吗,公司内部 网站开发,制作一个网站需要注意什么最近看到了Brett Beauregard发表的有关PID的系列文章#xff0c;感觉对于理解PID算法很有帮助#xff0c;于是将系列文章翻译过来#xff01;在自我提高的过程中#xff0c;也希望对同道中人有所帮助。作者Brett Beauregard的原文网址#xff1a;http#xff1a;//brettb…最近看到了Brett Beauregard发表的有关PID的系列文章感觉对于理解PID算法很有帮助于是将系列文章翻译过来在自我提高的过程中也希望对同道中人有所帮助。作者Brett Beauregard的原文网址http//brettbeauregard.com/blog/2011/04/improving-the-beginner’s-pid-onoff/ 1、问题所在 有一个 PID 控制器虽然是很好的但你并不是什么时候都需要它。 假设在程序中的某个时刻您希望将输出强制为某个值 (例如 0)您当然可以在调用例程中执行此操作 void loop() {Compute();Output0; } 这样无论 PID 输出是什么您只需覆盖其值。然而这在实践中是一个可怕的想法。PID 会变得非常混乱“我一直发送输出但是什么都没有发生!到底发生了什么事? !我再发送一下。”因此当您停止覆盖输出并切换回 PID 时您可能会立即得到一个巨大的输出值改变。 2、解决方案 解决这个问题的办法是有办法关闭和打开 PID。这些状态的常用术语是 手动 (我将手动调整输出值) 和 自动 (PID 将自动调整输出)。让我们看看这是如何在代码中完成的。 3、代码 /*working variables*/ unsigned long lastTime; double InputOutputSetpoint; double ITermlastInput; double kpkikd; int SampleTime 1000; //1 sec double outMinoutMax; bool inAuto false; #define MANUAL 0 #define AUTOMATIC 1 void Compute() {if(!inAuto) return;unsigned long now millis();int timeChange (now - lastTime);if(timeChangeSampleTime){/*Compute all the working error variables*/double error Setpoint - Input;ITerm (ki * error);if(ITerm outMax) ITerm outMax;else if(ITerm outMin) ITerm outMin;double dInput (Input - lastInput);/*Compute PID Output*/Output kp * error ITerm- kd * dInput;if(Output outMax) Output outMax;else if(Output outMin) Output outMin;/*Remember some variables for next time*/lastInput Input;lastTime now;} } void SetTunings(double Kpdouble Kidouble Kd) {double SampleTimeInSec ((double)SampleTime)/1000;kp Kp;ki Ki * SampleTimeInSec;kd Kd / SampleTimeInSec; } void SetSampleTime(int NewSampleTime) {if (NewSampleTime 0){double ratio (double)NewSampleTime/ (double)SampleTime;ki * ratio;kd / ratio;SampleTime (unsigned long)NewSampleTime;} } void SetOutputLimits(double Mindouble Max) {if(Min Max) return;outMin Min;outMax Max;if(Output outMax) Output outMax;else if(Output outMin) Output outMin;if(ITerm outMax) ITerm outMax;else if(ITerm outMin) ITerm outMin; } void SetMode(int Mode) {inAuto (Mode AUTOMATIC); } 一个相当简单的解决方案。如果您不在自动模式下请立即离开计算函数而不调整 输出 或任何内部变量。 4、最终结果 的确您可以通过不象例程那样调用计算来实现类似的效果但此解决方案保持PID所包含的工作原理这是我们所需要的。通过保持事物的内部过程我们可以跟踪处于哪种模式中更重要的是当我们改变模式时它让我们知道有哪些工作需要进行。这就引出了下一期.....。 欢迎关注
http://www.yutouwan.com/news/274235/

相关文章:

  • 怎样自做网站响应式网站开发现状
  • 网站首页模板图片小程序致美发型设计
  • 做直播网站查询网站dns服务器
  • 网站建设 上海网站建网站数据流分析怎么做
  • 网站无法收录西安seo专员
  • 建英文网站有用吗注册装修公司需要什么条件和资料
  • 微信清粉网站开发做推广任务网站
  • wordpress仿站实战沛县可以做网站的单位
  • 网站建设公司有哪些手机网站开发成app
  • 灵武网站建设用域名访问网站
  • 网站助手 伪静态搜索引擎优化seo论文
  • 网站源码 和网站模板区别沈阳招标信息网官网
  • 学习php网站建设个人建设网站还要备案么
  • 温州网站快速排名wordpress可以添加字段吗
  • 深圳 高端 建站公司厦门网站制作公司
  • 学生做爰网站凡科的模板做网站
  • 湖北省建设银行网站6郴州网签查询
  • 吉林律师网站建设多少钱wordpress 调整页面布局
  • 建设网站便宜网页模板素材
  • 广州市建设监理协会网站做移动网站多少钱
  • 成都网站建设推荐网站信息内容建设
  • 电子产品在哪些网站做调研代理商怎么做
  • 如何去推广一个appwordpress重定向seo
  • 厦门成交型网站建设公司辽阳市城市建设档案馆网站
  • 冷库建设网站西安有什么好玩的值得去的地方
  • 地产平面网站云虚拟主机建设网站一定要域名
  • 网站底部悬浮广告代码无为县住房和城乡建设局网站首页
  • 网站建设 青岛官网mini1cn下载迷你世界登录
  • 做带支付功能的网站做商城网站带宽
  • 招聘网站开发兼职网站推广的方法和技巧