1、项目四 彩灯追灯控制系统一、实训目标1. 通过本项目的实训和操作,学会使用松下PLC移位、数据传输和子程序调用等高级指令。2. 能够正确编制、输入和传输彩灯追灯PLC控制程序。3. 能够独立完成彩灯追灯PLC 控制线路的安装。4. 按规定进行通电调试,出现故障时,应能根据设计要求独立检修,直至系统正常工作。二、任务分析用彩灯进行装饰,可以烘托气氛,有些场合要求彩灯有多种运行方式可供选择。由于在PLC指令系统中设置了一系列高级指令,因而用PLC进行彩灯控制显得尤为方便。下面通过彩灯追灯控制系统来学习移位、数据传输和子程序调用等高级指令。1彩灯追灯控制电路的控制要求(1)彩灯共有两种控制方式,通过
2、选择开关进行选择。(2)如果选择 “方式一”,则合上运行开关后,八盏彩灯从左向右以1s的间隔逐个点亮,如此循环。(3)如果选择“方式二”,则合上运行开关后,八盏彩灯从左向右以1s的间隔逐个点亮,然后再从右向左以1s的间隔逐个点亮,如此循环。(4)断开运行开关,系统停止工作。2控制要求分析由控制要求可知该彩灯控制有两种控制方式,可采取子程序调用指令 (CALL)的方式来实现。当调用子程序1时,实现 “方式一”的控制要求;当调用子程序2时,实现 “方式二”的控制要求。八盏彩灯逐个点亮的控制,可用定时器指令编写,但是程序步数较长,编写过于繁琐。本项目用左移位寄存器指令 (SR)和左/右移位寄存器指令
3、(LRSR)来实现。三、相关知识1“字”继电器在松下FP1系列PLC中,继电器不仅可以按位寻址,还可以按字寻址 (每个 “字”为16位),即16个同类继电器组成一个 “字”继电器,每一个 “字”继电器都可以作为寄存器来使用。“字”继电器有三种:“字”输入继电器WX、“字”输出继电器WY和通用 “字”继电器WR。WR各位的编号规则如图7-1所示。例7-1XlOF即寄存器WX10中的第F号位,如图7-1所示。XlO0即寄存器WXl0中的第0号位地址(即第10号输入寄存器的第0号位)。图7-1 内部寄存器编号注意紧靠X的数字可以是两位的也可以是一位的,甚至可以没有(即“字”地址为0),而最后的位地址
4、数一定要有,且一定是地址。如XO、YO。松下FP1-C40型可编程控制器中“字”继电器的编号如下。WX:WX0 FP1-C40型PLC共有24点输入,其中X0XF组成 “字”输入继电器WX0,XlOX17因不满16个而不能组成 “字”继电器。WY: WY0 FP1-C40型PLC共有16点输出,Y0YF正好组成 “字”输出继电器WY0。WR:WR0WR62 FP1-C40型PLC通用辅助继电器的编号为R0R62F,组成63个通用“字”继电器。而R9000R903F组成的专用 “字”继电器WR900WR903均有特殊的用途,用户不能占用。2、SR左移位寄存器指令(1)指令功能SR指令功能:相当于
5、一个串行输入移位寄存器,作用是在移位脉冲上升沿到来时将16位的内存字继电器(WR)的数据左移一位,当数据输入端为“ON”时,移位脉冲信号前沿到来时则向R0移入一个“1”,反之在脉冲到来移入一个“0”。图 7-2 移位示意图(2)程序举例(3)例题解释当X2为“OFF”时,Xl输入移位触发信号,内部继电器WR3的内容向左移动一位。如果XO为“ON”,则左移一位后R30置为1;如果XO为“OFF”,则左移一位数后R30置为0。如果X2变为“ON”(上升沿),则WR3的所有位置0。移位示意如图7-2所示。(4)指令使用说明SR左移位寄存器指令必须按数据输入(IN),移位脉冲输入 (CP),复位输入
6、(R)和 SR指令的顺序编程。数据在CP的上升沿逐位向高位移位,最高位溢出,R端输入信号时,寄存器清零。该指令只用于WR的16位数据左移1位。3、Fll9(LRSR)左/右移位寄存器指令(1)指令功能LRSR指令功能:指定某一个寄存器区内若干个按编号顺序排列的寄存器作为一个整体作数据的左移或右移。指令的操作数分为Dl( 首址)和D2(末址),要求D2Dl,且为同类寄存器。(2)程序举例(3)例题解释当检测到移位触发信号X2的上升沿时,左/右移触发信号XO处于“ON”时,数据区从Dl(本例为DTO)向D2(本例为DT9)左移1位;左/右移触发信号XO处于“OFF”时,数据区从DT9向DTO右移1
7、位。若Xl处于“ON”时,“1”被移入数据区;若Xl处于“OFF”时,“0”被移入数据区。当检测到复位触发信号X3的上升沿时,DTODT9的数据区所有位全变为“0”。(4)使用说明用F119(LRSR)编程时,一定要有左/右移触发信号,数据输入,移位和复位触发四个信号。左/右移触发信号:规定移动方向。ON:向左移,OFF:向右移。数据输入:规定新移入的数据。当数据输入信号接通时,新移入数据为“1”;当数据输入信号断开时,新移入数据为“0”。移位触发信号:当该触发信号的上升沿由OFFON时,向左或向右移1位。复位触发信号:当该触发信号接通时,数据区规定D1和D2的所有位均变为“0”。4CALL(
8、调子程序)、SUB(子程序标记)、RET(子程序返回)指令(1)指令功能CALL:执行指定的程序。SUB:表示子程序开始。RET:子程序结束并返回到主程序。(2)程序举例(3)例题解释当预置触发信号Xl接通时,开始调用指定标记号的子程序,转到执行SUB2RET指令间的子程序,执行完子程序后,返回执行CALL2指令后面的程序。(4)指令使用说明子程序必须写在ED指令的后面,由SUB指令开始,到RET指令结束,SUB与RET必须成对出现。FPl的子程序可用个数: C14和C16系列为8个 (07);C24、C4O、C56和C72系列为16个 (015)。在同一程序中,CALL指令可以标号相同,SU
9、B指令不可以标号相同。在一个子程序中,最多可以调用4个子程序。5数据传输指令数据传输指令 (F0F17)包括单字、双字, bit、digit 位传送,块传送或复制,以及数据在寄存器之间交换等功能的指令。下面以Fl(DMV)32位数据传输指令为例说明。(1)指令功能该指令将32位数据从一个32位区传送到另一个32位区。(2)程序举例(3)例题解释源区位址 151211874 30 位址 151211874 30WR1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 WR0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0目的区 高 16 位区 X0:ON 低 16
10、位区位址 151211874 30 位址 151211874 30DT1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 DT0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0高 16 位区 低 16 位区图7-3 32位数据传送当触发信号XO接通时,将WRl、WRO的内容传送到DTl、DTO中,而WRO、WRl中的内容不变,如图4-58所示。如果低16位区指定为 (S,D),则高位自动指定为 (S+l,D+l)。F0(MV)为16位数据传输指令,指令使用方法与Fl(DMV)32位数据传输指令相似。四、任务实施1输入/输出分配表彩灯追灯控制电路的输入/输出分配见
11、表7-1。表7-1 彩灯追灯PLC控制电路的输入/输出分配表输入电器 输入点 输出电器 输出点选择开关 SA1 X0 彩灯 1 Y0选择开关 SA2 X1 运行开关 SA3 X6 彩灯 8 Y7运行开关 SA4 X72输入/输出接线图用松下FP1-C40型可编程控制器实现彩灯追灯控制的输入/输出接线,如图7-4所示。图7-4 彩灯追灯PLC 控制系统输入/输出接线图3编写梯形图程序彩灯追灯控制系统的控制程序如图7-5所示。图7-5 彩灯追灯控制PLC梯形图程序当未选择方式转换开关 (XO、Xl均为 “OFF”)时,将 X0、Xl常开、常闭的组合取反后,用F0(MV)指令将WY0和WRO清零;当
12、选择 “方式一”(XO为 “ON”)或 “方式二”(Xl为 “ON”)时,通过子程序调用指令调用相应的子程序。在子程序0中,由SR指令控制WR0中的数据移位。在 “运行一 ”开关接通瞬间 (X7上升沿到来)或一次循环结束 (R8上升沿到来)时,将数据 “1”用F0(MV)指令送入WR0,对WR0进行初始化,并将数据输入端接常OFF继电器R9011的常开,以保证WR0中仅有一位为“1”。而用特殊内部继电器R901C(1s脉冲继电器)来控制1s的时间间隔。最后,用R9010(常ON继电器)作为触发信号,将WR0中的数据传送到WY0中,实现数据输出。在子程序1中,当“运行二”开关接通瞬间 (X6上升
13、沿到来 )时,Y0接通并保持,其常开触点使RO接通并保持,使Fll9(LRSR)左/右移位端为 “ON”,WY0中的数据采用左移方式,当Y7接通时R0复位,Fll9(LRSR)左/右移位端为 “0FF”,WY0中的数据采用右移方式。而Fll9(LRSR)数据输入端为常开的特殊内部继电器R90l1,使移入数据一直为“O”,以保证始终只有一盏灯亮。移位触发信号则采用1s时钟脉冲继电器R901C,从而使灯亮的间隔为1s。4输入程序5系统调试(1) 在教师的现场监护下进行通电调试,验证系统功能是否符合控制要求。(2) 如果出现故障,学生应独立检修。首先进行线路检修,完毕后进行梯形图修改,修改完成后应重新调试,直至系统能够正常工作。五、思考与练习1按如下要求进行设计:有6盏灯,按下启动按钮后,按顺序依次亮,间隔为2s,等6盏灯全亮以后,再以相同的顺序依次熄灭,间隔同样为2s。6盏灯全亮时,按下停止按钮有效且所有灯立即熄灭,否则一直按上述规律循环点亮、熄灭。2试用子程序调用指令编写程序:按下启动按钮一台电动机运转10s后,停止5s,然后第二台电动机运转10s后,停止5s,然后第三台电动机运转10s后,停止5s。如此重复3次后停止。3试编写如下程序:合上运行开关后,YOYF输出继电器以2s的间隔从左向右依次逐个输出,再以1s的间隔从右向左依次逐个输出,如此循环3次后自动停止。