quote:以下是引用Automann在2012-11-19 18:16:12的发言: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.可以自己编写的功能,就不要使用系统功能块。
你能保证自己编写的块比系统功能块执行的时间短吗?多累呀!能节约多少时间?有必要吗?
火麒麟大侠说的有一定道理!如果感觉累,干嘛还要去编程和开发呢?SIEMENS的PLC系统,灵活高效,功能强大、博大精深,这也是它的魅力所在!它给我们提供了一个平台,在思想上、系统资源上给用户留有较大的可开发空间,如果都是做成傻瓜式的东西,哪岂不是索然无味了?岂不是遏制了它的自由思想?相信并不是所有人都愿意自己变成拿来主义或者傻瓜!