6项目六PLC编程实现彩灯点亮控制 PLC编程实现彩灯点亮控制Word文件下载.docx
《6项目六PLC编程实现彩灯点亮控制 PLC编程实现彩灯点亮控制Word文件下载.docx》由会员分享,可在线阅读,更多相关《6项目六PLC编程实现彩灯点亮控制 PLC编程实现彩灯点亮控制Word文件下载.docx(22页珍藏版)》请在冰点文库上搜索。
用来实现字的高、低字节内容的交换。
四、位移位寄存器指令
该指令有3个数据输入端。
当使能端EN有效时,数据位DATA在每一个程序扫描周期均移入寄存器的最低位(N为正时)或最高位(N为负时),寄存器的其它位则依次左移(N为正时)或右移(N为负时)一位。
N指定移位寄存器的长度,最大长度为64位。
S-BIT为移位寄存器的最低位端。
DATA为数值输入端,用边沿跳变来控制使能端的状态。
五、数据移位指令
移位指令分为左、右移位和循环左、右移位指令。
按移位数据的长度又分为字节型、字型、双字型三种。
移位指令的最大移位位数N为字节型数据,且小于或等于数据类型(B、W、D)对应的位数。
1.左、右移位指令
①左移位指令:
左移位指令有SHL-B、SHL-W、SHL-DW三条。
当使能端EN有效时,将从IN输入的字节(字或双字)左移N位后(右端补0),输出到OUT所指定的存储单元中,并将最后移出的一位保存在溢出标志位SM1.1。
②右移位指令:
右移位指令有SHR-B、SHR-W、SHR-DW三条。
当使能端EN有效时,将从IN输入的字节(字或双字)右移N位后(左端补0),输出到OUT所指定的存储单元中,并将最后移出的一位保存在溢出标志位SM1.1。
2.循环左、右移位指令:
循环移位指令将移位数据存储单元的首尾相连,同时又与溢出标志位SM1.1连接。
①循环左移指令:
循环左移指令有ROL-B、ROL-W、ROL-DW三条。
当使能端EN有效时,将从IN输入的字节(字或双字)循环左移N位后,输出到OUT所指定的存储单元中,并将最后移出的一位送SM1.1。
②循环右移指令:
循环右移指令有ROR-B、ROR-W、ROR-DW三条。
当使能端EN有效时,将从IN输入的字节(字或双字)循环右移N位后,输出到OUT所指定的存储单元中,并将最后移出的一位送SM1.1。
六、程序控制指令
1.功能图简介
功能图(SFC)又称状态转移图,它是描述控制系统的控制过程、功能和特性的一种图形,也是设计PLC梯形图程序的基础。
功能图是按照顺序控制的思想,根据控制过程输出量的状态变化情况,将一个工作周期划分为若干顺序相连的步,在任何一步内,各输出量状态保持不变,但相邻两步输出量的状态是不同的。
因此,可以将程序的执行分成若干程序步,通常用顺序控制状态寄存器的位代表程序的状态步。
使系统由当前步进入下一步的信号称为转换条件。
转换条件可以是外部输入信号,如按钮、开关等,也可以是程序运行过程中产生的信号,如定时器、计数器常开触点的接通等,转换条件还可以是若干信号的逻辑运算的组合。
功能图并不涉及所描述的控制功能的具体技术,它是一种通用的技术语言,可供不同专业人员之间进行技术交流用。
2.顺序控制状态寄存器
顺序控制状态寄存器又称状态元件,主要用于组织设备的顺序操作或进入等效程序段工步。
顺序控制状态寄存器的地址编号范围为S0.0~S31.7,既可以按位寻址,也可以按字节、字或双字寻址。
3.顺序控制指令
顺序控制指令有3条,分别为顺序状态开始指令LSCR、顺序状态转移指令SCRT、顺序状态结束指令SCRE。
从LSCR指令开始到SCRE指令结束的所有指令组成一个顺序控制程序段。
LSCR指令标记一个程序段的开始,当该段的状态位为ON时,表示允许该程序段工作;
当SCRT指令的输入端有效时,一方面置位下一个程序段的状态位,另一方面又同时使该程序段的状态位复位;
程序段必须用SCRE指令结束。
七、中断源及优先级
1.中断源
中断源是能够向PLC发出中断请求的中断事件。
S7-200系列PLC最多有34个中断源,每个中断源都分配有一个编号用于识别,称为中断事件号。
这些中断源分为三大类:
通信中断、I/O中断、时基中断。
①通信中断:
PLC在自由通信模式下,通信口的状态可由程序来控制,用户可以通过编程来设置通信协议、波特率和奇偶检验。
表6-1为CPU224型号PLC的通信中断事件及其优先级。
表6-1通信中断事件及其优先级
中断事件号
中断事件名称
优先级
8
端口0:
接收字符
9
发送完成
23
接收信息完成
②I/O中断:
I/O中断包括外部输入中断、高速计数器中断和高速脉冲串输出中断。
外部输入中断是指系统利用I0.0~I0.3的上升沿或下降沿产生中断。
高速计数器中断可以响应当前值等于预置值、计数方向改变、计数器外部复位等事件所引起的中断。
高速脉冲串输出中断是指完成给定脉冲数输出时所引起的中断。
表6-2为CPU224型号PLC的I/O中断事件及其优先级。
表6-2I/O中断事件及其优先级
I0.0上升沿
1
I0.0下降沿
4
2
I0.1上升沿
3
I0.1下降沿
5
I0.2上升沿
I0.2下降沿
6
I0.3上升沿
7
I0.3下降沿
12
HSC0当前值等于预置值
27
HSC0输入方向改变
16
28
HSC0外部复位
32
HSC3当前值等于预置值
29
HSC4当前值等于预置值
30
HSC4输入方向改变
17
31
HSC4外部复位
18
33
HSC5当前值等于预置值
19
PLS0脉冲数完成
14
20
PLS1脉冲数完成
15
③时基中断:
时基中断包括内部定时中断和外部定时器中断两种。
表6-3为CPU224型号PLC的时基中断事件及其优先级。
内部定时中断包括定时中断0和定时中断1。
这两个定时中断按设定的时间周期不断循环工作,可以用来以固定的时间间隔作为采样周期,对模拟量输入进行采样,也可以用来执行一个PID调节指令。
定时中断的时间间隔存储在时间间隔寄存器SMB34(定时中断0)和SMB35(定时中断1)中,它们在1~255ms之间以ms为增量单位进行设定。
外部定时器中断就是利用定时器来对一个指定的时间段产生中断。
这类中断只能使用1ms延时定时器T32和T96。
表6-3时基中断事件及其优先级
10
定时中断0(SMB34)
11
定时中断1(SMB35)
21
定时器T32当前值等于预置值
22
定时器T96当前值等于预置值
2.中断优先级
在PLC应用系统中通常有多个中断源,当它们同时向CPU发出中断申请时,CPU先响应优先级别高的中断,若优先级别相同,则CPU按先来先服务的原则处理。
在S7-200系列PLC中,通信中断的优先级别最高,时基中断的优先级别最低。
每一类中断的不同中断事件也有不同的优先级,详细内容见表5-2-1、表5-2-2和表5-2-3。
3.中断指令
S7-200系列PLC的中断指令包括全局开中断ENI、全局关中断DISI、中断连接指令ATCH和中断分离指令DTCH。
①全局开中断ENI:
使能输入有效时,允许所有的中断申请。
②全局关中断DISI:
使能输入有效时,不允许任何一个中断事件向CPU发出中断申请。
③中断连接指令ATCH:
使能输入EN有效时,把一个中断事件号EVNT与一个中断服务程序INT联系起来,并允许该中断事件。
④中断分离指令DTCH:
使能输入EN有效时,切断一个中断事件号EVNT与所有中断服务程序的联系,并禁止该中断事件。
项目导入
如图6-1所示,有16个彩灯L1~L16,要求按下启动按钮SB1后,最左端两个灯先亮,然后从左到右以1s的速度依次移动点亮,在同一时刻只能有两个相邻的灯亮。
当最右端两个灯点亮后,再从右到左以1s的速度移动。
如此循环往复。
按下停止按钮SB2,所有灯均熄灭。
试设计PLC控制梯形图程序。
图6-1彩灯循环点亮示意图
项目分析
1.确定输入/输出设备
通过对彩灯循环点亮控制要求的分析可知,控制系统的输入设备有2个,分别为启动按钮SB1、停止按钮SB2;
输出设备有16个,分别为彩灯L1~L16。
2.I/O分配
由于本控制系统有2个输入设备和16个输出设备,因此,PLC至少需要2个输入点和16个输出点。
具体I/O分配见表6-4。
表6-4彩灯循环点亮控制I/O分配表
输入
输出
输入寄存器
输入设备
输出寄存器
输出设备
I0.0
SB1
Q0.0~Q0.7
L1~L8
I0.1
SB2
Q1.0~Q1.7
L9~L16
3.编写控制程序
根据彩灯循环点亮控制要求,可采用位移位寄存器指令来实现,也可采用左/右移位指令来实现。
参考梯形图程序如图6-2所示。
图6-2彩灯循环点亮控制梯形图程序
4.绘制PLC外部接线图
根据彩灯循环点亮控制I/O的分配情况,绘制如图6-3所示的系统接线图。
图6-3彩灯循环点亮控制系统接线图
项目实施
一、工具及器材
为实现彩灯循环点亮的控制要求,需要准备的工具、器材见表6-5。
表6-5彩灯循环点亮控制所需工具、器材
序号
名称及说明
数量
备注
PLC主机模块(S7-CPU226)
计算机(编程/监控)
PC/PPI下载电缆
带三相插头的电源线
彩灯
按钮
连接导线
若干
螺丝刀
二、注意事项
1.不能在不同的程序中使用相同的S位。
2.不能在SCR段之间使用JMP及LBL指令,即不允许用跳转的方法跳入或跳出SCR段。
3.不能在SCR段中使用FOR、NEXT和END指令。
三、操作步骤
1.根据如图6-3所示的彩灯循环点亮控制系统接线图,完成PLC主机模块与输入设备(启动按钮SB1、停止按钮SB2)及输出设备(彩灯L1~L16)之间的信号线、电源线连接。
2.接通电源,使工作方式拨动开关处于“TERM”位置,然后启动编程软件,输入如图6-2所示的控制梯形图程序。
3.使PLC处于“STOP”状态,编译成功后,将程序下载到PLC主机。
4.将CPU置为“RUN”状态,运行梯形图程序。
改变各输入设备的状态,观察彩灯L1~L16的亮灭情况。
四、评分标准(见表6-6)
表6-6项目小组任务完成情况评分标准
内容
I/O分配
编程
接线
调试
团队
总计
分值
20分
100分
知识拓展
一、系统控制类指令
1.暂停指令STOP:
当使能输入有效时,立即终止程序的执行。
在中断程序中执行STOP指令,该中断立即终止,并且忽略所有挂起的中断,继续扫描程序的剩余部分,在本次扫描结束后,将CPU由RUN状态切换到STOP状态。
2.结束指令END/MEND:
MEND为无条件结束指令,可以直接和左母线相连。
END为条件结束指令,只有当使能输入有效时,才可以终止用户程序的执行,返回到主程序的第一条指令处执行。
结束指令只能在主程序中使用,不能用在子程序和中断服务程序中。
3.看门狗复位指令WDR:
看门狗定时器有一个设定的重启动时间,若程序扫描周期超过300ms,最好使用看门狗复位指令WDR重新触发看门狗定时器。
二、跳转指令、循环指令
1.跳转指令JMP:
跳转指令JMP和跳转地址标号指令(LBL)配合实现程序的跳转。
当跳转指令的使能输入有效时,程序跳转到指定标号n处执行(在同一程序内)。
跳转地址标号指令标记跳转目的地的位置,跳转标号n=0~255;
使能输入无效时,程序顺序执行。
2.循环指令FOR:
程序的循环结构用于描述一段程序的重复循环执行,由FOR和NEXT指令构成程序的循环体,FOR指令标记循环的开始,NEXT指令标记循环的结束。
FOR和NEXT必须配对使用。
当使能输入EN有效时,循环体开始执行,执行到NEXT指令时返回。
每执行一次循环体,当前计数器INDX加1,直到达到终值FINAL时,循环结束。
INIT为循环次数初始值。
三、子程序调用及子程序返回指令
通常将具有特定功能,并多次使用的程序段作为子程序。
子程序有子程序调用和子程序返回两大类指令。
子程序调用指令用在主程序或其它调用子程序的程序中。
子程序返回指令又分条件返回和无条件返回指令两类。
子程序的无条件返回指令无需用户输入,梯形图指令系统能够自动生成。
1.CALLSBR-n:
子程序调用指令
2.CRET:
子程序返回指令
子程序调用指令编写在主程序中,子程序返回指令编写在子程序中。
子程序标号n的范围是0~63。
子程序可以不带参数调用,也可以带参数调用。
带参数调用的子程序必须事先在局部变量表里对参数进行定义,最多可以传递16个参数,参数的变量名最多为23个字符。
四、中断指令在彩灯循环点亮控制系统中的应用
1.控制要求:
按下启动按钮SB1,彩灯L1~L8循环点亮,间隔时间为2s;
按下停止
按钮SB2,彩灯L1~L8全部熄灭。
2.I/O分配(见表6-7)
表6-7彩灯循环点亮控制I/O分配表
Q0.0
L1
Q0.1
L2
Q0.2
L3
Q0.3
L4
Q0.4
L5
Q0.5
L6
Q0.6
L7
Q0.7
L8
采用循环左移指令与内部定时中断0相配合完成彩灯的循环点亮控制。
内部定时中断0的时间间隔存储在时间间隔寄存器SMB34中,其定时时间最长只能达到255ms,而彩灯循环点亮的间隔时间为2s。
因此,在进行程序设计时,设置定时时间为250ms,同时引入变量寄存器VB0对中断次数进行计数,中断8次后彩灯向左移动1位。
参考梯形图主程序如图6-4所示,中断服务程序如图6-5所示。
图6-4彩灯循环点亮控制主程序
图6-5彩灯循环点亮控制中断服务程序
五、电动小车自动往返运行控制
如图6-6所示,电动小车可以在甲地和乙地之间往返运行。
要求设计PLC控制程序,使小车实现以下三种运行方式:
手动运行、自动单周期运行、自动循环运行。
①手动运行:
手动选择开关处于ON状态时,按下按钮SB1且底门关闭时,小车向前运行直到压下乙地行程开关SQ2;
按下按钮SB3,漏斗翻门打开,物料装入小车,10s后翻门自动关闭;
按下按钮SB2,小车向后运行直到压下甲地行程开关SQ1;
按下按钮SB4,小车底门打开,将物料卸下,5s后小车底门自动关闭。
②自动单周期运行:
自动单周期选择开关处于ON状态时,若小车已位于甲地且小车底门已关闭,按下启动按钮SB0,小车向前运行至乙地,压下行程开关SQ2后,翻门自动打开,10s后翻门关闭,小车开始向后运行,到达甲地压下行程开关SQ1后,底门自动打开,5s后关闭。
完成一次循环。
小车将停留在甲地等待下一次启动。
③自动循环运行:
自动循环选择开关处于ON状态时,若小车已位于甲地且小车底门已关闭,按下启动按钮SB0,小车将从甲地到乙地自动往复循环运行。
前行
后行
翻门
底门
SQ1SQ2
甲地乙地
图6-6电动小车运行示意图
2.I/O分配(见表6-8)
表6-8电动小车运行控制I/O分配表
输出信号
SB0
小车前行
SQ2
翻门打开
I0.2
SQ1
小车后行
I0.3
手动选择开关
底门打开
I0.4
自动单周期选择开关
I0.5
自动循环选择开关
I0.6
I0.7
I1.0
SB3
I1.1
SB4
3.控制程序(见图6-7)
图6-7电动小车运行控制梯形图程序
思考与练习
1.按下启动按钮,L1、L2、L3依次点亮,全亮后,L1、L2、L3依次熄灭,全灭后再依次点亮…时间间隔为1秒。
按下暂停按钮,各灯状态保持不变,再按启动按钮,各灯继续工作。
按下停止按钮,灯全部熄灭,再按启动按钮,各灯重新开始工作。
2.某系统有四台设备,分别由电动机M1、M2、M3、M4拖动。
要求系统启动时按“M1→M4”的顺序启动;
停止时按“M4→M1”的顺序停止,间隔时间为10秒。
3.利用子程序编写梯形图控制程序,实现以下功能:
当I0.0为ON时,若I0.7=ON,则有一个亮灯自左向右(Q0.0~Q0.7)以1s速度移动,当移动到最右侧后,再重复上述动作,如此循环,I0.7=OFF停止;
当I0.1为ON时,若I0.7=ON,则有一个亮灯自左向右(Q0.0~Q0.7)以1s速度移动,当移动到最右侧后,再自右向左返回最左侧,如此循环,I0.7=OFF停止。
4.某生产车间有一自动运输小车,小车有5个停车位置,每个位置上有一要车按钮,当按下某一位置的要车按钮后,小车自动运行到该位置停车。
5.如图6-8所示,某化学反应装置由四个容器组成,容器之间用泵连接。
按下启动按钮SB1,1#、2#容器分别用泵P1、P2从碱和聚合物库中将其充满。
充满后P1、P2关闭,2#容器开始加热,到60℃时关闭加热器。
然后泵P3、P4分别将1#、2#容器中的溶液送到3#容器中,同时启动搅拌器,搅拌时间为60s。
一旦3#满或1#、2#空,则泵P3、P4关闭,等待。
当搅拌时间到,泵P5将混合液抽到4#容器,直到4#满或3#空。
成品用泵P6抽走,直到4#空。
至此,整个过程结束。
再次按下启动按钮,开始新的循环。
试根据控制要求设计PLC控制程序。
图6-8化学反应装置示意图