登录
首页 PLC论坛 台达PLC
回帖 发帖
正文

主题:IEEE-754在PLC中如何处理?

点击:3969 回复:14

买了一个上海托克的电压表,PLC中读出的数据为D123=64,D124=236,D125=204,D126=205,转换成16进制为40ECCCCD,实际电压表显示7.4,请问在PLC中要如何处理才能得到这个数据。说明书上写着用IEEE-754
现在已经想的头晕了,请师傅们帮帮忙啊!!!
最后修改:2015/11/10 15:51:59
15-11-10 14:59
走的是485通讯吗?
15-11-10 15:18
对的!
15-11-10 15:49
是的!
15-11-10 15:49
仿真试验了一下,H40ECCCCD是浮点数7.4的十六进制表达,看需如何利用这个数据;
编程软件查看的话,可试按浮点数形式显示。
最后修改:2015/11/10 16:08:24
15-11-10 16:01
你说明书写的是754那你就用西门子直接的浮点处理撒。不过要看看源数据排序和传输顺序,再看看PLC传输过来是按什么顺序放但寄存器,的如果不符合浮点指令要求的寄存器排序你自己排一下不就好了。
15-11-10 16:04
 4     0     E    C    C    C    C    D
0100   0000  1110 1100 1100 1100 1100 1101
我现在找到的规律就是把40EC的最高1位去掉,然后变成100 0000 111=7*1=7,这是整数位数,小数位数比较麻烦0 1100=0.03125*12=0.375,CCCD是小数的后面数据,忽略。
现在就是把高位那位去掉,不知道怎么去!!!
15-11-11 11:35
问题是用的台达PLC,DVP60ES2
15-11-11 11:39
二进制浮点数取整数部分,可以使用INT指令。
不知小数部分需如何处理,是要得到一个小数值、还是整数值,或其他。
或者说,需要用读到的数值做何运算、或何种用途。
最后修改:2015/11/11 13:31:57
15-11-11 13:28
读过来的数据有4个,是分开的,整数位还要从二进制那边转,直接用INT貌似读不出来!
15-11-11 14:31

上一页下一页

工控新闻

更多新闻资讯