在论坛里面有个学员问了一个程序设计的问题,问题如下所示:
我现在有个程序没有想到办法,就是有五个气缸!每次随机选择,按先选先动的顺序编程!应该怎么做!能不能写个程序看看?s7-1200的plc.。例如选择34521.就是3号气缸先动,然后4号气缸,然后5号气缸......。程序应该怎么做
大家看到这个成后,可能会说着可以用先进先出的指令去做啊。确实我们可以先给每个气缸分配一个编号,把每一个编号通过填表指令填入到表格中,然后启动的时候,通过先进去出的指令(FIFO)把数据读取出来后,做比较,如果等于1表示的时候打开第一个气缸,等于2表示打开第二个气缸。。。。。。如果我们使用200系列的PLC确实可以这么做,但是对于1200PLC里面来讲,找不到这两个指令,那么如何我做呢?
我们其实也可以按照先进先出的方式来做的,首先也给每一个气缸分配一个编号,默认1到5对应1#气缸到5#气缸,然后给每个气缸分配一个存储器(MB11到MB15)分别用来存储该气缸的动作顺序,顺序可以通过递增指令和传输指令来完成,当打开气缸是,按下启动按钮对MB17加1 ,MB17作为当前需要启动气缸的选择。
若MB17等于1,表示要启动1#气缸,若等于2表示要启动2#气缸。因此我们只需要用MB17和MB11到MB15中的数据做比较,当MB17与哪个MB11到MB12中的哪个存储区相等,则启动哪个气缸。
程序框架如下图所示:
本程序为一个结构框架程序,使用时,可以根据情况进行修改添加,仅供参考。
本文为技成曾鑫老师原创作品,未经同意转载必究
↓↓↓下载可免费观看西门子系列课程