第四章S7系列基本指令和实训14.1可编程控制器程序设计语言梯形图语句表顺序功能流程图功能块图21.梯形图(LadderDiagram)程序设计语言LAD图形指令有3个基本形式:触点、线圈、指令盒32.语句表(StatementList)程序设计语言语句表程序设计语言是用布尔助记符来描述程序的一种程序设计语言。43.功能块图(FunctionBlockDiagram)程序设计语言功能块图程序设计语言是采用逻辑门电路的编程语言,有数字电路基础的人很容易掌握。功能块图指令由输入、输出段及逻辑关系函数组成。56步2步1步3动作动作动作转移条件转移条件起动条件图4-2顺序功能流程图4.顺序功能流程图程序设计采用顺序功能流程图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。74.2基本位逻辑指令与应用从这里开始我们将体验如何编写程序去完成一些控制任务。先从我们最熟悉的梯形图开始。8我们用梯形图设计程序基于一些经验,也叫做经验设计法。接下来我们要熟练掌握以下梯形图的编程思路,它们可以为我们今后的编程提供重要的思维方式。9①起保停电路10[思考]:设计简单两人抢答器,要求A按下按钮时,A前的灯L1亮。B按下按钮时,B前的灯L2亮。但A或B任何一方抢到,则剩余的一方按钮按下无效。主持人按下复位按钮,抢答可以重新开始。11②互锁电路12[思考]:输入端子SB0SB1按钮通断次序不同时,分别有不同的输出灯亮。试设计程序。I0.0I0.1Q0.0Q0.1Q0.2Q0.311000110SB0SB113③比较电路14本节课你将会了解到以下内容:1、进一步熟悉梯形图的编程方法。2、掌握用基本的逻辑指令编程的方法。3、学会梯形图和语句表的互相转换。15『思考』设计数字显示器。用I0.0~I0.5控制Q0.0~Q0.3四个灯用二进制显示0~5这几个数字。Q0.0Q0.1Q0.2Q0.3000000010010001101000101I0.0I0.1I0.2I0.3I0.4I0.516课后作业:要求按下对应的按钮时,数码管显示对应的数字。1、列写出输入输出的分配表。2、编写出梯形图程序。AGBFCED12345171.逻辑取(装载)及线圈驱动指令LD(load):常开触点逻辑运算的开始。LDN(loadnot):常闭触点逻辑运算的开始(对操作数的状态取反)=(OUT):线圈驱动(赋值指令)。4.2基本位逻辑指令的应用18(2)指令格式LAD()()I0.0I0.0Q0.0M0.0STLLDI0.0=Q0.0LDNI0.0=M0.0触点代表CPU对存储器的读操作,用户程序中,触点可以使用无数次。OFF1I0.0ON0I0.0OFFON19线圈:代表CPU对存储器的写操作,用户程序中同一线圈只能使用一次。即编写程序时避免双线圈输出。()Q0.0ONQ0.01()Q0.00OFF0Q0.0120(3)LD/LDN、“=”指令使用说明LD,LDN指令用于与输入公共母线(输入母线)相联的触点,也可与OLD,ALD指令配合使用于分支回路的开头。“=”指令用于Q,M,SM,T,C,V,S。但不能用于I。输出端不带负载时,控制线圈应使用M或其它。尽可能不要使用Q。“=”指令可以并联使用任意次,但不能串联。T37()M0.0()Q0.0LDT37=M0.0=Q0.0LD,LDN的操作数:I,Q,M,SM,T,C,V,S。“=”(OUT)的操作数:Q,M,SM,T,C,V,S。212.触点串联指令A(And),AN(Andnot)(1)定义A(And):常开触点串联指令。AN(Andnot):常闭触点串联指令。22I0.0M0.0Q0.0I0.1M0.0T37Q0.1Q0.0Network1Network2AM0.0//与常开触点=Q0.0//输出线圈LDQ0.0//装载常开触点ANI0.1//与常闭触点=M0.0//输出线圈AT37//与常开触点=Q0.1//输出线圈(2)指令格式LDI0.0//装载常开触点23A/AN指令使用说明:(1)A,AN是单个触点串联连接指令,可连续使用。(2)若要串联多个触点组合回路时,必须使用ALD指令。(3)若按正确次序编程(即输入:左重右轻;输出:上轻下重),可以反复使用“=”指令。但若按:Q0.0I0.1T37Q0.1Network2M0.0(4)A,AN的操作数:I,Q,M,SM,T,C,V,S.243.触点并联指令:(1)定义O(OR):并联连接常开触点。ON:并联连接常闭触点。25(2)指令格式Network1Network2I0.0I0.1M0.0Q0.0M0.1M0.2I0.2I0.3()M0.1()Q0.0LDI0.0OI0.1ONM0.0=Q0.0LDNQ0.0AI0.2OM0.1OM0.2ANI0.3=M0.126(3)O,ON指令使用说明:①O,ON指令可作为并联一个接点指令。紧接在LD,LDN指令之后用,即对其前面的LD,LDN指令所规定的触点并联一个触点,可以连续使用。②若要将两个以上触点的串联回路与其他回路并联时,须采用OLD指令。()③O,ON操作数为:I,Q,M,SM,V,S,T,C。27练习:写出下列梯形图的指令表程序284.逻辑环节(电路块)的串联指令ALD.(1)定义ALD(Andload):用于串联连接并联触点组成的电路块。29(2)指令格式STLLDI1.0//装入常开触点()I1.0I1.1Q0.0I1.2I1.2LAD电路块1电路块2ALDOI1.2//或常开触点LDI1.1//装入常开触点OI1.2//或常开触点ALD//块与操作=Q0.0//输出线圈30ALD指令使用说明:并联电路块与前面电路串联连接时,使用ALD指令。分支的起点用LD,LDN指令。并联电路结束后使用ALD指令与前面电路串联。如果有多个并联电路块串联,顺次使用ALD指令与前面支路连接,支路数量没有限制。ALD指令无操作数。315.逻辑环节(电路块)的并联指令OLD.(1)定义OLD(ORload):用于并联连接串联触点组成的电路块。(2)指令格式()I0.0I0.1I0.2I0.3I0.4I0.5Q0.0OLDOLDLDI0.0AI0.1LDI0.2AI0.3LDNI0.4AI0.5=Q0.0OLDOLD32(3)OLD指令使用说明:几个串联支路并联连接时,其支路的起点以LD,LDN开始,以OLD结束。如需将多个支路并联,从第二条支路开始,在每一条支路后面加OLD指令,用这种方法编程,对并联支路数没有限制。OLD指令没有操作数。33练习1:写出下列梯形图的指令表程序34练习2:写出下列梯形图的指令表程序35练习3:写出下列梯形图的指令表程序3637本节课你将会了解到以下内容:1、基本的逻辑指令.堆栈、置位、复位、脉冲输出指令。2、梯形图分析和编程。386、逻辑堆栈的操作①思考:写出下列梯形图的语句表。39LPS(入栈)指令:LPS指令把栈顶值复制后压入堆栈,栈中原来数据依次下移一层,栈底值压出丢失。LRD(读栈)指令:LRD指令把逻辑堆栈第二层的值复制到栈顶,2-9层数据不变,堆栈没有压入和弹出。但原栈顶的值丢失。LPP(出栈)指令:LPP指令把堆栈弹出一级,原第二级的值变为新的栈顶值,原栈顶数据从栈内丢失。②指令用法说明40LPS(入栈)指令:LPS指令把栈顶值复制后压入堆栈,栈中原来数据依次下移一层,栈底值压出丢失41LRD(读栈)指令:LRD指令把逻辑堆栈第二层的值复制到栈顶,2-9层数据不变,堆栈没有压入和弹出。但原栈顶的值丢失。42LPP(出栈)指令:LPP指令把堆栈弹出一级,原第二级的值变为新的栈顶值,原栈顶数据从栈内丢失43I0.023456789I0.0I0.02345678I0.0&I0.2I0.02345678I0.2AI0.0I0.02345678I0.3AI0.0&I0.3I0.02345678I0.02345678*I0.1ALPSLRDLPP44LDI0.0//装载常开触点LPS//压入堆栈LDI0.1//装载常开触点OI0.2//或常开触点ALD//块与操作=Q0.0//输出线圈LRD//读栈LDI0.3//装载常开触点OI0.4//或常开触点ALD//块与操作=Q0.1//输出线圈LPP//出栈AI0.5//与常开触点=Q0.2//输出线圈45③指令使用说明逻辑堆栈指令可以嵌套使用,最多为9层。为保证程序地址指针不发生错误,入栈指令LPS和出栈指令LPP必须成对使用,最后一次读栈操作应使用出栈指令LPP。堆栈指令没有操作数。46练习:写出下列梯形图的语句表477、置位/复位指令S/R①置位指令S:使能输入有效后从起始位S-bit开始的N个位置“1”并保持。I0.0Q0.048②复位指令R:使能输入有效后从起始位S-bit开始的N个位清“0”并保持。I0.0Q0.0I0.149③指令使用说明对同一元件(同一寄存器的位)可以多次使用S/R指令(与“=”指令不同)。由于是扫描工作方式,当置位、复位指令同时有效时,写在后面的指令具有优先权。操作数N为:VB,IB,QB,MB,SMB,SB,LB,AC,常量,*VD,*AC,*LD。取值范围为:0~255。数据类型为:字节。操作数S-bit为:I,Q,M,SM,T,C,V,S,L。数据类型为:布尔。置位复位指令通常成对使用,也可以单独使用或与指令盒配合使用。50I0.0Q0.0Q0.1Q0.2Q0.3518、脉冲生成指令EU/ED①指令功能EU指令:在EU指令前的逻辑运算结果有一个上升沿时(由OFF→ON)产生一个宽度为一个扫描周期的脉冲,驱动后面的输出线圈。I0.0Q0.0一个扫描周期52ED指令:在ED指令前有一个下降沿时产生一个宽度为一个扫描周期的脉冲,驱动其后线圈。I0.0Q0.0一个扫描周期53思考:①写出指令表,分析下图的功能画出波形图。54I0.0M0.0M0.1Q0.055②指令使用说明EU、ED指令只在输入信号变化时有效,其输出信号的脉冲宽度为一个机器扫描周期。对开机时就为接通状态的输入条件,EU指令不执行。EU、ED指令无操作数.56◆基本位逻辑指令巩固和总结单个触点原型LDAO非型LDNANON脉冲型EUED堆栈LPSLRDLPP电路块ALDOLD线圈=输出S置位R复位57◆典型梯形图分析及编程练习思考①:画出下列梯形图中M0.0和Q0.0的波形图I0.0Q0.0上升沿微分脉冲电路M0.0一个扫描周期58思考②:画出下列梯形图中M0.0和Q0.0的波形图Q0.0一个扫描周期M0.0I0.0ONOFF下降沿微分脉冲电路59讨论③:下列两个梯形图中有一个可以完成一个按钮控制一台电机的启动,停止。哪一个?为什么?60二分频电路①I0.0Q0.061二分频电路②I0.0M0.0M0.1Q0.0621、梯形图的编程规则(1)程序应按自上而下,从左至右的顺序编写。(2)同一操作数的输出线圈在一个程序中不能使用两次,不同操作数的输出线圈可以并行输出(3)线圈不能直接与左母线相连。如果需要,可以通过特殊内部标志位存储器SM0.0来连接。4.2.3梯形图的编程注意事项和编程技巧63(4)适当安排编程顺序,以减少程序的步数。①串联多的支路应尽量放在上部②并联多的支路应靠近左母线。③触点不能放在线圈的左边。644)对复杂的电路,用ALD、OLD等指令难以编程,可重复使用一些触点画出其等效电路,然后再进行编程.652、设置中间元件在梯形图中,若多个线圈都受某一触点串并联电路的控制,为了简化电路,在梯形图中可设置该电路控制的存储器的位,如图4-37所示,这类似于继电器电路中的中间继电器。663、尽量减少输入和输出信号可编程控制器的价格与I/O点数有关,因此减少I/O点数是降低硬件费用的主要措施。如果几个输入器件触点的串并联电路总是作为一个整体