回复:判断8位中有任意3位为1

阿奎利亚

  • 帖子

    5
  • 精华

    2
  • 被关注

    0

论坛等级:新手

注册时间:2009-02-16

普通 普通 如何晋级?

发布于 2009-02-16 21:00:25

0楼

谁说没有,你们没有看到就说没有,在程序编辑器(LAD/STL/FBD)中,左侧的总览窗口下依次点击展开:库 —> Standard Library —> TI-S7 Converting Blocks —> FC99 BITSUM CONVERT就是一个实现计算输入IN中设置为1的位的数量,并将此值作为该功能的值返回,相关详细功能解释可以调用中文的帮助文件看看。
因为这个功能块输入的是DWORD类型的参数,所以要实现8位的判断,只需将不用的位屏蔽掉既可,即将待判断的存储字节如:MB10,传入一个双字的存储器中,例如:MD0并且与DW#16#FF进行与运算后将结果传回MDO 作为FC99的输入即可。
L MB 10
L DW#16#FF
AD
T MD 0

CALL "BITSUM"
IN :=MD0
RET_VAL:=MW20 //计算出有多少个为1的位,结果存放在MW20中
NOP 0

L MW 20
L 3
==I
= Q 1.0 // 任意3位为1时Q1.0接通
我思故我在
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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