发布于 2012-11-19 20:19:58
60楼
quote:以下是引用火麒麟在2012-11-19 16:09:15的发言:quote:以下是引用SAGITAR在2012-11-19 11:43:50的发言:quote:以下是引用Automann在2012-11-15 16:27:37的发言:
CPU的循环时间由5个阶段组成,下面是循环处理的各个阶段的任务:
1) 操作系统启动循环时间监控定时器(看门狗)。
2) CPU将过程映像输出区的数据写到输出模块。
3) CPU读取输入模块的输入状态,并存入过程映像输入区。
4) CPU处理用户程序,执行用户程序中的指令。
5) 在循环结束时,操作系统执行其他任务,例如下载和删除块,接收和发送全局数据等。
此后CPU返回第一阶段,重新启动循环时间监控。
我觉得要计算循环时间是很困难的。
其实我觉得我们该关注什么是导致CPU周期延长的因素。例如,编程的语言选择,STL还是Gragh或是LAD,以及通信方式的使用。IO的过程映像区的大小设置等等。
我认为在程序编写方面:
1.尽量使用LAD,STL
2.可以自己编写的功能,就不要使用系统功能块。
为什么不使用系统功能块?自己写的程序能完全替代吗?我倒是认为应该尽量使用系统功能块,系统功能块的代码效率要高,另外不占用存储空间,当然合不合适用另说。
Zane
注册自动化系统工程师
Always save before download