《4.2 S7200PLC 的基本指令及编程方法.ppt》由会员分享,可在线阅读,更多相关《4.2 S7200PLC 的基本指令及编程方法.ppt(120页珍藏版)》请在三一办公上搜索。
1、1,第四章 S7-200 PLC的指令系统,2,4.2 S7-200PLC的基本指令及编程方法,1.基本逻辑指令 以位逻辑操作为主,数据类型是BOOL,有效数据区为:I、Q、M、SM、T、C、V、S、(1)标准触点指令,3,4.2 S7-200PLC的基本指令及编程方法,4,说明:1)触点代表CPU对存储器的读操作,常开触点和存储器的位状态一致,常闭触点和存储器的位状态相反。用户程序中同一触点可使用无数次。如:存储器I0.0的状态为1,则对应的常开触点I0.0接通,表示能流可以通过;而对应的常闭触点I0.0断开,表示能流不能通过。存储器I0.0的状态为0,则对应的常开触点I0.0断开,表示能流
2、不能通过;而对应的常闭触点I0.0接通,表示能流可以通过。2)线圈代表CPU对存储器的写操作,若线圈左侧的逻辑运算结果为“1”,表示能流能够达到线圈,CPU将该线圈所对应的存储器的位置位为“1”,若线圈左侧的逻辑运算结果为“0”,表示能流不能够达到线圈,CPU将该线圈所对应的存储器的位写入“0”用户程序中,同一线圈在程序中只能使用一次,若在不止一个程序段中出现,其状态以最后一次运算的结果为准。,4.2 S7-200PLC的基本指令及编程方法,5,4.2 S7-200PLC的基本指令及编程方法,网络1LD I0.0/装载常开触点A M0.0/与常开触点=Q0.0/输出线圈网络2LD Q0.0/装
3、载常开触点AN I0.1/与常闭触点=M0.0/输出线圈A T37/与常开触点=Q0.1/输出线圈,使用说明1:LD、LDN 指令用于与输入公共母线(输入母线)相联的接点,也可与OLD、ALD指令配合使用于分支回路的开头。“=”指令用于Q、M、SM、T、C、V、S。但不能用于输入映像寄存器I。输出端不带负载时,控制线圈应尽量使用M或其他,而不用Q。“=”可以并联使用任意次,但不能串联。同一个元器件在同一程序中只使用一次“”指令。否则可能会产生不希望的结果。,6,4.2 S7-200PLC的基本指令及编程方法,LD M0.0A T37AN T38=Q0.0,使用说明2:A、AN是单个触点串联连接
4、指令,可连续使用,如图所示。,若要串联多个接点组合回路时,必须使用ALD指令。如图所示。,LD I0.0LD I0.1O M0.0ALD=Q0.0,A、AN的操作数:I、Q、M、SM、T、C、V、S。,7,使用说明3:若按正确次序编程(即输入:“左重右轻、上重下轻”;输出:上轻下重),可以反复使用=指令。如图1所示。但若按图2所示的编程次序,就不能连续使用“=”指令。,LD Q0.0 AN I0.1=M0.0 A T37=Q0.1,LD Q0.0A I0.1LPSA T37=Q0.1LPP=M0.0,图1,图2,4.2 S7-200PLC的基本指令及编程方法,8,4.2 S7-200PLC的基
5、本指令及编程方法,O、ON指令格式,网络1LD I0.0O I0.1 ON M0.0=Q0.0,网络2LDN Q0.0A I0.2O M0.1AN I0.3O M0.2=M0.1,使用说明:O、ON指令可作为并联一个触点指令,紧接在LD/LDN指令之后用,即对其前面的LD/LDN指令所规定的触点并联一个触点,可以连续使用。若要并联连接两个以上触点的串联回路时,须采用OLD指令。ON操作数:I、Q、M、SM、V、S、T、C。,9,4.2 S7-200PLC的基本指令及编程方法,(2)输出指令,线圈:()线圈表示输出结果,通过输出接口电路来控制外部的指示灯、接触器等及内部的输出条件等。线圈左侧接点
6、组成的逻辑运算结果为1时,“能流”可以达到线圈,使线圈得电动作,CPU将线圈的位地址指定的存储器的位置位为1,逻辑运算结果为0,线圈不通电,存储器的位置0。即线圈代表CPU对存储器的写操作。PLC采用循环扫描的工作方式,所以在用户程序中,每个线圈只能使用一次。,10,4.2 S7-200PLC的基本指令及编程方法,(3)置位指令和复位指令,置位指令S:能流到,从起始位S-bit开始的N 个位置“1”并保持,置位后即使能流断,仍保持置位;复位指令R:能流到,从起始位S-bit开始的N 个位清“0”并保持,复位后即使能流断,仍保持复位;由于CPU的扫描工作方式,程序中写在后面的指令有优先权。置位或
7、复位的点数N可以是1-255。,图中N为3和1,11,4.2 S7-200PLC的基本指令及编程方法,网络1LD I0.0S Q0.0,1网络4LD I0.1R Q0.0,1,12,4.2 S7-200PLC的基本指令及编程方法,LD I0.0=Q0.0S Q0.1,1R Q0.2,2,13,4.2 S7-200PLC的基本指令及编程方法,2.立即I/O指令 立即I/O指令不受PLC循环扫描工作方式的约束,程序执行过程中梯形图中各输入继电器、输出继电器的状态不取自I/O映像寄存器,而采用直接处理方式即对输入、输出物理点进行直接存取,加快了输入输出响应速度。(1)立即触点指令“I”表示立即之意,
8、14,4.2 S7-200PLC的基本指令及编程方法,LDI(立即装载):把物理输入点的位(bit)值立即装入栈顶;AI(立即与):把物理输入点的位(bit)值“与”栈顶值,运算结果仍存入栈顶;OI(立即或):把物理输入点的位(bit)值“或”栈顶值,运算结果仍存入栈顶;LDNI、ANI、ONI:把物理输入点的位(bit)值取反后,再作相应的“装载”、“与”、“或”操作。,15,4.2 S7-200PLC的基本指令及编程方法,(2)立即输出指令,执行立即输出指令时,输出结果同时立即复制到物理输出点和相应的输出映像寄存器,而不是输出刷新时才传送到物理输出点;注意:立即I/O指令是直接访问物理输入
9、输出点,比一般指令访问输入输出映像寄存器占用CPU时间要长,因而不能盲目使用立即指令,否则会加长扫描周期的时间,反而对系统造成不利的影响。,16,4.2 S7-200PLC的基本指令及编程方法,(3)立即置位、复位指令,图5-13 立即置位、复位指令,LD I0.1SI Q2.0,2LD I0.2RI Q2.0,2,执行该指令时,输出结果同时立即复制到物理输出点和相应的输出映像寄存器,而不是输出刷新时才传送到物理输出点。,17,4.2 S7-200PLC的基本指令及编程方法,3.逻辑堆栈指令S7-200系列采用模拟栈的结构,用于保存逻辑运算结果及断点的地址,称为逻辑堆栈;逻辑堆栈指令只用于语句
10、表编程,用梯形图、功能表时,编辑器会自动插入相关的指令处理堆栈操作;S7-200有1个9位的堆栈,栈顶用来存储逻辑运算结果,下面的8位用来存储中间运算结果,堆栈中的数一般按“先进后出”的原则存储。堆栈操作指令用于处理线路的分支点。在编制控制程序时,经常遇到多个分支电路同时受一个或一组触点控制的情况,若采用前述指令不容易编写程序,用堆栈操作指令则可方便的将梯形图转换为语句表。,18,4.2 S7-200PLC的基本指令及编程方法,ALD:栈装载与,电路块串联连接OLD:栈装载或,电路块并联连接,LD I0.0A I0.1LD 1.0A I1.1OLDLD I2.0A I2.1OLD=Q6.0LD
11、 I3.1O I3.3LD 3.2O I3.4ALD=Q6.1,19,4.2 S7-200PLC的基本指令及编程方法,20,4.2 S7-200PLC的基本指令及编程方法,例1:已知语句表程序,试画出梯形图,21,4.2 S7-200PLC的基本指令及编程方法,例2:已知梯形图,试写出语句表程序。,LD I0.0O I0.1LD I0.2A I0.3LD I0.4AN I0.5OLDO I0.6ALDON I0.7=Q0.0,22,4.2 S7-200PLC的基本指令及编程方法,LPS(入栈)指令:LPS指令把栈顶值复制后压入堆栈,栈中原来数据依次下移一层,栈底值压出丢失。,23,4.2 S7
12、-200PLC的基本指令及编程方法,LRD(读栈)指令:LRD指令把逻辑堆栈第二层的值复制到栈顶,2-9层数据不变,堆栈没有压入和弹出,但原栈顶的值丢失。,24,4.2 S7-200PLC的基本指令及编程方法,LPP(出栈)指令:LPP指令把堆栈弹出一级,原第二级的值变为新的栈顶值,原栈顶数据从栈内丢失。,25,4.2 S7-200PLC的基本指令及编程方法,LDS n(装入堆栈)指令:复制堆栈中的第n级的值到栈顶。原堆栈各级栈值依次下压一级,栈底值丢失。,26,4.2 S7-200PLC的基本指令及编程方法,LD I0.0/装载常开触点LPS/压入堆栈LD I0.1/装载常开触点O I0.2
13、/或常开触点ALD/块与操作=Q0.0/输出线圈LRD/读栈LD I0.3/装载常开触点O I0.4/或常开触点ALD/块与操作=Q0.1/输出线圈LPP/出栈A I0.5/与常开触点=Q0.2/输出线圈,图5-17 堆栈指令的使用,27,4.2 S7-200PLC的基本指令及编程方法,指令使用说明:逻辑堆栈指令可以嵌套使用,最多为9层。为保证程序地址指针不发生错误,入栈指令LPS和 出栈指令LPP必须成对使用,最后一次读栈操作应使用出栈指令LPP。堆栈指令没有操作数。,28,4.2 S7-200PLC的基本指令及编程方法,4.取非触点指令和空操作指令(1)取非触点指令,取非触点指令将它左边电
14、路的逻辑运算结果取反,运算结果若为1则变为0,若为0则变为1;NOT指令将堆栈顶部的值从0变为1,从1变为0。,29,4.2 S7-200PLC的基本指令及编程方法,(2)空操作指令 NOP N 空操作指令不影响程序的执行,操作数N:0-255,例:,30,4.2 S7-200PLC的基本指令及编程方法,5.脉冲上沿指令EU(Edge Up)和下降沿指令ED(Edge Down),正跳变触点指令P(Positive Transition):触点的输入信号由0变为1时,触点接通一个扫描周期;负跳变触点指令N(Negative Transition):触点的输入信号由1变为0时,触点接通一个扫描周
15、期;,31,4.2 S7-200PLC的基本指令及编程方法,EU/ED指令的使用,网络1LD I0.0/装入常开触点EU/正跳变=M0.0/输出网络2LD M0.0/装入S Q0.0,1/输出置位网络3LD I0.1/装入ED/负跳变=M0.1/输出网络4LD M0.1/装入R Q0.0,1/输出复位,32,4.2 S7-200PLC的基本指令及编程方法,EU/ED指令的使用(见程序),33,指令使用说明EU、ED指令只在输入信号变化时有效,其输出信号的脉冲宽度为一个机器扫描周期。对开机时就为接通状态的输入条件,EU指令不执行。EU、ED指令无操作数。,4.2 S7-200PLC的基本指令及编
16、程方法,34,4.2 S7-200PLC的基本指令及编程方法,6.基本位逻辑指令应用举例,(1)起动、保持、停止电路,35,4.2 S7-200PLC的基本指令及编程方法,S/R指令实现的起、保、停电路,时序分析图,A.每一个传感器或开关输入对应一个PLC确定的输入点,每一个负载对应PLC一个确定的输出点;B.为了使梯形图和继电器接触器控制的电路图中的触点的类型相同,外部按钮一般用常开按钮。,36,4.2 S7-200PLC的基本指令及编程方法,(2)互锁电路,LD I0.0O M0.0AN M0.1=M0.0LD I0.1O M0.1AN M0.0=M0.1LD M0.0=Q0.0LD M0
17、.1=Q0.1,37,4.2 S7-200PLC的基本指令及编程方法,(3)比较电路,LD I0.0=M0.0LD I0.1=M0.1LD M0.0A M0.1=Q0.0LDN M0.0AN M0.1=Q0.1LDN M0.0A M0.1=Q0.2LD M0.0AN M0.1=Q0.3,38,上升沿微分脉冲电路,LD I0.0AN M0.1=M0.0LD I0.0=M0.1LD M0.0=Q0.0,4.2 S7-200PLC的基本指令及编程方法,(4)微分电路,仿真,39,4.2 S7-200PLC的基本指令及编程方法,LDN I0.0AN M0.1=M0.0LDN I0.0=M0.1LD M
18、0.0=Q0.0,下降沿微分脉冲电路,40,分频电路,4.2 S7-200PLC的基本指令及编程方法,(5)分频电路,LD I0.0EU=M0.0LD M0.0A Q0.0=M0.1LD M0.0O Q0.0AN M0.1=Q0.0,将脉冲信号加到I0.0端,在第一个脉冲的上升沿到来时,M0.0产生一个扫描周期的单脉冲,使M0.0的常开触点闭合,由于Q0.0的常开触点断开,M0.1线圈断开,其常闭触点M0.1闭合,Q0.0的线圈接通并自保持;第二个脉冲上升沿到来时,M0.0又产生一个扫描周期的单脉冲,M0.0的常开触点又接通一个扫描周期,此时Q0.0的常开触点闭合,M0.1线圈通电,其常闭触点
19、M0.1断开,Q0.0线圈断开;直至第三个脉冲到来时,M0.0又产生一个扫描周期的单脉冲,使M0.0的常开触点闭合,由于Q0.0的常开触点断开,M0.1线圈断开,其常闭触点M0.1闭合,Q0.0的线圈又接通并自保持。以后循环往复,不断重复上过程。由图可见,输出信号Q0.0是输入信号I0.0的二分频。,仿真,41,4.2 S7-200PLC的基本指令及编程方法,(6)抢答器程序设计,I0.0 S0/主持席上的复位按钮(常开)I0.1 S1/抢答席1上的抢答按钮 I0.2 S2/抢答席2上的抢答按钮 I0.3 S3/抢答席3上的抢答按钮输出Q0.1 H1/抢答席1上的指示灯Q0.2 H2/抢答席2
20、上的指示灯Q0.0 H3/抢答席3上的指示灯,要点是:如何实现抢答器指示灯的“自锁”功能,即当某一抢答席抢答成功后,即使释放其抢答按钮,其指示灯仍然亮,直至主持人进行复位才熄灭;如何实现3个抢答席之间的“互锁”功能。,42,(第五讲)4.2 S7-200PLC的基本指令及编程方法,7.编程注意事项及编程技巧,(1)梯形图语言中的语法规定,程序应按自上而下,从左至右的顺序编写;同一操作数的输出线圈在一个程序中不能使用两次,不同操作数的输出线圈可以并行输出,如图所示:,线圈并行输出,43,4.2 S7-200PLC的基本指令及编程方法,线圈不能直接与左母线相连。如果需要,可以通过特殊内部标志位存储
21、器SM0.0(该位始终为1)来连接,如图所示;,(a)不正确,44,4.2 S7-200PLC的基本指令及编程方法,适当安排编程顺序,以减少程序的步数,1)串联多的支路应尽量放在上部,2)并联多的支路应靠近左母线,45,4.2 S7-200PLC的基本指令及编程方法,适当安排编程顺序,以减少程序的步数,3)触点不能放在线圈的右边;4)对复杂的电路,用ALD、OLD等指令难以编程,可重复使用一些触点画出其等效电路,然后再进行编程,如图所示。,46,4.2 S7-200PLC的基本指令及编程方法,(2)设置中间单元,在梯形图中,若多个线圈都受某一触点串并联电路的控制,为了简化电路,在梯形图中可设置
22、该电路控制的存储器的位,如图所示,这类似于继电器电路中的中间继电器。,1.此中间变量要用于其他程序段,2.此变量不需要直接输出,3.用于打断过长的程序段。以上情况使用M点可以使程序简化可读性强。,47,4.2 S7-200PLC的基本指令及编程方法,(3)尽量减少可编程控制器的输入信号和输出信号,可编程控制器的价格与I/O点数有关,因此减少I/O点数是降低硬件费用的主要措施。如果几个输入器件触点的串并联电路总是作为一个整体出现,可以将他们作为可编程控制器的一个输入信号,只占可编程控制器的一个输入点。如果某器件的触点只用一次并且与PLC输出端的负载串联,不必将它们作为PLC的输入信号,可以将它们
23、放在PLC外部的输出回路,与外部负载串联。,48,4.2 S7-200PLC的基本指令及编程方法,(4)外部联锁电路的设立 为了防止控制正反转的两个接触器同时动作造成三相电源短路,应在PLC外部设置硬件联锁电路。(5)外部负载的额定电压 PLC的继电器输出模块和双向晶闸管输出模块一般只能驱动额定电压AC 220V的负载,交流接触器的线圈应选用220V的。,49,4.2 S7-200PLC的基本指令及编程方法,8.电动机控制举例,控制要求(1)实现三相异步电动机的正转、反转、停止控制。(2)具有防止相间短路的措施。(3)具有过载保护环节。AC 220V的负载,交流接触器的线圈应选用220V的。电
24、气控制如图所示,50,4.2 S7-200PLC的基本指令及编程方法,51,4.2 S7-200PLC的基本指令及编程方法,(1)I/O分配及外部接线,52,4.2 S7-200PLC的基本指令及编程方法,(2)程序设计,(3)运行并调试程序按正转按钮SB2,输出Q0.0接通,电动机正转。按停止按钮SB1,输出Q0.0断开,电动机停转。按反转按钮SB3,输出Q0.1接通,电动机反转。模拟电动机过载,将热继电器FR的触点断开,电动机停转。将热继电器的FR触点复位,在重复正反停的操作。运行调试过程中用状态图对元件的动作进行监控并记录。,53,4.2 S7-200PLC的基本指令及编程方法,9.定时
25、器指令,(1)定时器指令介绍,定时器是模拟继电器控制系统中的时间继电器;按定时方式可分3种:TON(延时接通)、TOF(延时断开)、TONR(有记忆延时接通)按照定时精度可分为三种:1ms、10ms和100ms;按照停电保持型可以分为停电保持型(TONR默认停电保持)和非停电保持型(TON和 TOF)定时器的设定值由程序赋予,需要时也可在外部设定;定时器存储器T的地址格式为:T定时器号 如T33S7-200定时器存储器的有效地址范围为:T0-T255一个完整的定时器包括:一个线圈、一对触点、一个预置值和一个当前值,预置值和当前值都是16位;预置值设置有3种方法:利用常数直接设置、利用寄存器(I
26、W、QW、VW、SMW、SW、LW、T、C、AC、AIW)间接设置和用指针(*VD、*LD、*AC)间接设置。,54,4.2 S7-200PLC的基本指令及编程方法,定时器的指令格式,55,4.2 S7-200PLC的基本指令及编程方法,使能输入有效后,当前值对PLC内部的时基脉冲增1计数,当计数值大于或等于定时器的预置值后,状态位置1,其触点动作(常开点闭合,常闭点断开);从定时器输入有效,到状态位输出有效,经过的时间为定时时间;定时时间=预置值(PT)分辨率,定时器有三种分辨率1ms、10ms、100ms;分辨率由定时器号决定如下表所示。,56,4.2 S7-200PLC的基本指令及编程方
27、法,57,4.2 S7-200PLC的基本指令及编程方法,A.接通延时定时器TON,程序及时序分析如图所示。当I0.0接通时即使能端(IN)输入有效时,驱动T37开始计时,当前值从0开始递增,计时到设定值PT时,T37 状态位置1,其常开触点T37接通,驱动Q0.0输出,其后当前值仍增加,但不影响状态位。当前值的最大值为32767。当I0.0分断时,T37复位,当前值清0,状态位也清0,即回复原始状态。若I0.0接通时间未到设定值就断开,T37则立即复位,Q0.0不会有输出。,通电延时定时器工作原理分析,仿真,58,4.2 S7-200PLC的基本指令及编程方法,B.有记忆接通延时定时器TON
28、R,程序分析如图所示。如T3,当输入IN为1时,定时器计时;当IN为0时,其当前值保持并不复位;下次IN再为1时,T3当前值从原保持值开始往上加,将当前值与设定值PT比较,当前值大于等于设定值时,T3状态位置1,驱动Q0.0有输出,以后即使IN再为0,也不会使T3复位,要使T3复位,必须使用复位指令(定时器当前值清零,输出状态位置0)。,LD I0.0TONR T3,100LD I0.1R T3,1LD T33=Q0.0,TONR记忆型通电延时型定时器工作原理分析,59,4.2 S7-200PLC的基本指令及编程方法,C.断电延时定时器TOF,TOF定时器在输入IN信号(I0.0)接通时,定时
29、器状态位置1,其常开点闭合,常闭点断开,当前值置0;当输入IN信号(I0.0)断开时,定时器开始计时,当前值从0递增,当前值达到预置值时,定时器状态位复位为0,常开触点断开,常闭触点闭合,并停止计时,当前值保持;当输入IN信号(I0.0)接通时,定时器状态位置1,其常开点闭合,常闭点断开,当前值置0;当IN信号(I0.0)断开的时间不到预置的定时时间,定时器仍保持接通(常开点闭合,常闭点断开)。,LD I0.0TOF T37,+30LD T37=Q0.0,TOF断电延时定时器的工作原理,仿真,60,4.2 S7-200PLC的基本指令及编程方法,使用定时器应注意的问题:,以上介绍的3种定时器具
30、有不同的功能。接通延时定时器(TON)用于单一间隔的定时;有记忆接通延时定时器(TONR)用于累计时间间隔的定时;断开延时定时器(TOF)用于故障事件发生后的时间延时;TOF和TON 共享同一组定时器,不能重复使用。即不能把一个定时器同时用作TOF和TON。例如,不能既有TON T32,又有TOF T32;使用复位(R)指令对定时器复位后,定时器位为“0”,定时器当前值为0;有记忆接通定时器()只能通过复位指令进行复位操作。对于断电延时定时器(),需要在输入端有一个负跳变(由到)的输入信号启动计时;不同分辨率的定时器,其定时器位和当前值的刷新周期是不同的:,61,4.2 S7-200PLC的基
31、本指令及编程方法,1ms 10ms 100ms定时器的刷新方式不同:1ms定时器每隔1ms刷新一次,即采用中断刷新方式,与扫描周期和程序处理无关,定时器的当前值和触点的更新与扫描周期不同步。因此当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致;10ms 定时器则由系统在每个扫描周期开始自动刷新,其当前值和触点在每个扫描周期的开始更新。由于每个扫描周期内只刷新一次,故而每次程序处理期间,其当前值为常数;100ms定时器则在该定时器指令执行时刷新。下一条执行的指令,即可使用刷新后的结果,非常符合正常的思路,使用方便可靠。但应当注意,如果该定时器的指令不是每个周期
32、都执行,定时器就不能及时刷新,可能导致出错。,62,4.2 S7-200PLC的基本指令及编程方法,(2)定时器指令应用举例A.一个扫描周期的时钟脉冲发生器,自身常闭接点作使能输入,63,4.2 S7-200PLC的基本指令及编程方法,当定时器当前值1000在图示A处刷新,Q0.0接通一个扫描周期,若在其它位置刷新,Q0.0则永远不会接通。而在A点刷新的概率是很小的。若改为图b,就可保证当定时器当前值达设定值时,Q0.0会接通一个扫描周期。,a)错误,b)正确,1ms定时器编程,64,4.2 S7-200PLC的基本指令及编程方法,若将图中的定时器T32换成T33,时基变为10ms,当前值在每
33、个扫描周期开始刷新,计时时间到时,扫描周期开始时,定时器输出状态位置位,常闭触点断开,立即将定时器当前值清零,定时器输出状态位复位(为0)。这样输出线圈Q0.0永远不可能通电。若改为图b,就可保证当定时器当前值达设定值时,Q0.0会接通一个扫描周期。,a)错误,b)正确,10ms定时器编程,65,4.2 S7-200PLC的基本指令及编程方法,若用时基为100ms的定时器,如T37,当前指令执行时刷新,Q0.0在T37计时时间到时准确地接通一个扫描周期。可以输出一个断开为延时时间,接通为一个扫描周期的时钟脉冲。若将输出线圈的常闭接点作为定时器的使能输入,如图b)所示,则无论何种时基都能正常工作
34、。(注:仿真看不出效果),b)正确,a)正确,100ms定时器编程,66,4.2 S7-200PLC的基本指令及编程方法,一个扫描周期的时钟脉冲发生器波形图,67,4.2 S7-200PLC的基本指令及编程方法,B.延时断开电路,仿真,68,4.2 S7-200PLC的基本指令及编程方法,C.延时接通和延时断开,电路用I0.0控制Q0.1,I0.0的常开触点接通后,T37开始定时,9s后T37 的常开触点接通,使Q0.1变为ON,I0.0为ON时其常闭触点断开,使T38复位。I0.0变为OFF后T38 开始定时,7S后T38的常闭触点断开,使Q0.1变为OFF,T38亦被复位。,仿真,69,4
35、.2 S7-200PLC的基本指令及编程方法,D.闪烁电路,仿真,加闪烁电路2,70,4.2 S7-200PLC的基本指令及编程方法,E.报警电路,用接在I0.0输入端的光电开关检测传送带上通过的产品,有产品通过时I0.0为ON,如果在10s内没有产品通过,由Q0.0发出报警信号,用I0.1输入端外接的开关解除报警信号。对应的梯形图如图所示。,71,4.2 S7-200PLC的基本指令及编程方法,F.正次品分拣机编程,(1)用启动和停止按钮控制电动机M运行和停止。在电动机运行时,被检测的产品(包括正次品)在皮带上运行。(2)产品(包括正、次品)在皮带上运行时,S1(检测器)检测到的次品,经过5
36、s传送,到达次品剔除位置时,起动电磁铁Y驱动剔除装置,剔除次品(电磁铁通电1s),检测器S2检测到的次品,经过3s传送,起动Y,剔除次品;正品继续向前输送。正次品分拣操作流程如图所示。,72,4.2 S7-200PLC的基本指令及编程方法,G.正次品分拣机编程,正次品分拣操作流程图,73,4.2 S7-200PLC的基本指令及编程方法,(1)I/O分配输入 输出SB1 I0.0 M启动按钮 M Q0.0 电动机(传送带驱动),SB2 I0.1 M 停止按钮 Y Q0.1 次品剔除 S1 I0.2 检测站1,S2 I0.3 检测站2,74,4.2 S7-200PLC的基本指令及编程方法,75,4
37、.2 S7-200PLC的基本指令及编程方法,10.计数器指令,计数器利用输入脉冲上升沿累计脉冲个数;每个计数器一个16位的预置值寄存器、一个16位的当前值寄存器和一位状态位组成;当前值寄存器用以累计脉冲个数,计数器当前值大于或等于预置值时,状态位置1;计数器的设定值由程序赋予,需要时也可在外部设定;计数器存储器C的地址格式为:C定时器号 如C20;S7-200计数器存储器的有效地址范围为:C0-C255S7-200系列PLC有三类计数器:CTU-加计数器,CTUD-加/减计数器,CTD-减计数。,(1)计数器指令介绍,76,4.2 S7-200PLC的基本指令及编程方法,计数器的指令格式,7
38、7,4.2 S7-200PLC的基本指令及编程方法,A.增(加)计数器指令(CTU),当R=0时,计数脉冲有效;当CU端有上升沿输入时,计数器当前值加1。当计数器当前值大于或等于设定值(PV)时,该计数器的状态位C-bit置1,即其常开触点闭合。计数器仍计数,但不影响计数器的状态位。直至计数达到最大值(32767)。当R=1时,计数器复位,即当前值清零,状态位C-bit也清零。加计数器计数范围:032767。,仿真,78,4.2 S7-200PLC的基本指令及编程方法,B.增/减计数器指令(CTUD),当R=0时,计数脉冲无效;当CU端(CD端)有上升沿输入时,计数器当前值加1(减1)。当计数
39、器当前值大于或等于设定值时,C-bit置1,即其常开触点闭合。当R=1时,计数器复位,即当前值清零,C-bit也清零。增减计数器计数范围:3276832767。,LD I1.0LD I1.1LD I1.2CTUD C50,5LD C50=Q0.0,79,4.2 S7-200PLC的基本指令及编程方法,C50当前值,增/减计数器指令,仿真,80,4.2 S7-200PLC的基本指令及编程方法,C.减计数器指令(CTD),当复位LD有效时,LD=1,计数器把设定值(PV)装入当前值存储器,计数器状态位复位(置0)。当LD=0,即计数脉冲有效时,开始计数,CD端每来一个输入脉冲上升沿,减计数的当前值
40、从设定值开始递减计数,当前值等于0时,计数器状态位置位(置1),停止计数。,LD I0.1LD I1.0CTD C4,3LD C4=Q0.0,81,4.2 S7-200PLC的基本指令及编程方法,仿真,82,4.2 S7-200PLC的基本指令及编程方法,S7-200系列PLC计数器最大的计数范围是32767,若须更大的计数范围,则须进行扩展。如图所示计数器扩展电路。图中是两个计数器的组合电路,C1形成了一个设定值为100次自复位计数器。计数器C1对I0.1的接通次数进行计数,I0.1的触点每闭合100次C1自复位重新开始计数。同时,连接到计数器C2端C1常开触点闭合,使C2计数一次,当C2计
41、数到2000次时,I0.1共接通1002000次=200000次,C2的常开触点闭合,线圈Q0.0通电。该电路的计数值为两个计数器设定值的乘积,C总=C1C2。,(2)计数器指令应用举例A.计数器的扩展,83,4.2 S7-200PLC的基本指令及编程方法,仿真,84,4.2 S7-200PLC的基本指令及编程方法,B.定时器的扩展,S7-200的定时器的最长定时时间为3276.7S,如果需要更长的定时时间,可使用图示的电路。图中最上面一行电路是一个脉冲信号发生器,脉冲周期等于T37的设定值(60S)。I0.0为OFF时,100ms定时器T37和计数器C4处于复位状态,它们不能工作。I0.0为
42、ON时,其常开触点接通,T37开始定时,60s后T37定时时间到,其当前值等于设定值,它的常闭触点断开,使它自己复位,复位后T37的当前值变为0,同时它的常闭触点接通,使它自己的线圈重新“通电”又开始定时,T37将这样周而复始地工作,直到I0.0变为OFF。T37产生的脉冲送给C4计数器,记满60个数(即1h)后,C4当前值等于设定值60,它的常开触点闭合。设T37和C4的设定值分别为KT和KC,对于100ms定时器总的定时时间为:T=0.1KT*KC(s)。,85,4.2 S7-200PLC的基本指令及编程方法,C.自动声光报警操作程序,例:自动声光报警操作程序用于当电动单梁起重机加载到1.
43、1倍额定负荷并反复运行1h后,发出声光信号并停止运行。程序如图所示。当加载到1.1倍额定负荷时,I0.0触点为闭合状态,定时器T50每60s发出一个脉冲信号作为计数器C1的计数输入信号,当计数值达60,即1h后,C1常开触点闭合,Q0.0、Q0.7线圈同时得电,指示灯发光且电铃作响;此时C1另一常开触点接通定时器T51线圈,10s后T51常闭触点断开Q0.7线圈,电铃音响消失,指示灯持续发光直至再一次重新开始运行。,86,4.2 S7-200PLC的基本指令及编程方法,D.分频电路,思考:不用微分电路可以吗?仿真,87,4.2 S7-200PLC的基本指令及编程方法,11.顺序控制指令,顺序控
44、制,就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有秩序地进行操作。即 使生产过程按工艺要求事先安排的顺序自动地进行控制;顺序功能图(SFC):是基于工艺流程的高级语言。使用顺序功能图可以描述程序的顺序执行、循环、条件分支,程序的合并等功能流程概念,是设计梯形图程序的基础。顺序控制继电器指令(SCR)是基于SFC的编程方法,它依据被控对象的SFC进行编程,将控制程序进行逻辑分段,从而实现顺序控制。SCR指令清晰、明了,适合初学者。,88,4.2 S7-200PLC的基本指令及编程方法,(1)顺序功能图(SFC),顺序功能流程图程
45、序设计是近年来发展起来的一种程序设计。采用顺序功能图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。顺序功能流程图的主要元素是步、转移、转移条件和动作,如下图所示,顺序功能流程图程序设计的特点是:,常用于系统的规模校大,程序关系较复杂的场合;只有在活动步的命令和操作被执行后,才对活动步后的转换进行扫描,因此,整个程序的扫描时间要大大缩短。对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;以功能为主线,条理清楚,便于对程序操作的理解和沟通;,89,4.2 S7-200PL
46、C的基本指令及编程方法,步(step):将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为步(step),用矩形框来表示,框内的序号表示步的编号,与控制过程的初始状态相对应的步称为初始步,用双线框表示。通常用顺序控制继电器的位如S0.0,S0.1,S0.2表示三个状态步,程序执行到某步时,该步状态位置1,其余为0;步动作:每步都要完成某些动作,称为步动作,用方框中的文字或符号表示,并用线将该方框和相应的步相连;有向连线:步之间用有向连线连接,表示状态步转移的方向,有向连线上没有箭头标注时,方向为自上而下,自左而右;转换条件:使系统由当前步进入下一步的信号称为转换条件。转换条件可以是外
47、部的输入信号,如按钮,指令开关,限位开关的接通/断开等;也可以是程序运行中产生的信号,如定时器、计数器的常开触点的接通等;转换条件还可能是若干个信号的逻辑运算的组合。有向连线上的短线表示状态步的转换条件。,90,4.2 S7-200PLC的基本指令及编程方法,(2)顺序控制继电器指令(SCR),91,4.2 S7-200PLC的基本指令及编程方法,在使用顺序控制继电器指令(SCR)时应注意:顺序控制继电器指令SCR只对状态元件S有效。为了保证程序的可靠运行,驱动状态元件S的信号应采用短脉冲;当输出需要保持时,可使用S/R指令;不能把同一编号的状态元件用在不同的程序中,例如,如果在主程序中使用S
48、0.1,则不能在子程序中再使用;在SCR段中不能使用JMP和LBL指令。即不允许跳入或跳出SCR段,也不允许在SCR段内跳转。可以使用跳转和标号指令在SCR段周围跳转。不能在SCR段中使用FOR、NEXT和END指令。,92,4.2 S7-200PLC的基本指令及编程方法,(3)SCR指令的编程举例,例1 使用顺序控制结构,编写出实现红、绿灯循环显示的程序(要求循环间隔时间为1s)。,93,4.2 S7-200PLC的基本指令及编程方法,当I0.0输入有效时,起动S0.0,执行程序的第一步,输出Q0.0置1(点亮红灯),Q0.1置0(熄灭绿灯),同时起动定时器T37,经过1s,步进转移指令使得
49、S0.1置1,S0.0置0,程序进入第二步,输出点Q0.1置1(点亮绿灯),输出点Q0.0置0(熄灭红灯),同时起动定时器T38,经过1s,步进转移指令使得S0.0置1,S0.1置0,程序进入第一步执行。如此周而复始,循环工作。,94,4.2 S7-200PLC的基本指令及编程方法,例2 根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s 后绿灯亮,再过3s秒黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。试用SCR指令设计其控制程序。,注意:每一个SCR程序段中均包含三个要素:输出对象:在这一步序中应完成的动作;转换条件:满足转换条件后,实现SCR段的转换;转换目标:转换到下
50、一个步序。,S0.3,S0.4,95,4.2 S7-200PLC的基本指令及编程方法,LD I0.1AN Q0.0AN Q0.1AN Q0.2S S0.1,1LSCR S0.1LD SM0.0S Q0.0,1TON T37,+20,96,4.2 S7-200PLC的基本指令及编程方法,LD T37SCRT S0.2SCRELSCR S0.2LD SM0.0S Q0.1,1TON T38,+30,97,4.2 S7-200PLC的基本指令及编程方法,LD T38SCRT S0.3SCRELSCR S0.3LD SM0.0S Q0.2,1TON T39,+1800,98,4.2 S7-200PLC