PLC速度和内核算法哪个更重要?精华  

[ 2013/11/29 16:23:27 | Author: 剑思庭 ]
前几天一次技术澄清会上,多家自动化厂商同台献艺。施耐德和GE纷纷攻击AB PLC主频慢,这个时候我只是笑了一下,这些技术工程师在什么也不懂的情况下就拿着那些苍白的数据说事,客户被忽悠的认为CPU最快说明PLC执行速度就最快,就能干更多更复杂的事情,我只能给他们解释一款PLC设计中最重要的不是CPU的速度而是固件操作系统的算法优良和稳定性,在这各方面AB是最好的。

下面我讲举例说明一下。 我们来比较两种排序算法:「插入排序」 和 「归并排序」 。他们的算法复杂度分别是 O(n2)=c1n2 和 O(nlogn)=c2n lg n。一般情况下,归并排序算法有一个更大的常数因子,所以我们假设 c1 < c 2。 为了回答你的问题,我们在一台高速昆腾PLC A 上跑「插入排序」算法,和一台古老AB PLC5 B跑「归并排序」算法做对比。 我们假设: 输入的问题数据量为 1,000万个数字:n=107; A 一秒钟可以执行 1010 次运算指令 ( ~ 1GHz ); B 一秒钟只能执行 107 次运算指令 ( ~ 10MHz ); 常数系数 C1 = 2 (有点夸张),C2 = 50 (比现实中稍微小了一点) 于是在以上假设下,我们得到如下结果: A : 2⋅(107)2 次运算1010 次运算/秒=2⋅104 秒   B : 50⋅107lg107 次运算107 次运算/秒≈1163 秒   所以你看,那部慢了100倍的PLC,干活速度是快的那台的17倍。而且在现实中,归并算法有更高的效率,特别是随计算量增加的而更加明显。我希望这个答案能回答题目中的问题。

然而,这还不光是算法复杂程度的问题。在今天,单单想通过提高CPU主频来获得很明显的性能提升是不可能的。我们需要改良算法在多核CPU架构下的表现。而且这是个不太好对付的问题,因为随着内核数量的增加,其他方面的开销正在成为性能的障碍(比如内存访问调度控制)。所以,堆硬件很难获得线性的性能增长。

总结一下,对于工业控制来说,固件算法的优良是至关重要;CPU的运算能力在脱缰野马一般增长的需求面前,只是单纯吹捧CPU的速度丝毫没有任何意义。

回复:PLC速度和内核算法哪个更重要?

[ 2015/10/14 16:05:40 | Author: (匿名游客) ]

算法不是AB独有的呀

回复:PLC速度和内核算法哪个更重要?

[ 2015/9/15 10:24:40 | Author: (匿名游客) ]

剑工:有幸看到这么精彩的文章,顿感受益良多,只是对于以上说法,有些不明,还请指教.例如,为何要用两个不同的算法去比较,如果用同一个算法去比较是不是更有可比性,另外,运算指令的处理速度可能不应该简单的用CPU的主频来对应,CPU的主频只是决定处理数据的能力,指令的不同,处理的速度是不一样的,还有,B比A是不是慢了1000倍(仅就CPU主频而言)啊,文中说100倍,是不是笔误,最后的计算结果没有看明白,可能是应为无法正确显示指数的问题,不过,我也猜测了一些,可还是对不上.

 

中华工控网 | 联系我们 | 工控论坛首页 | 首页 | 博客注册 | 博客登陆

工控博客管理联系邮箱:工控博客服务邮箱

中华工控网 © Copyright 2013. All rights reserved.

内蒙古11选5app 广西11选5开奖结果玩法 江苏快3技巧 云南时时彩奖金 体育彩票浙江6%2b1
腾讯分分彩1个月赢40w 重庆幸运农场官方网站 大乐透专家预测 重庆快乐十分开奖网站 北京赛车pk10官方
2018最快开奖历史记录 p62开奖结果查询今天 博远棋牌 新疆35选7中奖 四川金7乐开奖号码分部
足球比分直播 排列三字谜预测 007之皇家赌场 河南快赢481网上投注 河北11选5开奖号码