labview应用问题,输入十六进制字符串后,自动显示出每位含义
现在知道每个字节表示的含义,想通过labview转化成2进制码,表示出每一位的含义!例如十六进制字7C10,二进制表示为0111110000010000其中0和1的含义为...
现在知道每个字节表示的含义,想通过labview转化成2进制码,表示出每一位的含义!
例如十六进制字 7C10,二进制表示为0111 1100 0001 0000 其中0和1的含义为:
Bit0
网侧控制命令,用于自动模式
Bit1
转子侧控制命令,用于自动模式
Bit2
充电命令
Bit3
逆变器连接
Bit4
网侧PWM控制命令
Bit5
转子侧同步控制命令
Bit6
定子连接命令
Bit7
功率控制命令
Bit8
网侧接触器已连接
Bit9
定子已经并网
Bit10
变频器紧急停机命令
Bit11
故障复位命令
Bit12~Bit15
预留 展开
例如十六进制字 7C10,二进制表示为0111 1100 0001 0000 其中0和1的含义为:
Bit0
网侧控制命令,用于自动模式
Bit1
转子侧控制命令,用于自动模式
Bit2
充电命令
Bit3
逆变器连接
Bit4
网侧PWM控制命令
Bit5
转子侧同步控制命令
Bit6
定子连接命令
Bit7
功率控制命令
Bit8
网侧接触器已连接
Bit9
定子已经并网
Bit10
变频器紧急停机命令
Bit11
故障复位命令
Bit12~Bit15
预留 展开
2个回答
展开全部
labview是高级语言,一般高级语言不支持位操作。
位操作方法一(掩码法):
由于高级语言不支持位寻址,所以针对字节或字中的某一位或者几位进行操作时,必须借助掩码。掩码是某些位为0,某些位为1的位组合。对于字节的位操作,通常采用下列掩码(MASK)
举个例子:
0x01就是掩码。当一个u8类型的数据和其取反相“与”时会将第0位清零,当和该数据相或时,会将该数据第0位置一。同时利用掩码可以判定该位的状态是0或1.从而变相的实现了位操作。
使用掩码是高级语言实现位操作的通用方法。
方法二(labview中bool操作):
你可以将你的数据(u16类型)通过“数组至布尔数组转换”将你的数值转换为一个布尔数组,如下图:
在前面板右击数值控件->显示格式->十六进制。比如我输入ffff,得出结果如下:
生成了一个有十六个元素为一的布尔数组。
然后通过索引数组中不同的元素,就可以实现位操作。针对每一个位的意义进行操作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询