分享

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

 PLC发烧友 2021-01-22


1

一、动作描述:




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

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

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

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




2

二、硬件设备:


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

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


3

三、软件:


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


4

四、I/O分配:


输入点

注释

输出点

注释

I0.0

开始

Q0.0

指示灯1

I0.1

停止

Q0.1

指示灯2



Q0.2

指示灯3



Q0.3

指示灯4



Q0.4

指示灯5



Q0.5

指示灯6


5

五、程序编写及思路:




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

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

接下来我们开始写程序:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

程序完成!



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

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约