恭喜,你发布的帖子
发布于 2021-12-12 10:53:19
3楼
无论是串口、还是以太网通信,数据交换的都是二进制序列,通常以字节为单位按位发送数据。计算机(广义)也只能以二进制存储在ROM、RAM等存储器中。存储中的数据(二进制序列)如何被识别,是字符的ASCII码,还是有符号整数、无符号整数,还是浮点数,依赖于何种类型的变量对应这一存储区域。
我们以浮点数-0.5为例,在计算机上以单精度(32位)存储-1.0x2^(-1)
即2#1(符号位) 01111110(-1+指数偏移量+127) 000 0000 0000 0000 0000 0000(23位尾数)(即16#BF 00 00 00)。若将UDINT变量与之对应,则表示3204448256;DINT变量与之对应则是负数-1090519040;若将real变量与之对应,则是负实数-0.5。
上位机发送小写字母abc字符,在计算机上是以ASCII码存储的,也就是16#60,61,62,发送到PLC上当然你看到的是就是60H,61H,62H.你定义一个字符(数组)变量与之对应就可以看到abc了。
请填写推广理由:
分享
只看
楼主