西门子PLC指令实例教程.ppt

上传人:zhu****ei 文档编号:3587974 上传时间:2019-12-18 格式:PPT 页数:96 大小:1.31MB
返回 下载 相关 举报
西门子PLC指令实例教程.ppt_第1页
第1页 / 共96页
西门子PLC指令实例教程.ppt_第2页
第2页 / 共96页
西门子PLC指令实例教程.ppt_第3页
第3页 / 共96页
点击查看更多>>
资源描述
第四章S7-300软件基础,4.1PLC编程基础4.2STEP7的指令结构4.3位逻辑指令4.5定时器与计数器指令,4.1PLC编程基础,4.1.1STEP7编程语言,STEP7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。该软件的标准版支持STL(语句表)、LAD(梯形图)及FBD(功能块图)3种基本编程语言,并且在STEP7中可以相互转换。不同的编程语言可供不同知识背景的人员采用。其中LAD、STL和FBD是三种基本编程语言。,4.1.1STEP7编程语言,LAD(LAD:LadderDiagram)简称梯形图,LAD是使用最多的PLC编程语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制,也适合于熟悉继电器电路的人员使用。LAD编程语言如图4.1所示。,图4.1LAD编程语言,1、梯形图(LAD),4.1.1STEP7编程语言,2、语句表(STL)STL(STL:StatementList)简称语句表,STL是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语句表适合于经验丰富的程序员使用,可以实现某些梯形图不能实现的功能。STL适用于喜欢用汇编语言编程的人员使用。STL编程语言如图4.2所示。,图4.2STL编程语言,4.1.1STEP7编程语言,3、功能块图(FBD)FBD(FBD:FunctionBlockDiagram)简称功能块图,功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示。FBD适合于有数字电路基础的编程人员使用。FBD编程语言如图4.3所示。,4.1.1STEP7编程语言,图4.3FBD编程语言,4.1.2S7-300CPU的系统存储器,1、过程映像输入表/输出表(I/Q)过程映像输入表(PII):循环扫描开始时,存储数字量输入模块的输入信号的状态。过程映像输出表(PIQ):循环扫描结束时,存储用户程序计算的输出值,并将PIQ的内容写入数字量输出模块。2、内部存储器区(M)内部存储器区(M),主要用于存储中间变量。3、定时器(T)存储器区在CPU的存储器中,有一个区域是专为定时器保留的。此存储区域为每个定时器地址保留一个16位字。梯形图逻辑指令集支持256个定时器。时间值可以用二进制或BCD码方式读取。,4.1.2S7-300CPU的系统存储器,4、计数器(C)存储器区在用户CPU的存储器中,有为计数器保留的存储区。此存储区为每个计数器地址保留一个16位字。梯形图指令集支持256个计数器。计数值(0999)可以用二进制或BCD码方式读取。5、数据块/背景数据块(DB)DB为共享数据块,DBX2.3,DBB5,DBW10和DBD12。DI为背景数据块,DIX,DIB,DIW和DID。6、外部I/O存储区(PI/PQ)外设输入(PI)区和外设输出(PQ)区允许直接访问本地的和分布式的输入模块和输出模块。,4.1.3S7-300CPU的寄存器,1、累加器(ACCUx)累加器用于处理字节、字或双字的寄存器。S7-300有两个32位累加器(ACCU1和ACCU2)。2、状态字寄存器(16位)状态字用于表示CPU执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测。状态字的结构如图4.4所示。,图4.4状态字的结构,4.1.4STEP7数据类型,在STEP7中,大多数指令要与具有一定大小的数据对象一起操作,不同的数据类型具有不同的格式。编程所用的数据要指定数据类型,要确定数据大小和数据的位结构。数据类型分为3大类。1、基本数据类型基本数据类型有很多种,每种数据类型在分配内存空间时有确定的位数,如布尔型(BOOL)数据为1位,字节型(BYTE)数据为8位,字型(WORD)数据为16位,双字型(DWORD)数据为32位。基本数据类型见表4-1。,4.1.4STEP7数据类型,表4-1STEP7中常用的基本数据类型,4.1.4STEP7数据类型,2、复式数据类型超过32位或由其他数据类型组成的数据为复式数据类型,STEP7允许4种复式数据类型,见表4-2。,表4-2STEP7中的复式数据类型,4.1.4STEP7数据类型,3、参数类型参数类型用于向FB和FC传送参数。STEP7提供的参数类型见表4-3。,表4-3STEP7的参数类型,4.1.5PLC编程的基本原则,1)外部输入、输出继电器、内部继电器、定时器、计数器等器件的接点可多次重复使用;2)梯形图每一行都是从左母线开始,线圈接在最右边,接点不能放在线圈的右边;3)线圈不能直接与左母线相连;4)同一编号的线圈在一个程序中使用两次容易引起误操作,应尽量避免线圈重复使用;5)梯形图程序必须符合顺序执行的原则,从左到右,从上到下地执行,如不符合顺序执行的电路不能直接编程;6)在梯形图中串联接点、并联接点的使用次数没有限制,可无限次地使用。,PLC编程应该遵循以下基本原则:,4.2STEP7的指令结构指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构成。STEP7编程语言其指令功能非常丰富。利用程序编辑器,可以进行离线编程,即把程序存储在编程器中,也可以进行在线编程,将程序存储在CPU中。4.2.1指令操作数指令操作数(又称编程元件)一般在用户存储区中,操作数由操作标识符和参数组成。操作标识符由主标识符和辅助标识符组成,主标识符用来指定操作数所使用的存储区类型,辅助标识符则用来指定操作数的单位(如:位、字节、字、双字等)。主标识符有:I(输入过程映像寄存器)、Q(输出过程映像寄存器)、M(位存储器)、PI(外部输入寄存器)、PQ(外部输出寄存器)、T(定时器)、C(计数器)、DB(数据块寄存器)和L(本地数据寄存器);辅助标识符有:X(位)、B(字节)、W(字)、D(双字)。4.2.2寻址方式所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。S7-300有4种寻址方式:立即寻址、存储器直接寻址、存储器间接寻址和寄存器间接寻址。,1、立即寻址立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以唯一形式隐含在指令中。下面各条指令操作数均采用了立即寻址方式。SET/把RLO置1OWW#16#A320/将常量W#16#A320与累加器1“或”运算L27/把整数27装入累加器1LC#0100/把BCD码常数0100装入累加器12、存储器直接寻址存储器直接寻址,简称直接寻址。该寻址方式在指令中直接给出操作数的存储单元地址。存储单元地址可用符号地址(如SB1、KM等)或绝对地址(如I0.0、Q4.1等)。下面各条指令操作数均采用了直接寻址方式。AI0.0/对输入位I0.0进行“与”逻辑操作SL20.0/把本地数据位L20.0置1=M115.4/使存储区位M115.4的内容等于RLO的内容LIB10/把输入字节IB10的内容装入累加器1TDBD12/把累加器1中的内容传送给数据双字DBD12中,3、存储器间接寻址存储器间接寻址,简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“”内。地址指针可以是字或双字,对于地址范围小于65535的存储器可以用字指针;对于其他存储器则要使用双字指针。存储器间接寻址的双字指针的格式如图4.5所示。,图4.5寄存器间接寻址的指针格式,4.3位逻辑指令,位逻辑指令包含位逻辑运算指令、定时器指令、计数器指令和位测试指令等。可以使用位逻辑指令扫描布尔操作数的状态,通过“与(AND)”、“或(OR)”、“异或(XOR)”及其组合操作实现逻辑操作。所产生的结果(“1”或“0”)称为逻辑运算结果,存储在状态字的“RLO”中。逻辑操作结果(RLO)用于赋值、置位/复位布尔操作数,也用于控制定时器和计数器的运行。4.3.1触点与线圈在LAD(梯形图)程序中,通常使用类似继电器控制电路中的触点符号及线圈符号来表示PLC的位元件,被扫描的操作数(用绝对地址或符号地址表示)则标注在触点符号的上方,如图4.6所示。,图4.6触点符号的表示方式,1、常开触点对于常开触点(动合触点),则对“1”扫描相应操作数。在PLC中规定:若操作数是“1”则常开触点“动作”,即认为是“闭合”的;若操作数是“0”,则常开触点“复位”,即认为是“打开”的。常开触点所使用的操作数是:I、Q、M、L、D、T、C。2、常闭触点常闭触点(动断触点)则对“0”扫描相应操作数。在PLC中规定:若操作数是“1”则常闭触点“动作”,即触点“断开”;若操作数是“0”,则常闭触点“复位”,即触点“闭合”。常闭触点所使用的操作数是:I、Q、M、L、D、T、C。3、输出线圈(赋值指令)输出线圈与继电器控制电路中的线圈一样,如果有电流(信号流)流过线圈(RLO=“1”),则被驱动的操作数置“1”;如果没有电流流过线圈(RLO=“0”),则被驱动的操作数复位(置“0”)。输出线圈只能出现在梯形图逻辑串的最右边。输出线圈等同于STL程序中的赋值指令(用等于号“=”表示)。输出线圈所使用的操作数是:Q、M、L、D。,4、中间输出在梯形图设计时,如果一个逻辑串很长不便于编辑时,可以将逻辑串分成几个段,前一段的逻辑运算结果(RLO)可作为中间输出,存储在位存储器(I、Q、M、L或D)中,该存储位可以当作一个触点出现在其他逻辑串中。中间输出只能放在梯形图逻辑串的中间,而不能出现在最左端或最右端,如图4.7所示。,(a)带中间输出的梯形图(b)不带中间输出的等效梯形图图4.7带中间输出和不带中间输出的梯形图程序,4.3.2位逻辑运算指令,4.3.2位逻辑运算指令位逻辑运算指令是对“0”或“1”的布尔操作数进行扫描,经过相应的位逻辑运算,将逻辑运算结果“0”或“1”送到状态字的RLO位。1、“与”和“与非”(A,AN)指令逻辑“与”在梯形图里是用串联的触点回路表示的,如果串联回路里的所有触点皆闭合,该回路就通“电”了。如图4.8所示。,图4.8“与”逻辑指令,2、“或”和“或非”(O,ON)指令逻辑“或”在梯形图里是用并联的触点回路表示的,被扫描的操作数标在触点上方。在图4.9中,只要有一个触点闭合,输出0.1的信号状态就为“1”。,图4.9“或”和“或非”逻辑梯形图,3、“异或”和“异或非”(X,XN)指令图4.10是“异或”逻辑梯形图,它类似“或”和“或非”指令,用于扫描并联回路能否“通电”。,图4.10“异或”逻辑梯形图,4、输出指令逻辑输出指令又称为赋值操作指令,该操作把状态字中RLO的值赋给指定的操作数(位地址)。表4.4列出了操作数的数据类型和所在的存储区。,表4.4输出指令,【例4-1】用“与”、“或”、“输出”指令编写电机启动停止控制程序。编程元件地址分配:启动按钮SB1(常开触点),I0.1;停止按钮SB2(常闭触点),I0.2;接触器线圈KM,Q0.0。用梯形图编写的控制程序如图4.11所示。,图4.11电机启停控制梯形图程序,4.4.3置位和复位指令置位复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻址位的信号状态被置1或清0;若RLO是0,则被寻址位的信号保持原状态不变。置位复位指令有关内容见表4.5。表4.5置位复位指令,(a)复位指令操作,(b)置位操作指令图4.12置位复位指令,【例4.2】用置位与复位指令编制传送带运动控制程序。如图4.13所示为一个传送带,在传送带的起点有两个按钮:用于启动的S1和用于停止的S2。在传送带的尾端也有两个按钮:用于启动的S3和用于停止的S4。要求能从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停止。,图4.13传送带示意图,地址分配,梯形图程序,图4.14控制传送带程序,4.4.4RS和SR触发器如果置位/复位指令用功能框图表示就构成了触发器。该功能框有两个输入端,分别是置位输入端S和复位输入端R,有一个输出Q(位地址)。触发器可分为两种类型:置位优先型(RS触发器,当R和S驱动信号同时为“1”时,触发器最终为置位状态)和复位优先型(SR触发器,当R和S驱动信号同时为“1”时,触发器最终为复位状态)。触发器指令和操作数指令见表4.6。,表4.6RS触发器,RS触发器分为置位优先和复位优先型两种,置位优先型RS触发器的R端在S端之上,当两个输入端都为1时,下面的置位输入最终有效。既置位输入优先,触发器或被复位或保持复位不变,如图4.15所示。,图4.15置位优先型RS触发器,4.4.5位测试指令,当信号状态变化时就产生跳变沿。当从0变到1时,产生一个上升沿(或正跳沿);若从1变到0,则产生一个下降沿(或负跳沿)。S7中有两类跳变沿检测指令,一种是对RLO的跳变沿检测的指令,另一种是对触点跳变沿直接检测的梯形图方块指令。具体内容见表4.7。,表4.7跳变沿检测指令,图4.16是使用RLO正跳沿检测指令的例子。这个例子中,若CPU检测到输入I1.0有一个正跳沿,将使得输出Q4.0的线圈在一个扫描周期内通电。对输入I1.0常开触点扫描的RLO值存放在存储位M1.0中。,图4.16RLO正跳沿检测,图4.17是使用触点负跳沿检测指令的例子。图中,由给出需要检测的触点编号(I0.3),(M0.0)用于存放该触点在前一个扫描周期的状态。,图4.17触点负跳沿检测,【例4.3】设计故障信息显示电路,若故障信号I0.0为1,使Q4.0控制的指示灯以1HZ的频率闪烁。操作人员按复位按钮I0.1后,如故障信息消失,指示灯熄灭。如果没有消失,指示灯转为常亮,直至故障消失。分析:故障信息显示程序如图4.18所示,在设置CPU属性时令M1为时钟存储器字节,其中的M1.5提供周期为1S的时钟脉冲。出现故障时,将I0.0提供的故障信号用M0.1锁存起来,使Q4.0控制的指示灯以1Hz的频率闪烁。按复位按钮I0.1后,将故障锁存信号M0.1复位为0状态,如果这时故障以消失,指示灯熄灭。如果没有消失,M0.1的常闭触点与I0.0的常开触点组成的串联电路使指示灯转为常亮,直至故障消失,I0.0变为0状态。,图4.18故障信息显示梯形图程序,4.5定时器与计数器指令,4.5.1定时器指令1、定时器的种类定时器是PLC中的重要部件,它用于实现或监控时间序列。定时器是一种由位和字组成的复合单元,定时器的触点由位表示,其定时时间值存储在字存储器中。不同的CPU模块,用于定时器的存储区域也不同,最多允许使用64512个定时器。在S7-300中有5种定时器可供选择:脉冲定时器(SP)、扩展定时器(SE)、接通延时定时器(SD)、带保持的接通延时定时器(SS)和断电延时定时器(SF)。2、定时器的组成在CPU的存储器中留出了定时器区域,用于存储定时器的定时时间值。每个定时器有一个16位的字和一个二进制位,定时器的字用来存放它当前的定时时间值,定时器触点的状态由它的位的状态来决定。用定时器地址(T和定时器号,例如T6)来存取它的时间值和定时器位,带操作数的指令存取定时器位,带字操作数的指令存取定时器的时间值。不同的CPU支持32512个定时器,在S7-300中,最多允许使用256个定时器。,3、定时器的表示方法S7中的定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。采用减计时,定时时间到后会引起定时器触点的动作。时间值以二进制格式存放,定时器的第0位到第11位存放二进制格式的定时值,第12、13位存放二进制格式的时基,如图4.19所示。表4.8给出了可能出现的组合情况。表4.8给出了可能出现的组合情况。,图4.19累加器1低字的内容(定时值127,时基1s),表4.8时基与定时范围,设置定时时间,用户需给累加器1装入需要的数值,为避免格式错误,用户可以按下列的形式将时间预置值装入累加器的低位字:1)十六进制数W#16#wxyz,其中,w=时间基准,取值为0,1,2或3,分别表示时基为10ms,100ms,1s或10s;xyz为定时值,取值范围为1999;2)直接使用S5中的时间表示法装入定时数值,例如:S5T#aH_bM_cS_dMS,其中,H=小时,M=分钟,S=秒,MS=毫秒;a、b、c、d为用户设置的值。可输入的最大时间值为9990s或2H-46M_30S。例如S5T#1H_12M_18S为1h12min18s;S5T#18S为18秒。,4、定时器梯形图方块指令,1)S5脉冲定时器脉冲定时器的功能类似于数字电路中上升沿触发的单稳态电路,图4.19中的指令框中,S为脉冲定时器的设置输入端,TV为预置值输入端,R为复位输入端;Q为定时器位输出端,BI输出16进制格式的当前时间值,BCD输出当前时间值的BCD码。,图4.19脉冲定时器指令,在I0.0提供的启动输入信号S的上升沿,脉冲定时器开始定时,输出Q04.0变为1。定时器的当前时间值等于TV端输入的预置值(即初值)减去启动后的时间值。定时时间到时,当前时间值变为0,Q输出变为0状态。在定时期间,如果I0.0的常开触点断开,则停止定时,当前时间值便为0,Q0.0的线圈断电。工作时序如图4.20,图4.20中的t是定时器的预置值。R是复位输入端,在定时器输出为1时,如果复位输入I0.1由0变为1,定时器被复位,复位后输出Q0.0变为0状态,当前时间值和时标被请0。BI输出端输出不带时基的十六进制整数格式的定时器当前值,BCD输出端输出BCD码格式的当前时间值和时基。,图4.20脉冲定时器时序,2)S5扩展脉冲定时器S5扩展脉冲定时器如图4.21,各个输入输出端的意义与S5脉冲定时器相同。,图4.21扩展脉冲定时器指令,在启动输入信号S的上升沿,脉冲定时器开始定时,在定时期间,Q输出端为1状态,直到定时结束。在定时期间即使S输入变为0状态,仍继续定时,Q输出端为1状态,直到定时结束。在定时期间,如果S输入又由0变为1状态,定时器被重新启动,开始以预置的时间值定时。,R输入有0变为1状态时,定时器被复位,停止定时。复位后Q输出端变为0状态,当前时间和时标被清0。工作时序图如图4.22所示。,图4.22扩展脉冲定时器时序,3)S5开通延时计时器接通延时定时器是使用最多的定时器,定时器各输入端和输出端的意义和S5脉冲定时器相同,如图4.23。,图4.23开通延时定时器指令,在启动输入信号S的上升沿,定时器开始定时。定时器的当前时间值等于预设值TV减去启动后的时间值。如果定时期间S的状态一直为1,定时时间到时,当前时间值变为0,Q输出端变为1状态,使Q0.2的线圈通电。此后如果S输入由1变为0,Q输出端的信号也变为0。在定时期间,如果S输入由1变为0,则停止定时,当前时间值保持不变。S又变为1时,又从预设值开始定时,工作时序图如图4.24。R是复位输入信号,定时器的S输入为1时,不管定时时间是否已到,只要复位输出R由0变为1,定时器都要被复位,复位后当前时间和时基被清0。如果定时时间已到,复位后输出Q由1变为0。,图4.24开通延时计时器时序,4)S5保持型接通延时定时器定时器各输入端和输出端的意义与S5定时器相同,如图4.25所示。在启动输入信号S的上升沿,定时器开始定时,工作时序图如图4.26所示,定时期间及输入S变为0,仍然继续定时。定时时间到时,输出Q变为1并保持。在定时期间,如果输入S又由0变为1,定时器被重新启动,又从预置值开始定时。不管输入S是什么状态,只要复位输入R从0变为1,定时器就被复位,输出变为0。,图4.25保持型开通延时定时器,图4.26保持型开通延时定时器时序,图4.26保持型开通延时定时器时序5)S5断开延时定时器定时器各输入端和输出端的意义与S5脉冲延时器相同,如图4.27。在启动输入信号S的上升沿,定时器的Q输出信号变为1状态,当前时间值为0。在S输入的下降沿,定时器开始定时。定时时间到时,输出Q变为0状态,正在定时的时候,如果S信号由0变为1,定时器的时间值保持不变,停止定时。如果输入S重新变为0,定时器从预置值开始重新定时。,复位输入I0.1为1状态时,定时器被复位,时间值被清0,输出Q变为0状态。S5断开延时定时器工作时序图如图4.28。,图4.27断开延时定时器,图4.28断开延时定时器工作时序图,5、定时器线圈指令1)脉冲定时器线圈脉冲定时器线圈的功能和时序图和S5脉冲定时器的相同,定时器位为1时,定时器的常开触点闭合,常闭触点断开。在图4.29中,当I0.0的常开触点由断开变为接通时,定时器开始定时,T0的常开触点闭合。定时时间到时,T0的常开触点断开。在定时期间,如果I0.0变为0状态,或者复位输入I0.1变为1状态,T0的常开触点都将断开,定时器的当前值被清0。,图4.29脉冲定时器线圈2)扩充的脉冲定时器线圈在图4.30中,当I0.2的常开触点由断开变为接触时,定时器T1开始定时,在定时期间,T1的常开触点闭合。定时时间到时,T1的常开触点断开。在定时期间,即使I0.2变为0状态,仍继续定时。定时期间如果I0.2又由0状态变为1状态,定时器被重新启动。复位输入I0.3由0变为1状态时,T1被复位,其常开触点断开。,3)接通延时定时器线圈如图4.31当I0.4的常开触点由断开变为接通时,定时器T2开始定时,如果I0.4一直为1,定时时间到时,T2的常开触点闭合。定时期间如果SD的线圈断电,T2的当前时间保持不变。线圈重新通电时,又从预置值开始定时。复位输入I0.5变为1时,T2的常开触点断开,时间被清0。,图4.30扩充的脉冲定时器线圈,4)保持型接通延时定时器线圈如图4.32,当I0.6的常开触点由断开变为接通时,定时器开始定时。定时期间即使T3的线圈断电,仍继续定时。定时时间到时,T3的定时器位变为1,其常开触点闭合。只有复位输入I0.7变为1,才能使T3复位,复位后其定时器位变为0,常开触点断开。在定时期间,I0.6的常开触点如果断开后又变为接通,定时器将被重新启动,以设置的预置值重新开始定时。,图4.31接通延时定时器线圈,5)断开延时定时器线圈如图4.33,当I1.0的常开触点由断开变为接通时,T4的输出变为1,其常开触点闭合。在I1.0的下降沿,定时器开始定时。定时器到时,T5的时间值变为0,其常开触点断开。在定时期间,如果I1.0的常开触点由断开变为接通,定时器的时间值保持不变,停止定时。如果I1.0的常开触点重新断开,定时器从预置值开始重新启动定时。复位输入I1.1为1状态时,定时器被复位,时间值被清0,Q4.4的线圈断电。,图4.32保持型接通延时定时器线圈,对于以上不同形式的定时器指令,一般的选择原则是:1、如果要求输入信号为1的时间等于定时器的设定时间,且要求输入与输出信号状态一致时,可选择脉冲定时器SP;2、如果要求输出信号为1的时间等于定时器的设定时间,但不要求输入与输出信号状态一致,不考虑输入信号为1的时间长短,可选择扩展定时器SE;3、如果要求设定时间到且输入信号仍为1时,输出信号才从0变到1,可选择接通延时定时器SD;,图4.33断开延时定时器线圈,4、如果要求设定时间到时,输出信号才从0变到1,而不考虑输入信号此时的状态及为1的时间长短可选择保持型接通延迟定时器SS;5、如果要求输入信号从0变到1时,输出信号也从0变化到1,当输入信号从1变化到0才开始延迟,延迟时间到时输出信号才从1变化到0,可选择断开延迟定时器SF。【例4.4】脉冲定时器应用:优先抢答器设计,图4.32抢答器示意图,设计说明:参赛者要抢答主持人所提问题时,需抢先按下桌上的按钮;指示灯亮后需待主持人按下“复位”键R后才熄灯;对初中班学生照顾,只要按下SB11和SB12中任一个按钮灯HL1都亮;对高三班学生限制,只有SB31和SB32都按下时灯HL3才亮;若在主持人按下“开始”按钮S后10s内有抢答按钮压下,则电磁铁YC得电,使彩球摇动,以示竞赛者得到一次幸运的机会;如果定时到仍未有抢答,则禁止继续抢答,如图4.32。参考答案:端子接线图,如图4.33.,图4.33抢答器端子接线图,I/O地址分配表,如图4.34,图4.34抢答器I/O地址分配表,控制程序如图4.35,设置抢答定时器,初中组抢答控制,高一组抢答控制,图4.35抢答器的梯形图程序,高三组抢答控制,【例4.5】扩展脉冲定时器应用电动机延时自动关闭控制。控制要求:按动起动按钮S1(I0.0),电动机M(Q4.0)立即起动,延时5分钟以后自动关闭。起动后按动停止按钮S2(I0.1),电动机立即停机。控制程序如图4.36。,图4.36电动机延时自动关闭控制梯形图,【例4.6】接通延时定时器和脉冲定时器应用用定时器构成一脉冲发生器,当满足一定条件时,能够输出一定频率和一定占空比的脉冲信号。控制要求:当按钮S1(I0.0)按下时,输出指示灯H1(Q4.0)以灭2s,亮1s规律交替进行。,(方法1:使用接通延时定时器),(方法2:使用脉冲定时器),图4.37应用接通延时定时器和脉冲定时器构成脉冲发生器梯形图,【例4.7】接通延时定时器的应用电动机顺序起停控制。控制要求:如图4.38所示,某传输线由两个传送带组成,按物流要求,当按动起动按钮S1时,皮带电机Motor_2首先起动,延时5s后,皮带电机Motor_1自动起动;如果按动停止按钮S2,则Motor_1立即停机,延时10s后,Motor_2自动停机。,图4.38电机顺序起停控制示意图,图4.40I/O地址分配表,图4.39电机顺序起停控制接线端子图,图4.41电机顺序起停控制梯形图程序,【4.8】闪烁灯控制程序。某信号灯HL,当开关S1接通后,就以灭1S、亮2S的频率不断闪烁。IO地址分配:本例中只有一个输入,开关S1,编程地址为I0.0;1个输出,信号灯HL,编程地址为Q4.0。因为信号灯点亮和熄灭的时间不同,所以需要两个定时器T1和T2,T1的时间设定值为2S,T2的时间设定值为1S。控制程序如下:,图4.42信号灯闪烁控制程序,【4.9】定时器扩展应用。在S7-300中,单个定时器的最大计时范围是9990s(2H_46M_30S),如果超过这个范围,可以采用两个或多个定时器级联的方法来扩展计时范围。现在考虑一个要求延时为5个小时的控制任务。假定T1的时间设定值为2H_20M,T2的时间设定值为2H_40M,则T1+t2=5H。其控制程序如图所示。,图4.43两个定时器级联梯形图,【4.10】用定时器设计周期和占空比可调的震荡电路。图4.44中I0.0的常开触点接通后,T8的线圈通电,开始定时。2S后定时时间到,T8的常开触点接通,使Q4.7变为1状态,同时T9开始定时。3S后T9的定时时间到,它的常闭触点断开使T8的线圈断电,T8的常开触点断开,使Q4.7和T9的线圈断电。下一个扫描周期因T9的常闭触点接通,T8又从预置值开始定时,以后Q4.7的线圈将这样的周期性地通电和断电,直到I0.0变为0状态。Q4.7线圈通电和断电的时间分别等于T9和T8的预置值。振荡电路实际上是一个有正反馈的电路,T8和T9通过它们的触点分别控制对方的线圈,形成了正反馈。,图4.44振荡电路梯形图,4.5.2计数器指令计数器是PLC提供的一个基本功能,S7系列PLC的CPU中有专门的计数器存储区,计数器存储区的大小由CPU的型号决定。例如:CPU313C的PLC计数存储区为256个计数器,即C0-C255。每个计数器有一个16位的字和一个二进制的位,计数器的字用来存放它的当前值,计数器触点的状态由它的位的状态来决定。计数器指令是存取计数器存储区的唯一功能。S7300中有3种计数器可供选择:加计数器(CU)、减计数器(CD)和加减技术器(CUD)。与定时器指令一样,计数器指令在梯形图中也有两种表示形式:计数器线圈指令表4.9和计数器方框指令表4.10。两者可实现相同的功能,用户可根据实际需要选择使用。表4.9计数器线圈指令表,表4.10计数器方框指令表,1、加计数器如图4.45的指令框中,S为加计数器的设置输入端,PV为设置值输入端,CU为加计数脉冲输入端,R为复位输入端;Q为计数器位输出端,CV输出十六进制格式的当前计数值,BCD输出当前计数值的BCD码。,图4.45加计数器梯形图在“设置”输入信号I0.1的上升沿,将预置值PV指定的值送入计数器字。在“加计数脉冲”输入信号I0.0的上升沿,如果计数值小于999,计数值加1。“复位”输入信号I0.2为1时,计数器被复位,计数值被清0。计数值大于0时计数器位即输出Q为1;计数值为0时,计数器复位也为0。,如果在用“设置”输入S设置计数器时CU输入为1,即使信号没有变化,下一个扫描周期也会计数。2、加计数器线圈设置计数值线圈SC用来设置计数值,该指令仅在RLO的上升沿(由0变为1)时执行,此时预置值被送入指定的计数器。图4.46中I0.2的触点由断开变为接通时,预置值6给送入计数器C10。图中标有CU的线圈为加计数线圈。在I0.0的上升沿,如果计数值小于6,计数值加1。复位输入I0.3为1时,计数器被复位,计数值被清0。,图4.46加计数线圈,3、减计数器在图4.47中的设置输入S的上升沿,用PV指定的值预置减计数器。在减计数输入信号CD上升沿,如果计数值大于0,计数值减1。复位输入R为1时,计数器被复位,计数值被清0。计数值大于0时计数器的输出Q为1;计数值为0时,Q为0。如果在设置计数器时CD输入为1,即使信号没有变化,下一扫描周期也会计数。,图4.47减计数器梯形图,4、减计数器线圈图4.48中标有CD的线圈为减计数线圈,I0.5的触点由断开变为接通时,预置值5被送入计数器C11。在I0.4的上升沿,如果计数值大于0,计数值减1.计数值非0时,C11的常开触点闭合,为0时c11的常开触点断开。复位输入I0.6为1时,计数器被复位,计数值被清0。,图4.48减计数器线圈,【4.11】用计数器扩展定时器的定时范围。s7300的定时器的最常定时时间为9990s,如果需要更长的定时时间,可以使用图4.49所示的电路。I0.0为0状态时,计数器C0被复位。I0.0变为1状态时,其常开触点接通,使T11和T12组成的震荡电路开始工作,计数器的预置值999被送入计数器C0。I0.0的常闭触点断开,C0被解除复位。振荡电路的振荡周期为T11和T12预置值之和,图中的振荡电路相当于周期为4小时的时钟脉冲发生器。每隔4小时,当T12的定时时间到,T11的常开触点由接通变为断开,其脉冲的下降沿通过减计数线圈CD使C0的计数值减1。计满999个数(即3996H)C0的当前值减为0,它的常闭触点闭合,使Q5.4的线圈通电。总的定时时间等于震荡电路的振荡周期乘以C0的计数预置值。,图4.49定时器范围的扩展,5、加减计数器在设置输入S的上升沿,见图4.50,用PV指定的预置值设置加减计数器。复位输入R为1时,计数器被复位,计数值被清0。在加计数输入信号CU的上升沿,如果计数器值小于999,计数器加1。在减计数器输入信号CD的上升沿,如果计数器值大于0,计数值减1。如果两个计数输入均为上升沿,两条指令均被执行,计数值保持不变。计数值大于0时输出信号Q为1;计数值为0时,Q亦为0。如果在设置计数器时CU或CD输入为1,即使信号没有变化,下一扫描周期也会计数。,图4.50加减计数器梯形图方块,4.5.3CPU的时钟存储器在S7系列PLC的CPU的位存储器M中,可以任意指定一个字节,如MB100作为时钟脉冲存储器,当PLC运行时,MB100的各个位能周期性地改变二进制值,即产生不同频率或周期的时钟脉冲。时钟存储器字节产生的时钟脉冲与存储器位的关系见表4.11。表4.11时钟脉冲与存储器位的关系,图4.51硬件配置画面,图4.52选择CPU模板,图4.53设置时钟存储器【例4.12】时钟存储器与计数器的应用。当定时器不够用时,可以将计数器扩展为定时器。图4.54中给出了用减计数器扩展定时器的控制程序,程序中使用了CPU的时钟存储器,设置MB10为时钟存储器,由表4-11可知M10.0的变化周期为0.1s。,图4.54减计数器扩展定时器的控制程序4.6数据处理指令数据处理指令包括数据传送指令与数据转换指令,其中输出传送包括数据装入与传送指令。4.6.1装入和传送指令装入(L,Load)指令和传送(T,Transfer)指令用于在存储区之间或存储区与过程输入、过程输出之间交换数据。CPU执行这些指令不受逻辑操作结果RLO的影响。数据装入L和数据传送T指令通过累加器进行数据交换。累加器是CPU中的一种专用寄存器,可以作为“缓冲器”。数据的传送和交换一般是通过累加器进行的,而不是在存储区直接进行。在S7-300中,有两个32位的累加器:累加器1和累加器2。当执行装入指令L时,是将源操作数装入累加器1中,而累加器原有的数据移入累加器2中,累加器2中原有的内容被覆盖。当执行传送指令T时,是将累加器1中的内容写入目的存储区中,累加器的内容保持不变。L和T指令可以对字节(8位)、字(16位)、双字(32位)数据进行操作,当数据长度小于32位时,数据在累加器1中右对齐(低位对齐),其余各位填0。装入指令与传送指令见表4.12。,表4.12装入指令与传送指令表,4.6.2梯形图中方块传送指令在梯形图中,用MOVE功能框图表示装入和传送指令,指令框的输入端在左边,输出端在右边。能传送数据长度为8位、16位或32位的所有基本数据类型。如果允许输入端EN为1,则允许执行传送操作,使输出OUT等于输入IN,并使允许输出端ENO为1。如果允许输入端EN为0,则不进行传送操作,并使允许输出端ENO为0。梯形图传送指令及操作数见表4.13。表4.13传送指令梯形图及操作数,【例4.13】当输入I0.2为1时,执行传送操作,将MW20的内容传送到DBW20,且使输出Q4.0为1。梯形图控制程序如图4.55。,图4.55传送指令梯形图控制程序4.6.2转换指令转换指令是将累加器1中的数据进行数据类型转换,转换的结果仍存放在累加器1中。STEP7能够实现的转换操作有:BCD码和整数到其他类型转换指令;整数和实数的变换指令;实数取整指令;累加器1调整指令。,1、BCD和整数的转换,见表4.14。表4.14BCD和整数的转换,【例4.14】如果输入I0.1为1,则将MD0的内容以7位BCD码的格式装入累加器1,并将其转换为长整数,存放到MD10,如果转换不执行,则输出Q4.0为1。梯形图控制程序如图4.56所示。,4.7运算指令STEP7的运算指令包括算数运算指令、字逻辑运算指令和比较指令。4.7.1算数运算指令算术运算指令包括整数(INT)运算指令、双整数(DINT)运算指令和实数(REAL)运算指令。无论是哪种数据类型均有以下四种运算指令:1、加法运算指令ADD2、减法运算指令SUB3、乘法运算指令MUL4、除法运算指令DIV,整数、双整数以及实数在指令中的简写分别为I、DI、R,因此由指令的名称可以判断指令的功能,例如ADD_R,表示实数指令加法指令。DIV_DI,表示双整数除法指令。MUL_I,表示整数乘法指令。表4.15给出了算数运算的方框图指令,图中的EN为使能输入端,ENO为使能输出端。IN1和IN2为操作数输入端,OUT为运算结果输出端。在加减法指令中,IN1+IN2=OUT,IN1-IN2=OUT在乘除法指令中,IN1*IN2=OUT,IN1/IN2=OUT表4.15算数运算的方框图指令,在图4.57中,如果I0.6为1,MD2中的双整数除以MD6中的双整数,运算结果传送到MD10。如果运算未能成功地完成,则状态字的OV和OS位为1,且使ENO为0,Q4.1为1状态;若运算成功地完成,则状态字的OV被清0,OS位保持原状态不变,且使RLO为1。,图4.57整数除法指令,【例4.15】压力变送器的量程为0-10Mpa,输出信号为4-20mA,S7-300的模拟量输入模块的量程为4-20mA,转换后的数字量为0-27468,设转换后的数字为N,试求以kPa为单位的压力值。解:0-10MPa(0-10000kPa)对应转换后的数字0-27468,转换公式为P=(10000N)/27468kPa(4-1)值得注意的是在运算时一定要先乘后除,否则会损失原数据的精度。假设A/D转换后的数据N在MD6中,以kPa为单位的运算结果在MW10中。图4.58是实现式4-1中的运算的梯形图程序。,图4.58算术运算指令,如果某一方框指令的运算结果超出了整数运算指令的允许范围,状态位OV和OS将为1,使能输入ENO为0,不会执行在该方框指令右边的指令。值得注意的是梯形图中的MUL_I指令的运算结果为16位整数,A/D转换后的最大数字为27468,乘以10000以后可能超过16位整数的允许范围,所以需要使用双字乘法指令MUL_DI。双字除法指令DIV_DI的运算结果为双字,但是由式4-1可知运算实际结果不会超过16位整数的最大值(32767),所以可以用MOVE指令将MD20的低字MW22中16位整数运算结果传送到MW10中。4.7.2字逻辑运算指令字逻辑运算指令按照布尔逻辑将成对的字(16位)和双字(32位)逐位进行比较。字逻辑运算指令见表4.16。表4.16字逻辑运算指令,【例4.17】如果I0.0为1,则只允许将MW0的第0-3位的数据状态传送到MW4的对应位,而将MW0的其余屏蔽。如果传送成功,则Q4.0为1。根据要求,可采用逻辑字与(AW)指令,控制程序如图4.59所示。,图4.59逻辑字与控制程序,4.7.3比较指令比较指令用于对累加器2和累加器1中的数据进行比较。数据类型可以是整数、长整数或实数,但是要确保进行比较的两个数据的类型相同。如果比较条件满足,则RLO为1,否则为0。梯形图中的方框比较指令用来比较两个同类型的数,与语句表中的比较指令类似,可以比较整数(I)、双整数(D)和浮点数(R),比较指令见表4.17。表4.17比较指令表,在使能输入信号为1时,比较IN1和IN2输入的两个操作数。方框比较指令在梯形图中相当于一个常开触点,可以与其他触点串联和并联。如果被比较的两个数满足指令的大于、等于、小于条件,比较结果为真,等效触点闭合,指令框有能流流过。【例4.18】比较指令应用实例图4.60示出包括两台传送带的系统,在两台传送带之间有一个仓库区。传送带1将包裹运送至临时仓库区。传送带1靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。传送带2将临时库区中的包裹运送至装货场,在这里货物由卡车运送至顾客。传送带2靠近库区一端安装的光电传感器确定已有多少包裹从库区运送至装货场。含5个指示灯的显示盘表示临时仓库区的占用程度。图4.61给出了启动显示盘上指示灯的梯形逻辑程序。,图4.60装有计数器和比较器的仓库区,程序段1:MW200中保存计数器C1当前值的BCD码,Q12.1指示“仓库区不空”,程序段2:Q12.0指示“仓库区空”,程序段3:如果计数器值大于等于50,则“仓库区装入50%”指示灯亮。,程序段4:如果计数器值大于等于90,则“仓库区装入90%”指示灯亮。,程序段5:如果计数器值大于等于100,则“仓库区装满”指示灯亮,用输出Q15.4将传送带1连锁。,图4.61启动显示盘上指示灯的梯形逻辑,思考与练习题,1、S7-300系列PLC如何直接寻址?什么是间接寻址?如何使用?2、采用间接寻址方式设计一段程序,将10个字节的数据从100MB开始的存储单元转移到从200MB开始的存储单元。3、试设计一个3H40M的长延时电路程序。4、编写一段程序计算sin120cos10的值。5、试设计一个照明灯的控制程序。当按下接在I0.0上的按钮后,接在Q4.0上的照明灯可发光30s,如果在这段时间内又有人按下按钮,则时间间隔从头开始。这样可确保在最后一次按完按钮后,灯光可维持30s照明。6、试设计一个抢答器电路程序。出题人提出问题,3个答题人按动按钮,仅仅是最早按的人面前的信号灯亮。然后出题人按动复位按钮后,引出下一个问题。7、设计一个对锅炉鼓风机和引风机控制的梯形图程序。控制要求:(1)开机时首先启动引风机,10s后自动启动鼓风机;(2)停止时立即关断鼓风机,20s后自动关断引风机。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!