PLC功能指令学习教案_第1页
PLC功能指令学习教案_第2页
PLC功能指令学习教案_第3页
PLC功能指令学习教案_第4页
PLC功能指令学习教案_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1PLC功能功能(gngnng)指令指令第一页,共137页。 2梯形图中的指令梯形图中的指令 条件输入指令必须通过触点电路连接到左侧母线上。不需要条件的指令必须直条件输入指令必须通过触点电路连接到左侧母线上。不需要条件的指令必须直接连接在左侧母线上。接连接在左侧母线上。 3能流指示器能流指示器 必须解决开路问题,网络才能成功编译。必须解决开路问题,网络才能成功编译。ENO端的可选能流指示器表示可将其端的可选能流指示器表示可将其他梯形图元件附加到该位置他梯形图元件附加到该位置(wi zhi)。它不影响编译。它不影响编译。 第2页/共136页第1页/共136页第二页,共137页。第3页/共1

2、36页第2页/共136页第三页,共137页。“xx”表示比较表示比较(bjio)运算符:运算符:= 等于等于 、 小于、大于、小于、大于、= 小于等于、小于等于、 = 大于等于、不等于大于等于、不等于“”表示操作数表示操作数IN1,IN2的数据类型及范围:的数据类型及范围: B B(ByteByte):字节比较(无符号整数):字节比较(无符号整数(zhngsh)(zhngsh))。)。I I(INTINT)/ W/ W(WordWord):整数):整数(zhngsh)(zhngsh)比较,(有符号整数比较,(有符号整数(zhngsh)(zhngsh))注意:)注意:LADLAD中用中用“I”“

3、I”,STLSTL中中用用“W”“W”。DWDW(Double WordDouble Word):双字的比较(有符号整数):双字的比较(有符号整数(zhngsh)(zhngsh)),), 如:如:OD= VD24 MD1OD= VD24 MD1R R(RealReal):实数的比较(有符号的双字浮点数,仅限于):实数的比较(有符号的双字浮点数,仅限于CPU214CPU214以上)以上)S S(StringString): :字符串比较(用来比较两个字符串的字符串比较(用来比较两个字符串的ASCASC码字符是否相等)码字符是否相等)N1N1,N2N2操作数的类型包括:操作数的类型包括:I I,Q

4、 Q,M M,SMSM,V V,S S,L L,ACAC,VDVD,LDLD,常数。,常数。 第4页/共136页第3页/共136页第四页,共137页。1字节、整数、双整数和实数比较指令字节、整数、双整数和实数比较指令 比较触点比较触点(ch din)中间的中间的B、I、D、R、S分别表示无符号字节、有符号整数、有符号分别表示无符号字节、有符号整数、有符号双整数、有符号实数和字符串比较。满足比较关系式给出的条件时,比较指令对应的触点双整数、有符号实数和字符串比较。满足比较关系式给出的条件时,比较指令对应的触点(ch din)接通。字符串比较指令的比较条件接通。字符串比较指令的比较条件“x”只有只

5、有=和和。 整数和双整数比较指令比较两个有符号数。整数和双整数比较指令比较两个有符号数。IN1在触点在触点(ch din)的上面,的上面,IN2在触点在触点(ch din)下面。下面。 第5页/共136页第4页/共136页第五页,共137页。 【例4-1】 用接通延时定时器和比较指令组成占空比可调的脉冲发生器。 M0.2和T33组成脉冲发生器,T33的当前值按锯齿波变化。比较指令用来产生脉冲宽度可调的方波,Q0.0为OFF的时间取决于比较指令第2个操作数的值。 2字符串比较指令 字符串比较指令比较ASCII码字符串相等(xingdng)或不相等(xingdng)。常数字符串应是比较触点上面的参

6、数,或比较指令中的第一个参数。第6页/共136页第5页/共136页第六页,共137页。LD I0.0LPSAB= SMB28, 150= Q0.1第7页/共136页第6页/共136页第七页,共137页。整数整数(zhngsh)字比较举例:字比较举例:I(INT)/ W(Word):整数比较):整数比较(bjio),(有符号整数)注意:,(有符号整数)注意:LAD中用中用“I”,STL中用中用“W”LD I0.3LPSAW VW0, +10000= Q0.2LPPAR VD6, 5.001E-006= Q0.4LRDAD0N0为正,即从最低位向最高位移为正,即从最低位向最高位移(wiy)(wiy

7、)位位第27页/共136页第26页/共136页第二十七页,共137页。下图中的下图中的14位移位位移位(y wi)寄存器由寄存器由V30.0 V31.5组成,在组成,在I0.3的上升沿,的上升沿,I0.4的值从的值从移位移位(y wi)寄存器的最低位寄存器的最低位V30.0移入,寄存器中的各位左移一位,最高位移入,寄存器中的各位左移一位,最高位V31.5的值的值被移到溢出标志位被移到溢出标志位SM1.1。 N为为14时,时,I0.4的值从最高位的值从最高位V31.5移入,寄存器中的各移入,寄存器中的各位右移一位,从最低位位右移一位,从最低位V30.0移到溢出标志位移到溢出标志位SM1.1。第2

