回复:老问题欢迎讨论:怎样通过改变编程方法减小程序扫描周期?

凌波微步

  • 帖子

    2715
  • 精华

    72
  • 被关注

    208

论坛等级:奇侠

注册时间:2003-06-11

普通 普通 如何晋级?

发布于 2009-03-31 10:00:03

0楼

版主的问题提的太专业了!而且最后的总结陈词也很实际。干了这几年自控系统后,个人也是觉得,国内的项目如果按照100分来评价的,打60分和打90分区别真的不大;因为往往甲方只要能够满足其基本要求,其他的美化,优化的措施并不在意。而且往往商务手段要比技术处理更重要。

其实干了这些年自控和西门子的产品,还真没有系统的研究和学习过扫描周期,程序优化这方面的知识。只是跟着前辈们去学习编程习惯。惭愧啊。。。。。。

对于版主的提问,我的回答如下,请指教:
1.扫描的稳定性:只要保证CPU的负荷不是过高的情况(我认为最好不超过80%,我记得默认好像是>90%系统报警)下,扫描的稳定性就可以得到很好的保证;
扫描周期的长短:这个还是要根据不同类型信号的要求满足。我一般吧开关量放在OB35(100ms)里,模拟量放在OB33(500ms)里,对于SOE这样要求1ms的扫描周期,使用特殊的处理模件,特殊处理方式。

2.客观来讲,如果按照同样的扫描处理的话,程序的多少自然会影响扫描周期的长短。版主的意思应该是如何优化程序,处理程序是非常重要的。这个我严重支持。对于这个方面的想法我没有太多的心得,因为我做的项目大多为PCS7,都是模块化的编程。只是对于程序的处理方面我一般尽量少功能多的功能块。同时对于功能块的RUN SEQUENCE优化,我往往都要做,而且按照不同的类型,分成若干个运行组;还有就是对于过程映像区的使用,自从有了PIP区的出现,我就一直使用这种方式;因为在我看来西门子的这发面的优化肯定是有其道理的。
对于前面提到的COMMUCATION JOB,诊断数据区的处理,我一般都是不做的。只有在程序量大,内存小的情况下才去降低这个数据区的;

3.对于扫描周期长的问题,当然升级硬件是最好的选择;但并不是好的硬件,程序的优化就不重要了。还是两者并存是最佳选择。但硬件的升级往往不是以我们的意志为转移的。因此程序的优化还是尤为重要的。

4.对于现在的硬件能力来说,好的编程习惯看起来好像影响并不大。但对于某些特殊情况,比如能力差些的CPU带点数较多的情况下,这个时侯好的编程就会有很大的优势了。至少可以降低CPU的负荷。

5.扫描周期长短的判断标准,我不清楚。版主可否赐教?我一般认为中断扫描肯定比循环扫描时间短。而且程序做好下载到CPU后,可以在线查看扫描周期的长短。如果判断扫描周期长的话,我的第一反映就是优化程序,减少程序量;往往会将开关量的驱动块去掉;将模拟量监视块去掉,自己更改变量属性上传到WINCC中,报警自己编写等方法。

6.在编程序之前往往要考虑CPU的能力,是否能够满足设计I/O点数的需求,是否闭环回路较多,模拟量数量多少这些问题,才会去考虑如何编程的。如果CPU能力很强的话,那自然使用库中的功能块,这样省事,规范。如果能力稍差,就考虑自己去降低程序量的方法。

回答的很肤浅,请各位高手多多指教!
不以物喜,不以己悲; 达则兼济天下,穷则独善其身。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。