用户登陆
免费注册
找回密码
站内短信
论坛搜索
工控下载
用户名
密码
输入验证码:
生活
综合讨论
资料互助
程序样例
三菱工控
西门子区
欧姆龙区
触摸屏区
工控人家园
三菱工控论坛
FX3U数据寄存器问题,客服说這是不可能的~
上一主题
下一主题
cctv197910
级别: 探索解密
发送短信
加为好友
精华主题:
0
发帖数量:
29 个
工控威望:
133 点
下载积分:
400 分
在线时间: 18(小时)
注册时间:
2017-11-06
最后登录:
2024-12-20
查看cctv197910的
主题
/
回贴
楼主
发表于: 2019-07-17 14:15
全看
|
小
中
大
图片:
图片:
图片:
FX3U的PLC,其中寄存器D600被使用多次,会根据不同导通条件传送入不同的值,使用一段时间后其它的D600值不会根据当前输入值改变而变为-64094,更换新的寄存器地址后正常,但使用十几天时间后又和以前一样,现在只能每半个月更换一次地址。求大神们帮忙解惑。
分享
zhangqi_1234
级别: 略有小成
发送短信
加为好友
精华主题:
0
发帖数量:
342 个
工控威望:
493 点
下载积分:
4015 分
在线时间: 250(小时)
注册时间:
2013-03-22
最后登录:
2024-12-29
查看zhangqi_1234的
主题
/
回贴
1楼
发表于: 2019-07-17 21:49
全看
|
小
中
大
1、两个32位字元件的乘积,存四个地址连续的16位字元件(64位)。用DMUL指令,表示用D334-D335这2个16位字元件组成的32位数(D334存低16位,D335存高16位,其中最高位为符号位,最高位为1表示负数,负数以补码形式存储),与K100相乘后的乘积,存D600-D603中,D600存最低16位,D603存最高16位。同样,最高位为符号位。因此,在使用带D的乘积指令时,要保证相邻若干的寄存器,不得受到其它指令的影响。32位寄存器的取值范围:-2147483648~+2147483647。64位的取值范围:-9223372036854775808 ~+ 9223372036854775807。2、用M8000这个触头执行DMUL指令,表示PLC处于RUN状态时,每一个扫描周期都执行乘法指令。也就是说,是循环不断地执行。这样会导致运算结果溢出。3、其它诸如:SUB指令,也是在触头条件满足的每一个扫描周期都执行。也可能导致运算结果溢出。
[ 此帖被zhangqi_1234在2019-07-18 01:37重新编辑 ]
本帖最近评分记录:
下载积分:+1(sdif000)
下载积分:+1(mylover132) 热心助人!
分享
zhangqi_1234
级别: 略有小成
发送短信
加为好友
精华主题:
0
发帖数量:
342 个
工控威望:
493 点
下载积分:
4015 分
在线时间: 250(小时)
注册时间:
2013-03-22
最后登录:
2024-12-29
查看zhangqi_1234的
主题
/
回贴
2楼
发表于: 2019-07-18 23:45
全看
|
小
中
大
补充:问题出现在D375上,[DMOV D374 D600]功能是把D374-D375存储的32位数据,赋值给D600-D601。D374存低16位,D375存高16位,D375的最高位是1,因此被认为是负数。程序中应该是有其他指令对D375的值作了改变。
分享
上一主题
下一主题
工控人家园
三菱工控论坛
FX3U数据寄存器问题,客服说這是不可能的~
http://www.ymmfa.com
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问