8、8页/共136页第27页/共136页第二十八页,共137页。例:例:最低位最低位S_BITS_BIT最高位的计算方法:最高位的计算方法: MSB= MSB=【|N|-1 +(S_BIT|N|-1 +(S_BIT的位号的位号) )】/8/8最高位的字节最高位的字节(z ji)(z ji)号:号: MSB MSB的商的商+ S_BIT+ S_BIT的字节的字节(z ji)(z ji)号号最高位的位号:最高位的位号: MSB MSB的余数的余数I0.0I0.3首次移位首次移位该题:该题: S_BIT=V33.4 N=14 S_BIT=V33.4 N=14最高位:最高位: MSB=(14-1 +4)/

9、8=17/8=2 MSB=(14-1 +4)/8=17/8=2余余1 1最高位的字节最高位的字节(z ji)(z ji)号:号:2+33=352+33=35最高位的位号:最高位的位号:1 1故最高位为:故最高位为:V35.1V35.1 移位寄存器的组成:移位寄存器的组成:V33.4V33.4V33.7V33.7 V34.0 V34.0V34.7V34.7,V35.0 V35.0 和和V35.1V35.1 如图所示:如图所示:移位前:移位前:溢出溢出(SM1.1)I0.3XV33.410101100011001V34.0V34.7V35.0V35.1第29页/共136页第28页/共136页第二十

10、九页,共137页。4.5 数据转换数据转换(zhunhun)指令指令 1标准转换标准转换(zhunhun)指令指令 除了解码、编码指令之外的除了解码、编码指令之外的10条指令属于标准转换条指令属于标准转换(zhunhun)指指令。输入参数令。输入参数IN指定的数据转换指定的数据转换(zhunhun)后保存到输出参数后保存到输出参数OUT指定的地址。指定的地址。BCD码与整数相互转换码与整数相互转换(zhunhun)的指令中,整数的的指令中,整数的有效范围为有效范围为09999。 如果转换如果转换(zhunhun)后的数值超出输出的允许范围,溢出标志位后的数值超出输出的允许范围,溢出标志位SM1

11、.1被置为被置为ON。 2段码指令段码指令 七段显示器的七段显示器的D0D6段分别对应于段码指令输出字节的第段分别对应于段码指令输出字节的第0位位第第6位,某段应亮时输出字节中对应的位为位,某段应亮时输出字节中对应的位为1,反之为,反之为0。段码指令很。段码指令很少使用。少使用。第30页/共136页第29页/共136页第三十页,共137页。3计算程序中的数据转换计算程序中的数据转换下图将下图将101英寸英寸(yngcn)转换为以转换为以mm为单位的双整数值。为单位的双整数值。第31页/共136页第30页/共136页第三十一页,共137页。 4解码指令与编码指令 解码指令DECO根据输入字节IN

12、的最低4位表示的位号,将输出字OUT对应的位置为1,输出字的其他位均为0。16#0010=2#0000 0000 0001 0000。 编码指令ENCO将输入字IN中的最低有效位(为1的位)的位编号(bin ho)写入输出字节OUT的最低4位。16#0014=0000 0000 0001 0100。 存储器填充指令FILL用输入参数IN指定的字值填充从地址OUT开始的N个连续的字。第32页/共136页第31页/共136页第三十二页,共137页。4.6 实时时钟指令实时时钟指令 1用编程软件读取与设置实时时钟的日期和时间用编程软件读取与设置实时时钟的日期和时间 用菜单命令用菜单命令“PLC”“实

13、时时钟实时时钟”打开打开(d ki)“CPU时钟操作对话框时钟操作对话框”。可以读取可以读取PC、PLC的时钟,修改和下载日期时间。的时钟,修改和下载日期时间。 2读取实时时钟指令读取实时时钟指令READ_RTC 从从CPU的实时时钟读取当前日期和时间,的实时时钟读取当前日期和时间,8字节时间缓冲区依次存放字节时间缓冲区依次存放年的低年的低2位、月、日、时、分、秒、位、月、日、时、分、秒、0和星期的代码,星期日为和星期的代码,星期日为1。日期。日期和时间的数据类型为字节型和时间的数据类型为字节型BCD码。码。 3设置实时时钟指令设置实时时钟指令SET_RTC将将8字节时间日期值写入字节时间日期

14、值写入CPU的实时的实时时钟。时钟。第33页/共136页第32页/共136页第三十三页,共137页。【例【例4-2】用实时时钟定时】用实时时钟定时(dn sh)控制设备。控制设备。LDSM0.0TODRVB70/小时分钟值在小时分钟值在VW73LDW= VW73, VW78/VW78中是起始时、分值中是起始时、分值AWVW73, VW80/VW80中是结束时、分值中是结束时、分值=Q0.2/在设置的时间范围内,在设置的时间范围内, Q0.2为为1状态状态第34页/共136页第33页/共136页第三十四页,共137页。4.7 数学运算数学运算(yn sun)指令指令4.7.1 整数运算整数运算(

15、yn sun)指令指令 1四则运算四则运算(yn sun)指令指令 梯形图梯形图IN1 + IN2 = OUT,IN1IN2 = OUT,IN1 * IN2 = OUT,IN1 / IN2 = OUT 语句表语句表IN1+OUT = OUT,OUTIN1 = OUT,IN1*OUT = OUT,OUT/IN1=OUT 指令影响指令影响SM1.0(零标志)、(零标志)、SM1.1(溢出标志)、(溢出标志)、SM1.2(负数标志)和(负数标志)和SM1.3(除数为(除数为0)。)。MUL将两个将两个16位整数相乘,产生一个位整数相乘,产生一个32位乘积。位乘积。DIV指令指令将两个将两个16位位

