1 / 6
文档名称:

怎样通过改变编程方法减小程序扫描周期?.doc

格式:doc   大小:448KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

怎样通过改变编程方法减小程序扫描周期?.doc

上传人:drp539603 2018/11/28 文件大小:448 KB

下载得到文件列表

怎样通过改变编程方法减小程序扫描周期?.doc

相关文档

文档介绍

文档介绍:返回主题列表
作者
主题
fiberzys
游士
经验值: 221
发帖数: 152
精华帖: 0
楼主    2009-03-22 17:30:39
主题:老问题欢迎讨论:怎样通过改变编程方法减小程序扫描周期?
4年前做的一个项目近期又扩展,发现扫描周期达到了50-100ms,只好开始优化程序。由于有大约300个模拟量(都是单极性,实时性要求不高)要读取转换,我首先放弃了FC105自己编了个小程序(同时改原来的LAD为STL)转换,然后分周期分批读取,发现扫描周期平均减少了近10ms,现在还想近一步优化,那些方面的更改可以进一步减小扫描周期?用循环和不用循环哪个更快?
 抛砖引玉,欢迎大家都来讨论下。
凌波微步
侠圣
经验值: 4577
发帖数: 2138
精华帖: 59
楼    2009-03-31 10:00:03
  主题:回复:老问题欢迎讨论:怎样通过改变编程方法减小程序扫描周期?
版主的问题提的太专业了!而且最后的总结陈词也很实际。干了这几年自控系统后,个人也是觉得,国内的项目如果按照100分来评价的,打60分和打90分区别真的不大;因为往往甲方只要能够满足其基本要求,其他的美化,优化的措施并不在意。而且往往商务手段要比技术处理更重要。
 
 其实干了这些年自控和西门子的产品,还真没有系统的研究和学****过扫描周期,程序优化这方面的知识。只是跟着前辈们去学****编程****惯。惭愧啊。。。。。。
 
 对于版主的提问,我的回答如下,请指教:
 :只要保证CPU的负荷不是过高的情况(我认为最好不超过80%,我记得默认好像是>90%系统报警)下,扫描的稳定性就可以得到很好的保证;
 扫描周期的长短:这个还是要根据不同类型信号的要求满足。我一般吧开关量放在OB35(100ms)里,模拟量放在OB33(500ms)里,对于SOE这样要求1ms的扫描周期,使用特殊的处理模件,特殊处理方式。
 
 ,如果按照同样的扫描处理的话,程序的多少自然会影响扫描周期的长短。版主的意思应该是如何优化程序,处理程序是非常重要的。这个我严重支持。对于这个方面的想法我没有太多的心得,因为我做的项目大多为PCS7,都是模块化的编程。只是对于程序的处理方面我一般尽量少功能多的功能块。同时对于功能块的RUN SEQUENCE优化,我往往都要做,而且按照不同的类型,分成若干个运行组;还有就是对于过程映像区的使用,自从有了PIP区的出现,我就一直使用这种方式;因为在我看来西门子的这发面的优化肯定是有其道理的。
 MUCATION JOB,诊断数据区的处理,我一般都是不做的。只有在程序量大,内存小的情况下才去降低这个数据区的;
 
 ,当然升级硬件是最好的选择;但并不是好的硬件,程序的优化就不重要了。还是两者并存是最佳选择。但硬件的升级往往不是以我们的意志为转移的。因此程序的优化还是尤为重要的。
 
 ,好的编程****惯看起来好像影响并不大。但对于某些特殊情况,比如能力差些的CPU带点数较多的情况下,这个时侯好的编程就会有很大的优势了。至少可以降低CPU的负荷。
 
 ,我不清楚。版主可否赐教?我一般认为中断扫描肯定比循环