From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



FP-3000每秒可以执行多少次PID循环迭代?



硬件:

问题:
我想知道FP-3000执行PID循环的速度有多快?

解答:

FP-3000能够每秒运行接近50-60个PID循环迭代。你能够选择分布这些迭代,通过每秒运行一个PID循环50次或者每秒运行50个PID循环(实际上仅仅49个PID循环,见下)。你能够同样选择这两者之间的任何一种情形。
注意:当决定运行PID循环的速度是,请牢记Field Point IO模块中的A/D更新速度。举例AI-100有一个2.8ms的更新速度,但是AI-110的更新速度为170ms到1500ms。如果运行PID循环更快的更新速率的话,就没有意义了。独立的IO模块的更新速度在每一个模块的操作手册中都有文档描述。

详细解决方案
在一个FP-3000中有高达150个函数模块可以参考。其中一个必须是资源模块。这就意味着你能够实例化高达149个其他的函数模块。每一个PID循环需要3个模块(AI,PID,AO)。因此,在单个FP-3000上之多运行高达49个PID循环。
因为功能函数必须穿行执行,在PID循环个数和运行PID循环的速度上有一个这种。为了找到这个关系,计算所希望的功能函数模块的总执行时间。同时注意,在你的任务里,你总体上想要留下30%的宏循环来给没有在任务中的通信(为了允许不同设备之间传递警告信号,或者HMI通信等)。在PID循环中的功能模块有如下的(最坏情况)最大执行次数。(注意:你能够在模块信息选项卡里找到这个信息,在浏览菜单里,选择偏好。单击模块浏览选项卡,检查显示模块信息的复选框,现在当你双击功能模块时,一个新的选项卡成为模块信息将会出现。在针对独立的功能模块,请参见模块信息选项卡的EXECUTION_TIME参数。如果是16进制数,你可以通过右击来改变,然后不选择16进制数据。参数的十进制数是1/32ms的执行时间)。将这个数除以32,能够获得最大毫秒的执行时间)。配置上不允许功能模块一起都接近最大的执行时间。

Function Block Maximum Execution Time
PID 8 ms
AI 6 ms
AO 6 ms

针对一个PID循环:
功能模块的总执行时间是20ms(8ms+6ms+6ms),将这些数乘以1.5,能够允许30%的为规划时间30ms。
规划时间=1/0.020 s = 50每秒的循环迭代次数(对一个循环)。30%的未规划时间 = 1/0.030 s =大约每秒33个循环迭代(1个循环)。

针对49个PID循环:
功能模块的总执行时间是980 ms (49*(8 ms + 6 ms + 6 ms)),将这些数乘以1.5,能够允许30%的为规划时间1470 ms。
规划时间=1/0.980 s =大约一秒一个迭代(每49个循环)。30%的未规划时间 =  1/1.470 s =大约每个迭代1.5s(每49个循环)。



相关链接:

附件:





报告日期: 04/19/1999
最近更新: 01/03/2015
文档编号: 1KIED0B7