16、整数相除,运算整数相除,运算(yn sun)结果的高结果的高16位为余数,低位为余数,低16位为商。位为商。 第35页/共136页第34页/共136页第三十五页,共137页。ADD/SUBADD/SUB指令影响指令影响算术算术(sunsh)(sunsh)标志位标志位SM1.0SM1.0(零标志位),(零标志位),SM1.1SM1.1(溢出标志位)(溢出标志位)和和SM1.2SM1.2(负数标志位)。(负数标志位)。 加、减指令加、减指令整数加法(整数加法(ADD-IADD-I)和减法)和减法(jinf)(jinf)(SUB-ISUB-I)指令是:)指令是:EN=1EN=1时,将时,将两个两个1

17、616位符号整数相加或相减,并产生一个位符号整数相加或相减,并产生一个1616位的结果输出到位的结果输出到OUTOUT。双整数加法(双整数加法(ADD-DADD-D)和减法)和减法(jinf)(jinf)(SUB-DSUB-D)指令是:)指令是: EN=1 EN=1时,时,将两个将两个3232位符号整数相加或相减,并产生一个位符号整数相加或相减,并产生一个3232位结果输出到位结果输出到OUTOUT。 第36页/共136页第35页/共136页第三十六页,共137页。2 2、为了节省内存,在整数加法的梯形图指令中:、为了节省内存,在整数加法的梯形图指令中: 可以直接指定可以直接指定IN1=OUT

18、IN1=OUT(即二者设置为同一地址)就可不用数据传送指令(即二者设置为同一地址)就可不用数据传送指令 则则STLSTL中用一条指令(中用一条指令(+I IN2+I IN2,OUTOUT)即可)即可 同理:在整数减法的梯形图指令中,可以直接指定同理:在整数减法的梯形图指令中,可以直接指定IN1=OUTIN1=OUT(即二者设置(即二者设置 为同一地址),则为同一地址),则STLSTL中用一条指令(中用一条指令(-I IN2-I IN2,OUTOUT)即可)即可注意:该原则适用注意:该原则适用(shyng)(shyng)于所有的算术运算指令于所有的算术运算指令 加(乘)法指令还可以指定加(乘)法

19、指令还可以指定IN2=OUTIN2=OUT,同样,同样 STL STL中只要(中只要(+I IN1+I IN1,OUTOUT)即)即可可 但减(除)法指令中若指定但减(除)法指令中若指定IN2=OUTIN2=OUT则则STLSTL中除减法指令外还要添加中除减法指令外还要添加“取反和取反和加加1”1”操作操作 另外:还有实数加(另外:还有实数加(+R+R)、减()、减(-R-R) 指令指令 LD I0.0MOVW +13,VW0+I +17,VW0第37页/共136页第36页/共136页第三十七页,共137页。 【例【例4-3】设计程序,用模拟电位器设置定时器】设计程序,用模拟电位器设置定时器T

20、37的预设值为的预设值为520s。 SMB28中电位器的位置对应的数字中电位器的位置对应的数字N为为0255。时间设定值为。时间设定值为150N/255+50。用累加器来存。用累加器来存放放(cnfng)操作数和运算的中间结果比较方便。操作数和运算的中间结果比较方便。2递增与递减递增与递减(djin)指令指令梯形图中梯形图中IN + 1 = OUT,语句表中,语句表中OUT+1=OUT第38页/共136页第37页/共136页第三十八页,共137页。4.7.2 浮点数函数浮点数函数(hnsh)运算指令运算指令 1三角函数三角函数(hnsh)指令指令 输入值是以弧度为单位的浮点数,角度值乘以输入值

21、是以弧度为单位的浮点数,角度值乘以/180转换为弧度值。转换为弧度值。 2自然对数和自然指数指令自然对数和自然指数指令 3平方根指令将正实数开平方平方根指令将正实数开平方第39页/共136页第38页/共136页第三十九页,共137页。4.8 逻辑运算指令逻辑运算指令(zhlng) 1取反指令取反指令(zhlng) 取反指令取反指令(zhlng)将二进制数逐位取反,各位由将二进制数逐位取反,各位由0变为变为1,由,由1变为变为0。第40页/共136页第39页/共136页第四十页,共137页。 2逻辑运算指令逻辑运算指令 字节、字、双字字节、字、双字“与与”运算时,如果两个运算时,如果两个(lin

22、 )操作数的同一位均为操作数的同一位均为1,运算,运算结果的对应位为结果的对应位为1,否则为,否则为0。“或或”运算时如果两个运算时如果两个(lin )操作数的同一位均为操作数的同一位均为0,运算结果的对应位为,运算结果的对应位为0,否则为,否则为1。“异或异或”(Exclusive Or)运算时如果两个)运算时如果两个(lin )操作数的同一位不同,运算结果的对应位为操作数的同一位不同,运算结果的对应位为1,否则为,否则为0。第41页/共136页第40页/共136页第四十一页,共137页。 3逻辑运算指令应用举例逻辑运算指令应用举例(j l) 用字节逻辑用字节逻辑“或或”运算将运算将QB0的

23、第的第24位置为位置为1,其余各位保持不变。,其余各位保持不变。 QB0的某一位与的某一位与1作作“或或”运算,运算结果为运算,运算结果为1,与,与0作作“或或”运算,运算结果不变。运算,运算结果不变。16#1C的第的第24位为位为1。 IW2的低的低12位用来读取位用来读取3位拨码开关的位拨码开关的BCD码,码,IW2的高的高4位另作他用。位另作他用。 16#0FFF的最高的最高4位二进制数为位二进制数为0,低,低12位为位为1。与。与IW2作作“与与”运算后,运算后, VW2的低的低12位与位与IW2的低的低12位的值相同,位的值相同,VW2的高的高4位为位为0。第42页/共136页第41

