发表于:2019/10/23 9:36:46
#0楼
在不同的系统中传输数据的时候,经常会碰到数据格式问题。整数和布尔值一般没有问题,但浮点数,在不同的系统中,就会出现字节顺序问题。
浮点数的格式是国际标准,一般都一样的,但是单精度浮点数是32bit,四个字节,这样在不同的通讯系统中就会出现差异。
如果你用过HexEdit编辑过数据文件,就能体会到问题所在,里面关于浮点数的字节顺序有很多选项:motorola,intel,看来就是这些大佬们当初没商量好,传四个字节的时候,是1234,还是4321,还是3412.。。其实就是谁在前谁在后的问题。。。。
CITECT 浮点数字节转换顺序是怎么样的?
可以通过修改计算机设置编辑器修改,格式为
[通讯协议名]FailOnBadData=0,1,2,3
例如
经过组态软件CITECT V7.5与QUANTUM PLC进行以太网(MODNET)通讯测试,PLC中32位浮点数(%MWX, %MWX+1),按4个字节采集到上位机后,浮点转换顺序为1,0,3,2 FLOATMODE参数值设定为0即可!
浮点数的格式是国际标准,一般都一样的,但是单精度浮点数是32bit,四个字节,这样在不同的通讯系统中就会出现差异。
如果你用过HexEdit编辑过数据文件,就能体会到问题所在,里面关于浮点数的字节顺序有很多选项:motorola,intel,看来就是这些大佬们当初没商量好,传四个字节的时候,是1234,还是4321,还是3412.。。其实就是谁在前谁在后的问题。。。。
CITECT 浮点数字节转换顺序是怎么样的?
可以通过修改计算机设置编辑器修改,格式为
[通讯协议名]FailOnBadData=0,1,2,3
例如
经过组态软件CITECT V7.5与QUANTUM PLC进行以太网(MODNET)通讯测试,PLC中32位浮点数(%MWX, %MWX+1),按4个字节采集到上位机后,浮点转换顺序为1,0,3,2 FLOATMODE参数值设定为0即可!
[此贴子已经被作者于2019/10/23 9:38:29编辑过]