PLC编程及应用课件第6章.ppt
《PLC编程及应用课件第6章.ppt》由会员分享,可在线阅读,更多相关《PLC编程及应用课件第6章.ppt(195页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章可编程序控制器可编程序控制器的功能指令的功能指令6.1 6.1 S7-200S7-200的指令规约与数据类型检查的指令规约与数据类型检查 6.2 6.2 程序控制指令程序控制指令 6.3 6.3 局部变量表与子程序局部变量表与子程序 6.4 6.4 数据处理指令数据处理指令 6.5 6.5 数学运算指令数学运算指令 6.6 6.6 中断程序与中断指令中断程序与中断指令 6.7 6.7 高速计数器与高速脉冲输出指令高速计数器与高速脉冲输出指令 返回返回6.1 6.1 S7-200S7-200的指令规约的指令规约 6.1.1使能输入与使能输出使能输入与使能输出6.1.2梯形图中的网络与指
2、令梯形图中的网络与指令6.1.3其他规约其他规约返回返回后一页后一页前一页前一页1EN与与ENO在在梯梯形形图图中中,用用方方框框表表示示功功能能指指令令,在在SIMATIC指指令令系系统统中中将将这这些些方方框框称称为为“盒盒子子”(Box),在在IECll31-3指指令令系系统统中中将将它它们们称称为为“功功能能块块”。功功能能块块的的输输入入端端均均在在左左边边,输输出出端端均均在在右右边边(见见图图6-1)。梯梯形形图图中中有有一一条条提提供供“能能流流”的的左左侧侧垂垂直直母母线线,图图中中I2.4的的常常开开触触点点接接通通时时,能能流流流流到到功功能能块块DEC_B的的数数字字量
3、量输输入入端端EN(EnableIN,使使能能输输入入),该该输输入入端有能流时,功能指令端有能流时,功能指令DEC_B才能被执行。才能被执行。返回返回后一页后一页前一页前一页如如果果功功能能块块在在EN处处有有能能流流而而且且执执行行时时无无错错误误,则则ENO(EnableOUT,使使能能输输出出)将将能能流流传传递递给给下下一一元元件件。如如果果执执行行过过程程中中有有错错误误,能能流流在在出出现现错错误误的的功功能块终止。能块终止。ENO可可作作为为下下一一功功能能块块的的EN输输入入,即即几几个个功功能能块块可可以以串串联联在在一一行行中中(见见图图6-1),只只有有前前一一功功能能
4、块块被被正正确确执执行行,后后一一功功能能块块才才能能被被执执行行。EN和和ENO的的操作数均为能流,数据类型为操作数均为能流,数据类型为BOOL(布尔布尔)型。型。图中的功能块图中的功能块DEC_B表示将字节变量表示将字节变量VB0的值减的值减1,并将结果送回,并将结果送回VB0,该功能块的输入和输出可以该功能块的输入和输出可以是不同的变量。是不同的变量。返回返回后一页后一页前一页前一页语语句句表表(STL)中中没没有有EN输输入入,对对于于要要执执行行的的STL指指令令,栈栈顶顶的的值值必必须须为为1,指指令令才才能能执执行行。与与梯梯形形图图中中的的ENO相相对对应应,语语句句表表设设置
5、置了了ENO位位,可可用用AENO(AndENO)指指令令存存取取ENO位位,AENO用用来来产产生与功能块的生与功能块的ENO相同的效果。相同的效果。图图6-1中的梯形图对应的语句表为:中的梯形图对应的语句表为:LDI2.4DEC_BVB0AENOMOV_BVB0,VB2 返回返回后一页后一页前一页前一页S7-200系统手册的指令部分给出了指令的描述,使系统手册的指令部分给出了指令的描述,使ENO=0的错误条件、受影响的的错误条件、受影响的SM位、该指令支持位、该指令支持的的CPU型号和操作数表,该表中给出了每个操作数型号和操作数表,该表中给出了每个操作数允许的存储器区、寻址方和数据类型。允
6、许的存储器区、寻址方和数据类型。表表6-1列出了列出了S7-200CPU存储器的范围和特性,表存储器的范围和特性,表6-2给出了给出了S7-200操作数的范围。操作数的范围。2网络网络在在梯梯形形图图中中,程程序序被被划划分分为为称称为为网网络络(Network)的的独独立立的的段段,网网络络由由触触点点、线线圈圈和和功功能能块块组组成成。在在梯梯形形图图中中给给出出了了网网络络的的编编号号,如如网网络络2。能能流流只只能能从从左左往往右右流流动动,网网络络中中不不能能有有断断路路、开开路路和和反反方方向向的的能能流。允许以网络为单位给梯形图程序加注释。流。允许以网络为单位给梯形图程序加注释。
7、返回返回STL程程序序不不使使用用网网络络,如如果果用用Network这这个个关关键键词词对对程序分段,可以将程序分段,可以将STL程序转换为梯形图程序。程序转换为梯形图程序。返回返回返回返回3.指令的输入与输出指令的输入与输出必须有能流输入才能执行的功能块或线圈指令称为必须有能流输入才能执行的功能块或线圈指令称为条件输入指令,它们不能直接连接到左侧母线上,条件输入指令,它们不能直接连接到左侧母线上,如果需要无条件执行这些指令,可以用接在左侧母如果需要无条件执行这些指令,可以用接在左侧母线上的线上的SM0.0(该位始终为该位始终为1)的常开触点来驱动它)的常开触点来驱动它们。们。有的线圈或功能
8、块的执行与能流无关,如标号指令有的线圈或功能块的执行与能流无关,如标号指令LBL和顺序控制指令和顺序控制指令SCR等,称为无条件输入指令,等,称为无条件输入指令,应将它们直接接在左侧母线上。应将它们直接接在左侧母线上。不能级连的指令块不能级连的指令块ENO没有输出端和能流流出。没有输出端和能流流出。JMP、CRET、LBL、NEXT、SCR和和SCRE等属于等属于这类指令。这类指令。返回返回返回返回触点比较指令没有能流输入时,输出为触点比较指令没有能流输入时,输出为0,有能流输,有能流输入时,入时,输出与比较结果有关。输出与比较结果有关。4、其他规约、其他规约SIMATIC程序编辑器中的直接地
9、址由存储器区和地程序编辑器中的直接地址由存储器区和地址组成,如址组成,如I0.0。IEC程序编辑器用程序编辑器用%表示直接地址,表示直接地址,如如%I0.0“INPUT1”为全局符号名,符号为全局符号名,符号“#INPUT1”中的中的“#”号表示该符号是局部变量,号表示该符号是局部变量,红色部号红色部号“?.?”或或“?”表示需要输入的地址表示需要输入的地址或数值。或数值。梯形图中的规约:梯形图中的规约:“”是一个开路符号,或需要能流连接。是一个开路符号,或需要能流连接。返回返回“|”表示输出是一个可选的能流,用于指令的级表示输出是一个可选的能流,用于指令的级连。连。符号符号“”表示有一个值或
10、能流可以使用。表示有一个值或能流可以使用。返回返回6.2 6.2 程序控制指令程序控制指令 表表6-11是是程程序序控控制制指指令令的的列列表表。下下面面对对各各种种程程序序控控制制指令分别加以说明。指令分别加以说明。621循环指令循环指令在在控控制制系系统统中中经经常常遇遇到到需需要要重重复复执执行行若若干干次次同同样样的的任务的情况,这时可以使用循环指令。任务的情况,这时可以使用循环指令。名名称称循环开始循环开始循环结束循环结束指令指令FORNEXT指令表格式指令表格式FORINDX,INIT,FINALNEXT梯形图格式梯形图格式FOR指令表示循环的开始,指令表示循环的开始,NEXT指令
11、表示循环的结指令表示循环的结束,并将堆栈的栈顶值设为束,并将堆栈的栈顶值设为1。驱动。驱动FOR指令的逻辑条指令的逻辑条件满足时,反复执行件满足时,反复执行FOR与与NEXT之间的指令。在之间的指令。在FOR指令中,需要设置指针或当前循环次数计数器指令中,需要设置指针或当前循环次数计数器(1NDX)、起始值、起始值(1NIT)和结束值和结束值(FINAL)。返回返回后一页后一页前一页前一页假假设设INIT等等于于1,FINAL等等于于10,每每次次执执行行FOR与与NEXT之之间间的的指指令令后后,INDX的的值值加加1,并并将将结结果果与与结结束束值值比比较较。如如果果INDX大大于于结结束
12、束值值,则则循循环环终终止止,FOR与与NEXT之之间间的的指指令令将将被被执执行行10次次。如如果果起起始始值大于结束值,则不执行循环。值大于结束值,则不执行循环。指指令令输入输入/输输出出操作数操作数数据类型数据类型FORINDXVW、IW、QW、MW、SW、SMW、LW、T,C,AC,*VD,*AC,*LDINTINITVW、IW、QW、MW、SW、SMW、LW、T,C,AIW,AC,常数,常数,*VD,*AC,*LDINTFINALVW、IW、QW、MW、SW、SMW、LW、T,C,AIW,AC,常数,常数,*VD,*AC,*LDINT返回返回后一页后一页前一页前一页FOREN ENO
13、INDX INIT FINAL FOREN ENOINDX INIT FINAL 21(NEXT)(NEXT)返回返回(2)再再次次启启动动循循环环时时,它它将将初初始始值值INIT传传送送到到指指针针INDX中。中。FOR指指令令必必须须与与NEXT指指令令配配套套使使用用。允允许许循循环环嵌嵌套套,即即FORNEXT循循环环在在另另一一个个FORNEXT循循环环之之中中,最最多多可可嵌套嵌套8层层。下面是使用下面是使用FOR/NEXT循环的注意事项:循环的注意事项:(1)如果启动了)如果启动了FOR/NEXT循环,除非在循环内循环,除非在循环内部修改了结束值,否则循环就一直进行,直到循环部
14、修改了结束值,否则循环就一直进行,直到循环结束。结束。在循环的执行过程中,可以改变循环的参数。在循环的执行过程中,可以改变循环的参数。解读下列梯形图程序功能解读下列梯形图程序功能返回返回6.2.2跳转与标号指令跳转与标号指令条条 件件 满满 足足(栈栈 顶顶 的的 值值 为为 1)时时,跳跳 转转 指指 令令JMP(Jump)使使 程程 序序 流流 程程 转转 到到 对对 应应 的的 标标 号号LBL(1abel)处处,标标号号指指令令用用来来指指示示跳跳转转指指令令的的目目的的位位置置。JMP与与LBL指指令令中中的的操操作作数数n为为常常数数0255,JMP和和对对应应的的LBL指指令令必
15、必须须在在同同一一程序块中程序块中。名名称称跳跳转转标标号号指令指令JMPLBL指令表格式指令表格式JMPNLBLN梯形图格式梯形图格式(1)JMP和和LBL指令必须成对使用于主程序、子程序或中断程序中。主程序、指令必须成对使用于主程序、子程序或中断程序中。主程序、子程序或中断程序之间不允许相互跳转。若在步进程序中使用跳转指令,则必子程序或中断程序之间不允许相互跳转。若在步进程序中使用跳转指令,则必须使须使JMP和和LBL指令在同一个指令在同一个SCR段中。段中。(2)多条跳转指令可对应同一标号,但不允许一个跳转指令对应多个相同标号,多条跳转指令可对应同一标号,但不允许一个跳转指令对应多个相同
16、标号,即在程序中不能出现两个相同的标号。即在程序中不能出现两个相同的标号。(3)执行跳转指令时,跳过的程序段中各元件的状态如下。执行跳转指令时,跳过的程序段中各元件的状态如下。各输出线圈保持跳转前的状态。各输出线圈保持跳转前的状态。计数器停止计数,当前值保持跳转之前的计数值。计数器停止计数,当前值保持跳转之前的计数值。1ms、10ms定时器保持跳转之前的工作状态,原来工作的继续工作,定时器保持跳转之前的工作状态,原来工作的继续工作,到设置值后可以正常动作,当前值要累计到到设置值后可以正常动作,当前值要累计到32767才停止。才停止。100ms定时器在跳定时器在跳转时停止工作,但不会复位,当前值
17、保持不变,跳转结束后若条件允许可继续转时停止工作,但不会复位,当前值保持不变,跳转结束后若条件允许可继续计时,但已不能准确计时了。计时,但已不能准确计时了。(4)标号指令标号指令LBL一般放置在一般放置在JMP指令之后,以减少程序执行时间。若要指令之后,以减少程序执行时间。若要放置在放置在JMP指令之前,则必须严格控制跳转指令的运行时间,否则会引起运指令之前,则必须严格控制跳转指令的运行时间,否则会引起运行瓶颈,导致扫描周期过长。行瓶颈,导致扫描周期过长。(1)CRET多用于子程序内部,在条件满足时起结束子程序的作用。多用于子程序内部,在条件满足时起结束子程序的作用。在子程序的最后,编程软件将
18、自动添加子程序无条件结束指令在子程序的最后,编程软件将自动添加子程序无条件结束指令RET。(2)子程序可以嵌套运行,即在子程序内部又对另一子程序进行调用。子程序可以嵌套运行,即在子程序内部又对另一子程序进行调用。子程序的嵌套深度最多为子程序的嵌套深度最多为8层。在中断程序中仅能有一次子程序调用。可层。在中断程序中仅能有一次子程序调用。可以进行子程序自身的递归调用,但使用时要慎重。以进行子程序自身的递归调用,但使用时要慎重。(3)当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶值置值置1,堆栈中的其他值为,堆栈中的其他值为0,子
19、程序完全占有控制权。子程序执行结束时,子程序完全占有控制权。子程序执行结束时,通过子程序结束指令自动恢复原来的逻辑堆栈值,调用程序重新取得控制权。通过子程序结束指令自动恢复原来的逻辑堆栈值,调用程序重新取得控制权。(4)累加器累加器AC可以在调用程序和被调子程序之间自由传递数据,所以累可以在调用程序和被调子程序之间自由传递数据,所以累加器的值在子程序调用时既不保存又不恢复。加器的值在子程序调用时既不保存又不恢复。5)带参数的子程序调用带参数的子程序调用可以带参数调用子程序,这种方式扩大了子程序的使用范围,增加了调用的可以带参数调用子程序,这种方式扩大了子程序的使用范围,增加了调用的灵活性。灵活
20、性。返回返回后一页后一页前一页前一页6.2.3停止指令停止指令停停止止指指令令STOP使使可可编编程程序序控控制制器器从从运运行行模模式式进进入入停停止止模模式式,立立即即终终止止程程序序的的执执行行。如如果果在在中中断断程程序序中中执执行行停停止止指指令令,中中断断程程序序立立即即终终止止,并并忽忽略略全全部部等等待待执执行行的的中中断断,继继续续执执行行主主程程序序的的剩剩余余部部分分,并并在在主主程程序序的的结结束束处处,完完成成从从运运行行方方式式至至停止方式的转换。停止方式的转换。返回返回后一页后一页前一页前一页6.2.4监控定时器复位指令监控定时器复位指令监监控控定定时时器器(Wa
21、tchdog)又又称称看看门门狗狗,它它的的定定时时时时间间为为300ms,每每次次扫扫描描它它都都被被自自动动复复位位一一次次,正正常常工工作作时时如如果果扫扫描描周周期期小小于于300ms,监监控控定定时时器器不不起起作作用用。如如果果强强烈烈的的外外部部干干扰扰使使可可编编程程序序控控制制器器偏偏离离正正常常的的程程序序执执行行路路线线,监监控控定定时时器器不不再再被被周周期期性性地地复位,定时时间到时,可编程序控制器将停止运行。复位,定时时间到时,可编程序控制器将停止运行。在以下情况下扫描周期可能大于在以下情况下扫描周期可能大于300ms,监控定监控定时器会停止执行用户程序:时器会停止
22、执行用户程序:(1)用户程序很长。用户程序很长。(2)出现中断事件时,执行中断程序的时间较长。出现中断事件时,执行中断程序的时间较长。返回返回(3)循环指令使扫描时间延长。循环指令使扫描时间延长。为为了了防防止止在在正正常常情情况况下下监监控控定定时时器器动动作作,可可将将监监控控定定时时器器复复位位(WDR)指指令令插插人人到到程程序序中中适适当当的的地地方方,使使监监控控定定时时器器复复位位。如如果果FORNEXT循循环环程程序序的的执执行行时时间间可可能能超超过过监监控控定定时时器器的的定定时时时时间间,可可将将WDR指指令令插插入入到到循循环环程程序序中中。条条件件跳跳转转指指令令JM
23、P若若在在它它对对应应的的标标号号之之后后(即即程程序序往往回回跳跳),可可能能因因连连续续反反复复跳跳步步使使它它们们之之间间的的程程序序被被反反复复执执行行,总总的的执执行行时时间间超超过过监监控控定定时时器器的的定定时时时时间间。为为了了避避免免出出现现这这样样的的情情况况,可可在在JMP指指令令和和对对应应的的标标号号之之间间插插入入WDR指令。指令。使使用用WDR指指令令后后,在在终终止止本本次次扫扫描描之之前前,下下列列操操作作将被禁止:将被禁止:返回返回后一页后一页前一页前一页(1)通信通信(自由口模式除外自由口模式除外)。(2)IO更新更新(立即立即IO除外除外)。(3)强制更
24、新。强制更新。(4)SM位更新位更新(不能更新不能更新SM0(5)运行时间诊断。运行时间诊断。(6)在中断程序中的在中断程序中的STOP指令指令(7)如如果果扫扫描描时时间间超超过过25s,10ms定定时时器器和和100ms定定时时器不能正确累计时间。器不能正确累计时间。如如果果将将CPU的的方方式式开开关关切切换换到到STOP位位置置,1.4s内内CPU转到停止模式。转到停止模式。返回返回后一页后一页前一页前一页6.3 6.3 局部变量表与子程序局部变量表与子程序 6.3.1局部变量表局部变量表1局部变量与全局变量局部变量与全局变量程程序序中中的的每每个个POU(ProgramOrganiz
25、ationalUnit,程程序序组组织织单单元元)均均有有自自己己的的由由64字字节节L储储器器组组成成的的局局部部变变量量表表。它它们们用用来来定定义义有有范范围围限限制制的的变变量量,局局部部变变量量只只在在它它被被创创建建的的POU中中有有效效。与与之之相相反反,全全局局符符号号在在各各POU中中均均有有效效,只只能能在在符符号号表表全全局局变变量量表中定义。表中定义。全全局局符符号号与与局局部部变变量量名名称称相相同同时时,在在定定义义局局部部变变量量的的POU中中,该该局局部部变变量量的的定定义义优优先先,该该全全局局定定义义则则在其它在其它POU中使用。中使用。返回返回局部变量适用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PLC 编程 应用 课件
限制150内