技术论坛

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

返回主题列表
作者 主题
快乐小子
游民

经验值:138
发帖数:78
精华帖:0
楼主    2009-02-14 21:45:42
主题:判断8位中有任意3位为1
西门子中有可以判断8位中有任意3位为1时输出1吗?那位大侠能帮帮我啊!
阿奎利亚
新手

经验值:30
发帖数:5
精华帖:2
    2009-02-16 21:00:25
精华帖  主题:回复:判断8位中有任意3位为1
谁说没有,你们没有看到就说没有,在程序编辑器(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接通
我思故我在
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。