1、项目项目4 PLC对灯负载的控制对灯负载的控制任务任务2 PLC如何实现对交通灯的控制如何实现对交通灯的控制(第二种控制方式)(第二种控制方式)任务引入任务引入 使用使用PLC对交通灯进行控制,很容易实现交通灯对可靠性、稳定性的对交通灯进行控制,很容易实现交通灯对可靠性、稳定性的要求。同时采取不同的编程方式,也很容易达到添加新项目的目的,而不要求。同时采取不同的编程方式,也很容易达到添加新项目的目的,而不需要在软件上增加太大的投资。需要在软件上增加太大的投资。任务分析任务分析 对交通灯实施控制,其控制程序有多种编写方式,在任务一中我们对交通灯实施控制,其控制程序有多种编写方式,在任务一中我们使
2、用最常用的逻辑指令实施对交通灯的控制。这种方式容易编写,也容易使用最常用的逻辑指令实施对交通灯的控制。这种方式容易编写,也容易理解。理解。在交通灯运行中,无论东西向,还是南北向,都有绿灯的闪烁,属于在交通灯运行中,无论东西向,还是南北向,都有绿灯的闪烁,属于共有的部分。这样可以将共有部分设置成子程序,每次绿灯要闪烁时,都共有的部分。这样可以将共有部分设置成子程序,每次绿灯要闪烁时,都调用子程序,同样能完成对交通灯的控制。调用子程序,同样能完成对交通灯的控制。要完成该任务,必须具备以下知识:要完成该任务,必须具备以下知识:1子程序调用指令。子程序调用指令。2子程序返回指令。子程序返回指令。3指针
3、指针P。相关知识相关知识 l 指令格式指令格式 该指令的指令名称、助记符、功能号、操作数及程序步长如表该指令的指令名称、助记符、功能号、操作数及程序步长如表4-3所示。所示。表表4-3 子程序调用指令表子程序调用指令表1子程序调用和返回指令子程序调用和返回指令CALLSRET(FNC01、FNC02)l 指令说明指令说明 1)FNC01(CALL)为子程序调用指令,其操作数对)为子程序调用指令,其操作数对FX1N、FX2N、FX2NC PLC的指针从的指针从P0P127,P63为为END标号,不作指针,标号在程序标号,不作指针,标号在程序中仅能使用一次。中仅能使用一次。CALL指令在程序中的基
4、本使用如图指令在程序中的基本使用如图4-7所示。所示。2)子程序调用)子程序调用CALL指令一般安排在主程序中,主程序的结束有指令一般安排在主程序中,主程序的结束有FEND指令。子程序的开始端有指令。子程序的开始端有P指针,最后由指针,最后由SERT返回指令返回主程序。返回指令返回主程序。3)图图4-7中,中,X0为调用子程序的条件。当为调用子程序的条件。当X0=ON时,调用时,调用P10SERT段子程序,并执行。当段子程序,并执行。当X0=OFF时,程序顺序执行。时,程序顺序执行。4)子程序调用指令可以嵌套,最多为)子程序调用指令可以嵌套,最多为5级。图级。图4-7(b)是一嵌套的例子。)是
5、一嵌套的例子。子程序子程序P11的调用因采用的调用因采用CALL(P)指令,是脉冲执行方式,所以在)指令,是脉冲执行方式,所以在X0由由OFFON时,仅执行一次。即当时,仅执行一次。即当X0从从OFFON时,调用时,调用P11子程序。子程序。P11子程序执行时,若子程序执行时,若X11=ON时,又要调用时,又要调用P12子程序并执行,当子程序并执行,当P12子程序执子程序执行完毕后,又返回到行完毕后,又返回到P11原断点处执行原断点处执行P11子程序,当执行到子程序,当执行到SRET处,又返处,又返回到主程序。回到主程序。相关知识相关知识 相关知识相关知识(a)子程序调用指令的基本应用)子程序
6、调用指令的基本应用 (b)子程序的嵌套)子程序的嵌套图图4-7 子程序调用子程序调用l 指令格式指令格式 该指令的指令名称、助记符、功能号、操作数及程序步长如表该指令的指令名称、助记符、功能号、操作数及程序步长如表4-4所示。所示。表表4-4 主程序结束指令表主程序结束指令表 相关知识相关知识2主程序结束指令主程序结束指令FEND(FNC06)相关知识相关知识l 指令说明指令说明 1)主程序结束指令作为主程序的结束指令,执行此指令,功能同)主程序结束指令作为主程序的结束指令,执行此指令,功能同END指指令。图令。图4-8所示为主程序结束指令在程序中的应用。在调用子程序(所示为主程序结束指令在程
7、序中的应用。在调用子程序(CALL)中,子程序、中断子程序应写在中,子程序、中断子程序应写在FEND指令之后,且其结束端均用指令之后,且其结束端均用SRET和和IRET作为返回指令。作为返回指令。2)若)若FEND指令在指令在CALL或或CALL(P)指令执行之后,)指令执行之后,SRET指令执行指令执行之前出现,则程序认为是错误的。之前出现,则程序认为是错误的。3)子程序及中断子程序必须写在)子程序及中断子程序必须写在FEND与与END之间,若使用多个之间,若使用多个FEND指令的话,则在最后的指令的话,则在最后的FEND与与END之间编写子程序或中断子程序。之间编写子程序或中断子程序。图图
8、4-8 主程序结束指令的应用主程序结束指令的应用 相关知识相关知识l 控制要求控制要求 控制要求按表控制要求按表4-1进行。进行。表表4-1 交通灯控制信号分配表交通灯控制信号分配表 任务实施任务实施用用PLC实现十字路口交通灯的控制实现十字路口交通灯的控制 训练要达到的目的训练要达到的目的 1)了解使用子程序的条件。)了解使用子程序的条件。2)如何设计子程序。)如何设计子程序。控制要求分析控制要求分析 当程序中有公共部分,并且被反复调用的,一般可将公共部分设置成当程序中有公共部分,并且被反复调用的,一般可将公共部分设置成子程序。在交通灯运行中,东西向,南北向,都有绿灯的闪烁,属于共有子程序。
9、在交通灯运行中,东西向,南北向,都有绿灯的闪烁,属于共有的部分。这样可以将闪烁程序设置成子程序,每次绿灯要闪烁时,都调用的部分。这样可以将闪烁程序设置成子程序,每次绿灯要闪烁时,都调用子程序。子程序。任务实施任务实施用用PLC实现十字路口交通灯的控制实现十字路口交通灯的控制 任务实施任务实施l 实训设备实训设备FX2N64MR 一台。一台。电路控制板(由空气开关、交流接触器、熔断器组成)电路控制板(由空气开关、交流接触器、熔断器组成)一块。一块。交通灯模拟板交通灯模拟板 一块。一块。任务实施任务实施l 设计步骤设计步骤 1)I/O信号分配信号分配 输入输出信号分配如表输入输出信号分配如表4-2
10、所示。所示。表表4-2 输入输出信号分配表输入输出信号分配表 任务实施任务实施2)可编程控制器的外部接线图如图)可编程控制器的外部接线图如图4-4所示所示(a)PLC控制交通灯的控制回路图控制交通灯的控制回路图 任务实施任务实施2)可编程控制器的外部接线图如图)可编程控制器的外部接线图如图4-4所示所示(b)PLC控制交通灯的主回路图控制交通灯的主回路图 图图4-4 PLC控制交通灯的接线图控制交通灯的接线图 3)程序设计的梯形图如图)程序设计的梯形图如图4-9所示所示 任务实施任务实施图图4-9 PLC控制的交通灯梯形图控制的交通灯梯形图l 程序讲解程序讲解 使用子程序调用指令设计程序时,交
11、通灯的逻辑控制部分并没有发生变化,使用子程序调用指令设计程序时,交通灯的逻辑控制部分并没有发生变化,变化的只是将共用部分变化的只是将共用部分“振荡程序振荡程序”作为子程序。使用子程序调用指令设计程作为子程序。使用子程序调用指令设计程序时,注意两点:序时,注意两点:1)子程序可以反复被调用。)子程序可以反复被调用。2)子程序调用完后,要立即停止调用。)子程序调用完后,要立即停止调用。任务实施任务实施l 指令格式指令格式 该指令的指令名称、助记符、功能号、操作数及程序步长如表该指令的指令名称、助记符、功能号、操作数及程序步长如表4-5所示。所示。表表4-5 循环右移指令表循环右移指令表 知识拓展知
12、识拓展1循环右移指令循环右移指令ROR(FNC30)l 指令说明指令说明 循环右移指令功能说明如图循环右移指令功能说明如图4-10所示。当所示。当X0=ON时,时,D内的各位数据向右内的各位数据向右移移n位,最后一次从最低位移出的状态存于进位标志位,最后一次从最低位移出的状态存于进位标志M8022中。中。循环右移指令中的循环右移指令中的D可以是可以是16位数据寄存器,也可以是位数据寄存器,也可以是32位数据寄存器。位数据寄存器。ROR(P)为脉冲型指令,)为脉冲型指令,ROR为连续型指令,其循环移位操作每个周期执为连续型指令,其循环移位操作每个周期执行一次。行一次。知识拓展知识拓展图图4-10
13、 循环右移指令功能说明循环右移指令功能说明 指令执行过程如图指令执行过程如图4-11所示。所示。知识拓展知识拓展图图4-11 指令执行示意图指令执行示意图 若在目标元件中指定若在目标元件中指定“位位”数,则只能用数,则只能用K4(16位指令)和位指令)和K8(32位指令)位指令)表示。例如图表示。例如图4-12所示。所示。知识拓展知识拓展图图4-12 使用组合元件功能说明使用组合元件功能说明l 指令格式指令格式 该指令的指令名称、助记符、功能号、操作数及程序步长如表该指令的指令名称、助记符、功能号、操作数及程序步长如表4-6所示。所示。表表4-6 循环左移指令表循环左移指令表 知识拓展知识拓展
14、2循环左移指令循环左移指令ROL(FNC31)l 指令说明指令说明 循环左移指令功能说明如图循环左移指令功能说明如图4-13所示。当所示。当X0=ON时,时,D内的各位数据向左移内的各位数据向左移n位,最后一次从最高位移出的状态存于进位标志位,最后一次从最高位移出的状态存于进位标志M8022中。中。循环左移指令中的循环左移指令中的D可以是可以是16位数据寄存器,也可以是位数据寄存器,也可以是32位数据寄存器。位数据寄存器。ROL(P)为脉冲型指令,)为脉冲型指令,ROL为连续型指令,其循环移位操作每个周期执行为连续型指令,其循环移位操作每个周期执行一次。一次。若在目标元件中指定若在目标元件中指
15、定“位位”数,则只能用数,则只能用K4(16位指令)和位指令)和K8(32位指令)位指令)表示。表示。知识拓展知识拓展图图4-13 循环左移指令功能说明循环左移指令功能说明l 指令格式指令格式 该指令的指令名称、助记符、功能号、操作数及程序步长如表该指令的指令名称、助记符、功能号、操作数及程序步长如表4-7所示。所示。表表4-7 解码指令表解码指令表 知识拓展知识拓展3解码指令解码指令DECO(FNC41)l 指令说明指令说明 1)当当D是指定位元件时,以源是指定位元件时,以源S为首地址的为首地址的n位连续的位元件所表示的十位连续的位元件所表示的十进制码值为进制码值为Q,DECO指令把以指令把
16、以D为首地址目标元件的第为首地址目标元件的第Q位(不含目标元件位位(不含目标元件位本身)置本身)置1,其他位置,其他位置0。功能说明如图。功能说明如图4-14所示。源数据所示。源数据Q=20+21=3,因此从,因此从M10开始的第开始的第3位位M13为为1。当源数据。当源数据Q=0,则第,则第0位(位(M10)为)为1。若若n=0时,程序不执行;时,程序不执行;n=08以外时,出现运算错误。若以外时,出现运算错误。若n=8时,时,D的位的位数为数为28=256。驱动输入。驱动输入X4=OFF时,不执行指令,上一次解码输出置时,不执行指令,上一次解码输出置1的位保持的位保持不变。不变。若指令是连
17、续执行型,则在各个扫描周期都执行,要注意这一点。若指令是连续执行型,则在各个扫描周期都执行,要注意这一点。知识拓展知识拓展l 指令说明指令说明 2)当当D是字位元件时,以源是字位元件时,以源S所指定字元件的低所指定字元件的低n位所表示的十进制码值位所表示的十进制码值为为Q,DECO指令把以指令把以D 所指定字元件的第所指定字元件的第Q位(不含最低位)置位(不含最低位)置1,其他位置,其他位置0。功能说明如图功能说明如图4-14所示。源数据所示。源数据Q=20+21=3,因此(,因此(D1)的第)的第3位为位为1。当源数。当源数据为据为0时,第时,第0位为位为1。若若n=0时,程序不执行;时,程
18、序不执行;n=04以外时,出现运算错误。若以外时,出现运算错误。若n=4时,时,D的位的位数为数为24=16。驱动输入。驱动输入X4=OFF时,不执行指令,上一次解码输出置时,不执行指令,上一次解码输出置1的位保持的位保持不变。不变。知识拓展知识拓展图图4-14 解码指令功能说明解码指令功能说明l 指令说明指令说明 PLS:操作元件在信号的上升沿输出一个脉冲,脉冲持续时间一个扫描周期。:操作元件在信号的上升沿输出一个脉冲,脉冲持续时间一个扫描周期。PLF:操作元件在信号的下降沿输出一个脉冲,脉冲持续时间一个扫描周期。:操作元件在信号的下降沿输出一个脉冲,脉冲持续时间一个扫描周期。PLS/PLF
19、指令的使用如图指令的使用如图4-15所示。所示。知识拓展知识拓展4脉冲输出指令脉冲输出指令PLS、PLF (a)梯形图梯形图 (b)时序图时序图图图4-15 PLS/PLF指令的用法指令的用法l 指令格式指令格式 PLS、PLF指令助记符及功能如表指令助记符及功能如表4-8所示。所示。表表4-8 PLS、PLF指令助记符及功能表指令助记符及功能表 知识拓展知识拓展 现有现有8只(只(L1L8)霓虹灯管接于)霓虹灯管接于K2Y0,要求当,要求当X0=ON时,霓虹灯时,霓虹灯L1L8以以正序每隔正序每隔1秒轮流点亮,当秒轮流点亮,当Y7亮后,停亮后,停5秒;然后,反向逆序每隔秒;然后,反向逆序每隔
20、1秒轮流点亮,秒轮流点亮,当当Y0再亮后,停再亮后,停5秒,重复上述过程。当秒,重复上述过程。当X1=ON时,霓虹灯停止工作。控制梯形时,霓虹灯停止工作。控制梯形图如图图如图4-16所示。所示。知识拓展知识拓展5霓虹灯顺序控制霓虹灯顺序控制图图4-16 霓虹灯移位控制梯形图霓虹灯移位控制梯形图 用用PLC驱动广告牌边框饰灯,该广告牌有驱动广告牌边框饰灯,该广告牌有16个边框饰灯个边框饰灯L1L16接于接于K4Y0,当广告牌开始工作时,饰灯每隔当广告牌开始工作时,饰灯每隔0.1S从从L1到到L16依次正序轮流点亮,重复进行;依次正序轮流点亮,重复进行;循环两周后,又从循环两周后,又从L16到到L
21、1依次反序每隔依次反序每隔0.1S轮流点亮,重复进行;循环两周后,轮流点亮,重复进行;循环两周后,再按正序轮流点亮,重复上述过程。再按正序轮流点亮,重复上述过程。当按停止按钮时,停止工作。当按停止按钮时,停止工作。(1)程序设计的梯形图如图)程序设计的梯形图如图4-17所示所示 知识拓展知识拓展6广告牌边框饰灯的控制广告牌边框饰灯的控制图图4-17 广告牌边框饰灯控制的梯形图广告牌边框饰灯控制的梯形图 当当X0为为ON时,先置正序初值(使时,先置正序初值(使Y0为为ON),然后执行子程序调用程序,进),然后执行子程序调用程序,进入子程序入子程序1,执行循环左移指令,输出继,执行循环左移指令,输
22、出继电器依次每隔电器依次每隔01S正序左移一位,左移正序左移一位,左移一周结束,即一周结束,即Y17为为ON时,时,C0计数一次,计数一次,重新左移;当重新左移;当C0计数两次后,停止左循计数两次后,停止左循环,返回主程序。环,返回主程序。再置反序初值(再置反序初值(Y17为为ON),然后),然后进入子程序进入子程序2,执行循环右移指令,输出,执行循环右移指令,输出继电器依次每隔继电器依次每隔0.1S反序右移一位,右反序右移一位,右移一周结束,即移一周结束,即Y0为为ON时,时,C1计数一计数一次,重新右移;当次,重新右移;当C1计数两次后,停止计数两次后,停止右循环,返回主程序。同时使右循环,返回主程序。同时使M0重新为重新为ON,进入子程序,进入子程序1,重复上述过程。,重复上述过程。当当X1为为ON时,使输出继电器全为时,使输出继电器全为OFF,计数器复位,饰灯全部熄灭。,计数器复位,饰灯全部熄灭。l PLC控制的接线图见图控制的接线图见图4-18 知识拓展知识拓展 图图4-18 PLC控制的接线图控制的接线图完