可编程控制器程序设计语言.ppt

上传人:本田雅阁 文档编号:3198375 上传时间:2019-07-29 格式:PPT 页数:145 大小:1.25MB
返回 下载 相关 举报
可编程控制器程序设计语言.ppt_第1页
第1页 / 共145页
可编程控制器程序设计语言.ppt_第2页
第2页 / 共145页
可编程控制器程序设计语言.ppt_第3页
第3页 / 共145页
可编程控制器程序设计语言.ppt_第4页
第4页 / 共145页
可编程控制器程序设计语言.ppt_第5页
第5页 / 共145页
点击查看更多>>
资源描述

《可编程控制器程序设计语言.ppt》由会员分享,可在线阅读,更多相关《可编程控制器程序设计语言.ppt(145页珍藏版)》请在三一文库上搜索。

1、4.1 可编程控制器 程序设计语言,梯形图 语句表 顺序功能流程图 功能块图,第四章 S7-200系列PLC基本指令,1.梯形图(Ladder Diagram) 程序设计语言,LAD图形指令有3个基本形式: 触点 、线圈 、指令盒,(1)触点:,触点符号代表输入条件如外部开关,按钮及内部条件等。CPU运行扫描到触点符号时,到触点位指定的存储器位访问(即CPU对存储器的读操作)。该位数据(状态)为1时,表示“能流”能通过。计算机读操作的次数不受限制,用户程序中,常开触点,常闭触点可以使用无数次。,2.语句表(Statement List)程序设计语言,语句表程序设计语言是用布尔助记符来描述程序的

2、一种程序设计语言。 语句表程序设计语言具有下列特点,(1) 采用助记符来表示操作功能,具有容易记忆,便于掌握的特点; (2) 在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计; (3) 用编程软件可以将语句表与梯形图可以相互转换。,例如,图7-1中的梯形图转换为语句表程序如下: 网络1 LD I0.0 O Q0.0 AN T37 = Q0.0 TON T37, +50 网络2 LD I0.2 = Q0.1,图7-1 梯形图,3.顺序功能流程图(Sepuential Function Chart)程序设计,顺序功能流程图程序设计是近年来发展起来的。顺序功能流程图

3、的控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于程序的分工设计和检查调试。顺序功能流程图的主要元素是步、转移、转移条件和动作。如图7-2所示。,顺序功能流程图程序设计的特点是: (1)以功能为主线,条理清楚,便于对程序操作的理解和沟通; (2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间; (3)常用于系统的规模校大,程序关系较复杂的场合; (4)只有在活动步的命令和操作被执行,才对活动步后的转换进行扫描,因此,整个程序的扫描时间要大大缩短。,4.功能块图(Function Block Diagram)程序设计语言,功能块图程序设计语

4、言是采用逻辑门电路的编程语言,有数字电路基础的人很容易掌握。功能块图指令由输入、输出段及逻辑关系函数组成。流动。,图4-3 功能块图,4.2 基本位逻辑指令与应用,4.2.1 基本位操作指令介绍,位操作指令是PLC常用的基本指令,梯形图指令有触点和线圈两大类,触点又分常开触点和常闭触点两种形式;语句表指令有与、或以及输出等逻辑关系,位操作指令能够实现基本的位逻辑运算和控制。,1. 逻辑取(装载)及线圈驱动指令LD/LDN (1)指令功能 LD(load):常开触点逻辑运算的开始。对应梯形图则为在左侧母线或线路分支点处初始装载一个常开触点。 LDN(load not):常闭触点逻辑运算的开始(即

5、对操作数的状态取反),对应梯形图则为在左侧母线或线路分支点处初始装载一个常闭触点。 =(OUT):输出指令,对应梯形图则为线圈驱动。对同一元件只能使用一次。,指令格式如下图。 图7-4 梯形图 语句表 网络1 LD I0.0 /装载常开触点 = Q0.0 /输出线圈 网络2 LDN I0.0 /装载常闭触点 = M0.0 /输出线圈图 7-4 LD/LDN、OUT指令的使用,说明: 1) 触点代表CPU对存储器的读操作,常开触点和存储器的位状态一致,常闭触点和存储器的位状态相反。用户程序中同一触点可使用无数次。 如:存储器I0.0的状态为1,则对应的常开触点I0.0接通,表示能流可以通过;而对

