西门子move指令_西门子200PLC中有禁止DO输出的特殊继电器么?没有的话如何实现?...

引子:

前段时间刚入头条在悟空问答的答题有的答的很简短,因为不知道哪些问题会被关注,就没有说的很详细,结果就造成了一些小伙伴的困惑。比如今天文章的题目,这个就是有人问说三菱的PLC中M8034就是禁止全部DO输出的特殊继电器,西门子200PLC中有么?

我说西门子中没有,但是有可以实现的方法,结果说的太简短了,有些小伙伴还在疑惑中,所以发今天这个文章,详细说一下,希望能解开你们的疑虑!

正文:

程序是按照人的意志被编写出来的,所以我们要实现某些功能的时候,应该对程序有一个规划,然后后续程序的编写,都应该遵从这个规划。现在我们需要一个点可以控制全部的DO不输出,那么DO点全部在一个块中,如果这个块不被主程序调用就可以了。

直接看图吧:

9831537edf19104e072b3512b91be1e5.png

主程序规划

主程序规划:

从图中可以看到,程序很简单就4行,SM0.0是总是为1的点,那么M20.0就也是一个一直为1的点,且M20.0在程序的其他地方,坚决不能被再次写操作了,可以读。---这里的写操作就是比如置位S指令,MOVE指令等,坚决不能被别的地方写操作,也最好在程序的任何其他地方都不使用---这是规划,规则,也是最终我们要求的结果!

网络2是调用输入点的块,网络3写控制程序,网络4只写输出点!

M20.0为1的话Q点输出块就可以执行,如果我把网络1处M20.0的SM0.0为常闭点,那么M20.0就无法接通,输出块就不能执行了。

再来看一下输出块中的程序:

964667d67077fbd0f349cb7a4542468c.png

Q输出程序规划

Q输出程序规划:

从图中可以看到,Q0.0是被V0.0控制的,Q0.1是被V0.1控制的,看到这里应该有的朋友就知道那我控制程序中写的程序,最终其实都是去控制V0.0和V0.1,这样不管V0.0和V0.1是否接通,只要我这个程序块在前边M20.0不接通,那么Q0.0和Q0.1就无法接通。---这里隐含了一个很重要的规划规定,就是Q0.0和Q0.1的线圈只能在Q输出块中出现,且只能在只能在Q输出块中被写这么一次,坚决不能在其他块中被写操作,也坚决不允许Q的线圈在其他任何块中再次出现。其实对于Q0.0的读操作最好在别的程序块中也不要用,在别的程序块中尽可能多使用V0.0。

再开看控制块中的程序:

99e5310d3bc8c15e83438edbb9616e4a.png

控制程序规划

控制程序规划:

从图中可以看出,控制程序中最终操作的都是V0.0和V0.1,这里严禁使用Q0.0代替V0.0,因为其实我们的规划是,所有的Q点都应该对应一个映射点,所有的程序控制都是对这个映射点的控制。不管是SET/RESET,MVOE或者直接对线圈操作,都应该是对映射点的操作!坚决反对这个块中出现对任何Q点的操作!

---我们只有处处遵守这些既定的规划,才能实现最终的目的!

文章到这里,朋友们应该可以明白,我说M20.0可以控制全部的DO点了吧,DO的Q点线圈必须全部写在一个块中,在主程序中调用,这样才能被一个点全部控制。

聪明的朋友应该可以看到I输入块处,其实也是应该用I0.0去驱动M0.0,这样M0.0就是I0.0的映射了。--这样做的好处是I0.0我在程序运行的时候,外部线路如果是0,则不能通过修改程序让其为1,禁掉输入块的时候,可以在程序中改动M0.0让其为1,也就相当于得到了I0.0为1的信号。Q0.0为1的话可能会使设备动作,当禁止输出块输出的时候,V0.0同样可以监控到运行结果。--所以,这样把输入和输出都用别的点映射出来,就很方便测试程序!(当然,你说你用真实的I点测试,或者强制Q点输出,调试都很方便,那就随自己高兴。)

文章到此就结束了,希望朋友们能理解我说的什么,也希望大家领略到这样作的真正好处,谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值