【西门子案例】S7-1200PLC 可变延时跑马灯案例

1一、动作描述:1.六个指示灯组成跑马灯系统,外加两个按钮控制跑马灯的开始和停止;2.按开始按钮,跑马灯分四个阶段:第一阶段,指示灯从右至左逐个点亮;第二阶段,指示灯从左至右逐个点亮;第三阶段,指示灯从右至左依次点亮;第四阶段,指示灯从左至右依次熄灭。3.指示灯点亮的时间可以通过形式参数指定。4.按下停止按钮,指示灯全都熄灭,跑马灯停止。

2二、硬件设备:1.西门子PLC :S7-1214C DC/DC/DC2.指示灯6个,按钮2个3三、软件:1.西门子plc编程软件:TIA 博途V164四、I/O分配:输入点注释输出点注释I0.0开始Q0.0指示灯1I0.1停止Q0.1指示灯2Q0.2指示灯3Q0.3指示灯4Q0.4指示灯5Q0.5指示灯65五、程序编写及思路:为便于后期修改,我们把跑马灯程序做成一个FB块,并定义形式参数,如图:

并建立了一些中间变量,来完成程序逻辑:

接下来我们开始写程序:根据工艺要求,我们把程序分成几个阶段,用变量“步骤”数组元素来表示。取“开始”上升沿,开始第一步:

在程序的第一步开始后,赋初始值给将要移动的辅助变量:

赋初始值后,开始左移,做一个定时器,移位完成触发计时,计时完成复位:

判断移位已经完成,复位当前步骤,置位下一个步骤:

进入第二阶段,同样开始赋初识值:

重复之前的移位动作,这次改为右移:

同样判断移位完成,复位当前步骤,置位下一个步骤:

接下来还是赋初识值,这次需要另一个辅助移动变量来做运算

第三阶段开始,需要依次点亮,就需要用到辅助灯组来做XOR异或运算:

同样是判断移位完成,复位当前步骤,置位下一个步骤,然后继续辅初识值:

以同样的方式做XOR异或运行,实现依次熄灭:

判断移位完成,复位当前步骤,并置位第一阶段步骤,实现循环:

如果按停止按钮,则复位所有步骤和移位辅助位:

移动辅助位对应到指示灯Output形式参数:

然后在main主程序调用此FB块,并赋实际参数:

程序完成!来源:PLC发烧友,作者:技成-张志强。 文章源程序可提供免费下载,“PLC发烧友”公众号后台回复:“跑马灯”,即可免费获取!留言处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。。。

(0)

相关推荐