• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
工控大混子
级别: 探索解密
精华主题: 0
发帖数量: 23 个
工控威望: 139 点
下载积分: 4935 分
在线时间: 34(小时)
注册时间: 2023-12-11
最后登录: 2024-11-15
查看工控大混子的 主题 / 回贴
楼主  发表于: 2024-07-17 16:02
各位大神请教一下,怎么用SCL语言来写上升沿和下降沿
海你好咸
级别: 略有小成
精华主题: 0
发帖数量: 306 个
工控威望: 386 点
下载积分: 2750 分
在线时间: 194(小时)
注册时间: 2018-12-22
最后登录: 2024-11-08
查看海你好咸的 主题 / 回贴
1楼  发表于: 2024-07-17 16:15
图片:
仔细翻翻帮助文件
wzbarley
好好学习,天天向上。
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 149 点
下载积分: 12135 分
在线时间: 167(小时)
注册时间: 2023-09-27
最后登录: 2024-11-17
查看wzbarley的 主题 / 回贴
2楼  发表于: 2024-07-18 14:54
首先了解沿的机制;将当前信号和上一周期信号进行比较;上升沿是检测0到1的变化,下降沿是检测1到0的变化。
以上升沿为例,当前信号和上一周期信号闭点串联(与运算);待处理程序处理完成后,将当前信号重新赋值给上一周期信号的存储器中。SCL和梯形图类似。



好好学习,天天向上。
尹梦超
级别: 略有小成
精华主题: 0
发帖数量: 100 个
工控威望: 257 点
下载积分: 6774 分
在线时间: 77(小时)
注册时间: 2012-05-24
最后登录: 2024-11-17
查看尹梦超的 主题 / 回贴
3楼  发表于: 2024-07-18 20:15

wingwf2000
级别: 探索解密
精华主题: 0
发帖数量: 52 个
工控威望: 157 点
下载积分: 662 分
在线时间: 13(小时)
注册时间: 2010-09-26
最后登录: 2024-11-14
查看wingwf2000的 主题 / 回贴
4楼  发表于: 2024-07-19 16:00
严格说来,这种写法是每执行一次代码就相当于一个上升沿,但是若是在一个扫描周期多次执行或好几个周期才执行一次的话,就会出错!
2楼的也是这样,甚至于1楼的亦是如此
引用
引用第3楼尹梦超于2024-07-18 20:15发表的  :
[attachment=301293]
wzbarley
好好学习,天天向上。
级别: 探索解密
精华主题: 0
发帖数量: 109 个
工控威望: 149 点
下载积分: 12135 分
在线时间: 167(小时)
注册时间: 2023-09-27
最后登录: 2024-11-17
查看wzbarley的 主题 / 回贴
5楼  发表于: 2024-07-19 16:08
引用
引用第4楼wingwf2000于2024-07-19 16:00发表的  :
严格说来,这种写法是每执行一次代码就相当于一个上升沿,但是若是在一个扫描周期多次执行或好几个周期才执行一次的话,就会出错!
2楼的也是这样,甚至于1楼的亦是如此


你说的这种情况不在沿的使用范畴内;这种用中断就行了。
好好学习,天天向上。
村里最帅
级别: 正式会员
精华主题: 0
发帖数量: 62 个
工控威望: 93 点
下载积分: 447 分
在线时间: 6(小时)
注册时间: 2024-08-23
最后登录: 2024-10-18
查看村里最帅的 主题 / 回贴
6楼  发表于: 82天前
R_TRIG就可以啊,哪有这么复杂的
世界杯之殇
级别: 正式会员
精华主题: 0
发帖数量: 30 个
工控威望: 93 点
下载积分: 4142 分
在线时间: 37(小时)
注册时间: 2023-09-25
最后登录: 2024-11-04
查看世界杯之殇的 主题 / 回贴
7楼  发表于: 82天前
引用
引用第4楼wingwf2000于2024-07-19 16:00发表的  :
严格说来,这种写法是每执行一次代码就相当于一个上升沿,但是若是在一个扫描周期多次执行或好几个周期才执行一次的话,就会出错!
2楼的也是这样,甚至于1楼的亦是如此


你确定?这个应该和这两个变量是什么变量有关系,只要不是临时变量这个就不会出错,我自己的程序中很多都这样用没出现过什么异常。
wingwf2000
级别: 探索解密
精华主题: 0
发帖数量: 52 个
工控威望: 157 点
下载积分: 662 分
在线时间: 13(小时)
注册时间: 2010-09-26
最后登录: 2024-11-14
查看wingwf2000的 主题 / 回贴
8楼  发表于: 82天前
如果你把代码写进子程序里,这个子程序是否能保证一个PLC扫描周期只调用一次?还是能保证每个周期都调用?

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

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

所以上面的代码本质上反映的就是本次执行代码和上次执行代码时信号有变化(只能表明这次执行代码时的变量和上次执行这次代码时的变量不同,也可能执行两次代码之间信号有若干次变化被你捕捉到,亦有可能这两次代码之间信号虽有若干次变化,但执行本次代码时信号刚好恢复原状而不能捕捉到,这样算你倒霉)!
[ 此帖被wingwf2000在2024-08-28 11:49重新编辑 ]
donxlr
级别: 正式会员
精华主题: 0
发帖数量: 66 个
工控威望: 93 点
下载积分: 885 分
在线时间: 10(小时)
注册时间: 2021-06-14
最后登录: 2024-11-15
查看donxlr的 主题 / 回贴
9楼  发表于: 82天前
图片:
源码应该是这样的,FB块
[ 此帖被donxlr在2024-08-28 14:25重新编辑 ]
liaogf
级别: 正式会员
精华主题: 0
发帖数量: 18 个
工控威望: 98 点
下载积分: 979 分
在线时间: 10(小时)
注册时间: 2022-03-14
最后登录: 2024-11-14
查看liaogf的 主题 / 回贴
10楼  发表于: 81天前
引用
引用第8楼wingwf2000于2024-08-28 11:33发表的  :
如果你把代码写进子程序里,这个子程序是否能保证一个PLC扫描周期只调用一次?还是能保证每个周期都调用?

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

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

那个代码就算执行1万次也不会有问题,只要不是临时的变量!
liaogf
级别: 正式会员
精华主题: 0
发帖数量: 18 个
工控威望: 98 点
下载积分: 979 分
在线时间: 10(小时)
注册时间: 2022-03-14
最后登录: 2024-11-14
查看liaogf的 主题 / 回贴
11楼  发表于: 81天前
引用
引用第3楼尹梦超于2024-07-18 20:15发表的  :
[attachment=301293]

scl来说这是一个很标准的写法,简单!只占用一个bit
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go