6、应的常闭触点I0.0断开,表示能流不能通过。存储器I0.0的状态为0,则对应的常开触点I0.0断开,表示能流不能通过;而对应的常闭触点I0.0接通,表示能流可以通过。,2) 线圈代表CPU对存储器的写操作,若线圈左侧的逻辑运算结果为“1”,表示能流能够达到线圈,CPU将该线圈所对应的存储器的位置位为“1”,若线圈左侧的逻辑运算结果为“0”,表示能流不能够达到线圈,CPU将该线圈所对应的存储器的位写入“0”用户程序中,同一线圈只能使用一次。,(3)LD/LDN, = 指令使用说明: LD 、LDN 指令用于与输入公共母线(输入母线)相联的接点,也可与OLD、ALD指令配合使用于分支回路的开头。

7、“=” 指令用于Q、M(内部标志位存)、SM (特殊标志位存) 、T、C、V、S (顺序控制继电器) 。但不能用于输入映像寄存器I。输出端不带负载时,控制线圈应尽量使用M或其它,而不用Q。,“=”可以并联使用任意次,但不能串联。 如下图。 图-5,LD I0.0 = M0.0 = Q0.0,2. 触点串联指令A(And)、AN(And not) (1)指令功能 A(And):与操作,在梯形图中表示串联连接单个常开触点。 AN(And not):与非操作,在梯形图中表示串联连接单个常闭触点。,3. 触点并联指令:O(Or)/ON(Or not) (1)指令功能 O:或操作,在梯形图中表示并联连接

8、一个常开触点。 ON:或非操作,在梯形图中表示并联连接一个常闭触点。 (2)指令格式如图7-6所示,梯形图 语句表 网络1 LD I0.0 O I0.1 ON M0.0 = Q0.0 网络2 LDN Q0.0 A I0.2 O M0.1 AN I0.3 O M0.2 = M0. 1 图7-6,(3)O/ON指令使用说明: O/ON指令可作为并联一个触点指令,紧接在LD/LDN指令之后用,即对其前面的LD/LDN指令所规定的触点并联一个触点,可以连续使用。 若要将两个以上触点的串联回路与其它回路并联时,须采用OLD指令。 ON操作数:I、Q、M、SM、V、S、T、C。,4. 电路块的串联指令AL

9、D (1)指令功能 ALD:块“与”操作,用于串联连接多个并联电路组成的电路块。 (2)指令格式如图7-7所示,梯形图,LD I1.0 /装入常开触点 O I1.1 /或常开触点 LD I1.2 /装入常开触点 O I1.3 /或常开触点 ALD /块与操作 = Q0.0 /输出线圈,语句表,图7-7 ALD指令使用,(3)ALD指令使用说明: 并联电路块与前面电路串联连接时,使用ALD指令。分支的起点用LD/LDN指令,并联电路结束后使用ALD指令与前面电路串联。 可以顺次使用ALD指令串联多个并联电路块,支路数量没有限制。如图7-8所示。 ALD指令无操作数。,LD I0.0 ON I0.

10、3 LD I0.1 O I0.4 ALD LD I0.2 O I0.5 ALD = Q0.0,图7-8 ALD指令使用,5. 电路块的并联指令OLD (1)指令功能 OLD:块“或”操作,用于并联连接多个串联电路组成的电路块。 (2)指令格式如图7-9所示。,6. 逻辑堆栈的操作 S7-200系列采用模拟栈的结构,用于保存逻辑运算结果及断点的地址,称为逻辑堆栈。S7-200系列PLC中有一个9层的堆栈。 (1)指令的功能 堆栈操作指令用于处理线路的分支点。在编制控制程序时,经常遇到多个分支电路同时受一个或一组触点控制的情况如图7-10所示,若采用前述指令不容易编写程序,用堆栈操作指令则可方便的

11、将图7-10所示梯形图转换为语句表。,LPS(入栈)(Logic Push)指令:LPS指令把栈顶值复制后压入堆栈,栈中原来数据依次下移一层,栈底值压出丢失。 LRD(读栈)(Logic Read)指令:LRD指令把逻辑堆栈第二层的值复制到栈顶,2-9层数据不变,堆栈没有压入和弹出。但原栈顶的值丢失。 LPP(出栈)(Logic Pop)指令:LPP指令把堆栈弹出一级,原第二级的值变为新的栈顶值,原栈顶数据从栈内丢失。,LPS、LRD、LPP指令的操作过程如图7-10所示。,图7-10,7. 置位/复位指令 S/R (1)指令功能 置位指令S:使能输入有效后从起始位S-bit开始的N 个位置“

12、1”并保持。 复位指令R:使能输入有效后从起始位S-bit开始的N 个位清“0”并保持。 (2)指令格式如表7-1所示,用法如图7-11所示,(3)指令使用说明: 对同一元件(同一寄存器的位)可以多次使用S/R指令(与“=”指令不同)。 由于是扫描工作方式,当置位、复位指令同时有效时,写在后面的指令具有优先权。 操作数N为:VB, IB, QB, MB(内部标志位字节), SMB (特殊标志位字节),SB, LB, AC, 常量, *VD, *AC, *LD。取值范围为:0255。数据类型为:字节。 操作数S-bit为:I, Q, M, SM, T, C, V, S, L。 数据类型为:布尔。

