用SMART 200做一个交通灯的毕业设计:每秒依次点亮灯再灭灯
题目:
用SMART 200做一个交通灯的毕业设计,有三个灯,依次从上到下每秒点亮一个灯。第三个灯亮后5秒依次从下到上每秒灭掉一个灯。第一个灯灭后1秒再亮灯,依次循环下去。按下停止按钮全灭。
这题看起来比较简单,实际做起来还是有很多细节的地区要注意,尤其是用到秒时钟移位时,执行动不同步的情况。
用SMART200 简单涉及到两个比较重要的指令:位移指令、定时指令、
按下M2.1停止按钮全灭
程序1:用一个复位指令:按下M2.1停止按钮复位所有的Q、M 、T寄存器,即灭所有的灯。
程序2:按下M0.0开始按钮,同时激活三个定时器,每个定时器相差1秒动作。程序3:每隔一秒VB0寄存位位左移一位,注意如VB0全是0,移位就没有意义。0移位到0还是0。所以得在V0.0位赋值1。如下图:
然后通过VB0再赋值到QB0 即Q0.0 Q0.1 Q0.2
第三个灯Q0.2亮灯计时5秒如下图
5秒后依次灭灯每隔1秒用到右移指令对QB0每秒向右移位,Q0.3位为0,所以右移对QB0依次每秒复位Q0.2 Q0.1 Q0.0:如下图
第一个灯灭后再等1秒再从头开始循环亮灯执行开始的动作如下图:
这样简单的设计就完成了。完速程序T形图如下:
、
移位寄存器位指令将位值移入移位寄存器。该指令提供了排序和控制产品流或数据的简便方法。使用该指令在每次扫描时将整个寄存器移动一位。
移位寄存器位指令将 DATA 的位值移入移位寄存器。S_BIT 指定移位寄存器最低有效位的位置。N 指定移位寄存器的长度和移位方向(正向移位 = N,反向移位 = -N)。
将 SHRB 指令移出的每个位值复制到溢出存储器位 SM1.1 中。
移位寄存器位由最低有效位 S_BIT 位置和长度 N 指定的位数定义。
PLC运算实例--小车移动二
前两天放假没有更新,今天就分享关于运算的例子。
动作要求:
在保持上个实例1的功能状态下,将SS0:手动/自动切换开关选择为自动,以及SS1:连续运行选择开关选择为解除时,执行下面1~4的动作(1个循环),请写出这样的程序。
1、 通过DSW1指定小车到达左端后的停止时间,数值以秒为单位,范围为0—6秒。
2、 按下PB2后完成时间设定,若设定时间大于6秒(即DSW1数值>6)时,时间固定为6秒,将设定的停止时间显示在DPL1上。
3、 按下PB1,传送带向左移动,小车左行。
4、 小车到达左端后,传送带停止,实时停止时间以1秒为单位,显示在DPL2上。
5、 传送带停止由DSW1指定的秒数后,传送带带动小车向右移动。
6、 小车到达右端后,传送带停止。
此时满足以下条件:
I. 小车在右端时,PB1有效
II. 循环运行过程中,PL1亮灯。
III. 只有小车在左端时PL2亮灯。
IV. 只有小车在右端时PL3亮灯。
V. 只有小车向左移动时,PL2每隔1秒闪烁。(0.5秒亮灯0.5秒灭灯)
VI. 只有小车向右移动时,PL3每隔1秒闪烁。(0.5秒亮灯0.5秒灭灯)
VII. 在左端停止时,循环运行中的传送带停止时间会以1秒为单位,显示在DPL2上。
VIII. 在循环运行过程中,SS0:手动/自动切换开关被选择为手动,以及PB5:紧急停止按钮被按下时,传送带马上停止,并且PL1灭灯。
I/O分配表:
程式如下:
如果你想要这个程式,请留言或私聊,我用邮件发给你。
相关问答
plcdflt指令的用法?
...-||-X0------SFWRD0D1K10当X0变为ON时,在源D0中的数据写入D2,D1变为指针1。以此类推。ALT指令是交替输出假设Y0为指示灯。LDPX0...
sfwr指令怎么使用?
X0------SFWRD0D1K10当X0变为ON时,在源D0中的数据写入D2,D1变为指针1。以此类推。ALT指令是交替输出假设Y0为指示灯。LDPX0ALTY0此时...
用单片机或者PLC设计为主体,可以方便生活中的小设计,大家有什么想法?
对于单片机项目,能够方便生活中的小设计这样的案例有很多第一个,多功能电子时钟,1,单片机最小系统2,使用数码管或者显示屏作为显示,数码管实现较为简单,...3,...