LabVIEW论坛
直播中

李芳

4年用户 34经验值
私信 关注
[问答]

如何协调PID采样时间、控制器计算时间、while循环时间?

  我在使用控制与仿真模块里的PID vi的时候遇到了这个问题,while循环时间位指定,根据所获取的数据得知在1-2ms波动,PID采样时间设置为1s,按照说明,PID的采样时间即为PID控制器计算及输出的间隔时间,但是根据PID的输出口的数据,发现数据刷新远低于1s,更改PID的采样时间到10s甚至100s发现只会影响到积分I部分的效果(我没有使用D),PID输出数据的刷新速度并没有改变,依然远低于1s。所以我想问一下,PID的计算和输出时间间隔是由那个参数决定的?和采样时间、while循环时间是什么样的关系?
  此外,我用simulink编写PI控制器编译成dll以后供labview调用,依旧出现上述现象,即更改采样时间,数据输出刷新速度无变化,仅仅影响到积分I部分。
  使用USB6008进行数据输入和输出,labview版本为2019。
  程序截图如下:
PID.png simulink调用.png




回帖(3)

李芳

2020-9-1 14:20:26
希望了解这个问题的大佬能解答,谢谢啦!
举报

RedJ

2020-9-1 14:31:46
是不是while循环时间是一个控制周期的时间。PID模块的积分时间是用于数值积分用的(我记得他可选梯形或者辛普森积分),你改变该值当然会影响到积分结果。那么在这里是不是应该令PID模块的积分时间等于你while的循环时间,while循环时间需要大于你的采样时间加上PID计算的时间
1 举报
  • 李芳: 似乎控制周期确实由while循环时间决定,至于您的最后一句,我暂时持保留意见,因为在PLC当中,采样时间一般要设置成循环中断时间的整数倍

李芳

2020-9-2 08:57:45
经过测试,目前我的看法是,PID的计算周期是由while循环决定的,PID中的采样时间dt不设置,dt会和while循环时间大致相等,为了使dt不变,故最好指定dt与while相等,dt也可设置成与while循环不相等,此时dt影响积分部分,而不影响pid采样时间
1 举报
  • en嗯嗯嗯en: 请问这个1采样循环周期时间1到2ms还能往下降么?是什么原因导致这个1到2ms的呢?

更多回帖

发帖
×
20
完善资料,
赚取积分