《plc技术培训班(第3讲)梯形图指令系统介绍.ppt》由会员分享,可在线阅读,更多相关《plc技术培训班(第3讲)梯形图指令系统介绍.ppt(115页珍藏版)》请在三一办公上搜索。
1、2023/7/7,1,S7-300/S7-400 PLC培训班第3讲:梯形图编程语言,陈忠华 教授,2023/7/7,2,热 烈 欢 迎,参加PLC技术培训班的全体学员!,北京精诚智合教学科技有限公司,2023/7/7,3,梯形图编程语言指令系统介绍,这一讲的目的是指导应用梯形图编程语言(LAD)来建立一个用户程序。这一讲也包括一个参考部分,说明梯形图语言单元的功能和助记符,以指令系统分类来介绍各个指令的功能,最后通过一些应用实例来介绍LAD指令的用法。,2023/7/7,4,梯形图编程语言指令系统介绍,为理解这一讲,要求具备自动化技术的一般知识。除此之外,要求有计算机的基本修养和类似PC机的
2、其它工作设备(例如,编程器)的知识,这些设备在操作系统MS Windows 2000专业版或MS Windows XP专业版下运行。这些基本知识我们在第一和第二讲中已经作了详细的介绍。这一讲的内容适用于STEP 7编程软件包5.3版,也符合IEC 61131-3标准。,2023/7/7,5,梯形图编程语言指令系统介绍,LAD 相应于国际电工委员会IEC 61131-3标准中定义的“梯形图逻辑”(“Ladder logic”)语言。更多的细节请参考在STEP 7文件NORM_TBL.WRI中的标准表。有关IEC 61131-3 可编程控制器的编程语言标准,我们在第四讲中还要作进一部的说明。这一讲
3、要使用STEP 7的标准软件,所以使用时应该熟悉这一软件的处理,而且应该阅读过相应的文件。下面两个表,列出了学员们进一步学习的有关的文件:,2023/7/7,6,梯形图编程语言指令系统介绍,Siemens公司的文件包“STEP 7 Reference”(“STEP 7 参考”)有关STEP 7 文件的概要说明。,2023/7/7,7,梯形图编程语言指令系统介绍,为了有效的使用梯形图逻辑手册,需要熟悉S7程序的理论,它们可以在STEP 7文件的在线帮助中找到。,2023/7/7,8,梯形图编程语言指令系统介绍(分类),1 位逻辑指令,2023/7/7,9,梯形图编程语言指令系统介绍(分类),位逻
4、辑指令综述:位逻辑指令用两个数字,“1”和“0”,进行运算。这两个数字构成了二进制数字系统的基础。“1”和“0”称为二进制的数字或“位”。当用触点和线圈表示时,“1”指有效或被激活,“0”指无效或没有被激活。位逻辑指令解释1和0的信号状态,按照波尔逻辑的算法组合它们,这些组合最后产生的结果是1或0,这一结果称为“逻辑运算结果”(RLO)。由位逻辑运算指令触发的逻辑运算能实现多种多样的功能。,2023/7/7,10,梯形图编程语言指令系统介绍(分类),位逻辑指令能实现以下的功能:,2023/7/7,11,梯形图编程语言指令系统介绍(分类),下面的指令对RLO作出响应:,2023/7/7,12,梯
5、形图编程语言指令系统介绍(分类),另外一些指令对“正跳沿”或“负跳沿”的转移作出响应并实现以下功能:,2023/7/7,13,梯形图编程语言指令系统介绍(分类),2 比较指令,2023/7/7,14,梯形图编程语言指令系统介绍(分类),3 转换指令,2023/7/7,15,梯形图编程语言指令系统介绍(分类),4 计数器指令,2023/7/7,16,梯形图编程语言指令系统介绍(分类),5 数据块指令,6 逻辑控制指令,2023/7/7,17,梯形图编程语言指令系统介绍(分类),7 整数算术运算指令,2023/7/7,18,梯形图编程语言指令系统介绍(分类),8 浮点算术运算指令,2023/7/7
6、,19,梯形图编程语言指令系统介绍(分类),8 浮点算术运算指令,2023/7/7,20,梯形图编程语言指令系统介绍(分类),9 赋值指令,2023/7/7,21,梯形图编程语言指令系统介绍(分类),10 程序控制指令,2023/7/7,22,梯形图编程语言指令系统介绍(分类),主控继电器功能,2023/7/7,23,梯形图编程语言指令系统介绍(分类),主控继电器功能,2023/7/7,24,梯形图编程语言指令系统介绍(分类),主控继电器功能,2023/7/7,25,梯形图编程语言指令系统介绍(分类),主控继电器功能,2023/7/7,26,梯形图编程语言指令系统介绍(分类),主控继电器功能,
7、2023/7/7,27,梯形图编程语言指令系统介绍(分类),主控继电器功能,2023/7/7,28,梯形图编程语言指令系统介绍(分类),主控继电器功能,2023/7/7,29,梯形图编程语言指令系统介绍(分类),主控继电器功能,2023/7/7,30,梯形图编程语言指令系统介绍(分类),11 移位和旋转指令,2023/7/7,31,梯形图编程语言指令系统介绍(分类),12 状态位指令,2023/7/7,32,梯形图编程语言指令系统介绍(分类),13 定时器指令,2023/7/7,33,梯形图编程语言指令系统介绍(分类)13 定时器指令,13.1 定时器指令综述:有以下的定时器指令S_PULSE
8、 脉冲S5定时器S_PEXT 扩展脉冲S5定时器S_ODT 接通延时S5定时器S_ODTS 接通延时保持S5定时器S_OFFDT 断开延时S5定时器-(SP)脉冲定时器线圈-(SE)扩展脉冲定时器线圈-(SD)接通延时定时器线圈-(SS)接通延时保持定时器线圈-(SA)断开延时定时器线圈,2023/7/7,34,梯形图编程语言指令系统介绍(分类)13 定时器指令,13.2 定时器在存储器中的位置和定时器存储器区域 在CPU的存储器区域中保留有给定时器使用的一个区域,在该区域中对每一个定时器地址保留一个16位字。在梯形图逻辑指令组中支持256个存储器。为了建立定时器字的数量,请参考所使用CPU的
9、技术指标。下面的功能能访问定时器存储器区域:定时器指令通过时钟定时更新定时器字。这一功能是在CPU处于RUN方式,在每一个时基诊断间隔,减小给出的时间值一个单位,直至时间值到零。,2023/7/7,35,梯形图编程语言指令系统介绍(分类)13 定时器指令,13.2 定时器在存储器中的位置和定时器时间值 在定时器字的第0位到第9位,以二进制码格式保存时间值。时间值要指定一个单位数。在时间指定的时间间隔内减少时间值一个单位,刷新定时器时间值,时间值连续减少一直到为零。将时间值以二进制,16进制或BCD码格式装入累加器的低字。用以下二种格式:W#16#wxyz w=时基,(表示时间间隔或分辨率)xy
10、z=以2进制码10进制表示(BCD)时间值,2023/7/7,36,梯形图编程语言指令系统介绍(分类)13 定时器指令,b.ST5#aH_bM_cS_dMS 这里H=小时,M=分钟,S=秒以及MS=毫秒 a,b,c,d是由用户定义的数据 时间是自动选择的,是比最小时间单位低一级的 时基值。允许写入的最大时间值是9,990秒或2H_46M_30S。举例:S5TIME#4S=4秒S5t#2h_15m=2小时15分S5T#1H_12M_18S=1小时,12分,18秒。,2023/7/7,37,梯形图编程语言指令系统介绍(分类)13 定时器指令,时基定时器字的第12位和13位,包含以二进制码表示的时基
11、。时基定义一个时间间隔,在此时间间隔内时间值减小一个单位。最小的时基是10毫秒;最大的时基是10秒。,2023/7/7,38,梯形图编程语言指令系统介绍(分类)13 定时器指令,2023/7/7,39,梯形图编程语言指令系统介绍(分类)13 定时器指令,超过2小时46分30秒的时间值是不能接受的。如果一个值的分辨率对于它的时间范围而言太高的话(例如,2小时10毫秒),则时间值将截短 到有效的分辨率。一般情况下,对S5TIME限制范围和分辨率之间有以下的关系:,2023/7/7,40,梯形图编程语言指令系统介绍(分类)13 定时器指令,2023/7/7,41,梯形图编程语言指令系统介绍(分类)1
12、3 定时器指令,时间单元中的位分配在定时器启动后,定时器单元的内容用来保存时间值。它的第0位到第11位用BCD码格式保存时间值,它的第12位和13位,包含以二进制码表示的时基。下图是定时器值为127,时基为1秒的例子。,2023/7/7,42,梯形图编程语言指令系统介绍(分类)13 定时器指令,读时间值和时基每一个定时器指令提供两个输出,即BI和BCD输出,BI是以二进制格式表示的当前时间值,BCD输出是以BCD码表示的当前时间值。下面是各种定时器的说明:,2023/7/7,43,梯形图编程语言指令系统介绍(分类)13 定时器指令,2023/7/7,44,梯形图编程语言指令系统介绍(分类),1
13、4 字逻辑指令,2023/7/7,45,梯形图编程语言实际应用举例,梯形图编程语言中的每一条梯形图逻辑指令触发一个特殊的操作。把这些指令组合成一个程序,就能实现各种各样的自动化任务。这一讲提供一些使用梯形图逻辑的实际应用例子:1)应用逻辑指令控制皮带输送机2)应用逻辑指令检测皮带输送机的运动方向3)应用定时器指令产生一个时钟脉冲4)应用计数和比较指令保持储存空间的跨距5)应用集成运算指令解决计算问题6)对加热炉设定加热时间,2023/7/7,46,梯形图编程语言实际应用举例,应用实例中所使用到的一些指令:,2023/7/7,47,位逻辑指令举例,例1:皮带输送机控制:下面的图表示一台皮带输送机
14、,可以用电气方法实现控制。在皮带输送机的入口端有两个按钮:S1用作启动用,S2用作停止用。在皮带输送机的终端也有两个按钮S3用作启动用,S4用作停止用。因此,在皮带输送机的两端均可实现启/停。另外,当输送的物件到达皮带终端时,传感器S5将使皮带输送机停止。,2023/7/7,48,位逻辑指令举例,绝对地址和符号地址编程:应用绝对地址或符号地址来表示皮带输送机的各个部件,从而编写一个控制皮带输送机的程序。,2023/7/7,49,位逻辑指令举例,为使所选择的符号地址与绝对地址相对应,需要建立一个符号地址表(参看STEP 7 在线提示)。,2023/7/7,50,位逻辑指令举例,皮带输送机控制梯形
15、图逻辑程序:Network1:按任何一个启动按钮启动电动机。,2023/7/7,51,位逻辑指令举例,皮带输送机控制梯形图逻辑程序:Network2:按任何一个停止按钮或打开皮带输送机终端的 常闭触点停止电动机运行。,2023/7/7,52,位逻辑指令举例,例2:检测皮带输送机的方向:下面的图表示一台皮带输送机,装有两个光电栅(PEB1和PEB2),它们设计用来检测在皮带输送机上的包装物的运动方向。每一个光电栅的功能像一个常开触点。,2023/7/7,53,位逻辑指令举例,绝对地址和符号地址编程:应用绝对地址或符号地址来表示皮带输送系统的各个部件,从而编写一个激活皮带输送系统方向显示的程序。为
16、使所选择的符号地址与绝对地址相对应,需要建立一个符号地址表(参看STEP 7 在线提示)。,2023/7/7,54,位逻辑指令举例,在下面的例子中使用了 指令:逻辑运算结果(RLO)正跳沿检测。现在对该指令作一说明。符号:说明:-(P)-(RLO正跳沿检测)检测沿存储器位(“地址”)从“0”到“1”的信号变化,在执行这一指令后,显示RLO=“1”。当前RLO的信号状态与沿存储器位(“地址”)的信号状态进行比较。如果在执行本指令之前,“地址”的信号状态是“0”而RLO是“1”,则执行本指令之后,RLO将是“1”(脉冲),如果是其他情况则RLO是“0”。本指令之前的的RLO状态储存在“地址”中。,
17、2023/7/7,55,位逻辑指令举例,2023/7/7,56,位逻辑指令举例,沿存储器位M 0.0,保存旧的RLO状态。当RLO有由“0”到“1”的信号变化,程序跳转到标号为CAS1的入口。,2023/7/7,57,位逻辑指令举例,检测皮带输送系统运动方向的梯形图逻辑程序:Network 1:如果在输入端I 0.0上,有信号状态从0到1的转移(正跳沿),同时在输入端I 0.1上的信号状态是0,则表示在皮带上的包装物品正在左移。,2023/7/7,58,位逻辑指令举例,Network 2:如果在输入端I 0.1上,有信号状态从0到1的转移(正跳沿),同时在输入端I 0.0上的信号状态是0,则表
18、示在皮带上的包装物品正在右移。如果两个光电栅中有一个是断开的,则表示在两个光电栅之间有包装物存在。,2023/7/7,59,位逻辑指令举例,Network 3:如果两个光电栅都断开,则表示在皮带上两个光电栅之间无包装物品。方向指示灯同时熄灭。,2023/7/7,60,定时器指令举例,时钟脉冲发生器当需要生成一个周期重复的信号时,可以应用时钟脉冲发生器或闪烁继电器。一个时钟脉冲发生器通常是一个信号发生系统,是用来控制指示灯的闪烁的。在使用S7-300系统时,可以在专门的组织方块(OBx)应用时间驱动过程,产生时钟脉冲发生器功能。然而,在下面的梯形图逻辑程序中,举例说明应用定时器功能产生一个时钟脉
19、冲。该例子表明怎样用一个定时器实现无齿轮的时钟脉冲发生器。,2023/7/7,61,定时器指令举例,产生一个时钟脉冲的梯形图逻辑程序(脉冲的空/宽比为1:1)Network1:如果定时器T1的信号状态为“0”,在T1中装入时间值250ms并启动T1作为扩展脉冲定时器。,2023/7/7,62,定时器指令举例,Network2:定时器的状态临时保存在辅助存储器标记中。,Network3:如果定时器T1的信号状态为1,则跳转至标号M001。,2023/7/7,63,定时器指令举例,Network4:当定时器T1的定时时间过后,存储器字100将增加1。,Network5:MOVE指令允许输出不同的时
20、钟频率到输出端子从Q12.0到Q13.7。,2023/7/7,64,定时器指令举例,信号检查对定时器T1信号时序的检查,常闭触点 产生下面的逻辑运算结果(RLO)。只有极短的时间周期(OB1执行周期)信号状态为“1”。,2023/7/7,65,定时器指令举例,每隔250ms,M 0.2的RLO位变成“0”(持续1个OB1 周期)。不执行跳转指令,而执行下一条指令,让存储器字MW 100增加“1”。特定频率的生成从存储器字节MB 101和MB 100的各个位,可以得到以下各种频率:(见下页的列表),2023/7/7,66,定时器指令举例,2023/7/7,67,定时器指令举例,存储器字节MB 1
21、01各个位的信号状态,2023/7/7,68,定时器指令举例,存储器字节MB 101位1(M101.1)的信号状态,2023/7/7,69,计数器和比较指令举例,用计数器和比较器计算仓储区域的货物存储数下面的图表示一个系统有两台皮带输送机和在它们之间有一个临时的仓储区域。皮带输送机1将包装的物品输送到临时仓储区。在皮带输送机1的终端接近仓储区有一个光电管,检测有多少个货物被送达仓储区。皮带输送机2从临时仓储区运送货物到货场,再由货场用卡车运送给顾客。在皮带输送机2的始端接近仓储区处安装一个光电管,检测有多少个货物离开临时仓储区运送到了货场。有一个显示屏,上有5个指示灯,指示临时仓储区的货物存放
22、程度。,2023/7/7,70,计数器和比较指令举例,2023/7/7,71,计数器和比较指令举例,激活显示屏上指示灯的梯形图程序:Network1:计数器C1对CU输入端上每一个从“0”到“1”变化的信号进行加法计数以及对CD输入端上从“0”到“1”变化的信号进行减法计数。在S输入端上信号从“0”到“1”的变化,将PV赋值至计数器。在R输入端上信号从“0”到“1”的变化,将复位计数器的值为“0”。MW200包含C1的当前计数值。Q12.1指示临时仓储区有货物。,2023/7/7,72,计数器和比较指令举例,2023/7/7,73,计数器和比较指令举例,Network2:Q12.0指示临时仓储
23、区空。,Network3:如果50小于或等于计数器的当前值(或者说如果计数器的当前值大于或等于50)。指示“仓储区有50%货”的指示灯变亮。,2023/7/7,74,计数器和比较指令举例,Network4:如果计数器的当前值大于或等于90,指示“仓储区有90%货”的指示灯变亮。,Network5:如果计数器的当前值大于或等于100,指示“仓储区全满”的指示灯变亮。,2023/7/7,75,整数算术运算指令举例,数学运算问题求解用一个编程例子来表示怎样运用3条整数算术运算指令完成下面的算术表达式:MW 4=(IW 0+DBW 3)X15)/MW 0梯形图逻辑程序Network1:打开数据方块DB
24、1,2023/7/7,76,整数算术运算指令举例,Network2:输入字IW 0与共享数据块字DBW 3(数据块必须已经进行定义,而且已经打开)相加,其“和”装入存储器字MW 100。然后MW 100与15相乘,答数存放在存储器字MW 102中。MW 102再被MW 0除,最后的结果存放在MW 4中。,2023/7/7,77,字逻辑指令举例,加热炉加热炉的操作人员通过启动按钮启动加热炉加热。操作人员用拨盘开关设置加热时间的长短,如下图所示。操作人员的设置值用二进制十进位码(BCD码)格式表示,以秒为单位。,2023/7/7,78,字逻辑指令举例,2023/7/7,79,字逻辑指令举例,梯形图
25、逻辑程序Network1:如果定时器T1运行,启动加热。,Network2:如果定时器T1运行,这一返回指令结束过程。,2023/7/7,80,字逻辑指令举例,Network3:屏蔽输入位I0.4到I0.7(亦即,将它们置成“0”。不使用这些拨盘开关的输入位。按照(字)“与运算”字指令的运算,将16位拨盘开关的输入与“字”W#16#0FFF组合。将结果装入存储器字MW1。为了设置时基为秒,将预置值与值W#16#2000进行(字)“或运算”字的指令运算,结果将位13置成“1”,将位12置成“0”。,2023/7/7,81,字逻辑指令举例,2023/7/7,82,字逻辑指令举例,Network4:
26、如果按动启动按钮,启动扩展脉冲定时器T1,装入预置值MW2(由上述逻辑运算得到的值)。,2023/7/7,83,模拟量输入转换为工程值举例,上图表示模拟量输入转换为工程值的数学模型,按照这一模型,我们编制了一个功能程序FC100。,2023/7/7,84,模拟量输入转换为工程值举例,根据模拟量输入模板的硬件手册,双极型模板的模/数 转换取值范围:,2023/7/7,85,模拟量输入转换为工程值举例,根据模拟量输入模板的硬件手册,单极型模板的模/数 转换取值范围:,2023/7/7,86,模拟量输入转换为工程值举例,下面我们对FC100功能作一点说明,下图是编程FC100之前要完成编制的变量登记
27、表,表中包含输入变量IN,输出变量OUT,输入/输出变量IN_OUT,暂存变量TEMP和返回变量RETURN。在我们的例子中变量登记表是这样定义的,见下面表:,2023/7/7,87,模拟量输入转换为工程值举例,2023/7/7,88,模拟量输入转换为工程值举例,2023/7/7,89,模拟量输入转换为工程值举例,2023/7/7,90,模拟量输入转换为工程值举例,2023/7/7,91,模拟量输入转换为工程值举例,2023/7/7,92,模拟量输入转换为工程值举例,2023/7/7,93,模拟量输入转换为工程值举例,上图从Network 1到Network 4是将变量登记表上的整型输入(IN
28、T)先转换成双整型(DINT)数据,再转换成实型数据(REAL)。Network 5是完成图7.1运算公式中的(PIWxLIMIT_L)项的运算。从Network 6到Network 8,,完成公式:Ex=E0+(ACTUAL_HACTUAL_L)/(LIMIT_HLIMIT_L)(PIWxLIMIT_L)的运算,Ex就是输出变量“ACTUAL_VALUE_R”。当OB1调用FC 100时,变量登记表中的输入和输出都会有对应的具体的物理含义。,2023/7/7,94,数字工程量输入值转换为模拟量输出举例,PLC 模拟量输出模板输出的物理信号,一般是标准的4-20 ma、0-10 v、或+/-1
29、0 v等信号,这一信号可能是作为某一工程量的设定值,例如,我们希望给出某一电动机的转速设定值(rpm),或者某一温度设定值(0C),某一压力设定值(bar),因此,同上例子情况类同,对使用模拟量输出模板时也要进行处理。其数学模型见下图:,2023/7/7,95,数字工程量输入值转换为模拟量输出举例,2023/7/7,96,数字工程量输入值转换为模拟量输出举例,2023/7/7,97,数字工程量输入值转换为模拟量输出举例,2023/7/7,98,数字工程量输入值转换为模拟量输出举例,2023/7/7,99,数字工程量输入值转换为模拟量输出举例,2023/7/7,100,数字工程量输入值转换为模拟
30、量输出举例,2023/7/7,101,数字工程量输入值转换为模拟量输出举例,2023/7/7,102,数字工程量输入值转换为模拟量输出举例,图7.6是FC101功能的程序细节(用梯形图语言表示)。在图7.6上,从Network 1到Network 3,是减法运算,完成图7.4公式中的项(ExLIMIT_L),(ACTUAL_HACTUAL_L)和(LIMIT_HLIMIT_L)的运算,根据不同的数据类型用不同的减法运算符。Network 4和Network 5完成数据类型的转换,将(INT)转换成(DINT),再转换成(REAL)类型。Network 6完成下面公式的运算:,2023/7/7,
31、103,数字工程量输入值转换为模拟量输出举例,但是Network 6运算的结果是实型数据,而送至模拟量输出板的PQWx应该是整型数据。Network 7是用来实现实型数据转换为整型数据,这里用了“ROUND”指令和“MOVE”指令,“ROUND”指令是取最接近于实型数据的双整型数据来替代实型数据,“MOVE”指令可以将双整型数据传送到一个整型数据的地址中,这时双整型数据的高字就被舍去了。,2023/7/7,104,应用FM355 模板进行温度PID控制的编程实例,西门子FM 355-2温度控制模板是专门设计用来实现温度调节过程的PID闭环控制的。下面我们介绍应用这一模板实现温度控制的一个实例:
32、“双向拉伸薄膜生产线”的控制系统,其中,生产线的工艺温度控制,是整个生产线控制系统的重要组成部分。这里举的例子,就是介绍怎样用FM355-2模板来控制挤出挤螺筒各段的温度。下图表示挤出挤温度控制的一个画面。,2023/7/7,105,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,106,应用FM355 模板进行温度PID控制的编程实例,从图上,我们能看到挤出挤的螺筒分成10个加热区,其中1到9区除了电阻加热外,还有鼓风机冷却,每一个段上有一个测量温度的传感器(这里用的是Pt100电阻)。图7.11表示挤出挤螺筒一个段温度控制的电气接线图,图上功率单元上的3、4号端子是控制
33、端,与FM355-2模板的输出端相连接。图7.12是FM355-2模板的前连接器接线图,其中,输入端子2、3、4、5是用来连接温度传感器(Pt100电阻)的,输出端子11连接到功率单元的控制端子,输出端子12是冷端输出,用来控制鼓风机。图7.13是我们在SIMATIC项目管理器的硬件组态中找到FM355-2S模板,从图上我们知道模板的组态地址是PIW 512PIW 527,其中第一个通道的起始地址是PIW 512(输入为双整型4个字节)。用鼠标双击这一行,得到图7.14的PID调节器内部结构。,2023/7/7,107,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,108,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,109,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,110,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,111,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,112,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,113,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,114,应用FM355 模板进行温度PID控制的编程实例,2023/7/7,115,应用FM355 模板进行温度PID控制的编程实例,
链接地址:https://www.31ppt.com/p-5444023.html