您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

上升沿指令真的能简单编程实现?

2024/4/9 18:26:57发布8次查看
上升指令本是一条简单指令,和常开、常闭指令一样都是常用的基本指令。以前在使用s7-200的时候基本不会去过多关注上升沿指令,因为那时候不需要自己分配边缘存储器。现在在s7-1200中每次用到上升沿指令都需要自己分配边缘存储器,在编程上感觉确实不爽,由此开始想有没有什么捷径,心想“不就是一个简单的上升沿指令,用上一个扫描周期的状态和当前状态做一个比较吗?。(下面的程序是参考论坛网友优化过的!)
程序:首先创建一个fb块,里面添加几行scl代码。
测试1 :在主程序ob1中调用fb块程序如下,测试效果正常,变量上升沿触发正常!
测试二:同样在主程序中调用fb块程序如下,
步骤一:当m30.2置1时,测试正常,上升沿正常触发 。
步骤二:当 m30.2置0,再将m30.0置1,间隔一个扫描周期以上再将m30.2置1,这时突然触发一个上升沿。结果是测试失败!
测试三:使用系统的上升沿指令程序如下。
步骤一:和测试二的步骤二一样,先将m30.2置0,再将m30.0置1,间隔一个扫描周期以上,再将m30.0置1,这是并没有出现测试二的情况。
总结:在测试三中,不管m30.2是否为1,边缘存储器 m30.3的状态都随 这m30.0的状态发生变化。在测试二中,当m30.2的状态为0时,fb块中的边缘存储器并不随m30.0变化,保持不变!
通过上面的测试得到的结果是:并不能通过fb块编辑程序来代替系统的上升沿指令。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product