设计8个灯亮的plc控制系统
导读:本教程旨在让读者实践西门子S7-200ART系列PLC的位逻辑指令、定时器以及移位指令,并了解子程序的结构。
设想一个彩灯控制系统,共有L1-L8八盏彩灯。我们的目标是,通过按下开始按钮,让彩灯以特定的顺序和间隔亮起。
如图3-1所示为彩灯控制示意图。
图3-1 彩灯控制
系统要求如下:
1. 按下开始按钮后,彩灯L1-L8将以正序每隔1秒轮流点亮,当L8点亮后,暂停2秒。
2. 接着,彩灯将以逆序轮流点亮,每隔1秒点亮一盏,当L1再次点亮后,暂停5秒。
3. 按下停止按钮,彩灯停止工作。
针对上述控制要求,我们进行I/O分配,如图3-2所示:
图3-2 I/O分配表
本案例主要运用移位指令与其他指令的配合。移位指令是实现这一功能的关键。
循环左移字节(如图3-3):此指令将输入值IN的位值循环左移N位,并将结果存储于OUT指定的存储单元中。
图3-3:循环左移字节示意图
例如:程序初始化时,为QB0字节赋值1,此时最低位Q0.0为1。当按下某个按钮后,QB0中的数据左移一位,例如Q0.1变为1。
循环右移字节(如图3-4):与左移类似,但是将数据循环右移。
图3-4:循环右移字节示意图
主程序(如图3-8)负责数据的初始化并调用相关子程序。启动时,左移开始标志M1.0接通,进行数据移位操作;右移开始时,M1.2接通,完成相应的操作。
图3-8主程序示意图
循环子程序(如图3-9)控制灯的启停和循环。按下启动按钮后,程序执行一系列的移位和定时操作。
图3-9循环程序示意图