第5章S7200指令系统.ppt

上传人:本田雅阁 文档编号:2606262 上传时间:2019-04-16 格式:PPT 页数:178 大小:4.28MB
返回 下载 相关 举报
第5章S7200指令系统.ppt_第1页
第1页 / 共178页
第5章S7200指令系统.ppt_第2页
第2页 / 共178页
第5章S7200指令系统.ppt_第3页
第3页 / 共178页
亲,该文档总共178页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第5章S7200指令系统.ppt》由会员分享,可在线阅读,更多相关《第5章S7200指令系统.ppt(178页珍藏版)》请在三一文库上搜索。

1、南阳理工学院,电子与电气工程系 电气教研室,电,气,控,制,与,P,L,C,应,用,技,术,电气控制与PLC应用技术,可编程序控制器原理,(第5-9章),第5章 S7-200指令系统,5.1 STEP-7 编程基础 5.2 指令及其结构 5.3 位逻辑指令 5.4 定时器与计数器指令 5.5 数据处理功能指令 5.6 数据运算指令 5.7 控制指令 思考与练习题,教学目的 掌握位逻辑指令的应用 掌握定时器和计数器指令的应用 教学重点 掌握位逻辑指令的应用 掌握定时器和计数器指令的应用 教学难点 定时器和计数器指令,第5章 S7-300指令系统,5.1 STEP 7 编程基础,指令组成:操作码

2、+ 操作数 操作码定义要执行的功能; 操作数为执行该操作所需要的信息,由标识符和参 数组成; 有些语句指令不带操作数,它们操作的对象是唯 一的;,5.2 指令及其结构,5.2.1 指令的组成,1. 语句指令,语句指令: 操作码 操作数,A I0.1 /对输入继电器 I0.1 进行与操作,L MW10 /将字MW10装入累加器1,定义要执行的功能,执行该操作所需要的信息,NOT /对逻辑操作结果(RLO)取反,5.2.1 指令的组成,1. 语句指令,例如: Q 4.0 ( ) 该指令中:( )可认为是操作码,表示一个二进制赋值 操作。Q 4.0是操作数,表示赋值的对象。,5.2.1 指令的组成,

3、2.梯形逻辑指令,梯形逻辑指令用图形元素表示PLC要完成操作 其操作码是用图素表示的,该图素形象表明CPU做什么 其操作数的表示方法与语句指令相同,操作数: 标识符 标识参数,A I 0.1,L M W 10,表示操作数在该存储区域内的具体位置,主标识符:表示操作数所在的存储区 主要有:I(输入映像区),Q(输出映像区),M(位存储区),PI(外部输入),PQ(外部输出),T(定时器),C(计数器),DB(数据块),L(本地数据)等,辅助标识符进一步说明操作数的位数长度 包括有:X(位),B(字节),W(字2字节),D(双字4字节),表示操作数存放区域及操作数位数(位、字节、字等),5.2.2

4、 操作数,1.操作数的组成,5.2.2 操作数,2. 操作数的表示,两种表示方法: 物理地址(绝对地址)表示法,要明确指出操作数的所在存储区,该操作数的位数具体位置。例如:Q 4.0。,符号名先定义后使用,不能重名。定义符号时,需指明操作数所在的存储区、位数、具体位置及数据类型。,符号地址表示法,位逻辑指令处理两个数字,“1”和“0”。这两个数字“1”和“0”称为二进制数字或二进制位。在接点与线圈领域,“1”表示动作或通电,“0”表示未动作或未通电。 位逻辑指令扫描信号状态1和0,并根据布尔逻辑对它们进行组合。这些组合产生结果1或0,称为“逻辑运算结果(RLO)”。,5.3 位逻辑指令,位逻辑

5、运算指令 位操作指令 位测试指令,位逻辑指令主要包括:,位逻辑运算指令是 “与”(AND) “或”(OR) “异或”(XOR)指令 组合,5.3.1 位逻辑运算指令,1. “与”和“与非”(A,AN)指令,用语句表指令完全表示为:,LD I0.0 A Q 4.1 AN M10.1 Q4.0,( ),I0.0 Q4.1 M10.1 Q4.0,5.3.1 位逻辑运算指令,2. “或”和“或非”(O,ON)指令,LD I1.1 ON M2.0 O Q4.0 Q4.1,5.3.1 位逻辑运算指令,用语句表指令完全表示为:,3. “异或”和“异或非”(X,XN)指令,LDN I0.0 A I0.1 LD