13、 置位复位指令通常成对使用,也可以单独使用或与指令盒配合使用。,【例4-2】图7-12所示的置位、复位指令应用举例及时序分析。如图7-13所示。,(4)= 、S、 R 指令比较。如图4-14所示。,(c)时序图,8.脉冲生成指令 EU/ED,(1)指令功能,EU指令:在EU指令前的逻辑运算结果有一个上升沿时(由OFFON)产生一个宽度为一个扫描周期的脉冲,驱动后面的输出线圈。 ED指令:在ED指令前有一个下降沿时产生一个宽度为一个扫描周期的脉冲,驱动其后线圈。,(2)指令格式,脉冲生成指令 EU/ED (1)指令功能 EU指令:在EU指令前的逻辑运算结果有一个上升沿时(由OFFON)产生一个宽

14、度为一个扫描周期的脉冲,驱动后面的输出线圈。 ED指令:在ED指令前有一个下降沿时产生一个宽度为一个扫描周期的脉冲,驱动其后线圈。,(2)指令格式如表7-2,用法如图4-15,时序分析如图4-16所示。,EU.ED程序及运行结果分析如下: I0.0的上升沿,经触点(EU)产生一个扫描周期的时钟脉冲,驱动输出线圈M0.0导通一个扫描周期,M0.0的常开触点闭合一个扫描周期,使输出线圈Q0.0置位为1,并保持。 I0.1的下降沿,经触点(ED)产生一个扫描周期的时钟脉冲,驱动输出线圈M0.1导通一个扫描周期,M0.1的常开触点闭合一个扫描周期,使输出线圈Q0.0复位为0,并保持。,(3)指令使用说

15、明,EU、ED指令只在输入信号变化时有效,其输出信号的脉冲宽度为一个机器扫描周期。 对开机时就为接通状态的输入条件,EU指令不执行。 EU、ED指令无操作数。,4.2.2 基本位逻辑指令应用举例,图17 1. 起动、保持、停止电路,LD I0.0 O Q0.0 AN I0.1 = Q0.0,CPU224,I0.0,I0.1,1M,2M,L+,DC24V,1L,Q0.0,SB1,SB2,AC220V,KM,输入映像寄存器,起动,停止,.I0.0,I0.1,Q0.0,输出映像寄存器,LD I0.0 O Q0.0 AN I0.1 = Q0.0,CPU224,I0.0,I0.1,1M,2M,L+,DC

16、24V,1L,Q0.0,SB1,SB2,AC220V,KM,输入映像寄存器,起动,停止,I0.0,I0.1,Q0.0,输出映像寄存器,0,0,ON,ON,ON,ON,ON,1,OFF,图19,LD I0.0 O Q0.0 AN I0.1 = Q0.0,CPU224,I0.0,I0.1,1M,2M,L+,DC24V,1L,Q0.0,SB1,SB2,AC220V,KM,输入映像寄存器,起动,停止,I0.0,I0.1,Q0.0,输出映像寄存器,0,1,OFF,OFF,OFF,OFF,OFF,0,图20,2. 比较电路 如图7-22所示,该电路按预先设定的输出要求,根据对两个输入信号的比较,决定某一输

17、出。若I0.0、I0.1同时接通,Q0.0有输出;I0.0、I0.1均不接通,Q0.1有输出;若I0.0不接通。I0.1接通,则Q0.2有输出;若I0.0接通,I0.1不接通,则Q0.3有输出。,3. 微分脉冲电路 (1)上升沿微分脉冲电路 如图7-23所示。PLC是以循环扫描方式工作的,PLC第一次扫描时,输入I0.0由OFFON时,M0.0、M0.1线圈接通,Q0.0线圈接通。在第一个扫描周期中,在第一行的M0.1的常闭接点保持接通,因为扫描该行时,M0.1线圈的状态为断开。在一个扫描周期其状态只刷新一次。等到PLC第二次扫描时,M0.1的线圈为接通状态,其对应的M0.1常闭接点断开,M0

