关注“PLC发烧友”,一起涨知识!

一、动作描述:

1.六个指示灯组成跑马灯系统,外加两个按钮控制跑马灯的开始和停止;

2.按开始按钮,跑马灯分四个阶段:第一阶段,指示灯从右至左逐个点亮;第二阶段,指示灯从左至右逐个点亮;第三阶段,指示灯从右至左依次点亮;第四阶段,指示灯从左至右依次熄灭。

3.指示灯点亮的时间可以通过形式参数指定。

4.按下停止按钮,指示灯全都熄灭,跑马灯停止。

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(1)

二、硬件设备:

1.西门子PLC :S7-1214C DC/DC/DC

2.指示灯6个,按钮2个

三、软件:

1.西门子plc编程软件:TIA 博途V16

四、I/O分配:

输入点

注释

输出点

注释

I0.0

开始

Q0.0

指示灯1

I0.1

停止

Q0.1

指示灯2

Q0.2

指示灯3

Q0.3

指示灯4

Q0.4

指示灯5

Q0.5

指示灯6

五、程序编写及思路:

为便于后期修改,我们把跑马灯程序做成一个FB块,并定义形式参数,如图:

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(2)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(3)

接下来我们开始写程序:

根据工艺要求,我们把程序分成几个阶段,用变量“步骤”数组元素来表示。

取“开始”上升沿,开始第一步:

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(4)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(5)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(6)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(7)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(8)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(9)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(10)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(11)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(12)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(13)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(14)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(15)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(16)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(17)

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

西门子s7-1200plc红绿灯(西门子案例S7-1200PLC可变延时跑马灯案例)(18)

程序完成!

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

,