您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 学西门子S7-300-PLC教案3
87例二时钟脉冲发生器使用定时器实现自由设定时钟脉冲发生器功能(脉冲占空系数1:1)。存储字节MB101和MB100的单个位获得的频率:MB101/MB100频率(Hz)持续时间(S)M101.02.00.5M101.11.01M101.20.52M101.30.254M101.40.1258M101.50.062516M101.60.0312532M101.70.01562564M100.00.007812512888M100.10.0039062256M100.20.0019531512M100.30.00097651024M100.40.00048822048M100.50.00024414096M100.60.0001228192M100.70.00006116384存储字节MB101各位的信号状态:扫描周期存储字节MB101各位的信号状态76543210时间值(MS)000000000250100000001250200000010250300000011250400000100250500000101250600000110250700000111250800001000250900001001250100000101025011000010112501200001100250M101.1的信号状态:练习:当按启动按钮时,L1灯以0.5s的周期闪烁,L2灯以1s的周期闪烁,L3灯以2s的周期闪烁,L4灯以4s的周期闪烁,按下停止按钮,所有灯熄灭。参考答案:894.3.4字逻辑运算指令字逻辑指令将两个字(16位)或双字(32位)逐位进行逻辑运算.每个字或双字都必须分别存放在2个累加器中.操作的结果被存放在累加器1中,原有的内容被覆盖.1.字逻辑语句表指令指令说明90AW两个字逐位进行与逻辑运算OW两个字逐位进行或逻辑运算XOW两个字逐位进行异或逻辑运算AD两个双字逐位进行与逻辑运算OD两个双字逐位进行或逻辑运算XOD两个双字逐位进行异或逻辑运算2.字逻辑方块指令例一加热炉操作员按启动按钮开始加热如下所示的加热炉.操作员能够使用如图所示的拨码开关设定加热时间.操作员设定的值以BCD格式用秒单位显示.加热系统的元件和相应的绝对地址系统元件绝对地址启动按钮I0.7个位数拨码开关I1.0~I1.3十位数拨码开关I1.4~I1.7百位数拨码开关I0.0~I0.3开始加热Q4.091梯形图程序:4.3.5移位和循环移位指令移位指令将累加器1低字中或整个累加器1的内容左移或右移.移动的次数在累加器2中或直接在指令中以常数给出.累加器1移位后空出的位,填以0或符号位(0代表正,1代表负),被移动的最后一位保存在状态字中的CC1里,CC0和OV被复位为0.循环移位指令与一般移位指令的差别:循环移位指令的空位填以从累加器中移出的位.1.无符号数移位指令指令说明SLW将累加器1低字中的内容逐位左移,空出位填以0SRW将累加器1低字中的内容逐位右移,空出位填以0SLD将累加器1整个内容逐位左移,空出位填以0SRD将累加器1整个内容逐位右移,空出位填以02.有符号数移位指令指令说明SSI将累加器1低字中的内容逐位右移,空出位填以符号位(正填920,负填1)SSD将累加器1整个内容逐位右移,空出位填以符号位(正填0,负填1)3.循环移位指令指令说明RLD将累加器1整个内容逐位左移,空出位填以从累加器1移出的位RRD将累加器1整个内容逐位右移,空出位填以从累加器1移出的位RLDA将累加器1整个内容带CC1位逐位左移一位,空出位填以从CC1移出的位RRDA将累加器1整个内容带CC1位逐位右移一位,空出位填以从CC1移出的位4.移位和循环方块指令使用移位指令将输入IN中的数向左或右逐位移动,将输入IN中的内容左移相当于完成乘2加权,将输入IN中的内容右移相当于完成除以2加权的运算.例一彩灯控制93当按下启动按钮时,彩灯L1、L2同时亮;过1s后,L1熄灭,L2保持亮;过1s后,L1、L2同时灭;过1s后,L1亮,L2保持灭;再过1s后,L1、L2又同时亮,如此循环闪烁,直到按下停止按钮,彩灯工作终止。例二双缸顺序动作回路A1B1B0A09495练习一:霓虹灯广告屏控制器的设计用PLC对霓虹灯广告屏实现控制,其具体要求如下:该广告屏中间8个灯管亮灭的时序为第1根亮→第2根亮→第3根亮→…→第8根亮,时间间隔为1s,全亮后,显示10s,再反过来从8→7→…→1顺序熄灭。全灭后,停亮2s,再从第8根灯管开始亮起,顺序点亮7→6→…→1,时间间隔为1s,显示20s,再从→2→…→8顺序熄灭。全熄灭后,停亮2s,再从头开始运行,周而复始。参巧梯形图程序:969798练习二:十字路口的交通指挥信号灯布置如下图:一、控制要求(1)信号灯系统由一个启动开关控制,当启动开关接通时,该信号灯系统开始工作,当启动开关关断时,所有信号灯都熄灭。(2)南北绿灯和东西绿灯不能同时亮。如果同时亮应关闭信号灯系统,并立刻报警。(3)南北红灯亮维持25s。在南北红灯亮的同时东西绿灯也亮,并维持20s。到20s时,东西绿灯闪亮,闪亮3s后熄灭,此时,东西黄灯亮,并维持2s。到2s时,东西黄灯熄灭,东西红灯亮。同时,南北红灯熄灭,南北绿灯亮。99(4)东西红灯亮维持30s。南北绿灯亮维持25s,然后闪亮3s后熄灭。同时南北黄灯亮,维持2s后熄灭,这时南北红灯亮,东西绿灯亮。(5)以上南北、东西信号灯周而复始地交替工作状态,指挥着十字路口的交通,其时序如下所示。二、PLC接线三、梯形图程序100101练习(1):编制智力竞赛抢答器控制程序K0为开始/复位控制开关(断开为复位,闭合为开始),L0为抢答开始指示,K1,K2,K3,K4,K5,K6为六组抢答按钮,L1,L2,L3,L4,L5,L6为六组抢答指示。K7,K8,K9分别为时间控制开关。KA为手控时间到按钮。L7为抢答时间到指示。当K7,K8,K9全为断开时为手控时间控制(此时由人工记时间到时按下KA),当开关K7,K8,K9处于其它不同状态时,对应于抢答设定时间分别为5S,10S,15S,20S,25S,30S,35S。当K0处于复位状态时,如有某个按钮最先按下,该组的指示灯就“闪亮”,表示该组违例(其他组被锁定)。当K0处于开始状态时,如有某个按钮最先按下,该组的指示灯就“常亮”,表示该组抢答有效(其他组被锁定)。如在设定时间到未有人抢答,则L7灯亮,各组抢答按钮被锁定,直到开关K0复位。练习(2):依次按8次按钮I0.1时,8盏指示灯依次亮,再依次按8次按钮I0.1时,8盏指示灯依次灭,按I0.0开始新的循环操作,任何时候按I0.2时所有的灯灭。102练习(3):按下开关I0.0,L1、L2、L3、L4依次亮灭,周而复始,时间间隔为1S(即L1亮1S后灭,接着L2亮,如此循环)。103104练习(4):试编写用PLC控制三个霓虹灯闪烁的程序。工作要求如下:(1)首先A灯亮;(2)1S后A灯灭,B灯亮;(3)再过1S后B灯灭,C灯亮;(4)再过1S后C灯灭;(5)再过1S后,A、B、C三灯全亮;(6)再过1S后,A、B、C三灯全灭;(7)再过1S后,A、B、C三灯全亮;(8)再过1S后,A、B、C三灯全灭。然后(1)~(8)步重复循环。要求用一个开关控制,当它闭合接通时霓虹灯工作,断开时停止工作。1051064.3.6打开数据块指令例如:4.4控制指令1074.4.1逻辑控制指令逻辑控诉指令是指逻辑块内的跳转和循环指令,这些指令中止程序原有的线性逻辑流,跳到另一处执行程序。跳转或循环指令的操作数是地址标号,该地址标号指出程序要跳往何处,标号最多为4个字符,第一个字符必须是字母,其余字符可为字母或数字。与它相同的标号还必须写在程序跳转的目的地前,称为目标地址标号。在一个逻辑块内,目标地址标号不能重名。在语句表中,目标标号与目标指令用冒号分隔。在梯形图中目标标号必须在一个网络的开始。由于STEP7的跳转指令只能在逻辑块内跳转,所以,在不同逻辑块中的目标标号可以重名。1.无条件跳转指令指令说明JU无条件跳转JL跳转表格无条件跳转指令(JU)无条件中断正常的程序逻辑流,使程序跳转到目标处继续执行。跳转表格指令(JL)实质上是多路分支跳转语句,它必须与无条件跳转指令一起使用。多路分支的路径参数存放于累加器1中。例:累加器中的值为2,则程序执行时跳到sub2,这时Q0.2灯亮。2.条件跳转指令指令说明JC当RLO=1时跳转JCN当RLO=0时跳转JCB当RLO=1且BR=1时跳转,指令执行时将RLO保存在BR中JNB当RLO=0且BR=0时跳转,指令执行时将RLO保存108在BR中JBI当BR=1时跳转,指令执行时,OR、FC清0,STA置1JNBI当BR=0时跳转,指令执行时,OR、FC清0,STA置1JO当OV=1时跳转JOS当OS=1时跳转,指令执行时,OS清0JZ累加器1中的计算结果为0跳转JN累加器1中的计算结果为非0跳转JP累加器1中的计算结果为正跳转JM累加器1中的计算结果为负跳转JMZ累加器1中的计算结果小于等于0跳转JPZ累加器1中的计算结果大于等于0跳转JUO实数溢出跳转3.循环指令使用循环指令(LOOP)可以多次重复执行特定的程序段,重复执行的次数存在累加器1中,即以累加器1为循环计数器。LOOP指令执行时,将累加器1低字中的值减1,如果不为0,则回到循环体开始处继续循环过程,否则执行LOOP指令后面的指令。循环体是指循环标号和LOOP指令间的程序段。由于循环次数不能是负数,所以程序应保证循环计数器中的数为正整数(数值范围:0~32767)或字型数据(数值范围:W#16#0000~W#16#FFFF)4.梯形图逻辑控制指令指令说明地址-(JMP)用于无条件跳转或以RLO=1为跳转条件。无条件跳转时不影响状态字,条件跳转时,清OR、FC;置位STA,RLO地址-(JMPN)当RLO=0时跳转,清OR、FC;置位STA、RLO在S7中,没有根据算术运算结果直接转移的梯形逻辑指令。但通过使用反映字各位状态的常开常闭触点,并使用前面两条跳转指令,即可实现根据运算结果的跳转功能。状态位常开常闭触点:109例:4.4.2程序控制指令程序控制指令是指功能块(FB、FC、SFB、SFC)调用指令和逻辑块(OB、FB、FC)结束指令。调用块或结束块可以是有条件的或无条件的。STEP7中的功能块实质上就是子程序。1.STL程序控制指令指令说明CALL该指令在程序中无条件执行,调用FB,FC,SFB,SFCUC该指令在程序中无条件调用功能块(一般是FC或SFC),但不能传递参数CCRLO=1,调用功能块(一般是FC),但不能传递参数BEU该指令无条件结束当前块的扫描,将控制返还给调用块BECRLO=1,结束当前块的扫描,将控制返还给调用块,若RLO=0,则将RLO置1,程序继续在当前块内扫描CALL指令可以调用用户编写的功能块或操作系统提供的功能块,CALL指令的操作数是功能块类型及其编号,当调用的功能块是FB块时还要110提供相应的背景数据块DB,使用CALL指令可以为被调用功能块中的形参赋以实际参数,调用时应保证实参与形参的数据类型一致。例如:CALLFB40,DB41//调用FB40,并指明背景数据块为DB41IN1:=I1.0//将实参I1.0分配给形参IN1IN2:=MW2//将实参MW2分配给形参IN2OUT1:=MD20//给形参OUT1分配给实参MD20LMD20//调用结束后,FB40的运行结果在MD20中.UC和CC指令用于不需传递参数的场合,如:CCFC12//当RLO=1时调用FC12UCFC12//不管RLO结果,调用FC122.梯形图程序控制指令梯形图调用块有两种方式:一是用线圈驱动指令调用功能块,这种方式相当于STL指令UC和CC,不能实现参数传递;二是用方块指令调用功能块,相当于STL指令CALL,可以传递参数。4.4.3主控继电器指令主控继电器是一种美国梯形图逻辑主控开关,用来控制信
本文标题:学西门子S7-300-PLC教案3
链接地址:https://www.777doc.com/doc-4690132 .html