| 作者 | 主题 |
|---|---|
|
快乐小子 游民 经验值:138 发帖数:78 精华帖:0 |
楼主
主题:判断8位中有任意3位为1
西门子中有可以判断8位中有任意3位为1时输出1吗?那位大侠能帮帮我啊!
|
|
阿奎利亚 新手 经验值:30 发帖数:5 精华帖:2 |
楼
主题:回复:判断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接通
我思故我在
|