• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
cctv197910
级别: 探索解密
精华主题: 0
发帖数量: 29 个
工控威望: 133 点
下载积分: 405 分
在线时间: 17(小时)
注册时间: 2017-11-06
最后登录: 2024-10-24
查看cctv197910的 主题 / 回贴
楼主  发表于: 2019-07-17 14:15
图片:
图片:
图片:
FX3U的PLC,其中寄存器D600被使用多次,会根据不同导通条件传送入不同的值,使用一段时间后其它的D600值不会根据当前输入值改变而变为-64094,更换新的寄存器地址后正常,但使用十几天时间后又和以前一样,现在只能每半个月更换一次地址。求大神们帮忙解惑。
xypdchw
级别: 略有小成
精华主题: 0
发帖数量: 41 个
工控威望: 208 点
下载积分: 861 分
在线时间: 61(小时)
注册时间: 2009-09-25
最后登录: 2024-09-16
查看xypdchw的 主题 / 回贴
1楼  发表于: 2019-07-17 15:29
是否机器周边有干扰!
leechengyu
级别: 略有小成
精华主题: 0
发帖数量: 127 个
工控威望: 221 点
下载积分: 700 分
在线时间: 378(小时)
注册时间: 2015-10-17
最后登录: 2024-09-22
查看leechengyu的 主题 / 回贴
2楼  发表于: 2019-07-17 15:36
检查有哪些指令用到D596~D599的,16位指令与32位指令混着用,很容易出错
cctv197910
级别: 探索解密
精华主题: 0
发帖数量: 29 个
工控威望: 133 点
下载积分: 405 分
在线时间: 17(小时)
注册时间: 2017-11-06
最后登录: 2024-10-24
查看cctv197910的 主题 / 回贴
3楼  发表于: 2019-07-17 16:25
谢谢,都改成32位的试试看
anlyl2014
大吉大利
级别: 网络英雄
精华主题: 0
发帖数量: 981 个
工控威望: 8883 点
下载积分: 9295 分
在线时间: 923(小时)
注册时间: 2014-05-23
最后登录: 2024-11-22
查看anlyl2014的 主题 / 回贴
4楼  发表于: 2019-07-17 16:31
你第二张图是16位,其它地方又是32位运算,
活到老,学到老!
微信号:anjjyy2013
添加时注明来自工控人家园
压缩包用WINRAR打开,没密码
z278958561
地狱不空,誓不成佛,众生度尽,方正菩提。
级别: 正式会员
精华主题: 0
发帖数量: 15 个
工控威望: 76 点
下载积分: 488 分
在线时间: 11(小时)
注册时间: 2019-07-16
最后登录: 2019-11-29
查看z278958561的 主题 / 回贴
5楼  发表于: 2019-07-17 17:22
找到解决办法没,我是一个计数器也是这样,搞得慕名奇妙。还不知道哪里的原因
nightblueblu
道阻且长,穷且益坚。
级别: 论坛先锋
精华主题: 0
发帖数量: 1018 个
工控威望: 1840 点
下载积分: 242 分
在线时间: 1106(小时)
注册时间: 2017-02-09
最后登录: 2024-11-22
查看nightblueblu的 主题 / 回贴
6楼  发表于: 2019-07-17 17:34
按道理说都是16位和32位使用造成的,我也是遇到三菱的,某个寄存器就是不对,他周围的都没用,就他有问题,办法就是不使用他
Your happiness is everything.
seafar
目前C#
级别: 家园常客
精华主题: 0
发帖数量: 619 个
工控威望: 764 点
下载积分: 1909 分
在线时间: 594(小时)
注册时间: 2018-03-23
最后登录: 2023-10-27
查看seafar的 主题 / 回贴
7楼  发表于: 2019-07-17 18:43
寄存器溢出
枕星河之倒影兮与星光同流,望群星之包覆兮随繁星同辉。
B站资源分享链接https://space.bilibili.com/39855180
浅酌忆流年
那可路路
级别: 家园常客
精华主题: 0
发帖数量: 73 个
工控威望: 719 点
下载积分: 88 分
在线时间: 66(小时)
注册时间: 2015-10-14
最后登录: 2024-09-30
查看浅酌忆流年的 主题 / 回贴
8楼  发表于: 2019-07-17 19:41
第二张图片,把D388转化成双字,然后DMOV给D600,还有一点,DMOV给D600的时候不能同时DMOV,加个互锁试试。
zhangqi_1234
级别: 略有小成
精华主题: 0
发帖数量: 342 个
工控威望: 493 点
下载积分: 4015 分
在线时间: 250(小时)
注册时间: 2013-03-22
最后登录: 2024-11-12
查看zhangqi_1234的 主题 / 回贴
9楼  发表于: 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) 热心助人!
    suegu2
    级别: 家园常客
    精华主题: 0
    发帖数量: 319 个
    工控威望: 584 点
    下载积分: 6619 分
    在线时间: 274(小时)
    注册时间: 2012-09-22
    最后登录: 2024-11-22
    查看suegu2的 主题 / 回贴
    10楼  发表于: 2019-07-18 08:12
    不要怀疑PLC出错,32位乘法指令结果占4位,是不是时间长了结果溢出?楼上说的很多了。
    stackdog
    级别: 网络英雄
    精华主题: 0
    发帖数量: 472 个
    工控威望: 8656 点
    下载积分: 7461 分
    在线时间: 452(小时)
    注册时间: 2015-10-01
    最后登录: 2024-11-21
    查看stackdog的 主题 / 回贴
    11楼  发表于: 2019-07-18 08:29
    吾日三省吾身:双线圈了么?寄存器混用了么?结构没规划好就动手写程序了么?
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go