18、.0线圈断开,Q0.0线圈断开,所以Q0.0接通时间为一个扫描周期。,(2)下降沿微分脉冲电路 如图 7-24所示。PLC第一次扫描时,输入I0.0由ONOFF时,M0.0接通一个扫描周期,Q0.0输出一个脉冲。,4. 分频电路 用PLC可以实现对输入信号的任意分频。 图7-25是一个2分频电路。参见P67 将脉冲信号加到I0.0端,在第一个脉冲的上升沿到来时,M0.0产生一个扫描周期的单脉冲,使M0.0的常开触点闭合,由于Q0.0的常开触点断开,M0.1线圈断开,其常闭触点M0.1闭合,Q0.0的线圈接通并自保持;,第二个脉冲上升沿到来时,M0.0又产生一个扫描周期的单脉冲, M0.0的常开

19、触点又接通一个扫描周期,此时Q0.0的常开触点闭合,M0.1线圈通电,其常闭触点M0.1断开,Q0.0线圈断开; 直至第三个脉冲到来时,M0.0又产生一个扫描周期的单脉冲,使M0.0的常开触点闭合,由于Q0.0的常开触点断开,M0.1线圈断开,其常闭触点M0.1闭合,Q0.0的线圈又接通并自保持。 以后循环往复,不断重复上过程。由图7-25可见,输出信号Q0.0是输入信号I0.0的二分频。,LD I0.0 EU = M0.0 LD M0.0 A Q0.0 = M0.1 LD M0.0 O Q0.0 AN M0.1 = Q0.0 图4-25 分频电路,5. 抢答器程序设计 (1)控制任务: 有3

20、个抢答席和1个主持人席,每个抢答席上各有1个抢答按钮和一盏抢答指示灯。参赛者在允许抢答时,第一个按下抢答按钮的抢答席上的指示灯将会亮,且释放抢答按钮后,指示灯仍然亮;此后另外两个抢答席上即使在按各自的抢答按钮,其指示灯也不会亮。这样主持人就可以轻易的知道谁是第一个按下抢答器的。该题抢答结束后,主持人按下主持席上的复位按钮(常闭按钮),则指示灯熄灭,又可以进行下一题的抢答比赛。,工艺要求:本控制系统有4个按钮,其中3个常开S1、S2、S3,一个常闭S0。另外,作为控制对象有3盏灯H1、H2、H3。 (2)I/O分配表,I0.0 S0 /主持席上的复位按钮 (常闭) I0.1 S1 /抢答席1上的

21、抢答按钮 I0.2 S2 /抢答席2上的抢答按钮 I0.3 S3 /抢答席3上的抢答按钮 输出 Q0.1 H1 /抢答席1上的指示灯 Q0.2 H2 /抢答席2上的指示灯 Q0.0 H3 /抢答席3上的指示灯 图4-26 抢答器程序设计,(3)程序设计 抢答器的程序设计如图7-26所示。 本例的要点是: 如何实现抢答器指示灯的“自锁”功能,即当某一抢答席抢答成功后,即使释放其抢答按钮,其指示灯仍然亮,直至主持人进行复位才熄灭; 如何实现3个抢答席之间的“互锁”功能。,4.2.3编程注意事项及编程技巧,1.梯形图语言中的语法规定 (1)程序应按自上而下,从左至右的顺序编写。 (2)同一操作数的输

22、出线圈在一个程序中不能使用两次,不同操作数的输出线圈可以并行输出。 (3)线圈不能直接与左母线相连。如果需要,可以通过特殊内部标志位存储器SM0.0(该位始终为1)来连接,如图7-28所示。 (4)适当安排编程顺序,以减少程序的步数。,图4-27 输出线圈不能串联,(a)不正确 (b)正确 图4-28 线圈与母线的连接,1)串联多的支路应尽量放在上部,如图7-29所示。 图4-29 串联多的电路应放在上面,2)并联多的支路应靠近左母线,如图7-30所示。 (a)电路安排不当 (b)电路安排正确 图4-30 并联多的电路应靠近左侧母线,3)触点不能放在线圈的左边。 4)对复杂的电路,用ALD、O

23、LD等指令难以编程,可重复使用一些触点画出其等效电路,然后再进行编程,如图7-31所示。,(a) 复杂电路 (b) 等效电路 图4-31 复杂电路编程技巧,2. 设置中间单元 在梯形图中,若多个线圈都受某一触点串并联电路的控制,为了简化电路,在梯形图中可设置该电路控制的存储器的位,这类似于继电器电路中的中间继电器。,3. 尽量减少可编程控制器的输入信号和输出信号 如果几个输入器件触点的串并联电路总是作为一个整体出现,可以将他们作为可编程控制器的一个输入信号,只占可编程控制器的一个输入点。如果某器件的触点只用一次并且与PLC输出端的负载串联,不必将它们作为PLC的输入信号,可以将它们放在PLC外