6、 I0.0 AN I0.1 OLD = Q4.0,5.3.1 位逻辑运算指令,用语句表指令完全表示为:,5.3.1 位逻辑运算指令,4. 串并联组合表示法 当逻辑串是复杂组合时,CPU的扫描顺序是先“与”后“或”。,LDN I0.0 O I0.1 LD M0.1 ON M0.2 ALD A I0.3 = Q0.0,先并后串,梯形图,语句表,5.3.1 位逻辑运算指令,LDN I0.0 A M0.1 LD I0.1 AN M0.2 OLD A I0.3 Q0.0,先串后并,梯形图,语句表,【例】运动机械自动往复运动的PLC控制。,5.3.1 位逻辑运算指令举例,5.3.1 位逻辑运算指令举例,1

7、.按下启动按钮SB1后,电动机驱动工作台运动 2.如果工作台运动到极限位置时,由行程开关SQ1或SQ2检测并发出停止前进指令,同时自动发出返回指令。 3.只要不按停止按钮SB2,工作台将继续这种自动往复运动。 4.工作台驱动电动机通过热继电器做过载保护。,控制要求:,4.校验,解题过程:,逻辑串输出指令又称为赋值操作指令 该操作把状态字中RLO的值赋给指定的操作数(位地址) 一个RLO可被用来驱动几个输出元件 在LAD中,输出线圈是上下依次排列的 在STL中,这些输出具有相同的优先级,5.3.2 位操作指令,1. 输出指令,LD I0.0 A I0.1 ON I0.2 Q4.0 A I0.3

8、Q4.1,多重输出梯形图,用语句表指令完全表示为:,5.3.2 位操作指令,置位复位指令根据RLO的值,来决定被寻址位的信 号状态是否需要改变,2 . 置位复位指令,5.3.2 位操作指令,若RLO的值为1,被寻址位的信号状态被置1或清0,若RLO是0,则被寻址位的信号保持原状态不变,(b)置位指令操作,(a) 复位指令操作,5.3.2 位操作指令,2,RS触发器梯形图方块指令中标有一个置位输入(S)端,一个 复位输入(R)端,输出端标为Q。,3. RS触发器,5.3.2 位操作指令,触发器可以用在逻辑串最右端,结束一个逻辑串,也可用在 逻辑串中,影响右边的逻辑操作结果。,RS触发器分为置位优

9、先和复位优先型两种,置位优先型RS触发器的R端在S端之上,当两个输入端都为1时,下面的置位输入最终有效,既置位输入优先,如图,LD I0.1 LD I0.2 NOT A M0.0 OLD = M0.0 = Q4.0,置位优先型RS触发器,5.3.2 位操作指令,根据I0.1和I0.2的时序图画出Q0.0的时序图。,【例】,时序图,抢答器有三个输入,分别为I0.0、I0.1和I0.2,输出分别为Q4.0、Q4.1和Q4.2,复位输入是I0.4。要求:三人中任意抢答,谁先按按钮,谁的指示灯优先亮,且只能亮一盏灯,进行下一问题时主持人按复位按钮,抢答重新开始。,5.3.2 位操作指令举例,【例】抢答

10、器的设计,4.校验,解题过程:,4. 对RLO的直接操作指令 这一类指令直接对RLO进行操作,改变状态字中RLO位的状态。,5.3.2 位操作指令,当信号状态变化时就产生跳变沿 从0变到1时,产生一个上升沿(或正跳沿),5.3.3 位测试指令,从1变到0时,产生一个下降沿(或负跳沿),两类跳变沿检测指令,一是对RLO的跳变沿检测的指令,另 一种是对触点跳变沿直接检测的梯形图方块指令,RLO正跳沿检测,5.3.3 位测试指令,【例】设计一个闪烁电路,按动按钮I0.0,使灯泡 亮,再按动按钮,灯泡灭;重复。,5.3.3 位测试指令举例,负跳沿(下降沿)检测指令,5.3.3 位测试指令,触点负跳沿检

11、测,5.3.3 位测试指令,地址上升沿检测指令示例,5.3.3 位测试指令,【例】若故障信号I0.0为1,使Q4.0控制的指示灯以1Hz的 频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失, 则指示灯熄灭,若没有消失,指示灯转为常亮,直至故障消失。,5.3.3 位测试指令举例,1. 传送带控制 在传送带的起终点各有两个按钮开关:用于START的S1和S3;S2和S4用于STOP。可以从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停机。,5.3.4 位逻辑指令编程举例,MOTOR_ON,用于传送带系统符号编程的元素,I/O分配表,控制传送带程序,2. 风机

