设计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循环程序示意图