24、部的输出回路,与外部负载串联。,4. 外部联锁电路的设立。 为了防止控制正反转的两个接触器同时动作造成三相电源短路,应在PLC外部设置硬件联锁电路。 5.外部负载的额定电压。 PLC的继电器输出模块和双向晶闸管输出模块一般只能驱动额定电压AC 220V的负载,交流接触器的线圈应选用220V的。,4.3 定时器指令,4.3 定时器指令 4.3.1 定时器指令介绍,S7-200系列PLC的定时器是对内部时钟累计时间增量计时的。每个定时器均有一个16位的当前值寄存器用以存放当前值(16位符号整数);一个16位的预置值寄存器用以存放时间的设定值;还有一位状态位,反应其触点的状态。,1. 工作方式,S7

25、-200系列PLC定时器按工作方式分三大类定时器。其指令格式如表7-3所示。,表4-3,2. 时基,按时基脉冲分,则有1ms、10ms、100ms 三种定时器。不同的时基标准,定时精度、定时范围和定时器刷新的方式不同 (1)定时精度和定时范围,定时器的工作原理是: 使能输入有效后,当前值PT对PLC内部的时基脉冲增1计数,当计数值大于或等于定时器的预置值后,状态位置1。,最小计时单位为时基脉冲的宽度,又为定时精度;从定时器输入有效,到状态位输出有效,经过的时间为定时时间,即:定时时间=预置值时基。当前值寄存器为16bit,最大计数值为32767,可见时基越大,定时时间越长,但精度越差。,表4-

26、4 定时器的类型,(2)1ms 10ms 100ms定时器的刷新方式不同 1ms定时器每隔1ms刷新一次与扫描周期和程序处理无关即采用中断刷新方式。因此当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致。 10ms 定时器则由系统在每个扫描周期开始自动刷新。由于每个扫描周期内只刷新一次,故而每次程序处理期间,其当前值为常数。 100ms定时器则在该定时器指令执行时刷新。下一条执行的指令,即可使用刷新后的结果,非常符合正常的思路,使用方便可靠。但应当注意,如果该定时器的指令不是每个周期都执行,定时器就不能及时刷新,可能导致出错。,3. 定时器指令工作原理,(1)

27、通电延时定时器(TON)指令工作原理 使能端(IN)输入有效时,定时器开始计时,当前值从0开始递增,大于或等于预置值(PT)时,定时器输出状态位置l,当前值的最大值为32767。 使能端无效时,定时器复位。,通电延时定时器工作原理分析 图-32 当I0.0接通时即使能端(IN)输入有效时,驱动T37开始计时,当前值从0开始递增,计时到设定值PT时,T37 状态位置1,其常开触点T37接通,驱动Q0.0输出,其后当前值仍增加,但不影响状态位。当前值的最大值为32767。 当I0.0分断时,使能端无效时,T37复位,当前值清0,状态位也清0,即回复原始状态。 若I0.0接通时间未到设定值就断开,T

28、37则立即复位,Q0.0不会有输出。见P74上,()有记忆通电延时型(TONR)。 输入端有效时,定时器开始递增计数,当前值大于或等于预置值(PT)时,输出状态位置l。输入端无效时,当前值保持(记忆),使能端(IN)再次接通有效时,在原记忆值的基础上递增计时。 注意:有记忆通电延时型(TONR)定时器采用线圈的复位指令(R)进行复位操作,当复位线圈有效时,定时器当前值清0,输出状态位置0。,有记忆通电延时型程序分析 图4-33 如T3,当输入IN为1时,定时器计时;当IN为0时,其当前值保持并不复位;下次IN再为1时,T3当前值从原保持值开始往上加,将当前值与设定值PT比较,当前值大于等于设定

29、值时,T3状态位置1,驱动Q0.0有输出,以后即使IN再为0,也不会使T3复位,要使T3复位,必须使用复位指令。,图4-33 TONR记忆型通电延时型定时器工作原理分析,(3)断电延时型(TOF)。 输入端有效(接通)时,定时器位变为l,当前值为O。当输入端IN由接通到断开时,定时器开始定时,当前值达到PT端的设定值时,定时器位变为O,常开触点断开,常闭触点闭合,停止计时。 如果输入断开的时间,小于预定时间,定时器仍保持接通。IN再接通时,定时器当前值仍设为0。断电延时定时器的应用程序及时序分析如图4-34所示。,图4-34所示 TOF断电延时定时器的工作原理,小结: 1).以上介绍的3种定时