24、页/共136页第四十二页,共137页。4.9 表操作表操作(cozu)指令指令第43页/共136页第42页/共136页第四十三页,共137页。第44页/共136页第43页/共136页第四十四页,共137页。表表4.22指令指令(zhlng)ATT执行结果执行结果 返回返回(fnhu)本节本节第45页/共136页第44页/共136页第四十五页,共137页。指令格式:指令格式:FIFOTBL, DATA例:例:FIFOVW100, AC0如果仍是对表如果仍是对表4.21存取,则指令执行存取,则指令执行(zhxng)情况如表情况如表4.23所示所示。当使能输入有效时,从当使能输入有效时,从TBL指明

25、的表中移出第一个指明的表中移出第一个字型数据并将其输出到字型数据并将其输出到DATA所指定所指定(zhdng)的字单元。的字单元。FIFO表取数特点:表取数特点:取数时,移出的数据总是最先进入表中的数据。每取数时,移出的数据总是最先进入表中的数据。每次从表中移出一个数据,剩余数据依次上移一次从表中移出一个数据,剩余数据依次上移一个字单元位置,同时实际填表数个字单元位置,同时实际填表数EC会自动减会自动减1。第46页/共136页第45页/共136页第四十六页,共137页。表表4.23指令指令(zhlng)FIFO执行结果执行结果 第47页/共136页第46页/共136页第四十七页,共137页。当

26、使能输入有效时,从当使能输入有效时,从TBL指明的表中移指明的表中移出最后一个出最后一个(y )字型数据并将其输字型数据并将其输出到出到DATA所指定的字单元。所指定的字单元。LIFO表取数特点:表取数特点:取数时,移出的数据是最后进入表中的数取数时,移出的数据是最后进入表中的数据。每次从表中取出一个据。每次从表中取出一个(y )数据数据,剩余数据位置保持不变,实际填表,剩余数据位置保持不变,实际填表数数EC会自动减会自动减1。指令格式:指令格式:LIFOTBL, DATA例:例:LIFOVW100, AC0如果仍是对表如果仍是对表4.21存取,则指令执行存取,则指令执行(zhxng)情况如表

27、情况如表4.24所示所示。第48页/共136页第47页/共136页第四十八页,共137页。表表4.24指令指令(zhlng)LIFO执行结果执行结果返回返回(fnhu)本节本节第49页/共136页第48页/共136页第四十九页,共137页。FND?,表查找指令。通过表查找指令可以从字型数表中找出符合条,表查找指令。通过表查找指令可以从字型数表中找出符合条件件(tiojin)的数据所在的表中数据编号,编号范围为的数据所在的表中数据编号,编号范围为099。在梯形图中有在梯形图中有4个数据输入端:个数据输入端:TBL表格的首地址,用以指明被访问表格的首地址,用以指明被访问的表格;的表格;PTN是用来

28、描述查表条件是用来描述查表条件(tiojin)时进行比较的数据;时进行比较的数据;CMD是比较运算符是比较运算符“?”的编码,它是一个的编码,它是一个14的数值,分别代表的数值,分别代表=、运算符;运算符;INDX用来指定表中符合查找条件用来指定表中符合查找条件(tiojin)的数据的地址。的数据的地址。第50页/共136页第49页/共136页第五十页,共137页。表表4.25表查找指令执行表查找指令执行(zhxng)结果结果返回返回(fnhu)本节本节第51页/共136页第50页/共136页第五十一页,共137页。4 填充填充(tinchng)指令指令指令格式:指令格式:FILLFILLIN

29、, OUT, NIN, OUT, N(填充指令)(填充指令)例:例:FILLFILL10, VW100, 1210, VW100, 12本条本条(bn tio)(bn tio)指令的执行结果是:将数据指令的执行结果是:将数据1010填充到从填充到从VW100VW100到到VW122VW122共共1212个个字存储单元字存储单元FILL, 存储器填充指令。使能输入有效时,用存储器填充指令。使能输入有效时,用字型输入数据字型输入数据IN填充从输出填充从输出OUT所指的单元所指的单元开始的开始的N个字存储单元。个字存储单元。填充指令只对字型数据进行处理,填充指令只对字型数据进行处理,N值为字节型值为

30、字节型,可取从,可取从1255的整数。指令的执行不影响的整数。指令的执行不影响的特殊存储器位。的特殊存储器位。使能流输出使能流输出ENO断开的出错条件:断开的出错条件:SM4.3(运行(运行时间时间(shjin)););0006(间接寻址);(间接寻址);0091(操作数超界)。(操作数超界)。第52页/共136页第51页/共136页第五十二页,共137页。中断功能是用中断程序及时处理中断事件,中断事件与用户程序的执行时序无关,中断功能是用中断程序及时处理中断事件,中断事件与用户程序的执行时序无关, 不能不能事先事先(shxin)预测中断事件何时发生。预测中断事件何时发生。特点:特点:中断程序

