西门子博途编程 - 分拣器设计二

针对上次的分拣器,用LAD改写了。转换的方法请看前面的帖子。这里我们直接上程序。

body1

main

conveyorInter

conveyorBody

 

platformInter

 

 

 

platformBody

 

这个程序包含2个主要的并行状态机,两个状态机之间是有关联的。通过相互的状态激活。

这类状态机转换成程序一般有下面几种写法:

  • 一种是把所有程序写在一个块里,但分别用两个stepNumber,但这样势必导致函数块的功能太多,不妥。

  • 另一种是把传送带和旋转平台分开写,它们之间的交互用全局变量通信。每个块功能单一,容易维护。

这里选择的是第二种。

尤其旋转平台中,一旦产生超时报警,就挂起步进程序,输出错误。等待故障恢复,按alarmReset后,继续上次的步进。另外比起以前的程序,增加了当前步的显示,可以了解到函数块中的步的执行情况。程序调试起来比较麻烦,很多信号要联动,我只是简单调试了一下,但也排除了很多错误。如果用于现场,后果自负。

我觉得尤其是旋转平台的设计,可以做成模版。方便其它步进程序的重用。个人感觉已经很完善了。如有必要可以再加个原位,作为输入管脚,条件写在函数块外,方便调试。

posted @ 2017-10-19 12:06  丁丁学习笔记  阅读(1885)  评论(0编辑  收藏  举报