技术论坛

求助一下16位的数怎么分离

作者 主题
游民

经验值: 60
发帖数: 16
精华帖: 0
主题:【求助】求助一下16位的数怎么分离


只看楼主 楼主 2022-05-29 08:55:43
读取一个可变的16位的数,想把它没一位都分离出来单个监控比如读出来的数是1111110001111111,但是这是一个可变的数,但是只限于0和1变化,我想把这个数每一位都单独分离监控,需要怎么做比如我想单独监控第1位是1第三位是1需要程序怎么写
 
以下网友喜欢您的帖子:

  
重要声明:

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

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

至圣

经验值: 24344
发帖数: 4846
精华帖: 6
回复:求助一下16位的数怎么分离


只看楼主 1楼 2022-05-29 09:08:06

WAND,逻辑与。0000000000000001、0000000000000100、1000000000000000、0010000000000000。


谨慎低调
以下网友喜欢您的帖子:

  
至圣

经验值: 43582
发帖数: 15779
精华帖: 61
回复:求助一下16位的数怎么分离


只看楼主 2楼 2022-05-29 16:53:23

把数据保存到m地址,比如mw0,然后分别读取m0.0~m1.7就行了。


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

  
侠圣

经验值: 2790
发帖数: 390
精华帖: 5
回复:求助一下16位的数怎么分离


只看楼主 3楼 2022-06-23 19:04:32

FUNCTION_BLOCK FB20

TITLE = 'DWORD_TO_BOOL'

//

// Block Comment...

//

VERSION: '1.0'

AUTHOR: baikai

NAME: DW_B

FAMILY: baikai

know_how_protect

(* 将双字转换为BOOL量*)

VAR_INPUT

input_data:DWORD;//输入的双字

END_VAR

VAR

data:DWORD;    

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

I:INT;    

END_VAR

VAR_OUTPUT

Q0    :    BOOL    ; 

Q1    :    BOOL    ;

Q2    :    BOOL    ;

Q3    :    BOOL    ;

Q4    :    BOOL    ;

Q5    :    BOOL    ;

Q6    :    BOOL    ;

Q7    :    BOOL    ;

Q8    :    BOOL    ;

Q9    :    BOOL    ;

Q10   :    BOOL    ;

Q11    :    BOOL    ;

Q12    :    BOOL    ;

Q13    :    BOOL    ;

Q14    :    BOOL    ;

Q15    :    BOOL    ;

Q16    :    BOOL    ;

Q17    :    BOOL    ;

Q18    :    BOOL    ;

Q19    :    BOOL    ;

Q20    :    BOOL    ;

Q21    :    BOOL    ;

Q22    :    BOOL    ;

Q23    :    BOOL    ;

Q24    :    BOOL    ;

Q25    :    BOOL    ;

Q26    :    BOOL    ;

Q27    :    BOOL    ;

Q28    :    BOOL    ;

Q29    :    BOOL    ;

Q30    :    BOOL    ;

Q31    :    BOOL    ;

END_VAR

//DB1.DBX0.0--DBX3.7

    data:= input_data;

    FOR I:= 0 TO 31 BY 1 DO

Q0    :=     bool_data[0]    ;

Q1    :=     bool_data[1]    ;

Q2    :=     bool_data[2]    ;

Q3    :=     bool_data[3]    ;

Q4    :=     bool_data[4]    ;

Q5    :=     bool_data[5]    ;

Q6    :=     bool_data[6]    ;

Q7    :=     bool_data[7]    ;

Q8    :=     bool_data[8]    ;

Q9    :=     bool_data[9]    ;

Q10    :=     bool_data[10]    ;

Q11    :=     bool_data[11]    ;

Q12    :=     bool_data[12]    ;

Q13    :=     bool_data[13]    ;

Q14    :=     bool_data[14]    ;

Q15    :=     bool_data[15]    ;

Q16    :=     bool_data[16]    ;

Q17    :=     bool_data[17]    ;

Q18    :=     bool_data[18]    ;

Q19    :=     bool_data[19]    ;

Q20    :=     bool_data[20]    ;

Q21    :=     bool_data[21]    ;

Q22    :=     bool_data[22]    ;

Q23    :=     bool_data[23]    ;

Q24    :=     bool_data[24]    ;

Q25    :=     bool_data[25]    ;

Q26    :=     bool_data[26]    ;

Q27    :=     bool_data[27]    ;

Q28    :=     bool_data[28]    ;

Q29    :=     bool_data[29]    ;

Q30    :=     bool_data[30]    ;

Q31    :=     bool_data[31]    ;

       

        

    END_FOR;



END_FUNCTION_BLOCK

//



Q0--Q31 这样 要看那个就看那个


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

  
游侠

经验值: 571
发帖数: 82
精华帖: 0
回复:求助一下16位的数怎么分离


只看楼主 4楼 2022-07-20 00:57:19

只读取其中的bit位啊


123
以下网友喜欢您的帖子:

  
奇侠

经验值: 8289
发帖数: 641
精华帖: 0
回复:求助一下16位的数怎么分离


只看楼主 5楼 2022-08-10 15:30:43

可以读取BIT位就行的,


努力向上
以下网友喜欢您的帖子:

  
至圣

经验值: 19808
发帖数: 4378
精华帖: 2
回复:求助一下16位的数怎么分离


只看楼主 6楼 2022-08-10 16:32:06

用与非门判断


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1485
发帖数: 352
精华帖: 0
回复:求助一下16位的数怎么分离


只看楼主 7楼 2022-08-12 19:56:37

把数据保存到m地址


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
求助一下16位的数怎么分离
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。