1 一、动作描述: 1.六个指示灯组成跑马灯系统,外加两个按钮控制跑马灯的开始和停止; 2.按开始按钮,跑马灯分四个阶段:第一阶段,指示灯从右至左逐个点亮;第二阶段,指示灯从左至右逐个点亮;第三阶段,指示灯从右至左依次点亮;第四阶段,指示灯从左至右依次熄灭。 3.指示灯点亮的时间可以通过形式参数指定。 4.按下停止按钮,指示灯全都熄灭,跑马灯停止。 2 二、硬件设备: 1.西门子PLC :S7-1214C DC/DC/DC 2.指示灯6个,按钮2个 3 三、软件: 1.西门子plc编程软件:TIA 博途V16 4 四、I/O分配:
5 五、程序编写及思路: 为便于后期修改,我们把跑马灯程序做成一个FB块,并定义形式参数,如图: 并建立了一些中间变量,来完成程序逻辑: 接下来我们开始写程序: 根据工艺要求,我们把程序分成几个阶段,用变量“步骤”数组元素来表示。 取“开始”上升沿,开始第一步: 在程序的第一步开始后,赋初始值给将要移动的辅助变量: 赋初始值后,开始左移,做一个定时器,移位完成触发计时,计时完成复位: 判断移位已经完成,复位当前步骤,置位下一个步骤: 进入第二阶段,同样开始赋初识值: 重复之前的移位动作,这次改为右移: 同样判断移位完成,复位当前步骤,置位下一个步骤: 接下来还是赋初识值,这次需要另一个辅助移动变量来做运算 第三阶段开始,需要依次点亮,就需要用到辅助灯组来做XOR异或运算: 同样是判断移位完成,复位当前步骤,置位下一个步骤,然后继续辅初识值: 以同样的方式做XOR异或运行,实现依次熄灭: 判断移位完成,复位当前步骤,并置位第一阶段步骤,实现循环: 如果按停止按钮,则复位所有步骤和移位辅助位: 移动辅助位对应到指示灯Output形式参数: 然后在main主程序调用此FB块,并赋实际参数: 程序完成! 来源:PLC发烧友,作者:技成-张志强。 文章源程序可提供免费下载,“PLC发烧友”公众号后台回复:“跑马灯”,即可免费获取!留言处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。。。 |
|
来自: PLC发烧友 > 《西门子PLC技术文章》