您现在所在的是:

三菱Mitsubishi

回帖:8个,阅读:4211 [上一页] [1] [下一页]
1375
林子来了
文章数:201
年度积分:50
历史总积分:1375
注册时间:2007/12/8
发站内信
发表于:2011/10/24 23:50:20
#0楼
我在三菱FX2N编程中16位数据地址直接用在32位运算中,数据没有问题!!!如

附件


第一行和第二行的D0的数据都是100,但是我把相同的程序写入另外一个型号相同的PLC中时,
第一行的D0数据是100,但是第二行就不是100了,是一个相当大的数据,忘记看是不是32位的100的所有位取反了。
请问这是怎么回事呢?是不是有什么特殊继电器要设置呀!!!
16位用在32位运算中是不是要进行转换呢,我知道Q系是要的,但是在第一个PLC中直接用是可以的,到第二个PLC就不行了,在第二个PLC中使用浮点数运算是可以的。
请教高手指点了!!!!
8984
wanwan8778
文章数:2354
年度积分:50
历史总积分:8984
注册时间:2008/8/2
发站内信
发表于:2011/10/25 7:31:26
#1楼
转换成浮点,然后用浮点进行计算不是也挺简单吗
独学而无友,则孤陋而寡闻。
有问题,是必须要解决的。
Another complicated. Another mystery.
10298
339402782
文章数:3210
年度积分:56
历史总积分:10298
注册时间:2010/6/2
发站内信
2011国庆活动
发表于:2011/10/25 9:57:05
#2楼
你第二个PLC中D1里面有数据吗?
85326
ZCMY 版主
文章数:47405
年度积分:1385
历史总积分:85326
注册时间:2004/3/16
发站内信
2018论坛贡献奖
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(三)
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
2014相约国庆
2013论坛优秀版主
2012论坛优秀版主
2011论坛贡献奖
2010年论坛优秀版主
发表于:2011/10/25 10:36:23
#3楼
呵呵;你没有好好的看DMUL指令的含义;
DMUL  D0  K600  D2执行后结果是存到D2 D3  D4 D5里面的;
也就是说D4  D5已经被占用了,而你下一条又用到;
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2005/5/2
发站内信
发表于:2011/10/25 12:45:38
#4楼
该用户被锁定,回复内容不予显示!
5028
zytlc
文章数:849
年度积分:53
历史总积分:5028
注册时间:2006/8/9
发站内信
发表于:2011/10/25 15:59:24
#5楼
你第二个PLC中D1里面的数据不是零
10298
339402782
文章数:3210
年度积分:56
历史总积分:10298
注册时间:2010/6/2
发站内信
2011国庆活动
发表于:2011/10/25 16:42:54
#6楼
重新看了下手册,呵呵,我说错了,不好意思

附件
[此贴子已经被作者于2011/10/25 16:46:01编辑过]
1375
林子来了
文章数:201
年度积分:50
历史总积分:1375
注册时间:2007/12/8
发站内信
发表于:2011/11/10 10:12:04
#7楼
后来发现原因了,我新买来的PLC不是全新的,最起码里边下过程序,D200后的地址位中有保存的原始数据。我清了下PLC内存就OK了!!!谢谢各位的指教
1375
林子来了
文章数:201
年度积分:50
历史总积分:1375
注册时间:2007/12/8
发站内信
发表于:2011/11/10 10:30:30
#8楼
3394的朋友,首先谢谢你!我看到你7楼的帖子,我现在是乘法,我的乘数和被乘数都是16位的数据,我的结果有可能是超出16位的范围,所以我用了32位运算。但是我计算结果不可能到64位。这样地址位就会浪费,有什么好的方法合理解决这个问题吗?
还有另外一个问题,比如说我D1里数据是3000,D2里数据是5000,那我要用DMUL指令来实现运算D1乘D2的话,但是实际的是[D1,D2]乘D2是吗?那样就会错误是吧

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

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

62.4004