31、由用户编写;但不是由用户程序调用,而是在中断事件发生时由操作系统调用;中中断程序由用户编写;但不是由用户程序调用,而是在中断事件发生时由操作系统调用;中断程序应尽可能短,目的:实现对中断事件的快速响应断程序应尽可能短,目的:实现对中断事件的快速响应(若过长会导致程序的扫描周期就难以判断,可能会引发其它事件)(若过长会导致程序的扫描周期就难以判断,可能会引发其它事件)系统中需要由用户程序把中断程序与中断事件连接起来并且开放系统中断后才能进入等待中系统中需要由用户程序把中断程序与中断事件连接起来并且开放系统中断后才能进入等待中断事件触发中断程序执行的状态;可用指令取消中断程序与中断事件的连接或禁止

32、全部中断。断事件触发中断程序执行的状态;可用指令取消中断程序与中断事件的连接或禁止全部中断。这需要相应的中断指令来完成。这需要相应的中断指令来完成。为了便于识别,系统给每个中断源都分配一个编号,称为为了便于识别,系统给每个中断源都分配一个编号,称为中断事件号中断事件号。S7-200S7-200系列可编程控制器最多有系列可编程控制器最多有3434个中断源,分为三大类:个中断源,分为三大类: 通信中断、输入通信中断、输入/ /输出中断和时基中断输出中断和时基中断中断事件:又称中断源中断事件:又称中断源 即发出中断请求的事件即发出中断请求的事件 参看教材:参看教材:P109P1092 2、中断事件与

33、中断指令、中断事件与中断指令第53页/共136页第52页/共136页第五十三页,共137页。 在中断事件发生时由操作系统立即调用中断程序。中断程序是用户在中断事件发生时由操作系统立即调用中断程序。中断程序是用户(yngh)编写编写的。中断程序不能再被中断,中断程序越短越好。的。中断程序不能再被中断,中断程序越短越好。 中断事件号见表。中断事件号见表。4.10.2 中断指令中断指令 1中断允许指令与中断禁止指令中断允许指令与中断禁止指令 中断允许指令中断允许指令ENI允许处理所有被连接的中断事件。允许处理所有被连接的中断事件。 禁止中断指令禁止中断指令DISI禁止处理所有中断事件。进入禁止处理所

34、有中断事件。进入RUN模式时自动禁止中断,可以模式时自动禁止中断,可以通过执行开中断指令,允许所有中断事件;执行全局关中断指令会禁止处理中断即使通过执行开中断指令,允许所有中断事件;执行全局关中断指令会禁止处理中断即使之不能被激活,但是允许现用中断事件将继续排队等候。之不能被激活,但是允许现用中断事件将继续排队等候。第54页/共136页第53页/共136页第五十四页,共137页。取消某中断事件(取消某中断事件(EVNTEVNT)与所有中断程序)与所有中断程序(chngx)(chngx)之间之间的连的连接,并禁用该中断事件。接,并禁用该中断事件。注意:注意:一个中断事件只能连接一个中断程序,一个

35、中断事件只能连接一个中断程序,但多个但多个(du )中断事件可以调用一个中断程序。中断事件可以调用一个中断程序。将中断事件(将中断事件(EVNTEVNT)与中断程序号码)与中断程序号码(hom)(hom)(INTINT)相连接,并启用)相连接,并启用这个单一中断事件。这个单一中断事件。中断事件由中断事件号指定;中断事件由中断事件号指定;中断程序由中断程序号指定。中断程序由中断程序号指定。局部性局部性不同不同CPU EVNT取值范围:取值范围: 2中断连接指令与中断分离指令中断连接指令与中断分离指令第55页/共136页第54页/共136页第五十五页,共137页。是用户为处理是用户为处理(chl)

36、中断事件而事先编制的程序中断事件而事先编制的程序编写时可以用中断程序入口点处的中断程序标号来识别每个中断程序编写时可以用中断程序入口点处的中断程序标号来识别每个中断程序中断程序必须中断程序必须(bx)由以下三部分组由以下三部分组成:成:即中断程序的名称,他在建立中断程序时生成即中断程序的名称,他在建立中断程序时生成中断程序指令是中断程序的实际有效部分,对中断事件的处理就中断程序指令是中断程序的实际有效部分,对中断事件的处理就是由它们来完成的,在中断程序中可调用一个嵌套子程序是由它们来完成的,在中断程序中可调用一个嵌套子程序用来退出中断程序并安全返回主程序。该指令位于中断程用来退出中断程序并安全

37、返回主程序。该指令位于中断程序序的结尾,必须要写的(但若用编程软件时程序会自动添加)的结尾,必须要写的(但若用编程软件时程序会自动添加)中断程序标号中断程序标号:中断程序指令中断程序指令:无条件返回指令无条件返回指令: RETI但在中断程序内部可使用:中断程序有条件返回指令(但在中断程序内部可使用:中断程序有条件返回指令(CRETI)来退出中断程序)来退出中断程序第56页/共136页第55页/共136页第五十六页,共137页。3中断程序的执行中断程序的执行 CPU自动调用中断程序需要满足下列条件:自动调用中断程序需要满足下列条件: 1)执行了全局中断允许指令)执行了全局中断允许指令ENI。 2

38、)执行了中断事件对应的)执行了中断事件对应的ATCH指令。指令。 3)出现对应的中断事件。)出现对应的中断事件。 4中断优先级与中断队列溢出中断优先级与中断队列溢出 中断优先级分组:通信(最高优先级)、中断优先级分组:通信(最高优先级)、I/O中断和定时中断。在优先级中断和定时中断。在优先级范围内,范围内,CPU按照先来先服务按照先来先服务(fw)的原则处理中断。的原则处理中断。4.10.3 中断程序举例中断程序举例 1通信端口中断通信端口中断 在自由端口模式,接收消息完成、发送消息完成和接收一个字符均可以产在自由端口模式,接收消息完成、发送消息完成和接收一个字符均可以产生中断事件。生中断事件