12、监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以0.5 Hz的频率闪烁;如果没有任何风机动,则指示灯以2 Hz的频率闪烁。当设备不运行时,指示灯不亮。,5.3.4 位逻辑指令编程举例,图4.17 风机监控程序,注:输入位I0.0,I0.1,I0.2分别为风机1,2,3的反馈输入端。,M9.3 为2 Hz频率CPU中的时钟信号;M9.7为0.5 Hz频率信号。,风机监控程序,5.4 定时器与计数器指令,5.4.1 定时器指令,脉冲定时器(SP) 扩展定时器(SE) 接通延时定时器(SD) 带保持的接通延时定时器(SS)

13、断电延时定时器(SF)。,S7-300/400提供的定时器有:,定时器的组成 定时器是一种由位和字组成的复合单元,定时器的触点由位表示,其定时时间值存储在字存储器中。 在CPU的存储器中留出了定时器区域,用于存储定时器的定时时间值。每个定时器为2 B,称为定时器字。 在S7-300中,最多允许使用256个定时器。 定时时间等于时基与定时值的乘积。 采用减计时,定时时间到后会引起定时器触点的动作。,5.4.1 定时器指令,定时器的第0位到第11位存放二进制格式的定时值,第12、13位存放二进制格式的时基。,定时器字的表示方法,图4.18 累加器1低字的内容(定时值127,时基l s),11,12

14、,13,5.4.1 定时器指令,4.18,0,15,0,1,0,0,0,0,1,0,0,1,0,0,1,1,1,8,7,0,7,2,1,时间值: 0 . . . 999,不用,定时器时基,5.4.1 定时器指令,设置定时时间的方法,其中,a:小时,bb:分钟,cc:秒,ddd:毫秒,时基是自动选择的,原则是能满足定时范围要求的最小时基。,其中,w为时基,取值为0,1,2或3,分别表示时基为10 ms,l00 ms,1 s或10 s;xyz为定时值,取值范围为1999。,使用S5中的时间表示法装入定时数值 L S5T#aH_bbM_ccS_dddMS,直接装入定时数值 L W#16#wxyz,5

15、.4.1 定时器指令,-(SP)指令是产生指定时间宽度脉冲的定时器。,1、脉冲定时器 -(SP),1、脉冲定时器 -(SP),1、脉冲定时器 -(SP),上图程序对应的时序图如图所示,1、脉冲定时器 -(SP),T1接点控制Q0.0线圈,因此T1接点的状态与Q0.0的状态一致,脉冲定时器每次起动的条件是逻辑位有正跳沿发生,定时器 启动计时,T1接点开始输出高电平“1”。,-(SP)指令计时的过程中,逻辑位的状态若变为“0”,则定时 器停止计时,且输出为“0”。,脉冲定时器输出的高电平的宽度小于或等于所定义的时间值。,1、脉冲定时器 -(SP),脉冲定时器的方框指令,1、脉冲定时器 -(SP),

16、可从MW10和MW12中以不同的格式读出定时器计时T1剩余的时间,1、脉冲定时器 -(SP),上图所示的程序对应的时序图,【例】用脉冲定时器设计一个周期振荡电路,振 荡周期为5s,占空比为2:3。,1、脉冲定时器 -(SP),-(SE)指令与-(SP)指令相似,但-(SE)指令具有保持功能。,2、扩展脉冲定时器 -(SE),2、扩展脉冲定时器 -(SE),2、扩展脉冲定时器 -(SE),上图所示的程序对应的时序图,一旦逻辑位(即I0.0的状态)有正跳沿发生,定时器T0启动,同时输出高电平“1”。,2、扩展脉冲定时器 -(SE),定时时间到后,输出将自动变成低电平“0”。,如果定时时间尚未到达,

17、逻辑位的状态就由“1”变为“0”,这时定时器仍然继续运行,直到计时完成。这一点是-(SE)指令与-(SP)指令的不同之处。,2、扩展脉冲定时器 -(SE),扩展脉冲定时器的方框指令,定时器应用举例:,使用-(SP)或-(SE)指令构成脉冲发生器:使用脉冲定时器如图所示的程序可产生周期性变化的脉冲信号。,上图中的程序对应的时序图如图所示,定时器应用举例:,程序又可写成如图所示的程序,定时器应用举例:,【例】设计频率监视器,其特点是频率低于下限,则 指示灯Q4.0亮,“确认”按钮I0.1使指示灯复位。监控 频率为0.5Hz,由M10.0提供。,定时器应用举例:,3、开通延时定时器-(SD),开通延

