技术论坛

如何使用获取一个双字的某一位的BOOL值

作者 主题
新手

经验值: 20
发帖数: 1
精华帖: 0
主题:【探讨】如何使用获取一个双字的某一位的BOOL值


只看楼主 楼主 2020-01-15 11:05:15

如何使用获取一个双字的某一位的BOOL值,不使用西门子自身的DBXX.X


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1604284&b_id=4&s_id=0&num=5

至圣

经验值: 19840
发帖数: 8834
精华帖: 39
回复:如何使用获取一个双字的某一位的BOOL值


只看楼主 1楼 2020-01-15 11:18:19

博图可以用slice操作

通用的做法就是和对应位为1的一个字/双字进行与操作,结果不为零则表示该位为1


 
以下网友喜欢您的帖子:

  
至圣

经验值: 16430
发帖数: 2402
精华帖: 0
回复:如何使用获取一个双字的某一位的BOOL值


只看楼主 2楼 2020-01-15 14:31:20

if GetTagDword("test")&0x1///第一个位
if GetTagDword("test")&0x2///第二个位
if GetTagDword("test")&0x4///第三个位
if GetTagDword("test")&0x8///第四个位
if GetTagDword("test")&0x10///第五个位
后面的常数按照8421一直排下去。


开心每一天,懂得包容、感恩!
以下网友喜欢您的帖子:

  
至圣

经验值: 43597
发帖数: 15780
精华帖: 61
回复:如何使用获取一个双字的某一位的BOOL值


只看楼主 3楼 2020-01-16 10:29:05

获取双字的第N个位:

vb,scl:

双字&2#1000(N-1个0)


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
侠圣

经验值: 2790
发帖数: 390
精华帖: 5
回复:如何使用获取一个双字的某一位的BOOL值


只看楼主 4楼 2020-04-08 23:21:51

有DB 为何不用

(* 将字转换为BOOL量*)

VAR_INPUT

input_data:WORD;//输入的字

END_VAR

VAR

data:WORD;    

bool_data AT data: ARRAY[0..15] OF BOOL;  //使用AT将字转换成BOOL量

I:INT;    

END_VAR

VAR_OUTPUT

BOOL_Number:ARRAY[0..15] OF BOOL;  //转换后输出的BOOL量

END_VAR

//DB1.DBX1.0--DBX1.7

    data:= input_data;

    FOR I:= 0 TO 15 BY 1 DO

        BOOL_Number[I]:= bool_data[I];   

    END_FOR;

程序的目的是使用的便捷性,可移植性,以及通用性,难道你用定时器,还自己做定时器吗?


大家同行,you ok ? me !
以下网友喜欢您的帖子:

  
侠圣

经验值: 2293
发帖数: 297
精华帖: 0
回复:如何使用获取一个双字的某一位的BOOL值


只看楼主 5楼 2020-09-10 09:00:42

SCL使用AT指令


whatever it takes
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
如何使用获取一个双字的某一位的BOOL值
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。