hlq_0815
人生的成功不在于拿到一副好牌,而是怎样将坏牌打好。
级别: 论坛版主

精华主题: 2 篇
发帖数量: 1848 个
工控威望: 4496 点
下载积分: 7594 分
在线时间: 1351(小时)
注册时间: 2008-07-03
最后登录: 2024-12-25
查看hlq_0815的 主题 / 回贴
楼主  发表于: 2011-07-23 08:35
PLC的ST语言能做上升沿和下降沿编程吗?

请大家各抒已见,讨论讨论!
人生的成功不在于拿到一副好牌,而是怎样将坏牌打好。
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6777 个
工控威望: 38380 点
下载积分: 4323 分
在线时间: 9540(小时)
注册时间: 2006-09-13
最后登录: 2024-12-25
查看cvlsam的 主题 / 回贴
1楼  发表于: 2011-07-23 16:41
你可以使用IF语句,也可以简单的使用逻辑语句来实现。
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6777 个
工控威望: 38380 点
下载积分: 4323 分
在线时间: 9540(小时)
注册时间: 2006-09-13
最后登录: 2024-12-25
查看cvlsam的 主题 / 回贴
2楼  发表于: 2011-07-23 17:14
上升沿信号:=输入信号 AND (NOT 最后状态信号);
下降沿信号:=最后状态信号 AND (NOT 输入信号);
最终状态信号:= 输入信号;

这样就构成了一个边沿检测指令,这也就是为什么边沿检测指令需要有一个全局变量存储状态的原因,当然,这仅仅在西门子中,在其他品牌的PLC中也如此,只不过这个状态保存变量的存储分配由系统完成,而非用户分配而已。

当然,使用IF语句也可以完成,不过步数多一点而已。

问题是,一般符合IEC规范的都提供了边沿检测功能块,自己编写浪费时间啊。
本帖最近评分记录:
  • 下载积分:+1(wahaha543) 好贴好贴!