零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 44 个
工控威望: 105 点
下载积分: 913 分
在线时间: 20(小时)
注册时间: 2024-03-08
最后登录: 2025-10-28
查看零度浪子001的 主题 / 回贴
楼主  发表于: 19天前
图片:

程序开始用M8000连续接通一直给D4写1,为啥最终结果D4是16
工控小c
级别: 工控侠客
精华主题: 0
发帖数量: 557 个
工控威望: 2368 点
下载积分: 10062 分
在线时间: 520(小时)
注册时间: 2022-10-14
最后登录: 2025-10-29
查看工控小c的 主题 / 回贴
1楼  发表于: 19天前
因为循环最后运行,你试试循环放在前面看看
sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 255 个
工控威望: 424 点
下载积分: 1021 分
在线时间: 178(小时)
注册时间: 2008-08-23
最后登录: 2025-10-27
查看sjbandmm的 主题 / 回贴
2楼  发表于: 19天前
2的4次方,16没问题
ff123456
级别: 探索解密
精华主题: 0
发帖数量: 71 个
工控威望: 135 点
下载积分: 6891 分
在线时间: 66(小时)
注册时间: 2023-02-19
最后登录: 2025-10-29
查看ff123456的 主题 / 回贴
3楼  发表于: 18天前
循环这类还是用ST吧
零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 44 个
工控威望: 105 点
下载积分: 913 分
在线时间: 20(小时)
注册时间: 2024-03-08
最后登录: 2025-10-28
查看零度浪子001的 主题 / 回贴
4楼  发表于: 17天前
引用
引用第1楼工控小c于2025-10-11 17:30发表的  :
因为循环最后运行,你试试循环放在前面看看


循环继续执行,是没问题,但有一个问题,每次扫描到for循环,循环条件D2都是从1开始吗。PLC的第一个扫描周期D2应该就等于4了,如果不再从1开始那就不再就如for循环了,后面的扫描只会把D4变为1啊
飞皇123
三菱渣渣一枚,向大佬们学习
级别: 家园常客
精华主题: 0
发帖数量: 129 个
工控威望: 659 点
下载积分: 89 分
在线时间: 73(小时)
注册时间: 2024-09-05
最后登录: 2025-10-29
查看飞皇123的 主题 / 回贴
5楼  发表于: 17天前
先给个初始值,然后进循环,扫描到最后就是这样
零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 44 个
工控威望: 105 点
下载积分: 913 分
在线时间: 20(小时)
注册时间: 2024-03-08
最后登录: 2025-10-28
查看零度浪子001的 主题 / 回贴
6楼  发表于: 17天前
引用
引用第5楼飞皇123于2025-10-13 08:27发表的  :
先给个初始值,然后进循环,扫描到最后就是这样


初始值是用M8000给的,除非每次进入for循环,循环条件都是从1开始的
工控小c
级别: 工控侠客
精华主题: 0
发帖数量: 557 个
工控威望: 2368 点
下载积分: 10062 分
在线时间: 520(小时)
注册时间: 2022-10-14
最后登录: 2025-10-29
查看工控小c的 主题 / 回贴
7楼  发表于: 17天前
引用
引用第4楼零度浪子001于2025-10-13 08:09发表的  :


循环继续执行,是没问题,但有一个问题,每次扫描到for循环,循环条件D2都是从1开始吗。PLC的第一个扫描周期D2应该就等于4了,如果不再从1开始那就不再就如for循环了,后面的扫描只会把D4变为1啊

D2是循环次数,你这样写相当于每个扫描周期都先把D4赋值1,然后循环再计算D4=((((2*1)*2)*2)*2)
零度浪子001
级别: 探索解密
精华主题: 0
发帖数量: 44 个
工控威望: 105 点
下载积分: 913 分
在线时间: 20(小时)
注册时间: 2024-03-08
最后登录: 2025-10-28
查看零度浪子001的 主题 / 回贴
8楼  发表于: 16天前
引用
引用第7楼工控小c于2025-10-13 12:54发表的  :

D2是循环次数,你这样写相当于每个扫描周期都先把D4赋值1,然后循环再计算D4=((((2*1)*2)*2)*2)



也就是说,PLC每个扫描周期进入for循环时,先把D2置为1,然后再循环吗