回复:判断指定位区间内ON的个数

已锁定

甫哥

  • 帖子

    1448
  • 精华

    72
  • 被关注

    84

论坛等级:至圣

注册时间:2009-01-04

白金 白金 如何晋级?

发布于 2023-11-09 15:55:52

15楼

想了一个方案,时间仓促、能力有限、纸上谈兵、难免有误。请谅解并指正,仅供参考。

1)总体思路:按字节、字或双字,分段统计;

2)主要关键【指令】:指针(间接寻址)、FOT-NEXT 循环(分为外循环、内循环)、移位指令等;

3)参考例子简述:按字节统计、范围:V0.0至V9.7。范围可扩展。

     0、如果按字或双字统计时,要做高低字节交换;程序中的部分常数【8】,要分别改为【16】或【32】;改变FOT-NEXT 内外循环的次数设置;等

    1、首先计算:根据VW100、VW102设置的统计区间的最低位、最高位,计算出二者分别对应那个字节的那个位;

    2、再计算出 移出统计范围外的位,分别需要移出多少位;

    3、建一个指针:初始指向VB0。用于在外循环中读取要统计字节的数据;

    4、外循环中、内循环的上部:读取并移除要统计的字节中,处于范围之外的位;这个一两句说不清楚;

    5、内循环:统计一个字节里有多少个1;这个是采用站内大侠的方案,可搜索查看。

    6、外循环中、内循环的后面:指针加1,指针指向下一个字节的地址,为读取统计下一个字节的数据做准备;

    7、外循环结束;

    8、统计的【ON数】=0:一个位输出1。如:M0.0;【ON数】>0:一个位输出1。如:M0.1。


书山有路勤为径,学海无涯苦作舟;三人行,必有我师;森林之外的树木也能成才
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8934条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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