18、时定时器指令-(SD),相当于继电器控制系统 中的通电延时时间继电器。,如图所示的程序:,3、开通延时定时器-(SD),上图所示的程序对应的时序图如图所示,3、开通延时定时器-(SD),-(SD)对应的方框如表所示,3、开通延时定时器-(SD),定时器扩展,定时器应用举例:,在S7-300中,单个定时器的最大计时范围是999(2H_46M_30S),如果超过这个范围,可以采用两个或多个定时器级连的方法来扩展计时范围。 设计一个要求延时时间为5个小时的控制任务。,使用-(SD)指令产生周期性变化的脉冲信号:,定时器应用举例:,上图所示的程序对应的时序图如图所示,定时器应用举例:,【例】用接通延时

19、定时器设计一个周期振荡电路, 振荡周期为18s,占空比为1:2。,定时器应用举例:,定时器应用举例:,使用 -(SD)指令还可以用二分频电路产生一个方波。程序如图所示,时序图如图所示,定时器应用举例:,4、保持型开通延时定时器-(SS),保持型开通延时-(SS)与开通延时定时器-(SD)类似,但-(SS)指令有保持功能。,4、保持型开通延时定时器-(SS),上图中的程序对应的时序图如图所示,4、保持型开通延时定时器-(SS),保持型开通延时定时器的方框指令,4、保持型开通延时定时器-(SS),5、关断延时定时器-(SF),关断延时定时器-(SF)相当于继电器控制系统中的断电延时时间继电器。也是

20、定时器指令中唯一的一个由下降沿启动的定时器指令。,如图所示的程序,5、关断延时定时器-(SF),上图中的程序对应的时序图如图所示,5、关断延时定时器-(SF),关断延时计时器的方框指令如下表所示,5、关断延时定时器-(SF),5种定时器的选择原则,5.4.2 计数器指令,计数器置初值指令(SC) 加法计数器线圈(CU) 减法计数器线圈(CD),S7中的计数器用于:对RLO正跳沿计数。 计数器是由表示当前计数值的字及状态的位组成。 S7中有三种计数器:,计数器组成 在CPU中保留一块存储区作为计数器计数值存储区,每个计数器占用两个字节,计数器字中的第011位表示计数值(二进制格式),计数范围是0

21、999。,5.4.2 计数器指令,1计数器置初值指令(SC),当逻辑位RLO有正跳沿时,计数器置初值线圈将预置值装入指定计数器中。若RLO位的状态没有正跳沿发生,则计数器的值保持不变。,2加法计数器线圈,当逻辑位RLO有正跳沿时,加法计数器线圈使指定计数 器的值加1, 如果RLO位的状态没有正跳沿发生,或者计数器数值已经 达到最大值999,则计数器的值保持不变。,3减法计数器线圈,当逻辑位RLO有正跳沿时,减法计数器线圈使指定计数器 的值减1 如果RLO位的状态没有正跳沿发生,或者计数器数值已经 达到最小值0,则计数器的值保持不变。,计数器指令的使用举例,如图所示,当I0.0的状态由“0”变为

22、“1”时,(SC)指令将数值23装入计数器C0中,当I0.1的状态由“0”变为“1”时,计数器C0的值将减1,当I0.2的状态由“0”变为“1”时,计数器C0的值将加1。计数器的位状态与计数器值的关系如表所示,计数器指令的使用举例,如图所示,若I0.3的状态为“1”,则计数器C0所计的数值立刻变为零,由于(R)指令是高电平执行,因此若I0.3的状态保持“1”,则计数器C0始终处于清零状态而无法正常使用。用户在使用指令时,应注意指令的执行方式。,计数器指令的使用举例,4可逆计数器S_CUD,前面例子中两图所示的程序可以由下图所示的程序代替,4可逆计数器S_CUD,可逆计数器方框指令可以完成计数器