30、器具有不同的功能。接通延时定时器(TON)用于单一间隔的定时;有记忆接通延时定时器(TONR)用于累计时间间隔的定时;断开延时定时器(TOF)用于故障事件发生后的时间延时。 2).TOF和TON 共享同一组定时器,不能重复使用。即不能把一个定时器同时用作TOF和TON。例如,不能既有TON T32,又有TOF T32。,4.3.2 定时器指令应用举例,1. 延时断开电路 如图7-35所示。I0.0一个输入信号,当I0.0接通时,Q0.0接通并保持,当I0.0断开后,经4s延时后,Q0.0断开。T37同时被复位。,2. 闪烁电路 图7-36中I0.0的常开触点接通后,T37的IN输入端为1状态,

31、T37开始定时。2S后定时时间到,T37的常开触点接通,使Q0.0变为ON,同时T38开始计时。3s后T38的定时时间到,它的常闭触点断开,使T37的IN输入端变为0状态,T37的常开触点断开,Q0.0变为OFF,同时使T38的IN输入端变为0状态,其常闭触点接通,T37又开始定时,以后Q0.0的线圈将这样周期性地“通电”和“断电”,直到I0.0变为OFF,Q0.0线圈“通电” 时间等于T38的设定值,“断电”时间等于T37的设定值。,图4-36 闪烁电路,4.4 计数器指令 4.4.1 计数器指令介绍,计数器利用输入脉冲上升沿累计脉冲个数。结构主要由一个16位的预置值寄存器、一个16位的当前

32、值寄存器和一位状态位组成。当前值寄存器用以累计脉冲个数,计数器当前值大于或等于预置值时,状态位置1。 S7-200系列PLC有三类计数器:CTU-加计数器, CTD-减计数,CTUD-加/减计数器。 1. 计数器指令格式如表7.5所示,指令使用说明 (1)梯形图指令中:CU为加计数脉冲输入端;CD为减计数脉冲输入端;R为加计数复位端;LD为减计数复位端;PV为预置值。 (2)Cxxx 为计数器的编号,范围为:C0C255 (3)PV预置值最大范围:32767; PV的数据类型:INT;PV操作数为: VW, T, C, IW, QW, MW, SMW, AC, AIW, K,2. 计数器工作原

33、理分析 (1)加计数器指令(CTU) 当R=0时,计数脉冲有效; 当脉冲输入CU端有上升沿输入时,计数器当前值加1。当计数器当前值大于或等于设定值(PV)时,该计数器的状态位C-bit置1,即其常开触点闭合。计数器仍计数,但不影响计数器的状态位。直至计数达到最大值(32767)。当R=1时,计数器复位,即当前值清零,状态位C-bit也清零。加计数器计数范围:032767。增计数器指令应用示例如图7-37所示。,增计数器指令应用示例如图4-49 当C20的计数输入端I0.2有上升沿输入时,C20计数值加1,当C20当前值等于或大于3时,C20计数器位为l。 复位输入端I0.3为1时,C20计数器

34、位为0,并且当前值被清零。,图4.37增计数器指令编程的应用示例,(2)减计数指令(CTD) 当复位LD有效时,LD=1,计数器把设定值(PV)装入当前值存储器,计数器状态位复位(置0)。 当LD=0,即计数脉冲有效时,开始计数,CD端每来一个输入脉冲上升沿,减计数的当前值从设定值开始递减计数,当前值等于0时,计数器状态位置位(置1),停止计数。,减计数器指令编程的应用示例如图4.38 减计数复位端I0.3为1时,C4计数器位为0,并把设定值4装入当前值寄存器中。 当I0.3端为0时,计数器计数有效; 当计数输入端I0.2有上升沿输入时,C4从4开始作递减计数,直至计数器当前值等于0时,停止计

35、数,同时C4计数器位被置1。,图4.38减计数器指令编程应用示例,(3) 加/减计数指令(CTUD) 当R=0时,计数脉冲有效; 当CU端(CD端)有上升沿输入时,计数器当前值加1(减1)。 当计数器当前值大于或等于设定值时,C-bit置1,即其常开触点闭合。 当R=1时,计数器复位,即当前值清零,C-bit也清零。 加减计数器计数范围:3276832767。,加减计数器指令应用示例如图4.39 当复位端I0.4为0时,计数器计数有效; 当C4的计数输入端(即加计数脉冲输入端) I0.2有上升沿输入时,计数器作递增计数; 当C4的另一个计数输入端(即减计数脉冲输入端)I0.3有上升沿输入时,计

