工控大混子
级别: 探索解密
精华主题: 0
发帖数量: 23 个
工控威望: 139 点
下载积分: 4935 分
在线时间: 34(小时)
注册时间: 2023-12-11
最后登录: 2024-11-15
查看工控大混子的 主题 / 回贴
楼主  发表于: 2024-07-17 16:02
各位大神请教一下,怎么用SCL语言来写上升沿和下降沿
wingwf2000
级别: 探索解密
精华主题: 0
发帖数量: 52 个
工控威望: 157 点
下载积分: 662 分
在线时间: 13(小时)
注册时间: 2010-09-26
最后登录: 2024-11-14
查看wingwf2000的 主题 / 回贴
1楼  发表于: 2024-07-19 16:00
严格说来,这种写法是每执行一次代码就相当于一个上升沿,但是若是在一个扫描周期多次执行或好几个周期才执行一次的话,就会出错!
2楼的也是这样,甚至于1楼的亦是如此
引用
引用第3楼尹梦超于2024-07-18 20:15发表的  :
[attachment=301293]
wingwf2000
级别: 探索解密
精华主题: 0
发帖数量: 52 个
工控威望: 157 点
下载积分: 662 分
在线时间: 13(小时)
注册时间: 2010-09-26
最后登录: 2024-11-14
查看wingwf2000的 主题 / 回贴
2楼  发表于: 82天前
如果你把代码写进子程序里,这个子程序是否能保证一个PLC扫描周期只调用一次?还是能保证每个周期都调用?

或者这部分代码在一个循环里多次被执行,或者可能被跳转指令跳过而不执行,你可能就会发现里面的猫腻了。

不过一般来说好多人都没使用过循环或跳转指令,而且写的子程序都是一个扫描周期都被扫描而且一个扫描周期内只扫描一次,即使不是在子程序内,一般的这部分代码也都是一个扫描周期只扫描一次而且每个扫描周期都被扫描。

所以上面的代码本质上反映的就是本次执行代码和上次执行代码时信号有变化(只能表明这次执行代码时的变量和上次执行这次代码时的变量不同,也可能执行两次代码之间信号有若干次变化被你捕捉到,亦有可能这两次代码之间信号虽有若干次变化,但执行本次代码时信号刚好恢复原状而不能捕捉到,这样算你倒霉)!
[ 此帖被wingwf2000在2024-08-28 11:49重新编辑 ]