竹意林
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 95 点
下载积分: 450 分
在线时间: 11(小时)
注册时间: 2016-07-14
最后登录: 2024-03-26
查看竹意林的 主题 / 回贴
楼主  发表于: 2016-07-20 09:14
就是,不受plc扫描执行方式影响,直接读取或输出io,不从寄存器里面读或写,直接读写io
xinpingliu
级别: 略有小成
精华主题: 0
发帖数量: 326 个
工控威望: 478 点
下载积分: 4000 分
在线时间: 113(小时)
注册时间: 2012-03-05
最后登录: 2022-07-03
查看xinpingliu的 主题 / 回贴
1楼  发表于: 2016-07-20 09:49
請仔細描述一下。
竹意林
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 95 点
下载积分: 450 分
在线时间: 11(小时)
注册时间: 2016-07-14
最后登录: 2024-03-26
查看竹意林的 主题 / 回贴
2楼  发表于: 2016-07-20 10:45
谢谢了,我找到了,ref指令,
竹意林
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 95 点
下载积分: 450 分
在线时间: 11(小时)
注册时间: 2016-07-14
最后登录: 2024-03-26
查看竹意林的 主题 / 回贴
3楼  发表于: 2016-07-20 10:57
引用
引用第1楼xinpingliu于2016-07-20 09:49发表的  :
請仔細描述一下。

就是,plc的执行方式,是先扫描输入,将输入状态记录的寄存器里面,然后扫描程序,扫描程序的时候根据寄存器里面的输入状态处理对应的结果,将输出结果写到缓冲区里面,在程序执行完,也就是end指令后,再将输出缓存区里的输出状态对应到实际输出里面。这就有个问题,在扫描完输入,未扫描完程序的时间里,输入状态有变,但是plc输入缓存里的输入状态并没变,plc还是会按照没变的输入执行程序,直到下一个扫描周期。而输出,则在plc处理后,会有一个很短的延迟,然后才有实际输出。在西门子的plc有一个指令,可以然‘plc在执行的时候,直接读取或输出到io上,着样子就保证了实时效果。不过我想用的地方是一个死循环区,要靠外部按键跳出循环,所以用到这个