23、的加(CU)、减(CD)计数和置初值(S、PV)以及计数器值清零(R)等功能.,4可逆计数器S_CUD,可以看到,,还可以将计数器当前值以不同的格式输出,整数格式(CV)和BCD格式(CV_BCD).,计数器的状态可以Q端输出,也可以由计数器的触点输出.,计数器指令的加、减计数输入端以及预置值输入端均为上升沿执行,指令才会执行。,4可逆计数器S_CUD,使用计数器时应该注意下面几点问题,计数器预置的初始值及PV端的数据格式为BCD码二十进制格式,否则执行程序时,CPU将会出错。,计数器触点的状态由计数器的值决定,如果计数值等于零,则计数器触点的状态为低电平“0”,如果计数值不等于零(无论等于几

24、),则计数器触点的状态为高电平“1”。,1. 脉冲发生器 用定时器构成一个脉冲发生器,使其产生如图所示的脉冲时序,脉冲信号的周期为3 s,脉冲宽度为1 s,应用举例,脉冲发生器程序,2. 频率监测器 频率监测器用于监测脉冲信号的频率,若其低于下限,则指示灯亮,“确认”按键能使指示灯复位。为此,使用了一个扩展脉冲定时器,即每当频率信号有一个上升沿就启动一次定时器。如果超过了定时时间没有启动定时器,则表明两个脉冲之间的时间间隔太长,即频率太低了。,应用举例,频率监测器时序,频率监测梯形图程序,I0.0用于关闭监测器 I0.1用于确认频率低 Q4.0用以控制指示灯 T1的定时时间为2 s 即设置脉冲

25、信M10.0 的频率监测下限为0.5 Hz。,应用举例:交通信号灯的控制,交通信号灯模型如图所示,控制要求如下: 自动开关合上之后,东西绿灯亮8秒灭,黄灯亮3秒之后灭,红灯亮10秒后闪2秒然后绿灯亮循环 对应东西绿黄灯亮时,南北红灯亮9秒后闪2秒,接着绿灯亮9秒后闪秒灭,黄灯亮3秒,红灯又亮循环 当断开自动开关时,交通信号灯立刻停止工作,交通信号灯的控制要求,根据控制要求画出交通信号灯的时序图如图所示,交通信号灯的控制,系统分析 1PLC硬件配置:控制系统中的硬件配置如下,交通信号灯的控制,2分析控制要求进行输入输出点分配,并根据分配画出外部接线图。,交通信号灯的控制,输入输出模块接线如图所示

26、,交通信号灯的控制,3程序设计 设计提示:可先采用SE指令,产生周期为23秒,占空 比为11:12的矩形波。再将其分割成所需要的矩形波。,交通信号灯的控制,5.5 数据处理功能指令,装入(L)和传送(T)指令可以在存储区之间或存储区与过程输 入、输出之间交换数据。,5.5.1 装入和传送指令,CPU执行这些指令不受逻辑操作结果RLO的影响。,L指令将源操作数装入累加器1中,而累加器原有的数据移入 累加器2中,累加器2中原有的内容被覆盖。,T指令将累加器1中的内容写入目的存储区中,累加器的内容 保持不变。,L 5 L MW 10 L IBDID 8 T MW 20 T MWAR1,P#10.0,

27、对累加器1的装入和传送指令,/将立即数5装入累加器1中,/将MW10中的值装入累加器1中,/将由数据双字DID8指出的输入字节装入累加器1中,/将累加器1中的内容传送给存储字MW20,/将累加器1中的内容传送给由地址寄存器1加偏 /移量确定的存储字中,5.5.1 装入和传送指令,L STW /将状态字中08位装入累加器1中,累加器 93l位被清0 T STW /将累加器1中的内容传送到状态字中,5.5.1 装入和传送指令,2. 读取或传送状态字,L T1 /将定时器T1中二进制格式的时间值直接装入累加器1的低字中 LC T1 /将定时器T1的时间值和时基以BCD码装入累加器1的低字中 L C1

28、 /将计数器C1中二进制格式的计数值直接装入累加器1的低字中 LC C1 /将计数器C l中的计数值以BCD码格式装入累加器1的低字中,3. 装入时间值或计数值,5.5.1 装入和传送指令,5.5.1 装入和传送指令,4. 地址寄存器装入和传送,对于地址寄存器,可以不经过累加器1而直接将操作数装入或送,或将两个地址寄存器的内容直接交换。,5.5.1 装入和传送指令,5. 梯形图方块传送指令,A I0.0 JNB _0001 L MW10 T DBW12 SET /使RLO为1 SAVE /使BR为1 CLR _0001: A BR Q4.0,5.5.1 装入和传送指令,如图所示程序,5.5.1

