TIA博途统计任意数据块DB中二进制1的个数

标签:
数据块二进制统计数位统计 |
目的:给定任意一个数据块DB,数据块DB内可以是任意数据类型的数据,统计该数据块中二进制数据1的个数。
方法:使用TIA博途内嵌指令BITSUM来计算,但是BITSUM最大只能统计32位数据,所以要把数据块DB进行分割,分割成DWORD、WORD和BYTE单元。
1. 编写程序。如下图:
2. 设计测试数据块。如下图:
3. 监控测试结果。如下图:
4. 小结:
实际上可以将数据块DB按最小单元BOOL处理,先算出数据块DB总共使用了多少个字节,即多少个位,然后使用FOR循环进行统计,但是实践中发现这种方法对程序循环扫描周期影响较大,不如利用内嵌指令BITSUM效率高。