39、。 2I/O中断中断 I/O中断包括中断包括I0.0I0.3的上升沿、下降沿中断;高速计数器的当前值等于的上升沿、下降沿中断;高速计数器的当前值等于设定值、计数方向改变和计数器外部复位中断。设定值、计数方向改变和计数器外部复位中断。第57页/共136页第56页/共136页第五十七页,共137页。 【例【例4-9】在】在I0.0的上升沿通过中断使的上升沿通过中断使Q0.0立即立即(lj)置位。在置位。在I0.1的下降沿通过中断使的下降沿通过中断使Q0.0立立即即(lj)复位。复位。/主程序主程序 OB1LD SM0.1 / 第一次扫描时第一次扫描时ATCH INT_0, 0 / I0.0上升沿时

40、执行上升沿时执行0号中断程序号中断程序ATCH INT_1, 3 / I0.1下降沿时执行下降沿时执行1号中断程序号中断程序ENI / 允许全局中断允许全局中断LD SM5.0/如果检测到如果检测到 I/O 错误错误DTCH0/禁用禁用I0.0的上升沿中断的上升沿中断DTCH3/禁用禁用I0.1的下降沿中断的下降沿中断 /中断程序中断程序0(INT_0)LD SM0.0 / 该位总是为该位总是为ONSIQ0.0, 1/ 使使Q0.0立即立即(lj)置位置位TODRVB10/读实时时钟读实时时钟/中断程序中断程序1(INT_1)LD SM0.0 / 该位总是为该位总是为ONRIQ0.0, 1/

41、使使Q0.0立即立即(lj)复位复位TODRVB20/读实时时钟读实时时钟第58页/共136页第57页/共136页第五十八页,共137页。LD SM0.1 /LD SM0.1 /首次扫描时,首次扫描时,ATCH INT_0ATCH INT_0,2 /2 /将将INT_0 INT_0 和和EVNT2EVNT2连接连接ENI /ENI /并全局启用中断并全局启用中断(zhngdun)(zhngdun)LD SM5.0 /LD SM5.0 /如果检测到如果检测到I/OI/O错误,错误,DTCH 2 /DTCH 2 /禁用用于禁用用于I0.1I0.1的上升沿中断的上升沿中断(zhngdun)(zhng

42、dun)LD M5.0 / LD M5.0 / 当当M5.0=1M5.0=1时时DISI /DISI /禁用所有的中断禁用所有的中断(zhngdun)(zhngdun)RUNRUN模式下关闭所有中断模式下关闭所有中断 ATCHATCH和和 DTCH: DTCH: 连接或断开某一个具体的中断连接或断开某一个具体的中断(而(而ENIENI和和DISIDISI是全局变量,将所有中断都打开或关断)是全局变量,将所有中断都打开或关断)改错题!改错题!第59页/共136页第58页/共136页第五十九页,共137页。 3定时中断定时中断 定时中断定时中断0、1的周期为的周期为1255ms,分别,分别(fnb

43、i)写入写入SMB34和和SMB35。每当定时时间到时,。每当定时时间到时,执行相应的定时中断程序。执行相应的定时中断程序。 【例【例4-10】用定时中断】用定时中断0实现周期为实现周期为2s的高精度定时。的高精度定时。/ 主程序主程序 OB1LD SM0.1 / 第一次扫描时第一次扫描时MOVB 0, VB10 / 将中断次数计数器清将中断次数计数器清0MOVB 250, SMB34 / 设置定时中断设置定时中断0的中断时间间隔为的中断时间间隔为250msATCH INT_0, 10 / 指定产生定时中断指定产生定时中断0时执行时执行0号中断程序号中断程序ENI / 允许全局中断允许全局中断