29、 装入和传送指令,在S7-300中,单个计数器的最大计数值是999,如果要求大于999的计数,就要进行扩展。结合应用传送指令和比较指令,将两个计数器级连,最大计数值可达9992,n个计数器级连,最大计数值可达999 n。,【例】计数器扩展,应用举例,两个计数器级连扩展的程序,用计数器和定时器进行级连,可以使计时范围几乎可以无限地进行扩展。 假定T1的延时时间为2H,C0的计数值为999,则C1动作一次的时间为99921998 小时(约83天)。如果再考虑计数器C1与C0进行级连,设C1的计数值为900,则C1动作一次需要83900=74700天,约204年。,【例】定时器扩展,应用举例,2个计

30、数器和1个定时器进行级连,能够实现的转换操作有: * BCD码和整数及长整数间的转换 (BTI, ITB, ITD, BTD, DTB, DTR ) * 实数和长整数间的转换(RND, TRUNC, RND+, RND- ) * 数的取反、取负等(INVI, INVD, NEGI, NEGD, NEGR ),5.5.2 转换指令,转换指令首先将源数据按照规定的格式读入累加器,然后 在累加器中对数据进行类型转换,最后再将转换的结果传 送到目的地址。,1. BCD和整数间的转换,表4.16 BCD和整数间的转换,2. 实数和长整数间的转换,3. 数的取反、取负,【例】如果输入I0.1为1,则将MD

31、0的内容以7位BCD码的格式(如果格式非法,则显示系统错误)装入累加器1,并将其转换为长整数,存放到MD10,如果转换不执行,则输出Q4.0为1。,应用举例,1. 比较指令,表4.19 比 较 指 令,5.5.3 比较指令,图4.33 装有计数器和比较器的仓库区,应用实例,传送带1将包裹运送至临时仓库区。 传送带1靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。 传送带2将临时库区中的包裹运送至装货场,在这里货物由卡车运送至顾客。 传送带2靠近库区一端安装的光电传感器确定已有多少包裹从库区运送至装货场。 含5个指示灯的显示盘表示临时仓库区的占用程度。,应用实例,两台传送带的系统,在

32、两台传送带之间有一个仓库区:,4.校验,解题过程:,【例】用比较和计数指令编写开关灯程序,要求灯控 按钮I0.0按下一次,灯Q4.0亮,按下两次,灯Q4.0,Q4.1 全亮,按下三次灯全灭,如此循环。,应用实例,移位指令将输入IN中的内容向左或向右逐位移动 移动次数由输入值N提供的数值确定 移位后空出的位填以0或符号位(0代表正,1代表负) 被移动的最后一位保存在状态字中的CCl里 CC0和OV被复位为0 可使用条件跳转指令对CCl进行判断。 循环移位指令的空位填以从IN中移出的位。,5.5.4 移位和循环移位指令,1无符号数移位指令,表4.20 无符号数移位指令,输入IN左移5位,1无符号数

33、移位指令,2. 有符号数移位指令,输入IN带符号右移4位,2. 有符号数移位指令,3. 循环移位指令,输入IN循环左移3位,3. 循环移位指令,【例】 走马灯的实现。 要求:运用循环移位指令实现8个彩灯的循环左移和右移。 其中I0.0为起停开关,MD20为设定的初始值,MW12为移位 位数,输出为Q0.0Q0.7。,3. 循环移位指令举例,解题过程:,5.5.5 累加器操作和地址寄存器指令,表4.23 累加器操作指令,1. 累加器操作指令,CAW、CAD指令执行时累加器1的变化,5.5.5 累加器操作和地址寄存器指令,2地址寄存器指令,5.5.5 累加器操作和地址寄存器指令,在使用地址寄存器加

34、指令时,应保证累加器l或指针常数的正确格式。下面的例子说 明了把累加器1的内容加至地址寄存器指令的用法。在加之前应先为累加器1装入一个指针常数。 L P#250.7 /装载指针常数(250.7)至累加器1 +ARl /把250.7加至地址寄存器1 +AR2 /把250.7加至地址寄存器2,5.5.5 累加器操作和地址寄存器指令,3. 数据块指令,5.5.5 累加器操作和地址寄存器指令,4. 显示和空操作指令,表4.26 显示和空操作指令,5.5.5 累加器操作和地址寄存器指令,5.6 数据运算指令,可以对整数、长整数和实数进行加、减、乘、除算术运算. 算术运算指令在累加器1和2中进行,累加器2

