技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 子程序中上升沿置位的问题

子程序中上升沿置位的问题

刘玉蓉 发布于2014-10-11 17:13 7 0 标签:

主程序:
网络1
LD     I0.0
LPS
A      T37
A      I0.0
S      V301.0, 1
LPP
TON    T37, 20

网络2
LDN    I0.0
LPS
A      T50
AN     I0.0
R      V301.0, 1
LPP
TON    T50, 20

网络3
LD     I0.5
CALL   SBR_0:SBR0

子程序SBR_0
LD     V301.0
EU
S      Q0.0, 1
1。程序大意是V301.0先被置位成1,之后打开I0.5进子程序,但是Q0.0还是有可能被置位? 
2。我反复试程序,发现有时候Q0.0没亮,有时候又亮。请问这是什么问题? 
3。或者我的程序这样有问题的话,该如何写才能保证在V301.0先被置位的情况下Q0.0不亮

问题补充:
我的困惑是,每次调试程序我总是先打开I0.0置位V301.0,之后再打开I0.5。但是有时候Q0.0不亮,有时候又会亮。
在实际程序中,I0.0是一个周期性的信号,I0.5是一个随机性的信号。程序目的是,I0.5打开之后,I0.0置位,这时Q0.0亮;
I0.0先置位,I0.5再打开,这时Q0.0不亮,需要等到下一个周期的I0.0置位时才会亮。

佳答案

首先要明确,边沿检测是靠检测两个扫描周期的状态来实现的,如果子程序某一次调用时V301.0是0后子程序停止调用,因子程序不被调用时子程序里的边沿存储位不会改变,那么再一次调用子程序时只要V301.0为1EU指令将检测到上升沿。
除了一直调用并只调用一次的子程序,不推荐在子程序里使用边沿指令。
相信不用子程序,你应该能实现你的目的。

子程序取消,网络3改一下
主程序:
网络1
LD     I0.0
LPS
A      T37
A      I0.0
S      V301.0, 1
LPP
TON    T37, 20
网络2
LDN    I0.0
LPS
A      T50
AN     I0.0
R      V301.0, 1
LPP
TON    T50, 20
网络3
LD     V301.0
EU
A      I0.5
S      Q0.0, 1

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签