44、 / 中断程序中断程序INT_0, 每隔每隔250ms中断一次中断一次LD SM0.0 / 该位总是为该位总是为ONINCBVB10/ 中断次数计数器加中断次数计数器加1LDB=8, VB10 / 如果中断了如果中断了8次(次(2s)MOVB 0, VB10 / 将中断次数计数器清将中断次数计数器清0INCB QB0 / 每每2s将将QB0加加1 第60页/共136页第59页/共136页第六十页,共137页。 4. 定时器定时器T32/T96中断中断 【例【例4-11】使用】使用(shyng)T32中断控制中断控制8位节日彩灯,每位节日彩灯,每2.5s左移一位。左移一位。1ms定时器定时器T3

45、2定时时间的中断事件号为定时时间的中断事件号为21,最长定时时间为,最长定时时间为32.767s。/主程序主程序 OB1LD SM0.1 /第一次扫描时第一次扫描时MOVB 16#F, QB0/设置彩灯的初始状态,最低设置彩灯的初始状态,最低4位的灯被点亮位的灯被点亮ATCH INT_0, 21 /指定指定T32定时时间到时执行中断程序定时时间到时执行中断程序INT_0ENI /允许全局中断允许全局中断LDNM0.0/T32和和M0.0组成脉冲发生器组成脉冲发生器TONT32, 2500/T32 的预设值为的预设值为2500msLD T32=M0.0/中断程序中断程序INT_0LD SM0.0

46、 RLB QB0, 1/彩灯左移彩灯左移1位位第61页/共136页第60页/共136页第六十一页,共137页。定时中断定时中断0的的时间时间(shjin)间间隔寄存器隔寄存器第62页/共136页第61页/共136页第六十二页,共137页。为此,为此,SIMATIC S7-200SIMATIC S7-200系列系列(xli)PLC(xli)PLC设计了高速计数功能(设计了高速计数功能(HSCHSC),其计数自动进行不受),其计数自动进行不受扫描周期的影响,最高计数频率取决于扫描周期的影响,最高计数频率取决于CPUCPU的类型,的类型,CPU22xCPU22x系列系列(xli)(xli)最高计数频

47、率为最高计数频率为30KHz30KHz,用于累计比,用于累计比CPUCPU扫描速率高得多的脉冲输入扫描速率高得多的脉冲输入, ,利用产生中断事件,执行中断程序,完利用产生中断事件,执行中断程序,完成预定的操作。成预定的操作。高速计数器在定位控制领域中有重要的应用价值。用高速计数器可实现高速运动的精确控高速计数器在定位控制领域中有重要的应用价值。用高速计数器可实现高速运动的精确控制。制。SIMATIC S7-200 CPU22xSIMATIC S7-200 CPU22x系列系列PLCPLC还设有高速脉冲输出,输出频率可达还设有高速脉冲输出,输出频率可达20KHz20KHz,用于,用于PTOPTO

48、(输出(输出一个频率可调,占空比为一个频率可调,占空比为50%50%的脉冲)和的脉冲)和PWMPWM(输出占空比可调的脉冲),高速脉冲输出的功能(输出占空比可调的脉冲),高速脉冲输出的功能可用于对电动机进行速度控制、可用于对电动机进行速度控制、位置控制及控制变频器使电机调速。位置控制及控制变频器使电机调速。使用高速计数器功能,需使用高速计数器指令来完成执行工作使用高速计数器功能,需使用高速计数器指令来完成执行工作第63页/共136页第62页/共136页第六十三页,共137页。高速计数器指令高速计数器指令(zhlng)有两条:有两条: 定义高速计数器指令定义高速计数器指令(zhlng)HDEF和

49、执行高速计数器指令和执行高速计数器指令(zhlng)HSC第64页/共136页第63页/共136页第六十四页,共137页。主机型号主机型号CPU221CPU221CPU222CPU222CPU224CPU224CPU226CPU226可用可用HSCHSC数量数量4 44 46 66 6HSCHSC编号范围编号范围HC0,HC3,HC0,HC3,HC4,HC5HC4,HC5HC0,HC3HC0,HC3HC4,HC5HC4,HC5HC0HC0HC5HC5HC0HC0HC5HC5各主机的高速计数器数量各主机的高速计数器数量(shling)及其编号及其编号1、高速、高速(o s)计数器地址编号计数器地

50、址编号两条高速两条高速(o s)(o s)计数器指令的操作数都需指明高速计数器指令的操作数都需指明高速(o s)(o s)计数器编号,告知计数器编号,告知CPUCPU那个高速那个高速(o s)(o s)计数器需要执行计数操作。编号计数器需要执行计数操作。编号0 05 5,不同,不同CPUCPU其数量不同。其数量不同。使用时,每个高速使用时,每个高速(o s)(o s)计数器都有地址编号计数器都有地址编号n n(HC nHC n或非正式程序中有时也用或非正式程序中有时也用HSC nHSC n)不同型号不同型号PLCPLC,高速计数器,高速计数器HSCHSC数量不同,同种型号的数量不同,同种型号的

51、PLCPLC的的HSCHSC地址编号也不同,但每地址编号也不同,但每个个HSCHSC都有都有1 1个状态字节、个状态字节、1 1个设置参数用的控制字节、个设置参数用的控制字节、1 1个个3232位的当前值寄存器和位的当前值寄存器和1 1个个3232位的设定值(预置值)寄存器,当前值与设定值都是有符号的整数。同普通计数器位的设定值(预置值)寄存器,当前值与设定值都是有符号的整数。同普通计数器在选定计数器之后应将设定值装入下表所示的特殊继电器中,并可从下表的特殊继电在选定计数器之后应将设定值装入下表所示的特殊继电器中,并可从下表的特殊继电器中读取当前值执行比较指令等操作。器中读取当前值执行比较指令

52、等操作。第65页/共136页第64页/共136页第六十五页,共137页。(1 1)高速计数器占用输入)高速计数器占用输入(shr)(shr)端子端子每个高速计数器对其工作模式的时钟、方向控制、复位、起动都有专用的每个高速计数器对其工作模式的时钟、方向控制、复位、起动都有专用的输入点,其对应关系如下表所示:输入点,其对应关系如下表所示:注意:同一个输入端不能用于两种不同的功能,即表中所用的输入点,若注意:同一个输入端不能用于两种不同的功能,即表中所用的输入点,若 不使用高速计数器,可作为一般得数字量输入点,或作为输入不使用高速计数器,可作为一般得数字量输入点,或作为输入/ /输出输出 中断的输入