35、中的值作为被减 数或被除数. 算术运算的结果保存在累加器1中,累加器1中原有的值被运算结果覆盖. 算术运算指令对状态字的CCl和CC0,OV,OS位将产生影响.可以用位操作指令或条件跳转指令对状态字中的标志位进行判断操作.,5.6.1 算术运算指令,【例】求输入双字ID10的内容与常数32相除的余数,结 果保存到MD20中。,1. 基本算数运算指令(实数运算),5.6.2 字逻辑运算指令,对于LAD和FBD形式的字逻辑运算指令,由参数IN1和IN2 提供参与运算的两个数据,运算结果保存在由OUT指定 的存储区中。,字逻辑运算指令可对两个16位(WORD)或32位(DWORD) 的二进制数据,逐

36、位进行逻辑与、逻辑或、逻 辑异或运算。,对于STL形式的字逻辑运算指令,可对累加器1和累加器 2中的字或双字数据进行逻辑运算,结果保存在累加器1中, 若不为0,则对状态标志位CC1置“1”,否则对CC1置“0”。,1. 运用算术运算指令完成下面的方程式运算: MW4(IW 0DBW 3)15)/MW 0,数据运算指令应用举例,2. 用位逻辑运算指令实现对信号的跳变沿检测 对输入位I12.0I13.7进行跳变沿检测,并将正跳沿的检测结果存入存储位M14.0M15.7的对应位中(1表示有跳变,0表示无跳变),负跳沿的结果存入M16.0M17.7中。为此,在检测正跳沿时,使用存储位M10.0M11.

37、7存储对应输入位在前一个扫描周期时的状态;在检测负跳沿时用M12.0M13.7。相应的语句表程序如下:,数据运算指令应用举例,网络1:正跳沿检测 L MW10 /将输入位的上一个周期状态装入累加器1低字中 L IW12 /将输入位的当前状态装入累加器1低字中,上一个周期状态 被移入累加器 2 T MW10 /保存当前状态,供下一个扫描周期使用 XOW /异或运算后,当前状态与以前不同的位在累加器1低字中被置为1 L IW12 /重新装入当前状态,累加器 1原内容移入累加器2 AW /与运算后,当前状态为0的位被清0(负跳变被屏蔽) T MW14 /将正跳变检测结果送入MW 14,数据运算指令应

38、用举例,网络2:负跳沿检测 L MW12 /将输入位的上一个周期状态写入累加器1低字中 L IW12 /将输入位的当前状态装入累加器l低字中,上一个周期状 态被移入累加器2 T MW12 /保存当前状态,供下一个扫描周期使用 XOW /异或运算后,当前状态与以前不同的位在累加器1低字中 被置为1 L IW12 /重新装入当前状态,累加器1原内容移入累加器2 INVI /将当前状态取反 AW /与运算后,当前状态为1的位(上条指令中已被取反)被清 0(正跳变被屏蔽) T MW16 /将负跳变检测结果送入MW 16,数据运算指令应用举例,【例】压力计算公式为P =(10000 N)/ 27648

39、(kPa) 运算时一定要先乘后除。假设A/D转换后,AIW中的数据 转换为双整数,存放在MD6中,以kPa为单位的运算结果 在MW10中。,数据运算指令应用举例,数字指令综合应用,【例】物品分选系统设计。,传送带的主动轮由一台交流电动机M拖动,该电动机的通断 由接触器KM控制,从动轮上装有脉冲发生器LS,每传送一 个物品,LS发出一个脉冲,作为物品发送的检测信号,次 品检测在传送带的0号位进行,由光电检测装置PH1检测, 当次品在传送带上继续往前走,到4号位置时应使电磁铁 YV通电,电磁铁向前推,次品落下,当光电开关PH2检测 到次品落下时,给出信号,让电磁铁YV断电,电磁铁缩回, 正品则到第

40、9号位置时装入箱中,光电开关PH3为正品装箱 计数检测用。,数字指令综合应用,原理与控制说明:,解题过程:,控制指令可控制程序的执行顺序,使得CPU能根据不同的情况执行不同的程序。控制指令有4类: 逻辑控制指令 梯形图逻辑控制指令 程序控制指令 主控继电器指令,5.7 控制指令,5.7.1 逻辑控制指令,逻辑控制指令是指逻辑块内的跳转和循环指令,这些指令可以中断原有的线性程序扫描,并跳转到目标地址处重新执行线性程序扫描。目标地址由跳转指令后面的标号指定,该地址标号指出程序要跳往何处,可向前跳转,也可以向后跳转,最大跳转距离为-32768或32767字。 无条件跳转指令 多分支跳转指令 条件跳转