36、数器作递减计数。当计数器当前值等于或大于设定值4时,C4计数器位为1。 当复位输人端I0.4为1时,C4当前值为0,C4位O。,图4.39 增减计数器指令应用示例,(4)注意事项: 1)在一个程序中,同一计数器号不要重复使用,更不可分配给几个不同类型的计数器。 2) 用复位指令R复位计数器时,计数器位被复位,并且当前值清零。 3)除了常数外,还可以用VW、IW、QW、MW、SW、SMW、AC等作为设定值。,4.4.2计数器指令综合示例,当C50的内容大于或等于4时,Q 0.0为“l”。 图7-40 LD I0.1 LD I0.2 LD I0.3 CTUD C50,4 LD C50 =Q0.0,

37、4.5 比较指令,比较指令是将两个操作数按指定的条件比较,操作数可以是整数,也可以是实数,在梯形图中用带参数和运算符的触点表示比较指令,比较条件成立时,触点就闭合,否则断开。 比较触点可以装入,也可以串、并联。比较指令为上、下限控制提供了极大的方便。 1.比较指令格式见表7-6,说明: “xx”表示比较运算符:= 等于 、 小于、大于、= 小于等于、= 大于等于、不等于。 “”表示操作数N1,N2的数据类型及范围: B(Byte):字节比较(无符号整数), I(INT)/ W(Word):整数比较,(有符号整数),如:AW= MW2 VW12,注意:LAD中用“I”,STL中用“W”。 DW(

38、Double Word):双字的比较(有符号整数), R(Real):实数的比较(有符号的双字浮点数,仅限于CPU214以上) N1,N2操作数的类型包括:I,Q,M,SM,V,S,L,AC,VD,LD,常数。,2. 指令应用举例 调整模拟调整电位器0,改变SMB28字节数值,当SMB28数值小于或等于50时,Q0.0输出,其状态指示灯打开;当SMB28数值小于或等于150时,Q0.1输出,状态指示灯打开。梯形图程序和语句表程序如图7-41所示。,图4-41,4.6 程序控制类指令,程序控制类指令用于程序运行状态的控制,主要包括系统控制、跳转、循环、子程序调用,顺序控制等指令。,4.6.1 E

39、ND、STOP、WDR指令,1. 结束指令 (1)END:条件结束指令 执行条件成立(左侧逻辑值为1)时结束主程序,返回主程序的第一条指令执行。在梯形图中该指令不连在左侧母线。END指令只能用于主程序,不能在子程序和中断程序中使用。END指令无操作数。指令格式如图4-42所示。,(2)MEND:无条件结束指令 结束主程序,返回主程序的第一条指令执行。在梯形图中无条件结束指令直连接左侧母线。用户必须以无条件结束指令,结束主程序。条件结束指令,用在无条件结束指令前结束主程序。在编程结束时一定要写上该指令,否则出错;在调试程序时,在程序的适当位置插入MEND指令可以实现程序的分段调试。指令格式如图7

40、-43,图4-43,必须指出MicroWin32 STEP-7编程软件,在主程序的结尾自动生成无条件结束指令(MEND)用户不得输入,否则编译出错。,2. 停止指令 STOP:停止指令,执行条件成立,停止执行用户程序,令CPU工作方式由RUN转到STOP。在中断程序中执行STOP指令,该中断立即终止,并且忽略所有挂起的中断,继续扫描程序的剩余部分,在本次扫描的最后,将CPU由RUN切换到STOP。指令格式如图4-44所示。,LD SM5.0 /SM5.0为检测到I/O错误时置1 STOP /强制转换至STOP(停止)模式 图4-44 STOP指令格式,注意:END/STOP指令的区别 图7-4

41、5 图中,当I0.0接通时,Q0.0有输出, 若I0.1接通,执行END指令,终止 用户程序,并返回主程序的起点, 这样,Q0.0仍保持接通,但下面 的程序不会执行。 若I0.0断开,接通I0.2,则Q0.1有 输出,若将I0.3接通,则执行STOP 指令,立即终止程序执行,Q0.0与 Q0.1均复位,CPU转为STOP方式。,3. 警戒时钟刷新指令WDR(又称看门狗定时器复位指令) 警戒时钟的定时时间为300毫秒,每次扫描它都被自动复位一次,正常工作时,如果扫描周期小于300毫秒,警戒时钟不起作用。 如果强烈的外部干扰使可编程控制器偏离正常的程序执行路线, 警戒时钟不再被周期性的复位,定时时

42、间到,可编程控制器将停止运行。 若程序扫描的时间超过300毫秒,为了防止在正常的情况下警戒时钟动作,可将警戒时钟刷新指令(WDR)插入到程序中适当的地方,使警戒时钟复位。这样,可以增加一次扫描时间。指令格式如图7-46所示。,LD M2.5 / M2.5接通时 WDR /重新触发WDR,允许扩展扫描时间 图4-46 WDR指令格式,WDR指令工作原理: 当使能输入有效时,警戒时钟复位。可以增加一次扫描时间。若使能输入无效,警戒时钟定时时间到,程序将终止当前指令的执行,重新启动,返回到第一条指令重新执行。 注意:如果使用循环指令阻止扫描完成或严重延迟扫描完成,下列程序只有在扫描循环完成后才能执行