53、点。只有在使用中断的输入点。只有在使用HSCHSC时,才分配给相应的时,才分配给相应的HSCHSC第66页/共136页第65页/共136页第六十六页,共137页。高速计数器编高速计数器编号号状态字节状态字节控制字节控制字节当前值双当前值双字字预设值双预设值双字字HSC0SMB36SMB37SMD38SMD42HSC1SMB46SMB47SMD48SMD52HSC2SMB56SMB57SMD58SMD62HSC3SMB136SMB137SMD138SMD142HSC4SMB146SMB147SMD148SMD152HSC5SMB156SMB157SMD158SMD162SMBxx6SMBxx7S

54、MDxx8SMDxx2高速计数器都有一个高速计数器都有一个3232位当前值寄存器和一个位当前值寄存器和一个3232位预置值寄存器,位预置值寄存器,当前值和预设值均为带符号的整数值。要设置当前值和预设值均为带符号的整数值。要设置(shzh)(shzh)高速计数器高速计数器的新当前值和新预置值,必须设置的新当前值和新预置值,必须设置(shzh)(shzh)控制字节控制字节第67页/共136页第66页/共136页第六十七页,共137页。计计数数方方向向控控制制S7-200PLCS7-200PLC,系,系统默认统默认(mrn)(mrn)的复位输入和启的复位输入和启动输入均为高电动输入均为高电平有效,正

55、交计平有效,正交计数为数为4 4倍频。若倍频。若想改变系统默认想改变系统默认(mrn)(mrn)值则需值则需设置左表中的特设置左表中的特殊继电器的第殊继电器的第0 0、1 1、2 2位位每个每个HSCHSC都对应一个特殊继电器的控制字节都对应一个特殊继电器的控制字节SMBSMB,通过对控制字节指定位进行编程,确定,通过对控制字节指定位进行编程,确定HSCHSC的工的工作方式。系统执行作方式。系统执行HSCHSC之前首先要检查之前首先要检查(jinch)(jinch)与每个与每个HSCHSC相关的控制字节,在控制字节中设置相关的控制字节,在控制字节中设置了复位输入和启动输入信号的有效电平,正交计

56、数的计数倍频,是否允许更新当前值等了复位输入和启动输入信号的有效电平,正交计数的计数倍频,是否允许更新当前值等第68页/共136页第67页/共136页第六十八页,共137页。(3)高速计数器高速计数器 12种工作种工作(gngzu)模式模式6 6个个HSCHSC所具有的功能不完全相同,最多可能有所具有的功能不完全相同,最多可能有1212种(种(HSC1HSC1)分四种类型:)分四种类型:模式模式0 0模式模式2 2采用单路脉冲输入的内部方向控制采用单路脉冲输入的内部方向控制(kngzh)(kngzh)加加/ /减计数;减计数;模式模式3 3模式模式5 5采用单路脉冲输入的外部方向控制采用单路脉

57、冲输入的外部方向控制(kngzh)(kngzh)加加/ /减计数;减计数;模式模式6 6模式模式8 8采用两路脉冲输入的加采用两路脉冲输入的加/ /减计数;减计数;模式模式9 9模式模式1111采用两路脉冲输入的双相正交计数。采用两路脉冲输入的双相正交计数。第69页/共136页第68页/共136页第六十九页,共137页。1高速高速(o s)计数器的计数方式计数器的计数方式 (1)单路脉冲输入的内部方向控制加/减计数:即只有一个脉冲输入端,通过高速计数器的控制字节(z ji)的第3位来控制做加计数或者减计数。该位为1,加计数;该位为0,减计数。 第70页/共136页第69页/共136页第七十页,

58、共137页。 (2)单路脉冲输入的外部(wib)方向控制加/减计数:即有一个脉冲输入端,有一个方向控制端,方向输入信号等于1时,加计数;方向输入信号等于0时,减计数。如图所示为外部(wib)方向控制的单路加/减计数。该计数方式可调用当前值等预设值中断和外部(wib)输入方向改变的中断。第71页/共136页第70页/共136页第七十一页,共137页。(3)两路脉冲输入的单相加/减计数。即有两个脉冲输入端,一个是加计数脉冲,一个是减计数脉冲,计数值为两个输入端脉冲的代数和,如下图所示。该计数方式可调用当前值等预设值中断和外部输入方向(fngxing)改变的中断。第72页/共136页第71页/共13

59、6页第七十二页,共137页。(4)两路脉冲(michng)输入的双相正交计数。即有两个脉冲(michng)输入端,输入的两路脉冲(michng)A 相、B相,相位互差90(正交),A 相超前B相90时,加计数;A 相滞后B相90时,减计数。在这种计数方式下,可选择1x模式(单倍频,一个时钟脉冲(michng)计一个数)和4x模式(四倍频,一个时钟脉冲(michng)计四个数)。第73页/共136页第72页/共136页第七十三页,共137页。双相正交计数(j sh)1x模式 第74页/共136页第73页/共136页第七十四页,共137页。双相正交计数(j sh)4x模式 第75页/共136页第7

60、4页/共136页第七十五页,共137页。状态位状态位SMBXX6.0SMBXX6.0 SMBXX6.4SMBXX6.4SMBXX6.5SMBXX6.5SMBXX6.6SMBXX6.6SMBXX6.7SMBXX6.7功能功能描述描述不使用不使用当前计数方向当前计数方向: 0: 0: 减法计数减法计数 1: 1: 加法计数加法计数当前值当前值= =预预设设值状态位值状态位 0: 0: 未达到未达到 1: =1: =当前值当前值 预预设设值状态位值状态位 0: = 0: = 1: =第76页/共136页第75页/共136页第七十六页,共137页。高速计数器完成计数主要依靠中断,当状态字中的当前计数方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论