quote:以下是引用jacky_andy在2010-09-26 14:29:42的发言:
FB41的采样时间和积分时间和定时中断的关系?
原则上是不是应该 定时中断《采样时间《积分时间?
情况一:积分时间是10ms,它应该是10ms积分一次,如果我采样周期是100ms,那是不是意味着我前10个10ms积分结果不会发生变化?
情况二:在上次的讨论中大家提到定时中断周期T与PID采样周期CYCLE的关系应该是CYCLE=n*T (n=1,2,3,4,…….)。如果你用的定时中断,采样周期是它的整数倍?我的疑问是定时中断n次他才能够采样1次,这样做的意义是什么?如果直接就是一比一的关系岂不是更好,还可以节省plc的运行负担
情况三:采样周期的概念如何理解?多长时间采集一次反馈值吗?如果我设定采集周期是100ms,内部怎样判断到没到达100ms?积分时间也是同样的问题,他怎样去判断时间到没有?内部有定时器吗?
问题四:西门子有没有公开的PID源代码程序?
问题五:大家有没有谁做过用速度和加速度进行积分进行计算求面积的案例,介绍一下相关的经验非常感谢
FB41/42/43/58都是软件PID,说白了,其和普通程序没什么区别,只是能完成 PID算法/控制而已。所以其 与PID相关的时间参数都是比例关系而已。所以如果OB35 (100毫秒)中调用FB41 , 那么对于任何小于 100 毫秒的参数都是没有意义的,如果把FB41比喻成一名士兵,他不清楚自己是在OB35 还是 OB34 中被调用,而调用周期是多少也不清楚,所以作为指挥官的编程者,就应当告诉他,你在OB35 中被调用,周期是 100毫秒,而其它时间参数无论怎么填,都会与CYCLE 按照比例关系计算。FB41 既没有用定时器,也没有软定时器。
为了计算精确,CYCLE 就应当是OB35 的执行周期,当然作为指挥官乱发命令,谁也没办法。