quote:以下是引用lee nd2009在2012-11-17 17:19:25的发言:
2、如何计算CPU的循环时间?
a, CPU单元的循环时间就是指CPU中用户程序循环执行一周所需要的时间。用来评估执行动作的快慢是否满足你的工程应用要求。
影响cpu的循环时间多个因素,比如用户程序的大小、结构和过程映像的传递时间以及中断的数量多少等,而且每个类型的cpu的中断的时间还不一样的
b,cpu循环时间举例:
硬件:cpu314-2dp 4个DI ,3个DO, 2个AI 和2个AO ,其中DI的PA 有4个byte,DO的PA有2个btye,AI和AO没有,故,4个DI模块16byte ,3个DO有6byte。
表中对于这个类型的cpu的过程映像传递时间大约是37us
用户程序运行时间10ms
根据上述计算循环时间:
用户程序执行时间:10msxcpu系数1.1=11ms
过程映像传送时间:
输入过程映像传送时间:基本负载+16x37us=100us+16bx37us=0.7ms
输入过程映像传送时间:基本负载+8x37us=100us+8bx37us=0.3ms
扫描循环检查处的操作系统执行时间大约0.5ms
对于I/O延迟时间忽略,没有中断处理
故循环时间为:11ms+0.7ms+0.3ms+0.5ms=12.5ms