关于连续点互锁

已锁定

RENHQ

西门子1847工业学习平台

  • 帖子

    13657
  • 精华

    61
  • 被关注

    2166

论坛等级:至圣

注册时间:2008-12-28

钻石 钻石 如何晋级?

关于连续点互锁

510

2

2016-11-25 22:02:44

没事在找答案上看到一个问题

http://www.ad.siemens.com.cn/service/answer/tobe_solution.aspx?Q_ID=151260&cid=1029

“DB1.DBX0.0到DB1.DBX1.3这12位是互锁的,只允许一位为1,在程序里只要将任何一位置1,其他各位都要清0。现在想要在发生变化时,比如说DB1.DBX0.2=1,现在DB1.DBX0.5=1了,同时DB1.DBX0.2也会清0。想要在状态发生变化的时候给个脉冲,把0move给MD40,请问这在程序里该怎么做啊?”

自己没事编程序试试,没想到找到一个比较简单的方法

就是判断这个字是不是变化了,如果变化了,那就直接用新的数值减去原来的值,这样就能保证是1位了

不过

这样基本就实现了他的要求

然后新的问题来了

如果,应该会有这种如果,一个扫描周期,结果两个点同时变化了怎么办?

用梯形图不好实现了,然后用语句表,由于对语句表指令不熟悉,试了N次才终于编出来

程序如下图:还是MW0相当于输入,MW2是输出


那还有一个问题,比如8台电机的情况,这一台启动了,其他的7台不能启动,要想启动别的,必须启动的停止运行

呃,感觉把自己绕进去了,试着编写了一会儿,都没实现,先休息明天再考虑看看

或许用SCL编写能简单点.....


关于连续点互锁 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。