• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 112 点
下载积分: 928 分
在线时间: 25(小时)
注册时间: 2024-03-08
最后登录: 2026-01-07
查看零度浪子001的 主题 / 回贴
楼主  发表于: 8天前
图片:
为什么M1接通,T2不进行计时?
把下面的if条件换成其他的,不是 NOT M1就可以。
零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 112 点
下载积分: 928 分
在线时间: 25(小时)
注册时间: 2024-03-08
最后登录: 2026-01-07
查看零度浪子001的 主题 / 回贴
1楼  发表于: 8天前
我试了FX3U不行,Q06H的这样写就可以的
你画的彩虹
世间美好与你环环相扣
级别: 略有小成
精华主题: 0
发帖数量: 172 个
工控威望: 489 点
下载积分: 35 分
在线时间: 139(小时)
注册时间: 2021-08-10
最后登录: 2026-01-08
查看你画的彩虹的 主题 / 回贴
2楼  发表于: 4天前
要把定时器挪出来写,不然短时间内不会错误,长时间运行就有问题,刚开始看不出来,亲测
有问题互相谈论 备注工控人家园  愿世间美好与你环环相扣
零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 112 点
下载积分: 928 分
在线时间: 25(小时)
注册时间: 2024-03-08
最后登录: 2026-01-07
查看零度浪子001的 主题 / 回贴
3楼  发表于: 4天前
引用
引用第2楼你画的彩虹于2026-01-04 11:31发表的  :
要把定时器挪出来写,不然短时间内不会错误,长时间运行就有问题,刚开始看不出来,亲测



M1为true,定时器开始计时。M1为false,定时器清零,这个逻辑没问题啊。

把定时器清零那个注释掉,就可以计时了,说明问题应该不是把定时器写在if语句内的问题吧
zhzw3487
级别: 正式会员
精华主题: 0
发帖数量: 12 个
工控威望: 55 点
下载积分: 140 分
在线时间: 8(小时)
注册时间: 2025-02-10
最后登录: 2026-01-05
查看zhzw3487的 主题 / 回贴
4楼  发表于: 3天前
不要IF,直接   OUT_T(M1,TC2,K50);  也不用复位TC2了
零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 112 点
下载积分: 928 分
在线时间: 25(小时)
注册时间: 2024-03-08
最后登录: 2026-01-07
查看零度浪子001的 主题 / 回贴
5楼  发表于: 前天
引用
引用第4楼zhzw3487于2026-01-05 15:19发表的  :
不要IF,直接   OUT_T(M1,TC2,K50);  也不用复位TC2了


没错,可以这样的,关键是按照我图示的写法为什么不行,我想找到原因
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 427 个
工控威望: 578 点
下载积分: 1602 分
在线时间: 349(小时)
注册时间: 2017-06-12
最后登录: 2026-01-08
查看zmrs163的 主题 / 回贴
6楼  发表于: 前天
图片:
看来大家都不够无聊,那么我来分析下这个现象产生的原因吧。首先,三菱WORKS2,WORKS3通过模拟,校验的方式获取编译出来的结果,因此第一步获取编译结果,经过我的测试,3U,Q的编译结果是一致的,如下图所示
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 427 个
工控威望: 578 点
下载积分: 1602 分
在线时间: 349(小时)
注册时间: 2017-06-12
最后登录: 2026-01-08
查看zmrs163的 主题 / 回贴
7楼  发表于: 前天
图片:
第二步手动转换成梯形图,结果如下,经过模拟现象可以再现
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 427 个
工控威望: 578 点
下载积分: 1602 分
在线时间: 349(小时)
注册时间: 2017-06-12
最后登录: 2026-01-08
查看zmrs163的 主题 / 回贴
8楼  发表于: 前天
图片:
然后大胆猜测和CJ指令的运行方式有关,翻阅手册可以看到,如果子程序中存在RST 定时器,并不能通过CJ跳过RST指令的方式取消这种状态,手册内容如图所示,Q的手册没有这个说明,应该不存在此机制
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 427 个
工控威望: 578 点
下载积分: 1602 分
在线时间: 349(小时)
注册时间: 2017-06-12
最后登录: 2026-01-08
查看zmrs163的 主题 / 回贴
9楼  发表于: 前天
图片:
在程序前直接触发M1,可以计时,所以结论就是图3所说的,一开始的M1没有ON导致RST T2导通,T2进入复位状态,CJ跳过并不能使其跳出复位状态,解答完毕
零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 112 点
下载积分: 928 分
在线时间: 25(小时)
注册时间: 2024-03-08
最后登录: 2026-01-07
查看零度浪子001的 主题 / 回贴
10楼  发表于: 昨天
引用
引用第8楼zmrs163于2026-01-06 16:09发表的  :
然后大胆猜测和CJ指令的运行方式有关,翻阅手册可以看到,如果子程序中存在RST 定时器,并不能通过CJ跳过RST指令的方式取消这种状态,手册内容如图所示,Q的手册没有这个说明,应该不存在此机制



这样看,梯形图才是王道啊。
不简单
级别: 探索解密
精华主题: 0
发帖数量: 107 个
工控威望: 172 点
下载积分: 5463 分
在线时间: 40(小时)
注册时间: 2021-05-13
最后登录: 2026-01-08
查看不简单的 主题 / 回贴
11楼  发表于: 昨天
IF 语句里面用定时器应该是有问题的,我在基恩士PLC里面也遇到过类似的情况。定时器挪出来就正常计时了。
客服解释是,IF语句每次结束后,定时器会自动重置。
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go