资源描述
,单击此处编辑母版样式,单击此处编辑幻灯片母版样式,第二层,第三层,第四层,第五层,2019/11/4,#,2024/11/30,1,热 烈 欢 迎,参加,PLC,技术培训班的,全体学员!,北京精诚智合教学科技有限公司,2024/11/30,2,梯形图编程语言指令系统介绍,这一讲的目的是指导应用梯形图编程语言(,LAD),来建立一个用户程序。,这一讲也包括一个参考部分,说明梯形图语言单元的功能和助记符,以指令系统分类来介绍各个指令的功能,最后通过一些应用实例来介绍,LAD,指令的用法,。,2024/11/30,3,梯形图编程语言指令系统介绍,为理解这一讲,要求具备自动化技术的一般知识。,除此之外,要求有计算机的基本修养和类似,PC,机的其它工作设备(例如,编程器)的知识,这些设备在操作系统,MS Windows 2000,专业版或,MS Windows XP,专业版下运行。,这些基本知识我们在第一和第二讲中已经作了详细的介绍。,这一讲的内容适用于,STEP 7,编程软件包,5.3,版,也符合,IEC 61131-3,标准。,2024/11/30,4,梯形图编程语言指令系统介绍,LAD,相应于国际电工委员会,IEC 61131-3,标准中定义的,“,梯形图逻辑,”,(,“,Ladder logic,”,),语言。更多的细节请参考在,STEP 7,文件,NORM_TBL.WRI,中的标准表。,有关,IEC 61131-3,可编程控制器的编程语言标准,我们在第四讲中还要作进一部的说明。,这一讲要使用,STEP 7,的标准软件,所以使用时应该熟悉这一软件的处理,而且应该阅读过相应的文件。,下面两个表,列出了学员们进一步学习的有关的文件:,2024/11/30,5,梯形图编程语言指令系统介绍,Siemens,公司的,文件包,“,STEP 7 Reference,”,(,“,STEP 7,参考,”,)有关,STEP 7,文件的概要说明。,2024/11/30,6,梯形图编程语言指令系统介绍,为了有效的使用梯形图逻辑手册,需要熟悉,S7,程序的理论,它们可以在,STEP,7,文件的在线帮助中找到。,2024/11/30,7,梯形图编程语言指令系统介绍,(,分类),1,位逻辑指令,2024/11/30,8,梯形图编程语言指令系统介绍,(,分类),位逻辑指令综述:,位逻辑指令用两个数字,,“,1,”,和,“,0,”,,进行运算。这两个数字构成了二进制数字系统的基础。,“,1,”,和,“,0,”,称为二进制的数字或,“,位,”,。当用触点和线圈表示时,,“,1,”,指有效或被激活,,“,0,”,指无效或没有被激活。,位逻辑指令解释,1,和,0,的信号状态,按照波尔逻辑的算法组合它们,,这些组合最后产生的结果是,1,或,0,,这一结果称为,“,逻辑运算结果,”,(,RLO,)。,由位逻辑运算指令触发的逻辑运算能实现多种多样的功能。,2024/11/30,9,梯形图编程语言指令系统介绍,(,分类),位逻辑指令能实现以下的功能:,2024/11/30,10,梯形图编程语言指令系统介绍,(,分类),下面的指令对,RLO,作出响应,:,2024/11/30,11,梯形图编程语言指令系统介绍,(,分类),另外一些指令对,“,正跳沿,”,或,“,负跳沿,”,的转移作出响应,并实现以下功能,:,2024/11/30,12,梯形图编程语言指令系统介绍,(,分类),2,比较指令,2024/11/30,13,梯形图编程语言指令系统介绍,(,分类),3,转换指令,2024/11/30,14,梯形图编程语言指令系统介绍,(,分类),4,计数器指令,2024/11/30,15,梯形图编程语言指令系统介绍,(,分类),5,数据块指令,6,逻辑控制指令,2024/11/30,16,梯形图编程语言指令系统介绍,(,分类),7,整数算术运算指令,2024/11/30,17,梯形图编程语言指令系统介绍,(,分类),8,浮点算术运算指令,2024/11/30,18,梯形图编程语言指令系统介绍,(,分类),8,浮点算术运算指令,2024/11/30,19,梯形图编程语言指令系统介绍,(,分类),9,赋值指令,2024/11/30,20,梯形图编程语言指令系统介绍,(,分类),10,程序控制指令,2024/11/30,21,梯形图编程语言指令系统介绍,(,分类),11,移位和旋转指令,2024/11/30,22,梯形图编程语言指令系统介绍,(,分类),12,状态位指令,2024/11/30,23,梯形图编程语言指令系统介绍,(,分类),13,定时器指令,2024/11/30,24,梯形图编程语言指令系统介绍,(,分类),14,字逻辑指令,2024/11/30,25,梯形图编程语言实际应用举例,梯形图编程语言中的每一条梯形图逻辑指令触发一个特殊的操作。把这些指令组合成一个程序,就能实现各种各样的自动化任务。这一讲提供一些使用梯形图逻辑的实际应用例子:,1) 应用逻辑指令控制皮带输送机,2),应用逻辑指令检测皮带输送机的运动方向,3),应用定时器指令产生一个时钟脉冲,4),应用计数和比较指令保持储存空间的跨距,5),应用集成运算指令解决计算问题,6),对加热炉设定加热时间,2024/11/30,26,梯形图编程语言实际应用举例,应用实例中所使用到的一些指令:,2024/11/30,27,位逻辑指令举例,例1:皮带输送机控制:,下面的图表示一台皮带输送机,可以用电气方法实现控制。在皮带输送机的入口端有两个按钮:,S1,用作启动用,,S2,用作停止用。在皮带输送机的终端也有两个按钮,S3,用作启动用,,S4,用作停止用。因此,在皮带输送机的两端均可实现启/停。,另外,当输送的物件到达皮带终端时,传感器,S5,将使皮带输送机停止。,2024/11/30,28,位逻辑指令举例,绝对地址和符号地址编程:,应用绝对地址或符号地址来表示皮带输送机的各个部件,从而编写一个控制皮带输送机的程序。,2024/11/30,29,位逻辑指令举例,为使所选择的符号地址与绝对地址相对应,需要建,立一个符号地址表(参看,STEP 7,在线提示)。,2024/11/30,30,位逻辑指令举例,皮带输送机控制梯形图逻辑程序:,Network1:,按任何一个启动按钮启动电动机。,2024/11/30,31,位逻辑指令举例,皮带输送机控制梯形图逻辑程序:,Network2:,按任何一个停止按钮或打开皮带输送机终端的,常闭触点停止电动机运行。,2024/11/30,32,位逻辑指令举例,例2:检测皮带输送机的方向:,下面的图表示一台皮带输送机,装有两个光电栅,(,PEB1,和,PEB2,),,它们设计用来检测在皮带输送机上的包装物的运动方向。每一个光电栅的功能像一个常开触点。,2024/11/30,33,位逻辑指令举例,绝对地址和符号地址编程,:,应用绝对地址或符号地址来表示皮带输送系统的各,个部件,从而编写一个激活皮带输送系统方向显示,的程序。,为使所选择的符号地址与绝对地址相对应,需要建,立一个符号地址表(参看,STEP 7,在线提示)。,2024/11/30,34,位逻辑指令举例,在下面的例子中使用了 指令:逻辑运算结,果(,RLO),正跳沿检测。现在对该指令作一说明。,符号:,说明:-(,P)-,(,RLO,正跳沿检测)检测沿存储器位,(,“,地址,”,)从,“,0,”,到,“,1,”,的信号变化,在执行这一指令后,,显示,RLO=,“,1,”,。,当前,RLO,的信号状态与沿存储器位,(,“,地址,”,)的信号状态进行比较。如果在执行本指令之,前,,“,地址,”,的信号状态是,“,0,”,而,RLO,是,“,1,”,,则执行本指令之后,,RLO,将是,“,1,”,(脉冲),如果是其他情况则,RLO,是,“,0,”,。本指令之前的的,RLO,状态储存在,“,地址,”,中。,2024/11/30,35,位逻辑指令举例,2024/11/30,36,位逻辑指令举例,沿存储器位,M 0.0,,,保存旧的,RLO,状态。当,RLO,有由,“,0,”,到,“,1,”,的信号变化,程序跳转到标号为,CAS1,的入口。,2024/11/30,37,位逻辑指令举例,检测皮带输送系统运动方向的梯形图逻辑程序:,Network 1:,如果在输入端,I,0.0,上,有信号状态从,0,到,1,的转移(正跳沿),同时在输入端,I,0.1,上的信号状,态是,0,则表示在皮带上的包装物品正在左移。,2024/11/30,38,位逻辑指令举例,Network 2:,如果在输入端,I,0.1,上,有信号状态从,0,到,1,的转移(正跳沿),同时在输入端,I,0.0,上的信号状,态是,0,则表示在皮带上的包装物品正在右移。如果,两个光电栅中有一个是断开的,则表示在两个光电,栅之间有包装物存在。,2024/11/30,39,位逻辑指令举例,Network 3:,如果两个光电栅都断开,则表示在皮带上,两个光电栅之间无包装物品。方向指示灯同时熄灭。,2024/11/30,40,定时器指令举例,时钟脉冲发生器,当需要生成一个周期重复的信号时,可以应用时钟脉冲发生器或闪烁继电器。一个时钟脉冲发生器通常是一个信号发生系统,是用来控制指示灯的闪烁的。,在使用,S7-300,系统时,可以在专门的组织方块(,OBx,)应用时间驱动过程,产生时钟脉冲发生器功能。然而,在下面的梯形图逻辑程序中,举例说明应用定时器功能产生一个时钟脉冲。该例子表明怎样用一个定时器实现无齿轮的时钟脉冲发生器。,2024/11/30,41,定时器指令举例,产生一个时钟脉冲的梯形图逻辑程序(脉冲的空/宽比,为,1:1,),Network1:,如果定时器,T1,的信号状态为,“,0,”,在,T1,中装,入时间值,250,ms,并启动,T1,作为扩展脉冲定时器。,2024/11/30,42,定时器指令举例,Network2:,定时器的状态临时保存在辅助存储器标记中。,Network3,:如果定时器,T1,的信号状态为,1,则跳转至标号,M001,。,2024/11/30,43,定时器指令举例,Network4,:,当定时器,T1,的定时时间过后,存储器字,100,将增加,1,。,Network5,:,MOVE,指令允许输出不同的时钟频率到输出端子从,Q12.0,到,Q13.7,。,2024/11/30,44,定时器指令举例,信号检查,对定时器,T1,信号时序的检查,常闭触点 产生下,面的逻辑运算结果(,RLO,)。,只有极短的时间周期(,OB1,执行周,期)信号状态为,“,1,”,。,2024/11/30,45,定时器指令举例,每隔,250,ms,,,M,0.2,的,RLO,位变成,“,0,”,(持续,1,个,OB1,周期)。不执行跳转指令,而执行下一条指令,让存储,器字,MW,100,增加,“,1,”,。,特定频率的生成,从存储器字节,MB,101,和,MB,100,的各个位,可以得到以,下各种频率:,(,见下页的列表),2024/11/30,46,定时器指令举例,2024/11/30,47,定时器指令举例,存储器字节,MB 101,各个位的信号状态,2024/11/30,48,定时器指令举例,存储器字节,MB 101,位,1,(,M101.1,),的信号状态,2024/11/30,49,计数器和比较指令举例,用计数器和比较器计算仓储区域的货物存储数,下面的图表示一个系统有两台皮带输送机和在它们之间有一个临时的仓储区域。皮带输送机,1,将包装的物品输送到临时仓储区。在皮带输送机,1,的终端接近仓储区有一个光电管,检测有多少个货物被送达仓储区。皮带输送机,2,从临时仓储区运送货物到货场,再由货场用卡车运送给顾客。在皮带输送机,2,的始端接近仓储区处安装一个光电管,检测有多少个货物离开临时仓储区运送到了货场。有一个显示屏,上有,5,个指示灯,指示临时仓储区的货物存放程度。,2024/11/30,50,计数器和比较指令举例,2024/11/30,51,计数器和比较指令举例,激活显示屏上指示灯的梯形图程序:,Network1,:,计数器,C1,对,CU,输入端上每一个从,“,0,”,到,“,1,”,变化的信号进行加法计数以及对,CD,输入端上从,“,0,”,到,“,1,”,变化的信号进行减法计数。在,S,输入端上信,号从,“,0,”,到,“,1,”,的变化,将,PV,赋值至计数器。在,R,输,入端上信号从,“,0,”,到,“,1,”,的变化,将复位计数器的值,为,“,0,”,。,MW200,包含,C1,的当前计数值。,Q12.1,指示,临时仓储区有货物。,2024/11/30,52,计数器和比较指令举例,2024/11/30,53,计数器和比较指令举例,Network2,:,Q12.0,指示临时仓储区空。,Network3,:,如果,50,小于或等于计数器的当前值(或,者说如果计数器的当前值大于或等于,50,)。指示,“,仓,储区有,50%,货,”,的指示灯变亮。,2024/11/30,54,计数器和比较指令举例,Network4,:,如果计数器的当前值大于或等于,90,指示,“,仓储区有,90%,货,”,的指示灯变亮。,Network5,:如果计数器的当前值大于或等于,100,指示“仓储区全满”的指示灯变亮。,2024/11/30,55,整数算术运算指令举例,数学运算问题求解,用一个编程例子来表示怎样运用3条整数算,术运算指令完成下面的算术表达式:,MW 4=(IW 0+DBW 3)X15)/MW 0,梯形图逻辑程序,Network1,:,打开数据方块,DB1,2024/11/30,56,整数算术运算指令举例,Network2,:,输入字,IW,0,与共享数据块字,DBW,3,(,数据块必须已经进行定义,而且已经打,开)相加,其,“,和,”,装入存储器字,MW,100,。,然后,MW,100,与,15,相乘,答数存放在存储器字,MW,102,中。,MW,102,再被,MW,0,除,最后的结,果存放在,MW,4,中。,2024/11/30,57,字逻辑指令举例,加热炉,加热炉的操作人员通过启动按钮启动加热炉加热。操,作人员用拨盘开关设置加热时间的长短,如下图所示。,操作人员的设置值用二进制十进位码(,BCD,码)格式,表示,以秒为单位。,2024/11/30,58,字逻辑指令举例,2024/11/30,59,字逻辑指令举例,梯形图逻辑程序,Network1,:,如果定时器,T1,运行,启动加热。,Network2,:,如果定时器,T1,运行,这一返回指令结束过程。,2024/11/30,60,字逻辑指令举例,Network3,:,屏蔽输入位,I0.4,到,I0.7,(,亦即,将它,们置成,“,0,”,。不使用这些拨盘开关的输入位。按,照(字),“,与运算,”,字指令的运算,将,16,位拨盘开,关的输入与,“,字,”,W#16#0FFF,组合。将结果装入,存储器字,MW1,。,为了设置时基为秒,将预置值与,值,W#16#2000,进行(字),“,或运算,”,字的指令运算,,结果将位,13,置成,“,1,”,,将位,12,置成,“,0,”,。,2024/11/30,61,字逻辑指令举例,2024/11/30,62,字逻辑指令举例,Network4,:如果按动启动按钮,启动扩展脉冲定时器,T1,装入预置值,MW2,(由上述逻辑运算得到的值)。,2024/11/30,63,模拟量输入转换为工程值,举例,上,图表示模拟量输入转换为工程值的数学模型,按照这一模型,我们编制了一个功能程序,FC101,。,2024/11/30,64,模拟量输入转换为工程值,举例,下面我们对,FC100,功能作一点说明,下图是编程,FC100,之前要完成编制的变量登记表,表中包含输入变量,IN,,输出变量,OUT,,输入,/,输出变量,IN_OUT,,暂存变量,TEMP,和返回变量,RETURN,。在我们的例子中变量登记表是这样定义的,见下面表:,2024/11/30,65,模拟量输入转换为工程值,举例,2024/11/30,66,模拟量输入转换为工程值,举例,2024/11/30,67,模拟量输入转换为工程值,举例,2024/11/30,68,模拟量输入转换为工程值,举例,2024/11/30,69,模拟量输入转换为工程值,举例,2024/11/30,70,模拟量输入转换为工程值,举例,2024/11/30,71,模拟量输入转换为工程值,举例,上图从,Network 1,到,Network 4,是将变量登记表上的整型输入(,INT,)先转换成双整型(,DINT,)数据,再转换成实型数据(,REAL,)。,Network 5,是完成图,7.1,运算公式中的(,PIWx,LIMIT_L,)项的运算。,从,Network 6,到,Network 8,,完成公式:,Ex =E,0,+(ACTUAL_H,ACTUAL_L) /,(LIMIT_H,LIMIT_L)(PIWx,LIMIT_L),的运算,,Ex,就是输出变量“,ACTUAL_VALUE_R”,。,当,OB1,调用,FC 100,时,变量登记表中的输入和输出都会有对应的具体的物理含义。,2024/11/30,72,数字工程量输入值转换为模拟量输出,举例,PLC,模拟量输出模板输出的物理信号,一般是标准的,4-20 ma,、,0-10 v,、或,+/- 10 v,等信号,这一信号可能是作为某一工程量的设定值,例如,我们希望给出某一电动机的转速设定值(,rpm,),或者某一温度设定值(,0,C,),某一压力设定值(,bar,),因此,同上例子情况类同,对使用模拟量输出模板时也要进行处理。其数学模型见下图:,2024/11/30,73,数字工程量输入值转换为模拟量输出,举例,2024/11/30,74,数字工程量输入值转换为模拟量输出,举例,2024/11/30,75,数字工程量输入值转换为模拟量输出,举例,2024/11/30,76,数字工程量输入值转换为模拟量输出,举例,2024/11/30,77,数字工程量输入值转换为模拟量输出,举例,2024/11/30,78,数字工程量输入值转换为模拟量输出,举例,2024/11/30,79,数字工程量输入值转换为模拟量输出,举例,2024/11/30,80,数字工程量输入值转换为模拟量输出,举例,图,7.6,是,FC101,功能的程序细节(用梯形图语言表示)。,在图,7.6,上,从,Network 1,到,Network 3,,是减法运算,完成图,7.4,公式中的项(,Ex,LIMIT_L,),,(,ACTUAL_H,ACTUAL_L,)和,(LIMIT_H,LIMIT_L),的运算,根据不同的数据类型用不同的减法运算符。,Network 4,和,Network 5,完成数据类型的转换,将(,INT,)转换成(,DINT,),再转换成(,REAL,)类型。,Network 6,完成下面公式的运算:,2024/11/30,81,数字工程量输入值转换为模拟量输出,举例,但是,Network 6,运算的结果是实型数据,而送至模拟量输出板的,PQWx,应该是整型数据。,Network 7,是用来实现实型数据转换为整型数据,这里用了“,ROUND”,指令和“,MOVE”,指令,“,ROUND”,指令是取最接近于实型数据的双整型数据来替代实型数据,“,MOVE”,指令可以将双整型数据传送到一个整型数据的地址中,这时双整型数据的高字就被舍去了。,
展开阅读全文