41、指令 循环指令,1. 无条件跳转指令,无条件跳转指令JU执行时,将直接中断当前的线性程序扫描,并跳转到由指令后面的标号所指定的目标地址处重新执行线性程序扫描。,使用跳转指令控制程序流,1. 无条件跳转指令,【例】 IW8与MW12的异或结果如果为0,将M4.0复位,非 0则将M4.0置位。,1. 无条件跳转指令,2. 多分支跳转指令,如果累加器1低字中低字节的内容小于JL指令和由JL指令所指定的标号之间的JU指令的数量,JL指令就会跳转到其中一条JU处执行,并由JU指令进一步跳转到目标地址;,如果跳转的目的地的数量太大,则JL指令跳转到目的地列表中最后一个JU指令之后的第一个指令。,如果累加器

42、1低字中低字节的内容为1,则直接执行JL指令下面的第二条JU指令;,如果累加器1低字中低字节的内容为0,则直接执行JL指令下面的第一条JU指令;,多分支跳转指令JL的指令格式如下: JL ,【例】多分支跳转指令的使用。,2. 多分支跳转指令,条件跳转指令控制程序流程,3. 条件跳转指令,【例】条件跳转指令的使用。 程序示例如图所示。当I0.0与I0.1同时为“1”时,则跳转到 L2处执行;否则,到L1处执行(顺序执行)。,3. 条件跳转指令,4. 循环指令,循环指令的格式如下: LOOP ,使用循环指令(LOOP)可以多次重复执行特定的程序, 由累加器1确定重复执行的次数,即以累加器1的低字为

43、 循环计数器。,LOOP指令执行时,将累加器1低字中的值减1,如果不为 0,则继续循环过程,否则执行LOOP指令后面的指令。,循环体是指循环标号和LOOP指令间的程序段。,使用LOOP指令,4. 循环指令,梯形逻辑控制指令只有两条,可用于无条件跳转或条件跳转控制。由于无条件跳转时 对应STL指令JU,因此不影响状态字;由于在梯形图中目的标号只能在梯形网络的开始处,因此条件跳转指令会影响到状态字。,5.7.2. 梯形图逻辑控制指令,无条件跳转,条件跳转,程序控制指令是指功能块(FB、FC、SFB、SFC)调用指令和逻辑块(OB、FB、FC)结束指令。调用块或结束块可以是有条件的或是无条件的。ST

44、EP 7中的功能块实质上就是子程序。 1. STL程序控制指令,5.7.3 程序控制指令,2. 梯形图程序控制指令,5.7.3 程序控制指令,主控继电器(MCR)是一种美国梯形图逻辑主控开关,用来控制信号流(电流路径)的通断。如图所示:,主控继电器,5.7.4 主控继电器指令,STEP 7中与主控继电器相关的指令,5.7.4 主控继电器指令,.位逻辑指令的编程是PLC应用领域中最具有代表性的应用,是所有其它指 令应用的基础,可以在大多数场合下完成对开关量的控制。 .数据装入与传送指令用于在各个存储区之间交换数据及存储区与过程输入输出模板之间交换数据。CPU在每次扫描中无条件执行数据装入与传送指

45、令,而不受RLO的影响。 .运算指令、移位指令和转换指令的使用,大大增强了PLC的数据处理能力。 .控制指令用于优化控制程序结构,便于编写结构化控制程序,减少程序执行时间。 .系统模块是S7操作系统的组成部分,是集成在CPU中的功能程序库,用户可以根据需要,调用相应的系统功能模块,赋以有意义的参数,提高编程水平和编程效率。,本章小结,S7-300系列PLC如何直接寻址? 什么是间接寻址? 如何使用? 采用间接寻址方式设计一段程序,将10个字节的数据从100 MB开始的存储单元转移到从200 MB开始的存储单元。 试设计一个3 h 40 min的长延时电路程序。 编写一段程序计算sin 120cos 10的值。 4. 试设计一个照明灯的控制程序。当按下接在I0.0上的按钮后,接在Q4.0上的照明灯可发光30 s,如果在这段时间内又有人按下按钮,则时间间隔从头开始。这样可确保在最后一次按完按钮后,灯光可维持30 s照明。,作业和思考题,5. 试设计一个抢答器电路程序。出题人提出问题,3个答题人按动按钮,仅仅是最早按的人面前的信号灯亮。然后出题人按动复位按钮后,引出下一个问题。 6. 设计一个对锅炉鼓风机和引风机控制的梯形图程序。控制要求: (1) 开机时首先启动引风机,10 s后自动启动鼓风机; (2) 停止时立即关断鼓风机,20 s后自动关断引风机。,作业和思考题,本章结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1