回复:求助,查找一个字中有多少个位为1

已锁定

莎利文

西门子1847工业学习平台

  • 帖子

    142
  • 精华

    7
  • 被关注

    34

论坛等级:侠圣

注册时间:2005-10-24

白金 白金 如何晋级?

发布于 2020-04-16 17:13:11

18楼

展开查看
以下是引用幸福的小石头在2020-04-11 08:02:11的发言 >2楼

我提供一个以前我用的思路,楼主参考一下:新建一个数组,然后将字的各个位分别传给这个数组,接着用FOR循环,将数组中的各个位分别做开关点,做计数统计,坐等大神给更好的解决方法

这个办法虽然可以实现,但不是最好的。举例说一下,FOR 循环在内存中的运行方式,是最低的方式,因为循环时需要判断条件,且条件判断一般使用比较指令,这更进一步拉低运算速度,增加内存开销。从这个角度来看,上次有人禁止你用SCL ,也是有道理的。。
我给你一个最简单的方法,PLC做指令处理时,什么指令时间最少?算数运算还是逻辑运算?当然是逻辑运算,那么用简单的异或,然后判断一下。如果用循环则需要3个条件,几十个循环步。用异或则省去这些麻烦和诸多开销。

人情到时文章老,书读深处意气平。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15119条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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