您现在所在的是:

三菱Mitsubishi

回帖:12个,阅读:682 [上一页] [1] [2] [下一页]
50
沙羽墨
文章数:25
年度积分:50
历史总积分:50
注册时间:2020/6/26
发站内信
发表于:2023/5/5 22:20:38
#0楼
附件 1.jpg

附件 2.jpg

一个DEMOV的问题,为什么【Demov D230  D260】D260得不到D230的数据?
如果直接用D230,数据就会由18400变成-16384?
附件 3.jpg



1065
huyafeng
文章数:84
年度积分:76
历史总积分:1065
注册时间:2012/3/1
发站内信
发表于:2023/5/5 23:39:54
#1楼
浮点数18400.000,转换成16进制为46 8F C0 00。当使用DEMOV指令时,传输的是468FC000。当使用MOV指令时,只传输低16位,即C000,转换成二进制数为1100 0000 0000 0000,最高位1代表负号,后面100 0000 0000 0000代表数值,负数补码计算方法为各比特位取反加一,可知数值部分补码仍然为100 0000 0000 0000,即2∧14=16384,配合最前面负号,可知最终传输的是-16384。你使用的传输指令必须为DEMOV才能得到正确的结果,如果使用的是DMOV指令,虽然传了32位,但没有按照浮点数格式解码,最终将传输1183825920,也得不到正确结果。
42312
YXBK 版主
文章数:19441
年度积分:2726
历史总积分:42312
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2023/5/6 7:37:17
#2楼
一个DEMOV的问题,为什么【Demov D230  D260】D260得不到D230的数据?


从你的截图来看,是PLC还没运行吧,前面的M8000都没闭合,这条指令都没运行起来,所以D230还没传给D260。

也还有一种可能就是D260其他地方有用到,PLC会以最后的一个D260结果为准的。







如果直接用D230,数据就会由18400变成-16384?


这个就是浮点数与整数的区别,原理楼上解释的很清楚了。

PLSY指令只能用整数,所以你还得用INT指令把浮点数变成整数才行
大家一起学习
50
沙羽墨
文章数:25
年度积分:50
历史总积分:50
注册时间:2020/6/26
发站内信
发表于:2023/5/6 8:01:41
#3楼
回复 #1楼 huyafeng
谢谢讲解,致敬!
50
沙羽墨
文章数:25
年度积分:50
历史总积分:50
注册时间:2020/6/26
发站内信
发表于:2023/5/6 8:03:11
#4楼
谢谢,我应该是浮点数没有变成整数,我先试下int 指令
50
沙羽墨
文章数:25
年度积分:50
历史总积分:50
注册时间:2020/6/26
发站内信
发表于:2023/5/6 8:04:49
#5楼
回复 #2楼 YXBK
谢谢,我应该是浮点数没有变成整数,我先试下int 指令
38045
知道一点
文章数:22547
年度积分:2464
历史总积分:38045
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2023/5/6 11:25:06
#6楼
以下是引用YXBK2023/5/6 7:37:17的发言:
一个DEMOV的问题,为什么【Demov D230  D260】D260得不到D230的数据?


从你的截图来看,是PLC还没运行吧,前面的M8000都没闭合,这条指令都没运行起来,所以D230还没传给D260。

也还有一种可能就是D260其他地方有用到,PLC会以最后的一个D260结果为准的。







如果直接用D230,数据就会由18400变成-16384?


这个就是浮点数与整数的区别,原理楼上解释的很清楚了。

PLSY指令只能用整数,所以你还得用INT指令把浮点数变成整数才行
楼主就是没RUN
但楼主如何使D260=0?恐怕只有楼主最清楚。
同样,只要PLC  run D260就不可能是0,所以与浮点不浮点没关系D260≠0
楼主的D210是以浮点形式给入的!
快乐 幸福 自由 比什么都重要
38045
知道一点
文章数:22547
年度积分:2464
历史总积分:38045
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2023/5/6 11:27:56
#7楼
回复 #6楼 知道一点
附件 image.jpg
快乐 幸福 自由 比什么都重要
50
沙羽墨
文章数:25
年度积分:50
历史总积分:50
注册时间:2020/6/26
发站内信
发表于:2023/5/6 13:10:54
#8楼
回复 #5楼 沙羽墨
附件 1.jpg

附件 2.jpg
转成整数可以直接用了,谢谢。昨天问题卡在PLSY 电机不动上面,D230是负数值,就想着转一个D看一下,截图的时候忘记打RUN了,汗颜。。。
50
沙羽墨
文章数:25
年度积分:50
历史总积分:50
注册时间:2020/6/26
发站内信
发表于:2023/5/6 13:13:21
#9楼
回复 #2楼 YXBK
转成整数可以直接用了,谢谢。昨天问题卡在PLSY 电机不动上面,D230是负数值,就想着转一个D看一下,截图的时候忘记打RUN了,汗颜。。。
附件 1.jpg

附件 2.jpg

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004