43、: 通信(自由口方式除外), I/O更新(立即I/O除外),强制更新,SM更新,运行时间诊断,中断程序中的STOP 指令。 10毫秒和100毫秒计时器对于超过25秒的扫描不能正确地累计时间。,注意: 如果预计扫描时间将超过500毫秒,或者预计会发生大量中断活动,可能阻止返回主程序扫描超过500毫秒,应使用WDR指令,重新触发看门狗计时器。,4.6.2 循环、跳转指令,1. 循环指令 (1)指令格式 程序循环结构用于描述一段程序的重复循环执行。由 FOR和NEXT指令构成程序的循环体。FOR指令标记循环的开始,NEXT指令为循环体的结束指令。指令格式如图4-47所示,FOR INDX,INIT,

44、FINAL 当前值计数器 循环次数初始值 循环次数终止值 NEXT 图4-47 FOR/NEXT指令格式,在LAD中,FOR 指令为指令盒格式,EN为使能输入端。 INDX为当前值计数器,操作数为:VW,IW,QW,MW(内部标志位存储器字), SW, SMW,LW,T,C,AC。 INIT为循环次数初始值,操作数为:VW,IW,QW,MW,SW,SMW ,LW,T,C,AC,AIW,常数。 FINAL为循环计数终止值。操作数为:VW,IW,QW,MW,SW,SMW ,LW,T,C,AC,AIW,常数,工作原理:使能输入EN有效,循环体开始执行,执行到NEXT指令时返回,每执行一次循环体,当前

45、值计数器INDX增1,达到终止值FINAL时,循环结束。 使能输入无效时,循环体程序不执行。每次使能输入有效,指令自动将各参数复位。 FOR/NEXT指令必须成对使用,循环可以嵌套,最多为8层。 循环指令示例见图7-48.,图4-48,2. 跳转指令及标号 (1)指令格式 JMP:跳转指令,使能输入有效时,把程序的执行跳转到同一程序指定的标号(n)处执行。 LBL:指定跳转的目标标号。 操作数n:0255。 指令格式如图4-49所示。 图7-50 跳转指令示例,图4-49,如图4-50所示:图中当JMP条件满足(即I0.0为ON时)程序跳转执行LBL标号以后的指令,而在JMP和LBL之间的指令

46、一概不执行,在这个过程中,即使I0.1接通也不会有Q0.1输出。当JMP条件不满足时,则当I0.1接通时Q0.1有输出。 图4-50,4.6.3 子程序调用及子程序返回指令,1. 建立子程序 可采用下列一种方法建立子程序: (1). 从“编辑”菜单,选择插入(Insert)/ 子程序(Subroutine) (2). 从“指令树”,用鼠标右键单击“程序块”图标,并从弹出菜单选择插入(Insert)子程序(Subroutine),2. 子程序调用及子程序返回指令的指令格式 子程序有子程序调用和子程序返回两大类指令 ,子程序返回又分为条件返回和无条件返回。指令格式如图4-51所示:,图4-51,C

47、ALL SBR_0 CRET,CALL SBRn:子程序调用指令。在梯形图中为指令盒的形式。子程序的编号n从0开始,随着子程序个数的增加自动生成。操作数:n:063。 CRET:子程序条件返回指令,条件成立时结束该子程序,返回原调用处的指令 CALL的下一条指令。 RET:子程序无条件返回指令,子程序必须以本指令作结束。由编程软件自动生成。,第4章 作业,1. 填空 1)通电延时定时器(TON)的输入(IN) 时开始定时,当前值大于等于设定值时其定时器位变为 ,其常开触点 ,常闭触点 。 2)通电延时定时器(TON)的输入(IN)电路 时被复位,复位后其常开触点 ,常闭触点 ,当前值等于 。 3) 若加计数器的计数输入电路(CU) ,复位输入电路(R) ,计数器的当前值加1。当前值大于等于设定值(PV)时,其常开触点 ,常闭触点 。复位输入电路 时计数器被复位,复位后其常开触点 ,常闭触点 ,当前值为 。 4)输出指令(=)不能用于 映像寄存器。 5)SM 在首次扫描时为1,SM0.0一直为 。 6)外部的输入电路接通时,对应的输入映像寄存器为 状态,梯形图中对应的常开接点 ,常闭接点 。 7)若梯形图中输出Q

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

当前位置:首页 > 其他


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