PLC扫描顺序导致开关控制不独立问题解决

题目要求:

两台电动机M1、M2,要求当按下启动按钮"x启动"后,M1启动,10秒后M2启动;

当需要按下停止按钮"x停止",M2停车,8秒后M1停车。

两个开关相互独立,不能同时按下。当按下“x急停”时,所有电机和开关全部复位。

要求在HMI上可以控制,可以设置启动、停止延时时间,显示剩余时间。

Step1: 先写按下启动后需要实现的动作

Step2: 再写按下停止后需要实现的动作

 Step3:再写按下急停后需要实现的功能

Step4:要在HMI上对时间可以设置,并且也要显示剩余时间,因此需要数据转换程序

 Step5:对变量赋地址,方便与HMI绑定起来

 

 Step6:制作触摸屏界面,设置地址与PLC变量对应,在线模拟运行

到此为止,题目基本功能就已经完成了,接下来就是查一查有没有BUG。

通过测试发现,当按下“启动”时,无法按“停止”,这是正常的,我们程序里面就是这样写的。但是问题来了,当按下“停止”时,却可以再按下“启动”,这跟我们程序想的不一致。

观察程序,发现问题,是由于PLC扫描顺序导致的问题!

当按下“x启动”,“x停止”被复位,HMI上确实按不了停止按钮,没问题。

程序执行到下面这段网络时,按下“x停止”,“x启动”被复位了,也没啥问题。

但如果此时再按“x启动”,程序扫描到上面这个网络时,又要执行"x停止"被复位这句话,"x停止"置FALSE,那么下面网络就不执行了,"x启动"被释放,这时就可以按下“x启动”了。

最终导致的结果就是:按下“启动”时,无法按“停止”;按下“停止”时,可以按“启动”....

解决办法:加入标志位,进行约束。

 在TON_2运行的时候,按下“x启动”无效果,在TON_1运行的时候,按下“x停止”无效果,类似于“互锁”的感觉,便可以解决上述由于PLC扫描顺序而引起的小问题。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值